veryfront 0.1.1286 → 0.1.1287

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/docs/README.md +1 -1
  2. package/docs/config.json +1 -1
  3. package/docs/guides/integrations.md +13 -0
  4. package/docs/manifest.json +6 -6
  5. package/esm/deno.js +1 -1
  6. package/esm/extensions/ext-llm-google/src/google-request-builder.js +1 -1
  7. package/esm/extensions/ext-llm-google/src/google-stream.d.ts.map +1 -1
  8. package/esm/extensions/ext-llm-google/src/google-stream.js +5 -4
  9. package/esm/src/agent/hosted/child-fork-step-message-preparation.d.ts.map +1 -1
  10. package/esm/src/agent/hosted/child-fork-step-message-preparation.js +1 -12
  11. package/esm/src/agent/runtime/message-adapter.d.ts.map +1 -1
  12. package/esm/src/agent/runtime/message-adapter.js +6 -2
  13. package/esm/src/agent/runtime/provider-replay.d.ts.map +1 -1
  14. package/esm/src/agent/runtime/provider-replay.js +10 -2
  15. package/esm/src/agent/runtime/provider-tool-compat.d.ts.map +1 -1
  16. package/esm/src/agent/runtime/provider-tool-compat.js +2 -127
  17. package/esm/src/chat/message-prep.d.ts.map +1 -1
  18. package/esm/src/chat/message-prep.js +2 -1
  19. package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
  20. package/esm/src/integrations/_data.d.ts.map +1 -1
  21. package/esm/src/integrations/_data.js +646 -6
  22. package/esm/src/integrations/_tool_summaries.d.ts.map +1 -1
  23. package/esm/src/integrations/_tool_summaries.js +28 -0
  24. package/esm/src/integrations/local-endpoint-executor.d.ts +6 -0
  25. package/esm/src/integrations/local-endpoint-executor.d.ts.map +1 -1
  26. package/esm/src/integrations/local-endpoint-executor.js +63 -1
  27. package/esm/src/integrations/local-tool-source.d.ts.map +1 -1
  28. package/esm/src/integrations/local-tool-source.js +7 -5
  29. package/esm/src/integrations/schema.d.ts +8 -0
  30. package/esm/src/integrations/schema.d.ts.map +1 -1
  31. package/esm/src/integrations/schema.js +2 -0
  32. package/esm/src/integrations/types.d.ts +1 -0
  33. package/esm/src/integrations/types.d.ts.map +1 -1
  34. package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
  35. package/esm/src/utils/version-constant.d.ts +1 -1
  36. package/esm/src/utils/version-constant.js +1 -1
  37. package/package.json +9 -9
package/docs/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Veryfront Code documentation
2
2
 
3
- These docs ship with veryfront 0.1.1286. Read the relevant guide before changing framework code in a consuming project. Start with [Local quickstart](./getting-started/quickstart.md), then use the task guides or generated API reference below.
3
+ These docs ship with veryfront 0.1.1287. Read the relevant guide before changing framework code in a consuming project. Start with [Local quickstart](./getting-started/quickstart.md), then use the task guides or generated API reference below.
4
4
 
5
5
  Edit source comments and regenerate API reference; do not edit generated reference directly. Website docs may describe a newer version.
6
6
 
package/docs/config.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "concepts",
11
11
  "api-reference"
12
12
  ],
13
- "version": "0.1.1286",
13
+ "version": "0.1.1287",
14
14
  "landing": "getting-started/overview.mdx"
15
15
  }
16
16
  ],
@@ -40,6 +40,19 @@ grants remain active until the user revokes access and reconnects. Update the
40
40
  Google Cloud consent configuration to match the runtime scopes before recording
41
41
  verification evidence.
42
42
 
