@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,336 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitWorktreeManagerImpl — concrete implementation of GitWorktreeManager.
|
|
3
|
+
*
|
|
4
|
+
* Subscribes to task:ready events to create worktrees and to
|
|
5
|
+
* task:complete / task:failed events to clean them up.
|
|
6
|
+
*
|
|
7
|
+
* Architecture constraints:
|
|
8
|
+
* - Uses child_process.spawn for all git operations (via git-utils)
|
|
9
|
+
* - Branch names: "substrate/task-{taskId}"
|
|
10
|
+
* - Worktree path: {projectRoot}/.substrate-worktrees/{taskId}
|
|
11
|
+
* - Implements IBaseService lifecycle (initialize / shutdown)
|
|
12
|
+
*/
|
|
13
|
+
import * as path from 'node:path';
|
|
14
|
+
import { access } from 'node:fs/promises';
|
|
15
|
+
import * as gitUtils from './git-utils.js';
|
|
16
|
+
// Branch name prefix for substrate task branches
|
|
17
|
+
const BRANCH_PREFIX = 'substrate/task-';
|
|
18
|
+
// Default base directory for worktrees (relative to projectRoot)
|
|
19
|
+
const DEFAULT_WORKTREE_BASE = '.substrate-worktrees';
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// GitWorktreeManagerImpl
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
export class GitWorktreeManagerImpl {
|
|
24
|
+
_eventBus;
|
|
25
|
+
_projectRoot;
|
|
26
|
+
_baseDirectory;
|
|
27
|
+
_db;
|
|
28
|
+
_logger;
|
|
29
|
+
/** Bound listener references for cleanup in shutdown() */
|
|
30
|
+
_onTaskReady;
|
|
31
|
+
_onTaskComplete;
|
|
32
|
+
_onTaskFailed;
|
|
33
|
+
constructor(eventBus, projectRoot, baseDirectory = DEFAULT_WORKTREE_BASE, db = null, logger) {
|
|
34
|
+
this._eventBus = eventBus;
|
|
35
|
+
this._projectRoot = projectRoot;
|
|
36
|
+
this._baseDirectory = baseDirectory;
|
|
37
|
+
this._db = db;
|
|
38
|
+
this._logger = logger ?? console;
|
|
39
|
+
// Bind listeners once so we can remove them in shutdown()
|
|
40
|
+
// Note: _handleTaskReady is async; it awaits worktree creation and emits
|
|
41
|
+
// worktree:created only after the worktree exists. The WorkerPoolManager
|
|
42
|
+
// subscribes to worktree:created (not task:ready) to avoid race conditions.
|
|
43
|
+
this._onTaskReady = ({ taskId }) => {
|
|
44
|
+
this._handleTaskReady(taskId).catch((err) => {
|
|
45
|
+
this._logger.error({ taskId, err }, 'Unhandled error in _handleTaskReady');
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
this._onTaskComplete = ({ taskId }) => {
|
|
49
|
+
void this._handleTaskDone(taskId);
|
|
50
|
+
};
|
|
51
|
+
this._onTaskFailed = ({ taskId }) => {
|
|
52
|
+
void this._handleTaskDone(taskId);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// IBaseService lifecycle
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
async initialize() {
|
|
59
|
+
this._logger.info({ projectRoot: this._projectRoot }, 'GitWorktreeManager.initialize()');
|
|
60
|
+
// Validate git version on startup
|
|
61
|
+
await this.verifyGitVersion();
|
|
62
|
+
// Clean up orphaned worktrees from previous crashes
|
|
63
|
+
const cleaned = await this.cleanupAllWorktrees();
|
|
64
|
+
if (cleaned > 0) {
|
|
65
|
+
this._logger.info({ cleaned }, 'Recovered orphaned worktrees on startup');
|
|
66
|
+
}
|
|
67
|
+
// Subscribe to task:ready to create worktrees
|
|
68
|
+
this._eventBus.on('task:ready', this._onTaskReady);
|
|
69
|
+
// Subscribe to completion events to trigger cleanup
|
|
70
|
+
this._eventBus.on('task:complete', this._onTaskComplete);
|
|
71
|
+
this._eventBus.on('task:failed', this._onTaskFailed);
|
|
72
|
+
this._logger.info('GitWorktreeManager initialized');
|
|
73
|
+
}
|
|
74
|
+
async shutdown() {
|
|
75
|
+
this._logger.info('GitWorktreeManager.shutdown()');
|
|
76
|
+
// Unsubscribe from event bus
|
|
77
|
+
this._eventBus.off('task:ready', this._onTaskReady);
|
|
78
|
+
this._eventBus.off('task:complete', this._onTaskComplete);
|
|
79
|
+
this._eventBus.off('task:failed', this._onTaskFailed);
|
|
80
|
+
// Clean up any remaining worktrees
|
|
81
|
+
await this.cleanupAllWorktrees();
|
|
82
|
+
this._logger.info('GitWorktreeManager shutdown complete');
|
|
83
|
+
}
|
|
84
|
+
// ---------------------------------------------------------------------------
|
|
85
|
+
// Event handlers
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
async _handleTaskReady(taskId) {
|
|
88
|
+
this._logger.debug({ taskId }, 'task:ready — creating worktree');
|
|
89
|
+
try {
|
|
90
|
+
await this.createWorktree(taskId);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
this._logger.error({ taskId, err }, 'Failed to create worktree for task');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async _handleTaskDone(taskId) {
|
|
97
|
+
this._logger.debug({ taskId }, 'task done — cleaning up worktree');
|
|
98
|
+
try {
|
|
99
|
+
await this.cleanupWorktree(taskId);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
// Log but don't rethrow — cleanup failure should not block task completion
|
|
103
|
+
this._logger.warn({ taskId, err }, 'Failed to cleanup worktree for task');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// GitWorktreeManager interface
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
async createWorktree(taskId, baseBranch = 'main') {
|
|
110
|
+
if (!taskId || taskId.trim().length === 0) {
|
|
111
|
+
throw new Error('createWorktree: taskId must be a non-empty string');
|
|
112
|
+
}
|
|
113
|
+
const branchName = BRANCH_PREFIX + taskId;
|
|
114
|
+
const worktreePath = this.getWorktreePath(taskId);
|
|
115
|
+
this._logger.debug({ taskId, branchName, worktreePath, baseBranch }, 'createWorktree');
|
|
116
|
+
// Create the worktree via git-utils
|
|
117
|
+
await gitUtils.createWorktree(this._projectRoot, taskId, branchName, baseBranch);
|
|
118
|
+
const createdAt = new Date();
|
|
119
|
+
// Emit worktree:created event
|
|
120
|
+
this._eventBus.emit('worktree:created', {
|
|
121
|
+
taskId,
|
|
122
|
+
branchName,
|
|
123
|
+
worktreePath,
|
|
124
|
+
createdAt,
|
|
125
|
+
});
|
|
126
|
+
const info = {
|
|
127
|
+
taskId,
|
|
128
|
+
branchName,
|
|
129
|
+
worktreePath,
|
|
130
|
+
createdAt,
|
|
131
|
+
};
|
|
132
|
+
this._logger.info({ taskId, branchName, worktreePath }, 'Worktree created');
|
|
133
|
+
return info;
|
|
134
|
+
}
|
|
135
|
+
async cleanupWorktree(taskId) {
|
|
136
|
+
const branchName = BRANCH_PREFIX + taskId;
|
|
137
|
+
const worktreePath = this.getWorktreePath(taskId);
|
|
138
|
+
this._logger.debug({ taskId, branchName, worktreePath }, 'cleanupWorktree');
|
|
139
|
+
// Guard: Check if worktree directory exists before attempting removal.
|
|
140
|
+
// This makes cleanupWorktree idempotent and prevents double-cleanup races.
|
|
141
|
+
let worktreeExists = false;
|
|
142
|
+
try {
|
|
143
|
+
await access(worktreePath);
|
|
144
|
+
worktreeExists = true;
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Worktree directory doesn't exist — already cleaned up or never created
|
|
148
|
+
this._logger.debug({ taskId, worktreePath }, 'cleanupWorktree: worktree does not exist, skipping removal');
|
|
149
|
+
}
|
|
150
|
+
// Remove worktree directory (only if it exists)
|
|
151
|
+
if (worktreeExists) {
|
|
152
|
+
try {
|
|
153
|
+
await gitUtils.removeWorktree(worktreePath, this._projectRoot);
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
this._logger.warn({ taskId, worktreePath, err }, 'removeWorktree failed during cleanup');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Delete the task branch
|
|
160
|
+
try {
|
|
161
|
+
await gitUtils.removeBranch(branchName, this._projectRoot);
|
|
162
|
+
}
|
|
163
|
+
catch (err) {
|
|
164
|
+
this._logger.warn({ taskId, branchName, err }, 'removeBranch failed during cleanup');
|
|
165
|
+
}
|
|
166
|
+
// Emit worktree:removed event
|
|
167
|
+
this._eventBus.emit('worktree:removed', {
|
|
168
|
+
taskId,
|
|
169
|
+
branchName,
|
|
170
|
+
});
|
|
171
|
+
this._logger.info({ taskId, branchName }, 'Worktree cleaned up');
|
|
172
|
+
}
|
|
173
|
+
async cleanupAllWorktrees() {
|
|
174
|
+
this._logger.debug({ projectRoot: this._projectRoot }, 'cleanupAllWorktrees');
|
|
175
|
+
const orphanedPaths = await gitUtils.getOrphanedWorktrees(this._projectRoot, this._baseDirectory);
|
|
176
|
+
let cleaned = 0;
|
|
177
|
+
for (const worktreePath of orphanedPaths) {
|
|
178
|
+
// Extract taskId from path (last segment of the path)
|
|
179
|
+
const taskId = path.basename(worktreePath);
|
|
180
|
+
// Remove orphaned worktree
|
|
181
|
+
let worktreeRemoved = false;
|
|
182
|
+
try {
|
|
183
|
+
await gitUtils.removeWorktree(worktreePath, this._projectRoot);
|
|
184
|
+
worktreeRemoved = true;
|
|
185
|
+
this._logger.debug({ taskId, worktreePath }, 'cleanupAllWorktrees: removed orphaned worktree');
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
this._logger.warn({ taskId, worktreePath, err }, 'cleanupAllWorktrees: failed to remove worktree');
|
|
189
|
+
}
|
|
190
|
+
// Remove orphaned branch
|
|
191
|
+
const branchName = BRANCH_PREFIX + taskId;
|
|
192
|
+
try {
|
|
193
|
+
const branchRemoved = await gitUtils.removeBranch(branchName, this._projectRoot);
|
|
194
|
+
if (branchRemoved) {
|
|
195
|
+
this._logger.debug({ taskId, branchName }, 'cleanupAllWorktrees: removed orphaned branch');
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
this._logger.warn({ taskId, branchName, err }, 'cleanupAllWorktrees: failed to remove branch');
|
|
200
|
+
}
|
|
201
|
+
// Only count as cleaned if worktree removal succeeded
|
|
202
|
+
if (worktreeRemoved) {
|
|
203
|
+
cleaned++;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (cleaned > 0) {
|
|
207
|
+
this._logger.info({ cleaned }, 'cleanupAllWorktrees: recovered orphaned worktrees');
|
|
208
|
+
}
|
|
209
|
+
return cleaned;
|
|
210
|
+
}
|
|
211
|
+
async detectConflicts(taskId, targetBranch = 'main') {
|
|
212
|
+
if (!taskId || taskId.trim().length === 0) {
|
|
213
|
+
throw new Error('detectConflicts: taskId must be a non-empty string');
|
|
214
|
+
}
|
|
215
|
+
const branchName = BRANCH_PREFIX + taskId;
|
|
216
|
+
const worktreePath = this.getWorktreePath(taskId);
|
|
217
|
+
this._logger.debug({ taskId, branchName, targetBranch }, 'detectConflicts');
|
|
218
|
+
// Verify the worktree exists
|
|
219
|
+
try {
|
|
220
|
+
await access(worktreePath);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
throw new Error(`detectConflicts: Worktree for task "${taskId}" not found at "${worktreePath}". ` +
|
|
224
|
+
`The worktree may have already been cleaned up.`);
|
|
225
|
+
}
|
|
226
|
+
// Run simulated merge on the project root (target branch working dir)
|
|
227
|
+
const mergeClean = await gitUtils.simulateMerge(branchName, this._projectRoot);
|
|
228
|
+
let conflictingFiles = [];
|
|
229
|
+
try {
|
|
230
|
+
if (!mergeClean) {
|
|
231
|
+
// Get the list of conflicting files
|
|
232
|
+
conflictingFiles = await gitUtils.getConflictingFiles(this._projectRoot);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
finally {
|
|
236
|
+
// Always abort the simulated merge to clean up state
|
|
237
|
+
await gitUtils.abortMerge(this._projectRoot);
|
|
238
|
+
}
|
|
239
|
+
const report = {
|
|
240
|
+
hasConflicts: !mergeClean || conflictingFiles.length > 0,
|
|
241
|
+
conflictingFiles,
|
|
242
|
+
taskId,
|
|
243
|
+
targetBranch,
|
|
244
|
+
};
|
|
245
|
+
// Emit worktree:conflict event if conflicts exist
|
|
246
|
+
if (report.hasConflicts) {
|
|
247
|
+
this._eventBus.emit('worktree:conflict', {
|
|
248
|
+
taskId,
|
|
249
|
+
branch: branchName,
|
|
250
|
+
conflictingFiles: report.conflictingFiles,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
this._logger.info({ taskId, hasConflicts: report.hasConflicts, conflictCount: conflictingFiles.length }, 'Conflict detection complete');
|
|
254
|
+
return report;
|
|
255
|
+
}
|
|
256
|
+
async mergeWorktree(taskId, targetBranch = 'main') {
|
|
257
|
+
if (!taskId || taskId.trim().length === 0) {
|
|
258
|
+
throw new Error('mergeWorktree: taskId must be a non-empty string');
|
|
259
|
+
}
|
|
260
|
+
const branchName = BRANCH_PREFIX + taskId;
|
|
261
|
+
this._logger.debug({ taskId, branchName, targetBranch }, 'mergeWorktree');
|
|
262
|
+
// Call detectConflicts() first to check for conflicts (also verifies worktree exists)
|
|
263
|
+
const conflictReport = await this.detectConflicts(taskId, targetBranch);
|
|
264
|
+
if (conflictReport.hasConflicts) {
|
|
265
|
+
// Return failure result without attempting merge
|
|
266
|
+
this._logger.info({ taskId, conflictCount: conflictReport.conflictingFiles.length }, 'Merge skipped due to conflicts');
|
|
267
|
+
return {
|
|
268
|
+
success: false,
|
|
269
|
+
mergedFiles: [],
|
|
270
|
+
conflicts: conflictReport,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
// Perform actual merge
|
|
274
|
+
const mergeSuccess = await gitUtils.performMerge(branchName, this._projectRoot);
|
|
275
|
+
if (!mergeSuccess) {
|
|
276
|
+
throw new Error(`mergeWorktree: git merge --no-ff failed for task "${taskId}" branch "${branchName}"`);
|
|
277
|
+
}
|
|
278
|
+
// Get the list of merged files
|
|
279
|
+
const mergedFiles = await gitUtils.getMergedFiles(this._projectRoot);
|
|
280
|
+
// Emit worktree:merged event
|
|
281
|
+
this._eventBus.emit('worktree:merged', {
|
|
282
|
+
taskId,
|
|
283
|
+
branch: branchName,
|
|
284
|
+
mergedFiles,
|
|
285
|
+
});
|
|
286
|
+
const result = {
|
|
287
|
+
success: true,
|
|
288
|
+
mergedFiles,
|
|
289
|
+
};
|
|
290
|
+
this._logger.info({ taskId, branchName, mergedFileCount: mergedFiles.length }, 'Worktree merged successfully');
|
|
291
|
+
return result;
|
|
292
|
+
}
|
|
293
|
+
async listWorktrees() {
|
|
294
|
+
this._logger.debug({ projectRoot: this._projectRoot, baseDirectory: this._baseDirectory }, 'listWorktrees');
|
|
295
|
+
const worktreePaths = await gitUtils.getOrphanedWorktrees(this._projectRoot, this._baseDirectory);
|
|
296
|
+
const results = [];
|
|
297
|
+
for (const worktreePath of worktreePaths) {
|
|
298
|
+
const taskId = path.basename(worktreePath);
|
|
299
|
+
const branchName = BRANCH_PREFIX + taskId;
|
|
300
|
+
// Try to get the creation time from the worktree directory
|
|
301
|
+
let createdAt;
|
|
302
|
+
try {
|
|
303
|
+
const { stat } = await import('node:fs/promises');
|
|
304
|
+
const stats = await stat(worktreePath);
|
|
305
|
+
createdAt = stats.birthtime ?? stats.ctime;
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
// If we can't stat the directory, use current time as fallback
|
|
309
|
+
createdAt = new Date();
|
|
310
|
+
}
|
|
311
|
+
results.push({
|
|
312
|
+
taskId,
|
|
313
|
+
branchName,
|
|
314
|
+
worktreePath,
|
|
315
|
+
createdAt,
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
this._logger.debug({ count: results.length }, 'listWorktrees: found worktrees');
|
|
319
|
+
return results;
|
|
320
|
+
}
|
|
321
|
+
getWorktreePath(taskId) {
|
|
322
|
+
return path.join(this._projectRoot, this._baseDirectory, taskId);
|
|
323
|
+
}
|
|
324
|
+
async verifyGitVersion() {
|
|
325
|
+
try {
|
|
326
|
+
await gitUtils.verifyGitVersion();
|
|
327
|
+
}
|
|
328
|
+
catch (err) {
|
|
329
|
+
throw new Error(`GitWorktreeManager: git version check failed: ${String(err)}`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
export function createGitWorktreeManager(options) {
|
|
334
|
+
return new GitWorktreeManagerImpl(options.eventBus, options.projectRoot, options.baseDirectory, options.db ?? null, options.logger);
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=git-worktree-manager-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-worktree-manager-impl.js","sourceRoot":"","sources":["../../src/git/git-worktree-manager-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitWorktreeManager — interface and types for git worktree lifecycle management.
|
|
3
|
+
*
|
|
4
|
+
* Responsible for:
|
|
5
|
+
* - Creating per-task git worktrees (AC1)
|
|
6
|
+
* - Providing worktree paths to WorkerPoolManager (AC2, AC6)
|
|
7
|
+
* - Cleaning up worktrees on task completion (AC3)
|
|
8
|
+
* - Recovering orphaned worktrees on startup (AC4)
|
|
9
|
+
* - Validating git version on startup (AC5)
|
|
10
|
+
*
|
|
11
|
+
* Implementation: GitWorktreeManagerImpl (git-worktree-manager-impl.ts)
|
|
12
|
+
*/
|
|
13
|
+
import type { IBaseService } from '../types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Describes a created worktree associated with a task.
|
|
16
|
+
*/
|
|
17
|
+
export interface WorktreeInfo {
|
|
18
|
+
/** Task this worktree belongs to */
|
|
19
|
+
taskId: string;
|
|
20
|
+
/** Branch name in the form "substrate/task-{taskId}" */
|
|
21
|
+
branchName: string;
|
|
22
|
+
/** Absolute path to the worktree directory */
|
|
23
|
+
worktreePath: string;
|
|
24
|
+
/** When the worktree was created */
|
|
25
|
+
createdAt: Date;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of a conflict detection check for a task's worktree branch.
|
|
29
|
+
* Returned by detectConflicts() after simulating a merge.
|
|
30
|
+
*/
|
|
31
|
+
export interface ConflictReport {
|
|
32
|
+
/** Whether conflicts were found */
|
|
33
|
+
hasConflicts: boolean;
|
|
34
|
+
/** List of files with conflicts (empty if no conflicts) */
|
|
35
|
+
conflictingFiles: string[];
|
|
36
|
+
/** Task ID being checked */
|
|
37
|
+
taskId: string;
|
|
38
|
+
/** Target branch that was used for conflict detection */
|
|
39
|
+
targetBranch: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Result of a merge operation for a task's worktree branch.
|
|
43
|
+
* Returned by mergeWorktree().
|
|
44
|
+
*/
|
|
45
|
+
export interface MergeResult {
|
|
46
|
+
/** Whether the merge succeeded */
|
|
47
|
+
success: boolean;
|
|
48
|
+
/** List of files that were merged (only populated on success) */
|
|
49
|
+
mergedFiles: string[];
|
|
50
|
+
/** Conflict report if merge failed due to conflicts */
|
|
51
|
+
conflicts?: ConflictReport;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Manages the lifecycle of git worktrees for parallel task execution.
|
|
55
|
+
*
|
|
56
|
+
* Each task gets an isolated git worktree to prevent file conflicts between
|
|
57
|
+
* concurrently running agents (FR16, FR17, NFR10).
|
|
58
|
+
*/
|
|
59
|
+
export interface GitWorktreeManager extends IBaseService {
|
|
60
|
+
/**
|
|
61
|
+
* Create a git worktree and branch for the given task.
|
|
62
|
+
*
|
|
63
|
+
* @param taskId - The task identifier
|
|
64
|
+
* @param baseBranch - Branch to base the worktree on (defaults to 'main')
|
|
65
|
+
* @returns - WorktreeInfo with path and branch details
|
|
66
|
+
* @throws - Error if git command fails
|
|
67
|
+
*/
|
|
68
|
+
createWorktree(taskId: string, baseBranch?: string): Promise<WorktreeInfo>;
|
|
69
|
+
/**
|
|
70
|
+
* Remove the worktree and branch associated with a task.
|
|
71
|
+
*
|
|
72
|
+
* @param taskId - The task identifier
|
|
73
|
+
* @throws - Error if git removal command fails
|
|
74
|
+
*/
|
|
75
|
+
cleanupWorktree(taskId: string): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Scan for orphaned worktrees and clean them up.
|
|
78
|
+
*
|
|
79
|
+
* Used during initialization to recover from crashes.
|
|
80
|
+
*
|
|
81
|
+
* @returns - Count of worktrees that were cleaned up
|
|
82
|
+
*/
|
|
83
|
+
cleanupAllWorktrees(): Promise<number>;
|
|
84
|
+
/**
|
|
85
|
+
* Get the consistent worktree path for a given task.
|
|
86
|
+
*
|
|
87
|
+
* @param taskId - The task identifier
|
|
88
|
+
* @returns - Absolute path: {projectRoot}/.substrate-worktrees/{taskId}
|
|
89
|
+
*/
|
|
90
|
+
getWorktreePath(taskId: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* Verify that git is installed and version >= 2.20.
|
|
93
|
+
*
|
|
94
|
+
* @throws - Error with clear message if git is missing or too old
|
|
95
|
+
*/
|
|
96
|
+
verifyGitVersion(): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Detect merge conflicts between a task's worktree branch and a target branch.
|
|
99
|
+
*
|
|
100
|
+
* @param taskId - The task identifier
|
|
101
|
+
* @param targetBranch - The branch to merge into (defaults to 'main')
|
|
102
|
+
* @returns - ConflictReport with hasConflicts and conflictingFiles
|
|
103
|
+
* @throws - Error if the worktree for this task does not exist
|
|
104
|
+
*/
|
|
105
|
+
detectConflicts(taskId: string, targetBranch?: string): Promise<ConflictReport>;
|
|
106
|
+
/**
|
|
107
|
+
* Merge a task's worktree branch into a target branch.
|
|
108
|
+
*
|
|
109
|
+
* @param taskId - The task identifier
|
|
110
|
+
* @param targetBranch - The branch to merge into (defaults to 'main')
|
|
111
|
+
* @returns - MergeResult with success status and merged files
|
|
112
|
+
* @throws - Error if merge command fails unexpectedly
|
|
113
|
+
*/
|
|
114
|
+
mergeWorktree(taskId: string, targetBranch?: string): Promise<MergeResult>;
|
|
115
|
+
/**
|
|
116
|
+
* List all currently tracked worktrees.
|
|
117
|
+
*
|
|
118
|
+
* @returns - Array of WorktreeInfo for all tracked worktrees
|
|
119
|
+
*/
|
|
120
|
+
listWorktrees(): Promise<WorktreeInfo[]>;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=git-worktree-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-worktree-manager.d.ts","sourceRoot":"","sources":["../../src/git/git-worktree-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM/C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,SAAS,EAAE,IAAI,CAAA;CAChB;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,YAAY,EAAE,OAAO,CAAA;IACrB,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAA;CACrB;AAMD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,iEAAiE;IACjE,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B;AAMD;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;;;;;OAOG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAE1E;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE9C;;;;;;OAMG;IACH,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAEtC;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IAEvC;;;;OAIG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjC;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAE/E;;;;;;;OAOG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAE1E;;;;OAIG;IACH,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;CACzC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitWorktreeManager — interface and types for git worktree lifecycle management.
|
|
3
|
+
*
|
|
4
|
+
* Responsible for:
|
|
5
|
+
* - Creating per-task git worktrees (AC1)
|
|
6
|
+
* - Providing worktree paths to WorkerPoolManager (AC2, AC6)
|
|
7
|
+
* - Cleaning up worktrees on task completion (AC3)
|
|
8
|
+
* - Recovering orphaned worktrees on startup (AC4)
|
|
9
|
+
* - Validating git version on startup (AC5)
|
|
10
|
+
*
|
|
11
|
+
* Implementation: GitWorktreeManagerImpl (git-worktree-manager-impl.ts)
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=git-worktree-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-worktree-manager.js","sourceRoot":"","sources":["../../src/git/git-worktree-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @substrate-ai/core git barrel export.
|
|
3
|
+
* Re-exports all git-related utilities, interfaces, and implementations.
|
|
4
|
+
*/
|
|
5
|
+
export * from './git-utils.js';
|
|
6
|
+
export type { GitWorktreeManager, WorktreeInfo, ConflictReport, MergeResult } from './git-worktree-manager.js';
|
|
7
|
+
export { GitWorktreeManagerImpl, createGitWorktreeManager, } from './git-worktree-manager-impl.js';
|
|
8
|
+
export type { GitWorktreeManagerOptions, LegacyDbLike } from './git-worktree-manager-impl.js';
|
|
9
|
+
export type { GitManager, GitManagerOptions } from './git-manager.js';
|
|
10
|
+
export { GitManagerImpl, createGitManager } from './git-manager.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC9G,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,gCAAgC,CAAA;AACvC,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7F,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @substrate-ai/core git barrel export.
|
|
3
|
+
* Re-exports all git-related utilities, interfaces, and implementations.
|
|
4
|
+
*/
|
|
5
|
+
export * from './git-utils.js';
|
|
6
|
+
export { GitWorktreeManagerImpl, createGitWorktreeManager, } from './git-worktree-manager-impl.js';
|
|
7
|
+
export { GitManagerImpl, createGitManager } from './git-manager.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,gBAAgB,CAAA;AAE9B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export type { EventMap, EventHandler } from './events/index.js';
|
|
3
|
+
export type { TypedEventBus } from './events/index.js';
|
|
4
|
+
export { TypedEventBusImpl, createEventBus } from './events/index.js';
|
|
5
|
+
export type { CoreEvents, EventTaskResult, EventTaskError } from './events/index.js';
|
|
6
|
+
export * from './dispatch/index.js';
|
|
7
|
+
export * from './persistence/index.js';
|
|
8
|
+
export * from './routing/index.js';
|
|
9
|
+
export * from './config/index.js';
|
|
10
|
+
export type { ITelemetryPersistence } from './telemetry/index.js';
|
|
11
|
+
export { estimateCost } from './telemetry/index.js';
|
|
12
|
+
export type { Recommendation } from './telemetry/index.js';
|
|
13
|
+
export * from './telemetry/index.js';
|
|
14
|
+
export * from './adapters/index.js';
|
|
15
|
+
export * from './context/index.js';
|
|
16
|
+
export * from './quality-gates/index.js';
|
|
17
|
+
export * from './git/index.js';
|
|
18
|
+
export * from './version-manager/index.js';
|
|
19
|
+
export * from './supervisor/index.js';
|
|
20
|
+
export * from './budget/index.js';
|
|
21
|
+
export { estimateCost as estimateCostForProvider } from './cost-tracker/token-rates.js';
|
|
22
|
+
export type { CostTracker, CostTrackerOptions } from './cost-tracker/index.js';
|
|
23
|
+
export { CostTrackerImpl, createCostTracker } from './cost-tracker/index.js';
|
|
24
|
+
export { CostTrackerSubscriber, createCostTrackerSubscriber } from './cost-tracker/index.js';
|
|
25
|
+
export type { CostTrackerSubscriberOptions } from './cost-tracker/index.js';
|
|
26
|
+
export type { CostEntry, TaskCostSummary, SessionCostSummary, AgentCostBreakdown, } from './cost-tracker/index.js';
|
|
27
|
+
export type { TokenRates, ModelRates } from './cost-tracker/index.js';
|
|
28
|
+
export { TOKEN_RATES, PROVIDER_ALIASES, getTokenRate, estimateCostSafe } from './cost-tracker/index.js';
|
|
29
|
+
export type { Recommendation as MonitorRecommendation } from './monitor/recommendation-types.js';
|
|
30
|
+
export * from './monitor/index.js';
|
|
31
|
+
export { callLLM } from './llm/client.js';
|
|
32
|
+
export type { LLMCallParams, LLMCallResult } from './llm/client.js';
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAA;AAI1B,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACrE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGpF,cAAc,qBAAqB,CAAA;AAGnC,cAAc,wBAAwB,CAAA;AAGtC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,mBAAmB,CAAA;AAOjC,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,cAAc,sBAAsB,CAAA;AAGpC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,0BAA0B,CAAA;AAGxC,cAAc,gBAAgB,CAAA;AAG9B,cAAc,4BAA4B,CAAA;AAG1C,cAAc,uBAAuB,CAAA;AAGrC,cAAc,mBAAmB,CAAA;AAWjC,OAAO,EAAE,YAAY,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACvF,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAC5F,YAAY,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAC3E,YAAY,EACV,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAKvG,YAAY,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAChG,cAAc,oBAAoB,CAAA;AAGlC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// @substrate-ai/core public API — exports added per story (40-3+)
|
|
2
|
+
// Core primitive types (TaskId, WorkerId, AgentId, TaskStatus, etc.)
|
|
3
|
+
// TaskId and WorkerId are defined here; the events subsystem also defines them
|
|
4
|
+
// but we use this module as the canonical source to avoid TS2308 ambiguity.
|
|
5
|
+
export * from './types.js';
|
|
6
|
+
export { TypedEventBusImpl, createEventBus } from './events/index.js';
|
|
7
|
+
// Dispatch: Dispatcher, DispatchRequest, DispatchHandle, DispatchResult, DispatchConfig
|
|
8
|
+
export * from './dispatch/index.js';
|
|
9
|
+
// Persistence: DatabaseAdapter, DatabaseAdapterConfig, SyncAdapter, isSyncAdapter, InitSchemaFn
|
|
10
|
+
export * from './persistence/index.js';
|
|
11
|
+
// Routing: RoutingDecision, RoutingPolicy, IRoutingResolver, ModelResolution
|
|
12
|
+
export * from './routing/index.js';
|
|
13
|
+
// Config: SubstrateConfig and related types
|
|
14
|
+
export * from './config/index.js';
|
|
15
|
+
export { estimateCost } from './telemetry/index.js';
|
|
16
|
+
export * from './telemetry/index.js';
|
|
17
|
+
// Adapter subsystem (WorkerAdapter, AdapterRegistry, SpawnCommand, AdapterOptions, etc.)
|
|
18
|
+
export * from './adapters/index.js';
|
|
19
|
+
// Context compiler subsystem (ContextCompiler, TaskDescriptor, CompileResult, *Schema, etc.)
|
|
20
|
+
export * from './context/index.js';
|
|
21
|
+
// Quality gates subsystem (QualityGate, GatePipeline, GateResult, etc.)
|
|
22
|
+
export * from './quality-gates/index.js';
|
|
23
|
+
// Git utilities, worktree management, and git manager
|
|
24
|
+
export * from './git/index.js';
|
|
25
|
+
// Version manager (VersionManager, VersionManagerImpl, UpdateChecker, VersionCache, etc.)
|
|
26
|
+
export * from './version-manager/index.js';
|
|
27
|
+
// Supervisor: analysis engine, experimenter framework
|
|
28
|
+
export * from './supervisor/index.js';
|
|
29
|
+
// Budget: BudgetTracker interface and stub implementation
|
|
30
|
+
export * from './budget/index.js';
|
|
31
|
+
// CostTracker: token rates, cost tracking, and subscriber
|
|
32
|
+
// estimateCost: telemetry's (model, tokens) version is the canonical @substrate-ai/core export (exported above).
|
|
33
|
+
// estimateCostForProvider: cost-tracker variant (provider, model, inputTokens, outputTokens, rateTable?)
|
|
34
|
+
// CostEntry/TaskCostSummary/SessionCostSummary/AgentCostBreakdown re-exported here from
|
|
35
|
+
// cost-tracker/types.js which points to the same declarations as persistence/cost-types.js,
|
|
36
|
+
// so TypeScript treats them as non-ambiguous identical declarations.
|
|
37
|
+
// estimateCost is intentionally excluded from the root re-export to prevent a runtime
|
|
38
|
+
// collision with telemetry's estimateCost; the cost-tracker variant is accessible as
|
|
39
|
+
// estimateCostForProvider from the root barrel, and as estimateCost from cost-tracker/index.ts.
|
|
40
|
+
export { estimateCost as estimateCostForProvider } from './cost-tracker/token-rates.js';
|
|
41
|
+
export { CostTrackerImpl, createCostTracker } from './cost-tracker/index.js';
|
|
42
|
+
export { CostTrackerSubscriber, createCostTrackerSubscriber } from './cost-tracker/index.js';
|
|
43
|
+
export { TOKEN_RATES, PROVIDER_ALIASES, getTokenRate, estimateCostSafe } from './cost-tracker/index.js';
|
|
44
|
+
export * from './monitor/index.js';
|
|
45
|
+
// LLM client: callLLM, LLMCallParams, LLMCallResult (story 42-10)
|
|
46
|
+
export { callLLM } from './llm/client.js';
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,qEAAqE;AACrE,+EAA+E;AAC/E,4EAA4E;AAC5E,cAAc,YAAY,CAAA;AAM1B,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGrE,wFAAwF;AACxF,cAAc,qBAAqB,CAAA;AAEnC,gGAAgG;AAChG,cAAc,wBAAwB,CAAA;AAEtC,6EAA6E;AAC7E,cAAc,oBAAoB,CAAA;AAElC,4CAA4C;AAC5C,cAAc,mBAAmB,CAAA;AAQjC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,cAAc,sBAAsB,CAAA;AAEpC,yFAAyF;AACzF,cAAc,qBAAqB,CAAA;AAEnC,6FAA6F;AAC7F,cAAc,oBAAoB,CAAA;AAElC,wEAAwE;AACxE,cAAc,0BAA0B,CAAA;AAExC,sDAAsD;AACtD,cAAc,gBAAgB,CAAA;AAE9B,0FAA0F;AAC1F,cAAc,4BAA4B,CAAA;AAE1C,sDAAsD;AACtD,cAAc,uBAAuB,CAAA;AAErC,0DAA0D;AAC1D,cAAc,mBAAmB,CAAA;AAEjC,0DAA0D;AAC1D,iHAAiH;AACjH,yGAAyG;AACzG,wFAAwF;AACxF,4FAA4F;AAC5F,qEAAqE;AACrE,sFAAsF;AACtF,qFAAqF;AACrF,gGAAgG;AAChG,OAAO,EAAE,YAAY,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAS5F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAMvG,cAAc,oBAAoB,CAAA;AAElC,kEAAkE;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
|