@namzu/sdk 0.2.0 → 0.3.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 (297) hide show
  1. package/CHANGELOG.md +53 -2
  2. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  3. package/dist/agents/ReactiveAgent.js +3 -2
  4. package/dist/agents/ReactiveAgent.js.map +1 -1
  5. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  6. package/dist/agents/SupervisorAgent.js +5 -2
  7. package/dist/agents/SupervisorAgent.js.map +1 -1
  8. package/dist/bridge/a2a/index.d.ts +1 -1
  9. package/dist/bridge/a2a/index.d.ts.map +1 -1
  10. package/dist/bridge/a2a/index.js +1 -1
  11. package/dist/bridge/a2a/index.js.map +1 -1
  12. package/dist/bridge/a2a/message.d.ts +0 -2
  13. package/dist/bridge/a2a/message.d.ts.map +1 -1
  14. package/dist/bridge/a2a/message.js +0 -26
  15. package/dist/bridge/a2a/message.js.map +1 -1
  16. package/dist/bridge/a2a/task.d.ts +4 -3
  17. package/dist/bridge/a2a/task.d.ts.map +1 -1
  18. package/dist/bridge/a2a/task.js +4 -4
  19. package/dist/bridge/a2a/task.js.map +1 -1
  20. package/dist/contracts/api.d.ts +6 -38
  21. package/dist/contracts/api.d.ts.map +1 -1
  22. package/dist/contracts/ids.d.ts +1 -1
  23. package/dist/contracts/ids.d.ts.map +1 -1
  24. package/dist/contracts/index.d.ts +3 -5
  25. package/dist/contracts/index.d.ts.map +1 -1
  26. package/dist/contracts/index.js +1 -1
  27. package/dist/contracts/index.js.map +1 -1
  28. package/dist/contracts/schemas.d.ts +1 -31
  29. package/dist/contracts/schemas.d.ts.map +1 -1
  30. package/dist/contracts/schemas.js +1 -7
  31. package/dist/contracts/schemas.js.map +1 -1
  32. package/dist/index.d.ts +2 -3
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -3
  35. package/dist/index.js.map +1 -1
  36. package/dist/manager/agent/__tests__/lifecycle.test.js +27 -13
  37. package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -1
  38. package/dist/manager/agent/lifecycle.d.ts +9 -0
  39. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  40. package/dist/manager/agent/lifecycle.js +93 -31
  41. package/dist/manager/agent/lifecycle.js.map +1 -1
  42. package/dist/manager/index.d.ts +2 -0
  43. package/dist/manager/index.d.ts.map +1 -1
  44. package/dist/manager/index.js +1 -0
  45. package/dist/manager/index.js.map +1 -1
  46. package/dist/manager/run/persistence.d.ts +3 -1
  47. package/dist/manager/run/persistence.d.ts.map +1 -1
  48. package/dist/manager/run/persistence.js +5 -0
  49. package/dist/manager/run/persistence.js.map +1 -1
  50. package/dist/manager/thread/__tests__/lifecycle.test.d.ts +2 -0
  51. package/dist/manager/thread/__tests__/lifecycle.test.d.ts.map +1 -0
  52. package/dist/manager/thread/__tests__/lifecycle.test.js +216 -0
  53. package/dist/manager/thread/__tests__/lifecycle.test.js.map +1 -0
  54. package/dist/manager/thread/lifecycle.d.ts +105 -0
  55. package/dist/manager/thread/lifecycle.d.ts.map +1 -0
  56. package/dist/manager/thread/lifecycle.js +186 -0
  57. package/dist/manager/thread/lifecycle.js.map +1 -0
  58. package/dist/rag/retriever.js +2 -2
  59. package/dist/runtime/query/__tests__/context.test.js +8 -7
  60. package/dist/runtime/query/__tests__/context.test.js.map +1 -1
  61. package/dist/runtime/query/context-cache.d.ts +3 -3
  62. package/dist/runtime/query/context-cache.d.ts.map +1 -1
  63. package/dist/runtime/query/context-cache.js +2 -2
  64. package/dist/runtime/query/context-cache.js.map +1 -1
  65. package/dist/runtime/query/context.d.ts +12 -21
  66. package/dist/runtime/query/context.d.ts.map +1 -1
  67. package/dist/runtime/query/context.js +3 -1
  68. package/dist/runtime/query/context.js.map +1 -1
  69. package/dist/runtime/query/index.d.ts +13 -15
  70. package/dist/runtime/query/index.d.ts.map +1 -1
  71. package/dist/runtime/query/index.js +1 -0
  72. package/dist/runtime/query/index.js.map +1 -1
  73. package/dist/session/__tests__/integration/_fixtures.d.ts +11 -4
  74. package/dist/session/__tests__/integration/_fixtures.d.ts.map +1 -1
  75. package/dist/session/__tests__/integration/_fixtures.js +23 -6
  76. package/dist/session/__tests__/integration/_fixtures.js.map +1 -1
  77. package/dist/session/__tests__/integration/archive-gate.test.d.ts +15 -0
  78. package/dist/session/__tests__/integration/archive-gate.test.d.ts.map +1 -0
  79. package/dist/session/__tests__/integration/archive-gate.test.js +214 -0
  80. package/dist/session/__tests__/integration/archive-gate.test.js.map +1 -0
  81. package/dist/session/__tests__/integration/capacity-caps.test.js +13 -6
  82. package/dist/session/__tests__/integration/capacity-caps.test.js.map +1 -1
  83. package/dist/session/__tests__/integration/e2e-spawn.test.js +14 -2
  84. package/dist/session/__tests__/integration/e2e-spawn.test.js.map +1 -1
  85. package/dist/session/__tests__/integration/event-stream-ordering.test.js +14 -7
  86. package/dist/session/__tests__/integration/event-stream-ordering.test.js.map +1 -1
  87. package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js +26 -14
  88. package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js.map +1 -1
  89. package/dist/session/__tests__/integration/handoff-illegal-transition.test.js +30 -20
  90. package/dist/session/__tests__/integration/handoff-illegal-transition.test.js.map +1 -1
  91. package/dist/session/__tests__/integration/handoff-single-e2e.test.js +25 -9
  92. package/dist/session/__tests__/integration/handoff-single-e2e.test.js.map +1 -1
  93. package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js +11 -10
  94. package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js.map +1 -1
  95. package/dist/session/__tests__/integration/prev-artifact-dag.test.js +5 -4
  96. package/dist/session/__tests__/integration/prev-artifact-dag.test.js.map +1 -1
  97. package/dist/session/__tests__/integration/retention-archive.test.js +3 -2
  98. package/dist/session/__tests__/integration/retention-archive.test.js.map +1 -1
  99. package/dist/session/__tests__/integration/spawn-rollback.test.d.ts +26 -0
  100. package/dist/session/__tests__/integration/spawn-rollback.test.d.ts.map +1 -0
  101. package/dist/session/__tests__/integration/spawn-rollback.test.js +236 -0
  102. package/dist/session/__tests__/integration/spawn-rollback.test.js.map +1 -0
  103. package/dist/session/__tests__/integration/summary-materialization-e2e.test.js +2 -1
  104. package/dist/session/__tests__/integration/summary-materialization-e2e.test.js.map +1 -1
  105. package/dist/session/__tests__/integration/tenant-isolation.test.js +14 -5
  106. package/dist/session/__tests__/integration/tenant-isolation.test.js.map +1 -1
  107. package/dist/session/errors.d.ts +79 -0
  108. package/dist/session/errors.d.ts.map +1 -1
  109. package/dist/session/errors.js +57 -0
  110. package/dist/session/errors.js.map +1 -1
  111. package/dist/session/handoff/__tests__/broadcast.test.js +49 -31
  112. package/dist/session/handoff/__tests__/broadcast.test.js.map +1 -1
  113. package/dist/session/handoff/__tests__/capacity.test.js +21 -18
  114. package/dist/session/handoff/__tests__/capacity.test.js.map +1 -1
  115. package/dist/session/handoff/__tests__/single.test.js +39 -30
  116. package/dist/session/handoff/__tests__/single.test.js.map +1 -1
  117. package/dist/session/handoff/assignment.d.ts +13 -1
  118. package/dist/session/handoff/assignment.d.ts.map +1 -1
  119. package/dist/session/handoff/broadcast.d.ts +7 -0
  120. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  121. package/dist/session/handoff/broadcast.js +16 -1
  122. package/dist/session/handoff/broadcast.js.map +1 -1
  123. package/dist/session/handoff/single.d.ts +7 -0
  124. package/dist/session/handoff/single.d.ts.map +1 -1
  125. package/dist/session/handoff/single.js +13 -1
  126. package/dist/session/handoff/single.js.map +1 -1
  127. package/dist/session/hierarchy/__tests__/session.test.js +2 -0
  128. package/dist/session/hierarchy/__tests__/session.test.js.map +1 -1
  129. package/dist/session/hierarchy/index.d.ts +1 -0
  130. package/dist/session/hierarchy/index.d.ts.map +1 -1
  131. package/dist/session/hierarchy/index.js.map +1 -1
  132. package/dist/session/hierarchy/session.d.ts +15 -3
  133. package/dist/session/hierarchy/session.d.ts.map +1 -1
  134. package/dist/session/hierarchy/session.js.map +1 -1
  135. package/dist/session/hierarchy/thread.d.ts +54 -0
  136. package/dist/session/hierarchy/thread.d.ts.map +1 -0
  137. package/dist/session/hierarchy/thread.js +2 -0
  138. package/dist/session/hierarchy/thread.js.map +1 -0
  139. package/dist/session/migration/id-prefix.d.ts +8 -13
  140. package/dist/session/migration/id-prefix.d.ts.map +1 -1
  141. package/dist/session/migration/id-prefix.js +8 -13
  142. package/dist/session/migration/id-prefix.js.map +1 -1
  143. package/dist/session/retention/__tests__/archive.test.js +3 -2
  144. package/dist/session/retention/__tests__/archive.test.js.map +1 -1
  145. package/dist/session/summary/__tests__/materialize.test.js +4 -3
  146. package/dist/session/summary/__tests__/materialize.test.js.map +1 -1
  147. package/dist/store/index.d.ts +0 -2
  148. package/dist/store/index.d.ts.map +1 -1
  149. package/dist/store/index.js +0 -1
  150. package/dist/store/index.js.map +1 -1
  151. package/dist/store/session/__tests__/disk.test.js +32 -5
  152. package/dist/store/session/__tests__/disk.test.js.map +1 -1
  153. package/dist/store/session/__tests__/memory.test.js +50 -9
  154. package/dist/store/session/__tests__/memory.test.js.map +1 -1
  155. package/dist/store/session/disk.d.ts +2 -1
  156. package/dist/store/session/disk.d.ts.map +1 -1
  157. package/dist/store/session/disk.js +61 -0
  158. package/dist/store/session/disk.js.map +1 -1
  159. package/dist/store/session/index.d.ts.map +1 -1
  160. package/dist/store/session/index.js +3 -4
  161. package/dist/store/session/index.js.map +1 -1
  162. package/dist/store/session/memory.d.ts +2 -1
  163. package/dist/store/session/memory.d.ts.map +1 -1
  164. package/dist/store/session/memory.js +13 -0
  165. package/dist/store/session/memory.js.map +1 -1
  166. package/dist/store/thread/disk.d.ts +41 -0
  167. package/dist/store/thread/disk.d.ts.map +1 -0
  168. package/dist/store/thread/disk.js +229 -0
  169. package/dist/store/thread/disk.js.map +1 -0
  170. package/dist/store/thread/index.d.ts +4 -0
  171. package/dist/store/thread/index.d.ts.map +1 -0
  172. package/dist/store/thread/index.js +6 -0
  173. package/dist/store/thread/index.js.map +1 -0
  174. package/dist/store/thread/memory.d.ts +23 -0
  175. package/dist/store/thread/memory.d.ts.map +1 -0
  176. package/dist/store/thread/memory.js +90 -0
  177. package/dist/store/thread/memory.js.map +1 -0
  178. package/dist/types/agent/base.d.ts +17 -21
  179. package/dist/types/agent/base.d.ts.map +1 -1
  180. package/dist/types/agent/factory.d.ts +8 -2
  181. package/dist/types/agent/factory.d.ts.map +1 -1
  182. package/dist/types/agent/task.d.ts +18 -11
  183. package/dist/types/agent/task.d.ts.map +1 -1
  184. package/dist/types/ids/index.d.ts +5 -9
  185. package/dist/types/ids/index.d.ts.map +1 -1
  186. package/dist/types/ids/index.js +4 -4
  187. package/dist/types/ids/index.js.map +1 -1
  188. package/dist/types/rag/retrieval.d.ts +4 -3
  189. package/dist/types/rag/retrieval.d.ts.map +1 -1
  190. package/dist/types/run/config.d.ts +6 -5
  191. package/dist/types/run/config.d.ts.map +1 -1
  192. package/dist/types/run/metadata.d.ts +5 -18
  193. package/dist/types/run/metadata.d.ts.map +1 -1
  194. package/dist/types/session/ids.d.ts +4 -13
  195. package/dist/types/session/ids.d.ts.map +1 -1
  196. package/dist/types/session/ids.js +3 -6
  197. package/dist/types/session/ids.js.map +1 -1
  198. package/dist/types/session/index.d.ts +1 -1
  199. package/dist/types/session/index.d.ts.map +1 -1
  200. package/dist/types/session/store.d.ts +32 -10
  201. package/dist/types/session/store.d.ts.map +1 -1
  202. package/dist/types/session/store.js +3 -8
  203. package/dist/types/session/store.js.map +1 -1
  204. package/dist/types/thread/index.d.ts +2 -0
  205. package/dist/types/thread/index.d.ts.map +1 -0
  206. package/dist/types/thread/index.js +5 -0
  207. package/dist/types/thread/index.js.map +1 -0
  208. package/dist/types/thread/store.d.ts +86 -0
  209. package/dist/types/thread/store.d.ts.map +1 -0
  210. package/dist/types/thread/store.js +22 -0
  211. package/dist/types/thread/store.js.map +1 -0
  212. package/dist/utils/id.d.ts +1 -12
  213. package/dist/utils/id.d.ts.map +1 -1
  214. package/dist/utils/id.js +3 -23
  215. package/dist/utils/id.js.map +1 -1
  216. package/package.json +6 -11
  217. package/src/agents/ReactiveAgent.ts +3 -2
  218. package/src/agents/SupervisorAgent.ts +5 -2
  219. package/src/bridge/a2a/index.ts +0 -1
  220. package/src/bridge/a2a/message.ts +0 -32
  221. package/src/bridge/a2a/task.ts +8 -7
  222. package/src/contracts/api.ts +6 -42
  223. package/src/contracts/ids.ts +1 -1
  224. package/src/contracts/index.ts +2 -8
  225. package/src/contracts/schemas.ts +1 -8
  226. package/src/index.ts +0 -4
  227. package/src/manager/agent/__tests__/lifecycle.test.ts +34 -13
  228. package/src/manager/agent/lifecycle.ts +114 -35
  229. package/src/manager/index.ts +3 -0
  230. package/src/manager/run/persistence.ts +7 -1
  231. package/src/manager/thread/__tests__/lifecycle.test.ts +286 -0
  232. package/src/manager/thread/lifecycle.ts +217 -0
  233. package/src/rag/retriever.ts +2 -2
  234. package/src/runtime/query/__tests__/context.test.ts +9 -8
  235. package/src/runtime/query/context-cache.ts +4 -4
  236. package/src/runtime/query/context.ts +15 -22
  237. package/src/runtime/query/index.ts +15 -16
  238. package/src/session/__tests__/integration/_fixtures.ts +36 -8
  239. package/src/session/__tests__/integration/archive-gate.test.ts +288 -0
  240. package/src/session/__tests__/integration/capacity-caps.test.ts +13 -6
  241. package/src/session/__tests__/integration/e2e-spawn.test.ts +20 -2
  242. package/src/session/__tests__/integration/event-stream-ordering.test.ts +14 -7
  243. package/src/session/__tests__/integration/handoff-broadcast-e2e.test.ts +39 -13
  244. package/src/session/__tests__/integration/handoff-illegal-transition.test.ts +54 -19
  245. package/src/session/__tests__/integration/handoff-single-e2e.test.ts +40 -9
  246. package/src/session/__tests__/integration/hierarchy-lifecycle.test.ts +13 -10
  247. package/src/session/__tests__/integration/prev-artifact-dag.test.ts +12 -5
  248. package/src/session/__tests__/integration/retention-archive.test.ts +5 -3
  249. package/src/session/__tests__/integration/spawn-rollback.test.ts +313 -0
  250. package/src/session/__tests__/integration/summary-materialization-e2e.test.ts +4 -2
  251. package/src/session/__tests__/integration/tenant-isolation.test.ts +16 -6
  252. package/src/session/errors.ts +89 -0
  253. package/src/session/handoff/__tests__/broadcast.test.ts +56 -28
  254. package/src/session/handoff/__tests__/capacity.test.ts +26 -20
  255. package/src/session/handoff/__tests__/single.test.ts +45 -28
  256. package/src/session/handoff/assignment.ts +13 -1
  257. package/src/session/handoff/broadcast.ts +26 -1
  258. package/src/session/handoff/single.ts +23 -1
  259. package/src/session/hierarchy/__tests__/session.test.ts +9 -1
  260. package/src/session/hierarchy/index.ts +1 -0
  261. package/src/session/hierarchy/session.ts +15 -3
  262. package/src/session/hierarchy/thread.ts +55 -0
  263. package/src/session/migration/id-prefix.ts +8 -13
  264. package/src/session/retention/__tests__/archive.test.ts +5 -3
  265. package/src/session/summary/__tests__/materialize.test.ts +6 -4
  266. package/src/store/index.ts +0 -3
  267. package/src/store/session/__tests__/disk.test.ts +57 -6
  268. package/src/store/session/__tests__/memory.test.ts +84 -9
  269. package/src/store/session/disk.ts +57 -1
  270. package/src/store/session/index.ts +3 -4
  271. package/src/store/session/memory.ts +13 -1
  272. package/src/store/thread/disk.ts +261 -0
  273. package/src/store/thread/index.ts +7 -0
  274. package/src/store/thread/memory.ts +104 -0
  275. package/src/types/agent/base.ts +17 -21
  276. package/src/types/agent/factory.ts +8 -3
  277. package/src/types/agent/task.ts +19 -11
  278. package/src/types/ids/index.ts +8 -15
  279. package/src/types/rag/retrieval.ts +4 -3
  280. package/src/types/run/config.ts +6 -5
  281. package/src/types/run/metadata.ts +5 -18
  282. package/src/types/session/ids.ts +4 -15
  283. package/src/types/session/index.ts +1 -2
  284. package/src/types/session/store.ts +34 -11
  285. package/src/types/thread/index.ts +5 -0
  286. package/src/types/thread/store.ts +92 -0
  287. package/src/utils/id.ts +3 -24
  288. package/dist/store/conversation/memory.d.ts +0 -43
  289. package/dist/store/conversation/memory.d.ts.map +0 -1
  290. package/dist/store/conversation/memory.js +0 -108
  291. package/dist/store/conversation/memory.js.map +0 -1
  292. package/dist/types/conversation/index.d.ts +0 -14
  293. package/dist/types/conversation/index.d.ts.map +0 -1
  294. package/dist/types/conversation/index.js +0 -2
  295. package/dist/types/conversation/index.js.map +0 -1
  296. package/src/store/conversation/memory.ts +0 -144
  297. package/src/types/conversation/index.ts +0 -15
