@agimon-ai/doompi-core 0.0.1-alpha.100

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 (1233) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/agentModel.cjs +4 -0
  5. package/dist/agentModel.d.mts +2 -0
  6. package/dist/agentModel.mjs +2 -0
  7. package/dist/apiContracts.cjs +2009 -0
  8. package/dist/apiContracts.cjs.map +1 -0
  9. package/dist/apiContracts.d.mts +1018 -0
  10. package/dist/apiContracts.d.mts.map +1 -0
  11. package/dist/apiContracts.mjs +1989 -0
  12. package/dist/apiContracts.mjs.map +1 -0
  13. package/dist/askUser.cjs +8 -0
  14. package/dist/askUser.d.mts +2 -0
  15. package/dist/askUser.mjs +2 -0
  16. package/dist/authorTools.cjs +5 -0
  17. package/dist/authorTools.d.mts +2 -0
  18. package/dist/authorTools.mjs +2 -0
  19. package/dist/backgroundWork.cjs +7 -0
  20. package/dist/backgroundWork.d.mts +2 -0
  21. package/dist/backgroundWork.mjs +2 -0
  22. package/dist/bundleAssetPolicy.cjs +5 -0
  23. package/dist/bundleAssetPolicy.d.mts +2 -0
  24. package/dist/bundleAssetPolicy.mjs +2 -0
  25. package/dist/childProcess.cjs +15 -0
  26. package/dist/childProcess.d.mts +2 -0
  27. package/dist/childProcess.mjs +2 -0
  28. package/dist/childSession.cjs +8 -0
  29. package/dist/childSession.d.mts +3 -0
  30. package/dist/childSession.mjs +3 -0
  31. package/dist/cockpitContainer.cjs +4 -0
  32. package/dist/cockpitContainer.d.mts +2 -0
  33. package/dist/cockpitContainer.mjs +2 -0
  34. package/dist/config.cjs +13 -0
  35. package/dist/config.d.mts +3 -0
  36. package/dist/config.mjs +2 -0
  37. package/dist/contextApi.cjs +10 -0
  38. package/dist/contextApi.d.mts +4 -0
  39. package/dist/contextApi.mjs +3 -0
  40. package/dist/contextContributions.cjs +7 -0
  41. package/dist/contextContributions.d.mts +3 -0
  42. package/dist/contextContributions.mjs +3 -0
  43. package/dist/contextDetail.cjs +65 -0
  44. package/dist/contextDetail.cjs.map +1 -0
  45. package/dist/contextDetail.d.mts +19 -0
  46. package/dist/contextDetail.d.mts.map +1 -0
  47. package/dist/contextDetail.mjs +64 -0
  48. package/dist/contextDetail.mjs.map +1 -0
  49. package/dist/contextDetailStore.cjs +100 -0
  50. package/dist/contextDetailStore.cjs.map +1 -0
  51. package/dist/contextDetailStore.d.mts +19 -0
  52. package/dist/contextDetailStore.d.mts.map +1 -0
  53. package/dist/contextDetailStore.mjs +91 -0
  54. package/dist/contextDetailStore.mjs.map +1 -0
  55. package/dist/contextProjection.cjs +121 -0
  56. package/dist/contextProjection.cjs.map +1 -0
  57. package/dist/contextProjection.d.mts +130 -0
  58. package/dist/contextProjection.d.mts.map +1 -0
  59. package/dist/contextProjection.mjs +117 -0
  60. package/dist/contextProjection.mjs.map +1 -0
  61. package/dist/cordisHost.cjs +11 -0
  62. package/dist/cordisHost.d.mts +2 -0
  63. package/dist/cordisHost.mjs +2 -0
  64. package/dist/delegation.cjs +18 -0
  65. package/dist/delegation.d.mts +2 -0
  66. package/dist/delegation.mjs +2 -0
  67. package/dist/doomPackage.cjs +61 -0
  68. package/dist/doomPackage.cjs.map +1 -0
  69. package/dist/doomPackage.d.mts +17 -0
  70. package/dist/doomPackage.d.mts.map +1 -0
  71. package/dist/doomPackage.mjs +54 -0
  72. package/dist/doomPackage.mjs.map +1 -0
  73. package/dist/executionBudget.cjs +231 -0
  74. package/dist/executionBudget.cjs.map +1 -0
  75. package/dist/executionBudget.d.mts +11 -0
  76. package/dist/executionBudget.d.mts.map +1 -0
  77. package/dist/executionBudget.mjs +225 -0
  78. package/dist/executionBudget.mjs.map +1 -0
  79. package/dist/extensionFile.cjs +24 -0
  80. package/dist/extensionFile.d.mts +3 -0
  81. package/dist/extensionFile.mjs +2 -0
  82. package/dist/footer.cjs +6 -0
  83. package/dist/footer.d.mts +2 -0
  84. package/dist/footer.mjs +2 -0
  85. package/dist/headless.cjs +9 -0
  86. package/dist/headless.d.mts +2 -0
  87. package/dist/headless.mjs +2 -0
  88. package/dist/headlessHub.cjs +914 -0
  89. package/dist/headlessHub.cjs.map +1 -0
  90. package/dist/headlessHub.d.mts +157 -0
  91. package/dist/headlessHub.d.mts.map +1 -0
  92. package/dist/headlessHub.mjs +911 -0
  93. package/dist/headlessHub.mjs.map +1 -0
  94. package/dist/headlessServer.cjs +910 -0
  95. package/dist/headlessServer.cjs.map +1 -0
  96. package/dist/headlessServer.d.mts +64 -0
  97. package/dist/headlessServer.d.mts.map +1 -0
  98. package/dist/headlessServer.mjs +904 -0
  99. package/dist/headlessServer.mjs.map +1 -0
  100. package/dist/headlessSessionHost.cjs +0 -0
  101. package/dist/headlessSessionHost.d.mts +71 -0
  102. package/dist/headlessSessionHost.d.mts.map +1 -0
  103. package/dist/headlessSessionHost.mjs +1 -0
  104. package/dist/headlessSessionManager.cjs +51 -0
  105. package/dist/headlessSessionManager.cjs.map +1 -0
  106. package/dist/headlessSessionManager.d.mts +6 -0
  107. package/dist/headlessSessionManager.d.mts.map +1 -0
  108. package/dist/headlessSessionManager.mjs +50 -0
  109. package/dist/headlessSessionManager.mjs.map +1 -0
  110. package/dist/help.cjs +24 -0
  111. package/dist/help.d.mts +3 -0
  112. package/dist/help.mjs +3 -0
  113. package/dist/history.cjs +25 -0
  114. package/dist/history.d.mts +10 -0
  115. package/dist/history.mjs +10 -0
  116. package/dist/historyImport.cjs +553 -0
  117. package/dist/historyImport.cjs.map +1 -0
  118. package/dist/historyImport.d.mts +76 -0
  119. package/dist/historyImport.d.mts.map +1 -0
  120. package/dist/historyImport.mjs +547 -0
  121. package/dist/historyImport.mjs.map +1 -0
  122. package/dist/historyOwnership.cjs +253 -0
  123. package/dist/historyOwnership.cjs.map +1 -0
  124. package/dist/historyOwnership.d.mts +23 -0
  125. package/dist/historyOwnership.d.mts.map +1 -0
  126. package/dist/historyOwnership.mjs +247 -0
  127. package/dist/historyOwnership.mjs.map +1 -0
  128. package/dist/hubChannel.cjs +4 -0
  129. package/dist/hubChannel.d.mts +2 -0
  130. package/dist/hubChannel.mjs +2 -0
  131. package/dist/index.cjs +44 -0
  132. package/dist/index.d.mts +6 -0
  133. package/dist/index.mjs +6 -0
  134. package/dist/json.cjs +6 -0
  135. package/dist/json.d.mts +2 -0
  136. package/dist/json.mjs +2 -0
  137. package/dist/jsonlSessionRepo.cjs +217 -0
  138. package/dist/jsonlSessionRepo.cjs.map +1 -0
  139. package/dist/jsonlSessionRepo.d.mts +7 -0
  140. package/dist/jsonlSessionRepo.d.mts.map +1 -0
  141. package/dist/jsonlSessionRepo.mjs +212 -0
  142. package/dist/jsonlSessionRepo.mjs.map +1 -0
  143. package/dist/kernel.cjs +3 -0
  144. package/dist/kernel.d.mts +3 -0
  145. package/dist/kernel.mjs +2 -0
  146. package/dist/leader.cjs +9 -0
  147. package/dist/leader.d.mts +2 -0
  148. package/dist/leader.mjs +2 -0
  149. package/dist/logSinkTelemetry.cjs +5 -0
  150. package/dist/logSinkTelemetry.d.mts +2 -0
  151. package/dist/logSinkTelemetry.mjs +2 -0
  152. package/dist/machineApi.cjs +92 -0
  153. package/dist/machineApi.cjs.map +1 -0
  154. package/dist/machineApi.d.mts +7 -0
  155. package/dist/machineApi.d.mts.map +1 -0
  156. package/dist/machineApi.mjs +88 -0
  157. package/dist/machineApi.mjs.map +1 -0
  158. package/dist/main.cjs +11 -0
  159. package/dist/main.d.mts +5 -0
  160. package/dist/main.mjs +4 -0
  161. package/dist/mcpFacet.cjs +12 -0
  162. package/dist/mcpFacet.d.mts +4 -0
  163. package/dist/mcpFacet.mjs +4 -0
  164. package/dist/mcpProjection.cjs +16 -0
  165. package/dist/mcpProjection.d.mts +2 -0
  166. package/dist/mcpProjection.mjs +2 -0
  167. package/dist/mcpSchemaCost.cjs +195 -0
  168. package/dist/mcpSchemaCost.cjs.map +1 -0
  169. package/dist/mcpSchemaCost.d.mts +35 -0
  170. package/dist/mcpSchemaCost.d.mts.map +1 -0
  171. package/dist/mcpSchemaCost.mjs +190 -0
  172. package/dist/mcpSchemaCost.mjs.map +1 -0
  173. package/dist/mcpSession.cjs +9 -0
  174. package/dist/mcpSession.d.mts +2 -0
  175. package/dist/mcpSession.mjs +2 -0
  176. package/dist/mcpStatus.cjs +7 -0
  177. package/dist/mcpStatus.d.mts +2 -0
  178. package/dist/mcpStatus.mjs +2 -0
  179. package/dist/mcpToolResolver.cjs +5 -0
  180. package/dist/mcpToolResolver.d.mts +2 -0
  181. package/dist/mcpToolResolver.mjs +2 -0
  182. package/dist/mcpWidget.cjs +0 -0
  183. package/dist/mcpWidget.d.mts +2 -0
  184. package/dist/mcpWidget.mjs +1 -0
  185. package/dist/moduleResolution.cjs +405 -0
  186. package/dist/moduleResolution.cjs.map +1 -0
  187. package/dist/moduleResolution.d.mts +67 -0
  188. package/dist/moduleResolution.d.mts.map +1 -0
  189. package/dist/moduleResolution.mjs +389 -0
  190. package/dist/moduleResolution.mjs.map +1 -0
  191. package/dist/narration.cjs +10 -0
  192. package/dist/narration.d.mts +2 -0
  193. package/dist/narration.mjs +2 -0
  194. package/dist/notification.cjs +17 -0
  195. package/dist/notification.d.mts +2 -0
  196. package/dist/notification.mjs +2 -0
  197. package/dist/packageApi.cjs +16 -0
  198. package/dist/packageApi.d.mts +3 -0
  199. package/dist/packageApi.mjs +3 -0
  200. package/dist/packageApiServer.cjs +191 -0
  201. package/dist/packageApiServer.cjs.map +1 -0
  202. package/dist/packageApiServer.d.mts +57 -0
  203. package/dist/packageApiServer.d.mts.map +1 -0
  204. package/dist/packageApiServer.mjs +189 -0
  205. package/dist/packageApiServer.mjs.map +1 -0
  206. package/dist/piExtension.cjs +13 -0
  207. package/dist/piExtension.d.mts +5 -0
  208. package/dist/piExtension.mjs +4 -0
  209. package/dist/piSettings.cjs +12 -0
  210. package/dist/piSettings.d.mts +2 -0
  211. package/dist/piSettings.mjs +2 -0
  212. package/dist/pluginProtocol.cjs +10 -0
  213. package/dist/pluginProtocol.d.mts +2 -0
  214. package/dist/pluginProtocol.mjs +2 -0
  215. package/dist/profileIdentity.cjs +6 -0
  216. package/dist/profileIdentity.d.mts +2 -0
  217. package/dist/profileIdentity.mjs +2 -0
  218. package/dist/protocol.cjs +10 -0
  219. package/dist/protocol.d.mts +2 -0
  220. package/dist/protocol.mjs +2 -0
  221. package/dist/readiness.cjs +8 -0
  222. package/dist/readiness.d.mts +2 -0
  223. package/dist/readiness.mjs +2 -0
  224. package/dist/relaunchHandoff.cjs +6 -0
  225. package/dist/relaunchHandoff.d.mts +2 -0
  226. package/dist/relaunchHandoff.mjs +2 -0
  227. package/dist/remoteApi.cjs +42 -0
  228. package/dist/remoteApi.cjs.map +1 -0
  229. package/dist/remoteApi.d.mts +7 -0
  230. package/dist/remoteApi.d.mts.map +1 -0
  231. package/dist/remoteApi.mjs +41 -0
  232. package/dist/remoteApi.mjs.map +1 -0
  233. package/dist/remoteRuntime.cjs +460 -0
  234. package/dist/remoteRuntime.cjs.map +1 -0
  235. package/dist/remoteRuntime.d.mts +28 -0
  236. package/dist/remoteRuntime.d.mts.map +1 -0
  237. package/dist/remoteRuntime.mjs +456 -0
  238. package/dist/remoteRuntime.mjs.map +1 -0
  239. package/dist/runtimeConfig.cjs +232 -0
  240. package/dist/runtimeConfig.cjs.map +1 -0
  241. package/dist/runtimeConfig.d.mts +313 -0
  242. package/dist/runtimeConfig.d.mts.map +1 -0
  243. package/dist/runtimeConfig.mjs +221 -0
  244. package/dist/runtimeConfig.mjs.map +1 -0
  245. package/dist/runtimeContextApi.cjs +64 -0
  246. package/dist/runtimeContextApi.cjs.map +1 -0
  247. package/dist/runtimeContextApi.d.mts +16 -0
  248. package/dist/runtimeContextApi.d.mts.map +1 -0
  249. package/dist/runtimeContextApi.mjs +62 -0
  250. package/dist/runtimeContextApi.mjs.map +1 -0
  251. package/dist/runtimeCordisHost.cjs +193 -0
  252. package/dist/runtimeCordisHost.cjs.map +1 -0
  253. package/dist/runtimeCordisHost.d.mts +63 -0
  254. package/dist/runtimeCordisHost.d.mts.map +1 -0
  255. package/dist/runtimeCordisHost.mjs +184 -0
  256. package/dist/runtimeCordisHost.mjs.map +1 -0
  257. package/dist/runtimeHeadlessSessionManager.cjs +0 -0
  258. package/dist/runtimeHeadlessSessionManager.d.mts +18 -0
  259. package/dist/runtimeHeadlessSessionManager.d.mts.map +1 -0
  260. package/dist/runtimeHeadlessSessionManager.mjs +1 -0
  261. package/dist/runtimeIdentity.cjs +26 -0
  262. package/dist/runtimeIdentity.cjs.map +1 -0
  263. package/dist/runtimeIdentity.d.mts +7 -0
  264. package/dist/runtimeIdentity.d.mts.map +1 -0
  265. package/dist/runtimeIdentity.mjs +21 -0
  266. package/dist/runtimeIdentity.mjs.map +1 -0
  267. package/dist/runtimeJson.cjs +46 -0
  268. package/dist/runtimeJson.cjs.map +1 -0
  269. package/dist/runtimeJson.d.mts +22 -0
  270. package/dist/runtimeJson.d.mts.map +1 -0
  271. package/dist/runtimeJson.mjs +39 -0
  272. package/dist/runtimeJson.mjs.map +1 -0
  273. package/dist/runtimeLogSinkTelemetry.cjs +102 -0
  274. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -0
  275. package/dist/runtimeLogSinkTelemetry.d.mts +49 -0
  276. package/dist/runtimeLogSinkTelemetry.d.mts.map +1 -0
  277. package/dist/runtimeLogSinkTelemetry.mjs +99 -0
  278. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -0
  279. package/dist/runtimePiExtension.cjs +339 -0
  280. package/dist/runtimePiExtension.cjs.map +1 -0
  281. package/dist/runtimePiExtension.d.mts +160 -0
  282. package/dist/runtimePiExtension.d.mts.map +1 -0
  283. package/dist/runtimePiExtension.mjs +333 -0
  284. package/dist/runtimePiExtension.mjs.map +1 -0
  285. package/dist/runtimePiSettings.cjs +116 -0
  286. package/dist/runtimePiSettings.cjs.map +1 -0
  287. package/dist/runtimePiSettings.d.mts +29 -0
  288. package/dist/runtimePiSettings.d.mts.map +1 -0
  289. package/dist/runtimePiSettings.mjs +103 -0
  290. package/dist/runtimePiSettings.mjs.map +1 -0
  291. package/dist/runtimeProtocol.cjs +223 -0
  292. package/dist/runtimeProtocol.cjs.map +1 -0
  293. package/dist/runtimeProtocol.d.mts +84 -0
  294. package/dist/runtimeProtocol.d.mts.map +1 -0
  295. package/dist/runtimeProtocol.mjs +215 -0
  296. package/dist/runtimeProtocol.mjs.map +1 -0
  297. package/dist/runtimeToolNames.cjs +51 -0
  298. package/dist/runtimeToolNames.cjs.map +1 -0
  299. package/dist/runtimeToolNames.d.mts +24 -0
  300. package/dist/runtimeToolNames.d.mts.map +1 -0
  301. package/dist/runtimeToolNames.mjs +49 -0
  302. package/dist/runtimeToolNames.mjs.map +1 -0
  303. package/dist/runtimeTransition.cjs +27 -0
  304. package/dist/runtimeTransition.cjs.map +1 -0
  305. package/dist/runtimeTransition.d.mts +114 -0
  306. package/dist/runtimeTransition.d.mts.map +1 -0
  307. package/dist/runtimeTransition.mjs +24 -0
  308. package/dist/runtimeTransition.mjs.map +1 -0
  309. package/dist/sandboxHarness.cjs +6 -0
  310. package/dist/sandboxHarness.d.mts +2 -0
  311. package/dist/sandboxHarness.mjs +2 -0
  312. package/dist/server.cjs +17 -0
  313. package/dist/server.d.mts +10 -0
  314. package/dist/server.mjs +7 -0
  315. package/dist/serverFacet.cjs +30 -0
  316. package/dist/serverFacet.d.mts +8 -0
  317. package/dist/serverFacet.mjs +8 -0
  318. package/dist/serverTelemetry.cjs +25 -0
  319. package/dist/serverTelemetry.cjs.map +1 -0
  320. package/dist/serverTelemetry.d.mts +12 -0
  321. package/dist/serverTelemetry.d.mts.map +1 -0
  322. package/dist/serverTelemetry.mjs +23 -0
  323. package/dist/serverTelemetry.mjs.map +1 -0
  324. package/dist/sessionFilesApi.cjs +96 -0
  325. package/dist/sessionFilesApi.cjs.map +1 -0
  326. package/dist/sessionFilesApi.d.mts +7 -0
  327. package/dist/sessionFilesApi.d.mts.map +1 -0
  328. package/dist/sessionFilesApi.mjs +91 -0
  329. package/dist/sessionFilesApi.mjs.map +1 -0
  330. package/dist/sessionMcp.cjs +6 -0
  331. package/dist/sessionMcp.d.mts +5 -0
  332. package/dist/sessionMcp.mjs +3 -0
  333. package/dist/sessionProtocol.cjs +8 -0
  334. package/dist/sessionProtocol.d.mts +3 -0
  335. package/dist/sessionProtocol.mjs +2 -0
  336. package/dist/skills.cjs +9 -0
  337. package/dist/skills.d.mts +2 -0
  338. package/dist/skills.mjs +2 -0
  339. package/dist/sqliteHistoryImport.cjs +151 -0
  340. package/dist/sqliteHistoryImport.cjs.map +1 -0
  341. package/dist/sqliteHistoryImport.d.mts +8 -0
  342. package/dist/sqliteHistoryImport.d.mts.map +1 -0
  343. package/dist/sqliteHistoryImport.mjs +146 -0
  344. package/dist/sqliteHistoryImport.mjs.map +1 -0
  345. package/dist/sqliteSessionStorage.cjs +53 -0
  346. package/dist/sqliteSessionStorage.cjs.map +1 -0
  347. package/dist/sqliteSessionStorage.d.mts +7 -0
  348. package/dist/sqliteSessionStorage.d.mts.map +1 -0
  349. package/dist/sqliteSessionStorage.mjs +49 -0
  350. package/dist/sqliteSessionStorage.mjs.map +1 -0
  351. package/dist/src/constants/authorTools.cjs +10 -0
  352. package/dist/src/constants/authorTools.cjs.map +1 -0
  353. package/dist/src/constants/authorTools.d.mts +6 -0
  354. package/dist/src/constants/authorTools.d.mts.map +1 -0
  355. package/dist/src/constants/authorTools.mjs +8 -0
  356. package/dist/src/constants/authorTools.mjs.map +1 -0
  357. package/dist/src/constants/contextApi.cjs +28 -0
  358. package/dist/src/constants/contextApi.cjs.map +1 -0
  359. package/dist/src/constants/contextApi.d.mts +21 -0
  360. package/dist/src/constants/contextApi.d.mts.map +1 -0
  361. package/dist/src/constants/contextApi.mjs +23 -0
  362. package/dist/src/constants/contextApi.mjs.map +1 -0
  363. package/dist/src/constants/remote.cjs +90 -0
  364. package/dist/src/constants/remote.cjs.map +1 -0
  365. package/dist/src/constants/remote.mjs +69 -0
  366. package/dist/src/constants/remote.mjs.map +1 -0
  367. package/dist/src/constants/voiceReloadHandoff.cjs +12 -0
  368. package/dist/src/constants/voiceReloadHandoff.cjs.map +1 -0
  369. package/dist/src/constants/voiceReloadHandoff.d.mts +7 -0
  370. package/dist/src/constants/voiceReloadHandoff.d.mts.map +1 -0
  371. package/dist/src/constants/voiceReloadHandoff.mjs +9 -0
  372. package/dist/src/constants/voiceReloadHandoff.mjs.map +1 -0
  373. package/dist/src/constants/voiceTools.cjs +96 -0
  374. package/dist/src/constants/voiceTools.cjs.map +1 -0
  375. package/dist/src/constants/voiceTools.d.mts +58 -0
  376. package/dist/src/constants/voiceTools.d.mts.map +1 -0
  377. package/dist/src/constants/voiceTools.mjs +60 -0
  378. package/dist/src/constants/voiceTools.mjs.map +1 -0
  379. package/dist/src/extensions/extensionFile.cjs +165 -0
  380. package/dist/src/extensions/extensionFile.cjs.map +1 -0
  381. package/dist/src/extensions/extensionFile.d.mts +79 -0
  382. package/dist/src/extensions/extensionFile.d.mts.map +1 -0
  383. package/dist/src/extensions/extensionFile.mjs +144 -0
  384. package/dist/src/extensions/extensionFile.mjs.map +1 -0
  385. package/dist/src/extensions/serverPlugin.cjs +106 -0
  386. package/dist/src/extensions/serverPlugin.cjs.map +1 -0
  387. package/dist/src/extensions/serverPlugin.d.mts +5 -0
  388. package/dist/src/extensions/serverPlugin.d.mts.map +1 -0
  389. package/dist/src/extensions/serverPlugin.mjs +106 -0
  390. package/dist/src/extensions/serverPlugin.mjs.map +1 -0
  391. package/dist/src/extensions/webPlugin.cjs +131 -0
  392. package/dist/src/extensions/webPlugin.cjs.map +1 -0
  393. package/dist/src/extensions/webPlugin.d.mts +66 -0
  394. package/dist/src/extensions/webPlugin.d.mts.map +1 -0
  395. package/dist/src/extensions/webPlugin.mjs +110 -0
  396. package/dist/src/extensions/webPlugin.mjs.map +1 -0
  397. package/dist/src/pi/piSessionRuntime.cjs +572 -0
  398. package/dist/src/pi/piSessionRuntime.cjs.map +1 -0
  399. package/dist/src/pi/piSessionRuntime.d.mts +43 -0
  400. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -0
  401. package/dist/src/pi/piSessionRuntime.mjs +571 -0
  402. package/dist/src/pi/piSessionRuntime.mjs.map +1 -0
  403. package/dist/src/pi/piWebSocketListener.cjs +115 -0
  404. package/dist/src/pi/piWebSocketListener.cjs.map +1 -0
  405. package/dist/src/pi/piWebSocketListener.mjs +115 -0
  406. package/dist/src/pi/piWebSocketListener.mjs.map +1 -0
  407. package/dist/src/schemas/agentModel.cjs +33 -0
  408. package/dist/src/schemas/agentModel.cjs.map +1 -0
  409. package/dist/src/schemas/agentModel.d.mts +26 -0
  410. package/dist/src/schemas/agentModel.d.mts.map +1 -0
  411. package/dist/src/schemas/agentModel.mjs +32 -0
  412. package/dist/src/schemas/agentModel.mjs.map +1 -0
  413. package/dist/src/schemas/apiContracts.d.mts +58 -0
  414. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  415. package/dist/src/schemas/askUser.cjs +42 -0
  416. package/dist/src/schemas/askUser.cjs.map +1 -0
  417. package/dist/src/schemas/askUser.d.mts +47 -0
  418. package/dist/src/schemas/askUser.d.mts.map +1 -0
  419. package/dist/src/schemas/askUser.mjs +37 -0
  420. package/dist/src/schemas/askUser.mjs.map +1 -0
  421. package/dist/src/schemas/backgroundWork.cjs +31 -0
  422. package/dist/src/schemas/backgroundWork.cjs.map +1 -0
  423. package/dist/src/schemas/backgroundWork.d.mts +72 -0
  424. package/dist/src/schemas/backgroundWork.d.mts.map +1 -0
  425. package/dist/src/schemas/backgroundWork.mjs +27 -0
  426. package/dist/src/schemas/backgroundWork.mjs.map +1 -0
  427. package/dist/src/schemas/childProcess.cjs +67 -0
  428. package/dist/src/schemas/childProcess.cjs.map +1 -0
  429. package/dist/src/schemas/childProcess.d.mts +30 -0
  430. package/dist/src/schemas/childProcess.d.mts.map +1 -0
  431. package/dist/src/schemas/childProcess.mjs +55 -0
  432. package/dist/src/schemas/childProcess.mjs.map +1 -0
  433. package/dist/src/schemas/cockpitContainer.cjs +31 -0
  434. package/dist/src/schemas/cockpitContainer.cjs.map +1 -0
  435. package/dist/src/schemas/cockpitContainer.d.mts +80 -0
  436. package/dist/src/schemas/cockpitContainer.d.mts.map +1 -0
  437. package/dist/src/schemas/cockpitContainer.mjs +30 -0
  438. package/dist/src/schemas/cockpitContainer.mjs.map +1 -0
  439. package/dist/src/schemas/contextContributions.cjs +17 -0
  440. package/dist/src/schemas/contextContributions.cjs.map +1 -0
  441. package/dist/src/schemas/contextContributions.d.mts +49 -0
  442. package/dist/src/schemas/contextContributions.d.mts.map +1 -0
  443. package/dist/src/schemas/contextContributions.mjs +15 -0
  444. package/dist/src/schemas/contextContributions.mjs.map +1 -0
  445. package/dist/src/schemas/delegation.cjs +91 -0
  446. package/dist/src/schemas/delegation.cjs.map +1 -0
  447. package/dist/src/schemas/delegation.d.mts +95 -0
  448. package/dist/src/schemas/delegation.d.mts.map +1 -0
  449. package/dist/src/schemas/delegation.mjs +76 -0
  450. package/dist/src/schemas/delegation.mjs.map +1 -0
  451. package/dist/src/schemas/extensionFile.d.mts +136 -0
  452. package/dist/src/schemas/extensionFile.d.mts.map +1 -0
  453. package/dist/src/schemas/footer.cjs +48 -0
  454. package/dist/src/schemas/footer.cjs.map +1 -0
  455. package/dist/src/schemas/footer.d.mts +48 -0
  456. package/dist/src/schemas/footer.d.mts.map +1 -0
  457. package/dist/src/schemas/footer.mjs +45 -0
  458. package/dist/src/schemas/footer.mjs.map +1 -0
  459. package/dist/src/schemas/headless.cjs +44 -0
  460. package/dist/src/schemas/headless.cjs.map +1 -0
  461. package/dist/src/schemas/headless.d.mts +370 -0
  462. package/dist/src/schemas/headless.d.mts.map +1 -0
  463. package/dist/src/schemas/headless.mjs +38 -0
  464. package/dist/src/schemas/headless.mjs.map +1 -0
  465. package/dist/src/schemas/help.cjs +281 -0
  466. package/dist/src/schemas/help.cjs.map +1 -0
  467. package/dist/src/schemas/help.d.mts +119 -0
  468. package/dist/src/schemas/help.d.mts.map +1 -0
  469. package/dist/src/schemas/help.mjs +262 -0
  470. package/dist/src/schemas/help.mjs.map +1 -0
  471. package/dist/src/schemas/hubChannel.cjs +20 -0
  472. package/dist/src/schemas/hubChannel.cjs.map +1 -0
  473. package/dist/src/schemas/hubChannel.d.mts +236 -0
  474. package/dist/src/schemas/hubChannel.d.mts.map +1 -0
  475. package/dist/src/schemas/hubChannel.mjs +19 -0
  476. package/dist/src/schemas/hubChannel.mjs.map +1 -0
  477. package/dist/src/schemas/leader.cjs +57 -0
  478. package/dist/src/schemas/leader.cjs.map +1 -0
  479. package/dist/src/schemas/leader.d.mts +107 -0
  480. package/dist/src/schemas/leader.d.mts.map +1 -0
  481. package/dist/src/schemas/leader.mjs +51 -0
  482. package/dist/src/schemas/leader.mjs.map +1 -0
  483. package/dist/src/schemas/mcpBundle.cjs +92 -0
  484. package/dist/src/schemas/mcpBundle.cjs.map +1 -0
  485. package/dist/src/schemas/mcpBundle.d.mts +33 -0
  486. package/dist/src/schemas/mcpBundle.d.mts.map +1 -0
  487. package/dist/src/schemas/mcpBundle.mjs +90 -0
  488. package/dist/src/schemas/mcpBundle.mjs.map +1 -0
  489. package/dist/src/schemas/mcpFacet.cjs +24 -0
  490. package/dist/src/schemas/mcpFacet.cjs.map +1 -0
  491. package/dist/src/schemas/mcpFacet.d.mts +91 -0
  492. package/dist/src/schemas/mcpFacet.d.mts.map +1 -0
  493. package/dist/src/schemas/mcpFacet.mjs +21 -0
  494. package/dist/src/schemas/mcpFacet.mjs.map +1 -0
  495. package/dist/src/schemas/mcpProjection.cjs +117 -0
  496. package/dist/src/schemas/mcpProjection.cjs.map +1 -0
  497. package/dist/src/schemas/mcpProjection.d.mts +124 -0
  498. package/dist/src/schemas/mcpProjection.d.mts.map +1 -0
  499. package/dist/src/schemas/mcpProjection.mjs +104 -0
  500. package/dist/src/schemas/mcpProjection.mjs.map +1 -0
  501. package/dist/src/schemas/mcpSession.cjs +57 -0
  502. package/dist/src/schemas/mcpSession.cjs.map +1 -0
  503. package/dist/src/schemas/mcpSession.d.mts +57 -0
  504. package/dist/src/schemas/mcpSession.d.mts.map +1 -0
  505. package/dist/src/schemas/mcpSession.mjs +51 -0
  506. package/dist/src/schemas/mcpSession.mjs.map +1 -0
  507. package/dist/src/schemas/mcpStatus.cjs +52 -0
  508. package/dist/src/schemas/mcpStatus.cjs.map +1 -0
  509. package/dist/src/schemas/mcpStatus.d.mts +73 -0
  510. package/dist/src/schemas/mcpStatus.d.mts.map +1 -0
  511. package/dist/src/schemas/mcpStatus.mjs +48 -0
  512. package/dist/src/schemas/mcpStatus.mjs.map +1 -0
  513. package/dist/src/schemas/mcpToolResolver.cjs +17 -0
  514. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -0
  515. package/dist/src/schemas/mcpToolResolver.d.mts +24 -0
  516. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -0
  517. package/dist/src/schemas/mcpToolResolver.mjs +15 -0
  518. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -0
  519. package/dist/src/schemas/narration.cjs +54 -0
  520. package/dist/src/schemas/narration.cjs.map +1 -0
  521. package/dist/src/schemas/narration.d.mts +29 -0
  522. package/dist/src/schemas/narration.d.mts.map +1 -0
  523. package/dist/src/schemas/narration.mjs +47 -0
  524. package/dist/src/schemas/narration.mjs.map +1 -0
  525. package/dist/src/schemas/notification.cjs +122 -0
  526. package/dist/src/schemas/notification.cjs.map +1 -0
  527. package/dist/src/schemas/notification.d.mts +48 -0
  528. package/dist/src/schemas/notification.d.mts.map +1 -0
  529. package/dist/src/schemas/notification.mjs +108 -0
  530. package/dist/src/schemas/notification.mjs.map +1 -0
  531. package/dist/src/schemas/packageApi.cjs +73 -0
  532. package/dist/src/schemas/packageApi.cjs.map +1 -0
  533. package/dist/src/schemas/packageApi.d.mts +249 -0
  534. package/dist/src/schemas/packageApi.d.mts.map +1 -0
  535. package/dist/src/schemas/packageApi.mjs +64 -0
  536. package/dist/src/schemas/packageApi.mjs.map +1 -0
  537. package/dist/src/schemas/piTool.cjs +26 -0
  538. package/dist/src/schemas/piTool.cjs.map +1 -0
  539. package/dist/src/schemas/piTool.d.mts +25 -0
  540. package/dist/src/schemas/piTool.d.mts.map +1 -0
  541. package/dist/src/schemas/piTool.mjs +26 -0
  542. package/dist/src/schemas/piTool.mjs.map +1 -0
  543. package/dist/src/schemas/pluginContributions.cjs +19 -0
  544. package/dist/src/schemas/pluginContributions.cjs.map +1 -0
  545. package/dist/src/schemas/pluginContributions.d.mts +56 -0
  546. package/dist/src/schemas/pluginContributions.d.mts.map +1 -0
  547. package/dist/src/schemas/pluginContributions.mjs +18 -0
  548. package/dist/src/schemas/pluginContributions.mjs.map +1 -0
  549. package/dist/src/schemas/pluginProtocol.cjs +103 -0
  550. package/dist/src/schemas/pluginProtocol.cjs.map +1 -0
  551. package/dist/src/schemas/pluginProtocol.d.mts +68 -0
  552. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -0
  553. package/dist/src/schemas/pluginProtocol.mjs +96 -0
  554. package/dist/src/schemas/pluginProtocol.mjs.map +1 -0
  555. package/dist/src/schemas/profileIdentity.cjs +67 -0
  556. package/dist/src/schemas/profileIdentity.cjs.map +1 -0
  557. package/dist/src/schemas/profileIdentity.d.mts +50 -0
  558. package/dist/src/schemas/profileIdentity.d.mts.map +1 -0
  559. package/dist/src/schemas/profileIdentity.mjs +64 -0
  560. package/dist/src/schemas/profileIdentity.mjs.map +1 -0
  561. package/dist/src/schemas/readiness.cjs +251 -0
  562. package/dist/src/schemas/readiness.cjs.map +1 -0
  563. package/dist/src/schemas/readiness.d.mts +84 -0
  564. package/dist/src/schemas/readiness.d.mts.map +1 -0
  565. package/dist/src/schemas/readiness.mjs +246 -0
  566. package/dist/src/schemas/readiness.mjs.map +1 -0
  567. package/dist/src/schemas/relaunchHandoff.cjs +47 -0
  568. package/dist/src/schemas/relaunchHandoff.cjs.map +1 -0
  569. package/dist/src/schemas/relaunchHandoff.d.mts +25 -0
  570. package/dist/src/schemas/relaunchHandoff.d.mts.map +1 -0
  571. package/dist/src/schemas/relaunchHandoff.mjs +44 -0
  572. package/dist/src/schemas/relaunchHandoff.mjs.map +1 -0
  573. package/dist/src/schemas/sandboxHarness.cjs +29 -0
  574. package/dist/src/schemas/sandboxHarness.cjs.map +1 -0
  575. package/dist/src/schemas/sandboxHarness.d.mts +39 -0
  576. package/dist/src/schemas/sandboxHarness.d.mts.map +1 -0
  577. package/dist/src/schemas/sandboxHarness.mjs +26 -0
  578. package/dist/src/schemas/sandboxHarness.mjs.map +1 -0
  579. package/dist/src/schemas/serverBundle.cjs +79 -0
  580. package/dist/src/schemas/serverBundle.cjs.map +1 -0
  581. package/dist/src/schemas/serverBundle.d.mts +34 -0
  582. package/dist/src/schemas/serverBundle.d.mts.map +1 -0
  583. package/dist/src/schemas/serverBundle.mjs +77 -0
  584. package/dist/src/schemas/serverBundle.mjs.map +1 -0
  585. package/dist/src/schemas/serverFacet.cjs +102 -0
  586. package/dist/src/schemas/serverFacet.cjs.map +1 -0
  587. package/dist/src/schemas/serverFacet.d.mts +141 -0
  588. package/dist/src/schemas/serverFacet.d.mts.map +1 -0
  589. package/dist/src/schemas/serverFacet.mjs +93 -0
  590. package/dist/src/schemas/serverFacet.mjs.map +1 -0
  591. package/dist/src/schemas/sessionMcpActivity.d.mts +45 -0
  592. package/dist/src/schemas/sessionMcpActivity.d.mts.map +1 -0
  593. package/dist/src/schemas/sessionProtocol.cjs +17 -0
  594. package/dist/src/schemas/sessionProtocol.cjs.map +1 -0
  595. package/dist/src/schemas/sessionProtocol.d.mts +308 -0
  596. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -0
  597. package/dist/src/schemas/sessionProtocol.mjs +12 -0
  598. package/dist/src/schemas/sessionProtocol.mjs.map +1 -0
  599. package/dist/src/schemas/sessionUpdates.d.mts +34 -0
  600. package/dist/src/schemas/sessionUpdates.d.mts.map +1 -0
  601. package/dist/src/schemas/skills.cjs +115 -0
  602. package/dist/src/schemas/skills.cjs.map +1 -0
  603. package/dist/src/schemas/skills.d.mts +65 -0
  604. package/dist/src/schemas/skills.d.mts.map +1 -0
  605. package/dist/src/schemas/skills.mjs +109 -0
  606. package/dist/src/schemas/skills.mjs.map +1 -0
  607. package/dist/src/schemas/toolOverrides.cjs +17 -0
  608. package/dist/src/schemas/toolOverrides.cjs.map +1 -0
  609. package/dist/src/schemas/toolOverrides.d.mts +29 -0
  610. package/dist/src/schemas/toolOverrides.d.mts.map +1 -0
  611. package/dist/src/schemas/toolOverrides.mjs +15 -0
  612. package/dist/src/schemas/toolOverrides.mjs.map +1 -0
  613. package/dist/src/schemas/toolSurface.cjs +17 -0
  614. package/dist/src/schemas/toolSurface.cjs.map +1 -0
  615. package/dist/src/schemas/toolSurface.d.mts +70 -0
  616. package/dist/src/schemas/toolSurface.d.mts.map +1 -0
  617. package/dist/src/schemas/toolSurface.mjs +15 -0
  618. package/dist/src/schemas/toolSurface.mjs.map +1 -0
  619. package/dist/src/schemas/uiHub.cjs +17 -0
  620. package/dist/src/schemas/uiHub.cjs.map +1 -0
  621. package/dist/src/schemas/uiHub.d.mts +23 -0
  622. package/dist/src/schemas/uiHub.d.mts.map +1 -0
  623. package/dist/src/schemas/uiHub.mjs +15 -0
  624. package/dist/src/schemas/uiHub.mjs.map +1 -0
  625. package/dist/src/schemas/voiceReloadHandoff.cjs +78 -0
  626. package/dist/src/schemas/voiceReloadHandoff.cjs.map +1 -0
  627. package/dist/src/schemas/voiceReloadHandoff.d.mts +31 -0
  628. package/dist/src/schemas/voiceReloadHandoff.d.mts.map +1 -0
  629. package/dist/src/schemas/voiceReloadHandoff.mjs +75 -0
  630. package/dist/src/schemas/voiceReloadHandoff.mjs.map +1 -0
  631. package/dist/src/schemas/voiceTools.cjs +205 -0
  632. package/dist/src/schemas/voiceTools.cjs.map +1 -0
  633. package/dist/src/schemas/voiceTools.d.mts +120 -0
  634. package/dist/src/schemas/voiceTools.d.mts.map +1 -0
  635. package/dist/src/schemas/voiceTools.mjs +194 -0
  636. package/dist/src/schemas/voiceTools.mjs.map +1 -0
  637. package/dist/src/server/devProxyForward.cjs +141 -0
  638. package/dist/src/server/devProxyForward.cjs.map +1 -0
  639. package/dist/src/server/devProxyForward.mjs +139 -0
  640. package/dist/src/server/devProxyForward.mjs.map +1 -0
  641. package/dist/src/server/devProxyRoutes.cjs +97 -0
  642. package/dist/src/server/devProxyRoutes.cjs.map +1 -0
  643. package/dist/src/server/devProxyRoutes.mjs +97 -0
  644. package/dist/src/server/devProxyRoutes.mjs.map +1 -0
  645. package/dist/src/server/devProxySocket.cjs +87 -0
  646. package/dist/src/server/devProxySocket.cjs.map +1 -0
  647. package/dist/src/server/devProxySocket.mjs +87 -0
  648. package/dist/src/server/devProxySocket.mjs.map +1 -0
  649. package/dist/src/server/directHarnessRuntime.cjs +1964 -0
  650. package/dist/src/server/directHarnessRuntime.cjs.map +1 -0
  651. package/dist/src/server/directHarnessRuntime.d.mts +3 -0
  652. package/dist/src/server/directHarnessRuntime.mjs +1958 -0
  653. package/dist/src/server/directHarnessRuntime.mjs.map +1 -0
  654. package/dist/src/server/harnessErrorMessage.cjs +13 -0
  655. package/dist/src/server/harnessErrorMessage.cjs.map +1 -0
  656. package/dist/src/server/harnessErrorMessage.mjs +13 -0
  657. package/dist/src/server/harnessErrorMessage.mjs.map +1 -0
  658. package/dist/src/server/headlessProtocol.cjs +366 -0
  659. package/dist/src/server/headlessProtocol.cjs.map +1 -0
  660. package/dist/src/server/headlessProtocol.mjs +366 -0
  661. package/dist/src/server/headlessProtocol.mjs.map +1 -0
  662. package/dist/src/server/jsonlTranscriptReader.cjs +85 -0
  663. package/dist/src/server/jsonlTranscriptReader.cjs.map +1 -0
  664. package/dist/src/server/jsonlTranscriptReader.mjs +83 -0
  665. package/dist/src/server/jsonlTranscriptReader.mjs.map +1 -0
  666. package/dist/src/server/mcpBundleLoader.cjs +115 -0
  667. package/dist/src/server/mcpBundleLoader.cjs.map +1 -0
  668. package/dist/src/server/mcpBundleLoader.d.mts +27 -0
  669. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -0
  670. package/dist/src/server/mcpBundleLoader.mjs +111 -0
  671. package/dist/src/server/mcpBundleLoader.mjs.map +1 -0
  672. package/dist/src/server/nativeChildTranscriptReader.cjs +20 -0
  673. package/dist/src/server/nativeChildTranscriptReader.cjs.map +1 -0
  674. package/dist/src/server/nativeChildTranscriptReader.mjs +18 -0
  675. package/dist/src/server/nativeChildTranscriptReader.mjs.map +1 -0
  676. package/dist/src/server/remoteRoutes.cjs +386 -0
  677. package/dist/src/server/remoteRoutes.cjs.map +1 -0
  678. package/dist/src/server/remoteRoutes.mjs +386 -0
  679. package/dist/src/server/remoteRoutes.mjs.map +1 -0
  680. package/dist/src/server/serverFacetLoader.cjs +220 -0
  681. package/dist/src/server/serverFacetLoader.cjs.map +1 -0
  682. package/dist/src/server/serverFacetLoader.d.mts +77 -0
  683. package/dist/src/server/serverFacetLoader.d.mts.map +1 -0
  684. package/dist/src/server/serverFacetLoader.mjs +215 -0
  685. package/dist/src/server/serverFacetLoader.mjs.map +1 -0
  686. package/dist/src/server/sessionMcpHandler.cjs +494 -0
  687. package/dist/src/server/sessionMcpHandler.cjs.map +1 -0
  688. package/dist/src/server/sessionMcpHandler.d.mts +47 -0
  689. package/dist/src/server/sessionMcpHandler.d.mts.map +1 -0
  690. package/dist/src/server/sessionMcpHandler.mjs +493 -0
  691. package/dist/src/server/sessionMcpHandler.mjs.map +1 -0
  692. package/dist/src/server/sessionMcpRoutes.cjs +780 -0
  693. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -0
  694. package/dist/src/server/sessionMcpRoutes.mjs +775 -0
  695. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -0
  696. package/dist/src/server/threadJournals.cjs +172 -0
  697. package/dist/src/server/threadJournals.cjs.map +1 -0
  698. package/dist/src/server/threadJournals.mjs +169 -0
  699. package/dist/src/server/threadJournals.mjs.map +1 -0
  700. package/dist/src/services/acpSessionUpdates/index.cjs +129 -0
  701. package/dist/src/services/acpSessionUpdates/index.cjs.map +1 -0
  702. package/dist/src/services/acpSessionUpdates/index.mjs +129 -0
  703. package/dist/src/services/acpSessionUpdates/index.mjs.map +1 -0
  704. package/dist/src/services/apiSurfaceAssert/index.cjs +60 -0
  705. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -0
  706. package/dist/src/services/apiSurfaceAssert/index.d.mts +24 -0
  707. package/dist/src/services/apiSurfaceAssert/index.d.mts.map +1 -0
  708. package/dist/src/services/apiSurfaceAssert/index.mjs +60 -0
  709. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -0
  710. package/dist/src/services/bundlePublication/index.cjs +88 -0
  711. package/dist/src/services/bundlePublication/index.cjs.map +1 -0
  712. package/dist/src/services/bundlePublication/index.mjs +85 -0
  713. package/dist/src/services/bundlePublication/index.mjs.map +1 -0
  714. package/dist/src/services/contextApiUrls/index.cjs +14 -0
  715. package/dist/src/services/contextApiUrls/index.cjs.map +1 -0
  716. package/dist/src/services/contextApiUrls/index.d.mts +6 -0
  717. package/dist/src/services/contextApiUrls/index.d.mts.map +1 -0
  718. package/dist/src/services/contextApiUrls/index.mjs +14 -0
  719. package/dist/src/services/contextApiUrls/index.mjs.map +1 -0
  720. package/dist/src/services/contextContributions/index.cjs +79 -0
  721. package/dist/src/services/contextContributions/index.cjs.map +1 -0
  722. package/dist/src/services/contextContributions/index.d.mts +6 -0
  723. package/dist/src/services/contextContributions/index.d.mts.map +1 -0
  724. package/dist/src/services/contextContributions/index.mjs +79 -0
  725. package/dist/src/services/contextContributions/index.mjs.map +1 -0
  726. package/dist/src/services/contextUsage/index.cjs +27 -0
  727. package/dist/src/services/contextUsage/index.cjs.map +1 -0
  728. package/dist/src/services/contextUsage/index.mjs +25 -0
  729. package/dist/src/services/contextUsage/index.mjs.map +1 -0
  730. package/dist/src/services/devProxyPolicy/index.cjs +168 -0
  731. package/dist/src/services/devProxyPolicy/index.cjs.map +1 -0
  732. package/dist/src/services/devProxyPolicy/index.mjs +165 -0
  733. package/dist/src/services/devProxyPolicy/index.mjs.map +1 -0
  734. package/dist/src/services/devProxyStore/index.cjs +107 -0
  735. package/dist/src/services/devProxyStore/index.cjs.map +1 -0
  736. package/dist/src/services/devProxyStore/index.mjs +104 -0
  737. package/dist/src/services/devProxyStore/index.mjs.map +1 -0
  738. package/dist/src/services/deviceAuth/index.cjs +125 -0
  739. package/dist/src/services/deviceAuth/index.cjs.map +1 -0
  740. package/dist/src/services/deviceAuth/index.d.mts +9 -0
  741. package/dist/src/services/deviceAuth/index.d.mts.map +1 -0
  742. package/dist/src/services/deviceAuth/index.mjs +125 -0
  743. package/dist/src/services/deviceAuth/index.mjs.map +1 -0
  744. package/dist/src/services/deviceSessions/index.cjs +147 -0
  745. package/dist/src/services/deviceSessions/index.cjs.map +1 -0
  746. package/dist/src/services/deviceSessions/index.d.mts +15 -0
  747. package/dist/src/services/deviceSessions/index.d.mts.map +1 -0
  748. package/dist/src/services/deviceSessions/index.mjs +141 -0
  749. package/dist/src/services/deviceSessions/index.mjs.map +1 -0
  750. package/dist/src/services/headlessClient/index.cjs +125 -0
  751. package/dist/src/services/headlessClient/index.cjs.map +1 -0
  752. package/dist/src/services/headlessClient/index.mjs +125 -0
  753. package/dist/src/services/headlessClient/index.mjs.map +1 -0
  754. package/dist/src/services/historyCreationFileSystem/index.cjs +115 -0
  755. package/dist/src/services/historyCreationFileSystem/index.cjs.map +1 -0
  756. package/dist/src/services/historyCreationFileSystem/index.mjs +115 -0
  757. package/dist/src/services/historyCreationFileSystem/index.mjs.map +1 -0
  758. package/dist/src/services/hubChannelHarness/index.cjs +50 -0
  759. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -0
  760. package/dist/src/services/hubChannelHarness/index.d.mts +17 -0
  761. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -0
  762. package/dist/src/services/hubChannelHarness/index.mjs +50 -0
  763. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -0
  764. package/dist/src/services/kernel/index.cjs +147 -0
  765. package/dist/src/services/kernel/index.cjs.map +1 -0
  766. package/dist/src/services/kernel/index.d.mts +9 -0
  767. package/dist/src/services/kernel/index.d.mts.map +1 -0
  768. package/dist/src/services/kernel/index.mjs +147 -0
  769. package/dist/src/services/kernel/index.mjs.map +1 -0
  770. package/dist/src/services/loginFlow/index.cjs +131 -0
  771. package/dist/src/services/loginFlow/index.cjs.map +1 -0
  772. package/dist/src/services/loginFlow/index.mjs +131 -0
  773. package/dist/src/services/loginFlow/index.mjs.map +1 -0
  774. package/dist/src/services/loopbackAddress/index.cjs +58 -0
  775. package/dist/src/services/loopbackAddress/index.cjs.map +1 -0
  776. package/dist/src/services/loopbackAddress/index.mjs +56 -0
  777. package/dist/src/services/loopbackAddress/index.mjs.map +1 -0
  778. package/dist/src/services/openSessionRegistry/index.cjs +144 -0
  779. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -0
  780. package/dist/src/services/openSessionRegistry/index.d.mts +40 -0
  781. package/dist/src/services/openSessionRegistry/index.d.mts.map +1 -0
  782. package/dist/src/services/openSessionRegistry/index.mjs +141 -0
  783. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -0
  784. package/dist/src/services/packageApiHarness/index.cjs +36 -0
  785. package/dist/src/services/packageApiHarness/index.cjs.map +1 -0
  786. package/dist/src/services/packageApiHarness/index.d.mts +40 -0
  787. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -0
  788. package/dist/src/services/packageApiHarness/index.mjs +36 -0
  789. package/dist/src/services/packageApiHarness/index.mjs.map +1 -0
  790. package/dist/src/services/packageResource/index.cjs +54 -0
  791. package/dist/src/services/packageResource/index.cjs.map +1 -0
  792. package/dist/src/services/packageResource/index.d.mts +26 -0
  793. package/dist/src/services/packageResource/index.d.mts.map +1 -0
  794. package/dist/src/services/packageResource/index.mjs +51 -0
  795. package/dist/src/services/packageResource/index.mjs.map +1 -0
  796. package/dist/src/services/pairingFlow/index.cjs +145 -0
  797. package/dist/src/services/pairingFlow/index.cjs.map +1 -0
  798. package/dist/src/services/pairingFlow/index.d.mts +44 -0
  799. package/dist/src/services/pairingFlow/index.d.mts.map +1 -0
  800. package/dist/src/services/pairingFlow/index.mjs +145 -0
  801. package/dist/src/services/pairingFlow/index.mjs.map +1 -0
  802. package/dist/src/services/pairingPage/index.cjs +450 -0
  803. package/dist/src/services/pairingPage/index.cjs.map +1 -0
  804. package/dist/src/services/pairingPage/index.mjs +447 -0
  805. package/dist/src/services/pairingPage/index.mjs.map +1 -0
  806. package/dist/src/services/piExtensionHost/index.cjs +821 -0
  807. package/dist/src/services/piExtensionHost/index.cjs.map +1 -0
  808. package/dist/src/services/piExtensionHost/index.mjs +817 -0
  809. package/dist/src/services/piExtensionHost/index.mjs.map +1 -0
  810. package/dist/src/services/piHelpTools/index.cjs +68 -0
  811. package/dist/src/services/piHelpTools/index.cjs.map +1 -0
  812. package/dist/src/services/piHelpTools/index.d.mts +10 -0
  813. package/dist/src/services/piHelpTools/index.d.mts.map +1 -0
  814. package/dist/src/services/piHelpTools/index.mjs +68 -0
  815. package/dist/src/services/piHelpTools/index.mjs.map +1 -0
  816. package/dist/src/services/piSessionEntries/index.cjs +112 -0
  817. package/dist/src/services/piSessionEntries/index.cjs.map +1 -0
  818. package/dist/src/services/piSessionEntries/index.mjs +108 -0
  819. package/dist/src/services/piSessionEntries/index.mjs.map +1 -0
  820. package/dist/src/services/pluginLifecycle/index.cjs +71 -0
  821. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -0
  822. package/dist/src/services/pluginLifecycle/index.d.mts +11 -0
  823. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -0
  824. package/dist/src/services/pluginLifecycle/index.mjs +71 -0
  825. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -0
  826. package/dist/src/services/providerAuth/index.cjs +156 -0
  827. package/dist/src/services/providerAuth/index.cjs.map +1 -0
  828. package/dist/src/services/providerAuth/index.mjs +154 -0
  829. package/dist/src/services/providerAuth/index.mjs.map +1 -0
  830. package/dist/src/services/remoteAccess/index.cjs +396 -0
  831. package/dist/src/services/remoteAccess/index.cjs.map +1 -0
  832. package/dist/src/services/remoteAccess/index.d.mts +81 -0
  833. package/dist/src/services/remoteAccess/index.d.mts.map +1 -0
  834. package/dist/src/services/remoteAccess/index.mjs +396 -0
  835. package/dist/src/services/remoteAccess/index.mjs.map +1 -0
  836. package/dist/src/services/remoteAccessSettings/index.cjs +151 -0
  837. package/dist/src/services/remoteAccessSettings/index.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessSettings/index.mjs +149 -0
  839. package/dist/src/services/remoteAccessSettings/index.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/index.cjs +126 -0
  841. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/index.mjs +121 -0
  843. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -0
  844. package/dist/src/services/remoteGuardPolicy/index.cjs +190 -0
  845. package/dist/src/services/remoteGuardPolicy/index.cjs.map +1 -0
  846. package/dist/src/services/remoteGuardPolicy/index.d.mts +7 -0
  847. package/dist/src/services/remoteGuardPolicy/index.d.mts.map +1 -0
  848. package/dist/src/services/remoteGuardPolicy/index.mjs +186 -0
  849. package/dist/src/services/remoteGuardPolicy/index.mjs.map +1 -0
  850. package/dist/src/services/requestReceipts/index.cjs +161 -0
  851. package/dist/src/services/requestReceipts/index.cjs.map +1 -0
  852. package/dist/src/services/requestReceipts/index.d.mts +11 -0
  853. package/dist/src/services/requestReceipts/index.d.mts.map +1 -0
  854. package/dist/src/services/requestReceipts/index.mjs +161 -0
  855. package/dist/src/services/requestReceipts/index.mjs.map +1 -0
  856. package/dist/src/services/rpcTranscript/index.cjs +590 -0
  857. package/dist/src/services/rpcTranscript/index.cjs.map +1 -0
  858. package/dist/src/services/rpcTranscript/index.d.mts +50 -0
  859. package/dist/src/services/rpcTranscript/index.d.mts.map +1 -0
  860. package/dist/src/services/rpcTranscript/index.mjs +589 -0
  861. package/dist/src/services/rpcTranscript/index.mjs.map +1 -0
  862. package/dist/src/services/serverFacet/index.cjs +197 -0
  863. package/dist/src/services/serverFacet/index.cjs.map +1 -0
  864. package/dist/src/services/serverFacet/index.d.mts +31 -0
  865. package/dist/src/services/serverFacet/index.d.mts.map +1 -0
  866. package/dist/src/services/serverFacet/index.mjs +197 -0
  867. package/dist/src/services/serverFacet/index.mjs.map +1 -0
  868. package/dist/src/services/sessionGitStatus/index.cjs +46 -0
  869. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -0
  870. package/dist/src/services/sessionGitStatus/index.mjs +46 -0
  871. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -0
  872. package/dist/src/services/sessionGitStatus/type.d.mts +8 -0
  873. package/dist/src/services/sessionGitStatus/type.d.mts.map +1 -0
  874. package/dist/src/services/sessionMcpActivity/index.cjs +115 -0
  875. package/dist/src/services/sessionMcpActivity/index.cjs.map +1 -0
  876. package/dist/src/services/sessionMcpActivity/index.mjs +111 -0
  877. package/dist/src/services/sessionMcpActivity/index.mjs.map +1 -0
  878. package/dist/src/services/sessionMcpAuthorization/index.cjs +432 -0
  879. package/dist/src/services/sessionMcpAuthorization/index.cjs.map +1 -0
  880. package/dist/src/services/sessionMcpAuthorization/index.d.mts +123 -0
  881. package/dist/src/services/sessionMcpAuthorization/index.d.mts.map +1 -0
  882. package/dist/src/services/sessionMcpAuthorization/index.mjs +430 -0
  883. package/dist/src/services/sessionMcpAuthorization/index.mjs.map +1 -0
  884. package/dist/src/services/sessionMcpConversations/index.cjs +217 -0
  885. package/dist/src/services/sessionMcpConversations/index.cjs.map +1 -0
  886. package/dist/src/services/sessionMcpConversations/index.mjs +212 -0
  887. package/dist/src/services/sessionMcpConversations/index.mjs.map +1 -0
  888. package/dist/src/services/sessionMcpRegistrationStore/index.cjs +86 -0
  889. package/dist/src/services/sessionMcpRegistrationStore/index.cjs.map +1 -0
  890. package/dist/src/services/sessionMcpRegistrationStore/index.mjs +83 -0
  891. package/dist/src/services/sessionMcpRegistrationStore/index.mjs.map +1 -0
  892. package/dist/src/services/sessionPresentation/index.cjs +119 -0
  893. package/dist/src/services/sessionPresentation/index.cjs.map +1 -0
  894. package/dist/src/services/sessionPresentation/index.mjs +119 -0
  895. package/dist/src/services/sessionPresentation/index.mjs.map +1 -0
  896. package/dist/src/services/sqliteSessionHistory/index.cjs +105 -0
  897. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -0
  898. package/dist/src/services/sqliteSessionHistory/index.d.mts +29 -0
  899. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -0
  900. package/dist/src/services/sqliteSessionHistory/index.mjs +100 -0
  901. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -0
  902. package/dist/src/services/sqliteTranscriptReader/index.cjs +70 -0
  903. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -0
  904. package/dist/src/services/sqliteTranscriptReader/index.d.mts +14 -0
  905. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -0
  906. package/dist/src/services/sqliteTranscriptReader/index.mjs +67 -0
  907. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -0
  908. package/dist/src/services/toolCost/index.cjs +47 -0
  909. package/dist/src/services/toolCost/index.cjs.map +1 -0
  910. package/dist/src/services/toolCost/index.d.mts +38 -0
  911. package/dist/src/services/toolCost/index.d.mts.map +1 -0
  912. package/dist/src/services/toolCost/index.mjs +46 -0
  913. package/dist/src/services/toolCost/index.mjs.map +1 -0
  914. package/dist/src/services/toolOverrides/index.cjs +45 -0
  915. package/dist/src/services/toolOverrides/index.cjs.map +1 -0
  916. package/dist/src/services/toolOverrides/index.d.mts +6 -0
  917. package/dist/src/services/toolOverrides/index.d.mts.map +1 -0
  918. package/dist/src/services/toolOverrides/index.mjs +45 -0
  919. package/dist/src/services/toolOverrides/index.mjs.map +1 -0
  920. package/dist/src/services/toolPrompt/index.cjs +13 -0
  921. package/dist/src/services/toolPrompt/index.cjs.map +1 -0
  922. package/dist/src/services/toolPrompt/index.mjs +13 -0
  923. package/dist/src/services/toolPrompt/index.mjs.map +1 -0
  924. package/dist/src/services/toolSurface/index.cjs +134 -0
  925. package/dist/src/services/toolSurface/index.cjs.map +1 -0
  926. package/dist/src/services/toolSurface/index.d.mts +19 -0
  927. package/dist/src/services/toolSurface/index.d.mts.map +1 -0
  928. package/dist/src/services/toolSurface/index.mjs +134 -0
  929. package/dist/src/services/toolSurface/index.mjs.map +1 -0
  930. package/dist/src/services/traceContext/index.cjs +13 -0
  931. package/dist/src/services/traceContext/index.cjs.map +1 -0
  932. package/dist/src/services/traceContext/index.mjs +13 -0
  933. package/dist/src/services/traceContext/index.mjs.map +1 -0
  934. package/dist/src/services/transcriptPages/index.cjs +74 -0
  935. package/dist/src/services/transcriptPages/index.cjs.map +1 -0
  936. package/dist/src/services/transcriptPages/index.mjs +73 -0
  937. package/dist/src/services/transcriptPages/index.mjs.map +1 -0
  938. package/dist/src/services/tunnelOutput/index.cjs +58 -0
  939. package/dist/src/services/tunnelOutput/index.cjs.map +1 -0
  940. package/dist/src/services/tunnelOutput/index.mjs +54 -0
  941. package/dist/src/services/tunnelOutput/index.mjs.map +1 -0
  942. package/dist/src/services/tunnelProcess/index.cjs +487 -0
  943. package/dist/src/services/tunnelProcess/index.cjs.map +1 -0
  944. package/dist/src/services/tunnelProcess/index.mjs +481 -0
  945. package/dist/src/services/tunnelProcess/index.mjs.map +1 -0
  946. package/dist/src/services/voiceReloadHandoff/index.cjs +136 -0
  947. package/dist/src/services/voiceReloadHandoff/index.cjs.map +1 -0
  948. package/dist/src/services/voiceReloadHandoff/index.d.mts +34 -0
  949. package/dist/src/services/voiceReloadHandoff/index.d.mts.map +1 -0
  950. package/dist/src/services/voiceReloadHandoff/index.mjs +135 -0
  951. package/dist/src/services/voiceReloadHandoff/index.mjs.map +1 -0
  952. package/dist/src/services/voiceToolsContract/index.cjs +26 -0
  953. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -0
  954. package/dist/src/services/voiceToolsContract/index.d.mts +76 -0
  955. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -0
  956. package/dist/src/services/voiceToolsContract/index.mjs +24 -0
  957. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -0
  958. package/dist/src/services/webauthn/index.cjs +262 -0
  959. package/dist/src/services/webauthn/index.cjs.map +1 -0
  960. package/dist/src/services/webauthn/index.d.mts +39 -0
  961. package/dist/src/services/webauthn/index.d.mts.map +1 -0
  962. package/dist/src/services/webauthn/index.mjs +262 -0
  963. package/dist/src/services/webauthn/index.mjs.map +1 -0
  964. package/dist/src/services/webauthnPolicy/index.cjs +163 -0
  965. package/dist/src/services/webauthnPolicy/index.cjs.map +1 -0
  966. package/dist/src/services/webauthnPolicy/index.d.mts +41 -0
  967. package/dist/src/services/webauthnPolicy/index.d.mts.map +1 -0
  968. package/dist/src/services/webauthnPolicy/index.mjs +156 -0
  969. package/dist/src/services/webauthnPolicy/index.mjs.map +1 -0
  970. package/dist/src/services/workspaceRegistry/index.cjs +151 -0
  971. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -0
  972. package/dist/src/services/workspaceRegistry/index.d.mts +47 -0
  973. package/dist/src/services/workspaceRegistry/index.d.mts.map +1 -0
  974. package/dist/src/services/workspaceRegistry/index.mjs +144 -0
  975. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -0
  976. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +261 -0
  977. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -0
  978. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +32 -0
  979. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -0
  980. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +254 -0
  981. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -0
  982. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +28 -0
  983. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +1 -0
  984. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +25 -0
  985. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +1 -0
  986. package/dist/src/systems/child/services/childSession/index.cjs +219 -0
  987. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -0
  988. package/dist/src/systems/child/services/childSession/index.d.mts +14 -0
  989. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -0
  990. package/dist/src/systems/child/services/childSession/index.mjs +219 -0
  991. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -0
  992. package/dist/src/systems/child/types/childSession.cjs +19 -0
  993. package/dist/src/systems/child/types/childSession.cjs.map +1 -0
  994. package/dist/src/systems/child/types/childSession.d.mts +148 -0
  995. package/dist/src/systems/child/types/childSession.d.mts.map +1 -0
  996. package/dist/src/systems/child/types/childSession.mjs +16 -0
  997. package/dist/src/systems/child/types/childSession.mjs.map +1 -0
  998. package/dist/src/systems/main/adapters/headlessHost.cjs +554 -0
  999. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -0
  1000. package/dist/src/systems/main/adapters/headlessHost.d.mts +111 -0
  1001. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -0
  1002. package/dist/src/systems/main/adapters/headlessHost.mjs +552 -0
  1003. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -0
  1004. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +1293 -0
  1005. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -0
  1006. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +14 -0
  1007. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -0
  1008. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +1288 -0
  1009. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -0
  1010. package/dist/src/systems/main/types/headlessHost.d.mts +36 -0
  1011. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -0
  1012. package/dist/src/testing/pi/extensionScenarios.cjs +73 -0
  1013. package/dist/src/testing/pi/extensionScenarios.cjs.map +1 -0
  1014. package/dist/src/testing/pi/extensionScenarios.d.mts +41 -0
  1015. package/dist/src/testing/pi/extensionScenarios.d.mts.map +1 -0
  1016. package/dist/src/testing/pi/extensionScenarios.mjs +73 -0
  1017. package/dist/src/testing/pi/extensionScenarios.mjs.map +1 -0
  1018. package/dist/src/testing/pi/testHost.cjs +398 -0
  1019. package/dist/src/testing/pi/testHost.cjs.map +1 -0
  1020. package/dist/src/testing/pi/testHost.d.mts +160 -0
  1021. package/dist/src/testing/pi/testHost.d.mts.map +1 -0
  1022. package/dist/src/testing/pi/testHost.mjs +398 -0
  1023. package/dist/src/testing/pi/testHost.mjs.map +1 -0
  1024. package/dist/src/types/config.d.mts +20 -0
  1025. package/dist/src/types/config.d.mts.map +1 -0
  1026. package/dist/src/types/kernel.d.mts +69 -0
  1027. package/dist/src/types/kernel.d.mts.map +1 -0
  1028. package/dist/src/types/remote.d.mts +124 -0
  1029. package/dist/src/types/remote.d.mts.map +1 -0
  1030. package/dist/src/types/server/directHarnessRuntime.d.mts +209 -0
  1031. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -0
  1032. package/dist/src/types/server/session.d.mts +5 -0
  1033. package/dist/src/types/server/session.d.mts.map +1 -0
  1034. package/dist/src/types/server/sessionToolSurface.d.mts +44 -0
  1035. package/dist/src/types/server/sessionToolSurface.d.mts.map +1 -0
  1036. package/dist/src/web/models/globalStore.cjs +23 -0
  1037. package/dist/src/web/models/globalStore.cjs.map +1 -0
  1038. package/dist/src/web/models/globalStore.d.mts +6 -0
  1039. package/dist/src/web/models/globalStore.d.mts.map +1 -0
  1040. package/dist/src/web/models/globalStore.mjs +23 -0
  1041. package/dist/src/web/models/globalStore.mjs.map +1 -0
  1042. package/dist/src/web/models/sessionStore.cjs +56 -0
  1043. package/dist/src/web/models/sessionStore.cjs.map +1 -0
  1044. package/dist/src/web/models/sessionStore.d.mts +14 -0
  1045. package/dist/src/web/models/sessionStore.d.mts.map +1 -0
  1046. package/dist/src/web/models/sessionStore.mjs +56 -0
  1047. package/dist/src/web/models/sessionStore.mjs.map +1 -0
  1048. package/dist/src/web/models/workspaceStore.cjs +50 -0
  1049. package/dist/src/web/models/workspaceStore.cjs.map +1 -0
  1050. package/dist/src/web/models/workspaceStore.d.mts +18 -0
  1051. package/dist/src/web/models/workspaceStore.d.mts.map +1 -0
  1052. package/dist/src/web/models/workspaceStore.mjs +50 -0
  1053. package/dist/src/web/models/workspaceStore.mjs.map +1 -0
  1054. package/dist/src/web/schemas/bundleAssetPolicy.cjs +20 -0
  1055. package/dist/src/web/schemas/bundleAssetPolicy.cjs.map +1 -0
  1056. package/dist/src/web/schemas/bundleAssetPolicy.d.mts +10 -0
  1057. package/dist/src/web/schemas/bundleAssetPolicy.d.mts.map +1 -0
  1058. package/dist/src/web/schemas/bundleAssetPolicy.mjs +18 -0
  1059. package/dist/src/web/schemas/bundleAssetPolicy.mjs.map +1 -0
  1060. package/dist/src/web/schemas/template.cjs +15 -0
  1061. package/dist/src/web/schemas/template.cjs.map +1 -0
  1062. package/dist/src/web/schemas/template.d.mts +6 -0
  1063. package/dist/src/web/schemas/template.d.mts.map +1 -0
  1064. package/dist/src/web/schemas/template.mjs +15 -0
  1065. package/dist/src/web/schemas/template.mjs.map +1 -0
  1066. package/dist/src/web/services/apiClient/index.cjs +156 -0
  1067. package/dist/src/web/services/apiClient/index.cjs.map +1 -0
  1068. package/dist/src/web/services/apiClient/index.d.mts +152 -0
  1069. package/dist/src/web/services/apiClient/index.d.mts.map +1 -0
  1070. package/dist/src/web/services/apiClient/index.mjs +154 -0
  1071. package/dist/src/web/services/apiClient/index.mjs.map +1 -0
  1072. package/dist/src/web/services/apiPaths/index.cjs +83 -0
  1073. package/dist/src/web/services/apiPaths/index.cjs.map +1 -0
  1074. package/dist/src/web/services/apiPaths/index.d.mts +81 -0
  1075. package/dist/src/web/services/apiPaths/index.d.mts.map +1 -0
  1076. package/dist/src/web/services/apiPaths/index.mjs +78 -0
  1077. package/dist/src/web/services/apiPaths/index.mjs.map +1 -0
  1078. package/dist/src/web/services/apiRoutes/index.cjs +47 -0
  1079. package/dist/src/web/services/apiRoutes/index.cjs.map +1 -0
  1080. package/dist/src/web/services/apiRoutes/index.d.mts +21 -0
  1081. package/dist/src/web/services/apiRoutes/index.d.mts.map +1 -0
  1082. package/dist/src/web/services/apiRoutes/index.mjs +43 -0
  1083. package/dist/src/web/services/apiRoutes/index.mjs.map +1 -0
  1084. package/dist/src/web/services/mcpWidget.cjs +9 -0
  1085. package/dist/src/web/services/mcpWidget.cjs.map +1 -0
  1086. package/dist/src/web/services/mcpWidget.d.mts +6 -0
  1087. package/dist/src/web/services/mcpWidget.d.mts.map +1 -0
  1088. package/dist/src/web/services/mcpWidget.mjs +9 -0
  1089. package/dist/src/web/services/mcpWidget.mjs.map +1 -0
  1090. package/dist/src/web/services/sessionRegistry/index.cjs +70 -0
  1091. package/dist/src/web/services/sessionRegistry/index.cjs.map +1 -0
  1092. package/dist/src/web/services/sessionRegistry/index.d.mts +29 -0
  1093. package/dist/src/web/services/sessionRegistry/index.d.mts.map +1 -0
  1094. package/dist/src/web/services/sessionRegistry/index.mjs +66 -0
  1095. package/dist/src/web/services/sessionRegistry/index.mjs.map +1 -0
  1096. package/dist/src/web/services/testing/channels.cjs +11 -0
  1097. package/dist/src/web/services/testing/channels.cjs.map +1 -0
  1098. package/dist/src/web/services/testing/channels.d.mts +8 -0
  1099. package/dist/src/web/services/testing/channels.d.mts.map +1 -0
  1100. package/dist/src/web/services/testing/channels.mjs +11 -0
  1101. package/dist/src/web/services/testing/channels.mjs.map +1 -0
  1102. package/dist/src/web/services/testing/index.cjs +27 -0
  1103. package/dist/src/web/services/testing/index.cjs.map +1 -0
  1104. package/dist/src/web/services/testing/index.d.mts +31 -0
  1105. package/dist/src/web/services/testing/index.d.mts.map +1 -0
  1106. package/dist/src/web/services/testing/index.mjs +27 -0
  1107. package/dist/src/web/services/testing/index.mjs.map +1 -0
  1108. package/dist/src/web/services/testing/rpcStub.cjs +58 -0
  1109. package/dist/src/web/services/testing/rpcStub.cjs.map +1 -0
  1110. package/dist/src/web/services/testing/rpcStub.d.mts +37 -0
  1111. package/dist/src/web/services/testing/rpcStub.d.mts.map +1 -0
  1112. package/dist/src/web/services/testing/rpcStub.mjs +58 -0
  1113. package/dist/src/web/services/testing/rpcStub.mjs.map +1 -0
  1114. package/dist/src/web/services/testing/slotProps.cjs +91 -0
  1115. package/dist/src/web/services/testing/slotProps.cjs.map +1 -0
  1116. package/dist/src/web/services/testing/slotProps.d.mts +69 -0
  1117. package/dist/src/web/services/testing/slotProps.d.mts.map +1 -0
  1118. package/dist/src/web/services/testing/slotProps.mjs +90 -0
  1119. package/dist/src/web/services/testing/slotProps.mjs.map +1 -0
  1120. package/dist/src/web/services/testing/templateRail.cjs +128 -0
  1121. package/dist/src/web/services/testing/templateRail.cjs.map +1 -0
  1122. package/dist/src/web/services/testing/templateRail.d.mts +31 -0
  1123. package/dist/src/web/services/testing/templateRail.d.mts.map +1 -0
  1124. package/dist/src/web/services/testing/templateRail.mjs +126 -0
  1125. package/dist/src/web/services/testing/templateRail.mjs.map +1 -0
  1126. package/dist/src/web/services/toolResult/index.cjs +30 -0
  1127. package/dist/src/web/services/toolResult/index.cjs.map +1 -0
  1128. package/dist/src/web/services/toolResult/index.d.mts +14 -0
  1129. package/dist/src/web/services/toolResult/index.d.mts.map +1 -0
  1130. package/dist/src/web/services/toolResult/index.mjs +29 -0
  1131. package/dist/src/web/services/toolResult/index.mjs.map +1 -0
  1132. package/dist/src/web/types/extensionFile.d.mts +59 -0
  1133. package/dist/src/web/types/extensionFile.d.mts.map +1 -0
  1134. package/dist/src/web/types/mcpWidget.d.mts +14 -0
  1135. package/dist/src/web/types/mcpWidget.d.mts.map +1 -0
  1136. package/dist/src/web/types/modelContext.d.mts +43 -0
  1137. package/dist/src/web/types/modelContext.d.mts.map +1 -0
  1138. package/dist/src/web/types/sessionRegistry.d.mts +43 -0
  1139. package/dist/src/web/types/sessionRegistry.d.mts.map +1 -0
  1140. package/dist/src/web/types/template.d.mts +155 -0
  1141. package/dist/src/web/types/template.d.mts.map +1 -0
  1142. package/dist/src/web/types/webPlugin.d.mts +896 -0
  1143. package/dist/src/web/types/webPlugin.d.mts.map +1 -0
  1144. package/dist/syncLocation.cjs +244 -0
  1145. package/dist/syncLocation.cjs.map +1 -0
  1146. package/dist/syncLocation.d.mts +37 -0
  1147. package/dist/syncLocation.d.mts.map +1 -0
  1148. package/dist/syncLocation.mjs +231 -0
  1149. package/dist/syncLocation.mjs.map +1 -0
  1150. package/dist/syncRegistration.cjs +171 -0
  1151. package/dist/syncRegistration.cjs.map +1 -0
  1152. package/dist/syncRegistration.d.mts +48 -0
  1153. package/dist/syncRegistration.d.mts.map +1 -0
  1154. package/dist/syncRegistration.mjs +159 -0
  1155. package/dist/syncRegistration.mjs.map +1 -0
  1156. package/dist/syncStateContract.cjs +19 -0
  1157. package/dist/syncStateContract.cjs.map +1 -0
  1158. package/dist/syncStateContract.d.mts +14 -0
  1159. package/dist/syncStateContract.d.mts.map +1 -0
  1160. package/dist/syncStateContract.mjs +16 -0
  1161. package/dist/syncStateContract.mjs.map +1 -0
  1162. package/dist/terminalPiChildSessionService.cjs +267 -0
  1163. package/dist/terminalPiChildSessionService.cjs.map +1 -0
  1164. package/dist/terminalPiChildSessionService.d.mts +42 -0
  1165. package/dist/terminalPiChildSessionService.d.mts.map +1 -0
  1166. package/dist/terminalPiChildSessionService.mjs +260 -0
  1167. package/dist/terminalPiChildSessionService.mjs.map +1 -0
  1168. package/dist/testing.cjs +11 -0
  1169. package/dist/testing.d.mts +6 -0
  1170. package/dist/testing.mjs +6 -0
  1171. package/dist/toolInventory.cjs +136 -0
  1172. package/dist/toolInventory.cjs.map +1 -0
  1173. package/dist/toolInventory.d.mts +66 -0
  1174. package/dist/toolInventory.d.mts.map +1 -0
  1175. package/dist/toolInventory.mjs +133 -0
  1176. package/dist/toolInventory.mjs.map +1 -0
  1177. package/dist/toolNames.cjs +4 -0
  1178. package/dist/toolNames.d.mts +2 -0
  1179. package/dist/toolNames.mjs +2 -0
  1180. package/dist/toolOverrides.cjs +7 -0
  1181. package/dist/toolOverrides.d.mts +3 -0
  1182. package/dist/toolOverrides.mjs +3 -0
  1183. package/dist/toolSurface.cjs +7 -0
  1184. package/dist/toolSurface.d.mts +3 -0
  1185. package/dist/toolSurface.mjs +3 -0
  1186. package/dist/transition.cjs +5 -0
  1187. package/dist/transition.d.cjs +5 -0
  1188. package/dist/transition.d.mts +2 -0
  1189. package/dist/transition.mjs +2 -0
  1190. package/dist/transitionClassifier.cjs +112 -0
  1191. package/dist/transitionClassifier.cjs.map +1 -0
  1192. package/dist/transitionClassifier.d.mts +18 -0
  1193. package/dist/transitionClassifier.d.mts.map +1 -0
  1194. package/dist/transitionClassifier.mjs +111 -0
  1195. package/dist/transitionClassifier.mjs.map +1 -0
  1196. package/dist/transitionCoordinator.cjs +131 -0
  1197. package/dist/transitionCoordinator.cjs.map +1 -0
  1198. package/dist/transitionCoordinator.d.mts +16 -0
  1199. package/dist/transitionCoordinator.d.mts.map +1 -0
  1200. package/dist/transitionCoordinator.mjs +130 -0
  1201. package/dist/transitionCoordinator.mjs.map +1 -0
  1202. package/dist/typesContextApi.cjs +0 -0
  1203. package/dist/typesContextApi.d.mts +73 -0
  1204. package/dist/typesContextApi.d.mts.map +1 -0
  1205. package/dist/typesContextApi.mjs +1 -0
  1206. package/dist/uiHub.cjs +5 -0
  1207. package/dist/uiHub.d.mts +2 -0
  1208. package/dist/uiHub.mjs +2 -0
  1209. package/dist/v3Export.cjs +1004 -0
  1210. package/dist/v3Export.cjs.map +1 -0
  1211. package/dist/v3Export.d.mts +34 -0
  1212. package/dist/v3Export.d.mts.map +1 -0
  1213. package/dist/v3Export.mjs +1000 -0
  1214. package/dist/v3Export.mjs.map +1 -0
  1215. package/dist/voiceReloadHandoff.cjs +14 -0
  1216. package/dist/voiceReloadHandoff.d.mts +4 -0
  1217. package/dist/voiceReloadHandoff.mjs +4 -0
  1218. package/dist/voiceTools.cjs +56 -0
  1219. package/dist/voiceTools.d.mts +4 -0
  1220. package/dist/voiceTools.mjs +4 -0
  1221. package/dist/web.cjs +64 -0
  1222. package/dist/web.d.mts +19 -0
  1223. package/dist/web.mjs +13 -0
  1224. package/dist/webCompositions.cjs +100 -0
  1225. package/dist/webCompositions.cjs.map +1 -0
  1226. package/dist/webCompositions.d.mts +20 -0
  1227. package/dist/webCompositions.d.mts.map +1 -0
  1228. package/dist/webCompositions.mjs +95 -0
  1229. package/dist/webCompositions.mjs.map +1 -0
  1230. package/dist/webTesting.cjs +14 -0
  1231. package/dist/webTesting.d.mts +6 -0
  1232. package/dist/webTesting.mjs +6 -0
  1233. package/package.json +616 -0
