bonecode 1.3.0 → 1.4.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/README.md +42 -0
- package/compat/opencode_adapter.ts +69 -8
- package/dist/compat/opencode_adapter.js +63 -7
- package/dist/compat/opencode_adapter.js.map +1 -1
- package/dist/src/db_adapter.js +30 -0
- package/dist/src/db_adapter.js.map +1 -1
- package/dist/src/engine/session/build_mode.d.ts +83 -0
- package/dist/src/engine/session/build_mode.js +789 -0
- package/dist/src/engine/session/build_mode.js.map +1 -0
- package/dist/src/engine/session/build_mode_helpers.d.ts +6 -0
- package/dist/src/engine/session/build_mode_helpers.js +61 -0
- package/dist/src/engine/session/build_mode_helpers.js.map +1 -0
- package/dist/src/engine/session/prompt/bonescript.txt +11 -0
- package/dist/src/engine/session/prompt.js +57 -2
- package/dist/src/engine/session/prompt.js.map +1 -1
- package/dist/src/tui.js +146 -9
- package/dist/src/tui.js.map +1 -1
- package/package.json +1 -1
- package/scripts/test_build_fallback.js +221 -0
- package/scripts/test_build_mode.js +301 -0
- package/src/db_adapter.ts +29 -0
- package/src/engine/session/build_mode.ts +895 -0
- package/src/engine/session/build_mode_helpers.ts +72 -0
- package/src/engine/session/prompt/bonescript.txt +11 -0
- package/src/engine/session/prompt.ts +69 -2
- package/src/tui.ts +147 -9
package/README.md
CHANGED
|
@@ -205,6 +205,48 @@ The agent never hand-writes `models/`, `routes/`, `migrations/`, or runs `prisma
|
|
|
205
205
|
|
|
206
206
|
---
|
|
207
207
|
|
|
208
|
+
## Build mode (autonomous orchestration)
|
|
209
|
+
|
|
210
|
+
For project-scoped prompts ("build me", "create a full", "design and implement"), BoneCode automatically enters **build mode** — a state machine that drives small/local models (8-20B) through narrow, focused stages instead of trusting them with one giant context.
|
|
211
|
+
|
|
212
|
+
### How it works
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
216
|
+
│ CLARIFY │ ──▶ │ PLAN │ ──▶ │ EXECUTE │ ──▶ │ VERIFY │
|
|
217
|
+
│ (Q&A) │ │ (todos) │ │ (loop) │ │ (yes/no) │
|
|
218
|
+
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
1. **Clarify** — model asks 1-3 specific questions or proposes a design document. You answer, the design is locked in.
|
|
222
|
+
2. **Plan** — model produces a structured todo list (5-15 concrete file actions).
|
|
223
|
+
3. **Execute** — for each todo, the model gets a single focused prompt and **must call tools**. Prose-only responses are detected and rejected; the system injects a reminder.
|
|
224
|
+
4. **Verify** — for each design requirement, the model gives a yes/no verdict with evidence. Only `done` when all requirements are satisfied.
|
|
225
|
+
|
|
226
|
+
### Triggering build mode
|
|
227
|
+
|
|
228
|
+
Auto-detected for prompts like:
|
|
229
|
+
- "build me a 2D market simulation"
|
|
230
|
+
- "create a full e-commerce backend"
|
|
231
|
+
- "design and implement a chat app"
|
|
232
|
+
|
|
233
|
+
Or trigger it explicitly:
|
|
234
|
+
```
|
|
235
|
+
/build a 2D market simulation with 1000 shops over 100 years
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Why this works for small models
|
|
239
|
+
|
|
240
|
+
- **Narrow prompts at each stage** — the model isn't asked to plan a project, write code, AND verify in one breath
|
|
241
|
+
- **Structured outputs (JSON)** — parsed deterministically, never trusted as prose
|
|
242
|
+
- **Forced tool calls in execute stage** — describing what would be done isn't enough
|
|
243
|
+
- **Persistent state** — each todo's success is recorded in the DB, resumable across restarts
|
|
244
|
+
- **Re-planning on failure** — unsatisfied requirements automatically generate fix-up tasks
|
|
245
|
+
|
|
246
|
+
State is stored in the `sessions.build_state` column. You can inspect progress via the TUI or by querying the database directly.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
208
250
|
## Architecture
|
|
209
251
|
|
|
210
252
|
See [ARCHITECTURE.md](./ARCHITECTURE.md) for the full design.
|
|
@@ -234,6 +234,9 @@ compatRouter.post("/v2/session/:id/prompt", requireAuth, async (req: Request, re
|
|
|
234
234
|
// - tool.requested — tool call started (with tool_name + tool_input)
|
|
235
235
|
// - tool.completed — tool call finished (with duration_ms)
|
|
236
236
|
// - tool.failed — tool call errored
|
|
237
|
+
// Build mode also broadcasts to "session_events" channel:
|
|
238
|
+
// - session.warning, build.stage, build.questions, build.design, build.plan,
|
|
239
|
+
// build.todo.start/done/retry/failed, build.verify.item, build.replan, build.done
|
|
237
240
|
const channelHandler = (msg: any) => {
|
|
238
241
|
if (msg.session_id !== session_id) return;
|
|
239
242
|
if (msg.type === "part.delta") {
|
|
@@ -246,14 +249,19 @@ compatRouter.post("/v2/session/:id/prompt", requireAuth, async (req: Request, re
|
|
|
246
249
|
} else if (
|
|
247
250
|
msg.type === "tool.requested" ||
|
|
248
251
|
msg.type === "tool.completed" ||
|
|
249
|
-
msg.type === "tool.failed"
|
|
252
|
+
msg.type === "tool.failed" ||
|
|
253
|
+
msg.type === "session.warning" ||
|
|
254
|
+
msg.type === "session.retry" ||
|
|
255
|
+
msg.type === "session.compacted" ||
|
|
256
|
+
msg.type?.startsWith?.("build.")
|
|
250
257
|
) {
|
|
251
|
-
// Forward
|
|
252
|
-
// so the TUI can display "← Edit src/foo.ts" etc.
|
|
258
|
+
// Forward verbatim — these carry their own typed payload.
|
|
253
259
|
sendSSE(res, msg.type, msg);
|
|
254
260
|
}
|
|
255
261
|
};
|
|
256
262
|
subscribeToChannel("part_stream", channelHandler);
|
|
263
|
+
subscribeToChannel("session_events", channelHandler);
|
|
264
|
+
subscribeToChannel("part_stream", channelHandler);
|
|
257
265
|
|
|
258
266
|
// Subscribe to eventBus for tool calls and agent state changes
|
|
259
267
|
const unsubscribeEvents = subscribeToSessionEvents(session_id, (event) => {
|
|
@@ -262,6 +270,7 @@ compatRouter.post("/v2/session/:id/prompt", requireAuth, async (req: Request, re
|
|
|
262
270
|
|
|
263
271
|
const cleanup = () => {
|
|
264
272
|
unsubscribeFromChannel("part_stream", channelHandler);
|
|
273
|
+
unsubscribeFromChannel("session_events", channelHandler);
|
|
265
274
|
unsubscribeEvents();
|
|
266
275
|
};
|
|
267
276
|
|
|
@@ -623,15 +632,53 @@ async function startAgentTurn(
|
|
|
623
632
|
modelID?: string,
|
|
624
633
|
providerID?: string
|
|
625
634
|
): Promise<void> {
|
|
626
|
-
|
|
627
|
-
const
|
|
635
|
+
const model_id = modelID || process.env.DEFAULT_MODEL || "qwen3.6-35b-a3b-uncensored-heretic-apex";
|
|
636
|
+
const provider_id = providerID || process.env.DEFAULT_PROVIDER || "openai_compatible";
|
|
637
|
+
|
|
638
|
+
// Pull the most recent user prompt to decide between build mode vs. regular agent
|
|
639
|
+
const promptRow = await pool.query(
|
|
640
|
+
`SELECT p.data->>'text' AS text
|
|
641
|
+
FROM parts p JOIN messages m ON m.id = p.message_id
|
|
642
|
+
WHERE m.id = $1 AND p.part_type = 'text'
|
|
643
|
+
ORDER BY p.order_index ASC LIMIT 1`,
|
|
644
|
+
[message_id]
|
|
645
|
+
);
|
|
646
|
+
const userText = promptRow.rows[0]?.text || "";
|
|
647
|
+
|
|
648
|
+
// Check if this session is already in build mode (resuming) or if the prompt
|
|
649
|
+
// is a build trigger (new build).
|
|
650
|
+
const buildState = await loadExistingBuildState(session_id);
|
|
651
|
+
const { isBuildPrompt, runBuildMode } = await import("../src/engine/session/build_mode");
|
|
652
|
+
const enterBuildMode =
|
|
653
|
+
buildState !== null ||
|
|
654
|
+
process.env.BUILD_MODE === "true" ||
|
|
655
|
+
/^\/build\b/i.test(userText.trim()) ||
|
|
656
|
+
isBuildPrompt(userText);
|
|
657
|
+
|
|
658
|
+
if (enterBuildMode) {
|
|
659
|
+
// Strip leading /build command if present
|
|
660
|
+
const cleanedPrompt = userText.replace(/^\s*\/build\s*/i, "");
|
|
661
|
+
const result = await runBuildMode({
|
|
662
|
+
session_id,
|
|
663
|
+
message_id,
|
|
664
|
+
prompt: cleanedPrompt || userText,
|
|
665
|
+
model_id,
|
|
666
|
+
provider_id,
|
|
667
|
+
});
|
|
668
|
+
if (result.stage === "failed") {
|
|
669
|
+
throw new Error(result.error || "Build mode failed");
|
|
670
|
+
}
|
|
671
|
+
return;
|
|
672
|
+
}
|
|
628
673
|
|
|
674
|
+
// Default path: regular agent loop
|
|
675
|
+
const { runAgentLoop } = await import("../src/engine/session/prompt");
|
|
629
676
|
const result = await runAgentLoop({
|
|
630
677
|
session_id,
|
|
631
678
|
message_id,
|
|
632
|
-
content: "",
|
|
633
|
-
model_id
|
|
634
|
-
provider_id
|
|
679
|
+
content: "",
|
|
680
|
+
model_id,
|
|
681
|
+
provider_id,
|
|
635
682
|
});
|
|
636
683
|
|
|
637
684
|
if (!result.ok) {
|
|
@@ -639,6 +686,20 @@ async function startAgentTurn(
|
|
|
639
686
|
}
|
|
640
687
|
}
|
|
641
688
|
|
|
689
|
+
// Check whether a session has an in-progress build state
|
|
690
|
+
async function loadExistingBuildState(session_id: string): Promise<unknown | null> {
|
|
691
|
+
try {
|
|
692
|
+
const r = await pool.query(`SELECT build_state FROM sessions WHERE id = $1`, [session_id]);
|
|
693
|
+
const raw = r.rows[0]?.build_state;
|
|
694
|
+
if (!raw) return null;
|
|
695
|
+
const state = typeof raw === "string" ? JSON.parse(raw) : raw;
|
|
696
|
+
if (!state || state.stage === "done" || state.stage === "failed") return null;
|
|
697
|
+
return state;
|
|
698
|
+
} catch {
|
|
699
|
+
return null;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
|
|
642
703
|
// ─── Session Event Subscription ───────────────────────────────────────────────
|
|
643
704
|
|
|
644
705
|
function subscribeToSessionEvents(
|
|
@@ -226,6 +226,9 @@ exports.compatRouter.post("/v2/session/:id/prompt", auth_1.requireAuth, async (r
|
|
|
226
226
|
// - tool.requested — tool call started (with tool_name + tool_input)
|
|
227
227
|
// - tool.completed — tool call finished (with duration_ms)
|
|
228
228
|
// - tool.failed — tool call errored
|
|
229
|
+
// Build mode also broadcasts to "session_events" channel:
|
|
230
|
+
// - session.warning, build.stage, build.questions, build.design, build.plan,
|
|
231
|
+
// build.todo.start/done/retry/failed, build.verify.item, build.replan, build.done
|
|
229
232
|
const channelHandler = (msg) => {
|
|
230
233
|
if (msg.session_id !== session_id)
|
|
231
234
|
return;
|
|
@@ -239,19 +242,25 @@ exports.compatRouter.post("/v2/session/:id/prompt", auth_1.requireAuth, async (r
|
|
|
239
242
|
}
|
|
240
243
|
else if (msg.type === "tool.requested" ||
|
|
241
244
|
msg.type === "tool.completed" ||
|
|
242
|
-
msg.type === "tool.failed"
|
|
243
|
-
|
|
244
|
-
|
|
245
|
+
msg.type === "tool.failed" ||
|
|
246
|
+
msg.type === "session.warning" ||
|
|
247
|
+
msg.type === "session.retry" ||
|
|
248
|
+
msg.type === "session.compacted" ||
|
|
249
|
+
msg.type?.startsWith?.("build.")) {
|
|
250
|
+
// Forward verbatim — these carry their own typed payload.
|
|
245
251
|
sendSSE(res, msg.type, msg);
|
|
246
252
|
}
|
|
247
253
|
};
|
|
248
254
|
(0, websocket_1.subscribeToChannel)("part_stream", channelHandler);
|
|
255
|
+
(0, websocket_1.subscribeToChannel)("session_events", channelHandler);
|
|
256
|
+
(0, websocket_1.subscribeToChannel)("part_stream", channelHandler);
|
|
249
257
|
// Subscribe to eventBus for tool calls and agent state changes
|
|
250
258
|
const unsubscribeEvents = subscribeToSessionEvents(session_id, (event) => {
|
|
251
259
|
sendSSE(res, event.type, event.data);
|
|
252
260
|
});
|
|
253
261
|
const cleanup = () => {
|
|
254
262
|
(0, websocket_1.unsubscribeFromChannel)("part_stream", channelHandler);
|
|
263
|
+
(0, websocket_1.unsubscribeFromChannel)("session_events", channelHandler);
|
|
255
264
|
unsubscribeEvents();
|
|
256
265
|
};
|
|
257
266
|
req.on("close", cleanup);
|
|
@@ -573,19 +582,66 @@ function toOpenCodeMessage(row) {
|
|
|
573
582
|
}
|
|
574
583
|
// ─── Agent Turn Orchestration ─────────────────────────────────────────────────
|
|
575
584
|
async function startAgentTurn(session_id, message_id, modelID, providerID) {
|
|
576
|
-
|
|
585
|
+
const model_id = modelID || process.env.DEFAULT_MODEL || "qwen3.6-35b-a3b-uncensored-heretic-apex";
|
|
586
|
+
const provider_id = providerID || process.env.DEFAULT_PROVIDER || "openai_compatible";
|
|
587
|
+
// Pull the most recent user prompt to decide between build mode vs. regular agent
|
|
588
|
+
const promptRow = await db_1.pool.query(`SELECT p.data->>'text' AS text
|
|
589
|
+
FROM parts p JOIN messages m ON m.id = p.message_id
|
|
590
|
+
WHERE m.id = $1 AND p.part_type = 'text'
|
|
591
|
+
ORDER BY p.order_index ASC LIMIT 1`, [message_id]);
|
|
592
|
+
const userText = promptRow.rows[0]?.text || "";
|
|
593
|
+
// Check if this session is already in build mode (resuming) or if the prompt
|
|
594
|
+
// is a build trigger (new build).
|
|
595
|
+
const buildState = await loadExistingBuildState(session_id);
|
|
596
|
+
const { isBuildPrompt, runBuildMode } = await Promise.resolve().then(() => __importStar(require("../src/engine/session/build_mode")));
|
|
597
|
+
const enterBuildMode = buildState !== null ||
|
|
598
|
+
process.env.BUILD_MODE === "true" ||
|
|
599
|
+
/^\/build\b/i.test(userText.trim()) ||
|
|
600
|
+
isBuildPrompt(userText);
|
|
601
|
+
if (enterBuildMode) {
|
|
602
|
+
// Strip leading /build command if present
|
|
603
|
+
const cleanedPrompt = userText.replace(/^\s*\/build\s*/i, "");
|
|
604
|
+
const result = await runBuildMode({
|
|
605
|
+
session_id,
|
|
606
|
+
message_id,
|
|
607
|
+
prompt: cleanedPrompt || userText,
|
|
608
|
+
model_id,
|
|
609
|
+
provider_id,
|
|
610
|
+
});
|
|
611
|
+
if (result.stage === "failed") {
|
|
612
|
+
throw new Error(result.error || "Build mode failed");
|
|
613
|
+
}
|
|
614
|
+
return;
|
|
615
|
+
}
|
|
616
|
+
// Default path: regular agent loop
|
|
577
617
|
const { runAgentLoop } = await Promise.resolve().then(() => __importStar(require("../src/engine/session/prompt")));
|
|
578
618
|
const result = await runAgentLoop({
|
|
579
619
|
session_id,
|
|
580
620
|
message_id,
|
|
581
|
-
content: "",
|
|
582
|
-
model_id
|
|
583
|
-
provider_id
|
|
621
|
+
content: "",
|
|
622
|
+
model_id,
|
|
623
|
+
provider_id,
|
|
584
624
|
});
|
|
585
625
|
if (!result.ok) {
|
|
586
626
|
throw new Error(result.error || "Agent loop failed");
|
|
587
627
|
}
|
|
588
628
|
}
|
|
629
|
+
// Check whether a session has an in-progress build state
|
|
630
|
+
async function loadExistingBuildState(session_id) {
|
|
631
|
+
try {
|
|
632
|
+
const r = await db_1.pool.query(`SELECT build_state FROM sessions WHERE id = $1`, [session_id]);
|
|
633
|
+
const raw = r.rows[0]?.build_state;
|
|
634
|
+
if (!raw)
|
|
635
|
+
return null;
|
|
636
|
+
const state = typeof raw === "string" ? JSON.parse(raw) : raw;
|
|
637
|
+
if (!state || state.stage === "done" || state.stage === "failed")
|
|
638
|
+
return null;
|
|
639
|
+
return state;
|
|
640
|
+
}
|
|
641
|
+
catch {
|
|
642
|
+
return null;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
589
645
|
// ─── Session Event Subscription ───────────────────────────────────────────────
|
|
590
646
|
function subscribeToSessionEvents(session_id, callback) {
|
|
591
647
|
const handler = async (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode_adapter.js","sourceRoot":"","sources":["../../compat/opencode_adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opencode_adapter.js","sourceRoot":"","sources":["../../compat/opencode_adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/db_adapter.js
CHANGED
|
@@ -168,6 +168,7 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|
|
168
168
|
summary_deletions INTEGER,
|
|
169
169
|
share_url TEXT,
|
|
170
170
|
workspace_id TEXT,
|
|
171
|
+
build_state TEXT,
|
|
171
172
|
created_at TEXT DEFAULT (datetime('now')),
|
|
172
173
|
updated_at TEXT DEFAULT (datetime('now'))
|
|
173
174
|
);
|
|
@@ -300,6 +301,7 @@ async function initDatabase(silent = false) {
|
|
|
300
301
|
process.stderr.write(`[DB] Pool error: ${err.message}\n`);
|
|
301
302
|
}
|
|
302
303
|
});
|
|
304
|
+
await ensurePostgresColumns(pgPool);
|
|
303
305
|
return { pool: pgPool, mode: "postgres", pgAvailable: true };
|
|
304
306
|
}
|
|
305
307
|
log(`\x1b[33m[BoneCode] Postgres not reachable at ${dbUrl.replace(/:[^:@]+@/, ":***@")} — trying Docker...\x1b[0m`);
|
|
@@ -320,6 +322,7 @@ async function initDatabase(silent = false) {
|
|
|
320
322
|
}
|
|
321
323
|
});
|
|
322
324
|
log(`\x1b[32m[BoneCode] PostgreSQL ready (Docker) — full RAG enabled\x1b[0m`);
|
|
325
|
+
await ensurePostgresColumns(pgPool);
|
|
323
326
|
return { pool: pgPool, mode: "postgres", pgAvailable: true };
|
|
324
327
|
}
|
|
325
328
|
}
|
|
@@ -334,8 +337,35 @@ async function initDatabase(silent = false) {
|
|
|
334
337
|
const Database = require("better-sqlite3");
|
|
335
338
|
const db = new Database(dbPath);
|
|
336
339
|
db.exec(SQLITE_SCHEMA);
|
|
340
|
+
// Idempotent migrations for older databases — add new columns if missing.
|
|
341
|
+
// SQLite has no IF NOT EXISTS for columns, so we swallow the duplicate-column error.
|
|
342
|
+
const safeAlter = (sql) => { try {
|
|
343
|
+
db.exec(sql);
|
|
344
|
+
}
|
|
345
|
+
catch { /* column exists */ } };
|
|
346
|
+
safeAlter(`ALTER TABLE sessions ADD COLUMN build_state TEXT`);
|
|
337
347
|
db.close();
|
|
338
348
|
return { pool: sqlitePool, mode: "sqlite", pgAvailable: false };
|
|
339
349
|
}
|
|
340
350
|
exports.initDatabase = initDatabase;
|
|
351
|
+
// ─── Postgres column migrations ───────────────────────────────────────────────
|
|
352
|
+
/**
|
|
353
|
+
* Idempotently add columns the BoneScript-generated schema doesn't include.
|
|
354
|
+
* Each ALTER is run with IF NOT EXISTS / pg_class probing so it's safe to run
|
|
355
|
+
* on every server startup.
|
|
356
|
+
*/
|
|
357
|
+
async function ensurePostgresColumns(pool) {
|
|
358
|
+
const migrations = [
|
|
359
|
+
{ table: "sessions", column: "build_state", type: "JSONB" },
|
|
360
|
+
];
|
|
361
|
+
for (const m of migrations) {
|
|
362
|
+
try {
|
|
363
|
+
await pool.query(`ALTER TABLE ${m.table} ADD COLUMN IF NOT EXISTS ${m.column} ${m.type}`);
|
|
364
|
+
}
|
|
365
|
+
catch {
|
|
366
|
+
// Either the table doesn't exist yet (first run) or the user has
|
|
367
|
+
// restricted permissions. Build mode falls back to permission_ruleset.build.
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
341
371
|
//# sourceMappingURL=db_adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db_adapter.js","sourceRoot":"","sources":["../../src/db_adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"db_adapter.js","sourceRoot":"","sources":["../../src/db_adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autonomous Build Mode — small-model-friendly project orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Why: small/local models (8-20B) struggle with open-ended "build me X" prompts.
|
|
5
|
+
* They produce prose, hallucinate edits, and forget what they were doing across
|
|
6
|
+
* turns. This module replaces the single-turn agent loop with a deterministic
|
|
7
|
+
* state machine that drives the model through narrow, focused stages.
|
|
8
|
+
*
|
|
9
|
+
* State flow:
|
|
10
|
+
*
|
|
11
|
+
* ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
12
|
+
* │ CLARIFY │ ──▶ │ PLAN │ ──▶ │ EXECUTE │ ──▶ │ VERIFY │
|
|
13
|
+
* │ (Q&A) │ │ (todos) │ │ (loop) │ │ (yes/no) │
|
|
14
|
+
* └──────────┘ └──────────┘ └─────┬────┘ └─────┬────┘
|
|
15
|
+
* │ │
|
|
16
|
+
* ▼ ▼
|
|
17
|
+
* ┌────────┐ ┌────────┐
|
|
18
|
+
* │ DONE │ ◀──── │ all ok │
|
|
19
|
+
* └────────┘ └────────┘
|
|
20
|
+
* │
|
|
21
|
+
* │ failures
|
|
22
|
+
* ▼
|
|
23
|
+
* back to PLAN
|
|
24
|
+
*
|
|
25
|
+
* Each stage uses a tightly scoped prompt with a structured-output requirement
|
|
26
|
+
* (JSON we parse deterministically). The agent's natural "describe what I'd do"
|
|
27
|
+
* tendency is replaced by short, mechanical answers.
|
|
28
|
+
*
|
|
29
|
+
* State is persisted to the sessions table (in build_state JSON column) so
|
|
30
|
+
* the loop can resume across restarts and is visible to the user via the UI.
|
|
31
|
+
*/
|
|
32
|
+
export type BuildStage = "clarify" | "plan" | "execute" | "verify" | "done" | "failed";
|
|
33
|
+
export interface DesignDoc {
|
|
34
|
+
goal: string;
|
|
35
|
+
requirements: string[];
|
|
36
|
+
constraints: string[];
|
|
37
|
+
artifacts: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface BuildTodo {
|
|
40
|
+
id: string;
|
|
41
|
+
title: string;
|
|
42
|
+
description: string;
|
|
43
|
+
status: "pending" | "in_progress" | "completed" | "failed";
|
|
44
|
+
failure_count: number;
|
|
45
|
+
evidence?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface BuildState {
|
|
48
|
+
stage: BuildStage;
|
|
49
|
+
original_prompt: string;
|
|
50
|
+
design: DesignDoc | null;
|
|
51
|
+
todos: BuildTodo[];
|
|
52
|
+
iteration: number;
|
|
53
|
+
max_iterations: number;
|
|
54
|
+
pending_clarification?: string;
|
|
55
|
+
verification_results?: VerificationResult[];
|
|
56
|
+
error?: string;
|
|
57
|
+
/** Set after probe: whether the model can emit OpenAI-format tool calls. */
|
|
58
|
+
tool_capable?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface VerificationResult {
|
|
61
|
+
requirement: string;
|
|
62
|
+
satisfied: boolean;
|
|
63
|
+
evidence: string;
|
|
64
|
+
}
|
|
65
|
+
export interface BuildModeInput {
|
|
66
|
+
session_id: string;
|
|
67
|
+
message_id: string;
|
|
68
|
+
prompt: string;
|
|
69
|
+
model_id: string;
|
|
70
|
+
provider_id: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Called when the user has answered the clarification questions.
|
|
74
|
+
* Combines the original prompt + answers into a finalized design.
|
|
75
|
+
*/
|
|
76
|
+
export declare function continueAfterClarification(session_id: string, user_answer: string, model_id: string, provider_id: string): Promise<BuildState | null>;
|
|
77
|
+
export declare function runBuildMode(input: BuildModeInput): Promise<BuildState>;
|
|
78
|
+
/**
|
|
79
|
+
* Heuristic: should this prompt go through build mode rather than the
|
|
80
|
+
* regular agent loop? Build-mode prompts are project-scoped — "build me",
|
|
81
|
+
* "create a", "design and implement", "make a full" — vs ad-hoc questions.
|
|
82
|
+
*/
|
|
83
|
+
export declare function isBuildPrompt(prompt: string): boolean;
|