corporateai 0.0.1 → 0.0.2
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/LICENSE +21 -21
- package/README.md +17 -5
- package/dist/index.js +73 -0
- package/dist/index.js.map +7 -0
- package/package.json +10 -48
- package/.dockerignore +0 -10
- package/.env.example +0 -3
- package/.github/workflows/publish-cli.yml +0 -49
- package/.mailmap +0 -1
- package/AGENTS.md +0 -148
- package/CONTRIBUTING.md +0 -75
- package/Dockerfile +0 -59
- package/Dockerfile.onboard-smoke +0 -42
- package/cli/esbuild.config.mjs +0 -11
- package/cli/package.json +0 -24
- package/cli/scripts/build-cli.mjs +0 -5
- package/cli/src/index.ts +0 -27
- package/docker-compose.quickstart.yml +0 -18
- package/docker-compose.untrusted-review.yml +0 -33
- package/docker-compose.yml +0 -38
- package/patches/embedded-postgres@18.1.0-beta.16.patch +0 -0
- package/pnpm-workspace.yaml +0 -4
- package/releases/.gitkeep +0 -0
- package/releases/v0.0.1.md +0 -36
- package/releases/v0.2.7.md +0 -15
- package/releases/v0.3.0.md +0 -54
- package/releases/v0.3.1.md +0 -55
- package/releases/v2026.318.0.md +0 -66
- package/releases/v2026.325.0.md +0 -78
- package/report/2026-03-13-08-46-token-optimization-implementation.md +0 -48
- package/scripts/backup-db.sh +0 -17
- package/scripts/build-npm.sh +0 -80
- package/scripts/check-forbidden-tokens.mjs +0 -115
- package/scripts/clean-onboard-git.sh +0 -14
- package/scripts/clean-onboard-npm.sh +0 -13
- package/scripts/clean-onboard-ref.sh +0 -86
- package/scripts/create-github-release.sh +0 -99
- package/scripts/dev-runner-paths.mjs +0 -38
- package/scripts/dev-runner.mjs +0 -606
- package/scripts/docker-onboard-smoke.sh +0 -306
- package/scripts/ensure-plugin-build-deps.mjs +0 -47
- package/scripts/generate-company-assets.ts +0 -365
- package/scripts/generate-npm-package-json.mjs +0 -113
- package/scripts/generate-org-chart-images.ts +0 -694
- package/scripts/generate-org-chart-satori-comparison.ts +0 -225
- package/scripts/generate-ui-package-json.mjs +0 -31
- package/scripts/kill-dev.sh +0 -71
- package/scripts/migrate-inline-env-secrets.ts +0 -126
- package/scripts/prepare-server-ui-dist.sh +0 -22
- package/scripts/provision-worktree.sh +0 -333
- package/scripts/release-lib.sh +0 -306
- package/scripts/release-package-map.mjs +0 -169
- package/scripts/release.sh +0 -312
- package/scripts/rollback-latest.sh +0 -111
- package/scripts/smoke/openclaw-docker-ui.sh +0 -329
- package/scripts/smoke/openclaw-gateway-e2e.sh +0 -954
- package/scripts/smoke/openclaw-join.sh +0 -295
- package/scripts/smoke/openclaw-sse-standalone.sh +0 -146
- package/scripts/workspace-compat.mjs +0 -60
- package/server/CHANGELOG.md +0 -130
- package/server/package.json +0 -96
- package/server/scripts/copy-onboarding-assets.mjs +0 -10
- package/server/scripts/dev-watch.ts +0 -33
- package/server/src/__tests__/activity-routes.test.ts +0 -70
- package/server/src/__tests__/adapter-models.test.ts +0 -105
- package/server/src/__tests__/adapter-session-codecs.test.ts +0 -194
- package/server/src/__tests__/agent-auth-jwt.test.ts +0 -79
- package/server/src/__tests__/agent-instructions-routes.test.ts +0 -318
- package/server/src/__tests__/agent-instructions-service.test.ts +0 -361
- package/server/src/__tests__/agent-permissions-routes.test.ts +0 -275
- package/server/src/__tests__/agent-shortname-collision.test.ts +0 -69
- package/server/src/__tests__/agent-skill-contract.test.ts +0 -50
- package/server/src/__tests__/agent-skills-routes.test.ts +0 -462
- package/server/src/__tests__/app-hmr-port.test.ts +0 -19
- package/server/src/__tests__/approval-routes-idempotency.test.ts +0 -110
- package/server/src/__tests__/approvals-service.test.ts +0 -107
- package/server/src/__tests__/assets.test.ts +0 -250
- package/server/src/__tests__/attachment-types.test.ts +0 -97
- package/server/src/__tests__/board-mutation-guard.test.ts +0 -105
- package/server/src/__tests__/budgets-service.test.ts +0 -311
- package/server/src/__tests__/claude-local-adapter-environment.test.ts +0 -92
- package/server/src/__tests__/claude-local-adapter.test.ts +0 -31
- package/server/src/__tests__/claude-local-skill-sync.test.ts +0 -111
- package/server/src/__tests__/cli-auth-routes.test.ts +0 -230
- package/server/src/__tests__/codex-local-adapter-environment.test.ts +0 -143
- package/server/src/__tests__/codex-local-adapter.test.ts +0 -253
- package/server/src/__tests__/codex-local-execute.test.ts +0 -391
- package/server/src/__tests__/codex-local-skill-injection.test.ts +0 -175
- package/server/src/__tests__/codex-local-skill-sync.test.ts +0 -123
- package/server/src/__tests__/companies-route-path-guard.test.ts +0 -56
- package/server/src/__tests__/company-branding-route.test.ts +0 -196
- package/server/src/__tests__/company-portability-routes.test.ts +0 -175
- package/server/src/__tests__/company-portability.test.ts +0 -2186
- package/server/src/__tests__/company-skills-routes.test.ts +0 -113
- package/server/src/__tests__/company-skills.test.ts +0 -229
- package/server/src/__tests__/costs-service.test.ts +0 -226
- package/server/src/__tests__/cursor-local-adapter-environment.test.ts +0 -196
- package/server/src/__tests__/cursor-local-adapter.test.ts +0 -406
- package/server/src/__tests__/cursor-local-execute.test.ts +0 -263
- package/server/src/__tests__/cursor-local-skill-injection.test.ts +0 -104
- package/server/src/__tests__/cursor-local-skill-sync.test.ts +0 -145
- package/server/src/__tests__/dev-runner-paths.test.ts +0 -25
- package/server/src/__tests__/dev-server-status.test.ts +0 -66
- package/server/src/__tests__/dev-watch-ignore.test.ts +0 -42
- package/server/src/__tests__/documents.test.ts +0 -29
- package/server/src/__tests__/error-handler.test.ts +0 -53
- package/server/src/__tests__/execution-workspace-policy.test.ts +0 -170
- package/server/src/__tests__/forbidden-tokens.test.ts +0 -77
- package/server/src/__tests__/gemini-local-adapter-environment.test.ts +0 -135
- package/server/src/__tests__/gemini-local-adapter.test.ts +0 -190
- package/server/src/__tests__/gemini-local-execute.test.ts +0 -172
- package/server/src/__tests__/gemini-local-skill-sync.test.ts +0 -90
- package/server/src/__tests__/health.test.ts +0 -16
- package/server/src/__tests__/heartbeat-process-recovery.test.ts +0 -256
- package/server/src/__tests__/heartbeat-run-summary.test.ts +0 -33
- package/server/src/__tests__/heartbeat-workspace-session.test.ts +0 -334
- package/server/src/__tests__/helpers/embedded-postgres.ts +0 -7
- package/server/src/__tests__/hire-hook.test.ts +0 -181
- package/server/src/__tests__/instance-settings-routes.test.ts +0 -156
- package/server/src/__tests__/invite-accept-gateway-defaults.test.ts +0 -119
- package/server/src/__tests__/invite-accept-replay.test.ts +0 -92
- package/server/src/__tests__/invite-expiry.test.ts +0 -10
- package/server/src/__tests__/invite-join-grants.test.ts +0 -57
- package/server/src/__tests__/invite-join-manager.test.ts +0 -33
- package/server/src/__tests__/invite-onboarding-text.test.ts +0 -116
- package/server/src/__tests__/issue-comment-reopen-routes.test.ts +0 -146
- package/server/src/__tests__/issue-goal-fallback.test.ts +0 -99
- package/server/src/__tests__/issues-checkout-wakeup.test.ts +0 -48
- package/server/src/__tests__/issues-goal-context-routes.test.ts +0 -187
- package/server/src/__tests__/issues-service.test.ts +0 -317
- package/server/src/__tests__/issues-user-context.test.ts +0 -113
- package/server/src/__tests__/log-redaction.test.ts +0 -74
- package/server/src/__tests__/monthly-spend-service.test.ts +0 -90
- package/server/src/__tests__/normalize-agent-mention-token.test.ts +0 -41
- package/server/src/__tests__/openclaw-gateway-adapter.test.ts +0 -626
- package/server/src/__tests__/openclaw-invite-prompt-route.test.ts +0 -192
- package/server/src/__tests__/opencode-local-adapter-environment.test.ts +0 -97
- package/server/src/__tests__/opencode-local-adapter.test.ts +0 -226
- package/server/src/__tests__/opencode-local-skill-sync.test.ts +0 -91
- package/server/src/__tests__/paperclip-env.test.ts +0 -58
- package/server/src/__tests__/paperclip-skill-utils.test.ts +0 -63
- package/server/src/__tests__/pi-local-adapter-environment.test.ts +0 -102
- package/server/src/__tests__/pi-local-skill-sync.test.ts +0 -95
- package/server/src/__tests__/plugin-dev-watcher.test.ts +0 -68
- package/server/src/__tests__/plugin-worker-manager.test.ts +0 -43
- package/server/src/__tests__/private-hostname-guard.test.ts +0 -56
- package/server/src/__tests__/project-shortname-resolution.test.ts +0 -45
- package/server/src/__tests__/quota-windows-service.test.ts +0 -56
- package/server/src/__tests__/quota-windows.test.ts +0 -1109
- package/server/src/__tests__/redaction.test.ts +0 -66
- package/server/src/__tests__/routines-e2e.test.ts +0 -276
- package/server/src/__tests__/routines-routes.test.ts +0 -271
- package/server/src/__tests__/routines-service.test.ts +0 -424
- package/server/src/__tests__/storage-local-provider.test.ts +0 -78
- package/server/src/__tests__/ui-branding.test.ts +0 -82
- package/server/src/__tests__/work-products.test.ts +0 -95
- package/server/src/__tests__/workspace-runtime.test.ts +0 -1131
- package/server/src/__tests__/worktree-config.test.ts +0 -426
- package/server/src/adapters/codex-models.ts +0 -105
- package/server/src/adapters/cursor-models.ts +0 -171
- package/server/src/adapters/http/execute.ts +0 -42
- package/server/src/adapters/http/index.ts +0 -21
- package/server/src/adapters/http/test.ts +0 -116
- package/server/src/adapters/index.ts +0 -18
- package/server/src/adapters/process/execute.ts +0 -77
- package/server/src/adapters/process/index.ts +0 -24
- package/server/src/adapters/process/test.ts +0 -89
- package/server/src/adapters/registry.ts +0 -225
- package/server/src/adapters/server-utils-compat.ts +0 -57
- package/server/src/adapters/types.ts +0 -30
- package/server/src/adapters/utils.ts +0 -48
- package/server/src/agent-auth-jwt.ts +0 -141
- package/server/src/app.ts +0 -321
- package/server/src/attachment-types.ts +0 -74
- package/server/src/auth/better-auth.ts +0 -148
- package/server/src/board-claim.ts +0 -150
- package/server/src/config-file.ts +0 -17
- package/server/src/config.ts +0 -260
- package/server/src/dev-server-status.ts +0 -103
- package/server/src/dev-watch-ignore.ts +0 -36
- package/server/src/errors.ts +0 -34
- package/server/src/home-paths.ts +0 -95
- package/server/src/index.ts +0 -799
- package/server/src/log-redaction.ts +0 -146
- package/server/src/middleware/auth.ts +0 -178
- package/server/src/middleware/board-mutation-guard.ts +0 -66
- package/server/src/middleware/error-handler.ts +0 -71
- package/server/src/middleware/index.ts +0 -3
- package/server/src/middleware/logger.ts +0 -90
- package/server/src/middleware/private-hostname-guard.ts +0 -92
- package/server/src/middleware/validate.ts +0 -9
- package/server/src/onboarding-assets/ceo/AGENTS.md +0 -54
- package/server/src/onboarding-assets/ceo/HEARTBEAT.md +0 -72
- package/server/src/onboarding-assets/ceo/SOUL.md +0 -33
- package/server/src/onboarding-assets/ceo/TOOLS.md +0 -3
- package/server/src/onboarding-assets/default/AGENTS.md +0 -3
- package/server/src/paths.ts +0 -34
- package/server/src/realtime/live-events-ws.ts +0 -274
- package/server/src/redaction.ts +0 -59
- package/server/src/routes/access.ts +0 -2888
- package/server/src/routes/activity.ts +0 -89
- package/server/src/routes/agents.ts +0 -2313
- package/server/src/routes/approvals.ts +0 -346
- package/server/src/routes/assets.ts +0 -341
- package/server/src/routes/authz.ts +0 -52
- package/server/src/routes/companies.ts +0 -343
- package/server/src/routes/company-skills.ts +0 -300
- package/server/src/routes/costs.ts +0 -335
- package/server/src/routes/dashboard.ts +0 -19
- package/server/src/routes/execution-workspaces.ts +0 -182
- package/server/src/routes/goals.ts +0 -107
- package/server/src/routes/health.ts +0 -94
- package/server/src/routes/index.ts +0 -17
- package/server/src/routes/instance-settings.ts +0 -95
- package/server/src/routes/issues-checkout-wakeup.ts +0 -14
- package/server/src/routes/issues.ts +0 -1680
- package/server/src/routes/llms.ts +0 -86
- package/server/src/routes/org-chart-svg.ts +0 -777
- package/server/src/routes/plugin-ui-static.ts +0 -497
- package/server/src/routes/plugins.ts +0 -2220
- package/server/src/routes/projects.ts +0 -295
- package/server/src/routes/routines.ts +0 -300
- package/server/src/routes/secrets.ts +0 -166
- package/server/src/routes/sidebar-badges.ts +0 -52
- package/server/src/secrets/external-stub-providers.ts +0 -32
- package/server/src/secrets/local-encrypted-provider.ts +0 -135
- package/server/src/secrets/provider-registry.ts +0 -31
- package/server/src/secrets/types.ts +0 -23
- package/server/src/services/access.ts +0 -381
- package/server/src/services/activity-log.ts +0 -95
- package/server/src/services/activity.ts +0 -164
- package/server/src/services/agent-instructions.ts +0 -735
- package/server/src/services/agent-permissions.ts +0 -27
- package/server/src/services/agents.ts +0 -694
- package/server/src/services/approvals.ts +0 -273
- package/server/src/services/assets.ts +0 -23
- package/server/src/services/board-auth.ts +0 -355
- package/server/src/services/budgets.ts +0 -959
- package/server/src/services/companies.ts +0 -313
- package/server/src/services/company-export-readme.ts +0 -173
- package/server/src/services/company-portability.ts +0 -4263
- package/server/src/services/company-skills.ts +0 -2356
- package/server/src/services/costs.ts +0 -365
- package/server/src/services/cron.ts +0 -373
- package/server/src/services/dashboard.ts +0 -110
- package/server/src/services/default-agent-instructions.ts +0 -27
- package/server/src/services/documents.ts +0 -434
- package/server/src/services/execution-workspace-policy.ts +0 -210
- package/server/src/services/execution-workspaces.ts +0 -100
- package/server/src/services/finance.ts +0 -135
- package/server/src/services/goals.ts +0 -81
- package/server/src/services/heartbeat-run-summary.ts +0 -35
- package/server/src/services/heartbeat.ts +0 -3863
- package/server/src/services/hire-hook.ts +0 -114
- package/server/src/services/index.ts +0 -32
- package/server/src/services/instance-settings.ts +0 -138
- package/server/src/services/issue-approvals.ts +0 -175
- package/server/src/services/issue-assignment-wakeup.ts +0 -48
- package/server/src/services/issue-goal-fallback.ts +0 -56
- package/server/src/services/issues.ts +0 -1828
- package/server/src/services/live-events.ts +0 -55
- package/server/src/services/plugin-capability-validator.ts +0 -450
- package/server/src/services/plugin-config-validator.ts +0 -55
- package/server/src/services/plugin-dev-watcher.ts +0 -339
- package/server/src/services/plugin-event-bus.ts +0 -413
- package/server/src/services/plugin-host-service-cleanup.ts +0 -59
- package/server/src/services/plugin-host-services.ts +0 -1132
- package/server/src/services/plugin-job-coordinator.ts +0 -261
- package/server/src/services/plugin-job-scheduler.ts +0 -753
- package/server/src/services/plugin-job-store.ts +0 -466
- package/server/src/services/plugin-lifecycle.ts +0 -822
- package/server/src/services/plugin-loader.ts +0 -1955
- package/server/src/services/plugin-log-retention.ts +0 -87
- package/server/src/services/plugin-manifest-validator.ts +0 -164
- package/server/src/services/plugin-registry.ts +0 -683
- package/server/src/services/plugin-runtime-sandbox.ts +0 -222
- package/server/src/services/plugin-secrets-handler.ts +0 -355
- package/server/src/services/plugin-state-store.ts +0 -238
- package/server/src/services/plugin-stream-bus.ts +0 -81
- package/server/src/services/plugin-tool-dispatcher.ts +0 -449
- package/server/src/services/plugin-tool-registry.ts +0 -450
- package/server/src/services/plugin-worker-manager.ts +0 -1343
- package/server/src/services/projects.ts +0 -860
- package/server/src/services/quota-windows.ts +0 -65
- package/server/src/services/routines.ts +0 -1269
- package/server/src/services/run-log-store.ts +0 -156
- package/server/src/services/secrets.ts +0 -370
- package/server/src/services/sidebar-badges.ts +0 -56
- package/server/src/services/work-products.ts +0 -124
- package/server/src/services/workspace-operation-log-store.ts +0 -156
- package/server/src/services/workspace-operations.ts +0 -262
- package/server/src/services/workspace-runtime.ts +0 -1565
- package/server/src/startup-banner.ts +0 -176
- package/server/src/storage/index.ts +0 -35
- package/server/src/storage/local-disk-provider.ts +0 -89
- package/server/src/storage/provider-registry.ts +0 -18
- package/server/src/storage/s3-provider.ts +0 -153
- package/server/src/storage/service.ts +0 -131
- package/server/src/storage/types.ts +0 -63
- package/server/src/ui-branding.ts +0 -217
- package/server/src/version.ts +0 -10
- package/server/src/worktree-config.ts +0 -468
- package/server/tsconfig.json +0 -9
- package/server/vitest.config.ts +0 -7
- package/skills/paperclip/SKILL.md +0 -365
- package/skills/paperclip/references/api-reference.md +0 -647
- package/skills/paperclip/references/company-skills.md +0 -193
- package/skills/paperclip-create-agent/SKILL.md +0 -142
- package/skills/paperclip-create-agent/references/api-reference.md +0 -105
- package/skills/paperclip-create-plugin/SKILL.md +0 -102
- package/skills/para-memory-files/SKILL.md +0 -104
- package/skills/para-memory-files/references/schemas.md +0 -35
- package/tests/e2e/onboarding.spec.ts +0 -142
- package/tests/e2e/playwright.config.ts +0 -35
- package/tests/release-smoke/docker-auth-onboarding.spec.ts +0 -141
- package/tests/release-smoke/playwright.config.ts +0 -28
- package/tsconfig.base.json +0 -18
- package/tsconfig.json +0 -18
- package/ui/README.md +0 -12
- package/ui/components.json +0 -21
- package/ui/index.html +0 -47
- package/ui/package.json +0 -73
- 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 +0 -18
- package/ui/public/brands/opencode-logo-light-square.svg +0 -18
- 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 +0 -9
- package/ui/public/site.webmanifest +0 -30
- 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 +0 -42
- 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 +0 -9
- package/ui/src/App.tsx +0 -354
- package/ui/src/adapters/claude-local/config-fields.tsx +0 -138
- package/ui/src/adapters/claude-local/index.ts +0 -13
- package/ui/src/adapters/codex-local/config-fields.tsx +0 -104
- package/ui/src/adapters/codex-local/index.ts +0 -13
- package/ui/src/adapters/cursor/config-fields.tsx +0 -49
- package/ui/src/adapters/cursor/index.ts +0 -13
- package/ui/src/adapters/gemini-local/config-fields.tsx +0 -51
- package/ui/src/adapters/gemini-local/index.ts +0 -13
- package/ui/src/adapters/http/build-config.ts +0 -9
- package/ui/src/adapters/http/config-fields.tsx +0 -38
- package/ui/src/adapters/http/index.ts +0 -12
- package/ui/src/adapters/http/parse-stdout.ts +0 -5
- package/ui/src/adapters/index.ts +0 -9
- package/ui/src/adapters/local-workspace-runtime-fields.tsx +0 -5
- package/ui/src/adapters/openclaw-gateway/config-fields.tsx +0 -237
- package/ui/src/adapters/openclaw-gateway/index.ts +0 -13
- package/ui/src/adapters/opencode-local/config-fields.tsx +0 -72
- package/ui/src/adapters/opencode-local/index.ts +0 -13
- package/ui/src/adapters/pi-local/config-fields.tsx +0 -49
- package/ui/src/adapters/pi-local/index.ts +0 -13
- package/ui/src/adapters/process/build-config.ts +0 -18
- package/ui/src/adapters/process/config-fields.tsx +0 -77
- package/ui/src/adapters/process/index.ts +0 -12
- package/ui/src/adapters/process/parse-stdout.ts +0 -5
- package/ui/src/adapters/registry.ts +0 -34
- package/ui/src/adapters/runtime-json-fields.tsx +0 -122
- package/ui/src/adapters/transcript.test.ts +0 -30
- package/ui/src/adapters/transcript.ts +0 -62
- package/ui/src/adapters/types.ts +0 -34
- package/ui/src/api/access.ts +0 -160
- package/ui/src/api/activity.ts +0 -37
- package/ui/src/api/agents.ts +0 -194
- package/ui/src/api/approvals.ts +0 -25
- package/ui/src/api/assets.ts +0 -30
- package/ui/src/api/auth.ts +0 -74
- package/ui/src/api/budgets.ts +0 -21
- package/ui/src/api/client.ts +0 -50
- package/ui/src/api/companies.ts +0 -59
- package/ui/src/api/companySkills.ts +0 -55
- package/ui/src/api/costs.ts +0 -60
- package/ui/src/api/dashboard.ts +0 -7
- package/ui/src/api/execution-workspaces.ts +0 -27
- package/ui/src/api/goals.ts +0 -12
- package/ui/src/api/health.ts +0 -41
- package/ui/src/api/heartbeats.ts +0 -62
- package/ui/src/api/index.ts +0 -18
- package/ui/src/api/instanceSettings.ts +0 -19
- package/ui/src/api/issues.ts +0 -115
- package/ui/src/api/plugins.ts +0 -424
- package/ui/src/api/projects.ts +0 -34
- package/ui/src/api/routines.ts +0 -59
- package/ui/src/api/secrets.ts +0 -26
- package/ui/src/api/sidebarBadges.ts +0 -7
- package/ui/src/components/AccountingModelCard.tsx +0 -69
- package/ui/src/components/ActiveAgentsPanel.tsx +0 -157
- package/ui/src/components/ActivityCharts.tsx +0 -264
- package/ui/src/components/ActivityRow.tsx +0 -147
- package/ui/src/components/AgentActionButtons.tsx +0 -51
- package/ui/src/components/AgentConfigForm.tsx +0 -1468
- package/ui/src/components/AgentIconPicker.tsx +0 -81
- package/ui/src/components/AgentProperties.tsx +0 -107
- package/ui/src/components/ApprovalCard.tsx +0 -107
- package/ui/src/components/ApprovalPayload.tsx +0 -134
- package/ui/src/components/AsciiArtAnimation.tsx +0 -355
- package/ui/src/components/BillerSpendCard.tsx +0 -146
- package/ui/src/components/BreadcrumbBar.tsx +0 -113
- package/ui/src/components/BudgetIncidentCard.tsx +0 -101
- package/ui/src/components/BudgetPolicyCard.tsx +0 -220
- package/ui/src/components/BudgetSidebarMarker.tsx +0 -13
- package/ui/src/components/ClaudeSubscriptionPanel.tsx +0 -141
- package/ui/src/components/CodexSubscriptionPanel.tsx +0 -158
- package/ui/src/components/CommandPalette.tsx +0 -239
- package/ui/src/components/CommentThread.tsx +0 -503
- package/ui/src/components/CompanyPatternIcon.tsx +0 -212
- package/ui/src/components/CompanyRail.tsx +0 -329
- package/ui/src/components/CompanySwitcher.tsx +0 -81
- package/ui/src/components/CopyText.tsx +0 -56
- package/ui/src/components/DevRestartBanner.tsx +0 -89
- package/ui/src/components/EmptyState.tsx +0 -27
- package/ui/src/components/EntityRow.tsx +0 -69
- package/ui/src/components/FilterBar.tsx +0 -39
- package/ui/src/components/FinanceBillerCard.tsx +0 -45
- package/ui/src/components/FinanceKindCard.tsx +0 -44
- package/ui/src/components/FinanceTimelineCard.tsx +0 -72
- package/ui/src/components/GoalProperties.tsx +0 -165
- package/ui/src/components/GoalTree.tsx +0 -118
- package/ui/src/components/Identity.tsx +0 -39
- package/ui/src/components/InlineEditor.tsx +0 -248
- package/ui/src/components/InlineEntitySelector.tsx +0 -206
- package/ui/src/components/InstanceSidebar.tsx +0 -53
- package/ui/src/components/IssueDocumentsSection.tsx +0 -892
- package/ui/src/components/IssueProperties.tsx +0 -621
- package/ui/src/components/IssueRow.tsx +0 -149
- package/ui/src/components/IssueWorkspaceCard.tsx +0 -404
- package/ui/src/components/IssuesList.tsx +0 -889
- package/ui/src/components/JsonSchemaForm.tsx +0 -1048
- package/ui/src/components/KanbanBoard.tsx +0 -275
- package/ui/src/components/Layout.tsx +0 -441
- package/ui/src/components/LiveRunWidget.tsx +0 -160
- package/ui/src/components/MarkdownBody.test.tsx +0 -50
- package/ui/src/components/MarkdownBody.tsx +0 -152
- package/ui/src/components/MarkdownEditor.tsx +0 -622
- package/ui/src/components/MetricCard.tsx +0 -53
- package/ui/src/components/MobileBottomNav.tsx +0 -123
- package/ui/src/components/NewAgentDialog.tsx +0 -223
- package/ui/src/components/NewGoalDialog.tsx +0 -283
- package/ui/src/components/NewIssueDialog.tsx +0 -1473
- package/ui/src/components/NewProjectDialog.tsx +0 -451
- package/ui/src/components/OnboardingWizard.tsx +0 -1392
- package/ui/src/components/OpenCodeLogoIcon.tsx +0 -22
- package/ui/src/components/PackageFileTree.tsx +0 -318
- package/ui/src/components/PageSkeleton.tsx +0 -180
- package/ui/src/components/PageTabBar.tsx +0 -45
- package/ui/src/components/PathInstructionsModal.tsx +0 -143
- package/ui/src/components/PriorityIcon.tsx +0 -77
- package/ui/src/components/ProjectProperties.tsx +0 -1127
- package/ui/src/components/PropertiesPanel.tsx +0 -29
- package/ui/src/components/ProviderQuotaCard.tsx +0 -417
- package/ui/src/components/QuotaBar.tsx +0 -65
- package/ui/src/components/ReportsToPicker.tsx +0 -127
- package/ui/src/components/ScheduleEditor.tsx +0 -344
- package/ui/src/components/ScrollToBottom.tsx +0 -79
- package/ui/src/components/Sidebar.tsx +0 -130
- package/ui/src/components/SidebarAgents.tsx +0 -146
- package/ui/src/components/SidebarNavItem.tsx +0 -92
- package/ui/src/components/SidebarProjects.tsx +0 -234
- package/ui/src/components/SidebarSection.tsx +0 -17
- package/ui/src/components/StatusBadge.tsx +0 -15
- package/ui/src/components/StatusIcon.tsx +0 -71
- package/ui/src/components/SwipeToArchive.tsx +0 -152
- package/ui/src/components/ToastViewport.tsx +0 -99
- package/ui/src/components/WorktreeBanner.tsx +0 -25
- package/ui/src/components/agent-config-defaults.ts +0 -31
- package/ui/src/components/agent-config-primitives.tsx +0 -476
- package/ui/src/components/transcript/RunTranscriptView.test.tsx +0 -84
- package/ui/src/components/transcript/RunTranscriptView.tsx +0 -1015
- package/ui/src/components/transcript/useLiveRunTranscripts.ts +0 -297
- package/ui/src/components/ui/avatar.tsx +0 -107
- package/ui/src/components/ui/badge.tsx +0 -48
- package/ui/src/components/ui/breadcrumb.tsx +0 -109
- package/ui/src/components/ui/button.tsx +0 -64
- package/ui/src/components/ui/card.tsx +0 -92
- package/ui/src/components/ui/checkbox.tsx +0 -32
- package/ui/src/components/ui/collapsible.tsx +0 -33
- package/ui/src/components/ui/command.tsx +0 -194
- package/ui/src/components/ui/dialog.tsx +0 -156
- package/ui/src/components/ui/dropdown-menu.tsx +0 -257
- package/ui/src/components/ui/input.tsx +0 -21
- package/ui/src/components/ui/label.tsx +0 -22
- package/ui/src/components/ui/popover.tsx +0 -88
- package/ui/src/components/ui/scroll-area.tsx +0 -56
- package/ui/src/components/ui/select.tsx +0 -188
- package/ui/src/components/ui/separator.tsx +0 -28
- package/ui/src/components/ui/sheet.tsx +0 -143
- package/ui/src/components/ui/skeleton.tsx +0 -13
- package/ui/src/components/ui/tabs.tsx +0 -89
- package/ui/src/components/ui/textarea.tsx +0 -18
- package/ui/src/components/ui/tooltip.tsx +0 -57
- package/ui/src/components/visual-office/AgentAvatar.tsx +0 -99
- package/ui/src/components/visual-office/OfficeViewExact.tsx +0 -417
- package/ui/src/components/visual-office/i18n.ts +0 -52
- package/ui/src/components/visual-office/office-view/CliUsagePanel.tsx +0 -240
- package/ui/src/components/visual-office/office-view/VirtualPadOverlay.tsx +0 -104
- package/ui/src/components/visual-office/office-view/buildScene-break-room.ts +0 -248
- package/ui/src/components/visual-office/office-view/buildScene-ceo-hallway.ts +0 -345
- package/ui/src/components/visual-office/office-view/buildScene-department-agent.ts +0 -242
- package/ui/src/components/visual-office/office-view/buildScene-departments.ts +0 -360
- package/ui/src/components/visual-office/office-view/buildScene-final-layers.ts +0 -113
- package/ui/src/components/visual-office/office-view/buildScene-types.ts +0 -91
- package/ui/src/components/visual-office/office-view/buildScene.ts +0 -232
- package/ui/src/components/visual-office/office-view/drawing-core.ts +0 -374
- package/ui/src/components/visual-office/office-view/drawing-furniture-a.ts +0 -338
- package/ui/src/components/visual-office/office-view/drawing-furniture-b.ts +0 -241
- package/ui/src/components/visual-office/office-view/model.ts +0 -301
- package/ui/src/components/visual-office/office-view/officeTicker.ts +0 -455
- package/ui/src/components/visual-office/office-view/officeTickerRoomAndDelivery.ts +0 -133
- package/ui/src/components/visual-office/office-view/themes-locale.ts +0 -460
- package/ui/src/components/visual-office/office-view/useCliUsage.ts +0 -37
- package/ui/src/components/visual-office/office-view/useOfficeDeliveryEffects.ts +0 -465
- package/ui/src/components/visual-office/office-view/useOfficePixiRuntime.ts +0 -282
- package/ui/src/components/visual-office/types.ts +0 -123
- package/ui/src/context/BreadcrumbContext.tsx +0 -44
- package/ui/src/context/CompanyContext.tsx +0 -151
- package/ui/src/context/DialogContext.tsx +0 -135
- package/ui/src/context/LiveUpdatesProvider.test.ts +0 -119
- package/ui/src/context/LiveUpdatesProvider.tsx +0 -760
- package/ui/src/context/PanelContext.tsx +0 -73
- package/ui/src/context/SidebarContext.tsx +0 -43
- package/ui/src/context/ThemeContext.tsx +0 -83
- package/ui/src/context/ToastContext.tsx +0 -172
- package/ui/src/fixtures/runTranscriptFixtures.ts +0 -226
- package/ui/src/hooks/useAgentOrder.ts +0 -105
- package/ui/src/hooks/useAutosaveIndicator.ts +0 -72
- package/ui/src/hooks/useCompanyPageMemory.test.ts +0 -90
- package/ui/src/hooks/useCompanyPageMemory.ts +0 -79
- package/ui/src/hooks/useDateRange.ts +0 -120
- package/ui/src/hooks/useInboxBadge.ts +0 -132
- package/ui/src/hooks/useKeyboardShortcuts.ts +0 -40
- package/ui/src/hooks/useProjectOrder.ts +0 -106
- package/ui/src/index.css +0 -770
- package/ui/src/lib/agent-icons.ts +0 -99
- package/ui/src/lib/agent-order.ts +0 -107
- package/ui/src/lib/agent-skills-state.test.ts +0 -90
- package/ui/src/lib/agent-skills-state.ts +0 -41
- package/ui/src/lib/assignees.test.ts +0 -92
- package/ui/src/lib/assignees.ts +0 -82
- package/ui/src/lib/color-contrast.ts +0 -107
- package/ui/src/lib/company-export-selection.test.ts +0 -41
- package/ui/src/lib/company-export-selection.ts +0 -57
- package/ui/src/lib/company-page-memory.ts +0 -65
- package/ui/src/lib/company-portability-sidebar.test.ts +0 -101
- package/ui/src/lib/company-portability-sidebar.ts +0 -62
- package/ui/src/lib/company-routes.ts +0 -88
- package/ui/src/lib/company-selection.test.ts +0 -34
- package/ui/src/lib/company-selection.ts +0 -18
- package/ui/src/lib/groupBy.ts +0 -11
- package/ui/src/lib/inbox.test.ts +0 -404
- package/ui/src/lib/inbox.ts +0 -292
- package/ui/src/lib/instance-settings.test.ts +0 -26
- package/ui/src/lib/instance-settings.ts +0 -25
- package/ui/src/lib/issueDetailBreadcrumb.ts +0 -24
- package/ui/src/lib/legacy-agent-config.test.ts +0 -40
- package/ui/src/lib/legacy-agent-config.ts +0 -17
- package/ui/src/lib/mention-aware-link-node.test.ts +0 -50
- package/ui/src/lib/mention-aware-link-node.ts +0 -67
- package/ui/src/lib/mention-chips.ts +0 -168
- package/ui/src/lib/mention-deletion.test.ts +0 -87
- package/ui/src/lib/mention-deletion.ts +0 -143
- package/ui/src/lib/model-utils.ts +0 -16
- package/ui/src/lib/onboarding-goal.test.ts +0 -22
- package/ui/src/lib/onboarding-goal.ts +0 -18
- package/ui/src/lib/onboarding-launch.test.ts +0 -131
- package/ui/src/lib/onboarding-launch.ts +0 -54
- package/ui/src/lib/onboarding-route.test.ts +0 -80
- package/ui/src/lib/onboarding-route.ts +0 -51
- package/ui/src/lib/portable-files.ts +0 -42
- package/ui/src/lib/project-order.ts +0 -71
- package/ui/src/lib/queryKeys.ts +0 -140
- package/ui/src/lib/recent-assignees.ts +0 -36
- package/ui/src/lib/router.tsx +0 -76
- package/ui/src/lib/routine-trigger-patch.test.ts +0 -72
- package/ui/src/lib/routine-trigger-patch.ts +0 -31
- package/ui/src/lib/status-colors.ts +0 -108
- package/ui/src/lib/timeAgo.ts +0 -31
- package/ui/src/lib/utils.ts +0 -168
- package/ui/src/lib/worktree-branding.ts +0 -65
- package/ui/src/lib/zip.test.ts +0 -289
- package/ui/src/lib/zip.ts +0 -284
- package/ui/src/main.tsx +0 -67
- package/ui/src/pages/Activity.tsx +0 -141
- package/ui/src/pages/AgentDetail.tsx +0 -4053
- package/ui/src/pages/Agents.tsx +0 -415
- package/ui/src/pages/ApprovalDetail.tsx +0 -369
- package/ui/src/pages/Approvals.tsx +0 -132
- package/ui/src/pages/Auth.tsx +0 -180
- package/ui/src/pages/BoardClaim.tsx +0 -125
- package/ui/src/pages/CliAuth.tsx +0 -184
- package/ui/src/pages/Companies.tsx +0 -297
- package/ui/src/pages/CompanyExport.tsx +0 -1019
- package/ui/src/pages/CompanyImport.tsx +0 -1355
- package/ui/src/pages/CompanySettings.tsx +0 -661
- package/ui/src/pages/CompanySkills.tsx +0 -1171
- package/ui/src/pages/Costs.tsx +0 -1103
- package/ui/src/pages/Dashboard.tsx +0 -388
- package/ui/src/pages/DesignGuide.tsx +0 -1330
- package/ui/src/pages/ExecutionWorkspaceDetail.tsx +0 -82
- package/ui/src/pages/GoalDetail.tsx +0 -197
- package/ui/src/pages/Goals.tsx +0 -63
- package/ui/src/pages/Inbox.tsx +0 -1291
- package/ui/src/pages/InstanceExperimentalSettings.tsx +0 -139
- package/ui/src/pages/InstanceGeneralSettings.tsx +0 -104
- package/ui/src/pages/InstanceSettings.tsx +0 -284
- package/ui/src/pages/InviteLanding.tsx +0 -320
- package/ui/src/pages/IssueDetail.tsx +0 -1201
- package/ui/src/pages/Issues.tsx +0 -116
- package/ui/src/pages/MyIssues.tsx +0 -72
- package/ui/src/pages/NewAgent.tsx +0 -353
- package/ui/src/pages/NotFound.tsx +0 -66
- package/ui/src/pages/Org.tsx +0 -132
- package/ui/src/pages/OrgChart.tsx +0 -447
- package/ui/src/pages/PluginManager.tsx +0 -510
- package/ui/src/pages/PluginPage.tsx +0 -156
- package/ui/src/pages/PluginSettings.tsx +0 -836
- package/ui/src/pages/ProjectDetail.tsx +0 -633
- package/ui/src/pages/Projects.tsx +0 -87
- package/ui/src/pages/RoutineDetail.tsx +0 -1022
- package/ui/src/pages/Routines.tsx +0 -661
- package/ui/src/pages/RunTranscriptUxLab.tsx +0 -334
- package/ui/src/pages/VisualOffice.tsx +0 -243
- package/ui/src/plugins/bridge-init.ts +0 -69
- package/ui/src/plugins/bridge.ts +0 -476
- package/ui/src/plugins/launchers.tsx +0 -834
- package/ui/src/plugins/slots.tsx +0 -855
- package/ui/tsconfig.json +0 -21
- package/ui/vite.config.ts +0 -23
- package/ui/vitest.config.ts +0 -14
- package/vitest.config.ts +0 -11
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Paperclip AI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -45,15 +45,27 @@ Corporate is built for businesses that want to scale AI-agent operations without
|
|
|
45
45
|
|
|
46
46
|
Corporate is open-source and self-hosted. No account required.
|
|
47
47
|
|
|
48
|
-
### One-Liner Setup
|
|
48
|
+
### One-Liner Setup (npm published package)
|
|
49
49
|
```bash
|
|
50
50
|
npx corporateai onboard --yes
|
|
51
51
|
```
|
|
52
|
+
This command bootstraps the repo, installs dependencies, and starts the dev UI from a local clone.
|
|
53
|
+
|
|
54
|
+
If you see "could not determine executable to run", the package may not yet be updated in npm. Use the local source setup below.
|
|
55
|
+
|
|
56
|
+
### One-Liner Setup (local repository)
|
|
57
|
+
```bash
|
|
58
|
+
git clone https://github.com/EvanGribar/corporate.git
|
|
59
|
+
cd corporate
|
|
60
|
+
pnpm install
|
|
61
|
+
cd cli
|
|
62
|
+
pnpm exec corporateai onboard --yes
|
|
63
|
+
```
|
|
64
|
+
|
|
52
65
|
This command:
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
- Sets up an embedded
|
|
56
|
-
- Starts the server and UI.
|
|
66
|
+
- Installs workspace dependencies.
|
|
67
|
+
- Runs the local CLI package from `cli`.
|
|
68
|
+
- Sets up an embedded dev database and launches the stack.
|
|
57
69
|
|
|
58
70
|
### Manual Setup
|
|
59
71
|
```bash
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/index.ts
|
|
4
|
+
import { spawnSync } from "node:child_process";
|
|
5
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
6
|
+
import { resolve } from "node:path";
|
|
7
|
+
var CORPORATE_APP_REPO = "https://github.com/EvanGribar/corporate.git";
|
|
8
|
+
var CORPORATE_APP_DIR = "corporate";
|
|
9
|
+
function isCorporateRepo(cwd) {
|
|
10
|
+
const pkgPath = resolve(cwd, "package.json");
|
|
11
|
+
if (!existsSync(pkgPath)) return false;
|
|
12
|
+
try {
|
|
13
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
14
|
+
return pkg.name === "corporate";
|
|
15
|
+
} catch {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function runStep(command, args2, options = {}) {
|
|
20
|
+
const result = spawnSync(command, args2, { stdio: "inherit", cwd: options.cwd });
|
|
21
|
+
if (result.error) {
|
|
22
|
+
console.error(`Command failed: ${command} ${args2.join(" ")}`);
|
|
23
|
+
console.error(result.error);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
if (result.status !== 0) {
|
|
27
|
+
process.exit(result.status ?? 1);
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
function performOnboard(args2) {
|
|
32
|
+
let targetDir = process.cwd();
|
|
33
|
+
if (!isCorporateRepo(targetDir)) {
|
|
34
|
+
const cloneDir = resolve(process.cwd(), CORPORATE_APP_DIR);
|
|
35
|
+
if (!existsSync(cloneDir)) {
|
|
36
|
+
console.log(`Cloning ${CORPORATE_APP_REPO} into ${cloneDir}...`);
|
|
37
|
+
runStep("git", ["clone", "--depth", "1", CORPORATE_APP_REPO, cloneDir]);
|
|
38
|
+
} else {
|
|
39
|
+
console.log(`Using existing repository at ${cloneDir}`);
|
|
40
|
+
}
|
|
41
|
+
targetDir = cloneDir;
|
|
42
|
+
}
|
|
43
|
+
console.log("Installing workspace dependencies...");
|
|
44
|
+
runStep("pnpm", ["install"], { cwd: targetDir });
|
|
45
|
+
console.log("Starting Corporate in development mode...");
|
|
46
|
+
runStep("pnpm", ["dev"], { cwd: targetDir });
|
|
47
|
+
}
|
|
48
|
+
var cmd = process.argv[2] || "help";
|
|
49
|
+
var args = process.argv.slice(3);
|
|
50
|
+
if (cmd === "help" || ["-h", "--help"].includes(cmd)) {
|
|
51
|
+
console.log(`corporateai CLI (wrapper)
|
|
52
|
+
|
|
53
|
+
Usage:
|
|
54
|
+
corporateai onboard [--yes] [--data-dir <dir>]
|
|
55
|
+
corporateai agent local-cli <agent-id> --company-id <company-id>
|
|
56
|
+
corporateai worktree init ...
|
|
57
|
+
|
|
58
|
+
This binary bootstraps the Corporate repo and runs the local workspace.
|
|
59
|
+
`);
|
|
60
|
+
process.exit(0);
|
|
61
|
+
}
|
|
62
|
+
if (cmd === "onboard") {
|
|
63
|
+
performOnboard(args);
|
|
64
|
+
process.exit(0);
|
|
65
|
+
}
|
|
66
|
+
if (isCorporateRepo(process.cwd())) {
|
|
67
|
+
runStep("pnpm", [cmd, ...args], { cwd: process.cwd() });
|
|
68
|
+
} else {
|
|
69
|
+
console.error("Error: command must be run from inside a Corporate repository.");
|
|
70
|
+
console.error('Run "corporateai onboard" first to bootstrap.');
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env node\r\nimport { spawnSync } from 'node:child_process';\r\nimport { existsSync, readFileSync } from 'node:fs';\r\nimport { resolve } from 'node:path';\r\n\r\nconst CORPORATE_APP_REPO = 'https://github.com/EvanGribar/corporate.git';\r\nconst CORPORATE_APP_DIR = 'corporate';\r\n\r\nfunction isCorporateRepo(cwd: string): boolean {\r\n const pkgPath = resolve(cwd, 'package.json');\r\n if (!existsSync(pkgPath)) return false;\r\n\r\n try {\r\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));\r\n return pkg.name === 'corporate';\r\n } catch {\r\n return false;\r\n }\r\n}\r\n\r\nfunction runStep(command: string, args: string[], options: { cwd?: string } = {}) {\r\n const result = spawnSync(command, args, { stdio: 'inherit', cwd: options.cwd });\r\n if (result.error) {\r\n console.error(`Command failed: ${command} ${args.join(' ')}`);\r\n console.error(result.error);\r\n process.exit(1);\r\n }\r\n\r\n if (result.status !== 0) {\r\n process.exit(result.status ?? 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction performOnboard(args: string[]) {\r\n let targetDir = process.cwd();\r\n\r\n if (!isCorporateRepo(targetDir)) {\r\n const cloneDir = resolve(process.cwd(), CORPORATE_APP_DIR);\r\n\r\n if (!existsSync(cloneDir)) {\r\n console.log(`Cloning ${CORPORATE_APP_REPO} into ${cloneDir}...`);\r\n runStep('git', ['clone', '--depth', '1', CORPORATE_APP_REPO, cloneDir]);\r\n } else {\r\n console.log(`Using existing repository at ${cloneDir}`);\r\n }\r\n\r\n targetDir = cloneDir;\r\n }\r\n\r\n console.log('Installing workspace dependencies...');\r\n runStep('pnpm', ['install'], { cwd: targetDir });\r\n\r\n console.log('Starting Corporate in development mode...');\r\n runStep('pnpm', ['dev'], { cwd: targetDir });\r\n}\r\n\r\nconst cmd = process.argv[2] || 'help';\r\nconst args = process.argv.slice(3);\r\n\r\nif (cmd === 'help' || ['-h', '--help'].includes(cmd)) {\r\n console.log(`corporateai CLI (wrapper)\r\n\r\nUsage:\r\n corporateai onboard [--yes] [--data-dir <dir>]\r\n corporateai agent local-cli <agent-id> --company-id <company-id>\r\n corporateai worktree init ...\r\n\r\nThis binary bootstraps the Corporate repo and runs the local workspace.\r\n`);\r\n process.exit(0);\r\n}\r\n\r\nif (cmd === 'onboard') {\r\n performOnboard(args);\r\n process.exit(0);\r\n}\r\n\r\n// Fallback for other commands in an existing workspace.\r\nif (isCorporateRepo(process.cwd())) {\r\n runStep('pnpm', [cmd, ...args], { cwd: process.cwd() });\r\n} else {\r\n console.error('Error: command must be run from inside a Corporate repository.');\r\n console.error('Run \"corporateai onboard\" first to bootstrap.');\r\n process.exit(1);\r\n}\r\n\r\n"],
|
|
5
|
+
"mappings": ";;;AACA,SAAS,iBAAiB;AAC1B,SAAS,YAAY,oBAAoB;AACzC,SAAS,eAAe;AAExB,IAAM,qBAAqB;AAC3B,IAAM,oBAAoB;AAE1B,SAAS,gBAAgB,KAAsB;AAC7C,QAAM,UAAU,QAAQ,KAAK,cAAc;AAC3C,MAAI,CAAC,WAAW,OAAO,EAAG,QAAO;AAEjC,MAAI;AACF,UAAM,MAAM,KAAK,MAAM,aAAa,SAAS,MAAM,CAAC;AACpD,WAAO,IAAI,SAAS;AAAA,EACtB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,QAAQ,SAAiBA,OAAgB,UAA4B,CAAC,GAAG;AAChF,QAAM,SAAS,UAAU,SAASA,OAAM,EAAE,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC;AAC9E,MAAI,OAAO,OAAO;AAChB,YAAQ,MAAM,mBAAmB,OAAO,IAAIA,MAAK,KAAK,GAAG,CAAC,EAAE;AAC5D,YAAQ,MAAM,OAAO,KAAK;AAC1B,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,GAAG;AACvB,YAAQ,KAAK,OAAO,UAAU,CAAC;AAAA,EACjC;AAEA,SAAO;AACT;AAEA,SAAS,eAAeA,OAAgB;AACtC,MAAI,YAAY,QAAQ,IAAI;AAE5B,MAAI,CAAC,gBAAgB,SAAS,GAAG;AAC/B,UAAM,WAAW,QAAQ,QAAQ,IAAI,GAAG,iBAAiB;AAEzD,QAAI,CAAC,WAAW,QAAQ,GAAG;AACzB,cAAQ,IAAI,WAAW,kBAAkB,SAAS,QAAQ,KAAK;AAC/D,cAAQ,OAAO,CAAC,SAAS,WAAW,KAAK,oBAAoB,QAAQ,CAAC;AAAA,IACxE,OAAO;AACL,cAAQ,IAAI,gCAAgC,QAAQ,EAAE;AAAA,IACxD;AAEA,gBAAY;AAAA,EACd;AAEA,UAAQ,IAAI,sCAAsC;AAClD,UAAQ,QAAQ,CAAC,SAAS,GAAG,EAAE,KAAK,UAAU,CAAC;AAE/C,UAAQ,IAAI,2CAA2C;AACvD,UAAQ,QAAQ,CAAC,KAAK,GAAG,EAAE,KAAK,UAAU,CAAC;AAC7C;AAEA,IAAM,MAAM,QAAQ,KAAK,CAAC,KAAK;AAC/B,IAAM,OAAO,QAAQ,KAAK,MAAM,CAAC;AAEjC,IAAI,QAAQ,UAAU,CAAC,MAAM,QAAQ,EAAE,SAAS,GAAG,GAAG;AACpD,UAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAQb;AACC,UAAQ,KAAK,CAAC;AAChB;AAEA,IAAI,QAAQ,WAAW;AACrB,iBAAe,IAAI;AACnB,UAAQ,KAAK,CAAC;AAChB;AAGA,IAAI,gBAAgB,QAAQ,IAAI,CAAC,GAAG;AAClC,UAAQ,QAAQ,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC;AACxD,OAAO;AACL,UAAQ,MAAM,gEAAgE;AAC9E,UAAQ,MAAM,+CAA+C;AAC7D,UAAQ,KAAK,CAAC;AAChB;",
|
|
6
|
+
"names": ["args"]
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,56 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "corporateai",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"private": false,
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "Corporate CLI wrapper for the Corporate control plane",
|
|
6
5
|
"type": "module",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
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"
|
|
6
|
+
"bin": {
|
|
7
|
+
"corporateai": "dist/index.js"
|
|
45
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
46
12
|
"engines": {
|
|
47
13
|
"node": ">=20"
|
|
48
14
|
},
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
"patchedDependencies": {
|
|
52
|
-
"embedded-postgres@18.1.0-beta.16": "patches/embedded-postgres@18.1.0-beta.16.patch"
|
|
53
|
-
}
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@paperclipai/server": "0.3.1"
|
|
54
17
|
}
|
|
55
|
-
}
|
|
56
|
-
|
|
18
|
+
}
|
package/.dockerignore
DELETED
package/.env.example
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
name: Publish CLI to npm
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
release:
|
|
5
|
-
types: [published]
|
|
6
|
-
workflow_dispatch: {}
|
|
7
|
-
push:
|
|
8
|
-
tags:
|
|
9
|
-
- 'v*'
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
publish:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
steps:
|
|
15
|
-
- name: Checkout
|
|
16
|
-
uses: actions/checkout@v4
|
|
17
|
-
|
|
18
|
-
- name: Setup Node
|
|
19
|
-
uses: actions/setup-node@v4
|
|
20
|
-
with:
|
|
21
|
-
node-version: '20'
|
|
22
|
-
registry-url: 'https://registry.npmjs.org'
|
|
23
|
-
|
|
24
|
-
- name: Enable Corepack & setup pnpm
|
|
25
|
-
run: |
|
|
26
|
-
corepack enable
|
|
27
|
-
corepack prepare pnpm@9.15.4 --activate
|
|
28
|
-
|
|
29
|
-
- name: Install workspace dependencies
|
|
30
|
-
run: pnpm install --frozen-lockfile
|
|
31
|
-
|
|
32
|
-
- name: Build CLI
|
|
33
|
-
run: |
|
|
34
|
-
cd cli
|
|
35
|
-
pnpm build
|
|
36
|
-
|
|
37
|
-
- name: Configure npm auth
|
|
38
|
-
if: secrets.NPM_TOKEN
|
|
39
|
-
env:
|
|
40
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
41
|
-
run: |
|
|
42
|
-
echo "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}" > ~/.npmrc
|
|
43
|
-
|
|
44
|
-
- name: Publish CLI to npm
|
|
45
|
-
env:
|
|
46
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
47
|
-
run: |
|
|
48
|
-
cd cli
|
|
49
|
-
npm publish --access public
|
package/.mailmap
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Dotta <bippadotta@protonmail.com> Forgotten <forgottenrunes@protonmail.com>
|
package/AGENTS.md
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# AGENTS.md
|
|
2
|
-
|
|
3
|
-
Guidance for human and AI contributors working in this repository.
|
|
4
|
-
|
|
5
|
-
## 1. Purpose
|
|
6
|
-
|
|
7
|
-
Corporate is a control plane for AI-agent companies.
|
|
8
|
-
The current implementation target is V1 and is defined in `doc/SPEC-implementation.md`.
|
|
9
|
-
|
|
10
|
-
## 2. Read This First
|
|
11
|
-
|
|
12
|
-
Before making changes, read in this order:
|
|
13
|
-
|
|
14
|
-
1. `doc/GOAL.md`
|
|
15
|
-
2. `doc/PRODUCT.md`
|
|
16
|
-
3. `doc/SPEC-implementation.md`
|
|
17
|
-
4. `doc/DEVELOPING.md`
|
|
18
|
-
5. `doc/DATABASE.md`
|
|
19
|
-
|
|
20
|
-
`doc/SPEC.md` is long-horizon product context.
|
|
21
|
-
`doc/SPEC-implementation.md` is the concrete V1 build contract.
|
|
22
|
-
|
|
23
|
-
## 3. Repo Map
|
|
24
|
-
|
|
25
|
-
- `server/`: Express REST API and orchestration services
|
|
26
|
-
- `ui/`: React + Vite board UI
|
|
27
|
-
- `packages/db/`: Drizzle schema, migrations, DB clients
|
|
28
|
-
- `packages/shared/`: shared types, constants, validators, API path constants
|
|
29
|
-
- `packages/adapters/`: agent adapter implementations (Claude, Codex, Cursor, etc.)
|
|
30
|
-
- `packages/adapter-utils/`: shared adapter utilities
|
|
31
|
-
- `packages/plugins/`: plugin system packages
|
|
32
|
-
- `doc/`: operational and product docs
|
|
33
|
-
|
|
34
|
-
## 4. Dev Setup (Auto DB)
|
|
35
|
-
|
|
36
|
-
Use embedded PGlite in dev by leaving `DATABASE_URL` unset.
|
|
37
|
-
|
|
38
|
-
```sh
|
|
39
|
-
pnpm install
|
|
40
|
-
pnpm dev
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
This starts:
|
|
44
|
-
|
|
45
|
-
- API: `http://localhost:3100`
|
|
46
|
-
- UI: `http://localhost:3100` (served by API server in dev middleware mode)
|
|
47
|
-
|
|
48
|
-
Quick checks:
|
|
49
|
-
|
|
50
|
-
```sh
|
|
51
|
-
curl http://localhost:3100/api/health
|
|
52
|
-
curl http://localhost:3100/api/companies
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Reset local dev DB:
|
|
56
|
-
|
|
57
|
-
```sh
|
|
58
|
-
rm -rf data/pglite
|
|
59
|
-
pnpm dev
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## 5. Core Engineering Rules
|
|
63
|
-
|
|
64
|
-
1. Keep changes company-scoped.
|
|
65
|
-
Every domain entity should be scoped to a company and company boundaries must be enforced in routes/services.
|
|
66
|
-
|
|
67
|
-
2. Keep contracts synchronized.
|
|
68
|
-
If you change schema/API behavior, update all impacted layers:
|
|
69
|
-
- `packages/db` schema and exports
|
|
70
|
-
- `packages/shared` types/constants/validators
|
|
71
|
-
- `server` routes/services
|
|
72
|
-
- `ui` API clients and pages
|
|
73
|
-
|
|
74
|
-
3. Preserve control-plane invariants.
|
|
75
|
-
- Single-assignee task model
|
|
76
|
-
- Atomic issue checkout semantics
|
|
77
|
-
- Approval gates for governed actions
|
|
78
|
-
- Budget hard-stop auto-pause behavior
|
|
79
|
-
- Activity logging for mutating actions
|
|
80
|
-
|
|
81
|
-
4. Do not replace strategic docs wholesale unless asked.
|
|
82
|
-
Prefer additive updates. Keep `doc/SPEC.md` and `doc/SPEC-implementation.md` aligned.
|
|
83
|
-
|
|
84
|
-
5. Keep plan docs dated and centralized.
|
|
85
|
-
New plan documents belong in `doc/plans/` and should use `YYYY-MM-DD-slug.md` filenames.
|
|
86
|
-
|
|
87
|
-
## 6. Database Change Workflow
|
|
88
|
-
|
|
89
|
-
When changing data model:
|
|
90
|
-
|
|
91
|
-
1. Edit `packages/db/src/schema/*.ts`
|
|
92
|
-
2. Ensure new tables are exported from `packages/db/src/schema/index.ts`
|
|
93
|
-
3. Generate migration:
|
|
94
|
-
|
|
95
|
-
```sh
|
|
96
|
-
pnpm db:generate
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
4. Validate compile:
|
|
100
|
-
|
|
101
|
-
```sh
|
|
102
|
-
pnpm -r typecheck
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Notes:
|
|
106
|
-
- `packages/db/drizzle.config.ts` reads compiled schema from `dist/schema/*.js`
|
|
107
|
-
- `pnpm db:generate` compiles `packages/db` first
|
|
108
|
-
|
|
109
|
-
## 7. Verification Before Hand-off
|
|
110
|
-
|
|
111
|
-
Run this full check before claiming done:
|
|
112
|
-
|
|
113
|
-
```sh
|
|
114
|
-
pnpm -r typecheck
|
|
115
|
-
pnpm test:run
|
|
116
|
-
pnpm build
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
If anything cannot be run, explicitly report what was not run and why.
|
|
120
|
-
|
|
121
|
-
## 8. API and Auth Expectations
|
|
122
|
-
|
|
123
|
-
- Base path: `/api`
|
|
124
|
-
- Board access is treated as full-control operator context
|
|
125
|
-
- Agent access uses bearer API keys (`agent_api_keys`), hashed at rest
|
|
126
|
-
- Agent keys must not access other companies
|
|
127
|
-
|
|
128
|
-
When adding endpoints:
|
|
129
|
-
|
|
130
|
-
- apply company access checks
|
|
131
|
-
- enforce actor permissions (board vs agent)
|
|
132
|
-
- write activity log entries for mutations
|
|
133
|
-
- return consistent HTTP errors (`400/401/403/404/409/422/500`)
|
|
134
|
-
|
|
135
|
-
## 9. UI Expectations
|
|
136
|
-
|
|
137
|
-
- Keep routes and nav aligned with available API surface
|
|
138
|
-
- Use company selection context for company-scoped pages
|
|
139
|
-
- Surface failures clearly; do not silently ignore API errors
|
|
140
|
-
|
|
141
|
-
## 10. Definition of Done
|
|
142
|
-
|
|
143
|
-
A change is done when all are true:
|
|
144
|
-
|
|
145
|
-
1. Behavior matches `doc/SPEC-implementation.md`
|
|
146
|
-
2. Typecheck, tests, and build pass
|
|
147
|
-
3. Contracts are synced across db/shared/server/ui
|
|
148
|
-
4. Docs updated when behavior or commands change
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Contributing Guide
|
|
2
|
-
|
|
3
|
-
Thanks for wanting to contribute!
|
|
4
|
-
|
|
5
|
-
We really appreciate both small fixes and thoughtful larger changes.
|
|
6
|
-
|
|
7
|
-
## Two Paths to Get Your Pull Request Accepted
|
|
8
|
-
|
|
9
|
-
### Path 1: Small, Focused Changes (Fastest way to get merged)
|
|
10
|
-
|
|
11
|
-
- Pick **one** clear thing to fix/improve
|
|
12
|
-
- Touch the **smallest possible number of files**
|
|
13
|
-
- Make sure the change is very targeted and easy to review
|
|
14
|
-
- All automated checks pass (including Greptile comments)
|
|
15
|
-
- No new lint/test failures
|
|
16
|
-
|
|
17
|
-
These almost always get merged quickly when they're clean.
|
|
18
|
-
|
|
19
|
-
### Path 2: Bigger or Impactful Changes
|
|
20
|
-
|
|
21
|
-
- **First** talk about it in Discord → #dev channel
|
|
22
|
-
→ Describe what you're trying to solve
|
|
23
|
-
→ Share rough ideas / approach
|
|
24
|
-
- Once there's rough agreement, build it
|
|
25
|
-
- In your PR include:
|
|
26
|
-
- Before / After screenshots (or short video if UI/behavior change)
|
|
27
|
-
- Clear description of what & why
|
|
28
|
-
- Proof it works (manual testing notes)
|
|
29
|
-
- All tests passing
|
|
30
|
-
- All Greptile + other PR comments addressed
|
|
31
|
-
|
|
32
|
-
PRs that follow this path are **much** more likely to be accepted, even when they're large.
|
|
33
|
-
|
|
34
|
-
## General Rules (both paths)
|
|
35
|
-
|
|
36
|
-
- Write clear commit messages
|
|
37
|
-
- Keep PR title + description meaningful
|
|
38
|
-
- One PR = one logical change (unless it's a small related group)
|
|
39
|
-
- Run tests locally first
|
|
40
|
-
- Be kind in discussions 😄
|
|
41
|
-
|
|
42
|
-
## Writing a Good PR message
|
|
43
|
-
|
|
44
|
-
Please include a "thinking path" at the top of your PR message that explains from the top of the project down to what you fixed. E.g.:
|
|
45
|
-
|
|
46
|
-
### Thinking Path Example 1:
|
|
47
|
-
|
|
48
|
-
> - Corporate orchestrates ai-agents for zero-human companies
|
|
49
|
-
> - There are many types of adapters for each LLM model provider
|
|
50
|
-
> - But LLM's have a context limit and not all agents can automatically compact their context
|
|
51
|
-
> - So we need to have an adapter-specific configuration for which adapters can and cannot automatically compact their context
|
|
52
|
-
> - This pull request adds per-adapter configuration of compaction, either auto or paperclip managed
|
|
53
|
-
> - That way we can get optimal performance from any adapter/provider in Corporate
|
|
54
|
-
|
|
55
|
-
### Thinking Path Example 2:
|
|
56
|
-
|
|
57
|
-
> - Corporate orchestrates ai-agents for zero-human companies
|
|
58
|
-
> - But humans want to watch the agents and oversee their work
|
|
59
|
-
> - Human users also operate in teams and so they need their own logins, profiles, views etc.
|
|
60
|
-
> - So we have a multi-user system for humans
|
|
61
|
-
> - But humans want to be able to update their own profile picture and avatar
|
|
62
|
-
> - But the avatar upload form wasn't saving the avatar to the file storage system
|
|
63
|
-
> - So this PR fixes the avatar upload form to use the file storage service
|
|
64
|
-
> - The benefit is we don't have a one-off file storage for just one aspect of the system, which would cause confusion and extra configuration
|
|
65
|
-
|
|
66
|
-
Then have the rest of your normal PR message after the Thinking Path.
|
|
67
|
-
|
|
68
|
-
This should include details about what you did, why you did it, why it matters & the benefits, how we can verify it works, and any risks.
|
|
69
|
-
|
|
70
|
-
Please include screenshots if possible if you have a visible change. (use something like the [agent-browser skill](https://github.com/vercel-labs/agent-browser/blob/main/skills/agent-browser/SKILL.md) or similar to take screenshots). Ideally, you include before and after screenshots.
|
|
71
|
-
|
|
72
|
-
Questions? Just ask in #dev — we're happy to help.
|
|
73
|
-
|
|
74
|
-
Happy hacking!
|
|
75
|
-
|
package/Dockerfile
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
FROM node:lts-trixie-slim AS base
|
|
2
|
-
RUN apt-get update \
|
|
3
|
-
&& apt-get install -y --no-install-recommends ca-certificates curl git \
|
|
4
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
5
|
-
RUN corepack enable
|
|
6
|
-
|
|
7
|
-
FROM base AS deps
|
|
8
|
-
WORKDIR /app
|
|
9
|
-
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml .npmrc ./
|
|
10
|
-
COPY cli/package.json cli/
|
|
11
|
-
COPY server/package.json server/
|
|
12
|
-
COPY ui/package.json ui/
|
|
13
|
-
COPY packages/shared/package.json packages/shared/
|
|
14
|
-
COPY packages/db/package.json packages/db/
|
|
15
|
-
COPY packages/adapter-utils/package.json packages/adapter-utils/
|
|
16
|
-
COPY packages/adapters/claude-local/package.json packages/adapters/claude-local/
|
|
17
|
-
COPY packages/adapters/codex-local/package.json packages/adapters/codex-local/
|
|
18
|
-
COPY packages/adapters/cursor-local/package.json packages/adapters/cursor-local/
|
|
19
|
-
COPY packages/adapters/gemini-local/package.json packages/adapters/gemini-local/
|
|
20
|
-
COPY packages/adapters/openclaw-gateway/package.json packages/adapters/openclaw-gateway/
|
|
21
|
-
COPY packages/adapters/opencode-local/package.json packages/adapters/opencode-local/
|
|
22
|
-
COPY packages/adapters/pi-local/package.json packages/adapters/pi-local/
|
|
23
|
-
COPY packages/plugins/sdk/package.json packages/plugins/sdk/
|
|
24
|
-
COPY patches/ patches/
|
|
25
|
-
|
|
26
|
-
RUN pnpm install --frozen-lockfile
|
|
27
|
-
|
|
28
|
-
FROM base AS build
|
|
29
|
-
WORKDIR /app
|
|
30
|
-
COPY --from=deps /app /app
|
|
31
|
-
COPY . .
|
|
32
|
-
RUN pnpm --filter @paperclipai/ui build
|
|
33
|
-
RUN pnpm --filter @paperclipai/plugin-sdk build
|
|
34
|
-
RUN pnpm --filter @paperclipai/server build
|
|
35
|
-
RUN test -f server/dist/index.js || (echo "ERROR: server build output missing" && exit 1)
|
|
36
|
-
|
|
37
|
-
FROM base AS production
|
|
38
|
-
WORKDIR /app
|
|
39
|
-
COPY --chown=node:node --from=build /app /app
|
|
40
|
-
RUN npm install --global --omit=dev @anthropic-ai/claude-code@latest @openai/codex@latest opencode-ai \
|
|
41
|
-
&& mkdir -p /paperclip \
|
|
42
|
-
&& chown node:node /paperclip
|
|
43
|
-
|
|
44
|
-
ENV NODE_ENV=production \
|
|
45
|
-
HOME=/paperclip \
|
|
46
|
-
HOST=0.0.0.0 \
|
|
47
|
-
PORT=3100 \
|
|
48
|
-
SERVE_UI=true \
|
|
49
|
-
PAPERCLIP_HOME=/paperclip \
|
|
50
|
-
PAPERCLIP_INSTANCE_ID=default \
|
|
51
|
-
PAPERCLIP_CONFIG=/paperclip/instances/default/config.json \
|
|
52
|
-
PAPERCLIP_DEPLOYMENT_MODE=authenticated \
|
|
53
|
-
PAPERCLIP_DEPLOYMENT_EXPOSURE=private
|
|
54
|
-
|
|
55
|
-
VOLUME ["/paperclip"]
|
|
56
|
-
EXPOSE 3100
|
|
57
|
-
|
|
58
|
-
USER node
|
|
59
|
-
CMD ["node", "--import", "./server/node_modules/tsx/dist/loader.mjs", "server/dist/index.js"]
|
package/Dockerfile.onboard-smoke
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
FROM ubuntu:24.04
|
|
2
|
-
|
|
3
|
-
ARG NODE_MAJOR=20
|
|
4
|
-
ARG CORPORATEAI_VERSION=latest
|
|
5
|
-
ARG PAPERCLIPAI_VERSION=latest
|
|
6
|
-
ARG HOST_UID=10001
|
|
7
|
-
|
|
8
|
-
ENV DEBIAN_FRONTEND=noninteractive \
|
|
9
|
-
PAPERCLIP_HOME=/paperclip \
|
|
10
|
-
PAPERCLIP_OPEN_ON_LISTEN=false \
|
|
11
|
-
HOST=0.0.0.0 \
|
|
12
|
-
PORT=3100 \
|
|
13
|
-
HOME=/home/paperclip \
|
|
14
|
-
LANG=en_US.UTF-8 \
|
|
15
|
-
LC_ALL=en_US.UTF-8 \
|
|
16
|
-
NPM_CONFIG_UPDATE_NOTIFIER=false \
|
|
17
|
-
NODE_MAJOR=${NODE_MAJOR} \
|
|
18
|
-
CORPORATEAI_VERSION=${CORPORATEAI_VERSION} \
|
|
19
|
-
PAPERCLIPAI_VERSION=${PAPERCLIPAI_VERSION}
|
|
20
|
-
|
|
21
|
-
RUN apt-get update \
|
|
22
|
-
&& apt-get install -y --no-install-recommends ca-certificates curl gnupg locales \
|
|
23
|
-
&& mkdir -p /etc/apt/keyrings \
|
|
24
|
-
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \
|
|
25
|
-
| gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
|
|
26
|
-
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" \
|
|
27
|
-
> /etc/apt/sources.list.d/nodesource.list \
|
|
28
|
-
&& apt-get update \
|
|
29
|
-
&& apt-get install -y --no-install-recommends nodejs \
|
|
30
|
-
&& locale-gen en_US.UTF-8 \
|
|
31
|
-
&& groupadd --gid 10001 paperclip \
|
|
32
|
-
&& useradd --create-home --shell /bin/bash --uid "${HOST_UID}" --gid 10001 paperclip \
|
|
33
|
-
&& mkdir -p /paperclip /home/paperclip/workspace \
|
|
34
|
-
&& chown -R paperclip:paperclip /paperclip /home/paperclip \
|
|
35
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
36
|
-
|
|
37
|
-
VOLUME ["/paperclip"]
|
|
38
|
-
WORKDIR /home/paperclip/workspace
|
|
39
|
-
EXPOSE 3100
|
|
40
|
-
USER paperclip
|
|
41
|
-
|
|
42
|
-
CMD ["bash", "-lc", "set -euo pipefail; mkdir -p \"$PAPERCLIP_HOME\"; CLI_VERSION=\"${CORPORATEAI_VERSION:-${PAPERCLIPAI_VERSION:-latest}}\"; npx --yes \"corporateai@${CLI_VERSION}\" onboard --yes --data-dir \"$PAPERCLIP_HOME\""]
|
package/cli/esbuild.config.mjs
DELETED
package/cli/package.json
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "corporateai",
|
|
3
|
-
"version": "0.3.1",
|
|
4
|
-
"description": "Corporate CLI wrapper for the Corporate control plane",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"bin": {
|
|
8
|
-
"corporateai": "dist/index.js"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "node ./scripts/build-cli.mjs"
|
|
12
|
-
},
|
|
13
|
-
"files": ["dist"],
|
|
14
|
-
"dependencies": {
|
|
15
|
-
"@corporateai/server": "workspace:*"
|
|
16
|
-
},
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"esbuild": "^0.27.3"
|
|
19
|
-
},
|
|
20
|
-
"engines": {
|
|
21
|
-
"node": ">=20"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|