@namzu/sdk 27.1.0 → 28.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 (1430) hide show
  1. package/CHANGELOG.md +1664 -0
  2. package/README.md +45 -42
  3. package/dist/advisory/executor.d.ts.map +1 -1
  4. package/dist/advisory/executor.js +14 -12
  5. package/dist/advisory/executor.js.map +1 -1
  6. package/dist/advisory/registry.d.ts +2 -2
  7. package/dist/advisory/registry.d.ts.map +1 -1
  8. package/dist/advisory/registry.js +2 -2
  9. package/dist/advisory/registry.js.map +1 -1
  10. package/dist/agents/AbstractAgent.d.ts +44 -2
  11. package/dist/agents/AbstractAgent.d.ts.map +1 -1
  12. package/dist/agents/AbstractAgent.js +62 -13
  13. package/dist/agents/AbstractAgent.js.map +1 -1
  14. package/dist/agents/PipelineAgent.d.ts +29 -1
  15. package/dist/agents/PipelineAgent.d.ts.map +1 -1
  16. package/dist/agents/PipelineAgent.js +33 -4
  17. package/dist/agents/PipelineAgent.js.map +1 -1
  18. package/dist/agents/ReactiveAgent.d.ts +2 -1
  19. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  20. package/dist/agents/ReactiveAgent.js +15 -5
  21. package/dist/agents/ReactiveAgent.js.map +1 -1
  22. package/dist/agents/RouterAgent.d.ts +2 -1
  23. package/dist/agents/RouterAgent.d.ts.map +1 -1
  24. package/dist/agents/RouterAgent.js +21 -13
  25. package/dist/agents/RouterAgent.js.map +1 -1
  26. package/dist/agents/SupervisorAgent.d.ts +3 -2
  27. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  28. package/dist/agents/SupervisorAgent.js +29 -14
  29. package/dist/agents/SupervisorAgent.js.map +1 -1
  30. package/dist/agents/handle.d.ts +85 -0
  31. package/dist/agents/handle.d.ts.map +1 -0
  32. package/dist/agents/handle.js +79 -0
  33. package/dist/agents/handle.js.map +1 -0
  34. package/dist/agents/runAgent.d.ts +10 -5
  35. package/dist/agents/runAgent.d.ts.map +1 -1
  36. package/dist/agents/runAgent.js +3 -2
  37. package/dist/agents/runAgent.js.map +1 -1
  38. package/dist/{verification → authorization}/gate.d.ts +4 -4
  39. package/dist/authorization/gate.d.ts.map +1 -0
  40. package/dist/{verification → authorization}/gate.js +31 -24
  41. package/dist/authorization/gate.js.map +1 -0
  42. package/dist/authorization/index.d.ts +6 -0
  43. package/dist/authorization/index.d.ts.map +1 -0
  44. package/dist/authorization/index.js +14 -0
  45. package/dist/authorization/index.js.map +1 -0
  46. package/dist/authorization/permission-presets.d.ts +119 -0
  47. package/dist/authorization/permission-presets.d.ts.map +1 -0
  48. package/dist/authorization/permission-presets.js +137 -0
  49. package/dist/authorization/permission-presets.js.map +1 -0
  50. package/dist/{verification → authorization}/presets.d.ts +3 -3
  51. package/dist/authorization/presets.d.ts.map +1 -0
  52. package/dist/{verification → authorization}/presets.js +12 -0
  53. package/dist/authorization/presets.js.map +1 -0
  54. package/dist/authorization/rules.d.ts +4 -0
  55. package/dist/authorization/rules.d.ts.map +1 -0
  56. package/dist/{verification → authorization}/rules.js +14 -1
  57. package/dist/authorization/rules.js.map +1 -0
  58. package/dist/bridge/a2a/client.d.ts +107 -0
  59. package/dist/bridge/a2a/client.d.ts.map +1 -0
  60. package/dist/bridge/a2a/client.js +275 -0
  61. package/dist/bridge/a2a/client.js.map +1 -0
  62. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  63. package/dist/bridge/a2a/mapper.js +16 -0
  64. package/dist/bridge/a2a/mapper.js.map +1 -1
  65. package/dist/bridge/acp/filesystem.d.ts +33 -0
  66. package/dist/bridge/acp/filesystem.d.ts.map +1 -0
  67. package/dist/bridge/acp/filesystem.js +30 -0
  68. package/dist/bridge/acp/filesystem.js.map +1 -0
  69. package/dist/bridge/acp/index.d.ts +8 -0
  70. package/dist/bridge/acp/index.d.ts.map +1 -0
  71. package/dist/bridge/acp/index.js +5 -0
  72. package/dist/bridge/acp/index.js.map +1 -0
  73. package/dist/bridge/acp/permission.d.ts +51 -0
  74. package/dist/bridge/acp/permission.d.ts.map +1 -0
  75. package/dist/bridge/acp/permission.js +37 -0
  76. package/dist/bridge/acp/permission.js.map +1 -0
  77. package/dist/bridge/acp/server.d.ts +163 -0
  78. package/dist/bridge/acp/server.d.ts.map +1 -0
  79. package/dist/bridge/acp/server.js +312 -0
  80. package/dist/bridge/acp/server.js.map +1 -0
  81. package/dist/bridge/acp/update.d.ts +13 -0
  82. package/dist/bridge/acp/update.d.ts.map +1 -0
  83. package/dist/bridge/acp/update.js +94 -0
  84. package/dist/bridge/acp/update.js.map +1 -0
  85. package/dist/bridge/mcp/connector/adapter.d.ts +2 -0
  86. package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
  87. package/dist/bridge/mcp/connector/adapter.js +7 -3
  88. package/dist/bridge/mcp/connector/adapter.js.map +1 -1
  89. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  90. package/dist/bridge/sse/mapper.js +27 -0
  91. package/dist/bridge/sse/mapper.js.map +1 -1
  92. package/dist/bus/breaker.d.ts.map +1 -1
  93. package/dist/bus/breaker.js +15 -10
  94. package/dist/bus/breaker.js.map +1 -1
  95. package/dist/bus/index.d.ts.map +1 -1
  96. package/dist/bus/index.js +10 -8
  97. package/dist/bus/index.js.map +1 -1
  98. package/dist/bus/lock.d.ts.map +1 -1
  99. package/dist/bus/lock.js +36 -19
  100. package/dist/bus/lock.js.map +1 -1
  101. package/dist/bus/ownership.d.ts.map +1 -1
  102. package/dist/bus/ownership.js +17 -9
  103. package/dist/bus/ownership.js.map +1 -1
  104. package/dist/compaction/context-window.d.ts +18 -2
  105. package/dist/compaction/context-window.d.ts.map +1 -1
  106. package/dist/compaction/context-window.js +15 -1
  107. package/dist/compaction/context-window.js.map +1 -1
  108. package/dist/compaction/index.d.ts +3 -0
  109. package/dist/compaction/index.d.ts.map +1 -1
  110. package/dist/compaction/index.js +4 -0
  111. package/dist/compaction/index.js.map +1 -1
  112. package/dist/compaction/manual.d.ts +58 -0
  113. package/dist/compaction/manual.d.ts.map +1 -0
  114. package/dist/compaction/manual.js +104 -0
  115. package/dist/compaction/manual.js.map +1 -0
  116. package/dist/compaction/plan.d.ts +92 -0
  117. package/dist/compaction/plan.d.ts.map +1 -0
  118. package/dist/compaction/plan.js +149 -0
  119. package/dist/compaction/plan.js.map +1 -0
  120. package/dist/compaction/summary.d.ts +23 -0
  121. package/dist/compaction/summary.d.ts.map +1 -0
  122. package/dist/compaction/summary.js +27 -0
  123. package/dist/compaction/summary.js.map +1 -0
  124. package/dist/compaction/verifier.js +2 -2
  125. package/dist/compaction/verifier.js.map +1 -1
  126. package/dist/config/registry.d.ts +104 -0
  127. package/dist/config/registry.d.ts.map +1 -0
  128. package/dist/config/registry.js +105 -0
  129. package/dist/config/registry.js.map +1 -0
  130. package/dist/config/runtime.d.ts +99 -28
  131. package/dist/config/runtime.d.ts.map +1 -1
  132. package/dist/config/runtime.js +27 -0
  133. package/dist/config/runtime.js.map +1 -1
  134. package/dist/connector/BaseConnector.d.ts +1 -1
  135. package/dist/connector/BaseConnector.d.ts.map +1 -1
  136. package/dist/connector/BaseConnector.js +8 -3
  137. package/dist/connector/BaseConnector.js.map +1 -1
  138. package/dist/connector/builtins/http.d.ts +1 -1
  139. package/dist/connector/builtins/http.d.ts.map +1 -1
  140. package/dist/connector/builtins/http.js +11 -2
  141. package/dist/connector/builtins/http.js.map +1 -1
  142. package/dist/connector/builtins/webhook.d.ts +1 -1
  143. package/dist/connector/builtins/webhook.d.ts.map +1 -1
  144. package/dist/connector/builtins/webhook.js +5 -2
  145. package/dist/connector/builtins/webhook.js.map +1 -1
  146. package/dist/connector/index.d.ts +4 -15
  147. package/dist/connector/index.d.ts.map +1 -1
  148. package/dist/connector/index.js +12 -12
  149. package/dist/connector/index.js.map +1 -1
  150. package/dist/connector/mcp/client.d.ts.map +1 -1
  151. package/dist/connector/mcp/client.js +31 -20
  152. package/dist/connector/mcp/client.js.map +1 -1
  153. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  154. package/dist/connector/mcp/discovery.js +31 -20
  155. package/dist/connector/mcp/discovery.js.map +1 -1
  156. package/dist/connector/mcp/http-sse.d.ts +2 -1
  157. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  158. package/dist/connector/mcp/http-sse.js +9 -6
  159. package/dist/connector/mcp/http-sse.js.map +1 -1
  160. package/dist/connector/mcp/index.d.ts +2 -3
  161. package/dist/connector/mcp/index.d.ts.map +1 -1
  162. package/dist/connector/mcp/index.js +5 -4
  163. package/dist/connector/mcp/index.js.map +1 -1
  164. package/dist/connector/mcp/reconnect.d.ts +123 -0
  165. package/dist/connector/mcp/reconnect.d.ts.map +1 -0
  166. package/dist/connector/mcp/reconnect.js +121 -0
  167. package/dist/connector/mcp/reconnect.js.map +1 -0
  168. package/dist/connector/mcp/server/index.d.ts +28 -0
  169. package/dist/connector/mcp/server/index.d.ts.map +1 -0
  170. package/dist/connector/mcp/server/index.js +27 -0
  171. package/dist/connector/mcp/server/index.js.map +1 -0
  172. package/dist/connector/mcp/{server-stdio.d.ts → server/server-stdio.d.ts} +3 -2
  173. package/dist/connector/mcp/server/server-stdio.d.ts.map +1 -0
  174. package/dist/connector/mcp/{server-stdio.js → server/server-stdio.js} +4 -3
  175. package/dist/connector/mcp/server/server-stdio.js.map +1 -0
  176. package/dist/connector/mcp/{server.d.ts → server/server.d.ts} +5 -4
  177. package/dist/connector/mcp/server/server.d.ts.map +1 -0
  178. package/dist/connector/mcp/{server.js → server/server.js} +14 -9
  179. package/dist/connector/mcp/server/server.js.map +1 -0
  180. package/dist/connector/mcp/stdio.d.ts +2 -1
  181. package/dist/connector/mcp/stdio.d.ts.map +1 -1
  182. package/dist/connector/mcp/stdio.js +15 -7
  183. package/dist/connector/mcp/stdio.js.map +1 -1
  184. package/dist/connector/mcp/streamable-http.d.ts +2 -1
  185. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  186. package/dist/connector/mcp/streamable-http.js +5 -4
  187. package/dist/connector/mcp/streamable-http.js.map +1 -1
  188. package/dist/{bridge/tools/connector → connector/tools}/adapter.d.ts +4 -4
  189. package/dist/connector/tools/adapter.d.ts.map +1 -0
  190. package/dist/{bridge/tools/connector → connector/tools}/adapter.js +1 -1
  191. package/dist/connector/tools/adapter.js.map +1 -0
  192. package/dist/{bridge/tools/connector → connector/tools}/definitions.d.ts +2 -2
  193. package/dist/connector/tools/definitions.d.ts.map +1 -0
  194. package/dist/{bridge/tools/connector → connector/tools}/definitions.js +2 -2
  195. package/dist/connector/tools/definitions.js.map +1 -0
  196. package/dist/connector/tools/index.d.ts.map +1 -0
  197. package/dist/connector/tools/index.js.map +1 -0
  198. package/dist/{bridge/tools/connector → connector/tools}/router.d.ts +4 -2
  199. package/dist/connector/tools/router.d.ts.map +1 -0
  200. package/dist/{bridge/tools/connector → connector/tools}/router.js +14 -7
  201. package/dist/connector/tools/router.js.map +1 -0
  202. package/dist/connector/web/guarded-fetch.d.ts +60 -0
  203. package/dist/connector/web/guarded-fetch.d.ts.map +1 -0
  204. package/dist/connector/web/guarded-fetch.js +233 -0
  205. package/dist/connector/web/guarded-fetch.js.map +1 -0
  206. package/dist/connector/web/index.d.ts +5 -0
  207. package/dist/connector/web/index.d.ts.map +1 -0
  208. package/dist/connector/web/index.js +7 -0
  209. package/dist/connector/web/index.js.map +1 -0
  210. package/dist/connector/web/types.d.ts +87 -0
  211. package/dist/connector/web/types.d.ts.map +1 -0
  212. package/dist/connector/web/types.js +25 -0
  213. package/dist/connector/web/types.js.map +1 -0
  214. package/dist/constants/acp/index.d.ts +97 -0
  215. package/dist/constants/acp/index.d.ts.map +1 -0
  216. package/dist/constants/acp/index.js +96 -0
  217. package/dist/constants/acp/index.js.map +1 -0
  218. package/dist/constants/authorization/index.d.ts.map +1 -0
  219. package/dist/constants/authorization/index.js.map +1 -0
  220. package/dist/constants/credential-env-keys.d.ts +36 -0
  221. package/dist/constants/credential-env-keys.d.ts.map +1 -0
  222. package/dist/constants/credential-env-keys.js +62 -0
  223. package/dist/constants/credential-env-keys.js.map +1 -0
  224. package/dist/constants/index.d.ts +3 -1
  225. package/dist/constants/index.d.ts.map +1 -1
  226. package/dist/constants/index.js +3 -1
  227. package/dist/constants/index.js.map +1 -1
  228. package/dist/constants/secret-patterns.d.ts +78 -0
  229. package/dist/constants/secret-patterns.d.ts.map +1 -0
  230. package/dist/constants/secret-patterns.js +99 -0
  231. package/dist/constants/secret-patterns.js.map +1 -0
  232. package/dist/constants/telemetry/index.d.ts +42 -0
  233. package/dist/constants/telemetry/index.d.ts.map +1 -1
  234. package/dist/constants/telemetry/index.js +87 -0
  235. package/dist/constants/telemetry/index.js.map +1 -1
  236. package/dist/contracts/a2a.d.ts +54 -54
  237. package/dist/contracts/api.d.ts +12 -1
  238. package/dist/contracts/api.d.ts.map +1 -1
  239. package/dist/contracts/schemas.d.ts +12 -12
  240. package/dist/deprecated-aliases.d.ts +80 -0
  241. package/dist/deprecated-aliases.d.ts.map +1 -0
  242. package/dist/deprecated-aliases.js +60 -0
  243. package/dist/deprecated-aliases.js.map +1 -0
  244. package/dist/eval/judge.js +2 -2
  245. package/dist/eval/judge.js.map +1 -1
  246. package/dist/execution/base.d.ts +1 -1
  247. package/dist/execution/base.d.ts.map +1 -1
  248. package/dist/execution/base.js +18 -7
  249. package/dist/execution/base.js.map +1 -1
  250. package/dist/execution/code-runtime/types.d.ts +114 -0
  251. package/dist/execution/code-runtime/types.d.ts.map +1 -0
  252. package/dist/execution/code-runtime/types.js +40 -0
  253. package/dist/execution/code-runtime/types.js.map +1 -0
  254. package/dist/execution/code-runtime/worker.d.ts +6 -0
  255. package/dist/execution/code-runtime/worker.d.ts.map +1 -0
  256. package/dist/execution/code-runtime/worker.js +248 -0
  257. package/dist/execution/code-runtime/worker.js.map +1 -0
  258. package/dist/{connector/execution → execution}/factory.d.ts +3 -3
  259. package/dist/execution/factory.d.ts.map +1 -0
  260. package/dist/{connector/execution → execution}/factory.js +1 -1
  261. package/dist/execution/factory.js.map +1 -0
  262. package/dist/{connector/execution → execution}/hybrid.d.ts +5 -3
  263. package/dist/execution/hybrid.d.ts.map +1 -0
  264. package/dist/{connector/execution → execution}/hybrid.js +10 -4
  265. package/dist/execution/hybrid.js.map +1 -0
  266. package/dist/execution/index.d.ts +23 -0
  267. package/dist/execution/index.d.ts.map +1 -1
  268. package/dist/execution/index.js +21 -0
  269. package/dist/execution/index.js.map +1 -1
  270. package/dist/execution/local.d.ts +2 -0
  271. package/dist/execution/local.d.ts.map +1 -1
  272. package/dist/execution/local.js +2 -2
  273. package/dist/execution/local.js.map +1 -1
  274. package/dist/{connector/execution → execution}/remote.d.ts +4 -2
  275. package/dist/execution/remote.d.ts.map +1 -0
  276. package/dist/{connector/execution → execution}/remote.js +12 -5
  277. package/dist/execution/remote.js.map +1 -0
  278. package/dist/index.d.ts +2 -0
  279. package/dist/index.d.ts.map +1 -1
  280. package/dist/index.js +4 -0
  281. package/dist/index.js.map +1 -1
  282. package/dist/invariants/index.d.ts +111 -0
  283. package/dist/invariants/index.d.ts.map +1 -0
  284. package/dist/invariants/index.js +138 -0
  285. package/dist/invariants/index.js.map +1 -0
  286. package/dist/manager/agent/lifecycle.d.ts +29 -7
  287. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  288. package/dist/manager/agent/lifecycle.js +140 -50
  289. package/dist/manager/agent/lifecycle.js.map +1 -1
  290. package/dist/manager/connector/environment.d.ts +2 -0
  291. package/dist/manager/connector/environment.d.ts.map +1 -1
  292. package/dist/manager/connector/environment.js +20 -9
  293. package/dist/manager/connector/environment.js.map +1 -1
  294. package/dist/manager/connector/lifecycle.d.ts +10 -0
  295. package/dist/manager/connector/lifecycle.d.ts.map +1 -1
  296. package/dist/manager/connector/lifecycle.js +21 -11
  297. package/dist/manager/connector/lifecycle.js.map +1 -1
  298. package/dist/manager/connector/tenant.d.ts +9 -0
  299. package/dist/manager/connector/tenant.d.ts.map +1 -1
  300. package/dist/manager/connector/tenant.js +24 -10
  301. package/dist/manager/connector/tenant.js.map +1 -1
  302. package/dist/manager/index.d.ts +6 -2
  303. package/dist/manager/index.d.ts.map +1 -1
  304. package/dist/manager/index.js +7 -1
  305. package/dist/manager/index.js.map +1 -1
  306. package/dist/manager/project/lifecycle.d.ts +1 -1
  307. package/dist/manager/project/lifecycle.js +1 -1
  308. package/dist/manager/run/emergency.d.ts.map +1 -1
  309. package/dist/manager/run/emergency.js +9 -7
  310. package/dist/manager/run/emergency.js.map +1 -1
  311. package/dist/manager/run/persistence.d.ts +46 -4
  312. package/dist/manager/run/persistence.d.ts.map +1 -1
  313. package/dist/manager/run/persistence.js +102 -7
  314. package/dist/manager/run/persistence.js.map +1 -1
  315. package/dist/manager/topic/lifecycle.d.ts +123 -0
  316. package/dist/manager/topic/lifecycle.d.ts.map +1 -0
  317. package/dist/manager/{thread → topic}/lifecycle.js +79 -61
  318. package/dist/manager/topic/lifecycle.js.map +1 -0
  319. package/dist/manager/topic/objective.d.ts +77 -0
  320. package/dist/manager/topic/objective.d.ts.map +1 -0
  321. package/dist/manager/topic/objective.js +133 -0
  322. package/dist/manager/topic/objective.js.map +1 -0
  323. package/dist/model-router/task-router.d.ts.map +1 -0
  324. package/dist/model-router/task-router.js.map +1 -0
  325. package/dist/persona/assembler.d.ts +1 -1
  326. package/dist/persona/assembler.d.ts.map +1 -1
  327. package/dist/persona/assembler.js +14 -2
  328. package/dist/persona/assembler.js.map +1 -1
  329. package/dist/plugin/lifecycle.d.ts +24 -0
  330. package/dist/plugin/lifecycle.d.ts.map +1 -1
  331. package/dist/plugin/lifecycle.js +112 -20
  332. package/dist/plugin/lifecycle.js.map +1 -1
  333. package/dist/plugin/loader.d.ts +17 -2
  334. package/dist/plugin/loader.d.ts.map +1 -1
  335. package/dist/plugin/loader.js +46 -26
  336. package/dist/plugin/loader.js.map +1 -1
  337. package/dist/probe/index.d.ts +1 -0
  338. package/dist/probe/index.d.ts.map +1 -1
  339. package/dist/probe/registry.d.ts +34 -1
  340. package/dist/probe/registry.d.ts.map +1 -1
  341. package/dist/probe/registry.js +5 -4
  342. package/dist/probe/registry.js.map +1 -1
  343. package/dist/process/kill-tree.d.ts +40 -0
  344. package/dist/process/kill-tree.d.ts.map +1 -0
  345. package/dist/process/kill-tree.js +54 -0
  346. package/dist/process/kill-tree.js.map +1 -0
  347. package/dist/prompt/contributions.d.ts +138 -0
  348. package/dist/prompt/contributions.d.ts.map +1 -0
  349. package/dist/prompt/contributions.js +78 -0
  350. package/dist/prompt/contributions.js.map +1 -0
  351. package/dist/prompt/index.d.ts +3 -0
  352. package/dist/prompt/index.d.ts.map +1 -0
  353. package/dist/prompt/index.js +6 -0
  354. package/dist/prompt/index.js.map +1 -0
  355. package/dist/provider/attribution.d.ts +45 -0
  356. package/dist/provider/attribution.d.ts.map +1 -0
  357. package/dist/provider/attribution.js +23 -0
  358. package/dist/provider/attribution.js.map +1 -0
  359. package/dist/provider/{collect.d.ts → collect-chat-completion.d.ts} +3 -3
  360. package/dist/provider/collect-chat-completion.d.ts.map +1 -0
  361. package/dist/provider/{collect.js → collect-chat-completion.js} +3 -3
  362. package/dist/provider/collect-chat-completion.js.map +1 -0
  363. package/dist/provider/conformance.d.ts +93 -0
  364. package/dist/provider/conformance.d.ts.map +1 -0
  365. package/dist/provider/conformance.js +124 -0
  366. package/dist/provider/conformance.js.map +1 -0
  367. package/dist/provider/errors.d.ts +29 -0
  368. package/dist/provider/errors.d.ts.map +1 -1
  369. package/dist/provider/errors.js +27 -10
  370. package/dist/provider/errors.js.map +1 -1
  371. package/dist/provider/fallback.d.ts +1 -1
  372. package/dist/provider/fallback.d.ts.map +1 -1
  373. package/dist/provider/fallback.js +27 -9
  374. package/dist/provider/fallback.js.map +1 -1
  375. package/dist/provider/idle-timeout.d.ts +47 -0
  376. package/dist/provider/idle-timeout.d.ts.map +1 -0
  377. package/dist/provider/idle-timeout.js +61 -0
  378. package/dist/provider/idle-timeout.js.map +1 -0
  379. package/dist/provider/instrumentation.d.ts +3 -2
  380. package/dist/provider/instrumentation.d.ts.map +1 -1
  381. package/dist/provider/instrumentation.js.map +1 -1
  382. package/dist/provider/retry.d.ts.map +1 -1
  383. package/dist/provider/retry.js +58 -21
  384. package/dist/provider/retry.js.map +1 -1
  385. package/dist/public-runtime.d.ts +77 -14
  386. package/dist/public-runtime.d.ts.map +1 -1
  387. package/dist/public-runtime.js +168 -16
  388. package/dist/public-runtime.js.map +1 -1
  389. package/dist/public-tools.d.ts +8 -1
  390. package/dist/public-tools.d.ts.map +1 -1
  391. package/dist/public-tools.js +29 -1
  392. package/dist/public-tools.js.map +1 -1
  393. package/dist/public-types.d.ts +21 -4
  394. package/dist/public-types.d.ts.map +1 -1
  395. package/dist/rag/rag-tool.d.ts.map +1 -1
  396. package/dist/rag/rag-tool.js +4 -1
  397. package/dist/rag/rag-tool.js.map +1 -1
  398. package/dist/read-model/index.d.ts +5 -0
  399. package/dist/read-model/index.d.ts.map +1 -0
  400. package/dist/read-model/index.js +7 -0
  401. package/dist/read-model/index.js.map +1 -0
  402. package/dist/read-model/registry.d.ts +112 -0
  403. package/dist/read-model/registry.d.ts.map +1 -0
  404. package/dist/read-model/registry.js +105 -0
  405. package/dist/read-model/registry.js.map +1 -0
  406. package/dist/read-model/run-status.d.ts +43 -0
  407. package/dist/read-model/run-status.d.ts.map +1 -0
  408. package/dist/read-model/run-status.js +89 -0
  409. package/dist/read-model/run-status.js.map +1 -0
  410. package/dist/registry/{Registry.d.ts → BaseRegistry.d.ts} +2 -2
  411. package/dist/registry/BaseRegistry.d.ts.map +1 -0
  412. package/dist/registry/{Registry.js → BaseRegistry.js} +2 -2
  413. package/dist/registry/BaseRegistry.js.map +1 -0
  414. package/dist/registry/ManagedRegistry.d.ts +2 -2
  415. package/dist/registry/ManagedRegistry.d.ts.map +1 -1
  416. package/dist/registry/ManagedRegistry.js +26 -9
  417. package/dist/registry/ManagedRegistry.js.map +1 -1
  418. package/dist/registry/command/index-exports.d.ts +3 -0
  419. package/dist/registry/command/index-exports.d.ts.map +1 -0
  420. package/dist/registry/command/index-exports.js +5 -0
  421. package/dist/registry/command/index-exports.js.map +1 -0
  422. package/dist/registry/command/index.d.ts +53 -0
  423. package/dist/registry/command/index.d.ts.map +1 -0
  424. package/dist/registry/command/index.js +87 -0
  425. package/dist/registry/command/index.js.map +1 -0
  426. package/dist/registry/command/kernel-commands.d.ts +32 -0
  427. package/dist/registry/command/kernel-commands.d.ts.map +1 -0
  428. package/dist/registry/command/kernel-commands.js +78 -0
  429. package/dist/registry/command/kernel-commands.js.map +1 -0
  430. package/dist/registry/connector/scoped.d.ts +2 -1
  431. package/dist/registry/connector/scoped.d.ts.map +1 -1
  432. package/dist/registry/connector/scoped.js +6 -5
  433. package/dist/registry/connector/scoped.js.map +1 -1
  434. package/dist/registry/index.d.ts +4 -1
  435. package/dist/registry/index.d.ts.map +1 -1
  436. package/dist/registry/index.js +5 -1
  437. package/dist/registry/index.js.map +1 -1
  438. package/dist/registry/tool/execute.d.ts.map +1 -1
  439. package/dist/registry/tool/execute.js +15 -12
  440. package/dist/registry/tool/execute.js.map +1 -1
  441. package/dist/registry/tool/presentation.d.ts +32 -0
  442. package/dist/registry/tool/presentation.d.ts.map +1 -0
  443. package/dist/registry/tool/presentation.js +92 -0
  444. package/dist/registry/tool/presentation.js.map +1 -0
  445. package/dist/registry/tool/screen.d.ts.map +1 -1
  446. package/dist/registry/tool/screen.js +12 -11
  447. package/dist/registry/tool/screen.js.map +1 -1
  448. package/dist/run/drain.d.ts +13 -3
  449. package/dist/run/drain.d.ts.map +1 -1
  450. package/dist/run/drain.js +10 -0
  451. package/dist/run/drain.js.map +1 -1
  452. package/dist/run/reporter.d.ts.map +1 -1
  453. package/dist/run/reporter.js +203 -149
  454. package/dist/run/reporter.js.map +1 -1
  455. package/dist/run-query/index.d.ts +74 -0
  456. package/dist/run-query/index.d.ts.map +1 -0
  457. package/dist/run-query/index.js +73 -0
  458. package/dist/run-query/index.js.map +1 -0
  459. package/dist/runtime/bidi/session.d.ts.map +1 -1
  460. package/dist/runtime/bidi/session.js +7 -2
  461. package/dist/runtime/bidi/session.js.map +1 -1
  462. package/dist/runtime/decision/fallback.d.ts.map +1 -1
  463. package/dist/runtime/decision/fallback.js +6 -3
  464. package/dist/runtime/decision/fallback.js.map +1 -1
  465. package/dist/runtime/decision/parser.d.ts.map +1 -1
  466. package/dist/runtime/decision/parser.js +10 -9
  467. package/dist/runtime/decision/parser.js.map +1 -1
  468. package/dist/runtime/jobs/registry.d.ts +147 -0
  469. package/dist/runtime/jobs/registry.d.ts.map +1 -0
  470. package/dist/runtime/jobs/registry.js +242 -0
  471. package/dist/runtime/jobs/registry.js.map +1 -0
  472. package/dist/runtime/query/approval-policy.d.ts +22 -0
  473. package/dist/runtime/query/approval-policy.d.ts.map +1 -0
  474. package/dist/runtime/query/approval-policy.js +61 -0
  475. package/dist/runtime/query/approval-policy.js.map +1 -0
  476. package/dist/runtime/query/checkpoint.d.ts +3 -3
  477. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  478. package/dist/runtime/query/checkpoint.js +2 -2
  479. package/dist/runtime/query/checkpoint.js.map +1 -1
  480. package/dist/runtime/query/context.d.ts +85 -15
  481. package/dist/runtime/query/context.d.ts.map +1 -1
  482. package/dist/runtime/query/context.js +57 -14
  483. package/dist/runtime/query/context.js.map +1 -1
  484. package/dist/runtime/query/events.d.ts +5 -4
  485. package/dist/runtime/query/events.d.ts.map +1 -1
  486. package/dist/runtime/query/events.js +9 -6
  487. package/dist/runtime/query/events.js.map +1 -1
  488. package/dist/runtime/query/executor.d.ts +113 -4
  489. package/dist/runtime/query/executor.d.ts.map +1 -1
  490. package/dist/runtime/query/executor.js +228 -62
  491. package/dist/runtime/query/executor.js.map +1 -1
  492. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
  493. package/dist/runtime/query/guardrail-presets.js +11 -14
  494. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  495. package/dist/runtime/query/guardrails.d.ts.map +1 -1
  496. package/dist/runtime/query/guardrails.js +16 -12
  497. package/dist/runtime/query/guardrails.js.map +1 -1
  498. package/dist/runtime/query/index.d.ts +140 -16
  499. package/dist/runtime/query/index.d.ts.map +1 -1
  500. package/dist/runtime/query/index.js +379 -76
  501. package/dist/runtime/query/index.js.map +1 -1
  502. package/dist/runtime/query/iteration/index.d.ts +32 -0
  503. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  504. package/dist/runtime/query/iteration/index.js +256 -88
  505. package/dist/runtime/query/iteration/index.js.map +1 -1
  506. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  507. package/dist/runtime/query/iteration/phases/advisory.js +17 -16
  508. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  509. package/dist/runtime/query/iteration/phases/compaction.d.ts +1 -8
  510. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  511. package/dist/runtime/query/iteration/phases/compaction.js +202 -178
  512. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  513. package/dist/runtime/query/iteration/phases/context.d.ts +52 -6
  514. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  515. package/dist/runtime/query/iteration/phases/context.js +26 -17
  516. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  517. package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
  518. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  519. package/dist/runtime/query/iteration/phases/tool-review.js +27 -7
  520. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  521. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
  522. package/dist/runtime/query/iteration/phases/working-memory.js +3 -2
  523. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
  524. package/dist/runtime/query/iteration/stream-turn.js +14 -14
  525. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  526. package/dist/runtime/query/{context-cache.d.ts → prompt-cache.d.ts} +6 -4
  527. package/dist/runtime/query/prompt-cache.d.ts.map +1 -0
  528. package/dist/runtime/query/{context-cache.js → prompt-cache.js} +20 -2
  529. package/dist/runtime/query/prompt-cache.js.map +1 -0
  530. package/dist/runtime/query/prompt.d.ts +50 -0
  531. package/dist/runtime/query/prompt.d.ts.map +1 -1
  532. package/dist/runtime/query/prompt.js +83 -4
  533. package/dist/runtime/query/prompt.js.map +1 -1
  534. package/dist/runtime/query/repeat-call.d.ts +42 -0
  535. package/dist/runtime/query/repeat-call.d.ts.map +1 -0
  536. package/dist/runtime/query/repeat-call.js +107 -0
  537. package/dist/runtime/query/repeat-call.js.map +1 -0
  538. package/dist/runtime/query/replay/mutate.js +8 -1
  539. package/dist/runtime/query/replay/mutate.js.map +1 -1
  540. package/dist/runtime/query/result.d.ts +7 -0
  541. package/dist/runtime/query/result.d.ts.map +1 -1
  542. package/dist/runtime/query/result.js +38 -10
  543. package/dist/runtime/query/result.js.map +1 -1
  544. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  545. package/dist/runtime/query/resume-pending.js +19 -17
  546. package/dist/runtime/query/resume-pending.js.map +1 -1
  547. package/dist/runtime/query/resume-run.d.ts +2 -2
  548. package/dist/runtime/query/resume-run.d.ts.map +1 -1
  549. package/dist/runtime/query/run-state.d.ts +3 -3
  550. package/dist/runtime/query/run-state.d.ts.map +1 -1
  551. package/dist/runtime/query/run-state.js +2 -2
  552. package/dist/runtime/query/run-state.js.map +1 -1
  553. package/dist/runtime/query/tool-grants.d.ts +7 -0
  554. package/dist/runtime/query/tool-grants.d.ts.map +1 -1
  555. package/dist/runtime/query/tool-grants.js +1 -1
  556. package/dist/runtime/query/tool-grants.js.map +1 -1
  557. package/dist/runtime/query/tool-output-budget.js +34 -3
  558. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  559. package/dist/runtime/query/tool-pause.d.ts.map +1 -1
  560. package/dist/runtime/query/tool-pause.js +2 -1
  561. package/dist/runtime/query/tool-pause.js.map +1 -1
  562. package/dist/runtime/query/tooling.d.ts +10 -2
  563. package/dist/runtime/query/tooling.d.ts.map +1 -1
  564. package/dist/runtime/query/tooling.js +3 -0
  565. package/dist/runtime/query/tooling.js.map +1 -1
  566. package/dist/sandbox/provider/local.d.ts +10 -0
  567. package/dist/sandbox/provider/local.d.ts.map +1 -1
  568. package/dist/sandbox/provider/local.js +77 -23
  569. package/dist/sandbox/provider/local.js.map +1 -1
  570. package/dist/sandbox/terminal.d.ts +130 -0
  571. package/dist/sandbox/terminal.d.ts.map +1 -0
  572. package/dist/sandbox/terminal.js +119 -0
  573. package/dist/sandbox/terminal.js.map +1 -0
  574. package/dist/{gateway → scheduler}/completion-inbox.d.ts +12 -5
  575. package/dist/scheduler/completion-inbox.d.ts.map +1 -0
  576. package/dist/{gateway → scheduler}/completion-inbox.js +19 -7
  577. package/dist/scheduler/completion-inbox.js.map +1 -0
  578. package/dist/scheduler/delegating.d.ts +90 -0
  579. package/dist/scheduler/delegating.d.ts.map +1 -0
  580. package/dist/scheduler/delegating.js +230 -0
  581. package/dist/scheduler/delegating.js.map +1 -0
  582. package/dist/{gateway → scheduler}/local.d.ts +10 -2
  583. package/dist/scheduler/local.d.ts.map +1 -0
  584. package/dist/{gateway → scheduler}/local.js +20 -11
  585. package/dist/scheduler/local.js.map +1 -0
  586. package/dist/session/actor-scope.d.ts +52 -0
  587. package/dist/session/actor-scope.d.ts.map +1 -0
  588. package/dist/session/actor-scope.js +112 -0
  589. package/dist/session/actor-scope.js.map +1 -0
  590. package/dist/session/errors.d.ts +31 -8
  591. package/dist/session/errors.d.ts.map +1 -1
  592. package/dist/session/errors.js +21 -1
  593. package/dist/session/errors.js.map +1 -1
  594. package/dist/session/handoff/assignment.d.ts +5 -5
  595. package/dist/session/handoff/assignment.d.ts.map +1 -1
  596. package/dist/session/handoff/broadcast.d.ts +2 -2
  597. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  598. package/dist/session/handoff/broadcast.js +7 -7
  599. package/dist/session/handoff/broadcast.js.map +1 -1
  600. package/dist/session/handoff/single.d.ts +4 -4
  601. package/dist/session/handoff/single.d.ts.map +1 -1
  602. package/dist/session/handoff/single.js +4 -4
  603. package/dist/session/handoff/single.js.map +1 -1
  604. package/dist/session/migration/filesystem.d.ts +28 -0
  605. package/dist/session/migration/filesystem.d.ts.map +1 -1
  606. package/dist/session/migration/filesystem.js +44 -2
  607. package/dist/session/migration/filesystem.js.map +1 -1
  608. package/dist/session/migration/id-prefix.d.ts +50 -19
  609. package/dist/session/migration/id-prefix.d.ts.map +1 -1
  610. package/dist/session/migration/id-prefix.js +54 -22
  611. package/dist/session/migration/id-prefix.js.map +1 -1
  612. package/dist/session/migration/index.d.ts +6 -2
  613. package/dist/session/migration/index.d.ts.map +1 -1
  614. package/dist/session/migration/index.js +6 -2
  615. package/dist/session/migration/index.js.map +1 -1
  616. package/dist/session/migration/marker.d.ts.map +1 -1
  617. package/dist/session/migration/marker.js +21 -4
  618. package/dist/session/migration/marker.js.map +1 -1
  619. package/dist/session/retention/archive.d.ts.map +1 -1
  620. package/dist/session/retention/archive.js +25 -11
  621. package/dist/session/retention/archive.js.map +1 -1
  622. package/dist/session/workspace/git-worktree.d.ts.map +1 -1
  623. package/dist/session/workspace/git-worktree.js +17 -8
  624. package/dist/session/workspace/git-worktree.js.map +1 -1
  625. package/dist/skills/loader.d.ts +4 -2
  626. package/dist/skills/loader.d.ts.map +1 -1
  627. package/dist/skills/loader.js +36 -9
  628. package/dist/skills/loader.js.map +1 -1
  629. package/dist/skills/registry.d.ts +59 -1
  630. package/dist/skills/registry.d.ts.map +1 -1
  631. package/dist/skills/registry.js +154 -20
  632. package/dist/skills/registry.js.map +1 -1
  633. package/dist/store/attachment/index.d.ts +111 -0
  634. package/dist/store/attachment/index.d.ts.map +1 -0
  635. package/dist/store/attachment/index.js +94 -0
  636. package/dist/store/attachment/index.js.map +1 -0
  637. package/dist/store/config/index.d.ts +43 -0
  638. package/dist/store/config/index.d.ts.map +1 -0
  639. package/dist/store/config/index.js +51 -0
  640. package/dist/store/config/index.js.map +1 -0
  641. package/dist/store/feedback/conformance.d.ts +44 -0
  642. package/dist/store/feedback/conformance.d.ts.map +1 -0
  643. package/dist/store/feedback/conformance.js +127 -0
  644. package/dist/store/feedback/conformance.js.map +1 -0
  645. package/dist/store/feedback/disk.d.ts +46 -0
  646. package/dist/store/feedback/disk.d.ts.map +1 -0
  647. package/dist/store/feedback/disk.js +141 -0
  648. package/dist/store/feedback/disk.js.map +1 -0
  649. package/dist/store/feedback/index.d.ts +9 -0
  650. package/dist/store/feedback/index.d.ts.map +1 -0
  651. package/dist/store/feedback/index.js +5 -0
  652. package/dist/store/feedback/index.js.map +1 -0
  653. package/dist/store/feedback/memory.d.ts +33 -0
  654. package/dist/store/feedback/memory.d.ts.map +1 -0
  655. package/dist/store/feedback/memory.js +0 -0
  656. package/dist/store/feedback/memory.js.map +1 -0
  657. package/dist/store/feedback/types.d.ts +95 -0
  658. package/dist/store/feedback/types.d.ts.map +1 -0
  659. package/dist/store/feedback/types.js +27 -0
  660. package/dist/store/feedback/types.js.map +1 -0
  661. package/dist/store/index.d.ts +1 -0
  662. package/dist/store/index.d.ts.map +1 -1
  663. package/dist/store/index.js +4 -0
  664. package/dist/store/index.js.map +1 -1
  665. package/dist/store/kv/record-store.d.ts +54 -0
  666. package/dist/store/kv/record-store.d.ts.map +1 -0
  667. package/dist/store/kv/record-store.js +94 -0
  668. package/dist/store/kv/record-store.js.map +1 -0
  669. package/dist/store/memory/disk.d.ts +2 -0
  670. package/dist/store/memory/disk.d.ts.map +1 -1
  671. package/dist/store/memory/disk.js +36 -30
  672. package/dist/store/memory/disk.js.map +1 -1
  673. package/dist/store/run/checkpoint-disk.d.ts +4 -4
  674. package/dist/store/run/checkpoint-disk.d.ts.map +1 -1
  675. package/dist/store/run/checkpoint-disk.js +22 -1
  676. package/dist/store/run/checkpoint-disk.js.map +1 -1
  677. package/dist/store/run/checkpoint-memory.d.ts +4 -4
  678. package/dist/store/run/checkpoint-memory.d.ts.map +1 -1
  679. package/dist/store/run/checkpoint-memory.js.map +1 -1
  680. package/dist/store/run/claim-disk.d.ts +5 -5
  681. package/dist/store/run/claim-disk.d.ts.map +1 -1
  682. package/dist/store/run/claim-disk.js +20 -0
  683. package/dist/store/run/claim-disk.js.map +1 -1
  684. package/dist/store/run/conformance.d.ts.map +1 -1
  685. package/dist/store/run/conformance.js +10 -9
  686. package/dist/store/run/conformance.js.map +1 -1
  687. package/dist/store/run/disk.d.ts +3 -1
  688. package/dist/store/run/disk.d.ts.map +1 -1
  689. package/dist/store/run/disk.js +73 -4
  690. package/dist/store/run/disk.js.map +1 -1
  691. package/dist/store/run/listing.d.ts +4 -4
  692. package/dist/store/run/listing.d.ts.map +1 -1
  693. package/dist/store/run/listing.js.map +1 -1
  694. package/dist/store/run/memory.d.ts +5 -0
  695. package/dist/store/run/memory.d.ts.map +1 -1
  696. package/dist/store/run/memory.js +20 -1
  697. package/dist/store/run/memory.js.map +1 -1
  698. package/dist/store/session/canonical-path.d.ts +32 -0
  699. package/dist/store/session/canonical-path.d.ts.map +1 -0
  700. package/dist/store/session/canonical-path.js +46 -0
  701. package/dist/store/session/canonical-path.js.map +1 -0
  702. package/dist/store/session/disk.d.ts +46 -2
  703. package/dist/store/session/disk.d.ts.map +1 -1
  704. package/dist/store/session/disk.js +191 -205
  705. package/dist/store/session/disk.js.map +1 -1
  706. package/dist/store/session/memory.d.ts +10 -2
  707. package/dist/store/session/memory.d.ts.map +1 -1
  708. package/dist/store/session/memory.js +36 -4
  709. package/dist/store/session/memory.js.map +1 -1
  710. package/dist/store/task/disk.d.ts.map +1 -1
  711. package/dist/store/task/disk.js +76 -68
  712. package/dist/store/task/disk.js.map +1 -1
  713. package/dist/store/topic/index.d.ts +6 -0
  714. package/dist/store/topic/index.d.ts.map +1 -0
  715. package/dist/store/topic/index.js +20 -0
  716. package/dist/store/topic/index.js.map +1 -0
  717. package/dist/store/topic/memory.d.ts +30 -0
  718. package/dist/store/topic/memory.d.ts.map +1 -0
  719. package/dist/store/topic/memory.js +97 -0
  720. package/dist/store/topic/memory.js.map +1 -0
  721. package/dist/store/topic/objective.d.ts +104 -0
  722. package/dist/store/topic/objective.d.ts.map +1 -0
  723. package/dist/store/topic/objective.js +195 -0
  724. package/dist/store/topic/objective.js.map +1 -0
  725. package/dist/store/topic/state.d.ts +60 -0
  726. package/dist/store/topic/state.d.ts.map +1 -0
  727. package/dist/store/topic/state.js +128 -0
  728. package/dist/store/topic/state.js.map +1 -0
  729. package/dist/streaming/coalesce.d.ts +19 -6
  730. package/dist/streaming/coalesce.d.ts.map +1 -1
  731. package/dist/streaming/coalesce.js +13 -4
  732. package/dist/streaming/coalesce.js.map +1 -1
  733. package/dist/telemetry/runtime-accessors.d.ts +27 -1
  734. package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
  735. package/dist/telemetry/runtime-accessors.js +45 -1
  736. package/dist/telemetry/runtime-accessors.js.map +1 -1
  737. package/dist/test-support/ids.d.ts +68 -0
  738. package/dist/test-support/ids.d.ts.map +1 -0
  739. package/dist/test-support/ids.js +70 -0
  740. package/dist/test-support/ids.js.map +1 -0
  741. package/dist/testing.d.ts +24 -0
  742. package/dist/testing.d.ts.map +1 -0
  743. package/dist/testing.js +22 -0
  744. package/dist/testing.js.map +1 -0
  745. package/dist/tools/builtins/bash.d.ts +1 -0
  746. package/dist/tools/builtins/bash.d.ts.map +1 -1
  747. package/dist/tools/builtins/bash.js +77 -3
  748. package/dist/tools/builtins/bash.js.map +1 -1
  749. package/dist/tools/builtins/computer-use.d.ts +8 -8
  750. package/dist/tools/builtins/edit.d.ts +1 -1
  751. package/dist/tools/builtins/edit.d.ts.map +1 -1
  752. package/dist/tools/builtins/edit.js +34 -0
  753. package/dist/tools/builtins/edit.js.map +1 -1
  754. package/dist/tools/builtins/index.d.ts +6 -0
  755. package/dist/tools/builtins/index.d.ts.map +1 -1
  756. package/dist/tools/builtins/index.js +24 -1
  757. package/dist/tools/builtins/index.js.map +1 -1
  758. package/dist/tools/builtins/job.d.ts +6 -0
  759. package/dist/tools/builtins/job.d.ts.map +1 -0
  760. package/dist/tools/builtins/job.js +114 -0
  761. package/dist/tools/builtins/job.js.map +1 -0
  762. package/dist/tools/builtins/lsp.d.ts +21 -0
  763. package/dist/tools/builtins/lsp.d.ts.map +1 -0
  764. package/dist/tools/builtins/lsp.js +186 -0
  765. package/dist/tools/builtins/lsp.js.map +1 -0
  766. package/dist/tools/builtins/run-code.d.ts +13 -0
  767. package/dist/tools/builtins/run-code.d.ts.map +1 -0
  768. package/dist/tools/builtins/run-code.js +126 -0
  769. package/dist/tools/builtins/run-code.js.map +1 -0
  770. package/dist/tools/builtins/skill.d.ts +14 -0
  771. package/dist/tools/builtins/skill.d.ts.map +1 -0
  772. package/dist/tools/builtins/skill.js +120 -0
  773. package/dist/tools/builtins/skill.js.map +1 -0
  774. package/dist/tools/builtins/web-guidance.d.ts +31 -0
  775. package/dist/tools/builtins/web-guidance.d.ts.map +1 -0
  776. package/dist/tools/builtins/web-guidance.js +42 -0
  777. package/dist/tools/builtins/web-guidance.js.map +1 -0
  778. package/dist/tools/builtins/web.d.ts +10 -0
  779. package/dist/tools/builtins/web.d.ts.map +1 -0
  780. package/dist/tools/builtins/web.js +137 -0
  781. package/dist/tools/builtins/web.js.map +1 -0
  782. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  783. package/dist/tools/builtins/write-file.js +35 -0
  784. package/dist/tools/builtins/write-file.js.map +1 -1
  785. package/dist/tools/coordinator/agent.d.ts +2 -2
  786. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  787. package/dist/tools/coordinator/index.d.ts +13 -4
  788. package/dist/tools/coordinator/index.d.ts.map +1 -1
  789. package/dist/tools/coordinator/index.js +125 -38
  790. package/dist/tools/coordinator/index.js.map +1 -1
  791. package/dist/tools/coordinator/outcome.d.ts +2 -2
  792. package/dist/tools/coordinator/outcome.d.ts.map +1 -1
  793. package/dist/tools/coordinator/outcome.js +1 -1
  794. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +3 -3
  795. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  796. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  797. package/dist/tools/defineTool.d.ts +12 -0
  798. package/dist/tools/defineTool.d.ts.map +1 -1
  799. package/dist/tools/defineTool.js +2 -0
  800. package/dist/tools/defineTool.js.map +1 -1
  801. package/dist/tools/env-scrub.d.ts +66 -0
  802. package/dist/tools/env-scrub.d.ts.map +1 -0
  803. package/dist/tools/env-scrub.js +68 -0
  804. package/dist/tools/env-scrub.js.map +1 -0
  805. package/dist/tools/memory/read.d.ts.map +1 -1
  806. package/dist/tools/memory/read.js +5 -1
  807. package/dist/tools/memory/read.js.map +1 -1
  808. package/dist/tools/task/create.d.ts.map +1 -1
  809. package/dist/tools/task/create.js +2 -1
  810. package/dist/tools/task/create.js.map +1 -1
  811. package/dist/tools/task/update.d.ts.map +1 -1
  812. package/dist/tools/task/update.js +7 -3
  813. package/dist/tools/task/update.js.map +1 -1
  814. package/dist/types/acp/index.d.ts +161 -0
  815. package/dist/types/acp/index.d.ts.map +1 -0
  816. package/dist/types/acp/index.js +2 -0
  817. package/dist/types/acp/index.js.map +1 -0
  818. package/dist/types/agent/base.d.ts +62 -5
  819. package/dist/types/agent/base.d.ts.map +1 -1
  820. package/dist/types/agent/delegate.d.ts +102 -0
  821. package/dist/types/agent/delegate.d.ts.map +1 -0
  822. package/dist/types/agent/delegate.js +2 -0
  823. package/dist/types/agent/delegate.js.map +1 -0
  824. package/dist/types/agent/index.d.ts +1 -1
  825. package/dist/types/agent/index.d.ts.map +1 -1
  826. package/dist/types/agent/index.js +1 -1
  827. package/dist/types/agent/index.js.map +1 -1
  828. package/dist/types/agent/manager.d.ts +7 -1
  829. package/dist/types/agent/manager.d.ts.map +1 -1
  830. package/dist/types/agent/reactive.d.ts +24 -3
  831. package/dist/types/agent/reactive.d.ts.map +1 -1
  832. package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +41 -5
  833. package/dist/types/agent/scheduler.d.ts.map +1 -0
  834. package/dist/types/agent/scheduler.js +2 -0
  835. package/dist/types/agent/scheduler.js.map +1 -0
  836. package/dist/types/agent/supervisor.d.ts +23 -5
  837. package/dist/types/agent/supervisor.d.ts.map +1 -1
  838. package/dist/types/agent/task.d.ts +31 -9
  839. package/dist/types/agent/task.d.ts.map +1 -1
  840. package/dist/types/agent/working-memory.d.ts +1 -1
  841. package/dist/types/authorization/index.d.ts +634 -0
  842. package/dist/types/authorization/index.d.ts.map +1 -0
  843. package/dist/types/authorization/index.js +103 -0
  844. package/dist/types/authorization/index.js.map +1 -0
  845. package/dist/types/bus/index.d.ts +24 -1
  846. package/dist/types/bus/index.d.ts.map +1 -1
  847. package/dist/types/code-navigation/index.d.ts +112 -0
  848. package/dist/types/code-navigation/index.d.ts.map +1 -0
  849. package/dist/types/code-navigation/index.js +17 -0
  850. package/dist/types/code-navigation/index.js.map +1 -0
  851. package/dist/types/command/index.d.ts +74 -0
  852. package/dist/types/command/index.d.ts.map +1 -0
  853. package/dist/types/command/index.js +18 -0
  854. package/dist/types/command/index.js.map +1 -0
  855. package/dist/types/common/index.d.ts +19 -2
  856. package/dist/types/common/index.d.ts.map +1 -1
  857. package/dist/types/common/index.js.map +1 -1
  858. package/dist/types/connector/mcp.d.ts +8 -0
  859. package/dist/types/connector/mcp.d.ts.map +1 -1
  860. package/dist/types/guardrail/index.d.ts +1 -1
  861. package/dist/types/hitl/policy.d.ts +79 -0
  862. package/dist/types/hitl/policy.d.ts.map +1 -0
  863. package/dist/types/hitl/policy.js +2 -0
  864. package/dist/types/hitl/policy.js.map +1 -0
  865. package/dist/types/ids/brand.d.ts +55 -0
  866. package/dist/types/ids/brand.d.ts.map +1 -0
  867. package/dist/types/ids/brand.js +45 -0
  868. package/dist/types/ids/brand.js.map +1 -0
  869. package/dist/types/ids/index.d.ts +98 -39
  870. package/dist/types/ids/index.d.ts.map +1 -1
  871. package/dist/types/ids/index.js +5 -1
  872. package/dist/types/ids/index.js.map +1 -1
  873. package/dist/types/message/index.d.ts +24 -1
  874. package/dist/types/message/index.d.ts.map +1 -1
  875. package/dist/types/message/index.js.map +1 -1
  876. package/dist/types/plugin/index.d.ts +2 -2
  877. package/dist/types/project/entity.d.ts +22 -2
  878. package/dist/types/project/entity.d.ts.map +1 -1
  879. package/dist/types/provider/interface.d.ts +43 -2
  880. package/dist/types/provider/interface.d.ts.map +1 -1
  881. package/dist/types/provider/model.d.ts +16 -2
  882. package/dist/types/provider/model.d.ts.map +1 -1
  883. package/dist/types/run/audit.d.ts +150 -0
  884. package/dist/types/run/audit.d.ts.map +1 -0
  885. package/dist/types/run/audit.js +39 -0
  886. package/dist/types/run/audit.js.map +1 -0
  887. package/dist/types/run/cancel-cause.d.ts +49 -0
  888. package/dist/types/run/cancel-cause.d.ts.map +1 -0
  889. package/dist/types/run/cancel-cause.js +39 -0
  890. package/dist/types/run/cancel-cause.js.map +1 -0
  891. package/dist/types/run/checkpoint-store.d.ts +29 -11
  892. package/dist/types/run/checkpoint-store.d.ts.map +1 -1
  893. package/dist/types/run/config.d.ts +24 -4
  894. package/dist/types/run/config.d.ts.map +1 -1
  895. package/dist/types/run/derive-status.d.ts +3 -3
  896. package/dist/types/run/derive-status.d.ts.map +1 -1
  897. package/dist/types/run/derive-status.js +1 -1
  898. package/dist/types/run/entity.d.ts +2 -3
  899. package/dist/types/run/entity.d.ts.map +1 -1
  900. package/dist/types/run/event-cursor.d.ts +3 -3
  901. package/dist/types/run/event-cursor.d.ts.map +1 -1
  902. package/dist/types/run/events.d.ts +159 -4
  903. package/dist/types/run/events.d.ts.map +1 -1
  904. package/dist/types/run/events.js.map +1 -1
  905. package/dist/types/run/index.d.ts +2 -0
  906. package/dist/types/run/index.d.ts.map +1 -1
  907. package/dist/types/run/index.js +2 -0
  908. package/dist/types/run/index.js.map +1 -1
  909. package/dist/types/run/metadata.d.ts +2 -2
  910. package/dist/types/run/metadata.d.ts.map +1 -1
  911. package/dist/types/run/prepare-step.d.ts +29 -0
  912. package/dist/types/run/prepare-step.d.ts.map +1 -1
  913. package/dist/types/run/state.d.ts +33 -10
  914. package/dist/types/run/state.d.ts.map +1 -1
  915. package/dist/types/run/state.js +60 -3
  916. package/dist/types/run/state.js.map +1 -1
  917. package/dist/types/run/stop-reason.d.ts +9 -0
  918. package/dist/types/run/stop-reason.d.ts.map +1 -1
  919. package/dist/types/run/store.d.ts +38 -0
  920. package/dist/types/run/store.d.ts.map +1 -1
  921. package/dist/types/sandbox/index.d.ts +38 -0
  922. package/dist/types/sandbox/index.d.ts.map +1 -1
  923. package/dist/types/sandbox/index.js +21 -0
  924. package/dist/types/sandbox/index.js.map +1 -1
  925. package/dist/types/session/actor.d.ts +2 -2
  926. package/dist/types/session/actor.d.ts.map +1 -1
  927. package/dist/types/session/entity.d.ts +9 -7
  928. package/dist/types/session/entity.d.ts.map +1 -1
  929. package/dist/types/session/ids.d.ts +3 -1
  930. package/dist/types/session/ids.d.ts.map +1 -1
  931. package/dist/types/session/index.d.ts +4 -2
  932. package/dist/types/session/index.d.ts.map +1 -1
  933. package/dist/types/session/store.d.ts +51 -22
  934. package/dist/types/session/store.d.ts.map +1 -1
  935. package/dist/types/session/sub-session.d.ts +55 -5
  936. package/dist/types/session/sub-session.d.ts.map +1 -1
  937. package/dist/types/skills/index.d.ts +41 -0
  938. package/dist/types/skills/index.d.ts.map +1 -1
  939. package/dist/types/skills/index.js +17 -1
  940. package/dist/types/skills/index.js.map +1 -1
  941. package/dist/types/tool/index.d.ts +175 -1
  942. package/dist/types/tool/index.d.ts.map +1 -1
  943. package/dist/types/tool/index.js.map +1 -1
  944. package/dist/types/tool/presentation.d.ts +53 -0
  945. package/dist/types/tool/presentation.d.ts.map +1 -0
  946. package/dist/types/tool/presentation.js +2 -0
  947. package/dist/types/tool/presentation.js.map +1 -0
  948. package/dist/types/{thread → topic}/entity.d.ts +34 -26
  949. package/dist/types/topic/entity.d.ts.map +1 -0
  950. package/dist/types/{thread → topic}/entity.js.map +1 -1
  951. package/dist/types/topic/index.d.ts +5 -0
  952. package/dist/types/topic/index.d.ts.map +1 -0
  953. package/dist/types/topic/index.js +11 -0
  954. package/dist/types/topic/index.js.map +1 -0
  955. package/dist/types/topic/objective.d.ts +86 -0
  956. package/dist/types/topic/objective.d.ts.map +1 -0
  957. package/dist/types/topic/objective.js +10 -0
  958. package/dist/types/topic/objective.js.map +1 -0
  959. package/dist/types/topic/state.d.ts +56 -0
  960. package/dist/types/topic/state.d.ts.map +1 -0
  961. package/dist/types/topic/state.js +10 -0
  962. package/dist/types/topic/state.js.map +1 -0
  963. package/dist/types/topic/store.d.ts +95 -0
  964. package/dist/types/topic/store.d.ts.map +1 -0
  965. package/dist/types/topic/store.js +29 -0
  966. package/dist/types/topic/store.js.map +1 -0
  967. package/dist/types/workspace/ref.d.ts +7 -0
  968. package/dist/types/workspace/ref.d.ts.map +1 -1
  969. package/dist/utils/abort.d.ts.map +1 -1
  970. package/dist/utils/abort.js +13 -1
  971. package/dist/utils/abort.js.map +1 -1
  972. package/dist/utils/hash.d.ts +10 -0
  973. package/dist/utils/hash.d.ts.map +1 -1
  974. package/dist/utils/hash.js +15 -0
  975. package/dist/utils/hash.js.map +1 -1
  976. package/dist/utils/id.d.ts +90 -2
  977. package/dist/utils/id.d.ts.map +1 -1
  978. package/dist/utils/id.js +113 -5
  979. package/dist/utils/id.js.map +1 -1
  980. package/dist/utils/log/attributes.d.ts +17 -0
  981. package/dist/utils/log/attributes.d.ts.map +1 -0
  982. package/dist/utils/log/attributes.js +2 -0
  983. package/dist/utils/log/attributes.js.map +1 -0
  984. package/dist/utils/log/caps.d.ts +27 -0
  985. package/dist/utils/log/caps.d.ts.map +1 -0
  986. package/dist/utils/log/caps.js +107 -0
  987. package/dist/utils/log/caps.js.map +1 -0
  988. package/dist/utils/log/create-logger.d.ts +28 -0
  989. package/dist/utils/log/create-logger.d.ts.map +1 -0
  990. package/dist/utils/log/create-logger.js +168 -0
  991. package/dist/utils/log/create-logger.js.map +1 -0
  992. package/dist/utils/log/exception.d.ts +11 -0
  993. package/dist/utils/log/exception.d.ts.map +1 -0
  994. package/dist/utils/log/exception.js +108 -0
  995. package/dist/utils/log/exception.js.map +1 -0
  996. package/dist/utils/log/index.d.ts +7 -0
  997. package/dist/utils/log/index.d.ts.map +1 -0
  998. package/dist/utils/log/index.js +15 -0
  999. package/dist/utils/log/index.js.map +1 -0
  1000. package/dist/utils/log/process-sink.d.ts +28 -0
  1001. package/dist/utils/log/process-sink.d.ts.map +1 -0
  1002. package/dist/utils/log/process-sink.js +56 -0
  1003. package/dist/utils/log/process-sink.js.map +1 -0
  1004. package/dist/utils/log/redact.d.ts +3 -0
  1005. package/dist/utils/log/redact.d.ts.map +1 -0
  1006. package/dist/utils/log/redact.js +71 -0
  1007. package/dist/utils/log/redact.js.map +1 -0
  1008. package/dist/utils/log/sinks.d.ts +43 -0
  1009. package/dist/utils/log/sinks.d.ts.map +1 -0
  1010. package/dist/utils/log/sinks.js +184 -0
  1011. package/dist/utils/log/sinks.js.map +1 -0
  1012. package/dist/utils/log/templates.d.ts +63 -0
  1013. package/dist/utils/log/templates.d.ts.map +1 -0
  1014. package/dist/utils/log/templates.js +119 -0
  1015. package/dist/utils/log/templates.js.map +1 -0
  1016. package/dist/utils/log/types.d.ts +183 -0
  1017. package/dist/utils/log/types.d.ts.map +1 -0
  1018. package/dist/utils/log/types.js +55 -0
  1019. package/dist/utils/log/types.js.map +1 -0
  1020. package/dist/utils/logger.d.ts +44 -0
  1021. package/dist/utils/logger.d.ts.map +1 -1
  1022. package/dist/utils/logger.js +102 -2
  1023. package/dist/utils/logger.js.map +1 -1
  1024. package/dist/utils/renamed-field.d.ts +19 -0
  1025. package/dist/utils/renamed-field.d.ts.map +1 -0
  1026. package/dist/utils/renamed-field.js +29 -0
  1027. package/dist/utils/renamed-field.js.map +1 -0
  1028. package/dist/vault/CredentialProvider.d.ts +89 -0
  1029. package/dist/vault/CredentialProvider.d.ts.map +1 -0
  1030. package/dist/vault/CredentialProvider.js +64 -0
  1031. package/dist/vault/CredentialProvider.js.map +1 -0
  1032. package/dist/vault/InMemoryCredentialVault.d.ts +2 -1
  1033. package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
  1034. package/dist/vault/InMemoryCredentialVault.js +15 -5
  1035. package/dist/vault/InMemoryCredentialVault.js.map +1 -1
  1036. package/dist/vault/index.d.ts +3 -0
  1037. package/dist/vault/index.d.ts.map +1 -1
  1038. package/dist/vault/index.js +5 -0
  1039. package/dist/vault/index.js.map +1 -1
  1040. package/dist/vault/instrumentation.d.ts +18 -2
  1041. package/dist/vault/instrumentation.d.ts.map +1 -1
  1042. package/dist/vault/instrumentation.js +47 -0
  1043. package/dist/vault/instrumentation.js.map +1 -1
  1044. package/package.json +4 -4
  1045. package/src/advisory/executor.ts +14 -12
  1046. package/src/advisory/registry.ts +2 -2
  1047. package/src/agents/AGENTS.md +91 -0
  1048. package/src/agents/AbstractAgent.ts +67 -14
  1049. package/src/agents/PipelineAgent.ts +46 -12
  1050. package/src/agents/ReactiveAgent.ts +27 -13
  1051. package/src/agents/RouterAgent.ts +33 -21
  1052. package/src/agents/SupervisorAgent.ts +51 -26
  1053. package/src/agents/handle.ts +149 -0
  1054. package/src/agents/runAgent.ts +14 -7
  1055. package/src/{verification → authorization}/gate.ts +39 -32
  1056. package/src/authorization/index.ts +26 -0
  1057. package/src/authorization/permission-presets.ts +215 -0
  1058. package/src/{verification → authorization}/presets.ts +15 -3
  1059. package/src/{verification → authorization}/rules.ts +16 -3
  1060. package/src/bridge/a2a/client.ts +369 -0
  1061. package/src/bridge/a2a/mapper.ts +17 -0
  1062. package/src/bridge/acp/filesystem.ts +63 -0
  1063. package/src/bridge/acp/index.ts +11 -0
  1064. package/src/bridge/acp/permission.ts +71 -0
  1065. package/src/bridge/acp/server.ts +500 -0
  1066. package/src/bridge/acp/update.ts +109 -0
  1067. package/src/bridge/mcp/connector/adapter.ts +8 -4
  1068. package/src/bridge/sse/mapper.ts +30 -0
  1069. package/src/bus/breaker.ts +15 -10
  1070. package/src/bus/index.ts +10 -8
  1071. package/src/bus/lock.ts +36 -19
  1072. package/src/bus/ownership.ts +17 -9
  1073. package/src/compaction/context-window.ts +23 -1
  1074. package/src/compaction/index.ts +6 -0
  1075. package/src/compaction/manual.ts +177 -0
  1076. package/src/compaction/plan.ts +226 -0
  1077. package/src/compaction/summary.ts +31 -0
  1078. package/src/compaction/verifier.ts +2 -2
  1079. package/src/config/registry.ts +208 -0
  1080. package/src/config/runtime.ts +27 -0
  1081. package/src/connector/BaseConnector.ts +8 -3
  1082. package/src/connector/builtins/http.ts +12 -2
  1083. package/src/connector/builtins/webhook.ts +6 -2
  1084. package/src/connector/index.ts +45 -29
  1085. package/src/connector/mcp/client.ts +32 -20
  1086. package/src/connector/mcp/discovery.ts +31 -20
  1087. package/src/connector/mcp/http-sse.ts +12 -6
  1088. package/src/connector/mcp/index.ts +8 -7
  1089. package/src/connector/mcp/reconnect.ts +194 -0
  1090. package/src/connector/mcp/server/index.ts +32 -0
  1091. package/src/connector/mcp/{server-stdio.ts → server/server-stdio.ts} +5 -4
  1092. package/src/connector/mcp/{server.ts → server/server.ts} +17 -11
  1093. package/src/connector/mcp/stdio.ts +18 -9
  1094. package/src/connector/mcp/streamable-http.ts +8 -4
  1095. package/src/{bridge/tools/connector → connector/tools}/adapter.ts +5 -5
  1096. package/src/{bridge/tools/connector → connector/tools}/definitions.ts +4 -4
  1097. package/src/{bridge/tools/connector → connector/tools}/router.ts +17 -9
  1098. package/src/connector/web/guarded-fetch.ts +288 -0
  1099. package/src/connector/web/index.ts +17 -0
  1100. package/src/connector/web/types.ts +99 -0
  1101. package/src/constants/acp/index.ts +104 -0
  1102. package/src/constants/credential-env-keys.ts +63 -0
  1103. package/src/constants/index.ts +3 -1
  1104. package/src/constants/secret-patterns.ts +102 -0
  1105. package/src/constants/telemetry/index.ts +98 -0
  1106. package/src/contracts/api.ts +11 -0
  1107. package/src/deprecated-aliases.ts +86 -0
  1108. package/src/eval/judge.ts +2 -2
  1109. package/src/execution/base.ts +18 -7
  1110. package/src/execution/code-runtime/types.ts +116 -0
  1111. package/src/execution/code-runtime/worker.ts +266 -0
  1112. package/src/{connector/execution → execution}/factory.ts +3 -3
  1113. package/src/{connector/execution → execution}/hybrid.ts +13 -7
  1114. package/src/execution/index.ts +24 -0
  1115. package/src/execution/local.ts +4 -2
  1116. package/src/{connector/execution → execution}/remote.ts +15 -8
  1117. package/src/index.ts +17 -0
  1118. package/src/invariants/index.ts +201 -0
  1119. package/src/manager/agent/lifecycle.ts +172 -58
  1120. package/src/manager/connector/environment.ts +22 -11
  1121. package/src/manager/connector/lifecycle.ts +30 -11
  1122. package/src/manager/connector/tenant.ts +33 -14
  1123. package/src/manager/index.ts +16 -2
  1124. package/src/manager/project/lifecycle.ts +1 -1
  1125. package/src/manager/run/emergency.ts +9 -7
  1126. package/src/manager/run/persistence.ts +110 -8
  1127. package/src/manager/topic/lifecycle.ts +235 -0
  1128. package/src/manager/topic/objective.ts +203 -0
  1129. package/src/persona/assembler.ts +14 -3
  1130. package/src/plugin/lifecycle.ts +156 -20
  1131. package/src/plugin/loader.ts +67 -16
  1132. package/src/probe/index.ts +1 -0
  1133. package/src/probe/registry.ts +41 -5
  1134. package/src/process/kill-tree.ts +52 -0
  1135. package/src/prompt/contributions.ts +173 -0
  1136. package/src/prompt/index.ts +15 -0
  1137. package/src/provider/attribution.ts +57 -0
  1138. package/src/provider/{collect.ts → collect-chat-completion.ts} +4 -2
  1139. package/src/provider/conformance.ts +189 -0
  1140. package/src/provider/errors.ts +27 -12
  1141. package/src/provider/fallback.ts +32 -10
  1142. package/src/provider/idle-timeout.ts +112 -0
  1143. package/src/provider/instrumentation.ts +4 -2
  1144. package/src/provider/retry.ts +63 -21
  1145. package/src/public-runtime.ts +373 -14
  1146. package/src/public-tools.ts +41 -1
  1147. package/src/public-types.ts +101 -4
  1148. package/src/rag/rag-tool.ts +4 -2
  1149. package/src/read-model/index.ts +14 -0
  1150. package/src/read-model/registry.ts +152 -0
  1151. package/src/read-model/run-status.ts +127 -0
  1152. package/src/registry/{Registry.ts → BaseRegistry.ts} +1 -1
  1153. package/src/registry/ManagedRegistry.ts +26 -9
  1154. package/src/registry/command/index-exports.ts +4 -0
  1155. package/src/registry/command/index.ts +105 -0
  1156. package/src/registry/command/kernel-commands.ts +110 -0
  1157. package/src/registry/connector/scoped.ts +6 -5
  1158. package/src/registry/index.ts +7 -1
  1159. package/src/registry/tool/execute.ts +15 -12
  1160. package/src/registry/tool/presentation.ts +116 -0
  1161. package/src/registry/tool/screen.ts +12 -11
  1162. package/src/run/drain.ts +13 -3
  1163. package/src/run/reporter.ts +208 -153
  1164. package/src/run-query/index.ts +108 -0
  1165. package/src/runtime/bidi/session.ts +7 -2
  1166. package/src/runtime/decision/fallback.ts +6 -3
  1167. package/src/runtime/decision/parser.ts +10 -9
  1168. package/src/runtime/jobs/registry.ts +346 -0
  1169. package/src/runtime/query/approval-policy.ts +78 -0
  1170. package/src/runtime/query/checkpoint.ts +6 -6
  1171. package/src/runtime/query/context.ts +120 -30
  1172. package/src/runtime/query/events.ts +19 -11
  1173. package/src/runtime/query/executor.ts +287 -66
  1174. package/src/runtime/query/guardrail-presets.ts +11 -14
  1175. package/src/runtime/query/guardrails.ts +16 -12
  1176. package/src/runtime/query/index.ts +579 -96
  1177. package/src/runtime/query/iteration/index.ts +269 -87
  1178. package/src/runtime/query/iteration/phases/advisory.ts +17 -16
  1179. package/src/runtime/query/iteration/phases/compaction.ts +235 -187
  1180. package/src/runtime/query/iteration/phases/context.ts +82 -21
  1181. package/src/runtime/query/iteration/phases/tool-review.ts +28 -9
  1182. package/src/runtime/query/iteration/phases/working-memory.ts +3 -2
  1183. package/src/runtime/query/iteration/stream-turn.ts +14 -14
  1184. package/src/runtime/query/{context-cache.ts → prompt-cache.ts} +23 -3
  1185. package/src/runtime/query/prompt.ts +104 -4
  1186. package/src/runtime/query/repeat-call.ts +130 -0
  1187. package/src/runtime/query/replay/mutate.ts +6 -0
  1188. package/src/runtime/query/result.ts +47 -10
  1189. package/src/runtime/query/resume-pending.ts +19 -17
  1190. package/src/runtime/query/resume-run.ts +2 -2
  1191. package/src/runtime/query/run-state.ts +5 -5
  1192. package/src/runtime/query/tool-grants.ts +1 -1
  1193. package/src/runtime/query/tool-output-budget.ts +36 -3
  1194. package/src/runtime/query/tool-pause.ts +2 -1
  1195. package/src/runtime/query/tooling.ts +17 -2
  1196. package/src/sandbox/provider/local.ts +94 -21
  1197. package/src/sandbox/terminal.ts +197 -0
  1198. package/src/{gateway → scheduler}/completion-inbox.ts +20 -10
  1199. package/src/scheduler/delegating.ts +297 -0
  1200. package/src/{gateway → scheduler}/local.ts +24 -15
  1201. package/src/session/actor-scope.ts +121 -0
  1202. package/src/session/errors.ts +30 -8
  1203. package/src/session/handoff/assignment.ts +5 -5
  1204. package/src/session/handoff/broadcast.ts +9 -9
  1205. package/src/session/handoff/single.ts +8 -8
  1206. package/src/session/migration/filesystem.ts +46 -2
  1207. package/src/session/migration/id-prefix.ts +60 -22
  1208. package/src/session/migration/index.ts +5 -0
  1209. package/src/session/migration/marker.ts +19 -4
  1210. package/src/session/retention/archive.ts +32 -12
  1211. package/src/session/workspace/git-worktree.ts +17 -8
  1212. package/src/skills/loader.ts +39 -9
  1213. package/src/skills/registry.ts +177 -20
  1214. package/src/store/attachment/index.ts +182 -0
  1215. package/src/store/config/index.ts +74 -0
  1216. package/src/store/feedback/conformance.ts +193 -0
  1217. package/src/store/feedback/disk.ts +184 -0
  1218. package/src/store/feedback/index.ts +13 -0
  1219. package/src/store/feedback/memory.ts +0 -0
  1220. package/src/store/feedback/types.ts +107 -0
  1221. package/src/store/index.ts +5 -0
  1222. package/src/store/kv/record-store.ts +91 -0
  1223. package/src/store/memory/disk.ts +35 -32
  1224. package/src/store/run/checkpoint-disk.ts +27 -6
  1225. package/src/store/run/checkpoint-memory.ts +8 -8
  1226. package/src/store/run/claim-disk.ts +58 -13
  1227. package/src/store/run/conformance.ts +11 -10
  1228. package/src/store/run/disk.ts +77 -5
  1229. package/src/store/run/listing.ts +6 -6
  1230. package/src/store/run/memory.ts +24 -1
  1231. package/src/store/session/canonical-path.ts +45 -0
  1232. package/src/store/session/disk.ts +216 -191
  1233. package/src/store/session/memory.ts +43 -5
  1234. package/src/store/task/disk.ts +77 -67
  1235. package/src/store/topic/index.ts +33 -0
  1236. package/src/store/topic/memory.ts +111 -0
  1237. package/src/store/topic/objective.ts +290 -0
  1238. package/src/store/topic/state.ts +204 -0
  1239. package/src/streaming/coalesce.ts +19 -5
  1240. package/src/telemetry/runtime-accessors.ts +45 -1
  1241. package/src/test-support/ids.ts +117 -0
  1242. package/src/testing.ts +40 -0
  1243. package/src/tools/builtins/bash.ts +82 -3
  1244. package/src/tools/builtins/edit.ts +36 -0
  1245. package/src/tools/builtins/index.ts +29 -1
  1246. package/src/tools/builtins/job.ts +133 -0
  1247. package/src/tools/builtins/lsp.ts +214 -0
  1248. package/src/tools/builtins/run-code.ts +154 -0
  1249. package/src/tools/builtins/skill.ts +134 -0
  1250. package/src/tools/builtins/web-guidance.ts +46 -0
  1251. package/src/tools/builtins/web.ts +156 -0
  1252. package/src/tools/builtins/write-file.ts +37 -1
  1253. package/src/tools/coordinator/agent.ts +2 -2
  1254. package/src/tools/coordinator/index.ts +144 -40
  1255. package/src/tools/coordinator/outcome.ts +2 -2
  1256. package/src/tools/coordinator/wait-with-idle-bound.ts +3 -3
  1257. package/src/tools/defineTool.ts +14 -0
  1258. package/src/tools/env-scrub.ts +91 -0
  1259. package/src/tools/memory/read.ts +5 -2
  1260. package/src/tools/task/create.ts +2 -1
  1261. package/src/tools/task/update.ts +7 -4
  1262. package/src/types/acp/index.ts +163 -0
  1263. package/src/types/agent/base.ts +67 -5
  1264. package/src/types/agent/delegate.ts +110 -0
  1265. package/src/types/agent/index.ts +1 -1
  1266. package/src/types/agent/manager.ts +7 -1
  1267. package/src/types/agent/reactive.ts +27 -3
  1268. package/src/types/agent/{gateway.ts → scheduler.ts} +41 -4
  1269. package/src/types/agent/supervisor.ts +26 -5
  1270. package/src/types/agent/task.ts +31 -9
  1271. package/src/types/agent/working-memory.ts +1 -1
  1272. package/src/types/{verification → authorization}/index.ts +79 -10
  1273. package/src/types/bus/index.ts +30 -1
  1274. package/src/types/code-navigation/index.ts +99 -0
  1275. package/src/types/command/index.ts +68 -0
  1276. package/src/types/common/index.ts +26 -2
  1277. package/src/types/connector/mcp.ts +8 -0
  1278. package/src/types/guardrail/index.ts +1 -1
  1279. package/src/types/hitl/policy.ts +83 -0
  1280. package/src/types/ids/brand.ts +58 -0
  1281. package/src/types/ids/index.ts +109 -42
  1282. package/src/types/message/index.ts +25 -1
  1283. package/src/types/project/entity.ts +22 -2
  1284. package/src/types/provider/interface.ts +45 -2
  1285. package/src/types/provider/model.ts +16 -2
  1286. package/src/types/run/audit.ts +164 -0
  1287. package/src/types/run/cancel-cause.ts +60 -0
  1288. package/src/types/run/checkpoint-store.ts +31 -11
  1289. package/src/types/run/config.ts +25 -4
  1290. package/src/types/run/derive-status.ts +3 -3
  1291. package/src/types/run/entity.ts +2 -4
  1292. package/src/types/run/event-cursor.ts +3 -3
  1293. package/src/types/run/events.ts +165 -6
  1294. package/src/types/run/index.ts +2 -0
  1295. package/src/types/run/metadata.ts +2 -2
  1296. package/src/types/run/prepare-step.ts +33 -0
  1297. package/src/types/run/state.ts +78 -11
  1298. package/src/types/run/stop-reason.ts +9 -0
  1299. package/src/types/run/store.ts +40 -0
  1300. package/src/types/sandbox/index.ts +37 -0
  1301. package/src/types/session/actor.ts +10 -2
  1302. package/src/types/session/entity.ts +9 -7
  1303. package/src/types/session/ids.ts +2 -0
  1304. package/src/types/session/index.ts +2 -0
  1305. package/src/types/session/store.ts +53 -22
  1306. package/src/types/session/sub-session.ts +50 -9
  1307. package/src/types/skills/index.ts +50 -0
  1308. package/src/types/tool/index.ts +156 -1
  1309. package/src/types/tool/presentation.ts +48 -0
  1310. package/src/types/{thread → topic}/entity.ts +34 -26
  1311. package/src/types/topic/index.ts +23 -0
  1312. package/src/types/topic/objective.ts +93 -0
  1313. package/src/types/topic/state.ts +60 -0
  1314. package/src/types/topic/store.ts +101 -0
  1315. package/src/types/workspace/ref.ts +7 -0
  1316. package/src/utils/abort.ts +16 -1
  1317. package/src/utils/hash.ts +16 -0
  1318. package/src/utils/id.ts +172 -12
  1319. package/src/utils/log/attributes.ts +47 -0
  1320. package/src/utils/log/caps.ts +118 -0
  1321. package/src/utils/log/create-logger.ts +198 -0
  1322. package/src/utils/log/exception.ts +124 -0
  1323. package/src/utils/log/index.ts +24 -0
  1324. package/src/utils/log/process-sink.ts +76 -0
  1325. package/src/utils/log/redact.ts +77 -0
  1326. package/src/utils/log/sinks.ts +205 -0
  1327. package/src/utils/log/templates.ts +161 -0
  1328. package/src/utils/log/types.ts +195 -0
  1329. package/src/utils/logger.ts +121 -2
  1330. package/src/utils/renamed-field.ts +35 -0
  1331. package/src/vault/CredentialProvider.ts +147 -0
  1332. package/src/vault/InMemoryCredentialVault.ts +16 -5
  1333. package/src/vault/index.ts +16 -0
  1334. package/src/vault/instrumentation.ts +63 -2
  1335. package/dist/bridge/tools/connector/adapter.d.ts.map +0 -1
  1336. package/dist/bridge/tools/connector/adapter.js.map +0 -1
  1337. package/dist/bridge/tools/connector/definitions.d.ts.map +0 -1
  1338. package/dist/bridge/tools/connector/definitions.js.map +0 -1
  1339. package/dist/bridge/tools/connector/index.d.ts.map +0 -1
  1340. package/dist/bridge/tools/connector/index.js.map +0 -1
  1341. package/dist/bridge/tools/connector/router.d.ts.map +0 -1
  1342. package/dist/bridge/tools/connector/router.js.map +0 -1
  1343. package/dist/connector/execution/factory.d.ts.map +0 -1
  1344. package/dist/connector/execution/factory.js.map +0 -1
  1345. package/dist/connector/execution/hybrid.d.ts.map +0 -1
  1346. package/dist/connector/execution/hybrid.js.map +0 -1
  1347. package/dist/connector/execution/index.d.ts +0 -6
  1348. package/dist/connector/execution/index.d.ts.map +0 -1
  1349. package/dist/connector/execution/index.js +0 -4
  1350. package/dist/connector/execution/index.js.map +0 -1
  1351. package/dist/connector/execution/remote.d.ts.map +0 -1
  1352. package/dist/connector/execution/remote.js.map +0 -1
  1353. package/dist/connector/mcp/server-stdio.d.ts.map +0 -1
  1354. package/dist/connector/mcp/server-stdio.js.map +0 -1
  1355. package/dist/connector/mcp/server.d.ts.map +0 -1
  1356. package/dist/connector/mcp/server.js.map +0 -1
  1357. package/dist/constants/verification/index.d.ts.map +0 -1
  1358. package/dist/constants/verification/index.js.map +0 -1
  1359. package/dist/gateway/completion-inbox.d.ts.map +0 -1
  1360. package/dist/gateway/completion-inbox.js.map +0 -1
  1361. package/dist/gateway/local.d.ts.map +0 -1
  1362. package/dist/gateway/local.js.map +0 -1
  1363. package/dist/manager/thread/lifecycle.d.ts +0 -105
  1364. package/dist/manager/thread/lifecycle.d.ts.map +0 -1
  1365. package/dist/manager/thread/lifecycle.js.map +0 -1
  1366. package/dist/provider/collect.d.ts.map +0 -1
  1367. package/dist/provider/collect.js.map +0 -1
  1368. package/dist/registry/Registry.d.ts.map +0 -1
  1369. package/dist/registry/Registry.js.map +0 -1
  1370. package/dist/router/task-router.d.ts.map +0 -1
  1371. package/dist/router/task-router.js.map +0 -1
  1372. package/dist/runtime/query/context-cache.d.ts.map +0 -1
  1373. package/dist/runtime/query/context-cache.js.map +0 -1
  1374. package/dist/store/thread/disk.d.ts +0 -41
  1375. package/dist/store/thread/disk.d.ts.map +0 -1
  1376. package/dist/store/thread/disk.js +0 -238
  1377. package/dist/store/thread/disk.js.map +0 -1
  1378. package/dist/store/thread/index.d.ts +0 -4
  1379. package/dist/store/thread/index.d.ts.map +0 -1
  1380. package/dist/store/thread/index.js +0 -6
  1381. package/dist/store/thread/index.js.map +0 -1
  1382. package/dist/store/thread/memory.d.ts +0 -23
  1383. package/dist/store/thread/memory.d.ts.map +0 -1
  1384. package/dist/store/thread/memory.js +0 -90
  1385. package/dist/store/thread/memory.js.map +0 -1
  1386. package/dist/types/agent/gateway.d.ts.map +0 -1
  1387. package/dist/types/agent/gateway.js +0 -2
  1388. package/dist/types/agent/gateway.js.map +0 -1
  1389. package/dist/types/thread/entity.d.ts.map +0 -1
  1390. package/dist/types/thread/index.d.ts +0 -3
  1391. package/dist/types/thread/index.d.ts.map +0 -1
  1392. package/dist/types/thread/index.js +0 -5
  1393. package/dist/types/thread/index.js.map +0 -1
  1394. package/dist/types/thread/store.d.ts +0 -86
  1395. package/dist/types/thread/store.d.ts.map +0 -1
  1396. package/dist/types/thread/store.js +0 -22
  1397. package/dist/types/thread/store.js.map +0 -1
  1398. package/dist/types/verification/index.d.ts +0 -317
  1399. package/dist/types/verification/index.d.ts.map +0 -1
  1400. package/dist/types/verification/index.js +0 -53
  1401. package/dist/types/verification/index.js.map +0 -1
  1402. package/dist/verification/gate.d.ts.map +0 -1
  1403. package/dist/verification/gate.js.map +0 -1
  1404. package/dist/verification/index.d.ts +0 -4
  1405. package/dist/verification/index.d.ts.map +0 -1
  1406. package/dist/verification/index.js +0 -4
  1407. package/dist/verification/index.js.map +0 -1
  1408. package/dist/verification/presets.d.ts.map +0 -1
  1409. package/dist/verification/presets.js.map +0 -1
  1410. package/dist/verification/rules.d.ts +0 -4
  1411. package/dist/verification/rules.d.ts.map +0 -1
  1412. package/dist/verification/rules.js.map +0 -1
  1413. package/src/connector/execution/index.ts +0 -5
  1414. package/src/manager/thread/lifecycle.ts +0 -217
  1415. package/src/store/thread/disk.ts +0 -272
  1416. package/src/store/thread/index.ts +0 -7
  1417. package/src/store/thread/memory.ts +0 -104
  1418. package/src/types/thread/index.ts +0 -6
  1419. package/src/types/thread/store.ts +0 -92
  1420. package/src/verification/index.ts +0 -3
  1421. /package/dist/{bridge/tools/connector → connector/tools}/index.d.ts +0 -0
  1422. /package/dist/{bridge/tools/connector → connector/tools}/index.js +0 -0
  1423. /package/dist/constants/{verification → authorization}/index.d.ts +0 -0
  1424. /package/dist/constants/{verification → authorization}/index.js +0 -0
  1425. /package/dist/{router → model-router}/task-router.d.ts +0 -0
  1426. /package/dist/{router → model-router}/task-router.js +0 -0
  1427. /package/dist/types/{thread → topic}/entity.js +0 -0
  1428. /package/src/{bridge/tools/connector → connector/tools}/index.ts +0 -0
  1429. /package/src/constants/{verification → authorization}/index.ts +0 -0
  1430. /package/src/{router → model-router}/task-router.ts +0 -0
