@tanstack/ai 0.41.0 → 0.43.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 (272) hide show
  1. package/README.md +15 -1
  2. package/dist/esm/activities/chat/adapter.js +23 -16
  3. package/dist/esm/activities/chat/adapter.js.map +1 -1
  4. package/dist/esm/activities/chat/agent-loop-strategies.d.ts +10 -4
  5. package/dist/esm/activities/chat/agent-loop-strategies.js +75 -17
  6. package/dist/esm/activities/chat/agent-loop-strategies.js.map +1 -1
  7. package/dist/esm/activities/chat/cancel.d.ts +40 -0
  8. package/dist/esm/activities/chat/cancel.js +54 -0
  9. package/dist/esm/activities/chat/cancel.js.map +1 -0
  10. package/dist/esm/activities/chat/index.d.ts +28 -16
  11. package/dist/esm/activities/chat/index.js +2100 -1744
  12. package/dist/esm/activities/chat/index.js.map +1 -1
  13. package/dist/esm/activities/chat/mcp/manager.d.ts +2 -2
  14. package/dist/esm/activities/chat/mcp/manager.js +90 -77
  15. package/dist/esm/activities/chat/mcp/manager.js.map +1 -1
  16. package/dist/esm/activities/chat/mcp/types.d.ts +2 -2
  17. package/dist/esm/activities/chat/messages.js +397 -346
  18. package/dist/esm/activities/chat/messages.js.map +1 -1
  19. package/dist/esm/activities/chat/middleware/builder.js +17 -15
  20. package/dist/esm/activities/chat/middleware/builder.js.map +1 -1
  21. package/dist/esm/activities/chat/middleware/capabilities.js +78 -43
  22. package/dist/esm/activities/chat/middleware/capabilities.js.map +1 -1
  23. package/dist/esm/activities/chat/middleware/compose.d.ts +94 -1
  24. package/dist/esm/activities/chat/middleware/compose.js +623 -531
  25. package/dist/esm/activities/chat/middleware/compose.js.map +1 -1
  26. package/dist/esm/activities/chat/middleware/define.js +12 -5
  27. package/dist/esm/activities/chat/middleware/define.js.map +1 -1
  28. package/dist/esm/activities/chat/middleware/index.d.ts +5 -1
  29. package/dist/esm/activities/chat/middleware/locks.d.ts +50 -0
  30. package/dist/esm/activities/chat/middleware/locks.js +71 -0
  31. package/dist/esm/activities/chat/middleware/locks.js.map +1 -0
  32. package/dist/esm/activities/chat/middleware/pending-turn.d.ts +15 -0
  33. package/dist/esm/activities/chat/middleware/pending-turn.js +35 -0
  34. package/dist/esm/activities/chat/middleware/pending-turn.js.map +1 -0
  35. package/dist/esm/activities/chat/middleware/run-disconnect.d.ts +23 -0
  36. package/dist/esm/activities/chat/middleware/run-disconnect.js +42 -0
  37. package/dist/esm/activities/chat/middleware/run-disconnect.js.map +1 -0
  38. package/dist/esm/activities/chat/middleware/run-store.d.ts +283 -0
  39. package/dist/esm/activities/chat/middleware/run-store.js +176 -0
  40. package/dist/esm/activities/chat/middleware/run-store.js.map +1 -0
  41. package/dist/esm/activities/chat/middleware/sandbox-runtime.js +14 -8
  42. package/dist/esm/activities/chat/middleware/sandbox-runtime.js.map +1 -1
  43. package/dist/esm/activities/chat/middleware/tool-cache-middleware.js +79 -70
  44. package/dist/esm/activities/chat/middleware/tool-cache-middleware.js.map +1 -1
  45. package/dist/esm/activities/chat/middleware/types.d.ts +59 -2
  46. package/dist/esm/activities/chat/middleware/validate.js +23 -28
  47. package/dist/esm/activities/chat/middleware/validate.js.map +1 -1
  48. package/dist/esm/activities/chat/stream/json-parser.js +39 -25
  49. package/dist/esm/activities/chat/stream/json-parser.js.map +1 -1
  50. package/dist/esm/activities/chat/stream/message-updaters.js +275 -234
  51. package/dist/esm/activities/chat/stream/message-updaters.js.map +1 -1
  52. package/dist/esm/activities/chat/stream/processor.d.ts +24 -4
  53. package/dist/esm/activities/chat/stream/processor.js +1341 -1542
  54. package/dist/esm/activities/chat/stream/processor.js.map +1 -1
  55. package/dist/esm/activities/chat/stream/strategies.js +69 -53
  56. package/dist/esm/activities/chat/stream/strategies.js.map +1 -1
  57. package/dist/esm/activities/chat/tools/approval-schema.d.ts +19 -0
  58. package/dist/esm/activities/chat/tools/approval-schema.js +117 -0
  59. package/dist/esm/activities/chat/tools/approval-schema.js.map +1 -0
  60. package/dist/esm/activities/chat/tools/lazy-tool-manager.js +164 -191
  61. package/dist/esm/activities/chat/tools/lazy-tool-manager.js.map +1 -1
  62. package/dist/esm/activities/chat/tools/lazy-tools.js +24 -12
  63. package/dist/esm/activities/chat/tools/lazy-tools.js.map +1 -1
  64. package/dist/esm/activities/chat/tools/schema-converter.js +293 -146
  65. package/dist/esm/activities/chat/tools/schema-converter.js.map +1 -1
  66. package/dist/esm/activities/chat/tools/tool-calls.d.ts +18 -2
  67. package/dist/esm/activities/chat/tools/tool-calls.js +522 -531
  68. package/dist/esm/activities/chat/tools/tool-calls.js.map +1 -1
  69. package/dist/esm/activities/chat/tools/tool-definition.d.ts +75 -16
  70. package/dist/esm/activities/chat/tools/tool-definition.js +95 -23
  71. package/dist/esm/activities/chat/tools/tool-definition.js.map +1 -1
  72. package/dist/esm/activities/error-payload.js +85 -47
  73. package/dist/esm/activities/error-payload.js.map +1 -1
  74. package/dist/esm/activities/generateAudio/adapter.js +22 -15
  75. package/dist/esm/activities/generateAudio/adapter.js.map +1 -1
  76. package/dist/esm/activities/generateAudio/index.d.ts +4 -0
  77. package/dist/esm/activities/generateAudio/index.js +141 -105
  78. package/dist/esm/activities/generateAudio/index.js.map +1 -1
  79. package/dist/esm/activities/generateImage/adapter.js +22 -15
  80. package/dist/esm/activities/generateImage/adapter.js.map +1 -1
  81. package/dist/esm/activities/generateImage/index.d.ts +4 -0
  82. package/dist/esm/activities/generateImage/index.js +155 -111
  83. package/dist/esm/activities/generateImage/index.js.map +1 -1
  84. package/dist/esm/activities/generateSpeech/adapter.js +22 -15
  85. package/dist/esm/activities/generateSpeech/adapter.js.map +1 -1
  86. package/dist/esm/activities/generateSpeech/index.d.ts +4 -0
  87. package/dist/esm/activities/generateSpeech/index.js +159 -110
  88. package/dist/esm/activities/generateSpeech/index.js.map +1 -1
  89. package/dist/esm/activities/generateTranscription/adapter.js +22 -15
  90. package/dist/esm/activities/generateTranscription/adapter.js.map +1 -1
  91. package/dist/esm/activities/generateTranscription/index.d.ts +4 -0
  92. package/dist/esm/activities/generateTranscription/index.js +159 -100
  93. package/dist/esm/activities/generateTranscription/index.js.map +1 -1
  94. package/dist/esm/activities/generateVideo/adapter.js +36 -29
  95. package/dist/esm/activities/generateVideo/adapter.js.map +1 -1
  96. package/dist/esm/activities/generateVideo/index.d.ts +143 -19
  97. package/dist/esm/activities/generateVideo/index.js +456 -279
  98. package/dist/esm/activities/generateVideo/index.js.map +1 -1
  99. package/dist/esm/activities/generateVideo/snap.js +60 -48
  100. package/dist/esm/activities/generateVideo/snap.js.map +1 -1
  101. package/dist/esm/activities/index.js +8 -34
  102. package/dist/esm/activities/middleware/index.d.ts +1 -1
  103. package/dist/esm/activities/middleware/run.d.ts +10 -0
  104. package/dist/esm/activities/middleware/run.js +53 -29
  105. package/dist/esm/activities/middleware/run.js.map +1 -1
  106. package/dist/esm/activities/middleware/types.d.ts +44 -6
  107. package/dist/esm/activities/stream-generation-result.d.ts +4 -1
  108. package/dist/esm/activities/stream-generation-result.js +79 -44
  109. package/dist/esm/activities/stream-generation-result.js.map +1 -1
  110. package/dist/esm/activities/summarize/adapter.js +22 -15
  111. package/dist/esm/activities/summarize/adapter.js.map +1 -1
  112. package/dist/esm/activities/summarize/chat-stream-summarize.js +252 -202
  113. package/dist/esm/activities/summarize/chat-stream-summarize.js.map +1 -1
  114. package/dist/esm/activities/summarize/index.d.ts +27 -0
  115. package/dist/esm/activities/summarize/index.js +268 -102
  116. package/dist/esm/activities/summarize/index.js.map +1 -1
  117. package/dist/esm/adapter-internals.d.ts +2 -1
  118. package/dist/esm/adapter-internals.js +4 -11
  119. package/dist/esm/client.d.ts +25 -3
  120. package/dist/esm/client.js +131 -64
  121. package/dist/esm/client.js.map +1 -1
  122. package/dist/esm/custom-events.d.ts +76 -0
  123. package/dist/esm/custom-events.js +37 -0
  124. package/dist/esm/custom-events.js.map +1 -0
  125. package/dist/esm/delivery-detach.d.ts +50 -0
  126. package/dist/esm/delivery-detach.js +71 -0
  127. package/dist/esm/delivery-detach.js.map +1 -0
  128. package/dist/esm/delivery-disconnect.d.ts +62 -0
  129. package/dist/esm/delivery-disconnect.js +81 -0
  130. package/dist/esm/delivery-disconnect.js.map +1 -0
  131. package/dist/esm/extend-adapter.js +19 -17
  132. package/dist/esm/extend-adapter.js.map +1 -1
  133. package/dist/esm/index.d.ts +23 -5
  134. package/dist/esm/index.js +30 -97
  135. package/dist/esm/interrupt-resume.d.ts +71 -0
  136. package/dist/esm/interrupt-resume.js +438 -0
  137. package/dist/esm/interrupt-resume.js.map +1 -0
  138. package/dist/esm/interrupt-serialization.d.ts +12 -0
  139. package/dist/esm/interrupt-serialization.js +178 -0
  140. package/dist/esm/interrupt-serialization.js.map +1 -0
  141. package/dist/esm/interrupts.d.ts +84 -0
  142. package/dist/esm/interrupts.js +31 -0
  143. package/dist/esm/interrupts.js.map +1 -0
  144. package/dist/esm/locks.d.ts +10 -0
  145. package/dist/esm/locks.js +2 -0
  146. package/dist/esm/logger/console-logger.js +101 -78
  147. package/dist/esm/logger/console-logger.js.map +1 -1
  148. package/dist/esm/logger/internal-logger.js +104 -89
  149. package/dist/esm/logger/internal-logger.js.map +1 -1
  150. package/dist/esm/logger/resolve.js +54 -49
  151. package/dist/esm/logger/resolve.js.map +1 -1
  152. package/dist/esm/logger/types.d.ts +1 -1
  153. package/dist/esm/middlewares/content-guard.js +142 -148
  154. package/dist/esm/middlewares/content-guard.js.map +1 -1
  155. package/dist/esm/middlewares/index.js +2 -6
  156. package/dist/esm/middlewares/otel.js +598 -732
  157. package/dist/esm/middlewares/otel.js.map +1 -1
  158. package/dist/esm/middlewares/usage-attributes.js +47 -40
  159. package/dist/esm/middlewares/usage-attributes.js.map +1 -1
  160. package/dist/esm/realtime/event-emitter.js +24 -25
  161. package/dist/esm/realtime/event-emitter.js.map +1 -1
  162. package/dist/esm/realtime/index.d.ts +5 -9
  163. package/dist/esm/realtime/index.js +29 -6
  164. package/dist/esm/realtime/index.js.map +1 -1
  165. package/dist/esm/scope.d.ts +47 -0
  166. package/dist/esm/stream-durability.d.ts +171 -0
  167. package/dist/esm/stream-durability.js +295 -0
  168. package/dist/esm/stream-durability.js.map +1 -0
  169. package/dist/esm/stream-to-response.d.ts +178 -13
  170. package/dist/esm/stream-to-response.js +663 -115
  171. package/dist/esm/stream-to-response.js.map +1 -1
  172. package/dist/esm/strip-to-spec-middleware.js +30 -16
  173. package/dist/esm/strip-to-spec-middleware.js.map +1 -1
  174. package/dist/esm/system-prompts.js +27 -21
  175. package/dist/esm/system-prompts.js.map +1 -1
  176. package/dist/esm/tool-registry.js +72 -45
  177. package/dist/esm/tool-registry.js.map +1 -1
  178. package/dist/esm/tools/provider-tool.js +14 -5
  179. package/dist/esm/tools/provider-tool.js.map +1 -1
  180. package/dist/esm/types.d.ts +332 -21
  181. package/dist/esm/types.js +2 -0
  182. package/dist/esm/utilities/ag-ui-wire.js +79 -93
  183. package/dist/esm/utilities/ag-ui-wire.js.map +1 -1
  184. package/dist/esm/utilities/chat-params.d.ts +26 -4
  185. package/dist/esm/utilities/chat-params.js +218 -92
  186. package/dist/esm/utilities/chat-params.js.map +1 -1
  187. package/dist/esm/utilities/errors.js +28 -18
  188. package/dist/esm/utilities/errors.js.map +1 -1
  189. package/dist/esm/utilities/media-prompt.js +46 -41
  190. package/dist/esm/utilities/media-prompt.js.map +1 -1
  191. package/dist/esm/utilities/numbers.js +13 -10
  192. package/dist/esm/utilities/numbers.js.map +1 -1
  193. package/dist/esm/utilities/provider-executed.js +20 -11
  194. package/dist/esm/utilities/provider-executed.js.map +1 -1
  195. package/dist/esm/utilities/sampling-keys.js +31 -19
  196. package/dist/esm/utilities/sampling-keys.js.map +1 -1
  197. package/dist/esm/utilities/tool-result.js +42 -30
  198. package/dist/esm/utilities/tool-result.js.map +1 -1
  199. package/dist/esm/utilities/usage.js +27 -9
  200. package/dist/esm/utilities/usage.js.map +1 -1
  201. package/dist/esm/utils.js +26 -18
  202. package/dist/esm/utils.js.map +1 -1
  203. package/package.json +10 -6
  204. package/skills/ai-core/SKILL.md +69 -18
  205. package/skills/ai-core/adapter-configuration/SKILL.md +44 -21
  206. package/skills/ai-core/adapter-configuration/references/anthropic-adapter.md +1 -3
  207. package/skills/ai-core/adapter-configuration/references/byteplus-adapter.md +148 -0
  208. package/skills/ai-core/adapter-configuration/references/gemini-adapter.md +2 -6
  209. package/skills/ai-core/adapter-configuration/references/groq-adapter.md +2 -6
  210. package/skills/ai-core/adapter-configuration/references/openai-adapter.md +1 -3
  211. package/skills/ai-core/ag-ui-protocol/SKILL.md +1 -1
  212. package/skills/ai-core/chat-experience/SKILL.md +156 -11
  213. package/skills/ai-core/client-persistence/SKILL.md +277 -0
  214. package/skills/ai-core/custom-backend-integration/SKILL.md +1 -1
  215. package/skills/ai-core/debug-logging/SKILL.md +1 -1
  216. package/skills/ai-core/locks/SKILL.md +143 -0
  217. package/skills/ai-core/media-generation/SKILL.md +144 -12
  218. package/skills/ai-core/middleware/SKILL.md +258 -33
  219. package/skills/ai-core/structured-outputs/SKILL.md +1 -1
  220. package/skills/ai-core/tool-calling/SKILL.md +54 -59
  221. package/src/activities/chat/agent-loop-strategies.ts +10 -4
  222. package/src/activities/chat/cancel.ts +81 -0
  223. package/src/activities/chat/index.ts +1152 -153
  224. package/src/activities/chat/mcp/manager.ts +4 -4
  225. package/src/activities/chat/mcp/types.ts +2 -2
  226. package/src/activities/chat/messages.ts +5 -3
  227. package/src/activities/chat/middleware/builder.ts +1 -1
  228. package/src/activities/chat/middleware/compose.ts +186 -9
  229. package/src/activities/chat/middleware/index.ts +26 -0
  230. package/src/activities/chat/middleware/locks.ts +102 -0
  231. package/src/activities/chat/middleware/pending-turn.ts +47 -0
  232. package/src/activities/chat/middleware/run-disconnect.ts +62 -0
  233. package/src/activities/chat/middleware/run-store.ts +412 -0
  234. package/src/activities/chat/middleware/types.ts +62 -1
  235. package/src/activities/chat/stream/processor.ts +189 -5
  236. package/src/activities/chat/tools/approval-schema.ts +205 -0
  237. package/src/activities/chat/tools/tool-calls.ts +106 -13
  238. package/src/activities/chat/tools/tool-definition.ts +210 -39
  239. package/src/activities/generateAudio/index.ts +20 -3
  240. package/src/activities/generateImage/index.ts +20 -3
  241. package/src/activities/generateSpeech/index.ts +25 -3
  242. package/src/activities/generateTranscription/index.ts +26 -3
  243. package/src/activities/generateVideo/index.ts +345 -82
  244. package/src/activities/middleware/index.ts +2 -0
  245. package/src/activities/middleware/run.ts +31 -0
  246. package/src/activities/middleware/types.ts +49 -5
  247. package/src/activities/stream-generation-result.ts +30 -2
  248. package/src/activities/summarize/chat-stream-summarize.ts +5 -0
  249. package/src/activities/summarize/index.ts +200 -10
  250. package/src/adapter-internals.ts +10 -1
  251. package/src/client.ts +244 -0
  252. package/src/custom-events.ts +107 -0
  253. package/src/delivery-detach.ts +72 -0
  254. package/src/delivery-disconnect.ts +84 -0
  255. package/src/index.ts +138 -0
  256. package/src/interrupt-resume.ts +824 -0
  257. package/src/interrupt-serialization.ts +183 -0
  258. package/src/interrupts.ts +146 -0
  259. package/src/locks.ts +17 -0
  260. package/src/logger/types.ts +1 -1
  261. package/src/middlewares/otel.ts +1 -0
  262. package/src/realtime/index.ts +5 -9
  263. package/src/scope.ts +47 -0
  264. package/src/stream-durability.ts +598 -0
  265. package/src/stream-to-response.ts +1051 -95
  266. package/src/strip-to-spec-middleware.ts +3 -3
  267. package/src/types.ts +416 -24
  268. package/src/utilities/chat-params.ts +245 -55
  269. package/dist/esm/activities/index.js.map +0 -1
  270. package/dist/esm/adapter-internals.js.map +0 -1
  271. package/dist/esm/index.js.map +0 -1
  272. package/dist/esm/middlewares/index.js.map +0 -1
