@sema-agent/core 1.411.0 → 1.414.0

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 (107) hide show
  1. package/dist/agents/roster-store.d.ts.map +1 -1
  2. package/dist/agents/roster-store.js +6 -5
  3. package/dist/agents/roster-store.js.map +1 -1
  4. package/dist/agents/subagent.d.ts.map +1 -1
  5. package/dist/agents/subagent.js +14 -1
  6. package/dist/agents/subagent.js.map +1 -1
  7. package/dist/core/auto-compaction.d.ts +5 -0
  8. package/dist/core/auto-compaction.d.ts.map +1 -1
  9. package/dist/core/auto-compaction.js +6 -4
  10. package/dist/core/auto-compaction.js.map +1 -1
  11. package/dist/core/exec-output-tail.d.ts.map +1 -1
  12. package/dist/core/exec-output-tail.js +1 -1
  13. package/dist/core/exec-output-tail.js.map +1 -1
  14. package/dist/core/mcp.d.ts.map +1 -1
  15. package/dist/core/mcp.js +2 -1
  16. package/dist/core/mcp.js.map +1 -1
  17. package/dist/core/runner/prepare-task.d.ts.map +1 -1
  18. package/dist/core/runner/prepare-task.js +18 -3
  19. package/dist/core/runner/prepare-task.js.map +1 -1
  20. package/dist/core/runner/runtask.d.ts +1 -0
  21. package/dist/core/runner/runtask.d.ts.map +1 -1
  22. package/dist/core/runner/runtask.js +45 -10
  23. package/dist/core/runner/runtask.js.map +1 -1
  24. package/dist/core/runner/turn-attachments.js +3 -0
  25. package/dist/core/runner/turn-attachments.js.map +1 -1
  26. package/dist/core/task-notification.d.ts +3 -0
  27. package/dist/core/task-notification.d.ts.map +1 -1
  28. package/dist/core/task-notification.js +27 -15
  29. package/dist/core/task-notification.js.map +1 -1
  30. package/dist/core/task-registry.d.ts.map +1 -1
  31. package/dist/core/task-registry.js +6 -1
  32. package/dist/core/task-registry.js.map +1 -1
  33. package/dist/core/tool-policy.d.ts.map +1 -1
  34. package/dist/core/tool-policy.js +61 -10
  35. package/dist/core/tool-policy.js.map +1 -1
  36. package/dist/core/tool-result-budget.d.ts +5 -0
  37. package/dist/core/tool-result-budget.d.ts.map +1 -1
  38. package/dist/core/tool-result-budget.js +58 -27
  39. package/dist/core/tool-result-budget.js.map +1 -1
  40. package/dist/core/tool-result-store.d.ts +4 -1
  41. package/dist/core/tool-result-store.d.ts.map +1 -1
  42. package/dist/core/tool-result-store.js +5 -3
  43. package/dist/core/tool-result-store.js.map +1 -1
  44. package/dist/core/types.d.ts +5 -0
  45. package/dist/core/types.d.ts.map +1 -1
  46. package/dist/core/untrusted-egress.d.ts.map +1 -1
  47. package/dist/core/untrusted-egress.js +5 -2
  48. package/dist/core/untrusted-egress.js.map +1 -1
  49. package/dist/core/untrusted-text.d.ts +1 -1
  50. package/dist/core/untrusted-text.d.ts.map +1 -1
  51. package/dist/core/untrusted-text.js +12 -3
  52. package/dist/core/untrusted-text.js.map +1 -1
  53. package/dist/engine/compaction/utils.d.ts.map +1 -1
  54. package/dist/engine/compaction/utils.js +2 -1
  55. package/dist/engine/compaction/utils.js.map +1 -1
  56. package/dist/engine/harness/types.d.ts +15 -0
  57. package/dist/engine/harness/types.d.ts.map +1 -1
  58. package/dist/engine/harness/types.js +31 -0
  59. package/dist/engine/harness/types.js.map +1 -1
  60. package/dist/engine/session/import-validate.d.ts +1 -0
  61. package/dist/engine/session/import-validate.d.ts.map +1 -1
  62. package/dist/engine/session/import-validate.js +40 -3
  63. package/dist/engine/session/import-validate.js.map +1 -1
  64. package/dist/engine/session/log-digest.d.ts +6 -0
  65. package/dist/engine/session/log-digest.d.ts.map +1 -0
  66. package/dist/engine/session/log-digest.js +23 -0
  67. package/dist/engine/session/log-digest.js.map +1 -0
  68. package/dist/engine/session/session.d.ts.map +1 -1
  69. package/dist/engine/session/session.js +8 -10
  70. package/dist/engine/session/session.js.map +1 -1
  71. package/dist/index.d.ts +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +1 -0
  74. package/dist/index.js.map +1 -1
  75. package/dist/prompt-assembly/assemble.d.ts.map +1 -1
  76. package/dist/prompt-assembly/assemble.js +7 -6
  77. package/dist/prompt-assembly/assemble.js.map +1 -1
  78. package/dist/stores/file/background-agent-store.d.ts +1 -0
  79. package/dist/stores/file/background-agent-store.d.ts.map +1 -1
  80. package/dist/stores/file/background-agent-store.js +7 -3
  81. package/dist/stores/file/background-agent-store.js.map +1 -1
  82. package/dist/stores/file/checkpoint-store.d.ts +9 -4
  83. package/dist/stores/file/checkpoint-store.d.ts.map +1 -1
  84. package/dist/stores/file/checkpoint-store.js +56 -8
  85. package/dist/stores/file/checkpoint-store.js.map +1 -1
  86. package/dist/stores/file/fs-atomic.d.ts +1 -0
  87. package/dist/stores/file/fs-atomic.d.ts.map +1 -1
  88. package/dist/stores/file/fs-atomic.js +18 -2
  89. package/dist/stores/file/fs-atomic.js.map +1 -1
  90. package/dist/stores/file/mailbox-store.d.ts.map +1 -1
  91. package/dist/stores/file/mailbox-store.js +23 -5
  92. package/dist/stores/file/mailbox-store.js.map +1 -1
  93. package/dist/stores/file/memory-store.d.ts +3 -1
  94. package/dist/stores/file/memory-store.d.ts.map +1 -1
  95. package/dist/stores/file/memory-store.js +24 -2
  96. package/dist/stores/file/memory-store.js.map +1 -1
  97. package/dist/stores/file/session-store.d.ts.map +1 -1
  98. package/dist/stores/file/session-store.js +7 -21
  99. package/dist/stores/file/session-store.js.map +1 -1
  100. package/dist/stores/file/task-list-store.d.ts.map +1 -1
  101. package/dist/stores/file/task-list-store.js +4 -3
  102. package/dist/stores/file/task-list-store.js.map +1 -1
  103. package/dist/stores/file/workflow-run-store.d.ts +1 -0
  104. package/dist/stores/file/workflow-run-store.d.ts.map +1 -1
  105. package/dist/stores/file/workflow-run-store.js +7 -3
  106. package/dist/stores/file/workflow-run-store.js.map +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-policy.d.ts","sourceRoot":"","sources":["../../src/core/tool-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-policy.d.ts","sourceRoot":"","sources":["../../src/core/tool-policy.ts"],"names":[],"mappings":"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"}
