archondev 2.18.5 → 2.18.7
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/{bug-5WRBCFRT.js → bug-DCFTT2AF.js} +2 -2
- package/dist/{chunk-VF2OTDMS.js → chunk-2BCITFWP.js} +1 -1
- package/dist/{chunk-2NSWZDP7.js → chunk-5BYCJAFM.js} +31 -0
- package/dist/{chunk-KHOATOJY.js → chunk-ESSNYHC7.js} +229 -13
- package/dist/{chunk-YFG2RPDU.js → chunk-ICSHS6BW.js} +1 -1
- package/dist/{chunk-REMLC4M7.js → chunk-MRRA3QDP.js} +5 -5
- package/dist/{chunk-UD45ZLV3.js → chunk-OAHFRSDS.js} +1 -1
- package/dist/{chunk-MDZ73SIL.js → chunk-YFCC6QEY.js} +1 -1
- package/dist/{execute-26SZAYZM.js → execute-OTW55P2Q.js} +4 -4
- package/dist/{geo-KV4IRGKN.js → geo-GEWH777F.js} +2 -2
- package/dist/index.js +28 -28
- package/dist/{list-ZSSROGZA.js → list-BJCKDRG4.js} +4 -3
- package/dist/{parallel-NRYSWMPN.js → parallel-U3COBCHB.js} +4 -4
- package/dist/{plan-YFIE43MP.js → plan-4RIHWWZG.js} +3 -2
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
bugReport
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2BCITFWP.js";
|
|
4
4
|
import "./chunk-5CFGPXQ3.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-5BYCJAFM.js";
|
|
6
6
|
import "./chunk-HJARQDQR.js";
|
|
7
7
|
import "./chunk-UFR2LX6G.js";
|
|
8
8
|
import "./chunk-SVU7MLG6.js";
|
|
@@ -83,6 +83,37 @@ var ArchitectAgent = class {
|
|
|
83
83
|
parts.push("**Acceptance Criteria:**");
|
|
84
84
|
atom.acceptanceCriteria.forEach((ac, i) => parts.push(`${i + 1}. ${ac}`));
|
|
85
85
|
parts.push("");
|
|
86
|
+
const contextMeta = atom.context;
|
|
87
|
+
const referencedFiles = contextMeta?.["referencedFiles"] ?? [];
|
|
88
|
+
const missingFiles = contextMeta?.["missingFiles"] ?? [];
|
|
89
|
+
const requirements = contextMeta?.["requirements"] ?? [];
|
|
90
|
+
const fileSummaries = contextMeta?.["fileSummaries"] ?? [];
|
|
91
|
+
if (referencedFiles.length > 0 || requirements.length > 0) {
|
|
92
|
+
parts.push("# Referenced Inputs");
|
|
93
|
+
if (requirements.length > 0) {
|
|
94
|
+
parts.push("**User Requirements:**");
|
|
95
|
+
requirements.forEach((req, i) => parts.push(`${i + 1}. ${req}`));
|
|
96
|
+
parts.push("");
|
|
97
|
+
}
|
|
98
|
+
if (referencedFiles.length > 0) {
|
|
99
|
+
parts.push("**Referenced Files:**");
|
|
100
|
+
referencedFiles.forEach((ref) => parts.push(`- ${ref}`));
|
|
101
|
+
parts.push("");
|
|
102
|
+
}
|
|
103
|
+
if (missingFiles.length > 0) {
|
|
104
|
+
parts.push("**Missing Files (note and plan around gaps):**");
|
|
105
|
+
missingFiles.forEach((ref) => parts.push(`- ${ref}`));
|
|
106
|
+
parts.push("");
|
|
107
|
+
}
|
|
108
|
+
if (fileSummaries.length > 0) {
|
|
109
|
+
parts.push("**File Summaries (use these, do not invent):**");
|
|
110
|
+
for (const summary of fileSummaries) {
|
|
111
|
+
parts.push(`- ${summary.path}`);
|
|
112
|
+
parts.push(summary.summary);
|
|
113
|
+
parts.push("");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
86
117
|
if (atom.ownershipPaths.length > 0) {
|
|
87
118
|
parts.push("**Ownership Paths (files this atom can modify):**");
|
|
88
119
|
atom.ownershipPaths.forEach((p) => parts.push(`- ${p}`));
|
|
@@ -4,11 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-5CFGPXQ3.js";
|
|
5
5
|
import {
|
|
6
6
|
ArchitectAgent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5BYCJAFM.js";
|
|
8
8
|
import {
|
|
9
9
|
AnthropicClient,
|
|
10
10
|
getDefaultModel
|
|
11
11
|
} from "./chunk-HJARQDQR.js";
|
|
12
|
+
import {
|
|
13
|
+
createAuthedSupabaseClient
|
|
14
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
12
15
|
import {
|
|
13
16
|
ArchitectureParser
|
|
14
17
|
} from "./chunk-5EVHUDQX.js";
|
|
@@ -27,10 +30,9 @@ import {
|
|
|
27
30
|
// src/cli/plan.ts
|
|
28
31
|
import chalk from "chalk";
|
|
29
32
|
import { existsSync } from "fs";
|
|
30
|
-
import { readFile, writeFile, mkdir } from "fs/promises";
|
|
33
|
+
import { readFile, writeFile, mkdir, stat } from "fs/promises";
|
|
31
34
|
import { join } from "path";
|
|
32
35
|
import { createInterface } from "readline";
|
|
33
|
-
import { createClient } from "@supabase/supabase-js";
|
|
34
36
|
|
|
35
37
|
// src/agents/sentinel.ts
|
|
36
38
|
var SYSTEM_PROMPT = `You are the Sentinel, a paranoid and skeptical code reviewer responsible for finding issues in implementation plans.
|
|
@@ -125,6 +127,37 @@ var SentinelAgent = class {
|
|
|
125
127
|
parts.push("**Acceptance Criteria:**");
|
|
126
128
|
atom.acceptanceCriteria.forEach((ac, i) => parts.push(`${i + 1}. ${ac}`));
|
|
127
129
|
parts.push("");
|
|
130
|
+
const contextMeta = atom.context;
|
|
131
|
+
const referencedFiles = contextMeta?.["referencedFiles"] ?? [];
|
|
132
|
+
const missingFiles = contextMeta?.["missingFiles"] ?? [];
|
|
133
|
+
const requirements = contextMeta?.["requirements"] ?? [];
|
|
134
|
+
const fileSummaries = contextMeta?.["fileSummaries"] ?? [];
|
|
135
|
+
if (referencedFiles.length > 0 || requirements.length > 0) {
|
|
136
|
+
parts.push("# Referenced Inputs");
|
|
137
|
+
if (requirements.length > 0) {
|
|
138
|
+
parts.push("**User Requirements:**");
|
|
139
|
+
requirements.forEach((req, i) => parts.push(`${i + 1}. ${req}`));
|
|
140
|
+
parts.push("");
|
|
141
|
+
}
|
|
142
|
+
if (referencedFiles.length > 0) {
|
|
143
|
+
parts.push("**Referenced Files:**");
|
|
144
|
+
referencedFiles.forEach((ref) => parts.push(`- ${ref}`));
|
|
145
|
+
parts.push("");
|
|
146
|
+
}
|
|
147
|
+
if (missingFiles.length > 0) {
|
|
148
|
+
parts.push("**Missing Files (plan must acknowledge gaps):**");
|
|
149
|
+
missingFiles.forEach((ref) => parts.push(`- ${ref}`));
|
|
150
|
+
parts.push("");
|
|
151
|
+
}
|
|
152
|
+
if (fileSummaries.length > 0) {
|
|
153
|
+
parts.push("**File Summaries:**");
|
|
154
|
+
for (const summary of fileSummaries) {
|
|
155
|
+
parts.push(`- ${summary.path}`);
|
|
156
|
+
parts.push(summary.summary);
|
|
157
|
+
parts.push("");
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
128
161
|
parts.push("# Implementation Plan to Validate");
|
|
129
162
|
parts.push("");
|
|
130
163
|
parts.push("**Steps:**");
|
|
@@ -770,9 +803,63 @@ async function plan(description, options) {
|
|
|
770
803
|
}
|
|
771
804
|
process.exit(1);
|
|
772
805
|
}
|
|
806
|
+
const requirements = extractNumberedRequirements(description);
|
|
807
|
+
const references = extractReferencedFiles(description);
|
|
808
|
+
const { foundFiles, missingFiles, fileSummaries } = await loadReferencedFileSummaries(references);
|
|
809
|
+
if (references.length > 0) {
|
|
810
|
+
console.log(chalk.dim("\nReferenced inputs detected:"));
|
|
811
|
+
for (const ref of references) {
|
|
812
|
+
const status = foundFiles.includes(ref) ? chalk.green("\u2713") : chalk.yellow("!");
|
|
813
|
+
console.log(` ${status} ${ref}`);
|
|
814
|
+
}
|
|
815
|
+
if (missingFiles.length > 0) {
|
|
816
|
+
console.log(chalk.yellow("\nMissing referenced files:"));
|
|
817
|
+
for (const missing of missingFiles) {
|
|
818
|
+
console.log(chalk.yellow(` - ${missing}`));
|
|
819
|
+
}
|
|
820
|
+
console.log(chalk.dim("\nHow would you like to proceed?"));
|
|
821
|
+
console.log(chalk.dim(" 1) Cancel planning and add the missing files"));
|
|
822
|
+
console.log(chalk.dim(" 2) Continue and mark missing files as required"));
|
|
823
|
+
console.log(chalk.dim(" 3) Continue with default placeholders"));
|
|
824
|
+
const proceedChoice = await prompt.ask("Choose 1/2/3 (default: 1): ");
|
|
825
|
+
const choice = proceedChoice.trim() || "1";
|
|
826
|
+
if (choice === "1") {
|
|
827
|
+
console.log(chalk.dim("Planning cancelled."));
|
|
828
|
+
return;
|
|
829
|
+
}
|
|
830
|
+
if (choice === "2") {
|
|
831
|
+
missingFiles.forEach((file) => requirements.push(`Missing input required: ${file}`));
|
|
832
|
+
}
|
|
833
|
+
if (choice === "3") {
|
|
834
|
+
missingFiles.forEach((file) => requirements.push(`Use default placeholder for missing input: ${file}`));
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
const deliverableTarget = await promptForDeliverableTarget(
|
|
839
|
+
prompt,
|
|
840
|
+
requirements,
|
|
841
|
+
references
|
|
842
|
+
);
|
|
843
|
+
if (deliverableTarget) {
|
|
844
|
+
requirements.push(`Deliverables saved to: ${deliverableTarget}`);
|
|
845
|
+
}
|
|
846
|
+
if (requirements.length > 0) {
|
|
847
|
+
console.log(chalk.dim("\nDetected requirements:"));
|
|
848
|
+
requirements.forEach((req, i) => console.log(` ${i + 1}. ${req}`));
|
|
849
|
+
const confirm = await prompt.ask("\nUse these as acceptance criteria? (Y/n): ");
|
|
850
|
+
if (confirm.toLowerCase() === "n") {
|
|
851
|
+
requirements.length = 0;
|
|
852
|
+
}
|
|
853
|
+
}
|
|
773
854
|
console.log(chalk.dim("Creating atom from description..."));
|
|
774
|
-
const atomInput = parseAtomDescription(description, options);
|
|
775
|
-
const atom = createAtom(atomInput
|
|
855
|
+
const atomInput = parseAtomDescription(description, options, requirements);
|
|
856
|
+
const atom = createAtom(atomInput, {
|
|
857
|
+
referencedFiles: references,
|
|
858
|
+
fileSummaries,
|
|
859
|
+
missingFiles,
|
|
860
|
+
requirements,
|
|
861
|
+
deliverableTarget
|
|
862
|
+
});
|
|
776
863
|
const validation = validateAtom(atom);
|
|
777
864
|
if (!validation.valid) {
|
|
778
865
|
console.error(chalk.red("Invalid atom:"));
|
|
@@ -806,12 +893,15 @@ Atom saved: ${atom.externalId}`));
|
|
|
806
893
|
console.log(chalk.dim("Architect will generate a plan, Sentinel will validate it.\n"));
|
|
807
894
|
const config = await loadConfig();
|
|
808
895
|
let billingContext;
|
|
809
|
-
if (config.userId) {
|
|
810
|
-
const
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
896
|
+
if (config.userId && config.accessToken) {
|
|
897
|
+
const profileId = await resolveProfileId(config.userId, config.accessToken);
|
|
898
|
+
if (profileId) {
|
|
899
|
+
const supabase = createAuthedSupabaseClient(SUPABASE_URL, SUPABASE_ANON_KEY, config.accessToken);
|
|
900
|
+
billingContext = {
|
|
901
|
+
userId: profileId,
|
|
902
|
+
supabase
|
|
903
|
+
};
|
|
904
|
+
}
|
|
815
905
|
}
|
|
816
906
|
const planner = billingContext ? new TrackedAdversarialPlanner({ apiKey, billing: billingContext }) : new AdversarialPlanner({ apiKey });
|
|
817
907
|
if (billingContext && planner instanceof TrackedAdversarialPlanner) {
|
|
@@ -882,13 +972,16 @@ Next steps:`));
|
|
|
882
972
|
prompt.close();
|
|
883
973
|
}
|
|
884
974
|
}
|
|
885
|
-
function parseAtomDescription(description, options) {
|
|
975
|
+
function parseAtomDescription(description, options, extractedCriteria = []) {
|
|
976
|
+
const title = deriveTitle(description);
|
|
886
977
|
const parts = description.split(" - ");
|
|
887
|
-
const title = parts[0]?.trim() ?? description;
|
|
888
978
|
let acceptanceCriteria = [];
|
|
889
979
|
if (parts.length > 1) {
|
|
890
980
|
acceptanceCriteria = (parts[1] ?? "").split(",").map((ac) => ac.trim());
|
|
891
981
|
}
|
|
982
|
+
if (acceptanceCriteria.length === 0 && extractedCriteria.length > 0) {
|
|
983
|
+
acceptanceCriteria = [...extractedCriteria];
|
|
984
|
+
}
|
|
892
985
|
if (acceptanceCriteria.length === 0) {
|
|
893
986
|
acceptanceCriteria = ["Feature implemented as described", "Typecheck passes", "Tests pass"];
|
|
894
987
|
}
|
|
@@ -901,6 +994,129 @@ function parseAtomDescription(description, options) {
|
|
|
901
994
|
tags
|
|
902
995
|
};
|
|
903
996
|
}
|
|
997
|
+
function deriveTitle(description) {
|
|
998
|
+
const dashIndex = description.indexOf(" - ");
|
|
999
|
+
if (dashIndex > 0) {
|
|
1000
|
+
return description.slice(0, dashIndex).trim();
|
|
1001
|
+
}
|
|
1002
|
+
const bracketIndex = description.indexOf("[1]");
|
|
1003
|
+
if (bracketIndex > 0) {
|
|
1004
|
+
return description.slice(0, bracketIndex).trim();
|
|
1005
|
+
}
|
|
1006
|
+
const line = description.split("\n")[0] ?? description;
|
|
1007
|
+
const trimmed = line.trim();
|
|
1008
|
+
return trimmed.length > 0 ? trimmed : description.trim();
|
|
1009
|
+
}
|
|
1010
|
+
function extractNumberedRequirements(description) {
|
|
1011
|
+
const requirements = [];
|
|
1012
|
+
const bracketPattern = /\[\s*(\d+)\s*\]\s*([^\[]+)/g;
|
|
1013
|
+
let match;
|
|
1014
|
+
while ((match = bracketPattern.exec(description)) !== null) {
|
|
1015
|
+
const text = match[2]?.trim();
|
|
1016
|
+
if (text) {
|
|
1017
|
+
requirements.push(text.replace(/\s+/g, " "));
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
if (requirements.length > 0) {
|
|
1021
|
+
return requirements;
|
|
1022
|
+
}
|
|
1023
|
+
const lines = description.split("\n");
|
|
1024
|
+
for (const line of lines) {
|
|
1025
|
+
const listMatch = line.match(/^\s*\d+[\)\.]\s*(.+)$/);
|
|
1026
|
+
if (listMatch?.[1]) {
|
|
1027
|
+
requirements.push(listMatch[1].trim());
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
return requirements;
|
|
1031
|
+
}
|
|
1032
|
+
function extractReferencedFiles(description) {
|
|
1033
|
+
const references = /* @__PURE__ */ new Set();
|
|
1034
|
+
const barePattern = /\b[\w./-]+\.(md|txt|json|yaml|yml|png|jpg|jpeg|gif|svg|pdf)\b/gi;
|
|
1035
|
+
const quotedPattern = /"([^"]+\.(?:md|txt|json|yaml|yml|png|jpg|jpeg|gif|svg|pdf))"/gi;
|
|
1036
|
+
let match;
|
|
1037
|
+
while ((match = quotedPattern.exec(description)) !== null) {
|
|
1038
|
+
if (match[1]) {
|
|
1039
|
+
references.add(match[1]);
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
while ((match = barePattern.exec(description)) !== null) {
|
|
1043
|
+
if (match[0]) {
|
|
1044
|
+
references.add(match[0].replace(/["'`,]/g, "").trim());
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
return Array.from(references).filter((ref) => ref.length > 0);
|
|
1048
|
+
}
|
|
1049
|
+
async function loadReferencedFileSummaries(references) {
|
|
1050
|
+
const foundFiles = [];
|
|
1051
|
+
const missingFiles = [];
|
|
1052
|
+
const fileSummaries = [];
|
|
1053
|
+
for (const ref of references) {
|
|
1054
|
+
const normalized = ref.replace(/^\.?\//, "");
|
|
1055
|
+
const absolute = join(process.cwd(), normalized);
|
|
1056
|
+
if (!existsSync(absolute)) {
|
|
1057
|
+
missingFiles.push(ref);
|
|
1058
|
+
continue;
|
|
1059
|
+
}
|
|
1060
|
+
foundFiles.push(ref);
|
|
1061
|
+
const isImage = /\.(png|jpg|jpeg|gif|svg)$/i.test(ref);
|
|
1062
|
+
if (isImage) {
|
|
1063
|
+
try {
|
|
1064
|
+
const fileStat = await stat(absolute);
|
|
1065
|
+
fileSummaries.push({
|
|
1066
|
+
path: ref,
|
|
1067
|
+
summary: `Image file (${fileStat.size} bytes). Use as visual style reference.`
|
|
1068
|
+
});
|
|
1069
|
+
} catch {
|
|
1070
|
+
fileSummaries.push({
|
|
1071
|
+
path: ref,
|
|
1072
|
+
summary: "Image file present. Use as visual style reference."
|
|
1073
|
+
});
|
|
1074
|
+
}
|
|
1075
|
+
continue;
|
|
1076
|
+
}
|
|
1077
|
+
try {
|
|
1078
|
+
const content = await readFile(absolute, "utf-8");
|
|
1079
|
+
const snippet = content.slice(0, 2e3);
|
|
1080
|
+
fileSummaries.push({
|
|
1081
|
+
path: ref,
|
|
1082
|
+
summary: snippet + (content.length > 2e3 ? "\n... [truncated]" : "")
|
|
1083
|
+
});
|
|
1084
|
+
} catch {
|
|
1085
|
+
fileSummaries.push({
|
|
1086
|
+
path: ref,
|
|
1087
|
+
summary: "File exists but could not be read."
|
|
1088
|
+
});
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
return { foundFiles, missingFiles, fileSummaries };
|
|
1092
|
+
}
|
|
1093
|
+
async function promptForDeliverableTarget(prompt, requirements, references) {
|
|
1094
|
+
const mentionsResearch = requirements.some((req) => req.toLowerCase().includes("research"));
|
|
1095
|
+
const defaultTarget = references.find((ref) => ref.toLowerCase().endsWith(".md"));
|
|
1096
|
+
if (!mentionsResearch && !defaultTarget) {
|
|
1097
|
+
return null;
|
|
1098
|
+
}
|
|
1099
|
+
console.log(chalk.dim("\nWhere should the deliverables be written?"));
|
|
1100
|
+
if (defaultTarget) {
|
|
1101
|
+
console.log(chalk.dim(`Press Enter to use ${defaultTarget}`));
|
|
1102
|
+
}
|
|
1103
|
+
const answer = await prompt.ask("Target file or folder (leave blank to skip): ");
|
|
1104
|
+
const trimmed = answer.trim();
|
|
1105
|
+
if (trimmed.length === 0) {
|
|
1106
|
+
return defaultTarget ?? null;
|
|
1107
|
+
}
|
|
1108
|
+
return trimmed;
|
|
1109
|
+
}
|
|
1110
|
+
async function resolveProfileId(authId, accessToken) {
|
|
1111
|
+
try {
|
|
1112
|
+
const supabase = createAuthedSupabaseClient(SUPABASE_URL, SUPABASE_ANON_KEY, accessToken);
|
|
1113
|
+
const { data, error } = await supabase.from("user_profiles").select("id").eq("auth_id", authId).single();
|
|
1114
|
+
if (error || !data?.id) return null;
|
|
1115
|
+
return data.id;
|
|
1116
|
+
} catch {
|
|
1117
|
+
return null;
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
904
1120
|
function displayPlan(plan2) {
|
|
905
1121
|
console.log(chalk.bold("\n\u{1F4DD} Implementation Plan"));
|
|
906
1122
|
console.log(chalk.dim("\u2500".repeat(40)));
|
|
@@ -3,13 +3,10 @@ import {
|
|
|
3
3
|
getGitRemoteUrl,
|
|
4
4
|
queueCloudExecution
|
|
5
5
|
} from "./chunk-EBHHIUCB.js";
|
|
6
|
-
import {
|
|
7
|
-
createAuthedSupabaseClient
|
|
8
|
-
} from "./chunk-Q3GIFHIQ.js";
|
|
9
6
|
import {
|
|
10
7
|
UsageRecorder,
|
|
11
8
|
loadAtom
|
|
12
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ESSNYHC7.js";
|
|
13
10
|
import {
|
|
14
11
|
transitionAtom
|
|
15
12
|
} from "./chunk-5CFGPXQ3.js";
|
|
@@ -17,6 +14,9 @@ import {
|
|
|
17
14
|
AnthropicClient,
|
|
18
15
|
getDefaultModel
|
|
19
16
|
} from "./chunk-HJARQDQR.js";
|
|
17
|
+
import {
|
|
18
|
+
createAuthedSupabaseClient
|
|
19
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
20
20
|
import {
|
|
21
21
|
ArchitectureParser
|
|
22
22
|
} from "./chunk-5EVHUDQX.js";
|
|
@@ -4793,7 +4793,7 @@ function createPrompt() {
|
|
|
4793
4793
|
}
|
|
4794
4794
|
async function execute(atomId, options) {
|
|
4795
4795
|
if (options.parallel && options.parallel.length > 0) {
|
|
4796
|
-
const { parallelExecute } = await import("./parallel-
|
|
4796
|
+
const { parallelExecute } = await import("./parallel-U3COBCHB.js");
|
|
4797
4797
|
const allAtomIds = [atomId, ...options.parallel];
|
|
4798
4798
|
await parallelExecute(allAtomIds, { skipGates: options.skipGates === true });
|
|
4799
4799
|
return;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
execute
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MRRA3QDP.js";
|
|
4
4
|
import "./chunk-EBHHIUCB.js";
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-KHOATOJY.js";
|
|
5
|
+
import "./chunk-ESSNYHC7.js";
|
|
7
6
|
import "./chunk-5CFGPXQ3.js";
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-5BYCJAFM.js";
|
|
9
8
|
import "./chunk-HJARQDQR.js";
|
|
9
|
+
import "./chunk-Q3GIFHIQ.js";
|
|
10
10
|
import "./chunk-5EVHUDQX.js";
|
|
11
11
|
import "./chunk-UFR2LX6G.js";
|
|
12
12
|
import "./chunk-TFSHS7EN.js";
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
geoFaq,
|
|
5
5
|
geoIdentity,
|
|
6
6
|
geoSchema
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-OAHFRSDS.js";
|
|
8
8
|
import "./chunk-3ASILTFB.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-5BYCJAFM.js";
|
|
10
10
|
import "./chunk-HJARQDQR.js";
|
|
11
11
|
import "./chunk-UFR2LX6G.js";
|
|
12
12
|
import "./chunk-SVU7MLG6.js";
|
package/dist/index.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-JF7JCK6H.js";
|
|
5
5
|
import {
|
|
6
6
|
createGeoCommand
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-OAHFRSDS.js";
|
|
8
8
|
import {
|
|
9
9
|
bugReport
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2BCITFWP.js";
|
|
11
11
|
import {
|
|
12
12
|
reviewAnalyze,
|
|
13
13
|
reviewExport,
|
|
@@ -46,32 +46,32 @@ import {
|
|
|
46
46
|
parallelRunWaves,
|
|
47
47
|
parallelSchedule,
|
|
48
48
|
parallelStatus
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-ICSHS6BW.js";
|
|
50
50
|
import {
|
|
51
51
|
DependencyParser,
|
|
52
52
|
EnvironmentConfigLoader,
|
|
53
53
|
EnvironmentValidator,
|
|
54
54
|
execute
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-MRRA3QDP.js";
|
|
56
56
|
import {
|
|
57
57
|
cloudCancel,
|
|
58
58
|
cloudLogs,
|
|
59
59
|
cloudStatus
|
|
60
60
|
} from "./chunk-EBHHIUCB.js";
|
|
61
|
-
import {
|
|
62
|
-
createAuthedSupabaseClient
|
|
63
|
-
} from "./chunk-Q3GIFHIQ.js";
|
|
64
61
|
import {
|
|
65
62
|
list
|
|
66
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-YFCC6QEY.js";
|
|
67
64
|
import {
|
|
68
65
|
listLocalAtoms,
|
|
69
66
|
loadAtom,
|
|
70
67
|
plan
|
|
71
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-ESSNYHC7.js";
|
|
72
69
|
import "./chunk-5CFGPXQ3.js";
|
|
73
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-5BYCJAFM.js";
|
|
74
71
|
import "./chunk-HJARQDQR.js";
|
|
72
|
+
import {
|
|
73
|
+
createAuthedSupabaseClient
|
|
74
|
+
} from "./chunk-Q3GIFHIQ.js";
|
|
75
75
|
import {
|
|
76
76
|
ArchitectureParser
|
|
77
77
|
} from "./chunk-5EVHUDQX.js";
|
|
@@ -3127,7 +3127,7 @@ async function handleNewProject(cwd, _state) {
|
|
|
3127
3127
|
}
|
|
3128
3128
|
if (intent.mode === "ad_hoc" && intent.confidence >= 0.7) {
|
|
3129
3129
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
3130
|
-
const { plan: plan2 } = await import("./plan-
|
|
3130
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3131
3131
|
await plan2(initialResponse, {});
|
|
3132
3132
|
return;
|
|
3133
3133
|
}
|
|
@@ -3151,7 +3151,7 @@ async function handleNewProject(cwd, _state) {
|
|
|
3151
3151
|
break;
|
|
3152
3152
|
case "2":
|
|
3153
3153
|
console.log(chalk6.dim("\n> Creating a task for this...\n"));
|
|
3154
|
-
const { plan: plan2 } = await import("./plan-
|
|
3154
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3155
3155
|
await plan2(initialResponse, {});
|
|
3156
3156
|
break;
|
|
3157
3157
|
case "3":
|
|
@@ -3181,7 +3181,7 @@ async function showNewProjectMenu(cwd) {
|
|
|
3181
3181
|
case "3": {
|
|
3182
3182
|
const description = await prompt("Describe what you want to do");
|
|
3183
3183
|
if (description.trim()) {
|
|
3184
|
-
const { plan: plan2 } = await import("./plan-
|
|
3184
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3185
3185
|
await plan2(description, {});
|
|
3186
3186
|
}
|
|
3187
3187
|
break;
|
|
@@ -3247,7 +3247,7 @@ async function runExploreFlow(cwd) {
|
|
|
3247
3247
|
case "1": {
|
|
3248
3248
|
const description = await prompt("Describe what you want to do");
|
|
3249
3249
|
if (description.trim()) {
|
|
3250
|
-
const { plan: plan2 } = await import("./plan-
|
|
3250
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3251
3251
|
await plan2(description, {});
|
|
3252
3252
|
}
|
|
3253
3253
|
break;
|
|
@@ -3506,7 +3506,7 @@ ${state.forbiddenPatterns?.length ? `- **Forbidden patterns:** ${state.forbidden
|
|
|
3506
3506
|
if (continueChoice) {
|
|
3507
3507
|
const description = await prompt("Describe what you want to build first");
|
|
3508
3508
|
if (description.trim()) {
|
|
3509
|
-
const { plan: plan2 } = await import("./plan-
|
|
3509
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3510
3510
|
await plan2(description, {});
|
|
3511
3511
|
}
|
|
3512
3512
|
}
|
|
@@ -3560,7 +3560,7 @@ async function handleAdaptExisting(cwd, state) {
|
|
|
3560
3560
|
}
|
|
3561
3561
|
if (intent.mode === "ad_hoc" && intent.confidence >= 0.7) {
|
|
3562
3562
|
console.log(chalk6.dim("\n> Got it! Creating a task for this...\n"));
|
|
3563
|
-
const { plan: plan2 } = await import("./plan-
|
|
3563
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3564
3564
|
await plan2(response, {});
|
|
3565
3565
|
return;
|
|
3566
3566
|
}
|
|
@@ -3591,7 +3591,7 @@ async function showAdaptExistingMenu(cwd, state) {
|
|
|
3591
3591
|
case "2": {
|
|
3592
3592
|
const description = await prompt("Describe what you want to do");
|
|
3593
3593
|
if (description.trim()) {
|
|
3594
|
-
const { plan: plan2 } = await import("./plan-
|
|
3594
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3595
3595
|
await plan2(description, {});
|
|
3596
3596
|
}
|
|
3597
3597
|
break;
|
|
@@ -3759,18 +3759,18 @@ async function showReviewProgress(cwd) {
|
|
|
3759
3759
|
}
|
|
3760
3760
|
}
|
|
3761
3761
|
async function planTask() {
|
|
3762
|
-
const { plan: plan2 } = await import("./plan-
|
|
3762
|
+
const { plan: plan2 } = await import("./plan-4RIHWWZG.js");
|
|
3763
3763
|
const description = await prompt("Describe what you want to build");
|
|
3764
3764
|
if (description.trim()) {
|
|
3765
3765
|
await plan2(description, {});
|
|
3766
3766
|
}
|
|
3767
3767
|
}
|
|
3768
3768
|
async function listAtoms() {
|
|
3769
|
-
const { list: list2 } = await import("./list-
|
|
3769
|
+
const { list: list2 } = await import("./list-BJCKDRG4.js");
|
|
3770
3770
|
await list2({});
|
|
3771
3771
|
}
|
|
3772
3772
|
async function executeNext() {
|
|
3773
|
-
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-
|
|
3773
|
+
const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-4RIHWWZG.js");
|
|
3774
3774
|
const { analyzeProject, getComplexityDescription, getModeDescription } = await import("./orchestration-HIF3KP25.js");
|
|
3775
3775
|
const { loadExecutionPreferences } = await import("./preferences-I6WETXOI.js");
|
|
3776
3776
|
const cwd = process.cwd();
|
|
@@ -3841,11 +3841,11 @@ async function executeNext() {
|
|
|
3841
3841
|
}
|
|
3842
3842
|
}
|
|
3843
3843
|
if (selectedMode === "parallel-cloud") {
|
|
3844
|
-
const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-
|
|
3844
|
+
const { parallelExecuteCloud: parallelExecuteCloud2 } = await import("./parallel-U3COBCHB.js");
|
|
3845
3845
|
await parallelExecuteCloud2(runIds);
|
|
3846
3846
|
return;
|
|
3847
3847
|
}
|
|
3848
|
-
const { parallelExecute } = await import("./parallel-
|
|
3848
|
+
const { parallelExecute } = await import("./parallel-U3COBCHB.js");
|
|
3849
3849
|
await parallelExecute(runIds);
|
|
3850
3850
|
return;
|
|
3851
3851
|
}
|
|
@@ -3853,14 +3853,14 @@ async function executeNext() {
|
|
|
3853
3853
|
const atomId = await prompt("Enter atom ID to execute (or press Enter for first pending)");
|
|
3854
3854
|
const targetId = atomId.trim() || pendingAtoms[0]?.id;
|
|
3855
3855
|
if (targetId) {
|
|
3856
|
-
const { execute: execute2 } = await import("./execute-
|
|
3856
|
+
const { execute: execute2 } = await import("./execute-OTW55P2Q.js");
|
|
3857
3857
|
await execute2(targetId, {});
|
|
3858
3858
|
} else {
|
|
3859
3859
|
console.log(chalk6.yellow("No atom to execute."));
|
|
3860
3860
|
}
|
|
3861
3861
|
}
|
|
3862
3862
|
async function reportBug() {
|
|
3863
|
-
const { bugReport: bugReport2 } = await import("./bug-
|
|
3863
|
+
const { bugReport: bugReport2 } = await import("./bug-DCFTT2AF.js");
|
|
3864
3864
|
const title = await prompt("Bug title");
|
|
3865
3865
|
if (title.trim()) {
|
|
3866
3866
|
await bugReport2(title, {});
|
|
@@ -3986,7 +3986,7 @@ async function promptWithCommands(question) {
|
|
|
3986
3986
|
async function runWebChecksSuite() {
|
|
3987
3987
|
const { a11yCheck: a11yCheck2 } = await import("./a11y-O35BAA25.js");
|
|
3988
3988
|
const { seoCheck } = await import("./seo-PMI42KRZ.js");
|
|
3989
|
-
const { geoAudit } = await import("./geo-
|
|
3989
|
+
const { geoAudit } = await import("./geo-GEWH777F.js");
|
|
3990
3990
|
console.log(chalk6.blue("\nRunning web checks (A11y, SEO, GEO)...\n"));
|
|
3991
3991
|
await a11yCheck2({});
|
|
3992
3992
|
await seoCheck({});
|
|
@@ -4026,17 +4026,17 @@ async function showWebChecksMenu() {
|
|
|
4026
4026
|
break;
|
|
4027
4027
|
}
|
|
4028
4028
|
case "4": {
|
|
4029
|
-
const { geoAudit } = await import("./geo-
|
|
4029
|
+
const { geoAudit } = await import("./geo-GEWH777F.js");
|
|
4030
4030
|
await geoAudit();
|
|
4031
4031
|
break;
|
|
4032
4032
|
}
|
|
4033
4033
|
case "5": {
|
|
4034
|
-
const { geoIdentity } = await import("./geo-
|
|
4034
|
+
const { geoIdentity } = await import("./geo-GEWH777F.js");
|
|
4035
4035
|
await geoIdentity();
|
|
4036
4036
|
break;
|
|
4037
4037
|
}
|
|
4038
4038
|
case "6": {
|
|
4039
|
-
const { geoSchema } = await import("./geo-
|
|
4039
|
+
const { geoSchema } = await import("./geo-GEWH777F.js");
|
|
4040
4040
|
await geoSchema({});
|
|
4041
4041
|
break;
|
|
4042
4042
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
list
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-YFCC6QEY.js";
|
|
4
|
+
import "./chunk-ESSNYHC7.js";
|
|
5
5
|
import "./chunk-5CFGPXQ3.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-5BYCJAFM.js";
|
|
7
7
|
import "./chunk-HJARQDQR.js";
|
|
8
|
+
import "./chunk-Q3GIFHIQ.js";
|
|
8
9
|
import "./chunk-5EVHUDQX.js";
|
|
9
10
|
import "./chunk-UFR2LX6G.js";
|
|
10
11
|
import "./chunk-TFSHS7EN.js";
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
parallelRunWaves,
|
|
7
7
|
parallelSchedule,
|
|
8
8
|
parallelStatus
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ICSHS6BW.js";
|
|
10
10
|
import "./chunk-EBHHIUCB.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-KHOATOJY.js";
|
|
11
|
+
import "./chunk-ESSNYHC7.js";
|
|
13
12
|
import "./chunk-5CFGPXQ3.js";
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-5BYCJAFM.js";
|
|
15
14
|
import "./chunk-HJARQDQR.js";
|
|
15
|
+
import "./chunk-Q3GIFHIQ.js";
|
|
16
16
|
import "./chunk-5EVHUDQX.js";
|
|
17
17
|
import "./chunk-UFR2LX6G.js";
|
|
18
18
|
import "./chunk-TFSHS7EN.js";
|
|
@@ -3,10 +3,11 @@ import {
|
|
|
3
3
|
loadAtom,
|
|
4
4
|
parseAtomDescription,
|
|
5
5
|
plan
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ESSNYHC7.js";
|
|
7
7
|
import "./chunk-5CFGPXQ3.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-5BYCJAFM.js";
|
|
9
9
|
import "./chunk-HJARQDQR.js";
|
|
10
|
+
import "./chunk-Q3GIFHIQ.js";
|
|
10
11
|
import "./chunk-5EVHUDQX.js";
|
|
11
12
|
import "./chunk-UFR2LX6G.js";
|
|
12
13
|
import "./chunk-TFSHS7EN.js";
|