@delete101020/aidlc 4.0.31 → 4.0.33
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 +97 -16
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
|
@@ -19802,6 +19802,12 @@ var require_WorkspaceSchema = __commonJS({
|
|
|
19802
19802
|
/** Skill ids — every entry must reference a skill in the workspace `skills` list. */
|
|
19803
19803
|
skills: zod_1.z.array(zod_1.z.string().min(1)).min(1, "Agent must reference at least one skill"),
|
|
19804
19804
|
model: zod_1.z.string().optional(),
|
|
19805
|
+
/**
|
|
19806
|
+
* Models the user may pick between on the epic card (e.g. `[sonnet, opus]`),
|
|
19807
|
+
* `model` preselected. For steps where two tiers are both good enough and
|
|
19808
|
+
* the trade is cost against depth. Omitted = the agent runs on `model` only.
|
|
19809
|
+
*/
|
|
19810
|
+
models: zod_1.z.array(zod_1.z.string().min(1)).optional(),
|
|
19805
19811
|
// `default` keeps meaning Claude Code: renaming it to `claude` would
|
|
19806
19812
|
// invalidate every workspace.yaml already on disk and buy nothing
|
|
19807
19813
|
// (MULTI_PROVIDER_ALIGNMENT.md P0/D1). A closed enum is what lets
|
|
@@ -19905,6 +19911,11 @@ var require_WorkspaceSchema = __commonJS({
|
|
|
19905
19911
|
* once, as before.
|
|
19906
19912
|
*/
|
|
19907
19913
|
default_skill: zod_1.z.string().min(1).optional(),
|
|
19914
|
+
/**
|
|
19915
|
+
* Model this step runs on by default, over the agent's `model`. Joins the
|
|
19916
|
+
* agent's `models` as one more choice on the card; a pick there wins.
|
|
19917
|
+
*/
|
|
19918
|
+
model: zod_1.z.string().min(1).optional(),
|
|
19908
19919
|
/** Artifact paths required from upstream. Gate-checked before work AND on Mark step done. */
|
|
19909
19920
|
requires: zod_1.z.array(zod_1.z.string().min(1)).default([]),
|
|
19910
19921
|
/**
|
|
@@ -20067,6 +20078,7 @@ var require_WorkspaceSchema = __commonJS({
|
|
|
20067
20078
|
...typeof obj.description === "string" && obj.description.trim() ? { description: obj.description.trim() } : {},
|
|
20068
20079
|
skills,
|
|
20069
20080
|
...typeof obj.default_skill === "string" && skills?.includes(obj.default_skill) ? { default_skill: obj.default_skill } : {},
|
|
20081
|
+
...typeof obj.model === "string" && obj.model.trim() ? { model: obj.model.trim() } : {},
|
|
20070
20082
|
enabled: typeof obj.enabled === "boolean" ? obj.enabled : true,
|
|
20071
20083
|
optional: obj.optional === true,
|
|
20072
20084
|
produces,
|
|
@@ -20448,6 +20460,9 @@ var require_PipelineAssembler = __commonJS({
|
|
|
20448
20460
|
if (norm.default_skill) {
|
|
20449
20461
|
step.default_skill = norm.default_skill;
|
|
20450
20462
|
}
|
|
20463
|
+
if (norm.model) {
|
|
20464
|
+
step.model = norm.model;
|
|
20465
|
+
}
|
|
20451
20466
|
if (auto_review_runner) {
|
|
20452
20467
|
step.auto_review_runner = auto_review_runner;
|
|
20453
20468
|
}
|
|
@@ -20794,6 +20809,9 @@ ${raw.slice(0, 200)}`);
|
|
|
20794
20809
|
if (norm.default_skill) {
|
|
20795
20810
|
step.default_skill = norm.default_skill;
|
|
20796
20811
|
}
|
|
20812
|
+
if (norm.model) {
|
|
20813
|
+
step.model = norm.model;
|
|
20814
|
+
}
|
|
20797
20815
|
if (norm.auto_review_runner) {
|
|
20798
20816
|
step.auto_review_runner = norm.auto_review_runner;
|
|
20799
20817
|
}
|
|
@@ -21237,6 +21255,7 @@ var require_PipelineRunner = __commonJS({
|
|
|
21237
21255
|
exports2.rejectStep = rejectStep3;
|
|
21238
21256
|
exports2.rerunStep = rerunStep3;
|
|
21239
21257
|
exports2.chooseStepSkill = chooseStepSkill;
|
|
21258
|
+
exports2.chooseStepModel = chooseStepModel;
|
|
21240
21259
|
exports2.requestStepUpdate = requestStepUpdate2;
|
|
21241
21260
|
exports2.dirtyUpstreamOf = dirtyUpstreamOf2;
|
|
21242
21261
|
exports2.canRerunApprovedStep = canRerunApprovedStep;
|
|
@@ -21522,7 +21541,8 @@ var require_PipelineRunner = __commonJS({
|
|
|
21522
21541
|
revision: nextStep.revision,
|
|
21523
21542
|
reason: verdict.reason,
|
|
21524
21543
|
sentBackToIdx: idx,
|
|
21525
|
-
...nextStep.skill ? { skill: nextStep.skill } : {}
|
|
21544
|
+
...nextStep.skill ? { skill: nextStep.skill } : {},
|
|
21545
|
+
...nextStep.chosenModel ? { model: nextStep.chosenModel } : {}
|
|
21526
21546
|
});
|
|
21527
21547
|
next.status = "running";
|
|
21528
21548
|
settleOptionalRejection(next, idx, pipeline);
|
|
@@ -21600,7 +21620,8 @@ var require_PipelineRunner = __commonJS({
|
|
|
21600
21620
|
revision: next2.steps[idx].revision,
|
|
21601
21621
|
reason,
|
|
21602
21622
|
sentBackToIdx: targetIdx,
|
|
21603
|
-
...next2.steps[idx].skill ? { skill: next2.steps[idx].skill } : {}
|
|
21623
|
+
...next2.steps[idx].skill ? { skill: next2.steps[idx].skill } : {},
|
|
21624
|
+
...next2.steps[idx].chosenModel ? { model: next2.steps[idx].chosenModel } : {}
|
|
21604
21625
|
});
|
|
21605
21626
|
const usesDag = pipeline ? pipeline.steps.map(WorkspaceSchema_1.normalizeStep).some((s) => s.depends_on.length > 0) : false;
|
|
21606
21627
|
const targetIdxN = targetIdx;
|
|
@@ -21664,7 +21685,8 @@ var require_PipelineRunner = __commonJS({
|
|
|
21664
21685
|
revision: step.revision,
|
|
21665
21686
|
reason,
|
|
21666
21687
|
sentBackToIdx: idx,
|
|
21667
|
-
...step.skill ? { skill: step.skill } : {}
|
|
21688
|
+
...step.skill ? { skill: step.skill } : {},
|
|
21689
|
+
...step.chosenModel ? { model: step.chosenModel } : {}
|
|
21668
21690
|
})
|
|
21669
21691
|
};
|
|
21670
21692
|
next.status = "running";
|
|
@@ -21723,6 +21745,19 @@ var require_PipelineRunner = __commonJS({
|
|
|
21723
21745
|
next.steps[stepIdx] = { ...target, skill };
|
|
21724
21746
|
return next;
|
|
21725
21747
|
}
|
|
21748
|
+
function chooseStepModel(args) {
|
|
21749
|
+
const { state, stepIdx, models, model } = args;
|
|
21750
|
+
if (!Number.isInteger(stepIdx) || stepIdx < 0 || stepIdx >= state.steps.length) {
|
|
21751
|
+
throw new PipelineRunError3(`Invalid stepIdx ${stepIdx}`);
|
|
21752
|
+
}
|
|
21753
|
+
const target = state.steps[stepIdx];
|
|
21754
|
+
if (!models?.includes(model)) {
|
|
21755
|
+
throw new PipelineRunError3(`Model "${model}" is not one agent "${target.agent}" offers (${models?.join(", ") || "none"}).`);
|
|
21756
|
+
}
|
|
21757
|
+
const next = clone(state);
|
|
21758
|
+
next.steps[stepIdx] = { ...target, chosenModel: model };
|
|
21759
|
+
return next;
|
|
21760
|
+
}
|
|
21726
21761
|
function requestStepUpdate2(args) {
|
|
21727
21762
|
const { state, pipeline, stepIdx, feedback } = args;
|
|
21728
21763
|
if (!Number.isInteger(stepIdx) || stepIdx < 0 || stepIdx >= state.steps.length) {
|
|
@@ -21940,7 +21975,8 @@ var require_PipelineRunner = __commonJS({
|
|
|
21940
21975
|
kind: "approve",
|
|
21941
21976
|
at: finishedAt,
|
|
21942
21977
|
revision: approved.revision,
|
|
21943
|
-
...approved.skill ? { skill: approved.skill } : {}
|
|
21978
|
+
...approved.skill ? { skill: approved.skill } : {},
|
|
21979
|
+
...approved.chosenModel ? { model: approved.chosenModel } : {}
|
|
21944
21980
|
})
|
|
21945
21981
|
};
|
|
21946
21982
|
const normalized = pipeline.steps.map(WorkspaceSchema_1.normalizeStep);
|
|
@@ -28719,11 +28755,20 @@ var require_models = __commonJS({
|
|
|
28719
28755
|
"use strict";
|
|
28720
28756
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
28721
28757
|
exports2.CLAUDE_TIER_ALIASES = exports2.FAST_MODEL = exports2.CODING_MODEL = exports2.PLANNING_MODEL = void 0;
|
|
28758
|
+
exports2.pickAgentModel = pickAgentModel;
|
|
28759
|
+
exports2.stepModelOptions = stepModelOptions;
|
|
28722
28760
|
exports2.isClaudeTierAlias = isClaudeTierAlias2;
|
|
28723
28761
|
exports2.resolveProviderModel = resolveProviderModel2;
|
|
28724
28762
|
exports2.PLANNING_MODEL = "opus";
|
|
28725
28763
|
exports2.CODING_MODEL = "sonnet";
|
|
28726
28764
|
exports2.FAST_MODEL = "haiku";
|
|
28765
|
+
function pickAgentModel(agent, chosen) {
|
|
28766
|
+
return chosen && agent.models?.includes(chosen) ? chosen : agent.model ?? agent.models?.[0];
|
|
28767
|
+
}
|
|
28768
|
+
function stepModelOptions(agent, stepModel) {
|
|
28769
|
+
const models = [.../* @__PURE__ */ new Set([...agent.models ?? [], ...stepModel ? [stepModel] : []])];
|
|
28770
|
+
return { model: stepModel ?? agent.model, ...models.length > 1 ? { models } : {} };
|
|
28771
|
+
}
|
|
28727
28772
|
exports2.CLAUDE_TIER_ALIASES = [exports2.PLANNING_MODEL, exports2.CODING_MODEL, exports2.FAST_MODEL];
|
|
28728
28773
|
function isClaudeTierAlias2(model) {
|
|
28729
28774
|
return !!model && exports2.CLAUDE_TIER_ALIASES.includes(model.trim().toLowerCase());
|
|
@@ -31489,6 +31534,8 @@ var require_execEngine = __commonJS({
|
|
|
31489
31534
|
const alternatives = norm ? (0, WorkspaceSchema_1.stepSkillAlternatives)(norm) : void 0;
|
|
31490
31535
|
const chosen = opts.skill && alternatives?.options.includes(opts.skill) ? opts.skill : stepRec.skill;
|
|
31491
31536
|
const skillIds = norm ? (0, WorkspaceSchema_1.resolveStepSkills)(norm, agent.skills, chosen) : [...agent.skills];
|
|
31537
|
+
const modelOpts = (0, models_1.stepModelOptions)(agent, norm?.model);
|
|
31538
|
+
const agentModel = (0, models_1.pickAgentModel)(modelOpts, stepRec.chosenModel);
|
|
31492
31539
|
let runner;
|
|
31493
31540
|
let prompt2;
|
|
31494
31541
|
try {
|
|
@@ -31522,19 +31569,19 @@ var require_execEngine = __commonJS({
|
|
|
31522
31569
|
agent: agentId,
|
|
31523
31570
|
revision: stepRec.revision,
|
|
31524
31571
|
skills: skillIds,
|
|
31525
|
-
model:
|
|
31572
|
+
model: agentModel,
|
|
31526
31573
|
context: userMessage,
|
|
31527
31574
|
dirtyUpstream: (0, PipelineRunner_1.dirtyUpstreamOf)({ state, pipeline, stepIdx }).map((d) => ({ stepIdx: d.stepIdx, step: d.step, byStep: d.dirty.byStep }))
|
|
31528
31575
|
});
|
|
31529
31576
|
const aliases = (0, pricing_1.providerAliases)(ws.config.providers, agent.runner);
|
|
31530
|
-
const resolvedModel = (0, models_1.resolveProviderModel)(agent.runner,
|
|
31577
|
+
const resolvedModel = (0, models_1.resolveProviderModel)(agent.runner, agentModel, aliases);
|
|
31531
31578
|
const producedBefore = (0, producesSnapshot_1.snapshotProduces)({ state, pipeline, workspaceRoot: root, stepIdx });
|
|
31532
31579
|
const result = await runner.run({
|
|
31533
31580
|
skill: skillText,
|
|
31534
31581
|
env,
|
|
31535
31582
|
args: userMessage ? [userMessage] : [],
|
|
31536
31583
|
workspaceRoot: root,
|
|
31537
|
-
model:
|
|
31584
|
+
model: agentModel,
|
|
31538
31585
|
modelAliases: aliases,
|
|
31539
31586
|
onOutput: (chunk) => hooks.onOutput?.(chunk),
|
|
31540
31587
|
onError: (chunk) => hooks.onErrorOutput?.(chunk),
|
|
@@ -31563,6 +31610,9 @@ var require_execEngine = __commonJS({
|
|
|
31563
31610
|
if (alternatives) {
|
|
31564
31611
|
rec.skill = skillIds[0];
|
|
31565
31612
|
}
|
|
31613
|
+
if (modelOpts.models) {
|
|
31614
|
+
rec.chosenModel = agentModel;
|
|
31615
|
+
}
|
|
31566
31616
|
rec.usage = result.usage;
|
|
31567
31617
|
if (typeof result.costUsd === "number") {
|
|
31568
31618
|
rec.costUsd = result.costUsd;
|
|
@@ -31571,7 +31621,7 @@ var require_execEngine = __commonJS({
|
|
|
31571
31621
|
const est = (0, pricing_1.estimateCostUsd)({
|
|
31572
31622
|
table: (0, pricing_1.ratesFromConfig)(ws.config.providers),
|
|
31573
31623
|
provider: agent.runner,
|
|
31574
|
-
model: resolvedModel ??
|
|
31624
|
+
model: resolvedModel ?? agentModel,
|
|
31575
31625
|
usage: result.usage
|
|
31576
31626
|
});
|
|
31577
31627
|
if (est) {
|
|
@@ -31806,13 +31856,13 @@ var require_runReport = __commonJS({
|
|
|
31806
31856
|
return history.map((h) => {
|
|
31807
31857
|
switch (h.kind) {
|
|
31808
31858
|
case "reject":
|
|
31809
|
-
return ` - \u2718 rejected (rev ${h.revision}${h.skill ? `, ${h.skill}` : ""})${h.reason ? `: ${h.reason}` : ""}`;
|
|
31859
|
+
return ` - \u2718 rejected (rev ${h.revision}${h.skill ? `, ${h.skill}` : ""}${h.model ? `, ${h.model}` : ""})${h.reason ? `: ${h.reason}` : ""}`;
|
|
31810
31860
|
case "rerun":
|
|
31811
31861
|
return ` - \u21BA rerun \u2192 rev ${h.revision}${h.feedback ? ` (feedback: ${h.feedback})` : ""}`;
|
|
31812
31862
|
case "auto_review":
|
|
31813
31863
|
return ` - \u{1F916} auto-review ${h.decision} (rev ${h.revision}): ${h.reason}`;
|
|
31814
31864
|
case "approve":
|
|
31815
|
-
return ` - \u2714 approved (rev ${h.revision}${h.skill ? `, ${h.skill}` : ""})`;
|
|
31865
|
+
return ` - \u2714 approved (rev ${h.revision}${h.skill ? `, ${h.skill}` : ""}${h.model ? `, ${h.model}` : ""})`;
|
|
31816
31866
|
case "undo":
|
|
31817
31867
|
return ` - \u21B6 mark-done undone (rev ${h.revision}, was ${h.from})`;
|
|
31818
31868
|
default:
|
|
@@ -33985,9 +34035,9 @@ var require_dist = __commonJS({
|
|
|
33985
34035
|
exports2.dropRecipeStep = exports2.recipesDrawingFrom = exports2.WORKSPACE_DIR = exports2.WORKSPACE_FILENAME = exports2.WorkspaceParseError = exports2.WorkspaceNotFoundError = exports2.WorkspaceLoader = exports2.renderPlanMarkdown = exports2.generatePlan = exports2.collectContext = exports2.followUpHookFailures = exports2.pendingFollowUpDone = exports2.applyFollowUpHookRun = exports2.trackFollowUpChildren = exports2.writeFollowUpHookLedger = exports2.readFollowUpHookLedger = exports2.followUpHookLedgerPath = exports2.runFollowUpHook = exports2.fillFollowUpHookCommand = exports2.resolveFollowUpHooks = exports2.epicPipelineId = exports2.FOLLOW_UP_HOOK_TIMEOUT_MS = exports2.FOLLOW_UP_HOOKS_LEDGER = exports2.stepProducesFollowUps = exports2.collectFollowUpHookIssues = exports2.FOLLOW_UP_HOOK_PLACEHOLDERS = exports2.FOLLOW_UP_HOOK_KEYS = exports2.FOLLOW_UP_INTENT = exports2.FOLLOW_UPS_FILE = exports2.MANUAL_FOLLOW_UP_KEY_PREFIX = exports2.followUpDefaults = exports2.nextManualFollowUpKey = exports2.withFollowUpProvenance = exports2.openManifestFollowUp = exports2.followUpChildId = exports2.followUpsOf = exports2.readEpicFollowUps = exports2.parseFollowUps = exports2.FollowUpsParseError = exports2.FollowUpManifestSchema = exports2.FollowUpItemSchema = exports2.SIGNAL_FILE = exports2.FOLLOW_UP_ARTIFACT = exports2.readEpicSignal = exports2.existingEpicIds = exports2.followUpIdFor = exports2.followUpEpicId = exports2.renderIntentMarkdown = exports2.openFollowUpEpic = exports2.openIncidentEpic = void 0;
|
|
33986
34036
|
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 = 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 = void 0;
|
|
33987
34037
|
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.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.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 = void 0;
|
|
33988
|
-
exports2.
|
|
33989
|
-
exports2.
|
|
33990
|
-
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 = 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 = void 0;
|
|
34038
|
+
exports2.reconcileRunSteps = exports2.RUN_STATE_SCHEMA_VERSION = exports2.migrateRunState = exports2.stepIdentity = exports2.resolvePath = exports2.AutoReviewerError = exports2.runAutoReview = exports2.renderRunReport = exports2.verifyRun = exports2.runExecLoop = exports2.estimateCostUsd = exports2.providerAliases = exports2.ratesFromConfig = exports2.mergeRates = exports2.BUILTIN_RATES = exports2.unchangedProduces = exports2.snapshotProduces = exports2.checkBudget = exports2.weighStepProgress = exports2.isActiveStatus = exports2.isStepOptional = exports2.isRunComplete = exports2.deriveRunProgress = exports2.PipelineRunError = exports2.retryAutoReview = exports2.submitAutoReviewVerdict = exports2.dirtyUpstreamOf = exports2.rerunApprovedStep = exports2.canRerunApprovedStep = 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 = void 0;
|
|
34039
|
+
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 = 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 = void 0;
|
|
34040
|
+
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 = 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 = void 0;
|
|
33991
34041
|
var WorkspaceSchema_1 = require_WorkspaceSchema();
|
|
33992
34042
|
Object.defineProperty(exports2, "WorkspaceSchema", { enumerable: true, get: function() {
|
|
33993
34043
|
return WorkspaceSchema_1.WorkspaceSchema;
|
|
@@ -34694,6 +34744,9 @@ var require_dist = __commonJS({
|
|
|
34694
34744
|
Object.defineProperty(exports2, "chooseStepSkill", { enumerable: true, get: function() {
|
|
34695
34745
|
return PipelineRunner_1.chooseStepSkill;
|
|
34696
34746
|
} });
|
|
34747
|
+
Object.defineProperty(exports2, "chooseStepModel", { enumerable: true, get: function() {
|
|
34748
|
+
return PipelineRunner_1.chooseStepModel;
|
|
34749
|
+
} });
|
|
34697
34750
|
Object.defineProperty(exports2, "canRerunApprovedStep", { enumerable: true, get: function() {
|
|
34698
34751
|
return PipelineRunner_1.canRerunApprovedStep;
|
|
34699
34752
|
} });
|
|
@@ -34886,6 +34939,12 @@ var require_dist = __commonJS({
|
|
|
34886
34939
|
Object.defineProperty(exports2, "resolveProviderModel", { enumerable: true, get: function() {
|
|
34887
34940
|
return models_1.resolveProviderModel;
|
|
34888
34941
|
} });
|
|
34942
|
+
Object.defineProperty(exports2, "pickAgentModel", { enumerable: true, get: function() {
|
|
34943
|
+
return models_1.pickAgentModel;
|
|
34944
|
+
} });
|
|
34945
|
+
Object.defineProperty(exports2, "stepModelOptions", { enumerable: true, get: function() {
|
|
34946
|
+
return models_1.stepModelOptions;
|
|
34947
|
+
} });
|
|
34889
34948
|
var globalDefaults_1 = require_globalDefaults();
|
|
34890
34949
|
Object.defineProperty(exports2, "installGlobalDefaults", { enumerable: true, get: function() {
|
|
34891
34950
|
return globalDefaults_1.installGlobalDefaults;
|
|
@@ -43737,7 +43796,7 @@ var require_package = __commonJS({
|
|
|
43737
43796
|
"package.json"(exports2, module2) {
|
|
43738
43797
|
module2.exports = {
|
|
43739
43798
|
name: "@delete101020/aidlc",
|
|
43740
|
-
version: "4.0.
|
|
43799
|
+
version: "4.0.33",
|
|
43741
43800
|
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.",
|
|
43742
43801
|
license: "MIT",
|
|
43743
43802
|
repository: {
|
|
@@ -49497,6 +49556,7 @@ function listEpics(workspaceRoot, doc) {
|
|
|
49497
49556
|
status: asStatus(parsed.status),
|
|
49498
49557
|
createdAt: typeof parsed.createdAt === "string" ? parsed.createdAt : "",
|
|
49499
49558
|
tags: (0, import_core17.readEpicTags)(parsed),
|
|
49559
|
+
archived: parsed.archived === true,
|
|
49500
49560
|
pipeline: pipelineId,
|
|
49501
49561
|
agents: Array.isArray(parsed.agents) ? parsed.agents.map(String) : [],
|
|
49502
49562
|
currentStep: typeof parsed.currentStep === "number" ? parsed.currentStep : 0,
|
|
@@ -50306,10 +50366,10 @@ function registerEpic(program3) {
|
|
|
50306
50366
|
'Filter by tag \u2014 repeatable, and an epic must carry all of them. Case and accents are folded, so --tag "thanh to\xE1n" finds THANH-TOAN',
|
|
50307
50367
|
collectKv,
|
|
50308
50368
|
[]
|
|
50309
|
-
).action((opts, actionCmd) => {
|
|
50369
|
+
).option("--archived", "List only archived epics (they are hidden otherwise)").action((opts, actionCmd) => {
|
|
50310
50370
|
const root = resolveWorkspaceRoot(actionCmd);
|
|
50311
50371
|
const doc = readYaml(root);
|
|
50312
|
-
let epics = listEpics(root, doc);
|
|
50372
|
+
let epics = listEpics(root, doc).filter((e) => e.archived === (opts.archived === true));
|
|
50313
50373
|
if (opts.status) {
|
|
50314
50374
|
epics = epics.filter((e) => e.status === opts.status);
|
|
50315
50375
|
}
|
|
@@ -50845,6 +50905,27 @@ ${plan.length} pipeline(s) would move. Re-run without --dry-run.`));
|
|
|
50845
50905
|
console.log(import_chalk15.default.green("\u2714") + ` ${epicId}: strict_mode ${truthy.includes(v)}`);
|
|
50846
50906
|
console.log(import_chalk15.default.dim(" Takes effect on the next phase run \u2014 nothing already written changes."));
|
|
50847
50907
|
});
|
|
50908
|
+
for (const archived of [true, false]) {
|
|
50909
|
+
cmd.command(`${archived ? "archive" : "unarchive"} <epicId>`).description(archived ? "Hide an epic from `epic list` and the Epics panel (any status; nothing is deleted)" : "Bring an archived epic back to `epic list` and the Epics panel").action((epicId, _opts, actionCmd) => {
|
|
50910
|
+
const root = resolveWorkspaceRoot(actionCmd);
|
|
50911
|
+
const file = path12.join((0, import_core19.epicsRoot)(root, readYaml(root)), epicId, "state.json");
|
|
50912
|
+
let state;
|
|
50913
|
+
try {
|
|
50914
|
+
state = JSON.parse(fs10.readFileSync(file, "utf8"));
|
|
50915
|
+
} catch (err) {
|
|
50916
|
+
console.error(import_chalk15.default.red(`Could not read ${file}: ${err instanceof Error ? err.message : String(err)}`));
|
|
50917
|
+
process.exit(1);
|
|
50918
|
+
return;
|
|
50919
|
+
}
|
|
50920
|
+
if (archived) {
|
|
50921
|
+
state.archived = true;
|
|
50922
|
+
} else {
|
|
50923
|
+
delete state.archived;
|
|
50924
|
+
}
|
|
50925
|
+
fs10.writeFileSync(file, JSON.stringify(state, null, 2) + "\n", "utf8");
|
|
50926
|
+
console.log(import_chalk15.default.green("\u2714") + ` ${epicId} ${archived ? "archived" : "unarchived"}`);
|
|
50927
|
+
});
|
|
50928
|
+
}
|
|
50848
50929
|
const stepCmd = cmd.command("step").description(
|
|
50849
50930
|
`Add, remove or re-gate a step on a running epic. add/remove update the
|
|
50850
50931
|
pipeline, the run state and the epic's state.json together; set changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delete101020/aidlc",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.33",
|
|
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": {
|