substrate-ai 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createLogger, deepMask } from "../logger-C6n1g8uP.js";
|
|
3
3
|
import { AdapterRegistry, createEventBus } from "../event-bus-J-bw-pkp.js";
|
|
4
4
|
import { CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, PartialSubstrateConfigSchema, SUPPORTED_CONFIG_FORMAT_VERSIONS, SubstrateConfigSchema, defaultConfigMigrator } from "../version-manager-impl-BpVx2DkY.js";
|
|
5
|
-
import { DatabaseWrapper, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, buildPipelineStatusOutput, createContextCompiler, createDispatcher, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, findPackageRoot, formatOutput, formatPhaseCompletionSummary, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getSubstrateDefaultSettings, parseDbTimestampAsUtc, registerRunCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot, runAnalysisPhase, runMigrations, runPlanningPhase, runSolutioningPhase, validateStopAfterFromConflict } from "../run-
|
|
5
|
+
import { DatabaseWrapper, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, buildPipelineStatusOutput, createContextCompiler, createDispatcher, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, findPackageRoot, formatOutput, formatPhaseCompletionSummary, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getSubstrateDefaultSettings, parseDbTimestampAsUtc, registerRunCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot, runAnalysisPhase, runMigrations, runPlanningPhase, runSolutioningPhase, validateStopAfterFromConflict } from "../run-DbRH_r_-.js";
|
|
6
6
|
import { ConfigError, ConfigIncompatibleFormatError } from "../errors-BPqtzQ4U.js";
|
|
7
7
|
import { addTokenUsage, createDecision, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getTokenUsageSummary, listRequirements, updatePipelineRun } from "../decisions-DNYByk0U.js";
|
|
8
8
|
import { aggregateTokenUsageForRun, compareRunMetrics, getBaselineRunMetrics, getRunMetrics, getStoryMetricsForRun, incrementRunRestarts, listRunMetrics, tagRunAsBaseline } from "../metrics-BSg8VIHd.js";
|
|
@@ -2833,7 +2833,7 @@ async function runSupervisorAction(options, deps = {}) {
|
|
|
2833
2833
|
const expDb = expDbWrapper.db;
|
|
2834
2834
|
const { runRunAction: runPipeline } = await import(
|
|
2835
2835
|
/* @vite-ignore */
|
|
2836
|
-
"../run-
|
|
2836
|
+
"../run-aGFwcIFG.js"
|
|
2837
2837
|
);
|
|
2838
2838
|
const runStoryFn = async (opts) => {
|
|
2839
2839
|
const exitCode = await runPipeline({
|
|
@@ -10758,17 +10758,11 @@ async function runFullPipeline(options) {
|
|
|
10758
10758
|
if (skipResearchFlag === true) effectiveResearch = false;
|
|
10759
10759
|
let effectiveUxDesign = pack.manifest.uxDesign === true;
|
|
10760
10760
|
if (skipUx === true) effectiveUxDesign = false;
|
|
10761
|
-
|
|
10762
|
-
|
|
10763
|
-
manifest: {
|
|
10764
|
-
...pack.manifest,
|
|
10765
|
-
research: effectiveResearch,
|
|
10766
|
-
uxDesign: effectiveUxDesign
|
|
10767
|
-
}
|
|
10768
|
-
};
|
|
10761
|
+
pack.manifest.research = effectiveResearch;
|
|
10762
|
+
pack.manifest.uxDesign = effectiveUxDesign;
|
|
10769
10763
|
const phaseOrchestrator = createPhaseOrchestrator({
|
|
10770
10764
|
db,
|
|
10771
|
-
pack
|
|
10765
|
+
pack
|
|
10772
10766
|
});
|
|
10773
10767
|
const startedAt = Date.now();
|
|
10774
10768
|
const runId = await phaseOrchestrator.startRun(concept ?? "", startPhase);
|
|
@@ -11024,7 +11018,7 @@ async function runFullPipeline(options) {
|
|
|
11024
11018
|
}
|
|
11025
11019
|
}
|
|
11026
11020
|
function registerRunCommand(program, _version = "0.0.0", projectRoot = process.cwd()) {
|
|
11027
|
-
program.command("run").description("Run the autonomous pipeline (use --from to start from a specific phase)").option("--pack <name>", "Methodology pack name", "bmad").option("--from <phase>", "Start from this phase: analysis, planning, solutioning, implementation").option("--stop-after <phase>", "Stop pipeline after this phase completes").option("--concept <text>", "Inline concept text (required when --from analysis)").option("--concept-file <path>", "Path to a file containing the concept text").option("--stories <keys>", "Comma-separated story keys (e.g., 10-1,10-2)").option("--concurrency <n>", "Maximum parallel conflict groups", (v) => parseInt(v, 10),
|
|
11021
|
+
program.command("run").description("Run the autonomous pipeline (use --from to start from a specific phase)").option("--pack <name>", "Methodology pack name", "bmad").option("--from <phase>", "Start from this phase: analysis, planning, solutioning, implementation").option("--stop-after <phase>", "Stop pipeline after this phase completes").option("--concept <text>", "Inline concept text (required when --from analysis)").option("--concept-file <path>", "Path to a file containing the concept text").option("--stories <keys>", "Comma-separated story keys (e.g., 10-1,10-2)").option("--concurrency <n>", "Maximum parallel conflict groups", (v) => parseInt(v, 10), 3).option("--project-root <path>", "Project root directory", projectRoot).option("--output-format <format>", "Output format: human (default) or json", "human").option("--events", "Emit structured NDJSON events on stdout for programmatic consumption").option("--verbose", "Show detailed pino log output").option("--help-agent", "Print a machine-optimized prompt fragment for AI agents and exit").option("--tui", "Show TUI dashboard").option("--skip-ux", "Skip the UX design phase even if enabled in the pack manifest").option("--research", "Enable the research phase even if not set in the pack manifest").option("--skip-research", "Skip the research phase even if enabled in the pack manifest").action(async (opts) => {
|
|
11028
11022
|
if (opts.helpAgent) {
|
|
11029
11023
|
process.exitCode = await runHelpAgent();
|
|
11030
11024
|
return;
|
|
@@ -11064,4 +11058,4 @@ function registerRunCommand(program, _version = "0.0.0", projectRoot = process.c
|
|
|
11064
11058
|
|
|
11065
11059
|
//#endregion
|
|
11066
11060
|
export { DatabaseWrapper, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, buildPipelineStatusOutput, createContextCompiler, createDispatcher, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, findPackageRoot, formatOutput, formatPhaseCompletionSummary, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getSubstrateDefaultSettings, parseDbTimestampAsUtc, registerRunCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot, runAnalysisPhase, runMigrations, runPlanningPhase, runRunAction, runSolutioningPhase, validateStopAfterFromConflict };
|
|
11067
|
-
//# sourceMappingURL=run-
|
|
11061
|
+
//# sourceMappingURL=run-DbRH_r_-.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./logger-C6n1g8uP.js";
|
|
2
2
|
import "./event-bus-J-bw-pkp.js";
|
|
3
|
-
import { registerRunCommand, runRunAction } from "./run-
|
|
3
|
+
import { registerRunCommand, runRunAction } from "./run-DbRH_r_-.js";
|
|
4
4
|
import "./decisions-DNYByk0U.js";
|
|
5
5
|
import "./metrics-BSg8VIHd.js";
|
|
6
6
|
|
package/package.json
CHANGED
package/packs/bmad/manifest.yaml
CHANGED
|
@@ -5,12 +5,17 @@
|
|
|
5
5
|
### Project Concept
|
|
6
6
|
{{concept}}
|
|
7
7
|
|
|
8
|
+
### Research Context
|
|
9
|
+
{{research_findings}}
|
|
10
|
+
|
|
8
11
|
---
|
|
9
12
|
|
|
10
13
|
## Mission
|
|
11
14
|
|
|
12
15
|
Analyze the project concept above and produce a focused **vision analysis**: a clear problem statement and identification of target users. Do NOT define features or metrics yet — those come in a subsequent step.
|
|
13
16
|
|
|
17
|
+
When Research Context is provided above, ground your vision analysis in that evidence: reference specific market signals, competitive gaps, or feasibility findings to justify your problem statement and user segmentation. When Research Context is empty, proceed using the concept alone — output quality must be identical.
|
|
18
|
+
|
|
14
19
|
## Instructions
|
|
15
20
|
|
|
16
21
|
1. **Analyze the concept deeply:**
|