@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 @@
1
+ {"version":3,"file":"lifecycle.test.js","sourceRoot":"","sources":["../../../../src/manager/thread/__tests__/lifecycle.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * ThreadManager — thin orchestrator over {@link ThreadStore} and
3
+ * {@link SessionStore}.
4
+ *
5
+ * Owns user-facing lifecycle operations on the Thread topic layer plus the
6
+ * archive-gate contract enforced at session-creation ingress sites.
7
+ *
8
+ * Phase 2.6 wired `ThreadManager.requireOpen` into three ingress paths:
9
+ * - {@link AgentManager.provisionSpawn} (child session creation)
10
+ * - `executeSingleHandoff` (recipient session creation)
11
+ * - `executeBroadcastHandoff` (N recipient sessions per fan-out)
12
+ * Those call sites depend on this manager, so the one-method indirection
13
+ * stopped being "structural overhead" the moment archive/delete needed the
14
+ * session-presence cross-check anyway.
15
+ *
16
+ * Archive + delete require cross-store preconditions (session-presence
17
+ * checks) — enforced here where both stores are in scope. The stores
18
+ * themselves stay unaware of each other's layout (Convention #0), which is
19
+ * why the gate lives at the manager layer rather than as a universal store
20
+ * interceptor (see `archive` JSDoc for the direct-store-bypass boundary).
21
+ */
22
+ import type { Thread } from '../../session/hierarchy/thread.js';
23
+ import type { TenantId } from '../../types/ids/index.js';
24
+ import type { ProjectId, ThreadId } from '../../types/session/ids.js';
25
+ import type { SessionStore } from '../../types/session/store.js';
26
+ import type { CreateThreadParams, ThreadStore } from '../../types/thread/store.js';
27
+ export interface ThreadManagerDeps {
28
+ readonly threadStore: ThreadStore;
29
+ readonly sessionStore: SessionStore;
30
+ }
31
+ export declare class ThreadManager {
32
+ private readonly deps;
33
+ constructor(deps: ThreadManagerDeps);
34
+ /** Persist a new Thread. Thin passthrough for uniformity at the manager surface. */
35
+ create(params: CreateThreadParams, tenantId: TenantId): Promise<Thread>;
36
+ /** Read a Thread by id; returns `null` when absent for the tenant. */
37
+ get(threadId: ThreadId, tenantId: TenantId): Promise<Thread | null>;
38
+ /**
39
+ * CAS update on a Thread. Propagates {@link import('../../session/errors.js').StaleThreadError}
40
+ * from the store on `ownerVersion` mismatch — callers re-read, re-apply,
41
+ * and retry.
42
+ */
43
+ update(thread: Thread, tenantId: TenantId): Promise<void>;
44
+ /** List Threads under a Project, ordered by `createdAt` ascending. */
45
+ list(projectId: ProjectId, tenantId: TenantId): Promise<readonly Thread[]>;
46
+ /**
47
+ * Load a Thread and assert it is in `'open'` state. Used by the spawn path
48
+ * as a precondition — a SubSession cannot be created under an archived
49
+ * Thread. Throws on absence and on archival; returns the loaded Thread on
50
+ * success so callers can avoid the second round-trip.
51
+ *
52
+ * Convention #5: deny-by-default. A missing Thread is a hard error, not a
53
+ * silent "assume archived".
54
+ */
55
+ requireOpen(threadId: ThreadId, tenantId: TenantId): Promise<Thread>;
56
+ /**
57
+ * Flip a Thread to `'archived'` via CAS on {@link Thread.ownerVersion}.
58
+ *
59
+ * Preconditions (checked in order):
60
+ * 1. Thread exists for the tenant (throws on absence).
61
+ * 2. No attached Session is in a non-terminal state (see
62
+ * {@link ARCHIVAL_BLOCKING_STATUSES}). The presence check runs
63
+ * **before** the idempotent-archive short-circuit so that an already
64
+ * archived thread harboring a live session still surfaces as
65
+ * {@link ThreadNotEmptyError} rather than a silent success.
66
+ * 3. If the thread is already `'archived'` the method short-circuits
67
+ * without an `updateThread` write (idempotent re-archival). The
68
+ * returned record reflects the current persisted state.
69
+ *
70
+ * On a fresh archive transition the underlying
71
+ * {@link ThreadStore.updateThread} call commits with `ownerVersion + 1`.
72
+ * A {@link import('../../session/errors.js').StaleThreadError} from a
73
+ * concurrent writer propagates unchanged — the caller is expected to
74
+ * re-read + retry (mirrors the `updateThread` contract).
75
+ *
76
+ * Gate scope (Phase 2.6): `ThreadManager.requireOpen` is wired into
77
+ * `AgentManager.provisionSpawn` and both handoff flows, so the production
78
+ * ingress paths cannot attach new sessions under an archived thread.
79
+ * `SessionStore.createSession` / `updateSession` remain public and
80
+ * ungated at the store layer — a direct caller can still mutate a
81
+ * session after archival (the store has no `ThreadStore` handle by
82
+ * design; cross-store awareness lives in the manager). The defensive
83
+ * re-check above catches a smuggled live session on a subsequent
84
+ * archive call, but does not prevent the direct-store write from
85
+ * landing. That's an acceptable boundary — kernel callers must go
86
+ * through the ingress paths; direct store consumers are out of scope
87
+ * for the archive invariant.
88
+ */
89
+ archive(threadId: ThreadId, tenantId: TenantId): Promise<Thread>;
90
+ /**
91
+ * Hard-delete a Thread record. Rejects with {@link ThreadNotEmptyError}
92
+ * (`op: 'delete'`) when ANY Session still references the Thread —
93
+ * deletion is stricter than archival, which tolerates quiescent sessions.
94
+ * Callers must first delete or archive-and-tombstone every attached
95
+ * session (via {@link SessionStore.deleteSession}) before invoking.
96
+ *
97
+ * The session scan runs unconditionally, so orphaned sessions pointing at
98
+ * a missing thread are still detected and reject the delete. Idempotent
99
+ * for genuinely absent threads (no sessions, no thread record) — missing
100
+ * thread + empty session list is a no-op at the store layer. Convention
101
+ * #5: deny-by-default; no implicit cascade into SessionStore.
102
+ */
103
+ delete(threadId: ThreadId, tenantId: TenantId): Promise<void>;
104
+ }
105
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/thread/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAElF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CACnC;AAoBD,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,IAAI,EAAE,iBAAiB;IAInC,oFAAoF;IACpF,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvE,sEAAsE;IACtE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAInE;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,sEAAsE;IACtE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IAI1E;;;;;;;;OAQG;IACG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAW1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAyCtE;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAanE"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * ThreadManager — thin orchestrator over {@link ThreadStore} and
3
+ * {@link SessionStore}.
4
+ *
5
+ * Owns user-facing lifecycle operations on the Thread topic layer plus the
6
+ * archive-gate contract enforced at session-creation ingress sites.
7
+ *
8
+ * Phase 2.6 wired `ThreadManager.requireOpen` into three ingress paths:
9
+ * - {@link AgentManager.provisionSpawn} (child session creation)
10
+ * - `executeSingleHandoff` (recipient session creation)
11
+ * - `executeBroadcastHandoff` (N recipient sessions per fan-out)
12
+ * Those call sites depend on this manager, so the one-method indirection
13
+ * stopped being "structural overhead" the moment archive/delete needed the
14
+ * session-presence cross-check anyway.
15
+ *
16
+ * Archive + delete require cross-store preconditions (session-presence
17
+ * checks) — enforced here where both stores are in scope. The stores
18
+ * themselves stay unaware of each other's layout (Convention #0), which is
19
+ * why the gate lives at the manager layer rather than as a universal store
20
+ * interceptor (see `archive` JSDoc for the direct-store-bypass boundary).
21
+ */
22
+ import { THREAD_NOT_EMPTY_SAMPLE_LIMIT, ThreadClosedError, ThreadNotEmptyError, } from '../../session/errors.js';
23
+ /**
24
+ * Session statuses that block Thread archival. A session in any of these
25
+ * states has live work in-flight (mid-run, mid-handoff, blocked on human
26
+ * input, or orchestrating a broadcast merge) — freezing the Thread while any
27
+ * of them are active would strand resumable work.
28
+ *
29
+ * `idle`, `failed`, and `archived` are archival-compatible: they are
30
+ * quiescent or already-terminal, so a newly-frozen Thread can safely contain
31
+ * them. This list mirrors the `SessionStatus` discriminants that represent
32
+ * "not-yet-done" work (session-hierarchy.md §5.1).
33
+ */
34
+ const ARCHIVAL_BLOCKING_STATUSES = new Set([
35
+ 'active',
36
+ 'locked',
37
+ 'awaiting_hitl',
38
+ 'awaiting_merge',
39
+ ]);
40
+ export class ThreadManager {
41
+ deps;
42
+ constructor(deps) {
43
+ this.deps = deps;
44
+ }
45
+ /** Persist a new Thread. Thin passthrough for uniformity at the manager surface. */
46
+ create(params, tenantId) {
47
+ return this.deps.threadStore.createThread(params, tenantId);
48
+ }
49
+ /** Read a Thread by id; returns `null` when absent for the tenant. */
50
+ get(threadId, tenantId) {
51
+ return this.deps.threadStore.getThread(threadId, tenantId);
52
+ }
53
+ /**
54
+ * CAS update on a Thread. Propagates {@link import('../../session/errors.js').StaleThreadError}
55
+ * from the store on `ownerVersion` mismatch — callers re-read, re-apply,
56
+ * and retry.
57
+ */
58
+ update(thread, tenantId) {
59
+ return this.deps.threadStore.updateThread(thread, tenantId);
60
+ }
61
+ /** List Threads under a Project, ordered by `createdAt` ascending. */
62
+ list(projectId, tenantId) {
63
+ return this.deps.threadStore.listThreads(projectId, tenantId);
64
+ }
65
+ /**
66
+ * Load a Thread and assert it is in `'open'` state. Used by the spawn path
67
+ * as a precondition — a SubSession cannot be created under an archived
68
+ * Thread. Throws on absence and on archival; returns the loaded Thread on
69
+ * success so callers can avoid the second round-trip.
70
+ *
71
+ * Convention #5: deny-by-default. A missing Thread is a hard error, not a
72
+ * silent "assume archived".
73
+ */
74
+ async requireOpen(threadId, tenantId) {
75
+ const thread = await this.deps.threadStore.getThread(threadId, tenantId);
76
+ if (!thread) {
77
+ throw new Error(`Thread ${threadId} not found`);
78
+ }
79
+ if (thread.status === 'archived') {
80
+ throw new ThreadClosedError({ threadId, op: 'require-open' });
81
+ }
82
+ return thread;
83
+ }
84
+ /**
85
+ * Flip a Thread to `'archived'` via CAS on {@link Thread.ownerVersion}.
86
+ *
87
+ * Preconditions (checked in order):
88
+ * 1. Thread exists for the tenant (throws on absence).
89
+ * 2. No attached Session is in a non-terminal state (see
90
+ * {@link ARCHIVAL_BLOCKING_STATUSES}). The presence check runs
91
+ * **before** the idempotent-archive short-circuit so that an already
92
+ * archived thread harboring a live session still surfaces as
93
+ * {@link ThreadNotEmptyError} rather than a silent success.
94
+ * 3. If the thread is already `'archived'` the method short-circuits
95
+ * without an `updateThread` write (idempotent re-archival). The
96
+ * returned record reflects the current persisted state.
97
+ *
98
+ * On a fresh archive transition the underlying
99
+ * {@link ThreadStore.updateThread} call commits with `ownerVersion + 1`.
100
+ * A {@link import('../../session/errors.js').StaleThreadError} from a
101
+ * concurrent writer propagates unchanged — the caller is expected to
102
+ * re-read + retry (mirrors the `updateThread` contract).
103
+ *
104
+ * Gate scope (Phase 2.6): `ThreadManager.requireOpen` is wired into
105
+ * `AgentManager.provisionSpawn` and both handoff flows, so the production
106
+ * ingress paths cannot attach new sessions under an archived thread.
107
+ * `SessionStore.createSession` / `updateSession` remain public and
108
+ * ungated at the store layer — a direct caller can still mutate a
109
+ * session after archival (the store has no `ThreadStore` handle by
110
+ * design; cross-store awareness lives in the manager). The defensive
111
+ * re-check above catches a smuggled live session on a subsequent
112
+ * archive call, but does not prevent the direct-store write from
113
+ * landing. That's an acceptable boundary — kernel callers must go
114
+ * through the ingress paths; direct store consumers are out of scope
115
+ * for the archive invariant.
116
+ */
117
+ async archive(threadId, tenantId) {
118
+ const thread = await this.deps.threadStore.getThread(threadId, tenantId);
119
+ if (!thread) {
120
+ throw new Error(`Thread ${threadId} not found`);
121
+ }
122
+ // Always enforce the blocking-session invariant — even on re-archival.
123
+ // If the thread is already archived but somehow gained a live session
124
+ // (direct store mutation, concurrent spawn before a write-barrier
125
+ // existed), surfacing that via ThreadNotEmptyError is more useful to
126
+ // operators than a silent idempotent success.
127
+ const sessions = await this.deps.sessionStore.listSessions(threadId, tenantId);
128
+ const blocking = sessions.filter((s) => ARCHIVAL_BLOCKING_STATUSES.has(s.status));
129
+ if (blocking.length > 0) {
130
+ throw new ThreadNotEmptyError({
131
+ threadId,
132
+ tenantId,
133
+ op: 'archive',
134
+ blockingSessions: summarizeBlocking(blocking),
135
+ totalBlockingSessions: blocking.length,
136
+ });
137
+ }
138
+ if (thread.status === 'archived') {
139
+ // Idempotent: already archived, no live sessions attached. Skip the
140
+ // write (updateThread would still bump ownerVersion for no semantic
141
+ // change).
142
+ return thread;
143
+ }
144
+ const next = { ...thread, status: 'archived' };
145
+ await this.deps.threadStore.updateThread(next, tenantId);
146
+ // updateThread advances ownerVersion + updatedAt; re-read so the returned
147
+ // record reflects the persisted state (callers rely on version monotonicity).
148
+ const reloaded = await this.deps.threadStore.getThread(threadId, tenantId);
149
+ if (!reloaded) {
150
+ throw new Error(`Thread ${threadId} vanished between archive and read-back`);
151
+ }
152
+ return reloaded;
153
+ }
154
+ /**
155
+ * Hard-delete a Thread record. Rejects with {@link ThreadNotEmptyError}
156
+ * (`op: 'delete'`) when ANY Session still references the Thread —
157
+ * deletion is stricter than archival, which tolerates quiescent sessions.
158
+ * Callers must first delete or archive-and-tombstone every attached
159
+ * session (via {@link SessionStore.deleteSession}) before invoking.
160
+ *
161
+ * The session scan runs unconditionally, so orphaned sessions pointing at
162
+ * a missing thread are still detected and reject the delete. Idempotent
163
+ * for genuinely absent threads (no sessions, no thread record) — missing
164
+ * thread + empty session list is a no-op at the store layer. Convention
165
+ * #5: deny-by-default; no implicit cascade into SessionStore.
166
+ */
167
+ async delete(threadId, tenantId) {
168
+ const sessions = await this.deps.sessionStore.listSessions(threadId, tenantId);
169
+ if (sessions.length > 0) {
170
+ throw new ThreadNotEmptyError({
171
+ threadId,
172
+ tenantId,
173
+ op: 'delete',
174
+ blockingSessions: summarizeBlocking(sessions),
175
+ totalBlockingSessions: sessions.length,
176
+ });
177
+ }
178
+ await this.deps.threadStore.deleteThread(threadId, tenantId);
179
+ }
180
+ }
181
+ function summarizeBlocking(sessions) {
182
+ return sessions
183
+ .slice(0, THREAD_NOT_EMPTY_SAMPLE_LIMIT)
184
+ .map((s) => ({ sessionId: s.id, status: s.status }));
185
+ }
186
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/manager/thread/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -38,10 +38,10 @@ export class DefaultRetriever {
38
38
  };
39
39
  }
40
40
  expandQuery(query) {
41
- if (!query.threadMessages || query.threadMessages.length === 0) {
41
+ if (!query.recentMessages || query.recentMessages.length === 0) {
42
42
  return query.text;
43
43
  }
44
- const recentContext = query.threadMessages.slice(-3).join(' ');
44
+ const recentContext = query.recentMessages.slice(-3).join(' ');
45
45
  return `${query.text}\n\nContext: ${recentContext}`;
46
46
  }
47
47
  async vectorSearch(query, scope, knowledgeBaseId, config) {
@@ -10,6 +10,7 @@ function mockProvider() {
10
10
  }
11
11
  function buildConfig(overrides = {}) {
12
12
  const sessionId = 'ses_test';
13
+ const threadId = 'thd_test';
13
14
  const projectId = 'prj_test';
14
15
  const tenantId = 'tnt_test';
15
16
  const runConfig = {
@@ -24,21 +25,21 @@ function buildConfig(overrides = {}) {
24
25
  provider: mockProvider(),
25
26
  messages: [],
26
27
  sessionId,
28
+ threadId,
27
29
  projectId,
28
30
  tenantId,
29
31
  workingDirectory: '/tmp/run-context-test',
30
32
  ...overrides,
31
33
  };
32
34
  }
33
- describe('RunContextFactory.build — Phase 6', () => {
34
- it('requires sessionId, projectId, tenantId and returns them on the context', () => {
35
+ describe('RunContextFactory.build', () => {
36
+ it('requires sessionId, threadId, projectId, tenantId and returns them on the context', () => {
35
37
  const cfg = buildConfig();
36
38
  const ctx = RunContextFactory.build(cfg);
37
39
  expect(ctx.sessionId).toBe(cfg.sessionId);
40
+ expect(ctx.threadId).toBe(cfg.threadId);
38
41
  expect(ctx.projectId).toBe(cfg.projectId);
39
42
  expect(ctx.tenantId).toBe(cfg.tenantId);
40
- // threadId remains as a deprecated mirror of projectId.
41
- expect(ctx.threadId).toBe(cfg.projectId);
42
43
  });
43
44
  it('uses the injected PathBuilder to resolve the output dir (no hardcoded .namzu/threads)', () => {
44
45
  const pathBuilderMock = {
@@ -58,15 +59,15 @@ describe('RunContextFactory.build — Phase 6', () => {
58
59
  it('falls back to DefaultPathBuilder rooted at {cwd}/.namzu when no pathBuilder is provided', () => {
59
60
  const cfg = buildConfig();
60
61
  const ctx = RunContextFactory.build(cfg);
61
- // No more `/.namzu/threads/{threadId}/runs`the new layout lives under
62
- // projects/{pid}/sessions/{sid}.
62
+ // Layout lives under projects/{pid}/sessions/{sid} — no `.namzu/threads/`.
63
63
  expect(ctx.outputDir).toContain('/.namzu/projects/prj_test/sessions/ses_test');
64
64
  expect(ctx.outputDir).not.toContain('threads');
65
65
  });
66
- it('seeds RunPersistence with propagated sessionId/tenantId/projectId', () => {
66
+ it('seeds RunPersistence with propagated sessionId/threadId/tenantId/projectId', () => {
67
67
  const cfg = buildConfig();
68
68
  const ctx = RunContextFactory.build(cfg);
69
69
  expect(ctx.runMgr.sessionId).toBe(cfg.sessionId);
70
+ expect(ctx.runMgr.threadId).toBe(cfg.threadId);
70
71
  expect(ctx.runMgr.tenantId).toBe(cfg.tenantId);
71
72
  expect(ctx.runMgr.projectId).toBe(cfg.projectId);
72
73
  });
@@ -1 +1 @@
1
- {"version":3,"file":"context.test.js","sourceRoot":"","sources":["../../../../src/runtime/query/__tests__/context.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,4CAA4C,CAAA;AAKjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,SAAS,YAAY;IACpB,OAAO;QACN,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;KACzC,CAAA;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,YAAoE,EAAE;IAC1F,MAAM,SAAS,GAAG,UAAuB,CAAA;IACzC,MAAM,SAAS,GAAG,UAAuB,CAAA;IACzC,MAAM,QAAQ,GAAG,UAAsB,CAAA;IACvC,MAAM,SAAS,GAAmB;QACjC,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;KAChB,CAAA;IAED,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;QACpB,SAAS;QACT,QAAQ,EAAE,YAAY,EAAE;QACxB,QAAQ,EAAE,EAAE;QACZ,SAAS;QACT,SAAS;QACT,QAAQ;QACR,gBAAgB,EAAE,uBAAuB;QACzC,GAAG,SAAS;KACZ,CAAA;AACF,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAClF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QACzB,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,wDAAwD;QACxD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAChG,MAAM,eAAe,GAAgB;YACpC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;YAClC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,GAAG,EAAE,CAAC;YACxD,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,uBAAuB,GAAG,aAAa,GAAG,EAAE,CAAC;YAC7E,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf,CAAA;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;QACzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QACrF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,SAAS,aAAa,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;QAC5F,uCAAuC;QACvC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QAClG,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QACzB,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExC,yEAAyE;QACzE,iCAAiC;QACjC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;QAC9E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC5E,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QACzB,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAClD,MAAM,KAAK,GAAG,WAAoB,CAAA;QAClC,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAoB,EAAE,OAAoB,EAAE,OAAgB,CAAC,CAAA;QAC3F,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IAC7E,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"context.test.js","sourceRoot":"","sources":["../../../../src/runtime/query/__tests__/context.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { AgentContextLevel } from '../../types/agent/factory.js';
2
- import type { ThreadId } from '../../types/ids/index.js';
3
2
  import type { AgentPersona } from '../../types/persona/index.js';
3
+ import type { ProjectId } from '../../types/session/ids.js';
4
4
  import type { Skill } from '../../types/skills/index.js';
5
5
  import type { ToolRegistryContract } from '../../types/tool/index.js';
6
6
  import { type PromptSegments } from './prompt.js';
7
7
  export interface ContextCacheConfig {
8
8
  agentId: string;
9
- threadId: ThreadId;
9
+ projectId: ProjectId;
10
10
  }
11
11
  export interface PromptCacheInput {
12
12
  systemPrompt?: string;
@@ -17,7 +17,7 @@ export interface PromptCacheInput {
17
17
  allowedTools?: string[];
18
18
  }
19
19
  export declare class ContextCache {
20
- readonly threadId: ThreadId;
20
+ readonly projectId: ProjectId;
21
21
  readonly agentId: string;
22
22
  private cachedPrompt;
23
23
  private cachedConfigHash;
@@ -1 +1 @@
1
- {"version":3,"file":"context-cache.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/context-cache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,qBAAa,YAAY;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,gBAAgB,CAAoB;gBAEhC,MAAM,EAAE,kBAAkB;IAKtC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAqBhD,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAK9C,wBAAwB,CACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,GAAE,iBAA0B,EACxC,gBAAgB,CAAC,EAAE,MAAM,GACvB,cAAc;IA2BjB,UAAU,IAAI,IAAI;IAOlB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,iBAAiB;CAazB"}
1
+ {"version":3,"file":"context-cache.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/context-cache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,qBAAa,YAAY;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,gBAAgB,CAAoB;gBAEhC,MAAM,EAAE,kBAAkB;IAKtC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAqBhD,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAK9C,wBAAwB,CACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,GAAE,iBAA0B,EACxC,gBAAgB,CAAC,EAAE,MAAM,GACvB,cAAc;IA2BjB,UAAU,IAAI,IAAI;IAOlB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,iBAAiB;CAazB"}
@@ -1,14 +1,14 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { PromptBuilder } from './prompt.js';
3
3
  export class ContextCache {
4
- threadId;
4
+ projectId;
5
5
  agentId;
6
6
  cachedPrompt;
7
7
  cachedConfigHash;
8
8
  cachedStaticSegment;
9
9
  cachedStaticHash;
10
10
  constructor(config) {
11
- this.threadId = config.threadId;
11
+ this.projectId = config.projectId;
12
12
  this.agentId = config.agentId;
13
13
  }
14
14
  getSystemPrompt(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"context-cache.js","sourceRoot":"","sources":["../../../src/runtime/query/context-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-cache.js","sourceRoot":"","sources":["../../../src/runtime/query/context-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAMxC,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAA;AAgBhE,MAAM,OAAO,YAAY;IACf,SAAS,CAAW;IACpB,OAAO,CAAQ;IAEhB,YAAY,CAAoB;IAChC,gBAAgB,CAAoB;IACpC,mBAAmB,CAAoB;IACvC,gBAAgB,CAAoB;IAE5C,YAAY,MAA0B;QACrC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,CAAC;IAED,eAAe,CAAC,KAAuB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,YAAY,CAAA;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YACjC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAA;IACzB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC7B,CAAC;IAED,YAAY,CAAC,KAAuB;QACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAA;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAA;IAC/D,CAAC;IAED,wBAAwB,CACvB,KAAuB,EACvB,eAAkC,MAAM,EACxC,gBAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAEhD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YACjC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;SAChC,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;QAEvE,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpF,OAAO;gBACN,MAAM,EAAE,IAAI,CAAC,mBAAmB;gBAChC,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAA;QACF,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC1C,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAA;QAElC,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;IAClC,CAAC;IAEO,iBAAiB,CAAC,KAAuB;QAChD,MAAM,KAAK,GAAa;YACvB,IAAI,CAAC,OAAO;YACZ,KAAK,CAAC,YAAY,IAAI,EAAE;YACxB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE;YACnC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE;YAC1C,KAAK,CAAC,UAAU,IAAI,EAAE;YACtB,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACpD,CAAA;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;IAEO,iBAAiB,CAAC,KAAuB;QAChD,MAAM,KAAK,GAAa;YACvB,IAAI,CAAC,OAAO;YACZ,KAAK,CAAC,YAAY,IAAI,EAAE;YACxB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE;YACnC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE;YAC1C,KAAK,CAAC,UAAU,IAAI,EAAE;YACtB,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;SAC7B,CAAA;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;CACD"}
@@ -4,27 +4,25 @@ import { type FilesystemMigrationResult, type FilesystemMigrationSink, type File
4
4
  import { type PathBuilder } from '../../session/workspace/path-builder.js';
5
5
  import { ActivityStore } from '../../store/activity/memory.js';
6
6
  import { type ActivityTrackingConfig } from '../../types/activity/index.js';
7
- import type { RunId, SessionId, TenantId, ThreadId } from '../../types/ids/index.js';
7
+ import type { RunId, SessionId, TenantId } from '../../types/ids/index.js';
8
8
  import type { Message } from '../../types/message/index.js';
9
9
  import type { PermissionMode } from '../../types/permission/index.js';
10
10
  import type { LLMProvider } from '../../types/provider/index.js';
11
11
  import type { AgentRunConfig } from '../../types/run/index.js';
12
- import type { ProjectId } from '../../types/session/ids.js';
12
+ import type { ProjectId, ThreadId } from '../../types/session/ids.js';
13
13
  import type { ModelPricing } from '../../utils/cost.js';
14
14
  import { type Logger } from '../../utils/logger.js';
15
15
  /**
16
- * Config accepted by {@link RunContextFactory.build}. Phase 6 promotes
17
- * `sessionId`, `projectId`, and `tenantId` to required — runs are scoped
18
- * under a Session within a Project within a Tenant (session-hierarchy.md
19
- * §12.1). `threadId` is retained only as a deprecated compat alias of
20
- * `projectId` — consumers can still pass it, but no new path layout honors it.
16
+ * Config accepted by {@link RunContextFactory.build}. `sessionId`,
17
+ * `threadId`, `projectId`, and `tenantId` are required — runs carry the full
18
+ * five-layer scope (Tenant Project Thread Session → Run) per
19
+ * Convention #17.
21
20
  *
22
21
  * `pathBuilder` is optional; when absent a {@link DefaultPathBuilder} is
23
- * constructed against `{workingDirectory}/.namzu` — no more hardcoded
24
- * `.namzu/threads` path.
22
+ * constructed against `{workingDirectory}/.namzu`.
25
23
  *
26
- * Phase 7 adds `filesystemMigrator` + `migrationSink`. These are also
27
- * optional; when absent a {@link DefaultFilesystemMigrator} wired to the
24
+ * `filesystemMigrator` + `migrationSink` are optional; when absent a
25
+ * {@link DefaultFilesystemMigrator} wired to the
28
26
  * {@link NOOP_FILESYSTEM_MIGRATION_SINK} is used. Migration runs once per
29
27
  * process via {@link RunContextFactory.ensureMigrated}; the static `build`
30
28
  * method stays synchronous so existing call sites are not broken — async
@@ -41,6 +39,7 @@ export interface RunContextConfig {
41
39
  messages: Message[];
42
40
  signal?: AbortSignal;
43
41
  sessionId: SessionId;
42
+ threadId: ThreadId;
44
43
  projectId: ProjectId;
45
44
  tenantId: TenantId;
46
45
  pathBuilder?: PathBuilder;
@@ -56,21 +55,13 @@ export interface RunContextConfig {
56
55
  parentRunId?: RunId;
57
56
  depth?: number;
58
57
  }
59
- /**
60
- * Result of {@link RunContextFactory.build}. `threadId` remains as a
61
- * deprecated read-only mirror of `projectId` for consumers still referencing
62
- * the old name — scheduled for removal in 0.3.0 (session-hierarchy.md §13.1).
63
- */
58
+ /** Result of {@link RunContextFactory.build}. */
64
59
  export interface RunContext {
65
60
  runId: RunId;
66
61
  sessionId: SessionId;
62
+ threadId: ThreadId;
67
63
  projectId: ProjectId;
68
64
  tenantId: TenantId;
69
- /**
70
- * @deprecated Mirrors `projectId` — remove when callers migrate off the
71
- * legacy name.
72
- */
73
- threadId: ThreadId;
74
65
  runMgr: RunPersistence;
75
66
  activityStore: ActivityStore;
76
67
  planManager: PlanManager;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAEN,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EAEvB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,KAAK,sBAAsB,EAA2B,MAAM,+BAA+B,CAAA;AACpG,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAElB,WAAW,CAAC,EAAE,WAAW,CAAA;IAEzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAEvC,yEAAyE;IACzE,aAAa,CAAC,EAAE,uBAAuB,CAAA;IAEvC,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,eAAe,EAAE,eAAe,CAAA;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,sBAAsB,CAAA;CACtC;AAWD,wDAAwD;AACxD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,qBAAa,iBAAiB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,kBAAkF,GAC1F,OAAO,CAAC,yBAAyB,CAAC;IAcrC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;CA4DlD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAEN,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EAEvB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,KAAK,sBAAsB,EAA2B,MAAM,+BAA+B,CAAA;AACpG,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAElE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAElB,WAAW,CAAC,EAAE,WAAW,CAAA;IAEzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAEvC,yEAAyE;IACzE,aAAa,CAAC,EAAE,uBAAuB,CAAA;IAEvC,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,eAAe,EAAE,eAAe,CAAA;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,sBAAsB,CAAA;CACtC;AAWD,wDAAwD;AACxD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,qBAAa,iBAAiB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,kBAAkF,GAC1F,OAAO,CAAC,yBAAyB,CAAC;IAcrC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;CA8DlD"}
@@ -56,6 +56,7 @@ export class RunContextFactory {
56
56
  agent: config.agentName,
57
57
  runId,
58
58
  sessionId: config.sessionId,
59
+ threadId: config.threadId,
59
60
  projectId: config.projectId,
60
61
  tenantId: config.tenantId,
61
62
  });
@@ -69,6 +70,7 @@ export class RunContextFactory {
69
70
  pricing: config.pricing,
70
71
  log,
71
72
  sessionId: config.sessionId,
73
+ threadId: config.threadId,
72
74
  tenantId: config.tenantId,
73
75
  projectId: config.projectId,
74
76
  parentRunId: config.parentRunId,
@@ -80,9 +82,9 @@ export class RunContextFactory {
80
82
  return {
81
83
  runId,
82
84
  sessionId: config.sessionId,
85
+ threadId: config.threadId,
83
86
  projectId: config.projectId,
84
87
  tenantId: config.tenantId,
85
- threadId: config.projectId,
86
88
  runMgr,
87
89
  activityStore,
88
90
  planManager,
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/query/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EACN,yBAAyB,EAIzB,8BAA8B,GAC9B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAoB,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAA+B,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAQpG,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAgFlE;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8C,CAAA;AAE/E,wDAAwD;AACxD,MAAM,UAAU,6BAA6B;IAC5C,iBAAiB,CAAC,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,OAAO,iBAAiB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACpB,OAAe,EACf,WAA+B,IAAI,yBAAyB,CAAC,8BAA8B,CAAC;QAE5F,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACzC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvC,qEAAqE;QACrE,uEAAuE;QACvE,kEAAkE;QAClE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YAClB,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAwB;QACpC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACvF,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACpD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,IAAI,MAAM,CAAA;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAA;QAE7C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;QACrF,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC,KAAK,CAAC;YACjC,SAAS,EAAE,OAAO;YAClB,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SACzB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YACjC,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC9B,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG;YACH,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,uBAAuB,CAAC,cAAc,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAA;QAC7F,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAC9D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;QAE1C,OAAO;YACN,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,SAAqB;YACtC,MAAM;YACN,aAAa;YACb,WAAW;YACX,eAAe;YACf,GAAG;YACH,SAAS;YACT,cAAc;YACd,GAAG;YACH,cAAc;SACd,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/query/context.ts"],"names":[],"mappings":"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"}