archondev 2.18.3 → 2.18.5
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/README.md +5 -0
- package/dist/{chunk-Z65525NP.js → chunk-EBHHIUCB.js} +3 -9
- package/dist/{chunk-NJF6MRTR.js → chunk-MDZ73SIL.js} +1 -1
- package/dist/chunk-Q3GIFHIQ.js +23 -0
- package/dist/{chunk-3WJIZGHN.js → chunk-REMLC4M7.js} +9 -7
- package/dist/{chunk-DYYWJ5MO.js → chunk-YFG2RPDU.js} +2 -2
- package/dist/client-PHW2C2HB.js +11 -0
- package/dist/{execute-2RL7NTHZ.js → execute-26SZAYZM.js} +5 -4
- package/dist/index.js +86 -47
- package/dist/{list-CNKAH354.js → list-ZSSROGZA.js} +3 -3
- package/dist/{parallel-27ZWSW6B.js → parallel-NRYSWMPN.js} +5 -4
- package/dist/{plan-XALA4SLH.js → plan-YFIE43MP.js} +2 -2
- package/package.json +1 -1
- package/dist/{chunk-3PZ7WU5I.js → chunk-KHOATOJY.js} +3 -3
package/README.md
CHANGED
|
@@ -101,6 +101,7 @@ Copy governance files into any project. Works with your existing AI tools: **Cur
|
|
|
101
101
|
| `archon cleanup auto [enable\|disable]` | Enable/disable auto cleanup on start |
|
|
102
102
|
|
|
103
103
|
**Tip:** Use `archon plan --edit` to adjust title and acceptance criteria before planning.
|
|
104
|
+
**Web Checks:** If Archon detects a web project, it prompts to run A11y/SEO/GEO checks and stores your preference in `.archon/config.yaml`.
|
|
104
105
|
|
|
105
106
|
## Pricing
|
|
106
107
|
|
|
@@ -183,12 +184,16 @@ archon github status # Verify connection
|
|
|
183
184
|
archon plan "add user settings page"
|
|
184
185
|
archon execute ATOM-001 --cloud
|
|
185
186
|
|
|
187
|
+
# 3b. Queue multiple atoms in parallel (Credits tier)
|
|
188
|
+
archon parallel cloud ATOM-001 ATOM-002
|
|
189
|
+
|
|
186
190
|
# 4. Check progress
|
|
187
191
|
archon cloud status # List all cloud executions
|
|
188
192
|
archon cloud logs <id> # View execution logs
|
|
189
193
|
```
|
|
190
194
|
|
|
191
195
|
The cloud worker clones your repo, runs the Executor agent, creates a feature branch, and opens a PR. You can close your terminal after queuing.
|
|
196
|
+
Cloud execution is Credits-only. BYOK and Free tiers run locally.
|
|
192
197
|
|
|
193
198
|
## Working with Existing Projects
|
|
194
199
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createAuthedSupabaseClient
|
|
3
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
1
4
|
import {
|
|
2
5
|
SUPABASE_ANON_KEY,
|
|
3
6
|
SUPABASE_URL
|
|
@@ -7,14 +10,6 @@ import {
|
|
|
7
10
|
loadConfig
|
|
8
11
|
} from "./chunk-SVU7MLG6.js";
|
|
9
12
|
|
|
10
|
-
// src/core/supabase/client.ts
|
|
11
|
-
import { createClient } from "@supabase/supabase-js";
|
|
12
|
-
function createAuthedSupabaseClient(supabaseUrl, supabaseAnonKey, accessToken) {
|
|
13
|
-
return createClient(supabaseUrl, supabaseAnonKey, {
|
|
14
|
-
global: { headers: { Authorization: `Bearer ${accessToken}` } }
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
|
|
18
13
|
// src/cli/cloud.ts
|
|
19
14
|
import chalk from "chalk";
|
|
20
15
|
function getClient(accessToken) {
|
|
@@ -182,7 +177,6 @@ function getStatusIcon(status) {
|
|
|
182
177
|
}
|
|
183
178
|
|
|
184
179
|
export {
|
|
185
|
-
createAuthedSupabaseClient,
|
|
186
180
|
cloudStatus,
|
|
187
181
|
cloudCancel,
|
|
188
182
|
cloudLogs,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// src/core/supabase/client.ts
|
|
2
|
+
import { createClient } from "@supabase/supabase-js";
|
|
3
|
+
function createAnonSupabaseClient(supabaseUrl, supabaseAnonKey) {
|
|
4
|
+
return createClient(supabaseUrl, supabaseAnonKey);
|
|
5
|
+
}
|
|
6
|
+
function createPkceSupabaseClient(supabaseUrl, supabaseAnonKey) {
|
|
7
|
+
return createClient(supabaseUrl, supabaseAnonKey, {
|
|
8
|
+
auth: {
|
|
9
|
+
flowType: "pkce"
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function createAuthedSupabaseClient(supabaseUrl, supabaseAnonKey, accessToken) {
|
|
14
|
+
return createClient(supabaseUrl, supabaseAnonKey, {
|
|
15
|
+
global: { headers: { Authorization: `Bearer ${accessToken}` } }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
createAnonSupabaseClient,
|
|
21
|
+
createPkceSupabaseClient,
|
|
22
|
+
createAuthedSupabaseClient
|
|
23
|
+
};
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
createAuthedSupabaseClient,
|
|
3
2
|
getGitBranch,
|
|
4
3
|
getGitRemoteUrl,
|
|
5
4
|
queueCloudExecution
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EBHHIUCB.js";
|
|
6
|
+
import {
|
|
7
|
+
createAuthedSupabaseClient
|
|
8
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
7
9
|
import {
|
|
8
10
|
UsageRecorder,
|
|
9
11
|
loadAtom
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import {
|
|
12
|
-
ArchitectureParser
|
|
13
|
-
} from "./chunk-5EVHUDQX.js";
|
|
12
|
+
} from "./chunk-KHOATOJY.js";
|
|
14
13
|
import {
|
|
15
14
|
transitionAtom
|
|
16
15
|
} from "./chunk-5CFGPXQ3.js";
|
|
@@ -18,6 +17,9 @@ import {
|
|
|
18
17
|
AnthropicClient,
|
|
19
18
|
getDefaultModel
|
|
20
19
|
} from "./chunk-HJARQDQR.js";
|
|
20
|
+
import {
|
|
21
|
+
ArchitectureParser
|
|
22
|
+
} from "./chunk-5EVHUDQX.js";
|
|
21
23
|
import {
|
|
22
24
|
SUPABASE_ANON_KEY,
|
|
23
25
|
SUPABASE_URL
|
|
@@ -4791,7 +4793,7 @@ function createPrompt() {
|
|
|
4791
4793
|
}
|
|
4792
4794
|
async function execute(atomId, options) {
|
|
4793
4795
|
if (options.parallel && options.parallel.length > 0) {
|
|
4794
|
-
const { parallelExecute } = await import("./parallel-
|
|
4796
|
+
const { parallelExecute } = await import("./parallel-NRYSWMPN.js");
|
|
4795
4797
|
const allAtomIds = [atomId, ...options.parallel];
|
|
4796
4798
|
await parallelExecute(allAtomIds, { skipGates: options.skipGates === true });
|
|
4797
4799
|
return;
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
getGitBranch,
|
|
3
3
|
getGitRemoteUrl,
|
|
4
4
|
queueCloudExecution
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EBHHIUCB.js";
|
|
6
6
|
import {
|
|
7
7
|
listLocalAtoms,
|
|
8
8
|
loadAtom
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KHOATOJY.js";
|
|
10
10
|
import {
|
|
11
11
|
loadConfig
|
|
12
12
|
} from "./chunk-SVU7MLG6.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createAnonSupabaseClient,
|
|
3
|
+
createAuthedSupabaseClient,
|
|
4
|
+
createPkceSupabaseClient
|
|
5
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
6
|
+
import "./chunk-4VNS5WPM.js";
|
|
7
|
+
export {
|
|
8
|
+
createAnonSupabaseClient,
|
|
9
|
+
createAuthedSupabaseClient,
|
|
10
|
+
createPkceSupabaseClient
|
|
11
|
+
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
execute
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-REMLC4M7.js";
|
|
4
|
+
import "./chunk-EBHHIUCB.js";
|
|
5
|
+
import "./chunk-Q3GIFHIQ.js";
|
|
6
|
+
import "./chunk-KHOATOJY.js";
|
|
7
7
|
import "./chunk-5CFGPXQ3.js";
|
|
8
8
|
import "./chunk-2NSWZDP7.js";
|
|
9
9
|
import "./chunk-HJARQDQR.js";
|
|
10
|
+
import "./chunk-5EVHUDQX.js";
|
|
10
11
|
import "./chunk-UFR2LX6G.js";
|
|
11
12
|
import "./chunk-TFSHS7EN.js";
|
|
12
13
|
import "./chunk-RDG5BUED.js";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
createSeoCommand
|
|
4
|
+
} from "./chunk-JF7JCK6H.js";
|
|
2
5
|
import {
|
|
3
6
|
createGeoCommand
|
|
4
7
|
} from "./chunk-UD45ZLV3.js";
|
|
8
|
+
import {
|
|
9
|
+
bugReport
|
|
10
|
+
} from "./chunk-VF2OTDMS.js";
|
|
5
11
|
import {
|
|
6
12
|
reviewAnalyze,
|
|
7
13
|
reviewExport,
|
|
@@ -16,7 +22,6 @@ import {
|
|
|
16
22
|
} from "./chunk-BFPWDOMA.js";
|
|
17
23
|
import "./chunk-HGLPIM7J.js";
|
|
18
24
|
import {
|
|
19
|
-
listModels,
|
|
20
25
|
resetPreferences,
|
|
21
26
|
setExecutionPreference,
|
|
22
27
|
setPreference,
|
|
@@ -29,9 +34,6 @@ import {
|
|
|
29
34
|
a11yFix,
|
|
30
35
|
a11yPreDeploy
|
|
31
36
|
} from "./chunk-FWLLGLD5.js";
|
|
32
|
-
import {
|
|
33
|
-
createSeoCommand
|
|
34
|
-
} from "./chunk-JF7JCK6H.js";
|
|
35
37
|
import "./chunk-3ASILTFB.js";
|
|
36
38
|
import {
|
|
37
39
|
init,
|
|
@@ -44,36 +46,35 @@ import {
|
|
|
44
46
|
parallelRunWaves,
|
|
45
47
|
parallelSchedule,
|
|
46
48
|
parallelStatus
|
|
47
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-YFG2RPDU.js";
|
|
48
50
|
import {
|
|
49
51
|
DependencyParser,
|
|
50
52
|
EnvironmentConfigLoader,
|
|
51
53
|
EnvironmentValidator,
|
|
52
54
|
execute
|
|
53
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-REMLC4M7.js";
|
|
54
56
|
import {
|
|
55
57
|
cloudCancel,
|
|
56
58
|
cloudLogs,
|
|
57
|
-
cloudStatus
|
|
59
|
+
cloudStatus
|
|
60
|
+
} from "./chunk-EBHHIUCB.js";
|
|
61
|
+
import {
|
|
58
62
|
createAuthedSupabaseClient
|
|
59
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
60
64
|
import {
|
|
61
65
|
list
|
|
62
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-MDZ73SIL.js";
|
|
63
67
|
import {
|
|
64
68
|
listLocalAtoms,
|
|
65
69
|
loadAtom,
|
|
66
70
|
plan
|
|
67
|
-
} from "./chunk-
|
|
68
|
-
import {
|
|
69
|
-
ArchitectureParser
|
|
70
|
-
} from "./chunk-5EVHUDQX.js";
|
|
71
|
-
import {
|
|
72
|
-
bugReport
|
|
73
|
-
} from "./chunk-VF2OTDMS.js";
|
|
71
|
+
} from "./chunk-KHOATOJY.js";
|
|
74
72
|
import "./chunk-5CFGPXQ3.js";
|
|
75
73
|
import "./chunk-2NSWZDP7.js";
|
|
76
74
|
import "./chunk-HJARQDQR.js";
|
|
75
|
+
import {
|
|
76
|
+
ArchitectureParser
|
|
77
|
+
} from "./chunk-5EVHUDQX.js";
|
|
77
78
|
import "./chunk-UFR2LX6G.js";
|
|
78
79
|
import {
|
|
79
80
|
addKey,
|
|
@@ -2770,26 +2771,30 @@ async function start(options = {}) {
|
|
|
2770
2771
|
}
|
|
2771
2772
|
if (currentTier === "CREDITS" && config.accessToken) {
|
|
2772
2773
|
try {
|
|
2773
|
-
const usageStats = await fetchCreditsUsageStats(config.accessToken);
|
|
2774
|
+
const usageStats = config.userId ? await fetchCreditsUsageStats(config.accessToken, config.userId) : null;
|
|
2774
2775
|
if (usageStats) {
|
|
2775
2776
|
console.log();
|
|
2776
2777
|
console.log(chalk6.bold("\u{1F4B0} Credits Balance"));
|
|
2777
2778
|
console.log(chalk6.dim("\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501"));
|
|
2778
2779
|
const balanceColor = usageStats.balance < 1 ? chalk6.red : usageStats.balance < 5 ? chalk6.yellow : chalk6.green;
|
|
2779
2780
|
console.log(` Balance: ${balanceColor(`$${usageStats.balance.toFixed(2)}`)}`);
|
|
2781
|
+
if (usageStats.periodStart) {
|
|
2782
|
+
const periodDate = new Date(usageStats.periodStart);
|
|
2783
|
+
const formatted = isNaN(periodDate.getTime()) ? usageStats.periodStart : periodDate.toLocaleDateString();
|
|
2784
|
+
const label = usageStats.periodSource === "credit_purchase" ? `Since last top-up (${formatted})` : usageStats.periodSource === "month" ? `Since ${formatted}` : `Period start: ${formatted}`;
|
|
2785
|
+
console.log(chalk6.dim(` ${label}`));
|
|
2786
|
+
}
|
|
2780
2787
|
if (usageStats.usedThisPeriod > 0) {
|
|
2781
|
-
console.log(` Used
|
|
2788
|
+
console.log(` Used since last top-up: ${chalk6.dim(`$${usageStats.usedThisPeriod.toFixed(2)}`)}`);
|
|
2789
|
+
} else {
|
|
2790
|
+
console.log(chalk6.dim(" No usage recorded since last top-up."));
|
|
2782
2791
|
}
|
|
2783
2792
|
if (usageStats.byModel && usageStats.byModel.length > 0) {
|
|
2784
2793
|
console.log();
|
|
2785
2794
|
console.log(chalk6.dim(" Model Usage:"));
|
|
2786
|
-
const
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
console.log(chalk6.dim(` ${modelName.padEnd(26)} $${model.cost.toFixed(4)}`));
|
|
2790
|
-
}
|
|
2791
|
-
if (usageStats.byModel.length > 3) {
|
|
2792
|
-
console.log(chalk6.dim(` ... and ${usageStats.byModel.length - 3} more (run 'archon credits history')`));
|
|
2795
|
+
for (const model of usageStats.byModel) {
|
|
2796
|
+
const modelName = model.model.length > 32 ? model.model.slice(0, 29) + "..." : model.model;
|
|
2797
|
+
console.log(chalk6.dim(` ${modelName.padEnd(34)} $${model.cost.toFixed(4)}`));
|
|
2793
2798
|
}
|
|
2794
2799
|
}
|
|
2795
2800
|
console.log(chalk6.dim("\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501"));
|
|
@@ -2910,7 +2915,7 @@ function formatTierName(tier) {
|
|
|
2910
2915
|
return tier;
|
|
2911
2916
|
}
|
|
2912
2917
|
}
|
|
2913
|
-
async function fetchCreditsUsageStats(accessToken) {
|
|
2918
|
+
async function fetchCreditsUsageStats(accessToken, authId) {
|
|
2914
2919
|
try {
|
|
2915
2920
|
const { API_URL: API_URL3 } = await import("./constants-XDIWFFPN.js");
|
|
2916
2921
|
const response = await fetch(`${API_URL3}/api/usage`, {
|
|
@@ -2918,14 +2923,51 @@ async function fetchCreditsUsageStats(accessToken) {
|
|
|
2918
2923
|
"Authorization": `Bearer ${accessToken}`
|
|
2919
2924
|
}
|
|
2920
2925
|
});
|
|
2921
|
-
if (
|
|
2926
|
+
if (response.ok) {
|
|
2927
|
+
const data = await response.json();
|
|
2928
|
+
return {
|
|
2929
|
+
balance: data.remainingCredits ?? 0,
|
|
2930
|
+
usedThisPeriod: data.totalBaseCost ?? 0,
|
|
2931
|
+
byModel: data.byModel ?? [],
|
|
2932
|
+
periodStart: data.periodStart,
|
|
2933
|
+
periodSource: data.periodSource,
|
|
2934
|
+
lastCreditPurchaseAt: data.lastCreditPurchaseAt ?? null
|
|
2935
|
+
};
|
|
2936
|
+
}
|
|
2937
|
+
} catch {
|
|
2938
|
+
}
|
|
2939
|
+
return fetchCreditsUsageStatsFromSupabase(accessToken, authId);
|
|
2940
|
+
}
|
|
2941
|
+
async function fetchCreditsUsageStatsFromSupabase(accessToken, authId) {
|
|
2942
|
+
try {
|
|
2943
|
+
const { SUPABASE_URL: SUPABASE_URL2, SUPABASE_ANON_KEY: SUPABASE_ANON_KEY2 } = await import("./constants-XDIWFFPN.js");
|
|
2944
|
+
const { createAuthedSupabaseClient: createAuthedSupabaseClient2 } = await import("./client-PHW2C2HB.js");
|
|
2945
|
+
const supabase = createAuthedSupabaseClient2(SUPABASE_URL2, SUPABASE_ANON_KEY2, accessToken);
|
|
2946
|
+
const { data: profile, error: profileError } = await supabase.from("user_profiles").select("id, credit_balance_cents").eq("auth_id", authId).single();
|
|
2947
|
+
if (profileError || !profile?.id) {
|
|
2922
2948
|
return null;
|
|
2923
2949
|
}
|
|
2924
|
-
const data = await
|
|
2950
|
+
const { data: lastPurchase } = await supabase.from("credit_purchases").select("created_at").eq("user_id", profile.id).eq("status", "completed").order("created_at", { ascending: false }).limit(1).maybeSingle();
|
|
2951
|
+
const now = /* @__PURE__ */ new Date();
|
|
2952
|
+
const defaultStart = new Date(now.getFullYear(), now.getMonth(), 1).toISOString();
|
|
2953
|
+
const periodStart = lastPurchase?.created_at ?? defaultStart;
|
|
2954
|
+
const periodSource = lastPurchase?.created_at ? "credit_purchase" : "month";
|
|
2955
|
+
const { data: usageRows } = await supabase.from("token_usage").select("model, marked_up_cost, total_cents, created_at").eq("user_id", profile.id).gte("created_at", periodStart);
|
|
2956
|
+
const byModelMap = /* @__PURE__ */ new Map();
|
|
2957
|
+
let usedThisPeriod = 0;
|
|
2958
|
+
for (const row of usageRows ?? []) {
|
|
2959
|
+
const cost = typeof row.marked_up_cost === "number" ? row.marked_up_cost : typeof row.total_cents === "number" ? row.total_cents / 100 : 0;
|
|
2960
|
+
usedThisPeriod += cost;
|
|
2961
|
+
byModelMap.set(row.model, (byModelMap.get(row.model) ?? 0) + cost);
|
|
2962
|
+
}
|
|
2963
|
+
const byModel = Array.from(byModelMap.entries()).map(([model, cost]) => ({ model, cost })).sort((a, b) => b.cost - a.cost);
|
|
2925
2964
|
return {
|
|
2926
|
-
balance:
|
|
2927
|
-
usedThisPeriod
|
|
2928
|
-
byModel
|
|
2965
|
+
balance: (profile.credit_balance_cents ?? 0) / 100,
|
|
2966
|
+
usedThisPeriod,
|
|
2967
|
+
byModel,
|
|
2968
|
+
periodStart,
|
|
2969
|
+
periodSource,
|
|
2970
|
+
lastCreditPurchaseAt: lastPurchase?.created_at ?? null
|
|
2929
2971
|
};
|
|
2930
2972
|
} catch {
|
|
2931
2973
|
return null;
|
|
@@ -3085,7 +3127,7 @@ async function handleNewProject(cwd, _state) {
|
|
|
3085
3127
|
}
|
|
3086
3128
|
if (intent.mode === "ad_hoc" && intent.confidence >= 0.7) {
|
|
3087
3129
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
3088
|
-
const { plan: plan2 } = await import("./plan-
|
|
3130
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3089
3131
|
await plan2(initialResponse, {});
|
|
3090
3132
|
return;
|
|
3091
3133
|
}
|
|
@@ -3109,7 +3151,7 @@ async function handleNewProject(cwd, _state) {
|
|
|
3109
3151
|
break;
|
|
3110
3152
|
case "2":
|
|
3111
3153
|
console.log(chalk6.dim("\n> Creating a task for this...\n"));
|
|
3112
|
-
const { plan: plan2 } = await import("./plan-
|
|
3154
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3113
3155
|
await plan2(initialResponse, {});
|
|
3114
3156
|
break;
|
|
3115
3157
|
case "3":
|
|
@@ -3139,7 +3181,7 @@ async function showNewProjectMenu(cwd) {
|
|
|
3139
3181
|
case "3": {
|
|
3140
3182
|
const description = await prompt("Describe what you want to do");
|
|
3141
3183
|
if (description.trim()) {
|
|
3142
|
-
const { plan: plan2 } = await import("./plan-
|
|
3184
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3143
3185
|
await plan2(description, {});
|
|
3144
3186
|
}
|
|
3145
3187
|
break;
|
|
@@ -3205,7 +3247,7 @@ async function runExploreFlow(cwd) {
|
|
|
3205
3247
|
case "1": {
|
|
3206
3248
|
const description = await prompt("Describe what you want to do");
|
|
3207
3249
|
if (description.trim()) {
|
|
3208
|
-
const { plan: plan2 } = await import("./plan-
|
|
3250
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3209
3251
|
await plan2(description, {});
|
|
3210
3252
|
}
|
|
3211
3253
|
break;
|
|
@@ -3464,7 +3506,7 @@ ${state.forbiddenPatterns?.length ? `- **Forbidden patterns:** ${state.forbidden
|
|
|
3464
3506
|
if (continueChoice) {
|
|
3465
3507
|
const description = await prompt("Describe what you want to build first");
|
|
3466
3508
|
if (description.trim()) {
|
|
3467
|
-
const { plan: plan2 } = await import("./plan-
|
|
3509
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3468
3510
|
await plan2(description, {});
|
|
3469
3511
|
}
|
|
3470
3512
|
}
|
|
@@ -3518,7 +3560,7 @@ async function handleAdaptExisting(cwd, state) {
|
|
|
3518
3560
|
}
|
|
3519
3561
|
if (intent.mode === "ad_hoc" && intent.confidence >= 0.7) {
|
|
3520
3562
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
3521
|
-
const { plan: plan2 } = await import("./plan-
|
|
3563
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3522
3564
|
await plan2(response, {});
|
|
3523
3565
|
return;
|
|
3524
3566
|
}
|
|
@@ -3549,7 +3591,7 @@ async function showAdaptExistingMenu(cwd, state) {
|
|
|
3549
3591
|
case "2": {
|
|
3550
3592
|
const description = await prompt("Describe what you want to do");
|
|
3551
3593
|
if (description.trim()) {
|
|
3552
|
-
const { plan: plan2 } = await import("./plan-
|
|
3594
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3553
3595
|
await plan2(description, {});
|
|
3554
3596
|
}
|
|
3555
3597
|
break;
|
|
@@ -3717,18 +3759,18 @@ async function showReviewProgress(cwd) {
|
|
|
3717
3759
|
}
|
|
3718
3760
|
}
|
|
3719
3761
|
async function planTask() {
|
|
3720
|
-
const { plan: plan2 } = await import("./plan-
|
|
3762
|
+
const { plan: plan2 } = await import("./plan-YFIE43MP.js");
|
|
3721
3763
|
const description = await prompt("Describe what you want to build");
|
|
3722
3764
|
if (description.trim()) {
|
|
3723
3765
|
await plan2(description, {});
|
|
3724
3766
|
}
|
|
3725
3767
|
}
|
|
3726
3768
|
async function listAtoms() {
|
|
3727
|
-
const { list: list2 } = await import("./list-
|
|
3769
|
+
const { list: list2 } = await import("./list-ZSSROGZA.js");
|
|
3728
3770
|
await list2({});
|
|
3729
3771
|
}
|
|
3730
3772
|
async function executeNext() {
|
|
3731
|
-
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
3773
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-YFIE43MP.js");
|
|
3732
3774
|
const { analyzeProject, getComplexityDescription, getModeDescription } = await import("./orchestration-HIF3KP25.js");
|
|
3733
3775
|
const { loadExecutionPreferences } = await import("./preferences-I6WETXOI.js");
|
|
3734
3776
|
const cwd = process.cwd();
|
|
@@ -3799,11 +3841,11 @@ async function executeNext() {
|
|
|
3799
3841
|
}
|
|
3800
3842
|
}
|
|
3801
3843
|
if (selectedMode === "parallel-cloud") {
|
|
3802
|
-
const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-
|
|
3844
|
+
const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-NRYSWMPN.js");
|
|
3803
3845
|
await parallelExecuteCloud2(runIds);
|
|
3804
3846
|
return;
|
|
3805
3847
|
}
|
|
3806
|
-
const { parallelExecute } = await import("./parallel-
|
|
3848
|
+
const { parallelExecute } = await import("./parallel-NRYSWMPN.js");
|
|
3807
3849
|
await parallelExecute(runIds);
|
|
3808
3850
|
return;
|
|
3809
3851
|
}
|
|
@@ -3811,7 +3853,7 @@ async function executeNext() {
|
|
|
3811
3853
|
const atomId = await prompt("Enter atom ID to execute (or press Enter for first pending)");
|
|
3812
3854
|
const targetId = atomId.trim() || pendingAtoms[0]?.id;
|
|
3813
3855
|
if (targetId) {
|
|
3814
|
-
const { execute: execute2 } = await import("./execute-
|
|
3856
|
+
const { execute: execute2 } = await import("./execute-26SZAYZM.js");
|
|
3815
3857
|
await execute2(targetId, {});
|
|
3816
3858
|
} else {
|
|
3817
3859
|
console.log(chalk6.yellow("No atom to execute."));
|
|
@@ -7103,9 +7145,6 @@ preferencesCommand.command("execution-set <key> <value>").description("Set execu
|
|
|
7103
7145
|
preferencesCommand.action(async () => {
|
|
7104
7146
|
await showPreferences();
|
|
7105
7147
|
});
|
|
7106
|
-
program.command("models").description("List available AI models").action(async () => {
|
|
7107
|
-
await listModels();
|
|
7108
|
-
});
|
|
7109
7148
|
program.command("watch").description("Live TUI dashboard showing atoms, credits, and activity").action(async () => {
|
|
7110
7149
|
await watch();
|
|
7111
7150
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
list
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-5EVHUDQX.js";
|
|
3
|
+
} from "./chunk-MDZ73SIL.js";
|
|
4
|
+
import "./chunk-KHOATOJY.js";
|
|
6
5
|
import "./chunk-5CFGPXQ3.js";
|
|
7
6
|
import "./chunk-2NSWZDP7.js";
|
|
8
7
|
import "./chunk-HJARQDQR.js";
|
|
8
|
+
import "./chunk-5EVHUDQX.js";
|
|
9
9
|
import "./chunk-UFR2LX6G.js";
|
|
10
10
|
import "./chunk-TFSHS7EN.js";
|
|
11
11
|
import "./chunk-RDG5BUED.js";
|
|
@@ -6,13 +6,14 @@ import {
|
|
|
6
6
|
parallelRunWaves,
|
|
7
7
|
parallelSchedule,
|
|
8
8
|
parallelStatus
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-YFG2RPDU.js";
|
|
10
|
+
import "./chunk-EBHHIUCB.js";
|
|
11
|
+
import "./chunk-Q3GIFHIQ.js";
|
|
12
|
+
import "./chunk-KHOATOJY.js";
|
|
13
13
|
import "./chunk-5CFGPXQ3.js";
|
|
14
14
|
import "./chunk-2NSWZDP7.js";
|
|
15
15
|
import "./chunk-HJARQDQR.js";
|
|
16
|
+
import "./chunk-5EVHUDQX.js";
|
|
16
17
|
import "./chunk-UFR2LX6G.js";
|
|
17
18
|
import "./chunk-TFSHS7EN.js";
|
|
18
19
|
import "./chunk-RDG5BUED.js";
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
loadAtom,
|
|
4
4
|
parseAtomDescription,
|
|
5
5
|
plan
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-5EVHUDQX.js";
|
|
6
|
+
} from "./chunk-KHOATOJY.js";
|
|
8
7
|
import "./chunk-5CFGPXQ3.js";
|
|
9
8
|
import "./chunk-2NSWZDP7.js";
|
|
10
9
|
import "./chunk-HJARQDQR.js";
|
|
10
|
+
import "./chunk-5EVHUDQX.js";
|
|
11
11
|
import "./chunk-UFR2LX6G.js";
|
|
12
12
|
import "./chunk-TFSHS7EN.js";
|
|
13
13
|
import "./chunk-RDG5BUED.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ArchitectureParser
|
|
3
|
-
} from "./chunk-5EVHUDQX.js";
|
|
4
1
|
import {
|
|
5
2
|
createAtom,
|
|
6
3
|
validateAtom
|
|
@@ -12,6 +9,9 @@ import {
|
|
|
12
9
|
AnthropicClient,
|
|
13
10
|
getDefaultModel
|
|
14
11
|
} from "./chunk-HJARQDQR.js";
|
|
12
|
+
import {
|
|
13
|
+
ArchitectureParser
|
|
14
|
+
} from "./chunk-5EVHUDQX.js";
|
|
15
15
|
import {
|
|
16
16
|
KeyManager
|
|
17
17
|
} from "./chunk-RDG5BUED.js";
|