@growthub/cli 0.6.0 → 0.6.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/dist/__tests__/agent-jwt-env.test.d.ts +2 -0
- package/dist/__tests__/agent-jwt-env.test.d.ts.map +1 -0
- package/dist/__tests__/agent-jwt-env.test.js +57 -0
- package/dist/__tests__/agent-jwt-env.test.js.map +1 -0
- package/dist/__tests__/allowed-hostname.test.d.ts +2 -0
- package/dist/__tests__/allowed-hostname.test.d.ts.map +1 -0
- package/dist/__tests__/allowed-hostname.test.js +75 -0
- package/dist/__tests__/allowed-hostname.test.js.map +1 -0
- package/dist/__tests__/auth-login-flow.test.d.ts +2 -0
- package/dist/__tests__/auth-login-flow.test.d.ts.map +1 -0
- package/dist/__tests__/auth-login-flow.test.js +62 -0
- package/dist/__tests__/auth-login-flow.test.js.map +1 -0
- package/dist/__tests__/auth-session.test.d.ts +2 -0
- package/dist/__tests__/auth-session.test.d.ts.map +1 -0
- package/dist/__tests__/auth-session.test.js +128 -0
- package/dist/__tests__/auth-session.test.js.map +1 -0
- package/dist/__tests__/common.test.d.ts +2 -0
- package/dist/__tests__/common.test.d.ts.map +1 -0
- package/dist/__tests__/common.test.js +73 -0
- package/dist/__tests__/common.test.js.map +1 -0
- package/dist/__tests__/company-delete.test.d.ts +2 -0
- package/dist/__tests__/company-delete.test.d.ts.map +1 -0
- package/dist/__tests__/company-delete.test.js +78 -0
- package/dist/__tests__/company-delete.test.js.map +1 -0
- package/dist/__tests__/context.test.d.ts +2 -0
- package/dist/__tests__/context.test.d.ts.map +1 -0
- package/dist/__tests__/context.test.js +50 -0
- package/dist/__tests__/context.test.js.map +1 -0
- package/dist/__tests__/create-growthub-local-installer.test.d.ts +21 -0
- package/dist/__tests__/create-growthub-local-installer.test.d.ts.map +1 -0
- package/dist/__tests__/create-growthub-local-installer.test.js +205 -0
- package/dist/__tests__/create-growthub-local-installer.test.js.map +1 -0
- package/dist/__tests__/data-dir.test.d.ts +2 -0
- package/dist/__tests__/data-dir.test.d.ts.map +1 -0
- package/dist/__tests__/data-dir.test.js +61 -0
- package/dist/__tests__/data-dir.test.js.map +1 -0
- package/dist/__tests__/doctor.test.d.ts +2 -0
- package/dist/__tests__/doctor.test.d.ts.map +1 -0
- package/dist/__tests__/doctor.test.js +93 -0
- package/dist/__tests__/doctor.test.js.map +1 -0
- package/dist/__tests__/effective-profile.test.d.ts +2 -0
- package/dist/__tests__/effective-profile.test.d.ts.map +1 -0
- package/dist/__tests__/effective-profile.test.js +91 -0
- package/dist/__tests__/effective-profile.test.js.map +1 -0
- package/dist/__tests__/execute-hosted-pipeline.test.d.ts +2 -0
- package/dist/__tests__/execute-hosted-pipeline.test.d.ts.map +1 -0
- package/dist/__tests__/execute-hosted-pipeline.test.js +131 -0
- package/dist/__tests__/execute-hosted-pipeline.test.js.map +1 -0
- package/dist/__tests__/fork-policy.test.d.ts +12 -0
- package/dist/__tests__/fork-policy.test.d.ts.map +1 -0
- package/dist/__tests__/fork-policy.test.js +132 -0
- package/dist/__tests__/fork-policy.test.js.map +1 -0
- package/dist/__tests__/fork-trace.test.d.ts +12 -0
- package/dist/__tests__/fork-trace.test.d.ts.map +1 -0
- package/dist/__tests__/fork-trace.test.js +90 -0
- package/dist/__tests__/fork-trace.test.js.map +1 -0
- package/dist/__tests__/home-paths.test.d.ts +2 -0
- package/dist/__tests__/home-paths.test.d.ts.map +1 -0
- package/dist/__tests__/home-paths.test.js +32 -0
- package/dist/__tests__/home-paths.test.js.map +1 -0
- package/dist/__tests__/hosted-execution-client.test.d.ts +2 -0
- package/dist/__tests__/hosted-execution-client.test.d.ts.map +1 -0
- package/dist/__tests__/hosted-execution-client.test.js +100 -0
- package/dist/__tests__/hosted-execution-client.test.js.map +1 -0
- package/dist/__tests__/http.test.d.ts +2 -0
- package/dist/__tests__/http.test.d.ts.map +1 -0
- package/dist/__tests__/http.test.js +42 -0
- package/dist/__tests__/http.test.js.map +1 -0
- package/dist/__tests__/integrations-github-resolver.test.d.ts +14 -0
- package/dist/__tests__/integrations-github-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/integrations-github-resolver.test.js +103 -0
- package/dist/__tests__/integrations-github-resolver.test.js.map +1 -0
- package/dist/__tests__/kit-command.test.d.ts +2 -0
- package/dist/__tests__/kit-command.test.d.ts.map +1 -0
- package/dist/__tests__/kit-command.test.js +134 -0
- package/dist/__tests__/kit-command.test.js.map +1 -0
- package/dist/__tests__/kit-core.test.d.ts +17 -0
- package/dist/__tests__/kit-core.test.d.ts.map +1 -0
- package/dist/__tests__/kit-core.test.js +403 -0
- package/dist/__tests__/kit-core.test.js.map +1 -0
- package/dist/__tests__/kit-fork-command.test.d.ts +11 -0
- package/dist/__tests__/kit-fork-command.test.d.ts.map +1 -0
- package/dist/__tests__/kit-fork-command.test.js +183 -0
- package/dist/__tests__/kit-fork-command.test.js.map +1 -0
- package/dist/__tests__/kit-fork-phase-1.test.d.ts +13 -0
- package/dist/__tests__/kit-fork-phase-1.test.d.ts.map +1 -0
- package/dist/__tests__/kit-fork-phase-1.test.js +220 -0
- package/dist/__tests__/kit-fork-phase-1.test.js.map +1 -0
- package/dist/__tests__/kit-fork-registry.test.d.ts +8 -0
- package/dist/__tests__/kit-fork-registry.test.d.ts.map +1 -0
- package/dist/__tests__/kit-fork-registry.test.js +183 -0
- package/dist/__tests__/kit-fork-registry.test.js.map +1 -0
- package/dist/__tests__/kit-fork-sync-agent.test.d.ts +13 -0
- package/dist/__tests__/kit-fork-sync-agent.test.d.ts.map +1 -0
- package/dist/__tests__/kit-fork-sync-agent.test.js +262 -0
- package/dist/__tests__/kit-fork-sync-agent.test.js.map +1 -0
- package/dist/__tests__/kit-fork-sync.test.d.ts +12 -0
- package/dist/__tests__/kit-fork-sync.test.d.ts.map +1 -0
- package/dist/__tests__/kit-fork-sync.test.js +455 -0
- package/dist/__tests__/kit-fork-sync.test.js.map +1 -0
- package/dist/__tests__/kit-zernio-social.test.d.ts +16 -0
- package/dist/__tests__/kit-zernio-social.test.d.ts.map +1 -0
- package/dist/__tests__/kit-zernio-social.test.js +528 -0
- package/dist/__tests__/kit-zernio-social.test.js.map +1 -0
- package/dist/__tests__/kit.test.d.ts +2 -0
- package/dist/__tests__/kit.test.d.ts.map +1 -0
- package/dist/__tests__/kit.test.js +359 -0
- package/dist/__tests__/kit.test.js.map +1 -0
- package/dist/__tests__/native-intelligence-normalizer.test.d.ts +2 -0
- package/dist/__tests__/native-intelligence-normalizer.test.d.ts.map +1 -0
- package/dist/__tests__/native-intelligence-normalizer.test.js +200 -0
- package/dist/__tests__/native-intelligence-normalizer.test.js.map +1 -0
- package/dist/__tests__/native-intelligence-planner.test.d.ts +2 -0
- package/dist/__tests__/native-intelligence-planner.test.d.ts.map +1 -0
- package/dist/__tests__/native-intelligence-planner.test.js +208 -0
- package/dist/__tests__/native-intelligence-planner.test.js.map +1 -0
- package/dist/__tests__/native-intelligence-recommender.test.d.ts +2 -0
- package/dist/__tests__/native-intelligence-recommender.test.d.ts.map +1 -0
- package/dist/__tests__/native-intelligence-recommender.test.js +212 -0
- package/dist/__tests__/native-intelligence-recommender.test.js.map +1 -0
- package/dist/__tests__/native-intelligence-summarizer.test.d.ts +2 -0
- package/dist/__tests__/native-intelligence-summarizer.test.d.ts.map +1 -0
- package/dist/__tests__/native-intelligence-summarizer.test.js +195 -0
- package/dist/__tests__/native-intelligence-summarizer.test.js.map +1 -0
- package/dist/__tests__/open-agents.test.d.ts +2 -0
- package/dist/__tests__/open-agents.test.d.ts.map +1 -0
- package/dist/__tests__/open-agents.test.js +174 -0
- package/dist/__tests__/open-agents.test.js.map +1 -0
- package/dist/__tests__/progress.test.d.ts +5 -0
- package/dist/__tests__/progress.test.d.ts.map +1 -0
- package/dist/__tests__/progress.test.js +55 -0
- package/dist/__tests__/progress.test.js.map +1 -0
- package/dist/__tests__/qwen-code.test.d.ts +2 -0
- package/dist/__tests__/qwen-code.test.d.ts.map +1 -0
- package/dist/__tests__/qwen-code.test.js +125 -0
- package/dist/__tests__/qwen-code.test.js.map +1 -0
- package/dist/__tests__/source-import-agent.test.d.ts +9 -0
- package/dist/__tests__/source-import-agent.test.d.ts.map +1 -0
- package/dist/__tests__/source-import-agent.test.js +124 -0
- package/dist/__tests__/source-import-agent.test.js.map +1 -0
- package/dist/__tests__/source-import-detect.test.d.ts +8 -0
- package/dist/__tests__/source-import-detect.test.d.ts.map +1 -0
- package/dist/__tests__/source-import-detect.test.js +91 -0
- package/dist/__tests__/source-import-detect.test.js.map +1 -0
- package/dist/__tests__/source-import-plan.test.d.ts +8 -0
- package/dist/__tests__/source-import-plan.test.d.ts.map +1 -0
- package/dist/__tests__/source-import-plan.test.js +170 -0
- package/dist/__tests__/source-import-plan.test.js.map +1 -0
- package/dist/__tests__/source-import-security.test.d.ts +8 -0
- package/dist/__tests__/source-import-security.test.d.ts.map +1 -0
- package/dist/__tests__/source-import-security.test.js +111 -0
- package/dist/__tests__/source-import-security.test.js.map +1 -0
- package/dist/__tests__/source-import-skills-source.test.d.ts +11 -0
- package/dist/__tests__/source-import-skills-source.test.d.ts.map +1 -0
- package/dist/__tests__/source-import-skills-source.test.js +181 -0
- package/dist/__tests__/source-import-skills-source.test.js.map +1 -0
- package/dist/__tests__/table-renderer.test.d.ts +12 -0
- package/dist/__tests__/table-renderer.test.d.ts.map +1 -0
- package/dist/__tests__/table-renderer.test.js +86 -0
- package/dist/__tests__/table-renderer.test.js.map +1 -0
- package/dist/__tests__/worktree.test.d.ts +2 -0
- package/dist/__tests__/worktree.test.d.ts.map +1 -0
- package/dist/__tests__/worktree.test.js +399 -0
- package/dist/__tests__/worktree.test.js.map +1 -0
- package/dist/adapters/http/format-event.d.ts +2 -0
- package/dist/adapters/http/format-event.d.ts.map +1 -0
- package/dist/adapters/http/format-event.js +6 -0
- package/dist/adapters/http/format-event.js.map +1 -0
- package/dist/adapters/http/index.d.ts +3 -0
- package/dist/adapters/http/index.d.ts.map +1 -0
- package/dist/adapters/http/index.js +6 -0
- package/dist/adapters/http/index.js.map +1 -0
- package/dist/adapters/index.d.ts +3 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/open-agents/format-event.d.ts +2 -0
- package/dist/adapters/open-agents/format-event.d.ts.map +1 -0
- package/dist/adapters/open-agents/format-event.js +39 -0
- package/dist/adapters/open-agents/format-event.js.map +1 -0
- package/dist/adapters/open-agents/index.d.ts +3 -0
- package/dist/adapters/open-agents/index.d.ts.map +1 -0
- package/dist/adapters/open-agents/index.js +6 -0
- package/dist/adapters/open-agents/index.js.map +1 -0
- package/dist/adapters/process/format-event.d.ts +2 -0
- package/dist/adapters/process/format-event.d.ts.map +1 -0
- package/dist/adapters/process/format-event.js +6 -0
- package/dist/adapters/process/format-event.js.map +1 -0
- package/dist/adapters/process/index.d.ts +3 -0
- package/dist/adapters/process/index.d.ts.map +1 -0
- package/dist/adapters/process/index.js +6 -0
- package/dist/adapters/process/index.js.map +1 -0
- package/dist/adapters/qwen/format-event.d.ts +8 -0
- package/dist/adapters/qwen/format-event.d.ts.map +1 -0
- package/dist/adapters/qwen/format-event.js +28 -0
- package/dist/adapters/qwen/format-event.js.map +1 -0
- package/dist/adapters/qwen/index.d.ts +3 -0
- package/dist/adapters/qwen/index.d.ts.map +1 -0
- package/dist/adapters/qwen/index.js +6 -0
- package/dist/adapters/qwen/index.js.map +1 -0
- package/dist/adapters/registry.d.ts +3 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/adapters/registry.js +56 -0
- package/dist/adapters/registry.js.map +1 -0
- package/dist/auth/effective-profile.d.ts +61 -0
- package/dist/auth/effective-profile.d.ts.map +1 -0
- package/dist/auth/effective-profile.js +127 -0
- package/dist/auth/effective-profile.js.map +1 -0
- package/dist/auth/hosted-client.d.ts +107 -0
- package/dist/auth/hosted-client.d.ts.map +1 -0
- package/dist/auth/hosted-client.js +140 -0
- package/dist/auth/hosted-client.js.map +1 -0
- package/dist/auth/hosted-integrations.d.ts +33 -0
- package/dist/auth/hosted-integrations.d.ts.map +1 -0
- package/dist/auth/hosted-integrations.js +51 -0
- package/dist/auth/hosted-integrations.js.map +1 -0
- package/dist/auth/login-flow.d.ts +27 -0
- package/dist/auth/login-flow.d.ts.map +1 -0
- package/dist/auth/login-flow.js +212 -0
- package/dist/auth/login-flow.js.map +1 -0
- package/dist/auth/overlay-store.d.ts +52 -0
- package/dist/auth/overlay-store.d.ts.map +1 -0
- package/dist/auth/overlay-store.js +123 -0
- package/dist/auth/overlay-store.js.map +1 -0
- package/dist/auth/paths.d.ts +15 -0
- package/dist/auth/paths.d.ts.map +1 -0
- package/dist/auth/paths.js +27 -0
- package/dist/auth/paths.js.map +1 -0
- package/dist/auth/session-store.d.ts +35 -0
- package/dist/auth/session-store.d.ts.map +1 -0
- package/dist/auth/session-store.js +73 -0
- package/dist/auth/session-store.js.map +1 -0
- package/dist/auth/workflow-access.d.ts +7 -0
- package/dist/auth/workflow-access.d.ts.map +1 -0
- package/dist/auth/workflow-access.js +27 -0
- package/dist/auth/workflow-access.js.map +1 -0
- package/dist/checks/agent-jwt-secret-check.d.ts +3 -0
- package/dist/checks/agent-jwt-secret-check.d.ts.map +1 -0
- package/dist/checks/agent-jwt-secret-check.js +31 -0
- package/dist/checks/agent-jwt-secret-check.js.map +1 -0
- package/dist/checks/config-check.d.ts +3 -0
- package/dist/checks/config-check.d.ts.map +1 -0
- package/dist/checks/config-check.js +31 -0
- package/dist/checks/config-check.js.map +1 -0
- package/dist/checks/database-check.d.ts +4 -0
- package/dist/checks/database-check.d.ts.map +1 -0
- package/dist/checks/database-check.js +54 -0
- package/dist/checks/database-check.js.map +1 -0
- package/dist/checks/deployment-auth-check.d.ts +4 -0
- package/dist/checks/deployment-auth-check.d.ts.map +1 -0
- package/dist/checks/deployment-auth-check.js +83 -0
- package/dist/checks/deployment-auth-check.js.map +1 -0
- package/dist/checks/index.d.ts +18 -0
- package/dist/checks/index.d.ts.map +1 -0
- package/dist/checks/index.js +10 -0
- package/dist/checks/index.js.map +1 -0
- package/dist/checks/llm-check.d.ts +4 -0
- package/dist/checks/llm-check.d.ts.map +1 -0
- package/dist/checks/llm-check.js +80 -0
- package/dist/checks/llm-check.js.map +1 -0
- package/dist/checks/log-check.d.ts +4 -0
- package/dist/checks/log-check.d.ts.map +1 -0
- package/dist/checks/log-check.js +27 -0
- package/dist/checks/log-check.js.map +1 -0
- package/dist/checks/path-resolver.d.ts +2 -0
- package/dist/checks/path-resolver.d.ts.map +1 -0
- package/dist/checks/path-resolver.js +2 -0
- package/dist/checks/path-resolver.js.map +1 -0
- package/dist/checks/port-check.d.ts +4 -0
- package/dist/checks/port-check.d.ts.map +1 -0
- package/dist/checks/port-check.js +20 -0
- package/dist/checks/port-check.js.map +1 -0
- package/dist/checks/secrets-check.d.ts +4 -0
- package/dist/checks/secrets-check.d.ts.map +1 -0
- package/dist/checks/secrets-check.js +123 -0
- package/dist/checks/secrets-check.js.map +1 -0
- package/dist/checks/storage-check.d.ts +4 -0
- package/dist/checks/storage-check.d.ts.map +1 -0
- package/dist/checks/storage-check.js +46 -0
- package/dist/checks/storage-check.js.map +1 -0
- package/dist/client/context.d.ts +21 -0
- package/dist/client/context.d.ts.map +1 -0
- package/dist/client/context.js +136 -0
- package/dist/client/context.js.map +1 -0
- package/dist/client/http.d.ts +29 -0
- package/dist/client/http.d.ts.map +1 -0
- package/dist/client/http.js +120 -0
- package/dist/client/http.js.map +1 -0
- package/dist/commands/allowed-hostname.d.ts +4 -0
- package/dist/commands/allowed-hostname.d.ts.map +1 -0
- package/dist/commands/allowed-hostname.js +31 -0
- package/dist/commands/allowed-hostname.js.map +1 -0
- package/dist/commands/artifact.d.ts +12 -0
- package/dist/commands/artifact.d.ts.map +1 -0
- package/dist/commands/artifact.js +167 -0
- package/dist/commands/artifact.js.map +1 -0
- package/dist/commands/auth-bootstrap-ceo.d.ts +8 -0
- package/dist/commands/auth-bootstrap-ceo.d.ts.map +1 -0
- package/dist/commands/auth-bootstrap-ceo.js +108 -0
- package/dist/commands/auth-bootstrap-ceo.js.map +1 -0
- package/dist/commands/auth-login.d.ts +24 -0
- package/dist/commands/auth-login.d.ts.map +1 -0
- package/dist/commands/auth-login.js +270 -0
- package/dist/commands/auth-login.js.map +1 -0
- package/dist/commands/capability.d.ts +15 -0
- package/dist/commands/capability.d.ts.map +1 -0
- package/dist/commands/capability.js +366 -0
- package/dist/commands/capability.js.map +1 -0
- package/dist/commands/client/activity.d.ts +3 -0
- package/dist/commands/client/activity.d.ts.map +1 -0
- package/dist/commands/client/activity.js +49 -0
- package/dist/commands/client/activity.js.map +1 -0
- package/dist/commands/client/agent.d.ts +3 -0
- package/dist/commands/client/agent.d.ts.map +1 -0
- package/dist/commands/client/agent.js +224 -0
- package/dist/commands/client/agent.js.map +1 -0
- package/dist/commands/client/approval.d.ts +3 -0
- package/dist/commands/client/approval.d.ts.map +1 -0
- package/dist/commands/client/approval.js +193 -0
- package/dist/commands/client/approval.js.map +1 -0
- package/dist/commands/client/common.d.ts +33 -0
- package/dist/commands/client/common.d.ts.map +1 -0
- package/dist/commands/client/common.js +140 -0
- package/dist/commands/client/common.js.map +1 -0
- package/dist/commands/client/company.d.ts +14 -0
- package/dist/commands/client/company.d.ts.map +1 -0
- package/dist/commands/client/company.js +346 -0
- package/dist/commands/client/company.js.map +1 -0
- package/dist/commands/client/context.d.ts +3 -0
- package/dist/commands/client/context.d.ts.map +1 -0
- package/dist/commands/client/context.js +92 -0
- package/dist/commands/client/context.js.map +1 -0
- package/dist/commands/client/dashboard.d.ts +3 -0
- package/dist/commands/client/dashboard.d.ts.map +1 -0
- package/dist/commands/client/dashboard.js +19 -0
- package/dist/commands/client/dashboard.js.map +1 -0
- package/dist/commands/client/issue.d.ts +3 -0
- package/dist/commands/client/issue.d.ts.map +1 -0
- package/dist/commands/client/issue.js +229 -0
- package/dist/commands/client/issue.js.map +1 -0
- package/dist/commands/client/plugin.d.ts +3 -0
- package/dist/commands/client/plugin.d.ts.map +1 -0
- package/dist/commands/client/plugin.js +252 -0
- package/dist/commands/client/plugin.js.map +1 -0
- package/dist/commands/configure.d.ts +5 -0
- package/dist/commands/configure.d.ts.map +1 -0
- package/dist/commands/configure.js +167 -0
- package/dist/commands/configure.js.map +1 -0
- package/dist/commands/db-backup.d.ts +10 -0
- package/dist/commands/db-backup.d.ts.map +1 -0
- package/dist/commands/db-backup.js +74 -0
- package/dist/commands/db-backup.js.map +1 -0
- package/dist/commands/doctor.d.ts +10 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +154 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/env.d.ts +4 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +355 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/fleet.d.ts +39 -0
- package/dist/commands/fleet.d.ts.map +1 -0
- package/dist/commands/fleet.js +281 -0
- package/dist/commands/fleet.js.map +1 -0
- package/dist/commands/github.d.ts +29 -0
- package/dist/commands/github.d.ts.map +1 -0
- package/dist/commands/github.js +205 -0
- package/dist/commands/github.js.map +1 -0
- package/dist/commands/gtm.d.ts +3 -0
- package/dist/commands/gtm.d.ts.map +1 -0
- package/dist/commands/gtm.js +134 -0
- package/dist/commands/gtm.js.map +1 -0
- package/dist/commands/heartbeat-run.d.ts +16 -0
- package/dist/commands/heartbeat-run.d.ts.map +1 -0
- package/dist/commands/heartbeat-run.js +294 -0
- package/dist/commands/heartbeat-run.js.map +1 -0
- package/dist/commands/integrations.d.ts +20 -0
- package/dist/commands/integrations.d.ts.map +1 -0
- package/dist/commands/integrations.js +98 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/kit-fork-remote.d.ts +46 -0
- package/dist/commands/kit-fork-remote.d.ts.map +1 -0
- package/dist/commands/kit-fork-remote.js +489 -0
- package/dist/commands/kit-fork-remote.js.map +1 -0
- package/dist/commands/kit-fork.d.ts +39 -0
- package/dist/commands/kit-fork.d.ts.map +1 -0
- package/dist/commands/kit-fork.js +1338 -0
- package/dist/commands/kit-fork.js.map +1 -0
- package/dist/commands/kit.d.ts +7 -0
- package/dist/commands/kit.d.ts.map +1 -0
- package/dist/commands/kit.js +585 -0
- package/dist/commands/kit.js.map +1 -0
- package/dist/commands/onboard.d.ts +9 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +425 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/open-agents.d.ts +19 -0
- package/dist/commands/open-agents.d.ts.map +1 -0
- package/dist/commands/open-agents.js +689 -0
- package/dist/commands/open-agents.js.map +1 -0
- package/dist/commands/pipeline.d.ts +20 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +863 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/profile.d.ts +3 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +282 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/qwen-code.d.ts +19 -0
- package/dist/commands/qwen-code.d.ts.map +1 -0
- package/dist/commands/qwen-code.js +286 -0
- package/dist/commands/qwen-code.js.map +1 -0
- package/dist/commands/run.d.ts +9 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +156 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/source-import-discovery.d.ts +28 -0
- package/dist/commands/source-import-discovery.d.ts.map +1 -0
- package/dist/commands/source-import-discovery.js +327 -0
- package/dist/commands/source-import-discovery.js.map +1 -0
- package/dist/commands/starter.d.ts +27 -0
- package/dist/commands/starter.d.ts.map +1 -0
- package/dist/commands/starter.js +358 -0
- package/dist/commands/starter.js.map +1 -0
- package/dist/commands/status.d.ts +18 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +84 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/template.d.ts +18 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +341 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/workflow.d.ts +24 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +1350 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/commands/worktree-lib.d.ts +49 -0
- package/dist/commands/worktree-lib.d.ts.map +1 -0
- package/dist/commands/worktree-lib.js +220 -0
- package/dist/commands/worktree-lib.js.map +1 -0
- package/dist/commands/worktree.d.ts +60 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +874 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/config/data-dir.d.ts +12 -0
- package/dist/config/data-dir.d.ts.map +1 -0
- package/dist/config/data-dir.js +25 -0
- package/dist/config/data-dir.js.map +1 -0
- package/dist/config/env.d.ts +15 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +105 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/github-home.d.ts +17 -0
- package/dist/config/github-home.d.ts.map +1 -0
- package/dist/config/github-home.js +29 -0
- package/dist/config/github-home.js.map +1 -0
- package/dist/config/home.d.ts +23 -0
- package/dist/config/home.d.ts.map +1 -0
- package/dist/config/home.js +65 -0
- package/dist/config/home.js.map +1 -0
- package/dist/config/hostnames.d.ts +3 -0
- package/dist/config/hostnames.d.ts.map +1 -0
- package/dist/config/hostnames.js +27 -0
- package/dist/config/hostnames.js.map +1 -0
- package/dist/config/kit-forks-home.d.ts +26 -0
- package/dist/config/kit-forks-home.d.ts.map +1 -0
- package/dist/config/kit-forks-home.js +44 -0
- package/dist/config/kit-forks-home.js.map +1 -0
- package/dist/config/schema.d.ts +2 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +2 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/secrets-key.d.ts +16 -0
- package/dist/config/secrets-key.d.ts.map +1 -0
- package/dist/config/secrets-key.js +34 -0
- package/dist/config/secrets-key.js.map +1 -0
- package/dist/config/store.d.ts +6 -0
- package/dist/config/store.d.ts.map +1 -0
- package/dist/config/store.js +102 -0
- package/dist/config/store.js.map +1 -0
- package/dist/fleet/agent-plan.d.ts +20 -0
- package/dist/fleet/agent-plan.d.ts.map +1 -0
- package/dist/fleet/agent-plan.js +61 -0
- package/dist/fleet/agent-plan.js.map +1 -0
- package/dist/fleet/approvals.d.ts +10 -0
- package/dist/fleet/approvals.d.ts.map +1 -0
- package/dist/fleet/approvals.js +33 -0
- package/dist/fleet/approvals.js.map +1 -0
- package/dist/fleet/drift-summary.d.ts +13 -0
- package/dist/fleet/drift-summary.d.ts.map +1 -0
- package/dist/fleet/drift-summary.js +120 -0
- package/dist/fleet/drift-summary.js.map +1 -0
- package/dist/fleet/summary.d.ts +9 -0
- package/dist/fleet/summary.d.ts.map +1 -0
- package/dist/fleet/summary.js +161 -0
- package/dist/fleet/summary.js.map +1 -0
- package/dist/fleet/types.d.ts +149 -0
- package/dist/fleet/types.d.ts.map +1 -0
- package/dist/fleet/types.js +12 -0
- package/dist/fleet/types.js.map +1 -0
- package/dist/github/client.d.ts +42 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +174 -0
- package/dist/github/client.js.map +1 -0
- package/dist/github/token-store.d.ts +11 -0
- package/dist/github/token-store.d.ts.map +1 -0
- package/dist/github/token-store.js +74 -0
- package/dist/github/token-store.js.map +1 -0
- package/dist/github/types.d.ts +69 -0
- package/dist/github/types.d.ts.map +1 -0
- package/dist/github/types.js +8 -0
- package/dist/github/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/bridge.d.ts +43 -0
- package/dist/integrations/bridge.d.ts.map +1 -0
- package/dist/integrations/bridge.js +148 -0
- package/dist/integrations/bridge.js.map +1 -0
- package/dist/integrations/github-resolver.d.ts +31 -0
- package/dist/integrations/github-resolver.d.ts.map +1 -0
- package/dist/integrations/github-resolver.js +44 -0
- package/dist/integrations/github-resolver.js.map +1 -0
- package/dist/integrations/types.d.ts +46 -0
- package/dist/integrations/types.d.ts.map +1 -0
- package/dist/integrations/types.js +11 -0
- package/dist/integrations/types.js.map +1 -0
- package/dist/kits/catalog.d.ts +12 -0
- package/dist/kits/catalog.d.ts.map +1 -0
- package/dist/kits/catalog.js +93 -0
- package/dist/kits/catalog.js.map +1 -0
- package/dist/kits/contract.d.ts +153 -0
- package/dist/kits/contract.d.ts.map +1 -0
- package/dist/kits/contract.js +89 -0
- package/dist/kits/contract.js.map +1 -0
- package/dist/kits/core/adapter-core/contracts.d.ts +108 -0
- package/dist/kits/core/adapter-core/contracts.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/contracts.js +17 -0
- package/dist/kits/core/adapter-core/contracts.js.map +1 -0
- package/dist/kits/core/adapter-core/env-gate.d.ts +29 -0
- package/dist/kits/core/adapter-core/env-gate.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/env-gate.js +143 -0
- package/dist/kits/core/adapter-core/env-gate.js.map +1 -0
- package/dist/kits/core/adapter-core/fork-inspector.d.ts +42 -0
- package/dist/kits/core/adapter-core/fork-inspector.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/fork-inspector.js +141 -0
- package/dist/kits/core/adapter-core/fork-inspector.js.map +1 -0
- package/dist/kits/core/adapter-core/index.d.ts +20 -0
- package/dist/kits/core/adapter-core/index.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/index.js +13 -0
- package/dist/kits/core/adapter-core/index.js.map +1 -0
- package/dist/kits/core/adapter-core/output-contract.d.ts +25 -0
- package/dist/kits/core/adapter-core/output-contract.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/output-contract.js +114 -0
- package/dist/kits/core/adapter-core/output-contract.js.map +1 -0
- package/dist/kits/core/adapter-core/provider-adapter.d.ts +26 -0
- package/dist/kits/core/adapter-core/provider-adapter.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/provider-adapter.js +119 -0
- package/dist/kits/core/adapter-core/provider-adapter.js.map +1 -0
- package/dist/kits/core/adapter-core/runtime-surface.d.ts +25 -0
- package/dist/kits/core/adapter-core/runtime-surface.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/runtime-surface.js +100 -0
- package/dist/kits/core/adapter-core/runtime-surface.js.map +1 -0
- package/dist/kits/core/adapter-core/setup-validation.d.ts +28 -0
- package/dist/kits/core/adapter-core/setup-validation.d.ts.map +1 -0
- package/dist/kits/core/adapter-core/setup-validation.js +145 -0
- package/dist/kits/core/adapter-core/setup-validation.js.map +1 -0
- package/dist/kits/core/factory/index.d.ts +25 -0
- package/dist/kits/core/factory/index.d.ts.map +1 -0
- package/dist/kits/core/factory/index.js +21 -0
- package/dist/kits/core/factory/index.js.map +1 -0
- package/dist/kits/core/factory/operator-kit.d.ts +50 -0
- package/dist/kits/core/factory/operator-kit.d.ts.map +1 -0
- package/dist/kits/core/factory/operator-kit.js +88 -0
- package/dist/kits/core/factory/operator-kit.js.map +1 -0
- package/dist/kits/core/factory/ops-kit.d.ts +57 -0
- package/dist/kits/core/factory/ops-kit.d.ts.map +1 -0
- package/dist/kits/core/factory/ops-kit.js +115 -0
- package/dist/kits/core/factory/ops-kit.js.map +1 -0
- package/dist/kits/core/factory/studio-kit.d.ts +39 -0
- package/dist/kits/core/factory/studio-kit.d.ts.map +1 -0
- package/dist/kits/core/factory/studio-kit.js +96 -0
- package/dist/kits/core/factory/studio-kit.js.map +1 -0
- package/dist/kits/core/factory/workflow-kit.d.ts +57 -0
- package/dist/kits/core/factory/workflow-kit.d.ts.map +1 -0
- package/dist/kits/core/factory/workflow-kit.js +107 -0
- package/dist/kits/core/factory/workflow-kit.js.map +1 -0
- package/dist/kits/core/index.d.ts +25 -0
- package/dist/kits/core/index.d.ts.map +1 -0
- package/dist/kits/core/index.js +111 -0
- package/dist/kits/core/index.js.map +1 -0
- package/dist/kits/core/types/index.d.ts +65 -0
- package/dist/kits/core/types/index.d.ts.map +1 -0
- package/dist/kits/core/types/index.js +49 -0
- package/dist/kits/core/types/index.js.map +1 -0
- package/dist/kits/core/validation/index.d.ts +42 -0
- package/dist/kits/core/validation/index.d.ts.map +1 -0
- package/dist/kits/core/validation/index.js +128 -0
- package/dist/kits/core/validation/index.js.map +1 -0
- package/dist/kits/fork-policy.d.ts +78 -0
- package/dist/kits/fork-policy.d.ts.map +1 -0
- package/dist/kits/fork-policy.js +92 -0
- package/dist/kits/fork-policy.js.map +1 -0
- package/dist/kits/fork-registry.d.ts +54 -0
- package/dist/kits/fork-registry.d.ts.map +1 -0
- package/dist/kits/fork-registry.js +201 -0
- package/dist/kits/fork-registry.js.map +1 -0
- package/dist/kits/fork-remote.d.ts +52 -0
- package/dist/kits/fork-remote.d.ts.map +1 -0
- package/dist/kits/fork-remote.js +116 -0
- package/dist/kits/fork-remote.js.map +1 -0
- package/dist/kits/fork-sync-agent.d.ts +51 -0
- package/dist/kits/fork-sync-agent.d.ts.map +1 -0
- package/dist/kits/fork-sync-agent.js +435 -0
- package/dist/kits/fork-sync-agent.js.map +1 -0
- package/dist/kits/fork-sync.d.ts +32 -0
- package/dist/kits/fork-sync.d.ts.map +1 -0
- package/dist/kits/fork-sync.js +590 -0
- package/dist/kits/fork-sync.js.map +1 -0
- package/dist/kits/fork-trace.d.ts +29 -0
- package/dist/kits/fork-trace.d.ts.map +1 -0
- package/dist/kits/fork-trace.js +54 -0
- package/dist/kits/fork-trace.js.map +1 -0
- package/dist/kits/fork-types.d.ts +198 -0
- package/dist/kits/fork-types.d.ts.map +1 -0
- package/dist/kits/fork-types.js +16 -0
- package/dist/kits/fork-types.js.map +1 -0
- package/dist/kits/service.d.ts +63 -0
- package/dist/kits/service.d.ts.map +1 -0
- package/dist/kits/service.js +630 -0
- package/dist/kits/service.js.map +1 -0
- package/dist/prompts/database.d.ts +3 -0
- package/dist/prompts/database.d.ts.map +1 -0
- package/dist/prompts/database.js +144 -0
- package/dist/prompts/database.js.map +1 -0
- package/dist/prompts/llm.d.ts +3 -0
- package/dist/prompts/llm.d.ts.map +1 -0
- package/dist/prompts/llm.js +37 -0
- package/dist/prompts/llm.js.map +1 -0
- package/dist/prompts/logging.d.ts +3 -0
- package/dist/prompts/logging.d.ts.map +1 -0
- package/dist/prompts/logging.js +31 -0
- package/dist/prompts/logging.js.map +1 -0
- package/dist/prompts/secrets.d.ts +4 -0
- package/dist/prompts/secrets.d.ts.map +1 -0
- package/dist/prompts/secrets.js +85 -0
- package/dist/prompts/secrets.js.map +1 -0
- package/dist/prompts/server.d.ts +9 -0
- package/dist/prompts/server.d.ts.map +1 -0
- package/dist/prompts/server.js +154 -0
- package/dist/prompts/server.js.map +1 -0
- package/dist/prompts/storage.d.ts +4 -0
- package/dist/prompts/storage.d.ts.map +1 -0
- package/dist/prompts/storage.js +129 -0
- package/dist/prompts/storage.js.map +1 -0
- package/dist/runtime/agent-harness/auth-store.d.ts +8 -0
- package/dist/runtime/agent-harness/auth-store.d.ts.map +1 -0
- package/dist/runtime/agent-harness/auth-store.js +92 -0
- package/dist/runtime/agent-harness/auth-store.js.map +1 -0
- package/dist/runtime/artifact-contracts/index.d.ts +47 -0
- package/dist/runtime/artifact-contracts/index.d.ts.map +1 -0
- package/dist/runtime/artifact-contracts/index.js +153 -0
- package/dist/runtime/artifact-contracts/index.js.map +1 -0
- package/dist/runtime/artifact-contracts/types.d.ts +82 -0
- package/dist/runtime/artifact-contracts/types.d.ts.map +1 -0
- package/dist/runtime/artifact-contracts/types.js +16 -0
- package/dist/runtime/artifact-contracts/types.js.map +1 -0
- package/dist/runtime/cms-capability-registry/index.d.ts +30 -0
- package/dist/runtime/cms-capability-registry/index.d.ts.map +1 -0
- package/dist/runtime/cms-capability-registry/index.js +183 -0
- package/dist/runtime/cms-capability-registry/index.js.map +1 -0
- package/dist/runtime/cms-capability-registry/types.d.ts +109 -0
- package/dist/runtime/cms-capability-registry/types.d.ts.map +1 -0
- package/dist/runtime/cms-capability-registry/types.js +19 -0
- package/dist/runtime/cms-capability-registry/types.js.map +1 -0
- package/dist/runtime/cms-node-contracts/compile.d.ts +6 -0
- package/dist/runtime/cms-node-contracts/compile.d.ts.map +1 -0
- package/dist/runtime/cms-node-contracts/compile.js +57 -0
- package/dist/runtime/cms-node-contracts/compile.js.map +1 -0
- package/dist/runtime/cms-node-contracts/index.d.ts +6 -0
- package/dist/runtime/cms-node-contracts/index.d.ts.map +1 -0
- package/dist/runtime/cms-node-contracts/index.js +5 -0
- package/dist/runtime/cms-node-contracts/index.js.map +1 -0
- package/dist/runtime/cms-node-contracts/introspect.d.ts +5 -0
- package/dist/runtime/cms-node-contracts/introspect.d.ts.map +1 -0
- package/dist/runtime/cms-node-contracts/introspect.js +61 -0
- package/dist/runtime/cms-node-contracts/introspect.js.map +1 -0
- package/dist/runtime/cms-node-contracts/normalize.d.ts +5 -0
- package/dist/runtime/cms-node-contracts/normalize.d.ts.map +1 -0
- package/dist/runtime/cms-node-contracts/normalize.js +112 -0
- package/dist/runtime/cms-node-contracts/normalize.js.map +1 -0
- package/dist/runtime/cms-node-contracts/presenter.d.ts +9 -0
- package/dist/runtime/cms-node-contracts/presenter.d.ts.map +1 -0
- package/dist/runtime/cms-node-contracts/presenter.js +117 -0
- package/dist/runtime/cms-node-contracts/presenter.js.map +1 -0
- package/dist/runtime/cms-node-contracts/types.d.ts +76 -0
- package/dist/runtime/cms-node-contracts/types.d.ts.map +1 -0
- package/dist/runtime/cms-node-contracts/types.js +2 -0
- package/dist/runtime/cms-node-contracts/types.js.map +1 -0
- package/dist/runtime/dynamic-registry-pipeline/index.d.ts +41 -0
- package/dist/runtime/dynamic-registry-pipeline/index.d.ts.map +1 -0
- package/dist/runtime/dynamic-registry-pipeline/index.js +224 -0
- package/dist/runtime/dynamic-registry-pipeline/index.js.map +1 -0
- package/dist/runtime/dynamic-registry-pipeline/types.d.ts +61 -0
- package/dist/runtime/dynamic-registry-pipeline/types.d.ts.map +1 -0
- package/dist/runtime/dynamic-registry-pipeline/types.js +14 -0
- package/dist/runtime/dynamic-registry-pipeline/types.js.map +1 -0
- package/dist/runtime/hosted-execution-client/index.d.ts +45 -0
- package/dist/runtime/hosted-execution-client/index.d.ts.map +1 -0
- package/dist/runtime/hosted-execution-client/index.js +527 -0
- package/dist/runtime/hosted-execution-client/index.js.map +1 -0
- package/dist/runtime/hosted-execution-client/types.d.ts +125 -0
- package/dist/runtime/hosted-execution-client/types.d.ts.map +1 -0
- package/dist/runtime/hosted-execution-client/types.js +9 -0
- package/dist/runtime/hosted-execution-client/types.js.map +1 -0
- package/dist/runtime/index.d.ts +24 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +24 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/machine-capability-resolver/index.d.ts +32 -0
- package/dist/runtime/machine-capability-resolver/index.d.ts.map +1 -0
- package/dist/runtime/machine-capability-resolver/index.js +131 -0
- package/dist/runtime/machine-capability-resolver/index.js.map +1 -0
- package/dist/runtime/machine-capability-resolver/types.d.ts +46 -0
- package/dist/runtime/machine-capability-resolver/types.d.ts.map +1 -0
- package/dist/runtime/machine-capability-resolver/types.js +13 -0
- package/dist/runtime/machine-capability-resolver/types.js.map +1 -0
- package/dist/runtime/native-intelligence/contract.d.ts +174 -0
- package/dist/runtime/native-intelligence/contract.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/contract.js +23 -0
- package/dist/runtime/native-intelligence/contract.js.map +1 -0
- package/dist/runtime/native-intelligence/index.d.ts +38 -0
- package/dist/runtime/native-intelligence/index.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/index.js +121 -0
- package/dist/runtime/native-intelligence/index.js.map +1 -0
- package/dist/runtime/native-intelligence/normalizer.d.ts +22 -0
- package/dist/runtime/native-intelligence/normalizer.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/normalizer.js +307 -0
- package/dist/runtime/native-intelligence/normalizer.js.map +1 -0
- package/dist/runtime/native-intelligence/planner.d.ts +22 -0
- package/dist/runtime/native-intelligence/planner.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/planner.js +312 -0
- package/dist/runtime/native-intelligence/planner.js.map +1 -0
- package/dist/runtime/native-intelligence/provider.d.ts +27 -0
- package/dist/runtime/native-intelligence/provider.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/provider.js +221 -0
- package/dist/runtime/native-intelligence/provider.js.map +1 -0
- package/dist/runtime/native-intelligence/recommender.d.ts +23 -0
- package/dist/runtime/native-intelligence/recommender.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/recommender.js +299 -0
- package/dist/runtime/native-intelligence/recommender.js.map +1 -0
- package/dist/runtime/native-intelligence/summarizer.d.ts +22 -0
- package/dist/runtime/native-intelligence/summarizer.d.ts.map +1 -0
- package/dist/runtime/native-intelligence/summarizer.js +228 -0
- package/dist/runtime/native-intelligence/summarizer.js.map +1 -0
- package/dist/runtime/open-agents/contract.d.ts +58 -0
- package/dist/runtime/open-agents/contract.d.ts.map +1 -0
- package/dist/runtime/open-agents/contract.js +26 -0
- package/dist/runtime/open-agents/contract.js.map +1 -0
- package/dist/runtime/open-agents/index.d.ts +15 -0
- package/dist/runtime/open-agents/index.d.ts.map +1 -0
- package/dist/runtime/open-agents/index.js +72 -0
- package/dist/runtime/open-agents/index.js.map +1 -0
- package/dist/runtime/open-agents/provider.d.ts +32 -0
- package/dist/runtime/open-agents/provider.d.ts.map +1 -0
- package/dist/runtime/open-agents/provider.js +190 -0
- package/dist/runtime/open-agents/provider.js.map +1 -0
- package/dist/runtime/qwen-code/contract.d.ts +79 -0
- package/dist/runtime/qwen-code/contract.d.ts.map +1 -0
- package/dist/runtime/qwen-code/contract.js +40 -0
- package/dist/runtime/qwen-code/contract.js.map +1 -0
- package/dist/runtime/qwen-code/health.d.ts +11 -0
- package/dist/runtime/qwen-code/health.d.ts.map +1 -0
- package/dist/runtime/qwen-code/health.js +111 -0
- package/dist/runtime/qwen-code/health.js.map +1 -0
- package/dist/runtime/qwen-code/index.d.ts +26 -0
- package/dist/runtime/qwen-code/index.d.ts.map +1 -0
- package/dist/runtime/qwen-code/index.js +93 -0
- package/dist/runtime/qwen-code/index.js.map +1 -0
- package/dist/runtime/qwen-code/provider.d.ts +23 -0
- package/dist/runtime/qwen-code/provider.d.ts.map +1 -0
- package/dist/runtime/qwen-code/provider.js +134 -0
- package/dist/runtime/qwen-code/provider.js.map +1 -0
- package/dist/runtime/workflow-hygiene/index.d.ts +4 -0
- package/dist/runtime/workflow-hygiene/index.d.ts.map +1 -0
- package/dist/runtime/workflow-hygiene/index.js +3 -0
- package/dist/runtime/workflow-hygiene/index.js.map +1 -0
- package/dist/runtime/workflow-hygiene/labels.d.ts +4 -0
- package/dist/runtime/workflow-hygiene/labels.d.ts.map +1 -0
- package/dist/runtime/workflow-hygiene/labels.js +64 -0
- package/dist/runtime/workflow-hygiene/labels.js.map +1 -0
- package/dist/runtime/workflow-hygiene/summaries.d.ts +11 -0
- package/dist/runtime/workflow-hygiene/summaries.d.ts.map +1 -0
- package/dist/runtime/workflow-hygiene/summaries.js +17 -0
- package/dist/runtime/workflow-hygiene/summaries.js.map +1 -0
- package/dist/runtime/workflow-hygiene/types.d.ts +12 -0
- package/dist/runtime/workflow-hygiene/types.d.ts.map +1 -0
- package/dist/runtime/workflow-hygiene/types.js +2 -0
- package/dist/runtime/workflow-hygiene/types.js.map +1 -0
- package/dist/starter/init.d.ts +18 -0
- package/dist/starter/init.d.ts.map +1 -0
- package/dist/starter/init.js +108 -0
- package/dist/starter/init.js.map +1 -0
- package/dist/starter/source-import/agent.d.ts +60 -0
- package/dist/starter/source-import/agent.d.ts.map +1 -0
- package/dist/starter/source-import/agent.js +302 -0
- package/dist/starter/source-import/agent.js.map +1 -0
- package/dist/starter/source-import/detect.d.ts +20 -0
- package/dist/starter/source-import/detect.d.ts.map +1 -0
- package/dist/starter/source-import/detect.js +197 -0
- package/dist/starter/source-import/detect.js.map +1 -0
- package/dist/starter/source-import/github-source.d.ts +66 -0
- package/dist/starter/source-import/github-source.d.ts.map +1 -0
- package/dist/starter/source-import/github-source.js +233 -0
- package/dist/starter/source-import/github-source.js.map +1 -0
- package/dist/starter/source-import/index.d.ts +31 -0
- package/dist/starter/source-import/index.d.ts.map +1 -0
- package/dist/starter/source-import/index.js +31 -0
- package/dist/starter/source-import/index.js.map +1 -0
- package/dist/starter/source-import/materialize.d.ts +61 -0
- package/dist/starter/source-import/materialize.d.ts.map +1 -0
- package/dist/starter/source-import/materialize.js +260 -0
- package/dist/starter/source-import/materialize.js.map +1 -0
- package/dist/starter/source-import/plan.d.ts +39 -0
- package/dist/starter/source-import/plan.d.ts.map +1 -0
- package/dist/starter/source-import/plan.js +158 -0
- package/dist/starter/source-import/plan.js.map +1 -0
- package/dist/starter/source-import/security.d.ts +42 -0
- package/dist/starter/source-import/security.d.ts.map +1 -0
- package/dist/starter/source-import/security.js +323 -0
- package/dist/starter/source-import/security.js.map +1 -0
- package/dist/starter/source-import/skills-source.d.ts +28 -0
- package/dist/starter/source-import/skills-source.d.ts.map +1 -0
- package/dist/starter/source-import/skills-source.js +419 -0
- package/dist/starter/source-import/skills-source.js.map +1 -0
- package/dist/starter/source-import/summarize.d.ts +25 -0
- package/dist/starter/source-import/summarize.d.ts.map +1 -0
- package/dist/starter/source-import/summarize.js +107 -0
- package/dist/starter/source-import/summarize.js.map +1 -0
- package/dist/starter/source-import/types.d.ts +357 -0
- package/dist/starter/source-import/types.d.ts.map +1 -0
- package/dist/starter/source-import/types.js +28 -0
- package/dist/starter/source-import/types.js.map +1 -0
- package/dist/starter/types.d.ts +46 -0
- package/dist/starter/types.d.ts.map +1 -0
- package/dist/starter/types.js +11 -0
- package/dist/starter/types.js.map +1 -0
- package/dist/status/probes.d.ts +25 -0
- package/dist/status/probes.d.ts.map +1 -0
- package/dist/status/probes.js +297 -0
- package/dist/status/probes.js.map +1 -0
- package/dist/status/runner.d.ts +18 -0
- package/dist/status/runner.d.ts.map +1 -0
- package/dist/status/runner.js +185 -0
- package/dist/status/runner.js.map +1 -0
- package/dist/status/types.d.ts +60 -0
- package/dist/status/types.d.ts.map +1 -0
- package/dist/status/types.js +13 -0
- package/dist/status/types.js.map +1 -0
- package/dist/templates/catalog.d.ts +12 -0
- package/dist/templates/catalog.d.ts.map +1 -0
- package/dist/templates/catalog.js +226 -0
- package/dist/templates/catalog.js.map +1 -0
- package/dist/templates/contract.d.ts +62 -0
- package/dist/templates/contract.d.ts.map +1 -0
- package/dist/templates/contract.js +12 -0
- package/dist/templates/contract.js.map +1 -0
- package/dist/templates/index.d.ts +5 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +2 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/service.d.ts +19 -0
- package/dist/templates/service.d.ts.map +1 -0
- package/dist/templates/service.js +132 -0
- package/dist/templates/service.js.map +1 -0
- package/dist/utils/banner.d.ts +2 -0
- package/dist/utils/banner.d.ts.map +1 -0
- package/dist/utils/banner.js.map +1 -0
- package/dist/utils/net.d.ts +5 -0
- package/dist/utils/net.d.ts.map +1 -0
- package/dist/utils/net.js +19 -0
- package/dist/utils/net.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +2 -0
- package/dist/utils/path-resolver.d.ts.map +1 -0
- package/dist/utils/path-resolver.js +22 -0
- package/dist/utils/path-resolver.js.map +1 -0
- package/dist/utils/progress.d.ts +24 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +57 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/table-renderer.d.ts +28 -0
- package/dist/utils/table-renderer.d.ts.map +1 -0
- package/dist/utils/table-renderer.js +83 -0
- package/dist/utils/table-renderer.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fork Adapter Core — Shared Validation Runner
|
|
3
|
+
*
|
|
4
|
+
* Runs all adapter-core validators against a ForkAdapterCoreConfig.
|
|
5
|
+
* Used by:
|
|
6
|
+
* - CLI kit validate command (authoring time)
|
|
7
|
+
* - Export QA scripts (packaging time)
|
|
8
|
+
* - Agent session init (runtime time, via CLAUDE.md Step 0)
|
|
9
|
+
*
|
|
10
|
+
* Aggregates results from:
|
|
11
|
+
* - env-gate
|
|
12
|
+
* - setup-validation
|
|
13
|
+
* - fork-inspector
|
|
14
|
+
* - provider-adapter
|
|
15
|
+
* - runtime-surface
|
|
16
|
+
* - output-contract
|
|
17
|
+
*/
|
|
18
|
+
import { runEnvGate } from "../adapter-core/env-gate.js";
|
|
19
|
+
import { validateSetup } from "../adapter-core/setup-validation.js";
|
|
20
|
+
import { inspectFork } from "../adapter-core/fork-inspector.js";
|
|
21
|
+
import { validateProviderContract } from "../adapter-core/provider-adapter.js";
|
|
22
|
+
import { validateRuntimeSurfaceContract } from "../adapter-core/runtime-surface.js";
|
|
23
|
+
import { validateOutputContract } from "../adapter-core/output-contract.js";
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Run full validation
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
export function runAdapterValidation(kitRoot, config, options = {}) {
|
|
28
|
+
const sections = [];
|
|
29
|
+
// Provider contract
|
|
30
|
+
const providerResult = validateProviderContract(kitRoot, config.provider);
|
|
31
|
+
sections.push({
|
|
32
|
+
name: "provider-contract",
|
|
33
|
+
valid: providerResult.valid,
|
|
34
|
+
issues: providerResult.issues,
|
|
35
|
+
passedChecks: providerResult.passedChecks,
|
|
36
|
+
});
|
|
37
|
+
// Setup validation
|
|
38
|
+
const setupResult = validateSetup(kitRoot, config.setup);
|
|
39
|
+
sections.push({
|
|
40
|
+
name: "setup-validation",
|
|
41
|
+
valid: setupResult.valid,
|
|
42
|
+
issues: setupResult.issues,
|
|
43
|
+
passedChecks: setupResult.passedChecks,
|
|
44
|
+
});
|
|
45
|
+
// Env gate (optional skip for pure authoring/packaging contexts)
|
|
46
|
+
if (!options.skipEnvGate) {
|
|
47
|
+
const envResult = runEnvGate(kitRoot, config.envGate);
|
|
48
|
+
sections.push({
|
|
49
|
+
name: "env-gate",
|
|
50
|
+
valid: envResult.valid,
|
|
51
|
+
issues: envResult.issues,
|
|
52
|
+
passedChecks: envResult.passedChecks,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
// Fork inspection (optional skip)
|
|
56
|
+
if (!options.skipForkInspection) {
|
|
57
|
+
const forkResult = inspectFork(config.forkInspection, {
|
|
58
|
+
includeHashes: options.includeFileHashes,
|
|
59
|
+
});
|
|
60
|
+
sections.push({
|
|
61
|
+
name: "fork-inspection",
|
|
62
|
+
valid: forkResult.valid,
|
|
63
|
+
issues: forkResult.issues,
|
|
64
|
+
passedChecks: forkResult.passedChecks,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// Runtime surface
|
|
68
|
+
const surfaceResult = validateRuntimeSurfaceContract(config.runtimeSurface);
|
|
69
|
+
sections.push({
|
|
70
|
+
name: "runtime-surface",
|
|
71
|
+
valid: surfaceResult.valid,
|
|
72
|
+
issues: surfaceResult.issues,
|
|
73
|
+
passedChecks: surfaceResult.passedChecks,
|
|
74
|
+
});
|
|
75
|
+
// Output contract
|
|
76
|
+
const outputResult = validateOutputContract(kitRoot, config.output);
|
|
77
|
+
sections.push({
|
|
78
|
+
name: "output-contract",
|
|
79
|
+
valid: outputResult.valid,
|
|
80
|
+
issues: outputResult.issues,
|
|
81
|
+
passedChecks: outputResult.passedChecks,
|
|
82
|
+
});
|
|
83
|
+
// Aggregate
|
|
84
|
+
const allIssues = sections.flatMap((s) => s.issues);
|
|
85
|
+
const allPassedChecks = sections.flatMap((s) => s.passedChecks);
|
|
86
|
+
const totalErrors = countBySeverity(allIssues, "error");
|
|
87
|
+
const totalWarnings = countBySeverity(allIssues, "warning");
|
|
88
|
+
const totalInfos = countBySeverity(allIssues, "info");
|
|
89
|
+
return {
|
|
90
|
+
kitId: config.kitId,
|
|
91
|
+
family: config.family,
|
|
92
|
+
overallValid: sections.every((s) => s.valid),
|
|
93
|
+
sections,
|
|
94
|
+
totalErrors,
|
|
95
|
+
totalWarnings,
|
|
96
|
+
totalInfos,
|
|
97
|
+
passedChecks: allPassedChecks,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
// Format report for CLI output
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
export function formatAdapterValidationReport(report) {
|
|
104
|
+
const lines = [
|
|
105
|
+
`=== Adapter Validation Report ===`,
|
|
106
|
+
`Kit: ${report.kitId} Family: ${report.family}`,
|
|
107
|
+
`Result: ${report.overallValid ? "PASSED" : "FAILED"} Errors: ${report.totalErrors} Warnings: ${report.totalWarnings}`,
|
|
108
|
+
"",
|
|
109
|
+
];
|
|
110
|
+
for (const section of report.sections) {
|
|
111
|
+
lines.push(`[${section.valid ? "OK" : "FAIL"}] ${section.name}`);
|
|
112
|
+
for (const issue of section.issues) {
|
|
113
|
+
const prefix = issue.severity === "error" ? " ERROR" : issue.severity === "warning" ? " WARN " : " INFO ";
|
|
114
|
+
lines.push(`${prefix} ${issue.message}`);
|
|
115
|
+
}
|
|
116
|
+
if (section.passedChecks.length > 0) {
|
|
117
|
+
lines.push(` Passed: ${section.passedChecks.join(", ")}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return lines.join("\n");
|
|
121
|
+
}
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
// Helpers
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
function countBySeverity(issues, severity) {
|
|
126
|
+
return issues.filter((i) => i.severity === severity).length;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kits/core/validation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kit Fork Policy
|
|
3
|
+
*
|
|
4
|
+
* Per-fork user preferences that drive the Self-Healing agent's behaviour.
|
|
5
|
+
*
|
|
6
|
+
* Canonical location (in-fork, kernel-packet-style):
|
|
7
|
+
* <forkPath>/.growthub-fork/policy.json
|
|
8
|
+
*
|
|
9
|
+
* Every agent action — drift detection, heal plan build, remote push — reads
|
|
10
|
+
* this policy and MUST honour it. The policy is authoritative. If the file is
|
|
11
|
+
* absent a conservative default is used (require confirmation for every
|
|
12
|
+
* non-additive change).
|
|
13
|
+
*/
|
|
14
|
+
export type PolicyAutoApprove = "none" | "additive" | "all";
|
|
15
|
+
export interface KitForkPolicy {
|
|
16
|
+
version: 1;
|
|
17
|
+
/**
|
|
18
|
+
* Paths (glob-lite — leading/trailing slashes ignored) the agent is never
|
|
19
|
+
* allowed to touch. Stronger than USER_PROTECTED_PATTERNS: this is the
|
|
20
|
+
* user's personal invariant list.
|
|
21
|
+
*/
|
|
22
|
+
untouchablePaths: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Paths the agent may only modify after explicit user confirmation per run.
|
|
25
|
+
* The CLI prompts interactively; async jobs pause and surface a "needs
|
|
26
|
+
* confirmation" state.
|
|
27
|
+
*/
|
|
28
|
+
confirmBeforeChange: string[];
|
|
29
|
+
/**
|
|
30
|
+
* How aggressively to auto-approve heal actions.
|
|
31
|
+
* - "none": every action requires confirmation (safest)
|
|
32
|
+
* - "additive": adding files and additive dep merges auto-approve;
|
|
33
|
+
* modifications still require confirmation (default)
|
|
34
|
+
* - "all": all safe actions auto-approve (still honours
|
|
35
|
+
* untouchablePaths + skip_user_modified)
|
|
36
|
+
*/
|
|
37
|
+
autoApprove: PolicyAutoApprove;
|
|
38
|
+
/**
|
|
39
|
+
* Controls dependency update confirmation specifically.
|
|
40
|
+
* - "none": never auto-approve dep changes
|
|
41
|
+
* - "additive": new dep additions auto-approve, upgrades need confirm
|
|
42
|
+
* - "all": even upgrades auto-approve (still additive-only, never
|
|
43
|
+
* removes user deps)
|
|
44
|
+
*/
|
|
45
|
+
autoApproveDepUpdates: PolicyAutoApprove;
|
|
46
|
+
/**
|
|
47
|
+
* Remote sync behaviour.
|
|
48
|
+
* - "off": purely local fork, no remote interaction
|
|
49
|
+
* - "branch": push heal commits to a dedicated branch on the remote
|
|
50
|
+
* - "pr": push branch + open a pull request via the GitHub client
|
|
51
|
+
*/
|
|
52
|
+
remoteSyncMode: "off" | "branch" | "pr";
|
|
53
|
+
/**
|
|
54
|
+
* When true, conflicts during remote sync pause the job and surface to the
|
|
55
|
+
* user for negotiation; otherwise the job fails fast and leaves local work
|
|
56
|
+
* intact.
|
|
57
|
+
*/
|
|
58
|
+
interactiveConflicts: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* User-declared local scripts that the agent may run during a heal. Each
|
|
61
|
+
* entry is a path INSIDE the fork. Nothing outside this list is ever
|
|
62
|
+
* executed.
|
|
63
|
+
*/
|
|
64
|
+
allowedScripts: string[];
|
|
65
|
+
/** ISO timestamp of last policy write. */
|
|
66
|
+
updatedAt: string;
|
|
67
|
+
}
|
|
68
|
+
export declare function makeDefaultKitForkPolicy(): KitForkPolicy;
|
|
69
|
+
export declare function readKitForkPolicy(forkPath: string): KitForkPolicy;
|
|
70
|
+
export declare function writeKitForkPolicy(forkPath: string, policy: KitForkPolicy): void;
|
|
71
|
+
export declare function updateKitForkPolicy(forkPath: string, patch: Partial<KitForkPolicy>): KitForkPolicy;
|
|
72
|
+
export declare function isUntouchable(policy: KitForkPolicy, relativePath: string): boolean;
|
|
73
|
+
export declare function requiresConfirmation(policy: KitForkPolicy, relativePath: string): boolean;
|
|
74
|
+
export declare function canAutoApplyAddition(policy: KitForkPolicy): boolean;
|
|
75
|
+
export declare function canAutoApplyModification(policy: KitForkPolicy): boolean;
|
|
76
|
+
export declare function canAutoApplyDepAddition(policy: KitForkPolicy): boolean;
|
|
77
|
+
export declare function canAutoApplyDepUpgrade(policy: KitForkPolicy): boolean;
|
|
78
|
+
//# sourceMappingURL=fork-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-policy.d.ts","sourceRoot":"","sources":["../../src/kits/fork-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IAEX;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;;OAOG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;;;;;OAMG;IACH,qBAAqB,EAAE,iBAAiB,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,wBAAwB,IAAI,aAAa,CAYxD;AAMD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CASjE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAKhF;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,aAAa,CAKf;AAgBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAEzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAEnE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAEvE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAErE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kit Fork Policy
|
|
3
|
+
*
|
|
4
|
+
* Per-fork user preferences that drive the Self-Healing agent's behaviour.
|
|
5
|
+
*
|
|
6
|
+
* Canonical location (in-fork, kernel-packet-style):
|
|
7
|
+
* <forkPath>/.growthub-fork/policy.json
|
|
8
|
+
*
|
|
9
|
+
* Every agent action — drift detection, heal plan build, remote push — reads
|
|
10
|
+
* this policy and MUST honour it. The policy is authoritative. If the file is
|
|
11
|
+
* absent a conservative default is used (require confirmation for every
|
|
12
|
+
* non-additive change).
|
|
13
|
+
*/
|
|
14
|
+
import fs from "node:fs";
|
|
15
|
+
import path from "node:path";
|
|
16
|
+
import { resolveInForkStateDir } from "../config/kit-forks-home.js";
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Defaults — conservative: confirm everything, local-only
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
export function makeDefaultKitForkPolicy() {
|
|
21
|
+
return {
|
|
22
|
+
version: 1,
|
|
23
|
+
untouchablePaths: [],
|
|
24
|
+
confirmBeforeChange: ["package.json", "kit.json"],
|
|
25
|
+
autoApprove: "additive",
|
|
26
|
+
autoApproveDepUpdates: "additive",
|
|
27
|
+
remoteSyncMode: "off",
|
|
28
|
+
interactiveConflicts: true,
|
|
29
|
+
allowedScripts: [],
|
|
30
|
+
updatedAt: new Date().toISOString(),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function resolvePolicyPath(forkPath) {
|
|
34
|
+
return path.resolve(resolveInForkStateDir(forkPath), "policy.json");
|
|
35
|
+
}
|
|
36
|
+
export function readKitForkPolicy(forkPath) {
|
|
37
|
+
const p = resolvePolicyPath(forkPath);
|
|
38
|
+
if (!fs.existsSync(p))
|
|
39
|
+
return makeDefaultKitForkPolicy();
|
|
40
|
+
try {
|
|
41
|
+
const parsed = JSON.parse(fs.readFileSync(p, "utf8"));
|
|
42
|
+
return { ...makeDefaultKitForkPolicy(), ...parsed, version: 1 };
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return makeDefaultKitForkPolicy();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export function writeKitForkPolicy(forkPath, policy) {
|
|
49
|
+
const p = resolvePolicyPath(forkPath);
|
|
50
|
+
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
51
|
+
const body = { ...policy, version: 1, updatedAt: new Date().toISOString() };
|
|
52
|
+
fs.writeFileSync(p, JSON.stringify(body, null, 2) + "\n", "utf8");
|
|
53
|
+
}
|
|
54
|
+
export function updateKitForkPolicy(forkPath, patch) {
|
|
55
|
+
const current = readKitForkPolicy(forkPath);
|
|
56
|
+
const next = { ...current, ...patch, version: 1 };
|
|
57
|
+
writeKitForkPolicy(forkPath, next);
|
|
58
|
+
return next;
|
|
59
|
+
}
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
// Policy evaluation helpers (pure — no I/O)
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
function matchesAnyPrefix(targetPath, patterns) {
|
|
64
|
+
const normalized = targetPath.replace(/^\/+|\/+$/g, "");
|
|
65
|
+
return patterns.some((pat) => {
|
|
66
|
+
const normPat = pat.replace(/^\/+|\/+$/g, "");
|
|
67
|
+
if (!normPat)
|
|
68
|
+
return false;
|
|
69
|
+
if (normalized === normPat)
|
|
70
|
+
return true;
|
|
71
|
+
return normalized.startsWith(`${normPat}/`);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
export function isUntouchable(policy, relativePath) {
|
|
75
|
+
return matchesAnyPrefix(relativePath, policy.untouchablePaths);
|
|
76
|
+
}
|
|
77
|
+
export function requiresConfirmation(policy, relativePath) {
|
|
78
|
+
return matchesAnyPrefix(relativePath, policy.confirmBeforeChange);
|
|
79
|
+
}
|
|
80
|
+
export function canAutoApplyAddition(policy) {
|
|
81
|
+
return policy.autoApprove === "additive" || policy.autoApprove === "all";
|
|
82
|
+
}
|
|
83
|
+
export function canAutoApplyModification(policy) {
|
|
84
|
+
return policy.autoApprove === "all";
|
|
85
|
+
}
|
|
86
|
+
export function canAutoApplyDepAddition(policy) {
|
|
87
|
+
return policy.autoApproveDepUpdates === "additive" || policy.autoApproveDepUpdates === "all";
|
|
88
|
+
}
|
|
89
|
+
export function canAutoApplyDepUpgrade(policy) {
|
|
90
|
+
return policy.autoApproveDepUpdates === "all";
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=fork-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-policy.js","sourceRoot":"","sources":["../../src/kits/fork-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kit Fork Registry
|
|
3
|
+
*
|
|
4
|
+
* Canonical fork state lives INSIDE the fork itself at:
|
|
5
|
+
* <forkPath>/.growthub-fork/fork.json
|
|
6
|
+
*
|
|
7
|
+
* The fork directory is therefore self-describing — move the fork, its
|
|
8
|
+
* kernel-packet-style registration moves with it. No Paperclip harness
|
|
9
|
+
* coupling, no external home directory required for correctness.
|
|
10
|
+
*
|
|
11
|
+
* A thin CLI-owned discovery index at:
|
|
12
|
+
* GROWTHUB_KIT_FORKS_HOME/index.json (default: ~/.growthub/kit-forks/index.json)
|
|
13
|
+
*
|
|
14
|
+
* lets `list` / `status` commands enumerate registered forks without scanning
|
|
15
|
+
* the filesystem. The index is rebuildable from the in-fork files and is
|
|
16
|
+
* authoritative only for discovery — never for canonical registration fields.
|
|
17
|
+
*/
|
|
18
|
+
import type { KitForkRegistration, RegisterKitForkOptions } from "./fork-types.js";
|
|
19
|
+
/**
|
|
20
|
+
* Root CLI-owned directory for kit-forks operational state.
|
|
21
|
+
* Kept for test/gate compatibility; does NOT hold canonical registration
|
|
22
|
+
* content (that lives inside each fork).
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveKitForksRoot(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Register a new fork directory.
|
|
27
|
+
* Writes <forkPath>/.growthub-fork/fork.json and adds an index entry.
|
|
28
|
+
* Throws if forkPath does not exist on disk.
|
|
29
|
+
*/
|
|
30
|
+
export declare function registerKitFork(opts: RegisterKitForkOptions): KitForkRegistration;
|
|
31
|
+
/** Persist an updated registration (e.g. after a successful sync). */
|
|
32
|
+
export declare function updateKitForkRegistration(reg: KitForkRegistration): void;
|
|
33
|
+
/** Load a specific fork by kitId + forkId. Resolves via the discovery index. */
|
|
34
|
+
export declare function loadKitForkRegistration(kitId: string, forkId: string): KitForkRegistration | null;
|
|
35
|
+
/**
|
|
36
|
+
* List all registered forks.
|
|
37
|
+
* Pass filterKitId to restrict results to a single kit.
|
|
38
|
+
* Stale index entries (forkPath no longer exists) are silently skipped.
|
|
39
|
+
*/
|
|
40
|
+
export declare function listKitForkRegistrations(filterKitId?: string): KitForkRegistration[];
|
|
41
|
+
/**
|
|
42
|
+
* Remove a fork registration. Deletes the in-fork .growthub-fork/ state
|
|
43
|
+
* directory and drops the index entry. Does NOT touch any of the user's
|
|
44
|
+
* content files outside .growthub-fork/.
|
|
45
|
+
* Returns true if the registration was found and removed.
|
|
46
|
+
*/
|
|
47
|
+
export declare function deregisterKitFork(kitId: string, forkId: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Look up the canonical forkPath for a (kitId, forkId) pair via the index.
|
|
50
|
+
* Returns null when no entry exists. Used by the job agent to route job state
|
|
51
|
+
* into the fork's own `.growthub-fork/jobs/` directory when possible.
|
|
52
|
+
*/
|
|
53
|
+
export declare function lookupKitForkPath(kitId: string, forkId: string): string | null;
|
|
54
|
+
//# sourceMappingURL=fork-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-registry.d.ts","sourceRoot":"","sources":["../../src/kits/fork-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAwDnF;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAiDD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,CAyBjF;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAQxE;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAKjG;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAYpF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9E"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kit Fork Registry
|
|
3
|
+
*
|
|
4
|
+
* Canonical fork state lives INSIDE the fork itself at:
|
|
5
|
+
* <forkPath>/.growthub-fork/fork.json
|
|
6
|
+
*
|
|
7
|
+
* The fork directory is therefore self-describing — move the fork, its
|
|
8
|
+
* kernel-packet-style registration moves with it. No Paperclip harness
|
|
9
|
+
* coupling, no external home directory required for correctness.
|
|
10
|
+
*
|
|
11
|
+
* A thin CLI-owned discovery index at:
|
|
12
|
+
* GROWTHUB_KIT_FORKS_HOME/index.json (default: ~/.growthub/kit-forks/index.json)
|
|
13
|
+
*
|
|
14
|
+
* lets `list` / `status` commands enumerate registered forks without scanning
|
|
15
|
+
* the filesystem. The index is rebuildable from the in-fork files and is
|
|
16
|
+
* authoritative only for discovery — never for canonical registration fields.
|
|
17
|
+
*/
|
|
18
|
+
import fs from "node:fs";
|
|
19
|
+
import path from "node:path";
|
|
20
|
+
import { resolveKitForksHomeDir, resolveKitForksIndexPath, resolveInForkStateDir, resolveInForkRegistrationPath, } from "../config/kit-forks-home.js";
|
|
21
|
+
function readIndex() {
|
|
22
|
+
const p = resolveKitForksIndexPath();
|
|
23
|
+
if (!fs.existsSync(p))
|
|
24
|
+
return { version: 1, entries: [] };
|
|
25
|
+
try {
|
|
26
|
+
const parsed = JSON.parse(fs.readFileSync(p, "utf8"));
|
|
27
|
+
if (!parsed || !Array.isArray(parsed.entries))
|
|
28
|
+
return { version: 1, entries: [] };
|
|
29
|
+
return parsed;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return { version: 1, entries: [] };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function writeIndex(index) {
|
|
36
|
+
const p = resolveKitForksIndexPath();
|
|
37
|
+
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
38
|
+
fs.writeFileSync(p, JSON.stringify(index, null, 2) + "\n", "utf8");
|
|
39
|
+
}
|
|
40
|
+
function upsertIndexEntry(entry) {
|
|
41
|
+
const index = readIndex();
|
|
42
|
+
const idx = index.entries.findIndex((e) => e.forkId === entry.forkId && e.kitId === entry.kitId);
|
|
43
|
+
if (idx >= 0)
|
|
44
|
+
index.entries[idx] = entry;
|
|
45
|
+
else
|
|
46
|
+
index.entries.push(entry);
|
|
47
|
+
writeIndex(index);
|
|
48
|
+
}
|
|
49
|
+
function removeIndexEntry(kitId, forkId) {
|
|
50
|
+
const index = readIndex();
|
|
51
|
+
const next = index.entries.filter((e) => !(e.kitId === kitId && e.forkId === forkId));
|
|
52
|
+
if (next.length !== index.entries.length)
|
|
53
|
+
writeIndex({ ...index, entries: next });
|
|
54
|
+
}
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// Public path helpers (preserved names for stable external API)
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
/**
|
|
59
|
+
* Root CLI-owned directory for kit-forks operational state.
|
|
60
|
+
* Kept for test/gate compatibility; does NOT hold canonical registration
|
|
61
|
+
* content (that lives inside each fork).
|
|
62
|
+
*/
|
|
63
|
+
export function resolveKitForksRoot() {
|
|
64
|
+
return resolveKitForksHomeDir();
|
|
65
|
+
}
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// ID generation
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
function sanitizeForkId(raw) {
|
|
70
|
+
return raw
|
|
71
|
+
.toLowerCase()
|
|
72
|
+
.replace(/[^a-z0-9-]/g, "-")
|
|
73
|
+
.replace(/-+/g, "-")
|
|
74
|
+
.slice(0, 56);
|
|
75
|
+
}
|
|
76
|
+
function generateForkId(forkPath, kitId) {
|
|
77
|
+
const dirName = path.basename(forkPath);
|
|
78
|
+
const base = sanitizeForkId(`${kitId}-${dirName}`);
|
|
79
|
+
const suffix = Date.now().toString(36).slice(-4);
|
|
80
|
+
return `${base}-${suffix}`;
|
|
81
|
+
}
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
// Low-level in-fork read / write
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
function readForkJson(forkPath) {
|
|
86
|
+
const p = resolveInForkRegistrationPath(forkPath);
|
|
87
|
+
if (!fs.existsSync(p))
|
|
88
|
+
return null;
|
|
89
|
+
try {
|
|
90
|
+
return JSON.parse(fs.readFileSync(p, "utf8"));
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function writeForkJson(reg) {
|
|
97
|
+
const stateDir = resolveInForkStateDir(reg.forkPath);
|
|
98
|
+
fs.mkdirSync(stateDir, { recursive: true });
|
|
99
|
+
fs.writeFileSync(resolveInForkRegistrationPath(reg.forkPath), JSON.stringify(reg, null, 2) + "\n", "utf8");
|
|
100
|
+
}
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// Public API
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
/**
|
|
105
|
+
* Register a new fork directory.
|
|
106
|
+
* Writes <forkPath>/.growthub-fork/fork.json and adds an index entry.
|
|
107
|
+
* Throws if forkPath does not exist on disk.
|
|
108
|
+
*/
|
|
109
|
+
export function registerKitFork(opts) {
|
|
110
|
+
const resolvedPath = path.resolve(opts.forkPath);
|
|
111
|
+
if (!fs.existsSync(resolvedPath)) {
|
|
112
|
+
throw new Error(`Fork path does not exist: ${resolvedPath}`);
|
|
113
|
+
}
|
|
114
|
+
const forkId = generateForkId(resolvedPath, opts.kitId);
|
|
115
|
+
const reg = {
|
|
116
|
+
forkId,
|
|
117
|
+
kitId: opts.kitId,
|
|
118
|
+
baseVersion: opts.baseVersion,
|
|
119
|
+
forkPath: resolvedPath,
|
|
120
|
+
registeredAt: new Date().toISOString(),
|
|
121
|
+
label: opts.label,
|
|
122
|
+
customSkills: opts.customSkills ?? [],
|
|
123
|
+
};
|
|
124
|
+
writeForkJson(reg);
|
|
125
|
+
upsertIndexEntry({
|
|
126
|
+
forkId: reg.forkId,
|
|
127
|
+
kitId: reg.kitId,
|
|
128
|
+
forkPath: reg.forkPath,
|
|
129
|
+
registeredAt: reg.registeredAt,
|
|
130
|
+
});
|
|
131
|
+
return reg;
|
|
132
|
+
}
|
|
133
|
+
/** Persist an updated registration (e.g. after a successful sync). */
|
|
134
|
+
export function updateKitForkRegistration(reg) {
|
|
135
|
+
writeForkJson(reg);
|
|
136
|
+
upsertIndexEntry({
|
|
137
|
+
forkId: reg.forkId,
|
|
138
|
+
kitId: reg.kitId,
|
|
139
|
+
forkPath: reg.forkPath,
|
|
140
|
+
registeredAt: reg.registeredAt,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/** Load a specific fork by kitId + forkId. Resolves via the discovery index. */
|
|
144
|
+
export function loadKitForkRegistration(kitId, forkId) {
|
|
145
|
+
const entry = readIndex().entries.find((e) => e.kitId === kitId && e.forkId === forkId);
|
|
146
|
+
if (!entry)
|
|
147
|
+
return null;
|
|
148
|
+
if (!fs.existsSync(entry.forkPath))
|
|
149
|
+
return null;
|
|
150
|
+
return readForkJson(entry.forkPath);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* List all registered forks.
|
|
154
|
+
* Pass filterKitId to restrict results to a single kit.
|
|
155
|
+
* Stale index entries (forkPath no longer exists) are silently skipped.
|
|
156
|
+
*/
|
|
157
|
+
export function listKitForkRegistrations(filterKitId) {
|
|
158
|
+
const index = readIndex();
|
|
159
|
+
const results = [];
|
|
160
|
+
for (const entry of index.entries) {
|
|
161
|
+
if (filterKitId && entry.kitId !== filterKitId)
|
|
162
|
+
continue;
|
|
163
|
+
if (!fs.existsSync(entry.forkPath))
|
|
164
|
+
continue;
|
|
165
|
+
const reg = readForkJson(entry.forkPath);
|
|
166
|
+
if (reg)
|
|
167
|
+
results.push(reg);
|
|
168
|
+
}
|
|
169
|
+
return results.sort((a, b) => a.registeredAt.localeCompare(b.registeredAt));
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Remove a fork registration. Deletes the in-fork .growthub-fork/ state
|
|
173
|
+
* directory and drops the index entry. Does NOT touch any of the user's
|
|
174
|
+
* content files outside .growthub-fork/.
|
|
175
|
+
* Returns true if the registration was found and removed.
|
|
176
|
+
*/
|
|
177
|
+
export function deregisterKitFork(kitId, forkId) {
|
|
178
|
+
const entry = readIndex().entries.find((e) => e.kitId === kitId && e.forkId === forkId);
|
|
179
|
+
if (!entry)
|
|
180
|
+
return false;
|
|
181
|
+
if (fs.existsSync(entry.forkPath)) {
|
|
182
|
+
const stateDir = resolveInForkStateDir(entry.forkPath);
|
|
183
|
+
fs.rmSync(stateDir, { recursive: true, force: true });
|
|
184
|
+
}
|
|
185
|
+
removeIndexEntry(kitId, forkId);
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Look up the canonical forkPath for a (kitId, forkId) pair via the index.
|
|
190
|
+
* Returns null when no entry exists. Used by the job agent to route job state
|
|
191
|
+
* into the fork's own `.growthub-fork/jobs/` directory when possible.
|
|
192
|
+
*/
|
|
193
|
+
export function lookupKitForkPath(kitId, forkId) {
|
|
194
|
+
const entry = readIndex().entries.find((e) => e.kitId === kitId && e.forkId === forkId);
|
|
195
|
+
if (!entry)
|
|
196
|
+
return null;
|
|
197
|
+
if (!fs.existsSync(entry.forkPath))
|
|
198
|
+
return null;
|
|
199
|
+
return entry.forkPath;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=fork-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-registry.js","sourceRoot":"","sources":["../../src/kits/fork-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kit Fork Remote Git Operations
|
|
3
|
+
*
|
|
4
|
+
* Thin shell around `git` (child_process) for the operations fork-sync needs:
|
|
5
|
+
* - detect whether a fork directory is a git repo
|
|
6
|
+
* - read/write the `origin` remote URL
|
|
7
|
+
* - create a branch, commit, push
|
|
8
|
+
* - fetch + diff against origin
|
|
9
|
+
*
|
|
10
|
+
* All operations are scoped to the fork directory — no global git config
|
|
11
|
+
* mutation, no interactive credential prompts (callers pass an access token
|
|
12
|
+
* for HTTPS auth via the URL).
|
|
13
|
+
*/
|
|
14
|
+
import type { GithubRepoRef } from "../github/types.js";
|
|
15
|
+
export interface GitOpResult {
|
|
16
|
+
ok: boolean;
|
|
17
|
+
stdout: string;
|
|
18
|
+
stderr: string;
|
|
19
|
+
code: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function isGitRepo(forkPath: string): boolean;
|
|
22
|
+
export declare function initGitRepo(forkPath: string): GitOpResult;
|
|
23
|
+
export declare function getOriginUrl(forkPath: string): string | null;
|
|
24
|
+
export declare function setOrigin(forkPath: string, cloneUrl: string): GitOpResult;
|
|
25
|
+
export declare function currentBranch(forkPath: string): string | null;
|
|
26
|
+
export declare function createBranch(forkPath: string, branchName: string, from?: string): GitOpResult;
|
|
27
|
+
export declare function stageAll(forkPath: string): GitOpResult;
|
|
28
|
+
export declare function commit(forkPath: string, message: string): GitOpResult;
|
|
29
|
+
export declare function fetchOrigin(forkPath: string): GitOpResult;
|
|
30
|
+
export declare function pushBranch(forkPath: string, branchName: string): GitOpResult;
|
|
31
|
+
/**
|
|
32
|
+
* Build an HTTPS clone URL that embeds a token for push auth.
|
|
33
|
+
* Token is passed once at invocation time; never stored in the repo config.
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildTokenCloneUrl(repo: GithubRepoRef, token: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* One-shot: switch to / create a heal branch, stage, commit, push.
|
|
38
|
+
* Returns the pushed branch name on success.
|
|
39
|
+
*/
|
|
40
|
+
export declare function pushHealCommit(opts: {
|
|
41
|
+
forkPath: string;
|
|
42
|
+
branchName: string;
|
|
43
|
+
commitMessage: string;
|
|
44
|
+
baseBranch?: string;
|
|
45
|
+
}): {
|
|
46
|
+
branch: string;
|
|
47
|
+
pushed: boolean;
|
|
48
|
+
detail: string;
|
|
49
|
+
};
|
|
50
|
+
/** Quick sanity: `git --version` is callable on this system. */
|
|
51
|
+
export declare function gitAvailable(): boolean;
|
|
52
|
+
//# sourceMappingURL=fork-remote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-remote.d.ts","sourceRoot":"","sources":["../../src/kits/fork-remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAiBD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAEzD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAIzE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAG7F;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAEtD;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAErE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAEzD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAE5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgBtD;AAED,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,OAAO,CAOtC"}
|