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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/storage/commit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/storage/commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,9 @@ export declare function documentExists(absolutePath: string): boolean;
|
|
|
5
5
|
/**
|
|
6
6
|
* Write `content` to `absolutePath`, creating any missing parent directories. No other file or
|
|
7
7
|
* directory is created or touched — the write is exactly this one path, nothing else.
|
|
8
|
+
*
|
|
9
|
+
* A mutating operation writes through `writeAndCommit` (`./commit`, task-210), not through this
|
|
10
|
+
* function: during a dry run this throws instead of writing (`./dry-run`).
|
|
8
11
|
*/
|
|
9
12
|
export declare function writeDocument(absolutePath: string, content: string): void;
|
|
10
13
|
/**
|
|
@@ -19,6 +22,9 @@ export declare function writeDocument(absolutePath: string, content: string): vo
|
|
|
19
22
|
* exactly as it is for a write (`commitPaths`, ./commit) — this module only owns the bytes at an
|
|
20
23
|
* already-resolved absolute path.
|
|
21
24
|
*
|
|
25
|
+
* During a dry run this throws instead of deleting (task-210, `./dry-run`); a mutating operation deletes
|
|
26
|
+
* through `writeAndCommit` (`./commit`).
|
|
27
|
+
*
|
|
22
28
|
* @throws Node's `ENOENT` when nothing is there. Callers resolve the target before calling (P3.3
|
|
23
29
|
* resolves a directive NAME to a file that `loadDirectives` just read), so a missing path is a
|
|
24
30
|
* programmer error rather than a domain outcome to swallow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":"AAaA,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIzE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAGzD"}
|
package/dist/storage/document.js
CHANGED
|
@@ -8,12 +8,13 @@ exports.removeDocument = removeDocument;
|
|
|
8
8
|
* Plain document read/write/remove (task-003-git-backed-sot, REQ-SYS-01). Every Memory/DNA/Directives/
|
|
9
9
|
* Workflow mutation is a regular file write with no side-channel state — no `.wingfoil/state/`
|
|
10
10
|
* index (REQ-SYS-03), no cache file that isn't itself just a copy of what's already on disk.
|
|
11
|
-
* `git add`/`git commit` of the result is the caller's job (dev-loop's commit conventions,
|
|
11
|
+
* `git add`/`git commit` of the result is the caller's job (dev-loop's commit conventions, AGENTS.md
|
|
12
12
|
* §5.1) — this module only owns the bytes at an already-resolved absolute path (see
|
|
13
13
|
* `./memory-path`).
|
|
14
14
|
*/
|
|
15
15
|
const fs_1 = require("fs");
|
|
16
16
|
const path_1 = require("path");
|
|
17
|
+
const dry_run_1 = require("./dry-run");
|
|
17
18
|
/** Read a document's full contents as UTF-8 text. */
|
|
18
19
|
function readDocument(absolutePath) {
|
|
19
20
|
return (0, fs_1.readFileSync)(absolutePath, 'utf-8');
|
|
@@ -25,8 +26,12 @@ function documentExists(absolutePath) {
|
|
|
25
26
|
/**
|
|
26
27
|
* Write `content` to `absolutePath`, creating any missing parent directories. No other file or
|
|
27
28
|
* directory is created or touched — the write is exactly this one path, nothing else.
|
|
29
|
+
*
|
|
30
|
+
* A mutating operation writes through `writeAndCommit` (`./commit`, task-210), not through this
|
|
31
|
+
* function: during a dry run this throws instead of writing (`./dry-run`).
|
|
28
32
|
*/
|
|
29
33
|
function writeDocument(absolutePath, content) {
|
|
34
|
+
(0, dry_run_1.refuseDuringDryRun)('writeDocument');
|
|
30
35
|
(0, fs_1.mkdirSync)((0, path_1.dirname)(absolutePath), { recursive: true });
|
|
31
36
|
(0, fs_1.writeFileSync)(absolutePath, content, 'utf-8');
|
|
32
37
|
}
|
|
@@ -42,11 +47,15 @@ function writeDocument(absolutePath, content) {
|
|
|
42
47
|
* exactly as it is for a write (`commitPaths`, ./commit) — this module only owns the bytes at an
|
|
43
48
|
* already-resolved absolute path.
|
|
44
49
|
*
|
|
50
|
+
* During a dry run this throws instead of deleting (task-210, `./dry-run`); a mutating operation deletes
|
|
51
|
+
* through `writeAndCommit` (`./commit`).
|
|
52
|
+
*
|
|
45
53
|
* @throws Node's `ENOENT` when nothing is there. Callers resolve the target before calling (P3.3
|
|
46
54
|
* resolves a directive NAME to a file that `loadDirectives` just read), so a missing path is a
|
|
47
55
|
* programmer error rather than a domain outcome to swallow.
|
|
48
56
|
*/
|
|
49
57
|
function removeDocument(absolutePath) {
|
|
58
|
+
(0, dry_run_1.refuseDuringDryRun)('removeDocument');
|
|
50
59
|
(0, fs_1.unlinkSync)(absolutePath);
|
|
51
60
|
}
|
|
52
61
|
//# sourceMappingURL=document.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/storage/document.ts"],"names":[],"mappings":";;AAcA,oCAEC;AAGD,wCAEC;AASD,sCAIC;AAqBD,wCAGC;AA1DD;;;;;;;GAOG;AACH,2BAAoF;AACpF,+BAA+B;AAE/B,uCAA+C;AAE/C,qDAAqD;AACrD,SAAgB,YAAY,CAAC,YAAoB;IAC/C,OAAO,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,mDAAmD;AACnD,SAAgB,cAAc,CAAC,YAAoB;IACjD,OAAO,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,YAAoB,EAAE,OAAe;IACjE,IAAA,4BAAkB,EAAC,eAAe,CAAC,CAAC;IACpC,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAA,kBAAa,EAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,cAAc,CAAC,YAAoB;IACjD,IAAA,4BAAkB,EAAC,gBAAgB,CAAC,CAAC;IACrC,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The commit a dry run would have made. `subject` and `message` are what the commit would record
|
|
3
|
+
* (`message` with the `WingFoil-Version:` trailer paragraph the primitive appends, task-192); `paths` are
|
|
4
|
+
* root-relative POSIX paths, sorted; `diff` is the unified diff of those paths from `HEAD` to the blobs
|
|
5
|
+
* the commit would record ({@link planDiff}).
|
|
6
|
+
*/
|
|
7
|
+
export interface DryRunPlan {
|
|
8
|
+
readonly dryRun: true;
|
|
9
|
+
readonly subject: string;
|
|
10
|
+
readonly message: string;
|
|
11
|
+
readonly paths: readonly string[];
|
|
12
|
+
readonly diff: string;
|
|
13
|
+
}
|
|
14
|
+
/** Whether the calling code runs inside {@link captureDryRun}. */
|
|
15
|
+
export declare function isDryRunActive(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Record `plan`, and the success `warnings` the operation collected before its commit point, as the dry
|
|
18
|
+
* run's outcome, and end the operation by throwing. Only the first plan is kept. The throw is a control
|
|
19
|
+
* transfer, not a failure: {@link captureDryRun} reads the store whatever the operation did with the
|
|
20
|
+
* error — rethrew it, or folded it into a failed result.
|
|
21
|
+
*/
|
|
22
|
+
export declare function stopWithPlan(plan: DryRunPlan, warnings?: readonly string[]): never;
|
|
23
|
+
/**
|
|
24
|
+
* Throw when a raw write primitive (`writeDocument`, `removeDocument`, `commitPaths`) is called during a
|
|
25
|
+
* dry run. Every mutating operation writes through `writeAndCommit`, which plans instead of writing; a
|
|
26
|
+
* call that reaches a raw primitive is a writer that bypassed it, and must fail rather than write.
|
|
27
|
+
*/
|
|
28
|
+
export declare function refuseDuringDryRun(primitive: string): void;
|
|
29
|
+
/** What {@link captureDryRun} observed: the plan and its warnings, or else what `run` returned or threw. */
|
|
30
|
+
export type DryRunOutcome<T> = {
|
|
31
|
+
readonly kind: 'planned';
|
|
32
|
+
readonly plan: DryRunPlan;
|
|
33
|
+
readonly warnings: readonly string[];
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: 'returned';
|
|
36
|
+
readonly value: T;
|
|
37
|
+
} | {
|
|
38
|
+
readonly kind: 'threw';
|
|
39
|
+
readonly error: unknown;
|
|
40
|
+
};
|
|
41
|
+
/** Run `run` as a dry run and report how it ended. A recorded plan wins over whatever `run` did after it. */
|
|
42
|
+
export declare function captureDryRun<T>(run: () => Promise<T>): Promise<DryRunOutcome<T>>;
|
|
43
|
+
/**
|
|
44
|
+
* The unified diff the commit of `content` at `path` would carry, from `HEAD` (`content` `null` = the
|
|
45
|
+
* path is deleted): `--- a/<path>` / `+++ b/<path>` headers (`/dev/null` for an absent side), then the
|
|
46
|
+
* hunks. Empty when the commit would record the blob `HEAD` already holds.
|
|
47
|
+
*
|
|
48
|
+
* **The blobs are the commit's.** The new side is hashed by `git hash-object --path=<path>` in the
|
|
49
|
+
* repository, under the caller's environment, so the clean conversion the commit applies — `core.autocrlf`
|
|
50
|
+
* from any configuration level, `.gitattributes` `eol`/`text`/`filter` — is applied here too: a CRLF
|
|
51
|
+
* document that normalizes to a one-line change shows that one line, as `git show` does. The object is
|
|
52
|
+
* written to a temporary object directory outside the repository (`GIT_OBJECT_DIRECTORY`, with the
|
|
53
|
+
* repository's own objects as an alternate), so the repository gains no object.
|
|
54
|
+
*
|
|
55
|
+
* **The hunks are git's defaults.** The blob-to-blob diff runs with every hunk-shaping key pinned by `-c`
|
|
56
|
+
* ({@link DIFF_CONFIG_PINS}), over every configuration level, and colour, external diff drivers and
|
|
57
|
+
* textconv off: they are what `git show` prints for the real commit under git's default diff settings, on
|
|
58
|
+
* any machine (REQ-SYS-07). The configuration itself is not switched off (task-210 review F7): the
|
|
59
|
+
* operator's `safe.directory`, which lets git open a repository another user owns, must keep applying,
|
|
60
|
+
* or a dry run would fail where the real run commits.
|
|
61
|
+
*
|
|
62
|
+
* @throws {@link StorageError} `E_GIT_READ_FAILED` when git cannot produce the diff.
|
|
63
|
+
*/
|
|
64
|
+
export declare function planDiff(root: string, path: string, content: string | null, env?: NodeJS.ProcessEnv): string;
|
|
65
|
+
//# sourceMappingURL=dry-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../src/storage/dry-run.ts"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAkBD,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,KAAK,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED,4GAA4G;AAC5G,MAAM,MAAM,aAAa,CAAC,CAAC,IACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAExD,6GAA6G;AAC7G,wBAAsB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CASvF;AAkCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CA2BzH"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDryRunActive = isDryRunActive;
|
|
4
|
+
exports.stopWithPlan = stopWithPlan;
|
|
5
|
+
exports.refuseDuringDryRun = refuseDuringDryRun;
|
|
6
|
+
exports.captureDryRun = captureDryRun;
|
|
7
|
+
exports.planDiff = planDiff;
|
|
8
|
+
/**
|
|
9
|
+
* The dry-run context of the commit primitive (task-210, `dl-106` W2, `spec-008-cli-grammar` §2).
|
|
10
|
+
*
|
|
11
|
+
* A dry run executes an operation exactly as the real run would — every read, every guard, every
|
|
12
|
+
* refusal — up to the moment it would write: there, {@link writeAndCommit} (`./commit`) records the
|
|
13
|
+
* commit it would make as a {@link DryRunPlan} and stops the operation, so nothing reaches the working
|
|
14
|
+
* tree, the index or a ref. The mode travels in an `AsyncLocalStorage` rather than in each operation's
|
|
15
|
+
* params, which is what makes it **inherited**: an operation never sees the flag, so a mutating
|
|
16
|
+
* operation added later is dry-runnable by construction as long as it writes through `writeAndCommit`.
|
|
17
|
+
* One that writes any other way is caught loudly: the raw primitives ({@link refuseDuringDryRun}) throw
|
|
18
|
+
* while a dry run is active instead of writing.
|
|
19
|
+
*
|
|
20
|
+
* A dry run stops at the operation's **first** commit. Every registered operation makes one, except
|
|
21
|
+
* `memory approve` when the `supersedes:` trigger fires a second, `finalize` commit (task-162), whose
|
|
22
|
+
* message names the first commit's sha: that second commit is not planned.
|
|
23
|
+
*
|
|
24
|
+
* The success warnings an operation has collected before its commit point reach the dry run's result
|
|
25
|
+
* (task-210 review, F4): the operation hands them to `writeAndCommit` (`CommitOptions.warnings`), which
|
|
26
|
+
* records them beside the plan.
|
|
27
|
+
*/
|
|
28
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
29
|
+
const node_child_process_1 = require("node:child_process");
|
|
30
|
+
const node_fs_1 = require("node:fs");
|
|
31
|
+
const node_os_1 = require("node:os");
|
|
32
|
+
const node_path_1 = require("node:path");
|
|
33
|
+
const errors_1 = require("./errors");
|
|
34
|
+
const context = new node_async_hooks_1.AsyncLocalStorage();
|
|
35
|
+
/** Thrown by {@link stopWithPlan} to end the operation where it would have committed. */
|
|
36
|
+
class DryRunStop extends Error {
|
|
37
|
+
constructor() {
|
|
38
|
+
super('dry run: stopped where the operation would have committed');
|
|
39
|
+
this.name = 'DryRunStop';
|
|
40
|
+
Object.setPrototypeOf(this, DryRunStop.prototype);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Whether the calling code runs inside {@link captureDryRun}. */
|
|
44
|
+
function isDryRunActive() {
|
|
45
|
+
return context.getStore() !== undefined;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Record `plan`, and the success `warnings` the operation collected before its commit point, as the dry
|
|
49
|
+
* run's outcome, and end the operation by throwing. Only the first plan is kept. The throw is a control
|
|
50
|
+
* transfer, not a failure: {@link captureDryRun} reads the store whatever the operation did with the
|
|
51
|
+
* error — rethrew it, or folded it into a failed result.
|
|
52
|
+
*/
|
|
53
|
+
function stopWithPlan(plan, warnings = []) {
|
|
54
|
+
const store = context.getStore();
|
|
55
|
+
if (store === undefined)
|
|
56
|
+
throw new Error('stopWithPlan called outside a dry run');
|
|
57
|
+
store.recorded ??= { plan, warnings };
|
|
58
|
+
throw new DryRunStop();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Throw when a raw write primitive (`writeDocument`, `removeDocument`, `commitPaths`) is called during a
|
|
62
|
+
* dry run. Every mutating operation writes through `writeAndCommit`, which plans instead of writing; a
|
|
63
|
+
* call that reaches a raw primitive is a writer that bypassed it, and must fail rather than write.
|
|
64
|
+
*/
|
|
65
|
+
function refuseDuringDryRun(primitive) {
|
|
66
|
+
if (isDryRunActive()) {
|
|
67
|
+
throw new Error(`dry run: ${primitive} was called directly; a mutating operation must write through writeAndCommit`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** Run `run` as a dry run and report how it ended. A recorded plan wins over whatever `run` did after it. */
|
|
71
|
+
async function captureDryRun(run) {
|
|
72
|
+
const store = {};
|
|
73
|
+
let outcome;
|
|
74
|
+
try {
|
|
75
|
+
outcome = { kind: 'returned', value: await context.run(store, run) };
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
outcome = { kind: 'threw', error };
|
|
79
|
+
}
|
|
80
|
+
return store.recorded !== undefined ? { kind: 'planned', ...store.recorded } : outcome;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The `-c` pins of the diff step: every configuration key that changes which hunks git prints, set to
|
|
84
|
+
* git's default, over whatever any configuration file says (`-c` wins over system, global and repository
|
|
85
|
+
* configuration). Keys that shape only what {@link planDiff} replaces or drops — the file headers
|
|
86
|
+
* (`diff.noprefix`, `diff.mnemonicPrefix`, `diff.relative`), colour — need no pin; neither does a
|
|
87
|
+
* `diff.<driver>.xfuncname`, since a blob-to-blob diff has no path for `.gitattributes` to select one by.
|
|
88
|
+
*/
|
|
89
|
+
const DIFF_CONFIG_PINS = [
|
|
90
|
+
'diff.context=3',
|
|
91
|
+
'diff.interHunkContext=0',
|
|
92
|
+
'diff.indentHeuristic=true',
|
|
93
|
+
'diff.suppressBlankEmpty=false',
|
|
94
|
+
'diff.algorithm=myers',
|
|
95
|
+
];
|
|
96
|
+
/** One git run for {@link planDiff}; a spawn failure or an exit outside `accepted` is `E_GIT_READ_FAILED`. */
|
|
97
|
+
function planGit(root, path, args, env, accepted, input) {
|
|
98
|
+
const run = (0, node_child_process_1.spawnSync)('git', ['-C', root, ...args], { encoding: 'utf-8', env, input, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
99
|
+
if (run.error !== undefined || !accepted.includes(run.status)) {
|
|
100
|
+
const detail = run.error !== undefined ? run.error.message : run.stderr.trim();
|
|
101
|
+
throw new errors_1.StorageError(errors_1.E_GIT_READ_FAILED, `git for the dry run of ${path} failed: ${detail}`);
|
|
102
|
+
}
|
|
103
|
+
return { status: run.status, stdout: run.stdout };
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The unified diff the commit of `content` at `path` would carry, from `HEAD` (`content` `null` = the
|
|
107
|
+
* path is deleted): `--- a/<path>` / `+++ b/<path>` headers (`/dev/null` for an absent side), then the
|
|
108
|
+
* hunks. Empty when the commit would record the blob `HEAD` already holds.
|
|
109
|
+
*
|
|
110
|
+
* **The blobs are the commit's.** The new side is hashed by `git hash-object --path=<path>` in the
|
|
111
|
+
* repository, under the caller's environment, so the clean conversion the commit applies — `core.autocrlf`
|
|
112
|
+
* from any configuration level, `.gitattributes` `eol`/`text`/`filter` — is applied here too: a CRLF
|
|
113
|
+
* document that normalizes to a one-line change shows that one line, as `git show` does. The object is
|
|
114
|
+
* written to a temporary object directory outside the repository (`GIT_OBJECT_DIRECTORY`, with the
|
|
115
|
+
* repository's own objects as an alternate), so the repository gains no object.
|
|
116
|
+
*
|
|
117
|
+
* **The hunks are git's defaults.** The blob-to-blob diff runs with every hunk-shaping key pinned by `-c`
|
|
118
|
+
* ({@link DIFF_CONFIG_PINS}), over every configuration level, and colour, external diff drivers and
|
|
119
|
+
* textconv off: they are what `git show` prints for the real commit under git's default diff settings, on
|
|
120
|
+
* any machine (REQ-SYS-07). The configuration itself is not switched off (task-210 review F7): the
|
|
121
|
+
* operator's `safe.directory`, which lets git open a repository another user owns, must keep applying,
|
|
122
|
+
* or a dry run would fail where the real run commits.
|
|
123
|
+
*
|
|
124
|
+
* @throws {@link StorageError} `E_GIT_READ_FAILED` when git cannot produce the diff.
|
|
125
|
+
*/
|
|
126
|
+
function planDiff(root, path, content, env = process.env) {
|
|
127
|
+
const scratch = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'wingfoil-dry-run-'));
|
|
128
|
+
try {
|
|
129
|
+
const objects = (0, node_path_1.join)(scratch, 'objects');
|
|
130
|
+
(0, node_fs_1.mkdirSync)(objects);
|
|
131
|
+
const repositoryObjects = (0, node_path_1.resolve)(root, planGit(root, path, ['rev-parse', '--git-path', 'objects'], env, [0]).stdout.trim());
|
|
132
|
+
const planned = { ...env, GIT_OBJECT_DIRECTORY: objects, GIT_ALTERNATE_OBJECT_DIRECTORIES: repositoryObjects };
|
|
133
|
+
// `--verify --quiet` exits 1 for a path `HEAD` does not hold, 128 when there is no `HEAD` at all.
|
|
134
|
+
const head = planGit(root, path, ['rev-parse', '--verify', '--quiet', `HEAD:${path}`], env, [0, 1, 128]);
|
|
135
|
+
const before = head.status === 0 ? head.stdout.trim() : null;
|
|
136
|
+
const after = content === null ? null : planGit(root, path, ['hash-object', '-w', `--path=${path}`, '--stdin'], planned, [0], content).stdout.trim();
|
|
137
|
+
if (before === after)
|
|
138
|
+
return '';
|
|
139
|
+
const empty = planGit(root, path, ['hash-object', '-w', '--stdin'], planned, [0], '').stdout.trim();
|
|
140
|
+
const diff = planGit(root, path, [...DIFF_CONFIG_PINS.flatMap((pin) => ['-c', pin]), 'diff', '--no-color', '--no-ext-diff', '--no-textconv', before ?? empty, after ?? empty], planned, [0]).stdout;
|
|
141
|
+
const lines = diff.split('\n');
|
|
142
|
+
const firstHunk = lines.findIndex((line) => line.startsWith('@@'));
|
|
143
|
+
const hunks = firstHunk === -1 ? [] : lines.slice(firstHunk);
|
|
144
|
+
return [before === null ? '--- /dev/null' : `--- a/${path}`, after === null ? '+++ /dev/null' : `+++ b/${path}`, ...hunks].join('\n').replace(/\n*$/, '\n');
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
(0, node_fs_1.rmSync)(scratch, { recursive: true, force: true });
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=dry-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../src/storage/dry-run.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/errors.d.ts
CHANGED
|
@@ -23,6 +23,12 @@ export declare const E_MISSING_PATH_VALUE = "E_MISSING_PATH_VALUE";
|
|
|
23
23
|
* project root — e.g. a crafted `id`/value containing `../` traversal (REQ-SEC-06 storage confinement).
|
|
24
24
|
*/
|
|
25
25
|
export declare const E_PATH_ESCAPES_ROOT = "E_PATH_ESCAPES_ROOT";
|
|
26
|
+
/**
|
|
27
|
+
* Raised by {@link resolveConfinedMemoryPath} when a resolved Memory-entry path stays inside the project root
|
|
28
|
+
* but leaves its type's folder — the static prefix of the type's `path` pattern (`pathPatternFolder`;
|
|
29
|
+
* task-281, `bug-325`). Checked after the root confinement, so a root escape keeps {@link E_PATH_ESCAPES_ROOT}.
|
|
30
|
+
*/
|
|
31
|
+
export declare const E_PATH_OUTSIDE_TYPE_FOLDER = "E_PATH_OUTSIDE_TYPE_FOLDER";
|
|
26
32
|
/**
|
|
27
33
|
* Raised by {@link resolveConfinedMemoryPath} when the target's **own name** is a symbolic link
|
|
28
34
|
* (task-106, `bug-120-a-symlinked-document-leaf-is-followed-by-the-write`).
|
|
@@ -33,4 +39,24 @@ export declare const E_PATH_ESCAPES_ROOT = "E_PATH_ESCAPES_ROOT";
|
|
|
33
39
|
* `targetIsSymlink` (`./confinement.ts`).
|
|
34
40
|
*/
|
|
35
41
|
export declare const E_TARGET_IS_SYMLINK = "E_TARGET_IS_SYMLINK";
|
|
42
|
+
/**
|
|
43
|
+
* Raised when a read-only `git` invocation whose answer an operation depends on fails — a repository
|
|
44
|
+
* that cannot be read, or output larger than the read allows (task-128: `memory add`'s id counter). A
|
|
45
|
+
* failed read must not pass for an empty answer: a counter that saw nothing would reissue `1`.
|
|
46
|
+
*/
|
|
47
|
+
export declare const E_GIT_READ_FAILED = "E_GIT_READ_FAILED";
|
|
48
|
+
/**
|
|
49
|
+
* Raised by `readPathsAtRev` (`./commit.ts`, task-137 review) for a revision that would change the
|
|
50
|
+
* batch request itself: a newline or carriage return ends the request line early, so the answers shift
|
|
51
|
+
* onto the wrong paths; a `:` changes which path is read; a NUL cannot travel at all.
|
|
52
|
+
*/
|
|
53
|
+
export declare const E_INVALID_REVISION = "E_INVALID_REVISION";
|
|
54
|
+
/**
|
|
55
|
+
* Raised by `writeAndCommit` (`./commit.ts`, task-210, `bug-217`) when git refuses or fails the commit
|
|
56
|
+
* of a write — a refusing hook, a full disk, an author date git cannot parse. Raised only after the
|
|
57
|
+
* primitive has put the working tree and the index of every path it wrote back as they were, so the
|
|
58
|
+
* message says that nothing was committed and nothing is left behind. It names the paths repository-
|
|
59
|
+
* relative and carries git's own explanation with the project root removed (the `bug-251` class).
|
|
60
|
+
*/
|
|
61
|
+
export declare const E_COMMIT_FAILED = "E_COMMIT_FAILED";
|
|
36
62
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAO1C;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAO1C;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
|
package/dist/storage/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.E_TARGET_IS_SYMLINK = exports.E_PATH_ESCAPES_ROOT = exports.E_MISSING_PATH_VALUE = exports.E_NOT_AT_GIT_ROOT = exports.E_NO_GIT_ROOT = exports.StorageError = void 0;
|
|
3
|
+
exports.E_COMMIT_FAILED = exports.E_INVALID_REVISION = exports.E_GIT_READ_FAILED = exports.E_TARGET_IS_SYMLINK = exports.E_PATH_OUTSIDE_TYPE_FOLDER = exports.E_PATH_ESCAPES_ROOT = exports.E_MISSING_PATH_VALUE = exports.E_NOT_AT_GIT_ROOT = exports.E_NO_GIT_ROOT = exports.StorageError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Shared storage-layer error type (task-003-git-backed-sot, REQ-SYS-01, spec-011-storage-layout).
|
|
6
6
|
*
|
|
@@ -33,6 +33,12 @@ exports.E_MISSING_PATH_VALUE = 'E_MISSING_PATH_VALUE';
|
|
|
33
33
|
* project root — e.g. a crafted `id`/value containing `../` traversal (REQ-SEC-06 storage confinement).
|
|
34
34
|
*/
|
|
35
35
|
exports.E_PATH_ESCAPES_ROOT = 'E_PATH_ESCAPES_ROOT';
|
|
36
|
+
/**
|
|
37
|
+
* Raised by {@link resolveConfinedMemoryPath} when a resolved Memory-entry path stays inside the project root
|
|
38
|
+
* but leaves its type's folder — the static prefix of the type's `path` pattern (`pathPatternFolder`;
|
|
39
|
+
* task-281, `bug-325`). Checked after the root confinement, so a root escape keeps {@link E_PATH_ESCAPES_ROOT}.
|
|
40
|
+
*/
|
|
41
|
+
exports.E_PATH_OUTSIDE_TYPE_FOLDER = 'E_PATH_OUTSIDE_TYPE_FOLDER';
|
|
36
42
|
/**
|
|
37
43
|
* Raised by {@link resolveConfinedMemoryPath} when the target's **own name** is a symbolic link
|
|
38
44
|
* (task-106, `bug-120-a-symlinked-document-leaf-is-followed-by-the-write`).
|
|
@@ -43,4 +49,24 @@ exports.E_PATH_ESCAPES_ROOT = 'E_PATH_ESCAPES_ROOT';
|
|
|
43
49
|
* `targetIsSymlink` (`./confinement.ts`).
|
|
44
50
|
*/
|
|
45
51
|
exports.E_TARGET_IS_SYMLINK = 'E_TARGET_IS_SYMLINK';
|
|
52
|
+
/**
|
|
53
|
+
* Raised when a read-only `git` invocation whose answer an operation depends on fails — a repository
|
|
54
|
+
* that cannot be read, or output larger than the read allows (task-128: `memory add`'s id counter). A
|
|
55
|
+
* failed read must not pass for an empty answer: a counter that saw nothing would reissue `1`.
|
|
56
|
+
*/
|
|
57
|
+
exports.E_GIT_READ_FAILED = 'E_GIT_READ_FAILED';
|
|
58
|
+
/**
|
|
59
|
+
* Raised by `readPathsAtRev` (`./commit.ts`, task-137 review) for a revision that would change the
|
|
60
|
+
* batch request itself: a newline or carriage return ends the request line early, so the answers shift
|
|
61
|
+
* onto the wrong paths; a `:` changes which path is read; a NUL cannot travel at all.
|
|
62
|
+
*/
|
|
63
|
+
exports.E_INVALID_REVISION = 'E_INVALID_REVISION';
|
|
64
|
+
/**
|
|
65
|
+
* Raised by `writeAndCommit` (`./commit.ts`, task-210, `bug-217`) when git refuses or fails the commit
|
|
66
|
+
* of a write — a refusing hook, a full disk, an author date git cannot parse. Raised only after the
|
|
67
|
+
* primitive has put the working tree and the index of every path it wrote back as they were, so the
|
|
68
|
+
* message says that nothing was committed and nothing is left behind. It names the paths repository-
|
|
69
|
+
* relative and carries git's own explanation with the project root removed (the `bug-251` class).
|
|
70
|
+
*/
|
|
71
|
+
exports.E_COMMIT_FAILED = 'E_COMMIT_FAILED';
|
|
46
72
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,sFAAsF;QACtF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAVD,oCAUC;AAED,8FAA8F;AACjF,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,4FAA4F;AAC/E,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;GAGG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;;;;;GAQG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,sFAAsF;QACtF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAVD,oCAUC;AAED,8FAA8F;AACjF,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,4FAA4F;AAC/E,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;GAGG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;GAIG;AACU,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAEvE;;;;;;;;GAQG;AACU,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD;;;;;;GAMG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Frontmatter extraction (task-003-git-backed-sot). Memory element state is derived from each
|
|
3
|
-
* document's frontmatter, not any external index (
|
|
3
|
+
* document's frontmatter, not any external index (AGENTS.md §5, REQ-STATE-01/-02): this is the
|
|
4
4
|
* shared primitive for reading it, as raw YAML text. Parsing that text against a type's schema is
|
|
5
5
|
* the validation module's job (spec-009-validation-strategy, task-002), not this module's — keeping
|
|
6
6
|
* the two concerns separate lets the storage layer stay YAML-schema-agnostic.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Frontmatter extraction (task-003-git-backed-sot). Memory element state is derived from each
|
|
4
|
-
* document's frontmatter, not any external index (
|
|
4
|
+
* document's frontmatter, not any external index (AGENTS.md §5, REQ-STATE-01/-02): this is the
|
|
5
5
|
* shared primitive for reading it, as raw YAML text. Parsing that text against a type's schema is
|
|
6
6
|
* the validation module's job (spec-009-validation-strategy, task-002), not this module's — keeping
|
|
7
7
|
* the two concerns separate lets the storage layer stay YAML-schema-agnostic.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Large enough for any answer a Memory read asks of git — a whole tree's path list, a full history
|
|
3
|
+
* walk; an answer past it fails loudly ({@link runGitRead}), it is never truncated.
|
|
4
|
+
*/
|
|
5
|
+
export declare const GIT_READ_MAX_BUFFER: number;
|
|
6
|
+
/** Options for {@link runGitRead}. */
|
|
7
|
+
export interface GitReadOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The exit statuses that are answers rather than failures (default `[0]`). A caller that lists a
|
|
10
|
+
* non-zero status interprets it itself — e.g. `128` from `git show <sha>:<path>` for a path that
|
|
11
|
+
* commit does not hold.
|
|
12
|
+
*/
|
|
13
|
+
readonly accepted?: readonly number[];
|
|
14
|
+
/** Bytes written to the child's stdin (e.g. `git cat-file --batch` requests); stdin is closed otherwise. */
|
|
15
|
+
readonly input?: string;
|
|
16
|
+
/** Additional environment, merged over `process.env`. */
|
|
17
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
18
|
+
}
|
|
19
|
+
/** What {@link runGitRead} returns: the exit status (one of `accepted`) and both output streams. */
|
|
20
|
+
export interface GitReadResult<Out extends string | Buffer> {
|
|
21
|
+
readonly status: number;
|
|
22
|
+
readonly stdout: Out;
|
|
23
|
+
/** git's own diagnostics, captured — the caller decides whether they mean anything. */
|
|
24
|
+
readonly stderr: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Run `git -C <root> <args>` for its answer, with stdout decoded as UTF-8.
|
|
28
|
+
*
|
|
29
|
+
* @param root - The repository to read.
|
|
30
|
+
* @param args - git's arguments, passed verbatim (never through a shell).
|
|
31
|
+
* @param options - {@link GitReadOptions}.
|
|
32
|
+
* @returns The exit status, stdout and the captured stderr.
|
|
33
|
+
* @throws {@link StorageError} `E_GIT_READ_FAILED` — carrying git's stderr, or the spawn error — when
|
|
34
|
+
* git cannot be spawned, its output exceeds {@link GIT_READ_MAX_BUFFER}, it is killed, or it exits
|
|
35
|
+
* with a status outside `accepted`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function runGitRead(root: string, args: readonly string[], options?: GitReadOptions): GitReadResult<string>;
|
|
38
|
+
/**
|
|
39
|
+
* {@link runGitRead} for an answer that is bytes, not text — `git cat-file --batch`, whose object
|
|
40
|
+
* sizes are byte counts and whose tree objects are binary.
|
|
41
|
+
*
|
|
42
|
+
* @throws {@link StorageError} `E_GIT_READ_FAILED` on the same conditions as {@link runGitRead}.
|
|
43
|
+
*/
|
|
44
|
+
export declare function runGitReadBytes(root: string, args: readonly string[], options?: GitReadOptions): GitReadResult<Buffer>;
|
|
45
|
+
/**
|
|
46
|
+
* `name`, checked to be a full commit name, as a reader of `git log --format=%H` output takes it
|
|
47
|
+
* (`task-268`, `bug-291`).
|
|
48
|
+
*
|
|
49
|
+
* Every `git log` reader passes `--no-show-signature`, so a `log.showSignature` configuration cannot
|
|
50
|
+
* print signature text ("No signature", "Good … signature for …") among the formatted lines. This is
|
|
51
|
+
* the second half: whatever still arrives where a name was expected is refused, never used — a
|
|
52
|
+
* garbled name used as a sha silently drops the commit it should have named (a phase record left
|
|
53
|
+
* uncounted) or surfaces as an unrelated error ("creation commit No signature is not present …").
|
|
54
|
+
* `agent show` makes the same check on its own reader (`task-220` review F1).
|
|
55
|
+
*
|
|
56
|
+
* @param name - The text the reader parsed as a commit name.
|
|
57
|
+
* @param command - The git command that printed it, for the message (e.g. `git log --follow`).
|
|
58
|
+
* @returns `name`, unchanged.
|
|
59
|
+
* @throws {@link StorageError} `E_GIT_READ_FAILED` — `IO` at the core boundary — when `name` is not a
|
|
60
|
+
* full commit name: `<command> printed "<name>" where a commit name was expected`, `name` quoted as a
|
|
61
|
+
* JSON string so a line break in it stays visible.
|
|
62
|
+
*/
|
|
63
|
+
export declare function requireCommitName(name: string, command: string): string;
|
|
64
|
+
//# sourceMappingURL=git-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-read.d.ts","sourceRoot":"","sources":["../../src/storage/git-read.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AAErD,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,4GAA4G;IAC5G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,oGAAoG;AACpG,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,CAOrH;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,CAQ1H;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKvE"}
|