@substrate-ai/core 0.19.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/dist/__tests__/adapter.test.d.ts +12 -0
- package/dist/__tests__/adapter.test.d.ts.map +1 -0
- package/dist/__tests__/adapter.test.js +259 -0
- package/dist/__tests__/adapter.test.js.map +1 -0
- package/dist/__tests__/event-bus.test.d.ts +14 -0
- package/dist/__tests__/event-bus.test.d.ts.map +1 -0
- package/dist/__tests__/event-bus.test.js +199 -0
- package/dist/__tests__/event-bus.test.js.map +1 -0
- package/dist/__tests__/output-quality.test.d.ts +8 -0
- package/dist/__tests__/output-quality.test.d.ts.map +1 -0
- package/dist/__tests__/output-quality.test.js +166 -0
- package/dist/__tests__/output-quality.test.js.map +1 -0
- package/dist/__tests__/schema-suffix.test.d.ts +9 -0
- package/dist/__tests__/schema-suffix.test.d.ts.map +1 -0
- package/dist/__tests__/schema-suffix.test.js +126 -0
- package/dist/__tests__/schema-suffix.test.js.map +1 -0
- package/dist/__tests__/yaml-parser.test.d.ts +18 -0
- package/dist/__tests__/yaml-parser.test.d.ts.map +1 -0
- package/dist/__tests__/yaml-parser.test.js +475 -0
- package/dist/__tests__/yaml-parser.test.js.map +1 -0
- package/dist/__type-checks__.d.ts +11 -0
- package/dist/__type-checks__.d.ts.map +1 -0
- package/dist/__type-checks__.js +19 -0
- package/dist/__type-checks__.js.map +1 -0
- package/dist/adapters/__tests__/adapter-output-normalizer.test.d.ts +12 -0
- package/dist/adapters/__tests__/adapter-output-normalizer.test.d.ts.map +1 -0
- package/dist/adapters/__tests__/adapter-output-normalizer.test.js +193 -0
- package/dist/adapters/__tests__/adapter-output-normalizer.test.js.map +1 -0
- package/dist/adapters/adapter-format-error.d.ts +35 -0
- package/dist/adapters/adapter-format-error.d.ts.map +1 -0
- package/dist/adapters/adapter-format-error.js +38 -0
- package/dist/adapters/adapter-format-error.js.map +1 -0
- package/dist/adapters/adapter-output-normalizer.d.ts +50 -0
- package/dist/adapters/adapter-output-normalizer.d.ts.map +1 -0
- package/dist/adapters/adapter-output-normalizer.js +233 -0
- package/dist/adapters/adapter-output-normalizer.js.map +1 -0
- package/dist/adapters/adapter-registry.d.ts +50 -0
- package/dist/adapters/adapter-registry.d.ts.map +1 -0
- package/dist/adapters/adapter-registry.js +101 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/claude-adapter.d.ts +59 -0
- package/dist/adapters/claude-adapter.d.ts.map +1 -0
- package/dist/adapters/claude-adapter.js +367 -0
- package/dist/adapters/claude-adapter.js.map +1 -0
- package/dist/adapters/codex-adapter.d.ts +64 -0
- package/dist/adapters/codex-adapter.d.ts.map +1 -0
- package/dist/adapters/codex-adapter.js +263 -0
- package/dist/adapters/codex-adapter.js.map +1 -0
- package/dist/adapters/gemini-adapter.d.ts +57 -0
- package/dist/adapters/gemini-adapter.d.ts.map +1 -0
- package/dist/adapters/gemini-adapter.js +311 -0
- package/dist/adapters/gemini-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +10 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +14 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/schemas.d.ts +137 -0
- package/dist/adapters/schemas.d.ts.map +1 -0
- package/dist/adapters/schemas.js +140 -0
- package/dist/adapters/schemas.js.map +1 -0
- package/dist/adapters/types.d.ts +245 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +6 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/worker-adapter.d.ts +188 -0
- package/dist/adapters/worker-adapter.d.ts.map +1 -0
- package/dist/adapters/worker-adapter.js +19 -0
- package/dist/adapters/worker-adapter.js.map +1 -0
- package/dist/budget/budget-tracker.d.ts +22 -0
- package/dist/budget/budget-tracker.d.ts.map +1 -0
- package/dist/budget/budget-tracker.js +39 -0
- package/dist/budget/budget-tracker.js.map +1 -0
- package/dist/budget/index.d.ts +6 -0
- package/dist/budget/index.d.ts.map +1 -0
- package/dist/budget/index.js +5 -0
- package/dist/budget/index.js.map +1 -0
- package/dist/config/config-migrator.d.ts +58 -0
- package/dist/config/config-migrator.d.ts.map +1 -0
- package/dist/config/config-migrator.js +158 -0
- package/dist/config/config-migrator.js.map +1 -0
- package/dist/config/config-system-impl.d.ts +63 -0
- package/dist/config/config-system-impl.d.ts.map +1 -0
- package/dist/config/config-system-impl.js +364 -0
- package/dist/config/config-system-impl.js.map +1 -0
- package/dist/config/config-watcher.d.ts +59 -0
- package/dist/config/config-watcher.d.ts.map +1 -0
- package/dist/config/config-watcher.js +137 -0
- package/dist/config/config-watcher.js.map +1 -0
- package/dist/config/defaults.d.ts +13 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +62 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/errors.d.ts +25 -0
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +49 -0
- package/dist/config/errors.js.map +1 -0
- package/dist/config/index.d.ts +19 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +39 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +456 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +174 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/version-utils.d.ts +39 -0
- package/dist/config/version-utils.d.ts.map +1 -0
- package/dist/config/version-utils.js +66 -0
- package/dist/config/version-utils.js.map +1 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/types.d.ts +113 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +59 -0
- package/dist/context/types.js.map +1 -0
- package/dist/cost-tracker/cost-tracker-impl.d.ts +51 -0
- package/dist/cost-tracker/cost-tracker-impl.d.ts.map +1 -0
- package/dist/cost-tracker/cost-tracker-impl.js +85 -0
- package/dist/cost-tracker/cost-tracker-impl.js.map +1 -0
- package/dist/cost-tracker/cost-tracker-subscriber.d.ts +31 -0
- package/dist/cost-tracker/cost-tracker-subscriber.d.ts.map +1 -0
- package/dist/cost-tracker/cost-tracker-subscriber.js +116 -0
- package/dist/cost-tracker/cost-tracker-subscriber.js.map +1 -0
- package/dist/cost-tracker/index.d.ts +11 -0
- package/dist/cost-tracker/index.d.ts.map +1 -0
- package/dist/cost-tracker/index.js +7 -0
- package/dist/cost-tracker/index.js.map +1 -0
- package/dist/cost-tracker/token-rates.d.ts +25 -0
- package/dist/cost-tracker/token-rates.d.ts.map +1 -0
- package/dist/cost-tracker/token-rates.js +99 -0
- package/dist/cost-tracker/token-rates.js.map +1 -0
- package/dist/cost-tracker/types.d.ts +6 -0
- package/dist/cost-tracker/types.d.ts.map +1 -0
- package/dist/cost-tracker/types.js +2 -0
- package/dist/cost-tracker/types.js.map +1 -0
- package/dist/dispatch/dispatcher-impl.d.ts +92 -0
- package/dist/dispatch/dispatcher-impl.d.ts.map +1 -0
- package/dist/dispatch/dispatcher-impl.js +847 -0
- package/dist/dispatch/dispatcher-impl.js.map +1 -0
- package/dist/dispatch/index.d.ts +15 -0
- package/dist/dispatch/index.d.ts.map +1 -0
- package/dist/dispatch/index.js +14 -0
- package/dist/dispatch/index.js.map +1 -0
- package/dist/dispatch/interface-change-detector.d.ts +46 -0
- package/dist/dispatch/interface-change-detector.d.ts.map +1 -0
- package/dist/dispatch/interface-change-detector.js +135 -0
- package/dist/dispatch/interface-change-detector.js.map +1 -0
- package/dist/dispatch/output-quality.d.ts +43 -0
- package/dist/dispatch/output-quality.d.ts.map +1 -0
- package/dist/dispatch/output-quality.js +148 -0
- package/dist/dispatch/output-quality.js.map +1 -0
- package/dist/dispatch/types.d.ts +271 -0
- package/dist/dispatch/types.d.ts.map +1 -0
- package/dist/dispatch/types.js +76 -0
- package/dist/dispatch/types.js.map +1 -0
- package/dist/dispatch/yaml-parser.d.ts +40 -0
- package/dist/dispatch/yaml-parser.d.ts.map +1 -0
- package/dist/dispatch/yaml-parser.js +323 -0
- package/dist/dispatch/yaml-parser.js.map +1 -0
- package/dist/events/core-events.d.ts +288 -0
- package/dist/events/core-events.d.ts.map +1 -0
- package/dist/events/core-events.js +10 -0
- package/dist/events/core-events.js.map +1 -0
- package/dist/events/event-bus.d.ts +55 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.js +52 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +6 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +21 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +8 -0
- package/dist/events/types.js.map +1 -0
- package/dist/git/git-manager.d.ts +31 -0
- package/dist/git/git-manager.d.ts.map +1 -0
- package/dist/git/git-manager.js +46 -0
- package/dist/git/git-manager.js.map +1 -0
- package/dist/git/git-utils.d.ts +166 -0
- package/dist/git/git-utils.d.ts.map +1 -0
- package/dist/git/git-utils.js +347 -0
- package/dist/git/git-utils.js.map +1 -0
- package/dist/git/git-worktree-manager-impl.d.ts +58 -0
- package/dist/git/git-worktree-manager-impl.d.ts.map +1 -0
- package/dist/git/git-worktree-manager-impl.js +336 -0
- package/dist/git/git-worktree-manager-impl.js.map +1 -0
- package/dist/git/git-worktree-manager.d.ts +122 -0
- package/dist/git/git-worktree-manager.d.ts.map +1 -0
- package/dist/git/git-worktree-manager.js +14 -0
- package/dist/git/git-worktree-manager.js.map +1 -0
- package/dist/git/index.d.ts +11 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +8 -0
- package/dist/git/index.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/client.d.ts +42 -0
- package/dist/llm/client.d.ts.map +1 -0
- package/dist/llm/client.js +27 -0
- package/dist/llm/client.js.map +1 -0
- package/dist/monitor/index.d.ts +15 -0
- package/dist/monitor/index.d.ts.map +1 -0
- package/dist/monitor/index.js +9 -0
- package/dist/monitor/index.js.map +1 -0
- package/dist/monitor/monitor-agent-impl.d.ts +56 -0
- package/dist/monitor/monitor-agent-impl.d.ts.map +1 -0
- package/dist/monitor/monitor-agent-impl.js +178 -0
- package/dist/monitor/monitor-agent-impl.js.map +1 -0
- package/dist/monitor/monitor-agent.d.ts +36 -0
- package/dist/monitor/monitor-agent.d.ts.map +1 -0
- package/dist/monitor/monitor-agent.js +6 -0
- package/dist/monitor/monitor-agent.js.map +1 -0
- package/dist/monitor/performance-aggregates.d.ts +41 -0
- package/dist/monitor/performance-aggregates.d.ts.map +1 -0
- package/dist/monitor/performance-aggregates.js +6 -0
- package/dist/monitor/performance-aggregates.js.map +1 -0
- package/dist/monitor/recommendation-engine.d.ts +27 -0
- package/dist/monitor/recommendation-engine.d.ts.map +1 -0
- package/dist/monitor/recommendation-engine.js +140 -0
- package/dist/monitor/recommendation-engine.js.map +1 -0
- package/dist/monitor/recommendation-types.d.ts +30 -0
- package/dist/monitor/recommendation-types.d.ts.map +1 -0
- package/dist/monitor/recommendation-types.js +43 -0
- package/dist/monitor/recommendation-types.js.map +1 -0
- package/dist/monitor/report-generator.d.ts +48 -0
- package/dist/monitor/report-generator.d.ts.map +1 -0
- package/dist/monitor/report-generator.js +123 -0
- package/dist/monitor/report-generator.js.map +1 -0
- package/dist/monitor/task-type-classifier.d.ts +19 -0
- package/dist/monitor/task-type-classifier.d.ts.map +1 -0
- package/dist/monitor/task-type-classifier.js +68 -0
- package/dist/monitor/task-type-classifier.js.map +1 -0
- package/dist/persistence/adapter.d.ts +4 -0
- package/dist/persistence/adapter.d.ts.map +1 -0
- package/dist/persistence/adapter.js +56 -0
- package/dist/persistence/adapter.js.map +1 -0
- package/dist/persistence/cost-types.d.ts +87 -0
- package/dist/persistence/cost-types.d.ts.map +1 -0
- package/dist/persistence/cost-types.js +14 -0
- package/dist/persistence/cost-types.js.map +1 -0
- package/dist/persistence/dolt-adapter-transaction.test.d.ts +10 -0
- package/dist/persistence/dolt-adapter-transaction.test.d.ts.map +1 -0
- package/dist/persistence/dolt-adapter-transaction.test.js +359 -0
- package/dist/persistence/dolt-adapter-transaction.test.js.map +1 -0
- package/dist/persistence/dolt-adapter.d.ts +77 -0
- package/dist/persistence/dolt-adapter.d.ts.map +1 -0
- package/dist/persistence/dolt-adapter.js +98 -0
- package/dist/persistence/dolt-adapter.js.map +1 -0
- package/dist/persistence/dolt-client.d.ts +69 -0
- package/dist/persistence/dolt-client.d.ts.map +1 -0
- package/dist/persistence/dolt-client.js +278 -0
- package/dist/persistence/dolt-client.js.map +1 -0
- package/dist/persistence/dolt-errors.d.ts +10 -0
- package/dist/persistence/dolt-errors.d.ts.map +1 -0
- package/dist/persistence/dolt-errors.js +15 -0
- package/dist/persistence/dolt-errors.js.map +1 -0
- package/dist/persistence/dolt-init.d.ts +64 -0
- package/dist/persistence/dolt-init.d.ts.map +1 -0
- package/dist/persistence/dolt-init.js +233 -0
- package/dist/persistence/dolt-init.js.map +1 -0
- package/dist/persistence/index.d.ts +23 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +23 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/memory-adapter.d.ts +156 -0
- package/dist/persistence/memory-adapter.d.ts.map +1 -0
- package/dist/persistence/memory-adapter.js +1167 -0
- package/dist/persistence/memory-adapter.js.map +1 -0
- package/dist/persistence/monitor-database.d.ts +113 -0
- package/dist/persistence/monitor-database.d.ts.map +1 -0
- package/dist/persistence/monitor-database.js +345 -0
- package/dist/persistence/monitor-database.js.map +1 -0
- package/dist/persistence/queries/amendments.d.ts +91 -0
- package/dist/persistence/queries/amendments.d.ts.map +1 -0
- package/dist/persistence/queries/amendments.js +185 -0
- package/dist/persistence/queries/amendments.js.map +1 -0
- package/dist/persistence/queries/cost.d.ts +130 -0
- package/dist/persistence/queries/cost.d.ts.map +1 -0
- package/dist/persistence/queries/cost.js +384 -0
- package/dist/persistence/queries/cost.js.map +1 -0
- package/dist/persistence/queries/decisions.d.ts +131 -0
- package/dist/persistence/queries/decisions.d.ts.map +1 -0
- package/dist/persistence/queries/decisions.js +339 -0
- package/dist/persistence/queries/decisions.js.map +1 -0
- package/dist/persistence/queries/metrics.d.ts +155 -0
- package/dist/persistence/queries/metrics.d.ts.map +1 -0
- package/dist/persistence/queries/metrics.js +237 -0
- package/dist/persistence/queries/metrics.js.map +1 -0
- package/dist/persistence/queries/retry-escalated.d.ts +35 -0
- package/dist/persistence/queries/retry-escalated.d.ts.map +1 -0
- package/dist/persistence/queries/retry-escalated.js +83 -0
- package/dist/persistence/queries/retry-escalated.js.map +1 -0
- package/dist/persistence/schema-version.d.ts +89 -0
- package/dist/persistence/schema-version.d.ts.map +1 -0
- package/dist/persistence/schema-version.js +67 -0
- package/dist/persistence/schema-version.js.map +1 -0
- package/dist/persistence/schema.d.ts +26 -0
- package/dist/persistence/schema.d.ts.map +1 -0
- package/dist/persistence/schema.js +509 -0
- package/dist/persistence/schema.js.map +1 -0
- package/dist/persistence/schemas/decisions.d.ts +176 -0
- package/dist/persistence/schemas/decisions.d.ts.map +1 -0
- package/dist/persistence/schemas/decisions.js +139 -0
- package/dist/persistence/schemas/decisions.js.map +1 -0
- package/dist/persistence/schemas/operational.d.ts +194 -0
- package/dist/persistence/schemas/operational.d.ts.map +1 -0
- package/dist/persistence/schemas/operational.js +197 -0
- package/dist/persistence/schemas/operational.js.map +1 -0
- package/dist/persistence/types.d.ts +98 -0
- package/dist/persistence/types.d.ts.map +1 -0
- package/dist/persistence/types.js +22 -0
- package/dist/persistence/types.js.map +1 -0
- package/dist/quality-gates/index.d.ts +2 -0
- package/dist/quality-gates/index.d.ts.map +1 -0
- package/dist/quality-gates/index.js +2 -0
- package/dist/quality-gates/index.js.map +1 -0
- package/dist/quality-gates/types.d.ts +106 -0
- package/dist/quality-gates/types.d.ts.map +1 -0
- package/dist/quality-gates/types.js +5 -0
- package/dist/quality-gates/types.js.map +1 -0
- package/dist/routing/index.d.ts +19 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +32 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/model-routing-config.d.ts +75 -0
- package/dist/routing/model-routing-config.d.ts.map +1 -0
- package/dist/routing/model-routing-config.js +110 -0
- package/dist/routing/model-routing-config.js.map +1 -0
- package/dist/routing/model-routing-resolver.d.ts +48 -0
- package/dist/routing/model-routing-resolver.d.ts.map +1 -0
- package/dist/routing/model-routing-resolver.js +105 -0
- package/dist/routing/model-routing-resolver.js.map +1 -0
- package/dist/routing/model-tier.d.ts +21 -0
- package/dist/routing/model-tier.d.ts.map +1 -0
- package/dist/routing/model-tier.js +34 -0
- package/dist/routing/model-tier.js.map +1 -0
- package/dist/routing/provider-status.d.ts +99 -0
- package/dist/routing/provider-status.d.ts.map +1 -0
- package/dist/routing/provider-status.js +163 -0
- package/dist/routing/provider-status.js.map +1 -0
- package/dist/routing/routing-decision.d.ts +127 -0
- package/dist/routing/routing-decision.d.ts.map +1 -0
- package/dist/routing/routing-decision.js +111 -0
- package/dist/routing/routing-decision.js.map +1 -0
- package/dist/routing/routing-engine-impl.d.ts +132 -0
- package/dist/routing/routing-engine-impl.d.ts.map +1 -0
- package/dist/routing/routing-engine-impl.js +450 -0
- package/dist/routing/routing-engine-impl.js.map +1 -0
- package/dist/routing/routing-engine.d.ts +83 -0
- package/dist/routing/routing-engine.d.ts.map +1 -0
- package/dist/routing/routing-engine.js +24 -0
- package/dist/routing/routing-engine.js.map +1 -0
- package/dist/routing/routing-policy.d.ts +138 -0
- package/dist/routing/routing-policy.d.ts.map +1 -0
- package/dist/routing/routing-policy.js +159 -0
- package/dist/routing/routing-policy.js.map +1 -0
- package/dist/routing/routing-recommender.d.ts +60 -0
- package/dist/routing/routing-recommender.d.ts.map +1 -0
- package/dist/routing/routing-recommender.js +209 -0
- package/dist/routing/routing-recommender.js.map +1 -0
- package/dist/routing/routing-telemetry.d.ts +36 -0
- package/dist/routing/routing-telemetry.d.ts.map +1 -0
- package/dist/routing/routing-telemetry.js +39 -0
- package/dist/routing/routing-telemetry.js.map +1 -0
- package/dist/routing/routing-token-accumulator.d.ts +68 -0
- package/dist/routing/routing-token-accumulator.d.ts.map +1 -0
- package/dist/routing/routing-token-accumulator.js +111 -0
- package/dist/routing/routing-token-accumulator.js.map +1 -0
- package/dist/routing/routing-tuner.d.ts +69 -0
- package/dist/routing/routing-tuner.d.ts.map +1 -0
- package/dist/routing/routing-tuner.js +217 -0
- package/dist/routing/routing-tuner.js.map +1 -0
- package/dist/routing/types.d.ts +152 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +13 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/supervisor/analysis.d.ts +178 -0
- package/dist/supervisor/analysis.d.ts.map +1 -0
- package/dist/supervisor/analysis.js +420 -0
- package/dist/supervisor/analysis.js.map +1 -0
- package/dist/supervisor/experimenter.d.ts +118 -0
- package/dist/supervisor/experimenter.d.ts.map +1 -0
- package/dist/supervisor/experimenter.js +493 -0
- package/dist/supervisor/experimenter.js.map +1 -0
- package/dist/supervisor/index.d.ts +13 -0
- package/dist/supervisor/index.d.ts.map +1 -0
- package/dist/supervisor/index.js +11 -0
- package/dist/supervisor/index.js.map +1 -0
- package/dist/telemetry/batch-buffer.d.ts +53 -0
- package/dist/telemetry/batch-buffer.d.ts.map +1 -0
- package/dist/telemetry/batch-buffer.js +83 -0
- package/dist/telemetry/batch-buffer.js.map +1 -0
- package/dist/telemetry/categorizer.d.ts +65 -0
- package/dist/telemetry/categorizer.d.ts.map +1 -0
- package/dist/telemetry/categorizer.js +338 -0
- package/dist/telemetry/categorizer.js.map +1 -0
- package/dist/telemetry/consumer-analyzer.d.ts +53 -0
- package/dist/telemetry/consumer-analyzer.d.ts.map +1 -0
- package/dist/telemetry/consumer-analyzer.js +182 -0
- package/dist/telemetry/consumer-analyzer.js.map +1 -0
- package/dist/telemetry/cost-table.d.ts +36 -0
- package/dist/telemetry/cost-table.d.ts.map +1 -0
- package/dist/telemetry/cost-table.js +127 -0
- package/dist/telemetry/cost-table.js.map +1 -0
- package/dist/telemetry/efficiency-scorer.d.ts +103 -0
- package/dist/telemetry/efficiency-scorer.d.ts.map +1 -0
- package/dist/telemetry/efficiency-scorer.js +311 -0
- package/dist/telemetry/efficiency-scorer.js.map +1 -0
- package/dist/telemetry/index.d.ts +28 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +37 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/ingestion-server.d.ts +99 -0
- package/dist/telemetry/ingestion-server.d.ts.map +1 -0
- package/dist/telemetry/ingestion-server.js +315 -0
- package/dist/telemetry/ingestion-server.js.map +1 -0
- package/dist/telemetry/log-turn-analyzer.d.ts +35 -0
- package/dist/telemetry/log-turn-analyzer.d.ts.map +1 -0
- package/dist/telemetry/log-turn-analyzer.js +132 -0
- package/dist/telemetry/log-turn-analyzer.js.map +1 -0
- package/dist/telemetry/normalizer.d.ts +43 -0
- package/dist/telemetry/normalizer.d.ts.map +1 -0
- package/dist/telemetry/normalizer.js +320 -0
- package/dist/telemetry/normalizer.js.map +1 -0
- package/dist/telemetry/recommender.d.ts +116 -0
- package/dist/telemetry/recommender.d.ts.map +1 -0
- package/dist/telemetry/recommender.js +532 -0
- package/dist/telemetry/recommender.js.map +1 -0
- package/dist/telemetry/source-detector.d.ts +19 -0
- package/dist/telemetry/source-detector.d.ts.map +1 -0
- package/dist/telemetry/source-detector.js +73 -0
- package/dist/telemetry/source-detector.js.map +1 -0
- package/dist/telemetry/task-baselines.d.ts +30 -0
- package/dist/telemetry/task-baselines.d.ts.map +1 -0
- package/dist/telemetry/task-baselines.js +44 -0
- package/dist/telemetry/task-baselines.js.map +1 -0
- package/dist/telemetry/telemetry-pipeline.d.ts +122 -0
- package/dist/telemetry/telemetry-pipeline.d.ts.map +1 -0
- package/dist/telemetry/telemetry-pipeline.js +349 -0
- package/dist/telemetry/telemetry-pipeline.js.map +1 -0
- package/dist/telemetry/timestamp-normalizer.d.ts +32 -0
- package/dist/telemetry/timestamp-normalizer.d.ts.map +1 -0
- package/dist/telemetry/timestamp-normalizer.js +133 -0
- package/dist/telemetry/timestamp-normalizer.js.map +1 -0
- package/dist/telemetry/token-extractor.d.ts +57 -0
- package/dist/telemetry/token-extractor.d.ts.map +1 -0
- package/dist/telemetry/token-extractor.js +200 -0
- package/dist/telemetry/token-extractor.js.map +1 -0
- package/dist/telemetry/turn-analyzer.d.ts +34 -0
- package/dist/telemetry/turn-analyzer.d.ts.map +1 -0
- package/dist/telemetry/turn-analyzer.js +101 -0
- package/dist/telemetry/turn-analyzer.js.map +1 -0
- package/dist/telemetry/types.d.ts +456 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +186 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/types.d.ts +80 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/version-manager/index.d.ts +11 -0
- package/dist/version-manager/index.d.ts.map +1 -0
- package/dist/version-manager/index.js +8 -0
- package/dist/version-manager/index.js.map +1 -0
- package/dist/version-manager/update-checker.d.ts +44 -0
- package/dist/version-manager/update-checker.d.ts.map +1 -0
- package/dist/version-manager/update-checker.js +171 -0
- package/dist/version-manager/update-checker.js.map +1 -0
- package/dist/version-manager/version-cache.d.ts +42 -0
- package/dist/version-manager/version-cache.d.ts.map +1 -0
- package/dist/version-manager/version-cache.js +69 -0
- package/dist/version-manager/version-cache.js.map +1 -0
- package/dist/version-manager/version-manager-impl.d.ts +81 -0
- package/dist/version-manager/version-manager-impl.d.ts.map +1 -0
- package/dist/version-manager/version-manager-impl.js +223 -0
- package/dist/version-manager/version-manager-impl.js.map +1 -0
- package/dist/version-manager/version-manager.d.ts +70 -0
- package/dist/version-manager/version-manager.d.ts.map +1 -0
- package/dist/version-manager/version-manager.js +8 -0
- package/dist/version-manager/version-manager.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypedEventBus<E extends EventMap> — generic event bus interface and implementation.
|
|
3
|
+
*
|
|
4
|
+
* This interface is the stable contract for the event bus system.
|
|
5
|
+
* Packages parameterize it with their own event map types (e.g., TypedEventBus<SdlcEvents>).
|
|
6
|
+
*/
|
|
7
|
+
import type { EventMap, EventHandler } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* A type-safe event bus parameterized over an event map E.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const bus: TypedEventBus<CoreEvents & SdlcEvents> = createEventBus()
|
|
13
|
+
* bus.on('orchestrator:story-complete', ({ storyKey }) => { ... })
|
|
14
|
+
*/
|
|
15
|
+
export interface TypedEventBus<E extends EventMap> {
|
|
16
|
+
/**
|
|
17
|
+
* Emit an event with a typed payload.
|
|
18
|
+
* All registered handlers for this event key are called synchronously.
|
|
19
|
+
*/
|
|
20
|
+
emit<K extends keyof E>(event: K, payload: E[K]): void;
|
|
21
|
+
/**
|
|
22
|
+
* Register a handler for an event.
|
|
23
|
+
*/
|
|
24
|
+
on<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
|
|
25
|
+
/**
|
|
26
|
+
* Unregister a previously registered handler.
|
|
27
|
+
*/
|
|
28
|
+
off<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Concrete implementation of TypedEventBus backed by Node.js EventEmitter.
|
|
32
|
+
*
|
|
33
|
+
* Dispatch is SYNCHRONOUS — all handlers run before emit() returns (per ADR-004).
|
|
34
|
+
* maxListeners is set to 100 to avoid spurious warnings in large systems.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* const bus = new TypedEventBusImpl<CoreEvents & SdlcEvents>()
|
|
38
|
+
* bus.on('orchestrator:story-complete', ({ storyKey }) => { ... })
|
|
39
|
+
* bus.emit('orchestrator:story-complete', { storyKey: '1-1', reviewCycles: 1 })
|
|
40
|
+
*/
|
|
41
|
+
export declare class TypedEventBusImpl<E extends EventMap> implements TypedEventBus<E> {
|
|
42
|
+
private readonly _emitter;
|
|
43
|
+
constructor();
|
|
44
|
+
emit<K extends keyof E>(event: K, payload: E[K]): void;
|
|
45
|
+
on<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
|
|
46
|
+
off<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Create a new TypedEventBus instance parameterized over event map E.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* const bus = createEventBus<CoreEvents & SdlcEvents>()
|
|
53
|
+
*/
|
|
54
|
+
export declare function createEventBus<E extends EventMap>(): TypedEventBus<E>;
|
|
55
|
+
//# sourceMappingURL=event-bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,QAAQ;IAC/C;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAEtD;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAElE;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CACpE;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;;IAQvC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAItD,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAKlE,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAGpE;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,CAErE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypedEventBus<E extends EventMap> — generic event bus interface and implementation.
|
|
3
|
+
*
|
|
4
|
+
* This interface is the stable contract for the event bus system.
|
|
5
|
+
* Packages parameterize it with their own event map types (e.g., TypedEventBus<SdlcEvents>).
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from 'node:events';
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
// TypedEventBusImpl
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
/**
|
|
12
|
+
* Concrete implementation of TypedEventBus backed by Node.js EventEmitter.
|
|
13
|
+
*
|
|
14
|
+
* Dispatch is SYNCHRONOUS — all handlers run before emit() returns (per ADR-004).
|
|
15
|
+
* maxListeners is set to 100 to avoid spurious warnings in large systems.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const bus = new TypedEventBusImpl<CoreEvents & SdlcEvents>()
|
|
19
|
+
* bus.on('orchestrator:story-complete', ({ storyKey }) => { ... })
|
|
20
|
+
* bus.emit('orchestrator:story-complete', { storyKey: '1-1', reviewCycles: 1 })
|
|
21
|
+
*/
|
|
22
|
+
export class TypedEventBusImpl {
|
|
23
|
+
_emitter;
|
|
24
|
+
constructor() {
|
|
25
|
+
this._emitter = new EventEmitter();
|
|
26
|
+
// Raise limit to avoid spurious warnings in large systems with many subscribers
|
|
27
|
+
this._emitter.setMaxListeners(100);
|
|
28
|
+
}
|
|
29
|
+
emit(event, payload) {
|
|
30
|
+
this._emitter.emit(event, payload);
|
|
31
|
+
}
|
|
32
|
+
on(event, handler) {
|
|
33
|
+
// EventEmitter passes arguments as rest params; cast to satisfy TypeScript
|
|
34
|
+
this._emitter.on(event, handler);
|
|
35
|
+
}
|
|
36
|
+
off(event, handler) {
|
|
37
|
+
this._emitter.off(event, handler);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Factory function
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
/**
|
|
44
|
+
* Create a new TypedEventBus instance parameterized over event map E.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const bus = createEventBus<CoreEvents & SdlcEvents>()
|
|
48
|
+
*/
|
|
49
|
+
export function createEventBus() {
|
|
50
|
+
return new TypedEventBusImpl();
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=event-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA4B1C,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,OAAO,iBAAiB;IACX,QAAQ,CAAc;IAEvC;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QAClC,gFAAgF;QAChF,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,OAAa;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAe,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,EAAE,CAAoB,KAAQ,EAAE,OAA2B;QACzD,2EAA2E;QAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAe,EAAE,OAAiC,CAAC,CAAA;IACtE,CAAC;IAED,GAAG,CAAoB,KAAQ,EAAE,OAA2B;QAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,EAAE,OAAiC,CAAC,CAAA;IACvE,CAAC;CACF;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,iBAAiB,EAAK,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @substrate-ai/core events barrel export.
|
|
3
|
+
* Re-exports all event-related types for package consumers.
|
|
4
|
+
*/
|
|
5
|
+
export type { EventMap, EventHandler } from './types.js';
|
|
6
|
+
export type { TypedEventBus } from './event-bus.js';
|
|
7
|
+
export { TypedEventBusImpl, createEventBus } from './event-bus.js';
|
|
8
|
+
export type { CoreEvents, EventTaskResult, EventTaskError, } from './core-events.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAClE,YAAY,EACV,UAAU,EAGV,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base event type primitives for the TypedEventBus system.
|
|
3
|
+
*
|
|
4
|
+
* These types are the foundation of the event bus contract.
|
|
5
|
+
* All event maps must satisfy EventMap; all handlers must satisfy EventHandler<T>.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Base constraint for event maps.
|
|
9
|
+
* Each key is an event name (string), and the value is the payload type.
|
|
10
|
+
*
|
|
11
|
+
* Using `object` (not `Record<string, unknown>`) so that TypeScript interfaces
|
|
12
|
+
* with named properties (without index signatures) satisfy the constraint.
|
|
13
|
+
* TypeScript interfaces extend `object` but may not extend `Record<string, unknown>`
|
|
14
|
+
* unless they have an explicit index signature.
|
|
15
|
+
*/
|
|
16
|
+
export type EventMap = object;
|
|
17
|
+
/**
|
|
18
|
+
* A typed event handler function for payload type T.
|
|
19
|
+
*/
|
|
20
|
+
export type EventHandler<T> = (payload: T) => void;
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base event type primitives for the TypedEventBus system.
|
|
3
|
+
*
|
|
4
|
+
* These types are the foundation of the event bus contract.
|
|
5
|
+
* All event maps must satisfy EventMap; all handlers must satisfy EventHandler<T>.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitManager — interface and stub for git worktree management.
|
|
3
|
+
*
|
|
4
|
+
* The full implementation will be provided by a later story.
|
|
5
|
+
* This stub subscribes to worktree events and satisfies the IBaseService
|
|
6
|
+
* lifecycle contract.
|
|
7
|
+
*
|
|
8
|
+
* Event subscriptions (Architecture Section 19):
|
|
9
|
+
* - Listens to worktree:created, worktree:merged, worktree:conflict, worktree:removed events
|
|
10
|
+
*/
|
|
11
|
+
import type { IBaseService } from '../types.js';
|
|
12
|
+
import type { TypedEventBus } from '../events/index.js';
|
|
13
|
+
import type { CoreEvents } from '../events/index.js';
|
|
14
|
+
import type { ILogger } from '../dispatch/types.js';
|
|
15
|
+
export interface GitManager extends IBaseService {
|
|
16
|
+
}
|
|
17
|
+
export declare class GitManagerImpl implements GitManager {
|
|
18
|
+
private readonly _eventBus;
|
|
19
|
+
private readonly _logger;
|
|
20
|
+
readonly repoRoot: string | undefined;
|
|
21
|
+
constructor(eventBus: TypedEventBus<CoreEvents>, repoRoot?: string, logger?: ILogger);
|
|
22
|
+
initialize(): Promise<void>;
|
|
23
|
+
shutdown(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export interface GitManagerOptions {
|
|
26
|
+
eventBus: TypedEventBus<CoreEvents>;
|
|
27
|
+
repoRoot?: string;
|
|
28
|
+
logger?: ILogger;
|
|
29
|
+
}
|
|
30
|
+
export declare function createGitManager(options: GitManagerOptions): GitManager;
|
|
31
|
+
//# sourceMappingURL=git-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-manager.d.ts","sourceRoot":"","sources":["../../src/git/git-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAMnD,MAAM,WAAW,UAAW,SAAQ,YAAY;CAE/C;AAMD,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEzB,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAM9E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC;AAMD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAEvE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitManager — interface and stub for git worktree management.
|
|
3
|
+
*
|
|
4
|
+
* The full implementation will be provided by a later story.
|
|
5
|
+
* This stub subscribes to worktree events and satisfies the IBaseService
|
|
6
|
+
* lifecycle contract.
|
|
7
|
+
*
|
|
8
|
+
* Event subscriptions (Architecture Section 19):
|
|
9
|
+
* - Listens to worktree:created, worktree:merged, worktree:conflict, worktree:removed events
|
|
10
|
+
*/
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// GitManagerImpl (stub)
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
export class GitManagerImpl {
|
|
15
|
+
_eventBus;
|
|
16
|
+
_logger;
|
|
17
|
+
repoRoot;
|
|
18
|
+
constructor(eventBus, repoRoot, logger) {
|
|
19
|
+
this._eventBus = eventBus;
|
|
20
|
+
this.repoRoot = repoRoot;
|
|
21
|
+
this._logger = logger ?? console;
|
|
22
|
+
}
|
|
23
|
+
async initialize() {
|
|
24
|
+
this._logger.info({ repoRoot: this.repoRoot }, 'GitManager.initialize() — stub');
|
|
25
|
+
// Subscribe to worktree lifecycle events
|
|
26
|
+
this._eventBus.on('worktree:created', ({ taskId, worktreePath, branchName }) => {
|
|
27
|
+
this._logger.debug({ taskId, worktreePath, branchName }, 'worktree:created');
|
|
28
|
+
});
|
|
29
|
+
this._eventBus.on('worktree:merged', ({ taskId, branch }) => {
|
|
30
|
+
this._logger.debug({ taskId, branch }, 'worktree:merged');
|
|
31
|
+
});
|
|
32
|
+
this._eventBus.on('worktree:conflict', ({ taskId, conflictingFiles }) => {
|
|
33
|
+
this._logger.warn({ taskId, conflictingFiles }, 'worktree:conflict');
|
|
34
|
+
});
|
|
35
|
+
this._eventBus.on('worktree:removed', ({ taskId, branchName }) => {
|
|
36
|
+
this._logger.debug({ taskId, branchName }, 'worktree:removed');
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async shutdown() {
|
|
40
|
+
this._logger.info('GitManager.shutdown() — stub');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function createGitManager(options) {
|
|
44
|
+
return new GitManagerImpl(options.eventBus, options.repoRoot, options.logger);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=git-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-manager.js","sourceRoot":"","sources":["../../src/git/git-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IACR,SAAS,CAA2B;IACpC,OAAO,CAAS;IACxB,QAAQ,CAAoB;IAErC,YAAY,QAAmC,EAAE,QAAiB,EAAE,MAAgB;QAClF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,OAAO,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,gCAAgC,CAAC,CAAA;QAEhF,yCAAyC;QACzC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;YAC7E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACnD,CAAC;CACF;AAYD,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAC/E,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* git-utils.ts — Low-level git command helpers.
|
|
3
|
+
*
|
|
4
|
+
* All git commands are executed via child_process.spawn (not simple-git),
|
|
5
|
+
* as specified in ADR-007 (Git Worktree Management).
|
|
6
|
+
*
|
|
7
|
+
* Functions:
|
|
8
|
+
* - spawnGit: Execute git with given args, returns stdout/stderr/code
|
|
9
|
+
* - getGitVersion: Returns version string like "2.42.0"
|
|
10
|
+
* - parseGitVersion: Parses version string into { major, minor, patch }
|
|
11
|
+
* - isGitVersionSupported: Checks if version >= 2.20.0
|
|
12
|
+
* - verifyGitVersion: Throws if git not installed or < 2.20
|
|
13
|
+
* - createWorktree: Creates a worktree + branch
|
|
14
|
+
* - removeWorktree: Removes a worktree directory
|
|
15
|
+
* - removeBranch: Deletes a branch with git branch -D
|
|
16
|
+
* - getOrphanedWorktrees: Scans .substrate-worktrees/ and returns paths
|
|
17
|
+
* - simulateMerge: Runs git merge --no-commit --no-ff to detect conflicts
|
|
18
|
+
* - abortMerge: Runs git merge --abort to clean up a simulated merge
|
|
19
|
+
* - getConflictingFiles: Returns list of files with conflicts using git diff --name-only --diff-filter=U
|
|
20
|
+
* - performMerge: Runs git merge --no-ff to execute actual merge
|
|
21
|
+
* - getMergedFiles: Returns list of files changed in a merge using git diff --name-only
|
|
22
|
+
*/
|
|
23
|
+
export interface SpawnOptions {
|
|
24
|
+
cwd?: string;
|
|
25
|
+
env?: NodeJS.ProcessEnv;
|
|
26
|
+
}
|
|
27
|
+
export interface GitSpawnResult {
|
|
28
|
+
stdout: string;
|
|
29
|
+
stderr: string;
|
|
30
|
+
code: number;
|
|
31
|
+
}
|
|
32
|
+
export interface GitVersion {
|
|
33
|
+
major: number;
|
|
34
|
+
minor: number;
|
|
35
|
+
patch: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Spawn a git subprocess with the given args.
|
|
39
|
+
*
|
|
40
|
+
* @param args - Arguments to pass to git (e.g., ['worktree', 'add', ...])
|
|
41
|
+
* @param options - Optional spawn options (cwd, env)
|
|
42
|
+
* @returns - Object with stdout, stderr, and exit code
|
|
43
|
+
*/
|
|
44
|
+
export declare function spawnGit(args: string[], options?: SpawnOptions): Promise<GitSpawnResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Get the installed git version string.
|
|
47
|
+
*
|
|
48
|
+
* @returns Version string like "2.42.0"
|
|
49
|
+
* @throws Error if git is not installed or version cannot be parsed
|
|
50
|
+
*/
|
|
51
|
+
export declare function getGitVersion(): Promise<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Parse a git version string into major/minor/patch components.
|
|
54
|
+
*
|
|
55
|
+
* @param versionString - Version string like "2.42.0" or "2.20"
|
|
56
|
+
* @returns - Parsed version components
|
|
57
|
+
*/
|
|
58
|
+
export declare function parseGitVersion(versionString: string): GitVersion;
|
|
59
|
+
/**
|
|
60
|
+
* Check if the given git version string is >= 2.20.0.
|
|
61
|
+
*
|
|
62
|
+
* @param version - Version string like "2.42.0"
|
|
63
|
+
* @returns - true if version >= 2.20.0
|
|
64
|
+
*/
|
|
65
|
+
export declare function isGitVersionSupported(version: string): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Verify that git is installed and version >= 2.20.
|
|
68
|
+
*
|
|
69
|
+
* @throws Error with clear message if git is not installed or too old
|
|
70
|
+
*/
|
|
71
|
+
export declare function verifyGitVersion(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Create a git worktree and its associated branch.
|
|
74
|
+
*
|
|
75
|
+
* Uses a single `git worktree add {worktreePath} -b {branchName} {baseBranch}`
|
|
76
|
+
* command to create the worktree with a new branch in one step.
|
|
77
|
+
*
|
|
78
|
+
* @param projectRoot - Absolute path to the git repository root
|
|
79
|
+
* @param taskId - Task identifier (used in path derivation)
|
|
80
|
+
* @param branchName - Branch name to create (e.g., "substrate/task-abc123")
|
|
81
|
+
* @param baseBranch - Branch to base the worktree on (e.g., "main")
|
|
82
|
+
* @returns - Object with the worktreePath
|
|
83
|
+
* @throws - Error if git command fails
|
|
84
|
+
*/
|
|
85
|
+
export declare function createWorktree(projectRoot: string, taskId: string, branchName: string, baseBranch: string): Promise<{
|
|
86
|
+
worktreePath: string;
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* Remove a git worktree by path.
|
|
90
|
+
*
|
|
91
|
+
* Uses `git worktree remove --force` to handle unclean worktrees.
|
|
92
|
+
*
|
|
93
|
+
* @param worktreePath - Absolute path to the worktree directory
|
|
94
|
+
* @param projectRoot - Absolute path to the git repository root
|
|
95
|
+
* @throws - Error if git command fails
|
|
96
|
+
*/
|
|
97
|
+
export declare function removeWorktree(worktreePath: string, projectRoot?: string): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Delete a git branch using `git branch -D`.
|
|
100
|
+
*
|
|
101
|
+
* @param branchName - Branch name to delete (e.g., "substrate/task-abc123")
|
|
102
|
+
* @param projectRoot - Absolute path to the git repository root
|
|
103
|
+
* @returns - true if branch was successfully deleted, false otherwise
|
|
104
|
+
*/
|
|
105
|
+
export declare function removeBranch(branchName: string, projectRoot?: string): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Scan the worktrees base directory and return paths of all found worktree directories.
|
|
108
|
+
*
|
|
109
|
+
* @param projectRoot - Absolute path to the git repository root
|
|
110
|
+
* @param baseDirectory - Relative directory name for worktrees (default: '.substrate-worktrees')
|
|
111
|
+
* @returns - Array of absolute worktree directory paths
|
|
112
|
+
*/
|
|
113
|
+
export declare function getOrphanedWorktrees(projectRoot: string, baseDirectory?: string): Promise<string[]>;
|
|
114
|
+
/**
|
|
115
|
+
* Simulate a merge using git merge --no-commit --no-ff without committing.
|
|
116
|
+
*
|
|
117
|
+
* This runs in the target branch's working directory (the project root or
|
|
118
|
+
* worktree path). The simulation must be aborted after checking conflicts
|
|
119
|
+
* via abortMerge().
|
|
120
|
+
*
|
|
121
|
+
* @param branchName - The source branch to simulate merging
|
|
122
|
+
* @param cwd - Working directory (must be on the target branch)
|
|
123
|
+
* @returns - true if merge would be clean, false if there are conflicts
|
|
124
|
+
*/
|
|
125
|
+
export declare function simulateMerge(branchName: string, cwd: string): Promise<boolean>;
|
|
126
|
+
/**
|
|
127
|
+
* Abort a merge in progress using git merge --abort.
|
|
128
|
+
*
|
|
129
|
+
* Should be called after simulateMerge() to clean up the merge state,
|
|
130
|
+
* regardless of whether conflicts were found.
|
|
131
|
+
*
|
|
132
|
+
* @param cwd - Working directory (same as used for simulateMerge)
|
|
133
|
+
*/
|
|
134
|
+
export declare function abortMerge(cwd: string): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Get a list of files with conflicts during a merge.
|
|
137
|
+
*
|
|
138
|
+
* Must be called while a merge is in progress (after simulateMerge() and
|
|
139
|
+
* before abortMerge()).
|
|
140
|
+
*
|
|
141
|
+
* @param cwd - Working directory of the repository
|
|
142
|
+
* @returns - Array of conflicting file paths
|
|
143
|
+
*/
|
|
144
|
+
export declare function getConflictingFiles(cwd: string): Promise<string[]>;
|
|
145
|
+
/**
|
|
146
|
+
* Perform an actual merge using git merge --no-ff.
|
|
147
|
+
*
|
|
148
|
+
* Should only be called after detectConflicts() confirms there are no conflicts.
|
|
149
|
+
* Creates a merge commit even if fast-forward is possible (--no-ff ensures history).
|
|
150
|
+
*
|
|
151
|
+
* @param branchName - The source branch to merge
|
|
152
|
+
* @param cwd - Working directory (must be on the target branch)
|
|
153
|
+
* @returns - true if merge succeeded, false otherwise
|
|
154
|
+
*/
|
|
155
|
+
export declare function performMerge(branchName: string, cwd: string): Promise<boolean>;
|
|
156
|
+
/**
|
|
157
|
+
* Get a list of files changed in the most recent merge.
|
|
158
|
+
*
|
|
159
|
+
* Uses git diff --name-only HEAD~1..HEAD to find files in the merge commit.
|
|
160
|
+
* Falls back to empty array if commit history is insufficient.
|
|
161
|
+
*
|
|
162
|
+
* @param cwd - Working directory of the repository
|
|
163
|
+
* @returns - Array of file paths that were merged
|
|
164
|
+
*/
|
|
165
|
+
export declare function getMergedFiles(cwd: string): Promise<string[]>;
|
|
166
|
+
//# sourceMappingURL=git-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../../src/git/git-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAUD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BxF;AAMD;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAcrD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAOjE;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK9D;AAMD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBtD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBnC;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9F;AAMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY7F;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,SAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBzH;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAarF;AAMD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAMD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAexE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWpF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnE"}
|