43
+ ## Calendar result pages
44
+
45
+ The endpoints for `calendar__list_events` and `calendar__list_calendars` return
46
+ a provider page object with an `items` array. If `nextPageToken` is present, pass it as
47
+ `pageToken` on the next call with the other query arguments unchanged. An empty
48
+ page can still have a continuation token. Stop when the token is absent.
49
+
50
+ Earlier versions returned only the item array. Read `items` on the page object
51
+ instead. The number of items is the current page size, not a total count.
52
+ Page-size defaults are unchanged, and free/busy results are unchanged.
53
+
54
+ The hosted tool layer may compact Calendar pages to `events` or `calendars`, with the continuation token under `pagination.nextPageToken`. Both the native page and this compact result retain their cursor in chat history.
55
+
43
56
  ## Make your first call
44
57
 
45
58
  This walkthrough reads one Gmail message summary with `gmail__list_emails` and
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.1286",
2
+ "version": "0.1.1287",
3
3
  "pages": [
4
4
  {
5
5
  "path": "api-reference/index.md",
@@ -706,8 +706,8 @@
706
706
  "sources": [
707
707
  {
708
708
  "product": "code",
709
- "version": "0.1.1286",
710
- "revision": "9e93beb6f689a7fbf317e538d48732d175f52631",
709
+ "version": "0.1.1287",
710
+ "revision": "c918ae9110b7ea742b378129c0fd921e83a366de",
711
711
  "dirty": false,
712
712
  "repository": "https://github.com/veryfront/veryfront-code"
713
713
  }
@@ -1003,7 +1003,7 @@
1003
1003
  },
1004
1004
  {
1005
1005
  "path": "config.json",
1006
- "sha256": "b4522c0019cd1fec3638357065861a6f80ad01c561d7a66f3f1f7aa815e6a686"
1006
+ "sha256": "362debf0d6da66a01968e9063dc4d923aac5fdd3478532f8a79fe8629ace9153"
1007
1007
  },
1008
1008
  {
1009
1009
  "path": "getting-started/add-to-existing-project.md",
@@ -1159,7 +1159,7 @@
1159
1159
  },
1160
1160
  {
1161
1161
  "path": "guides/integrations.md",
1162
- "sha256": "d25c90e8a5466020ba70f1e2f21c1e90db36f66830850d75d4c6c293d2a8054b"
1162
+ "sha256": "7ee32ba0522d1a5d6b8e3a9d9aba978beb81c356c368c5683ce6d944354857e5"
1163
1163
  },
1164
1164
  {
1165
1165
  "path": "guides/integrations/credentials.md",
@@ -1287,7 +1287,7 @@
1287
1287
  },
1288
1288
  {
1289
1289
  "path": "README.md",
1290
- "sha256": "dbc45fc4668db7909d185948850e3ed79e7e3f800921a24ad4796cc5ca6ba1a6"
1290
+ "sha256": "9ddba1bf49b30d807244e32557dfd7dcdb7d17af602c82944331f76027f42407"
1291
1291
  }
1292
1292
  ]
1293
1293
  }
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.1286",
3
+ "version": "0.1.1287",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -612,7 +612,7 @@ function toGoogleTools(tools) {
612
612
  functionDeclarations.push({
613
613
  name: tool.name,
614
614
  ...(typeof tool.description === "string" ? { description: tool.description } : {}),
615
- parameters: unwrapToolInputSchema(tool.inputSchema),
615
+ parametersJsonSchema: unwrapToolInputSchema(tool.inputSchema),
616
616
  });
617
617
  continue;
618
618
  }