@@ -0,0 +1,254 @@
1
+ import { createDoomChildSessionService } from "../services/childSession/index.mjs";
2
+ import { createHistoryOwnership } from "../../../../historyOwnership.mjs";
3
+ import { createDirectHarnessRuntime, promptForAssistantText } from "../../../server/directHarnessRuntime.mjs";
4
+ import { registerNativeChild } from "./nativeChildRuntimes.mjs";
5
+ import { readNativeChildTranscript } from "../../../server/nativeChildTranscriptReader.mjs";
6
+ import { randomUUID } from "node:crypto";
7
+ import fs from "node:fs";
8
+ import path from "node:path";
9
+ import { BACKGROUND_CONTEXT } from "@earendil-works/pi-agent-core/harness/context";
10
+ import { SqliteSessionRepo, createNodeSqliteFactory } from "@earendil-works/pi-session-backend-sqlite-node";
11
+ import { createBashTool, createEditTool, createFindTool, createGrepTool, createLsTool, createReadTool, createWriteTool } from "@earendil-works/pi-coding-agent";
12
+ //#region src/systems/child/adapters/headlessChildSessionService.ts
13
+ const THINKING_SUFFIX_PATTERN = /:(off|minimal|low|medium|high|xhigh|max)$/;
14
+ /**
15
+ * Child model specs may carry a Pi thinking suffix, for example
16
+ * `anthropic-vertex/claude-sonnet-5:medium`. The suffix is a request option and
17
+ * never part of the model id, so it has to be split off before model lookup.
18
+ */
19
+ function parseChildModelReference(value) {
20
+ if (value === void 0) return void 0;
21
+ const suffix = THINKING_SUFFIX_PATTERN.exec(value);
22
+ const reference = suffix === null ? value : value.slice(0, value.length - suffix[0].length);
23
+ const separator = reference.indexOf("/");
24
+ if (separator <= 0 || separator === reference.length - 1) throw new Error(`Child model must use the provider/model form: ${value}`);
25
+ return {
26
+ model: {
27
+ provider: reference.slice(0, separator),
28
+ id: reference.slice(separator + 1)
29
+ },
30
+ ...suffix === null ? {} : { thinking: suffix[1] }
31
+ };
32
+ }
33
+ /** Resolve the provider set for one spawn, tolerating both a fixed array and a thunk. */
34
+ function resolveChildProviders(providers) {
35
+ const resolved = typeof providers === "function" ? providers() : providers;
36
+ return resolved === void 0 || resolved.length === 0 ? void 0 : resolved;
37
+ }
38
+ function sessionFile(runtime) {
39
+ const metadata = runtime.session.metadata;
40
+ return typeof metadata.path === "string" ? metadata.path : void 0;
41
+ }
42
+ function childRuntime(runtime, intercom, release) {
43
+ const file = sessionFile(runtime);
44
+ return {
45
+ sessionId: runtime.sessionId,
46
+ ...file === void 0 ? {} : { sessionFile: file },
47
+ ...file === void 0 ? {} : { readTranscriptPage: (request, signal) => readNativeChildTranscript(file, request, signal) },
48
+ prompt: (task) => promptForAssistantText(runtime, task),
49
+ steer: (message) => runtime.steer(message),
50
+ followUp: (message) => runtime.followUp(message),
51
+ onUsage(listener) {
52
+ return runtime.onEvent((event) => {
53
+ if (event.type !== "usage") return;
54
+ listener({
55
+ rowId: event.row.id,
56
+ cost: event.row.usage.cost.total
57
+ });
58
+ });
59
+ },
60
+ abort: () => runtime.abort(),
61
+ dispose: async () => {
62
+ try {
63
+ await runtime.dispose();
64
+ } finally {
65
+ release?.();
66
+ intercom?.dispose?.();
67
+ }
68
+ }
69
+ };
70
+ }
71
+ async function installIntercom(runtime, intercom, tools) {
72
+ if (!intercom) return;
73
+ const tool = intercom.bindRuntime(childRuntime(runtime));
74
+ const adapted = {
75
+ ...tool,
76
+ parameters: tool.parameters,
77
+ execute: (operationId, params, signal, onUpdate) => tool.execute(operationId, params, signal, onUpdate)
78
+ };
79
+ await runtime.replaceTools([...tools, adapted]);
80
+ }
81
+ function hasConfiguredValues(value) {
82
+ return value !== void 0 && value.length > 0;
83
+ }
84
+ const NATIVE_TOOL_FACTORIES = {
85
+ read: createReadTool,
86
+ bash: createBashTool,
87
+ edit: createEditTool,
88
+ write: createWriteTool,
89
+ grep: createGrepTool,
90
+ find: createFindTool,
91
+ ls: createLsTool
92
+ };
93
+ function adaptNativeTool(tool) {
94
+ return {
95
+ ...tool,
96
+ label: "label" in tool ? tool.label : tool.name,
97
+ parameters: tool.parameters,
98
+ async execute(toolCallId, parameters, onUpdate, _toolContext, _invocation, context) {
99
+ const execute = tool.execute;
100
+ const result = await execute(toolCallId, parameters, context.abortSignal ?? new AbortController().signal, (partial) => onUpdate({
101
+ content: partial.content,
102
+ details: partial.details
103
+ }));
104
+ if (result.isError) {
105
+ const content = result.content;
106
+ throw new Error(content.filter((part) => part.type === "text").map((part) => part.text).join("\n") || "MCP tool failed.");
107
+ }
108
+ return {
109
+ content: result.content,
110
+ details: result.details
111
+ };
112
+ }
113
+ };
114
+ }
115
+ /** Validate and project native fields before a source fork can publish a child journal. */
116
+ function composeDirectHarnessRequestOptions(request, resolveMcpTool) {
117
+ const unsupported = [
118
+ ...hasConfiguredValues(request.extensions) ? ["extensions"] : [],
119
+ ...hasConfiguredValues(request.subagentOnlyExtensions) ? ["subagentOnlyExtensions"] : [],
120
+ ...hasConfiguredValues(request.mcpDirectTools) ? ["mcpDirectTools"] : [],
121
+ ...hasConfiguredValues(request.capabilityCeiling?.allowedExternalProfiles) ? ["allowedExternalProfiles"] : []
122
+ ];
123
+ if (unsupported.length > 0) throw new Error(`Native child session configuration is unsupported by the direct harness: ${unsupported.join(", ")}`);
124
+ const requested = [...new Set(request.tools ?? Object.keys(NATIVE_TOOL_FACTORIES))];
125
+ const excluded = new Set(request.excludeTools ?? []);
126
+ const allowed = request.capabilityCeiling?.allowedTools;
127
+ const isMcp = (name) => name === "mcp" || name === "mcp_use";
128
+ const mcpDenied = request.capabilityCeiling?.allowMcpTools === false || [...excluded].some(isMcp);
129
+ const names = requested.filter((name) => !excluded.has(name) && (allowed === void 0 || allowed.includes(name)) && !(isMcp(name) && mcpDenied));
130
+ const unknown = names.filter((name) => !Object.hasOwn(NATIVE_TOOL_FACTORIES, name) && !isMcp(name));
131
+ if (unknown.length > 0) throw new Error(`Native child session requested unknown direct harness tools: ${unknown.join(", ")}`);
132
+ const missing = (request.capabilityCeiling?.requiredTools ?? []).filter((name) => !names.includes(name));
133
+ if (missing.length > 0) throw new Error(`Native child session capability ceiling requires unavailable tools: ${missing.join(", ")}`);
134
+ const mcpTool = names.some(isMcp) ? resolveMcpTool?.() : void 0;
135
+ if (names.some(isMcp) && !mcpTool) throw new Error("Native child session MCP tools are unavailable. Enable MCP in the parent session.");
136
+ return {
137
+ tools: names.map((name) => {
138
+ if (!isMcp(name)) return adaptNativeTool(NATIVE_TOOL_FACTORIES[name](request.cwd));
139
+ return adaptNativeTool({
140
+ ...mcpTool,
141
+ name,
142
+ execute(toolCallId, parameters, signal, onUpdate) {
143
+ signal?.throwIfAborted();
144
+ if (resolveMcpTool?.() !== mcpTool) throw new Error("The parent session MCP dispatcher is no longer available.");
145
+ return mcpTool.execute(toolCallId, parameters, signal, onUpdate);
146
+ }
147
+ });
148
+ }),
149
+ activeToolNames: names,
150
+ ...request.systemPrompt === void 0 ? {} : { systemPrompt: request.systemPrompt }
151
+ };
152
+ }
153
+ async function forkChildJournal(sourcePath, branch, entryId, ownership) {
154
+ const directory = path.dirname(path.resolve(sourcePath));
155
+ const sourceRepository = new SqliteSessionRepo({
156
+ directory,
157
+ databasePath: sourcePath,
158
+ databaseFactory: createNodeSqliteFactory()
159
+ });
160
+ const sources = await sourceRepository.list(void 0, BACKGROUND_CONTEXT);
161
+ await sourceRepository.close(BACKGROUND_CONTEXT);
162
+ if (sources.length !== 1) throw new Error("Child source must be an existing SQLite session; import JSONL offline first.");
163
+ const id = randomUUID();
164
+ const destination = path.join(directory, `${id}.sqlite`);
165
+ const lease = await ownership.acquire(destination);
166
+ const repository = new SqliteSessionRepo({
167
+ directory,
168
+ databaseFactory: createNodeSqliteFactory()
169
+ });
170
+ try {
171
+ await lease.assertQuiescent();
172
+ await (await repository.fork(sources[0], {
173
+ scope: "branch",
174
+ branch,
175
+ id,
176
+ ...entryId === void 0 ? {} : { entryId }
177
+ }, BACKGROUND_CONTEXT)).close(BACKGROUND_CONTEXT);
178
+ return destination;
179
+ } finally {
180
+ try {
181
+ await repository.close(BACKGROUND_CONTEXT);
182
+ } finally {
183
+ await lease.release();
184
+ }
185
+ }
186
+ }
187
+ function createHeadlessChildSessionService(options) {
188
+ const runtimeFactory = options.runtimeFactory ?? createDirectHarnessRuntime;
189
+ const ownership = options.historyOwnership ?? createHistoryOwnership({ sourceFormat: "sqlite" });
190
+ return createDoomChildSessionService(async (request, signal) => {
191
+ signal?.throwIfAborted();
192
+ if (request.source.kind === "terminal-pi-fork") throw new Error("Headless child sessions do not support terminal Pi sources.");
193
+ const directRequestOptions = composeDirectHarnessRequestOptions(request, options.mcpTool);
194
+ let sessionPath;
195
+ let sessionId;
196
+ if (request.source.kind === "v4-restore") {
197
+ sessionPath = path.resolve(request.source.sessionFile);
198
+ if (path.extname(sessionPath) !== ".sqlite") throw new Error("Server child restore requires SQLite; import JSONL offline first.");
199
+ } else if (request.source.kind === "v4-fork") sessionPath = await forkChildJournal(request.source.sessionFile, request.source.branch, request.source.entryId, ownership);
200
+ else sessionId = randomUUID();
201
+ const requestedModel = parseChildModelReference(request.model);
202
+ const model = requestedModel?.model ?? options.defaultModel?.();
203
+ const thinking = request.thinking ?? requestedModel?.thinking;
204
+ const providers = resolveChildProviders(options.providers);
205
+ const runtimeOptions = {
206
+ storage: "sqlite",
207
+ ...request.source.kind === "v4-fork" ? { lane: request.source.branch } : {},
208
+ cwd: request.cwd || options.cwd,
209
+ ...sessionId === void 0 ? {} : { sessionId },
210
+ parentSessionId: request.parentSessionId || options.parentSessionId,
211
+ ...sessionPath === void 0 ? {} : { sessionPath },
212
+ ...options.sessionsRoot === void 0 ? {} : { sessionsRoot: options.sessionsRoot },
213
+ ...options.models === void 0 ? {} : { models: options.models },
214
+ ...providers === void 0 ? {} : { providers },
215
+ ...model === void 0 ? {} : { model },
216
+ ...thinking === void 0 ? {} : { thinkingLevel: thinking },
217
+ ...directRequestOptions,
218
+ historyOwnership: ownership
219
+ };
220
+ let runtime;
221
+ try {
222
+ runtime = await runtimeFactory(runtimeOptions);
223
+ await installIntercom(runtime, request.intercom, runtimeOptions.tools ?? []);
224
+ const file = sessionFile(runtime);
225
+ return childRuntime(runtime, request.intercom, file ? registerNativeChild(file, runtime) : void 0);
226
+ } catch (error) {
227
+ let failure = error;
228
+ try {
229
+ await runtime?.dispose();
230
+ } catch (cleanupError) {
231
+ failure = new AggregateError([error, cleanupError], "Headless child startup cleanup failed");
232
+ } finally {
233
+ request.intercom?.dispose?.();
234
+ if (sessionPath !== void 0 && request.source.kind === "v4-fork") for (const suffix of [
235
+ "",
236
+ "-wal",
237
+ "-shm"
238
+ ]) fs.rmSync(sessionPath + suffix, { force: true });
239
+ }
240
+ throw failure;
241
+ }
242
+ }, { now: options.now ?? Date.now });
243
+ }
244
+ function createHeadlessChildSessionServiceProvider(options) {
245
+ const service = createHeadlessChildSessionService(options);
246
+ return {
247
+ get: () => service,
248
+ close: () => service.close()
249
+ };
250
+ }
251
+ //#endregion
252
+ export { composeDirectHarnessRequestOptions, createHeadlessChildSessionService, createHeadlessChildSessionServiceProvider, parseChildModelReference, resolveChildProviders };
253
+
254
+ //# sourceMappingURL=headlessChildSessionService.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headlessChildSessionService.mjs","names":["prompt"],"sources":["../../../../../src/systems/child/adapters/headlessChildSessionService.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport { BACKGROUND_CONTEXT } from '@earendil-works/pi-agent-core/harness/context';\nimport type { Models, MutableModels, Provider } from '@earendil-works/pi-ai';\nimport {\n createBashTool,\n createEditTool,\n createFindTool,\n createGrepTool,\n createLsTool,\n createReadTool,\n createWriteTool,\n} from '@earendil-works/pi-coding-agent';\nimport { SqliteSessionRepo, createNodeSqliteFactory } from '@earendil-works/pi-session-backend-sqlite-node';\n\nimport {\n createDoomChildSessionService,\n type DoomChildSessionIntercom,\n type DoomChildSessionRequest,\n type DoomChildSessionRuntime,\n type DoomChildSessionService,\n type DoomChildSessionServiceProvider,\n type DoomChildSessionTool,\n} from '../../../exports/childSession';\nimport {\n createDirectHarnessRuntime,\n promptForAssistantText,\n type DirectHarnessRuntime,\n type DirectHarnessRuntimeOptions,\n} from '../../../server/directHarnessRuntime';\nimport { readNativeChildTranscript } from '../../../server/nativeChildTranscriptReader';\nimport type { HistoryOwnership } from '../../../services/historyImport';\nimport { createHistoryOwnership } from '../../../services/historyOwnership';\nimport type { DirectHarnessModel } from '../../../types/server/directHarnessRuntime';\nimport { registerNativeChild } from './nativeChildRuntimes';\n\nexport interface HeadlessChildSessionServiceOptions {\n readonly parentSessionId: string;\n readonly cwd: string;\n readonly sessionsRoot?: string;\n readonly models?: Models | MutableModels;\n /**\n * Providers to merge into the model registry for every child spawn. A thunk\n * is resolved per spawn so providers registered after this service was built,\n * such as Pi extension providers, are still visible to the child.\n */\n readonly providers?: readonly Provider[] | (() => readonly Provider[]);\n readonly defaultModel?: () => DirectHarnessModel | undefined;\n /** Resolve the current session's MCP dispatcher at spawn and invocation time. */\n readonly mcpTool?: () => DoomChildSessionTool | undefined;\n readonly historyOwnership?: HistoryOwnership;\n readonly now?: () => number;\n readonly runtimeFactory?: (options: DirectHarnessRuntimeOptions) => Promise<DirectHarnessRuntime>;\n}\n\nexport interface HeadlessChildSessionServiceProvider extends DoomChildSessionServiceProvider {\n close(): Promise<void>;\n}\n\nconst THINKING_SUFFIX_PATTERN = /:(off|minimal|low|medium|high|xhigh|max)$/;\n\nexport interface ParsedChildModel {\n readonly model: DirectHarnessModel;\n readonly thinking?: string;\n}\n\n/**\n * Child model specs may carry a Pi thinking suffix, for example\n * `anthropic-vertex/claude-sonnet-5:medium`. The suffix is a request option and\n * never part of the model id, so it has to be split off before model lookup.\n */\nexport function parseChildModelReference(value: string | undefined): ParsedChildModel | undefined {\n if (value === undefined) return undefined;\n const suffix = THINKING_SUFFIX_PATTERN.exec(value);\n const reference = suffix === null ? value : value.slice(0, value.length - suffix[0].length);\n const separator = reference.indexOf('/');\n if (separator <= 0 || separator === reference.length - 1)\n throw new Error(`Child model must use the provider/model form: ${value}`);\n return {\n model: { provider: reference.slice(0, separator), id: reference.slice(separator + 1) },\n ...(suffix === null ? {} : { thinking: suffix[1] as string }),\n };\n}\n\n/** Resolve the provider set for one spawn, tolerating both a fixed array and a thunk. */\nexport function resolveChildProviders(\n providers: readonly Provider[] | (() => readonly Provider[]) | undefined,\n): readonly Provider[] | undefined {\n const resolved = typeof providers === 'function' ? providers() : providers;\n return resolved === undefined || resolved.length === 0 ? undefined : resolved;\n}\n\nfunction sessionFile(runtime: DirectHarnessRuntime): string | undefined {\n const metadata = runtime.session.metadata as unknown as { path?: unknown };\n return typeof metadata.path === 'string' ? metadata.path : undefined;\n}\n\nfunction childRuntime(\n runtime: DirectHarnessRuntime,\n intercom?: DoomChildSessionIntercom,\n release?: () => void,\n): DoomChildSessionRuntime {\n const file = sessionFile(runtime);\n return {\n sessionId: runtime.sessionId,\n ...(file === undefined ? {} : { sessionFile: file }),\n ...(file === undefined\n ? {}\n : { readTranscriptPage: (request, signal) => readNativeChildTranscript(file, request, signal) }),\n prompt: (task) => promptForAssistantText(runtime, task),\n steer: (message) => runtime.steer(message),\n followUp: (message) => runtime.followUp(message),\n onUsage(listener) {\n return runtime.onEvent((event) => {\n if (event.type !== 'usage') return;\n listener({ rowId: event.row.id, cost: event.row.usage.cost.total });\n });\n },\n abort: () => runtime.abort(),\n dispose: async () => {\n try {\n await runtime.dispose();\n } finally {\n release?.();\n intercom?.dispose?.();\n }\n },\n };\n}\n\ntype DirectHarnessTool = Parameters<DirectHarnessRuntime['replaceTools']>[0][number];\n\nasync function installIntercom(\n runtime: DirectHarnessRuntime,\n intercom: DoomChildSessionIntercom | undefined,\n tools: DirectHarnessTool[],\n): Promise<void> {\n if (!intercom) return;\n const tool = intercom.bindRuntime(childRuntime(runtime));\n const adapted = {\n ...tool,\n parameters: tool.parameters as never,\n execute: (operationId: string, params: unknown, signal: AbortSignal, onUpdate: unknown) =>\n tool.execute(operationId, params, signal, onUpdate as never),\n } as unknown as DirectHarnessTool;\n await runtime.replaceTools([...tools, adapted]);\n}\n\nfunction hasConfiguredValues(value: readonly string[] | undefined): boolean {\n return value !== undefined && value.length > 0;\n}\n\nconst NATIVE_TOOL_FACTORIES = {\n read: createReadTool,\n bash: createBashTool,\n edit: createEditTool,\n write: createWriteTool,\n grep: createGrepTool,\n find: createFindTool,\n ls: createLsTool,\n} as const;\n\ntype NativeCodingTool = ReturnType<(typeof NATIVE_TOOL_FACTORIES)[keyof typeof NATIVE_TOOL_FACTORIES]>;\n\nfunction adaptNativeTool(tool: NativeCodingTool | DoomChildSessionTool): DirectHarnessTool {\n const prompt = tool as (NativeCodingTool | DoomChildSessionTool) & {\n promptSnippet?: string;\n promptGuidelines?: string[];\n };\n return {\n ...prompt,\n label: 'label' in tool ? tool.label : tool.name,\n parameters: tool.parameters as never,\n async execute(toolCallId, parameters, onUpdate, _toolContext, _invocation, context) {\n const execute = tool.execute as (\n id: string,\n params: unknown,\n signal: AbortSignal,\n update: (result: { content: unknown; details?: unknown }) => void,\n ) => Promise<{ content: unknown; details?: unknown; isError?: boolean }>;\n const result = await execute(\n toolCallId,\n parameters,\n context.abortSignal ?? new AbortController().signal,\n (partial) => onUpdate({ content: partial.content as never, details: partial.details }),\n );\n if (result.isError) {\n const content = result.content as DoomChildSessionToolResultContent;\n throw new Error(\n content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('\\n') || 'MCP tool failed.',\n );\n }\n return { content: result.content as never, details: result.details };\n },\n };\n}\n\ntype DoomChildSessionToolResultContent = Awaited<ReturnType<DoomChildSessionTool['execute']>>['content'];\n\n/** Validate and project native fields before a source fork can publish a child journal. */\nexport function composeDirectHarnessRequestOptions(\n request: DoomChildSessionRequest,\n resolveMcpTool?: () => DoomChildSessionTool | undefined,\n): Pick<DirectHarnessRuntimeOptions, 'systemPrompt' | 'tools' | 'activeToolNames'> {\n const unsupported = [\n ...(hasConfiguredValues(request.extensions) ? ['extensions'] : []),\n ...(hasConfiguredValues(request.subagentOnlyExtensions) ? ['subagentOnlyExtensions'] : []),\n ...(hasConfiguredValues(request.mcpDirectTools) ? ['mcpDirectTools'] : []),\n ...(hasConfiguredValues(request.capabilityCeiling?.allowedExternalProfiles) ? ['allowedExternalProfiles'] : []),\n ];\n if (unsupported.length > 0) {\n throw new Error(\n `Native child session configuration is unsupported by the direct harness: ${unsupported.join(', ')}`,\n );\n }\n\n const requested = [...new Set(request.tools ?? Object.keys(NATIVE_TOOL_FACTORIES))];\n const excluded = new Set(request.excludeTools ?? []);\n const allowed = request.capabilityCeiling?.allowedTools;\n const isMcp = (name: string) => name === 'mcp' || name === 'mcp_use';\n const mcpDenied = request.capabilityCeiling?.allowMcpTools === false || [...excluded].some(isMcp);\n const names = requested.filter(\n (name) => !excluded.has(name) && (allowed === undefined || allowed.includes(name)) && !(isMcp(name) && mcpDenied),\n );\n const unknown = names.filter((name) => !Object.hasOwn(NATIVE_TOOL_FACTORIES, name) && !isMcp(name));\n if (unknown.length > 0)\n throw new Error(`Native child session requested unknown direct harness tools: ${unknown.join(', ')}`);\n const required = request.capabilityCeiling?.requiredTools ?? [];\n const missing = required.filter((name) => !names.includes(name));\n if (missing.length > 0)\n throw new Error(`Native child session capability ceiling requires unavailable tools: ${missing.join(', ')}`);\n const mcpTool = names.some(isMcp) ? resolveMcpTool?.() : undefined;\n if (names.some(isMcp) && !mcpTool)\n throw new Error('Native child session MCP tools are unavailable. Enable MCP in the parent session.');\n const tools = names.map((name) => {\n if (!isMcp(name))\n return adaptNativeTool(\n NATIVE_TOOL_FACTORIES[name as keyof typeof NATIVE_TOOL_FACTORIES](request.cwd) as NativeCodingTool,\n );\n return adaptNativeTool({\n ...mcpTool!,\n name,\n execute(toolCallId, parameters, signal, onUpdate) {\n signal?.throwIfAborted();\n if (resolveMcpTool?.() !== mcpTool)\n throw new Error('The parent session MCP dispatcher is no longer available.');\n return mcpTool!.execute(toolCallId, parameters, signal, onUpdate);\n },\n } satisfies DoomChildSessionTool);\n });\n return {\n tools,\n activeToolNames: names,\n ...(request.systemPrompt === undefined ? {} : { systemPrompt: request.systemPrompt }),\n };\n}\n\nasync function forkChildJournal(\n sourcePath: string,\n branch: string,\n entryId: string | undefined,\n ownership: HistoryOwnership,\n): Promise<string> {\n const directory = path.dirname(path.resolve(sourcePath));\n const sourceRepository = new SqliteSessionRepo({\n directory,\n databasePath: sourcePath,\n databaseFactory: createNodeSqliteFactory(),\n });\n const sources = await sourceRepository.list(undefined, BACKGROUND_CONTEXT);\n await sourceRepository.close(BACKGROUND_CONTEXT);\n if (sources.length !== 1)\n throw new Error('Child source must be an existing SQLite session; import JSONL offline first.');\n const id = randomUUID();\n const destination = path.join(directory, `${id}.sqlite`);\n const lease = await ownership.acquire(destination);\n const repository = new SqliteSessionRepo({ directory, databaseFactory: createNodeSqliteFactory() });\n try {\n await lease.assertQuiescent();\n const fork = await repository.fork(\n sources[0]!,\n {\n scope: 'branch',\n branch,\n id,\n ...(entryId === undefined ? {} : { entryId }),\n },\n BACKGROUND_CONTEXT,\n );\n await fork.close(BACKGROUND_CONTEXT);\n return destination;\n } finally {\n try {\n await repository.close(BACKGROUND_CONTEXT);\n } finally {\n await lease.release();\n }\n }\n}\n\nexport function createHeadlessChildSessionService(\n options: HeadlessChildSessionServiceOptions,\n): DoomChildSessionService {\n const runtimeFactory = options.runtimeFactory ?? createDirectHarnessRuntime;\n const ownership = options.historyOwnership ?? createHistoryOwnership({ sourceFormat: 'sqlite' });\n\n return createDoomChildSessionService(\n async (request: DoomChildSessionRequest, signal): Promise<DoomChildSessionRuntime> => {\n signal?.throwIfAborted();\n if (request.source.kind === 'terminal-pi-fork')\n throw new Error('Headless child sessions do not support terminal Pi sources.');\n const directRequestOptions = composeDirectHarnessRequestOptions(request, options.mcpTool);\n\n let sessionPath: string | undefined;\n let sessionId: string | undefined;\n if (request.source.kind === 'v4-restore') {\n sessionPath = path.resolve(request.source.sessionFile);\n if (path.extname(sessionPath) !== '.sqlite')\n throw new Error('Server child restore requires SQLite; import JSONL offline first.');\n } else if (request.source.kind === 'v4-fork') {\n sessionPath = await forkChildJournal(\n request.source.sessionFile,\n request.source.branch,\n request.source.entryId,\n ownership,\n );\n } else {\n sessionId = randomUUID();\n }\n\n const requestedModel = parseChildModelReference(request.model);\n const model = requestedModel?.model ?? options.defaultModel?.();\n const thinking = request.thinking ?? requestedModel?.thinking;\n const providers = resolveChildProviders(options.providers);\n const runtimeOptions: DirectHarnessRuntimeOptions = {\n storage: 'sqlite',\n ...(request.source.kind === 'v4-fork' ? { lane: request.source.branch } : {}),\n cwd: request.cwd || options.cwd,\n ...(sessionId === undefined ? {} : { sessionId }),\n parentSessionId: request.parentSessionId || options.parentSessionId,\n ...(sessionPath === undefined ? {} : { sessionPath }),\n ...(options.sessionsRoot === undefined ? {} : { sessionsRoot: options.sessionsRoot }),\n ...(options.models === undefined ? {} : { models: options.models }),\n ...(providers === undefined ? {} : { providers }),\n ...(model === undefined ? {} : { model }),\n ...(thinking === undefined ? {} : { thinkingLevel: thinking as never }),\n ...directRequestOptions,\n historyOwnership: ownership,\n };\n\n let runtime: DirectHarnessRuntime | undefined;\n try {\n runtime = await runtimeFactory(runtimeOptions);\n await installIntercom(runtime, request.intercom, (runtimeOptions.tools ?? []) as DirectHarnessTool[]);\n const file = sessionFile(runtime);\n return childRuntime(runtime, request.intercom, file ? registerNativeChild(file, runtime) : undefined);\n } catch (error) {\n let failure: unknown = error;\n try {\n await runtime?.dispose();\n } catch (cleanupError) {\n failure = new AggregateError([error, cleanupError], 'Headless child startup cleanup failed');\n } finally {\n request.intercom?.dispose?.();\n if (sessionPath !== undefined && request.source.kind === 'v4-fork')\n for (const suffix of ['', '-wal', '-shm']) fs.rmSync(sessionPath + suffix, { force: true });\n }\n throw failure;\n }\n },\n { now: options.now ?? Date.now },\n );\n}\n\nexport function createHeadlessChildSessionServiceProvider(\n options: HeadlessChildSessionServiceOptions,\n): HeadlessChildSessionServiceProvider {\n const service = createHeadlessChildSessionService(options);\n return {\n get: () => service,\n close: () => service.close(),\n };\n}\n\nexport type { DirectHarnessRuntime, DirectHarnessRuntimeOptions } from '../../../server/directHarnessRuntime';\nexport type { DirectHarnessModel } from '../../../types/server/directHarnessRuntime';\n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ const require_runtime = require("../../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_piSessionRuntime = require("../../../pi/piSessionRuntime.cjs");
3
+ let node_path = require("node:path");
4
+ node_path = require_runtime.__toESM(node_path, 1);
5
+ //#region src/systems/child/adapters/nativeChildRuntimes.ts
6
+ const runtimes = /* @__PURE__ */ new Map();
7
+ function registerNativeChild(file, runtime) {
8
+ const key = node_path.default.resolve(file);
9
+ const service = require_piSessionRuntime.createAgentSessionRuntime({
10
+ runtime,
11
+ sessionId: runtime.sessionId,
12
+ sessionName: runtime.sessionId,
13
+ cwd: ""
14
+ });
15
+ runtimes.set(key, service);
16
+ return () => {
17
+ if (runtimes.get(key) === service) runtimes.delete(key);
18
+ service.dispose();
19
+ };
20
+ }
21
+ function nativeChildRuntime(file) {
22
+ return runtimes.get(node_path.default.resolve(file));
23
+ }
24
+ //#endregion
25
+ exports.nativeChildRuntime = nativeChildRuntime;
26
+ exports.registerNativeChild = registerNativeChild;
27
+
28
+ //# sourceMappingURL=nativeChildRuntimes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeChildRuntimes.cjs","names":["path","createAgentSessionRuntime"],"sources":["../../../../../src/systems/child/adapters/nativeChildRuntimes.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { createAgentSessionRuntime, type AgentSessionRuntime } from '../../../pi/piSessionRuntime';\nimport type { DirectHarnessRuntime } from '../../../types/server/directHarnessRuntime';\n\n// Discovery is process-local. Callers must first resolve the child through its owning hub session.\nconst runtimes = new Map<string, AgentSessionRuntime>();\n\nexport function registerNativeChild(file: string, runtime: DirectHarnessRuntime): () => void {\n const key = path.resolve(file);\n const service = createAgentSessionRuntime({\n runtime,\n sessionId: runtime.sessionId,\n sessionName: runtime.sessionId,\n cwd: '',\n });\n runtimes.set(key, service);\n return () => {\n if (runtimes.get(key) === service) runtimes.delete(key);\n void service.dispose();\n };\n}\n\nexport function nativeChildRuntime(file: string): AgentSessionRuntime | undefined {\n return runtimes.get(path.resolve(file));\n}\n"],"mappings":";;;;;AAMA,MAAM,2BAAW,IAAI,IAAiC;AAEtD,SAAgB,oBAAoB,MAAc,SAA2C;CAC3F,MAAM,MAAMA,UAAAA,QAAK,QAAQ,IAAI;CAC7B,MAAM,UAAUC,yBAAAA,0BAA0B;EACxC;EACA,WAAW,QAAQ;EACnB,aAAa,QAAQ;EACrB,KAAK;CACP,CAAC;CACD,SAAS,IAAI,KAAK,OAAO;CACzB,aAAa;EACX,IAAI,SAAS,IAAI,GAAG,MAAM,SAAS,SAAS,OAAO,GAAG;EACtD,QAAa,QAAQ;CACvB;AACF;AAEA,SAAgB,mBAAmB,MAA+C;CAChF,OAAO,SAAS,IAAID,UAAAA,QAAK,QAAQ,IAAI,CAAC;AACxC"}
@@ -0,0 +1,25 @@
1
+ import { createAgentSessionRuntime } from "../../../pi/piSessionRuntime.mjs";
2
+ import path from "node:path";
3
+ //#region src/systems/child/adapters/nativeChildRuntimes.ts
4
+ const runtimes = /* @__PURE__ */ new Map();
5
+ function registerNativeChild(file, runtime) {
6
+ const key = path.resolve(file);
7
+ const service = createAgentSessionRuntime({
8
+ runtime,
9
+ sessionId: runtime.sessionId,
10
+ sessionName: runtime.sessionId,
11
+ cwd: ""
12
+ });
13
+ runtimes.set(key, service);
14
+ return () => {
15
+ if (runtimes.get(key) === service) runtimes.delete(key);
16
+ service.dispose();
17
+ };
18
+ }
19
+ function nativeChildRuntime(file) {
20
+ return runtimes.get(path.resolve(file));
21
+ }
22
+ //#endregion
23
+ export { nativeChildRuntime, registerNativeChild };
24
+
25
+ //# sourceMappingURL=nativeChildRuntimes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeChildRuntimes.mjs","names":[],"sources":["../../../../../src/systems/child/adapters/nativeChildRuntimes.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { createAgentSessionRuntime, type AgentSessionRuntime } from '../../../pi/piSessionRuntime';\nimport type { DirectHarnessRuntime } from '../../../types/server/directHarnessRuntime';\n\n// Discovery is process-local. Callers must first resolve the child through its owning hub session.\nconst runtimes = new Map<string, AgentSessionRuntime>();\n\nexport function registerNativeChild(file: string, runtime: DirectHarnessRuntime): () => void {\n const key = path.resolve(file);\n const service = createAgentSessionRuntime({\n runtime,\n sessionId: runtime.sessionId,\n sessionName: runtime.sessionId,\n cwd: '',\n });\n runtimes.set(key, service);\n return () => {\n if (runtimes.get(key) === service) runtimes.delete(key);\n void service.dispose();\n };\n}\n\nexport function nativeChildRuntime(file: string): AgentSessionRuntime | undefined {\n return runtimes.get(path.resolve(file));\n}\n"],"mappings":";;;AAMA,MAAM,2BAAW,IAAI,IAAiC;AAEtD,SAAgB,oBAAoB,MAAc,SAA2C;CAC3F,MAAM,MAAM,KAAK,QAAQ,IAAI;CAC7B,MAAM,UAAU,0BAA0B;EACxC;EACA,WAAW,QAAQ;EACnB,aAAa,QAAQ;EACrB,KAAK;CACP,CAAC;CACD,SAAS,IAAI,KAAK,OAAO;CACzB,aAAa;EACX,IAAI,SAAS,IAAI,GAAG,MAAM,SAAS,SAAS,OAAO,GAAG;EACtD,QAAa,QAAQ;CACvB;AACF;AAEA,SAAgB,mBAAmB,MAA+C;CAChF,OAAO,SAAS,IAAI,KAAK,QAAQ,IAAI,CAAC;AACxC"}
@@ -0,0 +1,219 @@
1
+ //#region src/systems/child/services/childSession/index.ts
2
+ /**
3
+ * Owns lifecycle for runtimes created by a direct host adapter.
4
+ *
5
+ * The factory is the host boundary: it must construct the direct harness, apply
6
+ * history ownership, and return only after child extensions are composed.
7
+ */
8
+ function createDoomChildSessionService(factory, dependencies) {
9
+ const handles = /* @__PURE__ */ new Map();
10
+ const transcriptReaders = /* @__PURE__ */ new Map();
11
+ const claimedRunIds = /* @__PURE__ */ new Set();
12
+ const starting = /* @__PURE__ */ new Set();
13
+ const cleanupFailures = [];
14
+ let closed = false;
15
+ let closePromise;
16
+ const release = (runId) => {
17
+ handles.delete(runId);
18
+ if (!transcriptReaders.has(runId)) claimedRunIds.delete(runId);
19
+ };
20
+ const recordCleanupFailure = (error) => {
21
+ cleanupFailures.push(error);
22
+ };
23
+ return {
24
+ start(request, signal) {
25
+ if (closed) return Promise.reject(/* @__PURE__ */ new Error("The Doom child-session service is closed."));
26
+ if (claimedRunIds.has(request.runId)) return Promise.reject(/* @__PURE__ */ new Error(`Child run '${request.runId}' already exists.`));
27
+ claimedRunIds.add(request.runId);
28
+ const pending = (async () => {
29
+ try {
30
+ signal?.throwIfAborted();
31
+ const handle = await createHandle(async (ownedRequest, ownedSignal) => {
32
+ const runtime = await factory(ownedRequest, ownedSignal);
33
+ if (runtime.readTranscriptPage) transcriptReaders.set(request.runId, (pageRequest, pageSignal) => runtime.readTranscriptPage(pageRequest, pageSignal));
34
+ return runtime;
35
+ }, dependencies, request, signal, () => release(request.runId), recordCleanupFailure);
36
+ if (closed || signal?.aborted) {
37
+ await handle.dispose();
38
+ throw signal?.reason ?? /* @__PURE__ */ new Error("Child session startup was cancelled.");
39
+ }
40
+ if (!isTerminal(handle.state())) handles.set(request.runId, handle);
41
+ return handle;
42
+ } catch (error) {
43
+ transcriptReaders.delete(request.runId);
44
+ release(request.runId);
45
+ throw error;
46
+ }
47
+ })();
48
+ starting.add(pending);
49
+ pending.then(() => starting.delete(pending), () => starting.delete(pending));
50
+ return pending;
51
+ },
52
+ get: (runId) => handles.get(runId),
53
+ async readTranscriptPage(runId, request, signal) {
54
+ if (closed) throw new Error("The Doom child-session service is closed.");
55
+ signal?.throwIfAborted();
56
+ const reader = transcriptReaders.get(runId);
57
+ if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);
58
+ const page = await reader(request, signal);
59
+ signal?.throwIfAborted();
60
+ return page;
61
+ },
62
+ close() {
63
+ closePromise ??= (async () => {
64
+ if (closed) return;
65
+ closed = true;
66
+ await Promise.allSettled(starting);
67
+ const active = [...handles.values()];
68
+ await Promise.allSettled(active.map((handle) => handle.dispose()));
69
+ const failures = [...cleanupFailures];
70
+ handles.clear();
71
+ transcriptReaders.clear();
72
+ claimedRunIds.clear();
73
+ if (failures.length) throw new AggregateError(failures, "Doom child-session shutdown failed.");
74
+ })();
75
+ return closePromise;
76
+ }
77
+ };
78
+ }
79
+ function isTerminal(state) {
80
+ return state === "completed" || state === "failed" || state === "stopped";
81
+ }
82
+ function errorMessage(error) {
83
+ return error instanceof Error ? error.message : typeof error === "string" ? error : "Unknown cleanup failure";
84
+ }
85
+ async function createHandle(factory, dependencies, request, signal, onTerminal, onCleanupFailure) {
86
+ const runtime = await factory(request, signal);
87
+ if (signal?.aborted) {
88
+ await runtime.dispose();
89
+ throw signal.reason ?? /* @__PURE__ */ new Error("Child session startup was cancelled.");
90
+ }
91
+ let state = "starting";
92
+ let disposed = false;
93
+ let lastEvent;
94
+ let finishPromise;
95
+ let stopPromise;
96
+ let cleanupPromise;
97
+ let abortCleanup;
98
+ const listeners = /* @__PURE__ */ new Set();
99
+ const sessionFile = runtime.sessionFile;
100
+ const usageRows = /* @__PURE__ */ new Set();
101
+ let cost;
102
+ let usageCleanup;
103
+ const emit = (next, message) => {
104
+ state = next;
105
+ const event = {
106
+ runId: request.runId,
107
+ state: next,
108
+ timestamp: dependencies.now(),
109
+ ...message ? { message } : {},
110
+ ...sessionFile ? { sessionFile } : {},
111
+ ...cost === void 0 ? {} : { cost }
112
+ };
113
+ lastEvent = event;
114
+ for (const listener of Array.from(listeners)) try {
115
+ listener(event);
116
+ } catch {}
117
+ };
118
+ const onUsage = (usage) => {
119
+ if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;
120
+ usageRows.add(usage.rowId);
121
+ cost = (cost ?? 0) + usage.cost;
122
+ emit("running");
123
+ };
124
+ const cleanup = () => {
125
+ cleanupPromise ??= (async () => {
126
+ try {
127
+ await runtime.dispose();
128
+ } finally {
129
+ usageCleanup?.();
130
+ usageCleanup = void 0;
131
+ abortCleanup?.();
132
+ abortCleanup = void 0;
133
+ }
134
+ })();
135
+ return cleanupPromise;
136
+ };
137
+ const finish = (next, message) => {
138
+ finishPromise ??= (async () => {
139
+ let cleanupFailure;
140
+ try {
141
+ await cleanup();
142
+ } catch (error) {
143
+ cleanupFailure = error;
144
+ onCleanupFailure(error);
145
+ }
146
+ if (cleanupFailure === void 0) emit(next, message);
147
+ else {
148
+ const detail = errorMessage(cleanupFailure);
149
+ emit("failed", `Child session cleanup failed: ${detail}`);
150
+ }
151
+ disposed = true;
152
+ onTerminal();
153
+ listeners.clear();
154
+ if (cleanupFailure !== void 0) throw cleanupFailure;
155
+ })();
156
+ return finishPromise;
157
+ };
158
+ const handle = {
159
+ runId: request.runId,
160
+ ...sessionFile ? { sessionFile } : {},
161
+ state: () => state,
162
+ subscribe(listener) {
163
+ if (disposed || isTerminal(state)) {
164
+ if (lastEvent) try {
165
+ listener(lastEvent);
166
+ } catch {}
167
+ return () => false;
168
+ }
169
+ listeners.add(listener);
170
+ if (lastEvent) try {
171
+ listener(lastEvent);
172
+ } catch {}
173
+ return () => listeners.delete(listener);
174
+ },
175
+ async steer(message, steerSignal) {
176
+ if (disposed || finishPromise) throw new Error(`Child run '${request.runId}' is no longer active.`);
177
+ steerSignal?.throwIfAborted();
178
+ await runtime.steer(message);
179
+ steerSignal?.throwIfAborted();
180
+ },
181
+ stop(reason) {
182
+ stopPromise ??= (async () => {
183
+ if (finishPromise) return finishPromise;
184
+ let abortFailure;
185
+ try {
186
+ await runtime.abort();
187
+ } catch (error) {
188
+ abortFailure = error;
189
+ }
190
+ let finishFailure;
191
+ try {
192
+ await finish("stopped", reason ?? "Child session stopped.");
193
+ } catch (error) {
194
+ finishFailure = error;
195
+ }
196
+ if (abortFailure !== void 0 && finishFailure !== void 0) throw new AggregateError([abortFailure, finishFailure], "Stopping the child session failed.");
197
+ if (abortFailure !== void 0) throw abortFailure;
198
+ if (finishFailure !== void 0) throw finishFailure;
199
+ })();
200
+ return stopPromise;
201
+ },
202
+ dispose: () => finish("stopped", "Child session disposed.")
203
+ };
204
+ if (signal) {
205
+ const onAbort = () => {
206
+ handle.stop("Child session startup was cancelled.").catch(() => void 0);
207
+ };
208
+ signal.addEventListener("abort", onAbort, { once: true });
209
+ abortCleanup = () => signal.removeEventListener("abort", onAbort);
210
+ }
211
+ usageCleanup = runtime.onUsage?.(onUsage);
212
+ 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;
215
+ }
216
+ //#endregion
217
+ exports.createDoomChildSessionService = createDoomChildSessionService;
218
+
219
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","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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"}
@@ -0,0 +1,14 @@
1
+ import { DoomChildSessionRuntime, DoomChildSessionRuntimeFactory, DoomChildSessionService } from "../../types/childSession.mjs";
2
+ //#region src/systems/child/services/childSession/index.d.ts
3
+ export interface DoomChildSessionServiceDependencies {
4
+ readonly now: () => number;
5
+ }
6
+ /**
7
+ * Owns lifecycle for runtimes created by a direct host adapter.
8
+ *
9
+ * The factory is the host boundary: it must construct the direct harness, apply
10
+ * history ownership, and return only after child extensions are composed.
11
+ */
12
+ export declare function createDoomChildSessionService(factory: DoomChildSessionRuntimeFactory, dependencies: DoomChildSessionServiceDependencies): DoomChildSessionService;
13
+ //#endregion
14
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../../../src/systems/child/services/childSession/index.ts"],"mappings":";;iBAWiB;WACN;;;;;;;;wBASK,8BACd,SAAS,gCACT,cAAc,sCACb"}