@namzu/sdk 0.1.8 → 0.2.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 (531) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  3. package/dist/agents/ReactiveAgent.js +5 -3
  4. package/dist/agents/ReactiveAgent.js.map +1 -1
  5. package/dist/agents/RouterAgent.d.ts.map +1 -1
  6. package/dist/agents/RouterAgent.js +3 -0
  7. package/dist/agents/RouterAgent.js.map +1 -1
  8. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  9. package/dist/agents/SupervisorAgent.js +18 -5
  10. package/dist/agents/SupervisorAgent.js.map +1 -1
  11. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  12. package/dist/bridge/a2a/mapper.js +6 -0
  13. package/dist/bridge/a2a/mapper.js.map +1 -1
  14. package/dist/bridge/a2a/task.d.ts +2 -2
  15. package/dist/bridge/a2a/task.d.ts.map +1 -1
  16. package/dist/bridge/a2a/task.js.map +1 -1
  17. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  18. package/dist/bridge/sse/mapper.js +6 -0
  19. package/dist/bridge/sse/mapper.js.map +1 -1
  20. package/dist/constants/a2a/index.d.ts +2 -2
  21. package/dist/constants/a2a/index.d.ts.map +1 -1
  22. package/dist/constants/a2a/index.js.map +1 -1
  23. package/dist/contracts/api.d.ts +22 -3
  24. package/dist/contracts/api.d.ts.map +1 -1
  25. package/dist/contracts/index.d.ts +3 -1
  26. package/dist/contracts/index.d.ts.map +1 -1
  27. package/dist/contracts/index.js.map +1 -1
  28. package/dist/gateway/local.d.ts.map +1 -1
  29. package/dist/gateway/local.js +6 -0
  30. package/dist/gateway/local.js.map +1 -1
  31. package/dist/index.d.ts +4 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +4 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/manager/agent/__tests__/lifecycle.test.d.ts +2 -0
  36. package/dist/manager/agent/__tests__/lifecycle.test.d.ts.map +1 -0
  37. package/dist/manager/agent/__tests__/lifecycle.test.js +302 -0
  38. package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -0
  39. package/dist/manager/agent/lifecycle.d.ts +58 -3
  40. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  41. package/dist/manager/agent/lifecycle.js +311 -12
  42. package/dist/manager/agent/lifecycle.js.map +1 -1
  43. package/dist/manager/run/persistence.d.ts +8 -1
  44. package/dist/manager/run/persistence.d.ts.map +1 -1
  45. package/dist/manager/run/persistence.js +15 -0
  46. package/dist/manager/run/persistence.js.map +1 -1
  47. package/dist/run/reporter.d.ts.map +1 -1
  48. package/dist/run/reporter.js +25 -0
  49. package/dist/run/reporter.js.map +1 -1
  50. package/dist/runtime/query/__tests__/context.test.d.ts +2 -0
  51. package/dist/runtime/query/__tests__/context.test.d.ts.map +1 -0
  52. package/dist/runtime/query/__tests__/context.test.js +84 -0
  53. package/dist/runtime/query/__tests__/context.test.js.map +1 -0
  54. package/dist/runtime/query/context.d.ts +55 -2
  55. package/dist/runtime/query/context.d.ts.map +1 -1
  56. package/dist/runtime/query/context.js +48 -8
  57. package/dist/runtime/query/context.js.map +1 -1
  58. package/dist/runtime/query/events.d.ts.map +1 -1
  59. package/dist/runtime/query/events.js +8 -0
  60. package/dist/runtime/query/events.js.map +1 -1
  61. package/dist/runtime/query/index.d.ts +25 -2
  62. package/dist/runtime/query/index.d.ts.map +1 -1
  63. package/dist/runtime/query/index.js +11 -1
  64. package/dist/runtime/query/index.js.map +1 -1
  65. package/dist/session/__tests__/integration/_fixtures.d.ts +115 -0
  66. package/dist/session/__tests__/integration/_fixtures.d.ts.map +1 -0
  67. package/dist/session/__tests__/integration/_fixtures.js +198 -0
  68. package/dist/session/__tests__/integration/_fixtures.js.map +1 -0
  69. package/dist/session/__tests__/integration/capacity-caps.test.d.ts +13 -0
  70. package/dist/session/__tests__/integration/capacity-caps.test.d.ts.map +1 -0
  71. package/dist/session/__tests__/integration/capacity-caps.test.js +116 -0
  72. package/dist/session/__tests__/integration/capacity-caps.test.js.map +1 -0
  73. package/dist/session/__tests__/integration/e2e-spawn.test.d.ts +18 -0
  74. package/dist/session/__tests__/integration/e2e-spawn.test.d.ts.map +1 -0
  75. package/dist/session/__tests__/integration/e2e-spawn.test.js +226 -0
  76. package/dist/session/__tests__/integration/e2e-spawn.test.js.map +1 -0
  77. package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts +15 -0
  78. package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts.map +1 -0
  79. package/dist/session/__tests__/integration/event-stream-ordering.test.js +323 -0
  80. package/dist/session/__tests__/integration/event-stream-ordering.test.js.map +1 -0
  81. package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.d.ts +12 -0
  82. package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.d.ts.map +1 -0
  83. package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js +170 -0
  84. package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js.map +1 -0
  85. package/dist/session/__tests__/integration/handoff-illegal-transition.test.d.ts +18 -0
  86. package/dist/session/__tests__/integration/handoff-illegal-transition.test.d.ts.map +1 -0
  87. package/dist/session/__tests__/integration/handoff-illegal-transition.test.js +146 -0
  88. package/dist/session/__tests__/integration/handoff-illegal-transition.test.js.map +1 -0
  89. package/dist/session/__tests__/integration/handoff-single-e2e.test.d.ts +15 -0
  90. package/dist/session/__tests__/integration/handoff-single-e2e.test.d.ts.map +1 -0
  91. package/dist/session/__tests__/integration/handoff-single-e2e.test.js +163 -0
  92. package/dist/session/__tests__/integration/handoff-single-e2e.test.js.map +1 -0
  93. package/dist/session/__tests__/integration/hierarchy-lifecycle.test.d.ts +12 -0
  94. package/dist/session/__tests__/integration/hierarchy-lifecycle.test.d.ts.map +1 -0
  95. package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js +157 -0
  96. package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js.map +1 -0
  97. package/dist/session/__tests__/integration/migration-filesystem.test.d.ts +11 -0
  98. package/dist/session/__tests__/integration/migration-filesystem.test.d.ts.map +1 -0
  99. package/dist/session/__tests__/integration/migration-filesystem.test.js +140 -0
  100. package/dist/session/__tests__/integration/migration-filesystem.test.js.map +1 -0
  101. package/dist/session/__tests__/integration/migration-id-prefix.test.d.ts +13 -0
  102. package/dist/session/__tests__/integration/migration-id-prefix.test.d.ts.map +1 -0
  103. package/dist/session/__tests__/integration/migration-id-prefix.test.js +84 -0
  104. package/dist/session/__tests__/integration/migration-id-prefix.test.js.map +1 -0
  105. package/dist/session/__tests__/integration/prev-artifact-dag.test.d.ts +14 -0
  106. package/dist/session/__tests__/integration/prev-artifact-dag.test.d.ts.map +1 -0
  107. package/dist/session/__tests__/integration/prev-artifact-dag.test.js +241 -0
  108. package/dist/session/__tests__/integration/prev-artifact-dag.test.js.map +1 -0
  109. package/dist/session/__tests__/integration/retention-archive.test.d.ts +12 -0
  110. package/dist/session/__tests__/integration/retention-archive.test.d.ts.map +1 -0
  111. package/dist/session/__tests__/integration/retention-archive.test.js +186 -0
  112. package/dist/session/__tests__/integration/retention-archive.test.js.map +1 -0
  113. package/dist/session/__tests__/integration/summary-materialization-e2e.test.d.ts +18 -0
  114. package/dist/session/__tests__/integration/summary-materialization-e2e.test.d.ts.map +1 -0
  115. package/dist/session/__tests__/integration/summary-materialization-e2e.test.js +200 -0
  116. package/dist/session/__tests__/integration/summary-materialization-e2e.test.js.map +1 -0
  117. package/dist/session/__tests__/integration/tenant-isolation.test.d.ts +14 -0
  118. package/dist/session/__tests__/integration/tenant-isolation.test.d.ts.map +1 -0
  119. package/dist/session/__tests__/integration/tenant-isolation.test.js +180 -0
  120. package/dist/session/__tests__/integration/tenant-isolation.test.js.map +1 -0
  121. package/dist/session/errors.d.ts +60 -0
  122. package/dist/session/errors.d.ts.map +1 -0
  123. package/dist/session/errors.js +50 -0
  124. package/dist/session/errors.js.map +1 -0
  125. package/dist/session/events/index.d.ts +4 -0
  126. package/dist/session/events/index.d.ts.map +1 -0
  127. package/dist/session/events/index.js +8 -0
  128. package/dist/session/events/index.js.map +1 -0
  129. package/dist/session/events/schema-version.d.ts +13 -0
  130. package/dist/session/events/schema-version.d.ts.map +1 -0
  131. package/dist/session/events/schema-version.js +12 -0
  132. package/dist/session/events/schema-version.js.map +1 -0
  133. package/dist/session/events/types.d.ts +64 -0
  134. package/dist/session/events/types.d.ts.map +1 -0
  135. package/dist/session/events/types.js +2 -0
  136. package/dist/session/events/types.js.map +1 -0
  137. package/dist/session/handoff/__tests__/broadcast.test.d.ts +2 -0
  138. package/dist/session/handoff/__tests__/broadcast.test.d.ts.map +1 -0
  139. package/dist/session/handoff/__tests__/broadcast.test.js +243 -0
  140. package/dist/session/handoff/__tests__/broadcast.test.js.map +1 -0
  141. package/dist/session/handoff/__tests__/capacity.test.d.ts +2 -0
  142. package/dist/session/handoff/__tests__/capacity.test.d.ts.map +1 -0
  143. package/dist/session/handoff/__tests__/capacity.test.js +100 -0
  144. package/dist/session/handoff/__tests__/capacity.test.js.map +1 -0
  145. package/dist/session/handoff/__tests__/single.test.d.ts +2 -0
  146. package/dist/session/handoff/__tests__/single.test.d.ts.map +1 -0
  147. package/dist/session/handoff/__tests__/single.test.js +230 -0
  148. package/dist/session/handoff/__tests__/single.test.js.map +1 -0
  149. package/dist/session/handoff/assignment.d.ts +59 -0
  150. package/dist/session/handoff/assignment.d.ts.map +1 -0
  151. package/dist/session/handoff/assignment.js +11 -0
  152. package/dist/session/handoff/assignment.js.map +1 -0
  153. package/dist/session/handoff/broadcast.d.ts +47 -0
  154. package/dist/session/handoff/broadcast.d.ts.map +1 -0
  155. package/dist/session/handoff/broadcast.js +296 -0
  156. package/dist/session/handoff/broadcast.js.map +1 -0
  157. package/dist/session/handoff/capacity.d.ts +66 -0
  158. package/dist/session/handoff/capacity.d.ts.map +1 -0
  159. package/dist/session/handoff/capacity.js +60 -0
  160. package/dist/session/handoff/capacity.js.map +1 -0
  161. package/dist/session/handoff/events.d.ts +66 -0
  162. package/dist/session/handoff/events.d.ts.map +1 -0
  163. package/dist/session/handoff/events.js +13 -0
  164. package/dist/session/handoff/events.js.map +1 -0
  165. package/dist/session/handoff/index.d.ts +12 -0
  166. package/dist/session/handoff/index.d.ts.map +1 -0
  167. package/dist/session/handoff/index.js +9 -0
  168. package/dist/session/handoff/index.js.map +1 -0
  169. package/dist/session/handoff/single.d.ts +62 -0
  170. package/dist/session/handoff/single.d.ts.map +1 -0
  171. package/dist/session/handoff/single.js +217 -0
  172. package/dist/session/handoff/single.js.map +1 -0
  173. package/dist/session/handoff/version.d.ts +52 -0
  174. package/dist/session/handoff/version.d.ts.map +1 -0
  175. package/dist/session/handoff/version.js +36 -0
  176. package/dist/session/handoff/version.js.map +1 -0
  177. package/dist/session/hierarchy/__tests__/session.test.d.ts +2 -0
  178. package/dist/session/hierarchy/__tests__/session.test.d.ts.map +1 -0
  179. package/dist/session/hierarchy/__tests__/session.test.js +67 -0
  180. package/dist/session/hierarchy/__tests__/session.test.js.map +1 -0
  181. package/dist/session/hierarchy/actor.d.ts +26 -0
  182. package/dist/session/hierarchy/actor.d.ts.map +1 -0
  183. package/dist/session/hierarchy/actor.js +2 -0
  184. package/dist/session/hierarchy/actor.js.map +1 -0
  185. package/dist/session/hierarchy/index.d.ts +8 -0
  186. package/dist/session/hierarchy/index.d.ts.map +1 -0
  187. package/dist/session/hierarchy/index.js +4 -0
  188. package/dist/session/hierarchy/index.js.map +1 -0
  189. package/dist/session/hierarchy/lineage.d.ts +15 -0
  190. package/dist/session/hierarchy/lineage.d.ts.map +1 -0
  191. package/dist/session/hierarchy/lineage.js +2 -0
  192. package/dist/session/hierarchy/lineage.js.map +1 -0
  193. package/dist/session/hierarchy/project.d.ts +40 -0
  194. package/dist/session/hierarchy/project.d.ts.map +1 -0
  195. package/dist/session/hierarchy/project.js +2 -0
  196. package/dist/session/hierarchy/project.js.map +1 -0
  197. package/dist/session/hierarchy/session.d.ts +59 -0
  198. package/dist/session/hierarchy/session.d.ts.map +1 -0
  199. package/dist/session/hierarchy/session.js +51 -0
  200. package/dist/session/hierarchy/session.js.map +1 -0
  201. package/dist/session/hierarchy/sub-session.d.ts +76 -0
  202. package/dist/session/hierarchy/sub-session.d.ts.map +1 -0
  203. package/dist/session/hierarchy/sub-session.js +2 -0
  204. package/dist/session/hierarchy/sub-session.js.map +1 -0
  205. package/dist/session/hierarchy/tenant.d.ts +13 -0
  206. package/dist/session/hierarchy/tenant.d.ts.map +1 -0
  207. package/dist/session/hierarchy/tenant.js +2 -0
  208. package/dist/session/hierarchy/tenant.js.map +1 -0
  209. package/dist/session/index.d.ts +10 -0
  210. package/dist/session/index.d.ts.map +1 -0
  211. package/dist/session/index.js +15 -0
  212. package/dist/session/index.js.map +1 -0
  213. package/dist/session/intervention/__tests__/prev-artifact.test.d.ts +2 -0
  214. package/dist/session/intervention/__tests__/prev-artifact.test.d.ts.map +1 -0
  215. package/dist/session/intervention/__tests__/prev-artifact.test.js +179 -0
  216. package/dist/session/intervention/__tests__/prev-artifact.test.js.map +1 -0
  217. package/dist/session/intervention/index.d.ts +3 -0
  218. package/dist/session/intervention/index.d.ts.map +1 -0
  219. package/dist/session/intervention/index.js +8 -0
  220. package/dist/session/intervention/index.js.map +1 -0
  221. package/dist/session/intervention/prev-artifact.d.ts +103 -0
  222. package/dist/session/intervention/prev-artifact.d.ts.map +1 -0
  223. package/dist/session/intervention/prev-artifact.js +112 -0
  224. package/dist/session/intervention/prev-artifact.js.map +1 -0
  225. package/dist/session/migration/__tests__/filesystem.test.d.ts +2 -0
  226. package/dist/session/migration/__tests__/filesystem.test.d.ts.map +1 -0
  227. package/dist/session/migration/__tests__/filesystem.test.js +188 -0
  228. package/dist/session/migration/__tests__/filesystem.test.js.map +1 -0
  229. package/dist/session/migration/__tests__/id-prefix.test.d.ts +2 -0
  230. package/dist/session/migration/__tests__/id-prefix.test.d.ts.map +1 -0
  231. package/dist/session/migration/__tests__/id-prefix.test.js +83 -0
  232. package/dist/session/migration/__tests__/id-prefix.test.js.map +1 -0
  233. package/dist/session/migration/__tests__/marker.test.d.ts +2 -0
  234. package/dist/session/migration/__tests__/marker.test.d.ts.map +1 -0
  235. package/dist/session/migration/__tests__/marker.test.js +75 -0
  236. package/dist/session/migration/__tests__/marker.test.js.map +1 -0
  237. package/dist/session/migration/errors.d.ts +26 -0
  238. package/dist/session/migration/errors.d.ts.map +1 -0
  239. package/dist/session/migration/errors.js +22 -0
  240. package/dist/session/migration/errors.js.map +1 -0
  241. package/dist/session/migration/filesystem.d.ts +94 -0
  242. package/dist/session/migration/filesystem.d.ts.map +1 -0
  243. package/dist/session/migration/filesystem.js +319 -0
  244. package/dist/session/migration/filesystem.js.map +1 -0
  245. package/dist/session/migration/id-prefix.d.ts +98 -0
  246. package/dist/session/migration/id-prefix.d.ts.map +1 -0
  247. package/dist/session/migration/id-prefix.js +116 -0
  248. package/dist/session/migration/id-prefix.js.map +1 -0
  249. package/dist/session/migration/index.d.ts +8 -0
  250. package/dist/session/migration/index.d.ts.map +1 -0
  251. package/dist/session/migration/index.js +8 -0
  252. package/dist/session/migration/index.js.map +1 -0
  253. package/dist/session/migration/marker.d.ts +57 -0
  254. package/dist/session/migration/marker.d.ts.map +1 -0
  255. package/dist/session/migration/marker.js +111 -0
  256. package/dist/session/migration/marker.js.map +1 -0
  257. package/dist/session/retention/__tests__/archive.test.d.ts +2 -0
  258. package/dist/session/retention/__tests__/archive.test.d.ts.map +1 -0
  259. package/dist/session/retention/__tests__/archive.test.js +252 -0
  260. package/dist/session/retention/__tests__/archive.test.js.map +1 -0
  261. package/dist/session/retention/__tests__/disk-backend.test.d.ts +2 -0
  262. package/dist/session/retention/__tests__/disk-backend.test.d.ts.map +1 -0
  263. package/dist/session/retention/__tests__/disk-backend.test.js +154 -0
  264. package/dist/session/retention/__tests__/disk-backend.test.js.map +1 -0
  265. package/dist/session/retention/archive-backend-ref.d.ts +18 -0
  266. package/dist/session/retention/archive-backend-ref.d.ts.map +1 -0
  267. package/dist/session/retention/archive-backend-ref.js +2 -0
  268. package/dist/session/retention/archive-backend-ref.js.map +1 -0
  269. package/dist/session/retention/archive.d.ts +130 -0
  270. package/dist/session/retention/archive.d.ts.map +1 -0
  271. package/dist/session/retention/archive.js +203 -0
  272. package/dist/session/retention/archive.js.map +1 -0
  273. package/dist/session/retention/backend.d.ts +101 -0
  274. package/dist/session/retention/backend.d.ts.map +1 -0
  275. package/dist/session/retention/backend.js +15 -0
  276. package/dist/session/retention/backend.js.map +1 -0
  277. package/dist/session/retention/disk-backend.d.ts +59 -0
  278. package/dist/session/retention/disk-backend.d.ts.map +1 -0
  279. package/dist/session/retention/disk-backend.js +236 -0
  280. package/dist/session/retention/disk-backend.js.map +1 -0
  281. package/dist/session/retention/index.d.ts +9 -0
  282. package/dist/session/retention/index.d.ts.map +1 -0
  283. package/dist/session/retention/index.js +6 -0
  284. package/dist/session/retention/index.js.map +1 -0
  285. package/dist/session/retention/policy.d.ts +49 -0
  286. package/dist/session/retention/policy.d.ts.map +1 -0
  287. package/dist/session/retention/policy.js +21 -0
  288. package/dist/session/retention/policy.js.map +1 -0
  289. package/dist/session/summary/__tests__/materialize.test.d.ts +2 -0
  290. package/dist/session/summary/__tests__/materialize.test.d.ts.map +1 -0
  291. package/dist/session/summary/__tests__/materialize.test.js +269 -0
  292. package/dist/session/summary/__tests__/materialize.test.js.map +1 -0
  293. package/dist/session/summary/deliverable.d.ts +74 -0
  294. package/dist/session/summary/deliverable.d.ts.map +1 -0
  295. package/dist/session/summary/deliverable.js +20 -0
  296. package/dist/session/summary/deliverable.js.map +1 -0
  297. package/dist/session/summary/index.d.ts +6 -0
  298. package/dist/session/summary/index.d.ts.map +1 -0
  299. package/dist/session/summary/index.js +9 -0
  300. package/dist/session/summary/index.js.map +1 -0
  301. package/dist/session/summary/materialize.d.ts +82 -0
  302. package/dist/session/summary/materialize.d.ts.map +1 -0
  303. package/dist/session/summary/materialize.js +117 -0
  304. package/dist/session/summary/materialize.js.map +1 -0
  305. package/dist/session/summary/ref.d.ts +91 -0
  306. package/dist/session/summary/ref.d.ts.map +1 -0
  307. package/dist/session/summary/ref.js +51 -0
  308. package/dist/session/summary/ref.js.map +1 -0
  309. package/dist/session/workspace/__tests__/git-worktree.test.d.ts +2 -0
  310. package/dist/session/workspace/__tests__/git-worktree.test.d.ts.map +1 -0
  311. package/dist/session/workspace/__tests__/git-worktree.test.js +244 -0
  312. package/dist/session/workspace/__tests__/git-worktree.test.js.map +1 -0
  313. package/dist/session/workspace/__tests__/path-builder.test.d.ts +2 -0
  314. package/dist/session/workspace/__tests__/path-builder.test.d.ts.map +1 -0
  315. package/dist/session/workspace/__tests__/path-builder.test.js +37 -0
  316. package/dist/session/workspace/__tests__/path-builder.test.js.map +1 -0
  317. package/dist/session/workspace/driver.d.ts +55 -0
  318. package/dist/session/workspace/driver.d.ts.map +1 -0
  319. package/dist/session/workspace/driver.js +12 -0
  320. package/dist/session/workspace/driver.js.map +1 -0
  321. package/dist/session/workspace/git-worktree.d.ts +65 -0
  322. package/dist/session/workspace/git-worktree.d.ts.map +1 -0
  323. package/dist/session/workspace/git-worktree.js +156 -0
  324. package/dist/session/workspace/git-worktree.js.map +1 -0
  325. package/dist/session/workspace/index.d.ts +8 -0
  326. package/dist/session/workspace/index.d.ts.map +1 -0
  327. package/dist/session/workspace/index.js +7 -0
  328. package/dist/session/workspace/index.js.map +1 -0
  329. package/dist/session/workspace/path-builder.d.ts +50 -0
  330. package/dist/session/workspace/path-builder.d.ts.map +1 -0
  331. package/dist/session/workspace/path-builder.js +50 -0
  332. package/dist/session/workspace/path-builder.js.map +1 -0
  333. package/dist/session/workspace/ref.d.ts +46 -0
  334. package/dist/session/workspace/ref.d.ts.map +1 -0
  335. package/dist/session/workspace/ref.js +11 -0
  336. package/dist/session/workspace/ref.js.map +1 -0
  337. package/dist/session/workspace/registry.d.ts +26 -0
  338. package/dist/session/workspace/registry.d.ts.map +1 -0
  339. package/dist/session/workspace/registry.js +35 -0
  340. package/dist/session/workspace/registry.js.map +1 -0
  341. package/dist/store/conversation/memory.d.ts +22 -0
  342. package/dist/store/conversation/memory.d.ts.map +1 -1
  343. package/dist/store/conversation/memory.js +22 -0
  344. package/dist/store/conversation/memory.js.map +1 -1
  345. package/dist/store/session/__tests__/disk.test.d.ts +2 -0
  346. package/dist/store/session/__tests__/disk.test.d.ts.map +1 -0
  347. package/dist/store/session/__tests__/disk.test.js +240 -0
  348. package/dist/store/session/__tests__/disk.test.js.map +1 -0
  349. package/dist/store/session/__tests__/memory.test.d.ts +2 -0
  350. package/dist/store/session/__tests__/memory.test.d.ts.map +1 -0
  351. package/dist/store/session/__tests__/memory.test.js +217 -0
  352. package/dist/store/session/__tests__/memory.test.js.map +1 -0
  353. package/dist/store/session/disk.d.ts +85 -0
  354. package/dist/store/session/disk.d.ts.map +1 -0
  355. package/dist/store/session/disk.js +757 -0
  356. package/dist/store/session/disk.js.map +1 -0
  357. package/dist/store/session/index.d.ts +7 -0
  358. package/dist/store/session/index.d.ts.map +1 -0
  359. package/dist/store/session/index.js +11 -0
  360. package/dist/store/session/index.js.map +1 -0
  361. package/dist/store/session/linkage.d.ts +38 -0
  362. package/dist/store/session/linkage.d.ts.map +1 -0
  363. package/dist/store/session/linkage.js +64 -0
  364. package/dist/store/session/linkage.js.map +1 -0
  365. package/dist/store/session/memory.d.ts +48 -0
  366. package/dist/store/session/memory.d.ts.map +1 -0
  367. package/dist/store/session/memory.js +322 -0
  368. package/dist/store/session/memory.js.map +1 -0
  369. package/dist/store/session/messages.d.ts +20 -0
  370. package/dist/store/session/messages.d.ts.map +1 -0
  371. package/dist/store/session/messages.js +12 -0
  372. package/dist/store/session/messages.js.map +1 -0
  373. package/dist/tools/builtins/__tests__/structuredOutput.example.d.ts +1 -1
  374. package/dist/types/agent/base.d.ts +28 -1
  375. package/dist/types/agent/base.d.ts.map +1 -1
  376. package/dist/types/agent/task.d.ts +50 -2
  377. package/dist/types/agent/task.d.ts.map +1 -1
  378. package/dist/types/agent/task.js.map +1 -1
  379. package/dist/types/conversation/index.d.ts +7 -0
  380. package/dist/types/conversation/index.d.ts.map +1 -1
  381. package/dist/types/ids/index.d.ts +26 -3
  382. package/dist/types/ids/index.d.ts.map +1 -1
  383. package/dist/types/ids/index.js +8 -1
  384. package/dist/types/ids/index.js.map +1 -1
  385. package/dist/types/invocation/__tests__/state.test.js +36 -29
  386. package/dist/types/invocation/__tests__/state.test.js.map +1 -1
  387. package/dist/types/invocation/index.d.ts +20 -4
  388. package/dist/types/invocation/index.d.ts.map +1 -1
  389. package/dist/types/invocation/index.js +10 -7
  390. package/dist/types/invocation/index.js.map +1 -1
  391. package/dist/types/run/config.d.ts +11 -1
  392. package/dist/types/run/config.d.ts.map +1 -1
  393. package/dist/types/run/events.d.ts +26 -1
  394. package/dist/types/run/events.d.ts.map +1 -1
  395. package/dist/types/run/index.d.ts.map +1 -1
  396. package/dist/types/run/index.js +8 -0
  397. package/dist/types/run/index.js.map +1 -1
  398. package/dist/types/run/metadata.d.ts +24 -1
  399. package/dist/types/run/metadata.d.ts.map +1 -1
  400. package/dist/types/run/status.d.ts +26 -0
  401. package/dist/types/run/status.d.ts.map +1 -0
  402. package/dist/types/run/status.js +2 -0
  403. package/dist/types/run/status.js.map +1 -0
  404. package/dist/types/session/ids.d.ts +18 -0
  405. package/dist/types/session/ids.d.ts.map +1 -0
  406. package/dist/types/session/ids.js +12 -0
  407. package/dist/types/session/ids.js.map +1 -0
  408. package/dist/types/session/index.d.ts +3 -0
  409. package/dist/types/session/index.d.ts.map +1 -0
  410. package/dist/types/session/index.js +5 -0
  411. package/dist/types/session/index.js.map +1 -0
  412. package/dist/types/session/store.d.ts +188 -0
  413. package/dist/types/session/store.d.ts.map +1 -0
  414. package/dist/types/session/store.js +14 -0
  415. package/dist/types/session/store.js.map +1 -0
  416. package/dist/utils/id.d.ts +18 -1
  417. package/dist/utils/id.d.ts.map +1 -1
  418. package/dist/utils/id.js +42 -4
  419. package/dist/utils/id.js.map +1 -1
  420. package/package.json +1 -1
  421. package/src/agents/ReactiveAgent.ts +7 -3
  422. package/src/agents/RouterAgent.ts +5 -0
  423. package/src/agents/SupervisorAgent.ts +26 -6
  424. package/src/bridge/a2a/mapper.ts +7 -0
  425. package/src/bridge/a2a/task.ts +2 -2
  426. package/src/bridge/sse/mapper.ts +8 -1
  427. package/src/constants/a2a/index.ts +2 -2
  428. package/src/contracts/api.ts +23 -3
  429. package/src/contracts/index.ts +2 -0
  430. package/src/gateway/local.ts +6 -0
  431. package/src/index.ts +14 -0
  432. package/src/manager/agent/__tests__/lifecycle.test.ts +452 -0
  433. package/src/manager/agent/lifecycle.ts +434 -19
  434. package/src/manager/run/persistence.ts +20 -1
  435. package/src/run/reporter.ts +28 -0
  436. package/src/runtime/query/__tests__/context.test.ts +101 -0
  437. package/src/runtime/query/context.ts +106 -10
  438. package/src/runtime/query/events.ts +8 -0
  439. package/src/runtime/query/index.ts +41 -3
  440. package/src/session/__tests__/integration/_fixtures.ts +282 -0
  441. package/src/session/__tests__/integration/capacity-caps.test.ts +164 -0
  442. package/src/session/__tests__/integration/e2e-spawn.test.ts +278 -0
  443. package/src/session/__tests__/integration/event-stream-ordering.test.ts +403 -0
  444. package/src/session/__tests__/integration/handoff-broadcast-e2e.test.ts +245 -0
  445. package/src/session/__tests__/integration/handoff-illegal-transition.test.ts +179 -0
  446. package/src/session/__tests__/integration/handoff-single-e2e.test.ts +220 -0
  447. package/src/session/__tests__/integration/hierarchy-lifecycle.test.ts +237 -0
  448. package/src/session/__tests__/integration/migration-filesystem.test.ts +209 -0
  449. package/src/session/__tests__/integration/migration-id-prefix.test.ts +101 -0
  450. package/src/session/__tests__/integration/prev-artifact-dag.test.ts +318 -0
  451. package/src/session/__tests__/integration/retention-archive.test.ts +231 -0
  452. package/src/session/__tests__/integration/summary-materialization-e2e.test.ts +237 -0
  453. package/src/session/__tests__/integration/tenant-isolation.test.ts +282 -0
  454. package/src/session/errors.ts +70 -0
  455. package/src/session/events/index.ts +16 -0
  456. package/src/session/events/schema-version.ts +13 -0
  457. package/src/session/events/types.ts +71 -0
  458. package/src/session/handoff/__tests__/broadcast.test.ts +350 -0
  459. package/src/session/handoff/__tests__/capacity.test.ts +123 -0
  460. package/src/session/handoff/__tests__/single.test.ts +316 -0
  461. package/src/session/handoff/assignment.ts +62 -0
  462. package/src/session/handoff/broadcast.ts +381 -0
  463. package/src/session/handoff/capacity.ts +121 -0
  464. package/src/session/handoff/events.ts +72 -0
  465. package/src/session/handoff/index.ts +29 -0
  466. package/src/session/handoff/single.ts +288 -0
  467. package/src/session/handoff/version.ts +59 -0
  468. package/src/session/hierarchy/__tests__/session.test.ts +92 -0
  469. package/src/session/hierarchy/actor.ts +17 -0
  470. package/src/session/hierarchy/index.ts +17 -0
  471. package/src/session/hierarchy/lineage.ts +15 -0
  472. package/src/session/hierarchy/project.ts +41 -0
  473. package/src/session/hierarchy/session.ts +97 -0
  474. package/src/session/hierarchy/sub-session.ts +92 -0
  475. package/src/session/hierarchy/tenant.ts +13 -0
  476. package/src/session/index.ts +15 -0
  477. package/src/session/intervention/__tests__/prev-artifact.test.ts +234 -0
  478. package/src/session/intervention/index.ts +16 -0
  479. package/src/session/intervention/prev-artifact.ts +180 -0
  480. package/src/session/migration/__tests__/filesystem.test.ts +263 -0
  481. package/src/session/migration/__tests__/id-prefix.test.ts +101 -0
  482. package/src/session/migration/__tests__/marker.test.ts +84 -0
  483. package/src/session/migration/errors.ts +23 -0
  484. package/src/session/migration/filesystem.ts +401 -0
  485. package/src/session/migration/id-prefix.ts +146 -0
  486. package/src/session/migration/index.ts +38 -0
  487. package/src/session/migration/marker.ts +131 -0
  488. package/src/session/retention/__tests__/archive.test.ts +316 -0
  489. package/src/session/retention/__tests__/disk-backend.test.ts +180 -0
  490. package/src/session/retention/archive-backend-ref.ts +17 -0
  491. package/src/session/retention/archive.ts +281 -0
  492. package/src/session/retention/backend.ts +107 -0
  493. package/src/session/retention/disk-backend.ts +304 -0
  494. package/src/session/retention/index.ts +16 -0
  495. package/src/session/retention/policy.ts +53 -0
  496. package/src/session/summary/__tests__/materialize.test.ts +341 -0
  497. package/src/session/summary/deliverable.ts +84 -0
  498. package/src/session/summary/index.ts +31 -0
  499. package/src/session/summary/materialize.ts +169 -0
  500. package/src/session/summary/ref.ts +104 -0
  501. package/src/session/workspace/__tests__/git-worktree.test.ts +258 -0
  502. package/src/session/workspace/__tests__/path-builder.test.ts +51 -0
  503. package/src/session/workspace/driver.ts +60 -0
  504. package/src/session/workspace/git-worktree.ts +209 -0
  505. package/src/session/workspace/index.ts +25 -0
  506. package/src/session/workspace/path-builder.ts +71 -0
  507. package/src/session/workspace/ref.ts +50 -0
  508. package/src/session/workspace/registry.ts +42 -0
  509. package/src/store/conversation/memory.ts +23 -0
  510. package/src/store/session/__tests__/disk.test.ts +346 -0
  511. package/src/store/session/__tests__/memory.test.ts +327 -0
  512. package/src/store/session/disk.ts +920 -0
  513. package/src/store/session/index.ts +14 -0
  514. package/src/store/session/linkage.ts +80 -0
  515. package/src/store/session/memory.ts +400 -0
  516. package/src/store/session/messages.ts +21 -0
  517. package/src/types/agent/base.ts +31 -1
  518. package/src/types/agent/task.ts +58 -2
  519. package/src/types/conversation/index.ts +7 -0
  520. package/src/types/ids/index.ts +41 -3
  521. package/src/types/invocation/__tests__/state.test.ts +37 -29
  522. package/src/types/invocation/index.ts +26 -10
  523. package/src/types/run/config.ts +12 -1
  524. package/src/types/run/events.ts +36 -1
  525. package/src/types/run/index.ts +8 -0
  526. package/src/types/run/metadata.ts +24 -1
  527. package/src/types/run/status.ts +33 -0
  528. package/src/types/session/ids.ts +34 -0
  529. package/src/types/session/index.ts +28 -0
  530. package/src/types/session/store.ts +229 -0
  531. package/src/utils/id.ts +55 -4