@@ -1 +1 @@
1
- {"version":3,"file":"google-stream.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-google/src/google-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,YAAY,EAGlB,MAAM,uCAAuC,CAAC;AAiB/C,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAC1D,eAAO,MAAM,gCAAgC,QAAkB,CAAC;AAChE,eAAO,MAAM,+BAA+B,QAAqC,CAAC;AAClF,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAgBrD,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,GACX,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBlD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CA4B7E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAQjG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAY5F;AAED,KAAK,mBAAmB,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA8BF,wBAAuB,2BAA2B,CAChD,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,OAAO,GAAE,mBAAwB,GAChC,aAAa,CAAC,OAAO,CAAC,CA2wBxB"}
1
+ {"version":3,"file":"google-stream.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-google/src/google-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,YAAY,EAGlB,MAAM,uCAAuC,CAAC;AAiB/C,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAC1D,eAAO,MAAM,gCAAgC,QAAkB,CAAC;AAChE,eAAO,MAAM,+BAA+B,QAAqC,CAAC;AAClF,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAgBrD,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,GACX,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBlD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CA4B7E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAQjG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAY5F;AAED,KAAK,mBAAmB,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA8BF,wBAAuB,2BAA2B,CAChD,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,OAAO,GAAE,mBAAwB,GAChC,aAAa,CAAC,OAAO,CAAC,CA4wBxB"}
@@ -399,10 +399,11 @@ export async function* streamGoogleCompatibleParts(stream, context = {}) {
399
399
  }
400
400
  const providerId = typeof functionCall.id === "string" ? functionCall.id : undefined;
401
401
  const rawPartIndex = rawAssistantParts.length;
402
- // Gemini may replay an anonymous function call in later candidate
403
- // envelopes. Its candidate-part position is stable across those
404
- // cumulative snapshots; our growing retained-output index is not.
405
- const deduplicationKey = providerId ?? `anonymous-${candidatePartIndex}`;
402
+ // Without a provider ID, each complete call is a distinct stream part.
403
+ // Candidate-part indices restart in every envelope and are not call IDs.
404
+ const deduplicationKey = providerId === undefined
405
+ ? `anonymous:${nextRawPartPosition}`
406
+ : `provider:${providerId}`;
406
407
  const callShape = `${functionCall.name}\u0000${serializedInput}`;
407
408
  const previousToolCall = seenToolCalls.get(deduplicationKey);
408
409
  if (previousToolCall !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"child-fork-step-message-preparation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-step-message-preparation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAahE,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAahF,8EAA8E;AAC9E,MAAM,MAAM,wCAAwC,GAAG,CAAC,KAAK,EAAE;IAC7D,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,iBAAiB,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;AAErC,yEAAyE;AACzE,MAAM,MAAM,8CAA8C,GAAG;IAC3D,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,WAAW,CAAC;IACrC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,wCAAwC,CAAC;IACzD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CACjD,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,iBAAiB,EAAE,EAC3B,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,uBAAuB,UAA+B,GACrD,iBAAiB,EAAE,CAErB;AA2DD,0EAA0E;AAC1E,wBAAgB,0DAA0D,CACxE,iBAAiB,EAAE,SAAS,oBAAoB,EAAE,GACjD,YAAY,EAAE,CAOhB;AA+ED,uDAAuD;AACvD,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,8CAA8C,GACpD,kCAAkC,CAoFpC"}
1
+ {"version":3,"file":"child-fork-step-message-preparation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-step-message-preparation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAahE,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAahF,8EAA8E;AAC9E,MAAM,MAAM,wCAAwC,GAAG,CAAC,KAAK,EAAE;IAC7D,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,iBAAiB,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;AAErC,yEAAyE;AACzE,MAAM,MAAM,8CAA8C,GAAG;IAC3D,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,WAAW,CAAC;IACrC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,wCAAwC,CAAC;IACzD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CACjD,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,iBAAiB,EAAE,EAC3B,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,uBAAuB,UAA+B,GACrD,iBAAiB,EAAE,CAErB;AAiDD,0EAA0E;AAC1E,wBAAgB,0DAA0D,CACxE,iBAAiB,EAAE,SAAS,oBAAoB,EAAE,GACjD,YAAY,EAAE,CAOhB;AA+ED,uDAAuD;AACvD,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,8CAA8C,GACpD,kCAAkC,CAoFpC"}
@@ -25,22 +25,11 @@ function convertAgentRuntimePartToChildForkMessagePart(part) {
25
25
  }
26
26
  const toolResultPart = getAgentRuntimeToolResultPart(part);
