experimental-a2 0.18.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/{actor-Bjce9_5U.d.ts → actor-C7b-1arn.d.ts} +3 -3
  3. package/dist/{actor-Bjce9_5U.d.ts.map → actor-C7b-1arn.d.ts.map} +1 -1
  4. package/dist/actor-client.d.ts +1 -1
  5. package/dist/actor-react.d.ts +1 -1
  6. package/dist/actor-react.js +1 -1
  7. package/dist/actor.d.ts +1 -1
  8. package/dist/actor.js +2 -2
  9. package/dist/{ai-DrUaMyRt.d.ts → ai-BMLlI2Ff.d.ts} +2 -2
  10. package/dist/{ai-DrUaMyRt.d.ts.map → ai-BMLlI2Ff.d.ts.map} +1 -1
  11. package/dist/{ai-BpOGm-zB.js → ai-D6mGlO8j.js} +2 -2
  12. package/dist/{ai-BpOGm-zB.js.map → ai-D6mGlO8j.js.map} +1 -1
  13. package/dist/ai-client.d.ts +1 -1
  14. package/dist/ai-client.js +2 -2
  15. package/dist/ai-fx.d.ts +1 -1
  16. package/dist/ai-fx.d.ts.map +1 -1
  17. package/dist/ai-fx.js +92 -34
  18. package/dist/ai-fx.js.map +1 -1
  19. package/dist/{ai-harness-DvsPeJeB.d.ts → ai-harness-B2suP2Qh.d.ts} +2 -2
  20. package/dist/{ai-harness-DvsPeJeB.d.ts.map → ai-harness-B2suP2Qh.d.ts.map} +1 -1
  21. package/dist/ai-pi.d.ts +1 -1
  22. package/dist/ai-pi.d.ts.map +1 -1
  23. package/dist/ai-pi.js +59 -13
  24. package/dist/ai-pi.js.map +1 -1
  25. package/dist/ai-react.d.ts +1 -1
  26. package/dist/ai-react.js +2 -2
  27. package/dist/ai-server.d.ts +3 -3
  28. package/dist/ai-server.d.ts.map +1 -1
  29. package/dist/ai-server.js +10 -6
  30. package/dist/ai-server.js.map +1 -1
  31. package/dist/ai-tool-input-DmSqMUQi.js +40 -0
  32. package/dist/ai-tool-input-DmSqMUQi.js.map +1 -0
  33. package/dist/ai.d.ts +1 -1
  34. package/dist/ai.js +1 -1
  35. package/dist/{client-BReKqwZC.js → client-BhHLoNKF.js} +3 -3
  36. package/dist/{client-BReKqwZC.js.map → client-BhHLoNKF.js.map} +1 -1
  37. package/dist/client.js +1 -1
  38. package/dist/index.d.ts +2 -2
  39. package/dist/{internal-B2T3U4Rq.js → internal-CscSY7K_.js} +4 -2
  40. package/dist/{internal-B2T3U4Rq.js.map → internal-CscSY7K_.js.map} +1 -1
  41. package/dist/react.js +1 -1
  42. package/dist/scheduler-qstash.d.ts +2 -2
  43. package/dist/scheduler-qstash.js +3 -3
  44. package/dist/scheduler-qstash.js.map +1 -1
  45. package/dist/scheduler-vercel.d.ts +7 -7
  46. package/dist/scheduler-vercel.d.ts.map +1 -1
  47. package/dist/scheduler-vercel.js +9 -10
  48. package/dist/scheduler-vercel.js.map +1 -1
  49. package/dist/{server-Dw_k_7kO.js → server-D-Y4pqwu.js} +37 -11
  50. package/dist/server-D-Y4pqwu.js.map +1 -0
  51. package/dist/{server-En7cbi3v.d.ts → server-DYAATFuT.d.ts} +11 -5
  52. package/dist/server-DYAATFuT.d.ts.map +1 -0
  53. package/dist/server.d.ts +2 -2
  54. package/dist/server.js +1 -1
  55. package/dist/{session-clear-Bo-XTFEy.d.ts → session-clear-C-QwTXV1.d.ts} +2 -2
  56. package/dist/session-clear-C-QwTXV1.d.ts.map +1 -0
  57. package/dist/{store-Djdv0bnZ.d.ts → store-CyLUy86v.d.ts} +23 -4
  58. package/dist/store-CyLUy86v.d.ts.map +1 -0
  59. package/dist/store-N8PXxDAS.js.map +1 -1
  60. package/dist/store-memory.d.ts +1 -1
  61. package/dist/store-memory.js +25 -6
  62. package/dist/store-memory.js.map +1 -1
  63. package/dist/{store-polling-B5FcwJfo.js → store-polling-7WJV0YWP.js} +2 -2
  64. package/dist/{store-polling-B5FcwJfo.js.map → store-polling-7WJV0YWP.js.map} +1 -1
  65. package/dist/store-postgres.d.ts +1 -1
  66. package/dist/store-postgres.d.ts.map +1 -1
  67. package/dist/store-postgres.js +55 -25
  68. package/dist/store-postgres.js.map +1 -1
  69. package/dist/{store-presence-polling-BAwS8RWn.js → store-presence-polling-B1ixeqIS.js} +3 -3
  70. package/dist/{store-presence-polling-BAwS8RWn.js.map → store-presence-polling-B1ixeqIS.js.map} +1 -1
  71. package/dist/store-redis-http.d.ts +1 -1
  72. package/dist/store-redis-http.js +3 -3
  73. package/dist/{store-redis-notify-BRITti_o.js → store-redis-notify-CM0AfLY0.js} +88 -37
  74. package/dist/store-redis-notify-CM0AfLY0.js.map +1 -0
  75. package/dist/store-redis.d.ts +1 -1
  76. package/dist/store-redis.js +1 -1
  77. package/dist/store-sqlite.d.ts +1 -1
  78. package/dist/store-sqlite.js +35 -20
  79. package/dist/store-sqlite.js.map +1 -1
  80. package/dist/{wire-rSUglYo8.js → wire-BKxH1vbP.js} +2 -2
  81. package/dist/{wire-rSUglYo8.js.map → wire-BKxH1vbP.js.map} +1 -1
  82. package/docs/agents/03-conversations.mdx +2 -2
  83. package/docs/index.mdx +3 -3
  84. package/docs/reference/02-server.mdx +12 -7
  85. package/docs/reference/04-ai.mdx +16 -7
  86. package/docs/reference/05-adapters.mdx +4 -4
  87. package/docs/server/01-handlers.mdx +1 -1
  88. package/docs/server/03-cancellation.mdx +3 -2
  89. package/docs/server/05-production.mdx +2 -1
  90. package/docs/server/06-guarantees.mdx +20 -11
  91. package/examples/playground/DEPLOY.md +2 -4
  92. package/examples/playground/app/a0/[appId]/page.tsx +2 -8
  93. package/examples/playground/app/a0/devtools.tsx +2 -8
  94. package/examples/playground/app/a0/server.ts +8 -19
  95. package/examples/playground/package.json +1 -1
  96. package/package.json +1 -1
  97. package/src/ai-agent.ts +10 -3
  98. package/src/ai-fx.ts +126 -47
  99. package/src/ai-pi.ts +74 -15
  100. package/src/ai-tool-input.ts +45 -0
  101. package/src/internal.ts +6 -0
  102. package/src/scheduler-qstash.ts +5 -5
  103. package/src/scheduler-vercel.ts +14 -15
  104. package/src/server.ts +58 -12
  105. package/src/store-memory.ts +50 -9
  106. package/src/store-postgres.ts +79 -28
  107. package/src/store-redis-core.ts +112 -31
  108. package/src/store-sqlite.ts +61 -28
  109. package/src/store.ts +22 -3
  110. package/dist/server-Dw_k_7kO.js.map +0 -1
  111. package/dist/server-En7cbi3v.d.ts.map +0 -1
  112. package/dist/session-clear-Bo-XTFEy.d.ts.map +0 -1
  113. package/dist/store-Djdv0bnZ.d.ts.map +0 -1
  114. package/dist/store-redis-notify-BRITti_o.js.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { InvalidToolInputError, TypeValidationError, asSchema } from "ai";
