substrate-ai 0.19.25 → 0.19.26

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.
@@ -0,0 +1,4 @@
1
+ import { AdapterRegistry } from "./dist-D0SnP1ns.js";
2
+ import "./adapter-registry-DXLMTmfD.js";
3
+
4
+ export { AdapterRegistry };
package/dist/cli/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
- import { FileStateStore, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, WorkGraphRepository, buildPipelineStatusOutput, createDatabaseAdapter, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot } from "../health-DezAZoGb.js";
2
+ import { FileStateStore, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, WorkGraphRepository, buildPipelineStatusOutput, createDatabaseAdapter, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot } from "../health-CAg5B3m_.js";
3
3
  import { createLogger } from "../logger-KeHncl-f.js";
4
4
  import { createEventBus } from "../helpers-CElYrONe.js";
5
- import { AdapterRegistry, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, ConfigError, CostTrackerConfigSchema, DEFAULT_CONFIG, DoltClient, DoltNotInstalled, GlobalSettingsSchema, IngestionServer, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProvidersSchema, RoutingRecommender, STORY_METRICS, TelemetryConfigSchema, addTokenUsage, aggregateTokenUsageForRun, checkDoltInstalled, compareRunMetrics, createAmendmentRun, createConfigSystem, createDecision, createDoltClient, createPipelineRun, getActiveDecisions, getAllCostEntriesFiltered, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initializeDolt, listRunMetrics, loadParentRunDecisions, supersedeDecision, tagRunAsBaseline, updatePipelineRun } from "../dist-DmhbWZ0f.js";
5
+ import { AdapterRegistry, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, ConfigError, CostTrackerConfigSchema, DEFAULT_CONFIG, DoltClient, DoltNotInstalled, GlobalSettingsSchema, IngestionServer, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProvidersSchema, RoutingRecommender, STORY_METRICS, TelemetryConfigSchema, addTokenUsage, aggregateTokenUsageForRun, checkDoltInstalled, compareRunMetrics, createAmendmentRun, createConfigSystem, createDecision, createDoltClient, createPipelineRun, getActiveDecisions, getAllCostEntriesFiltered, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initializeDolt, listRunMetrics, loadParentRunDecisions, supersedeDecision, tagRunAsBaseline, updatePipelineRun } from "../dist-D0SnP1ns.js";
6
6
  import "../adapter-registry-DXLMTmfD.js";
7
- import { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GitClient, GrammarLoader, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runSolutioningPhase, validateStopAfterFromConflict } from "../run-BO_GDvvR.js";
8
- import "../errors-CrFWBvB4.js";
7
+ import { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GitClient, GrammarLoader, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runSolutioningPhase, validateStopAfterFromConflict } from "../run-CsNW777k.js";
8
+ import "../errors-Crc4y34k.js";
9
9
  import "../routing-CcBOCuC9.js";
10
10
  import "../decisions-C0pz9Clx.js";
11
11
  import "../version-manager-impl-BmOWu8ml.js";
12
- import { registerUpgradeCommand } from "../upgrade-o__Q1Kdc.js";
12
+ import { registerUpgradeCommand } from "../upgrade-DldTl30b.js";
13
13
  import { Command } from "commander";
14
14
  import { fileURLToPath } from "url";
15
15
  import { dirname, join, resolve } from "path";
@@ -3228,7 +3228,7 @@ async function runStatusAction(options) {
3228
3228
  if (run === void 0) run = await getLatestRun(adapter);
3229
3229
  }