27
27
  if (toolResultPart) {
28
- // This adapter consumes one provider-owned output envelope. Its value may
29
- // itself be an ordinary user object with a similarly shaped type/value.
30
- let result = toolResultPart.output;
31
- if (typeof result === "object" && result !== null && "type" in result && "value" in result) {
32
- if (result.type === "json" || result.type === "text") {
33
- result = result.value;
34
- }
35
- else if (result.type === "error-text") {
36
- result = { error: result.value };
37
- }
38
- }
39
28
  return {
40
29
  type: "tool-result",
41
30
  toolCallId: toolResultPart.toolCallId,
42
31
  toolName: toolResultPart.toolName,
43
- result,
32
+ result: toolResultPart.output,
44
33
  };
45
34
  }
46
35
  const toolCallPart = getAgentRuntimeToolCallPart(part);
@@ -1 +1 @@
1
- {"version":3,"file":"message-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/message-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/message-adapter.ts"],"names":[],"mappings":"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"}
@@ -78,13 +78,17 @@ function convertStructuredPart(part) {
78
78
  toolName: part.toolName,
79
79
  args: "input" in part ? toChildRunToolInputRecord(part.input) : {},
80
80
  };
81
- case "tool-result":
81
+ case "tool-result": {
82
+ // This boundary owns one provider output envelope; its value is raw agent data.
83
+ const output = part.output;
84
+ const result = output.type === "error-text" ? { error: output.value } : output.value;
82
85
  return inheritToolResultSource(part, {
83
86
  type: "tool-result",
84
87
  toolCallId: part.toolCallId,
85
88
  toolName: part.toolName,
86
- result: "output" in part ? part.output : null,
89
+ result,
87
90
  });
91
+ }
88
92
  case "image":
89
93
  case "file":
90
94
  return toNativeFilePart(part.type, part);
@@ -1 +1 @@
1
- {"version":3,"file":"provider-replay.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/provider-replay.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAyE3C,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAEtE,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,+CAA+C,EAC1D,wCAAiD,CAAC;AASpD,wFAAwF;AACxF,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAG1E;AAED,mEAAmE;AACnE,MAAM,MAAM,6BAA6B,GAAG,wBAAwB,GAAG;IACrE,IAAI,EAAE,OAAO,+CAA+C,CAAC;CAC9D,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAClD,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,qCAAqC,GAAG;IAC3C,cAAc,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAAC;CACzD,CAAC;AA0FF,iGAAiG;AACjG,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CAC/C,GAAG,qCAAqC,CAgCxC;AAED,8FAA8F;AAC9F,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,qCAAqC,EAC5C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACpD,wBAAwB,GAAG,SAAS,CA0CtC;AAED,yEAAyE;AACzE,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,wBAAwB,GACnC,6BAA6B,CAK/B;AAED,0FAA0F;AAC1F,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,GACb,6BAA6B,CA8B/B;AAkzCD,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAmFtF;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,OAAO,GACb,wBAAwB,EAAE,CAwB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,wBAAwB,GACnC,IAAI,CAmBN;AAwDD;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,WAAW,EAAE,SAAS,wBAAwB,EAAE,GAAG,SAAS,EAC5D,OAAO,GAAE,qCAA0C,GAClD,IAAI,CAyCN"}
1
+ {"version":3,"file":"provider-replay.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/provider-replay.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAyE3C,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAEtE,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,+CAA+C,EAC1D,wCAAiD,CAAC;AASpD,wFAAwF;AACxF,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAG1E;AAED,mEAAmE;AACnE,MAAM,MAAM,6BAA6B,GAAG,wBAAwB,GAAG;IACrE,IAAI,EAAE,OAAO,+CAA+C,CAAC;CAC9D,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAClD,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,qCAAqC,GAAG;IAC3C,cAAc,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAAC;CACzD,CAAC;AA0FF,iGAAiG;AACjG,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CAC/C,GAAG,qCAAqC,CAgCxC;AAED,8FAA8F;AAC9F,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,qCAAqC,EAC5C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACpD,wBAAwB,GAAG,SAAS,CA0CtC;AAED,yEAAyE;AACzE,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,wBAAwB,GACnC,6BAA6B,CAK/B;AAED,0FAA0F;AAC1F,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,GACb,6BAA6B,CA8B/B;AA2zCD,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAmFtF;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,OAAO,GACb,wBAAwB,EAAE,CAwB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,wBAAwB,GACnC,IAAI,CAmBN;AAwDD;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,WAAW,EAAE,SAAS,wBAAwB,EAAE,GAAG,SAAS,EAC5D,OAAO,GAAE,qCAA0C,GAClD,IAAI,CAyCN"}
@@ -929,12 +929,20 @@ function transcriptVisibleToolResult(part, providerExecutedToolCallIds) {
929
929
  }
