@lumenflow/core 3.4.0 → 3.5.1
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/adapters/context-adapters.d.ts +75 -3
- package/dist/adapters/context-adapters.d.ts.map +1 -1
- package/dist/adapters/context-adapters.js +74 -3
- package/dist/adapters/context-adapters.js.map +1 -1
- package/dist/agent-patterns-registry.d.ts.map +1 -1
- package/dist/agent-patterns-registry.js +2 -1
- package/dist/agent-patterns-registry.js.map +1 -1
- package/dist/arg-parser.d.ts.map +1 -1
- package/dist/arg-parser.js +31 -0
- package/dist/arg-parser.js.map +1 -1
- package/dist/atomic-merge.d.ts.map +1 -1
- package/dist/atomic-merge.js +3 -4
- package/dist/atomic-merge.js.map +1 -1
- package/dist/backlog-parser.d.ts +1 -1
- package/dist/backlog-parser.d.ts.map +1 -1
- package/dist/backlog-parser.js.map +1 -1
- package/dist/branch-check.d.ts.map +1 -1
- package/dist/branch-check.js +3 -2
- package/dist/branch-check.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 +13 -4
- package/dist/cleanup-lock.d.ts.map +1 -1
- package/dist/cleanup-lock.js +1 -1
- package/dist/cleanup-lock.js.map +1 -1
- package/dist/code-path-validator.d.ts.map +1 -1
- package/dist/code-path-validator.js +3 -2
- package/dist/code-path-validator.js.map +1 -1
- package/dist/code-paths-overlap.d.ts +2 -2
- 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/commands-logger.d.ts.map +1 -1
- package/dist/commands-logger.js +17 -9
- 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/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/core/scope-checker.d.ts +2 -2
- package/dist/core/scope-checker.d.ts.map +1 -1
- package/dist/core/scope-checker.js +18 -25
- package/dist/core/scope-checker.js.map +1 -1
- package/dist/core/tool-runner.d.ts.map +1 -1
- package/dist/core/tool-runner.js +2 -1
- package/dist/core/tool-runner.js.map +1 -1
- package/dist/core/worktree-guard.d.ts.map +1 -1
- package/dist/core/worktree-guard.js +12 -17
- package/dist/core/worktree-guard.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 +2 -2
- package/dist/date-utils.js.map +1 -1
- package/dist/delegation-escalation.d.ts.map +1 -1
- package/dist/delegation-escalation.js +6 -5
- package/dist/delegation-escalation.js.map +1 -1
- package/dist/delegation-registry-store.d.ts.map +1 -1
- package/dist/delegation-registry-store.js +6 -5
- package/dist/delegation-registry-store.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 +4 -3
- package/dist/dependency-guard.js.map +1 -1
- package/dist/docs-layout-presets.d.ts +2 -0
- package/dist/docs-layout-presets.d.ts.map +1 -1
- package/dist/docs-layout-presets.js +1 -0
- package/dist/docs-layout-presets.js.map +1 -1
- package/dist/docs-path-validator.d.ts +2 -2
- package/dist/docs-path-validator.d.ts.map +1 -1
- package/dist/docs-path-validator.js.map +1 -1
- package/dist/domain/index.d.ts +1 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +2 -0
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/result.d.ts +116 -0
- package/dist/domain/result.d.ts.map +1 -0
- package/dist/domain/result.js +96 -0
- package/dist/domain/result.js.map +1 -0
- package/dist/domain/validation.schemas.d.ts +3 -3
- package/dist/error-handler.d.ts +36 -3
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js +36 -0
- 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/gates-coverage.js.map +1 -1
- package/dist/git-adapter.d.ts.map +1 -1
- package/dist/git-adapter.js +5 -4
- package/dist/git-adapter.js.map +1 -1
- package/dist/incremental-lint.d.ts +3 -3
- 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 +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/invariants/check-automated-tests.d.ts +1 -1
- package/dist/invariants/check-automated-tests.d.ts.map +1 -1
- package/dist/invariants/check-automated-tests.js.map +1 -1
- package/dist/invariants-runner.d.ts.map +1 -1
- package/dist/invariants-runner.js +4 -4
- package/dist/invariants-runner.js.map +1 -1
- package/dist/lane-validator.d.ts +17 -10
- 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.map +1 -1
- package/dist/lumenflow-config-schema.d.ts +8 -0
- package/dist/lumenflow-config-schema.d.ts.map +1 -1
- package/dist/lumenflow-config-schema.js +3 -1
- package/dist/lumenflow-config-schema.js.map +1 -1
- package/dist/lumenflow-config.d.ts +9 -2
- package/dist/lumenflow-config.d.ts.map +1 -1
- package/dist/lumenflow-config.js +12 -4
- package/dist/lumenflow-config.js.map +1 -1
- package/dist/manual-test-validator.d.ts +14 -6
- package/dist/manual-test-validator.d.ts.map +1 -1
- package/dist/manual-test-validator.js +8 -7
- package/dist/manual-test-validator.js.map +1 -1
- package/dist/micro-worktree.d.ts.map +1 -1
- package/dist/micro-worktree.js +6 -5
- package/dist/micro-worktree.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/pack-authoring-template-engine.d.ts.map +1 -1
- package/dist/pack-authoring-template-engine.js +8 -7
- package/dist/pack-authoring-template-engine.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/path-factory.d.ts +54 -0
- package/dist/path-factory.d.ts.map +1 -0
- package/dist/path-factory.js +67 -0
- package/dist/path-factory.js.map +1 -0
- package/dist/piped-command-detector.d.ts +2 -2
- package/dist/piped-command-detector.d.ts.map +1 -1
- package/dist/piped-command-detector.js.map +1 -1
- package/dist/ports/context.ports.d.ts +16 -0
- package/dist/ports/context.ports.d.ts.map +1 -1
- package/dist/ports/recovery.ports.d.ts +10 -0
- package/dist/ports/recovery.ports.d.ts.map +1 -1
- package/dist/ports/validation.ports.d.ts +5 -0
- package/dist/ports/validation.ports.d.ts.map +1 -1
- package/dist/ports/wu-state.ports.d.ts +8 -0
- package/dist/ports/wu-state.ports.d.ts.map +1 -1
- package/dist/process-detector.d.ts +13 -6
- package/dist/process-detector.d.ts.map +1 -1
- package/dist/process-detector.js +3 -2
- package/dist/process-detector.js.map +1 -1
- package/dist/prompt-linter.d.ts +19 -1
- package/dist/prompt-linter.d.ts.map +1 -1
- package/dist/prompt-linter.js +13 -18
- package/dist/prompt-linter.js.map +1 -1
- package/dist/prompt-monitor.js +13 -9
- package/dist/prompt-monitor.js.map +1 -1
- package/dist/retry-strategy.d.ts +18 -39
- package/dist/retry-strategy.d.ts.map +1 -1
- package/dist/retry-strategy.js +13 -9
- package/dist/retry-strategy.js.map +1 -1
- package/dist/schemas/directories-config.d.ts +1 -0
- package/dist/schemas/directories-config.d.ts.map +1 -1
- package/dist/schemas/directories-config.js +2 -0
- package/dist/schemas/directories-config.js.map +1 -1
- package/dist/schemas/flow-arg-validators.d.ts +6 -6
- package/dist/schemas/flow-schemas.d.ts +12 -12
- package/dist/schemas/initiative-arg-validators.d.ts +2 -2
- package/dist/schemas/initiative-schemas.d.ts +5 -5
- package/dist/schemas/operational-config.d.ts +17 -0
- package/dist/schemas/operational-config.d.ts.map +1 -1
- package/dist/schemas/operational-config.js +21 -0
- package/dist/schemas/operational-config.js.map +1 -1
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -2
- package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -4
- package/dist/section-headings.d.ts +1 -1
- package/dist/section-headings.d.ts.map +1 -1
- package/dist/section-headings.js.map +1 -1
- package/dist/telemetry.d.ts +65 -6
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +516 -3
- package/dist/telemetry.js.map +1 -1
- package/dist/usecases/index.d.ts +9 -0
- package/dist/usecases/index.d.ts.map +1 -1
- package/dist/usecases/index.js +9 -0
- package/dist/usecases/index.js.map +1 -1
- package/dist/user-normalizer.d.ts +3 -3
- package/dist/user-normalizer.d.ts.map +1 -1
- package/dist/user-normalizer.js +1 -1
- package/dist/user-normalizer.js.map +1 -1
- package/dist/worktree-ownership.d.ts +1 -1
- package/dist/worktree-ownership.d.ts.map +1 -1
- package/dist/worktree-ownership.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 +16 -9
- package/dist/wu-checkpoint.d.ts.map +1 -1
- package/dist/wu-checkpoint.js +0 -10
- package/dist/wu-checkpoint.js.map +1 -1
- package/dist/wu-claim-helpers.d.ts +4 -2
- package/dist/wu-claim-helpers.d.ts.map +1 -1
- package/dist/wu-claim-helpers.js +2 -1
- package/dist/wu-claim-helpers.js.map +1 -1
- package/dist/wu-claim-resume.d.ts +49 -37
- package/dist/wu-claim-resume.d.ts.map +1 -1
- package/dist/wu-claim-resume.js +9 -6
- package/dist/wu-claim-resume.js.map +1 -1
- package/dist/wu-consistency-file-repairs.d.ts.map +1 -1
- package/dist/wu-consistency-file-repairs.js +2 -1
- package/dist/wu-consistency-file-repairs.js.map +1 -1
- package/dist/wu-constants.d.ts +1 -1
- package/dist/wu-constants.d.ts.map +1 -1
- package/dist/wu-constants.js +1 -1
- package/dist/wu-constants.js.map +1 -1
- package/dist/wu-context-constants.d.ts +68 -0
- package/dist/wu-context-constants.d.ts.map +1 -1
- package/dist/wu-context-constants.js +73 -0
- package/dist/wu-context-constants.js.map +1 -1
- package/dist/wu-create-validators.d.ts +8 -5
- package/dist/wu-create-validators.d.ts.map +1 -1
- package/dist/wu-create-validators.js +2 -2
- package/dist/wu-create-validators.js.map +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-concurrent-merge.d.ts.map +1 -1
- package/dist/wu-done-concurrent-merge.js +8 -7
- package/dist/wu-done-concurrent-merge.js.map +1 -1
- 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-preflight-checks.js +2 -2
- package/dist/wu-done-preflight-checks.js.map +1 -1
- package/dist/wu-done-preflight.d.ts.map +1 -1
- package/dist/wu-done-preflight.js +3 -2
- package/dist/wu-done-preflight.js.map +1 -1
- package/dist/wu-done-rebase.d.ts.map +1 -1
- package/dist/wu-done-rebase.js +6 -8
- package/dist/wu-done-rebase.js.map +1 -1
- package/dist/wu-done-retry-helpers.d.ts +30 -7
- package/dist/wu-done-retry-helpers.d.ts.map +1 -1
- package/dist/wu-done-retry-helpers.js +17 -14
- package/dist/wu-done-retry-helpers.js.map +1 -1
- package/dist/wu-done-ui.d.ts +1 -1
- package/dist/wu-done-ui.d.ts.map +1 -1
- package/dist/wu-done-ui.js +1 -3
- package/dist/wu-done-ui.js.map +1 -1
- package/dist/wu-done-validation.js.map +1 -1
- package/dist/wu-done-worktree.js.map +1 -1
- package/dist/wu-event-sourcer.d.ts +14 -0
- package/dist/wu-event-sourcer.d.ts.map +1 -1
- package/dist/wu-event-sourcer.js +78 -38
- package/dist/wu-event-sourcer.js.map +1 -1
- package/dist/wu-events-cleanup.d.ts.map +1 -1
- package/dist/wu-events-cleanup.js +4 -3
- package/dist/wu-events-cleanup.js.map +1 -1
- package/dist/wu-helpers.d.ts.map +1 -1
- package/dist/wu-helpers.js +3 -3
- package/dist/wu-helpers.js.map +1 -1
- package/dist/wu-id-generator.d.ts.map +1 -1
- package/dist/wu-id-generator.js +2 -1
- package/dist/wu-id-generator.js.map +1 -1
- package/dist/wu-lint.d.ts +61 -78
- package/dist/wu-lint.d.ts.map +1 -1
- package/dist/wu-lint.js +9 -4
- package/dist/wu-lint.js.map +1 -1
- package/dist/wu-lock-manager.d.ts.map +1 -1
- package/dist/wu-lock-manager.js +2 -1
- package/dist/wu-lock-manager.js.map +1 -1
- package/dist/wu-paths-constants.d.ts +4 -0
- package/dist/wu-paths-constants.d.ts.map +1 -1
- package/dist/wu-paths-constants.js +4 -0
- package/dist/wu-paths-constants.js.map +1 -1
- package/dist/wu-paths.d.ts +10 -0
- package/dist/wu-paths.d.ts.map +1 -1
- package/dist/wu-paths.js +5 -0
- package/dist/wu-paths.js.map +1 -1
- package/dist/wu-recovery.js +2 -2
- package/dist/wu-recovery.js.map +1 -1
- package/dist/wu-repair-core.js +1 -1
- package/dist/wu-repair-core.js.map +1 -1
- package/dist/wu-rules-core.d.ts.map +1 -1
- package/dist/wu-rules-core.js +2 -1
- package/dist/wu-rules-core.js.map +1 -1
- package/dist/wu-schema-normalization.d.ts +3 -1
- package/dist/wu-schema-normalization.d.ts.map +1 -1
- package/dist/wu-schema-normalization.js +6 -4
- package/dist/wu-schema-normalization.js.map +1 -1
- package/dist/wu-schema.d.ts +64 -5
- package/dist/wu-schema.d.ts.map +1 -1
- package/dist/wu-schema.js +48 -5
- package/dist/wu-schema.js.map +1 -1
- package/dist/wu-spawn-context.d.ts.map +1 -1
- package/dist/wu-spawn-context.js +2 -1
- package/dist/wu-spawn-context.js.map +1 -1
- package/dist/wu-spawn-helpers.d.ts.map +1 -1
- package/dist/wu-spawn-helpers.js +4 -4
- package/dist/wu-spawn-helpers.js.map +1 -1
- package/dist/wu-spawn.js.map +1 -1
- package/dist/wu-state-schema.d.ts +1 -1
- 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 +1 -1
- package/dist/wu-state-store.d.ts.map +1 -1
- package/dist/wu-state-store.js +6 -5
- package/dist/wu-state-store.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.map +1 -1
- package/dist/wu-yaml.d.ts +12 -9
- package/dist/wu-yaml.d.ts.map +1 -1
- package/dist/wu-yaml.js +57 -53
- package/dist/wu-yaml.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-classifiers.js","sourceRoot":"","sources":["../src/path-classifiers.ts"],"names":[],"mappings":";AACA,iCAAiC;AACjC,yCAAyC;AACzC;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;GAEG;AACH,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAEI,EAAE;IAEN,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,EAAE,GAAG,yBAAyB,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"path-classifiers.js","sourceRoot":"","sources":["../src/path-classifiers.ts"],"names":[],"mappings":";AACA,iCAAiC;AACjC,yCAAyC;AACzC;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;GAEG;AACH,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAEI,EAAE;IAEN,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,EAAE,GAAG,yBAAyB,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oEAAoE;IACpE,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAsC;IACvE,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { LUMENFLOW_PATHS } from './wu-paths-constants.js';
|
|
2
|
+
/**
|
|
3
|
+
* Valid keys for LUMENFLOW_PATHS constant lookups.
|
|
4
|
+
*/
|
|
5
|
+
export type LumenflowPathKey = keyof typeof LUMENFLOW_PATHS;
|
|
6
|
+
/**
|
|
7
|
+
* PathFactory interface: consistent API for resolving project-relative paths.
|
|
8
|
+
*/
|
|
9
|
+
export interface PathFactory {
|
|
10
|
+
/** Absolute path to the project root directory. */
|
|
11
|
+
readonly projectRoot: string;
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a relative path against projectRoot.
|
|
14
|
+
*
|
|
15
|
+
* If the path is already absolute, it is returned unchanged.
|
|
16
|
+
* If the path is empty, projectRoot is returned.
|
|
17
|
+
*
|
|
18
|
+
* @param relativePath - Path relative to project root
|
|
19
|
+
* @returns Absolute path
|
|
20
|
+
*/
|
|
21
|
+
resolve(relativePath: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a LUMENFLOW_PATHS constant to an absolute path.
|
|
24
|
+
*
|
|
25
|
+
* @param key - A key from LUMENFLOW_PATHS (e.g., 'COMMANDS_LOG', 'TELEMETRY')
|
|
26
|
+
* @returns Absolute path
|
|
27
|
+
* @throws Error if key is not a valid LUMENFLOW_PATHS key
|
|
28
|
+
*/
|
|
29
|
+
resolveLumenflowPath(key: LumenflowPathKey): string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Options for creating a PathFactory.
|
|
33
|
+
*/
|
|
34
|
+
export interface PathFactoryOptions {
|
|
35
|
+
/**
|
|
36
|
+
* Override project root directory.
|
|
37
|
+
* If omitted, uses config-based project root discovery.
|
|
38
|
+
*/
|
|
39
|
+
projectRoot?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a PathFactory instance.
|
|
43
|
+
*
|
|
44
|
+
* Consolidates path resolution into one testable boundary.
|
|
45
|
+
* Replaces:
|
|
46
|
+
* - `resolve(__dirname, '../..')` in prompt-monitor.ts, prompt-linter.ts, commands-logger.ts
|
|
47
|
+
* - `getProjectRoot(import.meta.url)` from wu-domain-constants.ts
|
|
48
|
+
* - `resolveFromProjectRoot(relativePath)` from wu-paths.ts
|
|
49
|
+
*
|
|
50
|
+
* @param options - Configuration options
|
|
51
|
+
* @returns PathFactory instance
|
|
52
|
+
*/
|
|
53
|
+
export declare function createPathFactory(options?: PathFactoryOptions): PathFactory;
|
|
54
|
+
//# sourceMappingURL=path-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-factory.d.ts","sourceRoot":"","sources":["../src/path-factory.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,eAAe,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC;;;;;;OAMG;IACH,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAiC/E"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* PathFactory - Shared path resolution for all packages
|
|
5
|
+
*
|
|
6
|
+
* WU-2124: Consolidates 3 independent path resolution patterns into a single
|
|
7
|
+
* factory with a consistent API:
|
|
8
|
+
* (1) direct __dirname-relative paths (prompt-monitor, prompt-linter, commands-logger)
|
|
9
|
+
* (2) ILocationResolver.resolveRoot() adapter calls
|
|
10
|
+
* (3) inline resolve(__dirname, '../..') patterns
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { createPathFactory } from './path-factory.js';
|
|
15
|
+
*
|
|
16
|
+
* const paths = createPathFactory({ projectRoot: '/repo' });
|
|
17
|
+
* paths.resolve('.lumenflow/commands.log'); // => '/repo/.lumenflow/commands.log'
|
|
18
|
+
* paths.resolveLumenflowPath('COMMANDS_LOG'); // => '/repo/.lumenflow/commands.log'
|
|
19
|
+
* paths.projectRoot; // => '/repo'
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @module path-factory
|
|
23
|
+
*/
|
|
24
|
+
import * as path from 'node:path';
|
|
25
|
+
import { LUMENFLOW_PATHS } from './wu-paths-constants.js';
|
|
26
|
+
import { getProjectRoot as getProjectRootFromConfig } from './lumenflow-config.js';
|
|
27
|
+
import { createError, ErrorCodes } from './error-handler.js';
|
|
28
|
+
/**
|
|
29
|
+
* Create a PathFactory instance.
|
|
30
|
+
*
|
|
31
|
+
* Consolidates path resolution into one testable boundary.
|
|
32
|
+
* Replaces:
|
|
33
|
+
* - `resolve(__dirname, '../..')` in prompt-monitor.ts, prompt-linter.ts, commands-logger.ts
|
|
34
|
+
* - `getProjectRoot(import.meta.url)` from wu-domain-constants.ts
|
|
35
|
+
* - `resolveFromProjectRoot(relativePath)` from wu-paths.ts
|
|
36
|
+
*
|
|
37
|
+
* @param options - Configuration options
|
|
38
|
+
* @returns PathFactory instance
|
|
39
|
+
*/
|
|
40
|
+
export function createPathFactory(options = {}) {
|
|
41
|
+
const projectRoot = options.projectRoot ?? getProjectRootFromConfig();
|
|
42
|
+
return {
|
|
43
|
+
get projectRoot() {
|
|
44
|
+
return projectRoot;
|
|
45
|
+
},
|
|
46
|
+
resolve(relativePath) {
|
|
47
|
+
if (!relativePath) {
|
|
48
|
+
return projectRoot;
|
|
49
|
+
}
|
|
50
|
+
if (path.isAbsolute(relativePath)) {
|
|
51
|
+
return relativePath;
|
|
52
|
+
}
|
|
53
|
+
return path.join(projectRoot, relativePath);
|
|
54
|
+
},
|
|
55
|
+
resolveLumenflowPath(key) {
|
|
56
|
+
// TypeScript enforces key validity at compile time via LumenflowPathKey type.
|
|
57
|
+
// Runtime check uses 'in' operator for defense-in-depth without triggering
|
|
58
|
+
// sonarjs/different-types-comparison on the value check.
|
|
59
|
+
if (!(key in LUMENFLOW_PATHS)) {
|
|
60
|
+
throw createError(ErrorCodes.INVALID_ARGUMENT, `Unknown LUMENFLOW_PATHS key: ${String(key)}`, { key: String(key) });
|
|
61
|
+
}
|
|
62
|
+
const relativePath = LUMENFLOW_PATHS[key];
|
|
63
|
+
return path.join(projectRoot, String(relativePath));
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=path-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-factory.js","sourceRoot":"","sources":["../src/path-factory.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA8C7D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,wBAAwB,EAAE,CAAC;IAEtE,OAAO;QACL,IAAI,WAAW;YACb,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,YAAoB;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,oBAAoB,CAAC,GAAqB;YACxC,8EAA8E;YAC9E,2EAA2E;YAC3E,yDAAyD;YACzD,IAAI,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC;gBAC9B,MAAM,WAAW,CACf,UAAU,CAAC,gBAAgB,EAC3B,gCAAgC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7C,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CACrB,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* @param {string} command - Shell command to analyze
|
|
15
15
|
* @returns {boolean} True if command is a piped pnpm dependency command
|
|
16
16
|
*/
|
|
17
|
-
export declare function isPipedPnpmCommand(command:
|
|
17
|
+
export declare function isPipedPnpmCommand(command: string): boolean;
|
|
18
18
|
/**
|
|
19
19
|
* Check if a command contains UnsafeAny dependency-mutating pnpm subcommand
|
|
20
20
|
*
|
|
21
21
|
* @param {string} command - Shell command to analyze
|
|
22
22
|
* @returns {boolean} True if command contains pnpm dependency mutation
|
|
23
23
|
*/
|
|
24
|
-
export declare function containsPnpmDependencyCommand(command:
|
|
24
|
+
export declare function containsPnpmDependencyCommand(command: string): boolean;
|
|
25
25
|
//# sourceMappingURL=piped-command-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piped-command-detector.d.ts","sourceRoot":"","sources":["../src/piped-command-detector.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"piped-command-detector.d.ts","sourceRoot":"","sources":["../src/piped-command-detector.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,WAqBjD;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,WAQ5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piped-command-detector.js","sourceRoot":"","sources":["../src/piped-command-detector.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"piped-command-detector.js","sourceRoot":"","sources":["../src/piped-command-detector.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8D;IAC9D,kDAAkD;IAClD,MAAM,aAAa,GAAG,8DAA8D,CAAC;IACrF,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IAC1C,yDAAyD;IACzD,MAAM,eAAe,GAAG,oEAAoE,CAAC;IAC7F,MAAM,cAAc,GAAG,iEAAiE,CAAC;IACzF,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAe;IAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4HAA4H;IAC5H,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,YAAY,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -2,10 +2,16 @@
|
|
|
2
2
|
* Context Ports
|
|
3
3
|
*
|
|
4
4
|
* WU-1093: INIT-002 Phase 1 - Define ports and domain schemas
|
|
5
|
+
* WU-2128: Standardize error return contracts
|
|
5
6
|
*
|
|
6
7
|
* Port interfaces for context-aware validation system.
|
|
7
8
|
* These abstractions allow external users to inject custom implementations.
|
|
8
9
|
*
|
|
10
|
+
* Error Contract (WU-2128):
|
|
11
|
+
* Port methods THROW on failure. This is the boundary contract at the
|
|
12
|
+
* hexagonal architecture edge. Adapters provide companion *Safe methods
|
|
13
|
+
* that return Result<T, E> for callers preferring explicit error handling.
|
|
14
|
+
*
|
|
9
15
|
* Hexagonal Architecture - Input Ports:
|
|
10
16
|
* - ILocationResolver: Detect main checkout vs worktree
|
|
11
17
|
* - IGitStateReader: Read git branch, dirty state, ahead/behind
|
|
@@ -51,8 +57,11 @@ export interface ILocationResolver {
|
|
|
51
57
|
/**
|
|
52
58
|
* Resolve location context for the given working directory.
|
|
53
59
|
*
|
|
60
|
+
* Error contract: THROWS on failure (port boundary contract).
|
|
61
|
+
*
|
|
54
62
|
* @param cwd - Current working directory (defaults to process.cwd())
|
|
55
63
|
* @returns Promise<LocationContext> - Resolved location context
|
|
64
|
+
* @throws Error if location resolution fails (e.g., not a git repository)
|
|
56
65
|
*/
|
|
57
66
|
resolveLocation(cwd?: string): Promise<LocationContext>;
|
|
58
67
|
}
|
|
@@ -92,8 +101,11 @@ export interface IGitStateReader {
|
|
|
92
101
|
/**
|
|
93
102
|
* Read current git state for the given working directory.
|
|
94
103
|
*
|
|
104
|
+
* Error contract: THROWS on failure (port boundary contract).
|
|
105
|
+
*
|
|
95
106
|
* @param cwd - Current working directory (defaults to process.cwd())
|
|
96
107
|
* @returns Promise<GitState> - Current git state
|
|
108
|
+
* @throws Error if git state reading fails (e.g., git not available)
|
|
97
109
|
*/
|
|
98
110
|
readGitState(cwd?: string): Promise<GitState>;
|
|
99
111
|
}
|
|
@@ -126,9 +138,13 @@ export interface IWuStateReader {
|
|
|
126
138
|
/**
|
|
127
139
|
* Read WU state from YAML and detect inconsistencies.
|
|
128
140
|
*
|
|
141
|
+
* Error contract: THROWS on failure (port boundary contract).
|
|
142
|
+
* Returns null (not an error) when the WU does not exist.
|
|
143
|
+
*
|
|
129
144
|
* @param wuId - WU ID (e.g., 'WU-1093' or 'wu-1093')
|
|
130
145
|
* @param repoRoot - Repository root path
|
|
131
146
|
* @returns Promise<WuStateResult | null> - WU state or null if not found
|
|
147
|
+
* @throws Error if YAML reading/parsing fails
|
|
132
148
|
*/
|
|
133
149
|
readWuState(wuId: string, repoRoot: string): Promise<WuStateResult | null>;
|
|
134
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.ports.d.ts","sourceRoot":"","sources":["../../src/ports/context.ports.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"context.ports.d.ts","sourceRoot":"","sources":["../../src/ports/context.ports.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;OAQG;IACH,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAC5E;AAGD,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -2,10 +2,16 @@
|
|
|
2
2
|
* Recovery Ports
|
|
3
3
|
*
|
|
4
4
|
* WU-1093: INIT-002 Phase 1 - Define ports and domain schemas
|
|
5
|
+
* WU-2128: Standardize error return contracts
|
|
5
6
|
*
|
|
6
7
|
* Port interfaces for recovery-related operations.
|
|
7
8
|
* These abstractions allow external users to inject custom implementations.
|
|
8
9
|
*
|
|
10
|
+
* Error Contract (WU-2128):
|
|
11
|
+
* Port methods THROW on failure (boundary contracts).
|
|
12
|
+
* The analyzeRecovery method returns a RecoveryAnalysis with hasIssues=false
|
|
13
|
+
* when no problems are detected -- absence of issues is a valid result, not an error.
|
|
14
|
+
*
|
|
9
15
|
* Hexagonal Architecture - Input Ports:
|
|
10
16
|
* - IRecoveryAnalyzer: Analyze WU state issues and suggest recovery actions
|
|
11
17
|
*
|
|
@@ -50,8 +56,12 @@ export interface IRecoveryAnalyzer {
|
|
|
50
56
|
/**
|
|
51
57
|
* Analyze context for recovery issues.
|
|
52
58
|
*
|
|
59
|
+
* Error contract: THROWS on failure (port boundary contract).
|
|
60
|
+
* Returns RecoveryAnalysis with hasIssues=false when no problems detected.
|
|
61
|
+
*
|
|
53
62
|
* @param context - Current WU context
|
|
54
63
|
* @returns Promise<RecoveryAnalysis> - Recovery analysis with issues and suggested actions
|
|
64
|
+
* @throws Error if analysis fails (e.g., filesystem access error)
|
|
55
65
|
*/
|
|
56
66
|
analyzeRecovery(context: WuContext): Promise<RecoveryAnalysis>;
|
|
57
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.ports.d.ts","sourceRoot":"","sources":["../../src/ports/recovery.ports.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"recovery.ports.d.ts","sourceRoot":"","sources":["../../src/ports/recovery.ports.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChE;AAGD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
* Validation Ports
|
|
3
3
|
*
|
|
4
4
|
* WU-1093: INIT-002 Phase 1 - Define ports and domain schemas
|
|
5
|
+
* WU-2128: Standardize error return contracts
|
|
5
6
|
*
|
|
6
7
|
* Port interfaces for validation-related operations.
|
|
7
8
|
* These abstractions allow external users to inject custom implementations.
|
|
8
9
|
*
|
|
10
|
+
* Error Contract (WU-2128):
|
|
11
|
+
* Port methods return null for "not found" (not an error condition).
|
|
12
|
+
* Port methods THROW for unexpected failures (e.g., registry corruption).
|
|
13
|
+
*
|
|
9
14
|
* Hexagonal Architecture - Input Ports:
|
|
10
15
|
* - ICommandRegistry: Lookup command definitions and validate commands
|
|
11
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.ports.d.ts","sourceRoot":"","sources":["../../src/ports/validation.ports.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"validation.ports.d.ts","sourceRoot":"","sources":["../../src/ports/validation.ports.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAEhE;;;;;;;;;;OAUG;IACH,0BAA0B,CAAC,OAAO,EAAE,SAAS,GAAG,iBAAiB,EAAE,CAAC;IAEpE;;;;OAIG;IACH,cAAc,IAAI,iBAAiB,EAAE,CAAC;CACvC;AAGD,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -4,6 +4,14 @@
|
|
|
4
4
|
* Focused interfaces for the decomposed WU state store services.
|
|
5
5
|
* Each interface defines a single responsibility boundary.
|
|
6
6
|
*
|
|
7
|
+
* Error Contract (WU-2128):
|
|
8
|
+
* Port methods THROW on failure (boundary contracts). Specifically:
|
|
9
|
+
* - State transition methods (claim, complete, block, etc.) throw if the
|
|
10
|
+
* WU is in an invalid state for the requested transition.
|
|
11
|
+
* - Lock methods (acquireLock) throw if the lock cannot be acquired.
|
|
12
|
+
* - Query methods (getWUState, getByStatus) return undefined/empty set for
|
|
13
|
+
* "not found" conditions -- absence of data is not an error.
|
|
14
|
+
*
|
|
7
15
|
* @module ports/wu-state
|
|
8
16
|
*/
|
|
9
17
|
import type { WUEvent } from '../wu-state-schema.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wu-state.ports.d.ts","sourceRoot":"","sources":["../../src/ports/wu-state.ports.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"wu-state.ports.d.ts","sourceRoot":"","sources":["../../src/ports/wu-state.ports.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAEnD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CAC9C;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW,EAAE,aAAa;IAC/D;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/E"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/** Process info from ps-list */
|
|
2
|
+
interface ProcessEntry {
|
|
3
|
+
pid: number;
|
|
4
|
+
name: string;
|
|
5
|
+
cmd?: string;
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
8
|
* Re-export interfering process names for external consumers.
|
|
3
9
|
* Source of truth is PROCESS_DETECTION.INTERFERING_NAMES in wu-constants.ts
|
|
@@ -18,14 +24,14 @@ export declare const INTERFERING_PROCESS_NAMES: string[];
|
|
|
18
24
|
* const processes = await psList();
|
|
19
25
|
* const interfering = filterProcessesForWorktree(processes, '/path/to/worktree');
|
|
20
26
|
*/
|
|
21
|
-
export declare function filterProcessesForWorktree(processes:
|
|
27
|
+
export declare function filterProcessesForWorktree(processes: readonly ProcessEntry[], worktreePath: string | null | undefined): ProcessEntry[];
|
|
22
28
|
/**
|
|
23
29
|
* Build a warning message for detected background processes.
|
|
24
30
|
*
|
|
25
31
|
* @param {Array<{pid: number, name: string, cmd?: string}>} processes - Detected processes
|
|
26
32
|
* @returns {string} Formatted warning message
|
|
27
33
|
*/
|
|
28
|
-
export declare function buildWarningMessage(processes:
|
|
34
|
+
export declare function buildWarningMessage(processes: readonly ProcessEntry[]): string;
|
|
29
35
|
/**
|
|
30
36
|
* Detect background processes that might interfere with wu:done.
|
|
31
37
|
*
|
|
@@ -42,12 +48,12 @@ export declare function buildWarningMessage(processes: UnsafeAny): string;
|
|
|
42
48
|
* console.warn(result.warnings.join('\n'));
|
|
43
49
|
* }
|
|
44
50
|
*/
|
|
45
|
-
export declare function detectBackgroundProcesses(worktreePath:
|
|
51
|
+
export declare function detectBackgroundProcesses(worktreePath: string | null | undefined): Promise<{
|
|
46
52
|
hasProcesses: boolean;
|
|
47
|
-
processes:
|
|
53
|
+
processes: ProcessEntry[];
|
|
48
54
|
warnings: string[];
|
|
49
55
|
} | {
|
|
50
|
-
error:
|
|
56
|
+
error: string;
|
|
51
57
|
hasProcesses: boolean;
|
|
52
58
|
processes: never[];
|
|
53
59
|
warnings: never[];
|
|
@@ -65,5 +71,6 @@ export declare function detectBackgroundProcesses(worktreePath: UnsafeAny): Prom
|
|
|
65
71
|
* // In wu-done.ts pre-flight checks:
|
|
66
72
|
* await runBackgroundProcessCheck(worktreePath);
|
|
67
73
|
*/
|
|
68
|
-
export declare function runBackgroundProcessCheck(worktreePath:
|
|
74
|
+
export declare function runBackgroundProcessCheck(worktreePath: string): Promise<void>;
|
|
75
|
+
export {};
|
|
69
76
|
//# sourceMappingURL=process-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-detector.d.ts","sourceRoot":"","sources":["../src/process-detector.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,UAAsC,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"process-detector.d.ts","sourceRoot":"","sources":["../src/process-detector.ts"],"names":[],"mappings":"AAmBA,gCAAgC;AAChC,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,UAAsC,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,YAAY,EAAE,CAkBhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAsC9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;GAiDtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAAC,YAAY,EAAE,MAAM,iBAcnE"}
|
package/dist/process-detector.js
CHANGED
|
@@ -140,10 +140,11 @@ export async function detectBackgroundProcesses(worktreePath) {
|
|
|
140
140
|
catch (error) {
|
|
141
141
|
// Handle ps-list errors gracefully (permission issues, etc.)
|
|
142
142
|
// Don't block wu:done on process detection failure
|
|
143
|
-
|
|
143
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
144
|
+
console.warn(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not detect background processes: ${errorMessage}`);
|
|
144
145
|
return {
|
|
145
146
|
...noProcessesResult,
|
|
146
|
-
error:
|
|
147
|
+
error: errorMessage,
|
|
147
148
|
};
|
|
148
149
|
}
|
|
149
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-detector.js","sourceRoot":"","sources":["../src/process-detector.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;GAWG;AAEH,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"process-detector.js","sourceRoot":"","sources":["../src/process-detector.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt-linter.d.ts
CHANGED
|
@@ -21,6 +21,22 @@ export declare function loadConfig(configPath?: string): {
|
|
|
21
21
|
};
|
|
22
22
|
retry_pattern: any;
|
|
23
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Lint a single prompt file
|
|
26
|
+
* @param {string} filePath - Absolute path to prompt file
|
|
27
|
+
* @param {Object} previousMetrics - Previous metrics for delta calculation
|
|
28
|
+
* @param {string} mode - Mode (pre-commit, pre-push, ci, local)
|
|
29
|
+
* @param {Object} config - Configuration object from loadConfig()
|
|
30
|
+
* @param {{quiet?: boolean, verbose?: boolean}} output - Output mode
|
|
31
|
+
* @returns {Promise<{passed: boolean, tokenCount: number, delta: number, hash: string}>}
|
|
32
|
+
*/
|
|
33
|
+
/** Result of linting a single prompt file */
|
|
34
|
+
interface LintFileResult {
|
|
35
|
+
passed: boolean;
|
|
36
|
+
tokenCount: number;
|
|
37
|
+
delta: number;
|
|
38
|
+
hash: string;
|
|
39
|
+
}
|
|
24
40
|
/**
|
|
25
41
|
* Options for linting prompts
|
|
26
42
|
*/
|
|
@@ -40,7 +56,9 @@ export interface LintPromptsOptions {
|
|
|
40
56
|
*/
|
|
41
57
|
export declare function lintPrompts(filePaths?: string[], mode?: string, configPath?: string | undefined, options?: LintPromptsOptions): Promise<{
|
|
42
58
|
passed: boolean;
|
|
43
|
-
results:
|
|
59
|
+
results: (LintFileResult & {
|
|
60
|
+
filePath: string;
|
|
61
|
+
})[];
|
|
44
62
|
config: {
|
|
45
63
|
version: any;
|
|
46
64
|
token_budgets: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-linter.d.ts","sourceRoot":"","sources":["../src/prompt-linter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt-linter.d.ts","sourceRoot":"","sources":["../src/prompt-linter.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,6BAA6B,0BAA0B,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,SAAsB;;;;;;;;;;;;;;;;EAyD1D;AAsHD;;;;;;;;GAQG;AACH,6CAA6C;AAC7C,UAAU,cAAc;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAqGD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,SAAS,GAAE,MAAM,EAAO,EACxB,IAAI,SAAU,EACd,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,OAAO,GAAE,kBAAuB;;;kBAiBkB,MAAM;;;;;;;;;;;;;;;;;;;GAuBzD;AAED;;GAEG;AACH,iBAAe,IAAI,kBAwClB;AAGD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACxC;AAUD,wBAAsB,kBAAkB,CACtC,IAAI,GAAE,mBAAoD,GACzD,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
package/dist/prompt-linter.js
CHANGED
|
@@ -16,18 +16,21 @@ import { analyzePrompt, getLongestLines } from './token-counter.js';
|
|
|
16
16
|
import { readFile, writeFile, mkdir, appendFile, access } from 'node:fs/promises';
|
|
17
17
|
import { existsSync, readFileSync } from 'node:fs';
|
|
18
18
|
import { resolve, dirname } from 'path';
|
|
19
|
-
import { fileURLToPath } from 'url';
|
|
20
19
|
import { glob } from 'glob';
|
|
21
20
|
import yaml from 'yaml';
|
|
22
|
-
import { EXIT_CODES, STRING_LITERALS
|
|
21
|
+
import { EXIT_CODES, STRING_LITERALS } from './wu-constants.js';
|
|
23
22
|
import { ProcessExitError } from './error-handler.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
import { createPathFactory } from './path-factory.js';
|
|
24
|
+
/**
|
|
25
|
+
* WU-2124: Use PathFactory for project root resolution.
|
|
26
|
+
* Replaces: resolve(__dirname, '../..')
|
|
27
|
+
*/
|
|
28
|
+
const pathFactory = createPathFactory();
|
|
29
|
+
const ROOT_DIR = pathFactory.projectRoot;
|
|
27
30
|
// Default config path
|
|
28
31
|
const DEFAULT_CONFIG_PATH = resolve(ROOT_DIR, 'config/prompts/linter.yml');
|
|
29
32
|
// Telemetry cache path (for storing previous metrics) - WU-1430: Use centralized constant
|
|
30
|
-
const METRICS_CACHE_PATH =
|
|
33
|
+
const METRICS_CACHE_PATH = pathFactory.resolveLumenflowPath('PROMPT_METRICS');
|
|
31
34
|
export const PROMPT_LINTER_FAILURE_MESSAGE = 'Prompt linter failed:';
|
|
32
35
|
/**
|
|
33
36
|
* Load config from YAML file with fallback to defaults
|
|
@@ -82,7 +85,8 @@ export function loadConfig(configPath = DEFAULT_CONFIG_PATH) {
|
|
|
82
85
|
}
|
|
83
86
|
catch (_error) {
|
|
84
87
|
// YAML parsing error or other failure, use defaults
|
|
85
|
-
|
|
88
|
+
const errorMessage = _error instanceof Error ? _error.message : String(_error);
|
|
89
|
+
console.error(`⚠️ Failed to load config from ${configPath}: ${errorMessage}`);
|
|
86
90
|
console.error(` Using default token budgets.`);
|
|
87
91
|
return defaults;
|
|
88
92
|
}
|
|
@@ -143,8 +147,8 @@ async function log(level, event, data, output = {}) {
|
|
|
143
147
|
event,
|
|
144
148
|
...data,
|
|
145
149
|
};
|
|
146
|
-
// For CLI, write to telemetry prompt lint file - WU-1430: Use
|
|
147
|
-
const ndjsonPath =
|
|
150
|
+
// For CLI, write to telemetry prompt lint file - WU-1430/WU-2124: Use PathFactory
|
|
151
|
+
const ndjsonPath = pathFactory.resolveLumenflowPath('PROMPT_LINT');
|
|
148
152
|
const line = `${JSON.stringify(entry)}${STRING_LITERALS.NEWLINE}`;
|
|
149
153
|
try {
|
|
150
154
|
const dir = dirname(ndjsonPath);
|
|
@@ -179,15 +183,6 @@ async function log(level, event, data, output = {}) {
|
|
|
179
183
|
}
|
|
180
184
|
}
|
|
181
185
|
}
|
|
182
|
-
/**
|
|
183
|
-
* Lint a single prompt file
|
|
184
|
-
* @param {string} filePath - Absolute path to prompt file
|
|
185
|
-
* @param {Object} previousMetrics - Previous metrics for delta calculation
|
|
186
|
-
* @param {string} mode - Mode (pre-commit, pre-push, ci, local)
|
|
187
|
-
* @param {Object} config - Configuration object from loadConfig()
|
|
188
|
-
* @param {{quiet?: boolean, verbose?: boolean}} output - Output mode
|
|
189
|
-
* @returns {Promise<{passed: boolean, tokenCount: number, delta: number, hash: string}>}
|
|
190
|
-
*/
|
|
191
186
|
async function lintPromptFile(filePath, previousMetrics, mode, config, output) {
|
|
192
187
|
// Analyze prompt
|
|
193
188
|
const { tokenCount, hash, text } = analyzePrompt(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-linter.js","sourceRoot":"","sources":["../src/prompt-linter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-linter.js","sourceRoot":"","sources":["../src/prompt-linter.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt-monitor.js
CHANGED
|
@@ -17,17 +17,21 @@
|
|
|
17
17
|
import { analyzePrompt } from './token-counter.js';
|
|
18
18
|
import { readFile, writeFile, mkdir, appendFile, access } from 'node:fs/promises';
|
|
19
19
|
import { resolve, dirname } from 'path';
|
|
20
|
-
import { fileURLToPath } from 'url';
|
|
21
20
|
import { glob } from 'glob';
|
|
22
|
-
import { EXIT_CODES, STRING_LITERALS
|
|
21
|
+
import { EXIT_CODES, STRING_LITERALS } from './wu-constants.js';
|
|
23
22
|
import { ProcessExitError } from './error-handler.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const
|
|
23
|
+
import { createPathFactory } from './path-factory.js';
|
|
24
|
+
/**
|
|
25
|
+
* WU-2124: Use PathFactory for project root resolution.
|
|
26
|
+
* Replaces: resolve(__dirname, '../..')
|
|
27
|
+
*/
|
|
28
|
+
const pathFactory = createPathFactory();
|
|
29
|
+
const ROOT_DIR = pathFactory.projectRoot;
|
|
30
|
+
// Paths (WU-2124: use PathFactory.resolveLumenflowPath instead of __dirname-relative)
|
|
31
|
+
const TELEMETRY_DIR = pathFactory.resolveLumenflowPath('TELEMETRY');
|
|
32
|
+
const YESTERDAY_METRICS_PATH = resolve(TELEMETRY_DIR, 'prompt-metrics-yesterday.json');
|
|
33
|
+
const TODAY_METRICS_PATH = resolve(TELEMETRY_DIR, 'prompt-metrics.json');
|
|
34
|
+
const NDJSON_LOG_PATH = resolve(TELEMETRY_DIR, 'prompt-nightly.ndjson');
|
|
31
35
|
// Alert thresholds
|
|
32
36
|
const WARN_THRESHOLD = 400;
|
|
33
37
|
const DELTA_THRESHOLD = 50;
|