package/src/index.ts CHANGED
@@ -45,12 +45,43 @@ export {
45
45
  type ToolDefinitionInstance,
46
46
  type ToolDefinitionConfig,
47
47
  type ServerTool,
48
+ type AnyServerTool,
48
49
  type ClientTool,
49
50
  type AnyClientTool,
50
51
  type InferToolName,
51
52
  type InferToolInput,
52
53
  type InferToolOutput,
54
+ type ApprovalCapabilityOf,
55
+ type ApprovalSchemaConfig,
56
+ type ApprovalSchemaOf,
57
+ type InputSchemaOf,
58
+ type OutputSchemaOf,
59
+ type NoSchema,
53
60
  } from './activities/chat/tools/tool-definition'
61
+ export {
62
+ hashSchemaInput,
63
+ normalizeApprovalSchema,
64
+ type NormalizedApprovalSchema,
65
+ type NormalizedSchemaInput,
66
+ } from './activities/chat/tools/approval-schema'
67
+ export {
68
+ canonicalInterruptJson,
69
+ cloneAndDeepFreezeJson,
70
+ digestInterruptJson,
71
+ } from './interrupt-serialization'
72
+ export {
73
+ INTERRUPT_BINDING_METADATA_KEY,
74
+ InterruptResumeValidationError,
75
+ interruptItemError,
76
+ readInterruptBinding,
77
+ readUnopenedInterruptBinding,
78
+ validateInterruptResumeBatch,
79
+ withInterruptBinding,
80
+ withoutInterruptBinding,
81
+ type PendingInterruptResumeRecord,
82
+ type ValidateInterruptResumeBatchInput,
83
+ type ValidatedInterruptResumeBatch,
84
+ } from './interrupt-resume'
54
85
 
