@tacuchi/agent-workflow-cli 25.8.0 → 25.9.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 +80 -0
- package/README.md +5 -1
- package/dist/adapters/git-cli.js +225 -17
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/adapters/node-file-system.js +48 -0
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/amend-service.js +51 -14
- package/dist/application/amend-service.js.map +1 -1
- package/dist/application/branch-resolver.js +6 -3
- package/dist/application/branch-resolver.js.map +1 -1
- package/dist/application/capability/design-handler.js +124 -43
- package/dist/application/capability/design-handler.js.map +1 -1
- package/dist/application/capability/dispatcher.js +4 -1
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/durable-effect.js +3 -0
- package/dist/application/capability/durable-effect.js.map +1 -1
- package/dist/application/check-branch-service.js +158 -19
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint/markdown.js +2 -2
- package/dist/application/checkpoint/markdown.js.map +1 -1
- package/dist/application/checkpoint/state-reader.js +12 -0
- package/dist/application/checkpoint/state-reader.js.map +1 -1
- package/dist/application/checkpoint-service.js +12 -4
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +91 -17
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/claims-ledger.js +137 -11
- package/dist/application/claims-ledger.js.map +1 -1
- package/dist/application/claims-recovery.js +85 -44
- package/dist/application/claims-recovery.js.map +1 -1
- package/dist/application/database-tool-catalog.js +33 -0
- package/dist/application/database-tool-catalog.js.map +1 -1
- package/dist/application/design/consumer-document.js +2 -2
- package/dist/application/design/consumer-document.js.map +1 -1
- package/dist/application/design/design-content-gate-service.js +20 -2
- package/dist/application/design/design-content-gate-service.js.map +1 -1
- package/dist/application/design/design-gate-service.js +2 -0
- package/dist/application/design/design-gate-service.js.map +1 -1
- package/dist/application/design/design-index-service.js +4 -0
- package/dist/application/design/design-index-service.js.map +1 -1
- package/dist/application/design/design-publish-service.js +1 -4
- package/dist/application/design/design-publish-service.js.map +1 -1
- package/dist/application/design/design-record-service.js +13 -7
- package/dist/application/design/design-record-service.js.map +1 -1
- package/dist/application/design/design-resolver-service.js +22 -3
- package/dist/application/design/design-resolver-service.js.map +1 -1
- package/dist/application/design/design-simple-service.js +24 -5
- package/dist/application/design/design-simple-service.js.map +1 -1
- package/dist/application/design/digest.js +41 -0
- package/dist/application/design/digest.js.map +1 -0
- package/dist/application/dev-only-services.js +166 -20
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/doc-branch-ledger.js +145 -0
- package/dist/application/doc-branch-ledger.js.map +1 -0
- package/dist/application/docs-canon-service.js +1 -1
- package/dist/application/docs-canon-service.js.map +1 -1
- package/dist/application/doctor/dist-integrity.js +113 -0
- package/dist/application/doctor/dist-integrity.js.map +1 -0
- package/dist/application/doctor/hosts.js +5 -2
- package/dist/application/doctor/hosts.js.map +1 -1
- package/dist/application/doctor/prepare.js +4 -1
- package/dist/application/doctor/prepare.js.map +1 -1
- package/dist/application/doctor/provider-installation.js +39 -19
- package/dist/application/doctor/provider-installation.js.map +1 -1
- package/dist/application/doctor/provider-mcps.js +9 -1
- package/dist/application/doctor/provider-mcps.js.map +1 -1
- package/dist/application/doctor/provider-skills.js +25 -0
- package/dist/application/doctor/provider-skills.js.map +1 -1
- package/dist/application/doctor/provider-visibility.js +76 -3
- package/dist/application/doctor/provider-visibility.js.map +1 -1
- package/dist/application/doctor/provider-workspace-block.js +156 -0
- package/dist/application/doctor/provider-workspace-block.js.map +1 -0
- package/dist/application/doctor/repair-runner.js +47 -3
- package/dist/application/doctor/repair-runner.js.map +1 -1
- package/dist/application/doctor/report.js +24 -4
- package/dist/application/doctor/report.js.map +1 -1
- package/dist/application/doctor/skills-toml-migrate.js +76 -0
- package/dist/application/doctor/skills-toml-migrate.js.map +1 -0
- package/dist/application/export-catalog-check.js +200 -0
- package/dist/application/export-catalog-check.js.map +1 -0
- package/dist/application/export-service.js +716 -79
- package/dist/application/export-service.js.map +1 -1
- package/dist/application/fix-git-service.js +285 -64
- package/dist/application/fix-git-service.js.map +1 -1
- package/dist/application/flow/advance.js +202 -25
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/annul-service.js +3 -1
- package/dist/application/flow/annul-service.js.map +1 -1
- package/dist/application/flow/batch-commit.js +189 -0
- package/dist/application/flow/batch-commit.js.map +1 -0
- package/dist/application/flow/checkout-observation.js +63 -10
- package/dist/application/flow/checkout-observation.js.map +1 -1
- package/dist/application/flow/close-artifacts.js +105 -0
- package/dist/application/flow/close-artifacts.js.map +1 -0
- package/dist/application/flow/close-at-boundary.js +25 -14
- package/dist/application/flow/close-at-boundary.js.map +1 -1
- package/dist/application/flow/close-document-guidance.js +70 -0
- package/dist/application/flow/close-document-guidance.js.map +1 -0
- package/dist/application/flow/flow-service.js +46 -3
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +300 -82
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/internal-drive.js +24 -1
- package/dist/application/flow/internal-drive.js.map +1 -1
- package/dist/application/flow/plan-entry.js +82 -0
- package/dist/application/flow/plan-entry.js.map +1 -0
- package/dist/application/flow/prove.js +32 -1
- package/dist/application/flow/prove.js.map +1 -1
- package/dist/application/flow/quick-checkouts.js +48 -0
- package/dist/application/flow/quick-checkouts.js.map +1 -0
- package/dist/application/flow/reinfer-batch.js +177 -0
- package/dist/application/flow/reinfer-batch.js.map +1 -0
- package/dist/application/flow/reopen-run.js +12 -5
- package/dist/application/flow/reopen-run.js.map +1 -1
- package/dist/application/flow/run-state-service.js +2 -0
- package/dist/application/flow/run-state-service.js.map +1 -1
- package/dist/application/flow/submit.js +583 -116
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/generate-launch-service.js +16 -6
- package/dist/application/generate-launch-service.js.map +1 -1
- package/dist/application/git-flow-service.js +34 -3
- package/dist/application/git-flow-service.js.map +1 -1
- package/dist/application/history-publications.js +24 -0
- package/dist/application/history-publications.js.map +1 -1
- package/dist/application/history-reconcile-service.js +45 -0
- package/dist/application/history-reconcile-service.js.map +1 -0
- package/dist/application/history-table.js +61 -12
- package/dist/application/history-table.js.map +1 -1
- package/dist/application/history-update-service.js +25 -4
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/hook-branch-check.js +25 -3
- package/dist/application/hook-branch-check.js.map +1 -1
- package/dist/application/hook-git-commit-advisor.js +3 -4
- package/dist/application/hook-git-commit-advisor.js.map +1 -1
- package/dist/application/hook-turn-start.js +51 -0
- package/dist/application/hook-turn-start.js.map +1 -0
- package/dist/application/host-memory/codex.js +1 -1
- package/dist/application/host-memory/codex.js.map +1 -1
- package/dist/application/hub-registry.js +135 -0
- package/dist/application/hub-registry.js.map +1 -0
- package/dist/application/local-proposal.js +72 -19
- package/dist/application/local-proposal.js.map +1 -1
- package/dist/application/mcp-host-reader.js +1 -1
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.js +16 -10
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/merge-state-service.js +150 -34
- package/dist/application/merge-state-service.js.map +1 -1
- package/dist/application/multiroot/claude.js +17 -10
- package/dist/application/multiroot/claude.js.map +1 -1
- package/dist/application/multiroot/codex.js +17 -11
- package/dist/application/multiroot/codex.js.map +1 -1
- package/dist/application/multiroot-service.js +52 -28
- package/dist/application/multiroot-service.js.map +1 -1
- package/dist/application/parsers/execution-batches.js +64 -0
- package/dist/application/parsers/execution-batches.js.map +1 -0
- package/dist/application/parsers/phases.js +23 -2
- package/dist/application/parsers/phases.js.map +1 -1
- package/dist/application/parsers/project-block.js +146 -17
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/parsers/tasks.js +16 -2
- package/dist/application/parsers/tasks.js.map +1 -1
- package/dist/application/parsers/toml.js +19 -0
- package/dist/application/parsers/toml.js.map +1 -0
- package/dist/application/paths-service.js +13 -16
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/persist-service.js +118 -5
- package/dist/application/persist-service.js.map +1 -1
- package/dist/application/plan-exec-batch-service.js +162 -22
- package/dist/application/plan-exec-batch-service.js.map +1 -1
- package/dist/application/plan-exec-decision-service.js +61 -12
- package/dist/application/plan-exec-decision-service.js.map +1 -1
- package/dist/application/plan-exec-plan-diff.js +105 -0
- package/dist/application/plan-exec-plan-diff.js.map +1 -0
- package/dist/application/plan-lint-service.js +2 -0
- package/dist/application/plan-lint-service.js.map +1 -1
- package/dist/application/plan-passes.js +41 -0
- package/dist/application/plan-passes.js.map +1 -0
- package/dist/application/preparation-receipts.js +58 -0
- package/dist/application/preparation-receipts.js.map +1 -0
- package/dist/application/project-md-upsert-service.js +191 -52
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.js +40 -10
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/release-data/artifacts.js +15 -7
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/release-data/bundles.js +52 -6
- package/dist/application/release-data/bundles.js.map +1 -1
- package/dist/application/release-data/common.js +2 -2
- package/dist/application/release-data/common.js.map +1 -1
- package/dist/application/release-data/rollback.js +7 -0
- package/dist/application/release-data/rollback.js.map +1 -0
- package/dist/application/release-data/sessions.js +2 -2
- package/dist/application/release-data/sessions.js.map +1 -1
- package/dist/application/release-pass-ledger.js +1 -1
- package/dist/application/render/history-row.js +2 -0
- package/dist/application/render/history-row.js.map +1 -1
- package/dist/application/render/project-block.js +28 -11
- package/dist/application/render/project-block.js.map +1 -1
- package/dist/application/reseal-service.js +1 -0
- package/dist/application/reseal-service.js.map +1 -1
- package/dist/application/resume-service.js +55 -8
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/retirement/apply.js +25 -7
- package/dist/application/retirement/apply.js.map +1 -1
- package/dist/application/retirement/attribution.js +121 -48
- package/dist/application/retirement/attribution.js.map +1 -1
- package/dist/application/retirement/prepare.js +17 -11
- package/dist/application/retirement/prepare.js.map +1 -1
- package/dist/application/retirement/preview.js +2 -1
- package/dist/application/retirement/preview.js.map +1 -1
- package/dist/application/self/codex-plugin.js +1 -1
- package/dist/application/self/codex-plugin.js.map +1 -1
- package/dist/application/self/host-states.js +3 -3
- package/dist/application/self/host-states.js.map +1 -1
- package/dist/application/self/install-hooks.js +1 -1
- package/dist/application/self/install-hooks.js.map +1 -1
- package/dist/application/self/mcp-config.js +19 -11
- package/dist/application/self/mcp-config.js.map +1 -1
- package/dist/application/self/opencode-plugin.js +1 -0
- package/dist/application/self/opencode-plugin.js.map +1 -1
- package/dist/application/self/uninstall.js +1 -1
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/semantic-operation/protocol.js +66 -5
- package/dist/application/semantic-operation/protocol.js.map +1 -1
- package/dist/application/session-archive-service.js +113 -0
- package/dist/application/session-archive-service.js.map +1 -0
- package/dist/application/session-binding-service.js +35 -0
- package/dist/application/session-binding-service.js.map +1 -1
- package/dist/application/session-close-service.js +390 -54
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +97 -5
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-custody-recorder.js +15 -12
- package/dist/application/session-custody-recorder.js.map +1 -1
- package/dist/application/session-custody-service.js +1 -0
- package/dist/application/session-custody-service.js.map +1 -1
- package/dist/application/session-narrative.js +42 -12
- package/dist/application/session-narrative.js.map +1 -1
- package/dist/application/session-pause-service.js +46 -0
- package/dist/application/session-pause-service.js.map +1 -0
- package/dist/application/session-resolver.js +36 -11
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.js +134 -13
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.js +4 -0
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/sessions-sweep-service.js +77 -0
- package/dist/application/sessions-sweep-service.js.map +1 -0
- package/dist/application/settle-service.js +3 -1
- package/dist/application/settle-service.js.map +1 -1
- package/dist/application/skills-resolver-service.js +1 -1
- package/dist/application/skills-resolver-service.js.map +1 -1
- package/dist/application/source-add-service.js +37 -0
- package/dist/application/source-add-service.js.map +1 -0
- package/dist/application/source-boundary-policy.js +97 -8
- package/dist/application/source-boundary-policy.js.map +1 -1
- package/dist/application/source-pipeline.js +68 -0
- package/dist/application/source-pipeline.js.map +1 -0
- package/dist/application/source-remove-service.js +15 -3
- package/dist/application/source-remove-service.js.map +1 -1
- package/dist/application/sources-service.js +71 -16
- package/dist/application/sources-service.js.map +1 -1
- package/dist/application/status-service.js +55 -5
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/unit-dependencies.js +100 -0
- package/dist/application/unit-dependencies.js.map +1 -0
- package/dist/application/unit-membership.js +37 -0
- package/dist/application/unit-membership.js.map +1 -0
- package/dist/application/unit-residue.js +72 -0
- package/dist/application/unit-residue.js.map +1 -0
- package/dist/application/visibility-doctor-service.js +66 -4
- package/dist/application/visibility-doctor-service.js.map +1 -1
- package/dist/application/working-branch-service.js +6 -0
- package/dist/application/working-branch-service.js.map +1 -1
- package/dist/application/workline-graph.js +1 -1
- package/dist/application/workline-graph.js.map +1 -1
- package/dist/application/workline-index-service.js +118 -17
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/application/workspace-commit-service.js +218 -0
- package/dist/application/workspace-commit-service.js.map +1 -0
- package/dist/application/workspace-init-service.js +64 -34
- package/dist/application/workspace-init-service.js.map +1 -1
- package/dist/application/workspace-local-config.js +90 -0
- package/dist/application/workspace-local-config.js.map +1 -0
- package/dist/application/workspace-materialization-service.js +52 -3
- package/dist/application/workspace-materialization-service.js.map +1 -1
- package/dist/application/workspace-migrate/apply.js +525 -4
- package/dist/application/workspace-migrate/apply.js.map +1 -1
- package/dist/application/workspace-migrate/markers.js +9 -6
- package/dist/application/workspace-migrate/markers.js.map +1 -1
- package/dist/application/workspace-migrate/plan.js +97 -5
- package/dist/application/workspace-migrate/plan.js.map +1 -1
- package/dist/application/workspace-move-service.js +270 -0
- package/dist/application/workspace-move-service.js.map +1 -0
- package/dist/application/workspace-untrack-service.js +28 -0
- package/dist/application/workspace-untrack-service.js.map +1 -0
- package/dist/application/worktree-service.js +654 -105
- package/dist/application/worktree-service.js.map +1 -1
- package/dist/cli/ascii.js +2 -0
- package/dist/cli/ascii.js.map +1 -1
- package/dist/cli/commands/add-source.js +38 -0
- package/dist/cli/commands/add-source.js.map +1 -0
- package/dist/cli/commands/amend.js +14 -3
- package/dist/cli/commands/amend.js.map +1 -1
- package/dist/cli/commands/capability.js +11 -0
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/designs.js +14 -5
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/dev-only.js +19 -6
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/doc-branch.js +184 -0
- package/dist/cli/commands/doc-branch.js.map +1 -0
- package/dist/cli/commands/doctor.js +5 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/export.js +78 -18
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/fix-git.js +89 -14
- package/dist/cli/commands/fix-git.js.map +1 -1
- package/dist/cli/commands/flow.js +120 -15
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/generate-launch.js +14 -2
- package/dist/cli/commands/generate-launch.js.map +1 -1
- package/dist/cli/commands/history-update.js +1 -1
- package/dist/cli/commands/history-update.js.map +1 -1
- package/dist/cli/commands/history.js +14 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/hook.js +15 -2
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/index.js +18 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/merge-state.js +2 -2
- package/dist/cli/commands/merge-state.js.map +1 -1
- package/dist/cli/commands/persist.js +6 -5
- package/dist/cli/commands/persist.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +5 -3
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/release-pass.js +3 -3
- package/dist/cli/commands/release-pass.js.map +1 -1
- package/dist/cli/commands/resume.js +12 -3
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/self.js +7 -2
- package/dist/cli/commands/self.js.map +1 -1
- package/dist/cli/commands/session-close.js +64 -9
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.js +4 -2
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/session-pause.js +14 -0
- package/dist/cli/commands/session-pause.js.map +1 -0
- package/dist/cli/commands/sessions.js +16 -3
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/set-branch.js +28 -4
- package/dist/cli/commands/set-branch.js.map +1 -1
- package/dist/cli/commands/set-edit-mode.js +20 -0
- package/dist/cli/commands/set-edit-mode.js.map +1 -0
- package/dist/cli/commands/set-pipeline.js +35 -0
- package/dist/cli/commands/set-pipeline.js.map +1 -0
- package/dist/cli/commands/sources.js +4 -0
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/status.js +35 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/unknown-flags.js +1 -0
- package/dist/cli/commands/unknown-flags.js.map +1 -1
- package/dist/cli/commands/visibility.js +1 -0
- package/dist/cli/commands/visibility.js.map +1 -1
- package/dist/cli/commands/workspace-commit.js +62 -0
- package/dist/cli/commands/workspace-commit.js.map +1 -0
- package/dist/cli/commands/workspace-init.js +39 -2
- package/dist/cli/commands/workspace-init.js.map +1 -1
- package/dist/cli/commands/workspace-migrate.js +31 -3
- package/dist/cli/commands/workspace-migrate.js.map +1 -1
- package/dist/cli/commands/workspace-move.js +42 -0
- package/dist/cli/commands/workspace-move.js.map +1 -0
- package/dist/cli/commands/worktree.js +4 -4
- package/dist/cli/commands/worktree.js.map +1 -1
- package/dist/cli/context-id.js +6 -0
- package/dist/cli/context-id.js.map +1 -1
- package/dist/cli/full-cli.js +555 -0
- package/dist/cli/full-cli.js.map +1 -0
- package/dist/cli/help-groups.js +75 -16
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/hook-stdin-cache.js +12 -0
- package/dist/cli/hook-stdin-cache.js.map +1 -0
- package/dist/cli/main.js +47 -453
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.js +4 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +1 -1
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-form.js +4 -1
- package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
- package/dist/cli/tui/data/recommended-skills.js +2 -2
- package/dist/cli/tui/data/recommended-skills.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +6 -1
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +4 -3
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +7 -2
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/dist-manifest.json +4117 -0
- package/dist/domain/capability/protocol.js.map +1 -1
- package/dist/domain/decision-note.js +13 -0
- package/dist/domain/decision-note.js.map +1 -1
- package/dist/domain/design/artifact.js +22 -3
- package/dist/domain/design/artifact.js.map +1 -1
- package/dist/domain/design/capability.js +1 -0
- package/dist/domain/design/capability.js.map +1 -1
- package/dist/domain/design/expansion.js +1 -1
- package/dist/domain/design/expansion.js.map +1 -1
- package/dist/domain/design/maturity.js +16 -0
- package/dist/domain/design/maturity.js.map +1 -1
- package/dist/domain/design/reference.js +5 -0
- package/dist/domain/design/reference.js.map +1 -1
- package/dist/domain/doctor/operations.js +28 -2
- package/dist/domain/doctor/operations.js.map +1 -1
- package/dist/domain/effective-contract.js +3 -1
- package/dist/domain/effective-contract.js.map +1 -1
- package/dist/domain/elicitation.js +1 -1
- package/dist/domain/flow/answer.js +265 -130
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +193 -34
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/batch-review.js +65 -0
- package/dist/domain/flow/batch-review.js.map +1 -0
- package/dist/domain/flow/decision-schema.js +47 -0
- package/dist/domain/flow/decision-schema.js.map +1 -0
- package/dist/domain/flow/directive.js +16 -0
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/execution-result.js +91 -2
- package/dist/domain/flow/execution-result.js.map +1 -1
- package/dist/domain/flow/run-state.js +352 -24
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/flow/test-run-evidence.js +285 -0
- package/dist/domain/flow/test-run-evidence.js.map +1 -0
- package/dist/domain/flow/unchanged-phase.js +15 -0
- package/dist/domain/flow/unchanged-phase.js.map +1 -0
- package/dist/domain/harnesses.js +14 -5
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/isolation-unit.js +2 -2
- package/dist/domain/isolation-unit.js.map +1 -1
- package/dist/domain/lineage.js +7 -2
- package/dist/domain/lineage.js.map +1 -1
- package/dist/domain/obligation-correspondence.js +4 -2
- package/dist/domain/obligation-correspondence.js.map +1 -1
- package/dist/domain/plan-handoff.js +5 -0
- package/dist/domain/plan-handoff.js.map +1 -0
- package/dist/domain/proposal.js +18 -7
- package/dist/domain/proposal.js.map +1 -1
- package/dist/domain/reservation.js +5 -3
- package/dist/domain/reservation.js.map +1 -1
- package/dist/domain/retirement/proposal.js +1 -0
- package/dist/domain/retirement/proposal.js.map +1 -1
- package/dist/domain/session/custody.js +10 -6
- package/dist/domain/session/custody.js.map +1 -1
- package/dist/domain/session/narrative.js +4 -1
- package/dist/domain/session/narrative.js.map +1 -1
- package/dist/domain/skills.js +2 -0
- package/dist/domain/skills.js.map +1 -1
- package/dist/domain/sql-lexer.js +1 -1
- package/dist/domain/sql-lexer.js.map +1 -1
- package/dist/runtime/namespace-resolver.js +4 -0
- package/dist/runtime/namespace-resolver.js.map +1 -1
- package/dist/runtime/workline-marker.js +35 -8
- package/dist/runtime/workline-marker.js.map +1 -1
- package/dist/runtime/workspace-resolution.js +123 -0
- package/dist/runtime/workspace-resolution.js.map +1 -0
- package/package.json +5 -4
- package/skills/w/SKILL.md +3 -1
- package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +1 -1
- package/skills/w/artifacts/artifacts-core/SCRIPTS.rollback.sql +8 -0
- package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +4 -8
- package/skills/w/commands/export-diagrams.md +3 -3
- package/skills/w/commands/export-manuals.md +6 -6
- package/skills/w/commands/export-reports.md +3 -3
- package/skills/w/commands/export-scripts.md +5 -5
- package/skills/w/commands/fix-git.md +12 -13
- package/skills/w/commands/persist.md +2 -2
- package/skills/w/commands/plan-exec.md +4 -2
- package/skills/w/commands/spec-new.md +1 -1
- package/skills/w/commands/workspace-init.md +2 -0
- package/skills/w/context/MANIFEST.json +1 -1
- package/skills/w/exports/export-diagrams/EXPORT.md +3 -3
- package/skills/w/exports/export-manuals/EXPORT.md +14 -16
- package/skills/w/exports/export-reports/EXPORT.md +3 -3
- package/skills/w/exports/export-scripts/EXPORT.md +45 -21
- package/skills/w/harness/HARNESS.md +2 -2
- package/skills/w/hooks/hooks.template.json +6 -4
- package/skills/w/loops/CHASSIS.md +11 -5
- package/skills/w/loops/CODE-POLICIES.md +7 -4
- package/skills/w/loops/plan-exec-loop/LOOP.md +23 -22
- package/skills/w/loops/plan-new-loop/LOOP.md +23 -31
- package/skills/w/loops/plan-refine-loop/LOOP.md +8 -2
- package/skills/w/loops/quick-loop/LOOP.md +6 -5
- package/skills/w/modules/DESIGN-REFERENCES.md +9 -11
- package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +4 -4
- package/skills/w/modules/SESSION-NUMBERING.md +2 -0
- package/skills/w/roles/design/CONTRACT.md +6 -4
- package/skills/w/roles/design/ROLE.md +4 -2
- package/skills/w/roles/git/ROLE.md +16 -9
- package/skills/w/roles/research/ROLE.md +1 -1
- package/skills/w/roles/sql/ROLE.md +16 -14
- package/skills/w/schemas/design/ui-screen.v1.schema.json +9 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { runBranchCheckHook } from "../../application/hook-branch-check.js";
|
|
2
2
|
import { runGitCommitAdvisor } from "../../application/hook-git-commit-advisor.js";
|
|
3
3
|
import { runSqlMutationGuard } from "../../application/hook-sql-mutation-guard.js";
|
|
4
|
+
import { runTurnStartHook } from "../../application/hook-turn-start.js";
|
|
4
5
|
import { readHookStdin } from "../context-id.js";
|
|
5
|
-
import { fail, writeStderr } from "../render.js";
|
|
6
|
+
import { fail, writeStderr, writeStdout } from "../render.js";
|
|
6
7
|
export const hookCommand = {
|
|
7
8
|
name: "hook",
|
|
8
9
|
flags: { known: [], mode: "warn" },
|
|
9
|
-
describe: "
|
|
10
|
+
describe: "Hook target. Subcommands: branch-check, sql-mutation-guard, git-commit-advisor, turn-start.",
|
|
10
11
|
async execute(args, ctx) {
|
|
11
12
|
const subcommand = args.rest[0];
|
|
12
13
|
if (!subcommand) {
|
|
@@ -15,6 +16,18 @@ export const hookCommand = {
|
|
|
15
16
|
// Bounded like the lifecycle hooks: run by hand from an agent's shell, fd 0
|
|
16
17
|
// is an idle socket and an unbounded read would hang until the tool timeout.
|
|
17
18
|
const stdin = (await readHookStdin()) ?? "";
|
|
19
|
+
if (subcommand === "turn-start") {
|
|
20
|
+
const result = await runTurnStartHook({
|
|
21
|
+
stdin,
|
|
22
|
+
fs: ctx.fs,
|
|
23
|
+
env: ctx.env,
|
|
24
|
+
git: ctx.git,
|
|
25
|
+
paths: ctx.paths,
|
|
26
|
+
});
|
|
27
|
+
if (result.stdout)
|
|
28
|
+
writeStdout(result.stdout);
|
|
29
|
+
return { ok: true, data: undefined, exitCode: 0 };
|
|
30
|
+
}
|
|
18
31
|
if (subcommand === "branch-check") {
|
|
19
32
|
const result = await runBranchCheckHook({
|
|
20
33
|
stdin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// a real home in help-groups.ts (none fall into the catch-all "Other"), the
|
|
4
4
|
// global-help describe map is built from it, and `main.ts` registers this array
|
|
5
5
|
// directly (order here = order in the grouped `--help` listing).
|
|
6
|
+
import { addSourceCommand } from "./add-source.js";
|
|
6
7
|
import { amendCommand } from "./amend.js";
|
|
7
8
|
import { capabilityCommand } from "./capability.js";
|
|
8
9
|
import { checkBranchCommand } from "./check-branch.js";
|
|
@@ -15,6 +16,7 @@ import { contextPlanCommand } from "./context-plan.js";
|
|
|
15
16
|
import { cutIntentCommand } from "./cut-intent.js";
|
|
16
17
|
import { designsCommand } from "./designs.js";
|
|
17
18
|
import { harnessCommand, logsCommand, nextNumberCommand, profilesCommand } from "./dev-only.js";
|
|
19
|
+
import { docBranchCommand } from "./doc-branch.js";
|
|
18
20
|
import { doctorCommand } from "./doctor.js";
|
|
19
21
|
import { exportDiagramsCommand, exportManualsCommand, exportReportsCommand, exportScriptsCommand, } from "./export.js";
|
|
20
22
|
import { fixGitCommand } from "./fix-git.js";
|
|
@@ -22,6 +24,7 @@ import { flowCommand } from "./flow.js";
|
|
|
22
24
|
import { generateLaunchCommand } from "./generate-launch.js";
|
|
23
25
|
import { gitFlowCommand } from "./git-flow.js";
|
|
24
26
|
import { historyUpdateCommand } from "./history-update.js";
|
|
27
|
+
import { historyCommand } from "./history.js";
|
|
25
28
|
import { hookCommand } from "./hook.js";
|
|
26
29
|
import { hostDoctorCommand } from "./host-doctor.js";
|
|
27
30
|
import { hostMemoryCommand } from "./host-memory.js";
|
|
@@ -44,9 +47,12 @@ import { selfCommand } from "./self.js";
|
|
|
44
47
|
import { sessionArtifactsCommand } from "./session-artifacts.js";
|
|
45
48
|
import { sessionCloseCommand } from "./session-close.js";
|
|
46
49
|
import { sessionCreateCommand } from "./session-create.js";
|
|
50
|
+
import { sessionPauseCommand } from "./session-pause.js";
|
|
47
51
|
import { sessionResumeCommand } from "./session-resume.js";
|
|
48
52
|
import { sessionsCommand } from "./sessions.js";
|
|
49
|
-
import { setQaBranchCommand, setWorkingBranchCommand } from "./set-branch.js";
|
|
53
|
+
import { setExceptionBranchCommand, setQaBranchCommand, setWorkingBranchCommand, } from "./set-branch.js";
|
|
54
|
+
import { setEditModeCommand } from "./set-edit-mode.js";
|
|
55
|
+
import { setPipelineCommand } from "./set-pipeline.js";
|
|
50
56
|
import { settleCommand } from "./settle.js";
|
|
51
57
|
import { skillIndexCommand } from "./skill-index.js";
|
|
52
58
|
import { skillsCommand } from "./skills.js";
|
|
@@ -55,8 +61,10 @@ import { stackCommand } from "./stack.js";
|
|
|
55
61
|
import { statusCommand } from "./status.js";
|
|
56
62
|
import { toolCommand } from "./tool.js";
|
|
57
63
|
import { visibilityCommand } from "./visibility.js";
|
|
64
|
+
import { workspaceCommitCommand } from "./workspace-commit.js";
|
|
58
65
|
import { workspaceInitCommand } from "./workspace-init.js";
|
|
59
66
|
import { workspaceMigrateCommand } from "./workspace-migrate.js";
|
|
67
|
+
import { workspaceMoveCommand } from "./workspace-move.js";
|
|
60
68
|
import { worktreeCommand } from "./worktree.js";
|
|
61
69
|
export const ALL_COMMANDS = [
|
|
62
70
|
sessionsCommand,
|
|
@@ -69,12 +77,17 @@ export const ALL_COMMANDS = [
|
|
|
69
77
|
exportManualsCommand,
|
|
70
78
|
exportReportsCommand,
|
|
71
79
|
exportScriptsCommand,
|
|
80
|
+
historyCommand,
|
|
72
81
|
historyUpdateCommand,
|
|
73
82
|
sessionArtifactsCommand,
|
|
74
83
|
sessionCloseCommand,
|
|
75
84
|
sessionCreateCommand,
|
|
85
|
+
sessionPauseCommand,
|
|
76
86
|
stackCommand,
|
|
77
87
|
workspaceInitCommand,
|
|
88
|
+
workspaceCommitCommand,
|
|
89
|
+
workspaceMoveCommand,
|
|
90
|
+
addSourceCommand,
|
|
78
91
|
skillIndexCommand,
|
|
79
92
|
contextBudgetCommand,
|
|
80
93
|
contextPlanCommand,
|
|
@@ -83,9 +96,13 @@ export const ALL_COMMANDS = [
|
|
|
83
96
|
flowCommand,
|
|
84
97
|
designsCommand,
|
|
85
98
|
sourcesCommand,
|
|
99
|
+
docBranchCommand,
|
|
86
100
|
generateLaunchCommand,
|
|
87
101
|
setWorkingBranchCommand,
|
|
88
102
|
setQaBranchCommand,
|
|
103
|
+
setExceptionBranchCommand,
|
|
104
|
+
setEditModeCommand,
|
|
105
|
+
setPipelineCommand,
|
|
89
106
|
removeSourceCommand,
|
|
90
107
|
gitFlowCommand,
|
|
91
108
|
mergeStateCommand,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export const mergeStateCommand = {
|
|
|
5
5
|
flags: { known: ["source", "all"] },
|
|
6
6
|
describe: "Inspect in-progress merge state per repo, read-only (origin/destination + conflicted files). " +
|
|
7
7
|
"Usage: aw merge-state [<repo-path>] [--source <alias>] [--all]. Works on any repo (no workspace needed). " +
|
|
8
|
-
"Exit 2 when a merge is in progress.",
|
|
8
|
+
"Exit 2 when a merge is in progress; exit 1 when a source or unit cannot be read and no merge was found.",
|
|
9
9
|
async execute(args, ctx) {
|
|
10
10
|
const input = {};
|
|
11
11
|
const path = args.rest[0];
|
|
@@ -19,7 +19,7 @@ export const mergeStateCommand = {
|
|
|
19
19
|
const data = await runMergeState(ctx.fs, ctx.git, ctx.env, ctx.paths, input);
|
|
20
20
|
// A merge in progress is an expected, actionable state → exit 2 (like git-flow
|
|
21
21
|
// conflict / check-branch --strict) so callers/loops can detect "needs resolution".
|
|
22
|
-
const exit = data.any_merging ? 2 : 0;
|
|
22
|
+
const exit = data.any_merging === true ? 2 : data.unreadable.length ? 1 : 0;
|
|
23
23
|
return { ok: true, data, exitCode: exit };
|
|
24
24
|
},
|
|
25
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-state.js","sourceRoot":"","sources":["../../../src/cli/commands/merge-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE/F,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;IACnC,QAAQ,EACN,+FAA+F;QAC/F,2GAA2G;QAC3G,
|
|
1
|
+
{"version":3,"file":"merge-state.js","sourceRoot":"","sources":["../../../src/cli/commands/merge-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE/F,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;IACnC,QAAQ,EACN,+FAA+F;QAC/F,2GAA2G;QAC3G,yGAAyG;IAC3G,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAE9C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7E,+EAA+E;QAC/E,oFAAoF;QACpF,MAAM,IAAI,GAAc,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyPersist, preparePersist,
|
|
1
|
+
import { applyPersist, preparePersist, validatePersistWithAttachments, } from "../../application/persist-service.js";
|
|
2
2
|
import { readRequiredStdin } from "../context-id.js";
|
|
3
3
|
import { fail, failSemantic } from "../render.js";
|
|
4
4
|
export const persistCommand = {
|
|
@@ -6,7 +6,7 @@ export const persistCommand = {
|
|
|
6
6
|
flags: { known: ["approval"] },
|
|
7
7
|
describe: "Adopta trabajo terminado de la conversación en docs/ (research | spec | plan) en una sola operación. " +
|
|
8
8
|
"El CLI resuelve inventario, duplicados, numeración, destino y escritura; la IA solo clasifica y redacta. " +
|
|
9
|
-
"Usage: aw persist prepare | validate | apply --approval <digest>
|
|
9
|
+
"Adjuntos binarios: decisions.attachments [{source, path}], digest sha256 de bytes incluido en la aprobación. Usage: aw persist prepare | validate | apply --approval <digest> (validate/apply leen la respuesta por stdin).",
|
|
10
10
|
async execute(args, ctx) {
|
|
11
11
|
const stage = args.rest[0];
|
|
12
12
|
// The request is never carried between stages: each one rebuilds it from
|
|
@@ -23,7 +23,7 @@ export const persistCommand = {
|
|
|
23
23
|
}
|
|
24
24
|
const raw = await readRequiredStdin();
|
|
25
25
|
if (stage === "validate")
|
|
26
|
-
return validateStage(raw, prepared.value);
|
|
26
|
+
return await validateStage(ctx, raw, prepared.value);
|
|
27
27
|
return await applyStage(args, ctx, raw, prepared.value);
|
|
28
28
|
},
|
|
29
29
|
renderHuman(result, context) {
|
|
@@ -48,6 +48,7 @@ export const persistCommand = {
|
|
|
48
48
|
` Categoría ${data.preview.category} (${data.preview.mode})`,
|
|
49
49
|
` Destino ${data.preview.target ?? `${data.preview.destination}/ (número nuevo)`}`,
|
|
50
50
|
` Tamaño ${data.preview.bytes} B`,
|
|
51
|
+
...(data.preview.attachments ?? []).map((item) => ` Adjunto ${item.path} (${item.bytes} B · ${item.digest})`),
|
|
51
52
|
...(data.preview.lineage === undefined
|
|
52
53
|
? []
|
|
53
54
|
: [
|
|
@@ -60,8 +61,8 @@ export const persistCommand = {
|
|
|
60
61
|
return `persist · escrito ${data.written.join(", ")} (${data.category}, ${data.mode})\n`;
|
|
61
62
|
},
|
|
62
63
|
};
|
|
63
|
-
function validateStage(raw, request) {
|
|
64
|
-
const result =
|
|
64
|
+
async function validateStage(ctx, raw, request) {
|
|
65
|
+
const result = await validatePersistWithAttachments(ctx.fs, ctx.paths, raw, request);
|
|
65
66
|
if (!result.ok)
|
|
66
67
|
return failSemantic(result.failure);
|
|
67
68
|
return { ok: true, data: { stage: "validate", ...result.value }, exitCode: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../../../src/cli/commands/persist.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../../../src/cli/commands/persist.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export const projectMdUpsertCommand = {
|
|
|
7
7
|
name: "project-md-upsert",
|
|
8
8
|
flags: {
|
|
9
9
|
known: ["init", "read", "proyecto", "fuente", "main-branch", "working-branch", "verbose"],
|
|
10
|
+
exclusive: [["read", "init"]],
|
|
11
|
+
repeatable: ["fuente", "working-branch"],
|
|
10
12
|
},
|
|
11
13
|
describe: "Read or update the <NS>-PROJECT block in CLAUDE.md/AGENTS.md. " +
|
|
12
14
|
"Usage: aw project-md-upsert [--read] [--init] [--proyecto <name>] " +
|
|
@@ -14,13 +16,13 @@ export const projectMdUpsertCommand = {
|
|
|
14
16
|
"[--main-branch <rama>] [--verbose].",
|
|
15
17
|
async execute(args, ctx) {
|
|
16
18
|
const verbose = args.flags.has("--verbose");
|
|
19
|
+
if (args.flags.has("--read") === args.flags.has("--init")) {
|
|
20
|
+
return fail("INVALID_INPUT", "Especifica exactamente uno de --read o --init");
|
|
21
|
+
}
|
|
17
22
|
if (args.flags.has("--read")) {
|
|
18
23
|
const data = await runProjectMdRead(ctx.fs, ctx.env, ctx.paths, { verbose });
|
|
19
24
|
return { ok: true, data, exitCode: 0 };
|
|
20
25
|
}
|
|
21
|
-
if (!args.flags.has("--init")) {
|
|
22
|
-
return fail("INVALID_INPUT", "Especifica una operación: --init | --read");
|
|
23
|
-
}
|
|
24
26
|
const inputResult = buildUpsertInput(args, verbose);
|
|
25
27
|
if ("error" in inputResult) {
|
|
26
28
|
return fail("INVALID_INPUT", inputResult.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-md-upsert.js","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAEL,uBAAuB,GACxB,MAAM,gDAAgD,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,sBAAsB,GAAe;IAChD,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"project-md-upsert.js","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAEL,uBAAuB,GACxB,MAAM,gDAAgD,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,sBAAsB,GAAe;IAChD,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,CAAC;QACzF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KACzC;IACD,QAAQ,EACN,gEAAgE;QAChE,oEAAoE;QACpE,yEAAyE;QACzE,qCAAqC;IACvC,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1F,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB,CACvB,IAAgB,EAChB,OAAgB;IAEhB,MAAM,KAAK,GAAyB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEtD,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3F,IAAI,eAAe,KAAK,SAAS;QAAE,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAE3E,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,IAAI,OAAO,IAAI,aAAa;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;IACpE,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAE5E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAErF,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -36,7 +36,7 @@ export const releasePassCommand = {
|
|
|
36
36
|
link: { known: ["artifact"] },
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
|
-
describe: "Passes to production as first-class objects: which plans travelled together, over which sources, and whether each source actually arrived. 'release-pass declare --version <v> --sources <a,b>' opens one — the version NAMES it and is not any source's arrival fact, and the order between passes is the book's sequence, never a comparison of names. 'release-pass arrived --source <alias> --kind <…> --detail <hecho>' registers one source's arrival; with a second source still missing the pass reads partially released, naming both, and the missing source's work never reads as released. 'release-pass applied --environment <ambiente> --detail <hecho>' registers that the
|
|
39
|
+
describe: "Passes to production as first-class objects: which plans travelled together, over which sources, and whether each source actually arrived. 'release-pass declare --version <v> --sources <a,b>' opens one — the version NAMES it and is not any source's arrival fact, and the order between passes is the book's sequence, never a comparison of names. 'release-pass arrived --source <alias> --kind <…> --detail <hecho>' registers one source's arrival; with a second source still missing the pass reads partially released, naming both, and the missing source's work never reads as released. 'release-pass applied --environment <ambiente> --detail <hecho>' registers that the pass ran there (its SQL or deployment) — its own axis, never a fourth arrival kind, so the release axis does not move and a pass with no such record reads as NO RECORD rather than as nothing applied. 'release-pass revert' adds a reversion that never erases the arrivals it follows. 'release-pass link --artifact <ruta>' attaches a document by workspace-relative path, checking only that it exists — never opening, moving, renumbering or executing it. The book is append-only under the workspace namespace. Usage: aw release-pass [list] | declare | arrived | applied | revert | link.",
|
|
40
40
|
async execute(args, ctx) {
|
|
41
41
|
const verb = args.rest[0] ?? "list";
|
|
42
42
|
try {
|
|
@@ -133,7 +133,7 @@ async function arrived(args, ctx) {
|
|
|
133
133
|
return await standingOf(ctx, version, { arrived: source, at });
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
|
-
* Register that
|
|
136
|
+
* Register that this pass ran against an environment (its SQL or deployment).
|
|
137
137
|
*
|
|
138
138
|
* Its own verb because it is its own axis: an environment is not one of the
|
|
139
139
|
* pass's code sources, and reusing `arrived` for it would move the release axis
|
|
@@ -148,7 +148,7 @@ async function applied(args, ctx) {
|
|
|
148
148
|
}
|
|
149
149
|
const named = environment.trim();
|
|
150
150
|
if (named.length === 0) {
|
|
151
|
-
const message = "--environment nombra el ambiente
|
|
151
|
+
const message = "--environment nombra el ambiente en el que corrió el pase (SQL o despliegue): sin ambiente la constancia no dice dónde";
|
|
152
152
|
return fail("INVALID_INPUT", message, { error: message });
|
|
153
153
|
}
|
|
154
154
|
const known = await knownPass(ctx, version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-pass.js","sourceRoot":"","sources":["../../../src/cli/commands/release-pass.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAuB,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,KAAK,GAAG;IACZ,0CAA0C;IAC1C,iGAAiG;IACjG,kJAAkJ;IAClJ,kGAAkG;IAClG,0DAA0D;IAC1D,iEAAiE;CAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,SAAS,CAAC;QAClB,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YACjD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;YACxD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;YACrD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;SAC9B;KACF;IACD,QAAQ,EACN,
|
|
1
|
+
{"version":3,"file":"release-pass.js","sourceRoot":"","sources":["../../../src/cli/commands/release-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,14 +41,23 @@ export const resumeCommand = {
|
|
|
41
41
|
const outcome = result.data;
|
|
42
42
|
if (outcome === undefined)
|
|
43
43
|
return "";
|
|
44
|
+
const readyNotice = (outcome.ready_to_close ?? [])
|
|
45
|
+
.map((item) => ` ${item.session}: criterios completos → ${item.command}\n`)
|
|
46
|
+
.join("");
|
|
47
|
+
const stateNotice = outcome.paused_sessions?.length || outcome.abandoned_sessions?.length
|
|
48
|
+
? `\nSesiones apartadas: ${outcome.paused_sessions?.length ?? 0} pausada(s), ${outcome.abandoned_sessions?.length ?? 0} abandonada(s)\n`
|
|
49
|
+
: "";
|
|
50
|
+
const notice = `${readyNotice ? `\nSesiones listas para cerrar:\n${readyNotice}` : ""}${stateNotice}${outcome.unreadable_sources?.length || outcome.isolation_error
|
|
51
|
+
? `\nFuentes sin ruta o unidades no verificables:\n${(outcome.unreadable_sources ?? []).map((item) => ` ${item.alias}: ${item.error}\n`).join("")}${outcome.isolation_error ? ` ${outcome.isolation_error}\n` : ""}`
|
|
52
|
+
: ""}`;
|
|
44
53
|
switch (outcome.status) {
|
|
45
54
|
case "idle":
|
|
46
55
|
case "invalid_target":
|
|
47
|
-
return `${outcome.action}\n`;
|
|
56
|
+
return `${outcome.action}\n${notice}`;
|
|
48
57
|
case "proposal":
|
|
49
|
-
return renderRecommendation(outcome.proposal, outcome.candidates, context.detail);
|
|
58
|
+
return renderRecommendation(outcome.proposal, outcome.candidates, context.detail) + notice;
|
|
50
59
|
case "candidates":
|
|
51
|
-
return renderCandidates(outcome.candidates, outcome.action, context.detail);
|
|
60
|
+
return renderCandidates(outcome.candidates, outcome.action, context.detail) + notice;
|
|
52
61
|
}
|
|
53
62
|
},
|
|
54
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,GACV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;IAC1B,QAAQ,EAAE,4IAA4I,uBAAuB,CAAC,IAAI,IAAI,uBAAuB,CAAC,IAAI,sEAAsE;IAExR,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,oEAAoE;iBAC9E;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,KAAK,GAAgB;YACzB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACxC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;gBACjE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAoC,EAAE,OAA2B;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC;YACZ,KAAK,gBAAgB;gBACnB,OAAO,GAAG,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,GACV,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;IAC1B,QAAQ,EAAE,4IAA4I,uBAAuB,CAAC,IAAI,IAAI,uBAAuB,CAAC,IAAI,sEAAsE;IAExR,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,oEAAoE;iBAC9E;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,KAAK,GAAgB;YACzB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACxC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;gBACjE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,MAAoC,EAAE,OAA2B;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,2BAA2B,IAAI,CAAC,OAAO,IAAI,CAAC;aAC3E,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,MAAM,WAAW,GACf,OAAO,CAAC,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,MAAM;YACnE,CAAC,CAAC,yBAAyB,OAAO,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,gBAAgB,OAAO,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB;YACxI,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,GACjG,OAAO,CAAC,kBAAkB,EAAE,MAAM,IAAI,OAAO,CAAC,eAAe;YAC3D,CAAC,CAAC,mDAAmD,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtN,CAAC,CAAC,EACN,EAAE,CAAC;QACH,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC;YACZ,KAAK,gBAAgB;gBACnB,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACxC,KAAK,UAAU;gBACb,OAAO,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YAC7F,KAAK,YAAY;gBACf,OAAO,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;QACzF,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,QAAwB,EAAE,MAAe;IAC/D,MAAM,OAAO,GACX,QAAQ,CAAC,OAAO,KAAK,IAAI;QACvB,CAAC,CAAC,eAAe,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9F,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACvB,MAAM,KAAK,GAAG;QACZ,KAAK,QAAQ,CAAC,SAAS,EAAE;QACzB,gBAAgB,QAAQ,CAAC,QAAQ,EAAE;QACnC,gBAAgB,QAAQ,CAAC,IAAI,EAAE;QAC/B,gBAAgB,OAAO,EAAE;KAC1B,CAAC;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,OAAO,CAAC,IAAmB;IAClC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,QAAwB,EACxB,UAAwC,EACxC,MAAe;IAEf,MAAM,MAAM,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,MAAM,CAAC,MAAM,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACjF,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,UAA4B,EAAE,MAAc,EAAE,MAAe;IACrF,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;AAC3C,CAAC"}
|
|
@@ -49,6 +49,8 @@ export const selfCommand = {
|
|
|
49
49
|
actions: {
|
|
50
50
|
// SessionStart runs `self namespace --pin`: a hook, so it warns and runs.
|
|
51
51
|
namespace: { known: ["pin"], mode: "warn" },
|
|
52
|
+
doctor: { known: [] },
|
|
53
|
+
"detect-hosts": { known: [] },
|
|
52
54
|
update: { known: ["dry-run", "yes", "y"] },
|
|
53
55
|
install: { known: INSTALL_SKILL_FLAGS },
|
|
54
56
|
"install-skill": { known: INSTALL_SKILL_FLAGS },
|
|
@@ -61,11 +63,14 @@ export const selfCommand = {
|
|
|
61
63
|
"uninstall-skill": { known: ["target", "legacy", "dry-run"] },
|
|
62
64
|
"clean-cache": { known: ["plugin", "target", "dry-run"] },
|
|
63
65
|
"clean-legacy": { known: ["target", "prefix", "dry-run"] },
|
|
64
|
-
mcp: {
|
|
66
|
+
mcp: {
|
|
67
|
+
known: ["action", "name", "instance", "var", "dsn-var", "dry-run"],
|
|
68
|
+
repeatable: ["var"],
|
|
69
|
+
},
|
|
65
70
|
bootstrap: { known: ["dry-run"] },
|
|
66
71
|
},
|
|
67
72
|
},
|
|
68
|
-
describe:
|
|
73
|
+
describe: `Manage the agent-workflow CLI itself (${SELF_SUBCOMMANDS.join(", ")}). 'self namespace' prints the active namespace; 'self namespace --pin <name>' persists it to ~/.config/agent-workflow/namespace (cross-platform).`,
|
|
69
74
|
async execute(args, ctx) {
|
|
70
75
|
const sub = args.rest[0];
|
|
71
76
|
switch (sub) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAInE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,SAAS;IACT,eAAe;IACf,eAAe;IACf,uBAAuB;IACvB,2BAA2B;IAC3B,WAAW;IACX,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,KAAK;IACL,WAAW;CACH,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,aAAa;IACb,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE;QACL,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP,0EAA0E;YAC1E,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3C,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;YAC1C,OAAO,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;YACvC,eAAe,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAC/C,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;YAC7D,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;YAC1E,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;YACpF,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC;aAClF;YACD,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC7D,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;YACzD,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC1D,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { preserveBoundaryClose } from "../../application/flow/close-artifacts.js";
|
|
1
3
|
import { markCloseAtBoundary, settleCloseAtBoundary, withdrawCloseAtBoundary, } from "../../application/flow/close-at-boundary.js";
|
|
2
|
-
import { locateRun } from "../../application/flow/run-state-service.js";
|
|
4
|
+
import { locateRun, readRun, } from "../../application/flow/run-state-service.js";
|
|
3
5
|
import { runSessionClose, } from "../../application/session-close-service.js";
|
|
6
|
+
import { writeSessionNarrative } from "../../application/session-narrative.js";
|
|
4
7
|
import { resolveSessionTarget } from "../../application/session-resolver.js";
|
|
5
|
-
import { runWorktree } from "../../application/worktree-service.js";
|
|
8
|
+
import { classifyListedUnits, runWorktree } from "../../application/worktree-service.js";
|
|
6
9
|
import { fail, failSessionResolution } from "../render.js";
|
|
7
10
|
// `--name` belongs to `session-create`, where it is mandatory; here it names
|
|
8
11
|
// nothing, and being ignored is how an invocation that meant something else
|
|
9
12
|
// came back as a clean close.
|
|
10
13
|
const FLAGS = {
|
|
11
|
-
known: ["code", "refs"],
|
|
12
|
-
usage: "aw session-close --code <sesión> [--refs <csv>]",
|
|
14
|
+
known: ["code", "refs", "force", "abandon", "with-evidence"],
|
|
15
|
+
usage: "aw session-close --code <sesión> [--refs <csv>] [--force] [--abandon] [--with-evidence]",
|
|
13
16
|
};
|
|
14
17
|
export const sessionCloseCommand = {
|
|
15
18
|
name: "session-close",
|
|
@@ -25,6 +28,12 @@ export const sessionCloseCommand = {
|
|
|
25
28
|
const refs = args.values.get("refs");
|
|
26
29
|
if (refs !== undefined)
|
|
27
30
|
input.refs = refs;
|
|
31
|
+
if (args.flags.has("--force"))
|
|
32
|
+
input.force = true;
|
|
33
|
+
if (args.flags.has("--abandon"))
|
|
34
|
+
input.abandon = true;
|
|
35
|
+
if (args.flags.has("--with-evidence"))
|
|
36
|
+
input.withEvidence = true;
|
|
28
37
|
const location = await runLocation(ctx, code);
|
|
29
38
|
const intent = location === null ? null : await markCloseAtBoundary(ctx.fs, location);
|
|
30
39
|
if (intent?.kind === "failed") {
|
|
@@ -37,7 +46,18 @@ export const sessionCloseCommand = {
|
|
|
37
46
|
});
|
|
38
47
|
}
|
|
39
48
|
if (location === null || intent?.kind !== "marked") {
|
|
40
|
-
|
|
49
|
+
// A repeated close still owns the proposal's bases, even after finalize
|
|
50
|
+
// was settled and no new close intention is necessary.
|
|
51
|
+
if (location !== null) {
|
|
52
|
+
const read = await readRun(ctx.fs, location);
|
|
53
|
+
if (!read.ok && read.failure.code !== "FLOW_RUN_ABSENT") {
|
|
54
|
+
return fail(read.failure.code, read.failure.message);
|
|
55
|
+
}
|
|
56
|
+
input.preserveReservations = read.ok
|
|
57
|
+
? (read.state.proposal?.artifacts.filter((a) => a.reserved).map((a) => a.path) ?? [])
|
|
58
|
+
: [];
|
|
59
|
+
}
|
|
60
|
+
return rendered(await runSessionClose(ctx.fs, ctx.paths, input, unitsOf(ctx), ctx.git, ctx.process, unitReleaser(ctx)));
|
|
41
61
|
}
|
|
42
62
|
return closeAtBoundary(ctx, input, location, intent);
|
|
43
63
|
},
|
|
@@ -53,18 +73,39 @@ export const sessionCloseCommand = {
|
|
|
53
73
|
async function closeAtBoundary(ctx, input, location, intent) {
|
|
54
74
|
const { boundary } = intent;
|
|
55
75
|
const withdraw = (refusal) => withdrawn(ctx, location, intent, refusal);
|
|
56
|
-
|
|
76
|
+
const checkpointPath = join(location.dir, "CHECKPOINT.md");
|
|
77
|
+
if (!input.force &&
|
|
78
|
+
!input.abandon &&
|
|
79
|
+
!(await ctx.fs.exists(join(location.dir, ".closed"))) &&
|
|
80
|
+
(await ctx.fs.exists(checkpointPath))) {
|
|
81
|
+
const checkpoint = await ctx.fs.readText(checkpointPath);
|
|
82
|
+
if (/_\[AI:[^\n]*\]_/.test(checkpoint)) {
|
|
83
|
+
return withdraw(fail("CHECKPOINT_INCOMPLETE", "CHECKPOINT contiene placeholders sin llenar"));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
let inventory;
|
|
57
87
|
try {
|
|
58
|
-
|
|
88
|
+
inventory = await unitsOf(ctx)();
|
|
59
89
|
}
|
|
60
90
|
catch (error) {
|
|
61
91
|
return withdraw(fail("SESSION_UNITS_UNREADABLE", `la sesión no se cerró: no se pudieron leer sus unidades de aislamiento — ${error instanceof Error ? error.message : String(error)}`, {
|
|
62
92
|
action: `revisá el estado de git con 'aw worktree list' y volvé a correr 'aw session-close --code ${location.session}'`,
|
|
63
93
|
}));
|
|
64
94
|
}
|
|
95
|
+
const units = Array.isArray(inventory) ? inventory : inventory.units;
|
|
96
|
+
const unreadable = Array.isArray(inventory) ? [] : inventory.unreadable;
|
|
65
97
|
let data;
|
|
98
|
+
let pending = [];
|
|
66
99
|
try {
|
|
67
|
-
|
|
100
|
+
const read = await readRun(ctx.fs, location);
|
|
101
|
+
if (!read.ok)
|
|
102
|
+
return withdraw(fail(read.failure.code, read.failure.message));
|
|
103
|
+
pending = await preserveBoundaryClose(ctx.fs, ctx.paths, ctx.git, read.state, units, unreadable);
|
|
104
|
+
data = await runSessionClose(ctx.fs, ctx.paths, {
|
|
105
|
+
...input,
|
|
106
|
+
final: false,
|
|
107
|
+
preserveReservations: read.state.proposal?.artifacts.filter((a) => a.reserved).map((a) => a.path) ?? [],
|
|
108
|
+
}, async () => inventory, ctx.git, ctx.process, unitReleaser(ctx));
|
|
68
109
|
}
|
|
69
110
|
catch (error) {
|
|
70
111
|
// The close's own error is the one worth reporting; a failed withdraw here
|
|
@@ -75,10 +116,13 @@ async function closeAtBoundary(ctx, input, location, intent) {
|
|
|
75
116
|
}
|
|
76
117
|
if (!("sessionClose" in data))
|
|
77
118
|
return withdraw(rendered(data));
|
|
119
|
+
data.sessionClose.pending_work = pending;
|
|
120
|
+
data.sessionClose.reopen = `aw session-resume --code ${location.session} --reopen`;
|
|
78
121
|
const settled = await settleCloseAtBoundary(ctx.fs, location, data.sessionClose);
|
|
79
122
|
if (settled !== null) {
|
|
80
123
|
return fail(settled.code, `la sesión cerró, pero la corrida no asentó su finalize en '${boundary}': ${settled.message}`, { ...data.sessionClose, action: retry(location) });
|
|
81
124
|
}
|
|
125
|
+
await writeSessionNarrative(ctx.fs, ctx.paths, { folder: location.session, path: location.dir });
|
|
82
126
|
return {
|
|
83
127
|
ok: true,
|
|
84
128
|
data: { ...data.sessionClose, run: { closed_at: boundary, finalize: "applied" } },
|
|
@@ -131,7 +175,18 @@ function unitsOf(ctx) {
|
|
|
131
175
|
// receipt reports, not as "this session held nothing".
|
|
132
176
|
if (!("units" in listed))
|
|
133
177
|
throw new Error(JSON.stringify(listed));
|
|
134
|
-
return
|
|
178
|
+
return {
|
|
179
|
+
units: await classifyListedUnits({ fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths }, listed.units),
|
|
180
|
+
unreadable: listed.unreadable ?? [],
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function unitReleaser(ctx) {
|
|
185
|
+
return async (alias, folder) => {
|
|
186
|
+
const result = await runWorktree({ fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths }, { action: "release", alias, sessionCode: folder });
|
|
187
|
+
if ("error" in result || "released" in result)
|
|
188
|
+
return result;
|
|
189
|
+
return { error: "unit_unresolved", message: `no se pudo liberar ${alias} de ${folder}` };
|
|
135
190
|
};
|
|
136
191
|
}
|
|
137
192
|
function rendered(data) {
|