@namzu/sdk 30.2.0 → 31.1.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 (718) hide show
  1. package/CHANGELOG.md +562 -0
  2. package/README.md +43 -2
  3. package/dist/advisory/executor.d.ts +2 -1
  4. package/dist/advisory/executor.d.ts.map +1 -1
  5. package/dist/advisory/executor.js +4 -1
  6. package/dist/advisory/executor.js.map +1 -1
  7. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  8. package/dist/agents/ReactiveAgent.js +12 -0
  9. package/dist/agents/ReactiveAgent.js.map +1 -1
  10. package/dist/agents/RouterAgent.d.ts.map +1 -1
  11. package/dist/agents/RouterAgent.js +21 -3
  12. package/dist/agents/RouterAgent.js.map +1 -1
  13. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  14. package/dist/agents/SupervisorAgent.js +34 -11
  15. package/dist/agents/SupervisorAgent.js.map +1 -1
  16. package/dist/agents/runAgent.d.ts +12 -0
  17. package/dist/agents/runAgent.d.ts.map +1 -1
  18. package/dist/agents/runAgent.js +26 -2
  19. package/dist/agents/runAgent.js.map +1 -1
  20. package/dist/authorization/command-line.d.ts +81 -0
  21. package/dist/authorization/command-line.d.ts.map +1 -0
  22. package/dist/authorization/command-line.js +347 -0
  23. package/dist/authorization/command-line.js.map +1 -0
  24. package/dist/authorization/rules.d.ts.map +1 -1
  25. package/dist/authorization/rules.js +22 -1
  26. package/dist/authorization/rules.js.map +1 -1
  27. package/dist/bridge/a2a/client.d.ts +23 -5
  28. package/dist/bridge/a2a/client.d.ts.map +1 -1
  29. package/dist/bridge/a2a/client.js +320 -73
  30. package/dist/bridge/a2a/client.js.map +1 -1
  31. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  32. package/dist/bridge/a2a/mapper.js +4 -0
  33. package/dist/bridge/a2a/mapper.js.map +1 -1
  34. package/dist/bridge/acp/server.d.ts +13 -1
  35. package/dist/bridge/acp/server.d.ts.map +1 -1
  36. package/dist/bridge/acp/server.js +150 -44
  37. package/dist/bridge/acp/server.js.map +1 -1
  38. package/dist/bridge/mcp/connector/adapter.d.ts +3 -2
  39. package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
  40. package/dist/bridge/mcp/connector/adapter.js +17 -21
  41. package/dist/bridge/mcp/connector/adapter.js.map +1 -1
  42. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  43. package/dist/bridge/sse/mapper.js +3 -0
  44. package/dist/bridge/sse/mapper.js.map +1 -1
  45. package/dist/compaction/dangling.d.ts +29 -2
  46. package/dist/compaction/dangling.d.ts.map +1 -1
  47. package/dist/compaction/dangling.js +172 -35
  48. package/dist/compaction/dangling.js.map +1 -1
  49. package/dist/compaction/index.d.ts +3 -2
  50. package/dist/compaction/index.d.ts.map +1 -1
  51. package/dist/compaction/index.js +1 -1
  52. package/dist/compaction/index.js.map +1 -1
  53. package/dist/compaction/manual.d.ts +11 -1
  54. package/dist/compaction/manual.d.ts.map +1 -1
  55. package/dist/compaction/manual.js +89 -14
  56. package/dist/compaction/manual.js.map +1 -1
  57. package/dist/compaction/plan.d.ts +19 -6
  58. package/dist/compaction/plan.d.ts.map +1 -1
  59. package/dist/compaction/plan.js +18 -4
  60. package/dist/compaction/plan.js.map +1 -1
  61. package/dist/compaction/retention.d.ts +10 -7
  62. package/dist/compaction/retention.d.ts.map +1 -1
  63. package/dist/compaction/retention.js +26 -8
  64. package/dist/compaction/retention.js.map +1 -1
  65. package/dist/compaction/summary.d.ts +4 -4
  66. package/dist/compaction/summary.js +4 -4
  67. package/dist/compaction/verifier.d.ts +19 -1
  68. package/dist/compaction/verifier.d.ts.map +1 -1
  69. package/dist/compaction/verifier.js +20 -1
  70. package/dist/compaction/verifier.js.map +1 -1
  71. package/dist/config/runtime.d.ts +6 -6
  72. package/dist/connector/BaseConnector.d.ts +6 -4
  73. package/dist/connector/BaseConnector.d.ts.map +1 -1
  74. package/dist/connector/BaseConnector.js +8 -2
  75. package/dist/connector/BaseConnector.js.map +1 -1
  76. package/dist/connector/builtins/http.d.ts +16 -4
  77. package/dist/connector/builtins/http.d.ts.map +1 -1
  78. package/dist/connector/builtins/http.js +177 -44
  79. package/dist/connector/builtins/http.js.map +1 -1
  80. package/dist/connector/builtins/webhook.d.ts +15 -4
  81. package/dist/connector/builtins/webhook.d.ts.map +1 -1
  82. package/dist/connector/builtins/webhook.js +165 -45
  83. package/dist/connector/builtins/webhook.js.map +1 -1
  84. package/dist/connector/execution-contract.d.ts +11 -0
  85. package/dist/connector/execution-contract.d.ts.map +1 -0
  86. package/dist/connector/execution-contract.js +14 -0
  87. package/dist/connector/execution-contract.js.map +1 -0
  88. package/dist/connector/http-operation.d.ts +48 -0
  89. package/dist/connector/http-operation.d.ts.map +1 -0
  90. package/dist/connector/http-operation.js +205 -0
  91. package/dist/connector/http-operation.js.map +1 -0
  92. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  93. package/dist/connector/mcp/adapter.js +8 -3
  94. package/dist/connector/mcp/adapter.js.map +1 -1
  95. package/dist/connector/mcp/client.d.ts +14 -8
  96. package/dist/connector/mcp/client.d.ts.map +1 -1
  97. package/dist/connector/mcp/client.js +160 -44
  98. package/dist/connector/mcp/client.js.map +1 -1
  99. package/dist/connector/mcp/http-sse.d.ts +8 -2
  100. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  101. package/dist/connector/mcp/http-sse.js +70 -17
  102. package/dist/connector/mcp/http-sse.js.map +1 -1
  103. package/dist/connector/mcp/prompt-adapter.d.ts.map +1 -1
  104. package/dist/connector/mcp/prompt-adapter.js +9 -2
  105. package/dist/connector/mcp/prompt-adapter.js.map +1 -1
  106. package/dist/connector/mcp/stdio.d.ts +2 -2
  107. package/dist/connector/mcp/stdio.d.ts.map +1 -1
  108. package/dist/connector/mcp/stdio.js +14 -50
  109. package/dist/connector/mcp/stdio.js.map +1 -1
  110. package/dist/connector/mcp/streamable-http.d.ts +7 -2
  111. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  112. package/dist/connector/mcp/streamable-http.js +66 -18
  113. package/dist/connector/mcp/streamable-http.js.map +1 -1
  114. package/dist/connector/tools/adapter.d.ts +2 -2
  115. package/dist/connector/tools/adapter.d.ts.map +1 -1
  116. package/dist/connector/tools/adapter.js +23 -14
  117. package/dist/connector/tools/adapter.js.map +1 -1
  118. package/dist/connector/tools/definitions.d.ts.map +1 -1
  119. package/dist/connector/tools/definitions.js +5 -2
  120. package/dist/connector/tools/definitions.js.map +1 -1
  121. package/dist/connector/tools/result.d.ts +4 -0
  122. package/dist/connector/tools/result.d.ts.map +1 -0
  123. package/dist/connector/tools/result.js +20 -0
  124. package/dist/connector/tools/result.js.map +1 -0
  125. package/dist/connector/web/guarded-fetch.d.ts +4 -2
  126. package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
  127. package/dist/connector/web/guarded-fetch.js +157 -43
  128. package/dist/connector/web/guarded-fetch.js.map +1 -1
  129. package/dist/constants/sandbox/index.d.ts +3 -2
  130. package/dist/constants/sandbox/index.d.ts.map +1 -1
  131. package/dist/constants/sandbox/index.js +3 -2
  132. package/dist/constants/sandbox/index.js.map +1 -1
  133. package/dist/contracts/api.d.ts +2 -0
  134. package/dist/contracts/api.d.ts.map +1 -1
  135. package/dist/contracts/schemas.d.ts +38 -12
  136. package/dist/contracts/schemas.d.ts.map +1 -1
  137. package/dist/contracts/schemas.js +7 -0
  138. package/dist/contracts/schemas.js.map +1 -1
  139. package/dist/directory/derive-supervisor.d.ts.map +1 -1
  140. package/dist/directory/derive-supervisor.js +8 -0
  141. package/dist/directory/derive-supervisor.js.map +1 -1
  142. package/dist/directory/derive.d.ts.map +1 -1
  143. package/dist/directory/derive.js +8 -0
  144. package/dist/directory/derive.js.map +1 -1
  145. package/dist/directory/load.d.ts.map +1 -1
  146. package/dist/directory/load.js +2 -0
  147. package/dist/directory/load.js.map +1 -1
  148. package/dist/directory/types.d.ts +4 -0
  149. package/dist/directory/types.d.ts.map +1 -1
  150. package/dist/eval/experiment.d.ts +10 -10
  151. package/dist/eval/experiment.d.ts.map +1 -1
  152. package/dist/eval/experiment.js +121 -91
  153. package/dist/eval/experiment.js.map +1 -1
  154. package/dist/eval/judge.d.ts +6 -0
  155. package/dist/eval/judge.d.ts.map +1 -1
  156. package/dist/eval/judge.js +7 -2
  157. package/dist/eval/judge.js.map +1 -1
  158. package/dist/eval/types.d.ts +7 -1
  159. package/dist/eval/types.d.ts.map +1 -1
  160. package/dist/manager/agent/lifecycle.d.ts +12 -10
  161. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  162. package/dist/manager/agent/lifecycle.js +16 -3
  163. package/dist/manager/agent/lifecycle.js.map +1 -1
  164. package/dist/manager/connector/environment.d.ts +2 -2
  165. package/dist/manager/connector/environment.d.ts.map +1 -1
  166. package/dist/manager/connector/environment.js +2 -2
  167. package/dist/manager/connector/environment.js.map +1 -1
  168. package/dist/manager/connector/lifecycle.d.ts +10 -2
  169. package/dist/manager/connector/lifecycle.d.ts.map +1 -1
  170. package/dist/manager/connector/lifecycle.js +273 -24
  171. package/dist/manager/connector/lifecycle.js.map +1 -1
  172. package/dist/manager/connector/tenant.d.ts +5 -4
  173. package/dist/manager/connector/tenant.d.ts.map +1 -1
  174. package/dist/manager/connector/tenant.js +47 -22
  175. package/dist/manager/connector/tenant.js.map +1 -1
  176. package/dist/manager/goal/activation.d.ts +23 -0
  177. package/dist/manager/goal/activation.d.ts.map +1 -0
  178. package/dist/manager/goal/activation.js +41 -0
  179. package/dist/manager/goal/activation.js.map +1 -0
  180. package/dist/manager/index.d.ts +3 -2
  181. package/dist/manager/index.d.ts.map +1 -1
  182. package/dist/manager/index.js.map +1 -1
  183. package/dist/manager/run/persistence.d.ts +2 -0
  184. package/dist/manager/run/persistence.d.ts.map +1 -1
  185. package/dist/manager/run/persistence.js +5 -1
  186. package/dist/manager/run/persistence.js.map +1 -1
  187. package/dist/manager/topic/dependency.d.ts +24 -0
  188. package/dist/manager/topic/dependency.d.ts.map +1 -0
  189. package/dist/manager/topic/dependency.js +13 -0
  190. package/dist/manager/topic/dependency.js.map +1 -0
  191. package/dist/manager/topic/lifecycle.d.ts +9 -21
  192. package/dist/manager/topic/lifecycle.d.ts.map +1 -1
  193. package/dist/manager/topic/lifecycle.js +17 -29
  194. package/dist/manager/topic/lifecycle.js.map +1 -1
  195. package/dist/plugin/index.d.ts +1 -0
  196. package/dist/plugin/index.d.ts.map +1 -1
  197. package/dist/plugin/index.js.map +1 -1
  198. package/dist/plugin/lifecycle.d.ts +15 -0
  199. package/dist/plugin/lifecycle.d.ts.map +1 -1
  200. package/dist/plugin/lifecycle.js +144 -38
  201. package/dist/plugin/lifecycle.js.map +1 -1
  202. package/dist/plugin/loader.d.ts +3 -3
  203. package/dist/plugin/loader.d.ts.map +1 -1
  204. package/dist/plugin/loader.js +58 -12
  205. package/dist/plugin/loader.js.map +1 -1
  206. package/dist/provider/collect-chat-completion.d.ts.map +1 -1
  207. package/dist/provider/collect-chat-completion.js +4 -0
  208. package/dist/provider/collect-chat-completion.js.map +1 -1
  209. package/dist/provider/fallback.d.ts +3 -1
  210. package/dist/provider/fallback.d.ts.map +1 -1
  211. package/dist/provider/fallback.js +62 -10
  212. package/dist/provider/fallback.js.map +1 -1
  213. package/dist/provider/idle-timeout.d.ts +4 -0
  214. package/dist/provider/idle-timeout.d.ts.map +1 -1
  215. package/dist/provider/idle-timeout.js +131 -15
  216. package/dist/provider/idle-timeout.js.map +1 -1
  217. package/dist/provider/index.d.ts +2 -0
  218. package/dist/provider/index.d.ts.map +1 -1
  219. package/dist/provider/index.js +1 -0
  220. package/dist/provider/index.js.map +1 -1
  221. package/dist/provider/instrumentation.d.ts.map +1 -1
  222. package/dist/provider/instrumentation.js +1 -0
  223. package/dist/provider/instrumentation.js.map +1 -1
  224. package/dist/provider/retry.d.ts.map +1 -1
  225. package/dist/provider/retry.js +13 -1
  226. package/dist/provider/retry.js.map +1 -1
  227. package/dist/public-runtime.d.ts +57 -24
  228. package/dist/public-runtime.d.ts.map +1 -1
  229. package/dist/public-runtime.js +42 -35
  230. package/dist/public-runtime.js.map +1 -1
  231. package/dist/public-tools.d.ts +1 -0
  232. package/dist/public-tools.d.ts.map +1 -1
  233. package/dist/public-tools.js +5 -0
  234. package/dist/public-tools.js.map +1 -1
  235. package/dist/public-types.d.ts +33 -12
  236. package/dist/public-types.d.ts.map +1 -1
  237. package/dist/rag/embedding.d.ts +8 -3
  238. package/dist/rag/embedding.d.ts.map +1 -1
  239. package/dist/rag/embedding.js +120 -9
  240. package/dist/rag/embedding.js.map +1 -1
  241. package/dist/rag/index.d.ts +1 -1
  242. package/dist/rag/index.d.ts.map +1 -1
  243. package/dist/rag/index.js +1 -1
  244. package/dist/rag/index.js.map +1 -1
  245. package/dist/rag/ingestion.d.ts +2 -2
  246. package/dist/rag/ingestion.d.ts.map +1 -1
  247. package/dist/rag/ingestion.js +15 -3
  248. package/dist/rag/ingestion.js.map +1 -1
  249. package/dist/rag/knowledge-base.d.ts +3 -3
  250. package/dist/rag/knowledge-base.d.ts.map +1 -1
  251. package/dist/rag/knowledge-base.js +8 -4
  252. package/dist/rag/knowledge-base.js.map +1 -1
  253. package/dist/rag/operation.d.ts +10 -0
  254. package/dist/rag/operation.d.ts.map +1 -0
  255. package/dist/rag/operation.js +26 -0
  256. package/dist/rag/operation.js.map +1 -0
  257. package/dist/rag/rag-tool.d.ts.map +1 -1
  258. package/dist/rag/rag-tool.js +6 -3
  259. package/dist/rag/rag-tool.js.map +1 -1
  260. package/dist/rag/retriever.d.ts +2 -2
  261. package/dist/rag/retriever.d.ts.map +1 -1
  262. package/dist/rag/retriever.js +31 -15
  263. package/dist/rag/retriever.js.map +1 -1
  264. package/dist/rag/vector-store.d.ts +3 -3
  265. package/dist/rag/vector-store.d.ts.map +1 -1
  266. package/dist/rag/vector-store.js +4 -2
  267. package/dist/rag/vector-store.js.map +1 -1
  268. package/dist/registry/command/kernel-commands.d.ts +16 -4
  269. package/dist/registry/command/kernel-commands.d.ts.map +1 -1
  270. package/dist/registry/command/kernel-commands.js +171 -0
  271. package/dist/registry/command/kernel-commands.js.map +1 -1
  272. package/dist/run/reporter.d.ts.map +1 -1
  273. package/dist/run/reporter.js +9 -0
  274. package/dist/run/reporter.js.map +1 -1
  275. package/dist/run-query/index.d.ts +15 -1
  276. package/dist/run-query/index.d.ts.map +1 -1
  277. package/dist/run-query/index.js +69 -15
  278. package/dist/run-query/index.js.map +1 -1
  279. package/dist/runtime/query/context.d.ts.map +1 -1
  280. package/dist/runtime/query/context.js +10 -3
  281. package/dist/runtime/query/context.js.map +1 -1
  282. package/dist/runtime/query/executor.d.ts +3 -0
  283. package/dist/runtime/query/executor.d.ts.map +1 -1
  284. package/dist/runtime/query/executor.js +80 -18
  285. package/dist/runtime/query/executor.js.map +1 -1
  286. package/dist/runtime/query/guard.d.ts +9 -0
  287. package/dist/runtime/query/guard.d.ts.map +1 -1
  288. package/dist/runtime/query/guard.js +11 -0
  289. package/dist/runtime/query/guard.js.map +1 -1
  290. package/dist/runtime/query/index.d.ts +30 -1
  291. package/dist/runtime/query/index.d.ts.map +1 -1
  292. package/dist/runtime/query/index.js +548 -95
  293. package/dist/runtime/query/index.js.map +1 -1
  294. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  295. package/dist/runtime/query/iteration/index.js +74 -14
  296. package/dist/runtime/query/iteration/index.js.map +1 -1
  297. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  298. package/dist/runtime/query/iteration/phases/compaction.js +94 -53
  299. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  300. package/dist/runtime/query/iteration/phases/context.d.ts +3 -0
  301. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  302. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  303. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  304. package/dist/runtime/query/iteration/phases/tool-review.js +21 -0
  305. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  306. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  307. package/dist/runtime/query/iteration/stream-turn.js +4 -0
  308. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  309. package/dist/runtime/query/project-instructions.d.ts +69 -0
  310. package/dist/runtime/query/project-instructions.d.ts.map +1 -0
  311. package/dist/runtime/query/project-instructions.js +137 -0
  312. package/dist/runtime/query/project-instructions.js.map +1 -0
  313. package/dist/runtime/query/request-rich-content.d.ts +22 -0
  314. package/dist/runtime/query/request-rich-content.d.ts.map +1 -0
  315. package/dist/runtime/query/request-rich-content.js +122 -0
  316. package/dist/runtime/query/request-rich-content.js.map +1 -0
  317. package/dist/runtime/query/result.d.ts.map +1 -1
  318. package/dist/runtime/query/result.js +12 -1
  319. package/dist/runtime/query/result.js.map +1 -1
  320. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  321. package/dist/runtime/query/resume-pending.js +19 -20
  322. package/dist/runtime/query/resume-pending.js.map +1 -1
  323. package/dist/runtime/query/resume-run.d.ts.map +1 -1
  324. package/dist/runtime/query/resume-run.js +54 -8
  325. package/dist/runtime/query/resume-run.js.map +1 -1
  326. package/dist/runtime/query/run-state.d.ts +5 -0
  327. package/dist/runtime/query/run-state.d.ts.map +1 -1
  328. package/dist/runtime/query/run-state.js +6 -1
  329. package/dist/runtime/query/run-state.js.map +1 -1
  330. package/dist/runtime/query/sandbox-lifecycle.d.ts +54 -0
  331. package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -0
  332. package/dist/runtime/query/sandbox-lifecycle.js +167 -0
  333. package/dist/runtime/query/sandbox-lifecycle.js.map +1 -0
  334. package/dist/sandbox/isolation.d.ts.map +1 -1
  335. package/dist/sandbox/isolation.js +9 -0
  336. package/dist/sandbox/isolation.js.map +1 -1
  337. package/dist/sandbox/provider/local.d.ts +56 -6
  338. package/dist/sandbox/provider/local.d.ts.map +1 -1
  339. package/dist/sandbox/provider/local.js +181 -76
  340. package/dist/sandbox/provider/local.js.map +1 -1
  341. package/dist/sandbox/terminal.d.ts +13 -5
  342. package/dist/sandbox/terminal.d.ts.map +1 -1
  343. package/dist/sandbox/terminal.js +11 -3
  344. package/dist/sandbox/terminal.js.map +1 -1
  345. package/dist/session/errors.d.ts +28 -29
  346. package/dist/session/errors.d.ts.map +1 -1
  347. package/dist/session/errors.js +28 -29
  348. package/dist/session/errors.js.map +1 -1
  349. package/dist/session/handoff/broadcast.d.ts +5 -8
  350. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  351. package/dist/session/handoff/broadcast.js +16 -6
  352. package/dist/session/handoff/broadcast.js.map +1 -1
  353. package/dist/session/handoff/single.d.ts +5 -8
  354. package/dist/session/handoff/single.d.ts.map +1 -1
  355. package/dist/session/handoff/single.js +7 -4
  356. package/dist/session/handoff/single.js.map +1 -1
  357. package/dist/store/attachment/index.d.ts +11 -3
  358. package/dist/store/attachment/index.d.ts.map +1 -1
  359. package/dist/store/attachment/index.js +49 -4
  360. package/dist/store/attachment/index.js.map +1 -1
  361. package/dist/store/feedback/conformance.d.ts.map +1 -1
  362. package/dist/store/feedback/conformance.js +32 -0
  363. package/dist/store/feedback/conformance.js.map +1 -1
  364. package/dist/store/feedback/disk.d.ts +8 -6
  365. package/dist/store/feedback/disk.d.ts.map +1 -1
  366. package/dist/store/feedback/disk.js +111 -76
  367. package/dist/store/feedback/disk.js.map +1 -1
  368. package/dist/store/goal/index.d.ts +111 -0
  369. package/dist/store/goal/index.d.ts.map +1 -0
  370. package/dist/store/goal/index.js +436 -0
  371. package/dist/store/goal/index.js.map +1 -0
  372. package/dist/store/index.d.ts +1 -1
  373. package/dist/store/index.d.ts.map +1 -1
  374. package/dist/store/index.js +1 -1
  375. package/dist/store/index.js.map +1 -1
  376. package/dist/store/kv/revision-record-store.d.ts +70 -0
  377. package/dist/store/kv/revision-record-store.d.ts.map +1 -0
  378. package/dist/store/kv/revision-record-store.js +290 -0
  379. package/dist/store/kv/revision-record-store.js.map +1 -0
  380. package/dist/store/memory/disk.d.ts +9 -7
  381. package/dist/store/memory/disk.d.ts.map +1 -1
  382. package/dist/store/memory/disk.js +256 -98
  383. package/dist/store/memory/disk.js.map +1 -1
  384. package/dist/store/run/disk.d.ts +10 -2
  385. package/dist/store/run/disk.d.ts.map +1 -1
  386. package/dist/store/run/disk.js +70 -4
  387. package/dist/store/run/disk.js.map +1 -1
  388. package/dist/store/run/memory.d.ts +4 -2
  389. package/dist/store/run/memory.d.ts.map +1 -1
  390. package/dist/store/run/memory.js +15 -1
  391. package/dist/store/run/memory.js.map +1 -1
  392. package/dist/store/session/disk.d.ts +9 -0
  393. package/dist/store/session/disk.d.ts.map +1 -1
  394. package/dist/store/session/disk.js +57 -5
  395. package/dist/store/session/disk.js.map +1 -1
  396. package/dist/store/session/memory.d.ts +1 -0
  397. package/dist/store/session/memory.d.ts.map +1 -1
  398. package/dist/store/session/memory.js +14 -0
  399. package/dist/store/session/memory.js.map +1 -1
  400. package/dist/store/topic/memory.d.ts +1 -2
  401. package/dist/store/topic/memory.d.ts.map +1 -1
  402. package/dist/store/topic/memory.js +4 -5
  403. package/dist/store/topic/memory.js.map +1 -1
  404. package/dist/store/topic/objective.d.ts +8 -4
  405. package/dist/store/topic/objective.d.ts.map +1 -1
  406. package/dist/store/topic/objective.js +185 -100
  407. package/dist/store/topic/objective.js.map +1 -1
  408. package/dist/store/topic/state.d.ts +1 -2
  409. package/dist/store/topic/state.d.ts.map +1 -1
  410. package/dist/store/topic/state.js +50 -62
  411. package/dist/store/topic/state.js.map +1 -1
  412. package/dist/tools/builtins/bash.d.ts.map +1 -1
  413. package/dist/tools/builtins/bash.js +20 -0
  414. package/dist/tools/builtins/bash.js.map +1 -1
  415. package/dist/tools/builtins/computer-use.d.ts +9 -1
  416. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  417. package/dist/tools/builtins/computer-use.js.map +1 -1
  418. package/dist/tools/builtins/content-fingerprint.d.ts +8 -7
  419. package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
  420. package/dist/tools/builtins/content-fingerprint.js +9 -10
  421. package/dist/tools/builtins/content-fingerprint.js.map +1 -1
  422. package/dist/tools/builtins/edit.d.ts +6 -1
  423. package/dist/tools/builtins/edit.d.ts.map +1 -1
  424. package/dist/tools/builtins/edit.js +166 -27
  425. package/dist/tools/builtins/edit.js.map +1 -1
  426. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  427. package/dist/tools/builtins/write-file.js +45 -19
  428. package/dist/tools/builtins/write-file.js.map +1 -1
  429. package/dist/tools/command-arguments.d.ts +43 -0
  430. package/dist/tools/command-arguments.d.ts.map +1 -0
  431. package/dist/tools/command-arguments.js +52 -0
  432. package/dist/tools/command-arguments.js.map +1 -0
  433. package/dist/tools/coordinator/index.d.ts +2 -0
  434. package/dist/tools/coordinator/index.d.ts.map +1 -1
  435. package/dist/tools/coordinator/index.js +3 -1
  436. package/dist/tools/coordinator/index.js.map +1 -1
  437. package/dist/tools/defineTool.d.ts +10 -0
  438. package/dist/tools/defineTool.d.ts.map +1 -1
  439. package/dist/tools/defineTool.js +1 -0
  440. package/dist/tools/defineTool.js.map +1 -1
  441. package/dist/tools/env-scrub.d.ts +7 -5
  442. package/dist/tools/env-scrub.d.ts.map +1 -1
  443. package/dist/tools/env-scrub.js +7 -5
  444. package/dist/tools/env-scrub.js.map +1 -1
  445. package/dist/tools/goal/index.d.ts +20 -0
  446. package/dist/tools/goal/index.d.ts.map +1 -0
  447. package/dist/tools/goal/index.js +104 -0
  448. package/dist/tools/goal/index.js.map +1 -0
  449. package/dist/tools/memory/index.d.ts +16 -0
  450. package/dist/tools/memory/index.d.ts.map +1 -1
  451. package/dist/tools/memory/index.js +6 -2
  452. package/dist/tools/memory/index.js.map +1 -1
  453. package/dist/tools/memory/search.d.ts +4 -1
  454. package/dist/tools/memory/search.d.ts.map +1 -1
  455. package/dist/tools/memory/search.js +10 -2
  456. package/dist/tools/memory/search.js.map +1 -1
  457. package/dist/types/agent/base.d.ts +11 -3
  458. package/dist/types/agent/base.d.ts.map +1 -1
  459. package/dist/types/agent/factory.d.ts +2 -0
  460. package/dist/types/agent/factory.d.ts.map +1 -1
  461. package/dist/types/agent/reactive.d.ts +2 -0
  462. package/dist/types/agent/reactive.d.ts.map +1 -1
  463. package/dist/types/agent/supervisor.d.ts +6 -0
  464. package/dist/types/agent/supervisor.d.ts.map +1 -1
  465. package/dist/types/agent/task.d.ts +6 -2
  466. package/dist/types/agent/task.d.ts.map +1 -1
  467. package/dist/types/connector/core.d.ts +13 -8
  468. package/dist/types/connector/core.d.ts.map +1 -1
  469. package/dist/types/connector/definition.d.ts +37 -18
  470. package/dist/types/connector/definition.d.ts.map +1 -1
  471. package/dist/types/connector/http.d.ts +6 -0
  472. package/dist/types/connector/http.d.ts.map +1 -1
  473. package/dist/types/connector/mcp.d.ts +24 -6
  474. package/dist/types/connector/mcp.d.ts.map +1 -1
  475. package/dist/types/connector/tenant.d.ts +17 -7
  476. package/dist/types/connector/tenant.d.ts.map +1 -1
  477. package/dist/types/connector/webhook.d.ts +6 -0
  478. package/dist/types/connector/webhook.d.ts.map +1 -1
  479. package/dist/types/goal/index.d.ts +46 -0
  480. package/dist/types/goal/index.d.ts.map +1 -0
  481. package/dist/types/goal/index.js +2 -0
  482. package/dist/types/goal/index.js.map +1 -0
  483. package/dist/types/ids/index.d.ts +2 -0
  484. package/dist/types/ids/index.d.ts.map +1 -1
  485. package/dist/types/ids/index.js.map +1 -1
  486. package/dist/types/message/index.d.ts +79 -13
  487. package/dist/types/message/index.d.ts.map +1 -1
  488. package/dist/types/message/index.js +49 -3
  489. package/dist/types/message/index.js.map +1 -1
  490. package/dist/types/plugin/index.d.ts +7 -5
  491. package/dist/types/plugin/index.d.ts.map +1 -1
  492. package/dist/types/plugin/index.js.map +1 -1
  493. package/dist/types/provider/chat.d.ts +27 -4
  494. package/dist/types/provider/chat.d.ts.map +1 -1
  495. package/dist/types/provider/index.d.ts +1 -1
  496. package/dist/types/provider/index.d.ts.map +1 -1
  497. package/dist/types/provider/interface.d.ts +18 -7
  498. package/dist/types/provider/interface.d.ts.map +1 -1
  499. package/dist/types/provider/model.d.ts +12 -0
  500. package/dist/types/provider/model.d.ts.map +1 -1
  501. package/dist/types/provider/stream.d.ts +6 -0
  502. package/dist/types/provider/stream.d.ts.map +1 -1
  503. package/dist/types/rag/embedding.d.ts +15 -2
  504. package/dist/types/rag/embedding.d.ts.map +1 -1
  505. package/dist/types/rag/ingestion.d.ts +2 -2
  506. package/dist/types/rag/ingestion.d.ts.map +1 -1
  507. package/dist/types/rag/knowledge-base.d.ts +3 -3
  508. package/dist/types/rag/knowledge-base.d.ts.map +1 -1
  509. package/dist/types/rag/retrieval.d.ts +2 -2
  510. package/dist/types/rag/retrieval.d.ts.map +1 -1
  511. package/dist/types/rag/scope.d.ts +4 -0
  512. package/dist/types/rag/scope.d.ts.map +1 -1
  513. package/dist/types/rag/vector.d.ts +5 -2
  514. package/dist/types/rag/vector.d.ts.map +1 -1
  515. package/dist/types/run/config.d.ts +20 -0
  516. package/dist/types/run/config.d.ts.map +1 -1
  517. package/dist/types/run/events.d.ts +25 -1
  518. package/dist/types/run/events.d.ts.map +1 -1
  519. package/dist/types/run/events.js.map +1 -1
  520. package/dist/types/run/metadata.d.ts +2 -0
  521. package/dist/types/run/metadata.d.ts.map +1 -1
  522. package/dist/types/run/step.d.ts +2 -6
  523. package/dist/types/run/step.d.ts.map +1 -1
  524. package/dist/types/run/step.js.map +1 -1
  525. package/dist/types/run/store.d.ts +55 -2
  526. package/dist/types/run/store.d.ts.map +1 -1
  527. package/dist/types/sandbox/index.d.ts +47 -6
  528. package/dist/types/sandbox/index.d.ts.map +1 -1
  529. package/dist/types/sandbox/index.js +23 -10
  530. package/dist/types/sandbox/index.js.map +1 -1
  531. package/dist/types/session/store.d.ts +13 -0
  532. package/dist/types/session/store.d.ts.map +1 -1
  533. package/dist/types/tool/index.d.ts +33 -11
  534. package/dist/types/tool/index.d.ts.map +1 -1
  535. package/dist/types/tool/index.js.map +1 -1
  536. package/dist/types/topic/entity.d.ts +3 -4
  537. package/dist/types/topic/entity.d.ts.map +1 -1
  538. package/dist/types/topic/store.d.ts +3 -3
  539. package/dist/utils/id.d.ts +3 -1
  540. package/dist/utils/id.d.ts.map +1 -1
  541. package/dist/utils/id.js +4 -0
  542. package/dist/utils/id.js.map +1 -1
  543. package/dist/utils/process-environment.d.ts +26 -0
  544. package/dist/utils/process-environment.d.ts.map +1 -0
  545. package/dist/utils/process-environment.js +78 -0
  546. package/dist/utils/process-environment.js.map +1 -0
  547. package/dist/vault/InMemoryCredentialVault.d.ts +2 -0
  548. package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
  549. package/dist/vault/InMemoryCredentialVault.js +24 -4
  550. package/dist/vault/InMemoryCredentialVault.js.map +1 -1
  551. package/dist/vault/instrumentation.d.ts.map +1 -1
  552. package/dist/vault/instrumentation.js +15 -0
  553. package/dist/vault/instrumentation.js.map +1 -1
  554. package/package.json +1 -1
  555. package/src/advisory/executor.ts +4 -1
  556. package/src/agents/ReactiveAgent.ts +12 -0
  557. package/src/agents/RouterAgent.ts +25 -3
  558. package/src/agents/SupervisorAgent.ts +33 -11
  559. package/src/agents/runAgent.ts +38 -2
  560. package/src/authorization/command-line.ts +390 -0
  561. package/src/authorization/rules.ts +22 -1
  562. package/src/bridge/a2a/client.ts +384 -97
  563. package/src/bridge/a2a/mapper.ts +5 -0
  564. package/src/bridge/acp/server.ts +184 -42
  565. package/src/bridge/mcp/connector/adapter.ts +28 -20
  566. package/src/bridge/sse/mapper.ts +3 -0
  567. package/src/compaction/dangling.ts +203 -38
  568. package/src/compaction/index.ts +9 -2
  569. package/src/compaction/manual.ts +125 -18
  570. package/src/compaction/plan.ts +42 -11
  571. package/src/compaction/retention.ts +23 -8
  572. package/src/compaction/summary.ts +4 -4
  573. package/src/compaction/verifier.ts +66 -0
  574. package/src/connector/BaseConnector.ts +19 -4
  575. package/src/connector/builtins/http.ts +236 -46
  576. package/src/connector/builtins/webhook.ts +207 -47
  577. package/src/connector/execution-contract.ts +27 -0
  578. package/src/connector/http-operation.ts +238 -0
  579. package/src/connector/mcp/adapter.ts +8 -3
  580. package/src/connector/mcp/client.ts +207 -58
  581. package/src/connector/mcp/http-sse.ts +91 -23
  582. package/src/connector/mcp/prompt-adapter.ts +8 -2
  583. package/src/connector/mcp/stdio.ts +21 -46
  584. package/src/connector/mcp/streamable-http.ts +86 -22
  585. package/src/connector/tools/adapter.ts +23 -14
  586. package/src/connector/tools/definitions.ts +5 -2
  587. package/src/connector/tools/result.ts +21 -0
  588. package/src/connector/web/guarded-fetch.ts +188 -48
  589. package/src/constants/sandbox/index.ts +3 -2
  590. package/src/contracts/api.ts +2 -0
  591. package/src/contracts/schemas.ts +7 -0
  592. package/src/directory/derive-supervisor.ts +8 -0
  593. package/src/directory/derive.ts +8 -0
  594. package/src/directory/load.ts +2 -0
  595. package/src/directory/types.ts +4 -0
  596. package/src/eval/experiment.ts +160 -111
  597. package/src/eval/judge.ts +13 -2
  598. package/src/eval/types.ts +7 -1
  599. package/src/manager/agent/lifecycle.ts +28 -12
  600. package/src/manager/connector/environment.ts +3 -1
  601. package/src/manager/connector/lifecycle.ts +364 -24
  602. package/src/manager/connector/tenant.ts +56 -23
  603. package/src/manager/goal/activation.ts +52 -0
  604. package/src/manager/index.ts +10 -2
  605. package/src/manager/run/persistence.ts +6 -1
  606. package/src/manager/topic/dependency.ts +39 -0
  607. package/src/manager/topic/lifecycle.ts +19 -31
  608. package/src/plugin/index.ts +1 -0
  609. package/src/plugin/lifecycle.ts +180 -39
  610. package/src/plugin/loader.ts +70 -13
  611. package/src/provider/collect-chat-completion.ts +3 -0
  612. package/src/provider/fallback.ts +79 -11
  613. package/src/provider/idle-timeout.ts +143 -17
  614. package/src/provider/index.ts +2 -0
  615. package/src/provider/instrumentation.ts +1 -0
  616. package/src/provider/retry.ts +16 -1
  617. package/src/public-runtime.ts +190 -32
  618. package/src/public-tools.ts +5 -0
  619. package/src/public-types.ts +85 -11
  620. package/src/rag/embedding.ts +147 -19
  621. package/src/rag/index.ts +1 -1
  622. package/src/rag/ingestion.ts +16 -2
  623. package/src/rag/knowledge-base.ts +13 -4
  624. package/src/rag/operation.ts +28 -0
  625. package/src/rag/rag-tool.ts +6 -3
  626. package/src/rag/retriever.ts +62 -11
  627. package/src/rag/vector-store.ts +8 -2
  628. package/src/registry/command/kernel-commands.ts +223 -4
  629. package/src/run/reporter.ts +10 -0
  630. package/src/run-query/index.ts +84 -15
  631. package/src/runtime/query/context.ts +13 -3
  632. package/src/runtime/query/executor.ts +90 -17
  633. package/src/runtime/query/guard.ts +12 -0
  634. package/src/runtime/query/index.ts +652 -103
  635. package/src/runtime/query/iteration/index.ts +89 -13
  636. package/src/runtime/query/iteration/phases/compaction.ts +120 -55
  637. package/src/runtime/query/iteration/phases/context.ts +4 -0
  638. package/src/runtime/query/iteration/phases/tool-review.ts +28 -0
  639. package/src/runtime/query/iteration/stream-turn.ts +3 -0
  640. package/src/runtime/query/project-instructions.ts +212 -0
  641. package/src/runtime/query/request-rich-content.ts +153 -0
  642. package/src/runtime/query/result.ts +12 -1
  643. package/src/runtime/query/resume-pending.ts +20 -18
  644. package/src/runtime/query/resume-run.ts +52 -8
  645. package/src/runtime/query/run-state.ts +11 -1
  646. package/src/runtime/query/sandbox-lifecycle.ts +210 -0
  647. package/src/sandbox/isolation.ts +9 -0
  648. package/src/sandbox/provider/local.ts +255 -90
  649. package/src/sandbox/terminal.ts +13 -5
  650. package/src/session/errors.ts +68 -42
  651. package/src/session/handoff/broadcast.ts +20 -14
  652. package/src/session/handoff/single.ts +14 -13
  653. package/src/store/attachment/index.ts +65 -3
  654. package/src/store/feedback/conformance.ts +39 -0
  655. package/src/store/feedback/disk.ts +128 -82
  656. package/src/store/goal/index.ts +594 -0
  657. package/src/store/index.ts +1 -1
  658. package/src/store/kv/revision-record-store.ts +346 -0
  659. package/src/store/memory/disk.ts +288 -113
  660. package/src/store/run/disk.ts +96 -5
  661. package/src/store/run/memory.ts +22 -2
  662. package/src/store/session/disk.ts +93 -6
  663. package/src/store/session/memory.ts +22 -0
  664. package/src/store/topic/memory.ts +4 -5
  665. package/src/store/topic/objective.ts +215 -100
  666. package/src/store/topic/state.ts +100 -63
  667. package/src/tools/builtins/bash.ts +21 -0
  668. package/src/tools/builtins/computer-use.ts +9 -1
  669. package/src/tools/builtins/content-fingerprint.ts +9 -12
  670. package/src/tools/builtins/edit.ts +190 -27
  671. package/src/tools/builtins/write-file.ts +55 -19
  672. package/src/tools/command-arguments.ts +54 -0
  673. package/src/tools/coordinator/index.ts +4 -1
  674. package/src/tools/defineTool.ts +11 -0
  675. package/src/tools/env-scrub.ts +7 -5
  676. package/src/tools/goal/index.ts +129 -0
  677. package/src/tools/memory/index.ts +26 -3
  678. package/src/tools/memory/search.ts +20 -3
  679. package/src/types/agent/base.ts +12 -3
  680. package/src/types/agent/factory.ts +2 -0
  681. package/src/types/agent/reactive.ts +2 -0
  682. package/src/types/agent/supervisor.ts +6 -0
  683. package/src/types/agent/task.ts +6 -2
  684. package/src/types/connector/core.ts +13 -8
  685. package/src/types/connector/definition.ts +54 -20
  686. package/src/types/connector/http.ts +7 -0
  687. package/src/types/connector/mcp.ts +27 -6
  688. package/src/types/connector/tenant.ts +21 -7
  689. package/src/types/connector/webhook.ts +7 -0
  690. package/src/types/goal/index.ts +50 -0
  691. package/src/types/ids/index.ts +2 -0
  692. package/src/types/message/index.ts +147 -12
  693. package/src/types/plugin/index.ts +7 -5
  694. package/src/types/provider/chat.ts +35 -4
  695. package/src/types/provider/index.ts +1 -1
  696. package/src/types/provider/interface.ts +22 -7
  697. package/src/types/provider/model.ts +13 -0
  698. package/src/types/provider/stream.ts +6 -0
  699. package/src/types/rag/embedding.ts +16 -2
  700. package/src/types/rag/ingestion.ts +2 -1
  701. package/src/types/rag/knowledge-base.ts +7 -3
  702. package/src/types/rag/retrieval.ts +2 -1
  703. package/src/types/rag/scope.ts +5 -0
  704. package/src/types/rag/vector.ts +5 -2
  705. package/src/types/run/config.ts +20 -0
  706. package/src/types/run/events.ts +28 -3
  707. package/src/types/run/metadata.ts +2 -0
  708. package/src/types/run/step.ts +2 -7
  709. package/src/types/run/store.ts +60 -2
  710. package/src/types/sandbox/index.ts +57 -14
  711. package/src/types/session/store.ts +18 -0
  712. package/src/types/tool/index.ts +33 -11
  713. package/src/types/topic/entity.ts +3 -4
  714. package/src/types/topic/store.ts +3 -3
  715. package/src/utils/id.ts +6 -0
  716. package/src/utils/process-environment.ts +101 -0
  717. package/src/vault/InMemoryCredentialVault.ts +29 -4
  718. package/src/vault/instrumentation.ts +24 -0
