@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
@@ -5,8 +5,9 @@
5
5
  * The factory is the host boundary: it must construct the direct harness, apply
6
6
  * history ownership, and return only after child extensions are composed.
7
7
  */
8
- function createDoomChildSessionService(factory, dependencies) {
8
+ function createPoChildSessionService(factory, dependencies) {
9
9
  const handles = /* @__PURE__ */ new Map();
10
+ const outcomes = /* @__PURE__ */ new Map();
10
11
  const transcriptReaders = /* @__PURE__ */ new Map();
11
12
  const claimedRunIds = /* @__PURE__ */ new Set();
12
13
  const starting = /* @__PURE__ */ new Set();
@@ -20,24 +21,29 @@ function createDoomChildSessionService(factory, dependencies) {
20
21
  const recordCleanupFailure = (error) => {
21
22
  cleanupFailures.push(error);
22
23
  };
23
- return {
24
+ const store = dependencies.store;
25
+ const service = {
24
26
  start(request, signal) {
25
- if (closed) return Promise.reject(/* @__PURE__ */ new Error("The Doom child-session service is closed."));
27
+ if (closed) return Promise.reject(/* @__PURE__ */ new Error("The Po child-session service is closed."));
26
28
  if (claimedRunIds.has(request.runId)) return Promise.reject(/* @__PURE__ */ new Error(`Child run '${request.runId}' already exists.`));
27
29
  claimedRunIds.add(request.runId);
28
30
  const pending = (async () => {
29
31
  try {
30
32
  signal?.throwIfAborted();
31
- const handle = await createHandle(async (ownedRequest, ownedSignal) => {
33
+ const owned = await createHandle(async (ownedRequest, ownedSignal) => {
32
34
  const runtime = await factory(ownedRequest, ownedSignal);
33
35
  if (runtime.readTranscriptPage) transcriptReaders.set(request.runId, (pageRequest, pageSignal) => runtime.readTranscriptPage(pageRequest, pageSignal));
34
36
  return runtime;
35
- }, dependencies, request, signal, () => release(request.runId), recordCleanupFailure);
37
+ }, dependencies, request, signal, (outcome) => {
38
+ if (outcome) outcomes.set(request.runId, outcome);
39
+ release(request.runId);
40
+ }, recordCleanupFailure);
41
+ const handle = owned.handle;
36
42
  if (closed || signal?.aborted) {
37
43
  await handle.dispose();
38
44
  throw signal?.reason ?? /* @__PURE__ */ new Error("Child session startup was cancelled.");
39
45
  }
40
- if (!isTerminal(handle.state())) handles.set(request.runId, handle);
46
+ if (!isTerminal(handle.state())) handles.set(request.runId, owned);
41
47
  return handle;
42
48
  } catch (error) {
43
49
  transcriptReaders.delete(request.runId);
@@ -49,9 +55,9 @@ function createDoomChildSessionService(factory, dependencies) {
49
55
  pending.then(() => starting.delete(pending), () => starting.delete(pending));
50
56
  return pending;
51
57
  },
52
- get: (runId) => handles.get(runId),
58
+ get: (runId) => handles.get(runId)?.handle,
53
59
  async readTranscriptPage(runId, request, signal) {
54
- if (closed) throw new Error("The Doom child-session service is closed.");
60
+ if (closed) throw new Error("The Po child-session service is closed.");
55
61
  signal?.throwIfAborted();
56
62
  const reader = transcriptReaders.get(runId);
57
63
  if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);
@@ -59,26 +65,50 @@ function createDoomChildSessionService(factory, dependencies) {
59
65
  signal?.throwIfAborted();
60
66
  return page;
61
67
  },
68
+ ...store ? {
69
+ stored: () => store.stored(),
70
+ async restore(runId, live) {
71
+ const active = handles.get(runId);
72
+ if (active) return active.handle;
73
+ const run = (await store.stored()).find((stored) => stored.request.runId === runId);
74
+ if (!run) throw new Error(`No stored child run matches '${runId}'.`);
75
+ return service.start({
76
+ ...run.request,
77
+ source: { kind: "fresh" },
78
+ environment: {},
79
+ ...live?.intercom ? { intercom: live.intercom } : {}
80
+ });
81
+ },
82
+ async markReported(runId) {
83
+ await store.markReported(runId, outcomes.get(runId));
84
+ outcomes.delete(runId);
85
+ }
86
+ } : {},
62
87
  close() {
63
88
  closePromise ??= (async () => {
64
89
  if (closed) return;
65
90
  closed = true;
66
91
  await Promise.allSettled(starting);
67
92
  const active = [...handles.values()];
68
- await Promise.allSettled(active.map((handle) => handle.dispose()));
93
+ await Promise.allSettled(active.map((owned) => owned.detach()));
69
94
  const failures = [...cleanupFailures];
70
95
  handles.clear();
71
96
  transcriptReaders.clear();
72
97
  claimedRunIds.clear();
73
- if (failures.length) throw new AggregateError(failures, "Doom child-session shutdown failed.");
98
+ outcomes.clear();
99
+ if (failures.length) throw new AggregateError(failures, "Po child-session shutdown failed.");
74
100
  })();
75
101
  return closePromise;
76
102
  }
77
103
  };
104
+ return service;
78
105
  }
79
106
  function isTerminal(state) {
80
107
  return state === "completed" || state === "failed" || state === "stopped";
81
108
  }
109
+ function isAbortError(error) {
110
+ return error instanceof Error && error.name === "AbortError";
111
+ }
82
112
  function errorMessage(error) {
83
113
  return error instanceof Error ? error.message : typeof error === "string" ? error : "Unknown cleanup failure";
84
114
  }
@@ -96,9 +126,11 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
96
126
  let cleanupPromise;
97
127
  let abortCleanup;
98
128
  const listeners = /* @__PURE__ */ new Set();
99
- const sessionFile = runtime.sessionFile;
100
129
  const usageRows = /* @__PURE__ */ new Set();
130
+ const toolCalls = /* @__PURE__ */ new Set();
101
131
  let cost;
132
+ let tokens;
133
+ let config = {};
102
134
  let usageCleanup;
103
135
  const emit = (next, message) => {
104
136
  state = next;
@@ -107,8 +139,10 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
107
139
  state: next,
108
140
  timestamp: dependencies.now(),
109
141
  ...message ? { message } : {},
110
- ...sessionFile ? { sessionFile } : {},
111
- ...cost === void 0 ? {} : { cost }
142
+ ...cost === void 0 ? {} : { cost },
143
+ ...tokens === void 0 ? {} : { tokens },
144
+ ...toolCalls.size === 0 ? {} : { toolCount: toolCalls.size },
145
+ ...config
112
146
  };
113
147
  lastEvent = event;
114
148
  for (const listener of Array.from(listeners)) try {
@@ -119,7 +153,21 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
119
153
  if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;
120
154
  usageRows.add(usage.rowId);
121
155
  cost = (cost ?? 0) + usage.cost;
122
- emit("running");
156
+ if (usage.tokens !== void 0 && Number.isFinite(usage.tokens)) tokens = (tokens ?? 0) + usage.tokens;
157
+ if (!isTerminal(state)) emit("running");
158
+ };
159
+ const onConfig = (next) => {
160
+ config = {
161
+ ...config,
162
+ ...next.model ? { model: next.model } : {},
163
+ ...next.thinking ? { thinking: next.thinking } : {}
164
+ };
165
+ if (!isTerminal(state)) emit("running");
166
+ };
167
+ const onToolStart = (toolCallId) => {
168
+ if (toolCalls.has(toolCallId)) return;
169
+ toolCalls.add(toolCallId);
170
+ if (!isTerminal(state)) emit("running");
123
171
  };
124
172
  const cleanup = () => {
125
173
  cleanupPromise ??= (async () => {
@@ -149,7 +197,7 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
149
197
  emit("failed", `Child session cleanup failed: ${detail}`);
150
198
  }
151
199
  disposed = true;
152
- onTerminal();
200
+ onTerminal({ state });
153
201
  listeners.clear();
154
202
  if (cleanupFailure !== void 0) throw cleanupFailure;
155
203
  })();
@@ -157,7 +205,6 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
157
205
  };
158
206
  const handle = {
159
207
  runId: request.runId,
160
- ...sessionFile ? { sessionFile } : {},
161
208
  state: () => state,
162
209
  subscribe(listener) {
163
210
  if (disposed || isTerminal(state)) {
@@ -201,6 +248,20 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
201
248
  },
202
249
  dispose: () => finish("stopped", "Child session disposed.")
203
250
  };
251
+ const detach = () => {
252
+ finishPromise ??= (async () => {
253
+ disposed = true;
254
+ listeners.clear();
255
+ try {
256
+ await cleanup();
257
+ } catch (error) {
258
+ onCleanupFailure(error);
259
+ } finally {
260
+ onTerminal();
261
+ }
262
+ })();
263
+ return finishPromise.catch(() => void 0);
264
+ };
204
265
  if (signal) {
205
266
  const onAbort = () => {
206
267
  handle.stop("Child session startup was cancelled.").catch(() => void 0);
@@ -208,12 +269,25 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
208
269
  signal.addEventListener("abort", onAbort, { once: true });
209
270
  abortCleanup = () => signal.removeEventListener("abort", onAbort);
210
271
  }
211
- usageCleanup = runtime.onUsage?.(onUsage);
272
+ const unsubscribe = [
273
+ runtime.onUsage?.(onUsage),
274
+ runtime.onConfig?.(onConfig),
275
+ runtime.onToolStart?.(onToolStart)
276
+ ];
277
+ usageCleanup = () => {
278
+ for (const stop of unsubscribe) stop?.();
279
+ };
212
280
  emit("running");
213
- Promise.resolve().then(() => runtime.prompt(request.task)).then((message) => finish("completed", typeof message === "string" ? message : void 0).catch(() => void 0), (error) => finish("failed", error instanceof Error ? error.message : String(error)).catch(() => void 0));
214
- return handle;
281
+ Promise.resolve().then(() => runtime.prompt(request.sender ? {
282
+ text: request.task,
283
+ sender: request.sender
284
+ } : request.task)).then((message) => stopPromise ? void 0 : finish("completed", typeof message === "string" ? message : void 0).catch(() => void 0), (error) => stopPromise ? void 0 : finish(isAbortError(error) ? "stopped" : "failed", error instanceof Error ? error.message : String(error)).catch(() => void 0));
285
+ return {
286
+ handle,
287
+ detach
288
+ };
215
289
  }
216
290
  //#endregion
217
- export { createDoomChildSessionService };
291
+ export { createPoChildSessionService };
218
292
 
219
293
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/systems/child/services/childSession/index.ts"],"sourcesContent":["import type { TranscriptPage, TranscriptPageRequest } from '../../../../schemas/sessionProtocol';\nimport type {\n DoomChildSessionEvent,\n DoomChildSessionHandle,\n DoomChildSessionRequest,\n DoomChildSessionRuntimeFactory,\n DoomChildSessionService,\n DoomChildSessionState,\n DoomChildSessionUsage,\n} from '../../types/childSession';\n\nexport interface DoomChildSessionServiceDependencies {\n readonly now: () => number;\n}\n\n/**\n * Owns lifecycle for runtimes created by a direct host adapter.\n *\n * The factory is the host boundary: it must construct the direct harness, apply\n * history ownership, and return only after child extensions are composed.\n */\nexport function createDoomChildSessionService(\n factory: DoomChildSessionRuntimeFactory,\n dependencies: DoomChildSessionServiceDependencies,\n): DoomChildSessionService {\n const handles = new Map<string, DoomChildSessionHandle>();\n const transcriptReaders = new Map<\n string,\n (request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal) => Promise<TranscriptPage>\n >();\n const claimedRunIds = new Set<string>();\n const starting = new Set<Promise<DoomChildSessionHandle>>();\n const cleanupFailures: unknown[] = [];\n let closed = false;\n let closePromise: Promise<void> | undefined;\n\n const release = (runId: string): void => {\n handles.delete(runId);\n if (!transcriptReaders.has(runId)) claimedRunIds.delete(runId);\n };\n const recordCleanupFailure = (error: unknown): void => {\n cleanupFailures.push(error);\n };\n\n const service: DoomChildSessionService = {\n start(request, signal) {\n if (closed) return Promise.reject(new Error('The Doom child-session service is closed.'));\n if (claimedRunIds.has(request.runId))\n return Promise.reject(new Error(`Child run '${request.runId}' already exists.`));\n claimedRunIds.add(request.runId);\n\n const pending = (async (): Promise<DoomChildSessionHandle> => {\n try {\n signal?.throwIfAborted();\n const handle = await createHandle(\n async (ownedRequest, ownedSignal) => {\n const runtime = await factory(ownedRequest, ownedSignal);\n if (runtime.readTranscriptPage)\n transcriptReaders.set(request.runId, (pageRequest, pageSignal) =>\n runtime.readTranscriptPage!(pageRequest, pageSignal),\n );\n return runtime;\n },\n dependencies,\n request,\n signal,\n () => release(request.runId),\n recordCleanupFailure,\n );\n if (closed || signal?.aborted) {\n await handle.dispose();\n throw signal?.reason ?? new Error('Child session startup was cancelled.');\n }\n if (!isTerminal(handle.state())) handles.set(request.runId, handle);\n return handle;\n } catch (error) {\n transcriptReaders.delete(request.runId);\n release(request.runId);\n throw error;\n }\n })();\n starting.add(pending);\n void pending.then(\n () => starting.delete(pending),\n () => starting.delete(pending),\n );\n return pending;\n },\n get: (runId) => handles.get(runId),\n async readTranscriptPage(runId, request, signal) {\n if (closed) throw new Error('The Doom child-session service is closed.');\n signal?.throwIfAborted();\n const reader = transcriptReaders.get(runId);\n if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);\n const page = await reader(request, signal);\n signal?.throwIfAborted();\n return page;\n },\n close() {\n closePromise ??= (async () => {\n if (closed) return;\n closed = true;\n await Promise.allSettled(starting);\n const active = [...handles.values()];\n await Promise.allSettled(active.map((handle) => handle.dispose()));\n const failures = [...cleanupFailures];\n handles.clear();\n transcriptReaders.clear();\n claimedRunIds.clear();\n if (failures.length) throw new AggregateError(failures, 'Doom child-session shutdown failed.');\n })();\n return closePromise;\n },\n };\n return service;\n}\n\nfunction isTerminal(state: DoomChildSessionState): boolean {\n return state === 'completed' || state === 'failed' || state === 'stopped';\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : typeof error === 'string' ? error : 'Unknown cleanup failure';\n}\n\nasync function createHandle(\n factory: DoomChildSessionRuntimeFactory,\n dependencies: DoomChildSessionServiceDependencies,\n request: DoomChildSessionRequest,\n signal: AbortSignal | undefined,\n onTerminal: () => void,\n onCleanupFailure: (error: unknown) => void,\n): Promise<DoomChildSessionHandle> {\n const runtime = await factory(request, signal);\n if (signal?.aborted) {\n await runtime.dispose();\n throw signal.reason ?? new Error('Child session startup was cancelled.');\n }\n\n let state: DoomChildSessionState = 'starting';\n let disposed = false;\n let lastEvent: DoomChildSessionEvent | undefined;\n let finishPromise: Promise<void> | undefined;\n let stopPromise: Promise<void> | undefined;\n let cleanupPromise: Promise<void> | undefined;\n let abortCleanup: (() => void) | undefined;\n const listeners = new Set<(event: DoomChildSessionEvent) => void>();\n const sessionFile = runtime.sessionFile;\n const usageRows = new Set<string>();\n let cost: number | undefined;\n let usageCleanup: (() => void) | undefined;\n\n const emit = (next: DoomChildSessionState, message?: string): void => {\n state = next;\n const event: DoomChildSessionEvent = {\n runId: request.runId,\n state: next,\n timestamp: dependencies.now(),\n ...(message ? { message } : {}),\n ...(sessionFile ? { sessionFile } : {}),\n ...(cost === undefined ? {} : { cost }),\n };\n lastEvent = event;\n for (const listener of Array.from(listeners)) {\n try {\n listener(event);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n };\n\n const onUsage = (usage: DoomChildSessionUsage): void => {\n if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;\n usageRows.add(usage.rowId);\n cost = (cost ?? 0) + usage.cost;\n emit('running');\n };\n\n const cleanup = (): Promise<void> => {\n cleanupPromise ??= (async () => {\n try {\n await runtime.dispose();\n } finally {\n usageCleanup?.();\n usageCleanup = undefined;\n abortCleanup?.();\n abortCleanup = undefined;\n }\n })();\n return cleanupPromise;\n };\n\n const finish = (\n next: Extract<DoomChildSessionState, 'completed' | 'failed' | 'stopped'>,\n message?: string,\n ): Promise<void> => {\n finishPromise ??= (async () => {\n let cleanupFailure: unknown;\n try {\n await cleanup();\n } catch (error) {\n cleanupFailure = error;\n onCleanupFailure(error);\n }\n if (cleanupFailure === undefined) {\n emit(next, message);\n } else {\n const detail = errorMessage(cleanupFailure);\n emit('failed', `Child session cleanup failed: ${detail}`);\n }\n disposed = true;\n onTerminal();\n listeners.clear();\n if (cleanupFailure !== undefined) throw cleanupFailure;\n })();\n return finishPromise;\n };\n\n const handle: DoomChildSessionHandle = {\n runId: request.runId,\n ...(sessionFile ? { sessionFile } : {}),\n state: () => state,\n subscribe(listener) {\n if (disposed || isTerminal(state)) {\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => false;\n }\n listeners.add(listener);\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => listeners.delete(listener);\n },\n async steer(message, steerSignal) {\n if (disposed || finishPromise) throw new Error(`Child run '${request.runId}' is no longer active.`);\n steerSignal?.throwIfAborted();\n await runtime.steer(message);\n steerSignal?.throwIfAborted();\n },\n stop(reason) {\n stopPromise ??= (async () => {\n if (finishPromise) return finishPromise;\n let abortFailure: unknown;\n try {\n await runtime.abort();\n } catch (error) {\n abortFailure = error;\n }\n let finishFailure: unknown;\n try {\n await finish('stopped', reason ?? 'Child session stopped.');\n } catch (error) {\n finishFailure = error;\n }\n if (abortFailure !== undefined && finishFailure !== undefined)\n throw new AggregateError([abortFailure, finishFailure], 'Stopping the child session failed.');\n if (abortFailure !== undefined) throw abortFailure;\n if (finishFailure !== undefined) throw finishFailure;\n })();\n return stopPromise;\n },\n dispose: () => finish('stopped', 'Child session disposed.'),\n };\n\n if (signal) {\n const onAbort = (): void => {\n void handle.stop('Child session startup was cancelled.').catch(() => undefined);\n };\n signal.addEventListener('abort', onAbort, { once: true });\n abortCleanup = () => signal.removeEventListener('abort', onAbort);\n }\n usageCleanup = runtime.onUsage?.(onUsage);\n emit('running');\n void Promise.resolve()\n .then(() => runtime.prompt(request.task))\n .then(\n (message) => finish('completed', typeof message === 'string' ? message : undefined).catch(() => undefined),\n (error: unknown) =>\n finish('failed', error instanceof Error ? error.message : String(error)).catch(() => undefined),\n );\n return handle;\n}\n\nexport type { DoomChildSessionRuntime } from '../../types/childSession';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/systems/child/services/childSession/index.ts"],"sourcesContent":["import type { TranscriptPage, TranscriptPageRequest } from '../../../../schemas/sessionProtocol';\nimport type {\n PoChildSessionEvent,\n PoChildSessionHandle,\n PoChildSessionRequest,\n PoChildSessionRuntimeFactory,\n PoChildSessionService,\n PoChildSessionState,\n PoChildSessionUsage,\n PoChildSessionConfig,\n PoStoredChildRun,\n} from '../../types/childSession';\n\n/** How a run ended, kept with its stored record once it is reported. */\nexport interface PoChildRunOutcome {\n readonly state: Extract<PoChildSessionState, 'completed' | 'failed' | 'stopped'>;\n}\n\nexport interface PoChildSessionServiceDependencies {\n readonly now: () => number;\n /** The host's stored runs, for re-attaching them after a restart. */\n readonly store?: {\n stored(): Promise<readonly PoStoredChildRun[]>;\n markReported(runId: string, outcome?: PoChildRunOutcome): Promise<void>;\n };\n}\n\n/** A handle and the shutdown path that leaves its run unfinished, so it resumes after a restart. */\ninterface OwnedChildHandle {\n readonly handle: PoChildSessionHandle;\n detach(): Promise<void>;\n}\n\n/**\n * Owns lifecycle for runtimes created by a direct host adapter.\n *\n * The factory is the host boundary: it must construct the direct harness, apply\n * history ownership, and return only after child extensions are composed.\n */\nexport function createPoChildSessionService(\n factory: PoChildSessionRuntimeFactory,\n dependencies: PoChildSessionServiceDependencies,\n): PoChildSessionService {\n const handles = new Map<string, OwnedChildHandle>();\n const outcomes = new Map<string, PoChildRunOutcome>();\n const transcriptReaders = new Map<\n string,\n (request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal) => Promise<TranscriptPage>\n >();\n const claimedRunIds = new Set<string>();\n const starting = new Set<Promise<PoChildSessionHandle>>();\n const cleanupFailures: unknown[] = [];\n let closed = false;\n let closePromise: Promise<void> | undefined;\n\n const release = (runId: string): void => {\n handles.delete(runId);\n if (!transcriptReaders.has(runId)) claimedRunIds.delete(runId);\n };\n const recordCleanupFailure = (error: unknown): void => {\n cleanupFailures.push(error);\n };\n const store = dependencies.store;\n\n const service: PoChildSessionService = {\n start(request, signal) {\n if (closed) return Promise.reject(new Error('The Po child-session service is closed.'));\n if (claimedRunIds.has(request.runId))\n return Promise.reject(new Error(`Child run '${request.runId}' already exists.`));\n claimedRunIds.add(request.runId);\n\n const pending = (async (): Promise<PoChildSessionHandle> => {\n try {\n signal?.throwIfAborted();\n const owned = await createHandle(\n async (ownedRequest, ownedSignal) => {\n const runtime = await factory(ownedRequest, ownedSignal);\n if (runtime.readTranscriptPage)\n transcriptReaders.set(request.runId, (pageRequest, pageSignal) =>\n runtime.readTranscriptPage!(pageRequest, pageSignal),\n );\n return runtime;\n },\n dependencies,\n request,\n signal,\n (outcome) => {\n if (outcome) outcomes.set(request.runId, outcome);\n release(request.runId);\n },\n recordCleanupFailure,\n );\n const handle = owned.handle;\n if (closed || signal?.aborted) {\n await handle.dispose();\n throw signal?.reason ?? new Error('Child session startup was cancelled.');\n }\n if (!isTerminal(handle.state())) handles.set(request.runId, owned);\n return handle;\n } catch (error) {\n transcriptReaders.delete(request.runId);\n release(request.runId);\n throw error;\n }\n })();\n starting.add(pending);\n void pending.then(\n () => starting.delete(pending),\n () => starting.delete(pending),\n );\n return pending;\n },\n get: (runId) => handles.get(runId)?.handle,\n async readTranscriptPage(runId, request, signal) {\n if (closed) throw new Error('The Po child-session service is closed.');\n signal?.throwIfAborted();\n const reader = transcriptReaders.get(runId);\n if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);\n const page = await reader(request, signal);\n signal?.throwIfAborted();\n return page;\n },\n ...(store\n ? {\n stored: () => store.stored(),\n async restore(runId, live) {\n const active = handles.get(runId);\n if (active) return active.handle;\n const run = (await store.stored()).find((stored) => stored.request.runId === runId);\n if (!run) throw new Error(`No stored child run matches '${runId}'.`);\n // The host recognises a stored run ID and re-attaches its conversation instead of creating one.\n return service.start({\n ...run.request,\n source: { kind: 'fresh' },\n environment: {},\n ...(live?.intercom ? { intercom: live.intercom } : {}),\n });\n },\n async markReported(runId: string) {\n await store.markReported(runId, outcomes.get(runId));\n outcomes.delete(runId);\n },\n }\n : {}),\n close() {\n closePromise ??= (async () => {\n if (closed) return;\n closed = true;\n await Promise.allSettled(starting);\n // Shutdown is not an outcome: a running child detaches without reporting and resumes after a restart.\n const active = [...handles.values()];\n await Promise.allSettled(active.map((owned) => owned.detach()));\n const failures = [...cleanupFailures];\n handles.clear();\n transcriptReaders.clear();\n claimedRunIds.clear();\n outcomes.clear();\n if (failures.length) throw new AggregateError(failures, 'Po child-session shutdown failed.');\n })();\n return closePromise;\n },\n };\n return service;\n}\n\nfunction isTerminal(state: PoChildSessionState): boolean {\n return state === 'completed' || state === 'failed' || state === 'stopped';\n}\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === 'AbortError';\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : typeof error === 'string' ? error : 'Unknown cleanup failure';\n}\n\nasync function createHandle(\n factory: PoChildSessionRuntimeFactory,\n dependencies: PoChildSessionServiceDependencies,\n request: PoChildSessionRequest,\n signal: AbortSignal | undefined,\n onTerminal: (outcome?: PoChildRunOutcome) => void,\n onCleanupFailure: (error: unknown) => void,\n): Promise<OwnedChildHandle> {\n const runtime = await factory(request, signal);\n if (signal?.aborted) {\n await runtime.dispose();\n throw signal.reason ?? new Error('Child session startup was cancelled.');\n }\n\n let state: PoChildSessionState = 'starting';\n let disposed = false;\n let lastEvent: PoChildSessionEvent | undefined;\n let finishPromise: Promise<void> | undefined;\n let stopPromise: Promise<void> | undefined;\n let cleanupPromise: Promise<void> | undefined;\n let abortCleanup: (() => void) | undefined;\n const listeners = new Set<(event: PoChildSessionEvent) => void>();\n const usageRows = new Set<string>();\n const toolCalls = new Set<string>();\n let cost: number | undefined;\n let tokens: number | undefined;\n let config: { model?: string; thinking?: string } = {};\n let usageCleanup: (() => void) | undefined;\n\n const emit = (next: PoChildSessionState, message?: string): void => {\n state = next;\n const event: PoChildSessionEvent = {\n runId: request.runId,\n state: next,\n timestamp: dependencies.now(),\n ...(message ? { message } : {}),\n ...(cost === undefined ? {} : { cost }),\n ...(tokens === undefined ? {} : { tokens }),\n ...(toolCalls.size === 0 ? {} : { toolCount: toolCalls.size }),\n ...config,\n };\n lastEvent = event;\n for (const listener of Array.from(listeners)) {\n try {\n listener(event);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n };\n\n const onUsage = (usage: PoChildSessionUsage): void => {\n if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;\n usageRows.add(usage.rowId);\n cost = (cost ?? 0) + usage.cost;\n if (usage.tokens !== undefined && Number.isFinite(usage.tokens)) tokens = (tokens ?? 0) + usage.tokens;\n if (!isTerminal(state)) emit('running');\n };\n const onConfig = (next: PoChildSessionConfig): void => {\n config = {\n ...config,\n ...(next.model ? { model: next.model } : {}),\n ...(next.thinking ? { thinking: next.thinking } : {}),\n };\n if (!isTerminal(state)) emit('running');\n };\n const onToolStart = (toolCallId: string): void => {\n if (toolCalls.has(toolCallId)) return;\n toolCalls.add(toolCallId);\n if (!isTerminal(state)) emit('running');\n };\n\n const cleanup = (): Promise<void> => {\n cleanupPromise ??= (async () => {\n try {\n await runtime.dispose();\n } finally {\n usageCleanup?.();\n usageCleanup = undefined;\n abortCleanup?.();\n abortCleanup = undefined;\n }\n })();\n return cleanupPromise;\n };\n\n const finish = (\n next: Extract<PoChildSessionState, 'completed' | 'failed' | 'stopped'>,\n message?: string,\n ): Promise<void> => {\n finishPromise ??= (async () => {\n let cleanupFailure: unknown;\n try {\n await cleanup();\n } catch (error) {\n cleanupFailure = error;\n onCleanupFailure(error);\n }\n if (cleanupFailure === undefined) {\n emit(next, message);\n } else {\n const detail = errorMessage(cleanupFailure);\n emit('failed', `Child session cleanup failed: ${detail}`);\n }\n disposed = true;\n onTerminal({ state: state as PoChildRunOutcome['state'] });\n listeners.clear();\n if (cleanupFailure !== undefined) throw cleanupFailure;\n })();\n return finishPromise;\n };\n\n const handle: PoChildSessionHandle = {\n runId: request.runId,\n state: () => state,\n subscribe(listener) {\n if (disposed || isTerminal(state)) {\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => false;\n }\n listeners.add(listener);\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => listeners.delete(listener);\n },\n async steer(message, steerSignal) {\n if (disposed || finishPromise) throw new Error(`Child run '${request.runId}' is no longer active.`);\n steerSignal?.throwIfAborted();\n await runtime.steer(message);\n steerSignal?.throwIfAborted();\n },\n stop(reason) {\n stopPromise ??= (async () => {\n if (finishPromise) return finishPromise;\n let abortFailure: unknown;\n try {\n await runtime.abort();\n } catch (error) {\n abortFailure = error;\n }\n let finishFailure: unknown;\n try {\n await finish('stopped', reason ?? 'Child session stopped.');\n } catch (error) {\n finishFailure = error;\n }\n if (abortFailure !== undefined && finishFailure !== undefined)\n throw new AggregateError([abortFailure, finishFailure], 'Stopping the child session failed.');\n if (abortFailure !== undefined) throw abortFailure;\n if (finishFailure !== undefined) throw finishFailure;\n })();\n return stopPromise;\n },\n dispose: () => finish('stopped', 'Child session disposed.'),\n };\n // Releases the runtime without a terminal event; a later prompt settlement finds the run finished and stays silent.\n const detach = (): Promise<void> => {\n finishPromise ??= (async () => {\n disposed = true;\n listeners.clear();\n try {\n await cleanup();\n } catch (error) {\n onCleanupFailure(error);\n } finally {\n onTerminal();\n }\n })();\n return finishPromise.catch(() => undefined);\n };\n\n if (signal) {\n const onAbort = (): void => {\n void handle.stop('Child session startup was cancelled.').catch(() => undefined);\n };\n signal.addEventListener('abort', onAbort, { once: true });\n abortCleanup = () => signal.removeEventListener('abort', onAbort);\n }\n const unsubscribe = [runtime.onUsage?.(onUsage), runtime.onConfig?.(onConfig), runtime.onToolStart?.(onToolStart)];\n usageCleanup = () => {\n for (const stop of unsubscribe) stop?.();\n };\n emit('running');\n // A stop settles the prompt as aborted; the stop then reports the run as stopped, not as its prompt ended.\n void Promise.resolve()\n .then(() => runtime.prompt(request.sender ? { text: request.task, sender: request.sender } : request.task))\n .then(\n (message) =>\n stopPromise\n ? undefined\n : finish('completed', typeof message === 'string' ? message : undefined).catch(() => undefined),\n (error: unknown) =>\n stopPromise\n ? undefined\n : // A restored run whose input was aborted before the restart ends as stopped, not failed.\n finish(\n isAbortError(error) ? 'stopped' : 'failed',\n error instanceof Error ? error.message : String(error),\n ).catch(() => undefined),\n );\n return { handle, detach };\n}\n\nexport type { PoChildSessionRuntime } from '../../types/childSession';\n"],"mappings":"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"}
@@ -1,21 +1,41 @@
1
1
  //#region src/systems/child/types/childSession.ts
2
- const DOOM_CHILD_SESSION_HOOKS_SERVICE = "doom/child-session-hooks";
3
- const DOOM_CHILD_SESSION_SERVICE = "doom/child-session";
2
+ const PO_CHILD_SESSION_HOOKS_SERVICE = "po/child-session-hooks";
3
+ /**
4
+ * Additional child hooks from any package. `po/child-session-hooks` admits one provider, so
5
+ * observers register here instead; they run after that provider and see its patched result.
6
+ */
7
+ const PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE = "po/child-session-hook-registry";
8
+ /** Optional display names for in-process child runs, keyed by run id. Absent without a team layer. */
9
+ const PO_CHILD_SESSION_LABELS_SERVICE = "po/child-session-labels";
10
+ const PO_CHILD_SESSION_SERVICE = "po/child-session";
4
11
  /** Optional session-owned MCP dispatcher. Children borrow it without owning its connections. */
5
- const DOOM_CHILD_SESSION_MCP_TOOL_SERVICE = "doom/child-session-mcp-tool";
6
- function readDoomChildSessionService(context) {
7
- return context.get(DOOM_CHILD_SESSION_SERVICE);
12
+ const PO_CHILD_SESSION_MCP_TOOL_SERVICE = "po/child-session-mcp-tool";
13
+ /** Custom message type of an attributed child input; its details carry `{ sender }`. */
14
+ const PO_CHILD_INPUT_CUSTOM_TYPE = "po-input";
15
+ function readPoChildSessionHookRegistry(context) {
16
+ return context.get(PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE);
8
17
  }
9
- function requireDoomChildSessionService(context) {
10
- const service = readDoomChildSessionService(context);
11
- if (!service) throw new Error("The Doom child-session service is unavailable.");
18
+ function readPoChildSessionLabels(context) {
19
+ return context.get(PO_CHILD_SESSION_LABELS_SERVICE);
20
+ }
21
+ function readPoChildSessionService(context) {
22
+ return context.get(PO_CHILD_SESSION_SERVICE);
23
+ }
24
+ function requirePoChildSessionService(context) {
25
+ const service = readPoChildSessionService(context);
26
+ if (!service) throw new Error("The Po child-session service is unavailable.");
12
27
  return service;
13
28
  }
14
29
  //#endregion
15
- exports.DOOM_CHILD_SESSION_HOOKS_SERVICE = DOOM_CHILD_SESSION_HOOKS_SERVICE;
16
- exports.DOOM_CHILD_SESSION_MCP_TOOL_SERVICE = DOOM_CHILD_SESSION_MCP_TOOL_SERVICE;
17
- exports.DOOM_CHILD_SESSION_SERVICE = DOOM_CHILD_SESSION_SERVICE;
18
- exports.readDoomChildSessionService = readDoomChildSessionService;
19
- exports.requireDoomChildSessionService = requireDoomChildSessionService;
30
+ exports.PO_CHILD_INPUT_CUSTOM_TYPE = PO_CHILD_INPUT_CUSTOM_TYPE;
31
+ exports.PO_CHILD_SESSION_HOOKS_SERVICE = PO_CHILD_SESSION_HOOKS_SERVICE;
32
+ exports.PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE = PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE;
33
+ exports.PO_CHILD_SESSION_LABELS_SERVICE = PO_CHILD_SESSION_LABELS_SERVICE;
34
+ exports.PO_CHILD_SESSION_MCP_TOOL_SERVICE = PO_CHILD_SESSION_MCP_TOOL_SERVICE;
35
+ exports.PO_CHILD_SESSION_SERVICE = PO_CHILD_SESSION_SERVICE;
36
+ exports.readPoChildSessionHookRegistry = readPoChildSessionHookRegistry;
37
+ exports.readPoChildSessionLabels = readPoChildSessionLabels;
38
+ exports.readPoChildSessionService = readPoChildSessionService;
39
+ exports.requirePoChildSessionService = requirePoChildSessionService;
20
40
 
21
41
  //# sourceMappingURL=childSession.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"childSession.cjs","names":[],"sources":["../../../../../src/systems/child/types/childSession.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { JsonValue } from '@earendil-works/chord';\n\nimport type { TranscriptPage, TranscriptPageRequest } from '../../../schemas/sessionProtocol';\nimport type { DirectHarnessRuntimeOptions } from '../../../types/server/directHarnessRuntime';\n\nexport const DOOM_CHILD_SESSION_HOOKS_SERVICE = 'doom/child-session-hooks';\n\nexport interface DoomChildSessionHookScope {\n readonly request: DoomChildSessionRequest;\n sessionId(): string | undefined;\n readonly signal: AbortSignal;\n sendMessage(text: string, delivery: 'steer' | 'followUp'): Promise<void>;\n appendCustomEntry(type: string, data: JsonValue): Promise<void>;\n}\n\nexport interface DoomChildSessionHookBinding {\n readonly beforeTool: NonNullable<DirectHarnessRuntimeOptions['beforeTool']>;\n readonly afterTool: NonNullable<DirectHarnessRuntimeOptions['afterTool']>;\n dispose(): Promise<void>;\n}\n\nexport interface DoomChildSessionHooks {\n bind(scope: DoomChildSessionHookScope): DoomChildSessionHookBinding;\n}\n\nexport const DOOM_CHILD_SESSION_SERVICE = 'doom/child-session';\n/** Optional session-owned MCP dispatcher. Children borrow it without owning its connections. */\nexport const DOOM_CHILD_SESSION_MCP_TOOL_SERVICE = 'doom/child-session-mcp-tool';\n\nexport type DoomChildSessionState = 'starting' | 'running' | 'completed' | 'failed' | 'stopped';\n\nexport interface DoomChildSessionFreshSource {\n readonly kind: 'fresh';\n}\n\n/** Continue one previously-owned native child journal. Providers must validate the v4 header before opening it. */\nexport interface DoomChildSessionV4RestoreSource {\n readonly kind: 'v4-restore';\n readonly sessionFile: string;\n}\n\n/** Fork one branch of a headless v4 journal into a separate child journal. */\nexport interface DoomChildSessionV4ForkSource {\n readonly kind: 'v4-fork';\n readonly sessionFile: string;\n readonly branch: string;\n readonly entryId?: string;\n}\n\n/**\n * Immutable terminal Pi branch captured by the thin Pi adapter.\n *\n * The serialized v3 snapshot is data, not a writable parent path. The child host\n * converts it into a separate v4 journal and never opens the active Pi history.\n */\nexport interface DoomChildSessionTerminalPiForkSource {\n readonly kind: 'terminal-pi-fork';\n readonly sourceSessionId: string;\n readonly sourceLeafId: string;\n readonly snapshotJsonl: string;\n}\n\nexport type DoomChildSessionSource =\n | DoomChildSessionFreshSource\n | DoomChildSessionV4RestoreSource\n | DoomChildSessionV4ForkSource\n | DoomChildSessionTerminalPiForkSource;\n\nexport interface DoomChildSessionScope {\n readonly rootSessionId: string;\n readonly scopeKey: string;\n}\n\n/** Capability data is intentionally host-neutral; the owning runtime validates its fields. */\nexport interface DoomChildSessionCapabilityCeiling {\n readonly allowedTools?: readonly string[];\n readonly requiredTools?: readonly string[];\n readonly allowMcpTools?: boolean;\n readonly allowedExternalProfiles?: readonly string[];\n readonly denyExtensions?: boolean;\n}\n\nexport interface DoomChildSessionRequest {\n readonly runId: string;\n readonly parentSessionId: string;\n readonly scope: DoomChildSessionScope;\n readonly source: DoomChildSessionSource;\n readonly agent: string;\n readonly task: string;\n readonly cwd: string;\n readonly model?: string;\n readonly thinking?: string;\n readonly systemPrompt?: string;\n readonly systemPromptMode?: 'append' | 'replace';\n readonly extensions?: readonly string[];\n readonly subagentOnlyExtensions?: readonly string[];\n readonly tools?: readonly string[];\n readonly excludeTools?: readonly string[];\n readonly skills?: readonly string[];\n readonly mcpDirectTools?: readonly string[];\n readonly capabilityCeiling?: DoomChildSessionCapabilityCeiling;\n readonly intercom?: DoomChildSessionIntercom;\n readonly environment: Readonly<Record<string, string | undefined>>;\n}\n\nexport interface DoomChildSessionUsage {\n readonly rowId: string;\n readonly cost: number;\n}\n\nexport interface DoomChildSessionEvent {\n readonly runId: string;\n readonly state: DoomChildSessionState;\n readonly timestamp: number;\n readonly message?: string;\n readonly sessionFile?: string;\n readonly cost?: number;\n}\n\nexport interface DoomChildSessionToolResult {\n readonly content: readonly (\n | { readonly type: 'text'; readonly text: string }\n | { readonly type: 'image'; readonly data: string; readonly mimeType: string }\n )[];\n readonly details?: unknown;\n readonly isError?: boolean;\n}\n\nexport interface DoomChildSessionTool {\n readonly name: string;\n readonly description: string;\n readonly parameters: unknown;\n execute(\n operationId: string,\n params: unknown,\n signal?: AbortSignal,\n onUpdate?: (result: DoomChildSessionToolResult) => void,\n ): Promise<DoomChildSessionToolResult>;\n}\n\n/** Borrowed active parent declarations. Children never own the catalog's connections. */\nexport interface DoomChildSessionMcpCatalog {\n snapshot(): readonly DoomChildSessionTool[];\n resolveSelectors(selectors: readonly string[]): readonly string[];\n subscribe(listener: () => void): () => void;\n}\n\n/** The private dispatcher remains available to compatibility consumers. */\nexport interface DoomChildSessionMcpTool extends DoomChildSessionTool {\n readonly catalog?: DoomChildSessionMcpCatalog;\n}\n\n/** Direct in-process Team intercom supplied by an owning extension. */\nexport interface DoomChildSessionIntercom {\n bindRuntime(runtime: DoomChildSessionRuntime): DoomChildSessionTool;\n dispose?(): void;\n /**\n * Called after each child turn settles. Resolves true when intercom activity may have started\n * another turn (the caller waits for idle and asks again), false when the run may finish.\n */\n hold?(): Promise<boolean>;\n}\n\n/** Host runtime owned by the direct headless or terminal adapter. */\nexport interface DoomChildSessionRuntime {\n readonly sessionId: string;\n readonly sessionFile?: string;\n prompt(task: string): Promise<string | void>;\n steer(message: string): Promise<void>;\n followUp?(message: string): Promise<void>;\n abort(): Promise<void>;\n onUsage?(listener: (usage: DoomChildSessionUsage) => void): () => void;\n /** Reads only this runtime's owned journal. The callback may remain valid after runtime disposal. */\n readTranscriptPage?(request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal): Promise<TranscriptPage>;\n dispose(): Promise<void>;\n}\n\nexport type DoomChildSessionRuntimeFactory = (\n request: DoomChildSessionRequest,\n signal?: AbortSignal,\n) => Promise<DoomChildSessionRuntime>;\n\nexport interface DoomChildSessionHandle {\n readonly runId: string;\n readonly sessionFile?: string;\n state(): DoomChildSessionState;\n subscribe(listener: (event: DoomChildSessionEvent) => void): () => void;\n steer(message: string, signal?: AbortSignal): Promise<void>;\n stop(reason?: string): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface DoomChildSessionService {\n start(request: DoomChildSessionRequest, signal?: AbortSignal): Promise<DoomChildSessionHandle>;\n get(runId: string): DoomChildSessionHandle | undefined;\n /** Resolves an owned run ID inside this session service. Callers never provide journal paths. */\n readTranscriptPage?(\n runId: string,\n request: Omit<TranscriptPageRequest, 'threadId'>,\n signal?: AbortSignal,\n ): Promise<TranscriptPage>;\n close(): Promise<void>;\n}\n\n/** Lazy provider lets Pi and headless composition bind the host-owned service later. */\nexport interface DoomChildSessionServiceProvider {\n get(): DoomChildSessionService | undefined;\n}\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'doom/child-session': DoomChildSessionService;\n 'doom/child-session-hooks': DoomChildSessionHooks;\n 'doom/child-session-mcp-tool': DoomChildSessionMcpTool;\n }\n}\n\nexport function readDoomChildSessionService(context: Context): DoomChildSessionService | undefined {\n return context.get(DOOM_CHILD_SESSION_SERVICE) as DoomChildSessionService | undefined;\n}\n\nexport function requireDoomChildSessionService(context: Context): DoomChildSessionService {\n const service = readDoomChildSessionService(context);\n if (!service) throw new Error('The Doom child-session service is unavailable.');\n return service;\n}\n"],"mappings":";AAMA,MAAa,mCAAmC;AAoBhD,MAAa,6BAA6B;;AAE1C,MAAa,sCAAsC;AA6LnD,SAAgB,4BAA4B,SAAuD;CACjG,OAAO,QAAQ,IAAI,0BAA0B;AAC/C;AAEA,SAAgB,+BAA+B,SAA2C;CACxF,MAAM,UAAU,4BAA4B,OAAO;CACnD,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,gDAAgD;CAC9E,OAAO;AACT"}
1
+ {"version":3,"file":"childSession.cjs","names":[],"sources":["../../../../../src/systems/child/types/childSession.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { JsonValue, ReplicatedState } from '@earendil-works/chord';\n\nimport type { SessionServiceState, TranscriptPage, TranscriptPageRequest } from '../../../schemas/sessionProtocol';\nimport type { DirectHarnessRuntimeOptions } from '../../../types/server/directHarnessRuntime';\n\n/** One child run's transcript for a thread view: live state while it runs, pages for the session's lifetime. */\nexport interface PoChildThread {\n readonly state?: ReplicatedState<SessionServiceState>;\n readTranscriptPage(request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal): Promise<TranscriptPage>;\n}\n\nexport const PO_CHILD_SESSION_HOOKS_SERVICE = 'po/child-session-hooks';\n\nexport interface PoChildSessionHookScope {\n readonly request: PoChildSessionRequest;\n sessionId(): string | undefined;\n readonly signal: AbortSignal;\n sendMessage(text: string, delivery: 'steer' | 'followUp'): Promise<void>;\n appendCustomEntry(type: string, data: JsonValue): Promise<void>;\n}\n\nexport interface PoChildSessionHookBinding {\n readonly beforeTool: NonNullable<DirectHarnessRuntimeOptions['beforeTool']>;\n readonly afterTool: NonNullable<DirectHarnessRuntimeOptions['afterTool']>;\n dispose(): Promise<void>;\n}\n\nexport interface PoChildSessionHooks {\n bind(scope: PoChildSessionHookScope): PoChildSessionHookBinding;\n}\n\n/**\n * Additional child hooks from any package. `po/child-session-hooks` admits one provider, so\n * observers register here instead; they run after that provider and see its patched result.\n */\nexport const PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE = 'po/child-session-hook-registry';\n\nexport interface PoChildSessionHookRegistry {\n register(hooks: PoChildSessionHooks): { dispose(): void };\n list(): readonly PoChildSessionHooks[];\n}\n\n/** Optional display names for in-process child runs, keyed by run id. Absent without a team layer. */\nexport const PO_CHILD_SESSION_LABELS_SERVICE = 'po/child-session-labels';\n\nexport interface PoChildSessionLabels {\n labelFor(runId: string): string | undefined;\n}\n\nexport const PO_CHILD_SESSION_SERVICE = 'po/child-session';\n/** Optional session-owned MCP dispatcher. Children borrow it without owning its connections. */\nexport const PO_CHILD_SESSION_MCP_TOOL_SERVICE = 'po/child-session-mcp-tool';\n\nexport type PoChildSessionState = 'starting' | 'running' | 'completed' | 'failed' | 'stopped';\n\nexport interface PoChildSessionFreshSource {\n readonly kind: 'fresh';\n}\n\n/** Start from the parent's own history through `entryId`, or through its newest entry when omitted. */\nexport interface PoChildSessionForkSource {\n readonly kind: 'fork';\n readonly entryId?: string;\n}\n\nexport type PoChildSessionSource = PoChildSessionFreshSource | PoChildSessionForkSource;\n\nexport interface PoChildSessionScope {\n readonly rootSessionId: string;\n readonly scopeKey: string;\n}\n\n/** Capability data is intentionally host-neutral; the owning runtime validates its fields. */\nexport interface PoChildSessionCapabilityCeiling {\n readonly allowedTools?: readonly string[];\n readonly requiredTools?: readonly string[];\n readonly allowMcpTools?: boolean;\n readonly allowedExternalProfiles?: readonly string[];\n readonly denyExtensions?: boolean;\n}\n\n/**\n * Who sent one input to a child. Stamped by the host that admitted it, never\n * read back from message text, so a transcript can say who spoke.\n */\nexport interface PoChildSessionSender {\n readonly kind: 'human' | 'agent' | 'system';\n readonly id?: string;\n readonly name: string;\n}\n\n/** A bare string is an input whose sender was not recorded. */\nexport type PoChildSessionInput = string | { readonly text: string; readonly sender: PoChildSessionSender };\n\n/** Custom message type of an attributed child input; its details carry `{ sender }`. */\nexport const PO_CHILD_INPUT_CUSTOM_TYPE = 'po-input';\nexport interface PoChildSessionRequest {\n readonly runId: string;\n readonly parentSessionId: string;\n readonly scope: PoChildSessionScope;\n readonly source: PoChildSessionSource;\n readonly agent: string;\n readonly task: string;\n /** Who gave the task. Absent when the launcher did not record it. */\n readonly sender?: PoChildSessionSender;\n readonly cwd: string;\n readonly model?: string;\n readonly thinking?: string;\n readonly systemPrompt?: string;\n readonly systemPromptMode?: 'append' | 'replace';\n readonly extensions?: readonly string[];\n readonly subagentOnlyExtensions?: readonly string[];\n readonly tools?: readonly string[];\n readonly excludeTools?: readonly string[];\n readonly skills?: readonly string[];\n readonly mcpDirectTools?: readonly string[];\n readonly capabilityCeiling?: PoChildSessionCapabilityCeiling;\n readonly intercom?: PoChildSessionIntercom;\n readonly environment: Readonly<Record<string, string | undefined>>;\n /** Data the launcher keeps beside the run, such as its own identity for it; returned by `stored()`. */\n readonly meta?: { readonly [key: string]: JsonValue };\n}\n\n/** A run this session stored and has not reported: its request without the live parts. */\nexport interface PoStoredChildRun {\n readonly request: Omit<PoChildSessionRequest, 'intercom' | 'environment' | 'source'>;\n /** Its task input already has its answer or ended, so restoring it finishes at once. */\n readonly settled: boolean;\n}\n\n/** A run whose completion reached its launcher, as stored; absent fields were not recorded. */\nexport interface PoReportedChildRun {\n readonly agent?: string;\n readonly task?: string;\n readonly state?: 'completed' | 'failed' | 'stopped';\n}\n\nexport interface PoChildSessionUsage {\n readonly rowId: string;\n readonly cost: number;\n readonly tokens?: number;\n}\n\n/** Model and thinking effort as the runtime holds them, never as requested. */\nexport interface PoChildSessionConfig {\n /** `provider/model`. */\n readonly model?: string;\n readonly thinking?: string;\n}\n\nexport interface PoChildSessionEvent {\n readonly runId: string;\n readonly state: PoChildSessionState;\n readonly timestamp: number;\n readonly message?: string;\n readonly cost?: number;\n /** Observed by the runtime; absent until it reports them. */\n readonly model?: string;\n readonly thinking?: string;\n readonly tokens?: number;\n readonly toolCount?: number;\n}\n\nexport interface PoChildSessionToolResult {\n readonly content: readonly (\n | { readonly type: 'text'; readonly text: string }\n | { readonly type: 'image'; readonly data: string; readonly mimeType: string }\n )[];\n readonly details?: unknown;\n readonly isError?: boolean;\n}\n\nexport interface PoChildSessionTool {\n readonly name: string;\n readonly description: string;\n readonly parameters: unknown;\n execute(\n operationId: string,\n params: unknown,\n signal?: AbortSignal,\n onUpdate?: (result: PoChildSessionToolResult) => void,\n ): Promise<PoChildSessionToolResult>;\n}\n\n/** Borrowed active parent declarations. Children never own the catalog's connections. */\nexport interface PoChildSessionMcpCatalog {\n snapshot(): readonly PoChildSessionTool[];\n resolveSelectors(selectors: readonly string[]): readonly string[];\n subscribe(listener: () => void): () => void;\n}\n\n/** The private dispatcher remains available to compatibility consumers. */\nexport interface PoChildSessionMcpTool extends PoChildSessionTool {\n readonly catalog?: PoChildSessionMcpCatalog;\n}\n\n/** Direct in-process Team intercom supplied by an owning extension. */\nexport interface PoChildSessionIntercom {\n bindRuntime(runtime: PoChildSessionRuntime): PoChildSessionTool;\n dispose?(): void;\n /**\n * Called after each child turn settles. Resolves true when intercom activity may have started\n * another turn (the caller waits for idle and asks again), false when the run may finish.\n */\n hold?(): Promise<boolean>;\n}\n\n/** Host runtime owned by the direct headless adapter. */\nexport interface PoChildSessionRuntime {\n readonly sessionId: string;\n prompt(task: PoChildSessionInput): Promise<string | void>;\n steer(message: PoChildSessionInput): Promise<void>;\n followUp?(message: PoChildSessionInput): Promise<void>;\n abort(): Promise<void>;\n onUsage?(listener: (usage: PoChildSessionUsage) => void): () => void;\n /** Reports the current configuration once, then each change. */\n onConfig?(listener: (config: PoChildSessionConfig) => void): () => void;\n /** One call per tool execution started. */\n onToolStart?(listener: (toolCallId: string) => void): () => void;\n /** Reads only this runtime's own conversation. The callback may remain valid after runtime disposal. */\n readTranscriptPage?(request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal): Promise<TranscriptPage>;\n dispose(): Promise<void>;\n}\n\nexport type PoChildSessionRuntimeFactory = (\n request: PoChildSessionRequest,\n signal?: AbortSignal,\n) => Promise<PoChildSessionRuntime>;\n\nexport interface PoChildSessionHandle {\n readonly runId: string;\n state(): PoChildSessionState;\n subscribe(listener: (event: PoChildSessionEvent) => void): () => void;\n steer(message: PoChildSessionInput, signal?: AbortSignal): Promise<void>;\n stop(reason?: string): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface PoChildSessionService {\n start(request: PoChildSessionRequest, signal?: AbortSignal): Promise<PoChildSessionHandle>;\n get(runId: string): PoChildSessionHandle | undefined;\n /** Resolves an owned run ID inside this session service. Callers never provide journal paths. */\n readTranscriptPage?(\n runId: string,\n request: Omit<TranscriptPageRequest, 'threadId'>,\n signal?: AbortSignal,\n ): Promise<TranscriptPage>;\n /** Runs this session started and has not reported; each child resumes with the session once restored. */\n stored?(): Promise<readonly PoStoredChildRun[]>;\n /** Re-attaches a stored run, giving it the launcher's live intercom. */\n restore?(runId: string, live?: { readonly intercom?: PoChildSessionIntercom }): Promise<PoChildSessionHandle>;\n /** Records that a run's completion reached its launcher, so a restart never reports it again. */\n markReported?(runId: string): Promise<void>;\n /** A reported run's stored outcome, so its status outlives memory and restarts; undefined when unreported. */\n reported?(runId: string): Promise<PoReportedChildRun | undefined>;\n close(): Promise<void>;\n}\n\n/** Lazy provider lets Pi and headless composition bind the host-owned service later. */\nexport interface PoChildSessionServiceProvider {\n get(): PoChildSessionService | undefined;\n}\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/child-session': PoChildSessionService;\n 'po/child-session-hooks': PoChildSessionHooks;\n 'po/child-session-hook-registry': PoChildSessionHookRegistry;\n 'po/child-session-labels': PoChildSessionLabels;\n 'po/child-session-mcp-tool': PoChildSessionMcpTool;\n }\n}\n\nexport function readPoChildSessionHookRegistry(context: Context): PoChildSessionHookRegistry | undefined {\n return context.get(PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE) as PoChildSessionHookRegistry | undefined;\n}\n\nexport function readPoChildSessionLabels(context: Context): PoChildSessionLabels | undefined {\n return context.get(PO_CHILD_SESSION_LABELS_SERVICE) as PoChildSessionLabels | undefined;\n}\n\nexport function readPoChildSessionService(context: Context): PoChildSessionService | undefined {\n return context.get(PO_CHILD_SESSION_SERVICE) as PoChildSessionService | undefined;\n}\n\nexport function requirePoChildSessionService(context: Context): PoChildSessionService {\n const service = readPoChildSessionService(context);\n if (!service) throw new Error('The Po child-session service is unavailable.');\n return service;\n}\n"],"mappings":";AAYA,MAAa,iCAAiC;;;;;AAwB9C,MAAa,yCAAyC;;AAQtD,MAAa,kCAAkC;AAM/C,MAAa,2BAA2B;;AAExC,MAAa,oCAAoC;;AA4CjD,MAAa,6BAA6B;AAiL1C,SAAgB,+BAA+B,SAA0D;CACvG,OAAO,QAAQ,IAAI,sCAAsC;AAC3D;AAEA,SAAgB,yBAAyB,SAAoD;CAC3F,OAAO,QAAQ,IAAI,+BAA+B;AACpD;AAEA,SAAgB,0BAA0B,SAAqD;CAC7F,OAAO,QAAQ,IAAI,wBAAwB;AAC7C;AAEA,SAAgB,6BAA6B,SAAyC;CACpF,MAAM,UAAU,0BAA0B,OAAO;CACjD,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,8CAA8C;CAC5E,OAAO;AACT"}