930
930
  const hasResult = "result" in part || "output" in part;
931
931
  const rawResult = "result" in part ? part.result : part.output;
932
- const isPreparedError = isRecord(rawResult) && rawResult.type === "error-text";
932
+ // The provider-to-agent adapter projects an owned error-text envelope to { error }.
933
+ // Only this provider's canonical error record may become checkpoint evidence.
934
+ const errorText = isRecord(rawResult) ? rawResult.error : undefined;
935
+ const parsedError = typeof errorText === "string" ? safeJsonParse(errorText) : undefined;
936
+ const providerError = parsedError?.ok && isNormalizedAnthropicProviderErrorResult(parsedError.value)
937
+ ? parsedError.value
938
+ : undefined;
939
+ const isPreparedError = (isRecord(rawResult) && rawResult.type === "error-text") ||
940
+ providerError !== undefined;
933
941
  return {
934
942
  type: "tool-result",
935
943
  toolCallId: part.toolCallId,
936
944
  ...(providerExecutedToolCallIds.has(part.toolCallId) ? { providerExecuted: true } : {}),
937
- ...(hasResult ? { result: unwrapPreparedProviderResult(rawResult) } : {}),
945
+ ...(hasResult ? { result: providerError ?? unwrapPreparedProviderResult(rawResult) } : {}),
938
946
  ...(part.isError === true || isPreparedError ? { isError: true } : {}),
939
947
  };
940
948
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-tool-compat.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/provider-tool-compat.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,GAClC,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,kFAAkF;IAClF,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAiFD,oCAAoC;AACpC,wBAAgB,sBAAsB,CACpC,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,uBAAuB,GACpC,mBAAmB,CA0CrB;AAyCD,oDAAoD;AACpD,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CA+BV;AAED,+CAA+C;AAC/C,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,OAAO,GAAE,yBAA8B,GACtC,cAAc,EAAE,CA2BlB;AAyND;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,wBAAgB,mCAAmC,IAAI,6BAA6B,CAKnF;AAqTD,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,sEAAsE;AACtE,wBAAgB,+BAA+B,IAAI,yBAAyB,CAE3E;AA6XD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAa/E;AAED,8DAA8D;AAC9D,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,6BAA6B,CAAC;IACxD,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;CACjD;AAED,6CAA6C;AAC7C,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,iCAAsC,GAC9C,UAAU,CAuCZ"}
1
+ {"version":3,"file":"provider-tool-compat.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/provider-tool-compat.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,6DAA6D;AAC7D,MAAM,MAAM,0BAA0B,GAClC,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,kFAAkF;IAClF,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAoED,oCAAoC;AACpC,wBAAgB,sBAAsB,CACpC,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,uBAAuB,GACpC,mBAAmB,CA0CrB;AAyCD,oDAAoD;AACpD,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CA+BV;AAED,+CAA+C;AAC/C,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,OAAO,GAAE,yBAA8B,GACtC,cAAc,EAAE,CA2BlB;AA6ED;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,wBAAgB,mCAAmC,IAAI,6BAA6B,CAKnF;AAqTD,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,sEAAsE;AACtE,wBAAgB,+BAA+B,IAAI,yBAAyB,CAE3E;AA6XD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAa/E;AAED,8DAA8D;AAC9D,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,6BAA6B,CAAC;IACxD,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;CACjD;AAED,6CAA6C;AAC7C,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,iCAAsC,GAC9C,UAAU,CAwCZ"}
@@ -36,18 +36,6 @@ function createPermissiveToolInputSchema() {
36
36
  };
