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.
- package/dist/{chunk-LRNXR7DL.js → chunk-4C6XR7WP.js} +1 -1
- package/dist/{chunk-MRCIJKWD.js → chunk-CFEX6EWG.js} +1 -1
- package/dist/{chunk-Z6RH6DFP.js → chunk-LGWUWEEJ.js} +19 -8
- package/dist/{chunk-UVW75BHP.js → chunk-MSWU7N4T.js} +6 -2
- package/dist/{chunk-6ADNSWJ3.js → chunk-Y2QXZ2UR.js} +1 -1
- package/dist/{execute-VOZIDAAG.js → execute-ACRWMKWF.js} +2 -2
- package/dist/index.js +112 -31
- package/dist/{list-JC7IMC5M.js → list-WW6WUNBG.js} +2 -2
- package/dist/{parallel-3EZP3X6S.js → parallel-N74S3MFF.js} +2 -2
- package/dist/{plan-RHDFDSZE.js → plan-S5EULQKJ.js} +1 -1
- package/dist/{show-7A3FACN6.js → show-DYDXCREZ.js} +2 -2
- package/package.json +1 -1
|
@@ -1272,16 +1272,27 @@ function parseAtomDescription(description, options, extractedCriteria = []) {
|
|
|
1272
1272
|
}
|
|
1273
1273
|
function deriveTitle(description) {
|
|
1274
1274
|
const dashIndex = description.indexOf(" - ");
|
|
1275
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
execute
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MSWU7N4T.js";
|
|
4
4
|
import "./chunk-EBHHIUCB.js";
|
|
5
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
53
|
+
} from "./chunk-CFEX6EWG.js";
|
|
54
54
|
import {
|
|
55
55
|
DependencyParser,
|
|
56
56
|
EnvironmentConfigLoader,
|
|
57
57
|
EnvironmentValidator,
|
|
58
58
|
execute
|
|
59
|
-
} from "./chunk-
|
|
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-
|
|
67
|
+
} from "./chunk-Y2QXZ2UR.js";
|
|
68
68
|
import {
|
|
69
69
|
listLocalAtoms,
|
|
70
70
|
loadAtom,
|
|
71
71
|
plan
|
|
72
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3685
|
+
const { plan: plan3 } = await import("./plan-S5EULQKJ.js");
|
|
3686
3686
|
await plan3(request, { conversational: true });
|
|
3687
|
-
|
|
3688
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
4031
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-S5EULQKJ.js");
|
|
4011
4032
|
const atoms = await listLocalAtoms2();
|
|
4012
|
-
const
|
|
4013
|
-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4497
|
+
const { plan: plan2 } = await import("./plan-S5EULQKJ.js");
|
|
4417
4498
|
if (arg) {
|
|
4418
4499
|
await plan2(arg, { conversational: true });
|
|
4419
4500
|
} else {
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
parallelRunWaves,
|
|
7
7
|
parallelSchedule,
|
|
8
8
|
parallelStatus
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CFEX6EWG.js";
|
|
10
10
|
import "./chunk-EBHHIUCB.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-LGWUWEEJ.js";
|
|
12
12
|
import "./chunk-WGLVDEZC.js";
|
|
13
13
|
import "./chunk-3MZOEZUH.js";
|
|
14
14
|
import "./chunk-F7R3QKHP.js";
|