@namzu/sdk 30.2.0 → 31.0.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 (712) hide show
  1. package/CHANGELOG.md +556 -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 +75 -10
  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/interface.d.ts +18 -7
  496. package/dist/types/provider/interface.d.ts.map +1 -1
  497. package/dist/types/provider/stream.d.ts +6 -0
  498. package/dist/types/provider/stream.d.ts.map +1 -1
  499. package/dist/types/rag/embedding.d.ts +15 -2
  500. package/dist/types/rag/embedding.d.ts.map +1 -1
  501. package/dist/types/rag/ingestion.d.ts +2 -2
  502. package/dist/types/rag/ingestion.d.ts.map +1 -1
  503. package/dist/types/rag/knowledge-base.d.ts +3 -3
  504. package/dist/types/rag/knowledge-base.d.ts.map +1 -1
  505. package/dist/types/rag/retrieval.d.ts +2 -2
  506. package/dist/types/rag/retrieval.d.ts.map +1 -1
  507. package/dist/types/rag/scope.d.ts +4 -0
  508. package/dist/types/rag/scope.d.ts.map +1 -1
  509. package/dist/types/rag/vector.d.ts +5 -2
  510. package/dist/types/rag/vector.d.ts.map +1 -1
  511. package/dist/types/run/config.d.ts +20 -0
  512. package/dist/types/run/config.d.ts.map +1 -1
  513. package/dist/types/run/events.d.ts +25 -1
  514. package/dist/types/run/events.d.ts.map +1 -1
  515. package/dist/types/run/events.js.map +1 -1
  516. package/dist/types/run/metadata.d.ts +2 -0
  517. package/dist/types/run/metadata.d.ts.map +1 -1
  518. package/dist/types/run/step.d.ts +2 -6
  519. package/dist/types/run/step.d.ts.map +1 -1
  520. package/dist/types/run/step.js.map +1 -1
  521. package/dist/types/run/store.d.ts +55 -2
  522. package/dist/types/run/store.d.ts.map +1 -1
  523. package/dist/types/sandbox/index.d.ts +47 -6
  524. package/dist/types/sandbox/index.d.ts.map +1 -1
  525. package/dist/types/sandbox/index.js +23 -10
  526. package/dist/types/sandbox/index.js.map +1 -1
  527. package/dist/types/session/store.d.ts +13 -0
  528. package/dist/types/session/store.d.ts.map +1 -1
  529. package/dist/types/tool/index.d.ts +33 -11
  530. package/dist/types/tool/index.d.ts.map +1 -1
  531. package/dist/types/tool/index.js.map +1 -1
  532. package/dist/types/topic/entity.d.ts +3 -4
  533. package/dist/types/topic/entity.d.ts.map +1 -1
  534. package/dist/types/topic/store.d.ts +3 -3
  535. package/dist/utils/id.d.ts +3 -1
  536. package/dist/utils/id.d.ts.map +1 -1
  537. package/dist/utils/id.js +4 -0
  538. package/dist/utils/id.js.map +1 -1
  539. package/dist/utils/process-environment.d.ts +26 -0
  540. package/dist/utils/process-environment.d.ts.map +1 -0
  541. package/dist/utils/process-environment.js +78 -0
  542. package/dist/utils/process-environment.js.map +1 -0
  543. package/dist/vault/InMemoryCredentialVault.d.ts +2 -0
  544. package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
  545. package/dist/vault/InMemoryCredentialVault.js +24 -4
  546. package/dist/vault/InMemoryCredentialVault.js.map +1 -1
  547. package/dist/vault/instrumentation.d.ts.map +1 -1
  548. package/dist/vault/instrumentation.js +15 -0
  549. package/dist/vault/instrumentation.js.map +1 -1
  550. package/package.json +1 -1
  551. package/src/advisory/executor.ts +4 -1
  552. package/src/agents/ReactiveAgent.ts +12 -0
  553. package/src/agents/RouterAgent.ts +25 -3
  554. package/src/agents/SupervisorAgent.ts +33 -11
  555. package/src/agents/runAgent.ts +38 -2
  556. package/src/authorization/command-line.ts +390 -0
  557. package/src/authorization/rules.ts +22 -1
  558. package/src/bridge/a2a/client.ts +384 -97
  559. package/src/bridge/a2a/mapper.ts +5 -0
  560. package/src/bridge/acp/server.ts +184 -42
  561. package/src/bridge/mcp/connector/adapter.ts +28 -20
  562. package/src/bridge/sse/mapper.ts +3 -0
  563. package/src/compaction/dangling.ts +203 -38
  564. package/src/compaction/index.ts +9 -2
  565. package/src/compaction/manual.ts +125 -18
  566. package/src/compaction/plan.ts +42 -11
  567. package/src/compaction/retention.ts +23 -8
  568. package/src/compaction/summary.ts +4 -4
  569. package/src/compaction/verifier.ts +66 -0
  570. package/src/connector/BaseConnector.ts +19 -4
  571. package/src/connector/builtins/http.ts +236 -46
  572. package/src/connector/builtins/webhook.ts +207 -47
  573. package/src/connector/execution-contract.ts +27 -0
  574. package/src/connector/http-operation.ts +238 -0
  575. package/src/connector/mcp/adapter.ts +8 -3
  576. package/src/connector/mcp/client.ts +207 -58
  577. package/src/connector/mcp/http-sse.ts +91 -23
  578. package/src/connector/mcp/prompt-adapter.ts +8 -2
  579. package/src/connector/mcp/stdio.ts +21 -46
  580. package/src/connector/mcp/streamable-http.ts +86 -22
  581. package/src/connector/tools/adapter.ts +23 -14
  582. package/src/connector/tools/definitions.ts +5 -2
  583. package/src/connector/tools/result.ts +21 -0
  584. package/src/connector/web/guarded-fetch.ts +188 -48
  585. package/src/constants/sandbox/index.ts +3 -2
  586. package/src/contracts/api.ts +2 -0
  587. package/src/contracts/schemas.ts +7 -0
  588. package/src/directory/derive-supervisor.ts +8 -0
  589. package/src/directory/derive.ts +8 -0
  590. package/src/directory/load.ts +2 -0
  591. package/src/directory/types.ts +4 -0
  592. package/src/eval/experiment.ts +160 -111
  593. package/src/eval/judge.ts +13 -2
  594. package/src/eval/types.ts +7 -1
  595. package/src/manager/agent/lifecycle.ts +28 -12
  596. package/src/manager/connector/environment.ts +3 -1
  597. package/src/manager/connector/lifecycle.ts +364 -24
  598. package/src/manager/connector/tenant.ts +56 -23
  599. package/src/manager/goal/activation.ts +52 -0
  600. package/src/manager/index.ts +10 -2
  601. package/src/manager/run/persistence.ts +6 -1
  602. package/src/manager/topic/dependency.ts +39 -0
  603. package/src/manager/topic/lifecycle.ts +19 -31
  604. package/src/plugin/index.ts +1 -0
  605. package/src/plugin/lifecycle.ts +180 -39
  606. package/src/plugin/loader.ts +70 -13
  607. package/src/provider/collect-chat-completion.ts +3 -0
  608. package/src/provider/fallback.ts +79 -11
  609. package/src/provider/idle-timeout.ts +143 -17
  610. package/src/provider/index.ts +2 -0
  611. package/src/provider/instrumentation.ts +1 -0
  612. package/src/provider/retry.ts +16 -1
  613. package/src/public-runtime.ts +190 -32
  614. package/src/public-tools.ts +5 -0
  615. package/src/public-types.ts +85 -11
  616. package/src/rag/embedding.ts +147 -19
  617. package/src/rag/index.ts +1 -1
  618. package/src/rag/ingestion.ts +16 -2
  619. package/src/rag/knowledge-base.ts +13 -4
  620. package/src/rag/operation.ts +28 -0
  621. package/src/rag/rag-tool.ts +6 -3
  622. package/src/rag/retriever.ts +62 -11
  623. package/src/rag/vector-store.ts +8 -2
  624. package/src/registry/command/kernel-commands.ts +223 -4
  625. package/src/run/reporter.ts +10 -0
  626. package/src/run-query/index.ts +84 -15
  627. package/src/runtime/query/context.ts +13 -3
  628. package/src/runtime/query/executor.ts +90 -17
  629. package/src/runtime/query/guard.ts +12 -0
  630. package/src/runtime/query/index.ts +652 -103
  631. package/src/runtime/query/iteration/index.ts +89 -13
  632. package/src/runtime/query/iteration/phases/compaction.ts +120 -55
  633. package/src/runtime/query/iteration/phases/context.ts +4 -0
  634. package/src/runtime/query/iteration/phases/tool-review.ts +28 -0
  635. package/src/runtime/query/iteration/stream-turn.ts +3 -0
  636. package/src/runtime/query/project-instructions.ts +212 -0
  637. package/src/runtime/query/request-rich-content.ts +153 -0
  638. package/src/runtime/query/result.ts +12 -1
  639. package/src/runtime/query/resume-pending.ts +20 -18
  640. package/src/runtime/query/resume-run.ts +52 -8
  641. package/src/runtime/query/run-state.ts +11 -1
  642. package/src/runtime/query/sandbox-lifecycle.ts +210 -0
  643. package/src/sandbox/isolation.ts +9 -0
  644. package/src/sandbox/provider/local.ts +255 -90
  645. package/src/sandbox/terminal.ts +13 -5
  646. package/src/session/errors.ts +68 -42
  647. package/src/session/handoff/broadcast.ts +20 -14
  648. package/src/session/handoff/single.ts +14 -13
  649. package/src/store/attachment/index.ts +65 -3
  650. package/src/store/feedback/conformance.ts +39 -0
  651. package/src/store/feedback/disk.ts +128 -82
  652. package/src/store/goal/index.ts +594 -0
  653. package/src/store/index.ts +1 -1
  654. package/src/store/kv/revision-record-store.ts +346 -0
  655. package/src/store/memory/disk.ts +288 -113
  656. package/src/store/run/disk.ts +96 -5
  657. package/src/store/run/memory.ts +22 -2
  658. package/src/store/session/disk.ts +93 -6
  659. package/src/store/session/memory.ts +22 -0
  660. package/src/store/topic/memory.ts +4 -5
  661. package/src/store/topic/objective.ts +215 -100
  662. package/src/store/topic/state.ts +100 -63
  663. package/src/tools/builtins/bash.ts +21 -0
  664. package/src/tools/builtins/computer-use.ts +9 -1
  665. package/src/tools/builtins/content-fingerprint.ts +9 -12
  666. package/src/tools/builtins/edit.ts +190 -27
  667. package/src/tools/builtins/write-file.ts +55 -19
  668. package/src/tools/command-arguments.ts +54 -0
  669. package/src/tools/coordinator/index.ts +4 -1
  670. package/src/tools/defineTool.ts +11 -0
  671. package/src/tools/env-scrub.ts +7 -5
  672. package/src/tools/goal/index.ts +129 -0
  673. package/src/tools/memory/index.ts +26 -3
  674. package/src/tools/memory/search.ts +20 -3
  675. package/src/types/agent/base.ts +12 -3
  676. package/src/types/agent/factory.ts +2 -0
  677. package/src/types/agent/reactive.ts +2 -0
  678. package/src/types/agent/supervisor.ts +6 -0
  679. package/src/types/agent/task.ts +6 -2
  680. package/src/types/connector/core.ts +13 -8
  681. package/src/types/connector/definition.ts +54 -20
  682. package/src/types/connector/http.ts +7 -0
  683. package/src/types/connector/mcp.ts +27 -6
  684. package/src/types/connector/tenant.ts +21 -7
  685. package/src/types/connector/webhook.ts +7 -0
  686. package/src/types/goal/index.ts +50 -0
  687. package/src/types/ids/index.ts +2 -0
  688. package/src/types/message/index.ts +143 -9
  689. package/src/types/plugin/index.ts +7 -5
  690. package/src/types/provider/chat.ts +35 -4
  691. package/src/types/provider/interface.ts +22 -7
  692. package/src/types/provider/stream.ts +6 -0
  693. package/src/types/rag/embedding.ts +16 -2
  694. package/src/types/rag/ingestion.ts +2 -1
  695. package/src/types/rag/knowledge-base.ts +7 -3
  696. package/src/types/rag/retrieval.ts +2 -1
  697. package/src/types/rag/scope.ts +5 -0
  698. package/src/types/rag/vector.ts +5 -2
  699. package/src/types/run/config.ts +20 -0
  700. package/src/types/run/events.ts +28 -3
  701. package/src/types/run/metadata.ts +2 -0
  702. package/src/types/run/step.ts +2 -7
  703. package/src/types/run/store.ts +60 -2
  704. package/src/types/sandbox/index.ts +57 -14
  705. package/src/types/session/store.ts +18 -0
  706. package/src/types/tool/index.ts +33 -11
  707. package/src/types/topic/entity.ts +3 -4
  708. package/src/types/topic/store.ts +3 -3
  709. package/src/utils/id.ts +6 -0
  710. package/src/utils/process-environment.ts +101 -0
  711. package/src/vault/InMemoryCredentialVault.ts +29 -4
  712. 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,3 +1,5 @@
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'
@@ -156,10 +158,12 @@ export interface BaseMessage {
156
158
  * one") therefore aged out at the same rate as chatter, and no
157
159
  * positional rule could express it.
158
160
  *
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.
161
+ * Protection is transitive across a provider-valid turn: pinning an
162
+ * assistant message also pins the user message that opened its turn;
163
+ * pinning a `tool_result` additionally pins the assistant turn that called
164
+ * it, and pinning that call pins every result answering it. Half a pair,
165
+ * or an assistant-first retained tail, is not a smaller history — it is
166
+ * one the provider rejects.
163
167
  *
164
168
  * Pinned turns are exempt from the reclaim that keeps a long run
165
169
  * alive, so this is a budget the setter spends. Nothing caps it: a cap
@@ -179,12 +183,111 @@ export interface UserMessage extends BaseMessage {
179
183
  content: string
180
184
  /** Optional image or document attachments. */
181
185
  attachments?: readonly MessageAttachment[]
186
+ /** Host provenance for user-role input that was not authored by the operator. */
187
+ source?: UserMessageSource
188
+ }
189
+
190
+ /** One automatic continuation prompt admitted against a durable SessionGoal. */
191
+ export interface GoalRoundMessageSource {
192
+ readonly type: 'goal-round'
193
+ readonly goalId: GoalId
194
+ readonly objective: string
195
+ /** Post-admission goal revision that authorized this prompt. */
196
+ readonly goalRevision: number
197
+ readonly round: number
198
+ readonly maxGoalRounds: number
199
+ }
200
+
201
+ /**
202
+ * A host-owned snapshot of the instruction files currently in force.
203
+ *
204
+ * Paths are canonical project-relative `AGENTS.md` paths. The text lives on
205
+ * the user message itself; the paths are provenance used to re-read the
206
+ * authoritative files after a restart rather than trusting persisted prose as
207
+ * standing policy.
208
+ */
209
+ export interface ProjectInstructionMessageSource {
210
+ readonly type: 'project-instructions'
211
+ readonly files: readonly string[]
212
+ }
213
+
214
+ export type UserMessageSource = GoalRoundMessageSource | ProjectInstructionMessageSource
215
+
216
+ /** A bounded source list keeps untrusted persisted metadata cheap to validate. */
217
+ export const MAX_PROJECT_INSTRUCTION_SOURCE_FILES = 256
218
+
219
+ /** Runtime validation for persisted or JavaScript-authored instruction provenance. */
220
+ export function isProjectInstructionMessageSource(
221
+ value: unknown,
222
+ ): value is ProjectInstructionMessageSource {
223
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) return false
224
+ const candidate = value as {
225
+ readonly type?: unknown
226
+ readonly files?: unknown
227
+ }
228
+ if (
229
+ candidate.type !== 'project-instructions' ||
230
+ !Array.isArray(candidate.files) ||
231
+ candidate.files.length === 0 ||
232
+ candidate.files.length > MAX_PROJECT_INSTRUCTION_SOURCE_FILES
233
+ ) {
234
+ return false
235
+ }
236
+ const seen = new Set<string>()
237
+ for (const file of candidate.files) {
238
+ if (typeof file !== 'string' || file.length === 0 || file.length > 1024) return false
239
+ if (
240
+ file.includes('\\') ||
241
+ file.startsWith('/') ||
242
+ /^[A-Za-z]:/.test(file) ||
243
+ file.includes('\0') ||
244
+ (file !== 'AGENTS.md' && !file.endsWith('/AGENTS.md'))
245
+ ) {
246
+ return false
247
+ }
248
+ const parts = file.split('/')
249
+ if (parts.some((part) => part.length === 0 || part === '.' || part === '..')) return false
250
+ if (seen.has(file)) return false
251
+ seen.add(file)
252
+ }
253
+ return true
254
+ }
255
+
256
+ /**
257
+ * The configured model route that produced or is about to receive a message.
258
+ *
259
+ * `chainIndex` is part of the identity on purpose: one chain may contain the
260
+ * same provider and model more than once with different credentials or base
261
+ * URLs. Names alone do not prove that provider-native replay state belongs to
262
+ * the target member.
263
+ */
264
+ export interface ProviderRoute {
265
+ readonly providerId: string
266
+ readonly model: string
267
+ /** 0 is the primary provider; later values are declared fallbacks. */
268
+ readonly chainIndex: number
269
+ }
270
+
271
+ /** Provenance and adapter-private replay state for a model-produced message. */
272
+ export interface AssistantMessageSource extends ProviderRoute {
273
+ readonly type: 'model'
274
+ /**
275
+ * Lossless-JSON state a provider adapter needs to restore native response
276
+ * metadata such as reasoning signatures.
277
+ *
278
+ * Opaque to the SDK. A target adapter must validate its kind, version,
279
+ * route, and correspondence with the durable message before using it.
280
+ * Missing or unusable state means provider-neutral history, never inferred
281
+ * native replay from matching names alone.
282
+ */
283
+ readonly replayState?: unknown
182
284
  }
