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 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 tool activity events directly — these carry tool_name and tool_input
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
- // Use the full BoneCode agent loop: multi-turn, compaction, retry, RAG, all OpenCode tools
627
- const { runAgentLoop } = await import("../src/engine/session/prompt");
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: "", // content already stored as a message part before this is called
633
- model_id: modelID || process.env.DEFAULT_MODEL || "qwen3.6-35b-a3b-uncensored-heretic-apex",
634
- provider_id: providerID || process.env.DEFAULT_PROVIDER || "openai_compatible",
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
- // Forward tool activity events directly — these carry tool_name and tool_input
244
- // so the TUI can display "← Edit src/foo.ts" etc.
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
- // Use the full BoneCode agent loop: multi-turn, compaction, retry, RAG, all OpenCode tools
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: "", // content already stored as a message part before this is called
582
- model_id: modelID || process.env.DEFAULT_MODEL || "qwen3.6-35b-a3b-uncensored-heretic-apex",
583
- provider_id: providerID || process.env.DEFAULT_PROVIDER || "openai_compatible",
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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAoD;AACpD,sDAAqD;AACrD,8DAA6D;AAC7D,0DAA8D;AAC9D,oEAAkG;AAClG,+BAAkC;AAErB,QAAA,YAAY,GAAG,IAAA,gBAAM,GAAE,CAAC;AAErC,iFAAiF;AAEjF,SAAS,OAAO,CAAC,GAAa,EAAE,KAAa,EAAE,IAAa;IAC1D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,iFAAiF;AAEjF,0CAA0C;AAC1C,oBAAY,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACrE,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEhD,4BAA4B;QAC5B,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,MAAM,SAAI,CAAC,KAAK,CACpC,qDAAqD,EACrD,CAAC,GAAG,CAAC,CACN,CAAC;YACF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,IAAA,SAAI,GAAE,CAAC;gBACpB,MAAM,SAAI,CAAC,KAAK,CACd,6GAA6G,EAC7G,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAC3F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,SAAI,GAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,IAAI,aAAa,CAAC;QAE5C,MAAM,SAAI,CAAC,KAAK,CACd;sDACgD,EAChD,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAC7G,CAAC;QAEF,oDAAoD;QACpD,MAAM,iBAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACvC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY;YACjD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,EAAE,eAAe,CAAC,CAAC;QAEpB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,oBAAY,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACpE,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACvG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEjE,IAAI,GAAG,GAAG,iDAAiD,CAAC;QAC5D,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,IAAI,SAAS,EAAE,CAAC;YAAC,GAAG,IAAI,sBAAsB,GAAG,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAChF,IAAI,SAAS,EAAE,CAAC;YAAC,GAAG,IAAI,qBAAqB,GAAG,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAC/E,IAAI,MAAM,EAAE,CAAC;YAAC,GAAG,IAAI,qBAAqB,GAAG,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;QAAC,CAAC;QAChF,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAAC,GAAG,IAAI,wBAAwB,CAAC;QAAC,CAAC;QAE1D,uDAAuD;QACvD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC7B,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;oBACzB,GAAG,IAAI,uBAAuB,GAAG,EAAE,sBAAsB,GAAG,EAAE,cAAc,GAAG,EAAE,IAAI,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChD,GAAG,IAAI,CAAC,CAAC,CAAC,4BAA4B;gBACxC,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,uBAAuB,GAAG,EAAE,sBAAsB,GAAG,EAAE,cAAc,GAAG,EAAE,IAAI,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChD,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,GAAG,IAAI,wBAAwB,QAAQ,QAAQ,QAAQ,WAAW,GAAG,EAAE,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC;QAE3D,MAAM,MAAM,GAAG,MAAM,SAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,KAAK,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEjE,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC9B,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;aAC7D,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,oCAAoC;AACpC,oBAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC1G,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,0CAA0C;AAC1C,oBAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,SAAI,CAAC,KAAK,CAAC,yEAAyE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7G,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,oBAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAChF,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,yEAAyE;QACzE,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,SAAI,CAAC,KAAK,CACd;0FACkF,EAClF,CAAC,UAAU,CAAC,CACb,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,SAAI,CAAC,KAAK,CACd;2DACmD,EACnD,CAAC,UAAU,CAAC,CACb,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC,CAAC,+DAA+D,CAAC,CAAC;QAE3E,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,oBAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,kBAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7F,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IAEjC,aAAa;IACb,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;IAEnB,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAElD,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAA,SAAI,GAAE,CAAC;QAC1B,MAAM,SAAI,CAAC,KAAK,CACd,qEAAqE,EACrE,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB,CAAC;QAEF,oCAAoC;QACpC,MAAM,OAAO,GAAG,IAAA,SAAI,GAAE,CAAC;QACvB,MAAM,SAAI,CAAC,KAAK,CACd,iHAAiH,EACjH,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACrE,CAAC;QAEF,iCAAiC;QACjC,MAAM,SAAI,CAAC,KAAK,CACd,wEAAwE,EACxE,CAAC,UAAU,CAAC,CACb,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAEpH,kFAAkF;QAClF,mEAAmE;QACnE,oCAAoC;QACpC,wEAAwE;QACxE,8DAA8D;QAC9D,0CAA0C;QAC1C,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;YAClC,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO;YAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE;oBACzB,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,SAAS,EAAE,GAAG,CAAC,UAAU;iBAC1B,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,GAAG,CAAC,IAAI,KAAK,gBAAgB;gBAC7B,GAAG,CAAC,IAAI,KAAK,gBAAgB;gBAC7B,GAAG,CAAC,IAAI,KAAK,aAAa,EAC1B,CAAC;gBACD,+EAA+E;gBAC/E,kDAAkD;gBAClD,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QACF,IAAA,8BAAkB,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAElD,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACvE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAA,kCAAsB,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACtD,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzB,iEAAiE;QACjE,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC;aACxD,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7F,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7E,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7E,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,uEAAuE;AACvE,oBAAY,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAChF,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEjE,IAAI,GAAG,GAAG;;;+BAGiB,CAAC;QAC5B,MAAM,MAAM,GAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC7B,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;oBACzB,GAAG,IAAI,yBAAyB,GAAG,EAAE,wBAAwB,GAAG,EAAE,gBAAgB,GAAG,EAAE,IAAI,CAAC;oBAC5F,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChD,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,yBAAyB,GAAG,EAAE,wBAAwB,GAAG,EAAE,gBAAgB,GAAG,EAAE,IAAI,CAAC;oBAC5F,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChD,GAAG,IAAI,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,GAAG,IAAI,wCAAwC,QAAQ,UAAU,QAAQ,WAAW,GAAG,EAAE,EAAE,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,SAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,KAAK,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEjE,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC9B,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;aAC7D,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mEAAmE;AACnE,oBAAY,CAAC,IAAI,CAAC,gCAAgC,EAAE,kBAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACrG,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAClE,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAE/G,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,SAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC9H,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,uBAAuB;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,SAAI,CAAC,KAAK,CACd;sDACgD,EAChD,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAC5G,CAAC;QAEF,mBAAmB;QACnB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,SAAI,CAAC,KAAK,CACd,qEAAqE,EACrE,CAAC,KAAK,EAAE,OAAO,CAAC,CACjB,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,SAAI,CAAC,KAAK,CACd,iHAAiH,EACjH,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAC3D,CAAC;QAEF,2BAA2B;QAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,8BAA8B,GAAC,CAAC;QACtE,YAAY,CAAC;YACX,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,mBAAmB;YACrE,WAAW,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW;YACtE,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,mDAAmD;AACnD,oBAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;IAEnB,iCAAiC;IACjC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAU,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa;QACtE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB;QAC1E,oBAAoB;KACrB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,iBAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,iBAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,8CAA8C;AAC9C,oBAAY,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAChE,GAAG,CAAC,IAAI,CAAC;QACP;YACE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW;YAClC,MAAM,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;YACpE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,gCAAgC;SACnE;QACD;YACE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;YAC5B,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC;YACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,sCAAsC;SACtE;QACD;YACE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe;YACnC,MAAM,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;YAClE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,oCAAoC;YACnE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,0CAA0C;SACjE;QACD;YACE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;YACxB,MAAM,EAAE,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,cAAc,CAAC;YACjG,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,+BAA+B;YAC5D,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,0CAA0C;SACjE;QACD;YACE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;YAChC,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,gCAAgC,CAAC;YACzE,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,4BAA4B;YAC7D,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,yCAAyC;SAChE;QACD;YACE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;YAChC,MAAM,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;YAC9C,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,wCAAwC;YACzE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,qKAAqK;SAC7L;QACD;YACE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;YACpC,MAAM,EAAE;gBACN,qCAAqC;gBACrC,2BAA2B;gBAC3B,wCAAwC;gBACxC,4BAA4B;gBAC5B,oCAAoC;aACrC;YACD,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,4BAA4B;YAC/D,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,wFAAwF;SAC/G;QACD;YACE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB;YACpC,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,qBAAqB;YACxC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iCAAiC;SACxD;QACD;YACE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,2CAA2C;YAC1E,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,sBAAsB;YACrD,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iDAAiD;SACxE;QACD;YACE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB;YACxC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACzD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;YACvB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,yBAAyB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,mBAAmB,sBAAsB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW,iBAAiB;SACtK;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kCAAkC;AAClC,oBAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAC7D,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE;YACN,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE;YAChG,EAAE,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE;YACpG,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE;YAC3E,EAAE,EAAE,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,OAAO,EAAE;SACjG;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,oBAAY,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAC9D,GAAG,CAAC,IAAI,CAAC;QACP,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,mBAAmB;QACvD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW;KACtD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oBAAY,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7D,oDAAoD;IACpD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,mDAAmD;AACnD,oBAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,SAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,oBAAY,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC/E,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC7E,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3E,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,oBAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,SAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,KAAK,UAAU,cAAc,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAAG,MAAM,SAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAQ;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QACzD,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3B,SAAS,EAAE,GAAG,CAAC,iBAAiB;YAChC,SAAS,EAAE,GAAG,CAAC,iBAAiB;YAChC,KAAK,EAAE,GAAG,CAAC,aAAa;SACzB,CAAC,CAAC,CAAC,SAAS;QACb,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YAC3C,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YAC3C,QAAQ,EAAE,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SACpF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAQ;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,SAAS;YACjB,GAAG,CAAC,CAAC,IAAI;SACV,CAAC,CAAC;QACH,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;QACrD,MAAM,EAAE;YACN,KAAK,EAAE,GAAG,CAAC,YAAY;YACvB,MAAM,EAAE,GAAG,CAAC,aAAa;SAC1B;QACD,IAAI,EAAE,GAAG,CAAC,QAAQ;QAClB,KAAK,EAAE,GAAG,CAAC,QAAQ;QACnB,QAAQ,EAAE,GAAG,CAAC,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,cAAc,CAC3B,UAAkB,EAClB,UAAkB,EAClB,OAAgB,EAChB,UAAmB;IAEnB,2FAA2F;IAC3F,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,8BAA8B,GAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,UAAU;QACV,UAAU;QACV,OAAO,EAAE,EAAE,EAAE,iEAAiE;QAC9E,QAAQ,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,yCAAyC;QAC3F,WAAW,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,mBAAmB;KAC/E,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,QAA0D;IAE1D,MAAM,OAAO,GAAG,KAAK,EAAE,KAAU,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7C,yEAAyE;YACzE,MAAM,OAAO,GAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACvC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;gBAClD,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC5C,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAChD,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACvC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;gBAClD,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC5C,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAClD,CAAC;YACD,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,aAAa;QACb,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;KACnB,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,iBAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,GAAG,EAAE;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,iBAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,aAAqB;IACzC,MAAM,GAAG,GAA2B;QAClC,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,iBAAiB;QAC/B,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,iBAAiB;QAC9B,iBAAiB,EAAE,gBAAgB;QACnC,iBAAiB,EAAE,gBAAgB;QACnC,gBAAgB,EAAE,mBAAmB;KACtC,CAAC;IACF,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"opencode_adapter.js","sourceRoot":"","sources":["../../compat/opencode_adapter.ts"],"names":[],"mappings":"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"}
@@ -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":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAIzB,IAAI,KAAK,GAAkB,IAAI,CAAC;AAEhC,SAAgB,SAAS;IACvB,OAAO,KAAK,IAAI,QAAQ,CAAC;AAC3B,CAAC;AAFD,8BAEC;AAED,iFAAiF;AACjF,0DAA0D;AAE1D,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,yDAAyD;IACzD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,2CAA2C;IAC3C,SAAS,YAAY,CAAC,GAAW;QAC/B,OAAO,GAAG;YACR,0BAA0B;aACzB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;YACvB,6CAA6C;YAC7C,0BAA0B;aACzB,OAAO,CAAC,aAAa,EAAE,iBAAiB,CAAC;YAC1C,iEAAiE;aAChE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;YAC/B,2CAA2C;aAC1C,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACnC,2DAA2D;aAC1D,OAAO,CAAC,uBAAuB,EAAE,oNAAoN,CAAC;YACvP,yCAAyC;aACxC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC/B,kEAAkE;aACjE,OAAO,CAAC,0CAA0C,EAAE,MAAM,CAAC;YAC5D,mFAAmF;aAClF,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC;aACvC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC;aACtC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,KAAK,EAAE,GAAW,EAAE,MAAc,EAA8C,EAAE;YACvF,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAC/C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;gBAEF,sDAAsD;gBACtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAEvD,0CAA0C;gBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAE9D,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE3D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;oBACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;oBAErC,kEAAkE;oBAClE,IAAI,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACzC,yCAAyC;wBACzC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;wBAChE,IAAI,UAAU,EAAE,CAAC;4BACf,IAAI,CAAC;gCACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gCACnG,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;4BAC5D,CAAC;4BAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;oBACvC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC;oBACrC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EACnC,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,+CAA+C;YAC/C,OAAO;gBACL,KAAK,EAAE,KAAK,EAAE,GAAW,EAAE,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;gBACrE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aAClB,CAAC;QACJ,CAAC;QAED,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,EAAE,EAAE,CAAC,MAAc,EAAE,QAAa,EAAE,EAAE,GAAE,CAAC;KAC1C,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AACjF,0EAA0E;AAC1E,+BAA+B;AAE/B,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGrB,CAAC;AAEF,iFAAiF;AAEjF,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,sBAAsB;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,+BAA+B;QAC/B,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAElD,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CACrB,8DAA8D,EAC9D,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,CAAC,kBAAkB;YACtD,gCAAgC;YAChC,QAAQ,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;YACtC,QAAQ,CACN,4JAA4J,EAC5J,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;YACF,gCAAgC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,IAAI,MAAM,aAAa,CAAC,wDAAwD,CAAC,EAAE,CAAC;oBAClF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,uBAAuB;IACvC,CAAC;AACH,CAAC;AAED,iFAAiF;AAE1E,KAAK,UAAU,YAAY,CAAC,MAAM,GAAG,KAAK;IAK/C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,iCAAiC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,GAAG,UAAU,CAAC;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAChC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC/D,CAAC;QACD,GAAG,CAAC,gDAAgD,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACtH,CAAC;IAED,8BAA8B;IAC9B,MAAM,aAAa,GAAG,MAAM,sBAAsB,EAAE,CAAC;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,2DAA2D;QAC3D,MAAM,SAAS,GAAG,wDAAwD,CAAC;QAC3E,IAAI,MAAM,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;YACrC,KAAK,GAAG,UAAU,CAAC;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAChC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,wEAAwE,CAAC,CAAC;YAC9E,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/C,KAAK,GAAG,QAAQ,CAAC;IAEjB,GAAG,CAAC,oCAAoC,MAAM,UAAU,CAAC,CAAC;IAC1D,GAAG,CAAC,2FAA2F,CAAC,CAAC;IAEjG,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,aAAa;IACb,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvB,0EAA0E;IAC1E,qFAAqF;IACrF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC9D,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAnED,oCAmEC;AAGD,iFAAiF;AAEjF;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,IAAS;IAC5C,MAAM,UAAU,GAA2D;QACzE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;KAC5D,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,6EAA6E;QAC/E,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -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;