corporateai 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +10 -0
- package/.env.example +3 -0
- package/.github/workflows/publish-cli.yml +49 -0
- package/.mailmap +1 -0
- package/AGENTS.md +148 -0
- package/CONTRIBUTING.md +75 -0
- package/Dockerfile +59 -0
- package/Dockerfile.onboard-smoke +42 -0
- package/LICENSE +21 -0
- package/README.md +93 -0
- package/cli/esbuild.config.mjs +11 -0
- package/cli/package.json +24 -0
- package/cli/scripts/build-cli.mjs +5 -0
- package/cli/src/index.ts +27 -0
- package/docker-compose.quickstart.yml +18 -0
- package/docker-compose.untrusted-review.yml +33 -0
- package/docker-compose.yml +38 -0
- package/package.json +56 -0
- package/patches/embedded-postgres@18.1.0-beta.16.patch +0 -0
- package/pnpm-workspace.yaml +4 -0
- package/releases/.gitkeep +0 -0
- package/releases/v0.0.1.md +36 -0
- package/releases/v0.2.7.md +15 -0
- package/releases/v0.3.0.md +54 -0
- package/releases/v0.3.1.md +55 -0
- package/releases/v2026.318.0.md +66 -0
- package/releases/v2026.325.0.md +78 -0
- package/report/2026-03-13-08-46-token-optimization-implementation.md +48 -0
- package/scripts/backup-db.sh +17 -0
- package/scripts/build-npm.sh +80 -0
- package/scripts/check-forbidden-tokens.mjs +115 -0
- package/scripts/clean-onboard-git.sh +14 -0
- package/scripts/clean-onboard-npm.sh +13 -0
- package/scripts/clean-onboard-ref.sh +86 -0
- package/scripts/create-github-release.sh +99 -0
- package/scripts/dev-runner-paths.mjs +38 -0
- package/scripts/dev-runner.mjs +606 -0
- package/scripts/docker-onboard-smoke.sh +306 -0
- package/scripts/ensure-plugin-build-deps.mjs +47 -0
- package/scripts/generate-company-assets.ts +365 -0
- package/scripts/generate-npm-package-json.mjs +113 -0
- package/scripts/generate-org-chart-images.ts +694 -0
- package/scripts/generate-org-chart-satori-comparison.ts +225 -0
- package/scripts/generate-ui-package-json.mjs +31 -0
- package/scripts/kill-dev.sh +71 -0
- package/scripts/migrate-inline-env-secrets.ts +126 -0
- package/scripts/prepare-server-ui-dist.sh +22 -0
- package/scripts/provision-worktree.sh +333 -0
- package/scripts/release-lib.sh +306 -0
- package/scripts/release-package-map.mjs +169 -0
- package/scripts/release.sh +312 -0
- package/scripts/rollback-latest.sh +111 -0
- package/scripts/smoke/openclaw-docker-ui.sh +329 -0
- package/scripts/smoke/openclaw-gateway-e2e.sh +954 -0
- package/scripts/smoke/openclaw-join.sh +295 -0
- package/scripts/smoke/openclaw-sse-standalone.sh +146 -0
- package/scripts/workspace-compat.mjs +60 -0
- package/server/CHANGELOG.md +130 -0
- package/server/package.json +96 -0
- package/server/scripts/copy-onboarding-assets.mjs +10 -0
- package/server/scripts/dev-watch.ts +33 -0
- package/server/src/__tests__/activity-routes.test.ts +70 -0
- package/server/src/__tests__/adapter-models.test.ts +105 -0
- package/server/src/__tests__/adapter-session-codecs.test.ts +194 -0
- package/server/src/__tests__/agent-auth-jwt.test.ts +79 -0
- package/server/src/__tests__/agent-instructions-routes.test.ts +318 -0
- package/server/src/__tests__/agent-instructions-service.test.ts +361 -0
- package/server/src/__tests__/agent-permissions-routes.test.ts +275 -0
- package/server/src/__tests__/agent-shortname-collision.test.ts +69 -0
- package/server/src/__tests__/agent-skill-contract.test.ts +50 -0
- package/server/src/__tests__/agent-skills-routes.test.ts +462 -0
- package/server/src/__tests__/app-hmr-port.test.ts +19 -0
- package/server/src/__tests__/approval-routes-idempotency.test.ts +110 -0
- package/server/src/__tests__/approvals-service.test.ts +107 -0
- package/server/src/__tests__/assets.test.ts +250 -0
- package/server/src/__tests__/attachment-types.test.ts +97 -0
- package/server/src/__tests__/board-mutation-guard.test.ts +105 -0
- package/server/src/__tests__/budgets-service.test.ts +311 -0
- package/server/src/__tests__/claude-local-adapter-environment.test.ts +92 -0
- package/server/src/__tests__/claude-local-adapter.test.ts +31 -0
- package/server/src/__tests__/claude-local-skill-sync.test.ts +111 -0
- package/server/src/__tests__/cli-auth-routes.test.ts +230 -0
- package/server/src/__tests__/codex-local-adapter-environment.test.ts +143 -0
- package/server/src/__tests__/codex-local-adapter.test.ts +253 -0
- package/server/src/__tests__/codex-local-execute.test.ts +391 -0
- package/server/src/__tests__/codex-local-skill-injection.test.ts +175 -0
- package/server/src/__tests__/codex-local-skill-sync.test.ts +123 -0
- package/server/src/__tests__/companies-route-path-guard.test.ts +56 -0
- package/server/src/__tests__/company-branding-route.test.ts +196 -0
- package/server/src/__tests__/company-portability-routes.test.ts +175 -0
- package/server/src/__tests__/company-portability.test.ts +2186 -0
- package/server/src/__tests__/company-skills-routes.test.ts +113 -0
- package/server/src/__tests__/company-skills.test.ts +229 -0
- package/server/src/__tests__/costs-service.test.ts +226 -0
- package/server/src/__tests__/cursor-local-adapter-environment.test.ts +196 -0
- package/server/src/__tests__/cursor-local-adapter.test.ts +406 -0
- package/server/src/__tests__/cursor-local-execute.test.ts +263 -0
- package/server/src/__tests__/cursor-local-skill-injection.test.ts +104 -0
- package/server/src/__tests__/cursor-local-skill-sync.test.ts +145 -0
- package/server/src/__tests__/dev-runner-paths.test.ts +25 -0
- package/server/src/__tests__/dev-server-status.test.ts +66 -0
- package/server/src/__tests__/dev-watch-ignore.test.ts +42 -0
- package/server/src/__tests__/documents.test.ts +29 -0
- package/server/src/__tests__/error-handler.test.ts +53 -0
- package/server/src/__tests__/execution-workspace-policy.test.ts +170 -0
- package/server/src/__tests__/forbidden-tokens.test.ts +77 -0
- package/server/src/__tests__/gemini-local-adapter-environment.test.ts +135 -0
- package/server/src/__tests__/gemini-local-adapter.test.ts +190 -0
- package/server/src/__tests__/gemini-local-execute.test.ts +172 -0
- package/server/src/__tests__/gemini-local-skill-sync.test.ts +90 -0
- package/server/src/__tests__/health.test.ts +16 -0
- package/server/src/__tests__/heartbeat-process-recovery.test.ts +256 -0
- package/server/src/__tests__/heartbeat-run-summary.test.ts +33 -0
- package/server/src/__tests__/heartbeat-workspace-session.test.ts +334 -0
- package/server/src/__tests__/helpers/embedded-postgres.ts +7 -0
- package/server/src/__tests__/hire-hook.test.ts +181 -0
- package/server/src/__tests__/instance-settings-routes.test.ts +156 -0
- package/server/src/__tests__/invite-accept-gateway-defaults.test.ts +119 -0
- package/server/src/__tests__/invite-accept-replay.test.ts +92 -0
- package/server/src/__tests__/invite-expiry.test.ts +10 -0
- package/server/src/__tests__/invite-join-grants.test.ts +57 -0
- package/server/src/__tests__/invite-join-manager.test.ts +33 -0
- package/server/src/__tests__/invite-onboarding-text.test.ts +116 -0
- package/server/src/__tests__/issue-comment-reopen-routes.test.ts +146 -0
- package/server/src/__tests__/issue-goal-fallback.test.ts +99 -0
- package/server/src/__tests__/issues-checkout-wakeup.test.ts +48 -0
- package/server/src/__tests__/issues-goal-context-routes.test.ts +187 -0
- package/server/src/__tests__/issues-service.test.ts +317 -0
- package/server/src/__tests__/issues-user-context.test.ts +113 -0
- package/server/src/__tests__/log-redaction.test.ts +74 -0
- package/server/src/__tests__/monthly-spend-service.test.ts +90 -0
- package/server/src/__tests__/normalize-agent-mention-token.test.ts +41 -0
- package/server/src/__tests__/openclaw-gateway-adapter.test.ts +626 -0
- package/server/src/__tests__/openclaw-invite-prompt-route.test.ts +192 -0
- package/server/src/__tests__/opencode-local-adapter-environment.test.ts +97 -0
- package/server/src/__tests__/opencode-local-adapter.test.ts +226 -0
- package/server/src/__tests__/opencode-local-skill-sync.test.ts +91 -0
- package/server/src/__tests__/paperclip-env.test.ts +58 -0
- package/server/src/__tests__/paperclip-skill-utils.test.ts +63 -0
- package/server/src/__tests__/pi-local-adapter-environment.test.ts +102 -0
- package/server/src/__tests__/pi-local-skill-sync.test.ts +95 -0
- package/server/src/__tests__/plugin-dev-watcher.test.ts +68 -0
- package/server/src/__tests__/plugin-worker-manager.test.ts +43 -0
- package/server/src/__tests__/private-hostname-guard.test.ts +56 -0
- package/server/src/__tests__/project-shortname-resolution.test.ts +45 -0
- package/server/src/__tests__/quota-windows-service.test.ts +56 -0
- package/server/src/__tests__/quota-windows.test.ts +1109 -0
- package/server/src/__tests__/redaction.test.ts +66 -0
- package/server/src/__tests__/routines-e2e.test.ts +276 -0
- package/server/src/__tests__/routines-routes.test.ts +271 -0
- package/server/src/__tests__/routines-service.test.ts +424 -0
- package/server/src/__tests__/storage-local-provider.test.ts +78 -0
- package/server/src/__tests__/ui-branding.test.ts +82 -0
- package/server/src/__tests__/work-products.test.ts +95 -0
- package/server/src/__tests__/workspace-runtime.test.ts +1131 -0
- package/server/src/__tests__/worktree-config.test.ts +426 -0
- package/server/src/adapters/codex-models.ts +105 -0
- package/server/src/adapters/cursor-models.ts +171 -0
- package/server/src/adapters/http/execute.ts +42 -0
- package/server/src/adapters/http/index.ts +21 -0
- package/server/src/adapters/http/test.ts +116 -0
- package/server/src/adapters/index.ts +18 -0
- package/server/src/adapters/process/execute.ts +77 -0
- package/server/src/adapters/process/index.ts +24 -0
- package/server/src/adapters/process/test.ts +89 -0
- package/server/src/adapters/registry.ts +225 -0
- package/server/src/adapters/server-utils-compat.ts +57 -0
- package/server/src/adapters/types.ts +30 -0
- package/server/src/adapters/utils.ts +48 -0
- package/server/src/agent-auth-jwt.ts +141 -0
- package/server/src/app.ts +321 -0
- package/server/src/attachment-types.ts +74 -0
- package/server/src/auth/better-auth.ts +148 -0
- package/server/src/board-claim.ts +150 -0
- package/server/src/config-file.ts +17 -0
- package/server/src/config.ts +260 -0
- package/server/src/dev-server-status.ts +103 -0
- package/server/src/dev-watch-ignore.ts +36 -0
- package/server/src/errors.ts +34 -0
- package/server/src/home-paths.ts +95 -0
- package/server/src/index.ts +799 -0
- package/server/src/log-redaction.ts +146 -0
- package/server/src/middleware/auth.ts +178 -0
- package/server/src/middleware/board-mutation-guard.ts +66 -0
- package/server/src/middleware/error-handler.ts +71 -0
- package/server/src/middleware/index.ts +3 -0
- package/server/src/middleware/logger.ts +90 -0
- package/server/src/middleware/private-hostname-guard.ts +92 -0
- package/server/src/middleware/validate.ts +9 -0
- package/server/src/onboarding-assets/ceo/AGENTS.md +54 -0
- package/server/src/onboarding-assets/ceo/HEARTBEAT.md +72 -0
- package/server/src/onboarding-assets/ceo/SOUL.md +33 -0
- package/server/src/onboarding-assets/ceo/TOOLS.md +3 -0
- package/server/src/onboarding-assets/default/AGENTS.md +3 -0
- package/server/src/paths.ts +34 -0
- package/server/src/realtime/live-events-ws.ts +274 -0
- package/server/src/redaction.ts +59 -0
- package/server/src/routes/access.ts +2888 -0
- package/server/src/routes/activity.ts +89 -0
- package/server/src/routes/agents.ts +2313 -0
- package/server/src/routes/approvals.ts +346 -0
- package/server/src/routes/assets.ts +341 -0
- package/server/src/routes/authz.ts +52 -0
- package/server/src/routes/companies.ts +343 -0
- package/server/src/routes/company-skills.ts +300 -0
- package/server/src/routes/costs.ts +335 -0
- package/server/src/routes/dashboard.ts +19 -0
- package/server/src/routes/execution-workspaces.ts +182 -0
- package/server/src/routes/goals.ts +107 -0
- package/server/src/routes/health.ts +94 -0
- package/server/src/routes/index.ts +17 -0
- package/server/src/routes/instance-settings.ts +95 -0
- package/server/src/routes/issues-checkout-wakeup.ts +14 -0
- package/server/src/routes/issues.ts +1680 -0
- package/server/src/routes/llms.ts +86 -0
- package/server/src/routes/org-chart-svg.ts +777 -0
- package/server/src/routes/plugin-ui-static.ts +497 -0
- package/server/src/routes/plugins.ts +2220 -0
- package/server/src/routes/projects.ts +295 -0
- package/server/src/routes/routines.ts +300 -0
- package/server/src/routes/secrets.ts +166 -0
- package/server/src/routes/sidebar-badges.ts +52 -0
- package/server/src/secrets/external-stub-providers.ts +32 -0
- package/server/src/secrets/local-encrypted-provider.ts +135 -0
- package/server/src/secrets/provider-registry.ts +31 -0
- package/server/src/secrets/types.ts +23 -0
- package/server/src/services/access.ts +381 -0
- package/server/src/services/activity-log.ts +95 -0
- package/server/src/services/activity.ts +164 -0
- package/server/src/services/agent-instructions.ts +735 -0
- package/server/src/services/agent-permissions.ts +27 -0
- package/server/src/services/agents.ts +694 -0
- package/server/src/services/approvals.ts +273 -0
- package/server/src/services/assets.ts +23 -0
- package/server/src/services/board-auth.ts +355 -0
- package/server/src/services/budgets.ts +959 -0
- package/server/src/services/companies.ts +313 -0
- package/server/src/services/company-export-readme.ts +173 -0
- package/server/src/services/company-portability.ts +4263 -0
- package/server/src/services/company-skills.ts +2356 -0
- package/server/src/services/costs.ts +365 -0
- package/server/src/services/cron.ts +373 -0
- package/server/src/services/dashboard.ts +110 -0
- package/server/src/services/default-agent-instructions.ts +27 -0
- package/server/src/services/documents.ts +434 -0
- package/server/src/services/execution-workspace-policy.ts +210 -0
- package/server/src/services/execution-workspaces.ts +100 -0
- package/server/src/services/finance.ts +135 -0
- package/server/src/services/goals.ts +81 -0
- package/server/src/services/heartbeat-run-summary.ts +35 -0
- package/server/src/services/heartbeat.ts +3863 -0
- package/server/src/services/hire-hook.ts +114 -0
- package/server/src/services/index.ts +32 -0
- package/server/src/services/instance-settings.ts +138 -0
- package/server/src/services/issue-approvals.ts +175 -0
- package/server/src/services/issue-assignment-wakeup.ts +48 -0
- package/server/src/services/issue-goal-fallback.ts +56 -0
- package/server/src/services/issues.ts +1828 -0
- package/server/src/services/live-events.ts +55 -0
- package/server/src/services/plugin-capability-validator.ts +450 -0
- package/server/src/services/plugin-config-validator.ts +55 -0
- package/server/src/services/plugin-dev-watcher.ts +339 -0
- package/server/src/services/plugin-event-bus.ts +413 -0
- package/server/src/services/plugin-host-service-cleanup.ts +59 -0
- package/server/src/services/plugin-host-services.ts +1132 -0
- package/server/src/services/plugin-job-coordinator.ts +261 -0
- package/server/src/services/plugin-job-scheduler.ts +753 -0
- package/server/src/services/plugin-job-store.ts +466 -0
- package/server/src/services/plugin-lifecycle.ts +822 -0
- package/server/src/services/plugin-loader.ts +1955 -0
- package/server/src/services/plugin-log-retention.ts +87 -0
- package/server/src/services/plugin-manifest-validator.ts +164 -0
- package/server/src/services/plugin-registry.ts +683 -0
- package/server/src/services/plugin-runtime-sandbox.ts +222 -0
- package/server/src/services/plugin-secrets-handler.ts +355 -0
- package/server/src/services/plugin-state-store.ts +238 -0
- package/server/src/services/plugin-stream-bus.ts +81 -0
- package/server/src/services/plugin-tool-dispatcher.ts +449 -0
- package/server/src/services/plugin-tool-registry.ts +450 -0
- package/server/src/services/plugin-worker-manager.ts +1343 -0
- package/server/src/services/projects.ts +860 -0
- package/server/src/services/quota-windows.ts +65 -0
- package/server/src/services/routines.ts +1269 -0
- package/server/src/services/run-log-store.ts +156 -0
- package/server/src/services/secrets.ts +370 -0
- package/server/src/services/sidebar-badges.ts +56 -0
- package/server/src/services/work-products.ts +124 -0
- package/server/src/services/workspace-operation-log-store.ts +156 -0
- package/server/src/services/workspace-operations.ts +262 -0
- package/server/src/services/workspace-runtime.ts +1565 -0
- package/server/src/startup-banner.ts +176 -0
- package/server/src/storage/index.ts +35 -0
- package/server/src/storage/local-disk-provider.ts +89 -0
- package/server/src/storage/provider-registry.ts +18 -0
- package/server/src/storage/s3-provider.ts +153 -0
- package/server/src/storage/service.ts +131 -0
- package/server/src/storage/types.ts +63 -0
- package/server/src/ui-branding.ts +217 -0
- package/server/src/version.ts +10 -0
- package/server/src/worktree-config.ts +468 -0
- package/server/tsconfig.json +9 -0
- package/server/vitest.config.ts +7 -0
- package/skills/paperclip/SKILL.md +365 -0
- package/skills/paperclip/references/api-reference.md +647 -0
- package/skills/paperclip/references/company-skills.md +193 -0
- package/skills/paperclip-create-agent/SKILL.md +142 -0
- package/skills/paperclip-create-agent/references/api-reference.md +105 -0
- package/skills/paperclip-create-plugin/SKILL.md +102 -0
- package/skills/para-memory-files/SKILL.md +104 -0
- package/skills/para-memory-files/references/schemas.md +35 -0
- package/tests/e2e/onboarding.spec.ts +142 -0
- package/tests/e2e/playwright.config.ts +35 -0
- package/tests/release-smoke/docker-auth-onboarding.spec.ts +141 -0
- package/tests/release-smoke/playwright.config.ts +28 -0
- package/tsconfig.base.json +18 -0
- package/tsconfig.json +18 -0
- package/ui/README.md +12 -0
- package/ui/components.json +21 -0
- package/ui/index.html +47 -0
- package/ui/package.json +73 -0
- package/ui/public/android-chrome-192x192.png +0 -0
- package/ui/public/android-chrome-512x512.png +0 -0
- package/ui/public/apple-touch-icon.png +0 -0
- package/ui/public/brands/opencode-logo-dark-square.svg +18 -0
- package/ui/public/brands/opencode-logo-light-square.svg +18 -0
- package/ui/public/favicon-16x16.png +0 -0
- package/ui/public/favicon-32x32.png +0 -0
- package/ui/public/favicon.ico +0 -0
- package/ui/public/favicon.svg +9 -0
- package/ui/public/site.webmanifest +30 -0
- package/ui/public/sprites/1-D-1.png +0 -0
- package/ui/public/sprites/1-D-2.png +0 -0
- package/ui/public/sprites/1-D-3.png +0 -0
- package/ui/public/sprites/1-L-1.png +0 -0
- package/ui/public/sprites/1-R-1.png +0 -0
- package/ui/public/sprites/10-D-1.png +0 -0
- package/ui/public/sprites/10-D-2.png +0 -0
- package/ui/public/sprites/10-D-3.png +0 -0
- package/ui/public/sprites/10-L-1.png +0 -0
- package/ui/public/sprites/10-R-1.png +0 -0
- package/ui/public/sprites/11-D-1.png +0 -0
- package/ui/public/sprites/11-D-2.png +0 -0
- package/ui/public/sprites/11-D-3.png +0 -0
- package/ui/public/sprites/11-L-1.png +0 -0
- package/ui/public/sprites/11-R-1.png +0 -0
- package/ui/public/sprites/12-D-1.png +0 -0
- package/ui/public/sprites/12-D-2.png +0 -0
- package/ui/public/sprites/12-D-3.png +0 -0
- package/ui/public/sprites/12-L-1.png +0 -0
- package/ui/public/sprites/12-R-1.png +0 -0
- package/ui/public/sprites/13-D-1.png +0 -0
- package/ui/public/sprites/13-D-2.png +0 -0
- package/ui/public/sprites/13-D-3.png +0 -0
- package/ui/public/sprites/13-L-1.png +0 -0
- package/ui/public/sprites/13-R-1.png +0 -0
- package/ui/public/sprites/14-D-1.png +0 -0
- package/ui/public/sprites/14-D-2.png +0 -0
- package/ui/public/sprites/14-D-3.png +0 -0
- package/ui/public/sprites/14-L-1.png +0 -0
- package/ui/public/sprites/14-R-1.png +0 -0
- package/ui/public/sprites/2-D-1.png +0 -0
- package/ui/public/sprites/2-D-2.png +0 -0
- package/ui/public/sprites/2-D-3.png +0 -0
- package/ui/public/sprites/2-L-1.png +0 -0
- package/ui/public/sprites/2-R-1.png +0 -0
- package/ui/public/sprites/3-D-1.png +0 -0
- package/ui/public/sprites/3-D-2.png +0 -0
- package/ui/public/sprites/3-D-3.png +0 -0
- package/ui/public/sprites/3-L-1.png +0 -0
- package/ui/public/sprites/3-R-1.png +0 -0
- package/ui/public/sprites/4-D-1.png +0 -0
- package/ui/public/sprites/4-D-2.png +0 -0
- package/ui/public/sprites/4-D-3.png +0 -0
- package/ui/public/sprites/4-L-1.png +0 -0
- package/ui/public/sprites/4-R-1.png +0 -0
- package/ui/public/sprites/5-D-1.png +0 -0
- package/ui/public/sprites/5-D-2.png +0 -0
- package/ui/public/sprites/5-D-3.png +0 -0
- package/ui/public/sprites/5-L-1.png +0 -0
- package/ui/public/sprites/5-R-1.png +0 -0
- package/ui/public/sprites/6-D-1.png +0 -0
- package/ui/public/sprites/6-D-2.png +0 -0
- package/ui/public/sprites/6-D-3.png +0 -0
- package/ui/public/sprites/6-L-1.png +0 -0
- package/ui/public/sprites/6-R-1.png +0 -0
- package/ui/public/sprites/7-D-1.png +0 -0
- package/ui/public/sprites/7-D-2.png +0 -0
- package/ui/public/sprites/7-D-3.png +0 -0
- package/ui/public/sprites/7-L-1.png +0 -0
- package/ui/public/sprites/7-R-1.png +0 -0
- package/ui/public/sprites/8-D-1.png +0 -0
- package/ui/public/sprites/8-D-2.png +0 -0
- package/ui/public/sprites/8-D-3.png +0 -0
- package/ui/public/sprites/8-L-1.png +0 -0
- package/ui/public/sprites/8-R-1.png +0 -0
- package/ui/public/sprites/9-D-1.png +0 -0
- package/ui/public/sprites/9-D-2.png +0 -0
- package/ui/public/sprites/9-D-3.png +0 -0
- package/ui/public/sprites/9-L-1.png +0 -0
- package/ui/public/sprites/9-R-1.png +0 -0
- package/ui/public/sprites/ceo-lobster.png +0 -0
- package/ui/public/sw.js +42 -0
- package/ui/public/worktree-favicon-16x16.png +0 -0
- package/ui/public/worktree-favicon-32x32.png +0 -0
- package/ui/public/worktree-favicon.ico +0 -0
- package/ui/public/worktree-favicon.svg +9 -0
- package/ui/src/App.tsx +354 -0
- package/ui/src/adapters/claude-local/config-fields.tsx +138 -0
- package/ui/src/adapters/claude-local/index.ts +13 -0
- package/ui/src/adapters/codex-local/config-fields.tsx +104 -0
- package/ui/src/adapters/codex-local/index.ts +13 -0
- package/ui/src/adapters/cursor/config-fields.tsx +49 -0
- package/ui/src/adapters/cursor/index.ts +13 -0
- package/ui/src/adapters/gemini-local/config-fields.tsx +51 -0
- package/ui/src/adapters/gemini-local/index.ts +13 -0
- package/ui/src/adapters/http/build-config.ts +9 -0
- package/ui/src/adapters/http/config-fields.tsx +38 -0
- package/ui/src/adapters/http/index.ts +12 -0
- package/ui/src/adapters/http/parse-stdout.ts +5 -0
- package/ui/src/adapters/index.ts +9 -0
- package/ui/src/adapters/local-workspace-runtime-fields.tsx +5 -0
- package/ui/src/adapters/openclaw-gateway/config-fields.tsx +237 -0
- package/ui/src/adapters/openclaw-gateway/index.ts +13 -0
- package/ui/src/adapters/opencode-local/config-fields.tsx +72 -0
- package/ui/src/adapters/opencode-local/index.ts +13 -0
- package/ui/src/adapters/pi-local/config-fields.tsx +49 -0
- package/ui/src/adapters/pi-local/index.ts +13 -0
- package/ui/src/adapters/process/build-config.ts +18 -0
- package/ui/src/adapters/process/config-fields.tsx +77 -0
- package/ui/src/adapters/process/index.ts +12 -0
- package/ui/src/adapters/process/parse-stdout.ts +5 -0
- package/ui/src/adapters/registry.ts +34 -0
- package/ui/src/adapters/runtime-json-fields.tsx +122 -0
- package/ui/src/adapters/transcript.test.ts +30 -0
- package/ui/src/adapters/transcript.ts +62 -0
- package/ui/src/adapters/types.ts +34 -0
- package/ui/src/api/access.ts +160 -0
- package/ui/src/api/activity.ts +37 -0
- package/ui/src/api/agents.ts +194 -0
- package/ui/src/api/approvals.ts +25 -0
- package/ui/src/api/assets.ts +30 -0
- package/ui/src/api/auth.ts +74 -0
- package/ui/src/api/budgets.ts +21 -0
- package/ui/src/api/client.ts +50 -0
- package/ui/src/api/companies.ts +59 -0
- package/ui/src/api/companySkills.ts +55 -0
- package/ui/src/api/costs.ts +60 -0
- package/ui/src/api/dashboard.ts +7 -0
- package/ui/src/api/execution-workspaces.ts +27 -0
- package/ui/src/api/goals.ts +12 -0
- package/ui/src/api/health.ts +41 -0
- package/ui/src/api/heartbeats.ts +62 -0
- package/ui/src/api/index.ts +18 -0
- package/ui/src/api/instanceSettings.ts +19 -0
- package/ui/src/api/issues.ts +115 -0
- package/ui/src/api/plugins.ts +424 -0
- package/ui/src/api/projects.ts +34 -0
- package/ui/src/api/routines.ts +59 -0
- package/ui/src/api/secrets.ts +26 -0
- package/ui/src/api/sidebarBadges.ts +7 -0
- package/ui/src/components/AccountingModelCard.tsx +69 -0
- package/ui/src/components/ActiveAgentsPanel.tsx +157 -0
- package/ui/src/components/ActivityCharts.tsx +264 -0
- package/ui/src/components/ActivityRow.tsx +147 -0
- package/ui/src/components/AgentActionButtons.tsx +51 -0
- package/ui/src/components/AgentConfigForm.tsx +1468 -0
- package/ui/src/components/AgentIconPicker.tsx +81 -0
- package/ui/src/components/AgentProperties.tsx +107 -0
- package/ui/src/components/ApprovalCard.tsx +107 -0
- package/ui/src/components/ApprovalPayload.tsx +134 -0
- package/ui/src/components/AsciiArtAnimation.tsx +355 -0
- package/ui/src/components/BillerSpendCard.tsx +146 -0
- package/ui/src/components/BreadcrumbBar.tsx +113 -0
- package/ui/src/components/BudgetIncidentCard.tsx +101 -0
- package/ui/src/components/BudgetPolicyCard.tsx +220 -0
- package/ui/src/components/BudgetSidebarMarker.tsx +13 -0
- package/ui/src/components/ClaudeSubscriptionPanel.tsx +141 -0
- package/ui/src/components/CodexSubscriptionPanel.tsx +158 -0
- package/ui/src/components/CommandPalette.tsx +239 -0
- package/ui/src/components/CommentThread.tsx +503 -0
- package/ui/src/components/CompanyPatternIcon.tsx +212 -0
- package/ui/src/components/CompanyRail.tsx +329 -0
- package/ui/src/components/CompanySwitcher.tsx +81 -0
- package/ui/src/components/CopyText.tsx +56 -0
- package/ui/src/components/DevRestartBanner.tsx +89 -0
- package/ui/src/components/EmptyState.tsx +27 -0
- package/ui/src/components/EntityRow.tsx +69 -0
- package/ui/src/components/FilterBar.tsx +39 -0
- package/ui/src/components/FinanceBillerCard.tsx +45 -0
- package/ui/src/components/FinanceKindCard.tsx +44 -0
- package/ui/src/components/FinanceTimelineCard.tsx +72 -0
- package/ui/src/components/GoalProperties.tsx +165 -0
- package/ui/src/components/GoalTree.tsx +118 -0
- package/ui/src/components/Identity.tsx +39 -0
- package/ui/src/components/InlineEditor.tsx +248 -0
- package/ui/src/components/InlineEntitySelector.tsx +206 -0
- package/ui/src/components/InstanceSidebar.tsx +53 -0
- package/ui/src/components/IssueDocumentsSection.tsx +892 -0
- package/ui/src/components/IssueProperties.tsx +621 -0
- package/ui/src/components/IssueRow.tsx +149 -0
- package/ui/src/components/IssueWorkspaceCard.tsx +404 -0
- package/ui/src/components/IssuesList.tsx +889 -0
- package/ui/src/components/JsonSchemaForm.tsx +1048 -0
- package/ui/src/components/KanbanBoard.tsx +275 -0
- package/ui/src/components/Layout.tsx +441 -0
- package/ui/src/components/LiveRunWidget.tsx +160 -0
- package/ui/src/components/MarkdownBody.test.tsx +50 -0
- package/ui/src/components/MarkdownBody.tsx +152 -0
- package/ui/src/components/MarkdownEditor.tsx +622 -0
- package/ui/src/components/MetricCard.tsx +53 -0
- package/ui/src/components/MobileBottomNav.tsx +123 -0
- package/ui/src/components/NewAgentDialog.tsx +223 -0
- package/ui/src/components/NewGoalDialog.tsx +283 -0
- package/ui/src/components/NewIssueDialog.tsx +1473 -0
- package/ui/src/components/NewProjectDialog.tsx +451 -0
- package/ui/src/components/OnboardingWizard.tsx +1392 -0
- package/ui/src/components/OpenCodeLogoIcon.tsx +22 -0
- package/ui/src/components/PackageFileTree.tsx +318 -0
- package/ui/src/components/PageSkeleton.tsx +180 -0
- package/ui/src/components/PageTabBar.tsx +45 -0
- package/ui/src/components/PathInstructionsModal.tsx +143 -0
- package/ui/src/components/PriorityIcon.tsx +77 -0
- package/ui/src/components/ProjectProperties.tsx +1127 -0
- package/ui/src/components/PropertiesPanel.tsx +29 -0
- package/ui/src/components/ProviderQuotaCard.tsx +417 -0
- package/ui/src/components/QuotaBar.tsx +65 -0
- package/ui/src/components/ReportsToPicker.tsx +127 -0
- package/ui/src/components/ScheduleEditor.tsx +344 -0
- package/ui/src/components/ScrollToBottom.tsx +79 -0
- package/ui/src/components/Sidebar.tsx +130 -0
- package/ui/src/components/SidebarAgents.tsx +146 -0
- package/ui/src/components/SidebarNavItem.tsx +92 -0
- package/ui/src/components/SidebarProjects.tsx +234 -0
- package/ui/src/components/SidebarSection.tsx +17 -0
- package/ui/src/components/StatusBadge.tsx +15 -0
- package/ui/src/components/StatusIcon.tsx +71 -0
- package/ui/src/components/SwipeToArchive.tsx +152 -0
- package/ui/src/components/ToastViewport.tsx +99 -0
- package/ui/src/components/WorktreeBanner.tsx +25 -0
- package/ui/src/components/agent-config-defaults.ts +31 -0
- package/ui/src/components/agent-config-primitives.tsx +476 -0
- package/ui/src/components/transcript/RunTranscriptView.test.tsx +84 -0
- package/ui/src/components/transcript/RunTranscriptView.tsx +1015 -0
- package/ui/src/components/transcript/useLiveRunTranscripts.ts +297 -0
- package/ui/src/components/ui/avatar.tsx +107 -0
- package/ui/src/components/ui/badge.tsx +48 -0
- package/ui/src/components/ui/breadcrumb.tsx +109 -0
- package/ui/src/components/ui/button.tsx +64 -0
- package/ui/src/components/ui/card.tsx +92 -0
- package/ui/src/components/ui/checkbox.tsx +32 -0
- package/ui/src/components/ui/collapsible.tsx +33 -0
- package/ui/src/components/ui/command.tsx +194 -0
- package/ui/src/components/ui/dialog.tsx +156 -0
- package/ui/src/components/ui/dropdown-menu.tsx +257 -0
- package/ui/src/components/ui/input.tsx +21 -0
- package/ui/src/components/ui/label.tsx +22 -0
- package/ui/src/components/ui/popover.tsx +88 -0
- package/ui/src/components/ui/scroll-area.tsx +56 -0
- package/ui/src/components/ui/select.tsx +188 -0
- package/ui/src/components/ui/separator.tsx +28 -0
- package/ui/src/components/ui/sheet.tsx +143 -0
- package/ui/src/components/ui/skeleton.tsx +13 -0
- package/ui/src/components/ui/tabs.tsx +89 -0
- package/ui/src/components/ui/textarea.tsx +18 -0
- package/ui/src/components/ui/tooltip.tsx +57 -0
- package/ui/src/components/visual-office/AgentAvatar.tsx +99 -0
- package/ui/src/components/visual-office/OfficeViewExact.tsx +417 -0
- package/ui/src/components/visual-office/i18n.ts +52 -0
- package/ui/src/components/visual-office/office-view/CliUsagePanel.tsx +240 -0
- package/ui/src/components/visual-office/office-view/VirtualPadOverlay.tsx +104 -0
- package/ui/src/components/visual-office/office-view/buildScene-break-room.ts +248 -0
- package/ui/src/components/visual-office/office-view/buildScene-ceo-hallway.ts +345 -0
- package/ui/src/components/visual-office/office-view/buildScene-department-agent.ts +242 -0
- package/ui/src/components/visual-office/office-view/buildScene-departments.ts +360 -0
- package/ui/src/components/visual-office/office-view/buildScene-final-layers.ts +113 -0
- package/ui/src/components/visual-office/office-view/buildScene-types.ts +91 -0
- package/ui/src/components/visual-office/office-view/buildScene.ts +232 -0
- package/ui/src/components/visual-office/office-view/drawing-core.ts +374 -0
- package/ui/src/components/visual-office/office-view/drawing-furniture-a.ts +338 -0
- package/ui/src/components/visual-office/office-view/drawing-furniture-b.ts +241 -0
- package/ui/src/components/visual-office/office-view/model.ts +301 -0
- package/ui/src/components/visual-office/office-view/officeTicker.ts +455 -0
- package/ui/src/components/visual-office/office-view/officeTickerRoomAndDelivery.ts +133 -0
- package/ui/src/components/visual-office/office-view/themes-locale.ts +460 -0
- package/ui/src/components/visual-office/office-view/useCliUsage.ts +37 -0
- package/ui/src/components/visual-office/office-view/useOfficeDeliveryEffects.ts +465 -0
- package/ui/src/components/visual-office/office-view/useOfficePixiRuntime.ts +282 -0
- package/ui/src/components/visual-office/types.ts +123 -0
- package/ui/src/context/BreadcrumbContext.tsx +44 -0
- package/ui/src/context/CompanyContext.tsx +151 -0
- package/ui/src/context/DialogContext.tsx +135 -0
- package/ui/src/context/LiveUpdatesProvider.test.ts +119 -0
- package/ui/src/context/LiveUpdatesProvider.tsx +760 -0
- package/ui/src/context/PanelContext.tsx +73 -0
- package/ui/src/context/SidebarContext.tsx +43 -0
- package/ui/src/context/ThemeContext.tsx +83 -0
- package/ui/src/context/ToastContext.tsx +172 -0
- package/ui/src/fixtures/runTranscriptFixtures.ts +226 -0
- package/ui/src/hooks/useAgentOrder.ts +105 -0
- package/ui/src/hooks/useAutosaveIndicator.ts +72 -0
- package/ui/src/hooks/useCompanyPageMemory.test.ts +90 -0
- package/ui/src/hooks/useCompanyPageMemory.ts +79 -0
- package/ui/src/hooks/useDateRange.ts +120 -0
- package/ui/src/hooks/useInboxBadge.ts +132 -0
- package/ui/src/hooks/useKeyboardShortcuts.ts +40 -0
- package/ui/src/hooks/useProjectOrder.ts +106 -0
- package/ui/src/index.css +770 -0
- package/ui/src/lib/agent-icons.ts +99 -0
- package/ui/src/lib/agent-order.ts +107 -0
- package/ui/src/lib/agent-skills-state.test.ts +90 -0
- package/ui/src/lib/agent-skills-state.ts +41 -0
- package/ui/src/lib/assignees.test.ts +92 -0
- package/ui/src/lib/assignees.ts +82 -0
- package/ui/src/lib/color-contrast.ts +107 -0
- package/ui/src/lib/company-export-selection.test.ts +41 -0
- package/ui/src/lib/company-export-selection.ts +57 -0
- package/ui/src/lib/company-page-memory.ts +65 -0
- package/ui/src/lib/company-portability-sidebar.test.ts +101 -0
- package/ui/src/lib/company-portability-sidebar.ts +62 -0
- package/ui/src/lib/company-routes.ts +88 -0
- package/ui/src/lib/company-selection.test.ts +34 -0
- package/ui/src/lib/company-selection.ts +18 -0
- package/ui/src/lib/groupBy.ts +11 -0
- package/ui/src/lib/inbox.test.ts +404 -0
- package/ui/src/lib/inbox.ts +292 -0
- package/ui/src/lib/instance-settings.test.ts +26 -0
- package/ui/src/lib/instance-settings.ts +25 -0
- package/ui/src/lib/issueDetailBreadcrumb.ts +24 -0
- package/ui/src/lib/legacy-agent-config.test.ts +40 -0
- package/ui/src/lib/legacy-agent-config.ts +17 -0
- package/ui/src/lib/mention-aware-link-node.test.ts +50 -0
- package/ui/src/lib/mention-aware-link-node.ts +67 -0
- package/ui/src/lib/mention-chips.ts +168 -0
- package/ui/src/lib/mention-deletion.test.ts +87 -0
- package/ui/src/lib/mention-deletion.ts +143 -0
- package/ui/src/lib/model-utils.ts +16 -0
- package/ui/src/lib/onboarding-goal.test.ts +22 -0
- package/ui/src/lib/onboarding-goal.ts +18 -0
- package/ui/src/lib/onboarding-launch.test.ts +131 -0
- package/ui/src/lib/onboarding-launch.ts +54 -0
- package/ui/src/lib/onboarding-route.test.ts +80 -0
- package/ui/src/lib/onboarding-route.ts +51 -0
- package/ui/src/lib/portable-files.ts +42 -0
- package/ui/src/lib/project-order.ts +71 -0
- package/ui/src/lib/queryKeys.ts +140 -0
- package/ui/src/lib/recent-assignees.ts +36 -0
- package/ui/src/lib/router.tsx +76 -0
- package/ui/src/lib/routine-trigger-patch.test.ts +72 -0
- package/ui/src/lib/routine-trigger-patch.ts +31 -0
- package/ui/src/lib/status-colors.ts +108 -0
- package/ui/src/lib/timeAgo.ts +31 -0
- package/ui/src/lib/utils.ts +168 -0
- package/ui/src/lib/worktree-branding.ts +65 -0
- package/ui/src/lib/zip.test.ts +289 -0
- package/ui/src/lib/zip.ts +284 -0
- package/ui/src/main.tsx +67 -0
- package/ui/src/pages/Activity.tsx +141 -0
- package/ui/src/pages/AgentDetail.tsx +4053 -0
- package/ui/src/pages/Agents.tsx +415 -0
- package/ui/src/pages/ApprovalDetail.tsx +369 -0
- package/ui/src/pages/Approvals.tsx +132 -0
- package/ui/src/pages/Auth.tsx +180 -0
- package/ui/src/pages/BoardClaim.tsx +125 -0
- package/ui/src/pages/CliAuth.tsx +184 -0
- package/ui/src/pages/Companies.tsx +297 -0
- package/ui/src/pages/CompanyExport.tsx +1019 -0
- package/ui/src/pages/CompanyImport.tsx +1355 -0
- package/ui/src/pages/CompanySettings.tsx +661 -0
- package/ui/src/pages/CompanySkills.tsx +1171 -0
- package/ui/src/pages/Costs.tsx +1103 -0
- package/ui/src/pages/Dashboard.tsx +388 -0
- package/ui/src/pages/DesignGuide.tsx +1330 -0
- package/ui/src/pages/ExecutionWorkspaceDetail.tsx +82 -0
- package/ui/src/pages/GoalDetail.tsx +197 -0
- package/ui/src/pages/Goals.tsx +63 -0
- package/ui/src/pages/Inbox.tsx +1291 -0
- package/ui/src/pages/InstanceExperimentalSettings.tsx +139 -0
- package/ui/src/pages/InstanceGeneralSettings.tsx +104 -0
- package/ui/src/pages/InstanceSettings.tsx +284 -0
- package/ui/src/pages/InviteLanding.tsx +320 -0
- package/ui/src/pages/IssueDetail.tsx +1201 -0
- package/ui/src/pages/Issues.tsx +116 -0
- package/ui/src/pages/MyIssues.tsx +72 -0
- package/ui/src/pages/NewAgent.tsx +353 -0
- package/ui/src/pages/NotFound.tsx +66 -0
- package/ui/src/pages/Org.tsx +132 -0
- package/ui/src/pages/OrgChart.tsx +447 -0
- package/ui/src/pages/PluginManager.tsx +510 -0
- package/ui/src/pages/PluginPage.tsx +156 -0
- package/ui/src/pages/PluginSettings.tsx +836 -0
- package/ui/src/pages/ProjectDetail.tsx +633 -0
- package/ui/src/pages/Projects.tsx +87 -0
- package/ui/src/pages/RoutineDetail.tsx +1022 -0
- package/ui/src/pages/Routines.tsx +661 -0
- package/ui/src/pages/RunTranscriptUxLab.tsx +334 -0
- package/ui/src/pages/VisualOffice.tsx +243 -0
- package/ui/src/plugins/bridge-init.ts +69 -0
- package/ui/src/plugins/bridge.ts +476 -0
- package/ui/src/plugins/launchers.tsx +834 -0
- package/ui/src/plugins/slots.tsx +855 -0
- package/ui/tsconfig.json +21 -0
- package/ui/vite.config.ts +23 -0
- package/ui/vitest.config.ts +14 -0
- package/vitest.config.ts +11 -0
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "corporateai",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Control plane for AI-agent companies",
|
|
5
|
+
"private": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"dev": "node scripts/dev-runner.mjs watch",
|
|
9
|
+
"dev:watch": "node scripts/dev-runner.mjs watch",
|
|
10
|
+
"dev:once": "node scripts/dev-runner.mjs dev",
|
|
11
|
+
"dev:server": "pnpm --filter @corporateai/server dev",
|
|
12
|
+
"dev:ui": "pnpm --filter @corporateai/ui dev",
|
|
13
|
+
"build": "node scripts/workspace-compat.mjs build",
|
|
14
|
+
"typecheck": "node scripts/workspace-compat.mjs typecheck",
|
|
15
|
+
"test": "vitest",
|
|
16
|
+
"test:run": "node scripts/workspace-compat.mjs test:run",
|
|
17
|
+
"db:generate": "pnpm --filter @corporateai/db generate",
|
|
18
|
+
"db:migrate": "pnpm --filter @corporateai/db migrate",
|
|
19
|
+
"secrets:migrate-inline-env": "tsx scripts/migrate-inline-env-secrets.ts",
|
|
20
|
+
"db:backup": "./scripts/backup-db.sh",
|
|
21
|
+
"corporateai": "node cli/dist/index.js",
|
|
22
|
+
"build:npm": "./scripts/build-npm.sh",
|
|
23
|
+
"release": "./scripts/release.sh",
|
|
24
|
+
"release:canary": "./scripts/release.sh canary",
|
|
25
|
+
"release:stable": "./scripts/release.sh stable",
|
|
26
|
+
"release:github": "./scripts/create-github-release.sh",
|
|
27
|
+
"release:rollback": "./scripts/rollback-latest.sh",
|
|
28
|
+
"check:tokens": "node scripts/check-forbidden-tokens.mjs",
|
|
29
|
+
"docs:dev": "cd docs && npx mintlify dev",
|
|
30
|
+
"smoke:openclaw-join": "./scripts/smoke/openclaw-join.sh",
|
|
31
|
+
"smoke:openclaw-docker-ui": "./scripts/smoke/openclaw-docker-ui.sh",
|
|
32
|
+
"smoke:openclaw-sse-standalone": "./scripts/smoke/openclaw-sse-standalone.sh",
|
|
33
|
+
"test:e2e": "npx playwright test --config tests/e2e/playwright.config.ts",
|
|
34
|
+
"test:e2e:headed": "npx playwright test --config tests/e2e/playwright.config.ts --headed",
|
|
35
|
+
"evals:smoke": "cd evals/promptfoo && npx promptfoo@0.103.3 eval",
|
|
36
|
+
"test:release-smoke": "npx playwright test --config tests/release-smoke/playwright.config.ts",
|
|
37
|
+
"test:release-smoke:headed": "npx playwright test --config tests/release-smoke/playwright.config.ts --headed"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@playwright/test": "^1.58.2",
|
|
41
|
+
"cross-env": "^10.1.0",
|
|
42
|
+
"esbuild": "^0.27.3",
|
|
43
|
+
"typescript": "^5.7.3",
|
|
44
|
+
"vitest": "^3.0.5"
|
|
45
|
+
},
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=20"
|
|
48
|
+
},
|
|
49
|
+
"packageManager": "pnpm@9.15.4",
|
|
50
|
+
"pnpm": {
|
|
51
|
+
"patchedDependencies": {
|
|
52
|
+
"embedded-postgres@18.1.0-beta.16": "patches/embedded-postgres@18.1.0-beta.16.patch"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Release v0.0.1 — Early Preview
|
|
2
|
+
|
|
3
|
+
This is an early preview release of Corporate (v0.0.1).
|
|
4
|
+
|
|
5
|
+
Highlights
|
|
6
|
+
|
|
7
|
+
- Initial marketing README and project metadata
|
|
8
|
+
- Release tag `v0.0.1`
|
|
9
|
+
|
|
10
|
+
Notes
|
|
11
|
+
|
|
12
|
+
- This is an early, opinionated build intended for evaluation and early adopters.
|
|
13
|
+
- Self-hosted and open-source; expect rough edges and ongoing changes.
|
|
14
|
+
|
|
15
|
+
How to run
|
|
16
|
+
|
|
17
|
+
Quick (one-liner via npx)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx corporateai onboard --yes
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Note: the `npx` shortcut requires a published `corporateai` CLI package. If the CLI isn't published for your environment yet, use the manual steps below.
|
|
24
|
+
|
|
25
|
+
Manual (from source)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git clone https://github.com/EvanGribar/corporate.git
|
|
29
|
+
cd corporate
|
|
30
|
+
pnpm install
|
|
31
|
+
pnpm dev
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Feedback
|
|
35
|
+
|
|
36
|
+
Please report bugs or feature requests via GitHub Issues or Discussions.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# v0.2.7
|
|
2
|
+
|
|
3
|
+
> Released: 2026-03-04
|
|
4
|
+
|
|
5
|
+
## Improvements
|
|
6
|
+
|
|
7
|
+
- **Onboarding resilience** — The setup wizard now continues after a failed environment test instead of getting stuck. If your Anthropic API key doesn't work, you can retry or clear it and proceed with a different configuration.
|
|
8
|
+
- **Docker onboarding flow** — Cleaner defaults for the Docker smoke test and improved console guidance during `npx` onboarding runs.
|
|
9
|
+
- **Issue search in skills** — The Paperclip skill reference now documents the `q=` search parameter for finding issues by keyword.
|
|
10
|
+
|
|
11
|
+
## Fixes
|
|
12
|
+
|
|
13
|
+
- **Markdown list rendering** — Fixed list markers (`-`, `*`) not rendering correctly in the editor and comment views.
|
|
14
|
+
- **Archived companies hidden** — The new issue dialog no longer shows archived companies in the company selector.
|
|
15
|
+
- **Embedded Postgres requirement** — The server now correctly requires the `embedded-postgres` dependency when running in embedded DB mode, preventing startup failures.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# v0.3.0
|
|
2
|
+
|
|
3
|
+
> Released: 2026-03-09
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- **New adapters: Cursor, OpenCode, and Pi** — Paperclip now supports three additional local coding agents. Cursor and OpenCode integrate as first-class adapters with model discovery, run-log streaming, and skill injection. Pi adds a local RPC mode with cost tracking. All three appear in the onboarding wizard alongside Claude Code and Codex. ([#62](https://github.com/EvanGribar/corporate/pull/62), [#141](https://github.com/EvanGribar/corporate/pull/141), [#240](https://github.com/EvanGribar/corporate/pull/240), [#183](https://github.com/EvanGribar/corporate/pull/183), @aaaaron, @Konan69, @richardanaya)
|
|
8
|
+
- **OpenClaw gateway adapter** — A new gateway-only OpenClaw flow replaces the legacy adapter. It uses strict SSE streaming, supports device-key pairing, and handles invite-based onboarding with join-token validation. ([#270](https://github.com/EvanGribar/corporate/pull/270))
|
|
9
|
+
- **Inbox and unread semantics** — Issues now track per-user read state. Unread indicators appear in the inbox, dashboard, and browser tab (blue dot). The inbox badge includes join requests and approvals, and inbox ordering is alert-focused. ([#196](https://github.com/EvanGribar/corporate/pull/196), @hougangdev)
|
|
10
|
+
- **PWA support** — The UI ships as an installable Progressive Web App with a service worker and enhanced manifest. The service worker uses a network-first strategy to prevent stale content.
|
|
11
|
+
- **Agent creation wizard** — A new choice modal and full-page configuration flow make it easier to add agents. The sidebar AGENTS header now has a quick-add button.
|
|
12
|
+
|
|
13
|
+
## Improvements
|
|
14
|
+
|
|
15
|
+
- **Mermaid diagrams in markdown** — Fenced `mermaid` blocks render as diagrams in issue comments and descriptions.
|
|
16
|
+
- **Live run output** — Run detail pages stream output over WebSocket in real time, with coalesced deltas and deduplicated feed items.
|
|
17
|
+
- **Copy comment as Markdown** — Each comment header has a one-click copy-as-markdown button.
|
|
18
|
+
- **Retry failed runs** — Failed and timed-out runs now show a Retry button on the run detail page.
|
|
19
|
+
- **Project status clickable** — The status chip in the project properties pane is now clickable for quick updates.
|
|
20
|
+
- **Scroll-to-bottom button** — Issue detail and run pages show a floating scroll-to-bottom button when you scroll up.
|
|
21
|
+
- **Database backup CLI** — `corporateai db:backup` lets you snapshot the database on demand, with optional automatic scheduling.
|
|
22
|
+
- **Disable sign-up** — A new `auth.disableSignUp` config option (and `AUTH_DISABLE_SIGNUP` env var) lets operators lock registration. ([#279](https://github.com/EvanGribar/corporate/pull/279), @JasonOA888)
|
|
23
|
+
- **Deduplicated shortnames** — Agent and project shortnames are now auto-deduplicated on create and update instead of rejecting duplicates. ([#264](https://github.com/EvanGribar/corporate/pull/264), @mvanhorn)
|
|
24
|
+
- **Human-readable role labels** — The agent list and properties pane show friendly role names. ([#263](https://github.com/EvanGribar/corporate/pull/263), @mvanhorn)
|
|
25
|
+
- **Assignee picker sorting** — Recent selections appear first, then alphabetical.
|
|
26
|
+
- **Mobile layout polish** — Unified GitHub-style issue rows across issues, inbox, and dashboard. Improved popover scrolling, command palette centering, and property toggles on mobile. ([#118](https://github.com/EvanGribar/corporate/pull/118), @MumuTW)
|
|
27
|
+
- **Invite UX improvements** — Invite links auto-copy to clipboard, snippet-only flow in settings, 10-minute invite TTL, and clearer network-host guidance.
|
|
28
|
+
- **Permalink anchors on comments** — Each comment has a stable anchor link and a GET-by-ID API endpoint.
|
|
29
|
+
- **Docker deployment hardening** — Authenticated deployment mode by default, named data volume, `PAPERCLIP_PUBLIC_URL` and `PAPERCLIP_ALLOWED_HOSTNAMES` exposed in compose files, health-check DB wait, and Node 24 base image. ([#400](https://github.com/EvanGribar/corporate/pull/400), [#283](https://github.com/EvanGribar/corporate/pull/283), [#284](https://github.com/EvanGribar/corporate/pull/284), @AiMagic5000, @mingfang)
|
|
30
|
+
- **Updated model lists** — Added `claude-sonnet-4-6`, `claude-haiku-4-6`, and `gpt-5.4` to adapter model constants. ([#293](https://github.com/EvanGribar/corporate/pull/293), [#110](https://github.com/EvanGribar/corporate/pull/110), @cpfarhood, @artokun)
|
|
31
|
+
- **Playwright e2e tests** — New end-to-end test suite covering the onboarding wizard flow.
|
|
32
|
+
|
|
33
|
+
## Fixes
|
|
34
|
+
|
|
35
|
+
- **Secret redaction in run logs** — Env vars sourced from secrets are now redacted by provenance, with consistent `secretKeys` tracking. ([#261](https://github.com/EvanGribar/corporate/pull/261), @mvanhorn)
|
|
36
|
+
- **SPA catch-all 500s** — The server serves cached `index.html` in the catch-all route and uses `root` in `sendFile`, preventing 500 errors on dotfile paths and SPA refreshes. ([#269](https://github.com/EvanGribar/corporate/pull/269), [#78](https://github.com/EvanGribar/corporate/pull/78), @mvanhorn, @MumuTW)
|
|
37
|
+
- **Unmatched API routes return 404 JSON** — Previously fell through to the SPA handler. ([#269](https://github.com/EvanGribar/corporate/pull/269), @mvanhorn)
|
|
38
|
+
- **Agent wake logic** — Agents wake when issues move out of backlog, skip self-wake on own comments, and skip wakeup for backlog-status changes. Pending-approval agents are excluded from heartbeat timers. ([#159](https://github.com/EvanGribar/corporate/pull/159), [#154](https://github.com/EvanGribar/corporate/pull/154), [#267](https://github.com/EvanGribar/corporate/pull/267), [#72](https://github.com/EvanGribar/corporate/pull/72), @Logesh-waran2003, @cschneid, @mvanhorn, @STRML)
|
|
39
|
+
- **Run log fd leak** — Fixed a file-descriptor leak in log append that caused `spawn EBADF` errors. ([#266](https://github.com/EvanGribar/corporate/pull/266), @mvanhorn)
|
|
40
|
+
- **500 error logging** — Error logs now include the actual error message and request context instead of generic pino-http output.
|
|
41
|
+
- **Boolean env parsing** — `parseBooleanFromEnv` no longer silently treats common truthy values as false. ([#91](https://github.com/EvanGribar/corporate/pull/91), @zvictor)
|
|
42
|
+
- **Onboarding env defaults** — `onboard` now correctly derives secrets from env vars and reports ignored exposure settings in `local_trusted` mode. ([#91](https://github.com/EvanGribar/corporate/pull/91), @zvictor)
|
|
43
|
+
- **Windows path compatibility** — Migration paths use `fileURLToPath` for Windows-safe resolution. ([#265](https://github.com/EvanGribar/corporate/pull/265), [#413](https://github.com/EvanGribar/corporate/pull/413), @mvanhorn, @online5880)
|
|
44
|
+
- **Secure cookies on HTTP** — Disabled secure cookie flag for plain HTTP deployments to prevent auth failures. ([#376](https://github.com/EvanGribar/corporate/pull/376), @dalestubblefield)
|
|
45
|
+
- **URL encoding** — `buildUrl` splits path and query to prevent `%3F` encoding issues. ([#260](https://github.com/EvanGribar/corporate/pull/260), @mvanhorn)
|
|
46
|
+
- **Auth trusted origins** — Effective trusted origins and allowed hostnames are now applied correctly in public mode. ([#99](https://github.com/EvanGribar/corporate/pull/99), @zvictor)
|
|
47
|
+
- **UI stability** — Fixed blank screen when prompt templates are emptied, search URL sync causing re-renders, issue title overflow in inbox, and sidebar badge counts including approvals. ([#262](https://github.com/EvanGribar/corporate/pull/262), [#196](https://github.com/EvanGribar/corporate/pull/196), [#423](https://github.com/EvanGribar/corporate/pull/423), @mvanhorn, @hougangdev, @RememberV)
|
|
48
|
+
|
|
49
|
+
## Contributors
|
|
50
|
+
|
|
51
|
+
Thank you to everyone who contributed to this release!
|
|
52
|
+
|
|
53
|
+
@aaaaron, @AiMagic5000, @artokun, @cpfarhood, @cschneid, @dalestubblefield, @Dotta, @eltociear, @fahmmin, @gsxdsm, @hougangdev, @JasonOA888, @Konan69, @Logesh-waran2003, @mingfang, @MumuTW, @mvanhorn, @numman-ali, @online5880, @RememberV, @richardanaya, @STRML, @tylerwince, @zvictor
|
|
54
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# v0.3.1
|
|
2
|
+
|
|
3
|
+
> Released: 2026-03-12
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- **Gemini CLI adapter** — Full local adapter support for Google's Gemini CLI. Includes API-key detection, turn-limit handling, sandbox and approval modes, skill injection into `~/.gemini/`, and yolo-mode default. ([#452](https://github.com/EvanGribar/corporate/pull/452), [#656](https://github.com/EvanGribar/corporate/pull/656), @aaaaron)
|
|
8
|
+
- **Run transcript polish** — Run transcripts render markdown, fold command stdout, redact home paths and user identities, and display humanized event labels across both detail and live surfaces. ([#648](https://github.com/EvanGribar/corporate/pull/648), [#695](https://github.com/EvanGribar/corporate/pull/695))
|
|
9
|
+
- **Inbox refinements** — Improved tab behavior, badge counts aligned with visible unread items, better mobile layout, and smoother new-issue submit state. ([#613](https://github.com/EvanGribar/corporate/pull/613))
|
|
10
|
+
- **Improved onboarding wizard** — Onboarding now shows Claude Code and Codex as recommended adapters, collapses other types, and features animated step transitions with clickable tabs. Adapter environment checks animate on success and show debug output only on failure. ([#700](https://github.com/EvanGribar/corporate/pull/700))
|
|
11
|
+
|
|
12
|
+
## Improvements
|
|
13
|
+
|
|
14
|
+
- **Instance heartbeat settings sidebar** — View and manage heartbeat configuration directly from the instance settings page with compact grouped run lists. ([#697](https://github.com/EvanGribar/corporate/pull/697))
|
|
15
|
+
- **Project and agent configuration tabs** — New tabbed configuration UI for projects and agents, including execution workspace policy settings. ([#613](https://github.com/EvanGribar/corporate/pull/613))
|
|
16
|
+
- **Agent runs tab** — Agent detail pages now include a dedicated runs tab.
|
|
17
|
+
- **Configurable attachment content types** — The `PAPERCLIP_ALLOWED_ATTACHMENT_TYPES` env var lets operators control which file types can be uploaded. ([#495](https://github.com/EvanGribar/corporate/pull/495), @subhendukundu)
|
|
18
|
+
- **Default max turns raised to 300** — Agents now default to 300 max turns instead of the previous limit. ([#701](https://github.com/EvanGribar/corporate/pull/701))
|
|
19
|
+
- **Issue creator shown in sidebar** — The issue properties pane now displays who created each issue. ([#145](https://github.com/EvanGribar/corporate/pull/145), @cschneid)
|
|
20
|
+
- **Company-aware 404 handling** — The UI now shows company-scoped not-found pages instead of a generic error.
|
|
21
|
+
- **Tools for Worktree workflow for developers** — New `corporateai worktree:make` command provisions isolated development instances with their own database, secrets, favicon branding, and git hooks. Worktrees support minimal seed mode, start-point selection, and automatic workspace rebinding. ([#496](https://github.com/EvanGribar/corporate/pull/496), [#530](https://github.com/EvanGribar/corporate/pull/530), [#545](https://github.com/EvanGribar/corporate/pull/545))
|
|
22
|
+
|
|
23
|
+
## Fixes
|
|
24
|
+
|
|
25
|
+
- **Gemini Docker build** — Include the Gemini adapter manifest in the Docker deps stage so production builds succeed. ([#706](https://github.com/EvanGribar/corporate/pull/706), @zvictor)
|
|
26
|
+
- **Approval retries made idempotent** — Duplicate approval submissions no longer create duplicate records. ([#502](https://github.com/EvanGribar/corporate/pull/502), @davidahmann)
|
|
27
|
+
- **Heartbeat cost recording** — Costs are now routed through `costService` instead of being recorded inline, fixing missing cost attribution. ([#386](https://github.com/EvanGribar/corporate/pull/386), @domocarroll)
|
|
28
|
+
- **Claude Code env var leak** — Child adapter processes no longer inherit Claude Code's internal environment variables. ([#485](https://github.com/EvanGribar/corporate/pull/485), @jknair)
|
|
29
|
+
- **`parentId` query filter** — The issues list endpoint now correctly applies the `parentId` filter. ([#491](https://github.com/EvanGribar/corporate/pull/491), @lazmo88)
|
|
30
|
+
- **Remove `Cmd+1..9` shortcut** — The company-switch keyboard shortcut conflicted with browser tab switching and has been removed. ([#628](https://github.com/EvanGribar/corporate/pull/628), @STRML)
|
|
31
|
+
- **IME composition Enter** — Pressing Enter during IME composition in the new-issue title no longer moves focus prematurely. ([#578](https://github.com/EvanGribar/corporate/pull/578), @kaonash)
|
|
32
|
+
- **Restart hint after hostname change** — The CLI now reminds users to restart the server after changing allowed hostnames. ([#549](https://github.com/EvanGribar/corporate/pull/549), @mvanhorn)
|
|
33
|
+
- **Default `dangerouslySkipPermissions` for unattended agents** — Agents running without a terminal now default to skipping permission prompts instead of hanging. ([#388](https://github.com/EvanGribar/corporate/pull/388), @ohld)
|
|
34
|
+
- **Remove stale `paperclip` property from OpenClaw Gateway** — Cleaned up an invalid agent parameter that caused warnings. ([#626](https://github.com/EvanGribar/corporate/pull/626), @openagen)
|
|
35
|
+
- **Issue description overflow** — Long descriptions no longer break the layout.
|
|
36
|
+
- **Worktree JWT persistence** — Environment-sensitive JWT config is now correctly carried into worktree instances.
|
|
37
|
+
- **Dev migration prompt** — Fixed embedded `db:migrate` flow for local development.
|
|
38
|
+
- **Markdown link dialog positioning** — The link insertion dialog no longer renders off-screen.
|
|
39
|
+
- **Pretty logger metadata** — Server log metadata stays on one line instead of wrapping.
|
|
40
|
+
|
|
41
|
+
## Upgrade Guide
|
|
42
|
+
|
|
43
|
+
Two new database migrations (`0026`, `0027`) will run automatically on startup:
|
|
44
|
+
|
|
45
|
+
- **Migration 0026** adds the `workspace_runtime_services` table for worktree-aware runtime support.
|
|
46
|
+
- **Migration 0027** adds `execution_workspace_settings` to issues and `execution_workspace_policy` to projects.
|
|
47
|
+
|
|
48
|
+
Both are additive (new table and new columns) — no existing data is modified. Standard `corporateai` startup will apply them automatically.
|
|
49
|
+
|
|
50
|
+
## Contributors
|
|
51
|
+
|
|
52
|
+
Thank you to everyone who contributed to this release!
|
|
53
|
+
|
|
54
|
+
@aaaaron, @adamrobbie-nudge, @cschneid, @davidahmann, @domocarroll, @jknair, @kaonash, @lazmo88, @mvanhorn, @ohld, @openagen, @STRML, @subhendukundu, @zvictor
|
|
55
|
+
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# v2026.318.0
|
|
2
|
+
|
|
3
|
+
> Released: 2026-03-18
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- **Plugin framework and SDK** — Full plugin system with runtime lifecycle management, CLI tooling, settings UI, breadcrumb and slot extensibility, domain event bridge, and a kitchen-sink example. The Plugin SDK now includes document CRUD methods and a testing harness. ([#904](https://github.com/EvanGribar/corporate/pull/904), [#910](https://github.com/EvanGribar/corporate/pull/910), [#912](https://github.com/EvanGribar/corporate/pull/912), [#909](https://github.com/EvanGribar/corporate/pull/909), [#1074](https://github.com/EvanGribar/corporate/pull/1074), @gsxdsm, @mvanhorn, @residentagent)
|
|
8
|
+
- **Upgraded costs and budgeting** — Improved cost tracking and budget management surfaces. ([#949](https://github.com/EvanGribar/corporate/pull/949))
|
|
9
|
+
- **Issue documents and attachments** — Issues now support inline document editing, file staging before creation, deep-linked documents, copy and download actions, and live-event refresh. ([#899](https://github.com/EvanGribar/corporate/pull/899))
|
|
10
|
+
- **Hermes agent adapter** — New `hermes_local` adapter brings support for the Hermes CLI as an agent backend. ([#587](https://github.com/EvanGribar/corporate/pull/587), @teknium1)
|
|
11
|
+
- **Execution workspaces (EXPERIMENTAL)** — Isolated execution workspaces for agent runs, including workspace operation tracking, reusable workspace deduplication, and work product management. Project-level workspace policies are configurable. ([#1038](https://github.com/EvanGribar/corporate/pull/1038))
|
|
12
|
+
- **Heartbeat token optimization** — Heartbeat cycles now skip redundant token usage.
|
|
13
|
+
|
|
14
|
+
## Improvements
|
|
15
|
+
|
|
16
|
+
- **Session compaction is adapter-aware** — Compaction logic now respects per-adapter context limits.
|
|
17
|
+
- **Company logos** — Upload and display company logos with SVG sanitization and enhanced security headers for asset responses. ([#162](https://github.com/EvanGribar/corporate/pull/162), @JonCSykes)
|
|
18
|
+
- **App version label** — The sidebar now displays the running Paperclip version. ([#1096](https://github.com/EvanGribar/corporate/pull/1096), @saishankar404)
|
|
19
|
+
- **Project tab caching** — Active project tab is remembered per-project; tabs have been renamed and reordered. ([#990](https://github.com/EvanGribar/corporate/pull/990))
|
|
20
|
+
- **Copy-to-clipboard on issues** — Issue detail headers now include a copy button; HTML entities no longer leak into copied text. ([#990](https://github.com/EvanGribar/corporate/pull/990))
|
|
21
|
+
- **Me and Unassigned assignee options** — Quick-filter assignee options for the current user and unassigned issues. ([#990](https://github.com/EvanGribar/corporate/pull/990))
|
|
22
|
+
- **Skip pre-filled fields in new issue dialog** — Tab order now skips assignee and project fields when they are already populated. ([#990](https://github.com/EvanGribar/corporate/pull/990))
|
|
23
|
+
- **Worktree cleanup command** — New `worktree:cleanup` command, env-var defaults, and auto-prefix for worktree branches. ([#1038](https://github.com/EvanGribar/corporate/pull/1038))
|
|
24
|
+
- **Release automation** — Automated canary and stable release workflows with npm trusted publishing and provenance metadata. ([#1151](https://github.com/EvanGribar/corporate/pull/1151), [#1162](https://github.com/EvanGribar/corporate/pull/1162))
|
|
25
|
+
- **Documentation link** — Sidebar documentation link now points to external docs.paperclip.ing.
|
|
26
|
+
- **Onboarding starter task delay** — Starter tasks are no longer created until the user launches.
|
|
27
|
+
|
|
28
|
+
## Fixes
|
|
29
|
+
|
|
30
|
+
- **Embedded PostgreSQL hardening** — Startup adoption, data-dir verification, and UTF-8 encoding are now handled reliably. (@vkartaviy)
|
|
31
|
+
- **`os.userInfo()` guard** — Containers with UID-only users no longer crash; HOME is excluded from the cache key. ([#1145](https://github.com/EvanGribar/corporate/pull/1145), @wesseljt)
|
|
32
|
+
- **opencode-local HOME resolution** — `os.userInfo()` is used for model discovery instead of relying on the HOME env var. ([#1145](https://github.com/EvanGribar/corporate/pull/1145), @wesseljt)
|
|
33
|
+
- **dotenv cwd fallback** — The server now loads `.env` from `cwd` when `.paperclip/.env` is missing. ([#834](https://github.com/EvanGribar/corporate/pull/834), @mvanhorn)
|
|
34
|
+
- **Plugin event subscription wiring** — Fixed subscription cleanup, filter nullability, and stale diagram. ([#988](https://github.com/EvanGribar/corporate/pull/988), @leeknowsai)
|
|
35
|
+
- **Plugin slot rendering** — Corrected slot registration and rendering for plugin UI extensions. ([#916](https://github.com/EvanGribar/corporate/pull/916), [#918](https://github.com/EvanGribar/corporate/pull/918), @gsxdsm)
|
|
36
|
+
- **Archive project UX** — Archive now navigates to the dashboard and shows a toast; replaced `window.confirm` with inline confirmation.
|
|
37
|
+
- **Markdown editor spacing** — Image drop/paste adds proper newlines; header top margins increased.
|
|
38
|
+
- **Workspace form refresh** — Forms now refresh when projects are accessed via URL key and allow empty saves.
|
|
39
|
+
- **Legacy migration reconciliation** — Fixed migration reconciliation for existing installations.
|
|
40
|
+
- **`archivedAt` type coercion** — String-to-Date conversion before Drizzle update prevents type errors.
|
|
41
|
+
- **Agent HOME env var** — `AGENT_HOME` is now set correctly for child agent processes. ([#864](https://github.com/EvanGribar/corporate/pull/864))
|
|
42
|
+
- **Sidebar scrollbar hover track** — Fixed scrollbar track visibility on hover. ([#919](https://github.com/EvanGribar/corporate/pull/919))
|
|
43
|
+
- **Sticky save bar on non-config tabs** — Hidden to prevent layout push.
|
|
44
|
+
- **Empty goals display** — Removed "None" text from empty goals.
|
|
45
|
+
- **Runs page padding** — Removed unnecessary right padding.
|
|
46
|
+
- **Codex bootstrap logs** — Treated as stdout instead of stderr.
|
|
47
|
+
- **Dev runner syntax** — Fixed syntax issue in plugin dev runner. ([#914](https://github.com/EvanGribar/corporate/pull/914), @gsxdsm)
|
|
48
|
+
- **Process list** — Fixed process list rendering. ([#903](https://github.com/EvanGribar/corporate/pull/903), @gsxdsm)
|
|
49
|
+
|
|
50
|
+
## Upgrade Guide
|
|
51
|
+
|
|
52
|
+
Ten new database migrations (`0028`–`0037`) will run automatically on startup:
|
|
53
|
+
|
|
54
|
+
- **Migrations 0028–0029** add plugin framework tables.
|
|
55
|
+
- **Migrations 0030–0037** extend the schema for issue documents, execution workspaces, company logos, cost tracking, and plugin enhancements.
|
|
56
|
+
|
|
57
|
+
All migrations are additive (new tables and columns) — no existing data is modified. Standard `corporateai` startup will apply them automatically.
|
|
58
|
+
|
|
59
|
+
If you use the `.env` file, note that the server now falls back to loading `.env` from the current working directory when `.paperclip/.env` is not found.
|
|
60
|
+
|
|
61
|
+
## Contributors
|
|
62
|
+
|
|
63
|
+
Thank you to everyone who contributed to this release!
|
|
64
|
+
|
|
65
|
+
@gsxdsm, @JonCSykes, @leeknowsai, @mvanhorn, @residentagent, @saishankar404, @teknium1, @vkartaviy, @wesseljt
|
|
66
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# v2026.325.0
|
|
2
|
+
|
|
3
|
+
> Released: 2026-03-25
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- **Company import/export** — Full company portability with a file-browser UX for importing and exporting agent companies. Includes rich frontmatter preview, nested file picker, merge-history support, GitHub shorthand refs, and CLI `company import`/`company export` commands. Imported companies open automatically after import, and heartbeat timers are disabled for imported agents by default. ([#840](https://github.com/EvanGribar/corporate/pull/840), [#1631](https://github.com/EvanGribar/corporate/pull/1631), [#1632](https://github.com/EvanGribar/corporate/pull/1632), [#1655](https://github.com/EvanGribar/corporate/pull/1655))
|
|
8
|
+
- **Company skills library** — New company-scoped skills system with a skills UI, agent skill sync across all local adapters (Claude, Codex, Pi, Gemini), pinned GitHub skills with update checks, and built-in skill support. ([#1346](https://github.com/EvanGribar/corporate/pull/1346))
|
|
9
|
+
- **Routines and recurring tasks** — Full routines engine with triggers, routine runs, coalescing, and recurring task portability. Includes API documentation and routine export support. ([#1351](https://github.com/EvanGribar/corporate/pull/1351), [#1622](https://github.com/EvanGribar/corporate/pull/1622), @aronprins)
|
|
10
|
+
|
|
11
|
+
## Improvements
|
|
12
|
+
|
|
13
|
+
- **Inline join requests in inbox** — Join requests now render inline in the inbox alongside approvals and other work items.
|
|
14
|
+
- **Onboarding seeding** — New projects and issues are seeded with goal context during onboarding for a better first-run experience.
|
|
15
|
+
- **Agent instructions recovery** — Managed agent instructions are recovered from disk on startup; instructions are preserved across adapter switches.
|
|
16
|
+
- **Heartbeats settings page** — Shows all agents regardless of interval config; added a "Disable All" button for quick bulk control.
|
|
17
|
+
- **Agent history via participation** — Agent issue history now uses participation records instead of direct assignment lookups.
|
|
18
|
+
- **Alphabetical agent sorting** — Agents are sorted alphabetically by name across all views.
|
|
19
|
+
- **Company org chart assets** — Improved generated org chart visuals for companies.
|
|
20
|
+
- **Improved CLI API connection errors** — Better error messages when the CLI cannot reach the Paperclip API.
|
|
21
|
+
- **Markdown mention links** — Custom URL schemes are now allowed in Lexical LinkNode, enabling mention pills with proper linking behavior. Atomic deletion of mention pills works correctly.
|
|
22
|
+
- **Issue workspace reuse** — Workspaces are correctly reused after isolation runs.
|
|
23
|
+
- **Failed-run session resume** — Explicit failed-run sessions can now be resumed via honor flag.
|
|
24
|
+
- **Docker image CI** — Added Docker image build and deploy workflow. ([#542](https://github.com/EvanGribar/corporate/pull/542), @albttx)
|
|
25
|
+
- **Project filter on issues** — Issues list can now be filtered by project. ([#552](https://github.com/EvanGribar/corporate/pull/552), @mvanhorn)
|
|
26
|
+
- **Inline comment image attachments** — Uploaded images are now embedded inline in comments. ([#551](https://github.com/EvanGribar/corporate/pull/551), @mvanhorn)
|
|
27
|
+
- **AGENTS.md fallback** — Claude-local adapter gracefully falls back when AGENTS.md is missing. ([#550](https://github.com/EvanGribar/corporate/pull/550), @mvanhorn)
|
|
28
|
+
- **Company-creator skill** — New skill for scaffolding agent company packages from scratch.
|
|
29
|
+
- **Reports page rename** — Reports section renamed for clarity. ([#1380](https://github.com/EvanGribar/corporate/pull/1380), @DanielSousa)
|
|
30
|
+
- **Eval framework bootstrap** — Promptfoo-based evaluation framework with YAML test cases for systematic agent behavior testing. ([#832](https://github.com/EvanGribar/corporate/pull/832), @mvanhorn)
|
|
31
|
+
- **Board CLI authentication** — Browser-based auth flow for the CLI so board users can authenticate without manually copying API keys. ([#1635](https://github.com/EvanGribar/corporate/pull/1635))
|
|
32
|
+
|
|
33
|
+
## Fixes
|
|
34
|
+
|
|
35
|
+
- **Embedded Postgres initdb in Docker slim** — Fixed initdb failure in slim containers by adding proper initdbFlags types. ([#737](https://github.com/EvanGribar/corporate/pull/737), @alaa-alghazouli)
|
|
36
|
+
- **OpenClaw gateway crash** — Fixed unhandled rejection when challengePromise fails. ([#743](https://github.com/EvanGribar/corporate/pull/743), @Sigmabrogz)
|
|
37
|
+
- **Agent mention pill alignment** — Fixed vertical misalignment between agent mention pills and project mention pills.
|
|
38
|
+
- **Task assignment grants** — Preserved task assignment grants for agents that have already joined.
|
|
39
|
+
- **Instructions tab state** — Fixed tab state not updating correctly when switching between agents.
|
|
40
|
+
- **Imported agent bundle frontmatter** — Fixed frontmatter leakage in imported agent bundles.
|
|
41
|
+
- **Login form 1Password detection** — Fixed login form not being detected by password managers; Enter key now submits correctly. ([#1014](https://github.com/EvanGribar/corporate/pull/1014))
|
|
42
|
+
- **Pill contrast (WCAG)** — Improved mention pill contrast using WCAG contrast ratios on composited backgrounds.
|
|
43
|
+
- **Documents horizontal scroll** — Prevented documents row from causing horizontal scroll on mobile.
|
|
44
|
+
- **Toggle switch sizing** — Fixed oversized toggle switches on mobile; added missing `data-slot` attributes.
|
|
45
|
+
- **Agent instructions tab responsive** — Made agent instructions tab responsive on mobile.
|
|
46
|
+
- **Monospace font sizing** — Adjusted inline code font size and added dark mode background.
|
|
47
|
+
- **Priority icon removal** — Removed priority icon from issue rows for a cleaner list view.
|
|
48
|
+
- **Same-page issue toasts** — Suppressed redundant toasts when navigating to an issue already on screen.
|
|
49
|
+
- **Noisy adapter log** — Removed noisy "Loaded agent instructions file" log message from all adapters.
|
|
50
|
+
- **Pi local adapter** — Fixed Pi adapter missing from `isLocal` check. ([#1382](https://github.com/EvanGribar/corporate/pull/1382), @lucas-stellet)
|
|
51
|
+
- **CLI auth migration idempotency** — Made migration 0044 idempotent to avoid failures on re-run.
|
|
52
|
+
- **Dev restart tracking** — `.paperclip` and test-only paths are now ignored in dev restart detection.
|
|
53
|
+
- **Duplicate CLI auth flag** — Fixed duplicate `--company` flag on `auth login`.
|
|
54
|
+
- **Gemini local execution** — Fixed Gemini local adapter execution and diagnostics.
|
|
55
|
+
- **Sidebar ordering** — Preserved sidebar ordering during company portability operations.
|
|
56
|
+
- **Company skill deduplication** — Fixed duplicate skill inventory refreshes.
|
|
57
|
+
- **Worktree merge-history migrations** — Fixed migration handling in worktree contexts. ([#1385](https://github.com/EvanGribar/corporate/pull/1385))
|
|
58
|
+
|
|
59
|
+
## Upgrade Guide
|
|
60
|
+
|
|
61
|
+
Seven new database migrations (`0038`–`0044`) will run automatically on startup:
|
|
62
|
+
|
|
63
|
+
- **Migration 0038** adds process tracking columns to heartbeat runs (PID, started-at, retry tracking).
|
|
64
|
+
- **Migration 0039** adds the routines engine tables (routines, triggers, routine runs).
|
|
65
|
+
- **Migrations 0040–0042** extend company skills, recurring tasks, and portability metadata.
|
|
66
|
+
- **Migration 0043** adds the Codex managed-home and agent instructions recovery columns.
|
|
67
|
+
- **Migration 0044** adds board API keys and CLI auth challenge tables for browser-based CLI auth.
|
|
68
|
+
|
|
69
|
+
All migrations are additive (new tables and columns) — no existing data is modified. Standard `corporateai` startup will apply them automatically.
|
|
70
|
+
|
|
71
|
+
If you use the company import/export feature, note that imported companies have heartbeat timers disabled by default. Re-enable them manually from the Heartbeats settings page after verifying adapter configuration.
|
|
72
|
+
|
|
73
|
+
## Contributors
|
|
74
|
+
|
|
75
|
+
Thank you to everyone who contributed to this release!
|
|
76
|
+
|
|
77
|
+
@alaa-alghazouli, @albttx, @AOrobator, @aronprins, @cryppadotta, @DanielSousa, @lucas-stellet, @mvanhorn, @richardanaya, @Sigmabrogz
|
|
78
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Token Optimization Implementation Report
|
|
2
|
+
|
|
3
|
+
Implemented the token-optimization plan across heartbeat orchestration, issue context APIs, adapter prompt construction, skill exposure, and agent configuration UX.
|
|
4
|
+
|
|
5
|
+
The main behavior changes are:
|
|
6
|
+
|
|
7
|
+
- Heartbeat telemetry now normalizes sessioned local adapter usage as per-run deltas instead of blindly trusting cumulative session totals.
|
|
8
|
+
- Timer and manual wakes now preserve task sessions by default; fresh sessions are forced only for explicit `forceFreshSession` wakes or new issue assignment wakes.
|
|
9
|
+
- Heartbeat session rotation is now policy-driven in the control plane, with a handoff note injected when a session is compacted and restarted.
|
|
10
|
+
- Paperclip issue context now has incremental APIs: `GET /api/agents/me/inbox-lite`, `GET /api/issues/:id/heartbeat-context`, and comment delta queries via `GET /api/issues/:id/comments?after=...&order=asc`.
|
|
11
|
+
- The `paperclip` skill now teaches agents to use those compact/incremental APIs first, while keeping full-thread fetches as a cold-start fallback.
|
|
12
|
+
- All local adapters now separate first-session bootstrap prompts from per-heartbeat prompt templates, and emit prompt size metrics in invocation metadata.
|
|
13
|
+
- Adapter create flows now persist `bootstrapPromptTemplate` correctly.
|
|
14
|
+
- The agent config UI now explains the difference between bootstrap prompts and heartbeat prompts and warns about prompt churn.
|
|
15
|
+
- Runtime skill defaults now include `paperclip`, `para-memory-files`, and `paperclip-create-agent`. `create-agent-adapter` was moved to `.agents/skills/create-agent-adapter`.
|
|
16
|
+
|
|
17
|
+
Important follow-up finding from real-run review:
|
|
18
|
+
|
|
19
|
+
- `codex_local` currently injects Paperclip skills into the shared Codex skills home (`$CODEX_HOME/skills` or `~/.codex/skills`) rather than mounting a worktree-local skill directory.
|
|
20
|
+
- If a Paperclip-owned skill symlink already points at another live checkout, the adapter currently skips it instead of repointing it.
|
|
21
|
+
- In practice, this means a worktree can contain newer `skills/paperclip/SKILL.md` guidance while Codex still follows an older checkout's skill content.
|
|
22
|
+
- That likely explains why PAP-507 still showed full issue/comment reload behavior even though the incremental context work was already implemented in this branch.
|
|
23
|
+
- This should be treated as a separate follow-up item for `codex_local` skill isolation or symlink repair.
|
|
24
|
+
|
|
25
|
+
Files with the most important implementation work:
|
|
26
|
+
|
|
27
|
+
- `server/src/services/heartbeat.ts`
|
|
28
|
+
- `server/src/services/issues.ts`
|
|
29
|
+
- `server/src/routes/issues.ts`
|
|
30
|
+
- `server/src/routes/agents.ts`
|
|
31
|
+
- `server/src/routes/access.ts`
|
|
32
|
+
- `skills/paperclip/SKILL.md`
|
|
33
|
+
- `packages/adapters/*/src/server/execute.ts`
|
|
34
|
+
- `packages/adapters/*/src/ui/build-config.ts`
|
|
35
|
+
- `ui/src/components/AgentConfigForm.tsx`
|
|
36
|
+
|
|
37
|
+
Verification completed successfully:
|
|
38
|
+
|
|
39
|
+
- `pnpm -r typecheck`
|
|
40
|
+
- `pnpm test:run`
|
|
41
|
+
- `pnpm build`
|
|
42
|
+
|
|
43
|
+
While verifying, I also fixed two existing embedded-postgres typing mismatches so repo-wide `typecheck` and `build` pass again:
|
|
44
|
+
|
|
45
|
+
- `packages/db/src/migration-runtime.ts`
|
|
46
|
+
- `cli/src/commands/worktree.ts`
|
|
47
|
+
|
|
48
|
+
Next useful follow-up is measuring the before/after effect in real runs now that telemetry is less misleading and prompt/session reuse behavior is consistent across adapters.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# Backup the configured Paperclip database to the configured backup directory
|
|
5
|
+
# (default: ~/.paperclip/instances/<instance-id>/data/backups)
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
# ./scripts/backup-db.sh
|
|
9
|
+
# pnpm db:backup
|
|
10
|
+
#
|
|
11
|
+
# The embedded postgres must be running (start with: pnpm dev)
|
|
12
|
+
|
|
13
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
14
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
15
|
+
|
|
16
|
+
cd "$PROJECT_ROOT"
|
|
17
|
+
exec pnpm corporateai db:backup "$@"
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# build-npm.sh — Build the corporateai CLI package for npm publishing.
|
|
5
|
+
#
|
|
6
|
+
# Uses esbuild to bundle all workspace code into a single file,
|
|
7
|
+
# keeping external npm dependencies as regular package dependencies.
|
|
8
|
+
#
|
|
9
|
+
# Usage:
|
|
10
|
+
# ./scripts/build-npm.sh # full build
|
|
11
|
+
# ./scripts/build-npm.sh --skip-checks # skip forbidden-token check (CI without token list)
|
|
12
|
+
|
|
13
|
+
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
14
|
+
CLI_DIR="$REPO_ROOT/cli"
|
|
15
|
+
DIST_DIR="$CLI_DIR/dist"
|
|
16
|
+
|
|
17
|
+
skip_checks=false
|
|
18
|
+
skip_typecheck=false
|
|
19
|
+
for arg in "$@"; do
|
|
20
|
+
case "$arg" in
|
|
21
|
+
--skip-checks) skip_checks=true ;;
|
|
22
|
+
--skip-typecheck) skip_typecheck=true ;;
|
|
23
|
+
esac
|
|
24
|
+
done
|
|
25
|
+
|
|
26
|
+
echo "==> Building corporateai for npm"
|
|
27
|
+
|
|
28
|
+
# ── Step 1: Forbidden token check ──────────────────────────────────────────────
|
|
29
|
+
if [ "$skip_checks" = false ]; then
|
|
30
|
+
echo " [1/5] Running forbidden token check..."
|
|
31
|
+
node "$REPO_ROOT/scripts/check-forbidden-tokens.mjs"
|
|
32
|
+
else
|
|
33
|
+
echo " [1/5] Skipping forbidden token check (--skip-checks)"
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# ── Step 2: TypeScript type-check ──────────────────────────────────────────────
|
|
37
|
+
if [ "$skip_typecheck" = false ]; then
|
|
38
|
+
echo " [2/6] Type-checking..."
|
|
39
|
+
cd "$REPO_ROOT"
|
|
40
|
+
pnpm -r typecheck
|
|
41
|
+
else
|
|
42
|
+
echo " [2/6] Skipping type-check (--skip-typecheck)"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# ── Step 3: Bundle CLI with esbuild ────────────────────────────────────────────
|
|
46
|
+
echo " [3/6] Bundling CLI with esbuild..."
|
|
47
|
+
cd "$CLI_DIR"
|
|
48
|
+
rm -rf dist
|
|
49
|
+
|
|
50
|
+
node --input-type=module -e "
|
|
51
|
+
import esbuild from 'esbuild';
|
|
52
|
+
import config from './esbuild.config.mjs';
|
|
53
|
+
await esbuild.build(config);
|
|
54
|
+
"
|
|
55
|
+
|
|
56
|
+
chmod +x dist/index.js
|
|
57
|
+
|
|
58
|
+
# ── Step 4: Validate bundled entrypoint syntax ─────────────────────────────────
|
|
59
|
+
echo " [4/6] Verifying bundled entrypoint syntax..."
|
|
60
|
+
node --check "$DIST_DIR/index.js"
|
|
61
|
+
|
|
62
|
+
# ── Step 5: Back up dev package.json, generate publishable one ─────────────────
|
|
63
|
+
echo " [5/6] Generating publishable package.json..."
|
|
64
|
+
cp "$CLI_DIR/package.json" "$CLI_DIR/package.dev.json"
|
|
65
|
+
node "$REPO_ROOT/scripts/generate-npm-package-json.mjs"
|
|
66
|
+
|
|
67
|
+
# Copy root README so npm shows the repo README on the package page
|
|
68
|
+
cp "$REPO_ROOT/README.md" "$CLI_DIR/README.md"
|
|
69
|
+
|
|
70
|
+
# ── Step 6: Summary ───────────────────────────────────────────────────────────
|
|
71
|
+
BUNDLE_SIZE=$(wc -c < "$DIST_DIR/index.js" | xargs)
|
|
72
|
+
echo " [6/6] Build verification..."
|
|
73
|
+
echo ""
|
|
74
|
+
echo "Build complete."
|
|
75
|
+
echo " Bundle: cli/dist/index.js (${BUNDLE_SIZE} bytes)"
|
|
76
|
+
echo " Source map: cli/dist/index.js.map"
|
|
77
|
+
echo ""
|
|
78
|
+
echo "To preview: cd cli && npm pack --dry-run"
|
|
79
|
+
echo "To publish: cd cli && npm publish --access public"
|
|
80
|
+
echo "To restore: mv cli/package.dev.json cli/package.json"
|