@agent-native/core 0.85.2 → 0.85.4

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.
Files changed (37) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +12 -0
  3. package/corpus/core/package.json +1 -1
  4. package/corpus/core/src/agent/production-agent.ts +3 -0
  5. package/corpus/core/src/agent/run-manager.ts +41 -13
  6. package/corpus/core/src/client/AssistantChat.tsx +13 -1
  7. package/corpus/core/src/client/sse-event-processor.ts +12 -12
  8. package/corpus/core/src/server/agent-chat-plugin.ts +5 -0
  9. package/corpus/templates/design/AGENTS.md +6 -4
  10. package/corpus/templates/design/actions/present-design-variants.ts +10 -5
  11. package/corpus/templates/design/app/hooks/use-navigation-state.ts +19 -1
  12. package/corpus/templates/design/app/pages/DesignEditor.tsx +2 -4
  13. package/corpus/templates/design/changelog/2026-07-02-design-chat-now-starts-new-requests-from-the-design-list-wit.md +6 -0
  14. package/corpus/templates/design/changelog/2026-07-03-design-chat-can-now-wait-longer-for-large-background-scr.md +5 -0
  15. package/corpus/templates/design/changelog/2026-07-03-variant-picks-build-the-selected-app.md +5 -0
  16. package/corpus/templates/design/server/plugins/agent-chat.ts +4 -0
  17. package/dist/agent/production-agent.d.ts +2 -0
  18. package/dist/agent/production-agent.d.ts.map +1 -1
  19. package/dist/agent/production-agent.js +1 -0
  20. package/dist/agent/production-agent.js.map +1 -1
  21. package/dist/agent/run-manager.d.ts +14 -2
  22. package/dist/agent/run-manager.d.ts.map +1 -1
  23. package/dist/agent/run-manager.js +38 -14
  24. package/dist/agent/run-manager.js.map +1 -1
  25. package/dist/client/AssistantChat.d.ts.map +1 -1
  26. package/dist/client/AssistantChat.js +11 -1
  27. package/dist/client/AssistantChat.js.map +1 -1
  28. package/dist/client/sse-event-processor.d.ts +12 -12
  29. package/dist/client/sse-event-processor.d.ts.map +1 -1
  30. package/dist/client/sse-event-processor.js +12 -12
  31. package/dist/client/sse-event-processor.js.map +1 -1
  32. package/dist/notifications/routes.d.ts +3 -3
  33. package/dist/server/agent-chat-plugin.d.ts +2 -0
  34. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  35. package/dist/server/agent-chat-plugin.js +3 -0
  36. package/dist/server/agent-chat-plugin.js.map +1 -1
  37. package/package.json +1 -1
package/corpus/README.md CHANGED
@@ -28,4 +28,4 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
28
28
  ## Generated Counts
29
29
 
30
30
  - core files: 2046
31
- - template files: 5036
31
+ - template files: 5039
@@ -1,5 +1,17 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.85.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 00c6f16: Keep chat restore and active-run polling on the durable background timeout budget so healthy long-running background turns do not look stale to the browser.
8
+
9
+ ## 0.85.3
10
+
11
+ ### Patch Changes
12
+
13
+ - c213eb8: Allow durable background agent runs to wait longer between real progress events before checkpointing, so large hosted tool generations can use the background-function budget instead of retrying every few minutes.
14
+
3
15
  ## 0.85.2
4
16
 
