Compare commits

...

3 Commits

Author SHA1 Message Date
Dotta
7e8908afa2 chore: release v0.3.0 2026-03-09 16:31:12 -05:00
Dotta
c672b71f7f Refresh bootstrap gate while setup is pending 2026-03-09 16:13:15 -05:00
Dotta
01c5a6f198 Unblock canary onboard smoke bootstrap 2026-03-09 16:06:16 -05:00
24 changed files with 152 additions and 20 deletions

View File

@@ -1,5 +0,0 @@
---
"@paperclipai/shared": minor
---
Add support for Pi local adapter in constants and onboarding UI.

View File

@@ -1,5 +1,26 @@
# paperclipai # paperclipai
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies [6077ae6]
- Updated dependencies
- @paperclipai/shared@0.3.0
- @paperclipai/adapter-utils@0.3.0
- @paperclipai/adapter-claude-local@0.3.0
- @paperclipai/adapter-codex-local@0.3.0
- @paperclipai/adapter-cursor-local@0.3.0
- @paperclipai/adapter-openclaw-gateway@0.3.0
- @paperclipai/adapter-opencode-local@0.3.0
- @paperclipai/adapter-pi-local@0.3.0
- @paperclipai/db@0.3.0
- @paperclipai/server@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "paperclipai", "name": "paperclipai",
"version": "0.2.7", "version": "0.3.0",
"description": "Paperclip CLI — orchestrate AI agent teams to run a business", "description": "Paperclip CLI — orchestrate AI agent teams to run a business",
"type": "module", "type": "module",
"bin": { "bin": {

View File

@@ -75,6 +75,11 @@ export async function bootstrapCeoInvite(opts: {
} }
const db = createDb(dbUrl); const db = createDb(dbUrl);
const closableDb = db as typeof db & {
$client?: {
end?: (options?: { timeout?: number }) => Promise<void>;
};
};
try { try {
const existingAdminCount = await db const existingAdminCount = await db
.select() .select()
@@ -122,5 +127,7 @@ export async function bootstrapCeoInvite(opts: {
} catch (err) { } catch (err) {
p.log.error(`Could not create bootstrap invite: ${err instanceof Error ? err.message : String(err)}`); p.log.error(`Could not create bootstrap invite: ${err instanceof Error ? err.message : String(err)}`);
p.log.info("If using embedded-postgres, start the Paperclip server and run this command again."); p.log.info("If using embedded-postgres, start the Paperclip server and run this command again.");
} finally {
await closableDb.$client?.end?.({ timeout: 5 }).catch(() => undefined);
} }
} }

View File

@@ -1,5 +1,11 @@
# @paperclipai/adapter-utils # @paperclipai/adapter-utils
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-utils", "name": "@paperclipai/adapter-utils",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,5 +1,16 @@
# @paperclipai/adapter-claude-local # @paperclipai/adapter-claude-local
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies
- @paperclipai/adapter-utils@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-claude-local", "name": "@paperclipai/adapter-claude-local",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,5 +1,16 @@
# @paperclipai/adapter-codex-local # @paperclipai/adapter-codex-local
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies
- @paperclipai/adapter-utils@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-codex-local", "name": "@paperclipai/adapter-codex-local",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,5 +1,16 @@
# @paperclipai/adapter-cursor-local # @paperclipai/adapter-cursor-local
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies
- @paperclipai/adapter-utils@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-cursor-local", "name": "@paperclipai/adapter-cursor-local",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-openclaw-gateway", "name": "@paperclipai/adapter-openclaw-gateway",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,5 +1,16 @@
# @paperclipai/adapter-opencode-local # @paperclipai/adapter-opencode-local
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies
- @paperclipai/adapter-utils@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-opencode-local", "name": "@paperclipai/adapter-opencode-local",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/adapter-pi-local", "name": "@paperclipai/adapter-pi-local",
"version": "0.1.0", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,5 +1,17 @@
# @paperclipai/db # @paperclipai/db
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies [6077ae6]
- Updated dependencies
- @paperclipai/shared@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/db", "name": "@paperclipai/db",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -1,5 +1,12 @@
# @paperclipai/shared # @paperclipai/shared
## 0.3.0
### Minor Changes
- 6077ae6: Add support for Pi local adapter in constants and onboarding UI.
- Stable release preparation for 0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/shared", "name": "@paperclipai/shared",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",

View File

@@ -49,20 +49,27 @@ wait_for_http() {
generate_bootstrap_invite_url() { generate_bootstrap_invite_url() {
local bootstrap_output local bootstrap_output
bootstrap_output="$( local bootstrap_status
if bootstrap_output="$(
docker exec \ docker exec \
-e PAPERCLIP_DEPLOYMENT_MODE="$PAPERCLIP_DEPLOYMENT_MODE" \ -e PAPERCLIP_DEPLOYMENT_MODE="$PAPERCLIP_DEPLOYMENT_MODE" \
-e PAPERCLIP_DEPLOYMENT_EXPOSURE="$PAPERCLIP_DEPLOYMENT_EXPOSURE" \ -e PAPERCLIP_DEPLOYMENT_EXPOSURE="$PAPERCLIP_DEPLOYMENT_EXPOSURE" \
-e PAPERCLIP_PUBLIC_URL="$PAPERCLIP_PUBLIC_URL" \ -e PAPERCLIP_PUBLIC_URL="$PAPERCLIP_PUBLIC_URL" \
-e PAPERCLIP_HOME="/paperclip" \ -e PAPERCLIP_HOME="/paperclip" \
"$CONTAINER_NAME" bash -lc \ "$CONTAINER_NAME" bash -lc \
'npx --yes "paperclipai@${PAPERCLIPAI_VERSION}" auth bootstrap-ceo --data-dir "$PAPERCLIP_HOME" --base-url "$PAPERCLIP_PUBLIC_URL"' \ 'timeout 20s npx --yes "paperclipai@${PAPERCLIPAI_VERSION}" auth bootstrap-ceo --data-dir "$PAPERCLIP_HOME" --base-url "$PAPERCLIP_PUBLIC_URL"' \
2>&1 2>&1
)" || { )"; then
bootstrap_status=0
else
bootstrap_status=$?
fi
if [[ $bootstrap_status -ne 0 && $bootstrap_status -ne 124 ]]; then
echo "Smoke bootstrap failed: could not run bootstrap-ceo inside container" >&2 echo "Smoke bootstrap failed: could not run bootstrap-ceo inside container" >&2
printf '%s\n' "$bootstrap_output" >&2 printf '%s\n' "$bootstrap_output" >&2
return 1 return 1
} fi
local invite_url local invite_url
invite_url="$( invite_url="$(
@@ -77,6 +84,10 @@ generate_bootstrap_invite_url() {
return 1 return 1
fi fi
if [[ $bootstrap_status -eq 124 ]]; then
echo " Smoke bootstrap: bootstrap-ceo timed out after printing invite URL; continuing" >&2
fi
printf '%s\n' "$invite_url" printf '%s\n' "$invite_url"
} }

View File

@@ -1,5 +1,25 @@
# @paperclipai/server # @paperclipai/server
## 0.3.0
### Minor Changes
- Stable release preparation for 0.3.0
### Patch Changes
- Updated dependencies [6077ae6]
- Updated dependencies
- @paperclipai/shared@0.3.0
- @paperclipai/adapter-utils@0.3.0
- @paperclipai/adapter-claude-local@0.3.0
- @paperclipai/adapter-codex-local@0.3.0
- @paperclipai/adapter-cursor-local@0.3.0
- @paperclipai/adapter-openclaw-gateway@0.3.0
- @paperclipai/adapter-opencode-local@0.3.0
- @paperclipai/adapter-pi-local@0.3.0
- @paperclipai/db@0.3.0
## 0.2.7 ## 0.2.7
### Patch Changes ### Patch Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@paperclipai/server", "name": "@paperclipai/server",
"version": "0.2.7", "version": "0.3.0",
"type": "module", "type": "module",
"exports": { "exports": {
".": "./src/index.ts" ".": "./src/index.ts"

View File

@@ -56,6 +56,15 @@ function CloudAccessGate() {
queryKey: queryKeys.health, queryKey: queryKeys.health,
queryFn: () => healthApi.get(), queryFn: () => healthApi.get(),
retry: false, retry: false,
refetchInterval: (query) => {
const data = query.state.data as
| { deploymentMode?: "local_trusted" | "authenticated"; bootstrapStatus?: "ready" | "bootstrap_pending" }
| undefined;
return data?.deploymentMode === "authenticated" && data.bootstrapStatus === "bootstrap_pending"
? 2000
: false;
},
refetchIntervalInBackground: true,
}); });
const isAuthenticatedMode = healthQuery.data?.deploymentMode === "authenticated"; const isAuthenticatedMode = healthQuery.data?.deploymentMode === "authenticated";