@agimon-ai/po-core 0.0.0-alpha.2 → 0.0.0-alpha.21

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 (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteSessionStorage.cjs","names":["BACKGROUND_CONTEXT","defineDoc","DatabaseSync","NodeSqliteDatabase","SqliteStorage","path","randomUUID","fs","openNodeSqliteDatabase","createSession"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, defineDoc, type Storage } from '@earendil-works/pi-durable';\nimport { SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { DirectHarnessRuntimeOptions } from '../../types/server/directHarnessRuntime';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\nexport const DURABLE_DIRECTORY = 'durable-v1';\n/** Public string identity belongs to Doom, not the durable numeric ID namespace. */\nexport const SessionIdentityDoc = defineDoc({\n kind: 'po.session.identity',\n version: 1,\n scope: 'session',\n initial: () => ({ id: '', createdAt: 0, parentSessionId: '' }),\n});\nexport const SessionMetadataDoc = defineDoc({\n kind: 'po.session.metadata',\n version: 1,\n scope: 'session',\n initial: () => ({ name: '', workspaceRoot: '', execution: '', laneName: 'main' }),\n});\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n const database = new DatabaseSync(file, { readOnly: true });\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n if (schema?.version !== 1) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(\n options: Pick<\n DirectHarnessRuntimeOptions,\n 'historyOwnership' | 'sessionsRoot' | 'sessionPath' | 'sessionId' | 'parentSessionId'\n >,\n context: Context,\n) {\n if (!options.historyOwnership) throw new Error('SQLite sessions require explicit HistoryOwnership');\n if (!options.sessionsRoot && !options.sessionPath) throw new Error('SQLite sessions require a server data directory');\n const id = options.sessionId ?? (options.sessionPath ? path.basename(options.sessionPath, '.sqlite') : randomUUID());\n if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error('Invalid SQLite session id');\n const sessionFile = path.resolve(\n options.sessionPath ?? path.join(options.sessionsRoot!, DURABLE_DIRECTORY, `${id}.sqlite`),\n );\n if (path.basename(path.dirname(sessionFile)) !== DURABLE_DIRECTORY || path.extname(sessionFile) !== '.sqlite')\n throw new Error('Unsupported or legacy SQLite session path');\n const existing = fs.existsSync(sessionFile);\n if (!existing && options.sessionsRoot && fs.existsSync(path.join(options.sessionsRoot, `${id}.sqlite`)))\n throw new Error('Legacy SQLite sessions are unsupported by fresh durable storage');\n if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n const identity = await session.snapshot(SessionIdentityDoc, context);\n if (existing && (!identity || identity.id !== id))\n throw new Error('SQLite session id does not match the requested session');\n if (!existing) {\n await session.commit(async (tx) => {\n const doc = await tx.doc(SessionIdentityDoc);\n doc.id = id;\n doc.createdAt = Date.now();\n doc.parentSessionId = options.parentSessionId ?? '';\n }, context);\n fs.chmodSync(sessionFile, 0o600);\n }\n const repository = { close: (closeContext: Context = context) => session.close(closeContext) };\n return { storage, session, sessionFile, repository, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAa,6BAA6BA,8BAAAA;AAE1C,MAAa,oBAAoB;;AAEjC,MAAa,sBAAA,GAAqBC,2BAAAA,UAAAA,CAAU;CAC1C,MAAM;CACN,SAAS;CACT,OAAO;CACP,gBAAgB;EAAE,IAAI;EAAI,WAAW;EAAG,iBAAiB;CAAG;AAC9D,CAAC;AACD,MAAa,sBAAA,GAAqBA,2BAAAA,UAAAA,CAAU;CAC1C,MAAM;CACN,SAAS;CACT,OAAO;CACP,gBAAgB;EAAE,MAAM;EAAI,eAAe;EAAI,WAAW;EAAI,UAAU;CAAO;AACjF,CAAC;;AAGD,SAAgB,2BAA2B,MAAoB;CAC7D,MAAM,WAAW,IAAIC,YAAAA,aAAa,MAAM,EAAE,UAAU,KAAK,CAAC;CAC1D,IAAI;EAEF,IADe,SAAS,QAAQ,wDAAwD,CAAC,CAAC,IACjF,CAAC,EAAE,YAAY,GAAG,MAAM,IAAI,MAAM,mCAAmC;EAC9E,MAAM,SAAS,SAAS,QAAQ,qDAAqD,CAAC,CAAC,IAAI;EAC3F,KAAK,MAAM,QAAQ;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,GACE,IAAI,CAAC,OAAO,MAAM,UAAU,MAAM,SAAS,IAAI,GAAG,MAAM,IAAI,MAAM,+BAA+B;CAErG,SAAS,OAAO;EACd,MAAM,IAAI,MAAM,+CAA+C,EAAE,MAAM,CAAC;CAC1E,UAAU;EACR,SAAS,MAAM;CACjB;AACF;;AAGA,eAAsB,2BAA2B,MAAgC;CAC/E,2BAA2B,IAAI;CAC/B,MAAM,SAAS,IAAIA,YAAAA,aAAa,MAAM,EAAE,UAAU,KAAK,CAAC;CACxD,MAAM,WAAW,IAAIC,+CAAAA,mBAAmB,MAAM;CAC9C,IAAI,SAAS;CACb,MAAM,QAAQ,YAAY;EACxB,IAAI,QAAQ;EAEZ,OAAO,MAAM;EACb,SAAS;CACX;CACA,IAAI;EAqBF,OAAO,MApBeC,0CAAAA,cAAc,KAAK;GACvC,OAAO,QAAQ,SAAS,KAAK,GAAG;GAChC,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD;GACA,cAAc,aACZ,SAAS;IACP,MAAM,OAAO,QAAQ;KACnB,IAAI,CAAC,gDAAgD,KAAK,GAAG,GAC3D,MAAM,IAAI,MAAM,2BAA2B;IAC/C;IACA,KAAK,OAAO,QAAQ;KAClB,IAAI,QAAQ,2EACV,MAAM,IAAI,MAAM,2BAA2B;IAC/C;IACA,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;IACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACtD,CAAC;EACL,CAAC;CAEH,SAAS,OAAO;EACd,IAAI;GACF,MAAM,MAAM;EACd,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,iDAAiD;EACnG;EACA,MAAM;CACR;AACF;;AAGA,eAAsB,yBACpB,SAIA,SACA;CACA,IAAI,CAAC,QAAQ,kBAAkB,MAAM,IAAI,MAAM,mDAAmD;CAClG,IAAI,CAAC,QAAQ,gBAAgB,CAAC,QAAQ,aAAa,MAAM,IAAI,MAAM,iDAAiD;CACpH,MAAM,KAAK,QAAQ,cAAc,QAAQ,cAAcC,UAAAA,QAAK,SAAS,QAAQ,aAAa,SAAS,KAAA,GAAIC,YAAAA,WAAAA,CAAW;CAClH,IAAI,CAAC,oBAAoB,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,2BAA2B;CAC9E,MAAM,cAAcD,UAAAA,QAAK,QACvB,QAAQ,eAAeA,UAAAA,QAAK,KAAK,QAAQ,cAAA,cAAkC,GAAG,GAAG,QAAQ,CAC3F;CACA,IAAIA,UAAAA,QAAK,SAASA,UAAAA,QAAK,QAAQ,WAAW,CAAC,MAAA,gBAA2BA,UAAAA,QAAK,QAAQ,WAAW,MAAM,WAClG,MAAM,IAAI,MAAM,2CAA2C;CAC7D,MAAM,WAAWE,QAAAA,QAAG,WAAW,WAAW;CAC1C,IAAI,CAAC,YAAY,QAAQ,gBAAgBA,QAAAA,QAAG,WAAWF,UAAAA,QAAK,KAAK,QAAQ,cAAc,GAAG,GAAG,QAAQ,CAAC,GACpG,MAAM,IAAI,MAAM,iEAAiE;CACnF,IAAI,QAAQ,eAAe,CAAC,UAAU,MAAM,IAAI,MAAM,6BAA6B,aAAa;CAChG,IAAI,UAAU,2BAA2B,WAAW;CACpD,QAAA,QAAG,UAAUA,UAAAA,QAAK,QAAQ,WAAW,GAAG;EAAE,WAAW;EAAM,MAAM;CAAM,CAAC;CACxE,MAAM,eAAe,MAAM,QAAQ,iBAAiB,QAAQ,WAAW;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI,sBAAsB;CAC1B,IAAI;EACF,MAAM,aAAa,gBAAgB;EACnC,IAAIE,QAAAA,QAAG,WAAW,WAAW,GAAG,2BAA2B,WAAW;EACtE,sBAAsB;EACtB,WAAW,OAAA,GAAMC,+CAAAA,uBAAAA,CAAuB,WAAW;EACnD,UAAU,MAAMJ,0CAAAA,cAAc,KAAK,QAAQ;EAC3C,MAAM,WAAA,GAAUK,2BAAAA,cAAAA,CAAc,OAAO;EACrC,MAAM,WAAW,MAAM,QAAQ,SAAS,oBAAoB,OAAO;EACnE,IAAI,aAAa,CAAC,YAAY,SAAS,OAAO,KAC5C,MAAM,IAAI,MAAM,wDAAwD;EAC1E,IAAI,CAAC,UAAU;GACb,MAAM,QAAQ,OAAO,OAAO,OAAO;IACjC,MAAM,MAAM,MAAM,GAAG,IAAI,kBAAkB;IAC3C,IAAI,KAAK;IACT,IAAI,YAAY,KAAK,IAAI;IACzB,IAAI,kBAAkB,QAAQ,mBAAmB;GACnD,GAAG,OAAO;GACV,QAAA,QAAG,UAAU,aAAa,GAAK;EACjC;EAEA,OAAO;GAAE;GAAS;GAAS;GAAa,YAAA,EADnB,QAAQ,eAAwB,YAAY,QAAQ,MAAM,YAAY,EAC1C;GAAG;EAAa;CACnE,SAAS,OAAO;EAEd,IAAI,uBAAuB,CAAC,UAAU,MAAM;EAC5C,IAAI;GACF,IAAI,SAAS,MAAM,QAAQ,MAAM,OAAO;QACnC,IAAI,UAAU,MAAM,SAAS,MAAM;EAC1C,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,8CAA8C;EAChG;EACA,IAAI;GACF,MAAM,aAAa,QAAQ;EAC7B,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,yCAAyC;EAC3F;EACA,MAAM;CACR;AACF"}
1
+ {"version":3,"file":"sqliteSessionStorage.cjs","names":["BACKGROUND_CONTEXT","fs","path","DatabaseSync","CURRENT_SQLITE_SCHEMA_VERSION","NodeSqliteDatabase","SqliteStorage","DURABLE_DIRECTORY","randomUUID","openNodeSqliteDatabase","createSession","initializeSessionIdentity"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, type Storage } from '@earendil-works/pi-durable';\nimport { CURRENT_SQLITE_SCHEMA_VERSION, SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { PoSessionStorageRequest } from '../../schemas/platform';\nimport { DURABLE_DIRECTORY, initializeSessionIdentity } from '../durableSession';\nimport type { HistoryOwnership } from '../historyOwnership/type';\n\nexport { DURABLE_DIRECTORY } from '../durableSession';\nexport { SessionIdentityDoc, SessionMetadataDoc } from '../durableSession/docs';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n if (!fs.existsSync(file)) throw new Error(`SQLite session not found: ${path.basename(file, '.sqlite')}`);\n const database = new DatabaseSync(file, { readOnly: true });\n let version: unknown;\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n version = schema?.version;\n // Read-only connections cannot migrate, so only the schema this pi-durable writes is accepted.\n if (version !== CURRENT_SQLITE_SCHEMA_VERSION) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n if (typeof version === 'number' && version > CURRENT_SQLITE_SCHEMA_VERSION)\n throw new Error('This session was written by a newer Po. Update Po to open it.', { cause });\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\nexport interface SqliteSessionStorageOptions extends PoSessionStorageRequest {\n /** The sessions directory the launching entry chose; files live under its `durable-v1`. */\n readonly sessionsRoot: string;\n readonly historyOwnership: HistoryOwnership;\n}\n\nconst SESSION_ID = /^[a-zA-Z0-9_-]+$/u;\n\n/** The durable-v1 file that holds one session. */\nexport function sqliteSessionFile(sessionsRoot: string, sessionId: string): string {\n if (!SESSION_ID.test(sessionId)) throw new Error('Invalid SQLite session id');\n return path.resolve(sessionsRoot, DURABLE_DIRECTORY, `${sessionId}.sqlite`);\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(options: SqliteSessionStorageOptions, context: Context) {\n const id = options.sessionId ?? randomUUID();\n const sessionFile = sqliteSessionFile(options.sessionsRoot, id);\n const existing = fs.existsSync(sessionFile);\n if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n await initializeSessionIdentity(session, { id, existing, parentSessionId: options.parentSessionId }, context);\n if (!existing) fs.chmodSync(sessionFile, 0o600);\n return { storage, session, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAa,6BAA6BA,8BAAAA;;AAG1C,SAAgB,2BAA2B,MAAoB;CAC7D,IAAI,CAACC,QAAAA,QAAG,WAAW,IAAI,GAAG,MAAM,IAAI,MAAM,6BAA6BC,UAAAA,QAAK,SAAS,MAAM,SAAS,GAAG;CACvG,MAAM,WAAW,IAAIC,YAAAA,aAAa,MAAM,EAAE,UAAU,KAAK,CAAC;CAC1D,IAAI;CACJ,IAAI;EAEF,UADe,SAAS,QAAQ,wDAAwD,CAAC,CAAC,IAC3E,CAAC,EAAE;EAElB,IAAI,YAAYC,0CAAAA,+BAA+B,MAAM,IAAI,MAAM,mCAAmC;EAClG,MAAM,SAAS,SAAS,QAAQ,qDAAqD,CAAC,CAAC,IAAI;EAC3F,KAAK,MAAM,QAAQ;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,GACE,IAAI,CAAC,OAAO,MAAM,UAAU,MAAM,SAAS,IAAI,GAAG,MAAM,IAAI,MAAM,+BAA+B;CAErG,SAAS,OAAO;EACd,IAAI,OAAO,YAAY,YAAY,UAAUA,0CAAAA,+BAC3C,MAAM,IAAI,MAAM,iEAAiE,EAAE,MAAM,CAAC;EAC5F,MAAM,IAAI,MAAM,+CAA+C,EAAE,MAAM,CAAC;CAC1E,UAAU;EACR,SAAS,MAAM;CACjB;AACF;;AAGA,eAAsB,2BAA2B,MAAgC;CAC/E,2BAA2B,IAAI;CAC/B,MAAM,SAAS,IAAID,YAAAA,aAAa,MAAM,EAAE,UAAU,KAAK,CAAC;CACxD,MAAM,WAAW,IAAIE,+CAAAA,mBAAmB,MAAM;CAC9C,IAAI,SAAS;CACb,MAAM,QAAQ,YAAY;EACxB,IAAI,QAAQ;EAEZ,OAAO,MAAM;EACb,SAAS;CACX;CACA,IAAI;EAqBF,OAAO,MApBeC,0CAAAA,cAAc,KAAK;GACvC,OAAO,QAAQ,SAAS,KAAK,GAAG;GAChC,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD;GACA,cAAc,aACZ,SAAS;IACP,MAAM,OAAO,QAAQ;KACnB,IAAI,CAAC,gDAAgD,KAAK,GAAG,GAC3D,MAAM,IAAI,MAAM,2BAA2B;IAC/C;IACA,KAAK,OAAO,QAAQ;KAClB,IAAI,QAAQ,2EACV,MAAM,IAAI,MAAM,2BAA2B;IAC/C;IACA,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;IACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACtD,CAAC;EACL,CAAC;CAEH,SAAS,OAAO;EACd,IAAI;GACF,MAAM,MAAM;EACd,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,iDAAiD;EACnG;EACA,MAAM;CACR;AACF;AAQA,MAAM,aAAa;;AAGnB,SAAgB,kBAAkB,cAAsB,WAA2B;CACjF,IAAI,CAAC,WAAW,KAAK,SAAS,GAAG,MAAM,IAAI,MAAM,2BAA2B;CAC5E,OAAOJ,UAAAA,QAAK,QAAQ,cAAcK,cAAAA,mBAAmB,GAAG,UAAU,QAAQ;AAC5E;;AAGA,eAAsB,yBAAyB,SAAsC,SAAkB;CACrG,MAAM,KAAK,QAAQ,cAAA,GAAaC,YAAAA,WAAAA,CAAW;CAC3C,MAAM,cAAc,kBAAkB,QAAQ,cAAc,EAAE;CAC9D,MAAM,WAAWP,QAAAA,QAAG,WAAW,WAAW;CAC1C,IAAI,QAAQ,YAAY,CAAC,UAAU,MAAM,IAAI,MAAM,6BAA6B,IAAI;CACpF,IAAI,UAAU,2BAA2B,WAAW;CACpD,QAAA,QAAG,UAAUC,UAAAA,QAAK,QAAQ,WAAW,GAAG;EAAE,WAAW;EAAM,MAAM;CAAM,CAAC;CACxE,MAAM,eAAe,MAAM,QAAQ,iBAAiB,QAAQ,WAAW;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI,sBAAsB;CAC1B,IAAI;EACF,MAAM,aAAa,gBAAgB;EACnC,IAAID,QAAAA,QAAG,WAAW,WAAW,GAAG,2BAA2B,WAAW;EACtE,sBAAsB;EACtB,WAAW,OAAA,GAAMQ,+CAAAA,uBAAAA,CAAuB,WAAW;EACnD,UAAU,MAAMH,0CAAAA,cAAc,KAAK,QAAQ;EAC3C,MAAM,WAAA,GAAUI,2BAAAA,cAAAA,CAAc,OAAO;EACrC,MAAMC,cAAAA,0BAA0B,SAAS;GAAE;GAAI;GAAU,iBAAiB,QAAQ;EAAgB,GAAG,OAAO;EAC5G,IAAI,CAAC,UAAU,QAAA,QAAG,UAAU,aAAa,GAAK;EAC9C,OAAO;GAAE;GAAS;GAAS;EAAa;CAC1C,SAAS,OAAO;EAEd,IAAI,uBAAuB,CAAC,UAAU,MAAM;EAC5C,IAAI;GACF,IAAI,SAAS,MAAM,QAAQ,MAAM,OAAO;QACnC,IAAI,UAAU,MAAM,SAAS,MAAM;EAC1C,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,8CAA8C;EAChG;EACA,IAAI;GACF,MAAM,aAAa,QAAQ;EAC7B,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,yCAAyC;EAC3F;EACA,MAAM;CACR;AACF"}
@@ -1,35 +1,28 @@
1
- import { HistoryOwnershipLease } from "./src/services/historyImport/index.mjs";
2
- import { DirectHarnessRuntimeOptions } from "./src/types/server/directHarnessRuntime.mjs";
1
+ import { PoSessionStorageRequest } from "./src/schemas/platform.mjs";
2
+ import { HistoryOwnership, HistoryOwnershipLease } from "./src/services/historyOwnership/type.mjs";
3
+ import { DURABLE_DIRECTORY } from "./src/services/durableSession/index.mjs";
4
+ import { SessionIdentityDoc, SessionMetadataDoc } from "./src/services/durableSession/docs.mjs";
3
5
  import { Storage } from "@earendil-works/pi-durable";
4
6
  import { Context } from "@earendil-works/chord";
5
7
  //#region src/services/sqliteSessionStorage/index.d.ts
6
8
  export declare const DURABLE_BACKGROUND_CONTEXT: Context;
7
- export declare const DURABLE_DIRECTORY = "durable-v1";
8
- /** Public string identity belongs to Doom, not the durable numeric ID namespace. */
9
- export declare const SessionIdentityDoc: import("@earendil-works/pi-durable").SessionDocToken<{
10
- id: string;
11
- createdAt: number;
12
- parentSessionId: string;
13
- }>;
14
- export declare const SessionMetadataDoc: import("@earendil-works/pi-durable").SessionDocToken<{
15
- name: string;
16
- workspaceRoot: string;
17
- execution: string;
18
- laneName: string;
19
- }>;
20
9
  /** Validate existing files without admitting a writer or applying schema upgrades. */
21
10
  export declare function validateDurableSessionFile(file: string): void;
22
11
  /** Completed histories use a read-only connection. Initialization cannot write or migrate. */
23
12
  export declare function openReadOnlyDurableStorage(file: string): Promise<Storage>;
13
+ export interface SqliteSessionStorageOptions extends PoSessionStorageRequest {
14
+ /** The sessions directory the launching entry chose; files live under its `durable-v1`. */
15
+ readonly sessionsRoot: string;
16
+ readonly historyOwnership: HistoryOwnership;
17
+ }
18
+ /** The durable-v1 file that holds one session. */
19
+ export declare function sqliteSessionFile(sessionsRoot: string, sessionId: string): string;
24
20
  /** Opens the one fresh-format SQLite container owned by a server session. */
25
- export declare function openSqliteSessionStorage(options: Pick<DirectHarnessRuntimeOptions, 'historyOwnership' | 'sessionsRoot' | 'sessionPath' | 'sessionId' | 'parentSessionId'>, context: Context): Promise<{
21
+ export declare function openSqliteSessionStorage(options: SqliteSessionStorageOptions, context: Context): Promise<{
26
22
  storage: Storage;
27
23
  session: import("@earendil-works/pi-durable").Session;
28
- sessionFile: string;
29
- repository: {
30
- close: (closeContext?: Context) => Promise<void>;
31
- };
32
24
  historyLease: HistoryOwnershipLease;
33
25
  }>;
34
26
  //#endregion
27
+ export { DURABLE_DIRECTORY, SessionIdentityDoc, SessionMetadataDoc };
35
28
  //# sourceMappingURL=sqliteSessionStorage.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteSessionStorage.d.mts","names":["_$___historyImport0.HistoryOwnershipLease"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"mappings":";;;;;qBAaa,4BAA0B;qBAE1B;;qBAEA,yDAAkB;;;;;qBAMlB,yDAAkB;;;;;;;wBAQf,2BAA2B;;wBA0BrB,2BAA2B,eAAe,QAAQ;;wBA4ClD,yBACpB,SAAS,KACP,qHAGF,SAAS,UAAO;;;;;IAwC6B,QAAA,eAAA,YAAO;;gBAAAA"}
1
+ {"version":3,"file":"sqliteSessionStorage.d.mts","names":["_$___historyOwnership_type0.HistoryOwnershipLease"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"mappings":";;;;;;;qBAkBa,4BAA0B;;wBAGvB,2BAA2B;;wBAgCrB,2BAA2B,eAAe,QAAQ;iBA2CvD,oCAAoC;;WAE1C;WACA,kBAAkB;;;wBAMb,kBAAkB,sBAAsB;;wBAMlC,yBAAyB,SAAS,6BAA6B,SAAS,UAAO"}
@@ -1,41 +1,23 @@
1
+ import { SessionIdentityDoc, SessionMetadataDoc } from "./src/services/durableSession/docs.mjs";
2
+ import { DURABLE_DIRECTORY, initializeSessionIdentity } from "./src/services/durableSession/index.mjs";
1
3
  import { randomUUID } from "node:crypto";
2
4
  import fs from "node:fs";
3
5
  import path from "node:path";
4
6
  import { DatabaseSync } from "node:sqlite";
5
- import { createSession, defineDoc } from "@earendil-works/pi-durable";
7
+ import { createSession } from "@earendil-works/pi-durable";
6
8
  import { BACKGROUND_CONTEXT } from "@earendil-works/chord/context";
7
- import { SqliteStorage } from "@earendil-works/pi-durable/storage/sqlite";
9
+ import { CURRENT_SQLITE_SCHEMA_VERSION, SqliteStorage } from "@earendil-works/pi-durable/storage/sqlite";
8
10
  import { NodeSqliteDatabase, openNodeSqliteDatabase } from "@earendil-works/pi-durable/storage/sqlite/node";
9
11
  //#region src/services/sqliteSessionStorage/index.ts
10
12
  const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;
11
- const DURABLE_DIRECTORY = "durable-v1";
12
- /** Public string identity belongs to Doom, not the durable numeric ID namespace. */
13
- const SessionIdentityDoc = defineDoc({
14
- kind: "po.session.identity",
15
- version: 1,
16
- scope: "session",
17
- initial: () => ({
18
- id: "",
19
- createdAt: 0,
20
- parentSessionId: ""
21
- })
22
- });
23
- const SessionMetadataDoc = defineDoc({
24
- kind: "po.session.metadata",
25
- version: 1,
26
- scope: "session",
27
- initial: () => ({
28
- name: "",
29
- workspaceRoot: "",
30
- execution: "",
31
- laneName: "main"
32
- })
33
- });
34
13
  /** Validate existing files without admitting a writer or applying schema upgrades. */
35
14
  function validateDurableSessionFile(file) {
15
+ if (!fs.existsSync(file)) throw new Error(`SQLite session not found: ${path.basename(file, ".sqlite")}`);
36
16
  const database = new DatabaseSync(file, { readOnly: true });
17
+ let version;
37
18
  try {
38
- if (database.prepare("SELECT version FROM durable_schema WHERE singleton = 1").get()?.version !== 1) throw new Error("Unsupported durable SQLite schema");
19
+ version = database.prepare("SELECT version FROM durable_schema WHERE singleton = 1").get()?.version;
20
+ if (version !== CURRENT_SQLITE_SCHEMA_VERSION) throw new Error("Unsupported durable SQLite schema");
39
21
  const tables = database.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all();
40
22
  for (const name of [
41
23
  "durable_metadata",
@@ -48,6 +30,7 @@ function validateDurableSessionFile(file) {
48
30
  "document_revisions"
49
31
  ]) if (!tables.some((table) => table.name === name)) throw new Error("Invalid durable SQLite schema");
50
32
  } catch (cause) {
33
+ if (typeof version === "number" && version > CURRENT_SQLITE_SCHEMA_VERSION) throw new Error("This session was written by a newer Po. Update Po to open it.", { cause });
51
34
  throw new Error("Unsupported or legacy SQLite session format", { cause });
52
35
  } finally {
53
36
  database.close();
@@ -91,17 +74,18 @@ async function openReadOnlyDurableStorage(file) {
91
74
  throw error;
92
75
  }
93
76
  }
77
+ const SESSION_ID = /^[a-zA-Z0-9_-]+$/u;
78
+ /** The durable-v1 file that holds one session. */
79
+ function sqliteSessionFile(sessionsRoot, sessionId) {
80
+ if (!SESSION_ID.test(sessionId)) throw new Error("Invalid SQLite session id");
81
+ return path.resolve(sessionsRoot, DURABLE_DIRECTORY, `${sessionId}.sqlite`);
82
+ }
94
83
  /** Opens the one fresh-format SQLite container owned by a server session. */
95
84
  async function openSqliteSessionStorage(options, context) {
96
- if (!options.historyOwnership) throw new Error("SQLite sessions require explicit HistoryOwnership");
97
- if (!options.sessionsRoot && !options.sessionPath) throw new Error("SQLite sessions require a server data directory");
98
- const id = options.sessionId ?? (options.sessionPath ? path.basename(options.sessionPath, ".sqlite") : randomUUID());
99
- if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error("Invalid SQLite session id");
100
- const sessionFile = path.resolve(options.sessionPath ?? path.join(options.sessionsRoot, "durable-v1", `${id}.sqlite`));
101
- if (path.basename(path.dirname(sessionFile)) !== "durable-v1" || path.extname(sessionFile) !== ".sqlite") throw new Error("Unsupported or legacy SQLite session path");
85
+ const id = options.sessionId ?? randomUUID();
86
+ const sessionFile = sqliteSessionFile(options.sessionsRoot, id);
102
87
  const existing = fs.existsSync(sessionFile);
103
- if (!existing && options.sessionsRoot && fs.existsSync(path.join(options.sessionsRoot, `${id}.sqlite`))) throw new Error("Legacy SQLite sessions are unsupported by fresh durable storage");
104
- if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);
88
+ if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);
105
89
  if (existing) validateDurableSessionFile(sessionFile);
106
90
  fs.mkdirSync(path.dirname(sessionFile), {
107
91
  recursive: true,
@@ -118,22 +102,15 @@ async function openSqliteSessionStorage(options, context) {
118
102
  database = await openNodeSqliteDatabase(sessionFile);
119
103
  storage = await SqliteStorage.open(database);
120
104
  const session = createSession(storage);
121
- const identity = await session.snapshot(SessionIdentityDoc, context);
122
- if (existing && (!identity || identity.id !== id)) throw new Error("SQLite session id does not match the requested session");
123
- if (!existing) {
124
- await session.commit(async (tx) => {
125
- const doc = await tx.doc(SessionIdentityDoc);
126
- doc.id = id;
127
- doc.createdAt = Date.now();
128
- doc.parentSessionId = options.parentSessionId ?? "";
129
- }, context);
130
- fs.chmodSync(sessionFile, 384);
131
- }
105
+ await initializeSessionIdentity(session, {
106
+ id,
107
+ existing,
108
+ parentSessionId: options.parentSessionId
109
+ }, context);
110
+ if (!existing) fs.chmodSync(sessionFile, 384);
132
111
  return {
133
112
  storage,
134
113
  session,
135
- sessionFile,
136
- repository: { close: (closeContext = context) => session.close(closeContext) },
137
114
  historyLease
138
115
  };
139
116
  } catch (error) {
@@ -153,6 +130,6 @@ async function openSqliteSessionStorage(options, context) {
153
130
  }
154
131
  }
155
132
  //#endregion
156
- export { DURABLE_BACKGROUND_CONTEXT, DURABLE_DIRECTORY, SessionIdentityDoc, SessionMetadataDoc, openReadOnlyDurableStorage, openSqliteSessionStorage, validateDurableSessionFile };
133
+ export { DURABLE_BACKGROUND_CONTEXT, DURABLE_DIRECTORY, SessionIdentityDoc, SessionMetadataDoc, openReadOnlyDurableStorage, openSqliteSessionStorage, sqliteSessionFile, validateDurableSessionFile };
157
134
 
158
135
  //# sourceMappingURL=sqliteSessionStorage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteSessionStorage.mjs","names":[],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, defineDoc, type Storage } from '@earendil-works/pi-durable';\nimport { SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { DirectHarnessRuntimeOptions } from '../../types/server/directHarnessRuntime';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\nexport const DURABLE_DIRECTORY = 'durable-v1';\n/** Public string identity belongs to Doom, not the durable numeric ID namespace. */\nexport const SessionIdentityDoc = defineDoc({\n kind: 'po.session.identity',\n version: 1,\n scope: 'session',\n initial: () => ({ id: '', createdAt: 0, parentSessionId: '' }),\n});\nexport const SessionMetadataDoc = defineDoc({\n kind: 'po.session.metadata',\n version: 1,\n scope: 'session',\n initial: () => ({ name: '', workspaceRoot: '', execution: '', laneName: 'main' }),\n});\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n const database = new DatabaseSync(file, { readOnly: true });\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n if (schema?.version !== 1) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(\n options: Pick<\n DirectHarnessRuntimeOptions,\n 'historyOwnership' | 'sessionsRoot' | 'sessionPath' | 'sessionId' | 'parentSessionId'\n >,\n context: Context,\n) {\n if (!options.historyOwnership) throw new Error('SQLite sessions require explicit HistoryOwnership');\n if (!options.sessionsRoot && !options.sessionPath) throw new Error('SQLite sessions require a server data directory');\n const id = options.sessionId ?? (options.sessionPath ? path.basename(options.sessionPath, '.sqlite') : randomUUID());\n if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error('Invalid SQLite session id');\n const sessionFile = path.resolve(\n options.sessionPath ?? path.join(options.sessionsRoot!, DURABLE_DIRECTORY, `${id}.sqlite`),\n );\n if (path.basename(path.dirname(sessionFile)) !== DURABLE_DIRECTORY || path.extname(sessionFile) !== '.sqlite')\n throw new Error('Unsupported or legacy SQLite session path');\n const existing = fs.existsSync(sessionFile);\n if (!existing && options.sessionsRoot && fs.existsSync(path.join(options.sessionsRoot, `${id}.sqlite`)))\n throw new Error('Legacy SQLite sessions are unsupported by fresh durable storage');\n if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n const identity = await session.snapshot(SessionIdentityDoc, context);\n if (existing && (!identity || identity.id !== id))\n throw new Error('SQLite session id does not match the requested session');\n if (!existing) {\n await session.commit(async (tx) => {\n const doc = await tx.doc(SessionIdentityDoc);\n doc.id = id;\n doc.createdAt = Date.now();\n doc.parentSessionId = options.parentSessionId ?? '';\n }, context);\n fs.chmodSync(sessionFile, 0o600);\n }\n const repository = { close: (closeContext: Context = context) => session.close(closeContext) };\n return { storage, session, sessionFile, repository, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;AAaA,MAAa,6BAA6B;AAE1C,MAAa,oBAAoB;;AAEjC,MAAa,qBAAqB,UAAU;CAC1C,MAAM;CACN,SAAS;CACT,OAAO;CACP,gBAAgB;EAAE,IAAI;EAAI,WAAW;EAAG,iBAAiB;CAAG;AAC9D,CAAC;AACD,MAAa,qBAAqB,UAAU;CAC1C,MAAM;CACN,SAAS;CACT,OAAO;CACP,gBAAgB;EAAE,MAAM;EAAI,eAAe;EAAI,WAAW;EAAI,UAAU;CAAO;AACjF,CAAC;;AAGD,SAAgB,2BAA2B,MAAoB;CAC7D,MAAM,WAAW,IAAI,aAAa,MAAM,EAAE,UAAU,KAAK,CAAC;CAC1D,IAAI;EAEF,IADe,SAAS,QAAQ,wDAAwD,CAAC,CAAC,IACjF,CAAC,EAAE,YAAY,GAAG,MAAM,IAAI,MAAM,mCAAmC;EAC9E,MAAM,SAAS,SAAS,QAAQ,qDAAqD,CAAC,CAAC,IAAI;EAC3F,KAAK,MAAM,QAAQ;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,GACE,IAAI,CAAC,OAAO,MAAM,UAAU,MAAM,SAAS,IAAI,GAAG,MAAM,IAAI,MAAM,+BAA+B;CAErG,SAAS,OAAO;EACd,MAAM,IAAI,MAAM,+CAA+C,EAAE,MAAM,CAAC;CAC1E,UAAU;EACR,SAAS,MAAM;CACjB;AACF;;AAGA,eAAsB,2BAA2B,MAAgC;CAC/E,2BAA2B,IAAI;CAC/B,MAAM,SAAS,IAAI,aAAa,MAAM,EAAE,UAAU,KAAK,CAAC;CACxD,MAAM,WAAW,IAAI,mBAAmB,MAAM;CAC9C,IAAI,SAAS;CACb,MAAM,QAAQ,YAAY;EACxB,IAAI,QAAQ;EAEZ,OAAO,MAAM;EACb,SAAS;CACX;CACA,IAAI;EAqBF,OAAO,MApBe,cAAc,KAAK;GACvC,OAAO,QAAQ,SAAS,KAAK,GAAG;GAChC,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACpD;GACA,cAAc,aACZ,SAAS;IACP,MAAM,OAAO,QAAQ;KACnB,IAAI,CAAC,gDAAgD,KAAK,GAAG,GAC3D,MAAM,IAAI,MAAM,2BAA2B;IAC/C;IACA,KAAK,OAAO,QAAQ;KAClB,IAAI,QAAQ,2EACV,MAAM,IAAI,MAAM,2BAA2B;IAC/C;IACA,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;IACpD,MAAM,KAAK,GAAG,WAAW,SAAS,IAAI,KAAK,GAAG,MAAM;GACtD,CAAC;EACL,CAAC;CAEH,SAAS,OAAO;EACd,IAAI;GACF,MAAM,MAAM;EACd,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,iDAAiD;EACnG;EACA,MAAM;CACR;AACF;;AAGA,eAAsB,yBACpB,SAIA,SACA;CACA,IAAI,CAAC,QAAQ,kBAAkB,MAAM,IAAI,MAAM,mDAAmD;CAClG,IAAI,CAAC,QAAQ,gBAAgB,CAAC,QAAQ,aAAa,MAAM,IAAI,MAAM,iDAAiD;CACpH,MAAM,KAAK,QAAQ,cAAc,QAAQ,cAAc,KAAK,SAAS,QAAQ,aAAa,SAAS,IAAI,WAAW;CAClH,IAAI,CAAC,oBAAoB,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,2BAA2B;CAC9E,MAAM,cAAc,KAAK,QACvB,QAAQ,eAAe,KAAK,KAAK,QAAQ,cAAA,cAAkC,GAAG,GAAG,QAAQ,CAC3F;CACA,IAAI,KAAK,SAAS,KAAK,QAAQ,WAAW,CAAC,MAAA,gBAA2B,KAAK,QAAQ,WAAW,MAAM,WAClG,MAAM,IAAI,MAAM,2CAA2C;CAC7D,MAAM,WAAW,GAAG,WAAW,WAAW;CAC1C,IAAI,CAAC,YAAY,QAAQ,gBAAgB,GAAG,WAAW,KAAK,KAAK,QAAQ,cAAc,GAAG,GAAG,QAAQ,CAAC,GACpG,MAAM,IAAI,MAAM,iEAAiE;CACnF,IAAI,QAAQ,eAAe,CAAC,UAAU,MAAM,IAAI,MAAM,6BAA6B,aAAa;CAChG,IAAI,UAAU,2BAA2B,WAAW;CACpD,GAAG,UAAU,KAAK,QAAQ,WAAW,GAAG;EAAE,WAAW;EAAM,MAAM;CAAM,CAAC;CACxE,MAAM,eAAe,MAAM,QAAQ,iBAAiB,QAAQ,WAAW;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI,sBAAsB;CAC1B,IAAI;EACF,MAAM,aAAa,gBAAgB;EACnC,IAAI,GAAG,WAAW,WAAW,GAAG,2BAA2B,WAAW;EACtE,sBAAsB;EACtB,WAAW,MAAM,uBAAuB,WAAW;EACnD,UAAU,MAAM,cAAc,KAAK,QAAQ;EAC3C,MAAM,UAAU,cAAc,OAAO;EACrC,MAAM,WAAW,MAAM,QAAQ,SAAS,oBAAoB,OAAO;EACnE,IAAI,aAAa,CAAC,YAAY,SAAS,OAAO,KAC5C,MAAM,IAAI,MAAM,wDAAwD;EAC1E,IAAI,CAAC,UAAU;GACb,MAAM,QAAQ,OAAO,OAAO,OAAO;IACjC,MAAM,MAAM,MAAM,GAAG,IAAI,kBAAkB;IAC3C,IAAI,KAAK;IACT,IAAI,YAAY,KAAK,IAAI;IACzB,IAAI,kBAAkB,QAAQ,mBAAmB;GACnD,GAAG,OAAO;GACV,GAAG,UAAU,aAAa,GAAK;EACjC;EAEA,OAAO;GAAE;GAAS;GAAS;GAAa,YAAA,EADnB,QAAQ,eAAwB,YAAY,QAAQ,MAAM,YAAY,EAC1C;GAAG;EAAa;CACnE,SAAS,OAAO;EAEd,IAAI,uBAAuB,CAAC,UAAU,MAAM;EAC5C,IAAI;GACF,IAAI,SAAS,MAAM,QAAQ,MAAM,OAAO;QACnC,IAAI,UAAU,MAAM,SAAS,MAAM;EAC1C,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,8CAA8C;EAChG;EACA,IAAI;GACF,MAAM,aAAa,QAAQ;EAC7B,SAAS,cAAc;GACrB,MAAM,IAAI,eAAe,CAAC,OAAO,YAAY,GAAG,yCAAyC;EAC3F;EACA,MAAM;CACR;AACF"}
1
+ {"version":3,"file":"sqliteSessionStorage.mjs","names":[],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, type Storage } from '@earendil-works/pi-durable';\nimport { CURRENT_SQLITE_SCHEMA_VERSION, SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { PoSessionStorageRequest } from '../../schemas/platform';\nimport { DURABLE_DIRECTORY, initializeSessionIdentity } from '../durableSession';\nimport type { HistoryOwnership } from '../historyOwnership/type';\n\nexport { DURABLE_DIRECTORY } from '../durableSession';\nexport { SessionIdentityDoc, SessionMetadataDoc } from '../durableSession/docs';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n if (!fs.existsSync(file)) throw new Error(`SQLite session not found: ${path.basename(file, '.sqlite')}`);\n const database = new DatabaseSync(file, { readOnly: true });\n let version: unknown;\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n version = schema?.version;\n // Read-only connections cannot migrate, so only the schema this pi-durable writes is accepted.\n if (version !== CURRENT_SQLITE_SCHEMA_VERSION) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n if (typeof version === 'number' && version > CURRENT_SQLITE_SCHEMA_VERSION)\n throw new Error('This session was written by a newer Po. Update Po to open it.', { cause });\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\nexport interface SqliteSessionStorageOptions extends PoSessionStorageRequest {\n /** The sessions directory the launching entry chose; files live under its `durable-v1`. */\n readonly sessionsRoot: string;\n readonly historyOwnership: HistoryOwnership;\n}\n\nconst SESSION_ID = /^[a-zA-Z0-9_-]+$/u;\n\n/** The durable-v1 file that holds one session. */\nexport function sqliteSessionFile(sessionsRoot: string, sessionId: string): string {\n if (!SESSION_ID.test(sessionId)) throw new Error('Invalid SQLite session id');\n return path.resolve(sessionsRoot, DURABLE_DIRECTORY, `${sessionId}.sqlite`);\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(options: SqliteSessionStorageOptions, context: Context) {\n const id = options.sessionId ?? randomUUID();\n const sessionFile = sqliteSessionFile(options.sessionsRoot, id);\n const existing = fs.existsSync(sessionFile);\n if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n await initializeSessionIdentity(session, { id, existing, parentSessionId: options.parentSessionId }, context);\n if (!existing) fs.chmodSync(sessionFile, 0o600);\n return { storage, session, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ //#region src/constants/agentSettled.ts
2
+ /** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */
3
+ const AGENT_SETTLED_ENTRY_TYPE = "po.agent-settled";
4
+ //#endregion
5
+ exports.AGENT_SETTLED_ENTRY_TYPE = AGENT_SETTLED_ENTRY_TYPE;
6
+
7
+ //# sourceMappingURL=agentSettled.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentSettled.cjs","names":[],"sources":["../../../src/constants/agentSettled.ts"],"sourcesContent":["/** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */\nexport const AGENT_SETTLED_ENTRY_TYPE = 'po.agent-settled';\n"],"mappings":";;AACA,MAAa,2BAA2B"}
@@ -0,0 +1,7 @@
1
+ //#region src/constants/agentSettled.ts
2
+ /** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */
3
+ const AGENT_SETTLED_ENTRY_TYPE = "po.agent-settled";
4
+ //#endregion
5
+ export { AGENT_SETTLED_ENTRY_TYPE };
6
+
7
+ //# sourceMappingURL=agentSettled.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentSettled.mjs","names":[],"sources":["../../../src/constants/agentSettled.ts"],"sourcesContent":["/** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */\nexport const AGENT_SETTLED_ENTRY_TYPE = 'po.agent-settled';\n"],"mappings":";;AACA,MAAa,2BAA2B"}
@@ -14,15 +14,17 @@ const API_BASE_PATH = "context";
14
14
  /** The session a proxied request belongs to; the hub strips it before forwarding. */
15
15
  const SESSION_QUERY_PARAM = "session";
16
16
  const ITEM_ROUTE = "/item";
17
+ const CURRENT_ROUTE = "/current";
17
18
  const NAME_QUERY_PARAM = "name";
18
19
  const KIND_QUERY_PARAM = "kind";
19
20
  const CONTEXT_DETAIL_VERSION = 1;
20
21
  /** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */
21
- const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "doom-context-tool-warnings";
22
+ const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "po-context-tool-warnings";
22
23
  //#endregion
23
24
  exports.API_BASE_PATH = API_BASE_PATH;
24
25
  exports.CONTEXT_DETAIL_VERSION = CONTEXT_DETAIL_VERSION;
25
26
  exports.CONTEXT_TOOL_WARNINGS_STATUS_KEY = CONTEXT_TOOL_WARNINGS_STATUS_KEY;
27
+ exports.CURRENT_ROUTE = CURRENT_ROUTE;
26
28
  exports.ITEM_ROUTE = ITEM_ROUTE;
27
29
  exports.KIND_QUERY_PARAM = KIND_QUERY_PARAM;
28
30
  exports.NAME_QUERY_PARAM = NAME_QUERY_PARAM;
@@ -1 +1 @@
1
- {"version":3,"file":"contextApi.cjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = 'doom-context-tool-warnings';\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,gBAAgB;;AAG7B,MAAa,sBAAsB;AAEnC,MAAa,aAAa;AAE1B,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB;AAEhC,MAAa,yBAAyB;;AAGtC,MAAa,mCAAmC"}
1
+ {"version":3,"file":"contextApi.cjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const CURRENT_ROUTE = '/current';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = 'po-context-tool-warnings';\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,gBAAgB;;AAG7B,MAAa,sBAAsB;AAEnC,MAAa,aAAa;AAE1B,MAAa,gBAAgB;AAE7B,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB;AAEhC,MAAa,yBAAyB;;AAGtC,MAAa,mCAAmC"}
@@ -14,10 +14,11 @@ export declare const API_BASE_PATH = "context";
14
14
  /** The session a proxied request belongs to; the hub strips it before forwarding. */
15
15
  export declare const SESSION_QUERY_PARAM = "session";
16
16
  export declare const ITEM_ROUTE = "/item";
17
+ export declare const CURRENT_ROUTE = "/current";
17
18
  export declare const NAME_QUERY_PARAM = "name";
18
19
  export declare const KIND_QUERY_PARAM = "kind";
19
20
  export declare const CONTEXT_DETAIL_VERSION = 1;
20
21
  /** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */
21
- export declare const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "doom-context-tool-warnings";
22
+ export declare const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "po-context-tool-warnings";
22
23
  //#endregion
23
24
  //# sourceMappingURL=contextApi.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextApi.d.mts","names":[],"sources":["../../../src/constants/contextApi.ts"],"mappings":";;;;;;;;;;;;qBAYa;;qBAGA;qBAEA;qBAEA;qBAEA;qBAEA;;qBAGA"}
1
+ {"version":3,"file":"contextApi.d.mts","names":[],"sources":["../../../src/constants/contextApi.ts"],"mappings":";;;;;;;;;;;;qBAYa;;qBAGA;qBAEA;qBAEA;qBAEA;qBAEA;qBAEA;;qBAGA"}
@@ -14,12 +14,13 @@ const API_BASE_PATH = "context";
14
14
  /** The session a proxied request belongs to; the hub strips it before forwarding. */
15
15
  const SESSION_QUERY_PARAM = "session";
16
16
  const ITEM_ROUTE = "/item";
17
+ const CURRENT_ROUTE = "/current";
17
18
  const NAME_QUERY_PARAM = "name";
18
19
  const KIND_QUERY_PARAM = "kind";
19
20
  const CONTEXT_DETAIL_VERSION = 1;
20
21
  /** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */
21
- const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "doom-context-tool-warnings";
22
+ const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "po-context-tool-warnings";
22
23
  //#endregion
23
- export { API_BASE_PATH, CONTEXT_DETAIL_VERSION, CONTEXT_TOOL_WARNINGS_STATUS_KEY, ITEM_ROUTE, KIND_QUERY_PARAM, NAME_QUERY_PARAM, SESSION_QUERY_PARAM };
24
+ export { API_BASE_PATH, CONTEXT_DETAIL_VERSION, CONTEXT_TOOL_WARNINGS_STATUS_KEY, CURRENT_ROUTE, ITEM_ROUTE, KIND_QUERY_PARAM, NAME_QUERY_PARAM, SESSION_QUERY_PARAM };
24
25
 
25
26
  //# sourceMappingURL=contextApi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextApi.mjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = 'doom-context-tool-warnings';\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,gBAAgB;;AAG7B,MAAa,sBAAsB;AAEnC,MAAa,aAAa;AAE1B,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB;AAEhC,MAAa,yBAAyB;;AAGtC,MAAa,mCAAmC"}
1
+ {"version":3,"file":"contextApi.mjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const CURRENT_ROUTE = '/current';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = 'po-context-tool-warnings';\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,gBAAgB;;AAG7B,MAAa,sBAAsB;AAEnC,MAAa,aAAa;AAE1B,MAAa,gBAAgB;AAE7B,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB;AAEhC,MAAa,yBAAyB;;AAGtC,MAAa,mCAAmC"}
@@ -1,5 +1,5 @@
1
1
  //#region src/constants/voiceTools.ts
2
- const DOOM_VOICE_TOOLS_SERVICE = "doom/voice-tools";
2
+ const PO_VOICE_TOOLS_SERVICE = "po/voice-tools";
3
3
  const VOICE_DESCRIBE_TOOL_NAME = "describe_voice_tools";
4
4
  const VOICE_USE_TOOL_NAME = "use_voice_tools";
5
5
  const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME];
@@ -52,13 +52,13 @@ const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;
52
52
  const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;
53
53
  const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;
54
54
  const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;
55
- const DOOM_VOICE_SOURCE = "@agimon-ai/po-voice";
56
- const DOOM_VOICE_AUTO_MODE_ID = "voice-auto";
55
+ const PO_VOICE_SOURCE = "@agimon-ai/po-voice";
56
+ const PO_VOICE_AUTO_MODE_ID = "voice-auto";
57
57
  //#endregion
58
- exports.DOOM_VOICE_AUTO_MODE_ID = DOOM_VOICE_AUTO_MODE_ID;
59
- exports.DOOM_VOICE_SOURCE = DOOM_VOICE_SOURCE;
60
- exports.DOOM_VOICE_TOOLS_SERVICE = DOOM_VOICE_TOOLS_SERVICE;
61
58
  exports.MAX_ORDER = MAX_ORDER;
59
+ exports.PO_VOICE_AUTO_MODE_ID = PO_VOICE_AUTO_MODE_ID;
60
+ exports.PO_VOICE_SOURCE = PO_VOICE_SOURCE;
61
+ exports.PO_VOICE_TOOLS_SERVICE = PO_VOICE_TOOLS_SERVICE;
62
62
  exports.SAFE_IDENTIFIER = SAFE_IDENTIFIER;
63
63
  exports.SAFE_NAME = SAFE_NAME;
64
64
  exports.VOICE_DESCRIBE_TOOL_NAME = VOICE_DESCRIBE_TOOL_NAME;
@@ -1 +1 @@
1
- {"version":3,"file":"voiceTools.cjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const DOOM_VOICE_TOOLS_SERVICE = 'doom/voice-tools';\nexport const VOICE_DESCRIBE_TOOL_NAME = 'describe_voice_tools' as const;\nexport const VOICE_USE_TOOL_NAME = 'use_voice_tools' as const;\nexport const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME] as const;\nexport const VOICE_NARRATE_TOOL_NAME = 'narrate' as const;\nexport const VOICE_MODE_TOOL_NAMES = [...VOICE_FACADE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME] as const;\nexport const VOICE_TOOL_DEFAULT_TIMEOUT_MS = 10_000;\nexport const VOICE_TOOL_MAX_TIMEOUT_MS = 30_000;\nexport const VOICE_TOOL_MAX_BATCH_ITEMS = 16;\nexport const VOICE_TOOL_MAX_INPUT_BYTES = 64 * 1024;\nexport const VOICE_TOOL_MAX_BATCH_BYTES = 256 * 1024;\nexport const VOICE_TOOL_MAX_SCHEMA_BYTES = 32 * 1024;\nexport const VOICE_TOOL_MAX_JSON_DEPTH = 16;\nexport const VOICE_TOOL_TERMINAL_OPERATION_LIMIT = 256;\nexport const VOICE_TOOL_MAX_IDENTIFIER_LENGTH = 128;\nexport const VOICE_TOOL_MAX_LABEL_LENGTH = 96;\nexport const VOICE_TOOL_MAX_DESCRIPTION_LENGTH = 240;\nexport const VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = 240;\nexport const VOICE_TOOL_MAX_DOMAIN_COUNT = 32;\nexport const SAFE_IDENTIFIER = /^[A-Za-z0-9@][A-Za-z0-9@/._:-]*$/u;\nexport const SAFE_NAME = /^[a-z][a-z0-9_:-]*$/u;\nexport const MAX_ORDER = 1_000;\nexport const VOICE_TOOL_ERROR_CODE = {\n hostUnavailable: 'VOICE_TOOL_HOST_UNAVAILABLE',\n inactive: 'VOICE_TOOL_INACTIVE',\n staleSession: 'VOICE_TOOL_STALE_SESSION',\n staleCatalog: 'VOICE_TOOL_STALE_CATALOG',\n notFound: 'VOICE_TOOL_NOT_FOUND',\n nameConflict: 'VOICE_TOOL_NAME_CONFLICT',\n invalidInput: 'VOICE_TOOL_INVALID_INPUT',\n invalidResult: 'VOICE_TOOL_INVALID_RESULT',\n executionFailed: 'VOICE_TOOL_EXECUTION_FAILED',\n timeout: 'VOICE_TOOL_TIMEOUT',\n aborted: 'VOICE_TOOL_ABORTED',\n cancelled: 'VOICE_TOOL_CANCELLED',\n registrationDisposed: 'VOICE_TOOL_REGISTRATION_DISPOSED',\n sessionShutdown: 'VOICE_TOOL_SESSION_SHUTDOWN',\n batchStopped: 'VOICE_TOOL_BATCH_STOPPED',\n reloadQueued: 'VOICE_TOOL_RELOAD_QUEUED',\n invalidRequest: 'VOICE_TOOL_INVALID_REQUEST',\n} as const;\nexport const VOICE_TOOL_HOST_UNAVAILABLE = VOICE_TOOL_ERROR_CODE.hostUnavailable;\nexport const VOICE_TOOL_INACTIVE = VOICE_TOOL_ERROR_CODE.inactive;\nexport const VOICE_TOOL_STALE_SESSION = VOICE_TOOL_ERROR_CODE.staleSession;\nexport const VOICE_TOOL_STALE_CATALOG = VOICE_TOOL_ERROR_CODE.staleCatalog;\nexport const VOICE_TOOL_NOT_FOUND = VOICE_TOOL_ERROR_CODE.notFound;\nexport const VOICE_TOOL_NAME_CONFLICT = VOICE_TOOL_ERROR_CODE.nameConflict;\nexport const VOICE_TOOL_INVALID_INPUT = VOICE_TOOL_ERROR_CODE.invalidInput;\nexport const VOICE_TOOL_INVALID_RESULT = VOICE_TOOL_ERROR_CODE.invalidResult;\nexport const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;\nexport const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;\nexport const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;\nexport const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;\n\nexport const DOOM_VOICE_SOURCE = '@agimon-ai/po-voice';\nexport const DOOM_VOICE_AUTO_MODE_ID = 'voice-auto';\n"],"mappings":";AAAA,MAAa,2BAA2B;AACxC,MAAa,2BAA2B;AACxC,MAAa,sBAAsB;AACnC,MAAa,0BAA0B,CAAC,0BAA0B,mBAAmB;AACrF,MAAa,0BAA0B;AACvC,MAAa,wBAAwB,CAAC,GAAG,yBAAyB,uBAAuB;AACzF,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,8BAA8B;AAC3C,MAAa,4BAA4B;AACzC,MAAa,sCAAsC;AACnD,MAAa,mCAAmC;AAChD,MAAa,8BAA8B;AAC3C,MAAa,oCAAoC;AACjD,MAAa,sCAAsC;AACnD,MAAa,8BAA8B;AAC3C,MAAa,kBAAkB;AAC/B,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,wBAAwB;CACnC,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,cAAc;CACd,UAAU;CACV,cAAc;CACd,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT,SAAS;CACT,WAAW;CACX,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,cAAc;CACd,gBAAgB;AAClB;AACA,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,sBAAsB,sBAAsB;AACzD,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,uBAAuB,sBAAsB;AAC1D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,4BAA4B,sBAAsB;AAC/D,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,2BAA2B,sBAAsB;AAE9D,MAAa,oBAAoB;AACjC,MAAa,0BAA0B"}
1
+ {"version":3,"file":"voiceTools.cjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const PO_VOICE_TOOLS_SERVICE = 'po/voice-tools';\nexport const VOICE_DESCRIBE_TOOL_NAME = 'describe_voice_tools' as const;\nexport const VOICE_USE_TOOL_NAME = 'use_voice_tools' as const;\nexport const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME] as const;\nexport const VOICE_NARRATE_TOOL_NAME = 'narrate' as const;\nexport const VOICE_MODE_TOOL_NAMES = [...VOICE_FACADE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME] as const;\nexport const VOICE_TOOL_DEFAULT_TIMEOUT_MS = 10_000;\nexport const VOICE_TOOL_MAX_TIMEOUT_MS = 30_000;\nexport const VOICE_TOOL_MAX_BATCH_ITEMS = 16;\nexport const VOICE_TOOL_MAX_INPUT_BYTES = 64 * 1024;\nexport const VOICE_TOOL_MAX_BATCH_BYTES = 256 * 1024;\nexport const VOICE_TOOL_MAX_SCHEMA_BYTES = 32 * 1024;\nexport const VOICE_TOOL_MAX_JSON_DEPTH = 16;\nexport const VOICE_TOOL_TERMINAL_OPERATION_LIMIT = 256;\nexport const VOICE_TOOL_MAX_IDENTIFIER_LENGTH = 128;\nexport const VOICE_TOOL_MAX_LABEL_LENGTH = 96;\nexport const VOICE_TOOL_MAX_DESCRIPTION_LENGTH = 240;\nexport const VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = 240;\nexport const VOICE_TOOL_MAX_DOMAIN_COUNT = 32;\nexport const SAFE_IDENTIFIER = /^[A-Za-z0-9@][A-Za-z0-9@/._:-]*$/u;\nexport const SAFE_NAME = /^[a-z][a-z0-9_:-]*$/u;\nexport const MAX_ORDER = 1_000;\nexport const VOICE_TOOL_ERROR_CODE = {\n hostUnavailable: 'VOICE_TOOL_HOST_UNAVAILABLE',\n inactive: 'VOICE_TOOL_INACTIVE',\n staleSession: 'VOICE_TOOL_STALE_SESSION',\n staleCatalog: 'VOICE_TOOL_STALE_CATALOG',\n notFound: 'VOICE_TOOL_NOT_FOUND',\n nameConflict: 'VOICE_TOOL_NAME_CONFLICT',\n invalidInput: 'VOICE_TOOL_INVALID_INPUT',\n invalidResult: 'VOICE_TOOL_INVALID_RESULT',\n executionFailed: 'VOICE_TOOL_EXECUTION_FAILED',\n timeout: 'VOICE_TOOL_TIMEOUT',\n aborted: 'VOICE_TOOL_ABORTED',\n cancelled: 'VOICE_TOOL_CANCELLED',\n registrationDisposed: 'VOICE_TOOL_REGISTRATION_DISPOSED',\n sessionShutdown: 'VOICE_TOOL_SESSION_SHUTDOWN',\n batchStopped: 'VOICE_TOOL_BATCH_STOPPED',\n reloadQueued: 'VOICE_TOOL_RELOAD_QUEUED',\n invalidRequest: 'VOICE_TOOL_INVALID_REQUEST',\n} as const;\nexport const VOICE_TOOL_HOST_UNAVAILABLE = VOICE_TOOL_ERROR_CODE.hostUnavailable;\nexport const VOICE_TOOL_INACTIVE = VOICE_TOOL_ERROR_CODE.inactive;\nexport const VOICE_TOOL_STALE_SESSION = VOICE_TOOL_ERROR_CODE.staleSession;\nexport const VOICE_TOOL_STALE_CATALOG = VOICE_TOOL_ERROR_CODE.staleCatalog;\nexport const VOICE_TOOL_NOT_FOUND = VOICE_TOOL_ERROR_CODE.notFound;\nexport const VOICE_TOOL_NAME_CONFLICT = VOICE_TOOL_ERROR_CODE.nameConflict;\nexport const VOICE_TOOL_INVALID_INPUT = VOICE_TOOL_ERROR_CODE.invalidInput;\nexport const VOICE_TOOL_INVALID_RESULT = VOICE_TOOL_ERROR_CODE.invalidResult;\nexport const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;\nexport const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;\nexport const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;\nexport const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;\n\nexport const PO_VOICE_SOURCE = '@agimon-ai/po-voice';\nexport const PO_VOICE_AUTO_MODE_ID = 'voice-auto';\n"],"mappings":";AAAA,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,sBAAsB;AACnC,MAAa,0BAA0B,CAAC,0BAA0B,mBAAmB;AACrF,MAAa,0BAA0B;AACvC,MAAa,wBAAwB,CAAC,GAAG,yBAAyB,uBAAuB;AACzF,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,8BAA8B;AAC3C,MAAa,4BAA4B;AACzC,MAAa,sCAAsC;AACnD,MAAa,mCAAmC;AAChD,MAAa,8BAA8B;AAC3C,MAAa,oCAAoC;AACjD,MAAa,sCAAsC;AACnD,MAAa,8BAA8B;AAC3C,MAAa,kBAAkB;AAC/B,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,wBAAwB;CACnC,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,cAAc;CACd,UAAU;CACV,cAAc;CACd,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT,SAAS;CACT,WAAW;CACX,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,cAAc;CACd,gBAAgB;AAClB;AACA,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,sBAAsB,sBAAsB;AACzD,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,uBAAuB,sBAAsB;AAC1D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,4BAA4B,sBAAsB;AAC/D,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,2BAA2B,sBAAsB;AAE9D,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB"}
@@ -1,5 +1,5 @@
1
1
  //#region src/constants/voiceTools.d.ts
2
- export declare const DOOM_VOICE_TOOLS_SERVICE = "doom/voice-tools";
2
+ export declare const PO_VOICE_TOOLS_SERVICE = "po/voice-tools";
3
3
  export declare const VOICE_DESCRIBE_TOOL_NAME: 'describe_voice_tools';
4
4
  export declare const VOICE_USE_TOOL_NAME: 'use_voice_tools';
5
5
  export declare const VOICE_FACADE_TOOL_NAMES: readonly ["describe_voice_tools", "use_voice_tools"];
@@ -52,7 +52,7 @@ export declare const VOICE_TOOL_TIMEOUT: "VOICE_TOOL_TIMEOUT";
52
52
  export declare const VOICE_TOOL_ABORTED: "VOICE_TOOL_ABORTED";
53
53
  export declare const VOICE_TOOL_EXECUTION_FAILED: "VOICE_TOOL_EXECUTION_FAILED";
54
54
  export declare const VOICE_TOOL_BATCH_STOPPED: "VOICE_TOOL_BATCH_STOPPED";
55
- export declare const DOOM_VOICE_SOURCE = "@agimon-ai/po-voice";
56
- export declare const DOOM_VOICE_AUTO_MODE_ID = "voice-auto";
55
+ export declare const PO_VOICE_SOURCE = "@agimon-ai/po-voice";
56
+ export declare const PO_VOICE_AUTO_MODE_ID = "voice-auto";
57
57
  //#endregion
58
58
  //# sourceMappingURL=voiceTools.d.mts.map
@@ -1,5 +1,5 @@
1
1
  //#region src/constants/voiceTools.ts
2
- const DOOM_VOICE_TOOLS_SERVICE = "doom/voice-tools";
2
+ const PO_VOICE_TOOLS_SERVICE = "po/voice-tools";
3
3
  const VOICE_DESCRIBE_TOOL_NAME = "describe_voice_tools";
4
4
  const VOICE_USE_TOOL_NAME = "use_voice_tools";
5
5
  const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME];
@@ -52,9 +52,9 @@ const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;
52
52
  const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;
53
53
  const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;
54
54
  const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;
55
- const DOOM_VOICE_SOURCE = "@agimon-ai/po-voice";
56
- const DOOM_VOICE_AUTO_MODE_ID = "voice-auto";
55
+ const PO_VOICE_SOURCE = "@agimon-ai/po-voice";
56
+ const PO_VOICE_AUTO_MODE_ID = "voice-auto";
57
57
  //#endregion
58
- export { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME };
58
+ export { MAX_ORDER, PO_VOICE_AUTO_MODE_ID, PO_VOICE_SOURCE, PO_VOICE_TOOLS_SERVICE, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME };
59
59
 
60
60
  //# sourceMappingURL=voiceTools.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"voiceTools.mjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const DOOM_VOICE_TOOLS_SERVICE = 'doom/voice-tools';\nexport const VOICE_DESCRIBE_TOOL_NAME = 'describe_voice_tools' as const;\nexport const VOICE_USE_TOOL_NAME = 'use_voice_tools' as const;\nexport const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME] as const;\nexport const VOICE_NARRATE_TOOL_NAME = 'narrate' as const;\nexport const VOICE_MODE_TOOL_NAMES = [...VOICE_FACADE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME] as const;\nexport const VOICE_TOOL_DEFAULT_TIMEOUT_MS = 10_000;\nexport const VOICE_TOOL_MAX_TIMEOUT_MS = 30_000;\nexport const VOICE_TOOL_MAX_BATCH_ITEMS = 16;\nexport const VOICE_TOOL_MAX_INPUT_BYTES = 64 * 1024;\nexport const VOICE_TOOL_MAX_BATCH_BYTES = 256 * 1024;\nexport const VOICE_TOOL_MAX_SCHEMA_BYTES = 32 * 1024;\nexport const VOICE_TOOL_MAX_JSON_DEPTH = 16;\nexport const VOICE_TOOL_TERMINAL_OPERATION_LIMIT = 256;\nexport const VOICE_TOOL_MAX_IDENTIFIER_LENGTH = 128;\nexport const VOICE_TOOL_MAX_LABEL_LENGTH = 96;\nexport const VOICE_TOOL_MAX_DESCRIPTION_LENGTH = 240;\nexport const VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = 240;\nexport const VOICE_TOOL_MAX_DOMAIN_COUNT = 32;\nexport const SAFE_IDENTIFIER = /^[A-Za-z0-9@][A-Za-z0-9@/._:-]*$/u;\nexport const SAFE_NAME = /^[a-z][a-z0-9_:-]*$/u;\nexport const MAX_ORDER = 1_000;\nexport const VOICE_TOOL_ERROR_CODE = {\n hostUnavailable: 'VOICE_TOOL_HOST_UNAVAILABLE',\n inactive: 'VOICE_TOOL_INACTIVE',\n staleSession: 'VOICE_TOOL_STALE_SESSION',\n staleCatalog: 'VOICE_TOOL_STALE_CATALOG',\n notFound: 'VOICE_TOOL_NOT_FOUND',\n nameConflict: 'VOICE_TOOL_NAME_CONFLICT',\n invalidInput: 'VOICE_TOOL_INVALID_INPUT',\n invalidResult: 'VOICE_TOOL_INVALID_RESULT',\n executionFailed: 'VOICE_TOOL_EXECUTION_FAILED',\n timeout: 'VOICE_TOOL_TIMEOUT',\n aborted: 'VOICE_TOOL_ABORTED',\n cancelled: 'VOICE_TOOL_CANCELLED',\n registrationDisposed: 'VOICE_TOOL_REGISTRATION_DISPOSED',\n sessionShutdown: 'VOICE_TOOL_SESSION_SHUTDOWN',\n batchStopped: 'VOICE_TOOL_BATCH_STOPPED',\n reloadQueued: 'VOICE_TOOL_RELOAD_QUEUED',\n invalidRequest: 'VOICE_TOOL_INVALID_REQUEST',\n} as const;\nexport const VOICE_TOOL_HOST_UNAVAILABLE = VOICE_TOOL_ERROR_CODE.hostUnavailable;\nexport const VOICE_TOOL_INACTIVE = VOICE_TOOL_ERROR_CODE.inactive;\nexport const VOICE_TOOL_STALE_SESSION = VOICE_TOOL_ERROR_CODE.staleSession;\nexport const VOICE_TOOL_STALE_CATALOG = VOICE_TOOL_ERROR_CODE.staleCatalog;\nexport const VOICE_TOOL_NOT_FOUND = VOICE_TOOL_ERROR_CODE.notFound;\nexport const VOICE_TOOL_NAME_CONFLICT = VOICE_TOOL_ERROR_CODE.nameConflict;\nexport const VOICE_TOOL_INVALID_INPUT = VOICE_TOOL_ERROR_CODE.invalidInput;\nexport const VOICE_TOOL_INVALID_RESULT = VOICE_TOOL_ERROR_CODE.invalidResult;\nexport const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;\nexport const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;\nexport const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;\nexport const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;\n\nexport const DOOM_VOICE_SOURCE = '@agimon-ai/po-voice';\nexport const DOOM_VOICE_AUTO_MODE_ID = 'voice-auto';\n"],"mappings":";AAAA,MAAa,2BAA2B;AACxC,MAAa,2BAA2B;AACxC,MAAa,sBAAsB;AACnC,MAAa,0BAA0B,CAAC,0BAA0B,mBAAmB;AACrF,MAAa,0BAA0B;AACvC,MAAa,wBAAwB,CAAC,GAAG,yBAAyB,uBAAuB;AACzF,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,8BAA8B;AAC3C,MAAa,4BAA4B;AACzC,MAAa,sCAAsC;AACnD,MAAa,mCAAmC;AAChD,MAAa,8BAA8B;AAC3C,MAAa,oCAAoC;AACjD,MAAa,sCAAsC;AACnD,MAAa,8BAA8B;AAC3C,MAAa,kBAAkB;AAC/B,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,wBAAwB;CACnC,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,cAAc;CACd,UAAU;CACV,cAAc;CACd,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT,SAAS;CACT,WAAW;CACX,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,cAAc;CACd,gBAAgB;AAClB;AACA,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,sBAAsB,sBAAsB;AACzD,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,uBAAuB,sBAAsB;AAC1D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,4BAA4B,sBAAsB;AAC/D,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,2BAA2B,sBAAsB;AAE9D,MAAa,oBAAoB;AACjC,MAAa,0BAA0B"}
1
+ {"version":3,"file":"voiceTools.mjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const PO_VOICE_TOOLS_SERVICE = 'po/voice-tools';\nexport const VOICE_DESCRIBE_TOOL_NAME = 'describe_voice_tools' as const;\nexport const VOICE_USE_TOOL_NAME = 'use_voice_tools' as const;\nexport const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME] as const;\nexport const VOICE_NARRATE_TOOL_NAME = 'narrate' as const;\nexport const VOICE_MODE_TOOL_NAMES = [...VOICE_FACADE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME] as const;\nexport const VOICE_TOOL_DEFAULT_TIMEOUT_MS = 10_000;\nexport const VOICE_TOOL_MAX_TIMEOUT_MS = 30_000;\nexport const VOICE_TOOL_MAX_BATCH_ITEMS = 16;\nexport const VOICE_TOOL_MAX_INPUT_BYTES = 64 * 1024;\nexport const VOICE_TOOL_MAX_BATCH_BYTES = 256 * 1024;\nexport const VOICE_TOOL_MAX_SCHEMA_BYTES = 32 * 1024;\nexport const VOICE_TOOL_MAX_JSON_DEPTH = 16;\nexport const VOICE_TOOL_TERMINAL_OPERATION_LIMIT = 256;\nexport const VOICE_TOOL_MAX_IDENTIFIER_LENGTH = 128;\nexport const VOICE_TOOL_MAX_LABEL_LENGTH = 96;\nexport const VOICE_TOOL_MAX_DESCRIPTION_LENGTH = 240;\nexport const VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = 240;\nexport const VOICE_TOOL_MAX_DOMAIN_COUNT = 32;\nexport const SAFE_IDENTIFIER = /^[A-Za-z0-9@][A-Za-z0-9@/._:-]*$/u;\nexport const SAFE_NAME = /^[a-z][a-z0-9_:-]*$/u;\nexport const MAX_ORDER = 1_000;\nexport const VOICE_TOOL_ERROR_CODE = {\n hostUnavailable: 'VOICE_TOOL_HOST_UNAVAILABLE',\n inactive: 'VOICE_TOOL_INACTIVE',\n staleSession: 'VOICE_TOOL_STALE_SESSION',\n staleCatalog: 'VOICE_TOOL_STALE_CATALOG',\n notFound: 'VOICE_TOOL_NOT_FOUND',\n nameConflict: 'VOICE_TOOL_NAME_CONFLICT',\n invalidInput: 'VOICE_TOOL_INVALID_INPUT',\n invalidResult: 'VOICE_TOOL_INVALID_RESULT',\n executionFailed: 'VOICE_TOOL_EXECUTION_FAILED',\n timeout: 'VOICE_TOOL_TIMEOUT',\n aborted: 'VOICE_TOOL_ABORTED',\n cancelled: 'VOICE_TOOL_CANCELLED',\n registrationDisposed: 'VOICE_TOOL_REGISTRATION_DISPOSED',\n sessionShutdown: 'VOICE_TOOL_SESSION_SHUTDOWN',\n batchStopped: 'VOICE_TOOL_BATCH_STOPPED',\n reloadQueued: 'VOICE_TOOL_RELOAD_QUEUED',\n invalidRequest: 'VOICE_TOOL_INVALID_REQUEST',\n} as const;\nexport const VOICE_TOOL_HOST_UNAVAILABLE = VOICE_TOOL_ERROR_CODE.hostUnavailable;\nexport const VOICE_TOOL_INACTIVE = VOICE_TOOL_ERROR_CODE.inactive;\nexport const VOICE_TOOL_STALE_SESSION = VOICE_TOOL_ERROR_CODE.staleSession;\nexport const VOICE_TOOL_STALE_CATALOG = VOICE_TOOL_ERROR_CODE.staleCatalog;\nexport const VOICE_TOOL_NOT_FOUND = VOICE_TOOL_ERROR_CODE.notFound;\nexport const VOICE_TOOL_NAME_CONFLICT = VOICE_TOOL_ERROR_CODE.nameConflict;\nexport const VOICE_TOOL_INVALID_INPUT = VOICE_TOOL_ERROR_CODE.invalidInput;\nexport const VOICE_TOOL_INVALID_RESULT = VOICE_TOOL_ERROR_CODE.invalidResult;\nexport const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;\nexport const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;\nexport const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;\nexport const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;\n\nexport const PO_VOICE_SOURCE = '@agimon-ai/po-voice';\nexport const PO_VOICE_AUTO_MODE_ID = 'voice-auto';\n"],"mappings":";AAAA,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,sBAAsB;AACnC,MAAa,0BAA0B,CAAC,0BAA0B,mBAAmB;AACrF,MAAa,0BAA0B;AACvC,MAAa,wBAAwB,CAAC,GAAG,yBAAyB,uBAAuB;AACzF,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,8BAA8B;AAC3C,MAAa,4BAA4B;AACzC,MAAa,sCAAsC;AACnD,MAAa,mCAAmC;AAChD,MAAa,8BAA8B;AAC3C,MAAa,oCAAoC;AACjD,MAAa,sCAAsC;AACnD,MAAa,8BAA8B;AAC3C,MAAa,kBAAkB;AAC/B,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,wBAAwB;CACnC,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,cAAc;CACd,UAAU;CACV,cAAc;CACd,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT,SAAS;CACT,WAAW;CACX,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,cAAc;CACd,gBAAgB;AAClB;AACA,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,sBAAsB,sBAAsB;AACzD,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,uBAAuB,sBAAsB;AAC1D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,4BAA4B,sBAAsB;AAC/D,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,2BAA2B,sBAAsB;AAE9D,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB"}
@@ -1,3 +1,4 @@
1
+ const require_index = require("../services/pluginLifecycle/index.cjs");
1
2
  //#region src/extensions/extensionFile.ts
2
3
  /**
3
4
  * Identity helpers for folder-routed backend files, one per surface.
@@ -55,9 +56,24 @@ function defineServerTool(file) {
55
56
  * it as `context.root`, so the package decomposes into a file per surface
56
57
  * without either rebuilding the graph per file or reaching for a module-level
57
58
  * singleton.
59
+ *
60
+ * `inject` names the contracts, from this package or another, that the level
61
+ * waits for before it builds this root and restarts with when they change.
58
62
  */
59
- function defineRoot(file) {
60
- return file;
63
+ function defineRoot(file, options) {
64
+ return options?.inject === void 0 ? file : Object.assign(file, { inject: options.inject });
65
+ }
66
+ /**
67
+ * The contracts each level waits for: every contract injected by the roots that level builds or
68
+ * reuses, once each. A level none of whose roots inject anything is left out.
69
+ */
70
+ function composeRootInjects(levels) {
71
+ const injects = {};
72
+ for (const [level, roots] of Object.entries(levels)) {
73
+ const contracts = new Map(roots.flatMap((root) => root.inject ?? []).map((contract) => [contract.name, contract]));
74
+ if (contracts.size > 0) injects[level] = [...contracts.values()];
75
+ }
76
+ return injects;
61
77
  }
62
78
  /**
63
79
  * Folds every root in a scope chain into one set of lifecycle hooks.
@@ -73,14 +89,14 @@ function composeRootHooks(...roots) {
73
89
  for (const root of roots) await root.onStart?.(context);
74
90
  },
75
91
  async onStop(context) {
76
- for (const root of reversed) await root.onStop?.(context);
92
+ await require_index.runCleanups(reversed.map((root) => () => root.onStop?.(context)), "Root stop failed.");
77
93
  },
78
94
  async onDispose(context) {
79
- for (const root of reversed) await root.onDispose?.(context);
95
+ await require_index.runCleanups(reversed.map((root) => () => root.onDispose?.(context)), "Root cleanup failed.");
80
96
  }
81
97
  };
82
98
  }
83
- /** `command/<name>.server.ts`. A native headless or portable Doom command. */
99
+ /** `command/<name>.server.ts`. A native headless or portable Po command. */
84
100
  function defineServerCommand(file) {
85
101
  return file;
86
102
  }
@@ -120,6 +136,7 @@ function defineActivity(file) {
120
136
  }
121
137
  //#endregion
122
138
  exports.composeRootHooks = composeRootHooks;
139
+ exports.composeRootInjects = composeRootInjects;
123
140
  exports.defineActivity = defineActivity;
124
141
  exports.defineChannel = defineChannel;
125
142
  exports.defineCommand = defineCommand;