package/src/utils/hash.ts CHANGED
@@ -14,3 +14,19 @@ export function buildToolResultHashes(
14
14
  }
15
15
  return hashes
16
16
  }
17
+
18
+ /**
19
+ * A short, stable digest of any JSON-able value.
20
+ *
21
+ * `JSON.stringify` is not stable across key insertion order, so callers
22
+ * that need two equal-by-content values to hash alike must normalise
23
+ * first. The one caller that does — the request envelope — sorts its tool
24
+ * list before hashing, because the ORDER of the tool array is itself part
25
+ * of what the model sees and a re-ordered catalogue is a real change.
26
+ */
27
+ export function stableDigest(value: unknown): string {
28
+ return createHash('sha256')
29
+ .update(JSON.stringify(value) ?? 'null')
30
+ .digest('hex')
31
+ .slice(0, 16)
32
+ }
package/src/utils/id.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  import { randomBytes } from 'node:crypto'
2
+ import { unsafeId } from '../types/ids/brand.js'
2
3
  import type {
3
4
  ActivityId,
4
5
  AdvisoryCallId,
5
6
  AdvisoryId,
7
+ AgentId,
8
+ AuditEventId,
6
9
  CheckpointId,
7
10
  ChunkId,
8
11
  ConnectorId,
@@ -15,10 +18,13 @@ import type {
15
18
  ExecutionContextId,
16
19
  HandoffId,
17
20
  KnowledgeBaseId,
21
+ KnowledgeBaseRef,
22
+ LockId,
18
23
  MCPClientId,
19
24
  MCPServerId,
20
25
  MCPSessionId,
21
26
  MemoryId,
27
+ MemoryStoreRef,
22
28
  MessageId,
23
29
  PlanId,
24
30
  PluginId,
@@ -30,8 +36,10 @@ import type {
30
36
  SummaryId,
31
37
  TaskId,
32
38
  TenantId,
33
- ThreadId,
34
39
  ToolCallId,
40
+ TopicId,
41
+ UserId,
42
+ VaultRef,
35
43
  WorkspaceId,
36
44
  } from '../types/ids/index.js'
37
45
 
@@ -39,7 +47,25 @@ const ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz'
39
47
  const ALPHABET_LEN = ALPHABET.length
40
48
  const MAX_UNIFORM_BYTE = Math.floor(256 / ALPHABET_LEN) * ALPHABET_LEN
41
49
 
42
- function generateId<T extends string>(prefix: T, length = 12): `${T}${string}` {
50
+ /**
51
+ * Mints an id, with the PREFIX checked against the id's own type.
52
+ *
53
+ * The two type parameters are what keeps that check alive now the ids are
54
+ * nominal (NZ-SURF-11). `T` is inferred from the caller's declared return
55
+ * type, `P` from the literal prefix, and the constraint `T extends
56
+ * `${P}${string}`` is what makes `generateRunId` unable to return
57
+ * `generateId('ses_')`: a branded `RunId` is assignable to `` `run_${string}` ``
58
+ * but not to `` `ses_${string}` ``, so the wrong prefix fails to compile.
59
+ *
60
+ * Without the constraint the brand would have COST a check — `unsafeId<T>`
61
+ * accepts any string, so `T` alone would let every generator mint any
62
+ * prefix. That is the docker `sandbox_`/`sbx_` defect, one layer up, which
63
+ * is why this is written the awkward way rather than the short way.
64
+ */
65
+ function generateId<T extends `${P}${string}`, P extends string = string>(
66
+ prefix: P,
67
+ length = 12,
68
+ ): T {
43
69
  let suffix = ''
44
70
  let remaining = length
45
71
  while (remaining > 0) {
@@ -52,17 +78,26 @@ function generateId<T extends string>(prefix: T, length = 12): `${T}${string}` {
52
78
  }
53
79
  }
54
80
  }
55
- return `${prefix}${suffix}` as `${T}${string}`
81
+ return unsafeId<T>(`${prefix}${suffix}`)
56
82
  }
57
83
 
58
84
  export function generateProjectId(): ProjectId {
59
85
  return generateId('prj_')
60
86
  }
61
87
 
62
- export function generateThreadId(): ThreadId {
63
- return generateId('thd_')
88
+ export function generateTopicId(): TopicId {
89
+ return generateId('top_')
64
90
  }
65
91
 
92
+ /**
93
+ * @deprecated Use {@link generateTopicId}. Removal is NZ-TOPIC-05.
94
+ *
95
+ * Mints `top_` from NZ-TOPIC-04 on — an alias that kept minting `thd_`
96
+ * would hand two different id spaces to one program depending on which
97
+ * name the caller happened to import.
98
+ */
99
+ export const generateThreadId = generateTopicId
100
+
66
101
  export function generateRunId(): RunId {
67
102
  return generateId('run_')
68
103
  }
@@ -151,6 +186,10 @@ export function generateAdvisoryCallId(): AdvisoryCallId {
151
186
  return generateId('advc_')
152
187
  }
153
188
 
189
+ export function generateAuditEventId(): AuditEventId {
190
+ return generateId('aud_')
191
+ }
192
+
154
193
  export function generateEmergencySaveId(): EmergencySaveId {
155
194
  return generateId('esave_')
156
195
  }
@@ -187,25 +226,146 @@ export function generateDeliverableId(): DeliverableId {
187
226
  return generateId('del_')
188
227
  }
189
228
 
190
- function parseId<T extends string>(raw: string, prefix: string, typeName: string): T {
229
+ function parseId<T extends `${P}${string}`, P extends string = string>(
230
+ raw: string,
231
+ prefix: P,
232
+ typeName: string,
233
+ ): T {
191
234
  if (!raw.startsWith(prefix)) {
192
235
  throw new Error(`Invalid ${typeName}: expected "${prefix}" prefix, got "${raw}"`)
193
236
  }
194
- return raw as T
237
+ return unsafeId<T>(raw)
195
238
  }
196
239
 
197
240
  export function parseProjectId(raw: string): ProjectId {
198
- return parseId<ProjectId>(raw, 'prj_', 'ProjectId')
241
+ return parseId(raw, 'prj_', 'ProjectId')
199
242
  }
200
243
  export function parseRunId(raw: string): RunId {
201
- return parseId<RunId>(raw, 'run_', 'RunId')
244
+ return parseId(raw, 'run_', 'RunId')
202
245
  }
203
246
  export function parseConnectorInstanceId(raw: string): ConnectorInstanceId {
204
- return parseId<ConnectorInstanceId>(raw, 'ci_', 'ConnectorInstanceId')
247
+ return parseId(raw, 'ci_', 'ConnectorInstanceId')
205
248
  }
206
249
  export function parsePluginId(raw: string): PluginId {
207
- return parseId<PluginId>(raw, 'plg_', 'PluginId')
250
+ return parseId(raw, 'plg_', 'PluginId')
208
251
  }
209
252
  export function parseSandboxId(raw: string): SandboxId {
210
- return parseId<SandboxId>(raw, 'sbx_', 'SandboxId')
253
+ return parseId(raw, 'sbx_', 'SandboxId')
254
+ }
255
+
256
+ // ─── validating constructors ─────────────────────────────────────────────
257
+ //
258
+ // There is no runtime prefix check anywhere in this tree. The 700-odd
259
+ // `as RunId` casts in it assert without verifying, so a `ses_` value cast to
260
+ // `RunId` reaches a store key unremarked and the first sign of it is a
261
+ // lookup that finds nothing.
262
+ //
263
+ // These are the check. One per id type rather than a single generic
264
+ // `asId(prefix, value)`, and the repetition is the point: a generic loses
265
+ // the return type, so the call site stops type-checking and the whole
266
+ // exercise buys nothing. The implementations are one function.
267
+
268
+ /** A string that does not carry the prefix the id type requires. */
269
+ export class InvalidIdError extends Error {
270
+ constructor(
271
+ readonly value: string,
272
+ readonly expectedPrefix: string,
273
+ ) {
274
+ super(
275
+ `Not a valid id: ${JSON.stringify(value)} does not start with ${JSON.stringify(expectedPrefix)}. Ids are minted by the matching generate*Id() factory; a literal from a log or a URL has to be checked before it is used as one.`,
276
+ )
277
+ this.name = 'InvalidIdError'
278
+ }
211
279
  }
280
+
281
+ /**
282
+ * Builds one prefix check.
283
+ *
284
+ * Throws rather than returning `undefined`, per `refuse-do-not-degrade`: a
285
+ * caller holding a malformed id has no correct fallback available, and the
286
+ * value is on its way to becoming a store key. Returning the input
287
+ * unchanged on the happy path is also load-bearing — a constructor that
288
+ * allocated a copy would silently break `===` on ids used as map keys.
289
+ *
290
+ * The trailing underscore in every prefix is what makes them unambiguous:
291
+ * `mcpc_x` does not start with `mcp_`, and `advc_x` does not start with
292
+ * `adv_`, so no id type can swallow another's values.
293
+ */
294
+ /**
295
+ * What a checked constructor is, named so the id type can be supplied by
296
+ * ANNOTATION rather than as a type argument.
297
+ *
298
+ * That distinction is load-bearing and was got wrong once. `makeIdParser<
299
+ * RunId>('ses_')` compiles: supplying one of two type parameters explicitly
300
+ * makes the other fall back to its DEFAULT rather than be inferred, so `P`
301
+ * became `string`, the constraint read `RunId extends string`, and the
302
+ * prefix check evaporated. Caught by mutating `asRunId`'s prefix and finding
303
+ * the build still green — a check that cannot fail. With the type on the
304
+ * const instead, `T` comes from the contextual type and `P` is inferred from
305
+ * the argument, so the same mutation is a compile error.
306
+ */
307
+ type IdParser<T extends string> = (value: string) => T
308
+
309
+ function makeIdParser<T extends `${P}${string}`, P extends string = string>(
310
+ prefix: P,
311
+ ): IdParser<T> {
312
+ return (value: string): T => {
313
+ if (!value.startsWith(prefix)) throw new InvalidIdError(value, prefix)
314
+ return unsafeId<T>(value)
315
+ }
316
+ }
317
+
318
+ export const asRunId: IdParser<RunId> = makeIdParser('run_')
319
+ export const asMessageId: IdParser<MessageId> = makeIdParser('msg_')
320
+ export const asSessionId: IdParser<SessionId> = makeIdParser('ses_')
321
+ export const asToolCallId: IdParser<ToolCallId> = makeIdParser('call_')
322
+ export const asActivityId: IdParser<ActivityId> = makeIdParser('act_')
323
+ export const asTaskId: IdParser<TaskId> = makeIdParser('task_')
324
+ export const asPlanId: IdParser<PlanId> = makeIdParser('plan_')
325
+ export const asKnowledgeBaseId: IdParser<KnowledgeBaseId> = makeIdParser('kb_')
326
+ export const asDocumentId: IdParser<DocumentId> = makeIdParser('doc_')
327
+ export const asChunkId: IdParser<ChunkId> = makeIdParser('chk_')
328
+ export const asConnectorId: IdParser<ConnectorId> = makeIdParser('conn_')
329
+ export const asConnectorInstanceId: IdParser<ConnectorInstanceId> = makeIdParser('ci_')
330
+ export const asTenantId: IdParser<TenantId> = makeIdParser('tnt_')
331
+ export const asCredentialId: IdParser<CredentialId> = makeIdParser('cred_')
332
+ export const asExecutionContextId: IdParser<ExecutionContextId> = makeIdParser('ectx_')
333
+ export const asMCPServerId: IdParser<MCPServerId> = makeIdParser('mcp_')
334
+ export const asMCPClientId: IdParser<MCPClientId> = makeIdParser('mcpc_')
335
+ export const asMCPSessionId: IdParser<MCPSessionId> = makeIdParser('mcps_')
336
+ export const asEnvironmentId: IdParser<EnvironmentId> = makeIdParser('env_')
337
+ export const asCheckpointId: IdParser<CheckpointId> = makeIdParser('cp_')
338
+ export const asLockId: IdParser<LockId> = makeIdParser('lock_')
339
+ export const asAdvisoryId: IdParser<AdvisoryId> = makeIdParser('adv_')
340
+ export const asAdvisoryCallId: IdParser<AdvisoryCallId> = makeIdParser('advc_')
341
+ export const asEmergencySaveId: IdParser<EmergencySaveId> = makeIdParser('esave_')
342
+ export const asMemoryId: IdParser<MemoryId> = makeIdParser('mem_')
343
+ export const asPluginId: IdParser<PluginId> = makeIdParser('plg_')
344
+ export const asSandboxId: IdParser<SandboxId> = makeIdParser('sbx_')
345
+ export const asAuditEventId: IdParser<AuditEventId> = makeIdParser('aud_')
346
+ export const asUserId: IdParser<UserId> = makeIdParser('usr_')
347
+ /**
348
+ * @deprecated Nothing in this kernel mints an `agt_` id, so this constructor
349
+ * throws on every agent identifier the kernel actually produces — an agent is
350
+ * named by its registry key. See {@link AgentId}. Removal is a later major.
351
+ */
352
+ export const asAgentId: IdParser<AgentId> = makeIdParser('agt_')
353
+ export const asMemoryStoreRef: IdParser<MemoryStoreRef> = makeIdParser('mms_')
354
+ export const asVaultRef: IdParser<VaultRef> = makeIdParser('vlt_')
355
+ export const asKnowledgeBaseRef: IdParser<KnowledgeBaseRef> = makeIdParser('kbs_')
356
+ export const asProjectId: IdParser<ProjectId> = makeIdParser('prj_')
357
+ export const asTopicId: IdParser<TopicId> = makeIdParser('top_')
358
+ export const asSubSessionId: IdParser<SubSessionId> = makeIdParser('sub_')
359
+ export const asHandoffId: IdParser<HandoffId> = makeIdParser('hof_')
360
+ export const asWorkspaceId: IdParser<WorkspaceId> = makeIdParser('wsp_')
361
+ export const asSummaryId: IdParser<SummaryId> = makeIdParser('sum_')
362
+ export const asDeliverableId: IdParser<DeliverableId> = makeIdParser('del_')
363
+
364
+ // No `asThreadId`, deliberately. `ThreadId` is an alias of `TopicId` from
365
+ // the Topic rename, so `asTopicId` already accepts every value one can hold
366
+ // — and a parser shipped `@deprecated` on the day it is written is a name
367
+ // that exists only to be removed. `declared-but-undriven`.
368
+
369
+ // `ToolUseId` is a bare `string` — it comes from a provider, which chooses
370
+ // its own shape, so there is no prefix to check and a constructor here would
371
+ // be a check that cannot fail.
@@ -0,0 +1,47 @@
1
+ // The allowlist for a hand-built attribute bag. `LogContext` on
2
+ // `../logger.ts` stays exactly what it is — `Record<string, unknown>` —
3
+ // because `Logger.child(context: LogContext)` is in INPUT position on the
4
+ // public surface (`logger?: Logger` on `RunConfig` and tool config:
5
+ // `types/run/config.ts:156`, `types/tool/index.ts:396`): narrowing it would
6
+ // break every host that already implemented `Logger` correctly, for a type
7
+ // change with no payoff to them. `LogAttributes` is instead a type a caller
8
+ // builds TOWARD — construct the variable half of a log call with this type
9
+ // and hand the result to `Logger.info`/`.child()` where `LogContext` is
10
+ // expected. That direction always compiles: every `LogAttributes` value is
11
+ // already a valid `LogContext` value, never the reverse.
12
+ //
13
+ // Two things this closes as a compile error rather than leaving to review:
14
+ // a key outside the four prefixes the rest of the telemetry surface already
15
+ // uses (`serverId`, `label`, `apiKey` — anything un-namespaced), and a
16
+ // nested object value (the shape a splatted `AuthConfig`, `ResolvedConfig`
17
+ // or `process.env` would need, and the OTel `AnyValue` subset below has no
18
+ // room for one).
19
+ //
20
+ // What it does NOT close: `{ 'namzu.connector.auth': JSON.stringify(auth) }`
21
+ // is a namespaced key holding a string, and passes every rule in this file.
22
+ // A secret in string form is not a shape this type can see — closing THAT
23
+ // is the record-boundary redaction scan's job (`redact.ts`), which runs on
24
+ // every record regardless of what built its attributes. Say so wherever
25
+ // this type is documented; it narrows what a caller can express, it does
26
+ // not make leakage inexpressible.
27
+ type AttributeValue = string | number | boolean | readonly (string | number | boolean)[]
28
+
29
+ type AttributeKey =
30
+ | `namzu.${string}`
31
+ | `gen_ai.${string}`
32
+ | `service.${string}`
33
+ | `exception.${string}`
34
+
35
+ /**
36
+ * A namespaced, shape-safe attribute bag. Deliberately NOT
37
+ * `Partial<Record<...>>`: `Partial` would type every property as
38
+ * `AttributeValue | undefined`, and this repo's tsconfig does not set
39
+ * `exactOptionalPropertyTypes` — so a `Partial` version would let
40
+ * `{ 'namzu.x.y': undefined }` compile, an attribute that is present and
41
+ * holds nothing. Plain `Record` over a template-literal key domain does not
42
+ * require every possible key to appear — there is no finite set of keys to
43
+ * require — so dropping `Partial` costs a caller nothing: it still supplies
44
+ * only the keys it has, and gains that an explicit `undefined` is rejected
45
+ * the same way `null` and a nested object already are.
46
+ */
47
+ export type LogAttributes = Readonly<Record<AttributeKey, AttributeValue>>
@@ -0,0 +1,118 @@
1
+ // Cardinality and size caps, enforced once at the pipeline boundary — not
2
+ // per sink, and not left to whichever sink happens to serialize the record.
3
+ // A prose rule here would not survive the first attribute added under
4
+ // deadline; these are type-and-code boundaries a caller cannot route around
5
+ // by picking a different sink.
6
+ //
7
+ // Order matters and is fixed by createLogger: redact, THEN cap. Truncating
8
+ // first could slice a secret in half and ship the surviving fragment: a
9
+ // `[REDACTED:label]` placeholder is short and never needs truncating itself,
10
+ // but half of a real key still leaks half a key.
11
+
12
+ import type { LogRecord, MutableLogSinkCounters } from './types.js'
13
+
14
+ export const MAX_ATTRIBUTES = 64
15
+ export const MAX_VALUE_BYTES = 8 * 1024
16
+ export const MAX_RECORD_BYTES = 16 * 1024
17
+
18
+ /**
19
+ * At most 64 attributes. Excess keys are dropped in ascending key order —
20
+ * the same deterministic rule `capTotalSize` uses below, so a reader who has
21
+ * learned one learns both.
22
+ */
23
+ export function capAttributeCount(record: LogRecord, counters: MutableLogSinkCounters): LogRecord {
24
+ const keys = Object.keys(record.attributes)
25
+ if (keys.length <= MAX_ATTRIBUTES) return record
26
+
27
+ const dropCount = keys.length - MAX_ATTRIBUTES
28
+ const dropped = new Set([...keys].sort().slice(0, dropCount))
29
+
30
+ const attributes: Record<string, unknown> = {}
31
+ for (const key of keys) {
32
+ if (!dropped.has(key)) attributes[key] = record.attributes[key]
33
+ }
34
+
35
+ counters.attributesDropped += dropCount
36
+ return { ...record, attributes }
37
+ }
38
+
39
+ /**
40
+ * Each string attribute value truncated at 8 KiB, tail replaced by
41
+ * `…[truncated N bytes]` inside the value — self-describing, so no extra
42
+ * flag field is minted for something the value already says about itself.
43
+ */
44
+ export function truncateValues(record: LogRecord, counters: MutableLogSinkCounters): LogRecord {
45
+ let changed = false
46
+ const attributes: Record<string, unknown> = {}
47
+
48
+ for (const [key, value] of Object.entries(record.attributes)) {
49
+ if (typeof value !== 'string') {
50
+ attributes[key] = value
51
+ continue
52
+ }
53
+ const [text, wasTruncated] = truncateToByteLength(value, MAX_VALUE_BYTES)
54
+ attributes[key] = text
55
+ if (wasTruncated) {
56
+ changed = true
57
+ counters.valuesTruncated++
58
+ }
59
+ }
60
+
61
+ return changed ? { ...record, attributes } : record
62
+ }
63
+
64
+ function truncateToByteLength(value: string, maxBytes: number): [text: string, truncated: boolean] {
65
+ const totalBytes = Buffer.byteLength(value, 'utf8')
66
+ if (totalBytes <= maxBytes) return [value, false]
67
+
68
+ // Walk by Unicode codepoint, not UTF-16 code unit, so the cut point never
69
+ // lands inside a surrogate pair — splitting one produces an unpaired
70
+ // surrogate that some JSON readers choke on or silently mangle.
71
+ let kept = ''
72
+ let bytes = 0
73
+ for (const ch of value) {
74
+ const chBytes = Buffer.byteLength(ch, 'utf8')
75
+ if (bytes + chBytes > maxBytes) break
76
+ kept += ch
77
+ bytes += chBytes
78
+ }
79
+
80
+ const removedBytes = totalBytes - bytes
81
+ return [`${kept}…[truncated ${removedBytes} bytes]`, true]
82
+ }
83
+
84
+ /**
85
+ * Total serialized record ≤ 16 KiB. Per-value and per-count caps are
86
+ * independently satisfiable by a record with many small attributes, so this
87
+ * is the last line and measures the whole record, not one dimension of it.
88
+ * Attributes are dropped in ascending key order until it fits, and
89
+ * `namzu.log.truncated = true` is set on what remains — the marker a
90
+ * downstream reader needs to tell "this record is smaller than what was
91
+ * logged" from "this is genuinely all there was".
92
+ */
93
+ export function capTotalSize(record: LogRecord, counters: MutableLogSinkCounters): LogRecord {
94
+ if (serializedByteLength(record) <= MAX_RECORD_BYTES) return record
95
+
96
+ const sortedKeys = Object.keys(record.attributes).sort()
97
+ for (let dropCount = 1; dropCount <= sortedKeys.length; dropCount++) {
98
+ const keptKeys = sortedKeys.slice(dropCount)
99
+ const attributes: Record<string, unknown> = {}
100
+ for (const key of keptKeys) attributes[key] = record.attributes[key]
101
+
102
+ const candidate: LogRecord = { ...record, attributes }
103
+ if (keptKeys.length === 0 || serializedByteLength(candidate) <= MAX_RECORD_BYTES) {
104
+ counters.recordsTruncated++
105
+ return { ...record, attributes: { ...attributes, 'namzu.log.truncated': true } }
106
+ }
107
+ }
108
+
109
+ // Unreachable: the final iteration of the loop above always has
110
+ // `keptKeys.length === 0` and returns from inside it. Kept as a typed
111
+ // fallback rather than a non-null assertion on the loop's last candidate.
112
+ counters.recordsTruncated++
113
+ return { ...record, attributes: { 'namzu.log.truncated': true } }
114
+ }
115
+
116
+ function serializedByteLength(record: LogRecord): number {
117
+ return Buffer.byteLength(JSON.stringify(record), 'utf8')
118
+ }
@@ -0,0 +1,198 @@
1
+ // The pipeline: builds a record from a call, runs it through redaction and
2
+ // the size caps, then dispatches to the configured sink — catching whatever
3
+ // that sink does, because a host sink is arbitrary code the kernel does not
4
+ // control.
5
+ //
6
+ // `createLogger` returns a plain `Logger` with one extra, non-Logger
7
+ // property (`counters`) riding along on the same object. That is a
8
+ // deliberate choice over a `{ logger, counters }` pair: the returned value
9
+ // still satisfies `logger?: Logger` at every existing call site with no
10
+ // unwrapping, while a caller that wants to observe the pipeline reads
11
+ // `.counters` off the same reference. That caller is now real: LOG-06's
12
+ // `logging.pipeline` doctor check. It could not have been while every
13
+ // `getRootLogger()` built a logger with its own counters — see `shared`
14
+ // below and `utils/__tests__/log-counters-are-process-wide.test.ts`.
15
+
16
+ import { getActiveSpanContext } from '../../telemetry/runtime-accessors.js'
17
+ import type { LogContext, Logger } from '../logger.js'
18
+ import { capAttributeCount, capTotalSize, truncateValues } from './caps.js'
19
+ import { errorAttributes } from './exception.js'
20
+ import { redactRecord } from './redact.js'
21
+ import { NOOP_SINK } from './sinks.js'
22
+ import {
23
+ ERR_ATTRIBUTE,
24
+ EVENT_NAME_ATTRIBUTE,
25
+ type LevelFilter,
26
+ type LogRecord,
27
+ type LogSinkCounters,
28
+ type LoggerOptions,
29
+ type MutableLogSinkCounters,
30
+ SCOPE_ATTRIBUTE,
31
+ type Severity,
32
+ } from './types.js'
33
+
34
+ const SEVERITY_RANK: Record<Severity, number> = { debug: 0, info: 1, warn: 2, error: 3 }
35
+ const LEVEL_RANK: Record<LevelFilter, number> = { ...SEVERITY_RANK, silent: 4 }
36
+ const SEVERITY_NUMBER: Record<Severity, 5 | 9 | 13 | 17> = {
37
+ debug: 5,
38
+ info: 9,
39
+ warn: 13,
40
+ error: 17,
41
+ }
42
+
43
+ export type CreatedLogger = Logger & { readonly counters: LogSinkCounters }
44
+
45
+ export function newCounters(): MutableLogSinkCounters {
46
+ return { dropped: 0, redacted: 0, attributesDropped: 0, valuesTruncated: 0, recordsTruncated: 0 }
47
+ }
48
+
49
+ /**
50
+ * `shared` lets several loggers write through ONE counter set.
51
+ *
52
+ * Without it the counters answer a question nobody asks. `getRootLogger()`
53
+ * resolves per call and builds a fresh logger each time, so every count it
54
+ * accumulated died with the expression that read it -- the five fields were
55
+ * incremented on every record in the process and read by nothing, which is
56
+ * `declared-but-undriven` with a comment above it promising `namzu doctor`
57
+ * would read them. `installProcessSink` now owns one set for the process,
58
+ * and that promise is discharged rather than deleted.
59
+ */
60
+ export function createLogger(
61
+ options: LoggerOptions,
62
+ shared?: MutableLogSinkCounters,
63
+ ): CreatedLogger {
64
+ return build(options, shared ?? newCounters(), {})
65
+ }
66
+
67
+ function build(
68
+ options: LoggerOptions,
69
+ counters: MutableLogSinkCounters,
70
+ bound: Readonly<Record<string, unknown>>,
71
+ ): CreatedLogger {
72
+ function emit(severityText: Severity, body: string, data?: LogContext): void {
73
+ // Read per record, off the shared mutable holder — never resolved once
74
+ // and captured in this closure. Today's `Logger.child()` bakes its level
75
+ // in exactly that way, which is why three module-scope loggers in the
76
+ // skills/plugin loaders are frozen at `info` forever and unreachable by
77
+ // any later `configureLogger` call.
78
+ if (SEVERITY_RANK[severityText] < LEVEL_RANK[options.level.current]) return
79
+
80
+ const now = Date.now()
81
+ // Promote the two reserved keys before anything else touches
82
+ // `attributes` — redact/cap below only ever see the caller's real
83
+ // attributes, never the event name or the raw thrown value a second
84
+ // time under a second spelling. `err` maps through `errorAttributes`
85
+ // (bounded, cycle-safe cause walk — see ./exception.ts) rather than
86
+ // being copied verbatim: the whole point of the reserved key is that
87
+ // the THROWN VALUE reaches the mapper, not a string a call site
88
+ // already built with `toErrorMessage` and so already lost the stack
89
+ // and cause off of.
90
+ const merged: Record<string, unknown> = { ...bound, ...data }
91
+ const { [EVENT_NAME_ATTRIBUTE]: rawEventName, [ERR_ATTRIBUTE]: rawErr, ...attributes } = merged
92
+ // Computed here, before redact/cap run, so `exception.stacktrace` gets
93
+ // exactly the same treatment as an attribute any call site set by
94
+ // hand — see the redaction-pipeline test planting a secret inside a
95
+ // NESTED cause's message specifically to pin this ordering. `rawErr`
96
+ // wins over a same-named `exception.*` key set by hand: once a call
97
+ // site hands over the real thrown value, that value is the
98
+ // authoritative source, not whatever text a caller pre-computed
99
+ // before this reserved key existed.
100
+ const attributesWithException =
101
+ rawErr !== undefined ? { ...attributes, ...errorAttributes(rawErr) } : attributes
102
+ // Resolved HERE, at emit time, off the live `@opentelemetry/api` global —
103
+ // never once at `createLogger` construction and captured in this
104
+ // closure. `telemetry/metrics.ts` documents the construction-time
105
+ // version of this mistake already happening once, for a meter: a bag
106
+ // that captured the no-op instance at construction stayed no-op for the
107
+ // rest of the process even after a real one registered later.
108
+ // `undefined` with no telemetry configured — see `getActiveSpanContext`'s
109
+ // own doc for why that is the default, not a case this file detects.
110
+ const spanContext = getActiveSpanContext()
111
+ let record: LogRecord = {
112
+ timestamp: now,
113
+ observedTimestamp: now,
114
+ severityNumber: SEVERITY_NUMBER[severityText],
115
+ severityText,
116
+ body,
117
+ scope: { name: options.scope },
118
+ resource: options.resource,
119
+ attributes: attributesWithException,
120
+ ...(typeof rawEventName === 'string' ? { eventName: rawEventName } : {}),
121
+ // All three or none: a trace id with no span id would be a
122
+ // half-address (see `LogRecord.traceId`'s doc).
123
+ ...(spanContext
124
+ ? {
125
+ traceId: spanContext.traceId,
126
+ spanId: spanContext.spanId,
127
+ traceFlags: spanContext.traceFlags,
128
+ }
129
+ : {}),
130
+ }
131
+
132
+ // Order matters: redact BEFORE capping. Truncating a value first could
133
+ // slice a secret in half and ship the surviving fragment; the
134
+ // `[REDACTED:label]` placeholder redaction leaves behind is short and
135
+ // never needs truncating itself.
136
+ record = redactRecord(record, counters)
137
+ record = capAttributeCount(record, counters)
138
+ record = truncateValues(record, counters)
139
+ record = capTotalSize(record, counters)
140
+
141
+ dispatch(record)
142
+ }
143
+
144
+ function dispatch(record: LogRecord): void {
145
+ if (options.sink === NOOP_SINK) {
146
+ counters.dropped++
147
+ return
148
+ }
149
+ try {
150
+ options.sink.emit(record)
151
+ } catch {
152
+ // A host sink is arbitrary code the kernel does not control. The old
153
+ // direct `process.stderr.write` implementation could never throw into
154
+ // an in-flight run; a naive seam here would introduce that failure
155
+ // mode for the first time — a broken sink aborting, say, a
156
+ // tool-completion path. Never rethrown, never logged through the same
157
+ // sink that just failed — counted instead, so a doctor check can
158
+ // surface a sink that is silently eating every record.
159
+ counters.dropped++
160
+ }
161
+ }
162
+
163
+ return {
164
+ debug: (message, data) => emit('debug', message, data),
165
+ info: (message, data) => emit('info', message, data),
166
+ warn: (message, data) => emit('warn', message, data),
167
+ error: (message, data) => emit('error', message, data),
168
+ child: (context) => {
169
+ // The one context key that changes a PROPERTY OF THE LOGGER
170
+ // (`options.scope`) rather than joining `bound` as an ordinary
171
+ // attribute — see `SCOPE_ATTRIBUTE`'s own doc comment in `./types.js`.
172
+ // Stripped out of `rest` before merging, for the same reason
173
+ // `EVENT_NAME_ATTRIBUTE` is stripped out of `attributes` above: an
174
+ // attribute and a property carrying the same value would be the same
175
+ // name spelled two ways in one record.
176
+ const { [SCOPE_ATTRIBUTE]: scopeOverride, ...rest } = context
177
+ const nextOptions =
178
+ typeof scopeOverride === 'string' ? { ...options, scope: scopeOverride } : options
179
+ return build(nextOptions, counters, { ...bound, ...rest })
180
+ },
181
+ counters,
182
+ }
183
+ }
184
+
185
+ /**
186
+ * A logger that discards everything, countably. Every call is accepted (the
187
+ * level is `debug`, the widest threshold), and every accepted call is routed
188
+ * to `NOOP_SINK` and counted as dropped — a host holding `NOOP_LOGGER` can
189
+ * still tell "N calls happened and were discarded" from "N calls never
190
+ * happened", which a logger that filtered everything out at `silent` could
191
+ * not: a filtered call never reaches dispatch and is never counted at all.
192
+ */
193
+ export const NOOP_LOGGER: CreatedLogger = createLogger({
194
+ sink: NOOP_SINK,
195
+ level: { current: 'debug' },
196
+ resource: { 'service.name': '@namzu/sdk' },
197
+ scope: 'namzu.noop',
198
+ })