183
285
 
184
286
  /**
185
287
  * An opaque reasoning block produced by the model.
186
288
  *
187
- * Deliberately opaque: the SDK stores and replays it, never interprets it.
289
+ * Deliberately opaque: the SDK stores it and leaves native replay to the
290
+ * adapter that owns the message's {@link AssistantMessageSource} route.
188
291
  * A provider whose reasoning blocks are signed requires the preceding
189
292
  * assistant turn to be echoed back **verbatim** — thinking blocks and
190
293
  * their cryptographic `signature` included — whenever a `tool_result`
@@ -209,10 +312,12 @@ export interface AssistantMessage extends BaseMessage {
209
312
  role: 'assistant'
210
313
  content: string | null
211
314
  toolCalls?: ToolCall[]
315
+ /** Which configured model route produced this turn. */
316
+ source?: AssistantMessageSource
212
317
  /**
213
318
  * 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}.
319
+ * Stored verbatim; native replay additionally requires validated
320
+ * {@link AssistantMessageSource.replayState} owned by the target route.
216
321
  */
217
322
  reasoning?: readonly ReasoningBlock[]
218
323
  /**
@@ -239,7 +344,11 @@ export interface AssistantMessage extends BaseMessage {
239
344
  */
240
345
  export type ToolResultBlock =
