@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
@@ -0,0 +1,90 @@
1
+ /**
2
+ * InMemoryThreadStore — reference in-memory implementation of
3
+ * {@link ThreadStore}.
4
+ *
5
+ * Mirrors the write-time CAS contract of the disk store: every
6
+ * `updateThread` compares the supplied `ownerVersion` against the persisted
7
+ * copy and rejects with `StaleThreadError` on mismatch. Convention #17:
8
+ * cross-tenant access throws `TenantIsolationError` with no fallback.
9
+ */
10
+ import { StaleThreadError, TenantIsolationError } from '../../session/errors.js';
11
+ import { generateThreadId } from '../../utils/id.js';
12
+ export class InMemoryThreadStore {
13
+ threads = new Map();
14
+ async createThread(params, tenantId) {
15
+ const now = new Date();
16
+ const thread = {
17
+ id: generateThreadId(),
18
+ projectId: params.projectId,
19
+ tenantId,
20
+ title: params.title,
21
+ status: 'open',
22
+ ownerVersion: 0,
23
+ createdAt: now,
24
+ updatedAt: now,
25
+ };
26
+ this.threads.set(thread.id, { tenantId, thread });
27
+ return thread;
28
+ }
29
+ async getThread(threadId, tenantId) {
30
+ const record = this.threads.get(threadId);
31
+ if (!record)
32
+ return null;
33
+ this.assertTenant(record.tenantId, tenantId, `thread(${threadId})`);
34
+ return record.thread;
35
+ }
36
+ async updateThread(thread, tenantId) {
37
+ if (thread.tenantId !== tenantId) {
38
+ throw new TenantIsolationError({
39
+ requested: tenantId,
40
+ resource: `thread(${thread.id}) payload`,
41
+ });
42
+ }
43
+ const existing = this.threads.get(thread.id);
44
+ if (!existing) {
45
+ throw new Error(`Thread ${thread.id} not found`);
46
+ }
47
+ this.assertTenant(existing.tenantId, tenantId, `thread(${thread.id})`);
48
+ // CAS on ownerVersion — supplied version must match persisted exactly.
49
+ // Any drift means another writer already advanced the record; the caller
50
+ // must re-read + re-apply + retry.
51
+ if (thread.ownerVersion !== existing.thread.ownerVersion) {
52
+ throw new StaleThreadError({
53
+ threadId: thread.id,
54
+ expectedVersion: thread.ownerVersion,
55
+ actualVersion: existing.thread.ownerVersion,
56
+ });
57
+ }
58
+ const updated = {
59
+ ...thread,
60
+ ownerVersion: existing.thread.ownerVersion + 1,
61
+ updatedAt: new Date(),
62
+ };
63
+ this.threads.set(thread.id, { tenantId, thread: updated });
64
+ }
65
+ async deleteThread(threadId, tenantId) {
66
+ const record = this.threads.get(threadId);
67
+ if (!record)
68
+ return; // Idempotent: missing = no-op.
69
+ this.assertTenant(record.tenantId, tenantId, `thread(${threadId})`);
70
+ this.threads.delete(threadId);
71
+ }
72
+ async listThreads(projectId, tenantId) {
73
+ const matches = [];
74
+ for (const { tenantId: ownerTenant, thread } of this.threads.values()) {
75
+ if (ownerTenant !== tenantId)
76
+ continue;
77
+ if (thread.projectId !== projectId)
78
+ continue;
79
+ matches.push(thread);
80
+ }
81
+ matches.sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime());
82
+ return matches;
83
+ }
84
+ assertTenant(owning, requested, resource) {
85
+ if (owning !== requested) {
86
+ throw new TenantIsolationError({ requested, resource });
87
+ }
88
+ }
89
+ }
90
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/store/thread/memory.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { AgentStatus, CostInfo, TokenUsage } from '../common/index.js';
2
- import type { RunId, SessionId, TenantId, ThreadId } from '../ids/index.js';
2
+ import type { RunId, SessionId, TenantId } 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
+ import type { ProjectId, ThreadId } from '../session/ids.js';
8
8
  import type { TaskStore } from '../task/index.js';