3230
3230
  if (run === void 0) {
3231
- const { inspectProcessTree: inspectProcessTree$1 } = await import("../health-fmMNa5fo.js");
3231
+ const { inspectProcessTree: inspectProcessTree$1 } = await import("../health-gww8zfnD.js");
3232
3232
  const substrateDirPath = join(projectRoot, ".substrate");
3233
3233
  const processInfo = inspectProcessTree$1({
3234
3234
  projectRoot,
@@ -4115,7 +4115,7 @@ function defaultSupervisorDeps() {
4115
4115
  if (cached === null) {
4116
4116
  const { AdapterRegistry: AR } = await import(
4117
4117
  /* @vite-ignore */
4118
- "../adapter-registry-CHFfvph6.js"
4118
+ "../adapter-registry-Cw2DpQOy.js"
4119
4119
  );
4120
4120
  cached = new AR();
4121
4121
  await cached.discoverAndRegister();
@@ -4557,11 +4557,11 @@ async function runSupervisorAction(options, deps = {}) {
4557
4557
  try {
4558
4558
  const { createExperimenter } = await import(
4559
4559
  /* @vite-ignore */
4560
- "../experimenter-BzWRPx13.js"
4560
+ "../experimenter-Ajtt8D60.js"
4561
4561
  );
4562
4562
  const { getLatestRun: getLatest } = await import(
4563
4563
  /* @vite-ignore */
4564
- "../decisions-B9fESQQz.js"
4564
+ "../decisions-BYjuW3st.js"
4565
4565
  );
4566
4566
  const expAdapter = createDatabaseAdapter({
4567
4567
  backend: "auto",
@@ -4571,7 +4571,7 @@ async function runSupervisorAction(options, deps = {}) {
4571
4571
  await initSchema(expAdapter);
4572
4572
  const { runRunAction: runPipeline } = await import(
4573
4573
  /* @vite-ignore */
4574
- "../run-CqF8Powf.js"
4574
+ "../run-CH6kOKMs.js"
4575
4575
  );
4576
4576
  const runStoryFn = async (opts) => {
4577
4577
  const exitCode = await runPipeline({
@@ -5101,7 +5101,7 @@ async function runMetricsAction(options) {
5101
5101
  const routingConfigPath = join(dbDir, "routing.yml");
5102
5102
  let routingConfig = null;
5103
5103
  if (existsSync$1(routingConfigPath)) try {
5104
- const { loadModelRoutingConfig } = await import("../routing-CLiOXDct.js");
5104
+ const { loadModelRoutingConfig } = await import("../routing-DZuOjyTy.js");
5105
5105
  routingConfig = loadModelRoutingConfig(routingConfigPath);
5106
5106
  } catch {}
5107
5107
  if (routingConfig === null) routingConfig = {
@@ -8355,8 +8355,8 @@ async function createProgram() {
8355
8355
  /** Fire-and-forget startup version check (story 8.3, AC3/AC5) */
8356
8356
  function checkForUpdatesInBackground(currentVersion) {
8357
8357
  if (process.env.SUBSTRATE_NO_UPDATE_CHECK === "1") return;
8358
- import("../upgrade-BPh0o_3L.js").then(async () => {
8359
- const { createVersionManager } = await import("../version-manager-impl-BO2Gvy5R.js");
8358
+ import("../upgrade-d21gzvUw.js").then(async () => {
8359
+ const { createVersionManager } = await import("../version-manager-impl-Vlz013ih.js");
8360
8360
  const vm = createVersionManager();
8361
8361
  const result = await vm.checkForUpdates();
8362
8362
  if (result.updateAvailable) {
@@ -1,4 +1,4 @@
1
- import { addTokenUsage, createDecision, createPipelineRun, createRequirement, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getTokenUsageSummary, listRequirements, registerArtifact, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision } from "./dist-DmhbWZ0f.js";
1
+ import { addTokenUsage, createDecision, createPipelineRun, createRequirement, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getTokenUsageSummary, listRequirements, registerArtifact, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision } from "./dist-D0SnP1ns.js";
2
2
  import "./decisions-C0pz9Clx.js";
3
3
 
4
4
  export { getLatestRun };
@@ -1184,6 +1184,7 @@ function isSyncAdapter(adapter) {
1184
1184
  * Transactions use explicit BEGIN / COMMIT / ROLLBACK statements.
1185
1185
  */
1186
1186
  var DoltDatabaseAdapter = class {
1187
+ backendType = "dolt";
1187
1188
  _client;
1188
1189
  /**
1189
1190
  * Create a DoltDatabaseAdapter wrapping the supplied DoltClientLike.
@@ -1276,6 +1277,7 @@ var DoltDatabaseAdapter = class {
1276
1277
  * Transactions use a snapshot-and-restore pattern.
1277
1278
  */
1278
1279
  var InMemoryDatabaseAdapter = class {
1280
+ backendType = "memory";
1279
1281
  _tables = new Map();
1280
1282
  _indexes = [];
1281
1283
  /** Maps table name → auto-increment column name */
@@ -10451,4 +10453,4 @@ async function callLLM(params) {
10451
10453
 
10452
10454
  //#endregion
10453
10455
  export { ADVISORY_NOTES, AdapterRegistry, AdtError, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, Categorizer, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, ConsumerAnalyzer, CostTrackerConfigSchema, DEFAULT_CONFIG, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, DoltNotInstalled, DoltQueryError, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, GeminiCLIAdapter, GlobalSettingsSchema, IngestionServer, LogTurnAnalyzer, ModelRoutingConfigSchema, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProviderPolicySchema, ProvidersSchema, Recommender, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TASK_TYPE_PHASE_MAP, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryConfigSchema, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, VersionManagerImpl, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, callLLM, checkDoltInstalled, compareRunMetrics, createAmendmentRun, createConfigSystem, createDatabaseAdapter as createDatabaseAdapter$1, createDecision, createDoltClient, createExperimenter, createPipelineRun, createRequirement, createVersionManager, detectInterfaceChanges, determineVerdict, getActiveDecisions, getAllCostEntriesFiltered, getArtifactByTypeForRun, getArtifactsByRun, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getModelTier, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initializeDolt, listRequirements, listRunMetrics, loadModelRoutingConfig, loadParentRunDecisions, registerArtifact, resolvePromptFile, supersedeDecision, tagRunAsBaseline, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics };
10454
- //# sourceMappingURL=dist-DmhbWZ0f.js.map
10456
+ //# sourceMappingURL=dist-D0SnP1ns.js.map
@@ -1,4 +1,4 @@
1
- import { AdtError } from "./dist-DmhbWZ0f.js";
1
+ import { AdtError } from "./dist-D0SnP1ns.js";
2
2
 
3
3
  //#region src/core/errors.ts
4
4
  /** Error thrown when task configuration is invalid */
@@ -71,4 +71,4 @@ var TaskGraphIncompatibleFormatError = class extends AdtError {
71
71
 
72
72
  //#endregion
73
73
  export { BudgetExceededError, GitError, RecoveryError, TaskConfigError, TaskGraphCycleError, TaskGraphError, TaskGraphIncompatibleFormatError, WorkerError, WorkerNotFoundError };
74
- //# sourceMappingURL=errors-CrFWBvB4.js.map
74
+ //# sourceMappingURL=errors-Crc4y34k.js.map
@@ -1,3 +1,3 @@
1
- import { buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, createExperimenter, determineVerdict, resolvePromptFile } from "./dist-DmhbWZ0f.js";
1
+ import { buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, createExperimenter, determineVerdict, resolvePromptFile } from "./dist-D0SnP1ns.js";
2
2
 
3
3
  export { createExperimenter };
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from "./logger-KeHncl-f.js";
2
- import { DoltClient, DoltQueryError, createDatabaseAdapter$1 as createDatabaseAdapter, getLatestRun, getPipelineRunById, initSchema } from "./dist-DmhbWZ0f.js";
2
+ import { DoltClient, DoltQueryError, createDatabaseAdapter$1 as createDatabaseAdapter, getLatestRun, getPipelineRunById, initSchema } from "./dist-D0SnP1ns.js";
3
3
  import { createRequire } from "module";
4
4
  import { dirname, join } from "path";
5
5
  import { existsSync, readFileSync } from "node:fs";
@@ -1941,4 +1941,4 @@ function registerHealthCommand(program, _version = "0.0.0", projectRoot = proces
1941
1941
 
1942
1942
  //#endregion
1943
1943
  export { BMAD_BASELINE_TOKENS_FULL, DEFAULT_STALL_THRESHOLD_SECONDS, DoltMergeConflict, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN$1 as STORY_KEY_PATTERN, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, WorkGraphRepository, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter$1 as createDatabaseAdapter, createStateStore, detectCycles, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, isOrchestratorProcessLine, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot, runHealthAction, validateStoryKey };
1944
- //# sourceMappingURL=health-DezAZoGb.js.map
1944
+ //# sourceMappingURL=health-CAg5B3m_.js.map
@@ -1,6 +1,6 @@
1
- import { DEFAULT_STALL_THRESHOLD_SECONDS, getAllDescendantPids, getAutoHealthData, inspectProcessTree, isOrchestratorProcessLine, registerHealthCommand, runHealthAction } from "./health-DezAZoGb.js";
1
+ import { DEFAULT_STALL_THRESHOLD_SECONDS, getAllDescendantPids, getAutoHealthData, inspectProcessTree, isOrchestratorProcessLine, registerHealthCommand, runHealthAction } from "./health-CAg5B3m_.js";
2
2
  import "./logger-KeHncl-f.js";
3
- import "./dist-DmhbWZ0f.js";
3
+ import "./dist-D0SnP1ns.js";
4
4
  import "./decisions-C0pz9Clx.js";
5
5
 
6
6
  export { inspectProcessTree };
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { childLogger, createLogger, logger } from "./logger-KeHncl-f.js";
2
2
  import { assertDefined, createEventBus, createTuiApp, deepClone, formatDuration, generateId, isPlainObject, isTuiCapable, printNonTtyWarning, sleep, withRetry } from "./helpers-CElYrONe.js";
3
- import { AdapterRegistry, AdtError, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, GeminiCLIAdapter } from "./dist-DmhbWZ0f.js";
3
+ import { AdapterRegistry, AdtError, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, GeminiCLIAdapter } from "./dist-D0SnP1ns.js";
4
4
  import "./adapter-registry-DXLMTmfD.js";
5
- import { BudgetExceededError, GitError, RecoveryError, TaskConfigError, TaskGraphCycleError, TaskGraphError, TaskGraphIncompatibleFormatError, WorkerError, WorkerNotFoundError } from "./errors-CrFWBvB4.js";
5
+ import { BudgetExceededError, GitError, RecoveryError, TaskConfigError, TaskGraphCycleError, TaskGraphError, TaskGraphIncompatibleFormatError, WorkerError, WorkerNotFoundError } from "./errors-Crc4y34k.js";
6
6
 
7
7
  //#region src/core/di.ts
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { ModelRoutingConfigSchema, ProviderPolicySchema, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, TASK_TYPE_PHASE_MAP, getModelTier, loadModelRoutingConfig } from "./dist-DmhbWZ0f.js";
1
+ import { ModelRoutingConfigSchema, ProviderPolicySchema, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, TASK_TYPE_PHASE_MAP, getModelTier, loadModelRoutingConfig } from "./dist-D0SnP1ns.js";
2
2
  import "./routing-CcBOCuC9.js";
3
3
 
4
4
  export { loadModelRoutingConfig };
@@ -1,8 +1,8 @@
1
- import "./health-DezAZoGb.js";
1
+ import "./health-CAg5B3m_.js";
2
2
  import "./logger-KeHncl-f.js";
3
3
  import "./helpers-CElYrONe.js";
4
- import "./dist-DmhbWZ0f.js";
5
- import { normalizeGraphSummaryToStatus, registerRunCommand, resolveMaxReviewCycles, runRunAction } from "./run-BO_GDvvR.js";
4
+ import "./dist-D0SnP1ns.js";
5
+ import { normalizeGraphSummaryToStatus, registerRunCommand, resolveMaxReviewCycles, runRunAction } from "./run-CsNW777k.js";
6
6
  import "./routing-CcBOCuC9.js";
7
7
  import "./decisions-C0pz9Clx.js";
8
8
 
@@ -1,7 +1,7 @@
1
- import { BMAD_BASELINE_TOKENS_FULL, DoltMergeConflict, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN, VALID_PHASES, WorkGraphRepository, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter, detectCycles, formatOutput, formatPipelineSummary, formatTokenTelemetry, inspectProcessTree, parseDbTimestampAsUtc, resolveMainRepoRoot, validateStoryKey } from "./health-DezAZoGb.js";
1
+ import { BMAD_BASELINE_TOKENS_FULL, DoltMergeConflict, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN, VALID_PHASES, WorkGraphRepository, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter, detectCycles, formatOutput, formatPipelineSummary, formatTokenTelemetry, inspectProcessTree, parseDbTimestampAsUtc, resolveMainRepoRoot, validateStoryKey } from "./health-CAg5B3m_.js";
2
2
  import { createLogger } from "./logger-KeHncl-f.js";
3
3
  import { TypedEventBusImpl, createEventBus, createTuiApp, isTuiCapable, printNonTtyWarning, sleep } from "./helpers-CElYrONe.js";
4
- import { ADVISORY_NOTES, Categorizer, ConsumerAnalyzer, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, IngestionServer, LogTurnAnalyzer, OPERATIONAL_FINDING, Recommender, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, callLLM, createConfigSystem, createDatabaseAdapter$1, createDecision, createPipelineRun, createRequirement, detectInterfaceChanges, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getStoryMetricsForRun, getTokenUsageSummary, initSchema, listRequirements, loadModelRoutingConfig, registerArtifact, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics } from "./dist-DmhbWZ0f.js";
4
+ import { ADVISORY_NOTES, Categorizer, ConsumerAnalyzer, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, IngestionServer, LogTurnAnalyzer, OPERATIONAL_FINDING, Recommender, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, callLLM, createConfigSystem, createDatabaseAdapter$1, createDecision, createPipelineRun, createRequirement, detectInterfaceChanges, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getStoryMetricsForRun, getTokenUsageSummary, initSchema, listRequirements, loadModelRoutingConfig, registerArtifact, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics } from "./dist-D0SnP1ns.js";
5
5
  import { basename, dirname, extname, join } from "path";
6
6
  import { access, readFile, readdir, stat } from "fs/promises";
7
7
  import { EventEmitter } from "node:events";
@@ -17774,22 +17774,28 @@ const logger$1 = createLogger("export-cmd");
17774
17774
  */
17775
17775
  async function runExportAction(options) {
17776
17776
  const { runId, outputDir, projectRoot, outputFormat } = options;
17777
+ const injectedAdapter = options.adapter;
17777
17778
  let adapter;
17779
+ let ownsAdapter = false;
17778
17780
  try {
17779
- const dbRoot = await resolveMainRepoRoot(projectRoot);
17780
- const dbPath = join$1(dbRoot, ".substrate", "substrate.db");
17781
- const doltDir = join$1(dbRoot, ".substrate", "state", ".dolt");
17782
- if (!existsSync(dbPath) && !existsSync(doltDir)) {
17783
- const errorMsg = `Decision store not initialized. Run 'substrate init' first.`;
17784
- if (outputFormat === "json") process.stdout.write(JSON.stringify({ error: errorMsg }) + "\n");
17785
- else process.stderr.write(`Error: ${errorMsg}\n`);
17786
- return 1;
17781
+ if (injectedAdapter !== void 0) adapter = injectedAdapter;
17782
+ else {
17783
+ const dbRoot = await resolveMainRepoRoot(projectRoot);
17784
+ const dbPath = join$1(dbRoot, ".substrate", "substrate.db");
17785
+ const doltDir = join$1(dbRoot, ".substrate", "state", ".dolt");
17786
+ if (!existsSync(dbPath) && !existsSync(doltDir)) {
17787
+ const errorMsg = `Decision store not initialized. Run 'substrate init' first.`;
17788
+ if (outputFormat === "json") process.stdout.write(JSON.stringify({ error: errorMsg }) + "\n");
17789
+ else process.stderr.write(`Error: ${errorMsg}\n`);
17790
+ return 1;
17791
+ }
17792
+ adapter = createDatabaseAdapter({
17793
+ backend: "auto",
17794
+ basePath: dbRoot
17795
+ });
17796
+ await initSchema(adapter);
17797
+ ownsAdapter = true;
17787
17798
  }
17788
- adapter = createDatabaseAdapter({
17789
- backend: "auto",
17790
- basePath: dbRoot
17791
- });
17792
- await initSchema(adapter);
17793
17799
  let run;
17794
17800
  if (runId !== void 0 && runId !== "") run = await getPipelineRunById(adapter, runId);
17795
17801
  else run = await getLatestRun(adapter);
@@ -17900,7 +17906,7 @@ async function runExportAction(options) {
17900
17906
  logger$1.error({ err }, "export action failed");
17901
17907
  return 1;
17902
17908
  } finally {
17903
- if (adapter !== void 0) try {
17909
+ if (ownsAdapter && adapter !== void 0) try {
17904
17910
  await adapter.close();
17905
17911
  } catch {}
17906
17912
  }
@@ -40751,6 +40757,7 @@ async function runRunAction(options) {
40751
40757
  backend: "auto",
40752
40758
  basePath: projectRoot
40753
40759
  });
40760
+ if (adapter.backendType === "memory" && existsSync$1(join(dbDir, "state", ".dolt"))) process.stderr.write("Warning: Dolt is initialized but the adapter fell back to in-memory storage.\nPipeline state, telemetry, and artifacts will NOT persist after this run exits.\nCheck that the `dolt` binary is on PATH and not locked by another process.\n");
40754
40761
  try {
40755
40762
  try {
40756
40763
  await initSchema(adapter);
@@ -41120,7 +41127,8 @@ async function runRunAction(options) {
41120
41127
  run_id: pipelineRun.id,
41121
41128
  stories: storyKeys,
41122
41129
  concurrency,
41123
- engine: resolvedEngine
41130
+ engine: resolvedEngine,
41131
+ adapter_backend: adapter.backendType
41124
41132
  });
41125
41133
  wireNdjsonEmitter(eventBus, ndjsonEmitter);
41126
41134
  }
@@ -41375,6 +41383,7 @@ async function runFullPipeline(options) {
41375
41383
  backend: "auto",
41376
41384
  basePath: projectRoot
41377
41385
  });
41386
+ if (adapter.backendType === "memory" && existsSync$1(join(dbDir, "state", ".dolt"))) process.stderr.write("Warning: Dolt is initialized but the adapter fell back to in-memory storage.\nPipeline state, telemetry, and artifacts will NOT persist after this run exits.\nCheck that the `dolt` binary is on PATH and not locked by another process.\n");
41378
41387
  try {
41379
41388
  try {
41380
41389
  await initSchema(adapter);
@@ -41473,7 +41482,8 @@ async function runFullPipeline(options) {
41473
41482
  ts: new Date().toISOString(),
41474
41483
  run_id: runId,
41475
41484
  stories: explicitStories ?? [],
41476
- concurrency
41485
+ concurrency,
41486
+ adapter_backend: adapter.backendType
41477
41487
  });
41478
41488
  wireNdjsonEmitter(eventBus, fullPipelineNdjsonEmitter);
41479
41489
  }
@@ -41726,9 +41736,12 @@ async function runFullPipeline(options) {
41726
41736
  runId,
41727
41737
  outputDir: exportDir,
41728
41738
  projectRoot,
41729
- outputFormat: "json"
41739
+ outputFormat: "json",
41740
+ adapter
41730
41741
  });
41731
- } catch {}
41742
+ } catch (exportErr) {
41743
+ logger.warn({ err: exportErr }, "Auto-export failed after phase completion (non-blocking)");
41744
+ }
41732
41745
  if (stopAfter !== void 0 && currentPhase === stopAfter) {
41733
41746
  const gate = createStopAfterGate(stopAfter);
41734
41747
  if (gate.shouldHalt()) {
@@ -41845,4 +41858,4 @@ function registerRunCommand(program, _version = "0.0.0", projectRoot = process.c
41845
41858
 
41846
41859
  //#endregion
41847
41860
  export { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GitClient, GrammarLoader, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, normalizeGraphSummaryToStatus, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveMaxReviewCycles, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runRunAction, runSolutioningPhase, validateStopAfterFromConflict };
41848
- //# sourceMappingURL=run-BO_GDvvR.js.map
41861
+ //# sourceMappingURL=run-CsNW777k.js.map
@@ -1,4 +1,4 @@
1
- import { createVersionManager } from "./dist-DmhbWZ0f.js";
1
+ import { createVersionManager } from "./dist-D0SnP1ns.js";
2
2
  import { execSync, spawn } from "child_process";
3
3
  import * as readline from "readline";
4
4
 
@@ -123,4 +123,4 @@ function registerUpgradeCommand(program) {
123
123
 
124
124
  //#endregion
125
125
  export { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand };
126
- //# sourceMappingURL=upgrade-o__Q1Kdc.js.map
126
+ //# sourceMappingURL=upgrade-DldTl30b.js.map
@@ -1,5 +1,5 @@
1
- import "./dist-DmhbWZ0f.js";
1
+ import "./dist-D0SnP1ns.js";
2
2
  import "./version-manager-impl-BmOWu8ml.js";
3
- import { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand } from "./upgrade-o__Q1Kdc.js";
3
+ import { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand } from "./upgrade-DldTl30b.js";
4
4
 
5
5
  export { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand };
@@ -1,4 +1,4 @@
1
- import { VersionManagerImpl, createVersionManager } from "./dist-DmhbWZ0f.js";
1
+ import { VersionManagerImpl, createVersionManager } from "./dist-D0SnP1ns.js";
2
2
  import "./version-manager-impl-BmOWu8ml.js";
3
3
 
4
4
  export { createVersionManager };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "substrate-ai",
3
- "version": "0.19.25",
3
+ "version": "0.19.26",
4
4
  "description": "Substrate — multi-agent orchestration daemon for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,4 +0,0 @@
1
- import { AdapterRegistry } from "./dist-DmhbWZ0f.js";
2
- import "./adapter-registry-DXLMTmfD.js";
3
-
4
- export { AdapterRegistry };