@delete101020/aidlc 4.0.44 → 4.0.46
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/bundle.js +80 -9
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
|
@@ -21157,6 +21157,7 @@ var require_runProgress = __commonJS({
|
|
|
21157
21157
|
exports2.isStepOptional = isStepOptional;
|
|
21158
21158
|
exports2.deriveRunProgress = deriveRunProgress;
|
|
21159
21159
|
exports2.isRunComplete = isRunComplete2;
|
|
21160
|
+
exports2.nextRunnableStep = nextRunnableStep;
|
|
21160
21161
|
exports2.weighStepProgress = weighStepProgress2;
|
|
21161
21162
|
var WorkspaceSchema_1 = require_WorkspaceSchema();
|
|
21162
21163
|
var ACTIVE = /* @__PURE__ */ new Set([
|
|
@@ -21228,6 +21229,48 @@ var require_runProgress = __commonJS({
|
|
|
21228
21229
|
return s.status === "rejected" || s.status === "pending";
|
|
21229
21230
|
});
|
|
21230
21231
|
}
|
|
21232
|
+
function nextRunnableStep(state, pipeline, untilIdx = -1) {
|
|
21233
|
+
if (!usesDag(pipeline)) {
|
|
21234
|
+
return state.currentStepIdx;
|
|
21235
|
+
}
|
|
21236
|
+
const skipped = deadEndPeersOfApproved(state, pipeline);
|
|
21237
|
+
if (untilIdx >= 0) {
|
|
21238
|
+
skipped.delete(untilIdx);
|
|
21239
|
+
const onPath = ancestorsOf(pipeline, untilIdx);
|
|
21240
|
+
onPath.add(untilIdx);
|
|
21241
|
+
state.steps.forEach((_, i) => {
|
|
21242
|
+
if (!onPath.has(i)) {
|
|
21243
|
+
skipped.add(i);
|
|
21244
|
+
}
|
|
21245
|
+
});
|
|
21246
|
+
}
|
|
21247
|
+
const runnable = (i) => isActiveStatus(state.steps[i]?.status ?? "pending") && !skipped.has(i);
|
|
21248
|
+
if (runnable(state.currentStepIdx)) {
|
|
21249
|
+
return state.currentStepIdx;
|
|
21250
|
+
}
|
|
21251
|
+
return state.steps.findIndex((_, i) => runnable(i));
|
|
21252
|
+
}
|
|
21253
|
+
function ancestorsOf(pipeline, idx) {
|
|
21254
|
+
const normalized = pipeline.steps.map(WorkspaceSchema_1.normalizeStep);
|
|
21255
|
+
const idxByDagId = /* @__PURE__ */ new Map();
|
|
21256
|
+
normalized.forEach((s, i) => {
|
|
21257
|
+
idxByDagId.set(s.name ?? s.agent, i);
|
|
21258
|
+
});
|
|
21259
|
+
const found = /* @__PURE__ */ new Set();
|
|
21260
|
+
const queue = [idx];
|
|
21261
|
+
while (queue.length > 0) {
|
|
21262
|
+
const cur = queue.pop();
|
|
21263
|
+
for (const dep of normalized[cur]?.depends_on ?? []) {
|
|
21264
|
+
const di = idxByDagId.get(dep);
|
|
21265
|
+
if (di === void 0 || found.has(di) || di === idx) {
|
|
21266
|
+
continue;
|
|
21267
|
+
}
|
|
21268
|
+
found.add(di);
|
|
21269
|
+
queue.push(di);
|
|
21270
|
+
}
|
|
21271
|
+
}
|
|
21272
|
+
return found;
|
|
21273
|
+
}
|
|
21231
21274
|
function deadEndPeersOfApproved(state, pipeline) {
|
|
21232
21275
|
const normalized = state.steps.map((s, i) => (0, WorkspaceSchema_1.normalizeStep)(pipeline.steps[i] ?? { agent: s.agent }));
|
|
21233
21276
|
const ids = normalized.map((n) => n.name ?? n.agent);
|
|
@@ -21887,7 +21930,7 @@ ${route.note}` : verdict.reason;
|
|
|
21887
21930
|
}
|
|
21888
21931
|
const next = clone(state);
|
|
21889
21932
|
delete next.sendBacks;
|
|
21890
|
-
return advance(next, idx, pipeline);
|
|
21933
|
+
return advance(next, idx, pipeline, args.auto);
|
|
21891
21934
|
}
|
|
21892
21935
|
function rejectStep3(args) {
|
|
21893
21936
|
const { state, reason, targetIdx, pipeline } = args;
|
|
@@ -22220,7 +22263,7 @@ ${route.note}` : verdict.reason;
|
|
|
22220
22263
|
next.status = "running";
|
|
22221
22264
|
return next;
|
|
22222
22265
|
}
|
|
22223
|
-
function advance(next, idx, pipeline) {
|
|
22266
|
+
function advance(next, idx, pipeline, auto) {
|
|
22224
22267
|
const finishedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
22225
22268
|
const approved = next.steps[idx];
|
|
22226
22269
|
next.steps[idx] = {
|
|
@@ -22236,7 +22279,8 @@ ${route.note}` : verdict.reason;
|
|
|
22236
22279
|
at: finishedAt,
|
|
22237
22280
|
revision: approved.revision,
|
|
22238
22281
|
...approved.skill ? { skill: approved.skill } : {},
|
|
22239
|
-
...approved.chosenModel ? { model: approved.chosenModel } : {}
|
|
22282
|
+
...approved.chosenModel ? { model: approved.chosenModel } : {},
|
|
22283
|
+
...auto ? { auto: true } : {}
|
|
22240
22284
|
})
|
|
22241
22285
|
};
|
|
22242
22286
|
const normalized = pipeline.steps.map(WorkspaceSchema_1.normalizeStep);
|
|
@@ -32467,6 +32511,26 @@ var require_execEngine = __commonJS({
|
|
|
32467
32511
|
hooks.onRunFailed?.("Run failed.");
|
|
32468
32512
|
return { kind: "error" };
|
|
32469
32513
|
}
|
|
32514
|
+
const atIdx = state.currentStepIdx;
|
|
32515
|
+
if (state.steps[atIdx] && state.steps[atIdx].status !== "rejected") {
|
|
32516
|
+
const pick = (0, runProgress_1.nextRunnableStep)(state, initialPipeline, untilIdx);
|
|
32517
|
+
if (pick >= 0 && pick !== atIdx) {
|
|
32518
|
+
hooks.onStepBypassed?.({
|
|
32519
|
+
stepIdx: atIdx,
|
|
32520
|
+
label: stepLabel3(state.steps[atIdx]),
|
|
32521
|
+
nextStepIdx: pick,
|
|
32522
|
+
nextLabel: stepLabel3(state.steps[pick]),
|
|
32523
|
+
runId
|
|
32524
|
+
});
|
|
32525
|
+
state.currentStepIdx = pick;
|
|
32526
|
+
if (!opts.dryRun) {
|
|
32527
|
+
persist(root, state);
|
|
32528
|
+
}
|
|
32529
|
+
} else if (pick < 0 && untilIdx >= 0 && (0, runProgress_1.isActiveStatus)(state.steps[atIdx].status)) {
|
|
32530
|
+
hooks.onUntilStop?.({ untilIdx });
|
|
32531
|
+
return { kind: "until" };
|
|
32532
|
+
}
|
|
32533
|
+
}
|
|
32470
32534
|
const step = state.steps[state.currentStepIdx];
|
|
32471
32535
|
if (step.status === "awaiting_auto_review") {
|
|
32472
32536
|
const proceed = await runAutoReviewStep(root, runId, hooks);
|
|
@@ -33063,7 +33127,7 @@ About these inputs: ${(0, inheritedContext_1.inheritedContextNote)(epicRoot)}` :
|
|
|
33063
33127
|
async function autoApproveStep(root, state, hooks) {
|
|
33064
33128
|
const ws = WorkspaceLoader_1.WorkspaceLoader.load(root);
|
|
33065
33129
|
const pipeline = ws.config.pipelines.find((p) => p.id === state.pipelineId);
|
|
33066
|
-
const next = { ...(0, PipelineRunner_1.approveStep)({ state, pipeline }), sendBacks: state.sendBacks };
|
|
33130
|
+
const next = { ...(0, PipelineRunner_1.approveStep)({ state, pipeline, auto: true }), sendBacks: state.sendBacks };
|
|
33067
33131
|
persist(root, next, state);
|
|
33068
33132
|
hooks.onAutoApproved?.({ agent: state.steps[state.currentStepIdx].agent, label: stepLabel3(state.steps[state.currentStepIdx]) });
|
|
33069
33133
|
}
|
|
@@ -33232,7 +33296,7 @@ var require_runReport = __commonJS({
|
|
|
33232
33296
|
case "auto_review":
|
|
33233
33297
|
return ` - \u{1F916} auto-review ${h.decision} (rev ${h.revision}): ${h.reason}`;
|
|
33234
33298
|
case "approve":
|
|
33235
|
-
return ` - \u2714 approved (rev ${h.revision}${h.skill ? `, ${h.skill}` : ""}${h.model ? `, ${h.model}` : ""})`;
|
|
33299
|
+
return ` - \u2714 ${h.auto ? "auto-approved" : "approved"} (rev ${h.revision}${h.skill ? `, ${h.skill}` : ""}${h.model ? `, ${h.model}` : ""})`;
|
|
33236
33300
|
case "undo":
|
|
33237
33301
|
return ` - \u21B6 mark-done undone (rev ${h.revision}, was ${h.from})`;
|
|
33238
33302
|
case "interrupted":
|
|
@@ -35462,9 +35526,9 @@ var require_dist = __commonJS({
|
|
|
35462
35526
|
exports2.readUserConfig = exports2.readGitUserName = exports2.ensureUserConfigIgnored = exports2.USER_CONFIG_RELPATH = exports2.USER_CONFIG_IGNORE_LINE = exports2.suggestEpicId = exports2.resolveEpicIdPrefixChain = exports2.resolveEpicIdPrefix = exports2.epicIdDateStamp = exports2.deriveEpicIdPrefix = exports2.EPIC_ID_PREFIX_PATTERN = exports2.EPIC_ID_PREFIX_KEY = exports2.resolveArtifactLanguage = exports2.commandBodyPredatesArtifactLanguage = exports2.artifactLanguageSection = exports2.ARTIFACT_LANGUAGE_HEADING = exports2.stripPersonaDirectives = exports2.composeAgentPrompt = exports2.PROJECT_INSTRUCTION_FILES = exports2.findProjectInstructions = exports2.stripPersonaMetadata = exports2.PersonaLoader = exports2.SkillNotFoundError = exports2.SkillLoader = exports2.EnvVarMissingError = exports2.EnvResolver = exports2.epicPipelineReport = exports2.planEpicPipelineExtraction = exports2.epicOwningPipeline = exports2.unstageEpicPipeline = exports2.stageEpicPipeline = exports2.writeEpicPipelines = exports2.splitEpicPipelines = exports2.mergeEpicPipelines = exports2.epicPipelinePath = exports2.EPIC_PIPELINE_FILENAME = exports2.unusedAfterStepRemoval = exports2.skillReferences = exports2.agentReferences = exports2.renameSkillRefs = exports2.renameAgentRefs = exports2.dropRecipesForPipeline = exports2.dropRecipeStep = exports2.recipesDrawingFrom = exports2.WORKSPACE_DIR = exports2.WORKSPACE_FILENAME = exports2.WorkspaceParseError = exports2.WorkspaceNotFoundError = exports2.WorkspaceLoader = exports2.renderPlanMarkdown = void 0;
|
|
35463
35527
|
exports2.hasEmptyCiChecks = exports2.findApprovalGate = exports2.autopilotPreflight = exports2.STOP_GRACE_MS = exports2.stopProcessTree = exports2.stopOnAbort = exports2.processGroupSpawnOptions = exports2.claudeModelArg = exports2.DefaultRunner = exports2.RunnerRegistry = exports2.targetPath = exports2.scopePaths = exports2.discoverAssets = exports2.commandBodyIsStale = exports2.readEpicTags = exports2.normalizeTags = exports2.normalizeTag = exports2.epicMatchesTags = exports2.applyTagEdit = exports2.MAX_TAG_LENGTH = exports2.EPIC_TAGS_KEY = exports2.inheritedContextNote = exports2.INHERITED_CONTEXT_MARKER = exports2.strictModeSection = exports2.resolveEpicStrictMode = exports2.epicStrictMode = exports2.commandBodyPredatesStrictMode = exports2.STRICT_MODE_KEY = exports2.STRICT_MODE_HEADING = exports2.setEpicWatched = exports2.setEpicListFlat = exports2.setEpicSort = exports2.setActiveEpic = exports2.recordEpicOpened = exports2.readEpicListFlat = exports2.readEpicSort = exports2.readEpicFocus = exports2.pushRecent = exports2.epicSortFrom = exports2.epicIdFromBranch = exports2.epicFocusFrom = exports2.WATCHED_EPICS_KEY = exports2.RECENT_EPICS_LIMIT = exports2.RECENT_EPICS_KEY = exports2.EPIC_LIST_FLAT_KEY = exports2.EPIC_SORT_KEY = exports2.ACTIVE_EPIC_KEY = exports2.writeUserEpicIdPrefix = exports2.userConfigPath = exports2.updateUserConfig = void 0;
|
|
35464
35528
|
exports2.isRunComplete = exports2.deriveRunProgress = exports2.PipelineRunError = exports2.retryAutoReview = exports2.submitAutoReviewVerdict = exports2.dirtyUpstreamOf = exports2.rerunApprovedStep = exports2.canRerunApprovedStep = exports2.recordLaunchFeedback = exports2.chooseStepModel = exports2.chooseStepSkill = exports2.requestStepUpdate = exports2.rerunStep = exports2.rejectStep = exports2.approveStep = exports2.undoStepDone = exports2.canUndoStepDone = exports2.markStepDone = exports2.canStartStep = exports2.startRun = exports2.activateBackendFromWorkspace = exports2.activateRunStateBackend = exports2.resolveRunStateBackend = exports2.GitRunStateStore = exports2.RUN_ID_PATTERN = exports2.FileRunStateStore = exports2.RunStateStore = exports2.harnessCapabilities = exports2.NO_HARNESS_CAPABILITIES = exports2.RunnerValidationError = exports2.validateRunnerExport = exports2.CustomRunnerLoader = exports2.buildClaudeSpawnEnv = exports2.hasClaudeLogin = exports2.isInsideClaudeCodeSession = exports2.createJsonSink = exports2.createLineSink = exports2.isCodexMcpConfigured = exports2.codexConfigPath = exports2.readProjectMcpServer = exports2.mcpRegistrarFor = exports2.codexMcpRegistrar = exports2.claudeMcpRegistrar = exports2.copilotMcpConfig = exports2.copilotGraphServer = exports2.CopilotRunner = exports2.CodexRunner = exports2.AUTOPILOT_ENV = exports2.APPROVAL_GATE_SCRIPT = exports2.emptyCiChecksMessage = void 0;
|
|
35465
|
-
exports2.
|
|
35466
|
-
exports2.
|
|
35467
|
-
exports2.AIDLC_CORE_VERSION = exports2.AIDLC_CLI_GUIDE_TEXT = exports2.AIDLC_KNOWLEDGE = exports2.clearResolveCommandCache = exports2.resolveCommand = exports2.remapClaudePath = exports2.claudeConfigEnv = exports2.claudeJsonPath = exports2.isDefaultClaudeConfigDir = exports2.claudeConfigDir = exports2.resolveClaudeConfigDir = exports2.defaultClaudeConfigDir = exports2.getClaudeConfigDirOverride = void 0;
|
|
35529
|
+
exports2.CODING_MODEL = exports2.PLANNING_MODEL = exports2.isBuiltinPreset = exports2.BUILTIN_PRESET_IDS = exports2.writeBuiltinAutoReviewValidators = exports2.resolvePrimaryStack = exports2.getSdlcArtifactTemplates = exports2.getBuiltinArtifactTemplates = exports2.phaseArtifactFileName = exports2.sdlcClaudeCommand = exports2.builtinClaudeCommand = exports2.loadAllBuiltinPresets = exports2.loadBuiltinPreset = exports2.planRecipeMigration = exports2.getBuiltinRecipeSummaries = exports2.getAllBuiltinPipelineSummaries = exports2.getSdlcBuiltinPipelineSummary = exports2.getBuiltinPipelineSummary = exports2.getBuiltinWorkflowByPipelineId = exports2.getBuiltinWorkflow = exports2.workflowSlug = exports2.builtinTemplatesRoot = exports2.pipelineCommandId = exports2.PHASES = exports2.BUILTIN_WORKFLOWS = exports2.withBackfilledStepNames = exports2.describeDrift = exports2.reconcileRunSteps = exports2.RUN_STATE_SCHEMA_VERSION = exports2.migrateRunState = exports2.stepIdentity = exports2.resolvePath = exports2.AutoReviewerError = exports2.runAutoReview = exports2.renderRunReport = exports2.verifyRun = exports2.stepLabel = exports2.runExecLoop = exports2.estimateCostUsd = exports2.providerAliases = exports2.ratesFromConfig = exports2.mergeRates = exports2.BUILTIN_RATES = exports2.unchangedProduces = exports2.snapshotProduces = exports2.checkBudget = exports2.weighStepProgress = exports2.nextRunnableStep = exports2.isActiveStatus = exports2.isStepOptional = void 0;
|
|
35530
|
+
exports2.resolveDeclaredPath = exports2.expandHome = exports2.ProfileLoadError = exports2.UnknownStandardError = exports2.builtinProfiles = exports2.loadActiveProfile = exports2.loadProfile = exports2.listProfileManifests = exports2.resolveStandard = exports2.workspaceStandard = exports2.isBuiltinProfileId = exports2.ProfileSchema = exports2.TRACE_RULES = exports2.PROFILES_DIR = exports2.DEFAULT_PROFILE_ID = exports2.BUILTIN_PROFILE_IDS = exports2.setEpicMemoryHook = exports2.isEpicMemoryHookEnabled = exports2.installAnnotationTools = exports2.relativeEpicRoot = exports2.provisionDeclaredWorkflows = exports2.provisionWorkflowFiles = exports2.writeWorkflowArtifactTemplates = exports2.writeWorkflowCommands = exports2.provisionShortcutDocs = exports2.writeTwoLayerCommands = exports2.shortcutCommandDoc = exports2.backboneCommandDoc = exports2.unprovisionedPhases = exports2.nextEligiblePhase = exports2.resolveComposition = exports2.shortcutCommandId = exports2.getCanonicalPhase = exports2.isCanonicalPhase = exports2.BACKBONE_COMMAND_ID = exports2.CANONICAL_PHASE_IDS = exports2.CANONICAL_PHASES = exports2.renderTemplate = exports2.DEFAULT_GLOBAL_WORKFLOW_IDS = exports2.detectGlobalBuiltinSource = exports2.uninstallWorkflowGlobalsByIds = exports2.isWorkflowGloballyInstalled = exports2.installWorkflowGlobalsByIds = exports2.installGlobalDefaults = exports2.stepModelOptions = exports2.pickAgentModel = exports2.resolveProviderModel = exports2.isClaudeTierAlias = exports2.CLAUDE_TIER_ALIASES = exports2.FAST_MODEL = void 0;
|
|
35531
|
+
exports2.AIDLC_CORE_VERSION = exports2.AIDLC_CLI_GUIDE_TEXT = exports2.AIDLC_KNOWLEDGE = exports2.clearResolveCommandCache = exports2.resolveCommand = exports2.remapClaudePath = exports2.claudeConfigEnv = exports2.claudeJsonPath = exports2.isDefaultClaudeConfigDir = exports2.claudeConfigDir = exports2.resolveClaudeConfigDir = exports2.defaultClaudeConfigDir = exports2.getClaudeConfigDirOverride = exports2.setClaudeConfigDir = void 0;
|
|
35468
35532
|
var WorkspaceSchema_1 = require_WorkspaceSchema();
|
|
35469
35533
|
Object.defineProperty(exports2, "WorkspaceSchema", { enumerable: true, get: function() {
|
|
35470
35534
|
return WorkspaceSchema_1.WorkspaceSchema;
|
|
@@ -36271,6 +36335,9 @@ var require_dist = __commonJS({
|
|
|
36271
36335
|
Object.defineProperty(exports2, "isActiveStatus", { enumerable: true, get: function() {
|
|
36272
36336
|
return runProgress_1.isActiveStatus;
|
|
36273
36337
|
} });
|
|
36338
|
+
Object.defineProperty(exports2, "nextRunnableStep", { enumerable: true, get: function() {
|
|
36339
|
+
return runProgress_1.nextRunnableStep;
|
|
36340
|
+
} });
|
|
36274
36341
|
Object.defineProperty(exports2, "weighStepProgress", { enumerable: true, get: function() {
|
|
36275
36342
|
return runProgress_1.weighStepProgress;
|
|
36276
36343
|
} });
|
|
@@ -45292,7 +45359,7 @@ var require_package = __commonJS({
|
|
|
45292
45359
|
"package.json"(exports2, module2) {
|
|
45293
45360
|
module2.exports = {
|
|
45294
45361
|
name: "@delete101020/aidlc",
|
|
45295
|
-
version: "4.0.
|
|
45362
|
+
version: "4.0.46",
|
|
45296
45363
|
description: "AIDLC Native CLI, a fork of AIDLC \u2014 drive Claude through the six-stage AI-Native SDLC Playbook: Plan \u2192 Design \u2192 Build \u2192 Test \u2192 Deploy \u2192 Maintain, with artifact gates, requirements traceability, an incident loop back to Plan, and Spec Kit support.",
|
|
45297
45364
|
license: "MIT",
|
|
45298
45365
|
repository: {
|
|
@@ -50598,6 +50665,10 @@ ${reason}`)),
|
|
|
50598
50665
|
\u2933 Step "${e.label}" was rejected \u2014 carrying on.`) + import_chalk10.default.dim(` ${e.reason}`));
|
|
50599
50666
|
info(import_chalk10.default.dim(` Want it back? aidlc run rerun ${e.runId} --step ${e.stepIdx}`));
|
|
50600
50667
|
},
|
|
50668
|
+
onStepBypassed: (e) => {
|
|
50669
|
+
info(import_chalk10.default.dim(`
|
|
50670
|
+
\u2933 Not running "${e.label}" \u2014 the run does not need it here. Running "${e.nextLabel}" instead.`));
|
|
50671
|
+
},
|
|
50601
50672
|
onAutoReviewStart: (e) => info(import_chalk10.default.bold(`
|
|
50602
50673
|
\u{1F50D} Auto-review: "${e.label}"`)),
|
|
50603
50674
|
onAutoReviewResult: (e) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delete101020/aidlc",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.46",
|
|
4
4
|
"description": "AIDLC Native CLI, a fork of AIDLC — drive Claude through the six-stage AI-Native SDLC Playbook: Plan → Design → Build → Test → Deploy → Maintain, with artifact gates, requirements traceability, an incident loop back to Plan, and Spec Kit support.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|