55
86
  // MCP chat option types
56
87
  export type {
@@ -67,6 +98,7 @@ export {
67
98
  convertSchemaToJsonSchema,
68
99
  isStandardSchema,
69
100
  parseWithStandardSchema,
101
+ validateWithStandardSchema,
70
102
  StandardSchemaValidationError,
71
103
  } from './activities/chat/tools/schema-converter'
72
104
 
@@ -75,9 +107,25 @@ export {
75
107
  streamToText,
76
108
  toServerSentEventsStream,
77
109
  toServerSentEventsResponse,
110
+ resumeServerSentEventsResponse,
78
111
  toHttpStream,
79
112
  toHttpResponse,
113
+ resumeHttpResponse,
114
+ resolveResumeRunId,
115
+ RUN_ACCEPTED_EVENT,
80
116
  } from './stream-to-response'
117
+ // `ResumeResponseOptions` is deliberately not exported (it is a local type
118
+ // alias), so the driver block reaches consumers as its own named type.
119
+ export type { RunDriverOptions } from './stream-to-response'
120
+
121
+ // Delivery durability (transport layer)
122
+ export { memoryStream, replayRunStream } from './stream-durability'
123
+ export type {
124
+ MemoryStreamInit,
125
+ MemoryStreamOptions,
126
+ StreamDurability,
127
+ UpsertableStreamDurability,
128
+ } from './stream-durability'
81
129
 
82
130
  // Tool call management
83
131
  export { ToolCallManager } from './activities/chat/tools/tool-calls'
@@ -110,6 +158,8 @@ export type {
110
158
  ChatMiddlewareContext,
111
159
  ChatMiddlewarePhase,
112
160
  ChatMiddlewareConfig,
161
+ ChatResumeToolState,
162
+ ChatResumeGenericResolution,
113
163
  StructuredOutputMiddlewareConfig,
114
164
  ToolCallHookContext,
115
165
  BeforeToolCallDecision,
@@ -125,6 +175,28 @@ export type {
125
175
  ChatSandboxHooks,
126
176
  } from './activities/chat/middleware/index'
127
177
 
178
+ // Interrupt protocol surface. Deliberately enumerated rather than
179
+ // `export *`: the interrupt object is the seam between AI-domain pauses and
180
+ // any future durable/workflow-owned approval model, so what we publish here is
181
+ // a commitment. Only the ephemeral contract this release actually implements
182
+ // is exported — no durable-recovery or persisted-state types, which would
183
+ // pre-decide a question the orchestration RFC still owns.
184
+ export {
185
+ INTERRUPT_BINDING_VERSION,
186
+ canonicalizeInterruptResolutions,
187
+ } from './interrupts'
188
+ export type {
189
+ BatchInterruptError,
190
+ BatchInterruptErrorCode,
191
+ InterruptBinding,
192
+ InterruptCorrelation,
193
+ InterruptSubmissionError,
194
+ ItemInterruptError,
195
+ ItemInterruptErrorCode,
196
+ ToolApprovalResolution,
197
+ UnopenedInterruptBinding,
198
+ } from './interrupts'
199
+
128
200
  // Base, activity-agnostic middleware. The observe-only superset that media
129
201
  // activities accept via their `middleware` option; `ChatMiddleware` adds the
130
202
  // chat-only hooks on top. Pure types only — the `otelMiddleware` value lives at
@@ -139,6 +211,8 @@ export type {
139
211
  GenerationAbortInfo,
140
212
  GenerationErrorInfo,
141
213
  AnyGenerationMiddleware,
214
+ GenerationResultTransform,
215
+ GenerationResultTransformContext,
142
216
  } from './activities/middleware/index'
143
217
  // Capability primitives + middleware builder
144
218
  export {
@@ -155,10 +229,68 @@ export type {
155
229
  DefinedChatMiddleware,
156
230
  AnyChatMiddleware,
157
231
  } from './activities/chat/middleware/index'
232
+ // Locks are a distributed-mutex primitive — coordination, not chat state — and
233
+ // live behind their own subpath: `@tanstack/ai/locks` (see ./locks.ts).
234
+
235
+ // Run lifecycle types — shared by @tanstack/ai-persistence (the `runs` store)
236
+ // and @tanstack/ai-sandbox (the run driver), so one record describes one run.
237
+ export {
238
+ isRunStatus,
239
+ isTerminalRunStatus,
240
+ defineRunStore,
241
+ InMemoryRunStore,
242
+ } from './activities/chat/middleware/index'
243
+ export type {
244
+ RunStatus,
245
+ TerminalRunStatus,
246
+ RunRecord,
247
+ RunError,
248
+ RunStore,
249
+ } from './activities/chat/middleware/index'
250
+ // The detachable-run marker is a coordination fact `@tanstack/ai-sandbox`
251
+ // provides and `@tanstack/ai-persistence` reads, so core owns it and neither
252
+ // consumer package has to depend on the other.
253
+ export {
254
+ DetachableRunCapability,
255
+ getDetachableRun,
256
+ provideDetachableRun,
257
+ } from './activities/chat/middleware/run-store'
258
+ // Its past-tense counterpart: the abort-path verdict that this run WAS detached.
259
+ // `@tanstack/ai-sandbox`'s `onAbort` publishes it on its detach branch, and core's
260
+ // durable delivery sink reads it to keep a detached run's log open for takeover.
261
+ export {
262
+ RunDetachedCapability,
263
+ getRunDetached,
264
+ provideRunDetached,
265
+ } from './activities/chat/middleware/run-store'
266
+ // Out-of-band run cancellation: intent is recorded (durable) or carried on the
267
+ // abort reason (in-process), never inferred from a disconnect.
268
+ export {
269
+ RUN_CANCEL_REASON,
270
+ isCancelRequestedReason,
271
+ requestRunCancel,
272
+ wasCancelRequested,
273
+ } from './activities/chat/cancel'
274
+
275
+ // Well-known AG-UI CUSTOM event catalog (agent activity rides on CUSTOM events)
276
+ export { CUSTOM_EVENT, isCustomEvent } from './custom-events'
277
+ export type {
278
+ WellKnownCustomEventName,
279
+ FileChangedPayload,
280
+ ProcessOutputPayload,
281
+ PortOpenedPayload,
282
+ ApprovalRequestedPayload,
283
+ ApprovalResolvedPayload,
284
+ ArtifactCreatedPayload,
285
+ SandboxLifecyclePayload,
286
+ } from './custom-events'
158
287
 
159
288
  // All types
160
289
  export * from './types'
161
290
 
291
+ // Shared identity/isolation scope for the persistence + memory subsystems
292
+ export type { Scope } from './scope'
293
+
162
294
  export {
163
295
  firstSentence,
164
296
  renderLazyCatalogEntry,
@@ -248,6 +380,12 @@ export {
248
380
  chatParamsFromRequestBody,
249
381
  mergeAgentTools,
250
382
  } from './utilities/chat-params'
383
+ export type {
384
+ ClientToolDeclaration,
385
+ MergedAgentTools,
386
+ } from './utilities/chat-params'
387
+
388
+ export { generationParamsFromBody, generationParamsFromRequest } from './client'
251
389
 
252
390
  // AG-UI wire serialization (used internally by @tanstack/ai-client)
253
391
  export { uiMessagesToWire } from './utilities/ag-ui-wire'