@buoy-gg/agent-core 7.0.34 → 7.0.36

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 (181) hide show
  1. package/README.md +10 -7
  2. package/lib/commonjs/blocks/receipts.js +83 -24
  3. package/lib/commonjs/blocks/receipts.js.map +1 -1
  4. package/lib/commonjs/blocks/runId.js +31 -0
  5. package/lib/commonjs/blocks/runId.js.map +1 -0
  6. package/lib/commonjs/blocks/types.js +23 -2
  7. package/lib/commonjs/blocks/types.js.map +1 -1
  8. package/lib/commonjs/blocks/uiTool.js +426 -12
  9. package/lib/commonjs/blocks/uiTool.js.map +1 -1
  10. package/lib/commonjs/catalog/catalog.g.js +121 -43
  11. package/lib/commonjs/catalog/catalog.g.js.map +1 -1
  12. package/lib/commonjs/catalog/catalog.source.json +121 -45
  13. package/lib/commonjs/catalog/catalog.types.g.js +44 -0
  14. package/lib/commonjs/catalog/catalog.types.g.js.map +1 -0
  15. package/lib/commonjs/catalog/normalizeParams.js +333 -0
  16. package/lib/commonjs/catalog/normalizeParams.js.map +1 -0
  17. package/lib/commonjs/catalog/signature.js +68 -0
  18. package/lib/commonjs/catalog/signature.js.map +1 -0
  19. package/lib/commonjs/catalog/snapshotReads.js +13 -6
  20. package/lib/commonjs/catalog/snapshotReads.js.map +1 -1
  21. package/lib/commonjs/catalog/toProviderTools.js +41 -5
  22. package/lib/commonjs/catalog/toProviderTools.js.map +1 -1
  23. package/lib/commonjs/context/buildContextPack.js +367 -19
  24. package/lib/commonjs/context/buildContextPack.js.map +1 -1
  25. package/lib/commonjs/effects/digest.js +34 -0
  26. package/lib/commonjs/effects/digest.js.map +1 -0
  27. package/lib/commonjs/effects/ledger.js +85 -1
  28. package/lib/commonjs/effects/ledger.js.map +1 -1
  29. package/lib/commonjs/engine/askGate.js +287 -0
  30. package/lib/commonjs/engine/askGate.js.map +1 -0
  31. package/lib/commonjs/engine/effectFor.js +82 -1
  32. package/lib/commonjs/engine/effectFor.js.map +1 -1
  33. package/lib/commonjs/engine/historyBudget.js +260 -0
  34. package/lib/commonjs/engine/historyBudget.js.map +1 -0
  35. package/lib/commonjs/engine/runAgentTurn.js +958 -88
  36. package/lib/commonjs/engine/runAgentTurn.js.map +1 -1
  37. package/lib/commonjs/engine/systemPrompt.js +72 -8
  38. package/lib/commonjs/engine/systemPrompt.js.map +1 -1
  39. package/lib/commonjs/engine/textToolCalls.js +276 -0
  40. package/lib/commonjs/engine/textToolCalls.js.map +1 -0
  41. package/lib/commonjs/index.js +81 -1
  42. package/lib/commonjs/index.js.map +1 -1
  43. package/lib/commonjs/policy/labels.js +19 -3
  44. package/lib/commonjs/policy/labels.js.map +1 -1
  45. package/lib/commonjs/policy/policy.js +6 -1
  46. package/lib/commonjs/policy/policy.js.map +1 -1
  47. package/lib/commonjs/policy/redact.js +42 -5
  48. package/lib/commonjs/policy/redact.js.map +1 -1
  49. package/lib/commonjs/providers/anthropic.js +340 -174
  50. package/lib/commonjs/providers/anthropic.js.map +1 -1
  51. package/lib/commonjs/providers/openai.js +229 -103
  52. package/lib/commonjs/providers/openai.js.map +1 -1
  53. package/lib/commonjs/providers/sse.js +164 -29
  54. package/lib/commonjs/providers/sse.js.map +1 -1
  55. package/lib/commonjs/providers/streamTimer.js +123 -0
  56. package/lib/commonjs/providers/streamTimer.js.map +1 -0
  57. package/lib/commonjs/providers/transport.js +107 -0
  58. package/lib/commonjs/providers/transport.js.map +1 -0
  59. package/lib/commonjs/providers/xhrStream.js +209 -0
  60. package/lib/commonjs/providers/xhrStream.js.map +1 -0
  61. package/lib/commonjs/session.js +245 -52
  62. package/lib/commonjs/session.js.map +1 -1
  63. package/lib/module/blocks/receipts.js +83 -24
  64. package/lib/module/blocks/receipts.js.map +1 -1
  65. package/lib/module/blocks/runId.js +26 -0
  66. package/lib/module/blocks/runId.js.map +1 -0
  67. package/lib/module/blocks/types.js +23 -2
  68. package/lib/module/blocks/types.js.map +1 -1
  69. package/lib/module/blocks/uiTool.js +424 -12
  70. package/lib/module/blocks/uiTool.js.map +1 -1
  71. package/lib/module/catalog/catalog.g.js +121 -43
  72. package/lib/module/catalog/catalog.g.js.map +1 -1
  73. package/lib/module/catalog/catalog.source.json +121 -45
  74. package/lib/module/catalog/catalog.types.g.js +40 -0
  75. package/lib/module/catalog/catalog.types.g.js.map +1 -0
  76. package/lib/module/catalog/normalizeParams.js +327 -0
  77. package/lib/module/catalog/normalizeParams.js.map +1 -0
  78. package/lib/module/catalog/signature.js +63 -0
  79. package/lib/module/catalog/signature.js.map +1 -0
  80. package/lib/module/catalog/snapshotReads.js +13 -6
  81. package/lib/module/catalog/snapshotReads.js.map +1 -1
  82. package/lib/module/catalog/toProviderTools.js +41 -5
  83. package/lib/module/catalog/toProviderTools.js.map +1 -1
  84. package/lib/module/context/buildContextPack.js +366 -19
  85. package/lib/module/context/buildContextPack.js.map +1 -1
  86. package/lib/module/effects/digest.js +29 -0
  87. package/lib/module/effects/digest.js.map +1 -0
  88. package/lib/module/effects/ledger.js +85 -1
  89. package/lib/module/effects/ledger.js.map +1 -1
  90. package/lib/module/engine/askGate.js +280 -0
  91. package/lib/module/engine/askGate.js.map +1 -0
  92. package/lib/module/engine/effectFor.js +83 -1
  93. package/lib/module/engine/effectFor.js.map +1 -1
  94. package/lib/module/engine/historyBudget.js +251 -0
  95. package/lib/module/engine/historyBudget.js.map +1 -0
  96. package/lib/module/engine/runAgentTurn.js +954 -88
  97. package/lib/module/engine/runAgentTurn.js.map +1 -1
  98. package/lib/module/engine/systemPrompt.js +71 -8
  99. package/lib/module/engine/systemPrompt.js.map +1 -1
  100. package/lib/module/engine/textToolCalls.js +270 -0
  101. package/lib/module/engine/textToolCalls.js.map +1 -0
  102. package/lib/module/index.js +7 -4
  103. package/lib/module/index.js.map +1 -1
  104. package/lib/module/policy/labels.js +19 -3
  105. package/lib/module/policy/labels.js.map +1 -1
  106. package/lib/module/policy/policy.js +6 -1
  107. package/lib/module/policy/policy.js.map +1 -1
  108. package/lib/module/policy/redact.js +42 -5
  109. package/lib/module/policy/redact.js.map +1 -1
  110. package/lib/module/providers/anthropic.js +341 -175
  111. package/lib/module/providers/anthropic.js.map +1 -1
  112. package/lib/module/providers/openai.js +230 -104
  113. package/lib/module/providers/openai.js.map +1 -1
  114. package/lib/module/providers/sse.js +160 -29
  115. package/lib/module/providers/sse.js.map +1 -1
  116. package/lib/module/providers/streamTimer.js +118 -0
  117. package/lib/module/providers/streamTimer.js.map +1 -0
  118. package/lib/module/providers/transport.js +103 -0
  119. package/lib/module/providers/transport.js.map +1 -0
  120. package/lib/module/providers/xhrStream.js +204 -0
  121. package/lib/module/providers/xhrStream.js.map +1 -0
  122. package/lib/module/session.js +228 -54
  123. package/lib/module/session.js.map +1 -1
  124. package/lib/typescript/blocks/receipts.d.ts +5 -10
  125. package/lib/typescript/blocks/receipts.d.ts.map +1 -1
  126. package/lib/typescript/blocks/runId.d.ts +20 -0
  127. package/lib/typescript/blocks/runId.d.ts.map +1 -0
  128. package/lib/typescript/blocks/types.d.ts +23 -2
  129. package/lib/typescript/blocks/types.d.ts.map +1 -1
  130. package/lib/typescript/blocks/uiTool.d.ts +11 -2
  131. package/lib/typescript/blocks/uiTool.d.ts.map +1 -1
  132. package/lib/typescript/catalog/catalog.g.d.ts.map +1 -1
  133. package/lib/typescript/catalog/catalog.types.g.d.ts +40 -0
  134. package/lib/typescript/catalog/catalog.types.g.d.ts.map +1 -0
  135. package/lib/typescript/catalog/normalizeParams.d.ts +43 -0
  136. package/lib/typescript/catalog/normalizeParams.d.ts.map +1 -0
  137. package/lib/typescript/catalog/signature.d.ts +29 -0
  138. package/lib/typescript/catalog/signature.d.ts.map +1 -0
  139. package/lib/typescript/catalog/snapshotReads.d.ts.map +1 -1
  140. package/lib/typescript/catalog/toProviderTools.d.ts +28 -15
  141. package/lib/typescript/catalog/toProviderTools.d.ts.map +1 -1
  142. package/lib/typescript/context/buildContextPack.d.ts +24 -2
  143. package/lib/typescript/context/buildContextPack.d.ts.map +1 -1
  144. package/lib/typescript/effects/digest.d.ts +10 -0
  145. package/lib/typescript/effects/digest.d.ts.map +1 -0
  146. package/lib/typescript/effects/ledger.d.ts +55 -0
  147. package/lib/typescript/effects/ledger.d.ts.map +1 -1
  148. package/lib/typescript/engine/askGate.d.ts +29 -0
  149. package/lib/typescript/engine/askGate.d.ts.map +1 -0
  150. package/lib/typescript/engine/effectFor.d.ts +6 -1
  151. package/lib/typescript/engine/effectFor.d.ts.map +1 -1
  152. package/lib/typescript/engine/historyBudget.d.ts +92 -0
  153. package/lib/typescript/engine/historyBudget.d.ts.map +1 -0
  154. package/lib/typescript/engine/runAgentTurn.d.ts +115 -1
  155. package/lib/typescript/engine/runAgentTurn.d.ts.map +1 -1
  156. package/lib/typescript/engine/systemPrompt.d.ts +41 -0
  157. package/lib/typescript/engine/systemPrompt.d.ts.map +1 -1
  158. package/lib/typescript/engine/textToolCalls.d.ts +58 -0
  159. package/lib/typescript/engine/textToolCalls.d.ts.map +1 -0
  160. package/lib/typescript/index.d.ts +8 -5
  161. package/lib/typescript/index.d.ts.map +1 -1
  162. package/lib/typescript/policy/labels.d.ts.map +1 -1
  163. package/lib/typescript/policy/policy.d.ts.map +1 -1
  164. package/lib/typescript/policy/redact.d.ts.map +1 -1
  165. package/lib/typescript/providers/anthropic.d.ts +5 -0
  166. package/lib/typescript/providers/anthropic.d.ts.map +1 -1
  167. package/lib/typescript/providers/openai.d.ts +0 -16
  168. package/lib/typescript/providers/openai.d.ts.map +1 -1
  169. package/lib/typescript/providers/sse.d.ts +82 -1
  170. package/lib/typescript/providers/sse.d.ts.map +1 -1
  171. package/lib/typescript/providers/streamTimer.d.ts +59 -0
  172. package/lib/typescript/providers/streamTimer.d.ts.map +1 -0
  173. package/lib/typescript/providers/transport.d.ts +40 -0
  174. package/lib/typescript/providers/transport.d.ts.map +1 -0
  175. package/lib/typescript/providers/types.d.ts +116 -3
  176. package/lib/typescript/providers/types.d.ts.map +1 -1
  177. package/lib/typescript/providers/xhrStream.d.ts +43 -0
  178. package/lib/typescript/providers/xhrStream.d.ts.map +1 -0
  179. package/lib/typescript/session.d.ts +63 -2
  180. package/lib/typescript/session.d.ts.map +1 -1
  181. package/package.json +2 -2
