@agent-native/agentkit 0.5.1-nightly-20260929180759 → 0.198.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.
Files changed (44) hide show
  1. package/ARCHITECTURE.md +15 -15
  2. package/README.md +56 -27
  3. package/dist/client/client.d.ts +3 -0
  4. package/dist/client/client.d.ts.map +1 -1
  5. package/dist/client/client.js +86 -39
  6. package/dist/client/client.js.map +1 -1
  7. package/dist/client/state.d.ts +7 -0
  8. package/dist/client/state.d.ts.map +1 -1
  9. package/dist/client/state.js +43 -1
  10. package/dist/client/state.js.map +1 -1
  11. package/package.json +9 -58
  12. package/dist/react/chat.d.ts +0 -27
  13. package/dist/react/chat.d.ts.map +0 -1
  14. package/dist/react/chat.js +0 -19
  15. package/dist/react/chat.js.map +0 -1
  16. package/dist/react/components.d.ts +0 -107
  17. package/dist/react/components.d.ts.map +0 -1
  18. package/dist/react/components.js +0 -1940
  19. package/dist/react/components.js.map +0 -1
  20. package/dist/react/composer-submission.d.ts +0 -21
  21. package/dist/react/composer-submission.d.ts.map +0 -1
  22. package/dist/react/composer-submission.js +0 -28
  23. package/dist/react/composer-submission.js.map +0 -1
  24. package/dist/react/context.d.ts +0 -303
  25. package/dist/react/context.d.ts.map +0 -1
  26. package/dist/react/context.js +0 -393
  27. package/dist/react/context.js.map +0 -1
  28. package/dist/react/headless.d.ts +0 -3
  29. package/dist/react/headless.d.ts.map +0 -1
  30. package/dist/react/headless.js +0 -3
  31. package/dist/react/headless.js.map +0 -1
  32. package/dist/react/index.d.ts +0 -6
  33. package/dist/react/index.d.ts.map +0 -1
  34. package/dist/react/index.js +0 -6
  35. package/dist/react/index.js.map +0 -1
  36. package/dist/react/root.d.ts +0 -49
  37. package/dist/react/root.d.ts.map +0 -1
  38. package/dist/react/root.js +0 -145
  39. package/dist/react/root.js.map +0 -1
  40. package/dist/react/streaming-text.d.ts +0 -17
  41. package/dist/react/streaming-text.d.ts.map +0 -1
  42. package/dist/react/streaming-text.js +0 -257
  43. package/dist/react/streaming-text.js.map +0 -1
  44. package/dist/react/styles.css +0 -1740
package/ARCHITECTURE.md CHANGED
@@ -5,11 +5,11 @@ its agent interaction and experience layer. Toolkit is the semantic
5
5
  design-system and workspace layer. These layers are designed to work together
6
6
  without collapsing their ownership boundaries.
7
7
 
8
- | Layer | Owns | Does not own |
9
- | ------------ | ------------------------------------------------------------------------------------------ | ----------------------------------------------- |
10
- | Agent-Native | Actions, SQL, application state, agent execution, auth, access, persistence, deployment | Portable conversation UI contracts |
11
- | AgentKit | Protocol, event validation, client state, transports, React bindings, agent UI composition | App data, authorization policy, agent execution |
12
- | Toolkit | Semantic controls, composer building blocks, design-system adapters, workspace UI | Conversation state or backend behavior |
8
+ | Layer | Owns | Does not own |
9
+ | ------------ | --------------------------------------------------------------------------------------- | ----------------------------------------------- |
10
+ | Agent-Native | Actions, SQL, application state, agent execution, auth, access, persistence, deployment | Portable conversation UI contracts |
11
+ | AgentKit | Protocol, event validation, client state, transports | App data, authorization policy, agent execution |
12
+ | Toolkit | React runtime and agent UI, semantic controls, composer building blocks, workspace UI | Conversation state or backend behavior |
13
13
 
14
14
  AgentKit also runs with another backend. That backend must own the same
15
15
  execution and security responsibilities that Agent-Native normally provides.