@@ -41,7 +41,7 @@ export declare const createDataExtractionTool: () => import("../../../index.js")
41
41
  }[];
42
42
  }>;
43
43
  export declare const createTaskResultTool: () => import("../../../index.js").ToolDefinition<{
44
- status: "failed" | "success" | "partial";
44
+ status: "failed" | "partial" | "success";
45
45
  metadata: {
46
46
  timestamp: string;
47
47
  attempts: number;
@@ -1,9 +1,10 @@
1
1
  import type { AgentStatus, CostInfo, TokenUsage } from '../common/index.js';
2
- import type { RunId, ThreadId } from '../ids/index.js';
2
+ import type { RunId, SessionId, TenantId, ThreadId } from '../ids/index.js';
3
3
  import type { InvocationState } from '../invocation/index.js';
4
4
  import type { Message } from '../message/index.js';
5
5
  import type { PermissionMode } from '../permission/index.js';
6
6
  import type { StopReason } from '../run/stop-reason.js';
7
+ import type { ProjectId } from '../session/ids.js';
7
8
  import type { TaskStore } from '../task/index.js';
8
9
  import type { ToolAvailability } from '../tool/index.js';
9
10
  export type AgentType = 'reactive' | 'pipeline' | 'router' | 'supervisor';
@@ -18,7 +19,33 @@ export interface BaseAgentConfig {
18
19
  costLimitUsd?: number;
19
20
  permissionMode?: PermissionMode;
20
21
  env?: Record<string, string>;
22
+ /**
23
+ * @deprecated Use `projectId`. Kept as a migration-window mirror; when both
24
+ * are present `projectId` wins. See session-hierarchy.md §13.1.
25
+ */
21
26
  threadId?: ThreadId;
27
+ /**
28
+ * Long-lived goal scope for the run. Required at runtime in 0.2.0 per
29
+ * session-hierarchy.md §12.1 — `{@link ReactiveAgent}`, `{@link
30
+ * SupervisorAgent}`, etc. reject configs missing this (`'X requires
31
+ * sessionId, projectId, and tenantId in config (§12.1)'`).
32
+ *
33
+ * Kept optional at the TYPE level during the 0.2.x migration window
34
+ * because {@link AgentManager} stamps this field AFTER `configBuilder`
35
+ * returns (manager/agent/lifecycle.ts:228–230). That stamping path is
36
+ * how every `@namzu/agents` configBuilder currently gets its tenant /
37
+ * session / project triple; flipping the type to required without first
38
+ * updating every {@link AgentFactoryOptions} consumer (which does not
39
+ * carry these fields) would be a gratuitous downstream break.
40
+ *
41
+ * Tightening to required is Phase 9 Known Delta #6. The type-level flip
42
+ * lands in 0.3.0 alongside `AgentFactoryOptions` gaining the triple.
43
+ */
44
+ projectId?: ProjectId;
45
+ /** Session under which the run executes. See `projectId` for the tightening plan. */
46
+ sessionId?: SessionId;
47
+ /** Isolation boundary (Convention #17). See `projectId` for the tightening plan. */
48
+ tenantId?: TenantId;
22
49
  parentRunId?: RunId;
23
50
  depth?: number;
24
51
  contextLevel?: AgentContextLevel;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;AAE/D,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAEhC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAAC,CAAA;AAEhF,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CAC3C;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,KAAK,EAAE,UAAU,CAAA;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IACjC,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,iBAAiB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,SAAS,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,iBAAiB,CAAA;CAC/B"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,26 @@
1
+ import type { ActorRef } from '../../session/hierarchy/actor.js';
2
+ import type { WorkspaceBackendKind } from '../../session/workspace/ref.js';
1
3
  import type { TokenUsage } from '../common/index.js';
2
- import type { RunId, TaskId, ThreadId } from '../ids/index.js';
4
+ import type { RunId, SessionId, TaskId, TenantId } from '../ids/index.js';
3
5
  import type { Message } from '../message/index.js';
4
6
  import type { RunEventListener } from '../run/events.js';
7
+ import type { ProjectId } from '../session/ids.js';
5
8
  import type { AgentInput, BaseAgentConfig, BaseAgentResult } from './base.js';
6
9
  import type { Agent } from './core.js';
7
10
  import type { AgentFactoryOptions } from './factory.js';
8
11
  export type AgentTaskState = 'pending' | 'running' | 'completed' | 'failed' | 'canceled' | 'rejected' | 'input-required';
9
12
  export declare function isTerminalAgentTaskState(state: AgentTaskState): boolean;
13
+ /**
14
+ * Context carried into {@link AgentManager.sendMessage}. Phase 6 promotes
15
+ * `tenantId`, `sessionId`, `projectId`, and `parentActor` to required fields —
16
+ * the spawn path is the ingress point for the session hierarchy; callers must
17
+ * provide the full scoping set (session-hierarchy.md §12.1 required-callsite
18
+ * matrix).
19
+ *
20
+ * `threadId` was removed — `projectId` owns the root scope. The deprecated
21
+ * alias `type ThreadId = ProjectId` still compiles for consumers transitioning
22
+ * off the name, but the shape no longer exposes a separate slot.
23
+ */
10
24
  export interface AgentTaskContext {
11
25
  parentRunId: RunId;
12
26
  parentAgentId: string;
@@ -14,7 +28,21 @@ export interface AgentTaskContext {
14
28
  depth: number;
15
29
  budgetTracker: AgentTaskBudget;
16
30
  factoryOptions?: AgentFactoryOptions;
17
- threadId?: ThreadId;
31
+ /** Isolation boundary. Required per session-hierarchy.md §12.1. */
32
+ tenantId: TenantId;
33
+ /**
34
+ * Parent session under which any sub-agent spawn is recorded. Required
35
+ * in 0.2.0; a spawn cannot be attributed without it.
36
+ */
37
+ sessionId: SessionId;
38
+ /** Long-lived goal scope (replaces `threadId`). Required. */
39
+ projectId: ProjectId;
40
+ /**
41
+ * The actor invoking this task. Children built off this context stamp
42
+ * their own `parentActor: ActorRef` linking back via the actor chain
43
+ * (session-hierarchy.md §4.3 / §10.4).
44
+ */
45
+ parentActor: ActorRef;
18
46
  }
19
47
  export interface AgentTaskBudget {
20
48
  total: number;
@@ -40,6 +68,12 @@ export interface AgentTaskProgress {
40
68
  usage: TokenUsage;
41
69
  recentActivities: string[];
42
70
  }
71
+ /**
72
+ * Options accepted by {@link AgentManager.sendMessage}. Phase 6 adds the
73
+ * required sub-session spawn scope (`parentSessionId`, `tenantId`, `projectId`,
74
+ * `parentActor`) so the manager can create a SubSession + child Session +
75
+ * WorkspaceRef triple atomically on every spawn.
76
+ */
43
77
  export interface SendMessageOptions {
44
78
  agentId: string;
45
79
  input: AgentInput;
@@ -48,6 +82,20 @@ export interface SendMessageOptions {
48
82
  tokenBudget?: number;
49
83
  timeoutMs?: number;
50
84
  };
85
+ /**
86
+ * Parent session under which the new sub-session is created. Capacity
87
+ * validation (depth + width) is applied against this session.
88
+ */
89
+ parentSessionId: SessionId;
90
+ tenantId: TenantId;
91
+ projectId: ProjectId;
92
+ /** The actor requesting the spawn — seeds the child's `parentActor`. */
93
+ parentActor: ActorRef;
94
+ /**
95
+ * Workspace backend to provision for the child session. Defaults to
96
+ * `git-worktree` — the MVP reference backend from Phase 3.
97
+ */
98
+ workspaceBackend?: WorkspaceBackendKind;
51
99
  }
52
100
  export interface AgentManagerConfig {
53
101
  maxDepth: number;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,MAAM,cAAc,GACvB,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,UAAU,GACV,UAAU,GACV,gBAAgB,CAAA;AAEnB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAEvE;AAED,MAAM,WAAW,gBAAgB;IAChC,WAAW,EAAE,KAAK,CAAA;IAElB,aAAa,EAAE,MAAM,CAAA;IAErB,qBAAqB,EAAE,eAAe,CAAA;IAEtC,KAAK,EAAE,MAAM,CAAA;IAEb,aAAa,EAAE,eAAe,CAAA;IAE9B,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IAEb,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IAC9C,oBAAoB,EAAE,eAAe,CAAA;IACrC,OAAO,EAAE,gBAAgB,CAAA;IACzB,KAAK,EAAE,cAAc,CAAA;IACrB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAE5B,eAAe,EAAE,OAAO,EAAE,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,UAAU,CAAA;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,MAAM,CAAA;IAEf,KAAK,EAAE,UAAU,CAAA;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAE1C,gBAAgB,CAAC,EAAE;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACD;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,MAAM,CAAA;IAElB,iBAAiB,EAAE,MAAM,CAAA;CACzB"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC7D,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAA;AACnG,CAAC"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC7D,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAA;AACnG,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import type { RunId, ThreadId } from '../ids/index.js';
2
2
  import type { Message } from '../message/index.js';
3
+ /**
4
+ * @deprecated Use `SessionStore` from `@namzu/sdk` (import via
5
+ * `types/session/store.ts` or the root barrel). `ConversationStore` is
6
+ * thread-scoped and does not carry the `tenantId` required by
7
+ * session-hierarchy.md §12.1. Scheduled for removal in 0.3.0; the one-
8
+ * version migration window follows session-hierarchy.md §13.1.
9
+ */
3
10
  export interface ConversationStore {
4
11
  loadMessages(threadId: ThreadId): Message[];
5
12
  persistRunResult(threadId: ThreadId, runId: RunId, messages: Message[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,CAAA;IAE3C,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAC7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,CAAA;IAE3C,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAC7E"}
@@ -1,7 +1,6 @@
1
- export type ThreadId = `thd_${string}`;
2
1
  export type RunId = `run_${string}`;
3
2
  export type MessageId = `msg_${string}`;
4
- export type SessionId = `sess_${string}`;
3
+ export type SessionId = `ses_${string}`;
5
4
  export type ToolCallId = `call_${string}`;
6
5
  export type ActivityId = `act_${string}`;
7
6
  export type TaskId = `task_${string}`;
@@ -11,7 +10,7 @@ export type DocumentId = `doc_${string}`;
11
10
  export type ChunkId = `chk_${string}`;
12
11
  export type ConnectorId = `conn_${string}`;
13
12
  export type ConnectorInstanceId = `ci_${string}`;
14
- export type TenantId = `ten_${string}`;
13
+ export type TenantId = `tnt_${string}`;
15
14
  export type CredentialId = `cred_${string}`;
16
15
  export type ExecutionContextId = `ectx_${string}`;
17
16
  export type MCPServerId = `mcp_${string}`;
@@ -26,4 +25,28 @@ export type EmergencySaveId = `esave_${string}`;
26
25
  export type MemoryId = `mem_${string}`;
27
26
  export type PluginId = `plg_${string}`;
28
27
  export type SandboxId = `sbx_${string}`;
28
+ export type UserId = `usr_${string}`;
29
+ export type AgentId = `agt_${string}`;
30
+ export type MemoryStoreRef = `mms_${string}`;
31
+ export type VaultRef = `vlt_${string}`;
32
+ export type KnowledgeBaseRef = `kbs_${string}`;
33
+ export type ProjectId = `prj_${string}`;
34
+ export type SubSessionId = `sub_${string}`;
35
+ export type HandoffId = `hof_${string}`;
36
+ export type WorkspaceId = `wsp_${string}`;
37
+ export type SummaryId = `sum_${string}`;
38
+ export type DeliverableId = `del_${string}`;
39
+ /**
40
+ * @deprecated Use {@link ProjectId}. Alias retained for the 0.2.x migration
41
+ * window; will be removed in 0.3.0. See session-hierarchy.md §13.3.1.
42
+ */
43
+ export type ThreadId = ProjectId;
44
+ /**
45
+ * Sentinel {@link TenantId} for legacy pre-0.2.0 runs rehomed by the
46
+ * boot-time filesystem migration (session-hierarchy.md §13.4.1). Consumers
47
+ * with strict tenant enforcement should either tag these records on first
48
+ * access or reject them until a real tenant is assigned — the kernel
49
+ * surfaces the sentinel but does not prescribe policy (Convention #17).
50
+ */
51
+ export declare const UNKNOWN_TENANT_ID: TenantId;
29
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,CAAA;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,QAAQ,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,cAAc,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,SAAS,MAAM,EAAE,CAAA;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,CAAA;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,cAAc,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,SAAS,MAAM,EAAE,CAAA;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AAIvC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AAKrC,MAAM,MAAM,cAAc,GAAG,OAAO,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,gBAAgB,GAAG,OAAO,MAAM,EAAE,CAAA;AAO9C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAA;AAEhC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAA2B,QAAQ,CAAA"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ /**
2
+ * Sentinel {@link TenantId} for legacy pre-0.2.0 runs rehomed by the
3
+ * boot-time filesystem migration (session-hierarchy.md §13.4.1). Consumers
4
+ * with strict tenant enforcement should either tag these records on first
5
+ * access or reject them until a real tenant is assigned — the kernel
6
+ * surfaces the sentinel but does not prescribe policy (Convention #17).
7
+ */
8
+ export const UNKNOWN_TENANT_ID = 'tnt_unknown_legacy';
2
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AA0DA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAgC,CAAA"}
@@ -1,17 +1,18 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { deriveChildState } from '../index.js';
3
+ const ROOT_TENANT = 'tnt_root';
3
4
  describe('InvocationState', () => {
4
5
  describe('deriveChildState', () => {
5
- it('should create child state with single agent in parentChain when parent is undefined', () => {
6
- const childState = deriveChildState(undefined, 'agent-123');
6
+ it('seeds parentChain from a root seed when no parent state exists', () => {
7
+ const childState = deriveChildState({ tenantId: ROOT_TENANT }, 'agent-123');
7
8
  expect(childState.parentChain).toEqual(['agent-123']);
8
- expect(childState.tenantId).toBeUndefined();
9
+ expect(childState.tenantId).toBe(ROOT_TENANT);
9
10
  expect(childState.metadata).toBeUndefined();
10
11
  expect(childState.services).toBeUndefined();
11
12
  });
12
- it('should create child state with single agent in parentChain when parent has no parentChain', () => {
13
+ it('seeds parentChain when parent has no parentChain', () => {
13
14
  const parent = {
14
- tenantId: 'ten_abc',
15
+ tenantId: 'tnt_abc',
15
16
  metadata: { userId: 'user-123' },
16
17
  };
17
18
  const childState = deriveChildState(parent, 'agent-456');
@@ -19,16 +20,16 @@ describe('InvocationState', () => {
19
20
  expect(childState.tenantId).toBe(parent.tenantId);
20
21
  expect(childState.metadata).toBe(parent.metadata);
21
22
  });
22
- it('should extend parentChain with current agent', () => {
23
+ it('extends parentChain with current agent', () => {
23
24
  const parent = {
24
25
  parentChain: ['supervisor', 'router'],
25
- tenantId: 'ten_xyz',
26
+ tenantId: 'tnt_xyz',
26
27
  };
27
28
  const childState = deriveChildState(parent, 'worker-agent');
28
29
  expect(childState.parentChain).toEqual(['supervisor', 'router', 'worker-agent']);
29
30
  });
30
- it('should preserve tenantId through derivation', () => {
31
- const tenantId = 'ten_tenant123';
31
+ it('preserves tenantId through derivation', () => {
32
+ const tenantId = 'tnt_tenant123';
32
33
  const parent = {
33
34
  tenantId,
34
35
  parentChain: ['agent-1'],
@@ -36,13 +37,14 @@ describe('InvocationState', () => {
36
37
  const childState = deriveChildState(parent, 'agent-2');
37
38
  expect(childState.tenantId).toBe(tenantId);
38
39
  });
39
- it('should preserve metadata through derivation', () => {
40
+ it('preserves metadata through derivation', () => {
40
41
  const metadata = {
41
42
  userId: 'user-456',
42
- sessionId: 'sess_789',
43
+ sessionId: 'ses_789',
43
44
  correlationId: 'corr_abc',
44
45
  };
45
46
  const parent = {
47
+ tenantId: ROOT_TENANT,
46
48
  metadata,
47
49
  parentChain: ['agent-1'],
48
50
  };
@@ -50,23 +52,24 @@ describe('InvocationState', () => {
50
52
  expect(childState.metadata).toBe(metadata);
51
53
  expect(childState.metadata?.userId).toBe('user-456');
52
54
  });
53
- it('should preserve services through derivation', () => {
55
+ it('preserves services through derivation', () => {
54
56
  const services = {
55
57
  db: { pool: 'mock-pool' },
56
58
  cache: { client: 'mock-redis' },
57
59
  };
58
60
  const parent = {
61
+ tenantId: ROOT_TENANT,
59
62
  services,
60
63
  parentChain: ['agent-1'],
61
64
  };
62
65
  const childState = deriveChildState(parent, 'agent-2');
63
66
  expect(childState.services).toBe(services);
64
67
  });
65
- it('should preserve all fields through multi-level derivation', () => {
66
- const tenantId = 'ten_multi';
68
+ it('preserves all fields through multi-level derivation', () => {
69
+ const tenantId = 'tnt_multi';
67
70
  const metadata = { userId: 'user-multi' };
68
71
  const services = { db: 'postgres' };
69
- const level1 = deriveChildState(undefined, 'supervisor');
72
+ const level1 = deriveChildState({ tenantId }, 'supervisor');
70
73
  expect(level1.parentChain).toEqual(['supervisor']);
71
74
  const parent = {
72
75
  tenantId,
@@ -85,8 +88,9 @@ describe('InvocationState', () => {
85
88
  expect(level3.metadata).toBe(metadata);
86
89
  expect(level3.services).toBe(services);
87
90
  });
88
- it('should create immutable parentChain', () => {
91
+ it('creates immutable parentChain', () => {
89
92
  const parent = {
93
+ tenantId: ROOT_TENANT,
90
94
  parentChain: ['agent-1'],
91
95
  };
92
96
  const childState = deriveChildState(parent, 'agent-2');
@@ -94,28 +98,29 @@ describe('InvocationState', () => {
94
98
  expect(parent.parentChain).toEqual(['agent-1']);
95
99
  expect(childState.parentChain).toEqual(['agent-1', 'agent-2']);
96
100
  });
97
- it('should handle empty parentChain in parent', () => {
101
+ it('handles empty parentChain in parent', () => {
98
102
  const parent = {
103
+ tenantId: ROOT_TENANT,
99
104
  parentChain: [],
100
105
  };
101
106
  const childState = deriveChildState(parent, 'agent-first');
102
107
  expect(childState.parentChain).toEqual(['agent-first']);
103
108
  });
104
- it('should allow complex agent IDs in parentChain', () => {
109
+ it('allows complex agent IDs in parentChain', () => {
105
110
  const agentIds = ['supervisor-agent-123', 'router-multi-path', 'worker-task-handler'];
106
- let state;
111
+ let state = { tenantId: ROOT_TENANT };
107
112
  for (const agentId of agentIds) {
108
113
  state = deriveChildState(state, agentId);
109
114
  }
110
- expect(state?.parentChain).toEqual(agentIds);
115
+ expect(state.parentChain).toEqual(agentIds);
111
116
  });
112
- it('should not mutate parent state', () => {
117
+ it('does not mutate parent state', () => {
113
118
  const parent = {
114
119
  parentChain: ['original'],
115
- tenantId: 'ten_orig',
120
+ tenantId: 'tnt_orig',
116
121
  metadata: { key: 'value' },
117
122
  };
118
- const originalParentChain = [...parent.parentChain];
123
+ const originalParentChain = [...(parent.parentChain ?? [])];
119
124
  deriveChildState(parent, 'child');
120
125
  // Parent state should remain unchanged
121
126
  expect(parent.parentChain).toEqual(originalParentChain);
@@ -123,29 +128,30 @@ describe('InvocationState', () => {
123
128
  });
124
129
  });
125
130
  describe('InvocationState immutability', () => {
126
- it('should have readonly fields', () => {
131
+ it('has readonly fields', () => {
127
132
  const state = {
128
- tenantId: 'ten_test',
133
+ tenantId: 'tnt_test',
129
134
  metadata: { key: 'value' },
130
135
  services: { db: 'postgres' },
131
136
  parentChain: ['agent-1'],
132
137
  };
133
138
  // Type system enforces immutability, so these assertions verify the type definitions
134
- expect(state.tenantId).toBe('ten_test');
139
+ expect(state.tenantId).toBe('tnt_test');
135
140
  expect(state.metadata).toBeDefined();
136
141
  expect(state.services).toBeDefined();
137
142
  expect(state.parentChain).toBeDefined();
138
143
  });
139
- it('should support undefined optional fields', () => {
144
+ it('supports undefined optional fields (tenantId still required)', () => {
140
145
  const minimalState = {
146
+ tenantId: ROOT_TENANT,
141
147
  parentChain: ['agent-1'],
142
148
  };
143
- expect(minimalState.tenantId).toBeUndefined();
149
+ expect(minimalState.tenantId).toBe(ROOT_TENANT);
144
150
  expect(minimalState.metadata).toBeUndefined();
145
151
  expect(minimalState.services).toBeUndefined();
146
152
  expect(minimalState.parentChain).toEqual(['agent-1']);
147
153
  });
148
- it('should handle metadata with various types', () => {
154
+ it('handles metadata with various types', () => {
149
155
  const metadata = {
150
156
  userId: 'user-123',
151
157
  count: 42,
@@ -154,6 +160,7 @@ describe('InvocationState', () => {
154
160
  array: [1, 2, 3],
155
161
  };
156
162
  const state = {
163
+ tenantId: ROOT_TENANT,
157
164
  metadata,
158
165
  };
159
166
  expect(state.metadata?.userId).toBe('user-123');
@@ -1 +1 @@
1
- {"version":3,"file":"state.test.js","sourceRoot":"","sources":["../../../../src/types/invocation/__tests__/state.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.test.js","sourceRoot":"","sources":["../../../../src/types/invocation/__tests__/state.test.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,12 @@ import type { TenantId } from '../ids/index.js';
13
13
  * - Tools can access state via ToolContext.invocationState
14
14
  */
15
15
  export interface InvocationState {
16
- /** Tenant context for multi-tenant isolation (if applicable) */
17
- readonly tenantId?: TenantId;
16
+ /**
17
+ * Isolation boundary — required in 0.2.0 per session-hierarchy.md §12.1.
18
+ * Every store accessor downstream branches on this id; omission is a
19
+ * compile-time error.
20
+ */
21
+ readonly tenantId: TenantId;
18
22
  /** Request-scoped metadata (user info, session, correlation IDs, etc.) */
19
23
  readonly metadata?: Readonly<Record<string, unknown>>;
20
24
  /** Shared services (DB clients, external APIs, cache, etc.) */
@@ -22,6 +26,14 @@ export interface InvocationState {
22
26
  /** Parent agent chain for debugging/tracing (agent IDs in order) */
23
27
  readonly parentChain?: readonly string[];
24
28
  }
29
+ /**
30
+ * Params for {@link deriveChildState} when the parent is absent. `tenantId`
31
+ * is required even at the top level — the kernel refuses to guess tenant
32
+ * identity (session-hierarchy.md §12.1).
33
+ */
34
+ export interface DeriveChildStateRoot {
35
+ readonly tenantId: TenantId;
36
+ }
25
37
  /**
26
38
  * Create a child invocation state with the current agent appended to parentChain.
27
39
  *
@@ -29,9 +41,13 @@ export interface InvocationState {
29
41
  * to sub-agents. It ensures the full agent hierarchy is tracked for debugging,
30
42
  * logging, and tenant isolation validation.
31
43
  *
32
- * @param parent The parent invocation state (may be undefined for top-level agents)
44
+ * When `parent` is undefined (top-level agent), a minimal root context is
45
+ * required so `tenantId` can be seeded — see {@link DeriveChildStateRoot}.
46
+ * `InvocationState.tenantId` is required in 0.2.0 (§12.1).
47
+ *
48
+ * @param parent The parent invocation state, or a root seed carrying `tenantId`.
33
49
  * @param currentAgentId The ID of the agent making the delegation
34
50
  * @returns A new InvocationState with currentAgentId appended to parentChain
35
51
  */
36
- export declare function deriveChildState(parent: InvocationState | undefined, currentAgentId: string): InvocationState;
52
+ export declare function deriveChildState(parent: InvocationState | DeriveChildStateRoot, currentAgentId: string): InvocationState;
37
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAE5B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,cAAc,EAAE,MAAM,GACpB,eAAe,CAWjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,eAAe,GAAG,oBAAoB,EAC9C,cAAc,EAAE,MAAM,GACpB,eAAe,CAUjB"}
@@ -5,18 +5,21 @@
5
5
  * to sub-agents. It ensures the full agent hierarchy is tracked for debugging,
6
6
  * logging, and tenant isolation validation.
7
7
  *
8
- * @param parent The parent invocation state (may be undefined for top-level agents)
8
+ * When `parent` is undefined (top-level agent), a minimal root context is
9
+ * required so `tenantId` can be seeded — see {@link DeriveChildStateRoot}.
10
+ * `InvocationState.tenantId` is required in 0.2.0 (§12.1).
11
+ *
12
+ * @param parent The parent invocation state, or a root seed carrying `tenantId`.
9
13
  * @param currentAgentId The ID of the agent making the delegation
10
14
  * @returns A new InvocationState with currentAgentId appended to parentChain
11
15
  */
12
16
  export function deriveChildState(parent, currentAgentId) {
13
- const parentChain = parent?.parentChain
14
- ? [...parent.parentChain, currentAgentId]
15
- : [currentAgentId];
17
+ const existingChain = 'parentChain' in parent ? parent.parentChain : undefined;
18
+ const parentChain = existingChain ? [...existingChain, currentAgentId] : [currentAgentId];
16
19
  return {
17
- tenantId: parent?.tenantId,
18
- metadata: parent?.metadata,
19
- services: parent?.services,
20
+ tenantId: parent.tenantId,
21
+ metadata: 'metadata' in parent ? parent.metadata : undefined,
22
+ services: 'services' in parent ? parent.services : undefined,
20
23
  parentChain,
21
24
  };
22
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC/B,MAAmC,EACnC,cAAsB;IAEtB,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW;QACtC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;QACzC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAEnB,OAAO;QACN,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAC1B,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAC1B,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAC1B,WAAW;KACX,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAC/B,MAA8C,EAC9C,cAAsB;IAEtB,MAAM,aAAa,GAAG,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAEzF,OAAO;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5D,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5D,WAAW;KACX,CAAA;AACF,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { ModelPricing } from '../../utils/cost.js';
2
2
  import type { Logger } from '../../utils/logger.js';
3
- import type { RunId } from '../ids/index.js';
3
+ import type { RunId, SessionId, TenantId } from '../ids/index.js';
4
4
  import type { PermissionMode } from '../permission/index.js';
5
+ import type { ProjectId } from '../session/ids.js';
5
6
  export interface AgentRunConfig {
6
7
  model: string;
7
8
  timeoutMs: number;
@@ -18,6 +19,12 @@ export interface AgentRunConfig {
18
19
  maxProcesses?: number;
19
20
  };
20
21
  }
22
+ /**
23
+ * Config for {@link RunPersistence}. Phase 6 promotes `sessionId`, `tenantId`,
24
+ * and `projectId` to required — every Run must be attributed to a Session
25
+ * under a Project within a Tenant (session-hierarchy.md §12.1). The legacy
26
+ * `threadId`-only shape is gone.
27
+ */
21
28
  export interface RunPersistenceConfig {
22
29
  runId: RunId;
23
30
  agentId: string;
@@ -27,6 +34,9 @@ export interface RunPersistenceConfig {
27
34
  outputDir: string;
28
35
  pricing?: ModelPricing;
29
36
  log: Logger;
37
+ sessionId: SessionId;
38
+ tenantId: TenantId;
39
+ projectId: ProjectId;
30
40
  parentRunId?: RunId;
31
41
  depth?: number;
32
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/run/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACD;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IAEX,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,MAAM,CAAA;CAC9B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/run/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACD;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IAEX,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IAEpB,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,MAAM,CAAA;CAC9B"}