@@ -118,7 +118,7 @@ export function combinePolicies(...policies) {
118
118
  },
119
119
  };
120
120
  }
121
- const COARSE_SHELL_TOOLS = ["Bash"];
121
+ const COARSE_SHELL_TOOLS = ["Bash", "Monitor"];
122
122
  export function createCoarseCommandNamePolicy(opts) {
123
123
  const allow = opts.allow ? new Set(opts.allow) : undefined;
124
124
  const deny = new Set(opts.deny ?? []);
@@ -150,7 +150,11 @@ export function createCoarseCommandNamePolicy(opts) {
150
150
  };
151
151
  }
152
152
  const UNVERIFIABLE_DELETE_SAFE_VARS = ["TMPDIR", "HOME", "PWD"];
153
- const DELETE_WRAPPERS = new Set(["sudo", "command", "nohup", "time", "do", "then", "else"]);
153
+ const DELETE_HEADS = new Set(["rm", "xargs", "Remove-Item"]);
154
+ const DELETE_WRAPPERS = new Set([
155
+ "sudo", "command", "nohup", "time", "do", "then", "else",
156
+ "env", "nice", "ionice", "exec", "doas", "setsid", "stdbuf", "chroot", "eval",
157
+ ]);
154
158
  const STATEMENT_SPLIT = /[;&|\n]+/;