37
37
  }
38
38
  const PROVIDER_TOOL_PROPERTY_KEY_PATTERN = /^[a-zA-Z0-9_.-]{1,64}$/;
39
- const GOOGLE_UNSUPPORTED_SCHEMA_KEYS = new Set([
40
- "$id",
41
- "$ref",
42
- "$schema",
43
- "additionalProperties",
44
- "allOf",
45
- "default",
46
- "exclusiveMaximum",
47
- "exclusiveMinimum",
48
- "oneOf",
49
- "prefixItems",
50
- ]);
51
39
  function normalizeModel(model) {
52
40
  return model?.trim().toLowerCase() ?? "";
53
41
  }
@@ -200,60 +188,6 @@ export function selectProviderCompatibleTools(tools, options = {}) {
200
188
  function isPlainRecord(value) {
201
189
  return value !== null && typeof value === "object" && !Array.isArray(value);
202
190
  }
203
- function getLiteralType(value) {
204
- switch (typeof value) {
205
- case "string":
206
- return "string";
207
- case "number":
208
- return Number.isInteger(value) ? "integer" : "number";
209
- case "boolean":
210
- return "boolean";
211
- default:
212
- return value === null ? "null" : undefined;
213
- }
214
- }
215
- function getEnumValuesFromAnyOf(anyOf) {
216
- if (!Array.isArray(anyOf))
217
- return undefined;
218
- const values = [];
219
- for (const option of anyOf) {
220
- if (!isPlainRecord(option))
221
- return undefined;
222
- if ("const" in option) {
223
- values.push(option.const);
224
- continue;
225
- }
226
- if (Array.isArray(option.enum) && option.enum.length > 0) {
227
- values.push(...option.enum);
228
- continue;
229
- }
230
- return undefined;
231
- }
232
- return values.length > 0 ? uniqueUnknownValues(values) : undefined;
233
- }
234
- function uniqueUnknownValues(values) {
235
- const result = [];
236
- for (const value of values) {
237
- if (result.some((existing) => Object.is(existing, value)))
238
- continue;
239
- result.push(value);
240
- }
241
- return result;
242
- }
243
- function getSharedLiteralType(values) {
244
- const literalTypes = values.map((value) => getLiteralType(value));
245
- const firstType = literalTypes[0];
246
- if (!firstType || literalTypes.some((literalType) => literalType !== firstType)) {
247
- return undefined;
248
- }
249
- return firstType;
250
- }
251
- function getGoogleCompatibleSchemaType(type) {
252
- if (!Array.isArray(type))
253
- return type;
254
- const nonNullTypes = type.filter((value) => value !== "null");
255
- return nonNullTypes.length === 1 ? nonNullTypes[0] : undefined;
256
- }
257
191
  function sanitizeNamedSchemaProperties(rawProperties, retainedPropertyNames) {
258
192
  const properties = {};
259
193
  for (const [propertyName, propertySchema] of Object.entries(rawProperties)) {
@@ -291,66 +225,6 @@ function sanitizeProviderSchemaPropertyKeys(value) {
291
225
  }
292
226
  return sanitized;
293
227
  }
294
- function sanitizeGoogleSchemaProperty(sanitized, key, child) {
295
- if (key === "const" || key === "anyOf" || GOOGLE_UNSUPPORTED_SCHEMA_KEYS.has(key)) {
296
- return;
297
- }
298
- if (key === "type") {
299
- const compatibleType = getGoogleCompatibleSchemaType(child);
300
- if (compatibleType !== undefined)
301
- sanitized.type = compatibleType;
302
- return;
303
- }
304
- if (key === "properties" && isPlainRecord(child)) {
305
- sanitized.properties = Object.fromEntries(Object.entries(child).map(([propertyName, propertySchema]) => [
306
- propertyName,
307
- sanitizeGoogleSchemaValue(propertySchema),
308
- ]));
309
- return;
310
- }
311
- if (key === "items") {
312
- sanitized.items = sanitizeGoogleSchemaValue(child);
313
- return;
314
- }
315
- sanitized[key] = sanitizeGoogleSchemaValue(child);
316
- }
317
- function applyGoogleLiteralConstraint(sanitized, value, enumFromAnyOf, constValue) {
318
- if (enumFromAnyOf) {
319
- sanitized.enum = enumFromAnyOf;
320
- if (!sanitized.type) {
321
- const sharedType = getSharedLiteralType(enumFromAnyOf);
322
- if (sharedType)
323
- sanitized.type = sharedType;
324
- }
325
- }
326
- else if ("const" in value) {
327
- sanitized.enum = [constValue];
328
- if (!sanitized.type) {
329
- const literalType = getLiteralType(constValue);
330
- if (literalType)
331
- sanitized.type = literalType;
332
- }
333
- }
334
- }
335
- function sanitizeGoogleSchemaValue(value) {
336
- if (Array.isArray(value)) {
337
- return value.map((item) => sanitizeGoogleSchemaValue(item));
338
- }
339
- if (!isPlainRecord(value)) {
340
- return value;
341
- }
342
- const sanitized = {};
343
- const enumFromAnyOf = getEnumValuesFromAnyOf(value.anyOf);
344
- const constValue = value.const;
345
- for (const [key, child] of Object.entries(value)) {
346
- sanitizeGoogleSchemaProperty(sanitized, key, child);
347
- }
348
- applyGoogleLiteralConstraint(sanitized, value, enumFromAnyOf, constValue);
349
- if (sanitized.type === "array" && !Object.hasOwn(sanitized, "items")) {
350
- sanitized.items = {};
351
- }
352
- return sanitized;
353
- }
354
228
  function decodeJsonPointerSegment(segment) {
355
229
  return segment.replaceAll("~1", "/").replaceAll("~0", "~");
356
230
  }
@@ -933,7 +807,8 @@ export function sanitizeProviderToolSchema(schema, options = {}) {
933
807
  return schema;
934
808
  const propertyKeySafeSchema = sanitizeProviderSchemaPropertyKeys(schema);
935
809
  if (profile.provider === "google") {
936
- return sanitizeGoogleSchemaValue(propertyKeySafeSchema);
810
+ // Native Google requests use parametersJsonSchema, not the OpenAPI Schema field.
811
+ return propertyKeySafeSchema;
937
812
  }
938
813
  if (profile.provider === "moonshot") {
939
814
  const budget = createMoonshotInlineBudget(options.moonshotExpansionBudget ?? createMoonshotSchemaExpansionBudget());
@@ -1 +1 @@
1
- {"version":3,"file":"message-prep.d.ts","sourceRoot":"","sources":["../../../src/src/chat/message-prep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-prep.d.ts","sourceRoot":"","sources":["../../../src/src/chat/message-prep.ts"],"names":[],"mappings":"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"}
@@ -830,7 +830,8 @@ function compactHistoricalToolSummaryOutput(rawValue, contract) {
830
830
  const items = sourceItems
831
831
  .map((item) => compactHistoricalItemValue(item, contract.itemFields))
832
832
  .filter((item) => item !== null);
833
- if (items.length === 0)
833
+ // A valid empty page may still carry a continuation token.
834
+ if (items.length === 0 && sourceItems.length > 0)
834
835
  return null;
835
836
  const compacted = {
836
837
  [`${contract.collectionName}Count`]: items.length,