@@ -1,14 +1,9 @@
1
1
  /**
2
2
  * SessionStore — canonical persistence contract for the session hierarchy.
3
3
  *
4
- * Replaces `ConversationStore` (deprecated; `types/conversation/index.ts`).
5
- * Per session-hierarchy.md §4 Entity Model, §10.4 Parent-Child Linkage, §12
6
- * Multi-Tenant and Security every accessor takes explicit {@link TenantId}
7
- * (Convention #17). Cross-tenant access rejects with `TenantIsolationError`.
8
- *
9
- * Minimum surface — covers downstream phases 4 (handoff), 5 (summary), and
10
- * 6 (sub-session spawn) plus the drill primitive (§14.3). Extensions land in
11
- * paired phases alongside their consumers (Convention #0: no speculative API).
4
+ * Every accessor takes explicit {@link TenantId} (Convention #17). Cross-tenant
5
+ * access rejects with `TenantIsolationError`. Convention #0: no speculative
6
+ * APIextensions land alongside their consumers.
12
7
  */
13
8
  export {};
14
9
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/types/session/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/types/session/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,2 @@
1
+ export type { ThreadStore, CreateThreadParams } from './store.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/thread/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ // Sub-barrel for the Thread type surface (Convention #4).
2
+ // Concrete types live in sibling files; re-export them here so consumers
3
+ // import via `../types/thread/index.js`.
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/thread/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,yEAAyE;AACzE,yCAAyC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * ThreadStore — canonical persistence contract for the Thread topic layer
3
+ * (Project → **Thread** → Session → SubSession → Run).
4
+ *
5
+ * Threads are pure containers (Phase 0 decision B.1). They have no own
6
+ * message stream and no fan-in `deriveStatus()` — status is owner-managed
7
+ * (`'open' | 'archived'`). Every accessor takes explicit {@link TenantId};
8
+ * cross-tenant access rejects with `TenantIsolationError` (Convention #17).
9
+ *
10
+ * Read accessors return `null` when the resource does not exist for the
11
+ * supplied tenant (deny-by-default surface). Callers branch on missing
12
+ * explicitly — no fallback substitution.
13
+ *
14
+ * `deleteThread` is intentionally a dumb record-delete at this layer:
15
+ * it does NOT walk session ownership. The "reject when sessions attached"
16
+ * precondition lives in {@link import('../../manager/thread/lifecycle.js').ThreadManager}
17
+ * where both stores are in scope. Keeping ThreadStore free of cross-store
18
+ * awareness preserves the single-boundary ownership boundary that Phase 2
19
+ * has just introduced for this layer (Convention #0).
20
+ */
21
+ import type { Thread } from '../../session/hierarchy/thread.js';
22
+ import type { TenantId } from '../ids/index.js';
23
+ import type { ProjectId, ThreadId } from '../session/ids.js';
24
+ /**
25
+ * Params for {@link ThreadStore.createThread}. The store owns id generation,
26
+ * `ownerVersion` initialization (0 at create), and timestamps.
27
+ */
28
+ export interface CreateThreadParams {
29
+ projectId: ProjectId;
30
+ /**
31
+ * User-facing display label. Not unique within the project — see
32
+ * {@link Thread} JSDoc. Empty strings are permitted; callers that require
33
+ * a label should validate at the API layer.
34
+ */
35
+ title: string;
36
+ }
37
+ /**
38
+ * Canonical persistence contract for the Thread layer. Every accessor takes
39
+ * explicit `tenantId`; cross-tenant reads/writes reject with
40
+ * `TenantIsolationError` (`session/errors.ts`, Convention #17).
41
+ */
42
+ export interface ThreadStore {
43
+ /**
44
+ * Persist a new Thread under the given project. Returns the minted
45
+ * {@link Thread} with `ownerVersion: 0` and freshly-generated
46
+ * {@link ThreadId}. Callers must ensure the parent project exists and
47
+ * belongs to the same tenant — the store does not validate project
48
+ * ownership (that is a cross-store precondition owned by the manager).
49
+ */
50
+ createThread(params: CreateThreadParams, tenantId: TenantId): Promise<Thread>;
51
+ /**
52
+ * Read a Thread by id. Returns `null` when absent. Cross-tenant reads
53
+ * reject with `TenantIsolationError`.
54
+ */
55
+ getThread(threadId: ThreadId, tenantId: TenantId): Promise<Thread | null>;
56
+ /**
57
+ * Persist a mutation to a Thread record. CAS on `ownerVersion`: if the
58
+ * supplied `thread.ownerVersion` does not match the persisted version,
59
+ * rejects with `StaleThreadError`. On success the write commits with
60
+ * `ownerVersion + 1` and a refreshed `updatedAt`.
61
+ *
62
+ * Archival transition (`status: 'open' → 'archived'`) shares this path;
63
+ * the caller is responsible for verifying that no non-terminal Sessions
64
+ * are attached before flipping (see ThreadManager.archiveThread).
65
+ */
66
+ updateThread(thread: Thread, tenantId: TenantId): Promise<void>;
67
+ /**
68
+ * Hard-delete a Thread record. Idempotent — absent threads succeed as a
69
+ * no-op. Rejects with `TenantIsolationError` on cross-tenant access.
70
+ *
71
+ * **Does NOT cascade to child Sessions** — the caller (typically
72
+ * ThreadManager) enforces the precondition that no Sessions reference
73
+ * this thread. Convention #5: deny-by-default, no implicit cascade.
74
+ */
75
+ deleteThread(threadId: ThreadId, tenantId: TenantId): Promise<void>;
76
+ /**
77
+ * List all Threads under a project for the given tenant, ordered by
78
+ * `createdAt` ascending. Returns an empty array when none exist.
79
+ * Cross-tenant reads reject with `TenantIsolationError`.
80
+ *
81
+ * The return shape is a concrete snapshot — callers that mutate the
82
+ * result array do not affect store state.
83
+ */
84
+ listThreads(projectId: ProjectId, tenantId: TenantId): Promise<readonly Thread[]>;
85
+ }
86
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/types/thread/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE7E;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAEzE;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnE;;;;;;;OAOG;IACH,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;CACjF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ThreadStore — canonical persistence contract for the Thread topic layer
3
+ * (Project → **Thread** → Session → SubSession → Run).
4
+ *
5
+ * Threads are pure containers (Phase 0 decision B.1). They have no own
6
+ * message stream and no fan-in `deriveStatus()` — status is owner-managed
7
+ * (`'open' | 'archived'`). Every accessor takes explicit {@link TenantId};
8
+ * cross-tenant access rejects with `TenantIsolationError` (Convention #17).
9
+ *
10
+ * Read accessors return `null` when the resource does not exist for the
11
+ * supplied tenant (deny-by-default surface). Callers branch on missing
12
+ * explicitly — no fallback substitution.
13
+ *
14
+ * `deleteThread` is intentionally a dumb record-delete at this layer:
15
+ * it does NOT walk session ownership. The "reject when sessions attached"
16
+ * precondition lives in {@link import('../../manager/thread/lifecycle.js').ThreadManager}
17
+ * where both stores are in scope. Keeping ThreadStore free of cross-store
18
+ * awareness preserves the single-boundary ownership boundary that Phase 2
19
+ * has just introduced for this layer (Convention #0).
20
+ */
21
+ export {};
22
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/types/thread/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -1,11 +1,6 @@
1
1
  import type { ActivityId, AdvisoryCallId, AdvisoryId, CheckpointId, ChunkId, ConnectorId, ConnectorInstanceId, CredentialId, DeliverableId, DocumentId, EmergencySaveId, EnvironmentId, ExecutionContextId, HandoffId, KnowledgeBaseId, MCPClientId, MCPServerId, MCPSessionId, MemoryId, MessageId, PlanId, PluginId, ProjectId, RunId, SandboxId, SessionId, SubSessionId, SummaryId, TaskId, TenantId, ThreadId, ToolCallId, WorkspaceId } from '../types/ids/index.js';
2
- /**
3
- * @deprecated Prefer {@link generateProjectId}. `ThreadId` is an alias of
4
- * `ProjectId` during the 0.2.x migration window; this helper emits the new
5
- * `prj_` prefix and will be removed in 0.3.0. See session-hierarchy.md §13.
6
- */
7
- export declare function generateThreadId(): ThreadId;
8
2
  export declare function generateProjectId(): ProjectId;
3
+ export declare function generateThreadId(): ThreadId;
9
4
  export declare function generateRunId(): RunId;
10
5
  export declare function generateMessageId(): MessageId;
11
6
  export declare function generateSessionId(): SessionId;
@@ -37,12 +32,6 @@ export declare function generateSubSessionId(): SubSessionId;
37
32
  export declare function generateSummaryId(): SummaryId;
38
33
  export declare function generateHandoffId(): HandoffId;
39
34
  export declare function generateDeliverableId(): DeliverableId;
40
- /**
41
- * @deprecated Parses either the legacy `thd_*` prefix or the new `prj_*`
42
- * prefix during the 0.2.x migration window. 0.3.x will only accept `prj_*`.
43
- * See session-hierarchy.md §13.3.1.
44
- */
45
- export declare function parseThreadId(raw: string): ThreadId;
46
35
  export declare function parseProjectId(raw: string): ProjectId;
47
36
  export declare function parseRunId(raw: string): RunId;
48
37
  export declare function parseConnectorInstanceId(raw: string): ConnectorInstanceId;
@@ -1 +1 @@
1
- {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,MAAM,uBAAuB,CAAA;AAsB9B;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,aAAa,IAAI,KAAK,CAErC;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,uBAAuB,IAAI,eAAe,CAEzD;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,2BAA2B,IAAI,mBAAmB,CAEjE;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,0BAA0B,IAAI,kBAAkB,CAE/D;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CAEvD;AAED,wBAAgB,uBAAuB,IAAI,eAAe,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AASD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CASnD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAErD;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAE7C;AACD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAEzE;AACD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAEnD;AACD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAErD"}
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,MAAM,uBAAuB,CAAA;AAsB9B,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,aAAa,IAAI,KAAK,CAErC;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,uBAAuB,IAAI,eAAe,CAEzD;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,2BAA2B,IAAI,mBAAmB,CAEjE;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,0BAA0B,IAAI,kBAAkB,CAE/D;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CAEvD;AAED,wBAAgB,uBAAuB,IAAI,eAAe,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAErD;AASD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAErD;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAE7C;AACD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAEzE;AACD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAEnD;AACD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAErD"}
package/dist/utils/id.js CHANGED
@@ -18,17 +18,12 @@ function generateId(prefix, length = 12) {
18
18
  }
19
19
  return `${prefix}${suffix}`;
20
20
  }
21
- /**
22
- * @deprecated Prefer {@link generateProjectId}. `ThreadId` is an alias of
23
- * `ProjectId` during the 0.2.x migration window; this helper emits the new
24
- * `prj_` prefix and will be removed in 0.3.0. See session-hierarchy.md §13.
25
- */
26
- export function generateThreadId() {
27
- return generateId('prj_');
28
- }
29
21
  export function generateProjectId() {
30
22
  return generateId('prj_');
31
23
  }
24
+ export function generateThreadId() {
25
+ return generateId('thd_');
26
+ }
32
27
  export function generateRunId() {
33
28
  return generateId('run_');
34
29
  }
@@ -128,21 +123,6 @@ function parseId(raw, prefix, typeName) {
128
123
  }
129
124
  return raw;
130
125
  }
131
- /**
132
- * @deprecated Parses either the legacy `thd_*` prefix or the new `prj_*`
133
- * prefix during the 0.2.x migration window. 0.3.x will only accept `prj_*`.
134
- * See session-hierarchy.md §13.3.1.
135
- */
136
- export function parseThreadId(raw) {
137
- if (raw.startsWith('prj_')) {
138
- return raw;
139
- }
140
- if (raw.startsWith('thd_')) {
141
- // Read-accept legacy prefix; a proper coercion pipeline lands in Phase 7.
142
- return raw;
143
- }
144
- throw new Error(`Invalid ThreadId: expected "prj_" or "thd_" prefix, got "${raw}"`);
145
- }
146
126
  export function parseProjectId(raw) {
147
127
  return parseId(raw, 'prj_', 'ProjectId');
148
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAqCzC,MAAM,QAAQ,GAAG,sCAAsC,CAAA;AACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAA;AACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,YAAY,CAAA;AAEtE,SAAS,UAAU,CAAmB,MAAS,EAAE,MAAM,GAAG,EAAE;IAC3D,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,SAAS,GAAG,MAAM,CAAA;IACtB,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAK;YACzB,IAAI,IAAI,GAAG,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,CAAA;gBACvC,SAAS,EAAE,CAAA;YACZ,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,GAAG,MAAM,GAAG,MAAM,EAAqB,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACtC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,2BAA2B;IAC1C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACzC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACpC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB;IACrC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACtC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACpC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,OAAO,CAAmB,GAAW,EAAE,MAAc,EAAE,QAAgB;IAC/E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,eAAe,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,GAAQ,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACzC,OAAO,OAAO,CAAY,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AACpD,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,OAAO,OAAO,CAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AACD,MAAM,UAAU,wBAAwB,CAAC,GAAW;IACnD,OAAO,OAAO,CAAsB,GAAG,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAA;AACvE,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,OAAO,OAAO,CAAW,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAClD,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,GAAW;IACzC,OAAO,OAAO,CAAY,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AACpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Open-source AI agent SDK with a built-in runtime. Nothing between you and your agents.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "type": "module",
@@ -16,8 +16,8 @@
16
16
  "types": "./dist/index.d.ts",
17
17
  "exports": {
18
18
  ".": {
19
- "import": "./dist/index.js",
20
- "types": "./dist/index.d.ts"
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
21
  }
22
22
  },
23
23
  "files": [
@@ -49,6 +49,7 @@
49
49
  "devDependencies": {
50
50
  "@biomejs/biome": "^1.9.4",
51
51
  "@types/node": "^22.19.17",
52
+ "knip": "^6.4.1",
52
53
  "typescript": "^5.5.0",
53
54
  "vitest": "^2.0.0"
54
55
  },
@@ -60,13 +61,7 @@
60
61
  "format": "biome format --write src/",
61
62
  "test": "vitest run --passWithNoTests",
62
63
  "typecheck": "tsc --noEmit",
63
- "verify": "bash scripts/verify.sh",
64
- "release:patch": "bash scripts/release.sh patch",
65
- "release:minor": "bash scripts/release.sh minor",
66
- "release:major": "bash scripts/release.sh major",
67
- "release:rc": "bash scripts/release.sh rc",
68
- "release:beta": "bash scripts/release.sh beta",
69
- "release:stable": "bash scripts/release.sh stable",
70
- "release:dry": "bash scripts/release.sh patch --dry-run"
64
+ "knip": "knip",
65
+ "knip:production": "knip --production"
71
66
  }
72
67
  }
@@ -32,9 +32,9 @@ export class ReactiveAgent extends AbstractAgent<ReactiveAgentConfig, ReactiveAg
32
32
  ): Promise<ReactiveAgentResult> {
33
33
  const startTime = Date.now()
34
34
 
35
- if (!config.sessionId || !config.projectId || !config.tenantId) {
35
+ if (!config.sessionId || !config.threadId || !config.projectId || !config.tenantId) {
36
36
  throw new Error(
37
- 'ReactiveAgent requires sessionId, projectId, and tenantId in config (session-hierarchy.md §12.1).',
37
+ 'ReactiveAgent requires sessionId, threadId, projectId, and tenantId in config (session-hierarchy.md §12.1).',
38
38
  )
39
39
  }
40
40
 
@@ -61,6 +61,7 @@ export class ReactiveAgent extends AbstractAgent<ReactiveAgentConfig, ReactiveAg
61
61
  agentName: this.metadata.name,
62
62
  workingDirectory: input.workingDirectory,
63
63
  sessionId: config.sessionId,
64
+ threadId: config.threadId,
64
65
  projectId: config.projectId,
65
66
  tenantId: config.tenantId,
66
67
  parentRunId: config.parentRunId,
@@ -43,12 +43,13 @@ export class SupervisorAgent extends AbstractAgent<SupervisorAgentConfig, Superv
43
43
  const startTime = Date.now()
44
44
  const runId = this.createRunId()
45
45
 
46
- if (!config.sessionId || !config.projectId || !config.tenantId) {
46
+ if (!config.sessionId || !config.threadId || !config.projectId || !config.tenantId) {
47
47
  throw new Error(
48
- 'SupervisorAgent requires sessionId, projectId, and tenantId in config (session-hierarchy.md §12.1).',
48
+ 'SupervisorAgent requires sessionId, threadId, projectId, and tenantId in config (session-hierarchy.md §12.1).',
49
49
  )
50
50
  }
51
51
  const sessionId = config.sessionId
52
+ const threadId = config.threadId
52
53
  const projectId = config.projectId
53
54
  const tenantId = config.tenantId
54
55
 
@@ -84,6 +85,7 @@ export class SupervisorAgent extends AbstractAgent<SupervisorAgentConfig, Superv
84
85
  },
85
86
  factoryOptions: mergedFactoryOptions,
86
87
  tenantId,
88
+ threadId,
87
89
  sessionId,
88
90
  projectId,
89
91
  parentActor,
@@ -138,6 +140,7 @@ export class SupervisorAgent extends AbstractAgent<SupervisorAgentConfig, Superv
138
140
  messages: input.messages,
139
141
  signal: input.signal,
140
142
  sessionId,
143
+ threadId,
141
144
  projectId,
142
145
  tenantId,
143
146
  runId,
@@ -10,7 +10,6 @@ export {
10
10
 
11
11
  export {
12
12
  messageToA2A,
13
- threadMessageToA2A,
14
13
  extractTextFromA2AMessage,
15
14
  a2aMessageToInput,
16
15
  } from './message.js'
@@ -1,4 +1,3 @@
1
- import type { ThreadMessage } from '../../contracts/index.js'
2
1
  import type { A2AMessage, A2AMessageRole, A2APart, TextPart } from '../../types/a2a/index.js'
3
2
  import type { Message, MessageRole } from '../../types/message/index.js'
4
3
 
@@ -48,37 +47,6 @@ export function messageToA2A(msg: Message): A2AMessage {
48
47
  }
49
48
  }
50
49
 
51
- export function threadMessageToA2A(msg: ThreadMessage): A2AMessage {
52
- const parts: A2APart[] = []
53
-
54
- if (msg.content) {
55
- parts.push({ kind: 'text', text: msg.content })
56
- }
57
-
58
- if (msg.tool_calls) {
59
- for (const tc of msg.tool_calls) {
60
- parts.push({
61
- kind: 'data',
62
- data: {
63
- toolCallId: tc.id,
64
- name: tc.function.name,
65
- arguments: tc.function.arguments,
66
- },
67
- mimeType: 'application/x-namzu-tool-call',
68
- })
69
- }
70
- }
71
-
72
- if (parts.length === 0) {
73
- parts.push({ kind: 'text', text: '' })
74
- }
75
-
76
- return {
77
- role: toA2ARole(msg.role),
78
- parts,
79
- }
80
- }
81
-
82
50
  export function extractTextFromA2AMessage(msg: A2AMessage): string {
83
51
  return msg.parts
84
52
  .filter((p): p is TextPart => p.kind === 'text')
@@ -1,5 +1,5 @@
1
1
  import { RUN_STATUS_TO_A2A, TERMINAL_STATES } from '../../constants/a2a/index.js'
2
- import type { Run, RunConfig, ThreadMessage, WireRunStatus } from '../../contracts/index.js'
2
+ import type { Run, RunConfig, WireRunStatus } from '../../contracts/index.js'
3
3
  import type {
4
4
  A2AArtifact,
5
5
  A2AMessage,
@@ -8,7 +8,8 @@ import type {
8
8
  A2ATaskState,
9
9
  A2ATaskStatus,
10
10
  } from '../../types/a2a/index.js'
11
- import { extractTextFromA2AMessage, threadMessageToA2A } from './message.js'
11
+ import type { Message } from '../../types/message/index.js'
12
+ import { extractTextFromA2AMessage, messageToA2A } from './message.js'
12
13
 
13
14
  export function isTerminalState(state: A2ATaskState): boolean {
14
15
  return TERMINAL_STATES.has(state)
@@ -53,12 +54,12 @@ function buildArtifacts(run: Run): A2AArtifact[] | undefined {
53
54
  ]
54
55
  }
55
56
 
56
- export function runToA2ATask(run: Run, messages?: readonly ThreadMessage[]): A2ATask {
57
+ export function runToA2ATask(run: Run, messages?: readonly Message[]): A2ATask {
57
58
  return {
58
59
  id: run.id,
59
- contextId: run.thread_id ?? undefined,
60
+ contextId: run.project_id ?? undefined,
60
61
  status: buildTaskStatus(run),
61
- history: messages?.map(threadMessageToA2A),
62
+ history: messages?.map(messageToA2A),
62
63
  artifacts: buildArtifacts(run),
63
64
  metadata: {
64
65
  agent_id: run.agent_id,
@@ -71,7 +72,7 @@ export function runToA2ATask(run: Run, messages?: readonly ThreadMessage[]): A2A
71
72
  export interface CreateRunFromA2A {
72
73
  readonly agentId: string
73
74
  readonly input: string
74
- readonly threadId?: string
75
+ readonly projectId?: string
75
76
  readonly config: RunConfig
76
77
  }
77
78
 
@@ -99,7 +100,7 @@ export function a2aMessageToCreateRun(
99
100
  return {
100
101
  agentId,
101
102
  input,
102
- threadId: params.contextId,
103
+ projectId: params.contextId,
103
104
  config,
104
105
  }
105
106
  }
@@ -1,7 +1,7 @@
1
1
  import type { AgentCapabilities, AgentType } from '../types/agent/base.js'
2
2
  import type { MessageRole } from '../types/message/index.js'
3
3
  import type { StopReason } from '../types/run/events.js'
4
- import type { MessageId, RunId, SessionId, ThreadId } from './ids.js'
4
+ import type { ProjectId, RunId, SessionId } from './ids.js'
5
5
 
6
6
  export type { MessageRole, StopReason, AgentType, AgentCapabilities }
7
7
 
@@ -27,14 +27,6 @@ export interface AgentInfo {
27
27
  capabilities?: AgentCapabilities
28
28
  }
29
29
 
30
- export interface Thread {
31
- id: ThreadId
32
- created_at: ISOTimestamp
33
- updated_at: ISOTimestamp
34
- metadata: Record<string, string>
35
- message_count: number
36
- }
37
-
38
30
  export interface ToolCallInfo {
39
31
  id: string
40
32
  type: 'function'
@@ -44,23 +36,6 @@ export interface ToolCallInfo {
44
36
  }
45
37
  }
46
38
 
47
- export interface ThreadMessage {
48
- id: MessageId
49
- thread_id: ThreadId
50
- role: MessageRole
51
- content: string | null
52
- created_at: ISOTimestamp
53
- run_id?: RunId
54
- tool_call_id?: string
55
- tool_calls?: ToolCallInfo[]
56
- metadata?: Record<string, unknown>
57
- }
58
-
59
- export interface CreateThreadRequest {
60
- metadata?: Record<string, string>
61
- messages?: CreateMessageRequest[]
62
- }
63
-
64
39
  export interface CreateMessageRequest {
65
40
  role: 'user'
66
41
  content: string
@@ -71,14 +46,10 @@ export interface CreateMessageRequest {
71
46
  * Wire-side run status for HTTP / A2A / SSE payloads.
72
47
  *
73
48
  * Distinct from the domain {@link import('../types/run/status.js').RunStatus}
74
- * which models the kernel state machine (session-hierarchy.md §4.6 + §5.2).
75
- * The wire enum collapses domain variants onto the HTTP-facing shape (e.g.
76
- * domain `succeeded` → wire `completed`; domain `awaiting_hitl*` → wire
77
- * `running`; domain `awaiting_subsession` → wire `running`).
78
- *
79
- * Renamed from `RunStatus` to `WireRunStatus` in 0.2.0 to disambiguate from
80
- * the domain enum; a deprecated alias `RunStatus = WireRunStatus` is retained
81
- * at the bottom of this module for one migration window.
49
+ * which models the kernel state machine. The wire enum collapses domain
50
+ * variants onto the HTTP-facing shape (e.g. domain `succeeded` → wire
51
+ * `completed`; domain `awaiting_hitl*` → wire `running`; domain
52
+ * `awaiting_subsession` → wire `running`).
82
53
  */
83
54
  export type WireRunStatus =
84
55
  | 'queued'
@@ -96,7 +67,7 @@ export type RunStopReason = StopReason
96
67
 
97
68
  export interface Run {
98
69
  id: RunId
99
- thread_id: ThreadId | null
70
+ project_id: ProjectId | null
100
71
  session_id?: SessionId
101
72
  agent_id: string
102
73
  agent_name?: string
@@ -234,10 +205,3 @@ export interface ApiError {
234
205
  param?: string
235
206
  }
236
207
  }
237
-
238
- /**
239
- * @deprecated Use {@link WireRunStatus}. Alias retained for one migration
240
- * window (0.2.x); scheduled for removal in 0.3.0. Renamed to disambiguate
241
- * from the domain `RunStatus` in `../types/run/status.js`.
242
- */
243
- export type RunStatus = WireRunStatus
@@ -1 +1 @@
1
- export type { ThreadId, RunId, MessageId, SessionId } from '../types/ids/index.js'
1
+ export type { ProjectId, RunId, MessageId, SessionId } from '../types/ids/index.js'
@@ -10,14 +10,9 @@ export type {
10
10
  ISOTimestamp,
11
11
  AgentDefaults,
12
12
  AgentInfo,
13
- Thread,
14
13
  ToolCallInfo,
15
- ThreadMessage,
16
- CreateThreadRequest,
17
14
  CreateMessageRequest,
18
15
  WireRunStatus,
19
- /** @deprecated Use {@link WireRunStatus}. */
20
- RunStatus,
21
16
  RunStopReason,
22
17
  Run,
23
18
  RunHierarchyNode,
@@ -34,15 +29,14 @@ export type {
34
29
  ApiError,
35
30
  } from './api.js'
36
31
 
37
- export type { ThreadId, RunId, MessageId, SessionId } from './ids.js'
32
+ export type { ProjectId, RunId, MessageId, SessionId } from './ids.js'
38
33
 
39
34
  export {
40
- ThreadIdSchema,
35
+ ProjectIdSchema,
41
36
  RunIdSchema,
42
37
  MessageIdSchema,
43
38
  RunConfigSchema,
44
39
  CreateMessageSchema,
45
- CreateThreadSchema,
46
40
  CreateRunSchema,
47
41
  CreateStatelessRunSchema,
48
42
  PaginationSchema,
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod'
2
2
 
3
- export const ThreadIdSchema = z.string().regex(/^thd_[a-z0-9]+$/, 'Invalid thread ID format')
3
+ export const ProjectIdSchema = z.string().regex(/^prj_[a-z0-9]+$/, 'Invalid project ID format')
4
4
  export const RunIdSchema = z.string().regex(/^run_[a-z0-9]+$/, 'Invalid run ID format')
5
5
  export const MessageIdSchema = z.string().regex(/^msg_[a-z0-9]+$/, 'Invalid message ID format')
6
6
 
@@ -24,13 +24,6 @@ export const CreateMessageSchema = z
24
24
  })
25
25
  .strict()
26
26
 
27
- export const CreateThreadSchema = z
28
- .object({
29
- metadata: z.record(z.string()).optional(),
30
- messages: z.array(CreateMessageSchema).optional(),
31
- })
32
- .strict()
33
-
34
27
  export const CreateRunSchema = z
35
28
  .object({
36
29
  agent_id: z.string().min(1, 'agent_id is required'),
package/src/index.ts CHANGED
@@ -42,7 +42,6 @@ export * from './types/execution/index.js'
42
42
  export * from './types/connector/index.js'
43
43
  export * from './types/skills/index.js'
44
44
  export * from './types/a2a/index.js'
45
- export * from './types/conversation/index.js'
46
45
  export * from './types/router/index.js'
47
46
  export * from './types/advisory/index.js'
48
47
  export * from './types/memory/index.js'
@@ -140,8 +139,6 @@ export {
140
139
  InMemoryTaskStore,
141
140
  DiskTaskStore,
142
141
  type DiskTaskStoreConfig,
143
- InMemoryConversationStore,
144
- type InMemoryConversationStoreConfig,
145
142
  InMemoryMemoryIndex,
146
143
  InMemoryMemoryStore,
147
144
  DiskMemoryStore,
@@ -300,7 +297,6 @@ export {
300
297
  runStatusToA2AState,
301
298
  a2aMessageToCreateRun,
302
299
  messageToA2A,
303
- threadMessageToA2A,
304
300
  extractTextFromA2AMessage,
305
301
  a2aMessageToInput,
306
302
  mapRunToA2AEvent,