wingfoil 0.2.1 → 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 +88 -42
- 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 +2 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +6 -3
- 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 +270 -60
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/registrar.d.ts +16 -7
- package/dist/cli/registrar.d.ts.map +1 -1
- package/dist/cli/registrar.js +71 -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.js +6 -6
- 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 +189 -14
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1241 -238
- package/dist/core/index.js.map +1 -1
- package/dist/core/init.d.ts +50 -8
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +139 -27
- 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 +147 -23
- 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 +35 -30
- package/dist/directives/schema.d.ts.map +1 -1
- package/dist/directives/schema.js +36 -30
- 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 +9 -5
- 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 +160 -17
- package/dist/memory/add.d.ts.map +1 -1
- package/dist/memory/add.js +361 -51
- package/dist/memory/add.js.map +1 -1
- package/dist/memory/audit.d.ts +165 -32
- package/dist/memory/audit.d.ts.map +1 -1
- package/dist/memory/audit.js +267 -97
- 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 +74 -13
- package/dist/memory/history.d.ts.map +1 -1
- package/dist/memory/history.js +129 -45
- 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 +38 -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 +136 -48
- 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 +182 -17
- 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 +40 -0
- package/dist/validation/id.d.ts.map +1 -1
- package/dist/validation/id.js +99 -12
- 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 +33 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/secret-scan.d.ts +10 -7
- package/dist/validation/secret-scan.d.ts.map +1 -1
- package/dist/validation/secret-scan.js +39 -16
- 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 +190 -16
- package/dist/workflow/schema.js.map +1 -1
- package/package.json +37 -13
|
@@ -1,57 +1,52 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The one commit-message formatter for Memory state-transition verbs (task-045-memory-submit).
|
|
3
|
-
*
|
|
4
|
-
* Every verb — `submit` today, `approve`/`reject`/`deprecate` next — produces exactly one commit whose
|
|
5
|
-
* subject is `wf({type}): {verb} {id1}, {id2}` (`spec-004-mcp-surface-contract` §4.3), optionally
|
|
6
|
-
* followed by a ` [from → to]` bracket and an `Approver:` / `Reason:` body for the verbs whose
|
|
7
|
-
* evidence rules require them (P1.7/P1.8, REQ-SEC-04). Those are exactly the shapes
|
|
8
|
-
* `./audit.ts` reads back for `wingfoil memory history` (P1.10): `OPERATION_RE` on the subject,
|
|
9
|
-
* `BRACKET_RE` on the bracket, `parseApprovalMetadata`/`parseCommitReason` on the body. Building the
|
|
10
|
-
* message in one place is what keeps writer and reader from drifting apart.
|
|
11
|
-
*
|
|
12
|
-
* Since `task-072-fix-reason-trailer-contract` this module also owns the **reason grammar** —
|
|
13
|
-
* {@link normalizeReason}, {@link reasonDefect}, {@link parseReasonBlock} and
|
|
14
|
-
* {@link parseApproverTrailerLine} — ratified by `dl-067-reason-trailer-contract` and fixing
|
|
15
|
-
* `bug-042-reason-text-has-no-contract-against-commit-trailer`. `--reason <text>` is arbitrary free
|
|
16
|
-
* text and the trailer is line-oriented; before dl-067 no rule said what happened when the two met, so
|
|
17
|
-
* a blank reason was recorded as a bare `Reason:` that destroyed the whole approval record, a
|
|
18
|
-
* multi-line one was truncated to its first line on read, and one shaped like a trailer could forge a
|
|
19
|
-
* second `Approver:` line. Putting the grammar HERE, next to the formatter, and having `./audit.ts`
|
|
20
|
-
* consume it is what makes this module doc's "one place" claim true rather than aspirational: the
|
|
21
|
-
* writer cannot emit a reason the reader cannot recover.
|
|
22
|
-
*
|
|
23
|
-
* Pure and deterministic (REQ-SYS-07): the output is a function of the input alone; ids keep the order
|
|
24
|
-
* the caller gives.
|
|
25
|
-
*/
|
|
26
1
|
import type { TransitionOp } from './state-machine';
|
|
27
2
|
/** Why a `--reason` value cannot be recorded in the trailer, per `dl-067` clause 4 and its corollary. */
|
|
28
3
|
export type ReasonDefect =
|
|
29
4
|
/** Empty, or nothing but whitespace: git would store a bare `Reason:` and both parsers would fail. */
|
|
30
5
|
'blank'
|
|
31
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Carries a C0 control character other than tab and newline (`dl-078` (A)), DEL, a C1 control, or
|
|
8
|
+
* U+2028/U+2029 (`dl-078` Amendment 2026-10-01, `bug-185`). The refusal names the first one by code
|
|
9
|
+
* point ({@link reasonRefusalMessage}).
|
|
10
|
+
*/
|
|
11
|
+
| 'control-character'
|
|
12
|
+
/**
|
|
13
|
+
* Carries a line starting `Approver:`, `Reason:` or `WingFoil-Version:`, in any letter case — a
|
|
14
|
+
* forged trailer line (bug-042 F3; `dl-111` Q1 (A)).
|
|
15
|
+
*/
|
|
32
16
|
| 'reserved-trailer-line'
|
|
33
17
|
/**
|
|
34
18
|
* Ends in a paragraph made entirely of trailer-shaped lines, which {@link parseReasonBlock} would
|
|
35
19
|
* read as git's own trailer block and drop. The corollary of the block's termination rule: without
|
|
36
20
|
* it, the round-trip equality dl-067 clause 3 promises would be false for this one input shape. 0 of
|
|
37
|
-
* `main`'s 172 reason blocks end this way, so the refusal costs the existing corpus nothing.
|
|
21
|
+
* `main`'s 172 reason blocks end this way, so the refusal costs the existing corpus nothing. The
|
|
22
|
+
* rule is judged by SHAPE, git's own heuristic, not against a list of known trailer keys: `dl-070`
|
|
23
|
+
* (A) kept it, and its S4 put the remedy into the message.
|
|
38
24
|
*/
|
|
39
25
|
| 'trailing-trailer-paragraph';
|
|
40
26
|
/**
|
|
41
|
-
* The refusal message for `defect` — the
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
27
|
+
* The refusal message for the class `defect` — the wording `spec-008-cli-grammar` §2 pins.
|
|
28
|
+
* Deliberately distinct from `missing required argument: --reason` (`src/core/require-reason.ts`),
|
|
29
|
+
* which answers the *omitted* case that spec-008 §2 and the P1.7/P1.8 BDD features already quote
|
|
30
|
+
* verbatim (dl-067 S1). For `control-character` this is the class alone; the message the CLI prints
|
|
31
|
+
* also names the character, and comes from {@link reasonRefusalMessage}.
|
|
45
32
|
*/
|
|
46
33
|
export declare function reasonDefectMessage(defect: ReasonDefect): string;
|
|
34
|
+
/**
|
|
35
|
+
* The exact message `reason` is refused with, or `null` when it can be recorded — the single source
|
|
36
|
+
* of the wording the CLI prints (`src/core/require-reason.ts`) and {@link formatMemoryCommitMessage}
|
|
37
|
+
* throws. It is {@link reasonDefectMessage}'s class message, plus, for a control character, the FIRST
|
|
38
|
+
* offending one by code point (`dl-078` (A): "naming the character"), so the message is a function of
|
|
39
|
+
* the input alone (REQ-SYS-07).
|
|
40
|
+
*/
|
|
41
|
+
export declare function reasonRefusalMessage(reason: string): string | null;
|
|
47
42
|
/**
|
|
48
43
|
* The declared normal form of a reason (`dl-067` clause 3) — two rules, from two different sources,
|
|
49
44
|
* and it is worth keeping them apart:
|
|
50
45
|
*
|
|
51
46
|
* 1. **git's**, which applies whether or not this function exists. `commitPaths`
|
|
52
|
-
* (`src/storage/commit.ts`)
|
|
53
|
-
*
|
|
54
|
-
* lines. This is why `spec-008-cli-grammar` §2's original "Recorded verbatim" was already false
|
|
47
|
+
* (`src/storage/commit.ts`) passes `--cleanup=whitespace` explicitly (`bug-051`, task-192), so —
|
|
48
|
+
* whatever `commit.cleanup` the git config sets — git strips per-line trailing whitespace,
|
|
49
|
+
* collapses runs of blank lines to one, and drops leading and trailing blank lines. This is why `spec-008-cli-grammar` §2's original "Recorded verbatim" was already false
|
|
55
50
|
* for any multi-line text, independently of bug-042.
|
|
56
51
|
* 2. **This module's**: the first line's leading whitespace is trimmed. git does NOT do this. It is
|
|
57
52
|
* needed because that line sits after `Reason: ` on the same physical line and
|
|
@@ -101,6 +96,19 @@ export declare function parseReasonBlock(body: string): string | null;
|
|
|
101
96
|
* the line's POSITION is this module's.
|
|
102
97
|
*/
|
|
103
98
|
export declare function parseApproverTrailerLine(body: string): string | null;
|
|
99
|
+
/**
|
|
100
|
+
* The build signature a commit body records — the value of its `WingFoil-Version:` trailer
|
|
101
|
+
* (task-192, `dl-111` Action 3), `<semver> (<sha>)` — or `null` when it records none: a commit
|
|
102
|
+
* written by hand, or by a WingFoil build older than the trailer.
|
|
103
|
+
*
|
|
104
|
+
* Read only from the body's **final paragraph**, and only when every line of it is trailer-shaped —
|
|
105
|
+
* the paragraph `commitPaths` appends, and the one git's own reader takes
|
|
106
|
+
* (`git log --format='%(trailers:key=WingFoil-Version,valueonly)'`). Unlike the `Reason:` terminator
|
|
107
|
+
* ({@link parseReasonBlock}), a body that IS that one paragraph counts: it is what a subject-only
|
|
108
|
+
* commit (`add`, `submit`) carries. A `WingFoil-Version:` line anywhere else is text, not a record;
|
|
109
|
+
* a `--reason` cannot supply one at all (`dl-067` clause 4, reserved key).
|
|
110
|
+
*/
|
|
111
|
+
export declare function parseVersionTrailer(body: string): string | null;
|
|
104
112
|
/** The identity recorded on an approval-gate commit's `Approver:` line. */
|
|
105
113
|
export interface CommitApprover {
|
|
106
114
|
readonly name: string;
|
|
@@ -111,8 +119,13 @@ export interface CommitApprover {
|
|
|
111
119
|
export interface MemoryCommitMessageInput {
|
|
112
120
|
/** The Memory element type all `ids` belong to — one commit is scoped to one type. */
|
|
113
121
|
readonly type: string;
|
|
114
|
-
/**
|
|
115
|
-
|
|
122
|
+
/**
|
|
123
|
+
* The verb, which is also the subject's operation word. `add` is included for completeness;
|
|
124
|
+
* `amend` (task-127, `dl-108`) moves no state, so its `transition` is the self-loop `[s → s]`;
|
|
125
|
+
* `finalize` is what the `supersedes:` trigger emits for the element it moves into `superseded`
|
|
126
|
+
* (task-162, `spec-008` §2).
|
|
127
|
+
*/
|
|
128
|
+
readonly op: TransitionOp | 'add' | 'amend' | 'finalize';
|
|
116
129
|
/** The element ids moved by this commit, in the order they are listed in the subject. */
|
|
117
130
|
readonly ids: readonly string[];
|
|
118
131
|
/** When given, appended to the subject as ` [from → to]`. Omitted for `add`/`submit` (spec-004 §4.3). */
|
|
@@ -128,10 +141,18 @@ export interface MemoryCommitMessageInput {
|
|
|
128
141
|
* read back.
|
|
129
142
|
*/
|
|
130
143
|
readonly reason?: string;
|
|
144
|
+
/**
|
|
145
|
+
* When non-empty, a `Carries content: <item>, <item>` body line naming the content the commit
|
|
146
|
+
* carries besides its state move — `memory submit`'s declaration (task-209, `dl-106` W1 (a)), the
|
|
147
|
+
* items from `describeSubmitContent` (`./submit`). Written only on a commit with no `Approver:` or
|
|
148
|
+
* `Reason:` body; its key holds a space, so no trailer reader takes it for a trailer.
|
|
149
|
+
*/
|
|
150
|
+
readonly carries?: readonly string[];
|
|
131
151
|
}
|
|
132
152
|
/**
|
|
133
|
-
* Format a Memory transition commit message: the subject, then — only when an approver
|
|
134
|
-
* given — a blank line and the `Approver:` / `Reason:` lines in that order
|
|
153
|
+
* Format a Memory transition commit message: the subject, then — only when an approver, a reason or
|
|
154
|
+
* a content declaration is given — a blank line and the `Approver:` / `Reason:` lines in that order,
|
|
155
|
+
* or the one `Carries content:` line (never both shapes in one message).
|
|
135
156
|
*
|
|
136
157
|
* The reason is emitted in its declared normal form and, when it carries a defect
|
|
137
158
|
* ({@link reasonDefect}), refused rather than written. The CLI boundary
|
|
@@ -141,6 +162,7 @@ export interface MemoryCommitMessageInput {
|
|
|
141
162
|
*
|
|
142
163
|
* @throws `Error` when `ids` is empty: a transition commit always names what it moved.
|
|
143
164
|
* @throws `Error` when `reason` cannot be recorded in the trailer, carrying that defect's message.
|
|
165
|
+
* @throws `Error` when `carries` is non-empty next to an `approver` or a `reason`.
|
|
144
166
|
*/
|
|
145
167
|
export declare function formatMemoryCommitMessage(input: MemoryCommitMessageInput): string;
|
|
146
168
|
//# sourceMappingURL=commit-message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit-message.d.ts","sourceRoot":"","sources":["../../src/memory/commit-message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commit-message.d.ts","sourceRoot":"","sources":["../../src/memory/commit-message.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA2DpD,yGAAyG;AACzG,MAAM,MAAM,YAAY;AACtB,sGAAsG;AACpG,OAAO;AACT;;;;GAIG;GACD,mBAAmB;AACrB;;;GAGG;GACD,uBAAuB;AACzB;;;;;;;GAOG;GACD,4BAA4B,CAAC;AAYjC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEhE;AAOD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUtD;AAYD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAchE;AAsBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D;AAED,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IACzD,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,yGAAyG;IACzG,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAwBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CA0BjF"}
|
|
@@ -1,12 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reasonDefectMessage = reasonDefectMessage;
|
|
4
|
+
exports.reasonRefusalMessage = reasonRefusalMessage;
|
|
4
5
|
exports.normalizeReason = normalizeReason;
|
|
5
6
|
exports.reasonDefect = reasonDefect;
|
|
6
7
|
exports.parseReasonBlock = parseReasonBlock;
|
|
7
8
|
exports.parseApproverTrailerLine = parseApproverTrailerLine;
|
|
9
|
+
exports.parseVersionTrailer = parseVersionTrailer;
|
|
8
10
|
exports.formatMemoryCommitMessage = formatMemoryCommitMessage;
|
|
9
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* The one commit-message formatter for Memory state-transition verbs (task-045-memory-submit).
|
|
13
|
+
*
|
|
14
|
+
* Every verb — `submit`, `approve`, `reject`, `deprecate` and `amend` (task-127) — produces exactly one commit whose
|
|
15
|
+
* subject is `wf({type}): {verb} {id1}, {id2}` (`spec-004-mcp-surface-contract` §4.3), optionally
|
|
16
|
+
* followed by a ` [from → to]` bracket and an `Approver:` / `Reason:` body for the verbs whose
|
|
17
|
+
* evidence rules require them (P1.7/P1.8, REQ-SEC-04). Those are exactly the shapes
|
|
18
|
+
* `./audit.ts` reads back for `wingfoil memory history` (P1.10): `parseMemoryOperation` on the subject,
|
|
19
|
+
* `parseBracketHops` on the bracket, `parseApprovalMetadata`/`parseCommitReason` on the body. Building the
|
|
20
|
+
* message in one place is what keeps writer and reader from drifting apart.
|
|
21
|
+
*
|
|
22
|
+
* Since `task-072-fix-reason-trailer-contract` this module also owns the **reason grammar** —
|
|
23
|
+
* {@link normalizeReason}, {@link reasonDefect}, {@link reasonRefusalMessage}, {@link parseReasonBlock}
|
|
24
|
+
* and {@link parseApproverTrailerLine} — ratified by `dl-067-reason-trailer-contract` and fixing
|
|
25
|
+
* `bug-042-reason-text-has-no-contract-against-commit-trailer`. `--reason <text>` is arbitrary free
|
|
26
|
+
* text and the trailer is line-oriented; before dl-067 no rule said what happened when the two met, so
|
|
27
|
+
* a blank reason was recorded as a bare `Reason:` that destroyed the whole approval record, a
|
|
28
|
+
* multi-line one was truncated to its first line on read, and one shaped like a trailer could forge a
|
|
29
|
+
* second `Approver:` line. Putting the grammar HERE, next to the formatter, and having `./audit.ts`
|
|
30
|
+
* consume it is what makes this module doc's "one place" claim true rather than aspirational: the
|
|
31
|
+
* writer cannot emit a reason the reader cannot recover.
|
|
32
|
+
*
|
|
33
|
+
* Pure and deterministic (REQ-SYS-07): the output is a function of the input alone; ids keep the order
|
|
34
|
+
* the caller gives.
|
|
35
|
+
*/
|
|
36
|
+
const storage_1 = require("../storage");
|
|
37
|
+
/** The canonical arrow written in `[from → to]` subject brackets (U+2192); `./audit.ts`'s bracket reader (`BRACKET_ARROW_RE`) also reads the ASCII `->` (`bug-137`). */
|
|
10
38
|
const ARROW = '→';
|
|
11
39
|
// --- The reason grammar (dl-067-reason-trailer-contract) ---------------------------------------
|
|
12
40
|
/**
|
|
@@ -16,13 +44,45 @@ const ARROW = '→';
|
|
|
16
44
|
*/
|
|
17
45
|
const TRAILER_LINE_RE = /^[A-Za-z][A-Za-z0-9-]*:[ \t]\S/;
|
|
18
46
|
/**
|
|
19
|
-
* The
|
|
20
|
-
*
|
|
21
|
-
* `
|
|
22
|
-
*
|
|
23
|
-
*
|
|
47
|
+
* The trailer keys THIS project's tooling acts on. A reason may not contain a line starting with any
|
|
48
|
+
* of them, because such a line is indistinguishable from the trailer itself. `Approver` and `Reason`
|
|
49
|
+
* are `dl-067` clause 4's; `WingFoil-Version` is reserved by `dl-111` Q1 (A) for the build signature
|
|
50
|
+
* a later task stamps on every commit, so a reason cannot forge a build record any more than it can
|
|
51
|
+
* forge an approval. Matched case-insensitively, because git reads trailer keys that way
|
|
52
|
+
* (`git log --format='%(trailers:key=WingFoil-Version)'` also returns a `wingfoil-version:` line);
|
|
53
|
+
* no commit on `main` carries a reserved key in another case, so no existing reason is affected
|
|
54
|
+
* (task-166 review). Deliberately narrow: on `main`, 8 approve/reject commits carry a generic
|
|
55
|
+
* `Key: value` line inside their reason (ordinary prose — `Action: amend spec-015 §3`, `A: before the
|
|
56
|
+
* v0.2 …`) and **0** carry a reserved one, so a broader rule would outlaw the approver's own writing
|
|
57
|
+
* style (dl-067 E5).
|
|
58
|
+
*/
|
|
59
|
+
const RESERVED_TRAILER_LINE_RE = /^(?:Approver|Reason|WingFoil-Version):/i;
|
|
60
|
+
/**
|
|
61
|
+
* The first character in `text` a reason may not carry, or `null` when there is none:
|
|
62
|
+
*
|
|
63
|
+
* - a C0 control other than tab (`U+0009`) and newline (`U+000A`) — the two a reason legitimately
|
|
64
|
+
* carries (`dl-078` (A));
|
|
65
|
+
* - DEL (`U+007F`), the C1 controls (`U+0080` to `U+009F`) and the Unicode line and paragraph
|
|
66
|
+
* separators (`U+2028`, `U+2029`) — `dl-078`'s Amendment (2026-10-01), `bug-185`, `task-173`.
|
|
67
|
+
*
|
|
68
|
+
* Such a character renders as nothing, moves the cursor or breaks the line in a terminal or a log
|
|
69
|
+
* viewer, so a reason carrying one can show a human reading `git log` a line nobody wrote: the
|
|
70
|
+
* presentation half of `bug-050`, which no read-side fix can reach. A carriage return never gets this
|
|
71
|
+
* far, because {@link normalizeReason} turns it into a newline before any rule is judged. A scan
|
|
72
|
+
* rather than a character-class regex, which the `no-control-regex` lint rule forbids.
|
|
24
73
|
*/
|
|
25
|
-
|
|
74
|
+
function firstControlCharacter(text) {
|
|
75
|
+
for (const character of text) {
|
|
76
|
+
const code = character.charCodeAt(0);
|
|
77
|
+
if (code < 0x20 && character !== '\t' && character !== '\n')
|
|
78
|
+
return character;
|
|
79
|
+
if (code >= 0x7f && code <= 0x9f)
|
|
80
|
+
return character;
|
|
81
|
+
if (code === 0x2028 || code === 0x2029)
|
|
82
|
+
return character;
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
26
86
|
/** The `Reason:` key, at the start of a line. */
|
|
27
87
|
const REASON_KEY_RE = /^Reason:[ \t]*/;
|
|
28
88
|
/** The `Approver:` key, at the start of a line. */
|
|
@@ -30,26 +90,47 @@ const APPROVER_KEY_RE = /^Approver:/;
|
|
|
30
90
|
/** The exact refusal message for each defect — `spec-008-cli-grammar` §2's "invalid flag value" class (exit 2). */
|
|
31
91
|
const REASON_DEFECT_MESSAGES = {
|
|
32
92
|
blank: 'invalid flag value: --reason must not be blank',
|
|
33
|
-
'
|
|
34
|
-
'
|
|
93
|
+
'control-character': 'invalid flag value: --reason must not contain a control character other than tab or newline',
|
|
94
|
+
'reserved-trailer-line': 'invalid flag value: --reason must not contain a line starting with "Approver:", "Reason:" or "WingFoil-Version:"',
|
|
95
|
+
'trailing-trailer-paragraph': 'invalid flag value: --reason must not end in a paragraph of "Key: value" lines; add a closing sentence after it, or fold those lines into prose',
|
|
35
96
|
};
|
|
36
97
|
/**
|
|
37
|
-
* The refusal message for `defect` — the
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
98
|
+
* The refusal message for the class `defect` — the wording `spec-008-cli-grammar` §2 pins.
|
|
99
|
+
* Deliberately distinct from `missing required argument: --reason` (`src/core/require-reason.ts`),
|
|
100
|
+
* which answers the *omitted* case that spec-008 §2 and the P1.7/P1.8 BDD features already quote
|
|
101
|
+
* verbatim (dl-067 S1). For `control-character` this is the class alone; the message the CLI prints
|
|
102
|
+
* also names the character, and comes from {@link reasonRefusalMessage}.
|
|
41
103
|
*/
|
|
42
104
|
function reasonDefectMessage(defect) {
|
|
43
105
|
return REASON_DEFECT_MESSAGES[defect];
|
|
44
106
|
}
|
|
107
|
+
/** `U+XXXX` for a character, the way the control-character refusal names it. */
|
|
108
|
+
function codePointOf(character) {
|
|
109
|
+
return `U+${character.codePointAt(0).toString(16).toUpperCase().padStart(4, '0')}`;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The exact message `reason` is refused with, or `null` when it can be recorded — the single source
|
|
113
|
+
* of the wording the CLI prints (`src/core/require-reason.ts`) and {@link formatMemoryCommitMessage}
|
|
114
|
+
* throws. It is {@link reasonDefectMessage}'s class message, plus, for a control character, the FIRST
|
|
115
|
+
* offending one by code point (`dl-078` (A): "naming the character"), so the message is a function of
|
|
116
|
+
* the input alone (REQ-SYS-07).
|
|
117
|
+
*/
|
|
118
|
+
function reasonRefusalMessage(reason) {
|
|
119
|
+
const defect = reasonDefect(reason);
|
|
120
|
+
if (defect === null)
|
|
121
|
+
return null;
|
|
122
|
+
const message = reasonDefectMessage(defect);
|
|
123
|
+
const control = defect === 'control-character' ? firstControlCharacter(normalizeReason(reason)) : null;
|
|
124
|
+
return control === null ? message : `${message} (found ${codePointOf(control)})`;
|
|
125
|
+
}
|
|
45
126
|
/**
|
|
46
127
|
* The declared normal form of a reason (`dl-067` clause 3) — two rules, from two different sources,
|
|
47
128
|
* and it is worth keeping them apart:
|
|
48
129
|
*
|
|
49
130
|
* 1. **git's**, which applies whether or not this function exists. `commitPaths`
|
|
50
|
-
* (`src/storage/commit.ts`)
|
|
51
|
-
*
|
|
52
|
-
* lines. This is why `spec-008-cli-grammar` §2's original "Recorded verbatim" was already false
|
|
131
|
+
* (`src/storage/commit.ts`) passes `--cleanup=whitespace` explicitly (`bug-051`, task-192), so —
|
|
132
|
+
* whatever `commit.cleanup` the git config sets — git strips per-line trailing whitespace,
|
|
133
|
+
* collapses runs of blank lines to one, and drops leading and trailing blank lines. This is why `spec-008-cli-grammar` §2's original "Recorded verbatim" was already false
|
|
53
134
|
* for any multi-line text, independently of bug-042.
|
|
54
135
|
* 2. **This module's**: the first line's leading whitespace is trimmed. git does NOT do this. It is
|
|
55
136
|
* needed because that line sits after `Reason: ` on the same physical line and
|
|
@@ -97,6 +178,8 @@ function reasonDefect(reason) {
|
|
|
97
178
|
const normalized = normalizeReason(reason);
|
|
98
179
|
if (normalized === '')
|
|
99
180
|
return 'blank';
|
|
181
|
+
if (firstControlCharacter(normalized) !== null)
|
|
182
|
+
return 'control-character';
|
|
100
183
|
const lines = normalized.split('\n');
|
|
101
184
|
if (lines.some((line) => RESERVED_TRAILER_LINE_RE.test(line)))
|
|
102
185
|
return 'reserved-trailer-line';
|
|
@@ -168,9 +251,64 @@ function parseApproverTrailerLine(body) {
|
|
|
168
251
|
.find((line) => line.trim() !== '');
|
|
169
252
|
return first !== undefined && APPROVER_KEY_RE.test(first) ? first : null;
|
|
170
253
|
}
|
|
254
|
+
/** A `WingFoil-Version:` trailer line and its value, in any letter case as git reads trailer keys. */
|
|
255
|
+
const VERSION_TRAILER_RE = new RegExp(`^${storage_1.WINGFOIL_VERSION_TRAILER_KEY}:[ \\t]*(\\S.*?)\\s*$`, 'i');
|
|
171
256
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
257
|
+
* The build signature a commit body records — the value of its `WingFoil-Version:` trailer
|
|
258
|
+
* (task-192, `dl-111` Action 3), `<semver> (<sha>)` — or `null` when it records none: a commit
|
|
259
|
+
* written by hand, or by a WingFoil build older than the trailer.
|
|
260
|
+
*
|
|
261
|
+
* Read only from the body's **final paragraph**, and only when every line of it is trailer-shaped —
|
|
262
|
+
* the paragraph `commitPaths` appends, and the one git's own reader takes
|
|
263
|
+
* (`git log --format='%(trailers:key=WingFoil-Version,valueonly)'`). Unlike the `Reason:` terminator
|
|
264
|
+
* ({@link parseReasonBlock}), a body that IS that one paragraph counts: it is what a subject-only
|
|
265
|
+
* commit (`add`, `submit`) carries. A `WingFoil-Version:` line anywhere else is text, not a record;
|
|
266
|
+
* a `--reason` cannot supply one at all (`dl-067` clause 4, reserved key).
|
|
267
|
+
*/
|
|
268
|
+
function parseVersionTrailer(body) {
|
|
269
|
+
const lines = body.replace(/\r\n?/g, '\n').split('\n');
|
|
270
|
+
let end = lines.length;
|
|
271
|
+
while (end > 0 && lines[end - 1].trim() === '')
|
|
272
|
+
end -= 1;
|
|
273
|
+
let start = end;
|
|
274
|
+
while (start > 0 && lines[start - 1].trim() !== '')
|
|
275
|
+
start -= 1;
|
|
276
|
+
const paragraph = lines.slice(start, end);
|
|
277
|
+
if (paragraph.length === 0 || !paragraph.every((line) => TRAILER_LINE_RE.test(line)))
|
|
278
|
+
return null;
|
|
279
|
+
for (const line of paragraph) {
|
|
280
|
+
const match = VERSION_TRAILER_RE.exec(line);
|
|
281
|
+
if (match)
|
|
282
|
+
return match[1];
|
|
283
|
+
}
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
/** The key of the content declaration line; not trailer-shaped (a space in the token), on purpose. */
|
|
287
|
+
const CARRIES_KEY = 'Carries content:';
|
|
288
|
+
/**
|
|
289
|
+
* One content-declaration item made safe for a single body line: every character
|
|
290
|
+
* {@link firstControlCharacter} would refuse in a reason, plus tab and newline, and the comma that
|
|
291
|
+
* separates items, is written as the text `\u{XXXX}`, so a frontmatter key holding a line break
|
|
292
|
+
* cannot add a line (an `Approver:`, a `Reason:`) to the commit body, and a key holding `, ` cannot
|
|
293
|
+
* read as two items. A backslash is doubled, so a key that literally holds `\u{000A}` cannot read
|
|
294
|
+
* as an escaped character (task-209 review F4).
|
|
295
|
+
*/
|
|
296
|
+
function escapeCarriesItem(item) {
|
|
297
|
+
let escaped = '';
|
|
298
|
+
for (const character of item) {
|
|
299
|
+
const code = character.charCodeAt(0);
|
|
300
|
+
const asCode = code < 0x20 || (code >= 0x7f && code <= 0x9f) || code === 0x2028 || code === 0x2029 || character === ',';
|
|
301
|
+
if (character === '\\')
|
|
302
|
+
escaped += '\\\\';
|
|
303
|
+
else
|
|
304
|
+
escaped += asCode ? `\\u{${code.toString(16).toUpperCase().padStart(4, '0')}}` : character;
|
|
305
|
+
}
|
|
306
|
+
return escaped;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Format a Memory transition commit message: the subject, then — only when an approver, a reason or
|
|
310
|
+
* a content declaration is given — a blank line and the `Approver:` / `Reason:` lines in that order,
|
|
311
|
+
* or the one `Carries content:` line (never both shapes in one message).
|
|
174
312
|
*
|
|
175
313
|
* The reason is emitted in its declared normal form and, when it carries a defect
|
|
176
314
|
* ({@link reasonDefect}), refused rather than written. The CLI boundary
|
|
@@ -180,18 +318,26 @@ function parseApproverTrailerLine(body) {
|
|
|
180
318
|
*
|
|
181
319
|
* @throws `Error` when `ids` is empty: a transition commit always names what it moved.
|
|
182
320
|
* @throws `Error` when `reason` cannot be recorded in the trailer, carrying that defect's message.
|
|
321
|
+
* @throws `Error` when `carries` is non-empty next to an `approver` or a `reason`.
|
|
183
322
|
*/
|
|
184
323
|
function formatMemoryCommitMessage(input) {
|
|
185
324
|
if (input.ids.length === 0) {
|
|
186
325
|
throw new Error('a Memory transition commit must name at least one id');
|
|
187
326
|
}
|
|
188
|
-
const
|
|
189
|
-
if (
|
|
190
|
-
throw new Error(
|
|
327
|
+
const carries = input.carries ?? [];
|
|
328
|
+
if (carries.length > 0 && (input.approver !== undefined || input.reason !== undefined)) {
|
|
329
|
+
throw new Error('a content declaration (carries) is written only on a commit with no Approver: or Reason: body');
|
|
330
|
+
}
|
|
331
|
+
const refusal = input.reason === undefined ? null : reasonRefusalMessage(input.reason);
|
|
332
|
+
if (refusal !== null) {
|
|
333
|
+
throw new Error(refusal);
|
|
191
334
|
}
|
|
192
335
|
const bracket = input.transition ? ` [${input.transition.from} ${ARROW} ${input.transition.to}]` : '';
|
|
193
336
|
const subject = `wf(${input.type}): ${input.op} ${input.ids.join(', ')}${bracket}`;
|
|
194
337
|
const body = [];
|
|
338
|
+
if (carries.length > 0) {
|
|
339
|
+
body.push(`${CARRIES_KEY} ${carries.map(escapeCarriesItem).join(', ')}`);
|
|
340
|
+
}
|
|
195
341
|
if (input.approver) {
|
|
196
342
|
body.push(`Approver: ${input.approver.name} <${input.approver.email}> (${input.approver.role})`);
|
|
197
343
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit-message.js","sourceRoot":"","sources":["../../src/memory/commit-message.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"commit-message.js","sourceRoot":"","sources":["../../src/memory/commit-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/memory/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/memory/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CAIlB"}
|
package/dist/memory/entry.js
CHANGED
|
@@ -21,8 +21,7 @@ const memory_path_1 = require("../storage/memory-path");
|
|
|
21
21
|
*/
|
|
22
22
|
function writeMemoryEntry(root, pattern, values, content, message, options = {}) {
|
|
23
23
|
const path = (0, memory_path_1.resolveConfinedMemoryPath)(root, pattern, values);
|
|
24
|
-
(0, storage_1.
|
|
25
|
-
const sha = (0, storage_1.commitPaths)(root, [path], message, options);
|
|
24
|
+
const sha = (0, storage_1.writeAndCommit)(root, [{ path, content }], message, options);
|
|
26
25
|
return { path, sha };
|
|
27
26
|
}
|
|
28
27
|
//# sourceMappingURL=entry.js.map
|
package/dist/memory/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/memory/entry.ts"],"names":[],"mappings":";;AA0DA,
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/memory/entry.ts"],"names":[],"mappings":";;AA0DA,4CAWC;AAtCD,wCAA4C;AAC5C,wDAAmE;AAUnE;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,OAAe,EACf,MAA8B,EAC9B,OAAe,EACf,OAAe,EACf,UAAyB,EAAE;IAE3B,MAAM,IAAI,GAAG,IAAA,uCAAyB,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -7,6 +7,15 @@
|
|
|
7
7
|
* @throws `Error` when the document has no frontmatter block.
|
|
8
8
|
*/
|
|
9
9
|
export declare function setFrontmatterField(content: string, key: string, value: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* {@link setFrontmatterField} for a value the caller has already serialized as ONE line of YAML — a
|
|
12
|
+
* flow sequence (`["a","b"]`), a JSON-quoted string, a plain token. The same top-level-only match,
|
|
13
|
+
* whole-entry replacement and inline-comment rule apply. `memory add` fills its scaffold through this
|
|
14
|
+
* (task-163, `bug-033`), so the add and the transition verbs edit a frontmatter line the same way.
|
|
15
|
+
*
|
|
16
|
+
* @throws `Error` when the document has no frontmatter block.
|
|
17
|
+
*/
|
|
18
|
+
export declare function setFrontmatterEntry(content: string, key: string, valueYaml: string): string;
|
|
10
19
|
/**
|
|
11
20
|
* Remove top-level `key` together with every line its value spans (rules in the module doc). Blank
|
|
12
21
|
* lines and comments that follow the value belong to the parent mapping and are kept. Returns `content`
|
|
@@ -34,10 +43,13 @@ export declare function verifyFrontmatterEdit(before: string, after: string, exp
|
|
|
34
43
|
* - `declared-fields-only` — the operation owns `status` (plus `rejection_reason` on `memory.reject`)
|
|
35
44
|
* and **nothing else**: no other frontmatter field, and not one byte of the body. This is
|
|
36
45
|
* `memory.approve`, `memory.reject` and `memory.deprecate`.
|
|
37
|
-
* - `carries-content` — the operation is defined as
|
|
38
|
-
*
|
|
39
|
-
* and the
|
|
40
|
-
*
|
|
46
|
+
* - `carries-content` — the operation is defined as carrying the author's content, so the body and
|
|
47
|
+
* the type's other frontmatter fields may legitimately change. This is `memory.submit` (content
|
|
48
|
+
* *and* the state move) and `memory.amend` (task-127, `dl-108`: content and no state move). The
|
|
49
|
+
* asymmetry with the gates is deliberate rather than an oversight: an `approve` that carried a body
|
|
50
|
+
* would attest, under an approver's name, to content no commit subject mentions. `amend` is the
|
|
51
|
+
* approval whose subject says exactly that, and it still may not move the fields other operations
|
|
52
|
+
* own (`amendReservedFields`, `src/core/memory-amend.ts`).
|
|
41
53
|
*/
|
|
42
54
|
export type DocumentScope = 'declared-fields-only' | 'carries-content';
|
|
43
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter-edit.d.ts","sourceRoot":"","sources":["../../src/memory/frontmatter-edit.ts"],"names":[],"mappings":"AAwKA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"frontmatter-edit.d.ts","sourceRoot":"","sources":["../../src/memory/frontmatter-edit.ts"],"names":[],"mappings":"AAwKA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsB3F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAK3E;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,CAOrI;AAkCD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACtD,KAAK,EAAE,aAAa,GACnB,MAAM,EAAE,CAYV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBtF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setFrontmatterField = setFrontmatterField;
|
|
4
|
+
exports.setFrontmatterEntry = setFrontmatterEntry;
|
|
4
5
|
exports.removeFrontmatterField = removeFrontmatterField;
|
|
5
6
|
exports.verifyFrontmatterEdit = verifyFrontmatterEdit;
|
|
6
7
|
exports.verifyDocumentEdit = verifyDocumentEdit;
|
|
@@ -175,8 +176,19 @@ function toYamlScalar(value) {
|
|
|
175
176
|
* @throws `Error` when the document has no frontmatter block.
|
|
176
177
|
*/
|
|
177
178
|
function setFrontmatterField(content, key, value) {
|
|
179
|
+
return setFrontmatterEntry(content, key, toYamlScalar(value));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* {@link setFrontmatterField} for a value the caller has already serialized as ONE line of YAML — a
|
|
183
|
+
* flow sequence (`["a","b"]`), a JSON-quoted string, a plain token. The same top-level-only match,
|
|
184
|
+
* whole-entry replacement and inline-comment rule apply. `memory add` fills its scaffold through this
|
|
185
|
+
* (task-163, `bug-033`), so the add and the transition verbs edit a frontmatter line the same way.
|
|
186
|
+
*
|
|
187
|
+
* @throws `Error` when the document has no frontmatter block.
|
|
188
|
+
*/
|
|
189
|
+
function setFrontmatterEntry(content, key, valueYaml) {
|
|
178
190
|
const { before, lines, after } = locateFrontmatter(content);
|
|
179
|
-
const entry = `${key}: ${
|
|
191
|
+
const entry = `${key}: ${valueYaml}`;
|
|
180
192
|
const index = findKeyLine(lines, key);
|
|
181
193
|
if (index === -1) {
|
|
182
194
|
// After the last NON-BLANK line, not simply last: trailing blank lines can belong to a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter-edit.js","sourceRoot":"","sources":["../../src/memory/frontmatter-edit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontmatter-edit.js","sourceRoot":"","sources":["../../src/memory/frontmatter-edit.ts"],"names":[],"mappings":"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"}
|