9
9
  import type { ToolAvailability } from '../tool/index.js';
10
10
  export type AgentType = 'reactive' | 'pipeline' | 'router' | 'supervisor';
@@ -20,28 +20,24 @@ export interface BaseAgentConfig {
20
20
  permissionMode?: PermissionMode;
21
21
  env?: Record<string, string>;
22
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
- */
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.
23
+ * Long-lived goal scope for the run. Required at runtime — agents reject
24
+ * configs missing this (`'X requires sessionId, projectId, and tenantId
25
+ * in config'`).
40
26
  *
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.
27
+ * Kept optional at the TYPE level because {@link AgentManager} stamps
28
+ * this field AFTER `configBuilder` returns (manager/agent/lifecycle.ts).
29
+ * Tightening to required is a separate task alongside
30
+ * `AgentFactoryOptions` carrying the triple.
43
31
  */
44
32
  projectId?: ProjectId;
33
+ /**
34
+ * Topic the run belongs to. Optional at the TYPE level for the same
35
+ * reason as `projectId` — {@link AgentManager} stamps this field after
36
+ * `configBuilder` returns so `configBuilder` implementations do not
37
+ * need to be updated before this tightens. Tightening to required
38
+ * lands with the `AgentFactoryOptions` triple refactor.
39
+ */
40
+ threadId?: ThreadId;
45
41
  /** Session under which the run executes. See `projectId` for the tightening plan. */
46
42
  sessionId?: SessionId;
47
43
  /** Isolation boundary (Convention #17). See `projectId` for the tightening plan. */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"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"}
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,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,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,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5D,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;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,qFAAqF;IACrF,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,oFAAoF;IACpF,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"}
@@ -10,7 +10,14 @@ export interface AgentDefinition {
10
10
  contextLevel?: AgentContextLevel;
11
11
  }
12
12
  export interface AgentFactoryOptions {
13
- apiKey: string;
13
+ /**
14
+ * API key for providers that authenticate via key (OpenAI, Anthropic,
15
+ * OpenRouter). Optional because BYO-provider flows (Bedrock IAM, custom
16
+ * `ProviderRegistry.create(...)`) resolve credentials outside this object.
17
+ * `configBuilder` implementations should treat an absent `apiKey` as the
18
+ * BYO signal and use the provider passed via the agent config instead.
19
+ */
20
+ apiKey?: string;
14
21
  model?: string;
15
22
  workingDirectory?: string;
16
23
  tokenBudget?: number;
@@ -29,7 +36,6 @@ export interface AgentFactoryOptions {
29
36
  };
30
37
  agentDefinitions?: AgentDefinition[];
31
38
  taskRouter?: TaskRouterConfig;
32
- threadId?: string;
33
39
  runId?: string;
34
40
  parentRunId?: string;
35
41
  depth?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/types/agent/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5F,YAAY,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEhC,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAEnC,aAAa,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IAED,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IAEpC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAE7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/types/agent/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5F,YAAY,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEhC,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAEnC,aAAa,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IAED,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IAEpC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAE7B,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}
@@ -4,22 +4,17 @@ import type { TokenUsage } from '../common/index.js';
4
4
  import type { RunId, SessionId, TaskId, TenantId } from '../ids/index.js';
5
5
  import type { Message } from '../message/index.js';
6
6
  import type { RunEventListener } from '../run/events.js';
7
- import type { ProjectId } from '../session/ids.js';
7
+ import type { ProjectId, ThreadId } from '../session/ids.js';
8
8
  import type { AgentInput, BaseAgentConfig, BaseAgentResult } from './base.js';
9
9
  import type { Agent } from './core.js';
10
10
  import type { AgentFactoryOptions } from './factory.js';