@@ -22,7 +22,7 @@ versioned AgentKit protocol + validation
22
22
  ↓ transport
23
23
  headless AgentKit client + event reducer
24
24
  ↓ subscription
25
- React provider + AgentKit UI using Toolkit semantics
25
+ Toolkit React provider + AgentKit UI using Toolkit semantics
26
26
  ↓ composition
27
27
  app slots, registries, callbacks, and workspace chrome
28
28
  ```
@@ -167,7 +167,7 @@ run streams, approval continuation, feedback, durable queue operations, and
167
167
  thread forking. It preserves Core's runtime and request boundaries.
168
168
 
169
169
  Runtime implementers that already expose Core's `AgentChatRuntime` can use
170
- `createAgentKitProtocolAdapter()` from `@agent-native/core/client/chat`.
170
+ `createAgentKitProtocolAdapter()` from `@agent-native/core/client/agent-chat`.
171
171
  Provider-neutral backends implement `AgentTransport` directly. They may expose
172
172
  that transport with `createAgentKitHttpHandler()` and consume it with
173
173
  `createAgentKitHttpTransport()`.
@@ -243,14 +243,14 @@ runtime:
243
243
 
244
244
  ## Public distribution
245
245
 
246
- Applications install one package, `@agent-native/agentkit`. The root import
247
- exposes only the dependency-free protocol and headless client. HTTP, React, and
248
- conformance live behind the explicit `/http`, `/react`, and `/conformance`
249
- subpaths, so a server, native client, or alternate renderer does not load
250
- unrelated runtime code. The five former sibling packages (`agentkit-protocol`,
251
- `agentkit-client`, `agentkit-adapters`, `agentkit-conformance`, and
252
- `agentkit-react`) map onto those subpaths; the
253
- [README](./README.md#package-layout) carries the mapping.
246
+ Applications install `@agent-native/agentkit` for the protocol, headless client,
247
+ HTTP transport, and conformance tools. React bindings and conversation UI live
248
+ in `@agent-native/toolkit/app/agentkit/*`; those Core-aware app surfaces consume
249
+ Core through its optional peer dependency. A server, native client, or alternate
250
+ renderer can install AgentKit without React or Toolkit. The five former sibling
251
+ packages (`agentkit-protocol`, `agentkit-client`, `agentkit-adapters`,
252
+ `agentkit-conformance`, and `agentkit-react`) map to the entries documented in
253
+ the [README](./README.md#package-layout).
254
254
 
255
255
  ## Stability path
256
256
 
package/README.md CHANGED
@@ -4,9 +4,9 @@ Agent-Native is the application framework and execution platform. It owns
4
4
  actions, SQL data, application state, agent execution, authentication, access
5
5
  control, and deployment. AgentKit is its agent interaction and experience layer:
6
6
  the portable conversation protocol, the deterministic headless client,
7
- transports, React bindings, and composable agent UI. Toolkit supplies the
8
- semantic design-system and workspace building blocks that AgentKit composes
9
- with.
7
+ and transports. Toolkit owns React bindings and composable agent UI under
8
+ `@agent-native/toolkit/app/agentkit`; its Core-aware app surfaces use Core's
9
+ public runtime APIs through an optional peer.
10
10
 
11
11
  AgentKit stays provider-neutral. An Agent-Native app uses the first-party Core
12
12
  adapter. Another backend implements `AgentTransport` directly or exposes the
@@ -18,27 +18,48 @@ extension model.
18
18
 
19
19
  ## Package layout
20
20
 
21
- AgentKit ships as one package with explicit subpaths. Each subpath is a separate
22
- module graph, so a server, native client, or alternate renderer that imports the
23
- root or `/protocol` never loads React, Toolkit, or markdown code.
24
-
25
- | Import | Contents | Loads React |
26
- | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ----------- |
27
- | `@agent-native/agentkit` | Headless client and protocol types: deterministic reduction, optimistic mutations, reconnect, replay, approvals, actions, queues | No |
28
- | `@agent-native/agentkit/protocol` | Wire contract only: versioned types, runtime validators, lifecycle semantics | No |
29
- | `@agent-native/agentkit/http` | Fetch-compatible HTTP transport and server handler with resumable server-sent events | No |
30
- | `@agent-native/agentkit/conformance` | Executable transport invariants for custom and remote transports | No |
31
- | `@agent-native/agentkit/react` | Provider, hooks, control API, slots, registries, composer integration, accessible defaults | Yes |
32
- | `@agent-native/agentkit/react/{root,chat,components,context,headless,streaming-text}` | Focused React entries | Yes |
33
- | `@agent-native/agentkit/react/styles.css` | Standalone stylesheet | No |
21
+ AgentKit ships its headless protocol, client, transports, and conformance
22
+ surface as explicit subpaths. A server, native client, or alternate renderer
23
+ can import AgentKit without installing React, Toolkit, or markdown code.
24
+
25
+ | Import | Contents | Loads React |
26
+ | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ----------- |
27
+ | `@agent-native/agentkit` | Headless client and protocol types: deterministic reduction, optimistic mutations, reconnect, replay, approvals, actions, queues | No |
28
+ | `@agent-native/agentkit/protocol` | Wire contract only: versioned types, runtime validators, lifecycle semantics | No |
29
+ | `@agent-native/agentkit/client` | Headless client state and subscriptions | No |
30
+ | `@agent-native/agentkit/http` | Fetch-compatible HTTP transport and server handler with resumable server-sent events | No |
31
+ | `@agent-native/agentkit/conformance` | Executable transport invariants for custom and remote transports | No |
32
+ | `@agent-native/toolkit/app/agentkit/react` | Provider, hooks, control API, slots, registries, composer integration, accessible defaults | Yes |
33
+ | `@agent-native/toolkit/app/agentkit/react/{root,chat,components,context,headless,streaming-text}` | Focused React entries | Yes |
34
+ | `@agent-native/toolkit/app/agentkit/react/styles.css` | AgentKit React stylesheet | No |
35
+
36
+ ### Upgrade from AgentKit 0.x React subpaths
37
+
38
+ AgentKit 1.0 removes its old React exports. Install Toolkit and update these
39
+ imports:
40
+
41
+ | Previous import | Toolkit import |
42
+ | --------------------------------------------- | --------------------------------------------------------- |
43
+ | `@agent-native/agentkit/react` | `@agent-native/toolkit/app/agentkit/react` |
44
+ | `@agent-native/agentkit/react/root` | `@agent-native/toolkit/app/agentkit/react/root` |
45
+ | `@agent-native/agentkit/react/chat` | `@agent-native/toolkit/app/agentkit/react/chat` |
46
+ | `@agent-native/agentkit/react/components` | `@agent-native/toolkit/app/agentkit/react/components` |
47
+ | `@agent-native/agentkit/react/context` | `@agent-native/toolkit/app/agentkit/react/context` |
48
+ | `@agent-native/agentkit/react/headless` | `@agent-native/toolkit/app/agentkit/react/headless` |
49
+ | `@agent-native/agentkit/react/streaming-text` | `@agent-native/toolkit/app/agentkit/react/streaming-text` |
50
+ | `@agent-native/agentkit/react/styles.css` | `@agent-native/toolkit/app/agentkit/react/styles.css` |
51
+
52
+ For Core-managed apps, run `npx @agent-native/core@latest upgrade --codemods`
53
+ to rewrite imports. Standalone AgentKit consumers should make these updates
54
+ manually.
34
55
 
35
56
  AgentKit previously published six packages. Replace the old specifiers with
36
57
  these subpaths: `agentkit-protocol` becomes `agentkit/protocol`,
37
58
  `agentkit-adapters` becomes `agentkit/http`, `agentkit-conformance` becomes
38
- `agentkit/conformance`, `agentkit-react` becomes `agentkit/react`, and
39
- `agentkit-client` becomes the root `@agent-native/agentkit` import. The root
40
- also re-exports the protocol, so `/protocol` is reserved for code that must not
41
- pull in the client.
59
+ `agentkit/conformance`, `agentkit-react` moves to
60
+ `@agent-native/toolkit/app/agentkit/react`, and `agentkit-client` becomes the
61
+ root `@agent-native/agentkit` import. The root also re-exports the protocol, so
62
+ `/protocol` is reserved for code that must not pull in the client.
42
63
 
43
64
  ## Install
44
65
 
@@ -46,9 +67,9 @@ pull in the client.
46
67
  pnpm add @agent-native/agentkit @agent-native/core
47
68
  ```
48
69
 
49
- Generated Chat apps already include a compatible version. Core is needed only
50
- for the first-party Agent-Native transport. `react` and `react-dom` 19 are
51
- optional peer dependencies required only by the `/react` entries.
70
+ Generated Chat apps already include compatible versions of AgentKit and
71
+ Toolkit. Core is needed only for the first-party Agent-Native transport. React
72
+ is provided by the app when it uses Toolkit's React surfaces.
52
73
 
53
74
  ## Minimal React integration
54
75
 
@@ -56,8 +77,8 @@ optional peer dependencies required only by the `/react` entries.
56
77
  and disposes the client when it unmounts.
57
78
 
58
79
  ```tsx
59
- import { AgentChat } from "@agent-native/agentkit/react";
60
- import "@agent-native/agentkit/react/styles.css";
80
+ import { AgentChat } from "@agent-native/toolkit/app/agentkit/react";
81
+ import "@agent-native/toolkit/app/agentkit/react/styles.css";
61
82
  import { createAgentNativeAgentKitTransport } from "@agent-native/core/client/agent-chat";
62
83
  import { useMemo } from "react";
63
84
 
@@ -277,7 +298,7 @@ registries select renderers for domain-specific values.
277
298
 
278
299
  ```tsx
279
300
  import { createAgentKitClient } from "@agent-native/agentkit";
280
- import { AgentKitRoot } from "@agent-native/agentkit/react/headless";
301
+ import { AgentKitRoot } from "@agent-native/toolkit/app/agentkit/react/headless";
281
302
 
282
303
  const controller = createAgentKitClient({ transport });
283
304
 
@@ -317,6 +338,14 @@ existing `AgentKitController`. In controller mode `AgentKitRoot` opens and
317
338
  releases the active thread lease while the host eventually disposes the
318
339
  controller; with `load="manual"` the host owns both steps.
319
340
 
341
+ `registry.toolSource(tool)` resolves an optional `{ id, icon }` for an
342
+ `AgentToolCall`. The default transcript uses that badge in the current activity,
343
+ expanded rows, and repeated-call groups. The stable source `id` keeps calls to
344
+ different integrations in separate groups, even when they share a generic tool
345
+ name. Core supplies this resolver from its integration catalog and logo library.
346
+ Hosts can supply their own accessible badge node or return `undefined` to retain
347
+ the default activity icon.
348
+
320
349
  The `react/headless` entry excludes the reference transcript and rich composer,
321
350
  so a custom client bundle loads only the regions it renders. `AgentKitProvider`
322
351
  is the lower-level context boundary it exports: it accepts a controller, thread
@@ -811,7 +840,7 @@ Keep the Core runtime and replace the presentation boundary in one pass:
811
840
 
812
841
  1. Create `createAgentNativeAgentKitTransport()` for the default Agent-Native
813
842
  runtime. A custom `AgentChatRuntime` can use
814
- `createAgentKitProtocolAdapter()` from `@agent-native/core/client/chat`.
843
+ `createAgentKitProtocolAdapter()` from `@agent-native/core/client/agent-chat`.
815
844
  2. Replace the existing Core transcript component with `AgentChat`, or with
816
845
  `AgentKitRoot` plus `AgentKitChat` for a composed surface.
817
846
  3. Move render overrides to `slots` and kind-specific `registry` entries. Move
@@ -48,6 +48,8 @@ export interface SendMessageInput {
48
48
  attachments?: FilePart[];
49
49
  options?: AgentRunOptions;
50
50
  metadata?: Record<string, unknown>;
51
+ /** Host-only acknowledgement after the recoverable message enters local state; never sent to the transport. */
52
+ onLocalSubmit?: () => void;
51
53
  }
