archondev 2.19.55 → 2.19.56-rc.1
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-ICPOD7FC.js → chunk-3T3QCPAG.js} +32 -11
- package/dist/{chunk-TNS5OLCD.js → chunk-CMLXOC4W.js} +1 -1
- package/dist/{chunk-DDAOREZF.js → chunk-EMIYV4JP.js} +1 -1
- package/dist/{chunk-QKHRSVUO.js → chunk-NEV3H72R.js} +8 -8
- package/dist/{chunk-K6A6CWUG.js → chunk-Z3M36SEU.js} +1 -1
- package/dist/{execute-4KDY6MOO.js → execute-ZMY5AXYZ.js} +2 -2
- package/dist/index.js +52 -28
- package/dist/{list-D4THOSHG.js → list-KZGYZWQH.js} +2 -2
- package/dist/{parallel-HUAAE6PS.js → parallel-AQQYX6L5.js} +2 -2
- package/dist/{plan-7YU2U4RY.js → plan-TTYFTAJ4.js} +1 -1
- package/dist/{show-VLTLYZDI.js → show-LZUSEKCA.js} +2 -2
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
UsageRecorder,
|
|
8
8
|
handleInsufficientCreditsRecovery,
|
|
9
9
|
loadAtom
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-NEV3H72R.js";
|
|
11
11
|
import {
|
|
12
12
|
transitionAtom
|
|
13
13
|
} from "./chunk-WGLVDEZC.js";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
SUPABASE_URL
|
|
34
34
|
} from "./chunk-M4LGRTLC.js";
|
|
35
35
|
import {
|
|
36
|
-
|
|
36
|
+
ensureValidSession
|
|
37
37
|
} from "./chunk-SVU7MLG6.js";
|
|
38
38
|
import {
|
|
39
39
|
__commonJS,
|
|
@@ -4867,7 +4867,7 @@ async function attemptPathScopeAutoRecovery(atom, cwd, parseSchema, options) {
|
|
|
4867
4867
|
if (allowedPaths.length === 0) {
|
|
4868
4868
|
return false;
|
|
4869
4869
|
}
|
|
4870
|
-
const { listLocalAtoms, plan } = await import("./plan-
|
|
4870
|
+
const { listLocalAtoms, plan } = await import("./plan-TTYFTAJ4.js");
|
|
4871
4871
|
const before = await listLocalAtoms();
|
|
4872
4872
|
const recoveryStartedAt = Date.now();
|
|
4873
4873
|
const recoverySource = atom.description ?? atom.title;
|
|
@@ -4935,7 +4935,7 @@ async function execute(atomId, options) {
|
|
|
4935
4935
|
process.exit(1);
|
|
4936
4936
|
};
|
|
4937
4937
|
if (options.parallel && options.parallel.length > 0) {
|
|
4938
|
-
const { parallelExecute } = await import("./parallel-
|
|
4938
|
+
const { parallelExecute } = await import("./parallel-AQQYX6L5.js");
|
|
4939
4939
|
const allAtomIds = [atomId, ...options.parallel];
|
|
4940
4940
|
await parallelExecute(allAtomIds, { skipGates: options.skipGates === true });
|
|
4941
4941
|
return;
|
|
@@ -5108,12 +5108,12 @@ ${conflictReport.blockerCount} blocking conflict(s) found.`));
|
|
|
5108
5108
|
}
|
|
5109
5109
|
await saveAtom(atom);
|
|
5110
5110
|
console.log(chalk2.blue("\n\u{1F680} Executing plan..."));
|
|
5111
|
-
const config = await
|
|
5111
|
+
const config = await ensureValidSession();
|
|
5112
5112
|
let billingContext;
|
|
5113
|
-
if (config
|
|
5113
|
+
if (config?.userId && config.accessToken) {
|
|
5114
5114
|
const profileId = await resolveProfileId(config.userId, config.accessToken);
|
|
5115
5115
|
if (!profileId) {
|
|
5116
|
-
console.log(chalk2.dim("Billing context unavailable:
|
|
5116
|
+
console.log(chalk2.dim("Billing context unavailable: profile resolution failed. Usage tracking skipped for this execution."));
|
|
5117
5117
|
}
|
|
5118
5118
|
const supabase = createAuthedSupabaseClient(SUPABASE_URL, SUPABASE_ANON_KEY, config.accessToken);
|
|
5119
5119
|
if (profileId) {
|
|
@@ -5249,6 +5249,7 @@ ${conflictReport.blockerCount} blocking conflict(s) found.`));
|
|
|
5249
5249
|
for (const file of filesChanged) {
|
|
5250
5250
|
console.log(chalk2.dim(` - ${file}`));
|
|
5251
5251
|
}
|
|
5252
|
+
await printDeliverablePreview(cwd, filesChanged);
|
|
5252
5253
|
if (executor instanceof TrackedExecutorAgent) {
|
|
5253
5254
|
const trackedResult = executionResult;
|
|
5254
5255
|
if (trackedResult.totalCostCents && trackedResult.totalCostCents > 0) {
|
|
@@ -5357,14 +5358,14 @@ Running quality gates for ${targetEnvName}...`));
|
|
|
5357
5358
|
async function resolveProfileId(authId, accessToken) {
|
|
5358
5359
|
try {
|
|
5359
5360
|
const supabase = createAuthedSupabaseClient(SUPABASE_URL, SUPABASE_ANON_KEY, accessToken);
|
|
5360
|
-
const { data: rawData
|
|
5361
|
+
const { data: rawData } = await supabase.from("user_profiles").select("id").eq("auth_id", authId).maybeSingle();
|
|
5361
5362
|
const data = rawData;
|
|
5362
|
-
if (
|
|
5363
|
+
if (data?.id) {
|
|
5363
5364
|
return data.id;
|
|
5364
5365
|
}
|
|
5365
|
-
const { data: byProfileRaw
|
|
5366
|
+
const { data: byProfileRaw } = await supabase.from("user_profiles").select("id").eq("id", authId).maybeSingle();
|
|
5366
5367
|
const byProfile = byProfileRaw;
|
|
5367
|
-
if (
|
|
5368
|
+
if (!byProfile?.id) {
|
|
5368
5369
|
return null;
|
|
5369
5370
|
}
|
|
5370
5371
|
return byProfile.id;
|
|
@@ -5389,6 +5390,26 @@ function printExecuteNextActions(atomExternalId, success, context = "generic") {
|
|
|
5389
5390
|
console.log(chalk2.dim(` \u2022 Run ${chalk2.cyan("archon credits")} to verify balance/tier.`));
|
|
5390
5391
|
console.log(chalk2.dim(` \u2022 Run ${chalk2.cyan("archon preferences")} to tune model routing.`));
|
|
5391
5392
|
}
|
|
5393
|
+
async function printDeliverablePreview(cwd, filesChanged) {
|
|
5394
|
+
const previewTarget = filesChanged.find((file) => /\.md$/i.test(file));
|
|
5395
|
+
if (!previewTarget) {
|
|
5396
|
+
return;
|
|
5397
|
+
}
|
|
5398
|
+
const absolutePath = join4(cwd, previewTarget);
|
|
5399
|
+
try {
|
|
5400
|
+
const content = await readFile8(absolutePath, "utf-8");
|
|
5401
|
+
const previewLines = content.split("\n").map((line) => line.trimEnd()).filter((line) => line.trim().length > 0).slice(0, 8);
|
|
5402
|
+
if (previewLines.length === 0) {
|
|
5403
|
+
return;
|
|
5404
|
+
}
|
|
5405
|
+
console.log(chalk2.bold("\nDeliverable preview:"));
|
|
5406
|
+
console.log(chalk2.dim(` Output file: ${absolutePath}`));
|
|
5407
|
+
for (const line of previewLines) {
|
|
5408
|
+
console.log(chalk2.dim(` ${line}`));
|
|
5409
|
+
}
|
|
5410
|
+
} catch {
|
|
5411
|
+
}
|
|
5412
|
+
}
|
|
5392
5413
|
async function saveAtom(atom) {
|
|
5393
5414
|
const atomsDir = join4(process.cwd(), ATOMS_DIR);
|
|
5394
5415
|
const atomFile = join4(atomsDir, `${atom.externalId}.json`);
|
|
@@ -33,8 +33,8 @@ import {
|
|
|
33
33
|
updateUserTier
|
|
34
34
|
} from "./chunk-GBYW3YAY.js";
|
|
35
35
|
import {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
ensureValidSession,
|
|
37
|
+
isAuthenticated
|
|
38
38
|
} from "./chunk-SVU7MLG6.js";
|
|
39
39
|
|
|
40
40
|
// src/cli/plan.ts
|
|
@@ -1104,9 +1104,9 @@ Atom saved: ${atom.externalId}`));
|
|
|
1104
1104
|
}
|
|
1105
1105
|
console.log(chalk2.blue("\nStarting adversarial planning..."));
|
|
1106
1106
|
console.log(chalk2.dim("Architect will generate a plan, Sentinel will validate it.\n"));
|
|
1107
|
-
const config = await
|
|
1107
|
+
const config = await ensureValidSession();
|
|
1108
1108
|
let billingContext;
|
|
1109
|
-
if (config
|
|
1109
|
+
if (config?.userId && config.accessToken) {
|
|
1110
1110
|
const profileId = await resolveProfileId(config.userId, config.accessToken);
|
|
1111
1111
|
if (profileId) {
|
|
1112
1112
|
const supabase = createAuthedSupabaseClient(SUPABASE_URL, SUPABASE_ANON_KEY, config.accessToken);
|
|
@@ -1753,14 +1753,14 @@ async function promptForDeliverableTarget(prompt2, requirements, references) {
|
|
|
1753
1753
|
async function resolveProfileId(authId, accessToken) {
|
|
1754
1754
|
try {
|
|
1755
1755
|
const supabase = createAuthedSupabaseClient(SUPABASE_URL, SUPABASE_ANON_KEY, accessToken);
|
|
1756
|
-
const { data: rawData
|
|
1756
|
+
const { data: rawData } = await supabase.from("user_profiles").select("id").eq("auth_id", authId).maybeSingle();
|
|
1757
1757
|
const data = rawData;
|
|
1758
|
-
if (
|
|
1758
|
+
if (data?.id) {
|
|
1759
1759
|
return data.id;
|
|
1760
1760
|
}
|
|
1761
|
-
const { data: byProfileRaw
|
|
1761
|
+
const { data: byProfileRaw } = await supabase.from("user_profiles").select("id").eq("id", authId).maybeSingle();
|
|
1762
1762
|
const byProfile = byProfileRaw;
|
|
1763
|
-
if (
|
|
1763
|
+
if (!byProfile?.id) return null;
|
|
1764
1764
|
return byProfile.id;
|
|
1765
1765
|
} catch {
|
|
1766
1766
|
return null;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
execute
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3T3QCPAG.js";
|
|
4
4
|
import "./chunk-EBHHIUCB.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-NEV3H72R.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-EMIYV4JP.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-Z3M36SEU.js";
|
|
54
54
|
import {
|
|
55
55
|
DependencyParser,
|
|
56
56
|
EnvironmentConfigLoader,
|
|
57
57
|
EnvironmentValidator,
|
|
58
58
|
execute
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-3T3QCPAG.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-CMLXOC4W.js";
|
|
68
68
|
import {
|
|
69
69
|
listLocalAtoms,
|
|
70
70
|
loadAtom,
|
|
71
71
|
plan
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-NEV3H72R.js";
|
|
73
73
|
import "./chunk-WGLVDEZC.js";
|
|
74
74
|
import "./chunk-3MZOEZUH.js";
|
|
75
75
|
import {
|
|
@@ -114,6 +114,7 @@ import {
|
|
|
114
114
|
updateUserTier
|
|
115
115
|
} from "./chunk-GBYW3YAY.js";
|
|
116
116
|
import {
|
|
117
|
+
ensureValidSession,
|
|
117
118
|
getAuthToken,
|
|
118
119
|
loadConfig,
|
|
119
120
|
saveConfig
|
|
@@ -2726,6 +2727,14 @@ async function start(options = {}) {
|
|
|
2726
2727
|
displayBrandedHeader();
|
|
2727
2728
|
const updateCheckPromise = startBackgroundUpdateCheck();
|
|
2728
2729
|
let config = await loadConfig();
|
|
2730
|
+
if (config.accessToken) {
|
|
2731
|
+
const refreshedConfig = await ensureValidSession();
|
|
2732
|
+
if (refreshedConfig) {
|
|
2733
|
+
config = refreshedConfig;
|
|
2734
|
+
} else {
|
|
2735
|
+
config = { ...config, accessToken: void 0, refreshToken: void 0, expiresAt: void 0 };
|
|
2736
|
+
}
|
|
2737
|
+
}
|
|
2729
2738
|
let token = getAuthToken(config);
|
|
2730
2739
|
if (!token) {
|
|
2731
2740
|
console.log(chalk6.bold("Welcome to ArchonDev!\n"));
|
|
@@ -3475,7 +3484,7 @@ async function runExploreFlow(cwd, followUpInput, options = {}) {
|
|
|
3475
3484
|
case "1": {
|
|
3476
3485
|
const description = await promptWithCommands("Describe what you want to do", { allowMultiline: true });
|
|
3477
3486
|
if (description.trim()) {
|
|
3478
|
-
const { plan: plan2 } = await import("./plan-
|
|
3487
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
3479
3488
|
await plan2(description, { conversational: true });
|
|
3480
3489
|
}
|
|
3481
3490
|
await showMainMenu();
|
|
@@ -3720,7 +3729,7 @@ ${state.forbiddenPatterns?.length ? `- **Forbidden patterns:** ${state.forbidden
|
|
|
3720
3729
|
const hintedTask = initialTaskHint?.trim() ?? "";
|
|
3721
3730
|
if (hintedTask) {
|
|
3722
3731
|
console.log(chalk6.dim("Using your request above as the first task.\n"));
|
|
3723
|
-
const { plan: plan2 } = await import("./plan-
|
|
3732
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
3724
3733
|
await plan2(hintedTask, { conversational: true });
|
|
3725
3734
|
return;
|
|
3726
3735
|
}
|
|
@@ -3745,7 +3754,7 @@ ${state.forbiddenPatterns?.length ? `- **Forbidden patterns:** ${state.forbidden
|
|
|
3745
3754
|
description = continueAnswer.trim();
|
|
3746
3755
|
}
|
|
3747
3756
|
if (description.trim()) {
|
|
3748
|
-
const { plan: plan2 } = await import("./plan-
|
|
3757
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
3749
3758
|
await plan2(description, { conversational: true });
|
|
3750
3759
|
}
|
|
3751
3760
|
}
|
|
@@ -3974,7 +3983,7 @@ async function handleAgentConversationInput(cwd, input) {
|
|
|
3974
3983
|
return true;
|
|
3975
3984
|
}
|
|
3976
3985
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
3977
|
-
const { plan: plan2 } = await import("./plan-
|
|
3986
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
3978
3987
|
await plan2(await withAllowedPathScope(cwd, input), { conversational: true });
|
|
3979
3988
|
if (shouldAutoExecuteAfterPlanning(input)) {
|
|
3980
3989
|
await continueWithCurrentTask(cwd, { runAllReady: true });
|
|
@@ -4021,7 +4030,7 @@ async function showProposalForApproval(input) {
|
|
|
4021
4030
|
}
|
|
4022
4031
|
}
|
|
4023
4032
|
async function showLatestPlannedAtom(cwd) {
|
|
4024
|
-
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
4033
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-TTYFTAJ4.js");
|
|
4025
4034
|
const atoms = await listLocalAtoms2();
|
|
4026
4035
|
if (atoms.length === 0) {
|
|
4027
4036
|
console.log(chalk6.yellow("No atoms found yet. Tell me what to plan."));
|
|
@@ -4039,7 +4048,7 @@ async function showLatestPlannedAtom(cwd) {
|
|
|
4039
4048
|
console.log(chalk6.dim(`
|
|
4040
4049
|
Showing latest planned atom (${latest.externalId})...
|
|
4041
4050
|
`));
|
|
4042
|
-
const { show: show2 } = await import("./show-
|
|
4051
|
+
const { show: show2 } = await import("./show-LZUSEKCA.js");
|
|
4043
4052
|
await show2(latest.externalId);
|
|
4044
4053
|
}
|
|
4045
4054
|
function isContinuationDirective(input) {
|
|
@@ -4172,7 +4181,7 @@ async function applyApprovedProposal(cwd) {
|
|
|
4172
4181
|
console.log(chalk6.dim('\nReply "continue" when you want execution to start.'));
|
|
4173
4182
|
}
|
|
4174
4183
|
async function createTaskFromRequest(cwd, request) {
|
|
4175
|
-
const { plan: plan2, listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
4184
|
+
const { plan: plan2, listLocalAtoms: listLocalAtoms2 } = await import("./plan-TTYFTAJ4.js");
|
|
4176
4185
|
const before = await listLocalAtoms2();
|
|
4177
4186
|
const beforeIds = new Set(before.map((atom) => atom.externalId));
|
|
4178
4187
|
await plan2(await withAllowedPathScope(cwd, request), { conversational: true });
|
|
@@ -4193,7 +4202,7 @@ async function createTaskFromRequest(cwd, request) {
|
|
|
4193
4202
|
return created;
|
|
4194
4203
|
}
|
|
4195
4204
|
async function provideAnalysisFirstPlan(cwd, request) {
|
|
4196
|
-
console.log(chalk6.dim("\n>
|
|
4205
|
+
console.log(chalk6.dim("\n> Review complete. Here is the recommendation and exact implementation plan before any file changes.\n"));
|
|
4197
4206
|
const markdownFiles = collectMarkdownFiles(cwd);
|
|
4198
4207
|
const dayOneCandidates = markdownFiles.filter((file) => isDayOnePath(file));
|
|
4199
4208
|
const capsuleCandidates = markdownFiles.filter((file) => /capsule/i.test(file));
|
|
@@ -4228,6 +4237,10 @@ async function provideAnalysisFirstPlan(cwd, request) {
|
|
|
4228
4237
|
console.log(chalk6.dim(` 2. Define capsule boundaries and titles (${capsuleCount} capsule${capsuleCount > 1 ? "s" : ""}).`));
|
|
4229
4238
|
console.log(chalk6.dim(" 3. Draft capsule markdown(s) with consistent template and learning objective per capsule."));
|
|
4230
4239
|
console.log(chalk6.dim(" 4. Add index/manifest links and quick validation checks for user flow."));
|
|
4240
|
+
const proposedOutputPath = suggestDayOneSampleOutputPath(reviewedFiles);
|
|
4241
|
+
if (proposedOutputPath) {
|
|
4242
|
+
console.log(chalk6.dim(` 5. Write output to: ${proposedOutputPath}`));
|
|
4243
|
+
}
|
|
4231
4244
|
const sampleDraft = buildSampleCapsuleDraft(cwd, reviewedFiles, capsuleCount);
|
|
4232
4245
|
if (sampleDraft) {
|
|
4233
4246
|
console.log();
|
|
@@ -4238,7 +4251,18 @@ async function provideAnalysisFirstPlan(cwd, request) {
|
|
|
4238
4251
|
pendingAnalysisReviewedFiles = reviewedFiles;
|
|
4239
4252
|
pendingAnalysisCapsuleCount = capsuleCount;
|
|
4240
4253
|
console.log();
|
|
4241
|
-
console.log(chalk6.dim(
|
|
4254
|
+
console.log(chalk6.dim("No files have been changed yet."));
|
|
4255
|
+
console.log(chalk6.dim('Reply with "yes", "go ahead", or "create atom" to implement exactly this plan.'));
|
|
4256
|
+
}
|
|
4257
|
+
function suggestDayOneSampleOutputPath(reviewedFiles) {
|
|
4258
|
+
const first = reviewedFiles[0];
|
|
4259
|
+
if (!first) return null;
|
|
4260
|
+
const parsed = first.match(/^(.*\/)?([^/]+)\.md$/i);
|
|
4261
|
+
if (!parsed) return null;
|
|
4262
|
+
const dir = parsed[1] ?? "";
|
|
4263
|
+
const stem = parsed[2];
|
|
4264
|
+
if (!stem) return null;
|
|
4265
|
+
return `${dir}${stem}.sample-capsule.md`;
|
|
4242
4266
|
}
|
|
4243
4267
|
function enrichApprovedAnalysisRequest(request, reviewedFiles, capsuleCount) {
|
|
4244
4268
|
const normalizedFiles = reviewedFiles.map((file) => file.trim()).filter((file) => file.length > 0);
|
|
@@ -4348,13 +4372,13 @@ function buildSampleCapsuleDraft(cwd, files, capsuleCount) {
|
|
|
4348
4372
|
].join("\n");
|
|
4349
4373
|
}
|
|
4350
4374
|
async function continueWithCurrentTask(cwd, options = {}) {
|
|
4351
|
-
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
4375
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-TTYFTAJ4.js");
|
|
4352
4376
|
const byMostRecent = (a, b) => {
|
|
4353
4377
|
const aTime = new Date(String(a.updatedAt ?? a.createdAt ?? "")).getTime() || 0;
|
|
4354
4378
|
const bTime = new Date(String(b.updatedAt ?? b.createdAt ?? "")).getTime() || 0;
|
|
4355
4379
|
return bTime - aTime;
|
|
4356
4380
|
};
|
|
4357
|
-
const { execute: execute2 } = await import("./execute-
|
|
4381
|
+
const { execute: execute2 } = await import("./execute-ZMY5AXYZ.js");
|
|
4358
4382
|
const runAllReady = options.runAllReady === true;
|
|
4359
4383
|
const scopeIds = options.onlyAtomIds ? new Set(options.onlyAtomIds) : null;
|
|
4360
4384
|
const attempted = /* @__PURE__ */ new Set();
|
|
@@ -4430,7 +4454,7 @@ Continuing with ${nextAtom.externalId}...
|
|
|
4430
4454
|
}
|
|
4431
4455
|
}
|
|
4432
4456
|
async function replanLatestBlockedAtom(cwd) {
|
|
4433
|
-
const { listLocalAtoms: listLocalAtoms2, plan: plan2 } = await import("./plan-
|
|
4457
|
+
const { listLocalAtoms: listLocalAtoms2, plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
4434
4458
|
const atoms = await listLocalAtoms2();
|
|
4435
4459
|
const blocked = atoms.filter((a) => a.status === "BLOCKED" && (a.errorMessage ?? "").toLowerCase().includes("outside the allowed paths")).sort((a, b) => {
|
|
4436
4460
|
const aTime = new Date(String(a.updatedAt ?? a.createdAt ?? "")).getTime() || 0;
|
|
@@ -4544,7 +4568,7 @@ async function handleFreeformJourneyInput(cwd, input) {
|
|
|
4544
4568
|
const state = detectProjectState(cwd);
|
|
4545
4569
|
if (state.hasArchitecture) {
|
|
4546
4570
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
4547
|
-
const { plan: plan3 } = await import("./plan-
|
|
4571
|
+
const { plan: plan3 } = await import("./plan-TTYFTAJ4.js");
|
|
4548
4572
|
await plan3(await withAllowedPathScope(cwd, freeform), { conversational: true });
|
|
4549
4573
|
return true;
|
|
4550
4574
|
}
|
|
@@ -4553,7 +4577,7 @@ async function handleFreeformJourneyInput(cwd, input) {
|
|
|
4553
4577
|
return true;
|
|
4554
4578
|
}
|
|
4555
4579
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
4556
|
-
const { plan: plan2 } = await import("./plan-
|
|
4580
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
4557
4581
|
await plan2(await withAllowedPathScope(cwd, freeform), { conversational: true });
|
|
4558
4582
|
return true;
|
|
4559
4583
|
}
|
|
@@ -4602,7 +4626,7 @@ function isFileLocationQuestion(input) {
|
|
|
4602
4626
|
return true;
|
|
4603
4627
|
}
|
|
4604
4628
|
async function answerLatestOutputLocation(cwd) {
|
|
4605
|
-
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
4629
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-TTYFTAJ4.js");
|
|
4606
4630
|
const atoms = await listLocalAtoms2();
|
|
4607
4631
|
const latestDone = atoms.filter((atom) => atom.status === "DONE").sort((a, b) => {
|
|
4608
4632
|
const aTime = new Date(String(a.updatedAt ?? a.createdAt ?? "")).getTime() || 0;
|
|
@@ -4651,7 +4675,7 @@ async function handlePostExploreAction(cwd, request, options = {}) {
|
|
|
4651
4675
|
} else {
|
|
4652
4676
|
console.log(chalk6.dim("> Got it! Creating a task for this...\n"));
|
|
4653
4677
|
}
|
|
4654
|
-
const { plan: plan2 } = await import("./plan-
|
|
4678
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
4655
4679
|
await plan2(await withAllowedPathScope(cwd, request), { conversational: true });
|
|
4656
4680
|
if (options.agentMode) {
|
|
4657
4681
|
if (shouldAutoExecuteAfterPlanning(sourceInput)) {
|
|
@@ -4675,18 +4699,18 @@ Constraints:
|
|
|
4675
4699
|
- If required files are outside this scope, propose the minimum architecture path update first.`;
|
|
4676
4700
|
}
|
|
4677
4701
|
async function planTask() {
|
|
4678
|
-
const { plan: plan2 } = await import("./plan-
|
|
4702
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
4679
4703
|
const description = await promptWithCommands("Describe what you want to build", { allowMultiline: true });
|
|
4680
4704
|
if (description.trim()) {
|
|
4681
4705
|
await plan2(description, { conversational: true });
|
|
4682
4706
|
}
|
|
4683
4707
|
}
|
|
4684
4708
|
async function listAtoms() {
|
|
4685
|
-
const { list: list2 } = await import("./list-
|
|
4709
|
+
const { list: list2 } = await import("./list-KZGYZWQH.js");
|
|
4686
4710
|
await list2({});
|
|
4687
4711
|
}
|
|
4688
4712
|
async function executeNext() {
|
|
4689
|
-
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
4713
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-TTYFTAJ4.js");
|
|
4690
4714
|
const { analyzeProject, getComplexityDescription, getModeDescription } = await import("./orchestration-HIF3KP25.js");
|
|
4691
4715
|
const { loadExecutionPreferences } = await import("./preferences-QTPQLCXN.js");
|
|
4692
4716
|
const cwd = process.cwd();
|
|
@@ -4757,11 +4781,11 @@ async function executeNext() {
|
|
|
4757
4781
|
}
|
|
4758
4782
|
}
|
|
4759
4783
|
if (selectedMode === "parallel-cloud") {
|
|
4760
|
-
const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-
|
|
4784
|
+
const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-AQQYX6L5.js");
|
|
4761
4785
|
await parallelExecuteCloud2(runIds);
|
|
4762
4786
|
return;
|
|
4763
4787
|
}
|
|
4764
|
-
const { parallelExecute } = await import("./parallel-
|
|
4788
|
+
const { parallelExecute } = await import("./parallel-AQQYX6L5.js");
|
|
4765
4789
|
await parallelExecute(runIds);
|
|
4766
4790
|
return;
|
|
4767
4791
|
}
|
|
@@ -4769,7 +4793,7 @@ async function executeNext() {
|
|
|
4769
4793
|
const atomId = await prompt("Enter atom ID to execute (or press Enter for first pending)");
|
|
4770
4794
|
const targetId = atomId.trim() || pendingAtoms[0]?.id;
|
|
4771
4795
|
if (targetId) {
|
|
4772
|
-
const { execute: execute2 } = await import("./execute-
|
|
4796
|
+
const { execute: execute2 } = await import("./execute-ZMY5AXYZ.js");
|
|
4773
4797
|
await execute2(targetId, {});
|
|
4774
4798
|
} else {
|
|
4775
4799
|
console.log(chalk6.yellow("No atom to execute."));
|
|
@@ -4918,7 +4942,7 @@ async function handleSlashCommand(input) {
|
|
|
4918
4942
|
const arg = parts.slice(1).join(" ").trim();
|
|
4919
4943
|
switch (command) {
|
|
4920
4944
|
case "/plan": {
|
|
4921
|
-
const { plan: plan2 } = await import("./plan-
|
|
4945
|
+
const { plan: plan2 } = await import("./plan-TTYFTAJ4.js");
|
|
4922
4946
|
if (arg) {
|
|
4923
4947
|
await plan2(arg, { conversational: true });
|
|
4924
4948
|
} else {
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
parallelRunWaves,
|
|
7
7
|
parallelSchedule,
|
|
8
8
|
parallelStatus
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-Z3M36SEU.js";
|
|
10
10
|
import "./chunk-EBHHIUCB.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-NEV3H72R.js";
|
|
12
12
|
import "./chunk-WGLVDEZC.js";
|
|
13
13
|
import "./chunk-3MZOEZUH.js";
|
|
14
14
|
import "./chunk-F7R3QKHP.js";
|