11
11
  export type AgentTaskState = 'pending' | 'running' | 'completed' | 'failed' | 'canceled' | 'rejected' | 'input-required';
12
12
  export declare function isTerminalAgentTaskState(state: AgentTaskState): boolean;
13
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.
14
+ * Context carried into {@link AgentManager.sendMessage}. `tenantId`,
15
+ * `threadId`, `sessionId`, `projectId`, and `parentActor` are required —
16
+ * the spawn path is the ingress point for the session hierarchy; callers
17
+ * must provide the full scoping set.
23
18
  */
24
19
  export interface AgentTaskContext {
25
20
  parentRunId: RunId;
@@ -30,12 +25,24 @@ export interface AgentTaskContext {
30
25
  factoryOptions?: AgentFactoryOptions;
31
26
  /** Isolation boundary. Required per session-hierarchy.md §12.1. */
32
27
  tenantId: TenantId;
28
+ /**
29
+ * Topic the current task belongs to. Required in 0.3.0 — spawn copies
30
+ * this onto the child session without a second ThreadStore round-trip,
31
+ * and gates creation on {@link ThreadManager.requireOpen}. Children
32
+ * inherit the parent's `threadId` verbatim; cross-thread spawn is
33
+ * forbidden by design (a delegated sub-agent stays on the same topic).
34
+ */
35
+ threadId: ThreadId;
33
36
  /**
34
37
  * Parent session under which any sub-agent spawn is recorded. Required
35
38
  * in 0.2.0; a spawn cannot be attributed without it.
36
39
  */
37
40
  sessionId: SessionId;
38
- /** Long-lived goal scope (replaces `threadId`). Required. */
41
+ /**
42
+ * Long-lived goal scope. Required. Denormalized from the owning Thread
43
+ * (see {@link Thread}) — structurally immutable per Phase 2.4 decision
44
+ * (sessions never cross threads, threads never cross projects).
45
+ */
39
46
  projectId: ProjectId;
40
47
  /**
41
48
  * The actor invoking this task. Children built off this context stamp
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"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"}
@@ -31,22 +31,18 @@ export type MemoryStoreRef = `mms_${string}`;
31
31
  export type VaultRef = `vlt_${string}`;
32
32
  export type KnowledgeBaseRef = `kbs_${string}`;
33
33
  export type ProjectId = `prj_${string}`;
34
+ export type ThreadId = `thd_${string}`;
34
35
  export type SubSessionId = `sub_${string}`;
35
36
  export type HandoffId = `hof_${string}`;
36
37
  export type WorkspaceId = `wsp_${string}`;
37
38
  export type SummaryId = `sum_${string}`;
38
39
  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
40
  /**
45
41
  * 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).
42
+ * boot-time filesystem migration. Consumers with strict tenant enforcement
43
+ * should either tag these records on first access or reject them until a
44
+ * real tenant is assigned — the kernel surfaces the sentinel but does not
45
+ * prescribe policy (Convention #17).
50
46
  */
51
47
  export declare const UNKNOWN_TENANT_ID: TenantId;
52
48
  //# 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,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
+ {"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;AAK9C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,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;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAA2B,QAAQ,CAAA"}
@@ -1,9 +1,9 @@
1
1
  /**
2
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).
3
+ * boot-time filesystem migration. Consumers with strict tenant enforcement
4
+ * should either tag these records on first access or reject them until a
5
+ * real tenant is assigned — the kernel surfaces the sentinel but does not
6
+ * prescribe policy (Convention #17).
7
7
  */
8
8
  export const UNKNOWN_TENANT_ID = 'tnt_unknown_legacy';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAmDA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAgC,CAAA"}
@@ -1,4 +1,5 @@
1
- import type { KnowledgeBaseId, ThreadId } from '../ids/index.js';
1
+ import type { KnowledgeBaseId } from '../ids/index.js';
2
+ import type { ProjectId } from '../session/ids.js';
2
3
  import type { TenantScope } from './scope.js';
3
4
  import type { VectorSearchResult } from './vector.js';
4
5
  export type RetrievalMode = 'vector' | 'keyword' | 'hybrid';
@@ -10,8 +11,8 @@ export interface RetrievalConfig {
10
11
  }
11
12
  export interface RetrievalQuery {
12
13
  text: string;
13
- threadId?: ThreadId;
14
- threadMessages?: string[];
14
+ projectId?: ProjectId;
15
+ recentMessages?: string[];
15
16
  config?: Partial<RetrievalConfig>;
16
17
  }
17
18
  export interface RetrievalResult {
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../../src/types/rag/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,kBAAkB,EAAE,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CACP,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,WAAW,EAClB,eAAe,CAAC,EAAE,eAAe,GAC/B,OAAO,CAAC,eAAe,CAAC,CAAA;CAC3B"}
1
+ {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../../src/types/rag/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,kBAAkB,EAAE,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CACP,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,WAAW,EAClB,eAAe,CAAC,EAAE,eAAe,GAC/B,OAAO,CAAC,eAAe,CAAC,CAAA;CAC3B"}
@@ -2,7 +2,7 @@ import type { ModelPricing } from '../../utils/cost.js';
2
2
  import type { Logger } from '../../utils/logger.js';
3
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
+ import type { ProjectId, ThreadId } from '../session/ids.js';
6
6
  export interface AgentRunConfig {
7
7
  model: string;
8
8
  timeoutMs: number;
@@ -20,10 +20,10 @@ export interface AgentRunConfig {
20
20
  };
21
21
  }
22
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.
23
+ * Config for {@link RunPersistence}. `sessionId`, `threadId`, `tenantId`,
24
+ * and `projectId` are required — every Run is attributed across the full
25
+ * five-layer scope (Tenant → Project Thread Session Run,
26
+ * Convention #17).
27
27
  */
28
28
  export interface RunPersistenceConfig {
29
29
  runId: RunId;
@@ -35,6 +35,7 @@ export interface RunPersistenceConfig {
35
35
  pricing?: ModelPricing;
36
36
  log: Logger;
37
37
  sessionId: SessionId;
38
+ threadId: ThreadId;
38
39
  tenantId: TenantId;
39
40
  projectId: ProjectId;
40
41
  parentRunId?: RunId;
@@ -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,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"}
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,QAAQ,EAAE,MAAM,mBAAmB,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;;;;;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,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"}
@@ -1,32 +1,19 @@
1
1
  import type { AgentStatus, CostInfo, TokenUsage } from '../common/index.js';
2
- import type { RunId, TaskId, TenantId, ThreadId } from '../ids/index.js';
2
+ import type { RunId, TaskId, TenantId } from '../ids/index.js';
3
3
  import type { ProjectId } from '../session/ids.js';
4
4
  import type { StopReason } from './stop-reason.js';
5
5
  /**
6
6
  * Denormalized metadata for a run.
7
7
  *
8
- * See session-hierarchy.md §4.6, §10.1, and §12.1.
9
- *
10
- * 0.2.0 promotes `projectId` and `tenantId` to required fields. `threadId`
11
- * remains as a deprecated mirror of `projectId` for the 0.2.x migration
12
- * window — consumers should prefer `projectId` and fall back to `threadId`
13
- * only for legacy records. 0.3.x removes `threadId` entirely (§13.1).
8
+ * `projectId` and `tenantId` are required per Convention #17 — every run is
9
+ * attributed to a Project within a Tenant.
14
10
  */
15
11
  export interface RunMetadata {
16
12
  id: RunId;
17
- /**
18
- * Long-lived goal scope. Required in 0.2.0. Replaces the root-scope role
19
- * `threadId` played in 0.1.x.
20
- */
13
+ /** Long-lived goal scope. Required. */
21
14
  projectId: ProjectId;
22
- /** Isolation boundary (Convention #17). Required in 0.2.0. */
15
+ /** Isolation boundary (Convention #17). Required. */
23
16
  tenantId: TenantId;
24
- /**
25
- * @deprecated Use {@link RunMetadata.projectId}. Mirror retained for the
26
- * 0.2.x migration window; scheduled for removal in 0.3.0 per
27
- * session-hierarchy.md §13.1.
28
- */
29
- threadId: ThreadId;
30
17
  agentId: string;
31
18
  agentName: string;
32
19
  status: AgentStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/types/run/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,KAAK,CAAA;IACT;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAA;IACpB,8DAA8D;IAC9D,QAAQ,EAAE,QAAQ,CAAA;IAClB;;;;OAIG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,iBAAiB,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IAEb,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,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;CACrB"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/types/run/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,KAAK,CAAA;IACT,uCAAuC;IACvC,SAAS,EAAE,SAAS,CAAA;IACpB,qDAAqD;IACrD,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,iBAAiB,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IAEb,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,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;CACrB"}
@@ -1,18 +1,9 @@
1
1
  /**
2
2
  * Session hierarchy branded ID re-export barrel.
3
3
  *
4
- * Canonical definitions live in `../ids/index.ts` (Phase 9 Known Delta #4
5
- * collapse: previously this file declared ProjectId/SubSessionId/etc. and
6
- * `types/ids/` re-exported them — a circular re-export that TypeScript
7
- * resolved cleanly but smelled). All session IDs now live in one place;
8
- * this barrel exists solely for ergonomic co-location with session-scoped
9
- * callers (they already import from `types/session/`).
4
+ * Canonical definitions live in `../ids/index.ts`. This barrel exists solely
5
+ * for ergonomic co-location with session-scoped callers (they already import
6
+ * from `types/session/`).
10
7
  */
11
- export type { ProjectId, SubSessionId, HandoffId, WorkspaceId, SummaryId, DeliverableId, SessionId, TenantId, RunId, AgentId, UserId, TaskId, ThreadId, } from '../ids/index.js';
12
- import type { ProjectId } from '../ids/index.js';
13
- /**
14
- * @deprecated Use {@link ProjectId}. Alias kept for one version migration
15
- * window; scheduled for removal in 0.3.0 per session-hierarchy.md §13.3.1.
16
- */
17
- export type ThreadIdDeprecated = ProjectId;
8
+ export type { ProjectId, ThreadId, SubSessionId, HandoffId, WorkspaceId, SummaryId, DeliverableId, SessionId, TenantId, RunId, AgentId, UserId, TaskId, } from '../ids/index.js';
18
9
  //# sourceMappingURL=ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/types/session/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,GACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAA"}
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../src/types/session/ids.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,GACN,MAAM,iBAAiB,CAAA"}
@@ -1,12 +1,9 @@
1
1
  /**
2
2
  * Session hierarchy branded ID re-export barrel.
3
3
  *
4
- * Canonical definitions live in `../ids/index.ts` (Phase 9 Known Delta #4
5
- * collapse: previously this file declared ProjectId/SubSessionId/etc. and
6
- * `types/ids/` re-exported them — a circular re-export that TypeScript
7
- * resolved cleanly but smelled). All session IDs now live in one place;
8
- * this barrel exists solely for ergonomic co-location with session-scoped
9
- * callers (they already import from `types/session/`).
4
+ * Canonical definitions live in `../ids/index.ts`. This barrel exists solely
5
+ * for ergonomic co-location with session-scoped callers (they already import
6
+ * from `types/session/`).
10
7
  */
11
8
  export {};
12
9
  //# sourceMappingURL=ids.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/types/session/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/types/session/ids.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,3 +1,3 @@
1
- export type { ProjectId, SubSessionId, HandoffId, WorkspaceId, SummaryId, DeliverableId, SessionId, TenantId, RunId, AgentId, UserId, TaskId, ThreadId, ThreadIdDeprecated, } from './ids.js';
1
+ export type { ProjectId, ThreadId, SubSessionId, HandoffId, WorkspaceId, SummaryId, DeliverableId, SessionId, TenantId, RunId, AgentId, UserId, TaskId, } from './ids.js';
2
2
  export type { SessionStore, SessionView, CreateProjectParams, CreateSessionParams, CreateSubSessionParams, } from './store.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/session/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,kBAAkB,GAClB,MAAM,UAAU,CAAA;AAEjB,YAAY,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/session/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,GACN,MAAM,UAAU,CAAA;AAEjB,YAAY,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACtB,MAAM,YAAY,CAAA"}
@@ -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
  import type { ActorRef } from '../../session/hierarchy/actor.js';
14
9
  import type { Project } from '../../session/hierarchy/project.js';
@@ -18,12 +13,21 @@ import type { SessionSummaryRef } from '../../session/summary/ref.js';
18
13
  import type { SessionMessage } from '../../store/session/messages.js';
19
14
  import type { MessageId, SessionId, TenantId } from '../ids/index.js';
20
15
  import type { Message } from '../message/index.js';
21
- import type { ProjectId, SubSessionId, SummaryId } from '../session/ids.js';
16
+ import type { ProjectId, SubSessionId, SummaryId, ThreadId } from '../session/ids.js';
22
17
  /**
23
18
  * Params for {@link SessionStore.createSession}. The store owns id generation,
24
- * `ownerVersion` initialization, and timestamps. See session-hierarchy.md §4.3.
19
+ * `ownerVersion` initialization, and timestamps.
20
+ *
21
+ * Both `threadId` and `projectId` are required. `projectId` must equal the
22
+ * `projectId` of the thread identified by `threadId`; the store does NOT
23
+ * perform that cross-store consistency check (it has no ThreadStore handle
24
+ * by design — see the store-boundary rationale in {@link ThreadStore}). The
25
+ * caller is the authority; typically spawn and handoff paths copy both from
26
+ * a freshly-loaded `Thread` record or from their own context which already
27
+ * tracks both.
25
28
  */
26
29
  export interface CreateSessionParams {
30
+ threadId: ThreadId;
27
31
  projectId: ProjectId;
28
32
  /**
29
33
  * Initial owner of the session. May be `null` for bootstrap scenarios where
@@ -83,6 +87,24 @@ export interface SessionStore {
83
87
  createSession(params: CreateSessionParams, tenantId: TenantId): Promise<Session>;
84
88
  getSession(sessionId: SessionId, tenantId: TenantId): Promise<Session | null>;
85
89
  updateSession(session: Session, tenantId: TenantId): Promise<void>;
90
+ /**
91
+ * List every Session that belongs to the given Thread for the caller's
92
+ * tenant, ordered by `createdAt` ascending. Returns an empty array when
93
+ * none exist.
94
+ *
95
+ * Thread-scoped queries rely on `session.threadId` (set at creation, never
96
+ * rewritten). Cross-tenant sessions that happen to share the supplied
97
+ * `threadId` are silently skipped — the listing is tenant-scoped, not an
98
+ * isolation violation (the caller did not request a specific record).
99
+ *
100
+ * Exists to back ThreadManager's archival + delete preconditions
101
+ * ({@link import('../../manager/thread/lifecycle.js').ThreadManager.archive}
102
+ * rejects when any session is in a non-terminal state; `delete` rejects
103
+ * while any session still references the thread). Keeping this primitive
104
+ * on {@link SessionStore} preserves the store-ownership boundary —
105
+ * ThreadStore stays unaware of session layout (Convention #0).
106
+ */
107
+ listSessions(threadId: ThreadId, tenantId: TenantId): Promise<readonly Session[]>;
86
108
  /**
87
109
  * Hard-delete a session. Idempotent — absent sessions succeed as a no-op.
88
110
  * Rejects with `TenantIsolationError` on cross-tenant access.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/types/session/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/types/session/store.ts"],"names":[],"mappings":"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"}