52
54
  export interface AgentRunHandle {
53
55
  runId: RunId;
@@ -213,6 +215,7 @@ export declare class AgentKitClient implements AgentKitController {
213
215
  private trackConsumer;
214
216
  private persistThreadSnapshot;
215
217
  private consume;
218
+ private finishTerminalRun;
216
219
  private waitForReconnect;
217
220
  private abortError;
218
221
  private ensureCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AgentProtocolValidationError, AgentKitProtocolError, createRequestAbortedError, createAgentKitProtocolVersionOffer, parseAgentEvent, projectAgentCapabilities, resumeEntryFromApproval, } from "../protocol/index.js";
2
- import { classifyAgentEvent, createAgentThreadState, hasActiveAgentRuns, reduceAgentEvent, settleRunProjection, } from "./state.js";
2
+ import { classifyAgentEvent, createAgentThreadState, hasActiveAgentRuns, selectLatestAgentRun, reduceAgentEvent, settleRunProjection, } from "./state.js";
3
3
  /**
4
4
  * Creates the deterministic AgentKit controller used by every UI binding.
5
5
  * Prefer this factory at application boundaries; the class remains public for
@@ -579,9 +579,11 @@ export class AgentKitClient {
579
579
  ...current,
580
580
  messages: [...current.messages, message],
581
581
  suggestions: [],
582
+ suggestionsPendingTurn: true,
582
583
  });
583
584
  this.setConnection("connecting");
584
585
  try {
586
+ input.onLocalSubmit?.();
585
587
  const result = await this.invokeRequest(requestContext, (context) => this.transport.startRun({
586
588
  threadId: input.threadId,
587
589
  messages: [...current.messages, message],
@@ -681,13 +683,17 @@ export class AgentKitClient {
681
683
  }
682
684
  await this.invokeRequest(requestContext, (context) => resolveConnectionRequest(input, context));
683
685
  this.assertActive();
684
- const key = this.runKey(input.threadId, input.runId);
685
- const existingConsumer = this.consumers.get(key);
686
- if (existingConsumer)
687
- await existingConsumer.catch(() => undefined);
688
- if (this.consumers.has(key))
689
- return;
690
- this.trackConsumer(input.threadId, input.runId, this.consume(input.threadId, input.runId));
686
+ const existingConsumer = this.consumers.get(this.runKey(input.threadId, input.runId));
687
+ void (async () => {
688
+ // Wait off the UI path: an interrupted reader can close after resolution.
689
+ if (existingConsumer)
690
+ await Promise.allSettled([existingConsumer]);
691
+ if (!this.disposed) {
692
+ await this.resubscribeRun(input.threadId, input.runId);
693
+ }
694
+ })().catch(() => {
695
+ // The consumer records the typed stream error in the client snapshot.
696
+ });
691
697
  }
692
698
  async invokeAction(invocation, context) {
693
699
  this.assertActive();
@@ -844,6 +850,7 @@ export class AgentKitClient {
844
850
  messages: [...thread.queuedMessages, result.message],
845
851
  removedIds,
846
852
  });
853
+ input.onLocalSubmit?.();
847
854
  const updatedThread = this.getThread(input.threadId);
848
855
  const runStartedDuringWrite = Object.keys(updatedThread.runs).some((runId) => !runIdsBeforeWrite.has(runId));
849
856
  if (!hasActiveAgentRuns(updatedThread) &&
@@ -1020,6 +1027,7 @@ export class AgentKitClient {
1020
1027
  : [...current.messages, message],
1021
1028
  queuedMessages,
1022
1029
  suggestions: [],
1030
+ suggestionsPendingTurn: true,
1023
1031
  });
1024
1032
  const override = this.queuedMessageOverrides.get(threadId);
1025
1033
  const removedIds = new Set(override?.removedIds);
@@ -1273,31 +1281,7 @@ export class AgentKitClient {
1273
1281
  throw new Error(`AgentKit run ${runId} ended without a terminal event.`);
1274
1282
  }
1275
1283
  this.setConnection("connected");
1276
- const snapshotPersistence = this.persistThreadSnapshot(threadId);
1277
- const completed = terminalEvent.type === "run.completed" ||
1278
- (terminalEvent.type === "run.status" &&
1279
- terminalEvent.status === "completed");
1280
- const terminalThread = this.getThread(threadId);
1281
- const queuedWorkKnown = completed &&
1282
- terminalThread.queuedMessages.length > 0 &&
1283
- !hasActiveAgentRuns(terminalThread);
1284
- if (queuedWorkKnown)
1285
- this.scheduleQueuePromotion(threadId);
1286
- const persistenceError = await snapshotPersistence;
1287
- if (completed) {
1288
- const shouldRefreshProjection = !this.threadLoads.has(threadId) &&
1289
- (this.transport.getThreadSnapshot || this.transport.getThread);
1290
- if (shouldRefreshProjection) {
1291
- await this.loadThreadProjection(threadId, this.createRequestContext(), true);
1292
- }
1293
- if (!queuedWorkKnown &&
1294
- !hasActiveAgentRuns(this.getThread(threadId))) {
1295
- this.scheduleQueuePromotion(threadId);
1296
- }
1297
- }
1298
- if (persistenceError) {
1299
- this.fail(persistenceError.error, "thread_snapshot_persist_failed");
1300
- }
1284
+ await this.finishTerminalRun(threadId, terminalEvent);
1301
1285
  return;
1302
1286
  }
1303
1287
  catch (error) {
@@ -1305,6 +1289,11 @@ export class AgentKitClient {
1305
1289
  AgentKitConsumerStoppedError) {
1306
1290
  return;
1307
1291
  }
1292
+ if (terminalEvent) {
1293
+ await this.finishTerminalRun(threadId, terminalEvent);
1294
+ this.fail(error, "run_stream_failed");
1295
+ return;
1296
+ }
1308
1297
  if (abortController.signal.aborted ||
1309
1298
  !errorIsRetryable(error) ||
1310
1299
  attempt >= this.reconnectAttempts) {
@@ -1330,6 +1319,39 @@ export class AgentKitClient {
1330
1319
  this.consumerAbortControllers.delete(key);
1331
1320
  }
1332
1321
  }
1322
+ async finishTerminalRun(threadId, terminalEvent) {
1323
+ const snapshotPersistence = this.persistThreadSnapshot(threadId);
1324
+ const completed = terminalEvent.type === "run.completed" ||
1325
+ (terminalEvent.type === "run.status" &&
1326
+ terminalEvent.status === "completed");
1327
+ const terminalThread = this.getThread(threadId);
1328
+ const queuedWorkKnown = completed &&
1329
+ terminalThread.queuedMessages.length > 0 &&
1330
+ !hasActiveAgentRuns(terminalThread);
1331
+ if (queuedWorkKnown)
1332
+ this.scheduleQueuePromotion(threadId);
1333
+ const persistenceError = await snapshotPersistence;
1334
+ if (completed) {
1335
+ const shouldRefreshProjection = !this.threadLoads.has(threadId) &&
1336
+ (this.transport.getThreadSnapshot || this.transport.getThread);
1337
+ if (shouldRefreshProjection) {
1338
+ try {
1339
+ await this.loadThreadProjection(threadId, this.createRequestContext(), true);
1340
+ }
1341
+ catch (error) {
1342
+ // History hydration reports its own failure; it cannot undo a terminal run.
1343
+ if (this.disposed)
1344
+ throw error;
1345
+ }
1346
+ }
1347
+ if (!queuedWorkKnown && !hasActiveAgentRuns(this.getThread(threadId))) {
1348
+ this.scheduleQueuePromotion(threadId);
1349
+ }
1350
+ }
1351
+ if (persistenceError) {
1352
+ this.fail(persistenceError.error, "thread_snapshot_persist_failed");
1353
+ }
1354
+ }
1333
1355
  waitForReconnect(duration, signal) {
1334
1356
  return new Promise((resolve, reject) => {
1335
1357
  const onAbort = () => {
@@ -1492,11 +1514,12 @@ export class AgentKitClient {
1492
1514
  ...hydrated.tasks,
1493
1515
  ...Object.fromEntries((snapshot.tasks ?? []).map((task) => [task.id, task])),
1494
1516
  },
1495
- approvals: { ...hydrated.approvals, ...snapshotApprovals },
1496
- approvalRunIds: {
1497
- ...hydrated.approvalRunIds,
1498
- ...snapshotApprovalRunIds,
1499
- },
1517
+ approvals: snapshot.approvals === undefined
1518
+ ? hydrated.approvals
1519
+ : snapshotApprovals,
1520
+ approvalRunIds: snapshot.approvals === undefined
1521
+ ? hydrated.approvalRunIds
1522
+ : snapshotApprovalRunIds,
1500
1523
  connectionRequests: {
1501
1524
  ...hydrated.connectionRequests,
1502
1525
  ...snapshotConnectionRequests,
@@ -1521,8 +1544,24 @@ export class AgentKitClient {
1521
1544
  },
1522
1545
  agentInteractions: snapshot.interactions ?? hydrated.agentInteractions,
1523
1546
  artifacts: snapshot.artifacts ?? hydrated.artifacts,
1524
- suggestions: snapshot.suggestions ?? hydrated.suggestions,
1547
+ suggestions: snapshot.suggestions?.map((suggestion) => ({
1548
+ ...suggestion,
1549
+ runId: suggestion.runId ??
1550
+ hydrated.suggestions.find((item) => item.id === suggestion.id)
1551
+ ?.runId,
1552
+ })) ?? hydrated.suggestions,
1525
1553
  };
1554
+ const latestUserIndex = projected.messages.findLastIndex((message) => message.role === "user");
1555
+ const latestAssistantIndex = projected.messages.findLastIndex((message) => message.role === "assistant");
1556
+ const latestUser = projected.messages[latestUserIndex];
1557
+ const latestRun = selectLatestAgentRun(projected);
1558
+ projected.suggestionsUserMessageId =
1559
+ latestAssistantIndex > latestUserIndex ||
1560
+ (latestUser?.createdAt &&
1561
+ latestRun?.startedAt &&
1562
+ latestUser.createdAt <= latestRun.startedAt)
1563
+ ? latestUser?.id
1564
+ : hydrated.suggestionsUserMessageId;
1526
1565
  return this.settleTerminalThread(projected, snapshot);
1527
1566
  }
1528
1567
  async requireCapability(capability, context) {
@@ -1628,6 +1667,11 @@ export class AgentKitClient {
1628
1667
  ? loaded.suggestions
1629
1668
  : live.suggestions
1630
1669
  : current.suggestions,
1670
+ suggestionsPendingTurn: current.suggestionsPendingTurn,
1671
+ suggestionsUserMessageId: snapshotIncludesRuntimeProjection("suggestions") &&
1672
+ current.suggestions === baseline.suggestions
1673
+ ? loaded.suggestionsUserMessageId
1674
+ : live.suggestionsUserMessageId,
1631
1675
  actions: mergeRecordProjection(loaded.actions, baseline.actions, live.actions, "events"),
1632
1676
  uploads: mergeRecordProjection(loaded.uploads, baseline.uploads, live.uploads, "events"),
1633
1677
  };
@@ -1830,6 +1874,7 @@ export class AgentKitClient {
1830
1874
  ]));
1831
1875
  return {
1832
1876
  ...thread,
1877
+ suggestionsUserMessageId: remap(thread.suggestionsUserMessageId),
1833
1878
  events,
1834
1879
  tools: Object.fromEntries(Object.entries(thread.tools).map(([id, tool]) => [
1835
1880
  id,
@@ -1967,6 +2012,8 @@ export class AgentKitClient {
1967
2012
  [runId]: { ...run, status: "running" },
1968
2013
  },
1969
2014
  activeRunIds,
2015
+ suggestions: [],
2016
+ suggestionsPendingTurn: false,
1970
2017
  });
1971
2018
  }
1972
2019
  retireInterruptedRun(threadId, runId) {