5
17
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.85.2",
3
+ "version": "0.85.4",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -879,6 +879,8 @@ export interface ProductionAgentOptions {
879
879
  * timeout. When reached, the client receives an internal auto-continuation
880
880
  * signal instead of a user-facing warning. */
881
881
  runSoftTimeoutMs?: number;
882
+ /** Optional no-progress watchdog override for this app's runs. */
883
+ runNoProgressTimeoutMs?: number;
882
884
  /**
883
885
  * Opt this app into durable Netlify background-function agent-chat runs. This
884
886
  * is a runtime opt-in layered on top of the hosted-runtime + A2A_SECRET gates;
@@ -6608,6 +6610,7 @@ export function createProductionAgentHandler(
6608
6610
  // worker." Foreground runs never set this, so their 40s clamp is
6609
6611
  // unchanged.
6610
6612
  backgroundFunction: runsInBackgroundFunction,
6613
+ noProgressTimeoutMs: options.runNoProgressTimeoutMs,
6611
6614
  // Fold continuation runs of one logical turn onto a single durable
6612
6615
  // assistant message. Falls back to the runId (turn == run) when the
6613
6616
  // client doesn't supply a turnId.
@@ -105,6 +105,17 @@ export const BACKGROUND_SOFT_TIMEOUT_CEILING_MS = 13 * 60_000; // 780_000
105
105
  export const DEFAULT_BACKGROUND_RUN_SOFT_TIMEOUT_MS =
106
106
  BACKGROUND_SOFT_TIMEOUT_CEILING_MS;
107
107
 
108
+ /**
109
+ * Default no-progress window for a run executing inside a proven durable
110
+ * background function. Keep this below the 13-minute soft timeout so a truly
111
+ * wedged background turn can still checkpoint, persist, and continue before
112
+ * the function budget expires, but far above the foreground 150s window so
113
+ * large Design/Plan/Assets generations are not chopped up while the model is
114
+ * legitimately planning a big tool payload.
115
+ */
116
+ export const DEFAULT_BACKGROUND_NO_PROGRESS_TIMEOUT_MS =
117
+ BACKGROUND_SOFT_TIMEOUT_CEILING_MS - 60_000;
118
+
108
119
  /**
109
120
  * AUTHORITATIVE no-progress backstop for a run, enforced by the run manager
110
121
  * itself (timer-driven, independent of any layer below).
@@ -123,8 +134,11 @@ export const DEFAULT_BACKGROUND_RUN_SOFT_TIMEOUT_MS =
123
134
  * like the soft timeout, so the normal continuation machinery recovers it.
124
135
  *
125
136
  * Sits above the 90s in-loop watchdogs (they get first chance to recover with
126
- * better context) and far below the 13-min background budget. Only armed when
127
- * a soft-timeout regime is active (hosted runs); local dev stays unbounded.
137
+ * better context). Foreground hosted chunks keep this short so the user sees
138
+ * recovery promptly; proven durable-background chunks use
139
+ * `DEFAULT_BACKGROUND_NO_PROGRESS_TIMEOUT_MS` so large outputs can use the
140
+ * background budget. Only armed when a soft-timeout regime is active (hosted
141
+ * runs); local dev stays unbounded.
128
142
  */
129
143
  export const RUN_NO_PROGRESS_HARD_TIMEOUT_MS = 150_000;
130
144
 
@@ -659,7 +673,11 @@ export function startRun(
659
673
  // first, so in practice this guards the long background chunks.
660
674
  const noProgressTimeoutMs =
661
675
  options?.noProgressTimeoutMs ??
662
- (softTimeoutMs > 0 ? RUN_NO_PROGRESS_HARD_TIMEOUT_MS : 0);
676
+ (softTimeoutMs > 0
677
+ ? options?.backgroundFunction === true
678
+ ? DEFAULT_BACKGROUND_NO_PROGRESS_TIMEOUT_MS
679
+ : RUN_NO_PROGRESS_HARD_TIMEOUT_MS
680
+ : 0);
663
681
  const softTimeoutTimer =
664
682
  softTimeoutMs > 0
665
683
  ? setTimeout(() => {
@@ -1344,20 +1362,32 @@ export async function getActiveRunForThreadAsync(threadId: string): Promise<{
1344
1362
  // the full conversation from completed runs via SSE.
1345
1363
  const memRun = getActiveRunForThread(threadId);
1346
1364
  if (memRun && (memRun.status === "running" || memRun.events.length > 0)) {
1365
+ const sqlSnapshot = await fetchRunThreadSnapshot(memRun.runId, threadId);
1366
+ const status = sqlSnapshot?.status ?? memRun.status;
1367
+ const heartbeatAt =
1368
+ status === "running"
1369
+ ? Date.now()
1370
+ : (sqlSnapshot?.heartbeatAt ?? memRun.startedAt);
1347
1371
  return {
1348
1372
  runId: memRun.runId,
1349
1373
  threadId: memRun.threadId,
1350
1374
  turnId: memRun.turnId,
1351
- status: memRun.status,
1375
+ status,
1352
1376
  // In-memory means this isolate is the producer. By definition, the
1353
- // heartbeat is fresh as of "now" the client can trust this.
1354
- heartbeatAt: Date.now(),
1377
+ // heartbeat is fresh as of "now" while the run is still running. Once
1378
+ // SQL has terminal truth, prefer that timestamp so a stale in-memory
1379
+ // buffer cannot keep the browser believing a finished background run is
1380
+ // still alive.
1381
+ heartbeatAt,
1355
1382
  // For an in-memory run we don't have a separate "last event emit"
1356
1383
  // timestamp tracked in JS — the SQL bump is throttled per-second.
1357
1384
  // Read it back from SQL on demand. For the common case the SQL row
1358
1385
  // is well under 1s old; if it isn't, the stuck-detector will pick
1359
1386
  // it up on the next poll cycle.
1360
- lastProgressAt: await fetchLastProgressAt(memRun.runId),
1387
+ lastProgressAt: sqlSnapshot?.lastProgressAt ?? null,
1388
+ dispatchMode: sqlSnapshot?.dispatchMode ?? null,
1389
+ terminalReason: sqlSnapshot?.terminalReason ?? null,
1390
+ diagStage: sqlSnapshot?.diagStage ?? null,
1361
1391
  };
1362
1392
  }
1363
1393
  // Fall back to SQL — also surface recently terminated runs so the client
@@ -1436,16 +1466,14 @@ export async function getActiveRunForThreadAsync(threadId: string): Promise<{
1436
1466
  return null;
1437
1467
  }
1438
1468
 
1439
- async function fetchLastProgressAt(runId: string): Promise<number | null> {
1469
+ async function fetchRunThreadSnapshot(runId: string, threadId: string) {
1440
1470
  try {
1441
- const run = await getRunById(runId);
1442
- if (!run) return null;
1443
1471
  // `getRunById` returns a narrow projection today; ask for the row via
1444
- // the thread lookup which carries last_progress_at.
1445
- const byThread = await getRunByThread(run.threadId, {
1472
+ // the thread lookup which carries dispatch/terminal/progress fields.
1473
+ const byThread = await getRunByThread(threadId, {
1446
1474
  includeTerminal: true,
1447
1475
  });
1448
- if (byThread && byThread.id === runId) return byThread.lastProgressAt;
1476
+ if (byThread && byThread.id === runId) return byThread;
1449
1477
  return null;
1450
1478
  } catch {
1451
1479
  return null;
@@ -239,6 +239,7 @@ function createUserMessageRunConfig(
239
239
  const PENDING_SELECTION_KEY = "pending-selection-context";
240
240
  const ACTIVE_RUN_CLEAR_TIMEOUT_MS = 5_000;
241
241
  const ACTIVE_RUN_STUCK_THRESHOLD_MS = 90_000;
242
+ const BACKGROUND_ACTIVE_RUN_STUCK_THRESHOLD_MS = 13 * 60_000;
242
243
  const ACTIVE_RUN_POLL_INTERVAL_MS = 150;
243
244
  const AUTO_RESUME_STATUS_TIMEOUT_MS = 30_000;
244
245
  // How long a single activity (model call, tool prep, long tool) must stay
@@ -271,15 +272,24 @@ function isReplayableTerminalRun(runInfo: ActiveRunLookup): boolean {
271
272
  );
272
273
  }
273
274
 
275
+ function activeRunStuckThresholdMs(runInfo: ActiveRunLookup): number {
276
+ const dispatchMode =
277
+ typeof runInfo.dispatchMode === "string" ? runInfo.dispatchMode : "";
278
+ return dispatchMode.startsWith("background")
279
+ ? BACKGROUND_ACTIVE_RUN_STUCK_THRESHOLD_MS
280
+ : ACTIVE_RUN_STUCK_THRESHOLD_MS;
281
+ }
282
+
274
283
  function activeRunLooksStale(runInfo: ActiveRunLookup): boolean {
275
284
  const lastProgressAt =
276
285
  typeof runInfo.lastProgressAt === "number" ? runInfo.lastProgressAt : null;
277
286
  const nowMs =
278
287
  typeof runInfo.serverNow === "number" ? runInfo.serverNow : Date.now();
288
+ const thresholdMs = activeRunStuckThresholdMs(runInfo);
279
289
  return (
280
290
  runInfo.status === "running" &&
281
291
  lastProgressAt != null &&
282
- nowMs - lastProgressAt > ACTIVE_RUN_STUCK_THRESHOLD_MS
292
+ nowMs - lastProgressAt > thresholdMs
283
293
  );
284
294
  }
285
295
 
@@ -1894,6 +1904,7 @@ const AssistantChatInner = forwardRef<
1894
1904
  reconnectAbortRef.current = abortCtrl;
1895
1905
  let reconnectTerminalReason: AgentAutoContinueSignal["reason"] | null =
1896
1906
  null;
1907
+ const reconnectStuckThresholdMs = activeRunStuckThresholdMs(runInfo);
1897
1908
 
1898
1909
  const watchdog = setInterval(async () => {
1899
1910
  try {
@@ -1937,6 +1948,7 @@ const AssistantChatInner = forwardRef<
1937
1948
  !reconnectProgressTimedOut({
1938
1949
  lastProgressAt: lastReconnectProgressAt,
1939
1950
  now: Date.now(),
1951
+ thresholdMs: reconnectStuckThresholdMs,
1940
1952
  })
1941
1953
  ) {
1942
1954
  return;
@@ -151,19 +151,19 @@ export const SSE_ACTION_PREPARATION_STALL_TIMEOUT_MS = 90_000;
151
151
  /**
152
152
  * Widened client watchdog windows for durable background runs. The SERVER is
153
153
  * the recovery brain for these runs: its run-manager no-progress backstop
154
- * (150s, `RUN_NO_PROGRESS_HARD_TIMEOUT_MS`) emits `auto_continue` over the
155
- * same stream the client is already reading, and its unclaimed-run sweep reaps
156
- * dead workers into loud terminal errors. The client watchdogs therefore sit
157
- * ABOVE the server's 150s backstop so a healthy background run never trips
158
- * them — the server's own recovery event arrives first over the wire. When one
159
- * does fire, the thrown signal only means "reattach the read" (the adapter's
160
- * background follow loop re-polls /runs/active); it never escalates to a
161
- * client-declared error or a synthetic continuation POST. Progress ACCOUNTING
162
- * (what counts as a meaningful event) is unchanged — only the client-initiated
163
- * recovery timing is relaxed.
154
+ * emits `auto_continue` over the same stream the client is already reading,
155
+ * and its unclaimed-run sweep reaps dead workers into loud terminal errors.
156
+ * The client watchdogs therefore sit ABOVE the server's durable-background
157
+ * backstop so a healthy background run never trips them — the server's own
158
+ * recovery event arrives first over the wire. When one does fire, the thrown
159
+ * signal only means "reattach the read" (the adapter's background follow loop
160
+ * re-polls /runs/active); it never escalates to a client-declared error or a
161
+ * synthetic continuation POST. Progress ACCOUNTING (what counts as a
162
+ * meaningful event) is unchanged — only the client-initiated recovery timing
163
+ * is relaxed.
164
164
  */
165
- export const SSE_DURABLE_NO_PROGRESS_TIMEOUT_MS = 180_000;
166
- export const SSE_DURABLE_ACTION_PREPARATION_STALL_TIMEOUT_MS = 180_000;
165
+ export const SSE_DURABLE_NO_PROGRESS_TIMEOUT_MS = 13 * 60_000;
166
+ export const SSE_DURABLE_ACTION_PREPARATION_STALL_TIMEOUT_MS = 13 * 60_000;
167
167
 
168
168
  export function sseNoProgressTimeoutMs(options?: SSEStreamOptions): number {
169
169
  return options?.durableBackgroundRun === true
@@ -2581,6 +2581,8 @@ export interface AgentChatPluginOptions {
2581
2581
  * timeout. When reached, long runs continue through the hidden continuation
2582
2582
  * path instead of surfacing a timeout warning. */
2583
2583
  runSoftTimeoutMs?: number;
2584
+ /** Optional per-app run-manager no-progress watchdog in milliseconds. */
2585
+ runNoProgressTimeoutMs?: number;
2584
2586
  /**
2585
2587
  * Opt this app into Netlify durable background-function agent-chat runs. This
2586
2588
  * gives hosted agent turns the 15-minute async-function budget when the app's
@@ -5872,6 +5874,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
5872
5874
  appId: options?.appId,
5873
5875
  apiKey: options?.apiKey,
5874
5876
  runSoftTimeoutMs: options?.runSoftTimeoutMs,
5877
+ runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
5875
5878
  durableBackgroundRuns: options?.durableBackgroundRuns,
5876
5879
  finalResponseGuard: options?.finalResponseGuard,
5877
5880
  prepareRequest: async (details) => {
@@ -5963,6 +5966,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
5963
5966
  appId: options?.appId,
5964
5967
  apiKey: options?.apiKey,
5965
5968
  runSoftTimeoutMs: options?.runSoftTimeoutMs,
5969
+ runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
5966
5970
  durableBackgroundRuns: options?.durableBackgroundRuns,
5967
5971
  finalResponseGuard: options?.finalResponseGuard,
5968
5972
  prepareRequest: options?.prepareRequest,
@@ -6094,6 +6098,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
6094
6098
  appId: options?.appId,
6095
6099
  apiKey: options?.apiKey,
6096
6100
  runSoftTimeoutMs: options?.runSoftTimeoutMs,
6101
+ runNoProgressTimeoutMs: options?.runNoProgressTimeoutMs,
6097
6102
  durableBackgroundRuns: options?.durableBackgroundRuns,
6098
6103
  finalResponseGuard: options?.finalResponseGuard,
6099
6104
  prepareRequest: options?.prepareRequest,
@@ -243,10 +243,12 @@ patterns live in `.agents/skills/`.
243
243
  wait for the user to pick one in chat, delete each other generated variant
244
244
  screen with `delete-file` at most once, call `get-design-snapshot` exactly
245
245
  once with the selected screen's `fileId`, then call `edit-design` exactly once
246
- on that same `fileId` for follow-up refinement. Use `mode: "replace-file"`
247
- when expanding the representative placeholder into the full chosen direction.
248
- Do not repeat delete/snapshot cycles, and do not call `generate-design` after
249
- a variant pick.
246
+ on that same `fileId` for follow-up refinement. The kept variant screen is a
247
+ representative direction, not the final deliverable: use `mode:
248
+ "replace-file"` to replace it with the actual requested app/product UI in the
249
+ chosen visual style. Do not leave a direction board, variant brief, summary
250
+ card, or prose description as the final screen. Do not repeat delete/snapshot
251
+ cycles, and do not call `generate-design` after a variant pick.
250
252
  - If inline chat choice buttons are unavailable, the user can tell you the
251
253
  preferred screen name. Do not show a separate variant picker or ask them to
252
254
  paste a copyable handoff summary.
@@ -42,13 +42,18 @@ const FALLBACK_INSTRUCTIONS =
42
42
  "a screen by name if the inline buttons are not available; after they pick, " +
43
43
  "delete each other variant screen at most once, call get-design-snapshot with fileId for " +
44
44
  "the kept screen once, then call edit-design on that same fileId in a bounded pass. " +
45
- 'Use mode "replace-file" when expanding the representative placeholder. ' +
45
+ 'Use mode "replace-file" to replace the representative direction screen with ' +
46
+ "the actual requested product UI; do not leave a direction board, summary card, " +
47
+ "or variant brief as the final result. " +
46
48
  "Do not call generate-design after a variant pick.";
47
49
 
48
50
  const VARIANT_PICK_SUBMIT_MESSAGE =
49
51
  "Use this design direction. Keep the selected screen, clean up each other " +
50
52
  "variant screen at most once, read only the kept screen, then update that " +
51
- "same screen in one bounded pass. If a cleanup action reports a screen was " +
53
+ "same screen in one bounded pass into the full requested app/product UI. " +
54
+ "The selected screen is only a representative direction; the final saved " +
55
+ "screen must not be a direction board, variant brief, or summary card. " +
56
+ "If a cleanup action reports a screen was " +
52
57
  "already missing, continue. Use the exact file ids and tool instructions in " +
53
58
  "the selected answer below. Do not repeat cleanup/read cycles, do not create " +
54
59
  "a new index.html, and stop after the first successful screen update.";
@@ -580,7 +585,7 @@ export default defineAction({
580
585
  await writeAppStateForCurrentTab("guided-questions", {
581
586
  title: prompt ?? "Pick a direction",
582
587
  description:
583
- "All options are on the board. Choose one to keep; I will delete the others, read only the kept screen, and edit that same file in a bounded pass.",
588
+ "All options are on the board. Choose one to keep; I will delete the others, read only the kept screen, and turn that direction into the final requested screen.",
584
589
  submitLabel: "Use selected direction",
585
590
  submitMessage: VARIANT_PICK_SUBMIT_MESSAGE,
586
591
  skipLabel: "Show another set",
@@ -608,7 +613,7 @@ export default defineAction({
608
613
  value:
609
614
  `Keep "${screen.label}" (${screen.filename}, file id ${screen.id}) ` +
610
615
  `from variant set ${variantSetId}. Delete each other variant screen at most once: ${otherScreens}. If delete-file says a screen is already missing, continue. ` +
611
- `Then call get-design-snapshot exactly once with designId ${designId} and fileId ${screen.id} (filename ${screen.filename}), then call edit-design with fileId ${screen.id} on that same kept file in a bounded single-file pass. Use mode "replace-file" when replacing the representative placeholder with the full chosen direction, or search/replace for smaller refinements. Do not call generate-design after this variant pick, do not repeat delete/snapshot cycles, do not create index.html, and do not resend a huge payload. Stop after the first successful edit-design save.`,
616
+ `Then call get-design-snapshot exactly once with designId ${designId} and fileId ${screen.id} (filename ${screen.filename}), then call edit-design with fileId ${screen.id} on that same kept file in a bounded single-file pass. Use mode "replace-file" to replace the representative direction screen with the full requested app/product UI in the chosen visual style. The final saved screen must be the actual usable UI requested by the user, not a direction board, variant brief, summary card, or description of the direction. Do not call generate-design after this variant pick, do not repeat delete/snapshot cycles, do not create index.html, and do not resend a huge payload. Stop after the first successful edit-design save.`,
612
617
  };
613
618
  }),
614
619
  },
@@ -626,7 +631,7 @@ export default defineAction({
626
631
  embed: true,
627
632
  fallbackInstructions: FALLBACK_INSTRUCTIONS,
628
633
  nextRequiredAction:
629
- 'Wait for the user to pick a screen in chat. Then delete each unchosen variant screen with delete-file at most once, call get-design-snapshot exactly once with fileId for the chosen screen, and call edit-design with that same fileId in a bounded pass. Use mode "replace-file" when expanding the placeholder into the full chosen direction. Do not repeat delete/snapshot cycles. Do not call generate-design after a variant pick. Stop after the first successful edit-design save.',
634
+ 'Wait for the user to pick a screen in chat. Then delete each unchosen variant screen with delete-file at most once, call get-design-snapshot exactly once with fileId for the chosen screen, and call edit-design with that same fileId in a bounded pass. Use mode "replace-file" to replace the representative direction screen with the full requested app/product UI in the chosen visual style. Do not leave a direction board, variant brief, or summary card as the final result. Do not repeat delete/snapshot cycles. Do not call generate-design after a variant pick. Stop after the first successful edit-design save.',
630
635
  };
631
636
  },
632
637
  link: ({ result }) => {
@@ -3,7 +3,8 @@ import {
3
3
  getBrowserTabId,
4
4
  setClientAppState,
5
5
  } from "@agent-native/core/client";
6
- import { useParams } from "react-router";
6
+ import { useEffect } from "react";
7
+ import { useLocation, useParams } from "react-router";
7
8
 
8
9
  export interface NavigationState {
9
10
  view: string;
@@ -86,6 +87,14 @@ export function designEditorCommandKeysForTab(browserTabId?: string): string[] {
86
87
  return [designEditorCommandKey(browserTabId)];
87
88
  }
88
89
 
90
+ export function designSelectionStateKeysForTab(
91
+ browserTabId?: string,
92
+ ): string[] {
93
+ return browserTabId
94
+ ? [`design-selection:${browserTabId}`, "design-selection"]
95
+ : ["design-selection"];
96
+ }
97
+
89
98
  function normalizeEditorView(
90
99
  value: unknown,
91
100
  ): "single" | "overview" | undefined {
@@ -191,8 +200,17 @@ export function editorCommandFromNavigate(
191
200
 
192
201
  export function useNavigationState(enabled = true) {
193
202
  const params = useParams();
203
+ const location = useLocation();
194
204
  const browserTabId = getBrowserTabId();
195
205
 
206
+ useEffect(() => {
207
+ if (!enabled) return;
208
+ if (location.pathname.startsWith("/design/")) return;
209
+ for (const key of designSelectionStateKeysForTab(browserTabId)) {
210
+ setClientAppState(key, null).catch(() => {});
211
+ }
212
+ }, [browserTabId, enabled, location.pathname]);
213
+
196
214
  useAgentRouteState<NavigationState>({
197
215
  browserTabId,
198
216
  getNavigationState: ({ pathname, search }) => {
@@ -264,6 +264,7 @@ import { useAgentGenerating } from "@/hooks/use-agent-generating";
264
264
  import { useDesignSystems } from "@/hooks/use-design-systems";
265
265
  import {
266
266
  designEditorCommandKey,
267
+ designSelectionStateKeysForTab,
267
268
  type DesignEditorCommand,
268
269
  } from "@/hooks/use-navigation-state";
269
270
  import { useQuestionFlow } from "@/hooks/use-question-flow";
@@ -297,10 +298,7 @@ const TAB_ID = generateTabId();
297
298
  // overwrite this tab's selection context. The global key is mirrored as a
298
299
  // fallback for CLI/external agents that do not send a browser tab id.
299
300
  function designSelectionStateKeys(): string[] {
300
- const tabId = getBrowserTabId();
301
- return tabId
302
- ? [`design-selection:${tabId}`, "design-selection"]
303
- : ["design-selection"];
301
+ return designSelectionStateKeysForTab(getBrowserTabId());
304
302
  }
305
303
  // Stable symbol used as the Yjs transaction origin for all local user edits.
306
304
  // The UndoManager tracks only this origin so remote peers' and the agent's
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-07-02
4
+ ---
5
+
6
+ Design chat now starts new requests from the design list without carrying over a previously selected screen.
@@ -0,0 +1,5 @@
1
+ ---
2
+ type: fixed
3
+ ---
4
+
5
+ Design chat can now wait longer for large background screen updates instead of retrying the same step too early.
@@ -0,0 +1,5 @@
1
+ ---
2
+ type: fixed
3
+ ---
4
+
5
+ Variant picks now more reliably expand the selected direction into the full requested screen instead of leaving a direction summary behind.
@@ -8,6 +8,7 @@ import actionsRegistry from "../../.generated/actions-registry.js";
8
8
  import "../register-secrets.js";
9
9
 
10
10
  const DESIGN_BACKGROUND_RUN_SOFT_TIMEOUT_MS = 13 * 60_000;
11
+ const DESIGN_BACKGROUND_RUN_NO_PROGRESS_TIMEOUT_MS = 12 * 60_000;
11
12
 
12
13
  const INITIAL_TOOL_NAMES = [
13
14
  "view-screen",
@@ -44,9 +45,12 @@ export default createAgentChatPlugin({
44
45
  codeExecution: { production: "sandboxed" },
45
46
  durableBackgroundRuns: true,
46
47
  runSoftTimeoutMs: DESIGN_BACKGROUND_RUN_SOFT_TIMEOUT_MS,
48
+ runNoProgressTimeoutMs: DESIGN_BACKGROUND_RUN_NO_PROGRESS_TIMEOUT_MS,
47
49
  resolveOrgId: async (event) => (await getOrgContext(event)).orgId,
48
50
  systemPrompt: `You are an AI prototyping assistant. You create and edit designs, files, design systems, variants, exports, sharing, and connected repository context through actions and shared application state.
49
51
 
52
+ When the user asks for a new design and the current navigation view is list, settings, design-systems, or otherwise has no designId, create a new design first. Do not reuse, delete screens from, or edit a previous design unless the user explicitly names that design or the current navigation state is an editor/present view with that designId.
53
+
50
54
  When the user asks you to refine an existing design, call view-screen if the open design is unclear, then read the live current file with get-design-snapshot before editing. For small localized changes, call edit-design with exact search/replace edits. For broad copy-only changes such as translating all visible text, call edit-design in replace-file mode with the complete updated file content from the snapshot so the HTML structure, scripts, styles, and tweaks are preserved without dozens of fragile search blocks. Do not claim the design is updated until the mutating action succeeds.
51
55
 
52
56
  When the user picks one direction from a set of presented variants, delete each unchosen variant screen at most once, then call get-design-snapshot exactly once for the kept screen's fileId and call edit-design on that same fileId. Use edit-design replace-file when expanding the placeholder into the full chosen direction. Do not call generate-design after a variant pick unless the user explicitly asks to create a separate new screen.
@@ -252,6 +252,8 @@ export interface ProductionAgentOptions {
252
252
  * timeout. When reached, the client receives an internal auto-continuation
253
253
  * signal instead of a user-facing warning. */
254
254
  runSoftTimeoutMs?: number;
255
+ /** Optional no-progress watchdog override for this app's runs. */
256
+ runNoProgressTimeoutMs?: number;
255
257
  /**
256
258
  * Opt this app into durable Netlify background-function agent-chat runs. This
257
259
  * is a runtime opt-in layered on top of the hosted-runtime + A2A_SECRET gates;
@@ -1 +1 @@
1
- {"version":3,"file":"production-agent.d.ts","sourceRoot":"","sources":["../../src/agent/production-agent.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,IAAI,CAAC;AAkCzD,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AA8BvC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMhE,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,EACN,QAAQ,EAET,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAKL,SAAS,EACT,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAElB,mBAAmB,EAIpB,MAAM,gBAAgB,CAAC;AAexB,OAAO,KAAK,EACV,UAAU,EAEV,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AACxD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,MAAM,MAAM,yBAAyB,GACjC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,iBAAiB,GAAG,sBAAsB,GAAG,QAAQ,CAAC;CAC/D,CAAC;AAmBN;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gCAAgC,CAAC,IAAI,EAAE;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,wEAAwE;QACxE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,GAAG,IAAI,CAAC,CAAC;IACV,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA6FrC;AA4CD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C7B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B;AAED,sEAAsE;AACtE,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;AAED;;;;GAIG;AACH,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,CACH,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,KAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,IAAI,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACvD;;0EAEsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;qDACiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;sDAGkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;qFACiF;IACjF,WAAW,CAAC,EAAE,OAAO,cAAc,EAAE,uBAAuB,CAAC;IAC7D;4EACwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;0BAEsB;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;oDAEgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;gDAK4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;2EAEuE;IACvE,IAAI,CAAC,EAAE,OAAO,cAAc,EAAE,iBAAiB,CAAC;IAChD;;qCAEiC;IACjC,MAAM,CAAC,EAAE,OAAO,cAAc,EAAE,kBAAkB,CAAC;IACnD,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,iBAAiB,EAAE,kBAAkB,CAAC;IACtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EACV,OAAO,GACP,CAAC,CACC,IAAI,EAAE,GAAG,EACT,GAAG,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,KAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,eAAO,MAAM,uBAAuB,ivBAQ2H,CAAC;AAwFhK,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,GACjB,OAAO,CAkBT;AA0ED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAkC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,0FAA0F;IAC1F,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EACH,WAAW,GACX,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACtD,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,eAAe,CAAC,EAAE,aAAa,SAAS,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;IAC5D,uEAAuE;IACvE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACvE,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACrC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QACzB,KAAK,EAAE,GAAG,CAAC;QACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,UAAU,EAAE,kBAAkB,EAAE,CAAC;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,IAAI,EAAE,kBAAkB,CAAC;KAC1B,KACG,IAAI,GACJ;QACE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACrC,GACD,OAAO,CAAC,IAAI,GAAG;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACrC,CAAC,CAAC;IACP;;;mDAG+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4FAA4F;IAC5F,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACrC,QAAQ,EAAE,MAAM,KACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,EAC1D,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AA6FD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoB3D;AAED,6CAA6C;AAC7C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwDtD;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,SAAyB,GAChC,aAAa,EAAE,GAAG,IAAI,CA0BxB;AAiGD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC,GAAG,iBAAiB,EAAE,CAiFtB;AAyBD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,0BAA0B,EAAE,GAAG,SAAS,GAChD,aAAa,EAAE,GAAG,IAAI,CA2GxB;AAoBD,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8CxB;AAqED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,MAAM,iCAAiC,GACzC,MAAM,GACN;IACE,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,kCAAkC,KAEzC,iCAAiC,GACjC,IAAI,GACJ,SAAS,GACT,OAAO,CAAC,iCAAiC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAYlE,eAAO,MAAM,8BAA8B,mOACuL,CAAC;AAEnO,MAAM,MAAM,2BAA2B,GACnC,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,aAAa,CAAC;AAElB,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,2BAA2B,EACnC,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAO,QA4BjD;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoC5D;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,OAAO,GACX,iBAAiB,GAAG,qBAAqB,CAa3C;AAqQD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACnC,UAAU,EAAE,CAkBd;AAkSD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAsBT;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,cAAc,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBnE;AA6FD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,GAAG,OAAO,CAAC,cAAc,CAAC,CAsmD1B;AAoDD,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,MAAM,GAAG,SAAS,CAgHpB;AAgCD,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,SAAS,GACb,2BAA2B,CAkB7B;AAED,wBAAsB,6CAA6C,CACjE,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAwEnD;AASD;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,GAAG,EAAE,SAAS,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAOV;AAED,wBAAsB,uCAAuC,CAAC,IAAI,EAAE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,IAAI,CAAC,EAAE;QACL,wBAAwB,CAAC,EAAE,OAAO,wBAAwB,CAAC;QAC3D,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;KACpD,CAAC;CACH,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnB;AAED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE;QACL,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;QACjD,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;QAC7B,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;QAC/C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;KAChD,CAAC;CACH,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CnE;AA+BD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CA87DhB;AAED,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,EACN,QAAQ,EACR,cAAc,GACf,CAAC"}
1
+ {"version":3,"file":"production-agent.d.ts","sourceRoot":"","sources":["../../src/agent/production-agent.ts"],"names":[],"mappings":"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"}
@@ -5120,6 +5120,7 @@ export function createProductionAgentHandler(options) {
5120
5120
  // worker." Foreground runs never set this, so their 40s clamp is
5121
5121
  // unchanged.
5122
5122
  backgroundFunction: runsInBackgroundFunction,
5123
+ noProgressTimeoutMs: options.runNoProgressTimeoutMs,
5123
5124
  // Fold continuation runs of one logical turn onto a single durable
5124
5125
  // assistant message. Falls back to the runId (turn == run) when the
5125
5126
  // client doesn't supply a turnId.