@angelmsger/fx 0.0.0-stage → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +296 -0
- package/LICENSE +202 -0
- package/README.md +180 -2
- package/bin/fx.js +17 -0
- package/bin/mcp-stdio.js +7 -0
- package/defaults/tools.yaml +90 -0
- package/dist/adapters/agent-host/extension-hooks.js +123 -0
- package/dist/adapters/agent-host/extension-hooks.js.map +1 -0
- package/dist/adapters/agent-host/host.js +62 -0
- package/dist/adapters/agent-host/host.js.map +1 -0
- package/dist/adapters/agent-host/json-hooks.js +163 -0
- package/dist/adapters/agent-host/json-hooks.js.map +1 -0
- package/dist/adapters/agent-host/json-mcp.js +71 -0
- package/dist/adapters/agent-host/json-mcp.js.map +1 -0
- package/dist/adapters/agent-host/mcp-launch.js +13 -0
- package/dist/adapters/agent-host/mcp-launch.js.map +1 -0
- package/dist/adapters/agent-host/specs.js +184 -0
- package/dist/adapters/agent-host/specs.js.map +1 -0
- package/dist/adapters/agent-host/toml-mcp.js +102 -0
- package/dist/adapters/agent-host/toml-mcp.js.map +1 -0
- package/dist/adapters/calendar/lark-calendar/provider.js +26 -0
- package/dist/adapters/calendar/lark-calendar/provider.js.map +1 -0
- package/dist/adapters/calendar/wecom-calendar/provider.js +29 -0
- package/dist/adapters/calendar/wecom-calendar/provider.js.map +1 -0
- package/dist/adapters/ci/jenkins-cli/ci.js +64 -0
- package/dist/adapters/ci/jenkins-cli/ci.js.map +1 -0
- package/dist/adapters/ci/jenkins-cli/provider.js +28 -0
- package/dist/adapters/ci/jenkins-cli/provider.js.map +1 -0
- package/dist/adapters/ci/jenkins-cli/recipes.js +15 -0
- package/dist/adapters/ci/jenkins-cli/recipes.js.map +1 -0
- package/dist/adapters/clock/system-clock.js +7 -0
- package/dist/adapters/clock/system-clock.js.map +1 -0
- package/dist/adapters/cluster/kubectl/provider.js +54 -0
- package/dist/adapters/cluster/kubectl/provider.js.map +1 -0
- package/dist/adapters/cluster/kubectl/recipes.js +76 -0
- package/dist/adapters/cluster/kubectl/recipes.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/client.js +9 -0
- package/dist/adapters/code-host/bitbucket-cli/client.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/contribution-call.js +32 -0
- package/dist/adapters/code-host/bitbucket-cli/contribution-call.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/provider.js +186 -0
- package/dist/adapters/code-host/bitbucket-cli/provider.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/pull-request-reference.js +46 -0
- package/dist/adapters/code-host/bitbucket-cli/pull-request-reference.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/pull-request.js +114 -0
- package/dist/adapters/code-host/bitbucket-cli/pull-request.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/recipes.js +17 -0
- package/dist/adapters/code-host/bitbucket-cli/recipes.js.map +1 -0
- package/dist/adapters/code-host/bitbucket-cli/repository-identity.js +51 -0
- package/dist/adapters/code-host/bitbucket-cli/repository-identity.js.map +1 -0
- package/dist/adapters/code-host/local-git/import.js +30 -0
- package/dist/adapters/code-host/local-git/import.js.map +1 -0
- package/dist/adapters/code-host/local-git/provider.js +176 -0
- package/dist/adapters/code-host/local-git/provider.js.map +1 -0
- package/dist/adapters/error-tracker/sentry/client.js +53 -0
- package/dist/adapters/error-tracker/sentry/client.js.map +1 -0
- package/dist/adapters/error-tracker/sentry/provider.js +25 -0
- package/dist/adapters/error-tracker/sentry/provider.js.map +1 -0
- package/dist/adapters/error-tracker/sentry/recipes.js +18 -0
- package/dist/adapters/error-tracker/sentry/recipes.js.map +1 -0
- package/dist/adapters/error-tracker/sentry/service.js +26 -0
- package/dist/adapters/error-tracker/sentry/service.js.map +1 -0
- package/dist/adapters/error-tracker/sentry/tracker.js +83 -0
- package/dist/adapters/error-tracker/sentry/tracker.js.map +1 -0
- package/dist/adapters/family/cli.js +159 -0
- package/dist/adapters/family/cli.js.map +1 -0
- package/dist/adapters/family/service-protocol.js +73 -0
- package/dist/adapters/family/service-protocol.js.map +1 -0
- package/dist/adapters/family/service.js +75 -0
- package/dist/adapters/family/service.js.map +1 -0
- package/dist/adapters/fs/directory-replacement.js +80 -0
- package/dist/adapters/fs/directory-replacement.js.map +1 -0
- package/dist/adapters/fs/node-fs.js +223 -0
- package/dist/adapters/fs/node-fs.js.map +1 -0
- package/dist/adapters/fs/snapshot-reader.js +40 -0
- package/dist/adapters/fs/snapshot-reader.js.map +1 -0
- package/dist/adapters/git/contribution-capture.js +148 -0
- package/dist/adapters/git/contribution-capture.js.map +1 -0
- package/dist/adapters/git/contribution-command.js +44 -0
- package/dist/adapters/git/contribution-command.js.map +1 -0
- package/dist/adapters/git/contribution-system-git.js +107 -0
- package/dist/adapters/git/contribution-system-git.js.map +1 -0
- package/dist/adapters/git/contribution-transport.js +148 -0
- package/dist/adapters/git/contribution-transport.js.map +1 -0
- package/dist/adapters/git/contribution-tree.js +73 -0
- package/dist/adapters/git/contribution-tree.js.map +1 -0
- package/dist/adapters/git/system-git.js +170 -0
- package/dist/adapters/git/system-git.js.map +1 -0
- package/dist/adapters/im/lark/provider.js +26 -0
- package/dist/adapters/im/lark/provider.js.map +1 -0
- package/dist/adapters/im/wecom/provider.js +29 -0
- package/dist/adapters/im/wecom/provider.js.map +1 -0
- package/dist/adapters/installer/brew.js +16 -0
- package/dist/adapters/installer/brew.js.map +1 -0
- package/dist/adapters/installer/go.js +16 -0
- package/dist/adapters/installer/go.js.map +1 -0
- package/dist/adapters/installer/manual.js +11 -0
- package/dist/adapters/installer/manual.js.map +1 -0
- package/dist/adapters/installer/npm.js +30 -0
- package/dist/adapters/installer/npm.js.map +1 -0
- package/dist/adapters/issue-tracker/feishu-project/provider.js +40 -0
- package/dist/adapters/issue-tracker/feishu-project/provider.js.map +1 -0
- package/dist/adapters/issue-tracker/jira-cli/provider.js +46 -0
- package/dist/adapters/issue-tracker/jira-cli/provider.js.map +1 -0
- package/dist/adapters/knowledge-base/confluence/provider.js +72 -0
- package/dist/adapters/knowledge-base/confluence/provider.js.map +1 -0
- package/dist/adapters/knowledge-base/lark-wiki/provider.js +30 -0
- package/dist/adapters/knowledge-base/lark-wiki/provider.js.map +1 -0
- package/dist/adapters/log-store/openobserve-cli/provider.js +52 -0
- package/dist/adapters/log-store/openobserve-cli/provider.js.map +1 -0
- package/dist/adapters/log-store/openobserve-cli/recipes.js +16 -0
- package/dist/adapters/log-store/openobserve-cli/recipes.js.map +1 -0
- package/dist/adapters/manifest-source/file.js +108 -0
- package/dist/adapters/manifest-source/file.js.map +1 -0
- package/dist/adapters/manifest-source/git-repo.js +162 -0
- package/dist/adapters/manifest-source/git-repo.js.map +1 -0
- package/dist/adapters/manifest-source/payload.js +41 -0
- package/dist/adapters/manifest-source/payload.js.map +1 -0
- package/dist/adapters/manifest-source/stdin.js +88 -0
- package/dist/adapters/manifest-source/stdin.js.map +1 -0
- package/dist/adapters/meeting/tencent-meeting/provider.js +29 -0
- package/dist/adapters/meeting/tencent-meeting/provider.js.map +1 -0
- package/dist/adapters/metrics/prometheus-cli/provider.js +40 -0
- package/dist/adapters/metrics/prometheus-cli/provider.js.map +1 -0
- package/dist/adapters/metrics/prometheus-cli/recipes.js +17 -0
- package/dist/adapters/metrics/prometheus-cli/recipes.js.map +1 -0
- package/dist/adapters/metrics/prometheus-cli/service.js +34 -0
- package/dist/adapters/metrics/prometheus-cli/service.js.map +1 -0
- package/dist/adapters/platform/template-platform.js +41 -0
- package/dist/adapters/platform/template-platform.js.map +1 -0
- package/dist/adapters/process/deadline-process.js +21 -0
- package/dist/adapters/process/deadline-process.js.map +1 -0
- package/dist/adapters/process/diagnostic-process.js +53 -0
- package/dist/adapters/process/diagnostic-process.js.map +1 -0
- package/dist/adapters/process/executable.js +54 -0
- package/dist/adapters/process/executable.js.map +1 -0
- package/dist/adapters/process/hook-tasks.js +32 -0
- package/dist/adapters/process/hook-tasks.js.map +1 -0
- package/dist/adapters/process/lifecycle-runner.js +110 -0
- package/dist/adapters/process/lifecycle-runner.js.map +1 -0
- package/dist/adapters/process/node-process.js +193 -0
- package/dist/adapters/process/node-process.js.map +1 -0
- package/dist/adapters/process/powershell.js +52 -0
- package/dist/adapters/process/powershell.js.map +1 -0
- package/dist/adapters/process/stdio-bridge.js +31 -0
- package/dist/adapters/process/stdio-bridge.js.map +1 -0
- package/dist/adapters/process/supervision.js +19 -0
- package/dist/adapters/process/supervision.js.map +1 -0
- package/dist/adapters/process/terminate.js +32 -0
- package/dist/adapters/process/terminate.js.map +1 -0
- package/dist/adapters/process/url-opener.js +23 -0
- package/dist/adapters/process/url-opener.js.map +1 -0
- package/dist/adapters/process/watched-process.js +38 -0
- package/dist/adapters/process/watched-process.js.map +1 -0
- package/dist/adapters/prompter/terminal.js +57 -0
- package/dist/adapters/prompter/terminal.js.map +1 -0
- package/dist/adapters/reference/entry.js +19 -0
- package/dist/adapters/reference/entry.js.map +1 -0
- package/dist/adapters/registry/npm-config.js +62 -0
- package/dist/adapters/registry/npm-config.js.map +1 -0
- package/dist/adapters/registry/npm-http.js +36 -0
- package/dist/adapters/registry/npm-http.js.map +1 -0
- package/dist/adapters/registry/npm-registry.js +89 -0
- package/dist/adapters/registry/npm-registry.js.map +1 -0
- package/dist/adapters/registry/registry-policy.js +68 -0
- package/dist/adapters/registry/registry-policy.js.map +1 -0
- package/dist/adapters/task/lark-task/provider.js +26 -0
- package/dist/adapters/task/lark-task/provider.js.map +1 -0
- package/dist/adapters/task/wecom-todo/provider.js +29 -0
- package/dist/adapters/task/wecom-todo/provider.js.map +1 -0
- package/dist/adapters/worklog/jira-worklog/provider.js +56 -0
- package/dist/adapters/worklog/jira-worklog/provider.js.map +1 -0
- package/dist/application/agent/cleanup.js +4 -0
- package/dist/application/agent/cleanup.js.map +1 -0
- package/dist/application/agent/list.js +39 -0
- package/dist/application/agent/list.js.map +1 -0
- package/dist/application/agent/pick.js +91 -0
- package/dist/application/agent/pick.js.map +1 -0
- package/dist/application/agent/workspace-cleanup.js +36 -0
- package/dist/application/agent/workspace-cleanup.js.map +1 -0
- package/dist/application/can.js +94 -0
- package/dist/application/can.js.map +1 -0
- package/dist/application/config/export.js +32 -0
- package/dist/application/config/export.js.map +1 -0
- package/dist/application/config/get.js +21 -0
- package/dist/application/config/get.js.map +1 -0
- package/dist/application/config/import-layer.js +31 -0
- package/dist/application/config/import-layer.js.map +1 -0
- package/dist/application/config/import-registry.js +51 -0
- package/dist/application/config/import-registry.js.map +1 -0
- package/dist/application/config/import.js +144 -0
- package/dist/application/config/import.js.map +1 -0
- package/dist/application/config/keys.js +65 -0
- package/dist/application/config/keys.js.map +1 -0
- package/dist/application/config/list.js +30 -0
- package/dist/application/config/list.js.map +1 -0
- package/dist/application/config/resolve.js +33 -0
- package/dist/application/config/resolve.js.map +1 -0
- package/dist/application/config/set.js +36 -0
- package/dist/application/config/set.js.map +1 -0
- package/dist/application/config/settings.js +38 -0
- package/dist/application/config/settings.js.map +1 -0
- package/dist/application/config/unset.js +31 -0
- package/dist/application/config/unset.js.map +1 -0
- package/dist/application/config/values.js +36 -0
- package/dist/application/config/values.js.map +1 -0
- package/dist/application/contribution/apply-source.js +133 -0
- package/dist/application/contribution/apply-source.js.map +1 -0
- package/dist/application/contribution/collect-input.js +39 -0
- package/dist/application/contribution/collect-input.js.map +1 -0
- package/dist/application/contribution/identity.js +23 -0
- package/dist/application/contribution/identity.js.map +1 -0
- package/dist/application/contribution/plan-existing.js +216 -0
- package/dist/application/contribution/plan-existing.js.map +1 -0
- package/dist/application/contribution/plan-source.js +186 -0
- package/dist/application/contribution/plan-source.js.map +1 -0
- package/dist/application/contribution/push-types.js +4 -0
- package/dist/application/contribution/push-types.js.map +1 -0
- package/dist/application/contribution/push.js +95 -0
- package/dist/application/contribution/push.js.map +1 -0
- package/dist/application/contribution/validate.js +60 -0
- package/dist/application/contribution/validate.js.map +1 -0
- package/dist/application/docs/derive.js +92 -0
- package/dist/application/docs/derive.js.map +1 -0
- package/dist/application/docs/render-regions.js +39 -0
- package/dist/application/docs/render-regions.js.map +1 -0
- package/dist/application/docs/rendered.js +91 -0
- package/dist/application/docs/rendered.js.map +1 -0
- package/dist/application/docs/skill-catalog.js +18 -0
- package/dist/application/docs/skill-catalog.js.map +1 -0
- package/dist/application/docs/template.js +15 -0
- package/dist/application/docs/template.js.map +1 -0
- package/dist/application/doctor/agents.js +33 -0
- package/dist/application/doctor/agents.js.map +1 -0
- package/dist/application/doctor/index.js +147 -0
- package/dist/application/doctor/index.js.map +1 -0
- package/dist/application/doctor/installations.js +29 -0
- package/dist/application/doctor/installations.js.map +1 -0
- package/dist/application/doctor/login.js +106 -0
- package/dist/application/doctor/login.js.map +1 -0
- package/dist/application/doctor/manifest.js +104 -0
- package/dist/application/doctor/manifest.js.map +1 -0
- package/dist/application/doctor/repos.js +36 -0
- package/dist/application/doctor/repos.js.map +1 -0
- package/dist/application/doctor/root.js +25 -0
- package/dist/application/doctor/root.js.map +1 -0
- package/dist/application/doctor/self.js +41 -0
- package/dist/application/doctor/self.js.map +1 -0
- package/dist/application/doctor/tools.js +105 -0
- package/dist/application/doctor/tools.js.map +1 -0
- package/dist/application/doctor/types.js +15 -0
- package/dist/application/doctor/types.js.map +1 -0
- package/dist/application/env/list.js +41 -0
- package/dist/application/env/list.js.map +1 -0
- package/dist/application/env/names.js +19 -0
- package/dist/application/env/names.js.map +1 -0
- package/dist/application/env/scope.js +16 -0
- package/dist/application/env/scope.js.map +1 -0
- package/dist/application/env/show.js +38 -0
- package/dist/application/env/show.js.map +1 -0
- package/dist/application/harness/apply.js +53 -0
- package/dist/application/harness/apply.js.map +1 -0
- package/dist/application/harness/cleanup.js +51 -0
- package/dist/application/harness/cleanup.js.map +1 -0
- package/dist/application/harness/inspect.js +44 -0
- package/dist/application/harness/inspect.js.map +1 -0
- package/dist/application/harness/mcp-readiness-batch.js +28 -0
- package/dist/application/harness/mcp-readiness-batch.js.map +1 -0
- package/dist/application/harness/mcp-readiness.js +96 -0
- package/dist/application/harness/mcp-readiness.js.map +1 -0
- package/dist/application/harness/names.js +16 -0
- package/dist/application/harness/names.js.map +1 -0
- package/dist/application/harness/plan.js +156 -0
- package/dist/application/harness/plan.js.map +1 -0
- package/dist/application/harness/reconcile.js +50 -0
- package/dist/application/harness/reconcile.js.map +1 -0
- package/dist/application/harness/session.js +82 -0
- package/dist/application/harness/session.js.map +1 -0
- package/dist/application/harness/stages.js +114 -0
- package/dist/application/harness/stages.js.map +1 -0
- package/dist/application/harness/targets.js +111 -0
- package/dist/application/harness/targets.js.map +1 -0
- package/dist/application/harness/types.js +10 -0
- package/dist/application/harness/types.js.map +1 -0
- package/dist/application/hook/apply.js +63 -0
- package/dist/application/hook/apply.js.map +1 -0
- package/dist/application/hook/automatic-sync.js +184 -0
- package/dist/application/hook/automatic-sync.js.map +1 -0
- package/dist/application/hook/cleanup.js +46 -0
- package/dist/application/hook/cleanup.js.map +1 -0
- package/dist/application/hook/dispatch-host.js +9 -0
- package/dist/application/hook/dispatch-host.js.map +1 -0
- package/dist/application/hook/dispatch.js +67 -0
- package/dist/application/hook/dispatch.js.map +1 -0
- package/dist/application/hook/observe.js +138 -0
- package/dist/application/hook/observe.js.map +1 -0
- package/dist/application/hook/output.js +11 -0
- package/dist/application/hook/output.js.map +1 -0
- package/dist/application/hook/plan.js +160 -0
- package/dist/application/hook/plan.js.map +1 -0
- package/dist/application/hook/reconcile.js +46 -0
- package/dist/application/hook/reconcile.js.map +1 -0
- package/dist/application/hook/session.js +92 -0
- package/dist/application/hook/session.js.map +1 -0
- package/dist/application/hook/supervisor-report.js +34 -0
- package/dist/application/hook/supervisor-report.js.map +1 -0
- package/dist/application/hook/types.js +3 -0
- package/dist/application/hook/types.js.map +1 -0
- package/dist/application/import.js +228 -0
- package/dist/application/import.js.map +1 -0
- package/dist/application/init/errors.js +135 -0
- package/dist/application/init/errors.js.map +1 -0
- package/dist/application/init/index.js +301 -0
- package/dist/application/init/index.js.map +1 -0
- package/dist/application/init/preview.js +181 -0
- package/dist/application/init/preview.js.map +1 -0
- package/dist/application/init/setup.js +125 -0
- package/dist/application/init/setup.js.map +1 -0
- package/dist/application/init/types.js +4 -0
- package/dist/application/init/types.js.map +1 -0
- package/dist/application/login/collect.js +74 -0
- package/dist/application/login/collect.js.map +1 -0
- package/dist/application/login/command-failure.js +18 -0
- package/dist/application/login/command-failure.js.map +1 -0
- package/dist/application/login/deps.js +6 -0
- package/dist/application/login/deps.js.map +1 -0
- package/dist/application/login/handoff.js +37 -0
- package/dist/application/login/handoff.js.map +1 -0
- package/dist/application/login/run.js +267 -0
- package/dist/application/login/run.js.map +1 -0
- package/dist/application/login/scope-envs.js +17 -0
- package/dist/application/login/scope-envs.js.map +1 -0
- package/dist/application/login/selection.js +16 -0
- package/dist/application/login/selection.js.map +1 -0
- package/dist/application/login/verify.js +131 -0
- package/dist/application/login/verify.js.map +1 -0
- package/dist/application/manifest/context.js +32 -0
- package/dist/application/manifest/context.js.map +1 -0
- package/dist/application/manifest/explain.js +15 -0
- package/dist/application/manifest/explain.js.map +1 -0
- package/dist/application/manifest/lint.js +93 -0
- package/dist/application/manifest/lint.js.map +1 -0
- package/dist/application/manifest/load.js +56 -0
- package/dist/application/manifest/load.js.map +1 -0
- package/dist/application/manifest/locate.js +23 -0
- package/dist/application/manifest/locate.js.map +1 -0
- package/dist/application/manifest/prepare.js +33 -0
- package/dist/application/manifest/prepare.js.map +1 -0
- package/dist/application/manifest/providers.js +36 -0
- package/dist/application/manifest/providers.js.map +1 -0
- package/dist/application/manifest/set.js +74 -0
- package/dist/application/manifest/set.js.map +1 -0
- package/dist/application/manifest/source-error.js +29 -0
- package/dist/application/manifest/source-error.js.map +1 -0
- package/dist/application/manifest/validate.js +83 -0
- package/dist/application/manifest/validate.js.map +1 -0
- package/dist/application/member/list.js +37 -0
- package/dist/application/member/list.js.map +1 -0
- package/dist/application/member/show.js +44 -0
- package/dist/application/member/show.js.map +1 -0
- package/dist/application/member/source.js +15 -0
- package/dist/application/member/source.js.map +1 -0
- package/dist/application/pool.js +19 -0
- package/dist/application/pool.js.map +1 -0
- package/dist/application/preparation.js +92 -0
- package/dist/application/preparation.js.map +1 -0
- package/dist/application/preview-initialization.js +41 -0
- package/dist/application/preview-initialization.js.map +1 -0
- package/dist/application/probe-record/index.js +102 -0
- package/dist/application/probe-record/index.js.map +1 -0
- package/dist/application/probe-record/plan.js +175 -0
- package/dist/application/probe-record/plan.js.map +1 -0
- package/dist/application/probe-record/types.js +4 -0
- package/dist/application/probe-record/types.js.map +1 -0
- package/dist/application/readiness/index.js +207 -0
- package/dist/application/readiness/index.js.map +1 -0
- package/dist/application/readiness/resolve.js +147 -0
- package/dist/application/readiness/resolve.js.map +1 -0
- package/dist/application/readiness/types.js +4 -0
- package/dist/application/readiness/types.js.map +1 -0
- package/dist/application/readiness/verdicts.js +42 -0
- package/dist/application/readiness/verdicts.js.map +1 -0
- package/dist/application/refresh-manifest.js +49 -0
- package/dist/application/refresh-manifest.js.map +1 -0
- package/dist/application/refresh-workspace-manifest.js +27 -0
- package/dist/application/refresh-workspace-manifest.js.map +1 -0
- package/dist/application/release/ci.js +68 -0
- package/dist/application/release/ci.js.map +1 -0
- package/dist/application/release/deps.js +21 -0
- package/dist/application/release/deps.js.map +1 -0
- package/dist/application/release/errors.js +46 -0
- package/dist/application/release/errors.js.map +1 -0
- package/dist/application/release/facts.js +46 -0
- package/dist/application/release/facts.js.map +1 -0
- package/dist/application/release/gates.js +53 -0
- package/dist/application/release/gates.js.map +1 -0
- package/dist/application/release/index.js +139 -0
- package/dist/application/release/index.js.map +1 -0
- package/dist/application/release/merge.js +41 -0
- package/dist/application/release/merge.js.map +1 -0
- package/dist/application/repo/add.js +55 -0
- package/dist/application/repo/add.js.map +1 -0
- package/dist/application/repo/fork.js +56 -0
- package/dist/application/repo/fork.js.map +1 -0
- package/dist/application/repo/list.js +59 -0
- package/dist/application/repo/list.js.map +1 -0
- package/dist/application/repo/open.js +26 -0
- package/dist/application/repo/open.js.map +1 -0
- package/dist/application/repo/remove.js +51 -0
- package/dist/application/repo/remove.js.map +1 -0
- package/dist/application/repo/scope.js +16 -0
- package/dist/application/repo/scope.js.map +1 -0
- package/dist/application/repo/show.js +41 -0
- package/dist/application/repo/show.js.map +1 -0
- package/dist/application/safety/posture.js +31 -0
- package/dist/application/safety/posture.js.map +1 -0
- package/dist/application/safety/replace-files.js +17 -0
- package/dist/application/safety/replace-files.js.map +1 -0
- package/dist/application/safety/trust.js +93 -0
- package/dist/application/safety/trust.js.map +1 -0
- package/dist/application/self/info.js +23 -0
- package/dist/application/self/info.js.map +1 -0
- package/dist/application/self/registry.js +14 -0
- package/dist/application/self/registry.js.map +1 -0
- package/dist/application/self/update.js +61 -0
- package/dist/application/self/update.js.map +1 -0
- package/dist/application/services/command.js +90 -0
- package/dist/application/services/command.js.map +1 -0
- package/dist/application/services/operation.js +127 -0
- package/dist/application/services/operation.js.map +1 -0
- package/dist/application/services/recipes.js +39 -0
- package/dist/application/services/recipes.js.map +1 -0
- package/dist/application/services/stage.js +32 -0
- package/dist/application/services/stage.js.map +1 -0
- package/dist/application/services/types.js +4 -0
- package/dist/application/services/types.js.map +1 -0
- package/dist/application/skill/copies.js +72 -0
- package/dist/application/skill/copies.js.map +1 -0
- package/dist/application/skill/destination.js +31 -0
- package/dist/application/skill/destination.js.map +1 -0
- package/dist/application/skill/fx-copies.js +34 -0
- package/dist/application/skill/fx-copies.js.map +1 -0
- package/dist/application/skill/list.js +57 -0
- package/dist/application/skill/list.js.map +1 -0
- package/dist/application/skill/observe.js +45 -0
- package/dist/application/skill/observe.js.map +1 -0
- package/dist/application/skill/outcome.js +24 -0
- package/dist/application/skill/outcome.js.map +1 -0
- package/dist/application/skill/stage.js +118 -0
- package/dist/application/skill/stage.js.map +1 -0
- package/dist/application/skill/standalone-targets.js +57 -0
- package/dist/application/skill/standalone-targets.js.map +1 -0
- package/dist/application/skill/standalone.js +147 -0
- package/dist/application/skill/standalone.js.map +1 -0
- package/dist/application/skill/targets.js +36 -0
- package/dist/application/skill/targets.js.map +1 -0
- package/dist/application/skill/team-links.js +64 -0
- package/dist/application/skill/team-links.js.map +1 -0
- package/dist/application/skill/tool-skills.js +195 -0
- package/dist/application/skill/tool-skills.js.map +1 -0
- package/dist/application/skill/types.js +4 -0
- package/dist/application/skill/types.js.map +1 -0
- package/dist/application/skill/write-error.js +28 -0
- package/dist/application/skill/write-error.js.map +1 -0
- package/dist/application/status.js +55 -0
- package/dist/application/status.js.map +1 -0
- package/dist/application/sync/checks.js +71 -0
- package/dist/application/sync/checks.js.map +1 -0
- package/dist/application/sync/index.js +238 -0
- package/dist/application/sync/index.js.map +1 -0
- package/dist/application/sync/stages.js +147 -0
- package/dist/application/sync/stages.js.map +1 -0
- package/dist/application/sync/types.js +5 -0
- package/dist/application/sync/types.js.map +1 -0
- package/dist/application/tally.js +66 -0
- package/dist/application/tally.js.map +1 -0
- package/dist/application/tool/audit.js +58 -0
- package/dist/application/tool/audit.js.map +1 -0
- package/dist/application/tool/check.js +80 -0
- package/dist/application/tool/check.js.map +1 -0
- package/dist/application/tool/initialize.js +57 -0
- package/dist/application/tool/initialize.js.map +1 -0
- package/dist/application/tool/install.js +228 -0
- package/dist/application/tool/install.js.map +1 -0
- package/dist/application/tool/installed.js +178 -0
- package/dist/application/tool/installed.js.map +1 -0
- package/dist/application/tool/list.js +38 -0
- package/dist/application/tool/list.js.map +1 -0
- package/dist/application/tool/scope.js +74 -0
- package/dist/application/tool/scope.js.map +1 -0
- package/dist/application/tool/select.js +28 -0
- package/dist/application/tool/select.js.map +1 -0
- package/dist/application/tool/show.js +45 -0
- package/dist/application/tool/show.js.map +1 -0
- package/dist/application/tool/toolchain.js +35 -0
- package/dist/application/tool/toolchain.js.map +1 -0
- package/dist/application/tool/version.js +17 -0
- package/dist/application/tool/version.js.map +1 -0
- package/dist/application/update/check.js +57 -0
- package/dist/application/update/check.js.map +1 -0
- package/dist/application/update/fx.js +51 -0
- package/dist/application/update/fx.js.map +1 -0
- package/dist/application/update/manifest.js +66 -0
- package/dist/application/update/manifest.js.map +1 -0
- package/dist/application/update/notices.js +23 -0
- package/dist/application/update/notices.js.map +1 -0
- package/dist/application/update/policy.js +9 -0
- package/dist/application/update/policy.js.map +1 -0
- package/dist/application/where.js +172 -0
- package/dist/application/where.js.map +1 -0
- package/dist/application/workspace/adopt.js +21 -0
- package/dist/application/workspace/adopt.js.map +1 -0
- package/dist/application/workspace/command-operation.js +45 -0
- package/dist/application/workspace/command-operation.js.map +1 -0
- package/dist/application/workspace/deps.js +6 -0
- package/dist/application/workspace/deps.js.map +1 -0
- package/dist/application/workspace/discover.js +62 -0
- package/dist/application/workspace/discover.js.map +1 -0
- package/dist/application/workspace/guidance.js +24 -0
- package/dist/application/workspace/guidance.js.map +1 -0
- package/dist/application/workspace/health.js +75 -0
- package/dist/application/workspace/health.js.map +1 -0
- package/dist/application/workspace/inspect.js +119 -0
- package/dist/application/workspace/inspect.js.map +1 -0
- package/dist/application/workspace/manage.js +326 -0
- package/dist/application/workspace/manage.js.map +1 -0
- package/dist/application/workspace/operation.js +22 -0
- package/dist/application/workspace/operation.js.map +1 -0
- package/dist/application/workspace/plan.js +61 -0
- package/dist/application/workspace/plan.js.map +1 -0
- package/dist/application/workspace/platforms.js +31 -0
- package/dist/application/workspace/platforms.js.map +1 -0
- package/dist/application/workspace/registry.js +36 -0
- package/dist/application/workspace/registry.js.map +1 -0
- package/dist/application/workspace/resolve.js +105 -0
- package/dist/application/workspace/resolve.js.map +1 -0
- package/dist/application/workspace/resources.js +198 -0
- package/dist/application/workspace/resources.js.map +1 -0
- package/dist/application/workspace/root-entries.js +32 -0
- package/dist/application/workspace/root-entries.js.map +1 -0
- package/dist/application/workspace/scope.js +89 -0
- package/dist/application/workspace/scope.js.map +1 -0
- package/dist/application/workspace/source-preview.js +64 -0
- package/dist/application/workspace/source-preview.js.map +1 -0
- package/dist/application/workspace/validate-layer.js +48 -0
- package/dist/application/workspace/validate-layer.js.map +1 -0
- package/dist/application/workspace-context.js +71 -0
- package/dist/application/workspace-context.js.map +1 -0
- package/dist/cli/base.js +340 -0
- package/dist/cli/base.js.map +1 -0
- package/dist/cli/commands/agent/list.js +17 -0
- package/dist/cli/commands/agent/list.js.map +1 -0
- package/dist/cli/commands/agent/pick.js +22 -0
- package/dist/cli/commands/agent/pick.js.map +1 -0
- package/dist/cli/commands/agent/skills.js +16 -0
- package/dist/cli/commands/agent/skills.js.map +1 -0
- package/dist/cli/commands/agent/unpick.js +23 -0
- package/dist/cli/commands/agent/unpick.js.map +1 -0
- package/dist/cli/commands/aliases.js +15 -0
- package/dist/cli/commands/aliases.js.map +1 -0
- package/dist/cli/commands/can.js +50 -0
- package/dist/cli/commands/can.js.map +1 -0
- package/dist/cli/commands/completion.js +35 -0
- package/dist/cli/commands/completion.js.map +1 -0
- package/dist/cli/commands/config/export.js +46 -0
- package/dist/cli/commands/config/export.js.map +1 -0
- package/dist/cli/commands/config/get.js +31 -0
- package/dist/cli/commands/config/get.js.map +1 -0
- package/dist/cli/commands/config/import.js +47 -0
- package/dist/cli/commands/config/import.js.map +1 -0
- package/dist/cli/commands/config/list.js +20 -0
- package/dist/cli/commands/config/list.js.map +1 -0
- package/dist/cli/commands/config/set.js +25 -0
- package/dist/cli/commands/config/set.js.map +1 -0
- package/dist/cli/commands/config/unset.js +20 -0
- package/dist/cli/commands/config/unset.js.map +1 -0
- package/dist/cli/commands/doctor.js +55 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/env/list.js +15 -0
- package/dist/cli/commands/env/list.js.map +1 -0
- package/dist/cli/commands/env/pick.js +17 -0
- package/dist/cli/commands/env/pick.js.map +1 -0
- package/dist/cli/commands/env/select.js +21 -0
- package/dist/cli/commands/env/select.js.map +1 -0
- package/dist/cli/commands/env/show.js +16 -0
- package/dist/cli/commands/env/show.js.map +1 -0
- package/dist/cli/commands/env/unpick.js +17 -0
- package/dist/cli/commands/env/unpick.js.map +1 -0
- package/dist/cli/commands/hook/disable.js +9 -0
- package/dist/cli/commands/hook/disable.js.map +1 -0
- package/dist/cli/commands/hook/dispatch.js +21 -0
- package/dist/cli/commands/hook/dispatch.js.map +1 -0
- package/dist/cli/commands/hook/enable.js +9 -0
- package/dist/cli/commands/hook/enable.js.map +1 -0
- package/dist/cli/commands/hook/list.js +10 -0
- package/dist/cli/commands/hook/list.js.map +1 -0
- package/dist/cli/commands/index.js +172 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.js +67 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/login.js +67 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/manifest/explain.js +27 -0
- package/dist/cli/commands/manifest/explain.js.map +1 -0
- package/dist/cli/commands/manifest/import.js +41 -0
- package/dist/cli/commands/manifest/import.js.map +1 -0
- package/dist/cli/commands/manifest/lint.js +18 -0
- package/dist/cli/commands/manifest/lint.js.map +1 -0
- package/dist/cli/commands/manifest/providers.js +20 -0
- package/dist/cli/commands/manifest/providers.js.map +1 -0
- package/dist/cli/commands/manifest/record-probe.js +39 -0
- package/dist/cli/commands/manifest/record-probe.js.map +1 -0
- package/dist/cli/commands/manifest/render.js +42 -0
- package/dist/cli/commands/manifest/render.js.map +1 -0
- package/dist/cli/commands/manifest/repo-set.js +32 -0
- package/dist/cli/commands/manifest/repo-set.js.map +1 -0
- package/dist/cli/commands/manifest/schema.js +24 -0
- package/dist/cli/commands/manifest/schema.js.map +1 -0
- package/dist/cli/commands/manifest/validate.js +33 -0
- package/dist/cli/commands/manifest/validate.js.map +1 -0
- package/dist/cli/commands/mcp/list.js +17 -0
- package/dist/cli/commands/mcp/list.js.map +1 -0
- package/dist/cli/commands/mcp/show.js +17 -0
- package/dist/cli/commands/mcp/show.js.map +1 -0
- package/dist/cli/commands/member/list.js +22 -0
- package/dist/cli/commands/member/list.js.map +1 -0
- package/dist/cli/commands/member/show.js +22 -0
- package/dist/cli/commands/member/show.js.map +1 -0
- package/dist/cli/commands/release.js +46 -0
- package/dist/cli/commands/release.js.map +1 -0
- package/dist/cli/commands/repo/add.js +29 -0
- package/dist/cli/commands/repo/add.js.map +1 -0
- package/dist/cli/commands/repo/fork.js +19 -0
- package/dist/cli/commands/repo/fork.js.map +1 -0
- package/dist/cli/commands/repo/list.js +43 -0
- package/dist/cli/commands/repo/list.js.map +1 -0
- package/dist/cli/commands/repo/open.js +23 -0
- package/dist/cli/commands/repo/open.js.map +1 -0
- package/dist/cli/commands/repo/pick.js +17 -0
- package/dist/cli/commands/repo/pick.js.map +1 -0
- package/dist/cli/commands/repo/remove.js +19 -0
- package/dist/cli/commands/repo/remove.js.map +1 -0
- package/dist/cli/commands/repo/select.js +21 -0
- package/dist/cli/commands/repo/select.js.map +1 -0
- package/dist/cli/commands/repo/show.js +17 -0
- package/dist/cli/commands/repo/show.js.map +1 -0
- package/dist/cli/commands/repo/unpick.js +17 -0
- package/dist/cli/commands/repo/unpick.js.map +1 -0
- package/dist/cli/commands/selection.js +27 -0
- package/dist/cli/commands/selection.js.map +1 -0
- package/dist/cli/commands/self/info.js +49 -0
- package/dist/cli/commands/self/info.js.map +1 -0
- package/dist/cli/commands/self/update.js +34 -0
- package/dist/cli/commands/self/update.js.map +1 -0
- package/dist/cli/commands/skill/install.js +18 -0
- package/dist/cli/commands/skill/install.js.map +1 -0
- package/dist/cli/commands/skill/path.js +12 -0
- package/dist/cli/commands/skill/path.js.map +1 -0
- package/dist/cli/commands/skill/show.js +10 -0
- package/dist/cli/commands/skill/show.js.map +1 -0
- package/dist/cli/commands/skill/status.js +10 -0
- package/dist/cli/commands/skill/status.js.map +1 -0
- package/dist/cli/commands/skill/uninstall.js +13 -0
- package/dist/cli/commands/skill/uninstall.js.map +1 -0
- package/dist/cli/commands/source/push.js +43 -0
- package/dist/cli/commands/source/push.js.map +1 -0
- package/dist/cli/commands/status.js +86 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/sync.js +40 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/tool/history.js +34 -0
- package/dist/cli/commands/tool/history.js.map +1 -0
- package/dist/cli/commands/tool/install.js +18 -0
- package/dist/cli/commands/tool/install.js.map +1 -0
- package/dist/cli/commands/tool/inventory.js +23 -0
- package/dist/cli/commands/tool/inventory.js.map +1 -0
- package/dist/cli/commands/tool/list.js +23 -0
- package/dist/cli/commands/tool/list.js.map +1 -0
- package/dist/cli/commands/tool/show.js +25 -0
- package/dist/cli/commands/tool/show.js.map +1 -0
- package/dist/cli/commands/tool/update.js +18 -0
- package/dist/cli/commands/tool/update.js.map +1 -0
- package/dist/cli/commands/where.js +50 -0
- package/dist/cli/commands/where.js.map +1 -0
- package/dist/cli/commands/workspace/list.js +20 -0
- package/dist/cli/commands/workspace/list.js.map +1 -0
- package/dist/cli/commands/workspace/rebind.js +33 -0
- package/dist/cli/commands/workspace/rebind.js.map +1 -0
- package/dist/cli/commands/workspace/relocate.js +21 -0
- package/dist/cli/commands/workspace/relocate.js.map +1 -0
- package/dist/cli/commands/workspace/show.js +22 -0
- package/dist/cli/commands/workspace/show.js.map +1 -0
- package/dist/cli/commands/workspace/unregister.js +19 -0
- package/dist/cli/commands/workspace/unregister.js.map +1 -0
- package/dist/cli/completion.js +217 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/config-flags.js +18 -0
- package/dist/cli/config-flags.js.map +1 -0
- package/dist/cli/flags.js +95 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/help.js +69 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/hook-command.js +36 -0
- package/dist/cli/hook-command.js.map +1 -0
- package/dist/cli/hook-entry.js +70 -0
- package/dist/cli/hook-entry.js.map +1 -0
- package/dist/cli/hook-worker.js +18 -0
- package/dist/cli/hook-worker.js.map +1 -0
- package/dist/cli/invocation-format.js +30 -0
- package/dist/cli/invocation-format.js.map +1 -0
- package/dist/cli/main.js +80 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/mcp-stdio.js +7 -0
- package/dist/cli/mcp-stdio.js.map +1 -0
- package/dist/cli/notices.js +55 -0
- package/dist/cli/notices.js.map +1 -0
- package/dist/cli/preparation-view.js +175 -0
- package/dist/cli/preparation-view.js.map +1 -0
- package/dist/cli/release-view.js +91 -0
- package/dist/cli/release-view.js.map +1 -0
- package/dist/cli/render/display.js +88 -0
- package/dist/cli/render/display.js.map +1 -0
- package/dist/cli/render/exceptional.js +60 -0
- package/dist/cli/render/exceptional.js.map +1 -0
- package/dist/cli/render/fields.js +53 -0
- package/dist/cli/render/fields.js.map +1 -0
- package/dist/cli/render/human.js +222 -0
- package/dist/cli/render/human.js.map +1 -0
- package/dist/cli/render/index.js +148 -0
- package/dist/cli/render/index.js.map +1 -0
- package/dist/cli/render/owners.js +20 -0
- package/dist/cli/render/owners.js.map +1 -0
- package/dist/cli/render/report.js +96 -0
- package/dist/cli/render/report.js.map +1 -0
- package/dist/cli/render/status-line.js +177 -0
- package/dist/cli/render/status-line.js.map +1 -0
- package/dist/cli/render/tone.js +69 -0
- package/dist/cli/render/tone.js.map +1 -0
- package/dist/cli/render/width.js +77 -0
- package/dist/cli/render/width.js.map +1 -0
- package/dist/cli/reporter.js +15 -0
- package/dist/cli/reporter.js.map +1 -0
- package/dist/cli/route/index.js +140 -0
- package/dist/cli/route/index.js.map +1 -0
- package/dist/cli/route/retired.js +116 -0
- package/dist/cli/route/retired.js.map +1 -0
- package/dist/cli/route/tokens.js +38 -0
- package/dist/cli/route/tokens.js.map +1 -0
- package/dist/cli/skill-command.js +43 -0
- package/dist/cli/skill-command.js.map +1 -0
- package/dist/cli/source-flags.js +16 -0
- package/dist/cli/source-flags.js.map +1 -0
- package/dist/cli/stdin.js +8 -0
- package/dist/cli/stdin.js.map +1 -0
- package/dist/cli/tool-command.js +38 -0
- package/dist/cli/tool-command.js.map +1 -0
- package/dist/cli/trace.js +35 -0
- package/dist/cli/trace.js.map +1 -0
- package/dist/cli/update-notices.js +31 -0
- package/dist/cli/update-notices.js.map +1 -0
- package/dist/cli/where-flags.js +28 -0
- package/dist/cli/where-flags.js.map +1 -0
- package/dist/cli/workspace-write-policy.js +36 -0
- package/dist/cli/workspace-write-policy.js.map +1 -0
- package/dist/composition/activity.js +20 -0
- package/dist/composition/activity.js.map +1 -0
- package/dist/composition/agent-cleanup.js +14 -0
- package/dist/composition/agent-cleanup.js.map +1 -0
- package/dist/composition/bundled.js +19 -0
- package/dist/composition/bundled.js.map +1 -0
- package/dist/composition/command-wiring.js +206 -0
- package/dist/composition/command-wiring.js.map +1 -0
- package/dist/composition/container.js +159 -0
- package/dist/composition/container.js.map +1 -0
- package/dist/composition/contributions.js +85 -0
- package/dist/composition/contributions.js.map +1 -0
- package/dist/composition/diagnostics.js +21 -0
- package/dist/composition/diagnostics.js.map +1 -0
- package/dist/composition/harness.js +32 -0
- package/dist/composition/harness.js.map +1 -0
- package/dist/composition/hook-entry.js +23 -0
- package/dist/composition/hook-entry.js.map +1 -0
- package/dist/composition/hook-report.js +18 -0
- package/dist/composition/hook-report.js.map +1 -0
- package/dist/composition/hook-wiring.js +106 -0
- package/dist/composition/hook-wiring.js.map +1 -0
- package/dist/composition/hook-worker.js +40 -0
- package/dist/composition/hook-worker.js.map +1 -0
- package/dist/composition/hooks.js +43 -0
- package/dist/composition/hooks.js.map +1 -0
- package/dist/composition/import.js +13 -0
- package/dist/composition/import.js.map +1 -0
- package/dist/composition/lifecycle-handlers.js +21 -0
- package/dist/composition/lifecycle-handlers.js.map +1 -0
- package/dist/composition/manifest-edit.js +7 -0
- package/dist/composition/manifest-edit.js.map +1 -0
- package/dist/composition/manifest-sources.js +35 -0
- package/dist/composition/manifest-sources.js.map +1 -0
- package/dist/composition/mcp-stdio.js +4 -0
- package/dist/composition/mcp-stdio.js.map +1 -0
- package/dist/composition/probe-record.js +14 -0
- package/dist/composition/probe-record.js.map +1 -0
- package/dist/composition/refresh.js +12 -0
- package/dist/composition/refresh.js.map +1 -0
- package/dist/composition/registry.js +140 -0
- package/dist/composition/registry.js.map +1 -0
- package/dist/composition/tool-install.js +7 -0
- package/dist/composition/tool-install.js.map +1 -0
- package/dist/composition/tool-inventory.js +6 -0
- package/dist/composition/tool-inventory.js.map +1 -0
- package/dist/composition/trace.js +8 -0
- package/dist/composition/trace.js.map +1 -0
- package/dist/composition/update.js +13 -0
- package/dist/composition/update.js.map +1 -0
- package/dist/composition/workspace-management.js +21 -0
- package/dist/composition/workspace-management.js.map +1 -0
- package/dist/domain/boundary/scan.js +139 -0
- package/dist/domain/boundary/scan.js.map +1 -0
- package/dist/domain/capability.js +53 -0
- package/dist/domain/capability.js.map +1 -0
- package/dist/domain/config/codec.js +36 -0
- package/dist/domain/config/codec.js.map +1 -0
- package/dist/domain/config/file.js +19 -0
- package/dist/domain/config/file.js.map +1 -0
- package/dist/domain/config/profile.js +15 -0
- package/dist/domain/config/profile.js.map +1 -0
- package/dist/domain/contribution/candidate.js +23 -0
- package/dist/domain/contribution/candidate.js.map +1 -0
- package/dist/domain/contribution/display-paths.js +9 -0
- package/dist/domain/contribution/display-paths.js.map +1 -0
- package/dist/domain/contribution/operation.js +4 -0
- package/dist/domain/contribution/operation.js.map +1 -0
- package/dist/domain/contribution/pending.js +20 -0
- package/dist/domain/contribution/pending.js.map +1 -0
- package/dist/domain/contribution/pull-request.js +4 -0
- package/dist/domain/contribution/pull-request.js.map +1 -0
- package/dist/domain/contribution/remote.js +111 -0
- package/dist/domain/contribution/remote.js.map +1 -0
- package/dist/domain/contribution/selection.js +65 -0
- package/dist/domain/contribution/selection.js.map +1 -0
- package/dist/domain/contribution/snapshot.js +4 -0
- package/dist/domain/contribution/snapshot.js.map +1 -0
- package/dist/domain/deadline.js +17 -0
- package/dist/domain/deadline.js.map +1 -0
- package/dist/domain/diagnostics.js +49 -0
- package/dist/domain/diagnostics.js.map +1 -0
- package/dist/domain/distribution.js +22 -0
- package/dist/domain/distribution.js.map +1 -0
- package/dist/domain/docs/derived.js +13 -0
- package/dist/domain/docs/derived.js.map +1 -0
- package/dist/domain/docs/regions.js +94 -0
- package/dist/domain/docs/regions.js.map +1 -0
- package/dist/domain/docs/skeleton.js +14 -0
- package/dist/domain/docs/skeleton.js.map +1 -0
- package/dist/domain/docs/templates.js +169 -0
- package/dist/domain/docs/templates.js.map +1 -0
- package/dist/domain/errors.js +156 -0
- package/dist/domain/errors.js.map +1 -0
- package/dist/domain/format.js +8 -0
- package/dist/domain/format.js.map +1 -0
- package/dist/domain/fuzzy.js +26 -0
- package/dist/domain/fuzzy.js.map +1 -0
- package/dist/domain/harness/hooks.js +10 -0
- package/dist/domain/harness/hooks.js.map +1 -0
- package/dist/domain/harness/mcp.js +18 -0
- package/dist/domain/harness/mcp.js.map +1 -0
- package/dist/domain/harness/ownership.js +3 -0
- package/dist/domain/harness/ownership.js.map +1 -0
- package/dist/domain/harness/request.js +43 -0
- package/dist/domain/harness/request.js.map +1 -0
- package/dist/domain/harness/rules.js +11 -0
- package/dist/domain/harness/rules.js.map +1 -0
- package/dist/domain/harness/session-start.js +18 -0
- package/dist/domain/harness/session-start.js.map +1 -0
- package/dist/domain/harness/state-recovery.js +28 -0
- package/dist/domain/harness/state-recovery.js.map +1 -0
- package/dist/domain/harness/state.js +4 -0
- package/dist/domain/harness/state.js.map +1 -0
- package/dist/domain/import/fold.js +48 -0
- package/dist/domain/import/fold.js.map +1 -0
- package/dist/domain/import/gitmodules.js +31 -0
- package/dist/domain/import/gitmodules.js.map +1 -0
- package/dist/domain/import/infer.js +95 -0
- package/dist/domain/import/infer.js.map +1 -0
- package/dist/domain/import/render.js +37 -0
- package/dist/domain/import/render.js.map +1 -0
- package/dist/domain/manifest/common.schema.js +51 -0
- package/dist/domain/manifest/common.schema.js.map +1 -0
- package/dist/domain/manifest/decode.js +133 -0
- package/dist/domain/manifest/decode.js.map +1 -0
- package/dist/domain/manifest/document.js +48 -0
- package/dist/domain/manifest/document.js.map +1 -0
- package/dist/domain/manifest/editor.js +173 -0
- package/dist/domain/manifest/editor.js.map +1 -0
- package/dist/domain/manifest/environments.schema.js +61 -0
- package/dist/domain/manifest/environments.schema.js.map +1 -0
- package/dist/domain/manifest/explain.js +102 -0
- package/dist/domain/manifest/explain.js.map +1 -0
- package/dist/domain/manifest/files.js +11 -0
- package/dist/domain/manifest/files.js.map +1 -0
- package/dist/domain/manifest/harness.schema.js +75 -0
- package/dist/domain/manifest/harness.schema.js.map +1 -0
- package/dist/domain/manifest/issues.js +47 -0
- package/dist/domain/manifest/issues.js.map +1 -0
- package/dist/domain/manifest/json-schema.js +24 -0
- package/dist/domain/manifest/json-schema.js.map +1 -0
- package/dist/domain/manifest/lint.js +146 -0
- package/dist/domain/manifest/lint.js.map +1 -0
- package/dist/domain/manifest/loader.js +122 -0
- package/dist/domain/manifest/loader.js.map +1 -0
- package/dist/domain/manifest/local.js +77 -0
- package/dist/domain/manifest/local.js.map +1 -0
- package/dist/domain/manifest/local.schema.js +54 -0
- package/dist/domain/manifest/local.schema.js.map +1 -0
- package/dist/domain/manifest/members.schema.js +82 -0
- package/dist/domain/manifest/members.schema.js.map +1 -0
- package/dist/domain/manifest/overlay.js +167 -0
- package/dist/domain/manifest/overlay.js.map +1 -0
- package/dist/domain/manifest/path-editor.js +98 -0
- package/dist/domain/manifest/path-editor.js.map +1 -0
- package/dist/domain/manifest/providers.js +106 -0
- package/dist/domain/manifest/providers.js.map +1 -0
- package/dist/domain/manifest/quarantine.js +18 -0
- package/dist/domain/manifest/quarantine.js.map +1 -0
- package/dist/domain/manifest/reflect.js +175 -0
- package/dist/domain/manifest/reflect.js.map +1 -0
- package/dist/domain/manifest/rules/environments.js +93 -0
- package/dist/domain/manifest/rules/environments.js.map +1 -0
- package/dist/domain/manifest/rules/harness.js +64 -0
- package/dist/domain/manifest/rules/harness.js.map +1 -0
- package/dist/domain/manifest/rules/members.js +36 -0
- package/dist/domain/manifest/rules/members.js.map +1 -0
- package/dist/domain/manifest/rules/services.js +33 -0
- package/dist/domain/manifest/rules/services.js.map +1 -0
- package/dist/domain/manifest/rules/tools.js +69 -0
- package/dist/domain/manifest/rules/tools.js.map +1 -0
- package/dist/domain/manifest/rules/vectors.js +44 -0
- package/dist/domain/manifest/rules/vectors.js.map +1 -0
- package/dist/domain/manifest/rules/workspace.js +61 -0
- package/dist/domain/manifest/rules/workspace.js.map +1 -0
- package/dist/domain/manifest/service.schema.js +50 -0
- package/dist/domain/manifest/service.schema.js.map +1 -0
- package/dist/domain/manifest/skill-frontmatter.js +21 -0
- package/dist/domain/manifest/skill-frontmatter.js.map +1 -0
- package/dist/domain/manifest/source-repo.js +25 -0
- package/dist/domain/manifest/source-repo.js.map +1 -0
- package/dist/domain/manifest/tools.schema.js +143 -0
- package/dist/domain/manifest/tools.schema.js.map +1 -0
- package/dist/domain/manifest/types.js +4 -0
- package/dist/domain/manifest/types.js.map +1 -0
- package/dist/domain/manifest/versioning.js +64 -0
- package/dist/domain/manifest/versioning.js.map +1 -0
- package/dist/domain/manifest/workspace.schema.js +176 -0
- package/dist/domain/manifest/workspace.schema.js.map +1 -0
- package/dist/domain/members/owners.js +47 -0
- package/dist/domain/members/owners.js.map +1 -0
- package/dist/domain/members/resolve.js +57 -0
- package/dist/domain/members/resolve.js.map +1 -0
- package/dist/domain/obs/confidence.js +11 -0
- package/dist/domain/obs/confidence.js.map +1 -0
- package/dist/domain/obs/coordinate.js +126 -0
- package/dist/domain/obs/coordinate.js.map +1 -0
- package/dist/domain/obs/observation.js +29 -0
- package/dist/domain/obs/observation.js.map +1 -0
- package/dist/domain/obs/probe.js +10 -0
- package/dist/domain/obs/probe.js.map +1 -0
- package/dist/domain/obs/types.js +6 -0
- package/dist/domain/obs/types.js.map +1 -0
- package/dist/domain/path.js +35 -0
- package/dist/domain/path.js.map +1 -0
- package/dist/domain/preparation.js +67 -0
- package/dist/domain/preparation.js.map +1 -0
- package/dist/domain/release/ci.js +89 -0
- package/dist/domain/release/ci.js.map +1 -0
- package/dist/domain/release/deps.js +180 -0
- package/dist/domain/release/deps.js.map +1 -0
- package/dist/domain/release/errors.js +57 -0
- package/dist/domain/release/errors.js.map +1 -0
- package/dist/domain/release/merge.js +65 -0
- package/dist/domain/release/merge.js.map +1 -0
- package/dist/domain/release/policy.js +38 -0
- package/dist/domain/release/policy.js.map +1 -0
- package/dist/domain/release/types.js +17 -0
- package/dist/domain/release/types.js.map +1 -0
- package/dist/domain/release/window.js +28 -0
- package/dist/domain/release/window.js.map +1 -0
- package/dist/domain/report.js +42 -0
- package/dist/domain/report.js.map +1 -0
- package/dist/domain/semver.js +65 -0
- package/dist/domain/semver.js.map +1 -0
- package/dist/domain/setup/failure-case.js +11 -0
- package/dist/domain/setup/failure-case.js.map +1 -0
- package/dist/domain/setup/json-check.js +29 -0
- package/dist/domain/setup/json-check.js.map +1 -0
- package/dist/domain/setup/planner.js +299 -0
- package/dist/domain/setup/planner.js.map +1 -0
- package/dist/domain/setup/public-defaults.js +24 -0
- package/dist/domain/setup/public-defaults.js.map +1 -0
- package/dist/domain/setup/service.js +2 -0
- package/dist/domain/setup/service.js.map +1 -0
- package/dist/domain/setup/types.js +4 -0
- package/dist/domain/setup/types.js.map +1 -0
- package/dist/domain/shell.js +60 -0
- package/dist/domain/shell.js.map +1 -0
- package/dist/domain/skills/frontmatter.js +3 -0
- package/dist/domain/skills/frontmatter.js.map +1 -0
- package/dist/domain/skills/lint.js +25 -0
- package/dist/domain/skills/lint.js.map +1 -0
- package/dist/domain/skills/projection.js +26 -0
- package/dist/domain/skills/projection.js.map +1 -0
- package/dist/domain/sync-selection.js +21 -0
- package/dist/domain/sync-selection.js.map +1 -0
- package/dist/domain/template.js +30 -0
- package/dist/domain/template.js.map +1 -0
- package/dist/domain/toolchain/installation-origin.js +26 -0
- package/dist/domain/toolchain/installation-origin.js.map +1 -0
- package/dist/domain/toolchain/installation.js +3 -0
- package/dist/domain/toolchain/installation.js.map +1 -0
- package/dist/domain/toolchain/resolve.js +90 -0
- package/dist/domain/toolchain/resolve.js.map +1 -0
- package/dist/domain/toolchain/select.js +51 -0
- package/dist/domain/toolchain/select.js.map +1 -0
- package/dist/domain/toolchain/stderr.js +107 -0
- package/dist/domain/toolchain/stderr.js.map +1 -0
- package/dist/domain/toolchain/trust.js +30 -0
- package/dist/domain/toolchain/trust.js.map +1 -0
- package/dist/domain/toolchain/version.js +7 -0
- package/dist/domain/toolchain/version.js.map +1 -0
- package/dist/domain/values.js +23 -0
- package/dist/domain/values.js.map +1 -0
- package/dist/domain/workspace/checkout.js +23 -0
- package/dist/domain/workspace/checkout.js.map +1 -0
- package/dist/domain/workspace/commits.js +4 -0
- package/dist/domain/workspace/commits.js.map +1 -0
- package/dist/domain/workspace/name.js +52 -0
- package/dist/domain/workspace/name.js.map +1 -0
- package/dist/domain/workspace/plan.js +110 -0
- package/dist/domain/workspace/plan.js.map +1 -0
- package/dist/domain/workspace/ref.js +43 -0
- package/dist/domain/workspace/ref.js.map +1 -0
- package/dist/domain/workspace/root-entries.js +34 -0
- package/dist/domain/workspace/root-entries.js.map +1 -0
- package/dist/domain/workspace/state.js +43 -0
- package/dist/domain/workspace/state.js.map +1 -0
- package/dist/domain/workspace/status.js +41 -0
- package/dist/domain/workspace/status.js.map +1 -0
- package/dist/infra/atomic-file.js +35 -0
- package/dist/infra/atomic-file.js.map +1 -0
- package/dist/infra/cache.js +49 -0
- package/dist/infra/cache.js.map +1 -0
- package/dist/infra/config-store.js +77 -0
- package/dist/infra/config-store.js.map +1 -0
- package/dist/infra/contribution-store.js +123 -0
- package/dist/infra/contribution-store.js.map +1 -0
- package/dist/infra/harness-state.js +101 -0
- package/dist/infra/harness-state.js.map +1 -0
- package/dist/infra/home.js +16 -0
- package/dist/infra/home.js.map +1 -0
- package/dist/infra/hook-state.js +62 -0
- package/dist/infra/hook-state.js.map +1 -0
- package/dist/infra/local-store.js +57 -0
- package/dist/infra/local-store.js.map +1 -0
- package/dist/infra/lock.js +116 -0
- package/dist/infra/lock.js.map +1 -0
- package/dist/infra/projection-store.js +135 -0
- package/dist/infra/projection-store.js.map +1 -0
- package/dist/infra/store-parents.js +24 -0
- package/dist/infra/store-parents.js.map +1 -0
- package/dist/infra/stored-shape.js +3 -0
- package/dist/infra/stored-shape.js.map +1 -0
- package/dist/infra/tool-history.js +94 -0
- package/dist/infra/tool-history.js.map +1 -0
- package/dist/infra/trace-file.js +7 -0
- package/dist/infra/trace-file.js.map +1 -0
- package/dist/infra/trust-store.js +67 -0
- package/dist/infra/trust-store.js.map +1 -0
- package/dist/infra/workspace-home.js +15 -0
- package/dist/infra/workspace-home.js.map +1 -0
- package/dist/ports/activity.js +5 -0
- package/dist/ports/activity.js.map +1 -0
- package/dist/ports/agent-cleanup.js +4 -0
- package/dist/ports/agent-cleanup.js.map +1 -0
- package/dist/ports/agent-host.js +4 -0
- package/dist/ports/agent-host.js.map +1 -0
- package/dist/ports/ci.js +4 -0
- package/dist/ports/ci.js.map +1 -0
- package/dist/ports/clock.js +4 -0
- package/dist/ports/clock.js.map +1 -0
- package/dist/ports/cluster.js +3 -0
- package/dist/ports/cluster.js.map +1 -0
- package/dist/ports/code-host.js +6 -0
- package/dist/ports/code-host.js.map +1 -0
- package/dist/ports/contribution-git.js +4 -0
- package/dist/ports/contribution-git.js.map +1 -0
- package/dist/ports/contribution-store.js +4 -0
- package/dist/ports/contribution-store.js.map +1 -0
- package/dist/ports/contribution-transport.js +4 -0
- package/dist/ports/contribution-transport.js.map +1 -0
- package/dist/ports/diagnostics.js +4 -0
- package/dist/ports/diagnostics.js.map +1 -0
- package/dist/ports/error-tracker.js +4 -0
- package/dist/ports/error-tracker.js.map +1 -0
- package/dist/ports/fs.js +5 -0
- package/dist/ports/fs.js.map +1 -0
- package/dist/ports/git.js +6 -0
- package/dist/ports/git.js.map +1 -0
- package/dist/ports/harness-state.js +4 -0
- package/dist/ports/harness-state.js.map +1 -0
- package/dist/ports/hook-handler.js +4 -0
- package/dist/ports/hook-handler.js.map +1 -0
- package/dist/ports/hook-protocol.js +4 -0
- package/dist/ports/hook-protocol.js.map +1 -0
- package/dist/ports/hook-state.js +4 -0
- package/dist/ports/hook-state.js.map +1 -0
- package/dist/ports/hook-tasks.js +4 -0
- package/dist/ports/hook-tasks.js.map +1 -0
- package/dist/ports/identifiers.js +4 -0
- package/dist/ports/identifiers.js.map +1 -0
- package/dist/ports/installer.js +5 -0
- package/dist/ports/installer.js.map +1 -0
- package/dist/ports/lifecycle-runner.js +4 -0
- package/dist/ports/lifecycle-runner.js.map +1 -0
- package/dist/ports/lock.js +4 -0
- package/dist/ports/lock.js.map +1 -0
- package/dist/ports/log-store.js +3 -0
- package/dist/ports/log-store.js.map +1 -0
- package/dist/ports/manifest-source.js +5 -0
- package/dist/ports/manifest-source.js.map +1 -0
- package/dist/ports/mcp-codec.js +4 -0
- package/dist/ports/mcp-codec.js.map +1 -0
- package/dist/ports/metrics.js +3 -0
- package/dist/ports/metrics.js.map +1 -0
- package/dist/ports/platform.js +5 -0
- package/dist/ports/platform.js.map +1 -0
- package/dist/ports/process.js +5 -0
- package/dist/ports/process.js.map +1 -0
- package/dist/ports/projection.js +4 -0
- package/dist/ports/projection.js.map +1 -0
- package/dist/ports/prompter.js +5 -0
- package/dist/ports/prompter.js.map +1 -0
- package/dist/ports/provider.js +6 -0
- package/dist/ports/provider.js.map +1 -0
- package/dist/ports/registry.js +5 -0
- package/dist/ports/registry.js.map +1 -0
- package/dist/ports/replace-files.js +2 -0
- package/dist/ports/replace-files.js.map +1 -0
- package/dist/ports/reporter.js +3 -0
- package/dist/ports/reporter.js.map +1 -0
- package/dist/ports/service-protocol.js +4 -0
- package/dist/ports/service-protocol.js.map +1 -0
- package/dist/ports/snapshot-views.js +4 -0
- package/dist/ports/snapshot-views.js.map +1 -0
- package/dist/ports/stores.js +3 -0
- package/dist/ports/stores.js.map +1 -0
- package/dist/ports/tool-history.js +3 -0
- package/dist/ports/tool-history.js.map +1 -0
- package/package.json +133 -4
- package/skills/fx-workspace/SKILL.md +34 -0
- package/skills/fx-workspace/references/commands.md +477 -0
- package/skills/fx-workspace/references/initialization.md +51 -0
- package/skills/fx-workspace/references/workspace-tasks.md +219 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Diagnostic redaction keeps troubleshooting useful without moving credentials
|
|
2
|
+
// or unbounded companion output onto fx's stderr data channel.
|
|
3
|
+
const SECRET_FLAG = /^--?(?:api[-_]?key|auth|credential|password|secret|token)$/i;
|
|
4
|
+
const SECRET_ASSIGNMENT = /^(--?(?:api[-_]?key|auth|credential|password|secret|token))=(.*)$/i;
|
|
5
|
+
const URL_CREDENTIALS = /(https?:\/\/[^\s:/@]+:)[^\s@]+@/gi;
|
|
6
|
+
const BEARER = /(\b(?:authorization\s*:\s*)?bearer\s+)[^\s,;]+/gi;
|
|
7
|
+
const ASSIGNMENT = /(\b(?:api[-_]?key|password|secret|token)\s*[=:]\s*)[^\s,;]+/gi;
|
|
8
|
+
const LIMIT = 4096;
|
|
9
|
+
export function redactVector(vector) {
|
|
10
|
+
let hidesNext = false;
|
|
11
|
+
return vector.map((argument) => {
|
|
12
|
+
if (hidesNext) {
|
|
13
|
+
hidesNext = false;
|
|
14
|
+
return '[REDACTED]';
|
|
15
|
+
}
|
|
16
|
+
if (SECRET_FLAG.test(argument)) {
|
|
17
|
+
hidesNext = true;
|
|
18
|
+
return argument;
|
|
19
|
+
}
|
|
20
|
+
const assigned = SECRET_ASSIGNMENT.exec(argument);
|
|
21
|
+
if (assigned !== null)
|
|
22
|
+
return `${assigned[1] ?? ''}=[REDACTED]`;
|
|
23
|
+
return redactText(argument);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function redactText(input) {
|
|
27
|
+
return input
|
|
28
|
+
.replace(URL_CREDENTIALS, '$1[REDACTED]@')
|
|
29
|
+
.replace(BEARER, '$1[REDACTED]')
|
|
30
|
+
.replace(ASSIGNMENT, '$1[REDACTED]');
|
|
31
|
+
}
|
|
32
|
+
export function summarizeDiagnostic(input) {
|
|
33
|
+
const text = redactText(input.trim());
|
|
34
|
+
if (text === '')
|
|
35
|
+
return undefined;
|
|
36
|
+
if (text.length <= LIMIT)
|
|
37
|
+
return text;
|
|
38
|
+
return `[truncated ${text.length - LIMIT} chars]\n${text.slice(-LIMIT)}`;
|
|
39
|
+
}
|
|
40
|
+
export function causeChain(error) {
|
|
41
|
+
const chain = [];
|
|
42
|
+
let current = error;
|
|
43
|
+
for (let depth = 0; depth < 5 && current instanceof Error; depth += 1) {
|
|
44
|
+
chain.push(redactText(`${current.name}: ${current.message}`));
|
|
45
|
+
current = current.cause;
|
|
46
|
+
}
|
|
47
|
+
return chain;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/domain/diagnostics.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+DAA+D;AAE/D,MAAM,WAAW,GAAG,6DAA6D,CAAC;AAClF,MAAM,iBAAiB,GAAG,oEAAoE,CAAC;AAC/F,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,MAAM,GAAG,kDAAkD,CAAC;AAClE,MAAM,UAAU,GAAG,+DAA+D,CAAC;AACnF,MAAM,KAAK,GAAG,IAAI,CAAC;AAmBnB,MAAM,UAAU,YAAY,CAAC,MAAyB;IACpD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC7B,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,KAAK,CAAC;YAClB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC;QAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC;SACzC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,cAAc,IAAI,CAAC,MAAM,GAAG,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,YAAY,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
// Distribution identity varies by channel; the project and executable remain fx-devkit/fx.
|
|
3
|
+
export const DISTRIBUTIONS = {
|
|
4
|
+
internal: { packageName: '@fx/devkit', access: 'restricted' },
|
|
5
|
+
public: { packageName: '@angelmsger/fx', access: 'public' },
|
|
6
|
+
};
|
|
7
|
+
export const PUBLIC_REGISTRY = 'https://registry.npmjs.org/';
|
|
8
|
+
/** @param {unknown} value */
|
|
9
|
+
export function distribution(value) {
|
|
10
|
+
if (value !== 'internal' && value !== 'public')
|
|
11
|
+
throw new Error('Choose internal or public distribution.');
|
|
12
|
+
return DISTRIBUTIONS[value];
|
|
13
|
+
}
|
|
14
|
+
/** @param {string} name */
|
|
15
|
+
export function packageChannel(name) {
|
|
16
|
+
if (name === DISTRIBUTIONS.internal.packageName)
|
|
17
|
+
return 'internal';
|
|
18
|
+
if (name === DISTRIBUTIONS.public.packageName)
|
|
19
|
+
return 'public';
|
|
20
|
+
throw new Error('Unknown fx distribution package.');
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=distribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/domain/distribution.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE;IAC7D,MAAM,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE;CAC5D,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAC7D,6BAA6B;AAC7B,MAAM,UAAU,YAAY,CAAC,KAAK;IAChC,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ;QAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AACD,2BAA2B;AAC3B,MAAM,UAAU,cAAc,CAAC,IAAI;IACjC,IAAI,IAAI,KAAK,aAAa,CAAC,QAAQ,CAAC,WAAW;QAAE,OAAO,UAAU,CAAC;IACnE,IAAI,IAAI,KAAK,aAAa,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IAC/D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// A file fx derives into the workspace root announces itself on its first
|
|
2
|
+
// line, so fx can tell its own output from a person's file and never
|
|
3
|
+
// replace the latter.
|
|
4
|
+
const PREFIX = '<!-- fx:derived ';
|
|
5
|
+
export const DERIVED_GUIDE = 'AGENTS.md';
|
|
6
|
+
// Claude Code reads the guide itself, and reads this file in its place whenever it
|
|
7
|
+
// exists. fx therefore derives none: a marked copy is the pointer earlier versions
|
|
8
|
+
// wrote and is removed, and any other belongs to the person.
|
|
9
|
+
export const CLAUDE_GUIDE = 'CLAUDE.md';
|
|
10
|
+
export const marker = (origin) => `${PREFIX}from ${origin}; regenerated by fx sync, edit the origin instead -->`;
|
|
11
|
+
export const isDerived = (text) => text.startsWith(PREFIX);
|
|
12
|
+
export const derive = (text, origin) => `${marker(origin)}\n${text}`;
|
|
13
|
+
//# sourceMappingURL=derived.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived.js","sourceRoot":"","sources":["../../../src/domain/docs/derived.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,sBAAsB;AAEtB,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AAEzC,mFAAmF;AACnF,mFAAmF;AACnF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAU,EAAE,CAC/C,GAAG,MAAM,QAAQ,MAAM,uDAAuD,CAAC;AAEjF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,MAAc,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Replace fx-owned regions while preserving author text. Source rendering reports
|
|
2
|
+
// missing regions; generated workspace guides may append them through completeRegions.
|
|
3
|
+
import { DevkitError } from '../errors.js';
|
|
4
|
+
export const begin = (name) => `<!-- fx:begin ${name} -->`;
|
|
5
|
+
export const end = (name) => `<!-- fx:end ${name} -->`;
|
|
6
|
+
const MARKER = /<!-- fx:begin ([a-z0-9-]+) -->/g;
|
|
7
|
+
const BOUNDARY = /<!-- fx:(begin|end) ([a-z0-9-]+) -->/g;
|
|
8
|
+
const RETIRED = new Set(['rules']);
|
|
9
|
+
export function completeRegions(doc, regions) {
|
|
10
|
+
const seen = new Set();
|
|
11
|
+
let opening;
|
|
12
|
+
for (const marker of doc.matchAll(BOUNDARY)) {
|
|
13
|
+
const name = marker[2];
|
|
14
|
+
if (marker[1] === 'begin') {
|
|
15
|
+
if (opening !== undefined || seen.has(name))
|
|
16
|
+
throw invalidRegions(name);
|
|
17
|
+
opening = name;
|
|
18
|
+
seen.add(name);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
if (opening !== name)
|
|
22
|
+
throw invalidRegions(name);
|
|
23
|
+
opening = undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (opening !== undefined)
|
|
27
|
+
throw invalidRegions(opening);
|
|
28
|
+
const rendered = renderRegions(doc, regions);
|
|
29
|
+
const added = rendered.missing;
|
|
30
|
+
const suffix = added.map((name) => region(name, regions[name])).join('\n\n');
|
|
31
|
+
return {
|
|
32
|
+
...rendered,
|
|
33
|
+
text: suffix
|
|
34
|
+
? `${rendered.text}${rendered.text.endsWith('\n') ? '\n' : '\n\n'}${suffix}\n`
|
|
35
|
+
: rendered.text,
|
|
36
|
+
missing: [],
|
|
37
|
+
added,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function invalidRegions(name) {
|
|
41
|
+
return new DevkitError('conflict', 'DOCS_REGIONS_INVALID', `The guide has ambiguous fx markers near ${name}`, {
|
|
42
|
+
hint: 'Nested, duplicate and unclosed regions are preserved rather than rewritten.',
|
|
43
|
+
nextSteps: ['Repair the marker pairs in the source AGENTS.md, then retry initialization.'],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
export function renderRegions(doc, regions) {
|
|
47
|
+
const present = [...doc.matchAll(MARKER)].map((m) => m[1] ?? '');
|
|
48
|
+
const replaced = [];
|
|
49
|
+
let text = removeRetired(doc);
|
|
50
|
+
for (const [name, body] of Object.entries(regions)) {
|
|
51
|
+
const from = text.indexOf(begin(name));
|
|
52
|
+
const to = text.indexOf(end(name), from);
|
|
53
|
+
if (from === -1 || to === -1)
|
|
54
|
+
continue;
|
|
55
|
+
text = `${text.slice(0, from + begin(name).length)}\n${body.trim()}\n${text.slice(to)}`;
|
|
56
|
+
replaced.push(name);
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
text,
|
|
60
|
+
replaced,
|
|
61
|
+
missing: Object.keys(regions).filter((name) => !replaced.includes(name)),
|
|
62
|
+
unknown: present.filter((name) => !(name in regions)),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// Only an unambiguous top-level pair is removable. A nested or malformed
|
|
66
|
+
// block may contain human-owned markers, so leave that whole block alone.
|
|
67
|
+
function removeRetired(doc) {
|
|
68
|
+
const stack = [];
|
|
69
|
+
const spans = [];
|
|
70
|
+
let nested = false;
|
|
71
|
+
for (const marker of doc.matchAll(BOUNDARY)) {
|
|
72
|
+
if (marker[1] === 'begin') {
|
|
73
|
+
if (stack.length === 0)
|
|
74
|
+
nested = false;
|
|
75
|
+
else
|
|
76
|
+
nested = true;
|
|
77
|
+
stack.push(marker);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const opening = stack.pop();
|
|
81
|
+
if (opening === undefined || stack.length > 0 || nested)
|
|
82
|
+
continue;
|
|
83
|
+
if (opening[2] === marker[2] && RETIRED.has(opening[2] ?? ''))
|
|
84
|
+
spans.push({ start: opening.index, end: marker.index + marker[0].length });
|
|
85
|
+
}
|
|
86
|
+
let text = doc;
|
|
87
|
+
for (const span of spans.reverse())
|
|
88
|
+
text = text.slice(0, span.start) + text.slice(span.end);
|
|
89
|
+
return text;
|
|
90
|
+
}
|
|
91
|
+
export function region(name, body) {
|
|
92
|
+
return `${begin(name)}\n${body.trim()}\n${end(name)}`;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=regions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../../src/domain/docs/regions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// The AGENTS.md a fresh workspace starts from: a title, one sentence on how
|
|
2
|
+
// the file works, and the active regions, empty. Prose belongs outside them.
|
|
3
|
+
import { region } from './regions.js';
|
|
4
|
+
import { REGIONS } from './templates.js';
|
|
5
|
+
export function agentsSkeleton(workspaceName) {
|
|
6
|
+
return [
|
|
7
|
+
`# ${workspaceName} workspace`,
|
|
8
|
+
'',
|
|
9
|
+
'This workspace is built and kept in step by `fx`. The blocks between `<!-- fx:begin … -->` and `<!-- fx:end … -->` are generated from the manifest by `fx manifest render` in the manifest repository and are replaced as a whole; write routing rules, conventions and anything else people should know **outside** them.',
|
|
10
|
+
'',
|
|
11
|
+
...REGIONS.flatMap((name) => [region(name, ''), '']),
|
|
12
|
+
].join('\n');
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/domain/docs/skeleton.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,OAAO;QACL,KAAK,aAAa,YAAY;QAC9B,EAAE;QACF,4TAA4T;QAC5T,EAAE;QACF,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;KACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// The generated regions of AGENTS.md: what an agent needs before it loads any Skill or
|
|
2
|
+
// asks fx anything. Facts that vary by person or machine — coordinates, credentials,
|
|
3
|
+
// versions, people — stay out; the text points at the fx command that answers instead.
|
|
4
|
+
import { CAPABILITY_INFO, knownCapability, } from '../capability.js';
|
|
5
|
+
import { WORKBENCH_DIR } from '../workspace/root-entries.js';
|
|
6
|
+
export const REGIONS = [
|
|
7
|
+
'project-index',
|
|
8
|
+
'capabilities',
|
|
9
|
+
'environments',
|
|
10
|
+
'ask-fx',
|
|
11
|
+
'workspace-layout',
|
|
12
|
+
'team-skills',
|
|
13
|
+
];
|
|
14
|
+
export function renderAll(input) {
|
|
15
|
+
return {
|
|
16
|
+
'project-index': projectIndex(input.workspace),
|
|
17
|
+
capabilities: capabilities(input),
|
|
18
|
+
environments: environments(input.environments),
|
|
19
|
+
'ask-fx': askFx(),
|
|
20
|
+
'workspace-layout': workspaceLayout(),
|
|
21
|
+
'team-skills': teamSkillIndex(input.teamSkills ?? []),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function projectIndex(workspace) {
|
|
25
|
+
const groups = new Map();
|
|
26
|
+
for (const repo of workspace.repos) {
|
|
27
|
+
const tag = repo.tags?.[0] ?? 'other';
|
|
28
|
+
groups.set(tag, [...(groups.get(tag) ?? []), repo]);
|
|
29
|
+
}
|
|
30
|
+
const lines = [
|
|
31
|
+
'## Repositories',
|
|
32
|
+
'',
|
|
33
|
+
'One line per repository, grouped by its first tag. `fx repo show <name>` has the rest.',
|
|
34
|
+
'This catalog includes repositories not downloaded yet. When a task needs one, use `fx repo show <name>` and follow its `next_steps` to select and synchronize it, then continue the task in its checkout.',
|
|
35
|
+
];
|
|
36
|
+
for (const [tag, repos] of [...groups.entries()].sort(([a], [b]) => a.localeCompare(b))) {
|
|
37
|
+
lines.push('', `### ${tag}`, '', '| Repository | Project | Description |', '| --- | --- | --- |');
|
|
38
|
+
for (const repo of repos) {
|
|
39
|
+
const project = repo.project ?? workspace.defaults.upstream_project ?? '';
|
|
40
|
+
lines.push(`| \`${repo.name}\` | ${project} | ${cell(repo.desc)} |`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return lines.join('\n');
|
|
44
|
+
}
|
|
45
|
+
const WHEN = {
|
|
46
|
+
'code-host': 'read or fork a repository, open a pull request',
|
|
47
|
+
'issue-tracker': 'find or update a work item',
|
|
48
|
+
'knowledge-base': 'read team documentation',
|
|
49
|
+
im: 'message a person or a group',
|
|
50
|
+
calendar: 'find an event or when someone is free',
|
|
51
|
+
meeting: 'schedule or look up an online meeting, its recording or minutes',
|
|
52
|
+
task: 'track a to-do',
|
|
53
|
+
worklog: 'record or review time spent',
|
|
54
|
+
'error-tracker': 'look at runtime errors of a service',
|
|
55
|
+
'log-store': 'search the logs of a service',
|
|
56
|
+
metrics: 'query the metrics of a service',
|
|
57
|
+
ci: 'check a build or its console output',
|
|
58
|
+
cluster: 'see what is running (read-only)',
|
|
59
|
+
};
|
|
60
|
+
export function capabilities(input) {
|
|
61
|
+
const lines = [
|
|
62
|
+
'## Capabilities',
|
|
63
|
+
'',
|
|
64
|
+
'What the workspace can reach, who provides it, and the command to run **before** using the tool. `fx can` answers whether it works on this machine right now and explains what is missing when it does not; `fx where <repo> --env <env>` answers per platform for one repository, with the coordinate.',
|
|
65
|
+
'',
|
|
66
|
+
'| Need to | Capability | Provider | Tool | Ask fx first |',
|
|
67
|
+
'| --- | --- | --- | --- | --- |',
|
|
68
|
+
];
|
|
69
|
+
const workspaceRows = input.bindings
|
|
70
|
+
.filter((b) => b.provider !== null)
|
|
71
|
+
.map((b) => row(b.capability, b.provider ?? '', input, `fx can ${b.capability}`));
|
|
72
|
+
const platformRows = input.platforms
|
|
73
|
+
.filter((b) => b.provider !== null)
|
|
74
|
+
.map((b) => row(b.capability, b.provider ?? '', input, `fx where <repo> --env <env> --platform ${b.platform}`));
|
|
75
|
+
lines.push(...workspaceRows, ...platformRows);
|
|
76
|
+
lines.push('', 'People and ownership are not a capability: `fx member show <name>`; `fx repo show <repo>` names the owners.');
|
|
77
|
+
return lines.join('\n');
|
|
78
|
+
}
|
|
79
|
+
function row(capability, provider, input, command) {
|
|
80
|
+
const known = knownCapability(capability);
|
|
81
|
+
const when = known === null ? capability : (WHEN[known] ?? CAPABILITY_INFO[known].desc);
|
|
82
|
+
const tools = input
|
|
83
|
+
.toolsOf(provider)
|
|
84
|
+
.map((name) => input.tools.find((t) => t.name === name)?.binary ?? name)
|
|
85
|
+
.map((t) => `\`${t}\``)
|
|
86
|
+
.join(', ');
|
|
87
|
+
return `| ${when} | ${capability} | ${provider} | ${tools} | \`${command}\` |`;
|
|
88
|
+
}
|
|
89
|
+
export function environments(doc) {
|
|
90
|
+
const lines = ['## Environments', ''];
|
|
91
|
+
if (doc === undefined) {
|
|
92
|
+
lines.push('This workspace declares no environments.');
|
|
93
|
+
return lines.join('\n');
|
|
94
|
+
}
|
|
95
|
+
lines.push('Names and what each one is. Coordinates (projects, streams, jobs, namespaces) are not written here: `fx where <repo> --env <env>` derives them from the manifest.', '', '| Environment | Label | Platforms | Note |', '| --- | --- | --- | --- |');
|
|
96
|
+
for (const [name, env] of Object.entries(doc.envs)) {
|
|
97
|
+
lines.push(`| \`${name}\` | ${cell(env.label)} | ${Object.keys(env.platforms ?? {}).join(', ')} | ${cell(env.note)} |`);
|
|
98
|
+
}
|
|
99
|
+
return lines.join('\n');
|
|
100
|
+
}
|
|
101
|
+
export function askFx() {
|
|
102
|
+
return [
|
|
103
|
+
'## Ask fx',
|
|
104
|
+
'',
|
|
105
|
+
'Start with the read-only command `fx self info --format json`. Verify `name` is `@fx/devkit` (internal) or `@angelmsger/fx` (public) and check `version`, then read `SKILL.md` inside the returned `bundled_skill` directory. A valid response establishes the entry for this task; do not repeat wrapper, package-file or `--version` probes for the same entry. A matching executable name or a global Skill copy alone does not establish identity.',
|
|
106
|
+
'',
|
|
107
|
+
'If the command is missing, cannot start or returns a different identity, use `command -v fx` (or the shell equivalent) and inspect the resolved executable/package. Read the manifest source README for the team installation source. In a derived guide the first-line `fx:derived from` marker locates that source; otherwise use this manifest checkout. This recovery works without fx.',
|
|
108
|
+
'',
|
|
109
|
+
'For recovery, use only a verified installation or a local checkout identified by package.json as `@fx/devkit` or `@angelmsger/fx` with bin `fx`. Check its runtime requirements and README; an available build can run as `node <checkout>/bin/fx.js` without global installation. If runtime/dependencies/build are missing, perform authorized local preparation from that README. Do not guess a package registry, publication state, credentials or a checkout outside this workspace. If no usable source is documented or reachable, ask for that specific source/access and retain the original task.',
|
|
110
|
+
'',
|
|
111
|
+
'After recovering or changing the entry, repeat `self info --format json` and load its bundled Skill. Keep using the verified entry; no Skill-loaded environment declaration is required. A startup failure is a runtime/PATH/source problem to diagnose; do not repeat an unchanged failure.',
|
|
112
|
+
'',
|
|
113
|
+
'Coordinates, people, tool state and machine setup are answered by `fx`, always with `--format json` when an agent is asking. Do not guess any of them.',
|
|
114
|
+
'',
|
|
115
|
+
'`fx` answers; you act. It prints the command a coordinate resolves to and never runs it — running it is yours to do, once `fx` says the platform is ready.',
|
|
116
|
+
'',
|
|
117
|
+
'| Question | Command |',
|
|
118
|
+
'| --- | --- |',
|
|
119
|
+
'| Where are the errors / logs / builds / pods of a service, and can I use them now | `fx where <repo> --env <env>` |',
|
|
120
|
+
'| Can I use a capability or tool right now | `fx can <capability\\|tool> [--env <env>]` |',
|
|
121
|
+
'| Who is this person; who owns this repository | `fx member show <name>`; `fx repo show <repo>` |',
|
|
122
|
+
'| Is this machine set up; what is missing | `fx doctor`; `fx login --list` |',
|
|
123
|
+
'| What environments exist | `fx env list`; `fx env show <env>` |',
|
|
124
|
+
'',
|
|
125
|
+
'For a non-ready answer or `LOGIN_REQUIRED`, follow the Skill recovery flow: inspect the cause, perform authorized local installation/setup, hand off only necessary human interaction, then re-check the same capability and resume the original task. A handoff is guidance, not authorization: preserve read-only posture and exact-command trust; do not repeat an unchanged failure or overwrite existing configuration without approval and backup.',
|
|
126
|
+
].join('\n');
|
|
127
|
+
}
|
|
128
|
+
export function workspaceLayout() {
|
|
129
|
+
const bench = WORKBENCH_DIR;
|
|
130
|
+
return [
|
|
131
|
+
'## Workspace layout',
|
|
132
|
+
'',
|
|
133
|
+
`The workspace root holds repository checkouts and fx-managed agent resources, nothing else. It is not a Git repository, so nothing there reports or ignores a new file. Everything a task produces outside a repository goes under \`${bench}/\` at the workspace root.`,
|
|
134
|
+
'',
|
|
135
|
+
'| Path | Holds | Lifetime |',
|
|
136
|
+
'| --- | --- | --- |',
|
|
137
|
+
`| \`${bench}/<YYYY-MM-DD>-<topic>/\` | One directory per task: reports, plans, evidence, demos, one-off scripts | Kept. Never renamed or moved once something cites it |`,
|
|
138
|
+
`| \`${bench}/worktrees/<repo>-<topic>/\` | Targets of \`git worktree add\` for a repository | Until the branch lands; then \`git worktree remove\` |`,
|
|
139
|
+
`| \`${bench}/tmp/\` | Anything reproducible or bulky: downloads, clones, sandbox roots, dependency trees, raw dumps | Disposable at any time |`,
|
|
140
|
+
'',
|
|
141
|
+
'- Date a task directory by the day the task started and keep using it across sessions.',
|
|
142
|
+
"- Files needed only within one session belong in the agent's own scratch directory or the system temporary directory.",
|
|
143
|
+
`- Cite \`${bench}/\` paths relative to the workspace root. Never cite anything under \`tmp/\` from memory, documents or reports.`,
|
|
144
|
+
'- Work with its own source and lifecycle is a repository: create it, then `fx repo add <path>`.',
|
|
145
|
+
'- Do not create other files or directories at the workspace root. `fx doctor` lists the ones that are there.',
|
|
146
|
+
].join('\n');
|
|
147
|
+
}
|
|
148
|
+
function cell(text) {
|
|
149
|
+
return (text ?? '').replaceAll('|', '\\|').replaceAll('\n', ' ');
|
|
150
|
+
}
|
|
151
|
+
export function teamSkillIndex(skills) {
|
|
152
|
+
const lines = [
|
|
153
|
+
'## Team Skills',
|
|
154
|
+
'',
|
|
155
|
+
'The fx-workspace companion Skill teaches the fx CLI and readiness recovery. These manifest Skills supply team workflows. Read the matching SKILL.md when its description fits the task; follow its references only as needed. Do not load every Skill at once.',
|
|
156
|
+
'',
|
|
157
|
+
'These source links provide discovery even when native project Skill delivery is unavailable. A listing does not prove installation, host trust or loading. Start the agent at the workspace root; child-repository sessions are not covered by this guide.',
|
|
158
|
+
'',
|
|
159
|
+
];
|
|
160
|
+
if (skills.length === 0)
|
|
161
|
+
return [...lines, 'This manifest contains no team Skills.'].join('\n');
|
|
162
|
+
lines.push('| Skill | When to use | Read |', '| --- | --- | --- |');
|
|
163
|
+
for (const skill of skills) {
|
|
164
|
+
const target = skill.source.split('/').map(encodeURIComponent).join('/');
|
|
165
|
+
lines.push(`| ${cell(skill.name)} | ${cell(skill.description)} | [SKILL.md](<${target}>) |`);
|
|
166
|
+
}
|
|
167
|
+
return lines.join('\n');
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/domain/docs/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// The shared structured failure and recovery contract; category determines the command exit code.
|
|
2
|
+
export const CATEGORIES = [
|
|
3
|
+
'usage',
|
|
4
|
+
'config',
|
|
5
|
+
'auth',
|
|
6
|
+
'permission',
|
|
7
|
+
'not_found',
|
|
8
|
+
'conflict',
|
|
9
|
+
'rate_limit',
|
|
10
|
+
'network',
|
|
11
|
+
'server',
|
|
12
|
+
'parse',
|
|
13
|
+
'internal',
|
|
14
|
+
'incomplete',
|
|
15
|
+
];
|
|
16
|
+
const EXIT_CODE = {
|
|
17
|
+
internal: 1,
|
|
18
|
+
usage: 2,
|
|
19
|
+
config: 3,
|
|
20
|
+
auth: 4,
|
|
21
|
+
permission: 5,
|
|
22
|
+
not_found: 6,
|
|
23
|
+
rate_limit: 7,
|
|
24
|
+
network: 8,
|
|
25
|
+
server: 9,
|
|
26
|
+
parse: 10,
|
|
27
|
+
conflict: 11,
|
|
28
|
+
incomplete: 12,
|
|
29
|
+
};
|
|
30
|
+
const RETRYABLE = new Set(['rate_limit', 'network', 'server']);
|
|
31
|
+
const GUIDANCE = {
|
|
32
|
+
incomplete: {
|
|
33
|
+
hint: 'Completed work is preserved. Resolve the reported blockers, then continue.',
|
|
34
|
+
nextSteps: ['fx init --resume --workspace <name>'],
|
|
35
|
+
},
|
|
36
|
+
usage: { hint: 'The command was invoked incorrectly.', nextSteps: ['fx <command> --help'] },
|
|
37
|
+
config: {
|
|
38
|
+
hint: 'The configuration or workspace state is missing or invalid.',
|
|
39
|
+
nextSteps: ['fx doctor', 'fx config list'],
|
|
40
|
+
},
|
|
41
|
+
auth: {
|
|
42
|
+
hint: 'A companion tool rejected or lacks credentials.',
|
|
43
|
+
nextSteps: ['fx doctor', 'fx login <tool>'],
|
|
44
|
+
},
|
|
45
|
+
permission: {
|
|
46
|
+
hint: 'The operation is not allowed with the current access or posture.',
|
|
47
|
+
nextSteps: ['fx doctor'],
|
|
48
|
+
},
|
|
49
|
+
not_found: {
|
|
50
|
+
hint: 'The named repository, environment, tool or key does not exist.',
|
|
51
|
+
nextSteps: ['fx repo list', 'fx env list', 'fx tool list'],
|
|
52
|
+
},
|
|
53
|
+
conflict: {
|
|
54
|
+
hint: 'Local state diverged from what the command expected. Inspect the reported outcome before retrying.',
|
|
55
|
+
nextSteps: ['fx status', 'Resolve the local state, then retry.'],
|
|
56
|
+
},
|
|
57
|
+
rate_limit: { hint: 'A service is throttling requests.', nextSteps: ['Wait, then retry.'] },
|
|
58
|
+
network: {
|
|
59
|
+
hint: 'A service could not be reached.',
|
|
60
|
+
nextSteps: ['Check connectivity and VPN, then retry.'],
|
|
61
|
+
},
|
|
62
|
+
server: { hint: 'A service returned an internal error.', nextSteps: ['Retry later.'] },
|
|
63
|
+
parse: {
|
|
64
|
+
hint: 'A document or tool output could not be parsed.',
|
|
65
|
+
nextSteps: ['Retry with --verbose to inspect the raw input.'],
|
|
66
|
+
},
|
|
67
|
+
internal: {
|
|
68
|
+
hint: 'An unexpected internal error occurred.',
|
|
69
|
+
nextSteps: ['Retry with --verbose and report the output.'],
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
// The line a person reads for a step's check: what it said, or what the step waits on.
|
|
73
|
+
export function checkNote(step) {
|
|
74
|
+
if (step.check === undefined)
|
|
75
|
+
return undefined;
|
|
76
|
+
return step.check.result === 'failed'
|
|
77
|
+
? `Check: ${step.check.detail}`
|
|
78
|
+
: `Waits on ${step.check.by}`;
|
|
79
|
+
}
|
|
80
|
+
export class DevkitError extends Error {
|
|
81
|
+
category;
|
|
82
|
+
code;
|
|
83
|
+
hint;
|
|
84
|
+
nextSteps;
|
|
85
|
+
retryable;
|
|
86
|
+
handoff;
|
|
87
|
+
diagnostics;
|
|
88
|
+
partialResult;
|
|
89
|
+
constructor(category, code, message, options = {}) {
|
|
90
|
+
super(message, options.cause === undefined ? undefined : { cause: options.cause });
|
|
91
|
+
this.category = category;
|
|
92
|
+
this.code = code;
|
|
93
|
+
this.name = 'DevkitError';
|
|
94
|
+
this.hint = options.hint ?? GUIDANCE[category].hint;
|
|
95
|
+
this.nextSteps = options.nextSteps ?? GUIDANCE[category].nextSteps;
|
|
96
|
+
this.retryable = options.retryable ?? RETRYABLE.has(category);
|
|
97
|
+
this.handoff = options.handoff;
|
|
98
|
+
this.diagnostics = options.diagnostics ?? [];
|
|
99
|
+
this.partialResult = options.partialResult;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Lease contention: every caller holds a resource another fx process wants, so
|
|
103
|
+
// the failure is always retryable and recovery is to run the command again.
|
|
104
|
+
export function busyError(code, resource, options = {}) {
|
|
105
|
+
return new DevkitError('conflict', code, `${resource} is busy`, {
|
|
106
|
+
retryable: true,
|
|
107
|
+
hint: 'Another fx process holds this lease.',
|
|
108
|
+
nextSteps: options.nextSteps ?? ['Retry the command shortly.'],
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
export function defaultGuidance(category) {
|
|
112
|
+
return GUIDANCE[category];
|
|
113
|
+
}
|
|
114
|
+
export function exitCodeFor(category) {
|
|
115
|
+
return EXIT_CODE[category];
|
|
116
|
+
}
|
|
117
|
+
export function asDevkitError(err) {
|
|
118
|
+
if (err instanceof DevkitError)
|
|
119
|
+
return err;
|
|
120
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
121
|
+
return new DevkitError('internal', 'INTERNAL', message, { cause: err });
|
|
122
|
+
}
|
|
123
|
+
export function toEnvelope(err) {
|
|
124
|
+
const base = {
|
|
125
|
+
category: err.category,
|
|
126
|
+
code: err.code,
|
|
127
|
+
message: err.message,
|
|
128
|
+
hint: err.hint,
|
|
129
|
+
next_steps: err.nextSteps,
|
|
130
|
+
retryable: err.retryable,
|
|
131
|
+
};
|
|
132
|
+
return { error: err.handoff ? { ...base, handoff: handoffEnvelope(err.handoff) } : base };
|
|
133
|
+
}
|
|
134
|
+
export function handoffEnvelope(handoff) {
|
|
135
|
+
return {
|
|
136
|
+
summary: handoff.summary,
|
|
137
|
+
user_steps: handoff.userSteps,
|
|
138
|
+
...(handoff.command === undefined ? {} : { command: handoff.command }),
|
|
139
|
+
...(handoff.alternatives === undefined ? {} : { alternatives: handoff.alternatives }),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// A failed workflow can still have completed effects. Preserve the original
|
|
143
|
+
// failure contract while carrying a separately rendered machine result.
|
|
144
|
+
export function withPartialResult(error, result) {
|
|
145
|
+
const failure = asDevkitError(error);
|
|
146
|
+
return new DevkitError(failure.category, failure.code, failure.message, {
|
|
147
|
+
hint: failure.hint,
|
|
148
|
+
nextSteps: failure.nextSteps,
|
|
149
|
+
retryable: failure.retryable,
|
|
150
|
+
...(failure.handoff === undefined ? {} : { handoff: failure.handoff }),
|
|
151
|
+
diagnostics: failure.diagnostics,
|
|
152
|
+
cause: failure,
|
|
153
|
+
partialResult: result,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// The three output formats and the default, named once so the flag, the config
|
|
2
|
+
// key and the docs generator cannot disagree about them.
|
|
3
|
+
export const FORMATS = ['human', 'json', 'ndjson'];
|
|
4
|
+
export const DEFAULT_FORMAT = 'human';
|
|
5
|
+
export function isFormat(value) {
|
|
6
|
+
return typeof value === 'string' && FORMATS.includes(value);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/domain/format.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,yDAAyD;AAEzD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAW,OAAO,CAAC;AAE9C,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// "Did you mean" for every place a name can be mistyped: commands, config
|
|
2
|
+
// keys, later repos, tools and agents. One implementation so the correction
|
|
3
|
+
// reads the same everywhere.
|
|
4
|
+
export function levenshtein(a, b) {
|
|
5
|
+
let previous = Array.from({ length: b.length + 1 }, (_, j) => j);
|
|
6
|
+
for (let i = 1; i <= a.length; i++) {
|
|
7
|
+
const current = [i];
|
|
8
|
+
for (let j = 1; j <= b.length; j++) {
|
|
9
|
+
const substitution = (previous[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
|
|
10
|
+
current[j] = Math.min((previous[j] ?? 0) + 1, (current[j - 1] ?? 0) + 1, substitution);
|
|
11
|
+
}
|
|
12
|
+
previous = current;
|
|
13
|
+
}
|
|
14
|
+
return previous[b.length] ?? 0;
|
|
15
|
+
}
|
|
16
|
+
export function nearest(name, candidates, maxDistance = 3) {
|
|
17
|
+
let best;
|
|
18
|
+
for (const candidate of candidates) {
|
|
19
|
+
const distance = levenshtein(name, candidate);
|
|
20
|
+
if (distance <= maxDistance && (best === undefined || distance < best.distance)) {
|
|
21
|
+
best = { candidate, distance };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return best?.candidate;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=fuzzy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzy.js","sourceRoot":"","sources":["../../src/domain/fuzzy.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,4EAA4E;AAC5E,6BAA6B;AAE7B,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS;IAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QACzF,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,IAAY,EACZ,UAA6B,EAC7B,WAAW,GAAG,CAAC;IAEf,IAAI,IAAyD,CAAC;IAC9D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,WAAW,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChF,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,EAAE,SAAS,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Lifecycle definitions are host-neutral data. Hosts translate event names
|
|
2
|
+
// and output, while the single dispatch vector keeps behavior in fx.
|
|
3
|
+
export const BUILTIN_HOOKS = [
|
|
4
|
+
{
|
|
5
|
+
event: 'session-start',
|
|
6
|
+
command: ['fx', 'hook', 'dispatch', 'session-start'],
|
|
7
|
+
background: false,
|
|
8
|
+
},
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/domain/harness/hooks.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AA2BrE,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD;QACE,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC;QACpD,UAAU,EAAE,KAAK;KAClB;CACF,CAAC"}
|