@@ -6,57 +6,100 @@
6
6
  * This is the one-call surface the UI packages use. It owns the pieces that
7
7
  * have to agree with each other across a whole session — the provider, the
8
8
  * catalog filtered to what this device can actually do, the system prompt
9
- * (built once, after grounding), the effect ledger, and the message history —
9
+ * (the stable part built once after grounding, the RIGHT NOW part re-read every
10
+ * turn), the effect ledger, and the message history —
10
11
  * so a chat UI is a message list plus a text box rather than an orchestrator.
11
12
  */
12
13
  import { CATALOG } from "./catalog/catalog.g";
13
- import { buildContextDigest } from "./context/buildContextPack";
14
+ import { buildContextDigest, buildLiveContext } from "./context/buildContextPack";
14
15
  import { runAgentTurn } from "./engine/runAgentTurn";
15
- import { buildSystemPrompt } from "./engine/systemPrompt";
16
+ import { buildLiveBlock, buildSystemPrompt } from "./engine/systemPrompt";
16
17
  import { EffectLedger } from "./effects/ledger";
18
+ import { compressConsumed, trimHistory, trimHistoryReport } from "./engine/historyBudget";
17
19
  import { createAnthropicProvider } from "./providers/anthropic";
18
20
  import { createOpenAIProvider } from "./providers/openai";
