@angelmsger/fx 0.11.0 → 0.13.0
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 +155 -0
- package/README.md +9 -42
- package/defaults/tools.yaml +20 -3
- package/dist/adapters/agent-host/toml-mcp.js +1 -3
- package/dist/adapters/agent-host/toml-mcp.js.map +1 -1
- package/dist/adapters/calendar/wecom-calendar-cli/provider.js +42 -0
- package/dist/adapters/calendar/wecom-calendar-cli/provider.js.map +1 -0
- package/dist/adapters/ci/github-actions/ci.js +9 -7
- package/dist/adapters/ci/github-actions/ci.js.map +1 -1
- package/dist/adapters/ci/github-actions/provider.js +2 -2
- package/dist/adapters/ci/github-actions/provider.js.map +1 -1
- package/dist/adapters/ci/jenkins-cli/ci.js +6 -1
- package/dist/adapters/ci/jenkins-cli/ci.js.map +1 -1
- package/dist/adapters/ci/jenkins-cli/recipes.js +5 -1
- package/dist/adapters/ci/jenkins-cli/recipes.js.map +1 -1
- package/dist/adapters/cluster/kubectl/provider.js +2 -3
- package/dist/adapters/cluster/kubectl/provider.js.map +1 -1
- package/dist/adapters/code-host/bitbucket-cli/contribution-call.js +5 -27
- package/dist/adapters/code-host/bitbucket-cli/contribution-call.js.map +1 -1
- package/dist/adapters/code-host/bitbucket-cli/provider.js.map +1 -1
- package/dist/adapters/code-host/bitbucket-cli/pull-request-reference.js +1 -19
- package/dist/adapters/code-host/bitbucket-cli/pull-request-reference.js.map +1 -1
- package/dist/adapters/code-host/bitbucket-cli/pull-request.js +3 -17
- package/dist/adapters/code-host/bitbucket-cli/pull-request.js.map +1 -1
- package/dist/adapters/code-host/bitbucket-cli/repository-identity.js +1 -4
- package/dist/adapters/code-host/bitbucket-cli/repository-identity.js.map +1 -1
- package/dist/adapters/code-host/github/contribution.js +179 -0
- package/dist/adapters/code-host/github/contribution.js.map +1 -0
- package/dist/adapters/code-host/github/import.js +27 -0
- package/dist/adapters/code-host/github/import.js.map +1 -0
- package/dist/adapters/code-host/github/provider.js +12 -14
- package/dist/adapters/code-host/github/provider.js.map +1 -1
- package/dist/adapters/code-host/local-git/import.js +2 -2
- package/dist/adapters/code-host/local-git/import.js.map +1 -1
- package/dist/adapters/code-host/local-git/provider.js +3 -3
- package/dist/adapters/code-host/local-git/provider.js.map +1 -1
- package/dist/adapters/error-tracker/sentry/client.js +1 -1
- package/dist/adapters/error-tracker/sentry/client.js.map +1 -1
- package/dist/adapters/family/cli.js +15 -17
- package/dist/adapters/family/cli.js.map +1 -1
- package/dist/adapters/family/contribution.js +65 -0
- package/dist/adapters/family/contribution.js.map +1 -0
- package/dist/adapters/family/service-protocol.js +1 -0
- package/dist/adapters/family/service-protocol.js.map +1 -1
- package/dist/adapters/family/service.js +5 -0
- package/dist/adapters/family/service.js.map +1 -1
- package/dist/adapters/fs/node-fs.js +5 -8
- package/dist/adapters/fs/node-fs.js.map +1 -1
- package/dist/adapters/git/run.js +17 -0
- package/dist/adapters/git/run.js.map +1 -0
- package/dist/adapters/git/system-git.js +36 -16
- package/dist/adapters/git/system-git.js.map +1 -1
- package/dist/adapters/github/gh.js +1 -1
- package/dist/adapters/github/gh.js.map +1 -1
- package/dist/adapters/log-store/openobserve-cli/provider.js +1 -1
- package/dist/adapters/log-store/openobserve-cli/provider.js.map +1 -1
- package/dist/adapters/log-store/openobserve-cli/recipes.js +5 -1
- package/dist/adapters/log-store/openobserve-cli/recipes.js.map +1 -1
- package/dist/adapters/manifest-source/git-repo.js +38 -18
- package/dist/adapters/manifest-source/git-repo.js.map +1 -1
- package/dist/adapters/manifest-source/stdin.js +4 -6
- package/dist/adapters/manifest-source/stdin.js.map +1 -1
- package/dist/adapters/metrics/prometheus-cli/provider.js +1 -1
- package/dist/adapters/metrics/prometheus-cli/provider.js.map +1 -1
- package/dist/adapters/metrics/prometheus-cli/service.js +9 -1
- package/dist/adapters/metrics/prometheus-cli/service.js.map +1 -1
- package/dist/adapters/process/deadline-process.js +33 -7
- package/dist/adapters/process/deadline-process.js.map +1 -1
- package/dist/adapters/process/diagnostic-process.js +2 -3
- package/dist/adapters/process/diagnostic-process.js.map +1 -1
- package/dist/adapters/registry/registry-policy.js +4 -14
- package/dist/adapters/registry/registry-policy.js.map +1 -1
- package/dist/application/agent/list.js +12 -0
- package/dist/application/agent/list.js.map +1 -1
- package/dist/application/agent/pick.js +12 -30
- package/dist/application/agent/pick.js.map +1 -1
- package/dist/application/agent/workspace-cleanup.js +4 -1
- package/dist/application/agent/workspace-cleanup.js.map +1 -1
- package/dist/application/config/export.js +3 -2
- package/dist/application/config/export.js.map +1 -1
- package/dist/application/config/import-registry.js +3 -3
- package/dist/application/config/import-registry.js.map +1 -1
- package/dist/application/config/import.js +12 -4
- package/dist/application/config/import.js.map +1 -1
- package/dist/application/config/resolve.js +2 -4
- package/dist/application/config/resolve.js.map +1 -1
- package/dist/application/contribution/identity.js +3 -3
- package/dist/application/contribution/identity.js.map +1 -1
- package/dist/application/contribution/push-registered.js +77 -0
- package/dist/application/contribution/push-registered.js.map +1 -0
- package/dist/application/contribution/push.js +12 -19
- package/dist/application/contribution/push.js.map +1 -1
- package/dist/application/contribution/validate.js +12 -13
- package/dist/application/contribution/validate.js.map +1 -1
- package/dist/application/docs/rendered.js +2 -1
- package/dist/application/docs/rendered.js.map +1 -1
- package/dist/application/doctor/index.js +43 -27
- package/dist/application/doctor/index.js.map +1 -1
- package/dist/application/doctor/manifest.js +5 -1
- package/dist/application/doctor/manifest.js.map +1 -1
- package/dist/application/doctor/repos.js +1 -1
- package/dist/application/doctor/repos.js.map +1 -1
- package/dist/application/doctor/tools.js +20 -31
- package/dist/application/doctor/tools.js.map +1 -1
- package/dist/application/doctor/types.js +0 -8
- package/dist/application/doctor/types.js.map +1 -1
- package/dist/application/env/names.js.map +1 -1
- package/dist/application/harness/apply.js +4 -3
- package/dist/application/harness/apply.js.map +1 -1
- package/dist/application/harness/cleanup.js +5 -14
- package/dist/application/harness/cleanup.js.map +1 -1
- package/dist/application/harness/mcp-readiness.js +3 -1
- package/dist/application/harness/mcp-readiness.js.map +1 -1
- package/dist/application/harness/names.js +2 -4
- package/dist/application/harness/names.js.map +1 -1
- package/dist/application/harness/plan.js +12 -10
- package/dist/application/harness/plan.js.map +1 -1
- package/dist/application/harness/reconcile.js +4 -14
- package/dist/application/harness/reconcile.js.map +1 -1
- package/dist/application/harness/session.js +2 -13
- package/dist/application/harness/session.js.map +1 -1
- package/dist/application/harness/stages.js +8 -18
- package/dist/application/harness/stages.js.map +1 -1
- package/dist/application/harness/types.js +1 -8
- package/dist/application/harness/types.js.map +1 -1
- package/dist/application/hook/apply.js +5 -4
- package/dist/application/hook/apply.js.map +1 -1
- package/dist/application/hook/automatic-sync.js +8 -3
- package/dist/application/hook/automatic-sync.js.map +1 -1
- package/dist/application/hook/cleanup.js +5 -14
- package/dist/application/hook/cleanup.js.map +1 -1
- package/dist/application/hook/dispatch.js +24 -3
- package/dist/application/hook/dispatch.js.map +1 -1
- package/dist/application/hook/observe.js +20 -12
- package/dist/application/hook/observe.js.map +1 -1
- package/dist/application/hook/plan.js.map +1 -1
- package/dist/application/hook/reconcile.js +2 -9
- package/dist/application/hook/reconcile.js.map +1 -1
- package/dist/application/hook/session.js +5 -12
- package/dist/application/hook/session.js.map +1 -1
- package/dist/application/hook/supervisor-report.js +2 -1
- package/dist/application/hook/supervisor-report.js.map +1 -1
- package/dist/application/hook/types.js +8 -1
- package/dist/application/hook/types.js.map +1 -1
- package/dist/application/init/errors.js +19 -19
- package/dist/application/init/errors.js.map +1 -1
- package/dist/application/init/index.js +60 -42
- package/dist/application/init/index.js.map +1 -1
- package/dist/application/init/preview-initialization.js +40 -0
- package/dist/application/init/preview-initialization.js.map +1 -0
- package/dist/application/init/preview.js +37 -19
- package/dist/application/init/preview.js.map +1 -1
- package/dist/application/init/resume.js +30 -0
- package/dist/application/init/resume.js.map +1 -0
- package/dist/application/init/source.js +8 -0
- package/dist/application/init/source.js.map +1 -0
- package/dist/application/init/standalone.js +341 -0
- package/dist/application/init/standalone.js.map +1 -0
- package/dist/application/{doctor/login.js → login/check.js} +22 -43
- package/dist/application/login/check.js.map +1 -0
- package/dist/application/login/collect.js +2 -1
- package/dist/application/login/collect.js.map +1 -1
- package/dist/application/login/command-failure.js +2 -0
- package/dist/application/login/command-failure.js.map +1 -1
- package/dist/application/login/deps.js +2 -3
- package/dist/application/login/deps.js.map +1 -1
- package/dist/application/login/run.js +149 -54
- package/dist/application/login/run.js.map +1 -1
- package/dist/application/login/stage.js +146 -0
- package/dist/application/login/stage.js.map +1 -0
- package/dist/application/login/verify.js +49 -36
- package/dist/application/login/verify.js.map +1 -1
- package/dist/application/manifest/context.js +5 -1
- package/dist/application/manifest/context.js.map +1 -1
- package/dist/application/{import.js → manifest/import.js} +34 -27
- package/dist/application/manifest/import.js.map +1 -0
- package/dist/application/manifest/lint.js +15 -23
- package/dist/application/manifest/lint.js.map +1 -1
- package/dist/application/manifest/load.js +7 -11
- package/dist/application/manifest/load.js.map +1 -1
- package/dist/application/manifest/prepare.js +3 -2
- package/dist/application/manifest/prepare.js.map +1 -1
- package/dist/application/manifest/providers.js +4 -1
- package/dist/application/manifest/providers.js.map +1 -1
- package/dist/application/{refresh-manifest.js → manifest/refresh.js} +26 -2
- package/dist/application/manifest/refresh.js.map +1 -0
- package/dist/application/manifest/set.js +2 -1
- package/dist/application/manifest/set.js.map +1 -1
- package/dist/application/member/list.js +2 -4
- package/dist/application/member/list.js.map +1 -1
- package/dist/application/member/show.js +2 -3
- package/dist/application/member/show.js.map +1 -1
- package/dist/application/preparation.js +92 -25
- package/dist/application/preparation.js.map +1 -1
- package/dist/application/probe-record/index.js +19 -18
- package/dist/application/probe-record/index.js.map +1 -1
- package/dist/application/probe-record/plan.js +6 -4
- package/dist/application/probe-record/plan.js.map +1 -1
- package/dist/application/{can.js → readiness/can.js} +23 -11
- package/dist/application/readiness/can.js.map +1 -0
- package/dist/application/readiness/index.js +22 -35
- package/dist/application/readiness/index.js.map +1 -1
- package/dist/application/readiness/resolve.js +13 -15
- package/dist/application/readiness/resolve.js.map +1 -1
- package/dist/application/readiness/verdicts.js +2 -7
- package/dist/application/readiness/verdicts.js.map +1 -1
- package/dist/application/{where.js → readiness/where.js} +19 -21
- package/dist/application/readiness/where.js.map +1 -0
- package/dist/application/release/ci.js +1 -1
- package/dist/application/release/ci.js.map +1 -1
- package/dist/application/release/index.js +12 -17
- package/dist/application/release/index.js.map +1 -1
- package/dist/application/safety/trust.js +12 -14
- package/dist/application/safety/trust.js.map +1 -1
- package/dist/application/self/update.js +23 -13
- package/dist/application/self/update.js.map +1 -1
- package/dist/application/services/command.js +6 -8
- package/dist/application/services/command.js.map +1 -1
- package/dist/application/services/operation.js +12 -19
- package/dist/application/services/operation.js.map +1 -1
- package/dist/application/services/recipes.js +7 -2
- package/dist/application/services/recipes.js.map +1 -1
- package/dist/application/services/stage.js +6 -4
- package/dist/application/services/stage.js.map +1 -1
- package/dist/application/services/types.js +7 -1
- package/dist/application/services/types.js.map +1 -1
- package/dist/application/skill/copies.js +13 -22
- package/dist/application/skill/copies.js.map +1 -1
- package/dist/application/skill/fx-copies.js +1 -1
- package/dist/application/skill/fx-copies.js.map +1 -1
- package/dist/application/skill/stage.js +24 -26
- package/dist/application/skill/stage.js.map +1 -1
- package/dist/application/skill/standalone.js +1 -1
- package/dist/application/skill/standalone.js.map +1 -1
- package/dist/application/skill/targets.js +2 -16
- package/dist/application/skill/targets.js.map +1 -1
- package/dist/application/skill/tool-skills.js +20 -10
- package/dist/application/skill/tool-skills.js.map +1 -1
- package/dist/application/sync/checks.js +7 -45
- package/dist/application/sync/checks.js.map +1 -1
- package/dist/application/sync/index.js +76 -26
- package/dist/application/sync/index.js.map +1 -1
- package/dist/application/sync/stages.js +33 -26
- package/dist/application/sync/stages.js.map +1 -1
- package/dist/application/sync/types.js +6 -1
- package/dist/application/sync/types.js.map +1 -1
- package/dist/application/tool/check.js +8 -0
- package/dist/application/tool/check.js.map +1 -1
- package/dist/application/tool/history.js +16 -0
- package/dist/application/tool/history.js.map +1 -0
- package/dist/application/tool/initialize.js +2 -1
- package/dist/application/tool/initialize.js.map +1 -1
- package/dist/application/tool/install.js +15 -18
- package/dist/application/tool/install.js.map +1 -1
- package/dist/application/tool/installed.js +1 -1
- package/dist/application/tool/installed.js.map +1 -1
- package/dist/application/tool/list.js.map +1 -1
- package/dist/application/tool/scope.js +8 -7
- package/dist/application/tool/scope.js.map +1 -1
- package/dist/application/tool/select.js +2 -4
- package/dist/application/tool/select.js.map +1 -1
- package/dist/application/tool/show.js +6 -1
- package/dist/application/tool/show.js.map +1 -1
- package/dist/application/tool/toolchain.js +18 -5
- package/dist/application/tool/toolchain.js.map +1 -1
- package/dist/application/update/check.js +2 -1
- package/dist/application/update/check.js.map +1 -1
- package/dist/application/workspace/command-operation.js +4 -3
- package/dist/application/workspace/command-operation.js.map +1 -1
- package/dist/application/{workspace-context.js → workspace/context.js} +26 -19
- package/dist/application/workspace/context.js.map +1 -0
- package/dist/application/workspace/deps.js +3 -3
- package/dist/application/workspace/deps.js.map +1 -1
- package/dist/application/workspace/guidance.js +2 -4
- package/dist/application/workspace/guidance.js.map +1 -1
- package/dist/application/workspace/health.js +4 -2
- package/dist/application/workspace/health.js.map +1 -1
- package/dist/application/workspace/inspect.js +1 -4
- package/dist/application/workspace/inspect.js.map +1 -1
- package/dist/application/workspace/manage.js +83 -97
- package/dist/application/workspace/manage.js.map +1 -1
- package/dist/application/workspace/operation.js +13 -14
- package/dist/application/workspace/operation.js.map +1 -1
- package/dist/application/workspace/plan.js +2 -1
- package/dist/application/workspace/plan.js.map +1 -1
- package/dist/application/workspace/registry.js +4 -3
- package/dist/application/workspace/registry.js.map +1 -1
- package/dist/application/workspace/resolve.js +10 -12
- package/dist/application/workspace/resolve.js.map +1 -1
- package/dist/application/workspace/resources.js +39 -32
- package/dist/application/workspace/resources.js.map +1 -1
- package/dist/application/workspace/source-preview.js +6 -3
- package/dist/application/workspace/source-preview.js.map +1 -1
- package/dist/application/{status.js → workspace/status.js} +51 -6
- package/dist/application/workspace/status.js.map +1 -0
- package/dist/cli/base.js +28 -29
- package/dist/cli/base.js.map +1 -1
- package/dist/cli/commands/agent/pick.js +4 -1
- package/dist/cli/commands/agent/pick.js.map +1 -1
- package/dist/cli/commands/agent/unpick.js +5 -1
- package/dist/cli/commands/agent/unpick.js.map +1 -1
- package/dist/cli/commands/can.js +5 -21
- package/dist/cli/commands/can.js.map +1 -1
- package/dist/cli/commands/config/import.js +1 -8
- package/dist/cli/commands/config/import.js.map +1 -1
- package/dist/cli/commands/doctor.js +2 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/env/pick.js +1 -0
- package/dist/cli/commands/env/pick.js.map +1 -1
- package/dist/cli/commands/env/select.js +1 -0
- package/dist/cli/commands/env/select.js.map +1 -1
- package/dist/cli/commands/env/unpick.js +1 -0
- package/dist/cli/commands/env/unpick.js.map +1 -1
- package/dist/cli/commands/hook/disable.js +1 -0
- package/dist/cli/commands/hook/disable.js.map +1 -1
- package/dist/cli/commands/hook/enable.js +1 -0
- package/dist/cli/commands/hook/enable.js.map +1 -1
- package/dist/cli/commands/init.js +40 -14
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/login.js +13 -2
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/manifest/import.js +6 -2
- package/dist/cli/commands/manifest/import.js.map +1 -1
- package/dist/cli/commands/manifest/lint.js +5 -1
- package/dist/cli/commands/manifest/lint.js.map +1 -1
- package/dist/cli/commands/manifest/record-probe.js +1 -0
- package/dist/cli/commands/manifest/record-probe.js.map +1 -1
- package/dist/cli/commands/manifest/render.js +1 -0
- package/dist/cli/commands/manifest/render.js.map +1 -1
- package/dist/cli/commands/manifest/repo-set.js +1 -0
- package/dist/cli/commands/manifest/repo-set.js.map +1 -1
- package/dist/cli/commands/repo/add.js +1 -0
- package/dist/cli/commands/repo/add.js.map +1 -1
- package/dist/cli/commands/repo/fork.js +1 -0
- package/dist/cli/commands/repo/fork.js.map +1 -1
- package/dist/cli/commands/repo/pick.js +1 -0
- package/dist/cli/commands/repo/pick.js.map +1 -1
- package/dist/cli/commands/repo/remove.js +1 -0
- package/dist/cli/commands/repo/remove.js.map +1 -1
- package/dist/cli/commands/repo/select.js +1 -0
- package/dist/cli/commands/repo/select.js.map +1 -1
- package/dist/cli/commands/repo/unpick.js +1 -0
- package/dist/cli/commands/repo/unpick.js.map +1 -1
- package/dist/cli/commands/selection.js +1 -2
- package/dist/cli/commands/selection.js.map +1 -1
- package/dist/cli/commands/self/update.js +11 -14
- package/dist/cli/commands/self/update.js.map +1 -1
- package/dist/cli/commands/source/push.js +14 -13
- package/dist/cli/commands/source/push.js.map +1 -1
- package/dist/cli/commands/status.js +6 -36
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync.js +7 -5
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/tool/history.js +2 -2
- package/dist/cli/commands/tool/history.js.map +1 -1
- package/dist/cli/commands/where.js +2 -1
- package/dist/cli/commands/where.js.map +1 -1
- package/dist/cli/commands/workspace/rebind.js +1 -4
- package/dist/cli/commands/workspace/rebind.js.map +1 -1
- package/dist/cli/completion.js +2 -4
- package/dist/cli/completion.js.map +1 -1
- package/dist/cli/hook-command.js +2 -2
- package/dist/cli/hook-command.js.map +1 -1
- package/dist/cli/main.js +4 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/notices.js +26 -24
- package/dist/cli/notices.js.map +1 -1
- package/dist/cli/preparation-view.js +226 -51
- package/dist/cli/preparation-view.js.map +1 -1
- package/dist/cli/render/exceptional.js +11 -4
- package/dist/cli/render/exceptional.js.map +1 -1
- package/dist/cli/render/fields.js +1 -3
- package/dist/cli/render/fields.js.map +1 -1
- package/dist/cli/render/human.js +1 -3
- package/dist/cli/render/human.js.map +1 -1
- package/dist/cli/render/index.js +1 -1
- package/dist/cli/render/index.js.map +1 -1
- package/dist/cli/render/status-line.js +17 -3
- package/dist/cli/render/status-line.js.map +1 -1
- package/dist/cli/render/tone.js +29 -10
- package/dist/cli/render/tone.js.map +1 -1
- package/dist/cli/tool-command.js +4 -11
- package/dist/cli/tool-command.js.map +1 -1
- package/dist/cli/workspace-write-policy.js +8 -33
- package/dist/cli/workspace-write-policy.js.map +1 -1
- package/dist/composition/agent-cleanup.js +5 -1
- package/dist/composition/agent-cleanup.js.map +1 -1
- package/dist/composition/bundled.js +4 -1
- package/dist/composition/bundled.js.map +1 -1
- package/dist/composition/command-wiring.js +55 -96
- package/dist/composition/command-wiring.js.map +1 -1
- package/dist/composition/container.js +25 -20
- package/dist/composition/container.js.map +1 -1
- package/dist/composition/contributions.js +26 -71
- package/dist/composition/contributions.js.map +1 -1
- package/dist/composition/harness.js +3 -4
- package/dist/composition/harness.js.map +1 -1
- package/dist/composition/hook-entry.js +2 -1
- package/dist/composition/hook-entry.js.map +1 -1
- package/dist/composition/hook-wiring.js +8 -16
- package/dist/composition/hook-wiring.js.map +1 -1
- package/dist/composition/hook-worker.js +9 -11
- package/dist/composition/hook-worker.js.map +1 -1
- package/dist/composition/hooks.js +6 -3
- package/dist/composition/hooks.js.map +1 -1
- package/dist/composition/import.js +8 -6
- package/dist/composition/import.js.map +1 -1
- package/dist/composition/manifest-edit.js +1 -2
- package/dist/composition/manifest-edit.js.map +1 -1
- package/dist/composition/manifest-sources.js +3 -16
- package/dist/composition/manifest-sources.js.map +1 -1
- package/dist/composition/probe-record.js +1 -2
- package/dist/composition/probe-record.js.map +1 -1
- package/dist/composition/refresh.js +1 -1
- package/dist/composition/refresh.js.map +1 -1
- package/dist/composition/registry.js +8 -37
- package/dist/composition/registry.js.map +1 -1
- package/dist/composition/tool-install.js +5 -1
- package/dist/composition/tool-install.js.map +1 -1
- package/dist/composition/tool-inventory.js +10 -1
- package/dist/composition/tool-inventory.js.map +1 -1
- package/dist/composition/trace.js +3 -4
- package/dist/composition/trace.js.map +1 -1
- package/dist/composition/update.js +12 -1
- package/dist/composition/update.js.map +1 -1
- package/dist/composition/workspace-management.js +8 -2
- package/dist/composition/workspace-management.js.map +1 -1
- package/dist/domain/config/codec.js +2 -1
- package/dist/domain/config/codec.js.map +1 -1
- package/dist/domain/config/profile.js +0 -1
- package/dist/domain/config/profile.js.map +1 -1
- package/dist/domain/contribution/pull-request.js +12 -1
- package/dist/domain/contribution/pull-request.js.map +1 -1
- package/dist/domain/contribution/selection.js +4 -8
- package/dist/domain/contribution/selection.js.map +1 -1
- package/dist/domain/errors.js +10 -3
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/fuzzy.js +6 -1
- package/dist/domain/fuzzy.js.map +1 -1
- package/dist/domain/harness/actions.js +60 -0
- package/dist/domain/harness/actions.js.map +1 -0
- package/dist/domain/harness/deadlines.js +14 -0
- package/dist/domain/harness/deadlines.js.map +1 -0
- package/dist/domain/harness/hooks.js +8 -0
- package/dist/domain/harness/hooks.js.map +1 -1
- package/dist/domain/harness/session-start.js +2 -1
- package/dist/domain/harness/session-start.js.map +1 -1
- package/dist/domain/harness/state-recovery.js.map +1 -1
- package/dist/domain/import/infer.js +2 -9
- package/dist/domain/import/infer.js.map +1 -1
- package/dist/domain/lease.js +30 -0
- package/dist/domain/lease.js.map +1 -0
- package/dist/domain/manifest/decode.js +5 -8
- package/dist/domain/manifest/decode.js.map +1 -1
- package/dist/domain/manifest/document.js +3 -5
- package/dist/domain/manifest/document.js.map +1 -1
- package/dist/domain/manifest/editor.js +3 -7
- package/dist/domain/manifest/editor.js.map +1 -1
- package/dist/domain/manifest/explain.js +2 -4
- package/dist/domain/manifest/explain.js.map +1 -1
- package/dist/domain/manifest/issues.js +2 -2
- package/dist/domain/manifest/issues.js.map +1 -1
- package/dist/domain/manifest/loader.js +2 -1
- package/dist/domain/manifest/loader.js.map +1 -1
- package/dist/domain/manifest/overlay.js +6 -9
- package/dist/domain/manifest/overlay.js.map +1 -1
- package/dist/domain/manifest/providers.js +34 -2
- package/dist/domain/manifest/providers.js.map +1 -1
- package/dist/domain/manifest/quarantine.js +21 -1
- package/dist/domain/manifest/quarantine.js.map +1 -1
- package/dist/domain/manifest/reflect.js +2 -31
- package/dist/domain/manifest/reflect.js.map +1 -1
- package/dist/domain/manifest/rules/harness.js +2 -16
- package/dist/domain/manifest/rules/harness.js.map +1 -1
- package/dist/domain/manifest/rules/tools.js +1 -0
- package/dist/domain/manifest/rules/tools.js.map +1 -1
- package/dist/domain/manifest/service.schema.js +5 -14
- package/dist/domain/manifest/service.schema.js.map +1 -1
- package/dist/domain/manifest/skill-frontmatter.js +1 -1
- package/dist/domain/manifest/skill-frontmatter.js.map +1 -1
- package/dist/domain/manifest/tools.schema.js +6 -0
- package/dist/domain/manifest/tools.schema.js.map +1 -1
- package/dist/domain/manifest/types.js.map +1 -1
- package/dist/domain/outcome.js +5 -0
- package/dist/domain/outcome.js.map +1 -0
- package/dist/domain/path.js +9 -1
- package/dist/domain/path.js.map +1 -1
- package/dist/domain/preparation.js.map +1 -1
- package/dist/domain/projection.js +8 -0
- package/dist/domain/projection.js.map +1 -0
- package/dist/domain/public-url.js +22 -0
- package/dist/domain/public-url.js.map +1 -0
- package/dist/domain/release/ci.js +19 -8
- package/dist/domain/release/ci.js.map +1 -1
- package/dist/domain/report.js +1 -1
- package/dist/domain/report.js.map +1 -1
- package/dist/domain/setup/names.js +23 -0
- package/dist/domain/setup/names.js.map +1 -0
- package/dist/domain/setup/planner.js +24 -22
- package/dist/domain/setup/planner.js.map +1 -1
- package/dist/domain/setup/progress.js +57 -0
- package/dist/domain/setup/progress.js.map +1 -0
- package/dist/domain/setup/types.js +5 -0
- package/dist/domain/setup/types.js.map +1 -1
- package/dist/domain/shell.js +0 -7
- package/dist/domain/shell.js.map +1 -1
- package/dist/domain/skills/frontmatter.js +1 -1
- package/dist/domain/skills/frontmatter.js.map +1 -1
- package/dist/domain/skills/projection.js +2 -3
- package/dist/domain/skills/projection.js.map +1 -1
- package/dist/domain/sync-selection.js +2 -4
- package/dist/domain/sync-selection.js.map +1 -1
- package/dist/domain/toolchain/resolve.js +30 -16
- package/dist/domain/toolchain/resolve.js.map +1 -1
- package/dist/domain/toolchain/select.js +15 -9
- package/dist/domain/toolchain/select.js.map +1 -1
- package/dist/domain/toolchain/stderr.js +34 -14
- package/dist/domain/toolchain/stderr.js.map +1 -1
- package/dist/domain/values.js +18 -2
- package/dist/domain/values.js.map +1 -1
- package/dist/domain/workspace/commits.js +5 -0
- package/dist/domain/workspace/commits.js.map +1 -1
- package/dist/domain/workspace/operation-journal.js +93 -0
- package/dist/domain/workspace/operation-journal.js.map +1 -0
- package/dist/domain/workspace/plan.js +17 -1
- package/dist/domain/workspace/plan.js.map +1 -1
- package/dist/infra/config-store.js +8 -13
- package/dist/infra/config-store.js.map +1 -1
- package/dist/infra/contribution-store.js +21 -67
- package/dist/infra/contribution-store.js.map +1 -1
- package/dist/infra/harness-state.js +21 -49
- package/dist/infra/harness-state.js.map +1 -1
- package/dist/infra/local-store.js +8 -15
- package/dist/infra/local-store.js.map +1 -1
- package/dist/infra/owned-journal.js +57 -0
- package/dist/infra/owned-journal.js.map +1 -0
- package/dist/infra/projection-store.js +4 -3
- package/dist/infra/projection-store.js.map +1 -1
- package/dist/infra/tool-history.js +19 -49
- package/dist/infra/tool-history.js.map +1 -1
- package/dist/infra/trust-store.js +2 -9
- package/dist/infra/trust-store.js.map +1 -1
- package/dist/infra/workspace-home.js +7 -1
- package/dist/infra/workspace-home.js.map +1 -1
- package/dist/ports/ci.js +2 -1
- package/dist/ports/ci.js.map +1 -1
- package/package.json +1 -1
- package/skills/fx-workspace/SKILL.md +7 -8
- package/skills/fx-workspace/references/commands.md +39 -27
- package/skills/fx-workspace/references/initialization.md +17 -0
- package/skills/fx-workspace/references/workspace-tasks.md +6 -7
- package/dist/application/can.js.map +0 -1
- package/dist/application/doctor/login.js.map +0 -1
- package/dist/application/import.js.map +0 -1
- package/dist/application/init/setup.js +0 -125
- package/dist/application/init/setup.js.map +0 -1
- package/dist/application/preview-initialization.js +0 -41
- package/dist/application/preview-initialization.js.map +0 -1
- package/dist/application/refresh-manifest.js.map +0 -1
- package/dist/application/refresh-workspace-manifest.js +0 -27
- package/dist/application/refresh-workspace-manifest.js.map +0 -1
- package/dist/application/status.js.map +0 -1
- package/dist/application/where.js.map +0 -1
- package/dist/application/workspace-context.js.map +0 -1
- package/dist/domain/deadline.js +0 -17
- package/dist/domain/deadline.js.map +0 -1
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
// their outcomes. Composition supplies dependencies and host-specific callbacks;
|
|
3
3
|
// it does not decide stage policy or interpret execution results.
|
|
4
4
|
import { asDevkitError, withPartialResult } from '../../domain/errors.js';
|
|
5
|
+
import { installsOnInit } from '../../domain/toolchain/resolve.js';
|
|
6
|
+
import { countBy } from '../../domain/values.js';
|
|
5
7
|
import { DeriveDocs } from '../docs/derive.js';
|
|
6
8
|
import { harnessStage } from '../harness/stages.js';
|
|
7
9
|
import { hookStage } from '../hook/session.js';
|
|
8
|
-
import { prepareWorkspaceSetup } from '../
|
|
10
|
+
import { prepareWorkspaceSetup } from '../login/stage.js';
|
|
9
11
|
import { findingCheck } from '../preparation.js';
|
|
10
12
|
import { prepareServices } from '../services/stage.js';
|
|
11
13
|
import { SkillStage } from '../skill/stage.js';
|
|
@@ -15,11 +17,11 @@ import { toolchainOf } from '../tool/toolchain.js';
|
|
|
15
17
|
import { syncGoWork } from '../workspace/go-work.js';
|
|
16
18
|
import { documentChecks, goWorkChecks, skillChecks, toolChecks } from './checks.js';
|
|
17
19
|
const STAGES = {
|
|
18
|
-
services: (input) => prepareServices(input.deps, input.login, input.dryRun),
|
|
20
|
+
services: (input) => prepareServices(input.deps, input.login, { dryRun: input.dryRun }),
|
|
19
21
|
setup: (input) => prepareWorkspaceSetup(input.deps, input.login, {
|
|
20
22
|
initializing: input.initialize ?? false,
|
|
21
23
|
dryRun: input.dryRun,
|
|
22
|
-
posture: input.posture,
|
|
24
|
+
posture: input.deps.trust.posture,
|
|
23
25
|
}),
|
|
24
26
|
docs: docsStage,
|
|
25
27
|
go: goStage,
|
|
@@ -28,29 +30,40 @@ const STAGES = {
|
|
|
28
30
|
mcp: async (input) => (await harnessResource(input, 'mcp')) ?? { summary: { unsupported: 0 }, checks: [] },
|
|
29
31
|
tools: toolsStage,
|
|
30
32
|
};
|
|
33
|
+
// In the order a full sync runs them.
|
|
34
|
+
export function resourceStageIds() {
|
|
35
|
+
return Object.keys(STAGES);
|
|
36
|
+
}
|
|
31
37
|
export function syncStageIds() {
|
|
32
|
-
return ['repos', ...
|
|
38
|
+
return ['repos', ...resourceStageIds()];
|
|
39
|
+
}
|
|
40
|
+
export function isResourceStage(stage) {
|
|
41
|
+
return Object.hasOwn(STAGES, stage);
|
|
33
42
|
}
|
|
34
|
-
export function
|
|
35
|
-
return
|
|
43
|
+
export function runStage(stage, input) {
|
|
44
|
+
return STAGES[stage](input);
|
|
45
|
+
}
|
|
46
|
+
// A session reconciles the workspace this sync holds, however the invocation named one.
|
|
47
|
+
function ofWorkspace(session, deps) {
|
|
48
|
+
return { ...session, resolve: { ...session.resolve, name: deps.ctx.name } };
|
|
36
49
|
}
|
|
37
50
|
function harnessResource(input, only) {
|
|
38
51
|
if (input.harness === undefined)
|
|
39
52
|
return undefined;
|
|
40
|
-
|
|
53
|
+
const session = ofWorkspace(input.harness, input.deps);
|
|
54
|
+
return harnessStage({ ...session, action: 'sync', only, dryRun: input.dryRun })();
|
|
41
55
|
}
|
|
42
56
|
function hooksStage(input) {
|
|
43
57
|
return input.hooks === undefined
|
|
44
58
|
? undefined
|
|
45
|
-
: hookStage({ ...input.hooks, dryRun: input.dryRun })();
|
|
59
|
+
: hookStage({ ...ofWorkspace(input.hooks, input.deps), dryRun: input.dryRun })();
|
|
46
60
|
}
|
|
47
61
|
async function skillsStage(input) {
|
|
48
62
|
const { summary, ...details } = await new SkillStage(input.deps, input.skills).execute({
|
|
49
63
|
...(input.replace === undefined ? {} : { replace: input.replace }),
|
|
50
64
|
toolchain: toolchainOf(input.deps.ctx).tools,
|
|
51
|
-
trust: input.trust,
|
|
52
65
|
dryRun: input.dryRun,
|
|
53
|
-
posture: input.posture,
|
|
66
|
+
posture: input.deps.trust.posture,
|
|
54
67
|
});
|
|
55
68
|
return {
|
|
56
69
|
summary,
|
|
@@ -63,19 +76,16 @@ async function docsStage(input) {
|
|
|
63
76
|
...(input.replace === undefined ? {} : { replace: input.replace }),
|
|
64
77
|
check: false,
|
|
65
78
|
dryRun: input.dryRun,
|
|
66
|
-
posture: input.posture,
|
|
79
|
+
posture: input.deps.trust.posture,
|
|
67
80
|
});
|
|
68
81
|
const summary = {
|
|
69
82
|
created: 0,
|
|
70
83
|
updated: 0,
|
|
71
84
|
unchanged: 0,
|
|
72
85
|
foreign: 0,
|
|
73
|
-
missing_regions: 0,
|
|
86
|
+
missing_regions: out.files.reduce((sum, file) => sum + file.missing.length, 0),
|
|
87
|
+
...countBy(out.files, (file) => file.action),
|
|
74
88
|
};
|
|
75
|
-
for (const file of out.files) {
|
|
76
|
-
summary[file.action] = (summary[file.action] ?? 0) + 1;
|
|
77
|
-
summary['missing_regions'] = (summary['missing_regions'] ?? 0) + file.missing.length;
|
|
78
|
-
}
|
|
79
89
|
const rules = await harnessResource(input, 'rules')?.catch((error) => {
|
|
80
90
|
throw withPartialResult(error, {
|
|
81
91
|
files: out.files,
|
|
@@ -97,7 +107,10 @@ async function docsStage(input) {
|
|
|
97
107
|
};
|
|
98
108
|
}
|
|
99
109
|
async function goStage(input) {
|
|
100
|
-
const out = await syncGoWork(input.deps, {
|
|
110
|
+
const out = await syncGoWork(input.deps, {
|
|
111
|
+
dryRun: input.dryRun,
|
|
112
|
+
posture: input.deps.trust.posture,
|
|
113
|
+
});
|
|
101
114
|
return {
|
|
102
115
|
summary: { modules: out.modules.length, go_work: out.file?.action ?? 'none' },
|
|
103
116
|
checks: goWorkChecks(out),
|
|
@@ -108,17 +121,11 @@ async function toolsStage(input) {
|
|
|
108
121
|
const scope = workspaceToolScope(input.deps.ctx, {}, input.deps.commandShell);
|
|
109
122
|
const tools = scope.covered;
|
|
110
123
|
const problems = scope.problems;
|
|
111
|
-
const requiresPreparation = (name) => scope.required.has(name) ||
|
|
112
|
-
|
|
113
|
-
const rows = (await new ToolCheck(input.process).execute({
|
|
124
|
+
const requiresPreparation = (name) => scope.required.has(name) || tools.some((tool) => tool.name === name && installsOnInit(tool));
|
|
125
|
+
const rows = (await new ToolCheck(input.deps.process).execute({
|
|
114
126
|
continueOnError: true,
|
|
115
127
|
tools: tools.map((tool) => ({ ...tool, required: scope.required.has(tool.name) })),
|
|
116
|
-
trust: {
|
|
117
|
-
...input.trust,
|
|
118
|
-
dryRun: input.dryRun,
|
|
119
|
-
workspace: input.deps.ctx.name,
|
|
120
|
-
commandShell: input.deps.commandShell,
|
|
121
|
-
},
|
|
128
|
+
trust: { ...input.deps.trust, dryRun: input.dryRun },
|
|
122
129
|
})).map((row) => ({ ...row, preparation_required: requiresPreparation(row.name) }));
|
|
123
130
|
const summary = Object.fromEntries(['ok', 'missing', 'outdated', 'disabled', 'unknown'].map((state) => [
|
|
124
131
|
state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/application/sync/stages.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,iFAAiF;AACjF,kEAAkE;AAElE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/application/sync/stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
// What a sync is asked to do and what it reports: one row per repository, and
|
|
2
2
|
// one summary per resource stage. Stages are registered by id, so a stage this
|
|
3
3
|
// release does not implement is reported as such rather than silently skipped.
|
|
4
|
-
|
|
4
|
+
// Native activation stays optional: a failure in one of these stages is reported
|
|
5
|
+
// without stopping a full sync or blocking its preparation.
|
|
6
|
+
const ADVISORY_STAGES = ['hooks', 'mcp'];
|
|
7
|
+
export function isAdvisoryStage(stage) {
|
|
8
|
+
return ADVISORY_STAGES.includes(stage);
|
|
9
|
+
}
|
|
5
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/application/sync/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/application/sync/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAsB/E,iFAAiF;AACjF,4DAA4D;AAC5D,MAAM,eAAe,GAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -4,6 +4,14 @@ import { atLeast } from '../../domain/semver.js';
|
|
|
4
4
|
import { commandOrigin } from '../../domain/toolchain/resolve.js';
|
|
5
5
|
import { selectTools } from './select.js';
|
|
6
6
|
import { probeToolVersion } from './version.js';
|
|
7
|
+
// The `fx tool` subcommand that addresses a tool in a state other than ok.
|
|
8
|
+
export function toolRecoveryCommand(state) {
|
|
9
|
+
if (state === 'missing')
|
|
10
|
+
return 'install';
|
|
11
|
+
if (state === 'outdated')
|
|
12
|
+
return 'update';
|
|
13
|
+
return 'show';
|
|
14
|
+
}
|
|
7
15
|
export class ToolCheck {
|
|
8
16
|
process;
|
|
9
17
|
constructor(process) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/application/tool/check.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAsB,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAqB,MAAM,mCAAmC,CAAC;AAIrF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/application/tool/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// The installation checkpoints recorded under this FX_HOME, in the order the ledger
|
|
2
|
+
// keeps them. A name narrows them to one tool, whether or not a manifest still
|
|
3
|
+
// declares it.
|
|
4
|
+
export class ToolHistory {
|
|
5
|
+
store;
|
|
6
|
+
constructor(store) {
|
|
7
|
+
this.store = store;
|
|
8
|
+
}
|
|
9
|
+
async execute(input) {
|
|
10
|
+
const history = await this.store.read();
|
|
11
|
+
if (input.name === undefined)
|
|
12
|
+
return history;
|
|
13
|
+
return history.filter((entry) => entry.name === input.name);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/application/tool/history.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,+EAA+E;AAC/E,eAAe;AAKf,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,KAAqC;QAArC,UAAK,GAAL,KAAK,CAAgC;IAAG,CAAC;IAEtE,KAAK,CAAC,OAAO,CAAC,KAEb;QACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// All installation/probe vectors are approved before any package manager runs.
|
|
3
3
|
import { DevkitError, toEnvelope, withPartialResult } from '../../domain/errors.js';
|
|
4
4
|
import { atLeast } from '../../domain/semver.js';
|
|
5
|
+
import { installsOnInit } from '../../domain/toolchain/resolve.js';
|
|
5
6
|
import { assertWritable } from '../safety/posture.js';
|
|
6
7
|
import { recoveryCommand } from '../workspace/guidance.js';
|
|
7
8
|
export class ToolInitialize {
|
|
@@ -10,7 +11,7 @@ export class ToolInitialize {
|
|
|
10
11
|
this.install = install;
|
|
11
12
|
}
|
|
12
13
|
async execute(input) {
|
|
13
|
-
const tools = input.tools.filter(
|
|
14
|
+
const tools = input.tools.filter(installsOnInit);
|
|
14
15
|
const request = { ...input, tools, all: true, update: false };
|
|
15
16
|
const plans = await this.install.execute({ ...request, dryRun: true });
|
|
16
17
|
if (plans.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/application/tool/initialize.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/application/tool/initialize.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAqB,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAW3D,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAErD,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;gBAAE,MAAM,cAAc,CAAC,IAAI,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,mBAAmB,EAAE,IAAI;YACzB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAClC,MAAM,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAE,CAAC;YAC9D,IACE,MAAM,CAAC,aAAa,KAAK,IAAI;gBAC7B,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEpE,MAAM,qBAAqB,CACzB,MAAM,EACN,qDAAqD,EACrD,OAAO,EACP,KAAK,CACN,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,SAAS,cAAc,CACrB,MAAyB,EACzB,MAAc,EACd,KAA2B;IAE3B,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,EAAE;QACxF,IAAI,EAAE,yHAAyH;QAC/H,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE;YACT,eAAe,CACb,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,EACtE,MAAM,EACN,MAAM,EACN,MAAM,CAAC,IAAI,CACZ;YACD,eAAe,CACb,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,EACtE,MAAM,EACN,SAAS,EACT,MAAM,CAAC,IAAI,EACX,WAAW,CACZ;YACD,eAAe,CACb,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,EACtE,MAAM,EACN,SAAS,EACT,MAAM,CAAC,IAAI,CACZ;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAyB,EACzB,MAAc,EACd,OAAqC,EACrC,KAA2B;IAE3B,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,iBAAiB,CAAC,OAAO,EAAE;QAChC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3F;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -15,13 +15,9 @@ export const TOOL_INSTALL_COLUMNS = [
|
|
|
15
15
|
'error',
|
|
16
16
|
];
|
|
17
17
|
export class ToolInstall {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
constructor(installers, process, audit) {
|
|
22
|
-
this.installers = installers;
|
|
23
|
-
this.process = process;
|
|
24
|
-
this.audit = audit;
|
|
18
|
+
deps;
|
|
19
|
+
constructor(deps) {
|
|
20
|
+
this.deps = deps;
|
|
25
21
|
}
|
|
26
22
|
async execute(input) {
|
|
27
23
|
assertToolSelection(input.names, input.all === true);
|
|
@@ -36,16 +32,17 @@ export class ToolInstall {
|
|
|
36
32
|
plans.push(await this.plan(tool, input));
|
|
37
33
|
if (input.dryRun)
|
|
38
34
|
return plans.map((plan) => plan.output);
|
|
35
|
+
const names = selected.map((tool) => tool.name);
|
|
39
36
|
if (plans.some((plan) => plan.output.vector !== null)) {
|
|
40
37
|
const action = input.update ? 'update' : 'install';
|
|
41
|
-
assertWritable(input.posture, `tool ${action} ${
|
|
38
|
+
assertWritable(input.posture, `tool ${action} ${names.join(' ')}`);
|
|
42
39
|
}
|
|
43
40
|
if (input.requireInstallTrust) {
|
|
44
41
|
if (!input.trust)
|
|
45
42
|
throw new DevkitError('config', 'VECTOR_UNTRUSTED', 'Automatic installation requires workspace command trust', {
|
|
46
43
|
nextSteps: [
|
|
47
44
|
'Re-run the same command in a terminal and review the install vector.',
|
|
48
|
-
|
|
45
|
+
recoveryCommand({ commandShell: input.commandShell }, 'tool', 'install', ...names),
|
|
49
46
|
],
|
|
50
47
|
});
|
|
51
48
|
await input.trust.gate.ensureAll({
|
|
@@ -115,7 +112,7 @@ export class ToolInstall {
|
|
|
115
112
|
};
|
|
116
113
|
retain(current);
|
|
117
114
|
try {
|
|
118
|
-
const result = await this.process.run(vector, {
|
|
115
|
+
const result = await this.deps.process.run(vector, {
|
|
119
116
|
diagnostic: { phase: `${tool.name} package install` },
|
|
120
117
|
});
|
|
121
118
|
retain({ ...current, code: result.code, status: result.code === 0 ? 'done' : 'failed' });
|
|
@@ -123,7 +120,7 @@ export class ToolInstall {
|
|
|
123
120
|
retain({ ...current, error: result.stderr.trim() || result.stdout.trim() });
|
|
124
121
|
return current;
|
|
125
122
|
}
|
|
126
|
-
await this.audit.checkpoint(entry, {
|
|
123
|
+
await this.deps.audit.checkpoint(entry, {
|
|
127
124
|
event: 'installed',
|
|
128
125
|
code: 0,
|
|
129
126
|
version_after: null,
|
|
@@ -131,7 +128,7 @@ export class ToolInstall {
|
|
|
131
128
|
failure_code: null,
|
|
132
129
|
});
|
|
133
130
|
retain({ ...current, phase: 'version' });
|
|
134
|
-
binaryPath = (await this.process.which(tool.binary)) ?? null;
|
|
131
|
+
binaryPath = (await this.deps.process.which(tool.binary)) ?? null;
|
|
135
132
|
const version = await this.probe(tool, input.trust);
|
|
136
133
|
retain({ ...output, ran: true, code: 0, version_after: version ?? null, status: 'done' });
|
|
137
134
|
return current;
|
|
@@ -143,7 +140,7 @@ export class ToolInstall {
|
|
|
143
140
|
}
|
|
144
141
|
finally {
|
|
145
142
|
// Every path closes the ledger entry: an install that threw still happened.
|
|
146
|
-
await this.audit.checkpoint(entry, {
|
|
143
|
+
await this.deps.audit.checkpoint(entry, {
|
|
147
144
|
event: 'finished',
|
|
148
145
|
code: current.code,
|
|
149
146
|
version_after: current.version_after,
|
|
@@ -155,7 +152,7 @@ export class ToolInstall {
|
|
|
155
152
|
async startAudit({ tool, method }, input, vector) {
|
|
156
153
|
if (method.via === 'manual')
|
|
157
154
|
throw new DevkitError('internal', 'INTERNAL', 'Manual installs cannot execute');
|
|
158
|
-
return this.audit.start({
|
|
155
|
+
return this.deps.audit.start({
|
|
159
156
|
operation: input.operation ?? (input.update ? 'update' : 'install'),
|
|
160
157
|
workspace: input.trust?.workspace ?? null,
|
|
161
158
|
name: tool.name,
|
|
@@ -163,7 +160,7 @@ export class ToolInstall {
|
|
|
163
160
|
via: method.via,
|
|
164
161
|
spec: method.spec ?? tool.name,
|
|
165
162
|
vector,
|
|
166
|
-
binary_path_before: (await this.process.which(tool.binary)) ?? null,
|
|
163
|
+
binary_path_before: (await this.deps.process.which(tool.binary)) ?? null,
|
|
167
164
|
});
|
|
168
165
|
}
|
|
169
166
|
async probe(tool, trust) {
|
|
@@ -180,7 +177,7 @@ export class ToolInstall {
|
|
|
180
177
|
posture: trust.posture,
|
|
181
178
|
});
|
|
182
179
|
}
|
|
183
|
-
return await probeToolVersion(this.process, tool, { propagateErrors: true });
|
|
180
|
+
return await probeToolVersion(this.deps.process, tool, { propagateErrors: true });
|
|
184
181
|
}
|
|
185
182
|
catch (error) {
|
|
186
183
|
// The package is already installed: a version command nobody approved leaves the
|
|
@@ -195,7 +192,7 @@ export class ToolInstall {
|
|
|
195
192
|
// Declared order is the team's preference; availability on this machine is the
|
|
196
193
|
// only thing allowed to skip a method.
|
|
197
194
|
for (const method of tool.install) {
|
|
198
|
-
const installer = this.installers.find((i) => i.id === method.via);
|
|
195
|
+
const installer = this.deps.installers.find((i) => i.id === method.via);
|
|
199
196
|
if (installer !== undefined && (await installer.available()))
|
|
200
197
|
return { method, installer };
|
|
201
198
|
}
|
|
@@ -214,7 +211,7 @@ export class ToolInstall {
|
|
|
214
211
|
for (const tool of tools) {
|
|
215
212
|
if (!tool.enabled)
|
|
216
213
|
continue;
|
|
217
|
-
if ((await this.process.which(tool.binary)) === undefined)
|
|
214
|
+
if ((await this.deps.process.which(tool.binary)) === undefined)
|
|
218
215
|
needing.push(tool);
|
|
219
216
|
}
|
|
220
217
|
return needing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/application/tool/install.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/application/tool/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,7 +102,7 @@ export class ToolInstalled {
|
|
|
102
102
|
...bindProviders(workspace, opts.providers).map(keyedBinding),
|
|
103
103
|
...bindPlatforms(environments, opts.providers).map(keyedPlatform),
|
|
104
104
|
];
|
|
105
|
-
const needed = providerTools(bindings, opts.providers,
|
|
105
|
+
const needed = providerTools(bindings, opts.providers, resolved);
|
|
106
106
|
return selectToolchain(resolved, needed).tools;
|
|
107
107
|
}
|
|
108
108
|
async describe(events, requirements) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installed.js","sourceRoot":"","sources":["../../../src/application/tool/installed.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"installed.js","sourceRoot":"","sources":["../../../src/application/tool/installed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/application/tool/list.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,yFAAyF;AACzF,qDAAqD;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/application/tool/list.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,yFAAyF;AACzF,qDAAqD;AAmBrD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,aAAa;IACb,aAAa;IACb,QAAQ;IACR,MAAM;CACE,CAAC;AAEX,MAAM,OAAO,QAAQ;IACnB,OAAO,CAAC,KAGP;QACC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;gBACpC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI;gBACzC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS;gBACjC,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;gBAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;aAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,IAAkB;IAClC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACnD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
// active in the selected environments drive.
|
|
3
3
|
import { servesCapability } from '../../domain/manifest/providers.js';
|
|
4
4
|
import { finding } from '../../domain/report.js';
|
|
5
|
-
import {
|
|
5
|
+
import { installsOnInit } from '../../domain/toolchain/resolve.js';
|
|
6
|
+
import { keyedBinding, keyedPlatform, manifestProviderTool, providerTools, } from '../../domain/toolchain/select.js';
|
|
6
7
|
import { workspaceCommand } from '../workspace/guidance.js';
|
|
7
|
-
import {
|
|
8
|
+
import { toolchainOf } from './toolchain.js';
|
|
8
9
|
export function workspaceToolScope(ctx, selection, commandShell) {
|
|
9
10
|
// Selection decides what a check covers by default; naming a tool explicitly may still
|
|
10
11
|
// reach one fx only knows, which is why the catalog counts as known here.
|
|
@@ -12,9 +13,9 @@ export function workspaceToolScope(ctx, selection, commandShell) {
|
|
|
12
13
|
const available = toolchain.all;
|
|
13
14
|
const known = (tool) => available.some((entry) => entry.name === tool);
|
|
14
15
|
const bindings = activeBindings(ctx, selection);
|
|
15
|
-
const dependencies = new Set(providerTools(bindings, ctx.providers,
|
|
16
|
+
const dependencies = new Set(providerTools(bindings, ctx.providers, available).keys());
|
|
16
17
|
const problems = [
|
|
17
|
-
...unservedBindings(ctx, bindings,
|
|
18
|
+
...unservedBindings(ctx, bindings, available).map((binding) => finding('manifest', `provider:${binding.key}`, 'fail', `Provider "${binding.provider}" ${ctx.providers.some((p) => p.id === binding.provider) ? `does not serve ${binding.capability}` : 'is not registered'}; readiness could not be checked.`, {
|
|
18
19
|
coverage: 'incomplete',
|
|
19
20
|
fix: workspaceCommand({ ctx, commandShell }, 'manifest', 'providers'),
|
|
20
21
|
evidence: { provider: binding.provider, capability: binding.capability },
|
|
@@ -46,14 +47,14 @@ export function workspaceToolScope(ctx, selection, commandShell) {
|
|
|
46
47
|
}
|
|
47
48
|
// A binding fx cannot read: its provider is unregistered and names no tool either, or it is
|
|
48
49
|
// registered under a different capability. Either way nothing can be checked for it.
|
|
49
|
-
function unservedBindings(ctx, bindings,
|
|
50
|
+
function unservedBindings(ctx, bindings, tools) {
|
|
50
51
|
return bindings.filter((binding) => {
|
|
51
52
|
if (binding.provider === null || binding.source === 'misplaced')
|
|
52
53
|
return false;
|
|
53
54
|
const provider = ctx.providers.find((candidate) => candidate.id === binding.provider);
|
|
54
55
|
if (servesCapability(provider, binding.capability))
|
|
55
56
|
return false;
|
|
56
|
-
return provider !== undefined ||
|
|
57
|
+
return provider !== undefined || manifestProviderTool(binding.provider, tools) === undefined;
|
|
57
58
|
});
|
|
58
59
|
}
|
|
59
60
|
function activeBindings(ctx, selection) {
|
|
@@ -68,7 +69,7 @@ function activeBindings(ctx, selection) {
|
|
|
68
69
|
}
|
|
69
70
|
function isRequired(tool, dependencies) {
|
|
70
71
|
return (tool.required ||
|
|
71
|
-
(tool
|
|
72
|
+
installsOnInit(tool) ||
|
|
72
73
|
(dependencies.has(tool.name) && !tool.patchedFields.includes('required')));
|
|
73
74
|
}
|
|
74
75
|
//# sourceMappingURL=scope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/application/tool/scope.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,6CAA6C;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/application/tool/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Naming tools on the command line: exact names or a correction, never a
|
|
2
2
|
// silent subset.
|
|
3
3
|
import { DevkitError } from '../../domain/errors.js';
|
|
4
|
-
import { nearest } from '../../domain/fuzzy.js';
|
|
4
|
+
import { nearest, suggestionHint } from '../../domain/fuzzy.js';
|
|
5
5
|
import { recoveryCommand } from '../workspace/guidance.js';
|
|
6
6
|
export function assertToolSelection(names, all) {
|
|
7
7
|
const named = (names?.length ?? 0) > 0;
|
|
@@ -18,9 +18,7 @@ export function selectTools(tools, names, context = {}) {
|
|
|
18
18
|
return tool;
|
|
19
19
|
const suggestion = nearest(name, tools.map((t) => t.name));
|
|
20
20
|
throw new DevkitError('not_found', 'TOOL_UNKNOWN', `No tool named "${name}" in the toolchain`, {
|
|
21
|
-
hint: suggestion
|
|
22
|
-
? 'A tool joins the toolchain by being driven by a bound provider, or by being named in manifest/tools.yaml.'
|
|
23
|
-
: `Did you mean "${suggestion}"?`,
|
|
21
|
+
hint: suggestionHint(suggestion, 'A tool joins the toolchain by being driven by a bound provider, or by being named in manifest/tools.yaml.'),
|
|
24
22
|
nextSteps: [recoveryCommand(context, 'tool', 'list', '--catalog')],
|
|
25
23
|
});
|
|
26
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/application/tool/select.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,iBAAiB;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/application/tool/select.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,iBAAiB;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAwB,MAAM,0BAA0B,CAAC;AAEjF,MAAM,UAAU,mBAAmB,CAAC,KAAoC,EAAE,GAAY;IACpF,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO;IAC1B,MAAM,IAAI,WAAW,CACnB,OAAO,EACP,UAAU,EACV,KAAK,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,6BAA6B,EACrF,EAAE,SAAS,EAAE,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,EAAE,CACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAA8B,EAC9B,KAAoC,EACpC,UAA2B,EAAE;IAE7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CACxB,IAAI,EACJ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACzB,CAAC;QACF,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,IAAI,oBAAoB,EAAE;YAC7F,IAAI,EAAE,cAAc,CAClB,UAAU,EACV,2GAA2G,CAC5G;YACD,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;SACnE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|