241
346
  | { readonly type: 'text'; readonly text: string }
242
- | { readonly type: 'image'; readonly data: string; readonly mediaType: string }
347
+ | {
348
+ readonly type: 'image'
349
+ readonly data: string
350
+ readonly mediaType: string
351
+ }
243
352
  | DocumentAttachment
244
353
 
245
354
  /**
@@ -280,13 +389,32 @@ export function createSystemMessage(content: string, cacheHint?: CacheHint): Sys
280
389
  export function createUserMessage(
281
390
  content: string,
282
391
  attachments?: readonly MessageAttachment[],
392
+ source?: UserMessageSource,
283
393
  ): UserMessage {
284
394
  return {
285
395
  role: 'user',
286
396
  content,
287
397
  timestamp: Date.now(),
288
398
  ...(attachments && attachments.length > 0 ? { attachments } : {}),
399
+ ...(source ? { source } : {}),
400
+ }
401
+ }
402
+
403
+ /** Build the retained user-context message that carries live project policy. */
404
+ export function createProjectInstructionMessage(
405
+ content: string,
406
+ files: readonly string[],
407
+ ): UserMessage {
408
+ const source: ProjectInstructionMessageSource = {
409
+ type: 'project-instructions',
410
+ files,
411
+ }
412
+ if (!isProjectInstructionMessageSource(source)) {
413
+ throw new TypeError(
414
+ 'Project instruction paths must be unique, canonical project-relative paths.',
415
+ )
289
416
  }
417
+ return { ...createUserMessage(content, undefined, source), retain: true }
290
418
  }
291
419
 
292
420
  export function createAssistantMessage(
@@ -294,6 +422,7 @@ export function createAssistantMessage(
294
422
  toolCalls?: ToolCall[],
295
423
  reasoning?: readonly ReasoningBlock[],
296
424
  citations?: readonly Citation[],
425
+ source?: AssistantMessageSource,
297
426
  ): AssistantMessage {
298
427
  return {
299
428
  role: 'assistant',
@@ -301,6 +430,7 @@ export function createAssistantMessage(
301
430
  toolCalls,
302
431
  ...(reasoning && reasoning.length > 0 ? { reasoning } : {}),
303
432
  ...(citations && citations.length > 0 ? { citations } : {}),
433
+ ...(source ? { source } : {}),
304
434
  timestamp: Date.now(),
305
435
  }
306
436
  }
@@ -319,4 +449,8 @@ export function createToolMessage(
319
449
  }
320
450
  }
321
451
 
322
- export { hasNonTextBlocks, toToolResultBlocks, toolResultToText } from './content.js'
452
+ export {
453
+ hasNonTextBlocks,
454
+ toToolResultBlocks,
455
+ toolResultToText,
456
+ } 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
  }