19
21
  import { resolveRequireApproval } from "./policy/policy";
20
22
  import { registerSelfEndpoint } from "./policy/redact";
21
23
  /**
22
- * A long QA session must not die on the provider's context limit with an
23
- * opaque error — the transcript grows without bound (tool results are the
24
- * heavy part), so the OLDEST rounds are dropped once the history passes a
25
- * budget. Rounds are dropped whole — a round starts at a user message — so
26
- * the assistant/tool-result pairing every provider requires stays intact and
27
- * the history still begins with a user message.
24
+ * A stored history, made safe to send as the start of a new request.
25
+ *
26
+ * Two things make a saved conversation unusable as-is.
27
+ *
28
+ * A history captured mid-turn ends with an assistant message whose `tool_use`
29
+ * blocks were never answered, or with the `tool_result`s and no reply after
30
+ * them. Every provider rejects both: the blocks must pair up. So this rewinds
31
+ * to the last COMPLETE round — an assistant message that made no tool calls,
32
+ * which is where a conversation is always safe to resume from.
33
+ *
34
+ * And thinking blocks are dropped. Anthropic needs them replayed only when the
35
+ * very next thing sent is that turn's `tool_result`s; a restored conversation
36
+ * always resumes with a fresh user message instead, so their signatures are
37
+ * dead weight at best and a stale-signature 400 at worst.
28
38
  */