2
+ //#region src/ai-tool-input.ts
3
+ /**
4
+ * A call's input through its tool's schema, as the AI SDK step reads it: the
5
+ * schema's output with its defaults, or the AI SDK's error text. A name the
6
+ * tool set does not own has no schema.
7
+ */
8
+ async function schemaInput({ tools, toolName, value }) {
9
+ const schema = Object.hasOwn(tools, toolName) ? asSchema(tools[toolName].inputSchema) : void 0;
10
+ if (schema?.validate === void 0) return {
11
+ success: true,
12
+ value
13
+ };
14
+ let cause;
15
+ try {
16
+ const result = await schema.validate(value);
17
+ if (result.success) return {
18
+ success: true,
19
+ value: result.value
20
+ };
21
+ cause = result.error;
22
+ } catch (error) {
23
+ cause = error;
24
+ }
25
+ return {
26
+ success: false,
27
+ errorText: new InvalidToolInputError({
28
+ toolName,
29
+ toolInput: JSON.stringify(value),
30
+ cause: TypeValidationError.wrap({
31
+ value,
32
+ cause
33
+ })
34
+ }).message
35
+ };
36
+ }
37
+ //#endregion
38
+ export { schemaInput as t };
39
+
40
+ //# sourceMappingURL=ai-tool-input-DmSqMUQi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-tool-input-DmSqMUQi.js","names":[],"sources":["../src/ai-tool-input.ts"],"sourcesContent":["import {\n asSchema,\n InvalidToolInputError,\n type ToolSet,\n TypeValidationError,\n} from 'ai'\n\nexport type SchemaInput =\n { success: true; value: unknown } | { success: false; errorText: string }\n\n/**\n * A call's input through its tool's schema, as the AI SDK step reads it: the\n * schema's output with its defaults, or the AI SDK's error text. A name the\n * tool set does not own has no schema.\n */\nexport async function schemaInput({\n tools,\n toolName,\n value,\n}: {\n tools: ToolSet\n toolName: string\n value: unknown\n}): Promise<SchemaInput> {\n const schema = Object.hasOwn(tools, toolName)\n ? asSchema(tools[toolName]!.inputSchema)\n : undefined\n if (schema?.validate === undefined) return { success: true, value }\n let cause: unknown\n try {\n const result = await schema.validate(value)\n if (result.success) return { success: true, value: result.value }\n cause = result.error\n } catch (error) {\n cause = error\n }\n return {\n success: false,\n errorText: new InvalidToolInputError({\n toolName,\n toolInput: JSON.stringify(value),\n cause: TypeValidationError.wrap({ value, cause }),\n }).message,\n }\n}\n"],"mappings":";;;;;;;AAeA,eAAsB,YAAY,EAChC,OACA,UACA,SAKuB;CACvB,MAAM,SAAS,OAAO,OAAO,OAAO,QAAQ,IACxC,SAAS,MAAM,SAAS,CAAE,WAAW,IACrC,KAAA;CACJ,IAAI,QAAQ,aAAa,KAAA,GAAW,OAAO;EAAE,SAAS;EAAM;CAAM;CAClE,IAAI;CACJ,IAAI;EACF,MAAM,SAAS,MAAM,OAAO,SAAS,KAAK;EAC1C,IAAI,OAAO,SAAS,OAAO;GAAE,SAAS;GAAM,OAAO,OAAO;EAAM;EAChE,QAAQ,OAAO;CACjB,SAAS,OAAO;EACd,QAAQ;CACV;CACA,OAAO;EACL,SAAS;EACT,WAAW,IAAI,sBAAsB;GACnC;GACA,WAAW,KAAK,UAAU,KAAK;GAC/B,OAAO,oBAAoB,KAAK;IAAE;IAAO;GAAM,CAAC;EAClD,CAAC,CAAC,CAAC;CACL;AACF"}
package/dist/ai.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as agentContract, A as InputRespondedPayload, B as PendingApproval, C as GenerationFailedPayload, D as GenerationStartedPayload, E as GenerationRequestedPayload, F as MessageInterruptedPayload, G as SessionClosedPayload, H as ReasoningLevel, I as ModelLimits, J as ToolCalledPayload, K as SessionCreatedPayload, L as ModelMetadataRequestedPayload, M as LanguageModelUsage, N as MessageCompletedPayload, O as GenerationUsage, P as MessageCreatedPayload, Q as UIMessageChunk, R as ModelMetadataResolvedPayload, S as GenerationCompletedPayload, T as GenerationReason, U as RetryGenerationOptions, V as PendingInput, W as RetryRequestedPayload, X as TranscriptMessage, Y as ToolResultPayload, Z as UIMessage, _ as CompactionPart, a as AI_STATE_REDUCER, at as reasoningLevels, b as CompactionState, c as AgentContract, ct as PendingQueueCommand, d as AgentStatus, dt as ControlReceipt, et as createEvents, f as AgentToolContext, ft as InboxItem, g as CompactionCompletedPayload, h as ApprovalRespondedPayload, i as AIState, it as inputs, j as JSONValue, k as InputRequestedPayload, l as AgentContractOptions, lt as ActiveTurn, m as ApprovalRequestedPayload, n as AIInputs, nt as events, o as ActiveGeneration, ot as reduceAIState, p as AgentToolEventDefs, q as ToolActivity, r as AIMessageOf, rt as handlerContext, s as ActiveGenerationProjection, st as isCompactionPart, t as AIEventDefs, tt as deriveUIMessages, u as AgentReducer, ut as ControlCommand, v as CompactionPartData, w as GenerationProgressPayload, x as FinishReason, y as CompactionRequestedPayload, z as ModelMetadataState } from "./ai-DrUaMyRt.js";
1
+ import { $ as agentContract, A as InputRespondedPayload, B as PendingApproval, C as GenerationFailedPayload, D as GenerationStartedPayload, E as GenerationRequestedPayload, F as MessageInterruptedPayload, G as SessionClosedPayload, H as ReasoningLevel, I as ModelLimits, J as ToolCalledPayload, K as SessionCreatedPayload, L as ModelMetadataRequestedPayload, M as LanguageModelUsage, N as MessageCompletedPayload, O as GenerationUsage, P as MessageCreatedPayload, Q as UIMessageChunk, R as ModelMetadataResolvedPayload, S as GenerationCompletedPayload, T as GenerationReason, U as RetryGenerationOptions, V as PendingInput, W as RetryRequestedPayload, X as TranscriptMessage, Y as ToolResultPayload, Z as UIMessage, _ as CompactionPart, a as AI_STATE_REDUCER, at as reasoningLevels, b as CompactionState, c as AgentContract, ct as PendingQueueCommand, d as AgentStatus, dt as ControlReceipt, et as createEvents, f as AgentToolContext, ft as InboxItem, g as CompactionCompletedPayload, h as ApprovalRespondedPayload, i as AIState, it as inputs, j as JSONValue, k as InputRequestedPayload, l as AgentContractOptions, lt as ActiveTurn, m as ApprovalRequestedPayload, n as AIInputs, nt as events, o as ActiveGeneration, ot as reduceAIState, p as AgentToolEventDefs, q as ToolActivity, r as AIMessageOf, rt as handlerContext, s as ActiveGenerationProjection, st as isCompactionPart, t as AIEventDefs, tt as deriveUIMessages, u as AgentReducer, ut as ControlCommand, v as CompactionPartData, w as GenerationProgressPayload, x as FinishReason, y as CompactionRequestedPayload, z as ModelMetadataState } from "./ai-BMLlI2Ff.js";
2
2
  export { AIEventDefs, AIInputs, AIMessageOf, AIState, AI_STATE_REDUCER, ActiveGeneration, ActiveGenerationProjection, type ActiveTurn, AgentContract, AgentContractOptions, AgentReducer, AgentStatus, AgentToolContext, AgentToolEventDefs, ApprovalRequestedPayload, ApprovalRespondedPayload, CompactionCompletedPayload, CompactionPart, CompactionPartData, CompactionRequestedPayload, CompactionState, type ControlCommand, type ControlReceipt, type FinishReason, GenerationCompletedPayload, GenerationFailedPayload, GenerationProgressPayload, GenerationReason, GenerationRequestedPayload, GenerationStartedPayload, GenerationUsage, type InboxItem, InputRequestedPayload, InputRespondedPayload, type JSONValue, type LanguageModelUsage, MessageCompletedPayload, MessageCreatedPayload, MessageInterruptedPayload, ModelLimits, ModelMetadataRequestedPayload, ModelMetadataResolvedPayload, ModelMetadataState, PendingApproval, PendingInput, type PendingQueueCommand, ReasoningLevel, RetryGenerationOptions, RetryRequestedPayload, SessionClosedPayload, SessionCreatedPayload, ToolActivity, ToolCalledPayload, ToolResultPayload, TranscriptMessage, type UIMessage, type UIMessageChunk, agentContract, createEvents, deriveUIMessages, events, handlerContext, inputs, isCompactionPart, reasoningLevels, reduceAIState };