@@ -18,40 +18,61 @@ export interface ConnectorDefinition<TConfig = unknown> {
18
18
  category?: ConnectorCategory
19
19
  connectionType: ConnectionType
20
20
  /**
21
- * **Not consulted.** A connector declaring this is not checked against
22
- * the auth an instance is actually configured with, so a mismatch
23
- * surfaces as a 401 from the upstream rather than as a refusal here.
24
- *
25
- * Worth wiring where instances are created, not at request time: the
26
- * point of declaring supported schemes is to reject a misconfiguration
27
- * before anything is sent.
21
+ * Authentication schemes this connector can consume. When present, the
22
+ * manager refuses an unsupported explicit credential before publishing an
23
+ * instance and revalidates the effective scheme immediately before connect.
24
+ * Omit only when a custom connector intentionally accepts every scheme.
28
25
  */
29
- supportedAuth?: AuthType[]
26
+ supportedAuth?: readonly AuthType[]
30
27
  configSchema: z.ZodType<TConfig, z.ZodTypeDef, unknown>
31
28
  methods: ConnectorMethod[]
32
- /** Declared, not implemented — see {@link ConnectorTrigger}. */
29
+ /**
30
+ * Declared, not implemented — see {@link ConnectorTrigger}.
31
+ *
32
+ * @deprecated The SDK never reads this field or starts a run from it. Move
33
+ * subscription metadata into a host-owned store before the next major.
34
+ * It remains readable through `ConnectorRegistry` during this migration
35
+ * release so existing host dispatchers do not break without warning.
36
+ */
33
37
  triggers?: ConnectorTrigger[]
34
38
  }