29
- const MAX_HISTORY_CHARS = 150_000;
30
- const MIN_KEEP_MESSAGES = 4;
31
- function messageSize(m) {
32
- try {
33
- return JSON.stringify(m).length;
34
- } catch {
35
- return 0;
36
- }
37
- }
38
- function trimHistory(messages) {
39
- let total = 0;
40
- for (const m of messages) total += messageSize(m);
41
- if (total <= MAX_HISTORY_CHARS) return messages;
42
- const out = [...messages];
43
- while (out.length > MIN_KEEP_MESSAGES && total > MAX_HISTORY_CHARS) {
44
- total -= messageSize(out[0]);
45
- out.shift();
46
- while (out.length > MIN_KEEP_MESSAGES && out[0].role !== "user") {
47
- total -= messageSize(out[0]);
48
- out.shift();
49
- }
39
+ // Re-exported: these were defined here before the engine needed them too, and
40
+ // the tests and the package surface still reach them through this module.
41
+ export { compressConsumed, trimHistory, trimHistoryReport };
42
+ export function resumableHistory(history) {
43
+ let end = history.length;
44
+ while (end > 0) {
45
+ const m = history[end - 1];
46
+ if (m.role === "assistant" && !m.toolCalls?.length) break;
47
+ end -= 1;
50
48
  }
51
- return out;
49
+ return history.slice(0, end).map(m => m.role === "assistant" && m.thinking ? {
50
+ ...m,
51
+ thinking: undefined
52
+ } : m);
52
53
  }
53
54
  export function createAskBuoySession(config) {
54
55
  const catalog = config.catalog ?? CATALOG;
55
56
  const ledger = new EffectLedger();
56
57
  const policy = config.policy ?? {};
57
58
  let messages = [];
59
+ /**
60
+ * Image-URL provenance for the whole conversation, not one turn of it.
61
+ *
62
+ * "Show me the shop as pictures" and "no, actually render them" are two
63
+ * turns; the second has no tool calls of its own, so a per-turn set held
64
+ * nothing and every image was stripped out from under the model. It kept
65
+ * describing artwork that was not on screen. The rule is unchanged — a URL
66
+ * still has to have been READ — the window is just the conversation. Reset
67
+ * with the conversation.
68
+ */
69
+ const seenUrls = new Set();
58
70
  let system;
59
71
  let primed = false;
72
+ /** See `setApprovalBypass`. Consulted per turn, never captured. */
73
+ let bypassApproval = false;
74
+ /** See `setReadOnly`. */
75
+ let deviceReadOnly = false;
76
+ /**
77
+ * Rounds dropped by `restore` — reported on the first send, because there is
78
+ * no open turn to carry the event when the restore happens.
79
+ */
80
+ let trimmedOnRestore = 0;
81
+ /**
82
+ * Which conversation is live. Bumped by `reset`.
83
+ *
84
+ * A turn's history is committed when its generator drains, and a turn does
85
+ * not stop the moment Stop is pressed — an in-flight dispatch has to settle
86
+ * first, and nothing can pull a store write back out of an adapter. So the
87
+ * sequence Stop -> "New conversation" -> the write finishes used to end with
88
+ * the OLD turn assigning its whole history over the empty one: a chat the
89
+ * user had just cleared came back, carrying a change they never saw made.
90
+ * The turn still finishes and its effect still lands in the app; it simply
91
+ * no longer owns a conversation that has moved on.
92
+ */
93
+ let generation = 0;
94
+ /**
95
+ * The grounding probe's result, held past `prime`.
96
+ *
97
+ * The system prompt is a pure function of this plus the policy, and the
98
+ * approval paragraph changes when the device toggle does — holding the
99
+ * digest lets the prompt be rebuilt without re-probing the app for state it
100
+ * already read.
101
+ */
102
+ let digest = {};
60
103
  /**
61
104
  * `storage key -> the live store that owns it`, derived from the grounding.
62
105
  *
@@ -70,16 +113,62 @@ export function createAskBuoySession(config) {
70
113
  // So the agent's own requests to the model endpoint never come back to it
71
114
  // out of the network tool — that would feed it its own auth headers.
72
115
  registerSelfEndpoint(config.endpoint);
73
- const provider = config.protocol === "openai" ? createOpenAIProvider(config) : createAnthropicProvider(config);
116
+ const provider = config.provider ?? (config.protocol === "openai" ? createOpenAIProvider(config) : createAnthropicProvider(config));
74
117
 
75
118
  // Mutable: the device's tool list fills in over the first frames and can
76
119
  // change while the sheet is open. See setAvailableActions.
77
120
  let availableActions = config.availableActions;
78
121
  let availableToolIds = Object.keys(availableActions);
122
+
123
+ /**
124
+ * THE policy object the engine reads, mutated in place.
125
+ *
126
+ * One object for the life of the session, not a fresh one per turn: the
127
+ * engine reads `policy.readOnly` and the approval lists at each call, so a
128
+ * toggle flipped mid-turn lands on the very next call of that turn. A new
129
+ * object per turn would leave a running turn on the old rules until it
130
+ * finished — "Read only" switched on while the agent was writing would let
131
+ * the rest of the batch through.
132
+ */
133
+ const live = {
134
+ ...policy
135
+ };
136
+ function refreshLive() {
137
+ for (const k of Object.keys(live)) delete live[k];
138
+ Object.assign(live, policy);
139
+ if (bypassApproval) {
140
+ live.requireApproval = [];
141
+ live.requireApprovalFor = [];
142
+ }
143
+ // OR, never override: the device can narrow, the app's own read-only stands.
144
+ if (deviceReadOnly) live.readOnly = true;
145
+ }
146
+ function activePolicy() {
147
+ return live;
148
+ }
149
+ function composeSystem() {
150
+ system = buildSystemPrompt({
151
+ catalog,
152
+ context: {
153
+ ...config.context,
154
+ digest: {
155
+ ...digest,
156
+ ...config.context?.digest
157
+ }
158
+ },
159
+ isRelease: config.isRelease,
160
+ readOnly: live.readOnly ?? false,
161
+ readOnlySource: policy.readOnly ? "app" : deviceReadOnly ? "device" : undefined,
162
+ requireApproval: resolveRequireApproval(live),
163
+ approvalsBypassed: bypassApproval,
164
+ appName: config.appName,
165
+ platform: config.platform
166
+ });
167
+ }
79
168
  async function prime() {
80
169
  if (primed) return;
81
170
  primed = true;
82
- let digest = {};
171
+ digest = {};
83
172
  try {
84
173
  digest = await buildContextDigest({
85
174
  dispatch: config.dispatch,
@@ -96,21 +185,7 @@ export function createAskBuoySession(config) {
96
185
  const store = raw;
97
186
  if (store?.persistsTo && store.name) storeKeyOwners[store.persistsTo] = store.name;
98
187
  }
99
- system = buildSystemPrompt({
100
- catalog,
101
- context: {
102
- ...config.context,
103
- digest: {
104
- ...digest,
105
- ...config.context?.digest
106
- }
107
- },
108
- isRelease: config.isRelease,
109
- readOnly: policy.readOnly ?? false,
110
- requireApproval: resolveRequireApproval(policy),
111
- appName: config.appName,
112
- platform: config.platform
113
- });
188
+ composeSystem();
114
189
  }
115
190
  return {
116
191
  ledger,
@@ -122,29 +197,122 @@ export function createAskBuoySession(config) {
122
197
  availableActions = actions;
123
198
  availableToolIds = Object.keys(actions);
124
199
  },
200
+ setApprovalBypass(enabled) {
201
+ if (bypassApproval === enabled) return;
202
+ bypassApproval = enabled;
203
+ refreshLive();
204
+ // The prompt tells the model whether a card will appear before its
205
+ // change lands; leaving that paragraph stale would have it announce an
206
+ // approval step that no longer exists. Rebuilt from the held digest, so
207
+ // toggling mid-conversation costs nothing and re-reads nothing.
208
+ if (system) composeSystem();
209
+ },
210
+ setReadOnly(enabled) {
211
+ if (deviceReadOnly === enabled) return;
212
+ deviceReadOnly = enabled;
213
+ refreshLive();
214
+ if (system) composeSystem();
215
+ },
216
+ restore(history) {
217
+ // Only into a session that has not been talked to. Restoring over a live
218
+ // conversation would drop whatever was said since the app started.
219
+ if (messages.length > 0) return;
220
+ const report = trimHistoryReport(resumableHistory(history));
221
+ messages = report.messages;
222
+ trimmedOnRestore = report.droppedRounds;
223
+ },
125
224
  async *send(text, signal) {
225
+ /**
226
+ * Captured FIRST, before any await.
227
+ *
228
+ * Priming and the live-context probes are awaits like any other, and a
229
+ * reset can land inside them. Reading the generation after them would
230
+ * pick up the NEW conversation's value and let this turn commit into it —
231
+ * the precise bug this guards against, reintroduced one line lower.
232
+ */
233
+ const myGeneration = generation;
126
234
  await prime();
127
- messages.push({
235
+ // The RIGHT NOW block: re-read on EVERY turn, not once at open. The
236
+ // stable digest above was once the whole picture, and it was built
237
+ // before the user had navigated anywhere — so the query that owned the
238
+ // screen they were looking at was simply not in the prompt. This is the
239
+ // uncached tail of the system prompt (see ProviderRequest.systemVolatile).
240
+ let live;
241
+ try {
242
+ live = await buildLiveContext({
243
+ dispatch: config.dispatch,
244
+ readSnapshot: config.readSnapshot,
245
+ availableToolIds,
246
+ availableActions
247
+ });
248
+ } catch {
249
+ live = undefined;
250
+ }
251
+ /**
252
+ * The conversation was cleared while this turn was still getting ready.
253
+ *
254
+ * Priming and the live probes take real time, so "New conversation"
255
+ * lands here often enough to matter. Abandoning now costs nothing: the
256
+ * model has not been asked anything yet.
257
+ */
258
+ if (myGeneration !== generation) {
259
+ yield {
260
+ type: "done"
261
+ };
262
+ return;
263
+ }
264
+
265
+ /**
266
+ * The turn works on its OWN array, and `messages` is assigned in exactly
267
+ * one place — the commit at the bottom.
268
+ *
269
+ * `runAgentTurn` pushes each round into the array it is handed. Handing
270
+ * it the session's own array made every push a live edit of session
271
+ * state, so a turn racing a reset wrote its whole history into the new
272
+ * conversation one push at a time and the commit guard had nothing left
273
+ * to protect. Copying makes ownership checkable in one place instead of
274
+ * spread across the loop.
275
+ */
276
+ const trimmed = trimHistoryReport([...messages, {
128
277
  role: "user",
129
278
  text
130
- });
131
- messages = trimHistory(messages);
279
+ }]);
280
+ const working = trimmed.messages;
281
+ // Said once, before the answer it affects. The screen still shows the
282
+ // rounds the model just lost; this is the only thing that tells the two
283
+ // apart. See the `history-trimmed` event.
284
+ const droppedRounds = trimmed.droppedRounds + trimmedOnRestore;
285
+ trimmedOnRestore = 0;
286
+ if (droppedRounds > 0) yield {
287
+ type: "history-trimmed",
288
+ droppedRounds
289
+ };
132
290
  const gen = runAgentTurn({
133
291
  provider,
134
292
  catalog,
135
- messages,
293
+ messages: working,
136
294
  system: system,
295
+ systemVolatile: buildLiveBlock(live,
296
+ // What this conversation has already done to the app. See
297
+ // buildLiveBlock — without it the model answers "what have you
298
+ // changed?" from memory of its own sentences, and reports a value it
299
+ // overwrote itself as the app's own.
300
+ ledger.list().map(e => ({
301
+ label: `${e.toolId}.${e.action}${e.effect.label ? ` — ${e.effect.label}` : ""}`,
302
+ undone: e.undoneAt !== undefined
303
+ }))),
137
304
  model: config.model,
138
305
  maxTokens: config.maxTokens ?? 4096,
139
306
  dispatch: config.dispatch,
140
307
  readSnapshot: config.readSnapshot,
141
308
  storeKeyOwners,
142
309
  ledger,
143
- policy,
310
+ policy: activePolicy(),
144
311
  isRelease: config.isRelease,
145
312
  availableToolIds,
146
313
  availableActions,
147
314
  requestApproval: config.requestApproval,
315
+ seenUrls,
148
316
  signal
149
317
  });
150
318
  let next = await gen.next();
@@ -153,11 +321,17 @@ export function createAskBuoySession(config) {
153
321
  next = await gen.next();
154
322
  }
155
323
  // The generator's return value is the full history including tool turns.
156
- messages = next.value;
324
+ // Committed only if this turn still owns the conversation — see
325
+ // `generation`.
326
+ if (myGeneration === generation) messages = next.value;
157
327
  },
158
328
  reset() {
329
+ // Before anything else: a turn still draining must not commit over this.
330
+ generation += 1;
159
331
  messages = [];
332
+ trimmedOnRestore = 0;
160
333
  ledger.clear();
334
+ seenUrls.clear();
161
335
  // The grounding digest is a snapshot of the app AT OPEN — stores and
162
336
  // routes registered since are invisible to it. A new conversation is
163
337
  // the natural moment to re-read the world.
@@ -1 +1 @@
1
- {"version":3,"names":["CATALOG","buildContextDigest","runAgentTurn","buildSystemPrompt","EffectLedger","createAnthropicProvider","createOpenAIProvider","resolveRequireApproval","registerSelfEndpoint","MAX_HISTORY_CHARS","MIN_KEEP_MESSAGES","messageSize","m","JSON","stringify","length","trimHistory","messages","total","out","shift","role","createAskBuoySession","config","catalog","ledger","policy","system","primed","storeKeyOwners","endpoint","provider","protocol","availableActions","availableToolIds","Object","keys","prime","digest","dispatch","readSnapshot","raw","zustandStores","store","persistsTo","name","context","isRelease","readOnly","requireApproval","appName","platform","setAvailableActions","actions","send","text","signal","push","gen","model","maxTokens","requestApproval","next","done","value","reset","clear"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CATALOG","buildContextDigest","buildLiveContext","runAgentTurn","buildLiveBlock","buildSystemPrompt","EffectLedger","compressConsumed","trimHistory","trimHistoryReport","createAnthropicProvider","createOpenAIProvider","resolveRequireApproval","registerSelfEndpoint","resumableHistory","history","end","length","m","role","toolCalls","slice","map","thinking","undefined","createAskBuoySession","config","catalog","ledger","policy","messages","seenUrls","Set","system","primed","bypassApproval","deviceReadOnly","trimmedOnRestore","generation","digest","storeKeyOwners","endpoint","provider","protocol","availableActions","availableToolIds","Object","keys","live","refreshLive","k","assign","requireApproval","requireApprovalFor","readOnly","activePolicy","composeSystem","context","isRelease","readOnlySource","approvalsBypassed","appName","platform","prime","dispatch","readSnapshot","raw","zustandStores","store","persistsTo","name","setAvailableActions","actions","setApprovalBypass","enabled","setReadOnly","restore","report","droppedRounds","send","text","signal","myGeneration","type","trimmed","working","gen","systemVolatile","list","e","label","toolId","action","effect","undone","undoneAt","model","maxTokens","requestApproval","next","done","value","reset","clear"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,3 @@
1
- /**
2
- * Receipts — blocks the engine builds from tool results, deterministically.
3
- *
4
- * The model never authors these, so they cannot hallucinate, and a weak model
5
- * cannot fail to produce them. They render the SAME redacted result the model
6
- * gets, so what the user sees and what the model reasons about are one thing.
7
- *
8
- * Every projector is small and honest about caps: it truncates and records
9
- * `total` so the renderer can say "+38 more" truthfully.
10
- */
11
1
  import { type Block } from "./types";
12
2
  /** Shallow diff of two plain objects: top-level keys that differ. */
13
3
  export declare function shallowDiff(before: unknown, after: unknown): {
@@ -22,6 +12,11 @@ export interface ReceiptInput {
22
12
  result: unknown;
23
13
  /** From captureBefore, when the engine read the prior value. */
24
14
  before?: unknown;
15
+ /**
16
+ * The same read taken AFTER the call landed, for the projectors that show a
17
+ * diff. Present only where the engine captures both sides (zustand's store).
18
+ */
19
+ after?: unknown;
25
20
  effect: "read" | "write" | "destructive";
26
21
  }
27
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../../src/blocks/receipts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAQ,KAAK,KAAK,EAAwC,MAAM,SAAS,CAAC;AAqCjF,qEAAqE;AACrE,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,CAYvD;AAiCD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,GAAG,SAAS,CA8frE"}
1
+ {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../../src/blocks/receipts.ts"],"names":[],"mappings":"AAcA,OAAO,EAAQ,KAAK,KAAK,EAAwC,MAAM,SAAS,CAAC;AA2DjF,qEAAqE;AACrE,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,CAYvD;AAiCD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,GAAG,SAAS,CAqiBrE"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * A token unique to this launch of the app, stamped into every generated id.
3
+ *
4
+ * Every id counter here restarts at 1 when the process does, which was
5
+ * harmless for as long as nothing outlived a reload. Ask Buoy's transcript now
6
+ * does: a restored conversation comes back carrying `rc1`, `ui1` and `m1`, the
7
+ * next turn generates `rc1` again, and React sees two children with the same
8
+ * key — it renders one of them twice and drops the other. That is both halves
9
+ * of the report this fixes: the "two children with the same key `rc1`" warning,
10
+ * and the bag card appearing twice after a reload.
11
+ *
12
+ * Seeding the counters from the restored data instead would not work. A saved
13
+ * transcript is trimmed from the oldest end and its ids are not contiguous, so
14
+ * the highest id present is not the highest id ever issued — and blocks that
15
+ * were dropped by the cap would hand their ids straight back out.
16
+ */
17
+ export declare const RUN_ID: string;
18
+ /** `<prefix><run>-<n>`: unique within a run by the counter, across runs by the token. */
19
+ export declare function idFactory(prefix: string): () => string;
20
+ //# sourceMappingURL=runId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runId.d.ts","sourceRoot":"","sources":["../../../src/blocks/runId.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM,QAAyC,CAAC;AAE7D,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,MAAM,CAGtD"}
@@ -502,8 +502,29 @@ export type Block = ChoiceBlock | ConfirmBlock | InputBlock | TableBlock | KeyVa
502
502
  export type BlockKind = Block["kind"];
503
503
  /** Kinds that stop the turn and wait for the user. */
504
504
  export declare const ASK_KINDS: ReadonlySet<BlockKind>;
505
- /** Kinds the model may author through `buoy_ui`. Receipts are engine-only. */
506
- export declare const MODEL_KINDS: readonly ["choice", "confirm", "input", "table", "keyValue", "list", "imageGrid", "diff", "chart", "steps", "code", "actions", "finding", "suggestions", "multiSelect", "select", "slider", "dateTime", "form", "proposal", "claim", "details", "compare", "card", "cardCarousel", "sparkline", "plan"];
505
+ /**
506
+ * Kinds the model may author through `buoy_ui`. Receipts are engine-only.
507
+ *
508
+ * NINETEEN, down from twenty-seven. The first cut took it to eleven on bench
509
+ * evidence alone — sixteen kinds were never authored once across five runs and
510
+ * three agents. Rendering them side by side against their replacements showed
511
+ * that argument was too blunt: a kind nobody reached for is not the same as a
512
+ * kind nobody needs, and for eight of them the replacement was plainly worse.
513
+ * Restored on that review: code (a JSON explorer beats a fenced string),
514
+ * compare, details, multiSelect, plan, proposal, select, steps.
515
+ *
516
+ * The eight that stayed retired each have an equal or better answer among
517
+ * these: keyValue -> table, card / cardCarousel -> list, claim -> finding,
518
+ * sparkline -> chart, slider / dateTime -> input or choice, form -> input.
519
+ *
520
+ * `diff` and `compare` both stay and are NOT duplicates: diff is what CHANGED
521
+ * (the engine projects one after every state write, see blocks/receipts.ts),
522
+ * compare is two different things side by side.
523
+ *
524
+ * Nothing was ever deleted — every renderer, schema and normaliser lives in
525
+ * UI_PARAMS / SHAPE_FIXES, so this list alone decides what is offered.
526
+ */
527
+ export declare const MODEL_KINDS: readonly ["choice", "confirm", "input", "select", "multiSelect", "table", "list", "diff", "compare", "imageGrid", "chart", "code", "details", "steps", "plan", "proposal", "actions", "finding", "suggestions"];
507
528
  export type ModelKind = (typeof MODEL_KINDS)[number];
508
529
  export declare function isAskBlock(block: Block): boolean;
509
530
  /** What the user did with an Ask block. Becomes the next user message. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blocks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blocks/types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
1
  import type { ProviderTool } from "../catalog/toProviderTools";
2
2
  import type { JsonSchema } from "../types";
3
- import { type Block, type ModelKind } from "./types";
3
+ import { type Block, type BlockKind, type ModelKind } from "./types";
4
4
  export declare const UI_TOOL_NAME = "buoy_ui";
5
5
  /** Per-kind param schemas. Keys are block kinds; `kind` itself is the `action`. */
6
- export declare const UI_PARAMS: Record<ModelKind, JsonSchema>;
6
+ export declare const UI_PARAMS: Partial<Record<BlockKind, JsonSchema>>;
7
+ type Rec = Record<string, unknown>;
8
+ /**
9
+ * The whole pre-validation pass. Returns a NEW object — the caller's params
10
+ * come straight off the model's tool call and are echoed back in the trace.
11
+ */
12
+ export declare function normaliseUiParams(kind: ModelKind, raw: unknown): Rec;
13
+ /** The `Fields per kind` block sent in the `params` property description. */
14
+ export declare function uiParamsHelp(): string;
7
15
  /** The provider-facing tool definition. */
8
16
  export declare function uiProviderTool(): ProviderTool;
9
17
  export interface UiValidation {
@@ -12,4 +20,5 @@ export interface UiValidation {
12
20
  block?: Block;
13
21
  }
14
22
  export declare function buildUiBlock(input: Record<string, unknown>): UiValidation;
23
+ export {};
15
24
  //# sourceMappingURL=uiTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uiTool.d.ts","sourceRoot":"","sources":["../../../src/blocks/uiTool.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAqB,KAAK,KAAK,EAAkB,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAExF,eAAO,MAAM,YAAY,YAAY,CAAC;AAsCtC,mFAAmF;AACnF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAyVnD,CAAC;AAgCF,2CAA2C;AAC3C,wBAAgB,cAAc,IAAI,YAAY,CAiB7C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAoCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAsCzE"}
1
+ {"version":3,"file":"uiTool.d.ts","sourceRoot":"","sources":["../../../src/blocks/uiTool.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAqB,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAExF,eAAO,MAAM,YAAY,YAAY,CAAC;AAsCtC,mFAAmF;AAInF,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CA4V5D,CAAC;AA6BF,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6PnC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,CAKpE;AAaD,6EAA6E;AAC7E,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAgCD,2CAA2C;AAC3C,wBAAgB,cAAc,IAAI,YAAY,CA2B7C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAoCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CA4CzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.g.d.ts","sourceRoot":"","sources":["../../../src/catalog/catalog.g.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,cAAc,EA62JnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,MAAM,CAAC"}
1
+ {"version":3,"file":"catalog.g.d.ts","sourceRoot":"","sources":["../../../src/catalog/catalog.g.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,cAAc,EAy7JnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,MAAM,CAAC"}