wingfoil 0.2.2 → 0.3.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/README.md +83 -43
- package/dist/agent/discovery.d.ts +72 -0
- package/dist/agent/discovery.d.ts.map +1 -0
- package/dist/agent/discovery.js +210 -0
- package/dist/agent/discovery.js.map +1 -0
- package/dist/agent/execute.d.ts +206 -0
- package/dist/agent/execute.d.ts.map +1 -0
- package/dist/agent/execute.js +581 -0
- package/dist/agent/execute.js.map +1 -0
- package/dist/agent/index.d.ts +23 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +85 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/launch.d.ts +133 -0
- package/dist/agent/launch.d.ts.map +1 -0
- package/dist/agent/launch.js +380 -0
- package/dist/agent/launch.js.map +1 -0
- package/dist/agent/manifest.d.ts +30 -0
- package/dist/agent/manifest.d.ts.map +1 -0
- package/dist/agent/manifest.js +93 -0
- package/dist/agent/manifest.js.map +1 -0
- package/dist/agent/placeholders.d.ts +49 -0
- package/dist/agent/placeholders.d.ts.map +1 -0
- package/dist/agent/placeholders.js +177 -0
- package/dist/agent/placeholders.js.map +1 -0
- package/dist/agent/run-log.d.ts +254 -0
- package/dist/agent/run-log.d.ts.map +1 -0
- package/dist/agent/run-log.js +612 -0
- package/dist/agent/run-log.js.map +1 -0
- package/dist/agent/schema.d.ts +100 -0
- package/dist/agent/schema.d.ts.map +1 -0
- package/dist/agent/schema.js +89 -0
- package/dist/agent/schema.js.map +1 -0
- package/dist/agent/step.d.ts +41 -0
- package/dist/agent/step.d.ts.map +1 -0
- package/dist/agent/step.js +95 -0
- package/dist/agent/step.js.map +1 -0
- package/dist/build-info.json +4 -0
- package/dist/cli/error.d.ts +11 -2
- package/dist/cli/error.d.ts.map +1 -1
- package/dist/cli/error.js +27 -6
- package/dist/cli/error.js.map +1 -1
- package/dist/cli/exit.d.ts +33 -3
- package/dist/cli/exit.d.ts.map +1 -1
- package/dist/cli/exit.js +54 -3
- package/dist/cli/exit.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +4 -2
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/mcp-command.d.ts +13 -4
- package/dist/cli/mcp-command.d.ts.map +1 -1
- package/dist/cli/mcp-command.js +25 -8
- package/dist/cli/mcp-command.js.map +1 -1
- package/dist/cli/output.d.ts +12 -4
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +15 -4
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/program.d.ts +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +162 -40
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/registrar.d.ts +1 -1
- package/dist/cli/registrar.d.ts.map +1 -1
- package/dist/cli/registrar.js +67 -6
- package/dist/cli/registrar.js.map +1 -1
- package/dist/cli/suggest.d.ts +20 -0
- package/dist/cli/suggest.d.ts.map +1 -0
- package/dist/cli/suggest.js +49 -0
- package/dist/cli/suggest.js.map +1 -0
- package/dist/cli/warning.d.ts +26 -0
- package/dist/cli/warning.d.ts.map +1 -0
- package/dist/cli/warning.js +66 -0
- package/dist/cli/warning.js.map +1 -0
- package/dist/cli.js +11 -2
- package/dist/cli.js.map +1 -1
- package/dist/core/agent-execute.d.ts +44 -0
- package/dist/core/agent-execute.d.ts.map +1 -0
- package/dist/core/agent-execute.js +71 -0
- package/dist/core/agent-execute.js.map +1 -0
- package/dist/core/agent-list.d.ts +95 -0
- package/dist/core/agent-list.d.ts.map +1 -0
- package/dist/core/agent-list.js +207 -0
- package/dist/core/agent-list.js.map +1 -0
- package/dist/core/agent-show.d.ts +44 -0
- package/dist/core/agent-show.d.ts.map +1 -0
- package/dist/core/agent-show.js +188 -0
- package/dist/core/agent-show.js.map +1 -0
- package/dist/core/approval-authority.d.ts +17 -14
- package/dist/core/approval-authority.d.ts.map +1 -1
- package/dist/core/approval-authority.js +9 -9
- package/dist/core/approval-authority.js.map +1 -1
- package/dist/core/builtin-asset.d.ts +18 -15
- package/dist/core/builtin-asset.d.ts.map +1 -1
- package/dist/core/builtin-asset.js +17 -14
- package/dist/core/builtin-asset.js.map +1 -1
- package/dist/core/builtin-integrity.d.ts +12 -2
- package/dist/core/builtin-integrity.d.ts.map +1 -1
- package/dist/core/builtin-integrity.js +85 -9
- package/dist/core/builtin-integrity.js.map +1 -1
- package/dist/core/confinement.d.ts +3 -1
- package/dist/core/confinement.d.ts.map +1 -1
- package/dist/core/confinement.js +7 -4
- package/dist/core/confinement.js.map +1 -1
- package/dist/core/context.d.ts +150 -98
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +602 -66
- package/dist/core/context.js.map +1 -1
- package/dist/core/directive-assign.d.ts +33 -7
- package/dist/core/directive-assign.d.ts.map +1 -1
- package/dist/core/directive-assign.js +67 -27
- package/dist/core/directive-assign.js.map +1 -1
- package/dist/core/directive-scope.d.ts +36 -0
- package/dist/core/directive-scope.d.ts.map +1 -0
- package/dist/core/directive-scope.js +34 -0
- package/dist/core/directive-scope.js.map +1 -0
- package/dist/core/directives-list.d.ts +13 -3
- package/dist/core/directives-list.d.ts.map +1 -1
- package/dist/core/directives-list.js +18 -6
- package/dist/core/directives-list.js.map +1 -1
- package/dist/core/dry-run.d.ts +33 -0
- package/dist/core/dry-run.d.ts.map +1 -0
- package/dist/core/dry-run.js +45 -0
- package/dist/core/dry-run.js.map +1 -0
- package/dist/core/element-ref.d.ts +23 -0
- package/dist/core/element-ref.d.ts.map +1 -0
- package/dist/core/element-ref.js +24 -0
- package/dist/core/element-ref.js.map +1 -0
- package/dist/core/error-details.d.ts +20 -0
- package/dist/core/error-details.d.ts.map +1 -0
- package/dist/core/error-details.js +65 -0
- package/dist/core/error-details.js.map +1 -0
- package/dist/core/exit-code.d.ts.map +1 -1
- package/dist/core/exit-code.js +6 -7
- package/dist/core/exit-code.js.map +1 -1
- package/dist/core/git-identity.d.ts +46 -11
- package/dist/core/git-identity.d.ts.map +1 -1
- package/dist/core/git-identity.js +140 -27
- package/dist/core/git-identity.js.map +1 -1
- package/dist/core/index.d.ts +184 -10
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1045 -185
- package/dist/core/index.js.map +1 -1
- package/dist/core/init.d.ts +45 -5
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +134 -24
- package/dist/core/init.js.map +1 -1
- package/dist/core/loaders.d.ts +170 -14
- package/dist/core/loaders.d.ts.map +1 -1
- package/dist/core/loaders.js +570 -89
- package/dist/core/loaders.js.map +1 -1
- package/dist/core/memory-add-link.d.ts +28 -0
- package/dist/core/memory-add-link.d.ts.map +1 -0
- package/dist/core/memory-add-link.js +67 -0
- package/dist/core/memory-add-link.js.map +1 -0
- package/dist/core/memory-add-type.d.ts +25 -1
- package/dist/core/memory-add-type.d.ts.map +1 -1
- package/dist/core/memory-add-type.js +59 -1
- package/dist/core/memory-add-type.js.map +1 -1
- package/dist/core/memory-amend.d.ts +80 -0
- package/dist/core/memory-amend.d.ts.map +1 -0
- package/dist/core/memory-amend.js +160 -0
- package/dist/core/memory-amend.js.map +1 -0
- package/dist/core/memory-supersede.d.ts +28 -0
- package/dist/core/memory-supersede.d.ts.map +1 -0
- package/dist/core/memory-supersede.js +79 -0
- package/dist/core/memory-supersede.js.map +1 -0
- package/dist/core/memory-transition.d.ts +190 -30
- package/dist/core/memory-transition.d.ts.map +1 -1
- package/dist/core/memory-transition.js +480 -59
- package/dist/core/memory-transition.js.map +1 -1
- package/dist/core/registry.d.ts +82 -10
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +50 -0
- package/dist/core/registry.js.map +1 -1
- package/dist/core/relevance.d.ts +74 -12
- package/dist/core/relevance.d.ts.map +1 -1
- package/dist/core/relevance.js +45 -27
- package/dist/core/relevance.js.map +1 -1
- package/dist/core/require-reason.d.ts.map +1 -1
- package/dist/core/require-reason.js +6 -5
- package/dist/core/require-reason.js.map +1 -1
- package/dist/core/required-fields.d.ts +28 -0
- package/dist/core/required-fields.d.ts.map +1 -0
- package/dist/core/required-fields.js +60 -0
- package/dist/core/required-fields.js.map +1 -0
- package/dist/core/revision.d.ts +82 -0
- package/dist/core/revision.d.ts.map +1 -0
- package/dist/core/revision.js +144 -0
- package/dist/core/revision.js.map +1 -0
- package/dist/core/types.d.ts +28 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +12 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/workflow-core-checks.d.ts +34 -0
- package/dist/core/workflow-core-checks.d.ts.map +1 -0
- package/dist/core/workflow-core-checks.js +403 -0
- package/dist/core/workflow-core-checks.js.map +1 -0
- package/dist/core/workflow-create-remove.d.ts +65 -0
- package/dist/core/workflow-create-remove.d.ts.map +1 -0
- package/dist/core/workflow-create-remove.js +277 -0
- package/dist/core/workflow-create-remove.js.map +1 -0
- package/dist/core/workflow-deduction.d.ts +48 -0
- package/dist/core/workflow-deduction.d.ts.map +1 -0
- package/dist/core/workflow-deduction.js +523 -0
- package/dist/core/workflow-deduction.js.map +1 -0
- package/dist/core/workflow-diagnostics.d.ts +83 -0
- package/dist/core/workflow-diagnostics.d.ts.map +1 -0
- package/dist/core/workflow-diagnostics.js +375 -0
- package/dist/core/workflow-diagnostics.js.map +1 -0
- package/dist/core/workflow-exit-state.d.ts +125 -0
- package/dist/core/workflow-exit-state.d.ts.map +1 -0
- package/dist/core/workflow-exit-state.js +243 -0
- package/dist/core/workflow-exit-state.js.map +1 -0
- package/dist/core/workflow-finalize.d.ts +37 -0
- package/dist/core/workflow-finalize.d.ts.map +1 -0
- package/dist/core/workflow-finalize.js +153 -0
- package/dist/core/workflow-finalize.js.map +1 -0
- package/dist/core/workflow-list-show.d.ts +176 -0
- package/dist/core/workflow-list-show.d.ts.map +1 -0
- package/dist/core/workflow-list-show.js +268 -0
- package/dist/core/workflow-list-show.js.map +1 -0
- package/dist/core/workflow-next.d.ts +268 -0
- package/dist/core/workflow-next.d.ts.map +1 -0
- package/dist/core/workflow-next.js +503 -0
- package/dist/core/workflow-next.js.map +1 -0
- package/dist/core/workflow-registry.d.ts +52 -0
- package/dist/core/workflow-registry.d.ts.map +1 -0
- package/dist/core/workflow-registry.js +158 -0
- package/dist/core/workflow-registry.js.map +1 -0
- package/dist/core/workflow-start-end.d.ts +71 -0
- package/dist/core/workflow-start-end.d.ts.map +1 -0
- package/dist/core/workflow-start-end.js +298 -0
- package/dist/core/workflow-start-end.js.map +1 -0
- package/dist/core/workflow-status.d.ts +83 -0
- package/dist/core/workflow-status.d.ts.map +1 -0
- package/dist/core/workflow-status.js +125 -0
- package/dist/core/workflow-status.js.map +1 -0
- package/dist/core/write-guard.d.ts +51 -8
- package/dist/core/write-guard.d.ts.map +1 -1
- package/dist/core/write-guard.js +139 -9
- package/dist/core/write-guard.js.map +1 -1
- package/dist/directives/index.d.ts +3 -2
- package/dist/directives/index.d.ts.map +1 -1
- package/dist/directives/index.js +5 -3
- package/dist/directives/index.js.map +1 -1
- package/dist/directives/schema.d.ts +34 -29
- package/dist/directives/schema.d.ts.map +1 -1
- package/dist/directives/schema.js +35 -29
- package/dist/directives/schema.js.map +1 -1
- package/dist/directives/version.d.ts +28 -0
- package/dist/directives/version.d.ts.map +1 -0
- package/dist/directives/version.js +51 -0
- package/dist/directives/version.js.map +1 -0
- package/dist/dna/edit.d.ts +7 -6
- package/dist/dna/edit.d.ts.map +1 -1
- package/dist/dna/edit.js +96 -41
- package/dist/dna/edit.js.map +1 -1
- package/dist/dna/mutate.js +18 -3
- package/dist/dna/mutate.js.map +1 -1
- package/dist/dna/path.d.ts +2 -2
- package/dist/dna/roles.d.ts +1 -1
- package/dist/dna/schema.d.ts +61 -3
- package/dist/dna/schema.d.ts.map +1 -1
- package/dist/dna/schema.js +121 -6
- package/dist/dna/schema.js.map +1 -1
- package/dist/mcp/dna-resource.d.ts.map +1 -1
- package/dist/mcp/dna-resource.js +4 -4
- package/dist/mcp/dna-resource.js.map +1 -1
- package/dist/mcp/index.d.ts +8 -4
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +13 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/memory-resource.d.ts.map +1 -1
- package/dist/mcp/memory-resource.js +30 -19
- package/dist/mcp/memory-resource.js.map +1 -1
- package/dist/mcp/prompt.d.ts +61 -24
- package/dist/mcp/prompt.d.ts.map +1 -1
- package/dist/mcp/prompt.js +176 -47
- package/dist/mcp/prompt.js.map +1 -1
- package/dist/mcp/read-only.d.ts +39 -0
- package/dist/mcp/read-only.d.ts.map +1 -1
- package/dist/mcp/read-only.js +61 -0
- package/dist/mcp/read-only.js.map +1 -1
- package/dist/mcp/registrar.d.ts +10 -0
- package/dist/mcp/registrar.d.ts.map +1 -1
- package/dist/mcp/registrar.js +48 -12
- package/dist/mcp/registrar.js.map +1 -1
- package/dist/mcp/server.d.ts +21 -14
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +41 -15
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session-resource.d.ts +13 -0
- package/dist/mcp/session-resource.d.ts.map +1 -0
- package/dist/mcp/session-resource.js +65 -0
- package/dist/mcp/session-resource.js.map +1 -0
- package/dist/mcp/workflow-resource.d.ts +18 -0
- package/dist/mcp/workflow-resource.d.ts.map +1 -1
- package/dist/mcp/workflow-resource.js +37 -8
- package/dist/mcp/workflow-resource.js.map +1 -1
- package/dist/memory/add.d.ts +110 -24
- package/dist/memory/add.d.ts.map +1 -1
- package/dist/memory/add.js +251 -64
- package/dist/memory/add.js.map +1 -1
- package/dist/memory/audit.d.ts +152 -39
- package/dist/memory/audit.d.ts.map +1 -1
- package/dist/memory/audit.js +257 -103
- package/dist/memory/audit.js.map +1 -1
- package/dist/memory/commit-message.d.ts +60 -38
- package/dist/memory/commit-message.d.ts.map +1 -1
- package/dist/memory/commit-message.js +167 -21
- package/dist/memory/commit-message.js.map +1 -1
- package/dist/memory/entry.d.ts.map +1 -1
- package/dist/memory/entry.js +1 -2
- package/dist/memory/entry.js.map +1 -1
- package/dist/memory/frontmatter-edit.d.ts +16 -4
- package/dist/memory/frontmatter-edit.d.ts.map +1 -1
- package/dist/memory/frontmatter-edit.js +13 -1
- package/dist/memory/frontmatter-edit.js.map +1 -1
- package/dist/memory/git-log.d.ts +18 -6
- package/dist/memory/git-log.d.ts.map +1 -1
- package/dist/memory/git-log.js +40 -13
- package/dist/memory/git-log.js.map +1 -1
- package/dist/memory/history.d.ts +73 -12
- package/dist/memory/history.d.ts.map +1 -1
- package/dist/memory/history.js +128 -44
- package/dist/memory/history.js.map +1 -1
- package/dist/memory/index.d.ts +13 -11
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +34 -3
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/query.d.ts +161 -19
- package/dist/memory/query.d.ts.map +1 -1
- package/dist/memory/query.js +435 -55
- package/dist/memory/query.js.map +1 -1
- package/dist/memory/schema.d.ts +52 -3
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +132 -8
- package/dist/memory/schema.js.map +1 -1
- package/dist/memory/state-machine.d.ts +65 -10
- package/dist/memory/state-machine.d.ts.map +1 -1
- package/dist/memory/state-machine.js +134 -46
- package/dist/memory/state-machine.js.map +1 -1
- package/dist/memory/submit.d.ts +52 -3
- package/dist/memory/submit.d.ts.map +1 -1
- package/dist/memory/submit.js +118 -11
- package/dist/memory/submit.js.map +1 -1
- package/dist/storage/build-stamp.d.ts +18 -0
- package/dist/storage/build-stamp.d.ts.map +1 -0
- package/dist/storage/build-stamp.js +68 -0
- package/dist/storage/build-stamp.js.map +1 -0
- package/dist/storage/builtin-adapters.d.ts +32 -0
- package/dist/storage/builtin-adapters.d.ts.map +1 -0
- package/dist/storage/builtin-adapters.js +100 -0
- package/dist/storage/builtin-adapters.js.map +1 -0
- package/dist/storage/builtin-directives.d.ts +0 -29
- package/dist/storage/builtin-directives.d.ts.map +1 -1
- package/dist/storage/builtin-directives.js +9 -4
- package/dist/storage/builtin-directives.js.map +1 -1
- package/dist/storage/commit.d.ts +310 -3
- package/dist/storage/commit.d.ts.map +1 -1
- package/dist/storage/commit.js +807 -33
- package/dist/storage/commit.js.map +1 -1
- package/dist/storage/document.d.ts +6 -0
- package/dist/storage/document.d.ts.map +1 -1
- package/dist/storage/document.js +10 -1
- package/dist/storage/document.js.map +1 -1
- package/dist/storage/dry-run.d.ts +65 -0
- package/dist/storage/dry-run.d.ts.map +1 -0
- package/dist/storage/dry-run.js +150 -0
- package/dist/storage/dry-run.js.map +1 -0
- package/dist/storage/errors.d.ts +26 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +27 -1
- package/dist/storage/errors.js.map +1 -1
- package/dist/storage/frontmatter.d.ts +1 -1
- package/dist/storage/frontmatter.js +1 -1
- package/dist/storage/git-read.d.ts +64 -0
- package/dist/storage/git-read.d.ts.map +1 -0
- package/dist/storage/git-read.js +107 -0
- package/dist/storage/git-read.js.map +1 -0
- package/dist/storage/index.d.ts +13 -5
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +39 -2
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/layout.d.ts +2 -2
- package/dist/storage/layout.d.ts.map +1 -1
- package/dist/storage/layout.js +2 -7
- package/dist/storage/layout.js.map +1 -1
- package/dist/storage/memory-path.d.ts +18 -5
- package/dist/storage/memory-path.d.ts.map +1 -1
- package/dist/storage/memory-path.js +41 -5
- package/dist/storage/memory-path.js.map +1 -1
- package/dist/storage/snapshot.js +1 -1
- package/dist/storage/templates.d.ts +33 -6
- package/dist/storage/templates.d.ts.map +1 -1
- package/dist/storage/templates.js +170 -16
- package/dist/storage/templates.js.map +1 -1
- package/dist/validation/config-version.d.ts +19 -0
- package/dist/validation/config-version.d.ts.map +1 -0
- package/dist/validation/config-version.js +53 -0
- package/dist/validation/config-version.js.map +1 -0
- package/dist/validation/diagnostic.d.ts +40 -0
- package/dist/validation/diagnostic.d.ts.map +1 -0
- package/dist/validation/diagnostic.js +41 -0
- package/dist/validation/diagnostic.js.map +1 -0
- package/dist/validation/format.d.ts +74 -0
- package/dist/validation/format.d.ts.map +1 -0
- package/dist/validation/format.js +104 -0
- package/dist/validation/format.js.map +1 -0
- package/dist/validation/id.d.ts +14 -0
- package/dist/validation/id.d.ts.map +1 -1
- package/dist/validation/id.js +35 -11
- package/dist/validation/id.js.map +1 -1
- package/dist/validation/identity.d.ts +40 -0
- package/dist/validation/identity.d.ts.map +1 -0
- package/dist/validation/identity.js +78 -0
- package/dist/validation/identity.js.map +1 -0
- package/dist/validation/index.d.ts +9 -3
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +30 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/secret-scan.d.ts +3 -2
- package/dist/validation/secret-scan.d.ts.map +1 -1
- package/dist/validation/secret-scan.js +32 -11
- package/dist/validation/secret-scan.js.map +1 -1
- package/dist/validation/warning.d.ts +30 -16
- package/dist/validation/warning.d.ts.map +1 -1
- package/dist/validation/warning.js +74 -7
- package/dist/validation/warning.js.map +1 -1
- package/dist/workflow/bindings.d.ts +152 -0
- package/dist/workflow/bindings.d.ts.map +1 -0
- package/dist/workflow/bindings.js +249 -0
- package/dist/workflow/bindings.js.map +1 -0
- package/dist/workflow/create.d.ts +13 -0
- package/dist/workflow/create.d.ts.map +1 -0
- package/dist/workflow/create.js +41 -0
- package/dist/workflow/create.js.map +1 -0
- package/dist/workflow/deduce.d.ts +400 -0
- package/dist/workflow/deduce.d.ts.map +1 -0
- package/dist/workflow/deduce.js +1109 -0
- package/dist/workflow/deduce.js.map +1 -0
- package/dist/workflow/manifest-edit.d.ts +19 -0
- package/dist/workflow/manifest-edit.d.ts.map +1 -0
- package/dist/workflow/manifest-edit.js +124 -0
- package/dist/workflow/manifest-edit.js.map +1 -0
- package/dist/workflow/schema.d.ts +158 -19
- package/dist/workflow/schema.d.ts.map +1 -1
- package/dist/workflow/schema.js +163 -15
- package/dist/workflow/schema.js.map +1 -1
- package/package.json +18 -8
package/dist/core/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import type { CoreError, CoreResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* The `CONFLICT` reason when `setRoleAssignmentsInText` cannot edit `roles.yaml` in place and the
|
|
4
|
+
* caller did not pass `force` (task-169, `dl-062` Q1 option 3). Pinned in `spec-008` §6.
|
|
5
|
+
*/
|
|
6
|
+
export declare function rolesRewriteConflict(role: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* The warning a `force`d whole-file rewrite of an existing `roles.yaml` carries on its success
|
|
9
|
+
* (task-169, `dl-062` Q1 option 3: "the stderr warning enumerating the normalizations"). Pinned in
|
|
10
|
+
* `spec-008` §6. It names what a `js-yaml` `dump` of the parsed file does not keep, which `dl-062`'s
|
|
11
|
+
* Context measured: comments, explicit quoting, the blank lines, CRLF line endings, and the
|
|
12
|
+
* `version: 1.0` → `1` number formatting, plus flow style (the dump writes block style). It does not
|
|
13
|
+
* name key order, which the dump keeps, and it says comments "are not kept" rather than "were
|
|
14
|
+
* dropped", which would be false of a file that had none (task-169 review).
|
|
15
|
+
*/
|
|
16
|
+
export declare const ROLES_REWRITE_WARNING: string;
|
|
17
|
+
/** {@link ROLES_REWRITE_WARNING} as a `--dry-run` words it: the rewrite is planned, not done (task-210 review). */
|
|
18
|
+
export declare const ROLES_REWRITE_PLANNED_WARNING: string;
|
|
2
19
|
/** The outcome of {@link updateRoleAssignments}: the role's list as it stands afterwards. */
|
|
3
20
|
export interface RoleAssignmentUpdate {
|
|
4
21
|
/** `assignments.<role>` after the update (unchanged when nothing needed writing). */
|
|
@@ -75,9 +92,12 @@ export declare function checkAssignable(root: string, role: string, ids: readonl
|
|
|
75
92
|
* `cannot remove '<id>': still assigned to every role via roles.yaml 'global'`. Recorded in
|
|
76
93
|
* `task-052-directive-remove`'s Execution Notes and raised for ratification, not assumed settled.
|
|
77
94
|
*
|
|
78
|
-
* A directive referenced from a *workflow* step is deliberately not checked: `
|
|
79
|
-
*
|
|
80
|
-
*
|
|
95
|
+
* A directive referenced from a *workflow* step is deliberately not checked: under `dl-066` option 1 a
|
|
96
|
+
* phase reaches directives only through its `role` (`spec-003` `Phase.role`; `src/workflow/schema.ts`
|
|
97
|
+
* has no field that names a directive), so the `roles.yaml` bindings above are the whole referrer source
|
|
98
|
+
* and P3.3 no longer says "or workflow step". The workflow half of clause (b) — a workflow still included
|
|
99
|
+
* by another, or with an open instance — is `wingfoil workflow remove`'s (`workflowRemove`,
|
|
100
|
+
* `./workflow-create-remove.ts`, task-211, `dl-030`); it checks no directive either.
|
|
81
101
|
*
|
|
82
102
|
* **The bindings are read from the `roles.yaml` committed at `HEAD`**, never from the working tree
|
|
83
103
|
* (task-096, `bug-086-directive-inventory-read-from-the-worktree`, `dl-080` option (B)). This
|
|
@@ -111,8 +131,10 @@ export declare function checkUnreferenced(root: string, id: string): CoreError |
|
|
|
111
131
|
* deterministic `dump` — there is nothing to preserve.
|
|
112
132
|
* - An unchanged list is an idempotent success: nothing is written and no commit is made.
|
|
113
133
|
* - The edit goes through `setRoleAssignmentsInText`, keeping every comment and unrelated line. When it
|
|
114
|
-
* cannot apply,
|
|
115
|
-
*
|
|
134
|
+
* cannot apply, the result is `CONFLICT` ({@link rolesRewriteConflict}) and the file is left
|
|
135
|
+
* untouched, unless `options.force` authorizes the whole-file `dump`; that success then carries
|
|
136
|
+
* {@link ROLES_REWRITE_WARNING} (`dl-062` Q1 option 3, task-169). `force` authorizes the rewrite,
|
|
137
|
+
* it does not demand it: an edit the in-place editor can make is still made in place, unwarned.
|
|
116
138
|
* - No second schema pass on the output is needed: the in-place edit is only accepted when its
|
|
117
139
|
* re-parse equals the validated input with `assignments.<role>` replaced by a string list
|
|
118
140
|
* (`setRoleAssignmentsInText`'s self-check), and the whole-file `dump` serializes exactly that object.
|
|
@@ -124,8 +146,12 @@ export declare function checkUnreferenced(root: string, id: string): CoreError |
|
|
|
124
146
|
* @param role - The role whose list is updated (already validated by the caller).
|
|
125
147
|
* @param update - Pure function from the current list to the desired list.
|
|
126
148
|
* @param message - The commit subject.
|
|
127
|
-
* @
|
|
149
|
+
* @param options - `force`: authorize the whole-file rewrite when the in-place edit cannot apply.
|
|
150
|
+
* @returns The role's resulting list, with the commit when one was made and the rewrite warning when
|
|
151
|
+
* `force` was used.
|
|
128
152
|
* @throws whatever `git` raises inside `commitPaths`.
|
|
129
153
|
*/
|
|
130
|
-
export declare function updateRoleAssignments(root: string, role: string, update: (current: readonly string[]) => readonly string[], message: string
|
|
154
|
+
export declare function updateRoleAssignments(root: string, role: string, update: (current: readonly string[]) => readonly string[], message: string, options: {
|
|
155
|
+
readonly force: boolean;
|
|
156
|
+
}): CoreResult<RoleAssignmentUpdate>;
|
|
131
157
|
//# sourceMappingURL=directive-assign.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-assign.d.ts","sourceRoot":"","sources":["../../src/core/directive-assign.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directive-assign.d.ts","sourceRoot":"","sources":["../../src/core/directive-assign.ts"],"names":[],"mappings":"AA0EA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAEgC,CAAC;AAEnE,mHAAmH;AACnH,eAAO,MAAM,6BAA6B,QAA6F,CAAC;AAExI,6FAA6F;AAC7F,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,CAkDzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CA8BjF;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,EACzD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC,UAAU,CAAC,oBAAoB,CAAC,CAmDlC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ROLES_REWRITE_PLANNED_WARNING = exports.ROLES_REWRITE_WARNING = void 0;
|
|
4
|
+
exports.rolesRewriteConflict = rolesRewriteConflict;
|
|
3
5
|
exports.checkAssignable = checkAssignable;
|
|
4
6
|
exports.checkUnreferenced = checkUnreferenced;
|
|
5
7
|
exports.updateRoleAssignments = updateRoleAssignments;
|
|
@@ -42,16 +44,13 @@ exports.updateRoleAssignments = updateRoleAssignments;
|
|
|
42
44
|
* binds, naming the referrer.
|
|
43
45
|
* - {@link updateRoleAssignments} — the ONE read → edit → validate → write → commit path for
|
|
44
46
|
* `.wingfoil/roles.yaml`. It edits through the comment-preserving `setRoleAssignmentsInText`
|
|
45
|
-
* (`src/directives/roles-edit.ts`)
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* and `commit` and nothing else) — and is scheduled to v0.3 as its own task. The code below is
|
|
53
|
-
* therefore knowingly one step behind a ratified decision; read `dl-062`, not this paragraph, for
|
|
54
|
-
* the intended contract.
|
|
47
|
+
* (`src/directives/roles-edit.ts`). When that cannot apply, the result is `CONFLICT` whether or not
|
|
48
|
+
* the file has a comment, and the whole-file `dump` runs only when the caller passes `force`
|
|
49
|
+
* (`wingfoil directive assign --force`), with a success warning naming what it normalizes. That is
|
|
50
|
+
* `dl-062` Q1 option 3 (`ready`, approve commit `4cd1876`), implemented by task-169; the refusal and
|
|
51
|
+
* the warning are pinned in `spec-008` §6. It replaced a `#`-gated split that rewrote a comment-free
|
|
52
|
+
* file silently at exit 0. A missing `roles.yaml` is still written whole without the flag: there is
|
|
53
|
+
* nothing to preserve.
|
|
55
54
|
*
|
|
56
55
|
* Lives in `src/core` (not `src/directives`) for the same reason `directives-list.ts` does: it
|
|
57
56
|
* operates on `DirectiveFile` (`./loaders`) and returns `CoreResult`s, so a `src/directives` home
|
|
@@ -64,9 +63,31 @@ const roles_edit_1 = require("../directives/roles-edit");
|
|
|
64
63
|
const schema_1 = require("../directives/schema");
|
|
65
64
|
const storage_1 = require("../storage");
|
|
66
65
|
const validation_1 = require("../validation");
|
|
66
|
+
const format_1 = require("../validation/format");
|
|
67
|
+
const confinement_1 = require("./confinement");
|
|
67
68
|
const loaders_1 = require("./loaders");
|
|
68
69
|
const types_1 = require("./types");
|
|
69
70
|
const write_guard_1 = require("./write-guard");
|
|
71
|
+
/**
|
|
72
|
+
* The `CONFLICT` reason when `setRoleAssignmentsInText` cannot edit `roles.yaml` in place and the
|
|
73
|
+
* caller did not pass `force` (task-169, `dl-062` Q1 option 3). Pinned in `spec-008` §6.
|
|
74
|
+
*/
|
|
75
|
+
function rolesRewriteConflict(role) {
|
|
76
|
+
return `roles.yaml cannot be updated in place; edit assignments.${role} by hand, or pass --force to rewrite the whole file`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The warning a `force`d whole-file rewrite of an existing `roles.yaml` carries on its success
|
|
80
|
+
* (task-169, `dl-062` Q1 option 3: "the stderr warning enumerating the normalizations"). Pinned in
|
|
81
|
+
* `spec-008` §6. It names what a `js-yaml` `dump` of the parsed file does not keep, which `dl-062`'s
|
|
82
|
+
* Context measured: comments, explicit quoting, the blank lines, CRLF line endings, and the
|
|
83
|
+
* `version: 1.0` → `1` number formatting, plus flow style (the dump writes block style). It does not
|
|
84
|
+
* name key order, which the dump keeps, and it says comments "are not kept" rather than "were
|
|
85
|
+
* dropped", which would be false of a file that had none (task-169 review).
|
|
86
|
+
*/
|
|
87
|
+
exports.ROLES_REWRITE_WARNING = 'roles.yaml was rewritten as a whole file (--force): comments are not kept, and neither are quoting, flow style, ' +
|
|
88
|
+
'blank lines, line endings or number formatting (1.0 becomes 1)';
|
|
89
|
+
/** {@link ROLES_REWRITE_WARNING} as a `--dry-run` words it: the rewrite is planned, not done (task-210 review). */
|
|
90
|
+
exports.ROLES_REWRITE_PLANNED_WARNING = exports.ROLES_REWRITE_WARNING.replace('roles.yaml was rewritten', 'roles.yaml would be rewritten');
|
|
70
91
|
/**
|
|
71
92
|
* A second sentence for the unknown-role refusal, appended **only** when the *working tree's*
|
|
72
93
|
* `dna.yaml` does define the role — the same diagnostic shape as `task-090`'s `workingTreeWouldGrant`
|
|
@@ -202,9 +223,12 @@ function checkAssignable(root, role, ids) {
|
|
|
202
223
|
* `cannot remove '<id>': still assigned to every role via roles.yaml 'global'`. Recorded in
|
|
203
224
|
* `task-052-directive-remove`'s Execution Notes and raised for ratification, not assumed settled.
|
|
204
225
|
*
|
|
205
|
-
* A directive referenced from a *workflow* step is deliberately not checked: `
|
|
206
|
-
*
|
|
207
|
-
*
|
|
226
|
+
* A directive referenced from a *workflow* step is deliberately not checked: under `dl-066` option 1 a
|
|
227
|
+
* phase reaches directives only through its `role` (`spec-003` `Phase.role`; `src/workflow/schema.ts`
|
|
228
|
+
* has no field that names a directive), so the `roles.yaml` bindings above are the whole referrer source
|
|
229
|
+
* and P3.3 no longer says "or workflow step". The workflow half of clause (b) — a workflow still included
|
|
230
|
+
* by another, or with an open instance — is `wingfoil workflow remove`'s (`workflowRemove`,
|
|
231
|
+
* `./workflow-create-remove.ts`, task-211, `dl-030`); it checks no directive either.
|
|
208
232
|
*
|
|
209
233
|
* **The bindings are read from the `roles.yaml` committed at `HEAD`**, never from the working tree
|
|
210
234
|
* (task-096, `bug-086-directive-inventory-read-from-the-worktree`, `dl-080` option (B)). This
|
|
@@ -276,6 +300,10 @@ function parseRoles(text, filePath) {
|
|
|
276
300
|
// (`src/validation/yaml.ts`).
|
|
277
301
|
return validationError(error);
|
|
278
302
|
}
|
|
303
|
+
// A `roles.yaml` from a newer WingFoil is never rewritten by this one (`dl-149`, task-251).
|
|
304
|
+
const newerFormat = (0, format_1.newerFormatIssue)(raw, format_1.ROLES_YAML_FORMAT, filePath);
|
|
305
|
+
if (newerFormat)
|
|
306
|
+
return validationError(new validation_1.ValidationError([newerFormat]));
|
|
279
307
|
const parsed = schema_1.RolesYaml.safeParse(raw);
|
|
280
308
|
if (!parsed.success)
|
|
281
309
|
return validationError((0, validation_1.toValidationError)(parsed.error, filePath));
|
|
@@ -289,8 +317,10 @@ function parseRoles(text, filePath) {
|
|
|
289
317
|
* deterministic `dump` — there is nothing to preserve.
|
|
290
318
|
* - An unchanged list is an idempotent success: nothing is written and no commit is made.
|
|
291
319
|
* - The edit goes through `setRoleAssignmentsInText`, keeping every comment and unrelated line. When it
|
|
292
|
-
* cannot apply,
|
|
293
|
-
*
|
|
320
|
+
* cannot apply, the result is `CONFLICT` ({@link rolesRewriteConflict}) and the file is left
|
|
321
|
+
* untouched, unless `options.force` authorizes the whole-file `dump`; that success then carries
|
|
322
|
+
* {@link ROLES_REWRITE_WARNING} (`dl-062` Q1 option 3, task-169). `force` authorizes the rewrite,
|
|
323
|
+
* it does not demand it: an edit the in-place editor can make is still made in place, unwarned.
|
|
294
324
|
* - No second schema pass on the output is needed: the in-place edit is only accepted when its
|
|
295
325
|
* re-parse equals the validated input with `assignments.<role>` replaced by a string list
|
|
296
326
|
* (`setRoleAssignmentsInText`'s self-check), and the whole-file `dump` serializes exactly that object.
|
|
@@ -302,15 +332,22 @@ function parseRoles(text, filePath) {
|
|
|
302
332
|
* @param role - The role whose list is updated (already validated by the caller).
|
|
303
333
|
* @param update - Pure function from the current list to the desired list.
|
|
304
334
|
* @param message - The commit subject.
|
|
305
|
-
* @
|
|
335
|
+
* @param options - `force`: authorize the whole-file rewrite when the in-place edit cannot apply.
|
|
336
|
+
* @returns The role's resulting list, with the commit when one was made and the rewrite warning when
|
|
337
|
+
* `force` was used.
|
|
306
338
|
* @throws whatever `git` raises inside `commitPaths`.
|
|
307
339
|
*/
|
|
308
|
-
function updateRoleAssignments(root, role, update, message) {
|
|
340
|
+
function updateRoleAssignments(root, role, update, message, options) {
|
|
309
341
|
// dl-080 (B) / bug-078: refuse while `roles.yaml` carries modifications this operation does not
|
|
310
342
|
// own — otherwise an unrelated uncommitted edit rides into `wf(directive): assign <id> to <role>`,
|
|
311
343
|
// whose subject names only the binding. Before the read, so the refusal cannot depend on a value
|
|
312
344
|
// the dirty copy contributed. An ABSENT `roles.yaml` is clean (porcelain reports nothing), which is
|
|
313
345
|
// what keeps the first `directive assign` on a fresh project working.
|
|
346
|
+
// REQ-SEC-06 / bug-121 (task-172): `writeDocument` follows a symlinked `roles.yaml`; one that leads
|
|
347
|
+
// outside the project, or is itself a link, is refused before any read or write.
|
|
348
|
+
const confined = (0, confinement_1.requireConfinedWriteTarget)(root, loaders_1.ROLES_YAML_PATH, 'write');
|
|
349
|
+
if (!confined.ok)
|
|
350
|
+
return confined;
|
|
314
351
|
const unmodified = (0, write_guard_1.requireUnmodifiedTarget)(root, loaders_1.ROLES_YAML_PATH);
|
|
315
352
|
if (!unmodified.ok)
|
|
316
353
|
return unmodified;
|
|
@@ -320,7 +357,8 @@ function updateRoleAssignments(root, role, update, message) {
|
|
|
320
357
|
let raw = { version: 1, assignments: {}, global: [] };
|
|
321
358
|
let current = [];
|
|
322
359
|
if (exists) {
|
|
323
|
-
|
|
360
|
+
// Labelled repository-relative, never by the host path (task-179 review F5, `bug-245` class).
|
|
361
|
+
const parsed = parseRoles(text, loaders_1.ROLES_YAML_PATH);
|
|
324
362
|
if (!parsed.ok)
|
|
325
363
|
return parsed;
|
|
326
364
|
raw = parsed.value.raw;
|
|
@@ -333,20 +371,22 @@ function updateRoleAssignments(root, role, update, message) {
|
|
|
333
371
|
return (0, types_1.coreOk)({ assignments: current });
|
|
334
372
|
const wholeFile = () => (0, js_yaml_1.dump)({ ...raw, assignments: { ...raw.assignments, [role]: next } }, { lineWidth: -1 });
|
|
335
373
|
let serialized = exists ? (0, roles_edit_1.setRoleAssignmentsInText)(text, role, next) : wholeFile();
|
|
374
|
+
const warnings = [];
|
|
375
|
+
const plannedWarnings = [];
|
|
336
376
|
if (serialized === undefined) {
|
|
337
|
-
if (
|
|
338
|
-
return (0, types_1.coreErr)({
|
|
339
|
-
code: 'CONFLICT',
|
|
340
|
-
message: `roles.yaml cannot be updated without discarding its comments; edit assignments.${role} by hand`,
|
|
341
|
-
});
|
|
342
|
-
}
|
|
377
|
+
if (!options.force)
|
|
378
|
+
return (0, types_1.coreErr)({ code: 'CONFLICT', message: rolesRewriteConflict(role) });
|
|
343
379
|
serialized = wholeFile();
|
|
380
|
+
warnings.push(exports.ROLES_REWRITE_WARNING);
|
|
381
|
+
plannedWarnings.push(exports.ROLES_REWRITE_PLANNED_WARNING);
|
|
344
382
|
}
|
|
345
|
-
(0, storage_1.
|
|
346
|
-
|
|
383
|
+
const sha = (0, storage_1.writeAndCommit)(root, [{ path: loaders_1.ROLES_YAML_PATH, content: serialized }], message, {
|
|
384
|
+
warnings,
|
|
385
|
+
plannedWarnings,
|
|
386
|
+
});
|
|
347
387
|
const leaked = (0, write_guard_1.committedScopeError)(root, sha, loaders_1.ROLES_YAML_PATH, serialized);
|
|
348
388
|
if (leaked)
|
|
349
389
|
return leaked;
|
|
350
|
-
return (0, types_1.coreOk)({ assignments: next }, { sha, message });
|
|
390
|
+
return (0, types_1.coreOk)({ assignments: next }, { sha, message }, warnings);
|
|
351
391
|
}
|
|
352
392
|
//# sourceMappingURL=directive-assign.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-assign.js","sourceRoot":"","sources":["../../src/core/directive-assign.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directive-assign.js","sourceRoot":"","sources":["../../src/core/directive-assign.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reconcile a directive's `scope: global` frontmatter with `roles.yaml`'s `global:` list
|
|
3
|
+
* (task-144, bug-148; `spec-013-directive-frontmatter-schema`, Revision 2026-10-01).
|
|
4
|
+
*
|
|
5
|
+
* Both sites state whether a directive binds every role. **`roles.yaml` is the authority**: it is what
|
|
6
|
+
* {@link resolveRoleDirectives} and the `directives list` entries read, and nothing here changes a
|
|
7
|
+
* binding. `scope` is the directive author's declaration of the same fact, kept so a reader of the file
|
|
8
|
+
* sees it; when the two disagree the disagreement is reported in `directives list`'s own `warnings`
|
|
9
|
+
* array rather than lost (bug-148: before this, `scope` was dropped with a stderr line only).
|
|
10
|
+
*
|
|
11
|
+
* Only a **declared** `scope` is compared — an absent one claims nothing and is never reported (approver
|
|
12
|
+
* ruling R3 at `task-144`'s review, 2026-10-02: a project scaffolded before `scope` was declared, or one
|
|
13
|
+
* that never writes it, lists clean). At most one warning per directive id, for the file in force:
|
|
14
|
+
*
|
|
15
|
+
* - it declares `scope: global` and `roles.yaml`'s `global:` does not list its id — the directive is NOT
|
|
16
|
+
* global, whatever the file says (also when there is no `roles.yaml` at all);
|
|
17
|
+
* - it declares another scope and `global:` lists its id — the directive IS global, whatever the file
|
|
18
|
+
* says;
|
|
19
|
+
* - it declares another scope and `global:` does not list it — the value is one `spec-013` does not
|
|
20
|
+
* define, so it has no effect. A warning, never a validation failure: spec-013 keeps unknown values
|
|
21
|
+
* forward-compatible (approver ruling R2).
|
|
22
|
+
*
|
|
23
|
+
* A `global:` id with no directive file is not reported here: nothing declares a scope for it, and a
|
|
24
|
+
* binding without a file is the dangling-binding warning's case (`./context.ts`). For a shadowed id the
|
|
25
|
+
* file compared is the one {@link selectDirectivesById} puts in force — the rule decided once there.
|
|
26
|
+
*
|
|
27
|
+
* Determinism (REQ-SYS-07): ascending by directive id, never file or YAML order.
|
|
28
|
+
*/
|
|
29
|
+
import type { RolesYaml } from '../directives/schema';
|
|
30
|
+
import type { DirectiveFile } from './loaders';
|
|
31
|
+
/**
|
|
32
|
+
* The scope-disagreement warnings for `directiveFiles` against `rolesYaml` (`undefined` when the
|
|
33
|
+
* project has no `roles.yaml`: nothing is global). Empty when no declared scope disagrees.
|
|
34
|
+
*/
|
|
35
|
+
export declare function directiveScopeWarnings(directiveFiles: readonly DirectiveFile[], rolesYaml: RolesYaml | undefined): string[];
|
|
36
|
+
//# sourceMappingURL=directive-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive-scope.d.ts","sourceRoot":"","sources":["../../src/core/directive-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAK/C;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,SAAS,aAAa,EAAE,EACxC,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,MAAM,EAAE,CAyBV"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.directiveScopeWarnings = directiveScopeWarnings;
|
|
4
|
+
const context_1 = require("./context");
|
|
5
|
+
/** The `scope:` value spec-013 defines: the directive binds every role. */
|
|
6
|
+
const GLOBAL_SCOPE = 'global';
|
|
7
|
+
/**
|
|
8
|
+
* The scope-disagreement warnings for `directiveFiles` against `rolesYaml` (`undefined` when the
|
|
9
|
+
* project has no `roles.yaml`: nothing is global). Empty when no declared scope disagrees.
|
|
10
|
+
*/
|
|
11
|
+
function directiveScopeWarnings(directiveFiles, rolesYaml) {
|
|
12
|
+
const globalIds = new Set(rolesYaml?.global ?? []);
|
|
13
|
+
const warnings = [];
|
|
14
|
+
// `byId` is already in ascending id order (selectDirectivesById's own contract).
|
|
15
|
+
for (const [id, file] of (0, context_1.selectDirectivesById)(directiveFiles).byId) {
|
|
16
|
+
const scope = file.frontmatter.scope;
|
|
17
|
+
if (scope === undefined)
|
|
18
|
+
continue;
|
|
19
|
+
const listedGlobal = globalIds.has(id);
|
|
20
|
+
if (scope === GLOBAL_SCOPE) {
|
|
21
|
+
if (!listedGlobal) {
|
|
22
|
+
warnings.push(`directive '${id}' declares scope: global in ${file.path}, but roles.yaml 'global' does not list it; roles.yaml decides: not global`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else if (listedGlobal) {
|
|
26
|
+
warnings.push(`directive '${id}' declares scope: ${scope} in ${file.path}, but roles.yaml 'global' lists it; roles.yaml decides: global`);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
warnings.push(`directive '${id}' declares scope: ${scope} in ${file.path}, which spec-013 does not define (only global); it has no effect`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return warnings;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=directive-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directive-scope.js","sourceRoot":"","sources":["../../src/core/directive-scope.ts"],"names":[],"mappings":";;AAwCA,wDA4BC;AAtCD,uCAAiD;AAGjD,2EAA2E;AAC3E,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,cAAwC,EACxC,SAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,iFAAiF;IACjF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAA,8BAAoB,EAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CACX,cAAc,EAAE,+BAA+B,IAAI,CAAC,IAAI,4EAA4E,CACrI,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CACX,cAAc,EAAE,qBAAqB,KAAK,OAAO,IAAI,CAAC,IAAI,gEAAgE,CAC3H,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CACX,cAAc,EAAE,qBAAqB,KAAK,OAAO,IAAI,CAAC,IAAI,kEAAkE,CAC7H,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -47,8 +47,9 @@ export interface DirectiveListEntry {
|
|
|
47
47
|
export interface DirectiveListing {
|
|
48
48
|
/** One entry per directive file on disk — never deduplicated (see the module doc comment). */
|
|
49
49
|
readonly entries: readonly DirectiveListEntry[];
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
50
|
+
/** Without a role filter: shadowed ids, then `scope`/`roles.yaml` disagreements (task-144). With a
|
|
51
|
+
* role filter: no-assignments, dangling-binding and shadowed-id warnings. Fixed order, empty when
|
|
52
|
+
* there is nothing to report. */
|
|
52
53
|
readonly warnings: readonly string[];
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
@@ -64,8 +65,12 @@ export interface DirectiveListing {
|
|
|
64
65
|
* role is therefore not an error and not empty: it lists exactly the globals, matching
|
|
65
66
|
* `dl-029-role-with-no-directive-assignments` (the ratified hybrid) rather than inventing a
|
|
66
67
|
* `NOT_FOUND` this read-only command has no grounds to return.
|
|
68
|
+
*
|
|
69
|
+
* `skippedWarnings` are the loader's own — one per directive entry it could not resolve and skipped
|
|
70
|
+
* (task-143, `bug-125`, {@link loadDirectiveInventory}) — and lead the `warnings` array, ahead of the
|
|
71
|
+
* shadow and role warnings, since they qualify the inventory every later warning is computed over.
|
|
67
72
|
*/
|
|
68
|
-
export declare function buildDirectiveListing(directiveFiles: readonly DirectiveFile[], rolesYaml: RolesYaml | undefined, role?: string): DirectiveListing;
|
|
73
|
+
export declare function buildDirectiveListing(directiveFiles: readonly DirectiveFile[], rolesYaml: RolesYaml | undefined, role?: string, skippedWarnings?: readonly string[]): DirectiveListing;
|
|
69
74
|
/**
|
|
70
75
|
* Load both pillars' artefacts and build the listing — the filesystem half of
|
|
71
76
|
* {@link buildDirectiveListing}, kept separate so the annotation rules stay unit-testable without
|
|
@@ -75,6 +80,11 @@ export declare function buildDirectiveListing(directiveFiles: readonly Directive
|
|
|
75
80
|
* validating `loadRolesYaml` every other consumer uses, so a malformed or schema-invalid file still
|
|
76
81
|
* raises a `ValidationError` (surfaced as `VALIDATION`, exit 1) rather than being silently downgraded
|
|
77
82
|
* to "nothing is bound". Only a genuinely absent file is tolerated.
|
|
83
|
+
*
|
|
84
|
+
* The directive files come from {@link loadDirectiveInventory}, so an entry it skipped (a dangling
|
|
85
|
+
* symbolic link, task-143) is named in the listing's `warnings` instead of failing the whole read.
|
|
86
|
+
* Whether the project is initialized at all is the operation's pre-flight, not this function's
|
|
87
|
+
* (`requireInitializedProject`, `./init.ts`).
|
|
78
88
|
*/
|
|
79
89
|
export declare function loadDirectiveListing(root: string, role?: string): DirectiveListing;
|
|
80
90
|
//# sourceMappingURL=directives-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives-list.d.ts","sourceRoot":"","sources":["../../src/core/directives-list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directives-list.d.ts","sourceRoot":"","sources":["../../src/core/directives-list.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAI5E,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0GAA0G;IAC1G,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD;;qCAEiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAsCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,SAAS,aAAa,EAAE,EACxC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,IAAI,CAAC,EAAE,MAAM,EACb,eAAe,GAAE,SAAS,MAAM,EAAO,GACtC,gBAAgB,CAsBlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAIlF"}
|
|
@@ -26,7 +26,9 @@ exports.loadDirectiveListing = loadDirectiveListing;
|
|
|
26
26
|
* The payload is {@link DirectiveListing} — `entries` plus a `warnings` channel — so the two things a
|
|
27
27
|
* reader cannot see in the inventory are said out loud: which of two same-id files is in force, and
|
|
28
28
|
* whether a role is bound at all. Neither is computed here. Without a role filter the warnings are
|
|
29
|
-
* {@link selectDirectivesById}'s shadow warnings over every file
|
|
29
|
+
* {@link selectDirectivesById}'s shadow warnings over every file, followed by
|
|
30
|
+
* {@link directiveScopeWarnings}' report of every directive whose `scope: global` frontmatter disagrees
|
|
31
|
+
* with `roles.yaml`'s `global:` list (task-144, bug-148 — `roles.yaml` decides); with `--role` they are exactly
|
|
30
32
|
* {@link resolveRoleDirectives}' warnings for that role (no-assignments, dangling binding, shadowed
|
|
31
33
|
* ids). Both live in `./context.ts`, so the precedence rule the listing reports is the one context
|
|
32
34
|
* assembly applies — it is never implemented twice.
|
|
@@ -43,6 +45,7 @@ exports.loadDirectiveListing = loadDirectiveListing;
|
|
|
43
45
|
const path_1 = require("path");
|
|
44
46
|
const storage_1 = require("../storage");
|
|
45
47
|
const context_1 = require("./context");
|
|
48
|
+
const directive_scope_1 = require("./directive-scope");
|
|
46
49
|
const loaders_1 = require("./loaders");
|
|
47
50
|
/**
|
|
48
51
|
* {@link DirectiveListEntry.assignment} for a directive no role names and `roles.yaml`'s `global`
|
|
@@ -106,8 +109,12 @@ function renderAssignment(roles, isGlobal) {
|
|
|
106
109
|
* role is therefore not an error and not empty: it lists exactly the globals, matching
|
|
107
110
|
* `dl-029-role-with-no-directive-assignments` (the ratified hybrid) rather than inventing a
|
|
108
111
|
* `NOT_FOUND` this read-only command has no grounds to return.
|
|
112
|
+
*
|
|
113
|
+
* `skippedWarnings` are the loader's own — one per directive entry it could not resolve and skipped
|
|
114
|
+
* (task-143, `bug-125`, {@link loadDirectiveInventory}) — and lead the `warnings` array, ahead of the
|
|
115
|
+
* shadow and role warnings, since they qualify the inventory every later warning is computed over.
|
|
109
116
|
*/
|
|
110
|
-
function buildDirectiveListing(directiveFiles, rolesYaml, role) {
|
|
117
|
+
function buildDirectiveListing(directiveFiles, rolesYaml, role, skippedWarnings = []) {
|
|
111
118
|
const byId = rolesByDirectiveId(rolesYaml);
|
|
112
119
|
const globalIds = new Set(rolesYaml?.global ?? []);
|
|
113
120
|
const entries = [];
|
|
@@ -126,9 +133,9 @@ function buildDirectiveListing(directiveFiles, rolesYaml, role) {
|
|
|
126
133
|
});
|
|
127
134
|
}
|
|
128
135
|
const warnings = role === undefined
|
|
129
|
-
? (0, context_1.selectDirectivesById)(directiveFiles).warnings
|
|
136
|
+
? [...(0, context_1.selectDirectivesById)(directiveFiles).warnings, ...(0, directive_scope_1.directiveScopeWarnings)(directiveFiles, rolesYaml)]
|
|
130
137
|
: (0, context_1.resolveRoleDirectives)(directiveFiles, rolesYaml ?? NO_BINDINGS, role).warnings;
|
|
131
|
-
return { entries, warnings };
|
|
138
|
+
return { entries, warnings: [...skippedWarnings, ...warnings] };
|
|
132
139
|
}
|
|
133
140
|
/**
|
|
134
141
|
* Load both pillars' artefacts and build the listing — the filesystem half of
|
|
@@ -139,10 +146,15 @@ function buildDirectiveListing(directiveFiles, rolesYaml, role) {
|
|
|
139
146
|
* validating `loadRolesYaml` every other consumer uses, so a malformed or schema-invalid file still
|
|
140
147
|
* raises a `ValidationError` (surfaced as `VALIDATION`, exit 1) rather than being silently downgraded
|
|
141
148
|
* to "nothing is bound". Only a genuinely absent file is tolerated.
|
|
149
|
+
*
|
|
150
|
+
* The directive files come from {@link loadDirectiveInventory}, so an entry it skipped (a dangling
|
|
151
|
+
* symbolic link, task-143) is named in the listing's `warnings` instead of failing the whole read.
|
|
152
|
+
* Whether the project is initialized at all is the operation's pre-flight, not this function's
|
|
153
|
+
* (`requireInitializedProject`, `./init.ts`).
|
|
142
154
|
*/
|
|
143
155
|
function loadDirectiveListing(root, role) {
|
|
144
|
-
const
|
|
156
|
+
const { files, warnings } = (0, loaders_1.loadDirectiveInventory)(root);
|
|
145
157
|
const rolesYaml = (0, storage_1.documentExists)((0, path_1.join)(root, '.wingfoil', 'roles.yaml')) ? (0, loaders_1.loadRolesYaml)(root) : undefined;
|
|
146
|
-
return buildDirectiveListing(
|
|
158
|
+
return buildDirectiveListing(files, rolesYaml, role, warnings);
|
|
147
159
|
}
|
|
148
160
|
//# sourceMappingURL=directives-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives-list.js","sourceRoot":"","sources":["../../src/core/directives-list.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"directives-list.js","sourceRoot":"","sources":["../../src/core/directives-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `--dry-run` for every mutating operation (task-210, `dl-106` W2, `spec-008-cli-grammar` §2).
|
|
3
|
+
*
|
|
4
|
+
* A surface runs an operation through {@link runAsDryRun} instead of calling its `fn` directly. The
|
|
5
|
+
* operation itself never learns of the mode: the commit primitive (`writeAndCommit`, `src/storage`)
|
|
6
|
+
* plans the commit instead of making it (`src/storage/dry-run.ts`). So every operation registered
|
|
7
|
+
* `mutates: true` — those in `CORE_MODULES` today and any added later — takes the flag by construction,
|
|
8
|
+
* and `test/cli/dry-run.integration.test.ts` holds each of them to it.
|
|
9
|
+
*/
|
|
10
|
+
import { type DryRunPlan } from '../storage';
|
|
11
|
+
import type { CoreFlag } from './registry';
|
|
12
|
+
import { type CoreResult } from './types';
|
|
13
|
+
export type { DryRunPlan } from '../storage';
|
|
14
|
+
/**
|
|
15
|
+
* The flag the CLI registrar adds to every command whose operation `mutates` (`src/cli/registrar.ts`).
|
|
16
|
+
* An operation never declares it; a command whose operation writes nothing does not take it.
|
|
17
|
+
*/
|
|
18
|
+
export declare const DRY_RUN_FLAG: CoreFlag;
|
|
19
|
+
/**
|
|
20
|
+
* Run `run` — one operation's `fn` — as a dry run:
|
|
21
|
+
*
|
|
22
|
+
* - it reached its commit → a success whose value is the {@link DryRunPlan} (exit `0`), with no
|
|
23
|
+
* `commit`, since none was made, and the warnings the operation handed to the commit primitive
|
|
24
|
+
* (`CommitOptions.warnings`) — the ones the real run would print;
|
|
25
|
+
* - it refused before writing → its own failed result, unchanged, so the exit code is the refusal's;
|
|
26
|
+
* - it threw → the same throw, for the surface to render as it renders any thrown error;
|
|
27
|
+
* - it succeeded without committing (a change that is already in place) → its own result, which is
|
|
28
|
+
* what the real run would print too.
|
|
29
|
+
*
|
|
30
|
+
* A dry run stops at the operation's first commit (see `src/storage/dry-run.ts`).
|
|
31
|
+
*/
|
|
32
|
+
export declare function runAsDryRun<T>(run: () => Promise<CoreResult<T>>): Promise<CoreResult<T | DryRunPlan>>;
|
|
33
|
+
//# sourceMappingURL=dry-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../src/core/dry-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAElD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAG1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAK3G"}
|