35
39
 
36
40
  export interface ConnectorConfig {
37
- connectorId: ConnectorId
41
+ readonly connectorId: ConnectorId
38
42
  name: string
39
43
  auth?: AuthConfig
40
44
  options?: Record<string, unknown>
41
45
  }
42
46
 
43
47
  export interface ConnectorInstance {
44
- id: ConnectorInstanceId
45
- connectorId: ConnectorId
46
- config: ConnectorConfig
48
+ readonly id: ConnectorInstanceId
49
+ readonly connectorId: ConnectorId
50
+ readonly config: ConnectorConfig
47
51
  status: ConnectorStatus
48
- createdAt: number
52
+ readonly createdAt: number
49
53
  connectedAt?: number
50
54
  lastUsedAt?: number
51
55
  error?: string
52
56
  }
53
57
 
54
- export interface ConnectorExecuteParams {
58
+ /** What the client can establish about a connector side effect. */
59
+ export type ConnectorRemoteOutcome = 'not_started' | 'unknown' | 'response_received'
60
+
61
+ /** Whether repeating the connector call can be recommended without duplicating a side effect. */
62
+ export type ConnectorRetrySafety = 'safe' | 'unsafe' | 'unknown'
63
+
64
+ export interface ConnectorOperationOptions {
65
+ /** The authority for this operation. A pre-aborted signal starts no connector work. */
66
+ signal?: AbortSignal
67
+ }
68
+
69
+ export interface ConnectorExecutionMetadata extends Record<string, unknown> {
70
+ remoteOutcome?: ConnectorRemoteOutcome
71
+ retrySafety?: ConnectorRetrySafety
72
+ bodyAvailable?: boolean
73
+ }
74
+
75
+ export interface ConnectorExecuteParams extends ConnectorOperationOptions {
55
76
  instanceId: ConnectorInstanceId
56
77
  method: string
57
78
  input: unknown
@@ -62,26 +83,39 @@ export interface ConnectorExecuteResult {
62
83
  output: unknown
63
84
  error?: string
64
85
  durationMs: number
65
- metadata?: Record<string, unknown>
86
+ metadata?: ConnectorExecutionMetadata
66
87
  }
67
88
 
68
89
  export interface ConnectorLifecycle<TConfig = unknown> {
69
90
  connect(config: TConfig, auth?: AuthConfig): Promise<void>
70
91
  disconnect(): Promise<void>
71
- healthCheck(): Promise<boolean>
72
- execute(method: string, input: unknown): Promise<ConnectorExecuteResult>
92
+ healthCheck(options?: ConnectorOperationOptions): Promise<boolean>
93
+ execute(
94
+ method: string,
95
+ /** ConnectorManager supplies the method schema's parsed canonical value on managed calls. */
96
+ input: unknown,
97
+ options?: ConnectorOperationOptions,
98
+ ): Promise<ConnectorExecuteResult>
73
99
  }
74
100
 
75
101
  export type ConnectorLifecycleEvent =
76
102
  | { type: 'connector_registered'; connectorId: ConnectorId }
77
103
  | { type: 'connector_unregistered'; connectorId: ConnectorId }
78
- | { type: 'instance_created'; instanceId: ConnectorInstanceId; connectorId: ConnectorId }
104
+ | {
105
+ type: 'instance_created'
106
+ instanceId: ConnectorInstanceId
107
+ connectorId: ConnectorId
108
+ }
79
109
  | { type: 'instance_connecting'; instanceId: ConnectorInstanceId }
80
110
  | { type: 'instance_connected'; instanceId: ConnectorInstanceId }
81
111
  | { type: 'instance_disconnected'; instanceId: ConnectorInstanceId }
82
112
  | { type: 'instance_error'; instanceId: ConnectorInstanceId; error: string }
83
113
  | { type: 'instance_removed'; instanceId: ConnectorInstanceId }
84
- | { type: 'action_executing'; instanceId: ConnectorInstanceId; method: string }
114
+ | {
115
+ type: 'action_executing'
116
+ instanceId: ConnectorInstanceId
117
+ method: string
118
+ }
85
119
  | {
86
120
  type: 'action_completed'
87
121
  instanceId: ConnectorInstanceId
@@ -1,9 +1,12 @@
1
+ import type { ConnectorRemoteOutcome, ConnectorRetrySafety } from './definition.js'
2
+
1
3
  export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD'
2
4
 
3
5
  export interface HttpConnectorConfig {
4
6
  baseUrl: string
5
7
  defaultHeaders?: Record<string, string>
6
8
  timeoutMs?: number
9
+ maxResponseBytes?: number
7
10
  }
8
11
 
9
12
  export interface HttpRequestInput {
@@ -19,4 +22,8 @@ export interface HttpResponseOutput {
19
22
  statusText: string
20
23
  headers: Record<string, string>
21
24
  body: unknown
25
+ bodyAvailable?: boolean
26
+ bodyError?: string
27
+ remoteOutcome?: ConnectorRemoteOutcome
28
+ retrySafety?: ConnectorRetrySafety
22
29
  }
@@ -74,10 +74,27 @@ export interface MCPJsonRpcMessage {
74
74
  error?: MCPJsonRpcError
75
75
  }
76
76
 
77
+ /** Authority for one MCP JSON-RPC request. */
78
+ export interface MCPRequestOptions {
79
+ /**
80
+ * Cancels the local wait and asks the peer to stop the correlated request.
81
+ *
82
+ * The peer notification is best effort: rejection proves that Namzu stopped
83
+ * waiting, not that an already-started remote side effect was rolled back.
84
+ */
85
+ readonly signal?: AbortSignal
86
+ }
87
+
88
+ /** Authority for one transport write and any response body it consumes. */
89
+ export interface MCPTransportSendOptions {
90
+ /** A pre-aborted signal starts no transport work. */
91
+ readonly signal?: AbortSignal
92
+ }
93
+
77
94
  export interface MCPTransport {
78
95
  connect(): Promise<void>
79
96
  close(): Promise<void>
80
- send(message: MCPJsonRpcMessage): Promise<void>
97
+ send(message: MCPJsonRpcMessage, options?: MCPTransportSendOptions): Promise<void>
81
98
  onMessage(handler: (message: MCPJsonRpcMessage) => void): void
82
99
  onClose(handler: () => void): void
83
100
  onError(handler: (error: Error) => void): void
@@ -91,6 +108,12 @@ export interface MCPJsonSchema {
91
108
  [key: string]: unknown
92
109
  }
93
110
 
111
+ /** A JSON Schema for a value, including non-object tool outputs. */
112
+ export interface MCPValueJsonSchema {
113
+ type?: string
114
+ [key: string]: unknown
115
+ }
116
+
94
117
  export interface MCPToolAnnotations {
95
118
  title?: string
96
119
  readOnlyHint?: boolean
@@ -111,7 +134,7 @@ export interface MCPToolDefinition {
111
134
  * shape never reached the model at all, which was left inferring one
112
135
  * from prose or from whatever the first call happened to return.
113
136
  */
114
- outputSchema?: MCPJsonSchema
137
+ outputSchema?: MCPValueJsonSchema
115
138
  annotations?: MCPToolAnnotations
116
139
  }
117
140
 
@@ -284,10 +307,8 @@ export type MCPEventListener = (event: MCPLifecycleEvent) => void
284
307
 
285
308
  type ConnectorManager = {
286
309
  getInstance(instanceId: ConnectorInstanceId): ConnectorInstance | undefined
287
- getRegistry(): {
288
- get(connectorId: ConnectorId): ConnectorDefinition | undefined
289
- getOrThrow(connectorId: ConnectorId): ConnectorDefinition
290
- }
310
+ getInstanceConnectorId(instanceId: ConnectorInstanceId): ConnectorId
311
+ getInstanceDefinition(instanceId: ConnectorInstanceId): ConnectorDefinition
291
312
  listConnectedInstances(): ConnectorInstance[]
292
313
  execute(params: ConnectorExecuteParams): Promise<ConnectorExecuteResult>
293
314
  }
@@ -24,13 +24,13 @@ export interface TenantRateLimitConfig {
24
24
  }
25
25
 
26
26
  export interface CredentialRef {
27
- id: CredentialId
28
- connectorId: ConnectorId
29
- tenantId: TenantId
30
- label: string
31
- authType: AuthType
32
- createdAt: number
33
- expiresAt?: number
27
+ readonly id: CredentialId
28
+ readonly connectorId: ConnectorId
29
+ readonly tenantId: TenantId
30
+ readonly label: string
31
+ readonly authType: AuthType
32
+ readonly createdAt: number
33
+ readonly expiresAt?: number
34
34
  }
35
35
 
36
36
  export interface CredentialVault {
@@ -40,7 +40,21 @@ export interface CredentialVault {
40
40
  label: string,
41
41
  auth: AuthConfig,
42
42
  ): Promise<CredentialRef>
43
+ /** Host-authority lookup. Tenant-facing code must use {@link retrieveForScope}. */
43
44
  retrieve(credentialId: CredentialId): Promise<AuthConfig | undefined>
45
+ /**
46
+ * Resolve only when the credential atomically belongs to both authorities.
47
+ * Implementations must not perform an unscoped read followed by a separate
48
+ * metadata check: a concurrent rotation must not cross the scope boundary.
49
+ */
50
+ retrieveForScope(
51
+ tenantId: TenantId,
52
+ connectorId: ConnectorId,
53
+ credentialId: CredentialId,
54
+ ): Promise<AuthConfig | undefined>
55
+ /** Host-authority deletion. Tenant-facing code must use {@link revokeForTenant}. */
44
56
  revoke(credentialId: CredentialId): Promise<boolean>
57
+ /** Atomically delete only when the credential belongs to `tenantId`. */
58
+ revokeForTenant(tenantId: TenantId, credentialId: CredentialId): Promise<boolean>
45
59
  list(tenantId: TenantId, connectorId?: ConnectorId): Promise<CredentialRef[]>
46
60
  }
@@ -1,8 +1,11 @@
1
+ import type { ConnectorRemoteOutcome, ConnectorRetrySafety } from './definition.js'
2
+
1
3
  export interface WebhookConnectorConfig {
2
4
  url: string
3
5
  secret?: string
4
6
  defaultHeaders?: Record<string, string>
5
7
  timeoutMs?: number
8
+ maxResponseBytes?: number
6
9
  }
7
10
 
8
11
  export interface WebhookSendInput {
@@ -15,4 +18,8 @@ export interface WebhookSendOutput {
15
18
  status: number
16
19
  body: unknown
17
20
  deliveredAt: number
21
+ bodyAvailable?: boolean
22
+ bodyError?: string
23
+ remoteOutcome?: ConnectorRemoteOutcome
24
+ retrySafety?: ConnectorRetrySafety
18
25
  }
@@ -0,0 +1,50 @@
1
+ import type { GoalId, SessionId, TenantId } from '../ids/index.js'
2
+
3
+ /** Durable lifecycle of one same-session completion goal. */
4
+ export type GoalPhase = 'active' | 'paused' | 'blocked' | 'complete'
5
+
6
+ /** Machine-routable and human-readable reason that a goal stopped. */
7
+ export interface GoalBlockReason {
8
+ /** Stable lower-kebab-case policy code. */
9
+ readonly code: string
10
+ /** Non-empty explanation suitable for an operator. */
11
+ readonly message: string
12
+ }
13
+
14
+ /** Exact compare-and-set identity of one goal revision. */
15
+ export interface GoalRef {
16
+ readonly id: GoalId
17
+ readonly revision: number
18
+ }
19
+
20
+ /**
21
+ * The current completion goal owned by one durable Session.
22
+ *
23
+ * `objective` is the text to achieve; “goal” is the stateful concept around
24
+ * it. Keeping those terms apart prevents the old `TopicObjective` shape from
25
+ * making a piece of text sound like the lifecycle that owns it.
26
+ */
27
+ export interface SessionGoal extends GoalRef {
28
+ readonly sessionId: SessionId
29
+ readonly tenantId: TenantId
30
+ readonly objective: string
31
+ readonly phase: GoalPhase
32
+ /** Finite number of automatic rounds that may be admitted for this goal. */
33
+ readonly maxGoalRounds: number
34
+ /** Durable admissions, not a claim that the provider began or completed. */
35
+ readonly roundsAdmitted: number
36
+ /** Present exactly while {@link phase} is `blocked`. */
37
+ readonly blockedReason?: GoalBlockReason
38
+ readonly createdAt: number
39
+ readonly updatedAt: number
40
+ }
41
+
42
+ /** Immutable authority carried by exactly one admitted automatic turn. */
43
+ export interface GoalRoundAuthority extends GoalRef {
44
+ readonly sessionId: SessionId
45
+ readonly tenantId: TenantId
46
+ readonly objective: string
47
+ /** One-based admitted round number. */
48
+ readonly round: number
49
+ readonly maxGoalRounds: number
50
+ }
@@ -17,6 +17,8 @@ import { type Id, unsafeId } from './brand.js'
17
17
  export type RunId = Id<'run', 'RunId'>
18
18
  export type MessageId = Id<'msg', 'MessageId'>
19
19
  export type SessionId = Id<'ses', 'SessionId'>
20
+ /** Identifies one durable completion goal across its revisions. */
21
+ export type GoalId = Id<'goal', 'GoalId'>
20
22
  export type ToolCallId = Id<'call', 'ToolCallId'>
21
23
  /**
22
24
  * Provider-issued tool-use identifier surfaced on the streaming event bus.
@@ -1,11 +1,14 @@
1
+ import type { GoalId } from '../ids/index.js'
2
+
1
3
  export type MessageRole = 'system' | 'user' | 'assistant' | 'tool'
2
4
 
3
5
  export type CacheHint = 'cache' | 'ephemeral' | 'none'
4
6
 
5
7
  /**
6
- * An image attached to a user message (vision input). Additive: providers
7
- * that support vision emit it as an image content block
8
- * alongside the text; providers that don't simply ignore it.
8
+ * An image attached to a user message (vision input). Drivers that declare
9
+ * vision support emit it alongside the text. A shipped driver that cannot
10
+ * map it refuses or causes the runtime to warn according to capability
11
+ * policy; silently ignoring image bytes is not a supported fallback.
9
12
  */
10
13
  export interface ImageAttachment {
11
14
  /**
@@ -156,10 +159,12 @@ export interface BaseMessage {
156
159
  * one") therefore aged out at the same rate as chatter, and no
157
160
  * positional rule could express it.
158
161
  *
159
- * Protection is transitive across a tool pair: pinning a
160
- * `tool_result` also pins the assistant turn that called it, and
161
- * pinning that turn pins every result answering it. Half a pair is not
162
- * a smaller history, it is one the provider rejects.
162
+ * Protection is transitive across a provider-valid turn: pinning an
163
+ * assistant message also pins the user message that opened its turn;
164
+ * pinning a `tool_result` additionally pins the assistant turn that called
165
+ * it, and pinning that call pins every result answering it. Half a pair,
166
+ * or an assistant-first retained tail, is not a smaller history — it is
167
+ * one the provider rejects.
163
168
  *
164
169
  * Pinned turns are exempt from the reclaim that keeps a long run
165
170
  * alive, so this is a budget the setter spends. Nothing caps it: a cap
@@ -179,12 +184,111 @@ export interface UserMessage extends BaseMessage {
179
184
  content: string
180
185
  /** Optional image or document attachments. */
181
186
  attachments?: readonly MessageAttachment[]
187
+ /** Host provenance for user-role input that was not authored by the operator. */
188
+ source?: UserMessageSource
189
+ }
190
+
191
+ /** One automatic continuation prompt admitted against a durable SessionGoal. */
192
+ export interface GoalRoundMessageSource {
193
+ readonly type: 'goal-round'
194
+ readonly goalId: GoalId
195
+ readonly objective: string
196
+ /** Post-admission goal revision that authorized this prompt. */
197
+ readonly goalRevision: number
198
+ readonly round: number
199
+ readonly maxGoalRounds: number
200
+ }
201
+
202
+ /**
203
+ * A host-owned snapshot of the instruction files currently in force.
204
+ *
205
+ * Paths are canonical project-relative `AGENTS.md` paths. The text lives on
206
+ * the user message itself; the paths are provenance used to re-read the
207
+ * authoritative files after a restart rather than trusting persisted prose as
208
+ * standing policy.
209
+ */
210
+ export interface ProjectInstructionMessageSource {
211
+ readonly type: 'project-instructions'
212
+ readonly files: readonly string[]
213
+ }
214
+
215
+ export type UserMessageSource = GoalRoundMessageSource | ProjectInstructionMessageSource
216
+
217
+ /** A bounded source list keeps untrusted persisted metadata cheap to validate. */
218
+ export const MAX_PROJECT_INSTRUCTION_SOURCE_FILES = 256
219
+
220
+ /** Runtime validation for persisted or JavaScript-authored instruction provenance. */
221
+ export function isProjectInstructionMessageSource(
222
+ value: unknown,
223
+ ): value is ProjectInstructionMessageSource {
224
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) return false
225
+ const candidate = value as {
226
+ readonly type?: unknown
227
+ readonly files?: unknown
228
+ }
229
+ if (
230
+ candidate.type !== 'project-instructions' ||
231
+ !Array.isArray(candidate.files) ||
232
+ candidate.files.length === 0 ||
233
+ candidate.files.length > MAX_PROJECT_INSTRUCTION_SOURCE_FILES
234
+ ) {
235
+ return false
236
+ }
237
+ const seen = new Set<string>()
238
+ for (const file of candidate.files) {
239
+ if (typeof file !== 'string' || file.length === 0 || file.length > 1024) return false
240
+ if (
241
+ file.includes('\\') ||
242
+ file.startsWith('/') ||
243
+ /^[A-Za-z]:/.test(file) ||
244
+ file.includes('\0') ||
245
+ (file !== 'AGENTS.md' && !file.endsWith('/AGENTS.md'))
246
+ ) {
247
+ return false
248
+ }
249
+ const parts = file.split('/')
250
+ if (parts.some((part) => part.length === 0 || part === '.' || part === '..')) return false
251
+ if (seen.has(file)) return false
252
+ seen.add(file)
253
+ }
254
+ return true
255
+ }
256
+
257
+ /**
258
+ * The configured model route that produced or is about to receive a message.
259
+ *
260
+ * `chainIndex` is part of the identity on purpose: one chain may contain the
261
+ * same provider and model more than once with different credentials or base
262
+ * URLs. Names alone do not prove that provider-native replay state belongs to
263
+ * the target member.
264
+ */
265
+ export interface ProviderRoute {
266
+ readonly providerId: string
267
+ readonly model: string
268
+ /** 0 is the primary provider; later values are declared fallbacks. */
269
+ readonly chainIndex: number
270
+ }
271
+
272
+ /** Provenance and adapter-private replay state for a model-produced message. */
273
+ export interface AssistantMessageSource extends ProviderRoute {
274
+ readonly type: 'model'
275
+ /**
276
+ * Lossless-JSON state a provider adapter needs to restore native response
277
+ * metadata such as reasoning signatures.
278
+ *
279
+ * Opaque to the SDK. A target adapter must validate its kind, version,
280
+ * route, and correspondence with the durable message before using it.
281
+ * Missing or unusable state means provider-neutral history, never inferred
282
+ * native replay from matching names alone.
283
+ */
284
+ readonly replayState?: unknown
182
285
  }
183
286
 
184
287
  /**
185
288
  * An opaque reasoning block produced by the model.
186
289
  *
187
- * Deliberately opaque: the SDK stores and replays it, never interprets it.
290
+ * Deliberately opaque: the SDK stores it and leaves native replay to the
291
+ * adapter that owns the message's {@link AssistantMessageSource} route.
188
292
  * A provider whose reasoning blocks are signed requires the preceding
189
293
  * assistant turn to be echoed back **verbatim** — thinking blocks and
190
294
  * their cryptographic `signature` included — whenever a `tool_result`
@@ -209,10 +313,12 @@ export interface AssistantMessage extends BaseMessage {
209
313
  role: 'assistant'
210
314
  content: string | null
211
315
  toolCalls?: ToolCall[]
316
+ /** Which configured model route produced this turn. */
317
+ source?: AssistantMessageSource
212
318
  /**
213
319
  * Reasoning the model emitted before this turn's content, in order.
214
- * Replayed verbatim and ahead of the text/tool blocks — see
215
- * {@link ReasoningBlock}.
320
+ * Stored verbatim; native replay additionally requires validated
321
+ * {@link AssistantMessageSource.replayState} owned by the target route.
216
322
  */
217
323
  reasoning?: readonly ReasoningBlock[]
218
324
  /**
@@ -239,7 +345,11 @@ export interface AssistantMessage extends BaseMessage {
239
345
  */
240
346
  export type ToolResultBlock =
241
347
  | { readonly type: 'text'; readonly text: string }
242
- | { readonly type: 'image'; readonly data: string; readonly mediaType: string }
348
+ | {
349
+ readonly type: 'image'
350
+ readonly data: string
351
+ readonly mediaType: string
352
+ }
243
353
  | DocumentAttachment
244
354
 
245
355
  /**
@@ -280,13 +390,32 @@ export function createSystemMessage(content: string, cacheHint?: CacheHint): Sys
280
390
  export function createUserMessage(
281
391
  content: string,
282
392
  attachments?: readonly MessageAttachment[],
393
+ source?: UserMessageSource,
283
394
  ): UserMessage {
284
395
  return {
285
396
  role: 'user',
286
397
  content,
287
398
  timestamp: Date.now(),
288
399
  ...(attachments && attachments.length > 0 ? { attachments } : {}),
400
+ ...(source ? { source } : {}),
401
+ }
402
+ }
403
+
404
+ /** Build the retained user-context message that carries live project policy. */
405
+ export function createProjectInstructionMessage(
406
+ content: string,
407
+ files: readonly string[],
408
+ ): UserMessage {
409
+ const source: ProjectInstructionMessageSource = {
410
+ type: 'project-instructions',
411
+ files,
412
+ }
413
+ if (!isProjectInstructionMessageSource(source)) {
414
+ throw new TypeError(
415
+ 'Project instruction paths must be unique, canonical project-relative paths.',
416
+ )
289
417
  }
418
+ return { ...createUserMessage(content, undefined, source), retain: true }
290
419
  }
291
420
 
292
421
  export function createAssistantMessage(
@@ -294,6 +423,7 @@ export function createAssistantMessage(
294
423
  toolCalls?: ToolCall[],
295
424
  reasoning?: readonly ReasoningBlock[],
296
425
  citations?: readonly Citation[],
426
+ source?: AssistantMessageSource,
297
427
  ): AssistantMessage {
298
428
  return {
299
429
  role: 'assistant',
@@ -301,6 +431,7 @@ export function createAssistantMessage(
301
431
  toolCalls,
302
432
  ...(reasoning && reasoning.length > 0 ? { reasoning } : {}),
303
433
  ...(citations && citations.length > 0 ? { citations } : {}),
434
+ ...(source ? { source } : {}),
304
435
  timestamp: Date.now(),
305
436
  }
306
437
  }
@@ -319,4 +450,8 @@ export function createToolMessage(
319
450
  }
320
451
  }
321
452
 
322
- export { hasNonTextBlocks, toToolResultBlocks, toolResultToText } from './content.js'
453
+ export {
454
+ hasNonTextBlocks,
455
+ toToolResultBlocks,
456
+ toolResultToText,
457
+ } from './content.js'
@@ -175,12 +175,14 @@ export interface PluginHookContext {
175
175
  */
176
176
  readonly response?: Readonly<PluginModelResponse>
177
177
  /**
178
- * Aborts when this hook's deadline expires.
178
+ * Aborts when this hook's run is cancelled or its deadline expires.
179
179
  *
180
- * The runtime stops waiting on a slow hook either way, but without a
181
- * signal the hook itself never learns it was abandoned: an HTTP request
182
- * inside it keeps a socket open and its eventual result is written into
183
- * a run that moved on without it. A hook doing I/O should forward this.
180
+ * The runtime stops waiting on a slow hook either way, but in-process
181
+ * JavaScript cannot be forcibly stopped. Without a signal the hook itself
182
+ * never learns it was abandoned: an HTTP request inside it keeps a socket
183
+ * open and its eventual side effects can happen after the run moved on. A
184
+ * hook doing I/O must forward this signal and stop publishing when it
185
+ * aborts.
184
186
  */
185
187
  readonly signal?: AbortSignal
186
188
  }
@@ -1,5 +1,5 @@
1
1
  import type { TokenUsage } from '../common/index.js'
2
- import type { Message, ReasoningBlock, ToolCall } from '../message/index.js'
2
+ import type { Message, ProviderRoute, ReasoningBlock, ToolCall } from '../message/index.js'
3
3
  import type { LLMToolSchema } from '../tool/index.js'
4
4
 
5
5
  export type ToolChoice =
@@ -26,6 +26,14 @@ export interface CacheControl {
26
26
  export interface ChatCompletionParams {
27
27
  model: string
28
28
  messages: Message[]
29
+ /**
30
+ * Exact configured member receiving this call.
31
+ *
32
+ * Set by the query/fallback runtime so provider adapters can decide whether
33
+ * historical native replay state belongs to this route. Direct primary
34
+ * calls may omit it; a provider then uses its own id, `model`, and index 0.
35
+ */
36
+ providerRoute?: ProviderRoute
29
37
  tools?: LLMToolSchema[]
30
38
  /**
31
39
  * Provider hint naming tools whose model-facing JSON Schema should be
@@ -73,14 +81,19 @@ export interface ChatCompletionParams {
73
81
  * default the runtime received blocks it then discarded. Neither half
74
82
  * was expressible.
75
83
  *
76
- * Drivers that do not support it ignore the field.
84
+ * A driver that has no extended-thinking wire must refuse `enabled` and
85
+ * `adaptive` rather than return an ordinary answer that looks honoured.
86
+ * `disabled` may be accepted as an explicit no-op by a driver that was
87
+ * already going to leave thinking off.
77
88
  */
78
89
  thinking?: ThinkingConfig
79
90
 
80
91
  /**
81
92
  * How much work to put into the response. See {@link ReasoningEffort}.
82
93
  *
83
- * Drivers that do not support it ignore the field.
94
+ * A driver with no effort concept must refuse the field rather than silently
95
+ * use the model default. Drivers whose accepted levels vary by model resolve
96
+ * that narrower set according to their documented provider policy.
84
97
  */
85
98
  effort?: ReasoningEffort
86
99
  }
@@ -142,8 +155,24 @@ export interface ThinkingConfig {
142
155
  * In adaptive mode it is the primary depth lever — low effort may skip
143
156
  * thinking entirely on easy input. In manual mode `budgetTokens` sets depth
144
157
  * and effort does not move it.
158
+ *
159
+ * This union describes caller intent, not a claim that every provider or model
160
+ * accepts every level. For example, `minimal` and `none` are distinct levels on
161
+ * different compatible model generations, `max` is available only on newer
162
+ * families, and `ultra` can be a host-level value rather than a model wire
163
+ * capability. A provider must resolve the selected model's actual set before
164
+ * transport or leave the vendor to refuse an unknown compatible-endpoint
165
+ * extension explicitly.
145
166
  */
146
- export type ReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max'
167
+ export type ReasoningEffort =
168
+ | 'none'
169
+ | 'minimal'
170
+ | 'low'
171
+ | 'medium'
172
+ | 'high'
173
+ | 'xhigh'
174
+ | 'max'
175
+ | 'ultra'
147
176
 
148
177
  export interface ChatCompletionResponse {
149
178
  id: string
@@ -154,6 +183,8 @@ export interface ChatCompletionResponse {
154
183
  toolCalls?: ToolCall[]
155
184
  /** Reasoning blocks the model emitted, in original block order. */
156
185
  reasoning?: readonly ReasoningBlock[]
186
+ /** Adapter-private lossless-JSON state for restoring native metadata. */
187
+ replayState?: unknown
157
188
  /** Passages this turn cites, in the order the model made them. */
158
189
  citations?: readonly import('../message/index.js').Citation[]
159
190
  }
@@ -8,7 +8,7 @@ export type {
8
8
  ThinkingConfig,
9
9
  } from './chat.js'
10
10
  export type { StreamChunk } from './stream.js'
11
- export type { ModelInfo } from './model.js'
11
+ export type { ModelInfo, ModelInputModality } from './model.js'
12
12
  export type { LLMProvider } from './interface.js'
13
13
  export type {
14
14
  ProviderErrorInfo,