package/dist/ai.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as events, c as reasoningLevels, i as deriveUIMessages, l as reduceAIState, n as agentContract, o as handlerContext, r as createEvents, s as inputs, t as AI_STATE_REDUCER, x as isCompactionPart } from "./ai-BpOGm-zB.js";
1
+ import { a as events, c as reasoningLevels, i as deriveUIMessages, l as reduceAIState, n as agentContract, o as handlerContext, r as createEvents, s as inputs, t as AI_STATE_REDUCER, x as isCompactionPart } from "./ai-D6mGlO8j.js";
2
2
  export { AI_STATE_REDUCER, agentContract, createEvents, deriveUIMessages, events, handlerContext, inputs, isCompactionPart, reasoningLevels, reduceAIState };
@@ -1,8 +1,8 @@
1
1
  import { i as A2Error, n as isSessionCleared } from "./session-clear-DGI4jTQ5.js";
2
2
  import { n as foldEvent, s as validateSync } from "./reducer-BAXc8JyF.js";
3
3
  import { r as projectClientState, t as decodeState } from "./reducer-runtime-DQwz_J59.js";
4
- import { _ as nullProtoRecord, a as PRESENCE_TIMINGS, l as STREAM_TIMINGS, o as RESERVED_PARTICIPANT_IDS } from "./internal-B2T3U4Rq.js";
5
- import { _ as isWirePresenceSnapshot, a as errorFromWire, c as eventFromCompactWire, f as isCompactWireEvent, g as isWirePresencePatch, h as isWireEvent, l as eventFromWire, p as isStateSnapshotFrame, v as parseSocketFrame, x as presenceSnapshotFromWire, y as presencePatchFromWire } from "./wire-rSUglYo8.js";
4
+ import { _ as nullProtoRecord, a as PRESENCE_TIMINGS, l as STREAM_TIMINGS, o as RESERVED_PARTICIPANT_IDS } from "./internal-CscSY7K_.js";
5
+ import { _ as isWirePresenceSnapshot, a as errorFromWire, c as eventFromCompactWire, f as isCompactWireEvent, g as isWirePresencePatch, h as isWireEvent, l as eventFromWire, p as isStateSnapshotFrame, v as parseSocketFrame, x as presenceSnapshotFromWire, y as presencePatchFromWire } from "./wire-BKxH1vbP.js";
6
6
  //#region src/client-errors.ts
7
7
  var A2ClientError = class extends A2Error {
8
8
  status;
@@ -1721,4 +1721,4 @@ function createClient(options) {
1721
1721
  //#endregion
1722
1722
  export { A2ClientError as a, isInitialPromise as i, createRenderSession as n, resolveInitialForReact as r, createClient as t };
1723
1723
 
1724
- //# sourceMappingURL=client-BReKqwZC.js.map
1724
+ //# sourceMappingURL=client-BhHLoNKF.js.map