@lumenflow/core 2.20.0 → 2.21.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/dist/active-wu-detector.d.ts +2 -2
- package/dist/active-wu-detector.d.ts.map +1 -1
- package/dist/active-wu-detector.js +1 -1
- package/dist/active-wu-detector.js.map +1 -1
- package/dist/adapters/context-adapters.d.ts +10 -0
- package/dist/adapters/context-adapters.d.ts.map +1 -1
- package/dist/adapters/context-adapters.js +15 -3
- package/dist/adapters/context-adapters.js.map +1 -1
- package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
- package/dist/adapters/filesystem-metrics.adapter.js +13 -7
- package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +1 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.js +1 -1
- package/dist/agent-patterns-registry.d.ts +2 -2
- package/dist/agent-patterns-registry.js +5 -5
- package/dist/agent-patterns-registry.js.map +1 -1
- package/dist/arg-parser.d.ts.map +1 -1
- package/dist/arg-parser.js +2 -0
- package/dist/arg-parser.js.map +1 -1
- package/dist/backlog-editor.d.ts +21 -17
- package/dist/backlog-editor.d.ts.map +1 -1
- package/dist/backlog-editor.js +6 -29
- package/dist/backlog-editor.js.map +1 -1
- package/dist/backlog-generator.d.ts +14 -8
- package/dist/backlog-generator.d.ts.map +1 -1
- package/dist/backlog-generator.js +53 -20
- package/dist/backlog-generator.js.map +1 -1
- package/dist/backlog-parser.d.ts +2 -2
- package/dist/backlog-parser.d.ts.map +1 -1
- package/dist/backlog-parser.js.map +1 -1
- package/dist/backlog-sync-validator.d.ts +19 -10
- package/dist/backlog-sync-validator.d.ts.map +1 -1
- package/dist/backlog-sync-validator.js +41 -16
- package/dist/backlog-sync-validator.js.map +1 -1
- package/dist/branch-drift.d.ts +1 -1
- package/dist/branch-drift.d.ts.map +1 -1
- package/dist/branch-drift.js.map +1 -1
- package/dist/cleanup-lock.d.ts +4 -4
- package/dist/cleanup-lock.d.ts.map +1 -1
- package/dist/cleanup-lock.js.map +1 -1
- package/dist/cloud-detect.d.ts +1 -1
- package/dist/cloud-detect.d.ts.map +1 -1
- package/dist/code-path-validator.d.ts.map +1 -1
- package/dist/code-path-validator.js +15 -4
- package/dist/code-path-validator.js.map +1 -1
- package/dist/code-paths-overlap.d.ts +6 -3
- package/dist/code-paths-overlap.d.ts.map +1 -1
- package/dist/code-paths-overlap.js +1 -1
- package/dist/code-paths-overlap.js.map +1 -1
- package/dist/color-support.d.ts +1 -1
- package/dist/color-support.js +2 -2
- package/dist/color-support.js.map +1 -1
- package/dist/commands-logger.d.ts +11 -4
- package/dist/commands-logger.d.ts.map +1 -1
- package/dist/commands-logger.js +1 -1
- package/dist/commands-logger.js.map +1 -1
- package/dist/commit-message-utils.d.ts +1 -1
- package/dist/commit-message-utils.d.ts.map +1 -1
- package/dist/commit-message-utils.js.map +1 -1
- package/dist/compliance-parser.d.ts +86 -112
- package/dist/compliance-parser.d.ts.map +1 -1
- package/dist/compliance-parser.js +10 -61
- package/dist/compliance-parser.js.map +1 -1
- package/dist/constants/backlog-patterns.d.ts +1 -1
- package/dist/constants/backlog-patterns.d.ts.map +1 -1
- package/dist/constants/backlog-patterns.js.map +1 -1
- package/dist/context/location-resolver.js +1 -1
- package/dist/context/location-resolver.js.map +1 -1
- package/dist/context-validation-integration.d.ts +1 -1
- package/dist/context-validation-integration.d.ts.map +1 -1
- package/dist/context-validation-integration.js +1 -1
- package/dist/context-validation-integration.js.map +1 -1
- package/dist/core/scope-checker.d.ts +4 -4
- package/dist/core/scope-checker.d.ts.map +1 -1
- package/dist/core/scope-checker.js.map +1 -1
- package/dist/core/tool.schemas.d.ts +1 -1
- package/dist/core/tool.schemas.d.ts.map +1 -1
- package/dist/core/worktree-guard.d.ts +1 -1
- package/dist/core/worktree-guard.d.ts.map +1 -1
- package/dist/core/worktree-guard.js.map +1 -1
- package/dist/coverage-gate.d.ts +14 -9
- package/dist/coverage-gate.d.ts.map +1 -1
- package/dist/coverage-gate.js +2 -2
- package/dist/coverage-gate.js.map +1 -1
- package/dist/date-utils.d.ts +3 -3
- package/dist/date-utils.d.ts.map +1 -1
- package/dist/date-utils.js.map +1 -1
- package/dist/delegation-escalation.d.ts +2 -2
- package/dist/delegation-escalation.d.ts.map +1 -1
- package/dist/delegation-escalation.js +6 -2
- package/dist/delegation-escalation.js.map +1 -1
- package/dist/delegation-monitor.d.ts +76 -22
- package/dist/delegation-monitor.d.ts.map +1 -1
- package/dist/delegation-monitor.js +3 -2
- package/dist/delegation-monitor.js.map +1 -1
- package/dist/delegation-recovery.d.ts +2 -2
- package/dist/delegation-recovery.d.ts.map +1 -1
- package/dist/delegation-recovery.js +4 -1
- package/dist/delegation-recovery.js.map +1 -1
- package/dist/delegation-registry-schema.d.ts +4 -4
- package/dist/delegation-registry-store.d.ts.map +1 -1
- package/dist/delegation-registry-store.js +8 -1
- package/dist/delegation-registry-store.js.map +1 -1
- package/dist/delegation-tree.d.ts +1 -1
- package/dist/delegation-tree.d.ts.map +1 -1
- package/dist/delegation-tree.js.map +1 -1
- package/dist/dependency-graph.d.ts +44 -24
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +60 -32
- package/dist/dependency-graph.js.map +1 -1
- package/dist/dependency-guard.d.ts +2 -2
- package/dist/dependency-guard.d.ts.map +1 -1
- package/dist/dependency-guard.js.map +1 -1
- package/dist/dependency-validator.d.ts +4 -4
- package/dist/dependency-validator.d.ts.map +1 -1
- package/dist/dependency-validator.js +2 -1
- package/dist/dependency-validator.js.map +1 -1
- package/dist/docs-path-validator.d.ts +1 -1
- package/dist/docs-path-validator.d.ts.map +1 -1
- package/dist/docs-path-validator.js.map +1 -1
- package/dist/domain/orchestration.constants.d.ts +2 -2
- package/dist/domain/orchestration.constants.js +2 -2
- package/dist/domain/orchestration.schemas.d.ts +2 -2
- package/dist/domain/recovery.schemas.js +2 -2
- package/dist/domain/recovery.schemas.js.map +1 -1
- package/dist/domain/validation.schemas.js +1 -1
- package/dist/domain/validation.schemas.js.map +1 -1
- package/dist/error-handler.d.ts +3 -3
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js.map +1 -1
- package/dist/file-classifiers.d.ts +3 -3
- package/dist/file-classifiers.d.ts.map +1 -1
- package/dist/file-classifiers.js.map +1 -1
- package/dist/force-bypass-audit.d.ts.map +1 -1
- package/dist/force-bypass-audit.js.map +1 -1
- package/dist/gates-config.d.ts +1 -1
- package/dist/gates-config.js +1 -1
- package/dist/gates-config.js.map +1 -1
- package/dist/generate-traceability.d.ts +61 -51
- package/dist/generate-traceability.d.ts.map +1 -1
- package/dist/generate-traceability.js +34 -61
- package/dist/generate-traceability.js.map +1 -1
- package/dist/git-adapter.d.ts +3 -16
- package/dist/git-adapter.d.ts.map +1 -1
- package/dist/git-adapter.js +1 -1
- package/dist/git-adapter.js.map +1 -1
- package/dist/git-context-extractor.d.ts.map +1 -1
- package/dist/git-context-extractor.js +21 -10
- package/dist/git-context-extractor.js.map +1 -1
- package/dist/git-staged-validator.d.ts +1 -1
- package/dist/git-staged-validator.d.ts.map +1 -1
- package/dist/git-staged-validator.js +3 -2
- package/dist/git-staged-validator.js.map +1 -1
- package/dist/hardcoded-strings.d.ts +8 -3
- package/dist/hardcoded-strings.d.ts.map +1 -1
- package/dist/hardcoded-strings.js +4 -1
- package/dist/hardcoded-strings.js.map +1 -1
- package/dist/incremental-lint.d.ts +2 -2
- package/dist/incremental-lint.d.ts.map +1 -1
- package/dist/incremental-lint.js.map +1 -1
- package/dist/incremental-test.d.ts +1 -1
- package/dist/incremental-test.d.ts.map +1 -1
- package/dist/incremental-test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/invariants/check-automated-tests.d.ts +11 -4
- package/dist/invariants/check-automated-tests.d.ts.map +1 -1
- package/dist/invariants/check-automated-tests.js +1 -1
- package/dist/invariants/check-automated-tests.js.map +1 -1
- package/dist/invariants-runner.d.ts +32 -7
- package/dist/invariants-runner.d.ts.map +1 -1
- package/dist/invariants-runner.js +20 -6
- package/dist/invariants-runner.js.map +1 -1
- package/dist/lane-checker.d.ts.map +1 -1
- package/dist/lane-checker.js +3 -0
- package/dist/lane-checker.js.map +1 -1
- package/dist/lane-inference.d.ts +7 -6
- package/dist/lane-inference.d.ts.map +1 -1
- package/dist/lane-inference.js +16 -9
- package/dist/lane-inference.js.map +1 -1
- package/dist/lane-suggest-prompt.d.ts +1 -1
- package/dist/lane-suggest-prompt.d.ts.map +1 -1
- package/dist/lane-validator.d.ts +5 -5
- package/dist/lane-validator.d.ts.map +1 -1
- package/dist/lane-validator.js +6 -6
- package/dist/lane-validator.js.map +1 -1
- package/dist/logs-lib.d.ts +1 -1
- package/dist/logs-lib.d.ts.map +1 -1
- package/dist/logs-lib.js +4 -1
- package/dist/logs-lib.js.map +1 -1
- package/dist/lumenflow-config-schema.d.ts +104 -57
- package/dist/lumenflow-config-schema.d.ts.map +1 -1
- package/dist/lumenflow-config-schema.js +13 -0
- package/dist/lumenflow-config-schema.js.map +1 -1
- package/dist/manual-test-validator.d.ts +9 -9
- package/dist/manual-test-validator.d.ts.map +1 -1
- package/dist/manual-test-validator.js +4 -4
- package/dist/manual-test-validator.js.map +1 -1
- package/dist/merge-lock.d.ts +2 -2
- package/dist/merge-lock.d.ts.map +1 -1
- package/dist/merge-lock.js.map +1 -1
- package/dist/micro-worktree.d.ts +2 -2
- package/dist/micro-worktree.js +3 -3
- package/dist/micro-worktree.js.map +1 -1
- package/dist/orchestration-advisory-loader.d.ts +2 -2
- package/dist/orchestration-advisory-loader.d.ts.map +1 -1
- package/dist/orchestration-advisory-loader.js +1 -1
- package/dist/orchestration-advisory-loader.js.map +1 -1
- package/dist/orchestration-rules.d.ts +21 -9
- package/dist/orchestration-rules.d.ts.map +1 -1
- package/dist/orchestration-rules.js +1 -1
- package/dist/orchestration-rules.js.map +1 -1
- package/dist/orphan-detector.d.ts +11 -11
- package/dist/orphan-detector.d.ts.map +1 -1
- package/dist/orphan-detector.js.map +1 -1
- package/dist/path-classifiers.d.ts +2 -2
- package/dist/path-classifiers.d.ts.map +1 -1
- package/dist/path-classifiers.js.map +1 -1
- package/dist/piped-command-detector.d.ts +3 -3
- package/dist/piped-command-detector.d.ts.map +1 -1
- package/dist/piped-command-detector.js +1 -1
- package/dist/piped-command-detector.js.map +1 -1
- package/dist/ports/core-tools.ports.d.ts +1 -1
- package/dist/ports/core-tools.ports.js +1 -1
- package/dist/ports/dashboard-renderer.port.d.ts +2 -2
- package/dist/ports/dashboard-renderer.port.js +1 -1
- package/dist/ports/git-validator.ports.d.ts +70 -271
- package/dist/ports/git-validator.ports.d.ts.map +1 -1
- package/dist/ports/git-validator.ports.js +4 -5
- package/dist/ports/git-validator.ports.js.map +1 -1
- package/dist/ports/validation.ports.d.ts +1 -1
- package/dist/process-detector.d.ts +6 -10
- package/dist/process-detector.d.ts.map +1 -1
- package/dist/process-detector.js.map +1 -1
- package/dist/prompt-linter.d.ts +1 -1
- package/dist/prompt-linter.d.ts.map +1 -1
- package/dist/prompt-linter.js +4 -3
- package/dist/prompt-linter.js.map +1 -1
- package/dist/prompt-monitor.d.ts.map +1 -1
- package/dist/prompt-monitor.js +2 -2
- package/dist/prompt-monitor.js.map +1 -1
- package/dist/rebase-artifact-cleanup.d.ts +42 -33
- package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
- package/dist/rebase-artifact-cleanup.js +8 -9
- package/dist/rebase-artifact-cleanup.js.map +1 -1
- package/dist/recovery/recovery-analyzer.d.ts +3 -2
- package/dist/recovery/recovery-analyzer.d.ts.map +1 -1
- package/dist/recovery/recovery-analyzer.js +18 -1
- package/dist/recovery/recovery-analyzer.js.map +1 -1
- package/dist/resolve-policy.d.ts +1 -1
- package/dist/resolve-policy.d.ts.map +1 -1
- package/dist/resolve-policy.js +3 -5
- package/dist/resolve-policy.js.map +1 -1
- package/dist/retry-strategy.d.ts +43 -27
- package/dist/retry-strategy.d.ts.map +1 -1
- package/dist/retry-strategy.js.map +1 -1
- package/dist/risk-detector.d.ts +1 -1
- package/dist/risk-detector.js +1 -1
- package/dist/rollback-utils.d.ts +6 -6
- package/dist/rollback-utils.d.ts.map +1 -1
- package/dist/rollback-utils.js +2 -2
- package/dist/rollback-utils.js.map +1 -1
- package/dist/schemas/flow-arg-validators.d.ts +18 -18
- package/dist/schemas/initiative-arg-validators.d.ts +28 -28
- package/dist/schemas/initiative-schemas.d.ts +3 -3
- package/dist/schemas/memory-arg-validators.d.ts +40 -40
- package/dist/schemas/schema-utils.js.map +1 -1
- package/dist/schemas/setup-arg-validators.d.ts +32 -32
- package/dist/schemas/validation-arg-validators.d.ts +4 -4
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +51 -51
- package/dist/section-headings.d.ts +6 -6
- package/dist/section-headings.d.ts.map +1 -1
- package/dist/section-headings.js +7 -5
- package/dist/section-headings.js.map +1 -1
- package/dist/stamp-status-validator.d.ts +7 -4
- package/dist/stamp-status-validator.d.ts.map +1 -1
- package/dist/stamp-status-validator.js.map +1 -1
- package/dist/stamp-utils.d.ts +15 -21
- package/dist/stamp-utils.d.ts.map +1 -1
- package/dist/stamp-utils.js +21 -5
- package/dist/stamp-utils.js.map +1 -1
- package/dist/state-machine.d.ts +1 -1
- package/dist/state-machine.d.ts.map +1 -1
- package/dist/state-machine.js +4 -2
- package/dist/state-machine.js.map +1 -1
- package/dist/system-map-validator.d.ts +25 -13
- package/dist/system-map-validator.d.ts.map +1 -1
- package/dist/system-map-validator.js +43 -21
- package/dist/system-map-validator.js.map +1 -1
- package/dist/telemetry.d.ts +9 -9
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +6 -5
- package/dist/telemetry.js.map +1 -1
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +13 -8
- package/dist/template-loader.js.map +1 -1
- package/dist/token-counter.d.ts +19 -13
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +1 -1
- package/dist/token-counter.js.map +1 -1
- package/dist/usecases/get-dashboard-data.usecase.d.ts +1 -1
- package/dist/usecases/get-dashboard-data.usecase.js +1 -1
- package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -1
- package/dist/usecases/get-suggestions.usecase.js +4 -2
- package/dist/usecases/get-suggestions.usecase.js.map +1 -1
- package/dist/user-normalizer.d.ts +4 -4
- package/dist/user-normalizer.d.ts.map +1 -1
- package/dist/user-normalizer.js +2 -2
- package/dist/user-normalizer.js.map +1 -1
- package/dist/validation/command-registry.d.ts +1 -1
- package/dist/validation/command-registry.js +3 -3
- package/dist/validation/command-registry.js.map +1 -1
- package/dist/validation/types.d.ts +3 -1
- package/dist/validation/types.d.ts.map +1 -1
- package/dist/worktree-ownership.d.ts +4 -4
- package/dist/worktree-ownership.d.ts.map +1 -1
- package/dist/worktree-ownership.js +1 -1
- package/dist/worktree-ownership.js.map +1 -1
- package/dist/worktree-scanner.d.ts +36 -8
- package/dist/worktree-scanner.d.ts.map +1 -1
- package/dist/worktree-scanner.js +2 -2
- package/dist/worktree-scanner.js.map +1 -1
- package/dist/worktree-symlink.d.ts +25 -29
- package/dist/worktree-symlink.d.ts.map +1 -1
- package/dist/worktree-symlink.js +12 -7
- package/dist/worktree-symlink.js.map +1 -1
- package/dist/wu-backlog-updater.d.ts +1 -1
- package/dist/wu-backlog-updater.d.ts.map +1 -1
- package/dist/wu-backlog-updater.js.map +1 -1
- package/dist/wu-checkpoint.d.ts +6 -6
- package/dist/wu-checkpoint.d.ts.map +1 -1
- package/dist/wu-checkpoint.js.map +1 -1
- package/dist/wu-claim-helpers.d.ts +2 -2
- package/dist/wu-claim-helpers.d.ts.map +1 -1
- package/dist/wu-claim-helpers.js.map +1 -1
- package/dist/wu-claim-resume.d.ts +22 -8
- package/dist/wu-claim-resume.d.ts.map +1 -1
- package/dist/wu-claim-resume.js.map +1 -1
- package/dist/wu-cli-constants.d.ts +1 -3
- package/dist/wu-cli-constants.d.ts.map +1 -1
- package/dist/wu-cli-constants.js +1 -3
- package/dist/wu-cli-constants.js.map +1 -1
- package/dist/wu-consistency-checker.d.ts +83 -8
- package/dist/wu-consistency-checker.d.ts.map +1 -1
- package/dist/wu-consistency-checker.js +15 -8
- package/dist/wu-consistency-checker.js.map +1 -1
- package/dist/wu-constants.d.ts +2 -2
- package/dist/wu-constants.d.ts.map +1 -1
- package/dist/wu-constants.js +2 -2
- package/dist/wu-constants.js.map +1 -1
- package/dist/wu-context-constants.d.ts +4 -0
- package/dist/wu-context-constants.d.ts.map +1 -1
- package/dist/wu-context-constants.js +4 -0
- package/dist/wu-context-constants.js.map +1 -1
- package/dist/wu-create-validators.d.ts +3 -3
- package/dist/wu-create-validators.d.ts.map +1 -1
- package/dist/wu-create-validators.js +1 -1
- package/dist/wu-create-validators.js.map +1 -1
- package/dist/wu-domain-constants.d.ts +3 -3
- package/dist/wu-domain-constants.d.ts.map +1 -1
- package/dist/wu-domain-constants.js +7 -11
- package/dist/wu-domain-constants.js.map +1 -1
- package/dist/wu-done-branch-only.d.ts +16 -13
- package/dist/wu-done-branch-only.d.ts.map +1 -1
- package/dist/wu-done-branch-only.js +1 -1
- package/dist/wu-done-branch-only.js.map +1 -1
- package/dist/wu-done-branch-utils.d.ts +1 -1
- package/dist/wu-done-branch-utils.d.ts.map +1 -1
- package/dist/wu-done-branch-utils.js.map +1 -1
- package/dist/wu-done-cleanup.d.ts +1 -1
- package/dist/wu-done-cleanup.d.ts.map +1 -1
- package/dist/wu-done-cleanup.js.map +1 -1
- package/dist/wu-done-concurrent-merge.d.ts +1 -1
- package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
- package/dist/wu-done-concurrent-merge.js +4 -2
- package/dist/wu-done-concurrent-merge.js.map +1 -1
- package/dist/wu-done-docs-generate.d.ts +2 -2
- package/dist/wu-done-docs-generate.js +2 -2
- package/dist/wu-done-docs-only.d.ts +1 -1
- package/dist/wu-done-docs-only.d.ts.map +1 -1
- package/dist/wu-done-docs-only.js.map +1 -1
- package/dist/wu-done-errors.d.ts +3 -3
- package/dist/wu-done-errors.d.ts.map +1 -1
- package/dist/wu-done-errors.js.map +1 -1
- package/dist/wu-done-inputs.d.ts +1 -1
- package/dist/wu-done-inputs.d.ts.map +1 -1
- package/dist/wu-done-inputs.js.map +1 -1
- package/dist/wu-done-machine.d.ts +2 -2
- package/dist/wu-done-merged-worktree.d.ts +89 -0
- package/dist/wu-done-merged-worktree.d.ts.map +1 -0
- package/dist/wu-done-merged-worktree.js +195 -0
- package/dist/wu-done-merged-worktree.js.map +1 -0
- package/dist/wu-done-messages.d.ts +30 -30
- package/dist/wu-done-messages.d.ts.map +1 -1
- package/dist/wu-done-messages.js +16 -13
- package/dist/wu-done-messages.js.map +1 -1
- package/dist/wu-done-metadata.d.ts +46 -35
- package/dist/wu-done-metadata.d.ts.map +1 -1
- package/dist/wu-done-metadata.js +12 -10
- package/dist/wu-done-metadata.js.map +1 -1
- package/dist/wu-done-paths.d.ts +33 -19
- package/dist/wu-done-paths.d.ts.map +1 -1
- package/dist/wu-done-paths.js +15 -9
- package/dist/wu-done-paths.js.map +1 -1
- package/dist/wu-done-pr.d.ts +9 -5
- package/dist/wu-done-pr.d.ts.map +1 -1
- package/dist/wu-done-pr.js +1 -1
- package/dist/wu-done-pr.js.map +1 -1
- package/dist/wu-done-preflight.d.ts +29 -31
- package/dist/wu-done-preflight.d.ts.map +1 -1
- package/dist/wu-done-preflight.js +7 -7
- package/dist/wu-done-preflight.js.map +1 -1
- package/dist/wu-done-retry-helpers.d.ts +5 -5
- package/dist/wu-done-retry-helpers.d.ts.map +1 -1
- package/dist/wu-done-retry-helpers.js +2 -2
- package/dist/wu-done-retry-helpers.js.map +1 -1
- package/dist/wu-done-ui.d.ts +5 -5
- package/dist/wu-done-ui.d.ts.map +1 -1
- package/dist/wu-done-ui.js +4 -2
- package/dist/wu-done-ui.js.map +1 -1
- package/dist/wu-done-validation.d.ts +34 -18
- package/dist/wu-done-validation.d.ts.map +1 -1
- package/dist/wu-done-validation.js +30 -16
- package/dist/wu-done-validation.js.map +1 -1
- package/dist/wu-done-worktree-services.d.ts +1 -1
- package/dist/wu-done-worktree-services.js +2 -2
- package/dist/wu-done-worktree-services.js.map +1 -1
- package/dist/wu-done-worktree.d.ts +60 -29
- package/dist/wu-done-worktree.d.ts.map +1 -1
- package/dist/wu-done-worktree.js +62 -45
- package/dist/wu-done-worktree.js.map +1 -1
- package/dist/wu-events-cleanup.d.ts.map +1 -1
- package/dist/wu-events-cleanup.js +6 -2
- package/dist/wu-events-cleanup.js.map +1 -1
- package/dist/wu-helpers.d.ts +21 -25
- package/dist/wu-helpers.d.ts.map +1 -1
- package/dist/wu-helpers.js +6 -4
- package/dist/wu-helpers.js.map +1 -1
- package/dist/wu-id-generator.d.ts.map +1 -1
- package/dist/wu-id-generator.js +5 -1
- package/dist/wu-id-generator.js.map +1 -1
- package/dist/wu-lint.d.ts +78 -8
- package/dist/wu-lint.d.ts.map +1 -1
- package/dist/wu-lint.js +1 -1
- package/dist/wu-lint.js.map +1 -1
- package/dist/wu-paths-constants.d.ts +1 -39
- package/dist/wu-paths-constants.d.ts.map +1 -1
- package/dist/wu-paths-constants.js +1 -39
- package/dist/wu-paths-constants.js.map +1 -1
- package/dist/wu-preflight-validators.d.ts +32 -41
- package/dist/wu-preflight-validators.d.ts.map +1 -1
- package/dist/wu-preflight-validators.js +11 -4
- package/dist/wu-preflight-validators.js.map +1 -1
- package/dist/wu-recovery.d.ts +49 -36
- package/dist/wu-recovery.d.ts.map +1 -1
- package/dist/wu-recovery.js +22 -14
- package/dist/wu-recovery.js.map +1 -1
- package/dist/wu-repair-core.d.ts +62 -32
- package/dist/wu-repair-core.d.ts.map +1 -1
- package/dist/wu-repair-core.js +31 -19
- package/dist/wu-repair-core.js.map +1 -1
- package/dist/wu-rules-core.d.ts +1 -1
- package/dist/wu-rules-core.d.ts.map +1 -1
- package/dist/wu-schema-normalization.d.ts +1 -1
- package/dist/wu-schema-normalization.d.ts.map +1 -1
- package/dist/wu-schema-normalization.js +5 -2
- package/dist/wu-schema-normalization.js.map +1 -1
- package/dist/wu-schema.d.ts +141 -187
- package/dist/wu-schema.d.ts.map +1 -1
- package/dist/wu-schema.js +22 -35
- package/dist/wu-schema.js.map +1 -1
- package/dist/wu-spawn-helpers.d.ts +7 -7
- package/dist/wu-spawn-helpers.d.ts.map +1 -1
- package/dist/wu-spawn-helpers.js.map +1 -1
- package/dist/wu-spawn-skills.d.ts +6 -6
- package/dist/wu-spawn-skills.d.ts.map +1 -1
- package/dist/wu-spawn-skills.js.map +1 -1
- package/dist/wu-spawn.d.ts +29 -8
- package/dist/wu-spawn.d.ts.map +1 -1
- package/dist/wu-spawn.js +33 -20
- package/dist/wu-spawn.js.map +1 -1
- package/dist/wu-state-schema.d.ts +4 -4
- package/dist/wu-state-schema.d.ts.map +1 -1
- package/dist/wu-state-schema.js.map +1 -1
- package/dist/wu-state-store.d.ts.map +1 -1
- package/dist/wu-state-store.js +10 -2
- package/dist/wu-state-store.js.map +1 -1
- package/dist/wu-status-transition.d.ts +21 -13
- package/dist/wu-status-transition.d.ts.map +1 -1
- package/dist/wu-status-transition.js +15 -8
- package/dist/wu-status-transition.js.map +1 -1
- package/dist/wu-status-updater.d.ts +2 -2
- package/dist/wu-status-updater.d.ts.map +1 -1
- package/dist/wu-status-updater.js +7 -2
- package/dist/wu-status-updater.js.map +1 -1
- package/dist/wu-transaction-collectors.d.ts +35 -37
- package/dist/wu-transaction-collectors.d.ts.map +1 -1
- package/dist/wu-transaction-collectors.js +7 -2
- package/dist/wu-transaction-collectors.js.map +1 -1
- package/dist/wu-transaction.d.ts +3 -3
- package/dist/wu-transaction.d.ts.map +1 -1
- package/dist/wu-transaction.js +4 -9
- package/dist/wu-transaction.js.map +1 -1
- package/dist/wu-type-helpers.d.ts +1 -1
- package/dist/wu-type-helpers.js +1 -1
- package/dist/wu-validation.d.ts +26 -10
- package/dist/wu-validation.d.ts.map +1 -1
- package/dist/wu-validation.js +3 -3
- package/dist/wu-validation.js.map +1 -1
- package/dist/wu-validator.d.ts +29 -15
- package/dist/wu-validator.d.ts.map +1 -1
- package/dist/wu-validator.js +23 -15
- package/dist/wu-validator.js.map +1 -1
- package/dist/wu-yaml-fixer.d.ts +26 -35
- package/dist/wu-yaml-fixer.d.ts.map +1 -1
- package/dist/wu-yaml-fixer.js +8 -5
- package/dist/wu-yaml-fixer.js.map +1 -1
- package/dist/wu-yaml.d.ts +9 -9
- package/dist/wu-yaml.d.ts.map +1 -1
- package/dist/wu-yaml.js +2 -1
- package/dist/wu-yaml.js.map +1 -1
- package/package.json +12 -18
package/dist/stamp-utils.d.ts
CHANGED
|
@@ -36,6 +36,15 @@ export declare const STAMP_FORMAT_ERRORS: Readonly<{
|
|
|
36
36
|
* @returns {boolean} True if date is valid
|
|
37
37
|
*/
|
|
38
38
|
export declare function isValidDateString(dateStr: string): boolean;
|
|
39
|
+
interface CreateStampParams {
|
|
40
|
+
id: string;
|
|
41
|
+
title: string;
|
|
42
|
+
}
|
|
43
|
+
interface CreateStampResult {
|
|
44
|
+
created: boolean;
|
|
45
|
+
path: string;
|
|
46
|
+
reason?: 'already_exists';
|
|
47
|
+
}
|
|
39
48
|
/**
|
|
40
49
|
* Create stamp file (idempotent - safe to call multiple times)
|
|
41
50
|
*
|
|
@@ -44,32 +53,21 @@ export declare function isValidDateString(dateStr: string): boolean;
|
|
|
44
53
|
* @param {string} params.title - WU title
|
|
45
54
|
* @returns {object} Result { created: boolean, path: string, reason?: string }
|
|
46
55
|
*/
|
|
47
|
-
export declare function createStamp({ id, title }:
|
|
48
|
-
id: any;
|
|
49
|
-
title: any;
|
|
50
|
-
}): {
|
|
51
|
-
created: boolean;
|
|
52
|
-
path: string;
|
|
53
|
-
reason: string;
|
|
54
|
-
} | {
|
|
55
|
-
created: boolean;
|
|
56
|
-
path: string;
|
|
57
|
-
reason?: undefined;
|
|
58
|
-
};
|
|
56
|
+
export declare function createStamp({ id, title }: CreateStampParams): CreateStampResult;
|
|
59
57
|
/**
|
|
60
58
|
* Validate stamp exists
|
|
61
59
|
*
|
|
62
60
|
* @param {string} stampPath - Path to stamp file
|
|
63
61
|
* @returns {boolean} True if stamp exists
|
|
64
62
|
*/
|
|
65
|
-
export declare function validateStamp(stampPath:
|
|
63
|
+
export declare function validateStamp(stampPath: string): boolean;
|
|
66
64
|
/**
|
|
67
65
|
* Get stamp path using WU_PATHS (consistent with codebase)
|
|
68
66
|
*
|
|
69
67
|
* @param {string} id - WU ID
|
|
70
68
|
* @returns {string} Absolute path to stamp file
|
|
71
69
|
*/
|
|
72
|
-
export declare function getStampPath(id:
|
|
70
|
+
export declare function getStampPath(id: string): string;
|
|
73
71
|
/**
|
|
74
72
|
* Validate stamp file format (WU-2242)
|
|
75
73
|
*
|
|
@@ -83,14 +81,10 @@ export declare function getStampPath(id: any): string;
|
|
|
83
81
|
* @param {string} [projectRoot=process.cwd()] - Project root directory
|
|
84
82
|
* @returns {Promise<{valid: boolean, errors: string[], missing?: boolean}>}
|
|
85
83
|
*/
|
|
86
|
-
export declare function validateStampFormat(wuId:
|
|
87
|
-
valid: boolean;
|
|
88
|
-
errors: any[];
|
|
89
|
-
missing: boolean;
|
|
90
|
-
} | {
|
|
84
|
+
export declare function validateStampFormat(wuId: string, projectRoot?: string): Promise<{
|
|
91
85
|
valid: boolean;
|
|
92
|
-
errors:
|
|
93
|
-
missing?:
|
|
86
|
+
errors: string[];
|
|
87
|
+
missing?: boolean;
|
|
94
88
|
}>;
|
|
95
89
|
/**
|
|
96
90
|
* Parsed stamp metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamp-utils.d.ts","sourceRoot":"","sources":["../src/stamp-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC9B,sDAAsD;;IAEtD,qEAAqE;;IAErE,yCAAyC;;IAEzC,2DAA2D;;IAE3D,gDAAgD;;EAEhD,CAAC;AAQH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU1D;
|
|
1
|
+
{"version":3,"file":"stamp-utils.d.ts","sourceRoot":"","sources":["../src/stamp-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC9B,sDAAsD;;IAEtD,qEAAqE;;IAErE,yCAAyC;;IAEzC,2DAA2D;;IAE3D,gDAAgD;;EAEhD,CAAC;AAQH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU1D;AAYD,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAAG,iBAAiB,CAmB/E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AA0DD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,SAAgB,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwClE;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAiChE"}
|
package/dist/stamp-utils.js
CHANGED
|
@@ -122,7 +122,11 @@ function validateWuLine(lines, expectedWuId) {
|
|
|
122
122
|
if (!wuIdMatch) {
|
|
123
123
|
return STAMP_FORMAT_ERRORS.MISSING_WU_LINE;
|
|
124
124
|
}
|
|
125
|
-
|
|
125
|
+
const wuId = wuIdMatch[1];
|
|
126
|
+
if (!wuId) {
|
|
127
|
+
return STAMP_FORMAT_ERRORS.MISSING_WU_LINE;
|
|
128
|
+
}
|
|
129
|
+
if (wuId !== expectedWuId) {
|
|
126
130
|
return STAMP_FORMAT_ERRORS.WU_ID_MISMATCH;
|
|
127
131
|
}
|
|
128
132
|
return null;
|
|
@@ -141,7 +145,10 @@ function validateCompletedLine(lines) {
|
|
|
141
145
|
if (!dateMatch) {
|
|
142
146
|
return STAMP_FORMAT_ERRORS.MISSING_COMPLETED_LINE;
|
|
143
147
|
}
|
|
144
|
-
const dateStr = dateMatch[1]
|
|
148
|
+
const dateStr = dateMatch[1]?.trim();
|
|
149
|
+
if (!dateStr) {
|
|
150
|
+
return STAMP_FORMAT_ERRORS.MISSING_COMPLETED_LINE;
|
|
151
|
+
}
|
|
145
152
|
if (!isValidDate(dateStr)) {
|
|
146
153
|
return STAMP_FORMAT_ERRORS.INVALID_DATE_FORMAT;
|
|
147
154
|
}
|
|
@@ -210,8 +217,14 @@ export function parseStampContent(content) {
|
|
|
210
217
|
if (wuLine) {
|
|
211
218
|
const match = wuLine.match(/^WU (WU-\d+)\s*[—-]\s*(.+)/);
|
|
212
219
|
if (match) {
|
|
213
|
-
|
|
214
|
-
|
|
220
|
+
const wuId = match[1];
|
|
221
|
+
const title = match[2];
|
|
222
|
+
if (wuId) {
|
|
223
|
+
result.wuId = wuId;
|
|
224
|
+
}
|
|
225
|
+
if (title) {
|
|
226
|
+
result.title = title.trim();
|
|
227
|
+
}
|
|
215
228
|
}
|
|
216
229
|
}
|
|
217
230
|
// Parse Completed line
|
|
@@ -219,7 +232,10 @@ export function parseStampContent(content) {
|
|
|
219
232
|
if (completedLine) {
|
|
220
233
|
const match = completedLine.match(/^Completed:\s*(.+)/);
|
|
221
234
|
if (match) {
|
|
222
|
-
|
|
235
|
+
const completedDate = match[1];
|
|
236
|
+
if (completedDate) {
|
|
237
|
+
result.completedDate = completedDate.trim();
|
|
238
|
+
}
|
|
223
239
|
}
|
|
224
240
|
}
|
|
225
241
|
return result;
|
package/dist/stamp-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamp-utils.js","sourceRoot":"","sources":["../src/stamp-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,sDAAsD;IACtD,UAAU,EAAE,YAAY;IACxB,qEAAqE;IACrE,eAAe,EAAE,iBAAiB;IAClC,yCAAyC;IACzC,sBAAsB,EAAE,wBAAwB;IAChD,2DAA2D;IAC3D,mBAAmB,EAAE,qBAAqB;IAC1C,gDAAgD;IAChD,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,kDAAkD;IAClD,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,4DAA4D;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,4CAA4C;AAC5C,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"stamp-utils.js","sourceRoot":"","sources":["../src/stamp-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,sDAAsD;IACtD,UAAU,EAAE,YAAY;IACxB,qEAAqE;IACrE,eAAe,EAAE,iBAAiB;IAClC,yCAAyC;IACzC,sBAAsB,EAAE,wBAAwB;IAChD,2DAA2D;IAC3D,mBAAmB,EAAE,qBAAqB;IAC1C,gDAAgD;IAChD,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,kDAAkD;IAClD,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,4DAA4D;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,4CAA4C;AAC5C,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,SAAiB,EAAU,EAAE,CAC9E,MAAM,EAAE,MAAM,KAAK,gBAAgB,SAAS,IAAI,CAAC;AAanD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAqB;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAErC,iCAAiC;IACjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACvE,CAAC;IAED,oBAAoB;IACpB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAEtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAe,EAAE,YAAoB;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,mBAAmB,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,eAAe,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,mBAAmB,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO,mBAAmB,CAAC,cAAc,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAAe;IAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,mBAAmB,CAAC,sBAAsB,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,sBAAsB,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,mBAAmB,CAAC,sBAAsB,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,mBAAmB,CAAC,mBAAmB,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,yBAAyB,OAAO,EAAE,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,mBAAmB;IACnB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,gBAAgB;IAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/state-machine.d.ts
CHANGED
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
* @param {string} wuid - Work Unit ID (e.g., 'WU-416') for error messages
|
|
25
25
|
* @throws {Error} If transition is illegal or states are invalid
|
|
26
26
|
*/
|
|
27
|
-
export declare function assertTransition(from:
|
|
27
|
+
export declare function assertTransition(from: string | null | undefined, to: string | null | undefined, wuid: string): void;
|
|
28
28
|
//# sourceMappingURL=state-machine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAsBH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,QAkDb"}
|
package/dist/state-machine.js
CHANGED
|
@@ -76,8 +76,10 @@ export function assertTransition(from, to, wuid) {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
// Check if transition is allowed
|
|
79
|
-
const
|
|
80
|
-
|
|
79
|
+
const fromState = from;
|
|
80
|
+
const toState = to;
|
|
81
|
+
const allowedNextStates = TRANSITIONS[fromState];
|
|
82
|
+
if (!allowedNextStates.includes(toState)) {
|
|
81
83
|
const terminalHint = from === 'done' ? ' (done is a terminal state)' : '';
|
|
82
84
|
throw createError(ErrorCodes.STATE_ERROR, `Illegal state transition for ${wuid}: ${from} → ${to}${terminalHint}`, { wuid, from, to, allowedNextStates });
|
|
83
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAGrF;;;GAGG;AACH,MAAM,WAAW,GAA+B;IAC9C,KAAK,EAAE,CAAC,aAAa,CAAC;IACtB,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mDAAmD;IACzG,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,IAAI,EAAE,EAAE,EAAE,2CAA2C;CACtD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAA+B,EAC/B,EAA6B,EAC7B,IAAY;IAEZ,0CAA0C;IAC1C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,IAAI,EAAE,EAAE;YAClE,IAAI;YACJ,IAAI;YACJ,EAAE;YACF,MAAM,EAAE,oCAAoC;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE;YAChE,IAAI;YACJ,IAAI;YACJ,EAAE;YACF,MAAM,EAAE,kCAAkC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAe,CAAC,EAAE,CAAC;QACvC,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,IAAI,EAAE,EAAE;YAClE,IAAI;YACJ,IAAI;YACJ,EAAE;YACF,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAa,CAAC,EAAE,CAAC;QACrC,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE;YAChE,IAAI;YACJ,IAAI;YACJ,EAAE;YACF,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAe,CAAC;IAClC,MAAM,OAAO,GAAG,EAAa,CAAC;IAC9B,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,WAAW,CACf,UAAU,CAAC,WAAW,EACtB,gCAAgC,IAAI,KAAK,IAAI,MAAM,EAAE,GAAG,YAAY,EAAE,EACtE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,CACtC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -22,6 +22,17 @@ export declare const CANONICAL_AUDIENCES: string[];
|
|
|
22
22
|
* @type {string[]}
|
|
23
23
|
*/
|
|
24
24
|
export declare const CANONICAL_CLASSIFICATIONS: string[];
|
|
25
|
+
type SystemMapDocument = Record<string, unknown> & {
|
|
26
|
+
quick_queries?: Record<string, unknown>;
|
|
27
|
+
};
|
|
28
|
+
interface SystemMapValidationAggregate {
|
|
29
|
+
valid: boolean;
|
|
30
|
+
pathErrors: string[];
|
|
31
|
+
orphanDocs: string[];
|
|
32
|
+
audienceErrors: string[];
|
|
33
|
+
queryErrors: string[];
|
|
34
|
+
classificationErrors: string[];
|
|
35
|
+
}
|
|
25
36
|
/**
|
|
26
37
|
* Validate all paths in system map exist
|
|
27
38
|
*
|
|
@@ -29,7 +40,9 @@ export declare const CANONICAL_CLASSIFICATIONS: string[];
|
|
|
29
40
|
* @param {{exists: (path: string) => boolean}} deps - Dependencies
|
|
30
41
|
* @returns {Promise<string[]>} Array of error messages
|
|
31
42
|
*/
|
|
32
|
-
export declare function validatePaths(systemMap:
|
|
43
|
+
export declare function validatePaths(systemMap: SystemMapDocument, deps: {
|
|
44
|
+
exists: (path: string) => boolean;
|
|
45
|
+
}): Promise<string[]>;
|
|
33
46
|
/**
|
|
34
47
|
* Find orphan docs not indexed in system map
|
|
35
48
|
*
|
|
@@ -37,21 +50,23 @@ export declare function validatePaths(systemMap: any, deps: any): Promise<any[]>
|
|
|
37
50
|
* @param {{glob: (pattern: string) => Promise<string[]>}} deps - Dependencies
|
|
38
51
|
* @returns {Promise<string[]>} Array of orphan file paths
|
|
39
52
|
*/
|
|
40
|
-
export declare function findOrphanDocs(systemMap:
|
|
53
|
+
export declare function findOrphanDocs(systemMap: SystemMapDocument, deps: {
|
|
54
|
+
glob: (pattern: string) => Promise<string[]>;
|
|
55
|
+
}): Promise<string[]>;
|
|
41
56
|
/**
|
|
42
57
|
* Validate audience tags against canonical list
|
|
43
58
|
*
|
|
44
59
|
* @param {object} systemMap - Parsed SYSTEM-MAP.yaml
|
|
45
60
|
* @returns {string[]} Array of error messages
|
|
46
61
|
*/
|
|
47
|
-
export declare function validateAudienceTags(systemMap:
|
|
62
|
+
export declare function validateAudienceTags(systemMap: SystemMapDocument): string[];
|
|
48
63
|
/**
|
|
49
64
|
* Validate quick_queries reference valid document IDs
|
|
50
65
|
*
|
|
51
66
|
* @param {object} systemMap - Parsed SYSTEM-MAP.yaml
|
|
52
67
|
* @returns {string[]} Array of error messages
|
|
53
68
|
*/
|
|
54
|
-
export declare function validateQuickQueries(systemMap:
|
|
69
|
+
export declare function validateQuickQueries(systemMap: SystemMapDocument): string[];
|
|
55
70
|
/**
|
|
56
71
|
* Validate classification prevents PHI routing to investor/public
|
|
57
72
|
*
|
|
@@ -62,7 +77,7 @@ export declare function validateQuickQueries(systemMap: any): any[];
|
|
|
62
77
|
* @param {object} systemMap - Parsed SYSTEM-MAP.yaml
|
|
63
78
|
* @returns {string[]} Array of error messages
|
|
64
79
|
*/
|
|
65
|
-
export declare function validateClassificationRouting(systemMap:
|
|
80
|
+
export declare function validateClassificationRouting(systemMap: SystemMapDocument): string[];
|
|
66
81
|
/**
|
|
67
82
|
* Validate entire system map
|
|
68
83
|
*
|
|
@@ -70,14 +85,10 @@ export declare function validateClassificationRouting(systemMap: any): any[];
|
|
|
70
85
|
* @param {{exists: (path: string) => boolean, glob: (pattern: string) => Promise<string[]>}} deps - Dependencies
|
|
71
86
|
* @returns {Promise<{valid: boolean, pathErrors: string[], orphanDocs: string[], audienceErrors: string[], queryErrors: string[], classificationErrors: string[]}>}
|
|
72
87
|
*/
|
|
73
|
-
export declare function validateSystemMap(systemMap:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
audienceErrors: any[];
|
|
78
|
-
queryErrors: any[];
|
|
79
|
-
classificationErrors: any[];
|
|
80
|
-
}>;
|
|
88
|
+
export declare function validateSystemMap(systemMap: SystemMapDocument, deps: {
|
|
89
|
+
exists: (path: string) => boolean;
|
|
90
|
+
glob: (pattern: string) => Promise<string[]>;
|
|
91
|
+
}): Promise<SystemMapValidationAggregate>;
|
|
81
92
|
export interface SystemMapValidationResult {
|
|
82
93
|
valid: boolean;
|
|
83
94
|
skipped: boolean;
|
|
@@ -96,4 +107,5 @@ export declare function runSystemMapValidation(options?: {
|
|
|
96
107
|
error?: (message: string) => void;
|
|
97
108
|
};
|
|
98
109
|
}): Promise<SystemMapValidationResult>;
|
|
110
|
+
export {};
|
|
99
111
|
//# sourceMappingURL=system-map-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-map-validator.d.ts","sourceRoot":"","sources":["../src/system-map-validator.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAQH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAS/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,UAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"system-map-validator.d.ts","sourceRoot":"","sources":["../src/system-map-validator.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAQH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAS/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,UAAuD,CAAC;AAU9F,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,CAAC;AAUF,UAAU,4BAA4B;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAgGD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GACrD,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,EAAE,CA0B3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,EAAE,CA8B3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,EAAE,CA0BpF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GACxF,OAAO,CAAC,4BAA4B,CAAC,CAsBvC;AAID,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACnC,CAAC;CACE,GACL,OAAO,CAAC,yBAAyB,CAAC,CAqDpC"}
|
|
@@ -43,6 +43,12 @@ export const CANONICAL_CLASSIFICATIONS = ['public', 'internal', 'confidential',
|
|
|
43
43
|
* @type {string[]}
|
|
44
44
|
*/
|
|
45
45
|
const PHI_RESTRICTED_AUDIENCES = ['investor', 'patient', 'clinician', 'public'];
|
|
46
|
+
function isRecord(value) {
|
|
47
|
+
return typeof value === 'object' && value !== null;
|
|
48
|
+
}
|
|
49
|
+
function formatEntryId(entry) {
|
|
50
|
+
return String(entry.id);
|
|
51
|
+
}
|
|
46
52
|
/**
|
|
47
53
|
* Extract all document entries from system map (flattens all layer arrays)
|
|
48
54
|
*
|
|
@@ -56,7 +62,11 @@ function extractAllEntries(systemMap) {
|
|
|
56
62
|
if (skipKeys.includes(key))
|
|
57
63
|
continue;
|
|
58
64
|
if (Array.isArray(value)) {
|
|
59
|
-
|
|
65
|
+
for (const entry of value) {
|
|
66
|
+
if (isRecord(entry)) {
|
|
67
|
+
entries.push(entry);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
60
70
|
}
|
|
61
71
|
}
|
|
62
72
|
return entries;
|
|
@@ -69,10 +79,15 @@ function extractAllEntries(systemMap) {
|
|
|
69
79
|
*/
|
|
70
80
|
function getEntryPaths(entry) {
|
|
71
81
|
const result = [];
|
|
72
|
-
if (entry.path)
|
|
82
|
+
if (typeof entry.path === 'string')
|
|
73
83
|
result.push(entry.path);
|
|
74
|
-
if (
|
|
75
|
-
|
|
84
|
+
if (Array.isArray(entry.paths)) {
|
|
85
|
+
for (const entryPath of entry.paths) {
|
|
86
|
+
if (typeof entryPath === 'string') {
|
|
87
|
+
result.push(entryPath);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
76
91
|
return result;
|
|
77
92
|
}
|
|
78
93
|
/**
|
|
@@ -106,7 +121,7 @@ function buildIdSet(systemMap) {
|
|
|
106
121
|
const idSet = new Set();
|
|
107
122
|
const entries = extractAllEntries(systemMap);
|
|
108
123
|
for (const entry of entries) {
|
|
109
|
-
if (entry.id) {
|
|
124
|
+
if (typeof entry.id === 'string' && entry.id.length > 0) {
|
|
110
125
|
idSet.add(entry.id);
|
|
111
126
|
}
|
|
112
127
|
}
|
|
@@ -126,7 +141,7 @@ export async function validatePaths(systemMap, deps) {
|
|
|
126
141
|
const paths = getEntryPaths(entry);
|
|
127
142
|
for (const p of paths) {
|
|
128
143
|
if (!deps.exists(p)) {
|
|
129
|
-
errors.push(`Path not found: ${p} (entry: ${entry
|
|
144
|
+
errors.push(`Path not found: ${p} (entry: ${formatEntryId(entry)})`);
|
|
130
145
|
}
|
|
131
146
|
}
|
|
132
147
|
}
|
|
@@ -174,16 +189,17 @@ export function validateAudienceTags(systemMap) {
|
|
|
174
189
|
const entries = extractAllEntries(systemMap);
|
|
175
190
|
for (const entry of entries) {
|
|
176
191
|
if (!entry.audiences || !Array.isArray(entry.audiences)) {
|
|
177
|
-
errors.push(`Entry ${entry
|
|
192
|
+
errors.push(`Entry ${formatEntryId(entry)} missing audiences array`);
|
|
178
193
|
continue;
|
|
179
194
|
}
|
|
180
195
|
if (entry.audiences.length === 0) {
|
|
181
|
-
errors.push(`Entry ${entry
|
|
196
|
+
errors.push(`Entry ${formatEntryId(entry)} has empty audiences array (must have at least one)`);
|
|
182
197
|
continue;
|
|
183
198
|
}
|
|
184
199
|
for (const audience of entry.audiences) {
|
|
185
|
-
|
|
186
|
-
|
|
200
|
+
const audienceLabel = typeof audience === 'string' ? audience : String(audience);
|
|
201
|
+
if (!CANONICAL_AUDIENCES.includes(audienceLabel)) {
|
|
202
|
+
errors.push(`Invalid audience '${audienceLabel}' in entry ${formatEntryId(entry)}`);
|
|
187
203
|
}
|
|
188
204
|
}
|
|
189
205
|
}
|
|
@@ -197,21 +213,22 @@ export function validateAudienceTags(systemMap) {
|
|
|
197
213
|
*/
|
|
198
214
|
export function validateQuickQueries(systemMap) {
|
|
199
215
|
const errors = [];
|
|
200
|
-
if (!systemMap.quick_queries) {
|
|
216
|
+
if (!isRecord(systemMap.quick_queries)) {
|
|
201
217
|
return errors;
|
|
202
218
|
}
|
|
203
219
|
const validIds = buildIdSet(systemMap);
|
|
204
220
|
for (const [queryKey, queryValue] of Object.entries(systemMap.quick_queries)) {
|
|
205
|
-
const query = queryValue;
|
|
221
|
+
const query = isRecord(queryValue) ? queryValue : {};
|
|
222
|
+
const primary = query.primary;
|
|
206
223
|
// Check primary reference
|
|
207
|
-
if (
|
|
208
|
-
errors.push(`Quick query '${queryKey}' references non-existent primary: ${
|
|
224
|
+
if (primary && !validIds.has(primary)) {
|
|
225
|
+
errors.push(`Quick query '${queryKey}' references non-existent primary: ${String(primary)}`);
|
|
209
226
|
}
|
|
210
227
|
// Check related references
|
|
211
|
-
if (
|
|
228
|
+
if (Array.isArray(query.related)) {
|
|
212
229
|
for (const related of query.related) {
|
|
213
230
|
if (!validIds.has(related)) {
|
|
214
|
-
errors.push(`Quick query '${queryKey}' references non-existent related: ${related}`);
|
|
231
|
+
errors.push(`Quick query '${queryKey}' references non-existent related: ${String(related)}`);
|
|
215
232
|
}
|
|
216
233
|
}
|
|
217
234
|
}
|
|
@@ -233,7 +250,7 @@ export function validateClassificationRouting(systemMap) {
|
|
|
233
250
|
const entries = extractAllEntries(systemMap);
|
|
234
251
|
for (const entry of entries) {
|
|
235
252
|
const classification = entry.classification;
|
|
236
|
-
const audiences = entry.audiences
|
|
253
|
+
const audiences = Array.isArray(entry.audiences) ? entry.audiences : [];
|
|
237
254
|
// Only check restricted classification (PHI data)
|
|
238
255
|
// Confidential is OK for investors (investor materials are confidential by design)
|
|
239
256
|
if (classification !== 'restricted') {
|
|
@@ -241,8 +258,9 @@ export function validateClassificationRouting(systemMap) {
|
|
|
241
258
|
}
|
|
242
259
|
// Check if any PHI-restricted audiences have access
|
|
243
260
|
for (const audience of audiences) {
|
|
244
|
-
|
|
245
|
-
|
|
261
|
+
const audienceLabel = typeof audience === 'string' ? audience : String(audience);
|
|
262
|
+
if (PHI_RESTRICTED_AUDIENCES.includes(audienceLabel)) {
|
|
263
|
+
errors.push(`PHI routing violation: ${formatEntryId(entry)} has restricted (PHI) classification but is accessible to '${audienceLabel}'`);
|
|
246
264
|
}
|
|
247
265
|
}
|
|
248
266
|
}
|
|
@@ -294,7 +312,11 @@ export async function runSystemMapValidation(options = {}) {
|
|
|
294
312
|
let systemMap;
|
|
295
313
|
try {
|
|
296
314
|
const raw = readFileSync(resolvedPath, 'utf-8');
|
|
297
|
-
|
|
315
|
+
const parsed = parseYAML(raw);
|
|
316
|
+
if (!isRecord(parsed)) {
|
|
317
|
+
throw new Error('SYSTEM-MAP.yaml root must be a mapping/object');
|
|
318
|
+
}
|
|
319
|
+
systemMap = parsed;
|
|
298
320
|
}
|
|
299
321
|
catch (error) {
|
|
300
322
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -310,7 +332,7 @@ export async function runSystemMapValidation(options = {}) {
|
|
|
310
332
|
};
|
|
311
333
|
}
|
|
312
334
|
const result = await validateSystemMap(systemMap, {
|
|
313
|
-
exists: (
|
|
335
|
+
exists: (pathToCheck) => existsSync(pathToCheck),
|
|
314
336
|
glob: (pattern) => fg(pattern, { dot: false }),
|
|
315
337
|
});
|
|
316
338
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-map-validator.js","sourceRoot":"","sources":["../src/system-map-validator.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK;IACL,KAAK;IACL,UAAU;IACV,YAAY;IACZ,UAAU;IACV,OAAO;IACP,SAAS;IACT,WAAW;CACZ,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"system-map-validator.js","sourceRoot":"","sources":["../src/system-map-validator.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @param {string} filePath - Path to NDJSON file
|
|
11
11
|
* @param {object} event - Event data to emit
|
|
12
12
|
*/
|
|
13
|
-
export declare function emit(filePath:
|
|
13
|
+
export declare function emit(filePath: UnsafeAny, event: UnsafeAny): void;
|
|
14
14
|
/**
|
|
15
15
|
* Emit a gates execution event
|
|
16
16
|
* @param {object} data - Gates event data
|
|
@@ -20,27 +20,27 @@ export declare function emit(filePath: any, event: any): void;
|
|
|
20
20
|
* @param {boolean} data.passed - Whether gate passed
|
|
21
21
|
* @param {number} data.duration_ms - Execution duration in milliseconds
|
|
22
22
|
*/
|
|
23
|
-
export declare function emitGateEvent(data:
|
|
23
|
+
export declare function emitGateEvent(data: UnsafeAny): void;
|
|
24
24
|
/**
|
|
25
25
|
* Get current WU ID from git branch or environment
|
|
26
26
|
* @returns {string|null} WU ID or null
|
|
27
27
|
*/
|
|
28
|
-
export declare function getCurrentWU(): string;
|
|
28
|
+
export declare function getCurrentWU(): string | null;
|
|
29
29
|
/**
|
|
30
30
|
* Get lane from git branch or environment
|
|
31
31
|
* @returns {string|null} Lane name or null
|
|
32
32
|
*/
|
|
33
|
-
export declare function getCurrentLane(): string;
|
|
33
|
+
export declare function getCurrentLane(): string | null;
|
|
34
34
|
/**
|
|
35
35
|
* Emit LLM classification start event
|
|
36
36
|
* @param {object} data - Classification start data
|
|
37
|
-
* @param {string} data.classification_type - Type of classification (e.g., 'mode_detection', 'red_flag', '
|
|
37
|
+
* @param {string} data.classification_type - Type of classification (e.g., 'mode_detection', 'red_flag', 'sensitive_data_detection')
|
|
38
38
|
* @param {boolean} [data.has_context] - Whether conversation context was provided
|
|
39
39
|
* @param {string} [data.wu_id] - Work Unit ID
|
|
40
40
|
* @param {string} [data.lane] - Lane name
|
|
41
41
|
* @param {string} [logPath] - Optional log path override (for testing)
|
|
42
42
|
*/
|
|
43
|
-
export declare function emitLLMClassificationStart(data:
|
|
43
|
+
export declare function emitLLMClassificationStart(data: UnsafeAny, logPath?: string): void;
|
|
44
44
|
/**
|
|
45
45
|
* Emit LLM classification complete event
|
|
46
46
|
* @param {object} data - Classification completion data
|
|
@@ -55,7 +55,7 @@ export declare function emitLLMClassificationStart(data: any, logPath?: string):
|
|
|
55
55
|
* @param {string} [data.lane] - Lane name
|
|
56
56
|
* @param {string} [logPath] - Optional log path override (for testing)
|
|
57
57
|
*/
|
|
58
|
-
export declare function emitLLMClassificationComplete(data:
|
|
58
|
+
export declare function emitLLMClassificationComplete(data: UnsafeAny, logPath?: string): void;
|
|
59
59
|
/**
|
|
60
60
|
* Emit LLM classification error event
|
|
61
61
|
* @param {object} data - Classification error data
|
|
@@ -67,7 +67,7 @@ export declare function emitLLMClassificationComplete(data: any, logPath?: strin
|
|
|
67
67
|
* @param {string} [data.lane] - Lane name
|
|
68
68
|
* @param {string} [logPath] - Optional log path override (for testing)
|
|
69
69
|
*/
|
|
70
|
-
export declare function emitLLMClassificationError(data:
|
|
70
|
+
export declare function emitLLMClassificationError(data: UnsafeAny, logPath?: string): void;
|
|
71
71
|
/**
|
|
72
72
|
* Emit WU flow telemetry event to .lumenflow/flow.log
|
|
73
73
|
*
|
|
@@ -77,5 +77,5 @@ export declare function emitLLMClassificationError(data: any, logPath?: string):
|
|
|
77
77
|
* @param {object} event - Event data (script, wu_id, lane, step, etc.)
|
|
78
78
|
* @param {string} [logPath] - Optional log path override (for testing)
|
|
79
79
|
*/
|
|
80
|
-
export declare function emitWUFlowEvent(event:
|
|
80
|
+
export declare function emitWUFlowEvent(event: UnsafeAny, logPath?: string): void;
|
|
81
81
|
//# sourceMappingURL=telemetry.d.ts.map
|
package/dist/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAuBH;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAuBH;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,QASzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,QAU5C;AAED;;;GAGG;AACH,wBAAgB,YAAY,kBAiB3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,kBAkB7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,SAAyB,QAU3F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,SAAyB,QAqB9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,SAAyB,QAsB3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,SAAW,QAanE"}
|
package/dist/telemetry.js
CHANGED
|
@@ -95,8 +95,9 @@ export function getCurrentLane() {
|
|
|
95
95
|
}).trim();
|
|
96
96
|
// Extract lane from branch name (e.g., lane/operations/wu-402 -> Operations)
|
|
97
97
|
const match = branch.match(/^lane\/([^/]+)\//i);
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
const laneSegment = match?.[1];
|
|
99
|
+
if (laneSegment) {
|
|
100
|
+
return laneSegment.charAt(0).toUpperCase() + laneSegment.slice(1).toLowerCase();
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
catch {
|
|
@@ -107,7 +108,7 @@ export function getCurrentLane() {
|
|
|
107
108
|
/**
|
|
108
109
|
* Emit LLM classification start event
|
|
109
110
|
* @param {object} data - Classification start data
|
|
110
|
-
* @param {string} data.classification_type - Type of classification (e.g., 'mode_detection', 'red_flag', '
|
|
111
|
+
* @param {string} data.classification_type - Type of classification (e.g., 'mode_detection', 'red_flag', 'sensitive_data_detection')
|
|
111
112
|
* @param {boolean} [data.has_context] - Whether conversation context was provided
|
|
112
113
|
* @param {string} [data.wu_id] - Work Unit ID
|
|
113
114
|
* @param {string} [data.lane] - Lane name
|
|
@@ -139,7 +140,7 @@ export function emitLLMClassificationStart(data, logPath = LLM_CLASSIFICATION_LO
|
|
|
139
140
|
* @param {string} [logPath] - Optional log path override (for testing)
|
|
140
141
|
*/
|
|
141
142
|
export function emitLLMClassificationComplete(data, logPath = LLM_CLASSIFICATION_LOG) {
|
|
142
|
-
// PII Protection: Explicitly exclude
|
|
143
|
+
// PII Protection: Explicitly exclude UnsafeAny user input fields
|
|
143
144
|
const event = {
|
|
144
145
|
timestamp: new Date().toISOString(),
|
|
145
146
|
event_type: 'llm.classification.complete',
|
|
@@ -183,7 +184,7 @@ export function emitLLMClassificationError(data, logPath = LLM_CLASSIFICATION_LO
|
|
|
183
184
|
if (data.duration_ms !== undefined) {
|
|
184
185
|
event.duration_ms = data.duration_ms;
|
|
185
186
|
}
|
|
186
|
-
// Explicitly redact
|
|
187
|
+
// Explicitly redact UnsafeAny input_text_preview to prevent PII leakage
|
|
187
188
|
if (data.input_text_preview) {
|
|
188
189
|
event.input_text_preview = '[REDACTED]';
|
|
189
190
|
}
|