archondev 2.19.32 → 2.19.34

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadAtom
3
- } from "./chunk-Z6RH6DFP.js";
3
+ } from "./chunk-LGWUWEEJ.js";
4
4
 
5
5
  // src/cli/show.ts
6
6
  import chalk from "chalk";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  listLocalAtoms,
8
8
  loadAtom
9
- } from "./chunk-Z6RH6DFP.js";
9
+ } from "./chunk-LGWUWEEJ.js";
10
10
  import {
11
11
  loadConfig
12
12
  } from "./chunk-SVU7MLG6.js";
@@ -1272,16 +1272,27 @@ function parseAtomDescription(description, options, extractedCriteria = []) {
1272
1272
  }
1273
1273
  function deriveTitle(description) {
1274
1274
  const dashIndex = description.indexOf(" - ");
1275
- if (dashIndex > 0) {
1276
- return description.slice(0, dashIndex).trim();
1277
- }
1275
+ let titleCandidate = dashIndex > 0 ? description.slice(0, dashIndex).trim() : (description.split("\n")[0] ?? description).trim() || description.trim();
1278
1276
  const bracketIndex = description.indexOf("[1]");
1279
- if (bracketIndex > 0) {
1280
- return description.slice(0, bracketIndex).trim();
1277
+ if (bracketIndex > 0 && bracketIndex < titleCandidate.length) {
1278
+ titleCandidate = description.slice(0, bracketIndex).trim();
1279
+ }
1280
+ titleCandidate = titleCandidate.replace(/^\s*(please|can you|could you)\s+/i, "").replace(/^\s*i (want|would like|need) you to\s+/i, "").replace(/^\s*i (want|would like|need) to\s+/i, "");
1281
+ const sentenceBreak = titleCandidate.search(/[.!?]/);
1282
+ if (sentenceBreak > 0) {
1283
+ titleCandidate = titleCandidate.slice(0, sentenceBreak).trim();
1284
+ }
1285
+ if (titleCandidate.length > 110) {
1286
+ const andBreak = titleCandidate.search(/\band\b/i);
1287
+ if (andBreak > 24) {
1288
+ titleCandidate = titleCandidate.slice(0, andBreak).trim();
1289
+ }
1290
+ }
1291
+ titleCandidate = titleCandidate.replace(/\s+/g, " ").trim();
1292
+ if (titleCandidate.length > 96) {
1293
+ titleCandidate = `${titleCandidate.slice(0, 93).trimEnd()}...`;
1281
1294
  }
1282
- const line = description.split("\n")[0] ?? description;
1283
- const trimmed = line.trim();
1284
- return trimmed.length > 0 ? trimmed : description.trim();
1295
+ return titleCandidate.length > 0 ? titleCandidate : "Task";
1285
1296
  }
1286
1297
  function extractNumberedRequirements(description) {
1287
1298
  const requirements = [];
@@ -7,7 +7,7 @@ import {
7
7
  UsageRecorder,
8
8
  handleInsufficientCreditsRecovery,
9
9
  loadAtom
10
- } from "./chunk-Z6RH6DFP.js";
10
+ } from "./chunk-LGWUWEEJ.js";
11
11
  import {
12
12
  transitionAtom
13
13
  } from "./chunk-WGLVDEZC.js";
@@ -4815,7 +4815,7 @@ async function execute(atomId, options) {
4815
4815
  process.exit(1);
4816
4816
  };
4817
4817
  if (options.parallel && options.parallel.length > 0) {
4818
- const { parallelExecute } = await import("./parallel-3EZP3X6S.js");
4818
+ const { parallelExecute } = await import("./parallel-N74S3MFF.js");
4819
4819
  const allAtomIds = [atomId, ...options.parallel];
4820
4820
  await parallelExecute(allAtomIds, { skipGates: options.skipGates === true });
4821
4821
  return;
@@ -5033,11 +5033,15 @@ ${conflictReport.blockerCount} blocking conflict(s) found.`));
5033
5033
  console.log(chalk2.yellow("\n\u26A0\uFE0F Execution paused by governance guidance"));
5034
5034
  console.log(chalk2.dim("No changes were committed. Update the plan/path scope, then continue."));
5035
5035
  const violations = extractGovernanceViolations(executionResult.errorMessage);
5036
+ const pathScopeBlocked = violations.some((violation) => violation.toLowerCase().includes("outside the allowed paths"));
5036
5037
  if (violations.length > 0) {
5037
5038
  console.log(chalk2.yellow("\nGovernance guidance:"));
5038
5039
  for (const violation of violations) {
5039
5040
  console.log(chalk2.dim(` - ${violation}`));
5040
5041
  }
5042
+ if (pathScopeBlocked) {
5043
+ console.log(chalk2.dim('\nTry in chat: "adjust this atom to allowed paths", then "continue".'));
5044
+ }
5041
5045
  } else {
5042
5046
  console.log(chalk2.yellow(executionResult.errorMessage ?? "Architecture constraints were not satisfied."));
5043
5047
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listLocalAtoms
3
- } from "./chunk-Z6RH6DFP.js";
3
+ } from "./chunk-LGWUWEEJ.js";
4
4
 
5
5
  // src/cli/list.ts
6
6
  import chalk from "chalk";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  execute
3
- } from "./chunk-UVW75BHP.js";
3
+ } from "./chunk-MSWU7N4T.js";
4
4
  import "./chunk-EBHHIUCB.js";
5
- import "./chunk-Z6RH6DFP.js";
5
+ import "./chunk-LGWUWEEJ.js";
6
6
  import "./chunk-WGLVDEZC.js";
7
7
  import "./chunk-3MZOEZUH.js";
8
8
  import "./chunk-F7R3QKHP.js";
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-6URKZ7NB.js";
14
14
  import {
15
15
  show
16
- } from "./chunk-LRNXR7DL.js";
16
+ } from "./chunk-4C6XR7WP.js";
17
17
  import {
18
18
  bugReport
19
19
  } from "./chunk-AHK2ITJX.js";
@@ -50,13 +50,13 @@ import {
50
50
  parallelRunWaves,
51
51
  parallelSchedule,
52
52
  parallelStatus
53
- } from "./chunk-MRCIJKWD.js";
53
+ } from "./chunk-CFEX6EWG.js";
54
54
  import {
55
55
  DependencyParser,
56
56
  EnvironmentConfigLoader,
57
57
  EnvironmentValidator,
58
58
  execute
59
- } from "./chunk-UVW75BHP.js";
59
+ } from "./chunk-MSWU7N4T.js";
60
60
  import {
61
61
  cloudCancel,
62
62
  cloudLogs,
@@ -64,12 +64,12 @@ import {
64
64
  } from "./chunk-EBHHIUCB.js";
65
65
  import {
66
66
  list
67
- } from "./chunk-6ADNSWJ3.js";
67
+ } from "./chunk-Y2QXZ2UR.js";
68
68
  import {
69
69
  listLocalAtoms,
70
70
  loadAtom,
71
71
  plan
72
- } from "./chunk-Z6RH6DFP.js";
72
+ } from "./chunk-LGWUWEEJ.js";
73
73
  import "./chunk-WGLVDEZC.js";
74
74
  import "./chunk-3MZOEZUH.js";
75
75
  import {
@@ -3253,7 +3253,7 @@ async function runExploreFlow(cwd, followUpInput, options = {}) {
3253
3253
  case "1": {
3254
3254
  const description = await promptWithCommands("Describe what you want to do", { allowMultiline: true });
3255
3255
  if (description.trim()) {
3256
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
3256
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
3257
3257
  await plan2(description, { conversational: true });
3258
3258
  }
3259
3259
  await showMainMenu();
@@ -3498,7 +3498,7 @@ ${state.forbiddenPatterns?.length ? `- **Forbidden patterns:** ${state.forbidden
3498
3498
  const hintedTask = initialTaskHint?.trim() ?? "";
3499
3499
  if (hintedTask) {
3500
3500
  console.log(chalk5.dim("Using your request above as the first task.\n"));
3501
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
3501
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
3502
3502
  await plan2(hintedTask, { conversational: true });
3503
3503
  return;
3504
3504
  }
@@ -3523,7 +3523,7 @@ ${state.forbiddenPatterns?.length ? `- **Forbidden patterns:** ${state.forbidden
3523
3523
  description = continueAnswer.trim();
3524
3524
  }
3525
3525
  if (description.trim()) {
3526
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
3526
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
3527
3527
  await plan2(description, { conversational: true });
3528
3528
  }
3529
3529
  }
@@ -3682,10 +3682,10 @@ async function handleAgentConversationInput(cwd, input) {
3682
3682
  const request = pendingAnalysisToAtomRequest;
3683
3683
  pendingAnalysisToAtomRequest = null;
3684
3684
  console.log(chalk5.dim("\n> Great. Creating a governed task from the approved analysis plan.\n"));
3685
- const { plan: plan3 } = await import("./plan-RHDFDSZE.js");
3685
+ const { plan: plan3 } = await import("./plan-S5EULQKJ.js");
3686
3686
  await plan3(request, { conversational: true });
3687
- await showLatestPlannedAtom(cwd);
3688
- console.log(chalk5.dim('\nReply "execute atom" when you want implementation to start, or tell me what to change.'));
3687
+ console.log(chalk5.dim("\n> Starting implementation now...\n"));
3688
+ await continueWithCurrentTask(cwd);
3689
3689
  return true;
3690
3690
  }
3691
3691
  if (pendingProposalRequest && isPlanApprovalDirective(normalized)) {
@@ -3696,6 +3696,14 @@ async function handleAgentConversationInput(cwd, input) {
3696
3696
  await continueWithCurrentTask(cwd);
3697
3697
  return true;
3698
3698
  }
3699
+ if (isContinuationDirective(normalized)) {
3700
+ await continueWithCurrentTask(cwd);
3701
+ return true;
3702
+ }
3703
+ if (isRescopeBlockedDirective(normalized)) {
3704
+ await replanLatestBlockedAtom(cwd);
3705
+ return true;
3706
+ }
3699
3707
  if (isReferenceToPreviousRequest(normalized)) {
3700
3708
  await showLatestPlannedAtom(cwd);
3701
3709
  return true;
@@ -3715,7 +3723,7 @@ async function handleAgentConversationInput(cwd, input) {
3715
3723
  return true;
3716
3724
  }
3717
3725
  console.log(chalk5.dim("\n> Got it! Creating a task for this...\n"));
3718
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
3726
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
3719
3727
  await plan2(input, { conversational: true });
3720
3728
  if (shouldAutoExecuteAfterPlanning(input)) {
3721
3729
  await continueWithCurrentTask(cwd);
@@ -3762,7 +3770,7 @@ async function showProposalForApproval(input) {
3762
3770
  }
3763
3771
  }
3764
3772
  async function showLatestPlannedAtom(cwd) {
3765
- const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-RHDFDSZE.js");
3773
+ const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-S5EULQKJ.js");
3766
3774
  const atoms = await listLocalAtoms2();
3767
3775
  if (atoms.length === 0) {
3768
3776
  console.log(chalk5.yellow("No atoms found yet. Tell me what to plan."));
@@ -3780,9 +3788,13 @@ async function showLatestPlannedAtom(cwd) {
3780
3788
  console.log(chalk5.dim(`
3781
3789
  Showing latest planned atom (${latest.externalId})...
3782
3790
  `));
3783
- const { show: show2 } = await import("./show-7A3FACN6.js");
3791
+ const { show: show2 } = await import("./show-DYDXCREZ.js");
3784
3792
  await show2(latest.externalId);
3785
3793
  }
3794
+ function isContinuationDirective(input) {
3795
+ const normalized = normalizeDirectiveInput(input);
3796
+ return normalized === "continue" || normalized === "go on" || normalized === "go ahead" || normalized === "next" || normalized === "proceed" || normalized === "do it" || normalized === "keep going" || normalized === "move forward";
3797
+ }
3786
3798
  function isPlanApprovalDirective(input) {
3787
3799
  const normalized = normalizeDirectiveInput(input);
3788
3800
  if (!normalized) return false;
@@ -3825,7 +3837,12 @@ function isExecutionDirective(input) {
3825
3837
  "start now"
3826
3838
  ]);
3827
3839
  if (directExecution.has(normalized)) return true;
3828
- return /\b(execute|run|implement|start)\b/.test(normalized) && /\b(atom|task|plan|it|now)\b/.test(normalized);
3840
+ const hasExplicitRunVerb = /\b(execute|run)\b/.test(normalized);
3841
+ const hasExecutionTarget = /\b(atom|task|plan|it|now)\b/.test(normalized);
3842
+ if (hasExplicitRunVerb && hasExecutionTarget) {
3843
+ return true;
3844
+ }
3845
+ return /\b(start execution|implement now)\b/.test(normalized);
3829
3846
  }
3830
3847
  function isCreateAtomDirective(input) {
3831
3848
  const normalized = normalizeDirectiveInput(input);
@@ -3846,6 +3863,10 @@ function isCreateAtomDirective(input) {
3846
3863
  if (directCreate.has(normalized)) return true;
3847
3864
  return /\b(create|save|make|turn)\b/.test(normalized) && /\b(atom|task|plan|this|it)\b/.test(normalized);
3848
3865
  }
3866
+ function isRescopeBlockedDirective(input) {
3867
+ const normalized = normalizeDirectiveInput(input);
3868
+ return /\b(adjust|rescope|re scope|re-scope)\b/.test(normalized) && /\b(allowed paths|path scope|governance path|governance)\b/.test(normalized);
3869
+ }
3849
3870
  function normalizeDirectiveInput(input) {
3850
3871
  return input.trim().toLowerCase().replace(/[^\w\s]/g, " ").replace(/\s+/g, " ").trim();
3851
3872
  }
@@ -3864,7 +3885,7 @@ async function applyApprovedProposal(cwd) {
3864
3885
  return;
3865
3886
  }
3866
3887
  console.log(chalk5.dim("\n> Great. I will create the task from your approved request.\n"));
3867
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
3888
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
3868
3889
  await plan2(approvedRequest, { conversational: true });
3869
3890
  if (shouldAutoExecuteAfterPlanning(approvedRequest)) {
3870
3891
  await continueWithCurrentTask(cwd);
@@ -4007,14 +4028,32 @@ function buildSampleCapsuleDraft(cwd, files, capsuleCount) {
4007
4028
  ].join("\n");
4008
4029
  }
4009
4030
  async function continueWithCurrentTask(cwd) {
4010
- const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-RHDFDSZE.js");
4031
+ const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-S5EULQKJ.js");
4011
4032
  const atoms = await listLocalAtoms2();
4012
- const pending = atoms.filter((a) => a.status === "READY" || a.status === "IN_PROGRESS").sort((a, b) => a.externalId.localeCompare(b.externalId));
4013
- if (pending.length === 0) {
4033
+ const byMostRecent = (a, b) => {
4034
+ const aTime = new Date(String(a.updatedAt ?? a.createdAt ?? "")).getTime() || 0;
4035
+ const bTime = new Date(String(b.updatedAt ?? b.createdAt ?? "")).getTime() || 0;
4036
+ return bTime - aTime;
4037
+ };
4038
+ const readyAtoms = atoms.filter((a) => a.status === "READY").sort(byMostRecent);
4039
+ if (readyAtoms.length === 0) {
4040
+ const inProgressAtoms = atoms.filter((a) => a.status === "IN_PROGRESS").sort(byMostRecent);
4041
+ if (inProgressAtoms.length > 0) {
4042
+ const current = inProgressAtoms[0];
4043
+ console.log(chalk5.yellow(`No READY atoms found. Current in-progress atom: ${current?.externalId}.`));
4044
+ console.log(chalk5.dim("Use `archon show <atom-id>` to inspect status, or plan a new task."));
4045
+ return;
4046
+ }
4047
+ const blockedByPath = atoms.filter((a) => a.status === "BLOCKED").sort(byMostRecent).find((a) => (a.errorMessage ?? "").toLowerCase().includes("outside the allowed paths"));
4048
+ if (blockedByPath) {
4049
+ console.log(chalk5.yellow(`No READY atoms found. Latest blocked atom: ${blockedByPath.externalId}.`));
4050
+ console.log(chalk5.dim('This atom is blocked by governance path scope. Tell me: "adjust this atom to allowed paths".'));
4051
+ return;
4052
+ }
4014
4053
  console.log(chalk5.yellow("No pending atoms found. Tell me what to plan next."));
4015
4054
  return;
4016
4055
  }
4017
- const nextAtom = pending[0];
4056
+ const nextAtom = readyAtoms[0];
4018
4057
  if (!nextAtom) {
4019
4058
  console.log(chalk5.yellow("No pending atoms found. Tell me what to plan next."));
4020
4059
  return;
@@ -4022,9 +4061,43 @@ async function continueWithCurrentTask(cwd) {
4022
4061
  console.log(chalk5.dim(`
4023
4062
  Continuing with ${nextAtom.externalId}...
4024
4063
  `));
4025
- const { execute: execute2 } = await import("./execute-VOZIDAAG.js");
4064
+ const { execute: execute2 } = await import("./execute-ACRWMKWF.js");
4026
4065
  await execute2(nextAtom.externalId, { nonTerminating: true });
4027
4066
  }
4067
+ async function replanLatestBlockedAtom(cwd) {
4068
+ const { listLocalAtoms: listLocalAtoms2, plan: plan2 } = await import("./plan-S5EULQKJ.js");
4069
+ const atoms = await listLocalAtoms2();
4070
+ const blocked = atoms.filter((a) => a.status === "BLOCKED" && (a.errorMessage ?? "").toLowerCase().includes("outside the allowed paths")).sort((a, b) => {
4071
+ const aTime = new Date(String(a.updatedAt ?? a.createdAt ?? "")).getTime() || 0;
4072
+ const bTime = new Date(String(b.updatedAt ?? b.createdAt ?? "")).getTime() || 0;
4073
+ return bTime - aTime;
4074
+ })[0];
4075
+ if (!blocked) {
4076
+ console.log(chalk5.yellow("No blocked atom with path-scope guidance found."));
4077
+ return;
4078
+ }
4079
+ const allowedPaths = await listArchitecturePaths(cwd);
4080
+ const scope = allowedPaths.length > 0 ? allowedPaths.join(", ") : "existing architecture component paths";
4081
+ console.log(chalk5.dim("\n> Re-planning the blocked task with explicit allowed-path constraints...\n"));
4082
+ await plan2(`${blocked.title}
4083
+
4084
+ Constraints:
4085
+ - Only modify files within these allowed architecture paths: ${scope}
4086
+ - If required files are outside scope, first propose the minimum ARCHITECTURE.md path update needed.`, { conversational: true });
4087
+ await showLatestPlannedAtom(cwd);
4088
+ console.log(chalk5.dim('\nReply "continue" to execute this re-scoped atom.'));
4089
+ }
4090
+ async function listArchitecturePaths(cwd) {
4091
+ try {
4092
+ const parser = new ArchitectureParser(join6(cwd, "ARCHITECTURE.md"));
4093
+ const parsed = await parser.parse();
4094
+ const components = parsed.success ? parsed.schema?.components ?? [] : [];
4095
+ const paths = components.flatMap((component) => component.paths ?? []).filter((path2) => typeof path2 === "string" && path2.trim().length > 0);
4096
+ return Array.from(new Set(paths));
4097
+ } catch {
4098
+ return [];
4099
+ }
4100
+ }
4028
4101
  async function showMainMenu() {
4029
4102
  const cwd = process.cwd();
4030
4103
  while (true) {
@@ -4080,6 +4153,14 @@ async function showMainMenu() {
4080
4153
  async function handleFreeformJourneyInput(cwd, input) {
4081
4154
  const freeform = input.trim();
4082
4155
  if (!freeform) return false;
4156
+ if (isExecutionDirective(freeform) || isContinuationDirective(freeform)) {
4157
+ await continueWithCurrentTask(cwd);
4158
+ return true;
4159
+ }
4160
+ if (isRescopeBlockedDirective(freeform)) {
4161
+ await replanLatestBlockedAtom(cwd);
4162
+ return true;
4163
+ }
4083
4164
  const intent = detectUserIntent(freeform);
4084
4165
  if (isReadOnlyExploreRequest(freeform) || intent.mode === "explore" && intent.confidence >= 0.7) {
4085
4166
  console.log(chalk5.dim("\n> Got it! Analyzing the project...\n"));
@@ -4090,7 +4171,7 @@ async function handleFreeformJourneyInput(cwd, input) {
4090
4171
  const state = detectProjectState(cwd);
4091
4172
  if (state.hasArchitecture) {
4092
4173
  console.log(chalk5.dim("\n> Got it! Creating a task for this...\n"));
4093
- const { plan: plan3 } = await import("./plan-RHDFDSZE.js");
4174
+ const { plan: plan3 } = await import("./plan-S5EULQKJ.js");
4094
4175
  await plan3(freeform, { conversational: true });
4095
4176
  return true;
4096
4177
  }
@@ -4099,7 +4180,7 @@ async function handleFreeformJourneyInput(cwd, input) {
4099
4180
  return true;
4100
4181
  }
4101
4182
  console.log(chalk5.dim("\n> Got it! Creating a task for this...\n"));
4102
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
4183
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
4103
4184
  await plan2(freeform, { conversational: true });
4104
4185
  return true;
4105
4186
  }
@@ -4158,7 +4239,7 @@ async function handlePostExploreAction(cwd, request, options = {}) {
4158
4239
  } else {
4159
4240
  console.log(chalk5.dim("> Got it! Creating a task for this...\n"));
4160
4241
  }
4161
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
4242
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
4162
4243
  await plan2(request, { conversational: true });
4163
4244
  if (options.agentMode) {
4164
4245
  if (shouldAutoExecuteAfterPlanning(sourceInput)) {
@@ -4170,18 +4251,18 @@ async function handlePostExploreAction(cwd, request, options = {}) {
4170
4251
  }
4171
4252
  }
4172
4253
  async function planTask() {
4173
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
4254
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
4174
4255
  const description = await promptWithCommands("Describe what you want to build", { allowMultiline: true });
4175
4256
  if (description.trim()) {
4176
4257
  await plan2(description, { conversational: true });
4177
4258
  }
4178
4259
  }
4179
4260
  async function listAtoms() {
4180
- const { list: list2 } = await import("./list-JC7IMC5M.js");
4261
+ const { list: list2 } = await import("./list-WW6WUNBG.js");
4181
4262
  await list2({});
4182
4263
  }
4183
4264
  async function executeNext() {
4184
- const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-RHDFDSZE.js");
4265
+ const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-S5EULQKJ.js");
4185
4266
  const { analyzeProject, getComplexityDescription, getModeDescription } = await import("./orchestration-HIF3KP25.js");
4186
4267
  const { loadExecutionPreferences } = await import("./preferences-AGIZD5E5.js");
4187
4268
  const cwd = process.cwd();
@@ -4252,11 +4333,11 @@ async function executeNext() {
4252
4333
  }
4253
4334
  }
4254
4335
  if (selectedMode === "parallel-cloud") {
4255
- const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-3EZP3X6S.js");
4336
+ const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-N74S3MFF.js");
4256
4337
  await parallelExecuteCloud2(runIds);
4257
4338
  return;
4258
4339
  }
4259
- const { parallelExecute } = await import("./parallel-3EZP3X6S.js");
4340
+ const { parallelExecute } = await import("./parallel-N74S3MFF.js");
4260
4341
  await parallelExecute(runIds);
4261
4342
  return;
4262
4343
  }
@@ -4264,7 +4345,7 @@ async function executeNext() {
4264
4345
  const atomId = await prompt("Enter atom ID to execute (or press Enter for first pending)");
4265
4346
  const targetId = atomId.trim() || pendingAtoms[0]?.id;
4266
4347
  if (targetId) {
4267
- const { execute: execute2 } = await import("./execute-VOZIDAAG.js");
4348
+ const { execute: execute2 } = await import("./execute-ACRWMKWF.js");
4268
4349
  await execute2(targetId, {});
4269
4350
  } else {
4270
4351
  console.log(chalk5.yellow("No atom to execute."));
@@ -4413,7 +4494,7 @@ async function handleSlashCommand(input) {
4413
4494
  const arg = parts.slice(1).join(" ").trim();
4414
4495
  switch (command) {
4415
4496
  case "/plan": {
4416
- const { plan: plan2 } = await import("./plan-RHDFDSZE.js");
4497
+ const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
4417
4498
  if (arg) {
4418
4499
  await plan2(arg, { conversational: true });
4419
4500
  } else {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  list
3
- } from "./chunk-6ADNSWJ3.js";
4
- import "./chunk-Z6RH6DFP.js";
3
+ } from "./chunk-Y2QXZ2UR.js";
4
+ import "./chunk-LGWUWEEJ.js";
5
5
  import "./chunk-WGLVDEZC.js";
6
6
  import "./chunk-3MZOEZUH.js";
7
7
  import "./chunk-F7R3QKHP.js";
@@ -6,9 +6,9 @@ import {
6
6
  parallelRunWaves,
7
7
  parallelSchedule,
8
8
  parallelStatus
9
- } from "./chunk-MRCIJKWD.js";
9
+ } from "./chunk-CFEX6EWG.js";
10
10
  import "./chunk-EBHHIUCB.js";
11
- import "./chunk-Z6RH6DFP.js";
11
+ import "./chunk-LGWUWEEJ.js";
12
12
  import "./chunk-WGLVDEZC.js";
13
13
  import "./chunk-3MZOEZUH.js";
14
14
  import "./chunk-F7R3QKHP.js";
@@ -3,7 +3,7 @@ import {
3
3
  loadAtom,
4
4
  parseAtomDescription,
5
5
  plan
6
- } from "./chunk-Z6RH6DFP.js";
6
+ } from "./chunk-LGWUWEEJ.js";
7
7
  import "./chunk-WGLVDEZC.js";
8
8
  import "./chunk-3MZOEZUH.js";
9
9
  import "./chunk-F7R3QKHP.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  show
3
- } from "./chunk-LRNXR7DL.js";
4
- import "./chunk-Z6RH6DFP.js";
3
+ } from "./chunk-4C6XR7WP.js";
4
+ import "./chunk-LGWUWEEJ.js";
5
5
  import "./chunk-WGLVDEZC.js";
6
6
  import "./chunk-3MZOEZUH.js";
7
7
  import "./chunk-F7R3QKHP.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archondev",
3
- "version": "2.19.32",
3
+ "version": "2.19.34",
4
4
  "description": "Local-first AI-powered development governance system",
5
5
  "main": "dist/index.js",
6
6
  "bin": {