155
159
  const stripTokenEdges = (t) => t.replace(/^[("'{]+|[)"'}]+$/g, "");
156
160
  function restOfAssignment(tokens, i, eq) {
@@ -175,7 +179,7 @@ function assignmentTokenSpan(tokens, i) {
175
179
  for (let k = i + 1; k < tokens.length; k++)
176
180
  if (tokens[k].endsWith(q))
177
181
  return k - i + 1;
178
- return tokens.length - i;
182
+ return 1;
179
183
  }
180
184
  function valueIsOpaque(value, assigned, safeVars) {
181
185
  const v = value.replace(/["']/g, "");
@@ -183,6 +187,8 @@ function valueIsOpaque(value, assigned, safeVars) {
183
187
  return true;
184
188
  if (/\$[@*#!?0-9-]/.test(v))
185
189
  return true;
190
+ if (/\$\{[!#]/.test(v))
191
+ return true;
186
192
  for (const vm of v.matchAll(/\$\{?([A-Za-z_][A-Za-z0-9_]*)\}?/g)) {
187
193
  const ref = vm[1];
188
194
  if (!assigned.has(ref) && !safeVars.has(ref))
@@ -192,6 +198,17 @@ function valueIsOpaque(value, assigned, safeVars) {
192
198
  }
193
199
  export function findUnverifiableRecursiveDelete(command, safeVars = new Set(UNVERIFIABLE_DELETE_SAFE_VARS)) {
194
200
  const assigned = new Set();
201
+ const assignedEscapesRoot = new Set();
202
+ const valueEscapesRoot = (value, safe) => {
203
+ const v = value.replace(/\\(.)/g, "$1").replace(/["']/g, "");
204
+ for (const vm of v.matchAll(/\$\{?([A-Za-z_][A-Za-z0-9_]*)\}?/g)) {
205
+ if (!safe.has(vm[1]))
206
+ continue;
207
+ if (v.slice((vm.index ?? 0) + vm[0].length).split("/").includes(".."))
208
+ return true;
209
+ }
210
+ return false;
211
+ };
195
212
  const statements = command.split(STATEMENT_SPLIT);
196
213
  for (const stmt of statements) {
197
214
  const tokens = stmt.trim().split(/\s+/).filter(Boolean);
@@ -204,12 +221,20 @@ export function findUnverifiableRecursiveDelete(command, safeVars = new Set(UNVE
204
221
  assigned.delete(name);
205
222
  else
206
223
  assigned.add(name);
224
+ if (valueEscapesRoot(value, safeVars))
225
+ assignedEscapesRoot.add(name);
226
+ else
227
+ assignedEscapesRoot.delete(name);
207
228
  i += assignmentTokenSpan(tokens, i);
208
229
  }
230
+ let sawWrapper = false;
209
231
  while (i < tokens.length) {
210
- const t = stripTokenEdges(tokens[i]);
232
+ const t = stripTokenEdges(tokens[i]).replace(/^\\/, "");
211
233
  if (DELETE_WRAPPERS.has(t)) {
234
+ sawWrapper = true;
212
235
  i++;
236
+ while (i < tokens.length && (/^-/.test(tokens[i]) || /^[A-Za-z_][A-Za-z0-9_]*=/.test(tokens[i])))
237
+ i++;
213
238
  continue;
214
239
  }
215
240
  if (t === "timeout" && i + 1 < tokens.length) {
@@ -220,7 +245,18 @@ export function findUnverifiableRecursiveDelete(command, safeVars = new Set(UNVE
220
245
  }
221
246
  if (i >= tokens.length)
222
247
  continue;
223
- const head = stripTokenEdges(tokens[i]);
248
+ const norm = (tok) => {
249
+ const t = stripTokenEdges(tok).replace(/^\\/, "");
250
+ return t.split("/").pop() ?? t;
251
+ };
252
+ let headIdx = i;
253
+ if (sawWrapper && !DELETE_HEADS.has(norm(tokens[headIdx]))) {
254
+ const found = tokens.findIndex((t, k) => k > headIdx && DELETE_HEADS.has(norm(t)));
255
+ if (found !== -1)
256
+ headIdx = found;
257
+ }
258
+ i = headIdx;
259
+ const head = stripTokenEdges(tokens[i]).replace(/^\\/, "");
224
260
  const headName = head.split("/").pop() ?? head;
225
261
  let m;
226
262
  if ((m = stmt.trim().match(/^(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)=(.*)$/))) {
@@ -228,6 +264,10 @@ export function findUnverifiableRecursiveDelete(command, safeVars = new Set(UNVE
228
264
  assigned.delete(m[1]);
229
265
  else
230
266
  assigned.add(m[1]);
267
+ if (valueEscapesRoot(m[2], safeVars))
268
+ assignedEscapesRoot.add(m[1]);
269
+ else
270
+ assignedEscapesRoot.delete(m[1]);
231
271
  }
232
272
  if (headName === "read") {
233
273
  void 0;
@@ -236,6 +276,8 @@ export function findUnverifiableRecursiveDelete(command, safeVars = new Set(UNVE
236
276
  const list = tokens.slice(i + 3).join(" ");
237
277
  if (!valueIsOpaque(list, assigned, safeVars))
238
278
  assigned.add(tokens[i + 1]);
279
+ if (valueEscapesRoot(list, safeVars))
280
+ assignedEscapesRoot.add(tokens[i + 1]);
239
281
  }
240
282
  if (headName === "xargs") {
241
283
  const rest = tokens.slice(i + 1).map(stripTokenEdges);
@@ -275,13 +317,22 @@ export function findUnverifiableRecursiveDelete(command, safeVars = new Set(UNVE
275
317
  if (/\$[@*#!?0-9-]/.test(target)) {
276
318
  return `\`rm\` recursive+force target ${raw} uses a positional/special shell parameter that cannot be verified from this command`;
277
319
  }
278
- for (const vm of target.matchAll(/\$\{?([A-Za-z_][A-Za-z0-9_]*)\}?/g)) {
320
+ const targetNorm = target.replace(/\\(.)/g, "$1");
321
+ for (const vm of targetNorm.matchAll(/\$\{?([A-Za-z_][A-Za-z0-9_]*)\}?/g)) {
279
322
  const name = vm[1];
280
- if (assigned.has(name))
281
- continue;
323
+ if (assigned.has(name)) {
324
+ const afterName = targetNorm.slice((vm.index ?? 0) + vm[0].length);
325
+ if (afterName.split("/").includes("..")) {
326
+ return `\`rm\` recursive+force target ${raw} climbs above its in-window root via \`..\` — the deleted path cannot be verified from this command`;
327
+ }
328
+ if (!assignedEscapesRoot.has(name))
329
+ continue;
330
+ return `\`rm\` recursive+force target ${raw} resolves through ${name}, whose in-window value climbs above a known-safe root (\`..\`) — the deleted path cannot be verified from this command`;
331
+ }
282
332
  if (safeVars.has(name)) {
283
- const after = target.slice((vm.index ?? 0) + vm[0].length);
284
- if (/^\/[^*?[\]]+$/.test(after))
333
+ const after = targetNorm.slice((vm.index ?? 0) + vm[0].length);
334
+ const escapesRoot = after.split("/").includes("..");
335
+ if (/^\/[^*?[\]]+$/.test(after) && !escapesRoot)
285
336
  continue;
286
337
  }
287
338
  return `\`rm\` recursive+force target ${raw} references $${name}, which has no assignment in this command — an empty or unexpected value could make this a home-directory or filesystem-root wipe`;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-policy.js","sourceRoot":"","sources":["../../src/core/tool-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-policy.js","sourceRoot":"","sources":["../../src/core/tool-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA4D3D,MAAM,UAAU,YAAY,CAAC,CAAmB;IAC9C,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC;AAC/B,CAAC;AAmBD,MAAM,KAAK,GAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAQhD,SAAS,WAAW,CAAI,CAAa,EAAE,EAAsB,EAAE,SAAkB;IAC/E,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,EAAsB,EAAE,CAAU,EAAQ,EAAE;YAC1D,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACnB,EAA2B,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QAGF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,CAAC,OAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,CAAC,EAAE,EAAE,CAAC,CAAC;QACN,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5C,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAgB,EAAE,CAAC,CAAC,EAClC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAe,EAAE,CAAC,CAAC,CAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAgCD,MAAM,UAAU,kBAAkB,CAAC,CAAyB;IAC1D,MAAM,IAAI,GAAI,CAA0C,EAAE,QAAQ,CAAC;IACnE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,IAA2C;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/D,OAAO;QACL,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACjH,KAAK,CAAC,GAAG;YAGP,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,QAAQ,uBAAuB,EAAE,CAAC;YAClF,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,QAAQ,2BAA2B,EAAE,CAAC;YACtF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAAC,IAsBpC;IACC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpE,OAAO;QAGL,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D;SACF;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM;YAErB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,QAAQ,uBAAuB,EAAE,CAAC;YAClF,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,CAAC,QAAQ,gBAAgB,EAAE,CAAC;gBAC3F,CAAC;gBACD,IAAI,EAAW,CAAC;gBAChB,IAAI,CAAC;oBACH,EAAE,GAAG,MAAM,WAAW,CACpB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAC1C,IAAI,CAAC,iBAAiB,EACtB,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBAEb,OAAO;wBACL,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,yBAAyB,GAAG,CAAC,QAAQ,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACtG,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC1F,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,QAAQ,2BAA2B,EAAE,CAAC;YACtF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,eAAe,CAAC,GAAG,QAAsB;IAIvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtD,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM;YACrB,IAAI,KAAmC,CAAC;YAQxC,IAAI,OAAO,GAAG,GAAG,CAAC;YAClB,IAAI,OAAkE,CAAC;YACvE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAKxB,OAAO,OAAO,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,CAAC;gBAKD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;oBAC/C,OAAO,GAAG,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBACjC,KAAK,GAAG,CAAC,CAAC;gBACZ,CAAC;YACH,CAAC;YAGD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,OAAO,EAAE,YAAY,CAAC;gBACrC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3E,CAAC;YACD,OAAO,OAAO,IAAI,KAAK,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC;AAcD,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AA8C/C,MAAM,UAAU,6BAA6B,CAAC,IAS7C;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC;IAClD,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAoB,EAAE,CACpD,aAAa,KAAK,MAAM;QACtB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;QACpD,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACjE,OAAO;QACL,KAAK,CAAC,GAAoB;YAcxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnE,MAAM,OAAO,GAAI,GAAG,CAAC,IAAiD,EAAE,OAAO,CAAC;YAChF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAEhC,OAAO,QAAQ,CAAC,SAAS,GAAG,CAAC,QAAQ,wCAAwC,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAGvB,OAAO,QAAQ,CAAC,2CAA2C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,MAAM,CAAC,IAAI,uBAAuB,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YAC5G,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,OAAO,QAAQ,CAAC,YAAY,MAAM,CAAC,IAAI,2BAA2B,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAmCD,MAAM,6BAA6B,GAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAmBnF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAClF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IACxD,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;CAC9E,CAAC,CAAC;AAMH,MAAM,eAAe,GAAG,UAAU,CAAC;AAGnC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AAwBnF,SAAS,gBAAgB,CAAC,MAAgB,EAAE,CAAS,EAAE,EAAU;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;QACvB,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,MAAM;IACpC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAID,SAAS,mBAAmB,CAAC,MAAgB,EAAE,CAAS;IACtD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACzE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAMzF,OAAO,CAAC,CAAC;AACX,CAAC;AAID,SAAS,aAAa,CAAC,KAAa,EAAE,QAA6B,EAAE,QAA6B;IAChG,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAKzC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAe,EACf,WAAgC,IAAI,GAAG,CAAC,6BAA6B,CAAC;IAEtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,IAAyB,EAAW,EAAE;QAC7E,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;gBAAE,SAAS;YAChC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACrF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAQvE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAKpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;gBAC/D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBAChE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAEzB,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,CAAC;gBAClB,CAAC,EAAE,CAAC;gBAGJ,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;oBAAE,CAAC,EAAE,CAAC;gBACxG,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7C,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM;YAAE,SAAS;QAOjC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAU,EAAE;YACnC,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,CAAC,GAAG,OAAO,CAAC;QACZ,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QAG/C,IAAI,CAA0B,CAAC;QAG/B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,EAAE,CAAC;YAG7E,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAC9D,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;gBAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;;gBAChE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAIxB,KAAK,CAAC,CAAC;QACT,CAAC;QAID,IAAI,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAAE,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;QAChF,CAAC;QAGD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACvE,IAAI,IAAI,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,0GAA0G,CAAC;YACpH,CAAC;YACD,SAAS;QACX,CAAC;QAGD,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,OAAO,IAAI,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChD,OAAO,0CAA0C,SAAS,0DAA0D,CAAC;YACvH,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,SAAS;QAEvC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClC,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,iCAAiC,GAAG,oFAAoF,CAAC;YAClI,CAAC;YACD,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,iCAAiC,GAAG,sFAAsF,CAAC;YACpI,CAAC;YAKD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClD,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAMnB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAIvB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnE,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,OAAO,iCAAiC,GAAG,qGAAqG,CAAC;oBACnJ,CAAC;oBACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAC7C,OAAO,iCAAiC,GAAG,qBAAqB,IAAI,yHAAyH,CAAC;gBAChM,CAAC;gBACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAWvB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW;wBAAE,SAAS;gBAC5D,CAAC;gBACD,OAAO,iCAAiC,GAAG,gBAAgB,IAAI,mIAAmI,CAAC;YACrM,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAID,SAAS,iBAAiB,CAAC,QAA2B;IACpD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI;YAAE,MAAM;QACtB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,KAAK,aAAa;YAAE,SAAS,GAAG,IAAI,CAAC;aACrC,IAAI,CAAC,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAC;aAClC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,SAAS,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,IAAI,KAAK,CAAC;AAC5B,CAAC;AAeD,MAAM,UAAU,8BAA8B,CAAC,IAK9C;IACC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,6BAA6B,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,kBAAkB,CAAC,CAAC;IAC9D,OAAO;QACL,KAAK,CAAC,GAAoB;YACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnE,MAAM,OAAO,GAAI,GAAG,CAAC,IAAiD,EAAE,OAAO,CAAC;YAChF,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC9C,MAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACxC,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,cAAc,EAAE,QAAQ;gBACxB,MAAM,EACJ,wDAAwD,OAAO,IAAI;oBACnE,mFAAmF;oBACnF,sHAAsH;aACzH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAqBD,MAAM,UAAU,+BAA+B,CAAC,IAO/C;IACC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7E,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAC1C,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,2BAA2B,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,kBAAkB,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,CAAC,CAAS,EAAW,EAAE;QAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAoB,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,QAAQ;QACxB,MAAM,EACJ,qCAAqC,IAAI,+DAA+D;YACxG,uGAAuG;YACvG,qGAAqG;YACrG,mBAAmB;KACtB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,CAAC,GAAoB;YACxB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAI,GAAG,CAAC,IAAiD,EAAE,OAAO,CAAC;gBAChF,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC7D,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,MAAM,IAAI,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACjE,OAAO,UAAU,CACf,MAAM,IAAI,MAAM;oBACd,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,+BAA+B;oBACjD,CAAC,CAAC,qGAAqG,CAC1G,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC/E,MAAM,CAAC,GAAG,GAAG,CAAC,IAA2E,CAAC;gBAC1F,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,aAAa,CAAC;gBAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AA2FD,SAAS,YAAY,CAAI,CAAI;IAO3B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,oBAAoB,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACtD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAID,SAAS,oBAAoB,CAAC,CAAU,EAAE,OAAO,IAAI,GAAG,EAAU;IAChE,IAAI,OAAO,iBAAiB,KAAK,WAAW,IAAI,CAAC,YAAY,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC5F,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,iBAAiB,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,YAAY,iBAAiB,CAAC;IACpH,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5G,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,CAAC;YAAE,IAAI,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,IAAI,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACrF,OAAO,KAAK,CAAC;AACf,CAAC;AAuBD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAe,EACf,KAAwB,EACxB,MAAoB;IAEpB,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAE5C,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0BAA0B,GAAG,CAAC,QAAQ,oDAAoD,GAAG,CAAC,OAAO,EAAE;YAChH,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,CAAC,QAAQ,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACpH,CAAC;IASD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iBAAiB,GAAG,CAAC,QAAQ,6EAA6E;YACnH,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IACD,IAAI,EAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YAGrB,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,iBAAiB,GAAG,CAAC,QAAQ,6EAA6E;gBACnH,cAAc,EAAE,MAAM;aACvB,CAAC;QACJ,CAAC;QACD,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAEb,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,yBAAyB,GAAG,CAAC,QAAQ,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACtG,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;QAKzB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EACL,0BAA0B,GAAG,CAAC,QAAQ,wDAAwD;gBAC9F,sFAAsF,GAAG,CAAC,OAAO,EAAE;YACrG,cAAc,EAAE,MAAM;YACtB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAM1C,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QACtH,CAAC;QACD,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QACvH,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAGb,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,0BAA0B,GAAG,CAAC,QAAQ,+CAA+C;gBAC9F,cAAc,EAAE,MAAM;aACvB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE;QACP,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE;QAC9E,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AACnH,CAAC"}
@@ -11,6 +11,11 @@ export interface AggregateBudgetOptions {
11
11
  sizeChars: number;
12
12
  storeFallback: boolean;
13
13
  }) => void;
14
+ onBudgetUnreachable?: (info: {
15
+ batchChars: number;
16
+ budgetChars: number;
17
+ results: number;
18
+ }) => void;
14
19
  }
15
20
  export declare const DEFAULT_BUDGET_EXEMPT_TOOLS: ReadonlySet<string>;
16
21
  export declare function capAggregateToolResults(messages: AgentMessage[], opts: AggregateBudgetOptions): Promise<AgentMessage[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-budget.d.ts","sourceRoot":"","sources":["../../src/core/tool-result-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,KAAK,eAAe,EAA4D,MAAM,wBAAwB,CAAC;AAoBxH,eAAO,MAAM,kCAAkC,SAAU,CAAC;AA0C1D,MAAM,WAAW,sBAAsB;IAErC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,SAAS,EAAE,MAAM,CAAC;IAIlB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACzF;AAID,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAwC,CAAC;AAGrG,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,YAAY,EAAE,EACxB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC,CAsEzB"}
1
+ {"version":3,"file":"tool-result-budget.d.ts","sourceRoot":"","sources":["../../src/core/tool-result-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,KAAK,eAAe,EAA4D,MAAM,wBAAwB,CAAC;AAoBxH,eAAO,MAAM,kCAAkC,SAAU,CAAC;AA+C1D,MAAM,WAAW,sBAAsB;IAErC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,SAAS,EAAE,MAAM,CAAC;IAIlB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAMxF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpG;AAID,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAwC,CAAC;AAGrG,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,YAAY,EAAE,EACxB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC,CAsHzB"}
@@ -4,6 +4,8 @@ export const AGGREGATE_TOOL_RESULT_BUDGET_CHARS = 200_000;
4
4
  const HEAD = 1_000;
5
5
  const TAIL = 1_000;
6
6
  const PREVIEW_OVERHEAD = 256;
7
+ const COMPACT_HEAD = 200;
8
+ const COMPACT_TAIL = 200;
7
9
  function textChars(content) {
8
10
  let n = 0;
9
11
  for (const b of content)
@@ -22,11 +24,11 @@ function replaceTextBlock(m, text) {
22
24
  const images = m.content.filter((b) => b.type !== "text");
23
25
  return { ...m, content: [{ type: "text", text }, ...images] };
24
26
  }
25
- function truncationPreview(full) {
27
+ function truncationPreview(full, head = HEAD, tail = TAIL) {
26
28
  const total = full.length;
27
- const tailStart = Math.max(HEAD, total - TAIL);
28
- return (`${full.slice(0, HEAD)}\n` +
29
- `…[${total} chars total; ${tailStart - HEAD} omitted to fit the per-turn result budget — re-run with a narrower query to see the rest.]\n` +
29
+ const tailStart = Math.max(head, total - tail);
30
+ return (`${full.slice(0, head)}\n` +
31
+ `…[${total} chars total; ${tailStart - head} omitted to fit the per-turn result budget — re-run with a narrower query to see the rest.]\n` +
30
32
  `${full.slice(tailStart)}`);
31
33
  }
32
34
  export const DEFAULT_BUDGET_EXEMPT_TOOLS = new Set(["Read", OFFLOAD_TOOL_NAME]);
@@ -53,48 +55,77 @@ export async function capAggregateToolResults(messages, opts) {
53
55
  }
54
56
  if (total > budget) {
55
57
  out = out ?? messages.slice();
56
- const cand = [];
57
- for (let k = i; k < j; k++) {
58
- const m = out[k];
59
- if (m.toolName && exempt.has(m.toolName))
60
- continue;
61
- if (isOffloadedPreview(m.content))
62
- continue;
63
- const size = textChars(m.content);
64
- if (size > HEAD + TAIL + PREVIEW_OVERHEAD)
65
- cand.push({ k, size });
66
- }
67
- cand.sort((a, b) => b.size - a.size || a.k - b.k);
68
- for (const { k, size } of cand) {
69
- if (total <= budget)
70
- break;
58
+ const firedFallback = new Map();
59
+ const previewOne = async (k, before, head, tail, fromOriginal) => {
71
60
  const m = out[k];
72
- const before = size;
73
- const full = textOf(m.content);
61
+ const full = textOf((fromOriginal ? messages[k] : m).content);
74
62
  const ref = `tr_${opts.sessionId}_${m.toolCallId ?? `idx${k}`}`;
63
+ const sizes = head === HEAD && tail === TAIL ? undefined : { head, tail };
75
64
  let previewText;
76
65
  let storeFallback;
77
66
  if (opts.store) {
78
67
  try {
79
68
  await opts.store.put(ref, full);
80
- previewText = buildPreview(full, ref);
69
+ previewText = buildPreview(full, ref, sizes);
81
70
  storeFallback = false;
82
71
  }
83
72
  catch {
84
- previewText = truncationPreview(full);
73
+ previewText = truncationPreview(full, head, tail);
85
74
  storeFallback = true;
86
75
  }
87
76
  }
88
77
  else {
89
- previewText = truncationPreview(full);
78
+ previewText = truncationPreview(full, head, tail);
90
79
  storeFallback = true;
91
80
  }
92
81
  if (previewText.length >= before)
93
- continue;
82
+ return 0;
94
83
  out[k] = replaceTextBlock(out[k], previewText);
95
- total -= before - previewText.length;
96
- opts.onCapped?.({ ...(m.toolName !== undefined ? { tool: m.toolName } : {}), sizeChars: before, storeFallback });
84
+ const prior = firedFallback.get(k);
85
+ if (prior === undefined || (storeFallback && !prior)) {
86
+ firedFallback.set(k, storeFallback);
87
+ opts.onCapped?.({ ...(m.toolName !== undefined ? { tool: m.toolName } : {}), sizeChars: before, storeFallback });
88
+ }
89
+ return before - previewText.length;
90
+ };
91
+ const cand = [];
92
+ for (let k = i; k < j; k++) {
93
+ const m = out[k];
94
+ if (m.toolName && exempt.has(m.toolName))
95
+ continue;
96
+ if (isOffloadedPreview(m.content))
97
+ continue;
98
+ const size = textChars(m.content);
99
+ if (size > HEAD + TAIL + PREVIEW_OVERHEAD)
100
+ cand.push({ k, size });
101
+ }
102
+ cand.sort((a, b) => b.size - a.size || a.k - b.k);
103
+ for (const { k, size } of cand) {
104
+ if (total <= budget)
105
+ break;
106
+ total -= await previewOne(k, size, HEAD, TAIL, false);
107
+ }
108
+ if (total > budget) {
109
+ const cand2 = [];
110
+ for (let k = i; k < j; k++) {
111
+ const m = out[k];
112
+ if (m.toolName && exempt.has(m.toolName))
113
+ continue;
114
+ if (isOffloadedPreview(messages[k].content))
115
+ continue;
116
+ const size = textChars(m.content);
117
+ if (size > COMPACT_HEAD + COMPACT_TAIL + PREVIEW_OVERHEAD)
118
+ cand2.push({ k, size });
119
+ }
120
+ cand2.sort((a, b) => b.size - a.size || a.k - b.k);
121
+ for (const { k, size } of cand2) {
122
+ if (total <= budget)
123
+ break;
124
+ total -= await previewOne(k, size, COMPACT_HEAD, COMPACT_TAIL, true);
125
+ }
97
126
  }
127
+ if (total > budget)
128
+ opts.onBudgetUnreachable?.({ batchChars: total, budgetChars: budget, results: j - i });
98
129
  }
99
130
  i = j;
100
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-budget.js","sourceRoot":"","sources":["../../src/core/tool-result-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result-budget.js","sourceRoot":"","sources":["../../src/core/tool-result-budget.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAwB,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAoBxH,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC;AAC1D,MAAM,IAAI,GAAG,KAAK,CAAC;AACnB,MAAM,IAAI,GAAG,KAAK,CAAC;AAGnB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAI7B,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,YAAY,GAAG,GAAG,CAAC;AAIzB,SAAS,SAAS,CAAC,OAAgB;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACjG,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,MAAM,CAAC,OAAgB;IAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC;AAID,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACpH,CAAC;AAGD,SAAS,gBAAgB,CAAC,CAAe,EAAE,IAAY;IACrD,MAAM,MAAM,GAAI,CAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACpF,OAAO,EAAE,GAAI,CAAwC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,EAA6B,CAAC;AACnI,CAAC;AAGD,SAAS,iBAAiB,CAAC,IAAY,EAAE,OAAe,IAAI,EAAE,OAAe,IAAI;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/C,OAAO,CACL,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI;QAC1B,KAAK,KAAK,iBAAiB,SAAS,GAAG,IAAI,+FAA+F;QAC1I,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAC3B,CAAC;AACJ,CAAC;AAyBD,MAAM,CAAC,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAGrG,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAwB,EACxB,IAA4B;IAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,kCAAkC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,2BAA2B,CAAC;IAC/D,IAAI,GAA+B,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QAG7D,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAA4C,CAAC;YAC5D,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACnD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YACnB,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAW9B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;YACjD,MAAM,UAAU,GAAG,KAAK,EAAE,CAAS,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,YAAqB,EAAmB,EAAE;gBACzH,MAAM,CAAC,GAAG,GAAI,CAAC,CAAC,CAAiE,CAAC;gBAClF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,QAAQ,CAAC,CAAC,CAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC1E,IAAI,WAAmB,CAAC;gBACxB,IAAI,aAAsB,CAAC;gBAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAChC,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC7C,aAAa,GAAG,KAAK,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBAGP,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBAClD,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAClD,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;gBAED,IAAI,WAAW,CAAC,MAAM,IAAI,MAAM;oBAAE,OAAO,CAAC,CAAC;gBAC3C,GAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBACjD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrD,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;oBACpC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnH,CAAC;gBACD,OAAO,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC;YAIF,MAAM,IAAI,GAAuC,EAAE,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAA4C,CAAC;gBAC5D,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACnD,IAAI,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAIlC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,gBAAgB;oBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBAC/B,IAAI,KAAK,IAAI,MAAM;oBAAE,MAAM;gBAC3B,KAAK,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YASD,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAuC,EAAE,CAAC;gBACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAA4C,CAAC;oBAC5D,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAGnD,IAAI,kBAAkB,CAAE,QAAQ,CAAC,CAAC,CAA0B,CAAC,OAAO,CAAC;wBAAE,SAAS;oBAChF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,IAAI,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;oBAChC,IAAI,KAAK,IAAI,MAAM;wBAAE,MAAM;oBAC3B,KAAK,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAID,IAAI,KAAK,GAAG,MAAM;gBAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;IACD,OAAO,GAAG,IAAI,QAAQ,CAAC;AACzB,CAAC"}
@@ -49,7 +49,10 @@ export declare function firstPartyOffloadPolicy(toolName: string): {
49
49
  offload?: boolean;
50
50
  offloadThresholdChars?: number;
51
51
  };
52
- export declare function buildPreview(full: string, ref: string): string;
52
+ export declare function buildPreview(full: string, ref: string, sizes?: {
53
+ head: number;
54
+ tail: number;
55
+ }): string;
53
56
  export declare function withToolResultOffload(tool: AgentTool, store: ToolResultStore, thresholdChars: number, sessionId: string): AgentTool;
54
57
  export declare function makeReadToolResultTool(store: ToolResultStore): AgentTool;
55
58
  //# sourceMappingURL=tool-result-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-store.d.ts","sourceRoot":"","sources":["../../src/core/tool-result-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAexD,MAAM,WAAW,eAAe;IAS9B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExD,GAAG,CACD,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;CACvE;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,qBAAa,uBAAwB,YAAW,eAAe;IAGjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAFlC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,UAAU,CAAK;gBACM,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA;IAC9D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAevC,OAAO,IAAI,OAAO;IAGlB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,GAAG,SAAS;CAQ1F;AAKD,qBAAa,2BAA4B,SAAQ,uBAAuB;CAAG;AAa3E,qBAAa,qBAAsB,YAAW,eAAe;IAMzD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,SAAS,CAAK;IAGtB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;gBAEf,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM;IAKhC,OAAO,CAAC,GAAG;IAGX,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS;IAIhI,OAAO,IAAI,OAAO;CAGnB;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAGtE;AAGD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAGlD,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAgB1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/G;AAoBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa9D;AAUD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,SAAS,CAmBX;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CA0BxE"}
1
+ {"version":3,"file":"tool-result-store.d.ts","sourceRoot":"","sources":["../../src/core/tool-result-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAexD,MAAM,WAAW,eAAe;IAS9B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExD,GAAG,CACD,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;CACvE;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,qBAAa,uBAAwB,YAAW,eAAe;IAGjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAFlC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,UAAU,CAAK;gBACM,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA;IAC9D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAevC,OAAO,IAAI,OAAO;IAGlB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,GAAG,SAAS;CAQ1F;AAKD,qBAAa,2BAA4B,SAAQ,uBAAuB;CAAG;AAa3E,qBAAa,qBAAsB,YAAW,eAAe;IAMzD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,SAAS,CAAK;IAGtB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;gBAEf,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM;IAKhC,OAAO,CAAC,GAAG;IAGX,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS;IAIhI,OAAO,IAAI,OAAO;CAGnB;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAGtE;AAGD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAGlD,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAgB1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/G;AAoBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAkBtG;AAUD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,SAAS,CAmBX;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CA0BxE"}
@@ -97,10 +97,12 @@ function totalTextChars(content) {
97
97
  n += b.text.length;
98
98
  return n;
99
99
  }
100
- export function buildPreview(full, ref) {
100
+ export function buildPreview(full, ref, sizes) {
101
101
  const total = full.length;
102
- const head = full.slice(0, PREVIEW_HEAD_CHARS);
103
- const tailStart = Math.max(PREVIEW_HEAD_CHARS, total - PREVIEW_TAIL_CHARS);
102
+ const headChars = sizes?.head ?? PREVIEW_HEAD_CHARS;
103
+ const tailChars = sizes?.tail ?? PREVIEW_TAIL_CHARS;
104
+ const head = full.slice(0, headChars);
105
+ const tailStart = Math.max(headChars, total - tailChars);
104
106
  const tail = full.slice(tailStart);
105
107
  return (`${PERSISTED_OUTPUT_PREFIX}"${ref}" chars="${total}">\n` +
106
108
  `${head}\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-store.js","sourceRoot":"","sources":["../../src/core/tool-result-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result-store.js","sourceRoot":"","sources":["../../src/core/tool-result-store.ts"],"names":[],"mappings":"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"}
@@ -493,6 +493,11 @@ export type TaskEvent = ({
493
493
  output?: unknown;
494
494
  structured?: unknown;
495
495
  truncated?: boolean;
496
+ } & TaskEventIdentity) | ({
497
+ type: "context_usage";
498
+ usedTokens: number;
499
+ windowTokens: number;
500
+ compactAtTokens: number;
496
501
  } & TaskEventIdentity) | ({
497
502
  type: "turn_end";
498
503
  usage?: {