next-anteater 0.2.23 → 0.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anteater-bar.d.ts","sourceRoot":"","sources":["../../src/components/anteater-bar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAkL9D,wBAAgB,WAAW,CAAC,EAC1B,WAA6B,EAC7B,IAAa,EACb,WAAoC,EACpC,MAAM,GACP,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"anteater-bar.d.ts","sourceRoot":"","sources":["../../src/components/anteater-bar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAkL9D,wBAAgB,WAAW,CAAC,EAC1B,WAA6B,EAC7B,IAAa,EACb,WAAoC,EACpC,MAAM,GACP,EAAE,gBAAgB,2CAuOlB"}
|
|
@@ -102,12 +102,6 @@ export function AnteaterBar({ apiEndpoint = "/api/anteater", mode = "prod", plac
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}, [isExpanded]);
|
|
105
|
-
// Auto-expand if there are runs on mount (e.g. after refresh)
|
|
106
|
-
useEffect(() => {
|
|
107
|
-
if (runs.length > 0 && !isExpanded) {
|
|
108
|
-
setIsExpanded(true);
|
|
109
|
-
}
|
|
110
|
-
}, [runs.length]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
111
105
|
const handleSubmit = async (e) => {
|
|
112
106
|
if (e)
|
|
113
107
|
e.preventDefault();
|
|
@@ -133,10 +127,8 @@ export function AnteaterBar({ apiEndpoint = "/api/anteater", mode = "prod", plac
|
|
|
133
127
|
handleSubmit();
|
|
134
128
|
return;
|
|
135
129
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
setPrompt("");
|
|
139
|
-
}
|
|
130
|
+
setIsExpanded(false);
|
|
131
|
+
setPrompt("");
|
|
140
132
|
};
|
|
141
133
|
const hasRuns = runs.length > 0;
|
|
142
134
|
const hasText = prompt.trim().length > 0;
|
|
@@ -159,6 +151,7 @@ export function AnteaterBar({ apiEndpoint = "/api/anteater", mode = "prod", plac
|
|
|
159
151
|
display: "flex",
|
|
160
152
|
flexDirection: "column",
|
|
161
153
|
alignItems: "flex-end",
|
|
154
|
+
pointerEvents: "none",
|
|
162
155
|
}, children: _jsxs("div", { style: { position: "relative" }, children: [isExpanded && showPanel && (_jsxs("div", { style: {
|
|
163
156
|
position: "absolute",
|
|
164
157
|
bottom: 0,
|
|
@@ -172,46 +165,50 @@ export function AnteaterBar({ apiEndpoint = "/api/anteater", mode = "prod", plac
|
|
|
172
165
|
overflow: "hidden",
|
|
173
166
|
animation: "anteater-slide-up 0.25s ease-out",
|
|
174
167
|
paddingBottom: `${BUTTON_SIZE + 4}px`,
|
|
168
|
+
pointerEvents: "auto",
|
|
175
169
|
}, children: [runs.map((run, i) => (_jsxs("div", { children: [i > 0 && (_jsx("div", { style: { height: "1px", background: "#222", margin: "0 14px" } })), _jsx(RunRow, { run: run, onDelete: deleteRun })] }, run.requestId))), error && !hasRuns && (_jsx("div", { style: {
|
|
176
170
|
padding: "10px 14px",
|
|
177
171
|
fontSize: "13px",
|
|
178
172
|
color: "#ef4444",
|
|
179
|
-
}, children: error }))] })), _jsxs("div", { style: { position: "relative", zIndex: 1 }, children: [_jsx("
|
|
173
|
+
}, children: error }))] })), _jsxs("div", { style: { position: "relative", zIndex: 1 }, children: [_jsx("div", { style: {
|
|
180
174
|
overflow: "hidden",
|
|
181
|
-
|
|
182
|
-
width: isExpanded ? "min(420px, calc(100vw - 100px))" : "0px",
|
|
183
|
-
opacity: isExpanded ? 1 : 0,
|
|
175
|
+
width: "min(420px, calc(100vw - 100px))",
|
|
184
176
|
marginRight: `${BUTTON_SIZE / 2}px`,
|
|
185
|
-
|
|
186
|
-
}, children: _jsx("
|
|
187
|
-
display: "flex",
|
|
188
|
-
alignItems: "center",
|
|
189
|
-
background: "#111",
|
|
190
|
-
border: "1px solid #333",
|
|
177
|
+
pointerEvents: isExpanded ? "auto" : "none",
|
|
178
|
+
}, children: _jsx("form", { onSubmit: handleSubmit, style: {
|
|
191
179
|
borderRadius: showPanel ? "0 0 12px 12px" : "12px",
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
180
|
+
transform: isExpanded ? "translateX(0)" : "translateX(100%)",
|
|
181
|
+
opacity: isExpanded ? 1 : 0,
|
|
182
|
+
transition: "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease",
|
|
183
|
+
}, children: _jsx("div", { style: {
|
|
184
|
+
display: "flex",
|
|
185
|
+
alignItems: "center",
|
|
186
|
+
background: "#111",
|
|
187
|
+
border: "1px solid #333",
|
|
188
|
+
borderRadius: showPanel ? "0 0 12px 12px" : "12px",
|
|
189
|
+
padding: "8px 16px",
|
|
190
|
+
height: `${BUTTON_SIZE}px`,
|
|
191
|
+
boxSizing: "border-box",
|
|
192
|
+
boxShadow: "0 4px 24px rgba(0, 0, 0, 0.4)",
|
|
193
|
+
}, children: _jsx("input", { ref: inputRef, type: "text", value: prompt, onChange: (e) => setPrompt(e.target.value), placeholder: submitting
|
|
194
|
+
? "Sending..."
|
|
195
|
+
: !canSubmit && runs.length >= 5
|
|
196
|
+
? "Max 5 runs at once"
|
|
197
|
+
: placeholder, disabled: submitting || runs.length >= 5, style: {
|
|
198
|
+
flex: 1,
|
|
199
|
+
background: "transparent",
|
|
200
|
+
border: "none",
|
|
201
|
+
outline: "none",
|
|
202
|
+
color: error ? "#ef4444" : "#fff",
|
|
203
|
+
fontSize: "16px",
|
|
204
|
+
fontFamily: "inherit",
|
|
205
|
+
minWidth: 0,
|
|
206
|
+
}, onKeyDown: (e) => {
|
|
207
|
+
if (e.key === "Escape" && !hasRuns) {
|
|
208
|
+
setIsExpanded(false);
|
|
209
|
+
setPrompt("");
|
|
210
|
+
}
|
|
211
|
+
} }) }) }) }), _jsx("button", { type: "button", onClick: handleButtonClick, style: {
|
|
215
212
|
position: "absolute",
|
|
216
213
|
right: 0,
|
|
217
214
|
bottom: 0,
|
|
@@ -225,6 +222,7 @@ export function AnteaterBar({ apiEndpoint = "/api/anteater", mode = "prod", plac
|
|
|
225
222
|
display: "flex",
|
|
226
223
|
alignItems: "center",
|
|
227
224
|
justifyContent: "center",
|
|
225
|
+
pointerEvents: "auto",
|
|
228
226
|
boxShadow: canSend
|
|
229
227
|
? "0 4px 24px rgba(255, 255, 255, 0.15), 0 4px 24px rgba(0, 0, 0, 0.4)"
|
|
230
228
|
: "0 4px 24px rgba(0, 0, 0, 0.3)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anteater-bar.js","sourceRoot":"","sources":["../../src/components/anteater-bar.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"anteater-bar.js","sourceRoot":"","sources":["../../src/components/anteater-bar.tsx"],"names":[],"mappings":"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"}
|
package/lib/scaffold.mjs
CHANGED
|
@@ -758,7 +758,12 @@ jobs:
|
|
|
758
758
|
- If the build fails, read the error output and fix the issues, then build again
|
|
759
759
|
- Keep iterating until the build passes or you've tried 3 times
|
|
760
760
|
- Do NOT commit — just leave the changed files on disk
|
|
761
|
-
|
|
761
|
+
${permissionsMode === "unrestricted" ? `
|
|
762
|
+
INTERNET ACCESS: You can and are encouraged to use the internet for research,
|
|
763
|
+
reference materials, images, assets, documentation, and any other resources
|
|
764
|
+
that would help you complete the user's request. Use tools like WebFetch,
|
|
765
|
+
WebSearch, and curl freely.
|
|
766
|
+
` : ""}
|
|
762
767
|
IMPORTANT: Always verify your changes compile by running the build command.
|
|
763
768
|
anthropic_api_key: \${{ secrets.ANTHROPIC_API_KEY }}
|
|
764
769
|
claude_args: "${permissionsMode === "unrestricted" ? "--max-turns 50" : "--allowedTools Edit,Read,Write,Bash,Glob,Grep --max-turns 50"}"
|
|
@@ -1152,135 +1157,6 @@ function buildRunsDeleteHandlerLines(TS) {
|
|
|
1152
1157
|
function buildRunsDeleteHandler(isTypeScript) {
|
|
1153
1158
|
return buildRunsDeleteHandlerLines(isTypeScript).join("\n");
|
|
1154
1159
|
}
|
|
1155
|
-
|
|
1156
|
-
/**
|
|
1157
|
-
* Generate the AI apply script.
|
|
1158
|
-
*/
|
|
1159
|
-
export function generateApplyScript() {
|
|
1160
|
-
// Read from the existing script in the monorepo — or inline it
|
|
1161
|
-
return `#!/usr/bin/env node
|
|
1162
|
-
|
|
1163
|
-
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
1164
|
-
import { dirname, relative, resolve } from "node:path";
|
|
1165
|
-
import { glob } from "node:fs/promises";
|
|
1166
|
-
import { parseArgs } from "node:util";
|
|
1167
|
-
import { fileURLToPath } from "node:url";
|
|
1168
|
-
|
|
1169
|
-
const { values: args } = parseArgs({
|
|
1170
|
-
options: {
|
|
1171
|
-
prompt: { type: "string" },
|
|
1172
|
-
"allowed-paths": { type: "string" },
|
|
1173
|
-
"blocked-paths": { type: "string", default: "" },
|
|
1174
|
-
},
|
|
1175
|
-
});
|
|
1176
|
-
|
|
1177
|
-
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;
|
|
1178
|
-
if (!ANTHROPIC_API_KEY) { console.error("Missing ANTHROPIC_API_KEY"); process.exit(1); }
|
|
1179
|
-
if (!args.prompt) { console.error("Missing --prompt"); process.exit(1); }
|
|
1180
|
-
|
|
1181
|
-
const allowedGlobs = args["allowed-paths"]?.split(",").map((s) => s.trim()) ?? [];
|
|
1182
|
-
const blockedGlobs = args["blocked-paths"]?.split(",").filter(Boolean).map((s) => s.trim()) ?? [];
|
|
1183
|
-
|
|
1184
|
-
async function collectFiles() {
|
|
1185
|
-
const files = new Set();
|
|
1186
|
-
for (const pattern of allowedGlobs) {
|
|
1187
|
-
for await (const entry of glob(pattern)) {
|
|
1188
|
-
const rel = relative(process.cwd(), resolve(entry)).replace(/\\\\/g, "/");
|
|
1189
|
-
let blocked = false;
|
|
1190
|
-
for (const bp of blockedGlobs) {
|
|
1191
|
-
const prefix = bp.replace(/\\/?\\*\\*?$/, "");
|
|
1192
|
-
if (rel === prefix || rel.startsWith(prefix + "/")) { blocked = true; break; }
|
|
1193
|
-
}
|
|
1194
|
-
if (!blocked && !rel.includes("node_modules")) files.add(rel);
|
|
1195
|
-
}
|
|
1196
|
-
}
|
|
1197
|
-
return [...files].sort();
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1200
|
-
async function readFiles(paths) {
|
|
1201
|
-
const result = {};
|
|
1202
|
-
for (const p of paths) {
|
|
1203
|
-
try { result[p] = await readFile(p, "utf-8"); } catch {}
|
|
1204
|
-
}
|
|
1205
|
-
return result;
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
async function callClaude(prompt, fileContents) {
|
|
1209
|
-
const fileList = Object.entries(fileContents)
|
|
1210
|
-
.map(([path, content]) => \`--- \${path} ---\\n\${content}\`).join("\\n\\n");
|
|
1211
|
-
|
|
1212
|
-
const res = await fetch("https://api.anthropic.com/v1/messages", {
|
|
1213
|
-
method: "POST",
|
|
1214
|
-
headers: {
|
|
1215
|
-
"Content-Type": "application/json",
|
|
1216
|
-
"x-api-key": ANTHROPIC_API_KEY,
|
|
1217
|
-
"anthropic-version": "2023-06-01",
|
|
1218
|
-
},
|
|
1219
|
-
body: JSON.stringify({
|
|
1220
|
-
model: "claude-sonnet-4-20250514",
|
|
1221
|
-
max_tokens: 16384,
|
|
1222
|
-
system: \`You are Anteater, an AI coding agent. You modify web application source files based on user requests.
|
|
1223
|
-
RULES: Make minimal, focused changes. Only modify files that need to change. Preserve existing code style.
|
|
1224
|
-
Never modify environment files, API routes, or configuration.
|
|
1225
|
-
CRITICAL: The "path" in each output object MUST exactly match one of the input file paths. Do NOT shorten, rename, or strip prefixes from paths.
|
|
1226
|
-
OUTPUT FORMAT: Return a JSON array of objects with "path" and "content". Return ONLY valid JSON, no markdown fences.
|
|
1227
|
-
If no changes are needed, return an empty array: []\`,
|
|
1228
|
-
messages: [{ role: "user", content: \`Files:\\n\\n\${fileList}\\n\\nRequest: \${prompt}\` }],
|
|
1229
|
-
}),
|
|
1230
|
-
});
|
|
1231
|
-
|
|
1232
|
-
if (!res.ok) throw new Error(\`Anthropic API error \${res.status}: \${await res.text()}\`);
|
|
1233
|
-
const data = await res.json();
|
|
1234
|
-
if (data.stop_reason === "max_tokens") throw new Error("Response truncated — max_tokens exceeded");
|
|
1235
|
-
return JSON.parse(data.content?.[0]?.text || "[]");
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
export async function main() {
|
|
1239
|
-
console.log(\`Anteater agent: "\${args.prompt}"\`);
|
|
1240
|
-
const paths = await collectFiles();
|
|
1241
|
-
console.log(\`Found \${paths.length} editable files\`);
|
|
1242
|
-
if (!paths.length) { console.log("No files matched."); process.exit(0); }
|
|
1243
|
-
|
|
1244
|
-
const contents = await readFiles(paths);
|
|
1245
|
-
console.log("Calling Claude...");
|
|
1246
|
-
const changes = await callClaude(args.prompt, contents);
|
|
1247
|
-
|
|
1248
|
-
if (!changes?.length) { console.log("No changes needed."); process.exit(0); }
|
|
1249
|
-
|
|
1250
|
-
// Validate returned paths match input files
|
|
1251
|
-
const validPathSet = new Set(Object.keys(contents));
|
|
1252
|
-
const validated = [];
|
|
1253
|
-
for (const change of changes) {
|
|
1254
|
-
if (validPathSet.has(change.path)) {
|
|
1255
|
-
validated.push(change);
|
|
1256
|
-
} else {
|
|
1257
|
-
console.warn(\` Rejected: \${change.path} (not in allowed input files)\`);
|
|
1258
|
-
const basename = change.path.split("/").pop();
|
|
1259
|
-
const match = [...validPathSet].find((p) => p.endsWith("/" + basename));
|
|
1260
|
-
if (match) {
|
|
1261
|
-
console.log(\` Corrected: \${change.path} -> \${match}\`);
|
|
1262
|
-
validated.push({ path: match, content: change.content });
|
|
1263
|
-
}
|
|
1264
|
-
}
|
|
1265
|
-
}
|
|
1266
|
-
|
|
1267
|
-
if (!validated.length) { console.log("No valid changes after path validation."); process.exit(0); }
|
|
1268
|
-
console.log(\`Modifying \${validated.length} file(s)\`);
|
|
1269
|
-
for (const { path, content } of validated) {
|
|
1270
|
-
await mkdir(dirname(path), { recursive: true });
|
|
1271
|
-
await writeFile(path, content, "utf-8");
|
|
1272
|
-
console.log(\` Updated: \${path}\`);
|
|
1273
|
-
}
|
|
1274
|
-
console.log("Done!");
|
|
1275
|
-
}
|
|
1276
|
-
|
|
1277
|
-
const isEntryPoint = process.argv[1] && fileURLToPath(import.meta.url) === resolve(process.argv[1]);
|
|
1278
|
-
if (isEntryPoint) {
|
|
1279
|
-
main().catch((err) => { console.error("Agent failed:", err); process.exit(1); });
|
|
1280
|
-
}
|
|
1281
|
-
`;
|
|
1282
|
-
}
|
|
1283
|
-
|
|
1284
1160
|
/**
|
|
1285
1161
|
* Patch the layout file to include AnteaterBar.
|
|
1286
1162
|
*/
|
package/package.json
CHANGED
|
@@ -200,13 +200,6 @@ export function AnteaterBar({
|
|
|
200
200
|
}
|
|
201
201
|
}, [isExpanded]);
|
|
202
202
|
|
|
203
|
-
// Auto-expand if there are runs on mount (e.g. after refresh)
|
|
204
|
-
useEffect(() => {
|
|
205
|
-
if (runs.length > 0 && !isExpanded) {
|
|
206
|
-
setIsExpanded(true);
|
|
207
|
-
}
|
|
208
|
-
}, [runs.length]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
209
|
-
|
|
210
203
|
const handleSubmit = async (e?: React.FormEvent) => {
|
|
211
204
|
if (e) e.preventDefault();
|
|
212
205
|
const text = prompt.trim();
|
|
@@ -233,10 +226,8 @@ export function AnteaterBar({
|
|
|
233
226
|
handleSubmit();
|
|
234
227
|
return;
|
|
235
228
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
setPrompt("");
|
|
239
|
-
}
|
|
229
|
+
setIsExpanded(false);
|
|
230
|
+
setPrompt("");
|
|
240
231
|
};
|
|
241
232
|
|
|
242
233
|
const hasRuns = runs.length > 0;
|
|
@@ -266,6 +257,7 @@ export function AnteaterBar({
|
|
|
266
257
|
display: "flex",
|
|
267
258
|
flexDirection: "column",
|
|
268
259
|
alignItems: "flex-end",
|
|
260
|
+
pointerEvents: "none",
|
|
269
261
|
}}
|
|
270
262
|
>
|
|
271
263
|
<div style={{ position: "relative" }}>
|
|
@@ -285,6 +277,7 @@ export function AnteaterBar({
|
|
|
285
277
|
overflow: "hidden",
|
|
286
278
|
animation: "anteater-slide-up 0.25s ease-out",
|
|
287
279
|
paddingBottom: `${BUTTON_SIZE + 4}px`,
|
|
280
|
+
pointerEvents: "auto",
|
|
288
281
|
}}
|
|
289
282
|
>
|
|
290
283
|
{runs.map((run, i) => (
|
|
@@ -311,15 +304,21 @@ export function AnteaterBar({
|
|
|
311
304
|
|
|
312
305
|
{/* Input bar + circle button */}
|
|
313
306
|
<div style={{ position: "relative", zIndex: 1 }}>
|
|
307
|
+
<div
|
|
308
|
+
style={{
|
|
309
|
+
overflow: "hidden",
|
|
310
|
+
width: "min(420px, calc(100vw - 100px))",
|
|
311
|
+
marginRight: `${BUTTON_SIZE / 2}px`,
|
|
312
|
+
pointerEvents: isExpanded ? "auto" : "none",
|
|
313
|
+
}}
|
|
314
|
+
>
|
|
314
315
|
<form
|
|
315
316
|
onSubmit={handleSubmit}
|
|
316
317
|
style={{
|
|
317
|
-
overflow: "hidden",
|
|
318
318
|
borderRadius: showPanel ? "0 0 12px 12px" : "12px",
|
|
319
|
-
|
|
319
|
+
transform: isExpanded ? "translateX(0)" : "translateX(100%)",
|
|
320
320
|
opacity: isExpanded ? 1 : 0,
|
|
321
|
-
|
|
322
|
-
transition: "width 0.3s ease, opacity 0.2s ease",
|
|
321
|
+
transition: "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease",
|
|
323
322
|
}}
|
|
324
323
|
>
|
|
325
324
|
<div
|
|
@@ -367,6 +366,7 @@ export function AnteaterBar({
|
|
|
367
366
|
/>
|
|
368
367
|
</div>
|
|
369
368
|
</form>
|
|
369
|
+
</div>
|
|
370
370
|
|
|
371
371
|
{/* Anteater circle button */}
|
|
372
372
|
<button
|
|
@@ -386,6 +386,7 @@ export function AnteaterBar({
|
|
|
386
386
|
display: "flex",
|
|
387
387
|
alignItems: "center",
|
|
388
388
|
justifyContent: "center",
|
|
389
|
+
pointerEvents: "auto",
|
|
389
390
|
boxShadow: canSend
|
|
390
391
|
? "0 4px 24px rgba(255, 255, 255, 0.15), 0 4px 24px rgba(0, 0, 0, 0.4)"
|
|
391
392
|
: "0 4px 24px rgba(0, 0, 0, 0.3)",
|