@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 @@
1
+ {"version":3,"file":"jsonlSessionRepo.cjs","names":["createHash","fs","NodeExecutionEnv","path","JsonlSessionRepo","JSONL_STORAGE_VERSION","BACKGROUND_CONTEXT"],"sources":["../src/services/jsonlSessionRepo/index.ts"],"sourcesContent":["import { createHash } 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 { JSONL_STORAGE_VERSION, JsonlSessionRepo } from '@earendil-works/pi-agent-core/harness/session';\nimport { NodeExecutionEnv } from '@earendil-works/pi-agent-core/node';\n\nimport type { HistoryEntryProof, HistoryImportVerification, HistoryStagingImportInput } from '../historyImport';\n\nconst PROJECTED_V3_TYPES = new Set([\n 'model_change',\n 'thinking_level_change',\n 'active_tools_change',\n 'session_info',\n 'label',\n]);\n\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : undefined;\n}\n\nfunction requireString(value: unknown, field: string): string {\n if (typeof value !== 'string' || value.length === 0) throw new Error(`Invalid protected history ${field}`);\n return value;\n}\n\nfunction requireNullableString(value: unknown, field: string): string | null {\n if (value !== null && typeof value !== 'string') throw new Error(`Invalid protected history ${field}`);\n return value;\n}\n\nfunction stableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableJson).join(',')}]`;\n const record = asRecord(value);\n if (record === undefined) return JSON.stringify(value) ?? 'null';\n return `{${Object.keys(record)\n .sort()\n .map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`)\n .join(',')}}`;\n}\n\nexport function contentHash(record: Record<string, unknown>): string {\n const { id: _id, parentId: _parentId, timestamp: _timestamp, kind: _kind, seq: _seq, ...content } = record;\n if (content.type === 'custom_message') {\n content.type = 'message';\n content.message = {\n role: 'custom',\n customType: content.customType,\n content: content.content,\n details: content.details,\n display: content.display,\n };\n delete content.customType;\n delete content.content;\n delete content.details;\n delete content.display;\n }\n if (content.type === 'branch_summary' && content.fromId === 'root') content.fromId = null;\n if (content.type === 'compaction') {\n delete content.firstKeptEntryId;\n delete content.retainedTail;\n }\n return createHash('sha256')\n .update(Buffer.from(stableJson(content)))\n .digest('hex');\n}\n\ninterface ParsedV3 {\n header: Record<string, unknown>;\n records: Record<string, unknown>[];\n}\n\ninterface ParsedV4 {\n entries: Record<string, unknown>[];\n branchTips: Map<string, string | null>;\n}\n\nfunction parseJsonl(filePath: string): string[] {\n const content = fs.readFileSync(filePath, 'utf8');\n if (!content.endsWith('\\n')) throw new Error(`Protected history file is truncated: ${filePath}`);\n return content.slice(0, -1).split('\\n');\n}\n\nfunction parseV3(filePath: string): ParsedV3 {\n const lines = parseJsonl(filePath);\n const header = asRecord(JSON.parse(lines[0] ?? ''));\n if (header?.type !== 'session' || header.version !== 3)\n throw new Error(`Protected history source is not v3: ${filePath}`);\n const records = lines.slice(1).map((line, index) => {\n const record = asRecord(JSON.parse(line));\n if (record === undefined) throw new Error(`Invalid protected history record at line ${index + 2}`);\n return record;\n });\n return { header, records };\n}\n\nfunction parseV4(filePath: string): ParsedV4 {\n const lines = parseJsonl(filePath);\n const header = asRecord(JSON.parse(lines[0] ?? ''));\n if (header?.kind !== 'header' || header.v !== 4) throw new Error(`Protected history staging is not v4: ${filePath}`);\n const entries: Record<string, unknown>[] = [];\n const branchTips = new Map<string, string | null>();\n for (const line of lines.slice(1)) {\n const value: unknown = JSON.parse(line);\n const writes = Array.isArray(value) ? value : [value];\n for (const item of writes) {\n const record = asRecord(item);\n if (record?.kind === 'entry') {\n const { kind: _kind, seq: _seq, ...entry } = record;\n entries.push(entry);\n } else if (record?.kind === 'value' && record.namespace === 'pi.branch.tip') {\n const branch = requireString(record.key, 'branch name');\n branchTips.set(branch, record.op === 'delete' ? null : requireNullableString(record.value, 'branch tip'));\n }\n }\n }\n return { entries, branchTips };\n}\n\nfunction sourceParentId(record: Record<string, unknown>): string | null {\n return requireNullableString(record.parentId, 'source parent id');\n}\n\nfunction retainedSourceRecords(records: Record<string, unknown>[]): Record<string, unknown>[] {\n return records.filter((record) => !PROJECTED_V3_TYPES.has(requireString(record.type, 'record type')));\n}\n\nfunction resolveNearestRetainedSourceId(\n sourceId: string | null,\n sourceById: Map<string, Record<string, unknown>>,\n sourceToImported: Map<string, string>,\n): string | null {\n const visited = new Set<string>();\n let current = sourceId;\n while (current !== null) {\n if (sourceToImported.has(current)) return current;\n if (visited.has(current)) throw new Error(`Cycle in protected history parent chain: ${current}`);\n visited.add(current);\n const record = sourceById.get(current);\n if (record === undefined) throw new Error(`Protected history parent references unknown entry: ${current}`);\n current = sourceParentId(record);\n }\n return null;\n}\n\nfunction resolveRetainedSourceId(\n sourceId: string | null,\n sourceById: Map<string, Record<string, unknown>>,\n sourceToImported: Map<string, string>,\n): string | null {\n const retainedSourceId = resolveNearestRetainedSourceId(sourceId, sourceById, sourceToImported);\n return retainedSourceId === null ? null : sourceToImported.get(retainedSourceId)!;\n}\n\nfunction buildVerification(source: ParsedV3, imported: ParsedV4): HistoryImportVerification {\n const retained = retainedSourceRecords(source.records);\n if (imported.entries.length !== retained.length)\n throw new Error('Protected history staging entry count does not match source');\n\n const sourceById = new Map<string, Record<string, unknown>>();\n for (const record of source.records) {\n const id = requireString(record.id, 'source entry id');\n if (sourceById.has(id)) throw new Error(`Duplicate protected history source entry id: ${id}`);\n sourceById.set(id, record);\n }\n\n const sourceToImported = new Map<string, string>();\n const importedIds = new Set<string>();\n for (const [index, sourceRecord] of retained.entries()) {\n const sourceId = requireString(sourceRecord.id, 'source entry id');\n const importedRecord = imported.entries[index];\n if (importedRecord === undefined) throw new Error(`Protected history staging omitted source entry: ${sourceId}`);\n const importedId = requireString(importedRecord.id, 'imported entry id');\n if (sourceToImported.has(sourceId)) throw new Error(`Duplicate protected history source entry id: ${sourceId}`);\n if (importedIds.has(importedId)) throw new Error(`Duplicate protected history imported entry id: ${importedId}`);\n sourceToImported.set(sourceId, importedId);\n importedIds.add(importedId);\n }\n\n const entries: HistoryEntryProof[] = retained.map((sourceRecord) => {\n const sourceId = requireString(sourceRecord.id, 'source entry id');\n const importedId = sourceToImported.get(sourceId);\n if (importedId === undefined) throw new Error(`Protected history omitted source entry: ${sourceId}`);\n const importedRecord = imported.entries.find((record) => record.id === importedId);\n if (importedRecord === undefined) throw new Error(`Protected history omitted imported entry: ${importedId}`);\n const importedParentId = requireNullableString(importedRecord.parentId, 'imported parent id');\n const expectedParentId = resolveRetainedSourceId(sourceParentId(sourceRecord), sourceById, sourceToImported);\n if (expectedParentId !== importedParentId) throw new Error(`Protected history parent mismatch: ${sourceId}`);\n return {\n sourceId,\n importedId,\n sourceParentId: sourceParentId(sourceRecord),\n importedParentId,\n sourceContentHash: contentHash(sourceRecord),\n importedContentHash: contentHash(importedRecord),\n };\n });\n\n const finalSource = source.records.at(-1);\n const sourceTipId =\n finalSource === undefined\n ? null\n : resolveNearestRetainedSourceId(requireString(finalSource.id, 'source tip id'), sourceById, sourceToImported);\n const importedTipId = sourceTipId === null ? null : sourceToImported.get(sourceTipId);\n if (sourceTipId !== null && importedTipId === undefined)\n throw new Error(`Protected history omitted source tip: ${sourceTipId}`);\n const importedMainTip = imported.branchTips.get('main');\n if (importedMainTip !== (importedTipId ?? null))\n throw new Error('Protected history staging main branch tip mismatch');\n\n return {\n entries,\n branches: [{ sourceTipId, importedTipId: importedTipId ?? null, branch: 'main' }],\n projectedSourceIds: source.records\n .filter((record) => PROJECTED_V3_TYPES.has(requireString(record.type, 'record type')))\n .map((record) => requireString(record.id, 'projected source entry id')),\n };\n}\n\n/** Import one v3 history through the pinned upstream JsonlSessionRepo adapter. */\nexport async function importV3WithPinnedUpstream(input: HistoryStagingImportInput): Promise<HistoryImportVerification> {\n const source = parseV3(input.sourcePath);\n const timestamp = requireString(source.header.timestamp, 'session timestamp');\n const createdAt = Date.parse(timestamp);\n if (!Number.isFinite(createdAt)) throw new Error('Invalid protected history session timestamp');\n const cwd = requireString(source.header.cwd, 'session cwd');\n const id = requireString(source.header.id, 'session id');\n const environment = new NodeExecutionEnv({ cwd: path.dirname(path.resolve(input.stagingPath)) });\n const repository = new JsonlSessionRepo({\n fileSystem: environment,\n sessionsRoot: path.dirname(path.resolve(input.stagingPath)),\n now: () => Date.now(),\n });\n let session: Awaited<ReturnType<JsonlSessionRepo['open']>> | undefined;\n try {\n session = await repository.open(\n {\n id,\n createdAt,\n storageVersion: JSONL_STORAGE_VERSION,\n cwd,\n path: path.resolve(input.stagingPath),\n modifiedAt: fs.statSync(input.stagingPath).mtimeMs,\n },\n BACKGROUND_CONTEXT,\n );\n const name = await session.getName(BACKGROUND_CONTEXT);\n await session.setName(name, BACKGROUND_CONTEXT);\n await session.close(BACKGROUND_CONTEXT);\n session = undefined;\n return buildVerification(source, parseV4(input.stagingPath));\n } finally {\n if (session !== undefined) await session.close(BACKGROUND_CONTEXT).catch(() => undefined);\n await repository.close(BACKGROUND_CONTEXT);\n await environment.cleanup(BACKGROUND_CONTEXT);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { HistoryImportVerification, HistoryStagingImportInput } from "./historyImport.mjs";
2
+ //#region src/services/jsonlSessionRepo/index.d.ts
3
+ export declare function contentHash(record: Record<string, unknown>): string;
4
+ /** Import one v3 history through the pinned upstream JsonlSessionRepo adapter. */
5
+ export declare function importV3WithPinnedUpstream(input: HistoryStagingImportInput): Promise<HistoryImportVerification>;
6
+ //#endregion
7
+ //# sourceMappingURL=jsonlSessionRepo.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonlSessionRepo.d.mts","names":[],"sources":["../src/services/jsonlSessionRepo/index.ts"],"mappings":";;wBA4CgB,YAAY,QAAQ;;wBAmLd,2BAA2B,OAAO,4BAA4B,QAAQ"}
@@ -0,0 +1,212 @@
1
+ import { createHash } from "node:crypto";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import { BACKGROUND_CONTEXT } from "@earendil-works/pi-agent-core/harness/context";
5
+ import { JSONL_STORAGE_VERSION, JsonlSessionRepo } from "@earendil-works/pi-agent-core/harness/session";
6
+ import { NodeExecutionEnv } from "@earendil-works/pi-agent-core/node";
7
+ //#region src/services/jsonlSessionRepo/index.ts
8
+ const PROJECTED_V3_TYPES = /* @__PURE__ */ new Set([
9
+ "model_change",
10
+ "thinking_level_change",
11
+ "active_tools_change",
12
+ "session_info",
13
+ "label"
14
+ ]);
15
+ function asRecord(value) {
16
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? value : void 0;
17
+ }
18
+ function requireString(value, field) {
19
+ if (typeof value !== "string" || value.length === 0) throw new Error(`Invalid protected history ${field}`);
20
+ return value;
21
+ }
22
+ function requireNullableString(value, field) {
23
+ if (value !== null && typeof value !== "string") throw new Error(`Invalid protected history ${field}`);
24
+ return value;
25
+ }
26
+ function stableJson(value) {
27
+ if (Array.isArray(value)) return `[${value.map(stableJson).join(",")}]`;
28
+ const record = asRecord(value);
29
+ if (record === void 0) return JSON.stringify(value) ?? "null";
30
+ return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`).join(",")}}`;
31
+ }
32
+ function contentHash(record) {
33
+ const { id: _id, parentId: _parentId, timestamp: _timestamp, kind: _kind, seq: _seq, ...content } = record;
34
+ if (content.type === "custom_message") {
35
+ content.type = "message";
36
+ content.message = {
37
+ role: "custom",
38
+ customType: content.customType,
39
+ content: content.content,
40
+ details: content.details,
41
+ display: content.display
42
+ };
43
+ delete content.customType;
44
+ delete content.content;
45
+ delete content.details;
46
+ delete content.display;
47
+ }
48
+ if (content.type === "branch_summary" && content.fromId === "root") content.fromId = null;
49
+ if (content.type === "compaction") {
50
+ delete content.firstKeptEntryId;
51
+ delete content.retainedTail;
52
+ }
53
+ return createHash("sha256").update(Buffer.from(stableJson(content))).digest("hex");
54
+ }
55
+ function parseJsonl(filePath) {
56
+ const content = fs.readFileSync(filePath, "utf8");
57
+ if (!content.endsWith("\n")) throw new Error(`Protected history file is truncated: ${filePath}`);
58
+ return content.slice(0, -1).split("\n");
59
+ }
60
+ function parseV3(filePath) {
61
+ const lines = parseJsonl(filePath);
62
+ const header = asRecord(JSON.parse(lines[0] ?? ""));
63
+ if (header?.type !== "session" || header.version !== 3) throw new Error(`Protected history source is not v3: ${filePath}`);
64
+ return {
65
+ header,
66
+ records: lines.slice(1).map((line, index) => {
67
+ const record = asRecord(JSON.parse(line));
68
+ if (record === void 0) throw new Error(`Invalid protected history record at line ${index + 2}`);
69
+ return record;
70
+ })
71
+ };
72
+ }
73
+ function parseV4(filePath) {
74
+ const lines = parseJsonl(filePath);
75
+ const header = asRecord(JSON.parse(lines[0] ?? ""));
76
+ if (header?.kind !== "header" || header.v !== 4) throw new Error(`Protected history staging is not v4: ${filePath}`);
77
+ const entries = [];
78
+ const branchTips = /* @__PURE__ */ new Map();
79
+ for (const line of lines.slice(1)) {
80
+ const value = JSON.parse(line);
81
+ const writes = Array.isArray(value) ? value : [value];
82
+ for (const item of writes) {
83
+ const record = asRecord(item);
84
+ if (record?.kind === "entry") {
85
+ const { kind: _kind, seq: _seq, ...entry } = record;
86
+ entries.push(entry);
87
+ } else if (record?.kind === "value" && record.namespace === "pi.branch.tip") {
88
+ const branch = requireString(record.key, "branch name");
89
+ branchTips.set(branch, record.op === "delete" ? null : requireNullableString(record.value, "branch tip"));
90
+ }
91
+ }
92
+ }
93
+ return {
94
+ entries,
95
+ branchTips
96
+ };
97
+ }
98
+ function sourceParentId(record) {
99
+ return requireNullableString(record.parentId, "source parent id");
100
+ }
101
+ function retainedSourceRecords(records) {
102
+ return records.filter((record) => !PROJECTED_V3_TYPES.has(requireString(record.type, "record type")));
103
+ }
104
+ function resolveNearestRetainedSourceId(sourceId, sourceById, sourceToImported) {
105
+ const visited = /* @__PURE__ */ new Set();
106
+ let current = sourceId;
107
+ while (current !== null) {
108
+ if (sourceToImported.has(current)) return current;
109
+ if (visited.has(current)) throw new Error(`Cycle in protected history parent chain: ${current}`);
110
+ visited.add(current);
111
+ const record = sourceById.get(current);
112
+ if (record === void 0) throw new Error(`Protected history parent references unknown entry: ${current}`);
113
+ current = sourceParentId(record);
114
+ }
115
+ return null;
116
+ }
117
+ function resolveRetainedSourceId(sourceId, sourceById, sourceToImported) {
118
+ const retainedSourceId = resolveNearestRetainedSourceId(sourceId, sourceById, sourceToImported);
119
+ return retainedSourceId === null ? null : sourceToImported.get(retainedSourceId);
120
+ }
121
+ function buildVerification(source, imported) {
122
+ const retained = retainedSourceRecords(source.records);
123
+ if (imported.entries.length !== retained.length) throw new Error("Protected history staging entry count does not match source");
124
+ const sourceById = /* @__PURE__ */ new Map();
125
+ for (const record of source.records) {
126
+ const id = requireString(record.id, "source entry id");
127
+ if (sourceById.has(id)) throw new Error(`Duplicate protected history source entry id: ${id}`);
128
+ sourceById.set(id, record);
129
+ }
130
+ const sourceToImported = /* @__PURE__ */ new Map();
131
+ const importedIds = /* @__PURE__ */ new Set();
132
+ for (const [index, sourceRecord] of retained.entries()) {
133
+ const sourceId = requireString(sourceRecord.id, "source entry id");
134
+ const importedRecord = imported.entries[index];
135
+ if (importedRecord === void 0) throw new Error(`Protected history staging omitted source entry: ${sourceId}`);
136
+ const importedId = requireString(importedRecord.id, "imported entry id");
137
+ if (sourceToImported.has(sourceId)) throw new Error(`Duplicate protected history source entry id: ${sourceId}`);
138
+ if (importedIds.has(importedId)) throw new Error(`Duplicate protected history imported entry id: ${importedId}`);
139
+ sourceToImported.set(sourceId, importedId);
140
+ importedIds.add(importedId);
141
+ }
142
+ const entries = retained.map((sourceRecord) => {
143
+ const sourceId = requireString(sourceRecord.id, "source entry id");
144
+ const importedId = sourceToImported.get(sourceId);
145
+ if (importedId === void 0) throw new Error(`Protected history omitted source entry: ${sourceId}`);
146
+ const importedRecord = imported.entries.find((record) => record.id === importedId);
147
+ if (importedRecord === void 0) throw new Error(`Protected history omitted imported entry: ${importedId}`);
148
+ const importedParentId = requireNullableString(importedRecord.parentId, "imported parent id");
149
+ if (resolveRetainedSourceId(sourceParentId(sourceRecord), sourceById, sourceToImported) !== importedParentId) throw new Error(`Protected history parent mismatch: ${sourceId}`);
150
+ return {
151
+ sourceId,
152
+ importedId,
153
+ sourceParentId: sourceParentId(sourceRecord),
154
+ importedParentId,
155
+ sourceContentHash: contentHash(sourceRecord),
156
+ importedContentHash: contentHash(importedRecord)
157
+ };
158
+ });
159
+ const finalSource = source.records.at(-1);
160
+ const sourceTipId = finalSource === void 0 ? null : resolveNearestRetainedSourceId(requireString(finalSource.id, "source tip id"), sourceById, sourceToImported);
161
+ const importedTipId = sourceTipId === null ? null : sourceToImported.get(sourceTipId);
162
+ if (sourceTipId !== null && importedTipId === void 0) throw new Error(`Protected history omitted source tip: ${sourceTipId}`);
163
+ if (imported.branchTips.get("main") !== (importedTipId ?? null)) throw new Error("Protected history staging main branch tip mismatch");
164
+ return {
165
+ entries,
166
+ branches: [{
167
+ sourceTipId,
168
+ importedTipId: importedTipId ?? null,
169
+ branch: "main"
170
+ }],
171
+ projectedSourceIds: source.records.filter((record) => PROJECTED_V3_TYPES.has(requireString(record.type, "record type"))).map((record) => requireString(record.id, "projected source entry id"))
172
+ };
173
+ }
174
+ /** Import one v3 history through the pinned upstream JsonlSessionRepo adapter. */
175
+ async function importV3WithPinnedUpstream(input) {
176
+ const source = parseV3(input.sourcePath);
177
+ const timestamp = requireString(source.header.timestamp, "session timestamp");
178
+ const createdAt = Date.parse(timestamp);
179
+ if (!Number.isFinite(createdAt)) throw new Error("Invalid protected history session timestamp");
180
+ const cwd = requireString(source.header.cwd, "session cwd");
181
+ const id = requireString(source.header.id, "session id");
182
+ const environment = new NodeExecutionEnv({ cwd: path.dirname(path.resolve(input.stagingPath)) });
183
+ const repository = new JsonlSessionRepo({
184
+ fileSystem: environment,
185
+ sessionsRoot: path.dirname(path.resolve(input.stagingPath)),
186
+ now: () => Date.now()
187
+ });
188
+ let session;
189
+ try {
190
+ session = await repository.open({
191
+ id,
192
+ createdAt,
193
+ storageVersion: JSONL_STORAGE_VERSION,
194
+ cwd,
195
+ path: path.resolve(input.stagingPath),
196
+ modifiedAt: fs.statSync(input.stagingPath).mtimeMs
197
+ }, BACKGROUND_CONTEXT);
198
+ const name = await session.getName(BACKGROUND_CONTEXT);
199
+ await session.setName(name, BACKGROUND_CONTEXT);
200
+ await session.close(BACKGROUND_CONTEXT);
201
+ session = void 0;
202
+ return buildVerification(source, parseV4(input.stagingPath));
203
+ } finally {
204
+ if (session !== void 0) await session.close(BACKGROUND_CONTEXT).catch(() => void 0);
205
+ await repository.close(BACKGROUND_CONTEXT);
206
+ await environment.cleanup(BACKGROUND_CONTEXT);
207
+ }
208
+ }
209
+ //#endregion
210
+ export { contentHash, importV3WithPinnedUpstream };
211
+
212
+ //# sourceMappingURL=jsonlSessionRepo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonlSessionRepo.mjs","names":[],"sources":["../src/services/jsonlSessionRepo/index.ts"],"sourcesContent":["import { createHash } 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 { JSONL_STORAGE_VERSION, JsonlSessionRepo } from '@earendil-works/pi-agent-core/harness/session';\nimport { NodeExecutionEnv } from '@earendil-works/pi-agent-core/node';\n\nimport type { HistoryEntryProof, HistoryImportVerification, HistoryStagingImportInput } from '../historyImport';\n\nconst PROJECTED_V3_TYPES = new Set([\n 'model_change',\n 'thinking_level_change',\n 'active_tools_change',\n 'session_info',\n 'label',\n]);\n\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : undefined;\n}\n\nfunction requireString(value: unknown, field: string): string {\n if (typeof value !== 'string' || value.length === 0) throw new Error(`Invalid protected history ${field}`);\n return value;\n}\n\nfunction requireNullableString(value: unknown, field: string): string | null {\n if (value !== null && typeof value !== 'string') throw new Error(`Invalid protected history ${field}`);\n return value;\n}\n\nfunction stableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableJson).join(',')}]`;\n const record = asRecord(value);\n if (record === undefined) return JSON.stringify(value) ?? 'null';\n return `{${Object.keys(record)\n .sort()\n .map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`)\n .join(',')}}`;\n}\n\nexport function contentHash(record: Record<string, unknown>): string {\n const { id: _id, parentId: _parentId, timestamp: _timestamp, kind: _kind, seq: _seq, ...content } = record;\n if (content.type === 'custom_message') {\n content.type = 'message';\n content.message = {\n role: 'custom',\n customType: content.customType,\n content: content.content,\n details: content.details,\n display: content.display,\n };\n delete content.customType;\n delete content.content;\n delete content.details;\n delete content.display;\n }\n if (content.type === 'branch_summary' && content.fromId === 'root') content.fromId = null;\n if (content.type === 'compaction') {\n delete content.firstKeptEntryId;\n delete content.retainedTail;\n }\n return createHash('sha256')\n .update(Buffer.from(stableJson(content)))\n .digest('hex');\n}\n\ninterface ParsedV3 {\n header: Record<string, unknown>;\n records: Record<string, unknown>[];\n}\n\ninterface ParsedV4 {\n entries: Record<string, unknown>[];\n branchTips: Map<string, string | null>;\n}\n\nfunction parseJsonl(filePath: string): string[] {\n const content = fs.readFileSync(filePath, 'utf8');\n if (!content.endsWith('\\n')) throw new Error(`Protected history file is truncated: ${filePath}`);\n return content.slice(0, -1).split('\\n');\n}\n\nfunction parseV3(filePath: string): ParsedV3 {\n const lines = parseJsonl(filePath);\n const header = asRecord(JSON.parse(lines[0] ?? ''));\n if (header?.type !== 'session' || header.version !== 3)\n throw new Error(`Protected history source is not v3: ${filePath}`);\n const records = lines.slice(1).map((line, index) => {\n const record = asRecord(JSON.parse(line));\n if (record === undefined) throw new Error(`Invalid protected history record at line ${index + 2}`);\n return record;\n });\n return { header, records };\n}\n\nfunction parseV4(filePath: string): ParsedV4 {\n const lines = parseJsonl(filePath);\n const header = asRecord(JSON.parse(lines[0] ?? ''));\n if (header?.kind !== 'header' || header.v !== 4) throw new Error(`Protected history staging is not v4: ${filePath}`);\n const entries: Record<string, unknown>[] = [];\n const branchTips = new Map<string, string | null>();\n for (const line of lines.slice(1)) {\n const value: unknown = JSON.parse(line);\n const writes = Array.isArray(value) ? value : [value];\n for (const item of writes) {\n const record = asRecord(item);\n if (record?.kind === 'entry') {\n const { kind: _kind, seq: _seq, ...entry } = record;\n entries.push(entry);\n } else if (record?.kind === 'value' && record.namespace === 'pi.branch.tip') {\n const branch = requireString(record.key, 'branch name');\n branchTips.set(branch, record.op === 'delete' ? null : requireNullableString(record.value, 'branch tip'));\n }\n }\n }\n return { entries, branchTips };\n}\n\nfunction sourceParentId(record: Record<string, unknown>): string | null {\n return requireNullableString(record.parentId, 'source parent id');\n}\n\nfunction retainedSourceRecords(records: Record<string, unknown>[]): Record<string, unknown>[] {\n return records.filter((record) => !PROJECTED_V3_TYPES.has(requireString(record.type, 'record type')));\n}\n\nfunction resolveNearestRetainedSourceId(\n sourceId: string | null,\n sourceById: Map<string, Record<string, unknown>>,\n sourceToImported: Map<string, string>,\n): string | null {\n const visited = new Set<string>();\n let current = sourceId;\n while (current !== null) {\n if (sourceToImported.has(current)) return current;\n if (visited.has(current)) throw new Error(`Cycle in protected history parent chain: ${current}`);\n visited.add(current);\n const record = sourceById.get(current);\n if (record === undefined) throw new Error(`Protected history parent references unknown entry: ${current}`);\n current = sourceParentId(record);\n }\n return null;\n}\n\nfunction resolveRetainedSourceId(\n sourceId: string | null,\n sourceById: Map<string, Record<string, unknown>>,\n sourceToImported: Map<string, string>,\n): string | null {\n const retainedSourceId = resolveNearestRetainedSourceId(sourceId, sourceById, sourceToImported);\n return retainedSourceId === null ? null : sourceToImported.get(retainedSourceId)!;\n}\n\nfunction buildVerification(source: ParsedV3, imported: ParsedV4): HistoryImportVerification {\n const retained = retainedSourceRecords(source.records);\n if (imported.entries.length !== retained.length)\n throw new Error('Protected history staging entry count does not match source');\n\n const sourceById = new Map<string, Record<string, unknown>>();\n for (const record of source.records) {\n const id = requireString(record.id, 'source entry id');\n if (sourceById.has(id)) throw new Error(`Duplicate protected history source entry id: ${id}`);\n sourceById.set(id, record);\n }\n\n const sourceToImported = new Map<string, string>();\n const importedIds = new Set<string>();\n for (const [index, sourceRecord] of retained.entries()) {\n const sourceId = requireString(sourceRecord.id, 'source entry id');\n const importedRecord = imported.entries[index];\n if (importedRecord === undefined) throw new Error(`Protected history staging omitted source entry: ${sourceId}`);\n const importedId = requireString(importedRecord.id, 'imported entry id');\n if (sourceToImported.has(sourceId)) throw new Error(`Duplicate protected history source entry id: ${sourceId}`);\n if (importedIds.has(importedId)) throw new Error(`Duplicate protected history imported entry id: ${importedId}`);\n sourceToImported.set(sourceId, importedId);\n importedIds.add(importedId);\n }\n\n const entries: HistoryEntryProof[] = retained.map((sourceRecord) => {\n const sourceId = requireString(sourceRecord.id, 'source entry id');\n const importedId = sourceToImported.get(sourceId);\n if (importedId === undefined) throw new Error(`Protected history omitted source entry: ${sourceId}`);\n const importedRecord = imported.entries.find((record) => record.id === importedId);\n if (importedRecord === undefined) throw new Error(`Protected history omitted imported entry: ${importedId}`);\n const importedParentId = requireNullableString(importedRecord.parentId, 'imported parent id');\n const expectedParentId = resolveRetainedSourceId(sourceParentId(sourceRecord), sourceById, sourceToImported);\n if (expectedParentId !== importedParentId) throw new Error(`Protected history parent mismatch: ${sourceId}`);\n return {\n sourceId,\n importedId,\n sourceParentId: sourceParentId(sourceRecord),\n importedParentId,\n sourceContentHash: contentHash(sourceRecord),\n importedContentHash: contentHash(importedRecord),\n };\n });\n\n const finalSource = source.records.at(-1);\n const sourceTipId =\n finalSource === undefined\n ? null\n : resolveNearestRetainedSourceId(requireString(finalSource.id, 'source tip id'), sourceById, sourceToImported);\n const importedTipId = sourceTipId === null ? null : sourceToImported.get(sourceTipId);\n if (sourceTipId !== null && importedTipId === undefined)\n throw new Error(`Protected history omitted source tip: ${sourceTipId}`);\n const importedMainTip = imported.branchTips.get('main');\n if (importedMainTip !== (importedTipId ?? null))\n throw new Error('Protected history staging main branch tip mismatch');\n\n return {\n entries,\n branches: [{ sourceTipId, importedTipId: importedTipId ?? null, branch: 'main' }],\n projectedSourceIds: source.records\n .filter((record) => PROJECTED_V3_TYPES.has(requireString(record.type, 'record type')))\n .map((record) => requireString(record.id, 'projected source entry id')),\n };\n}\n\n/** Import one v3 history through the pinned upstream JsonlSessionRepo adapter. */\nexport async function importV3WithPinnedUpstream(input: HistoryStagingImportInput): Promise<HistoryImportVerification> {\n const source = parseV3(input.sourcePath);\n const timestamp = requireString(source.header.timestamp, 'session timestamp');\n const createdAt = Date.parse(timestamp);\n if (!Number.isFinite(createdAt)) throw new Error('Invalid protected history session timestamp');\n const cwd = requireString(source.header.cwd, 'session cwd');\n const id = requireString(source.header.id, 'session id');\n const environment = new NodeExecutionEnv({ cwd: path.dirname(path.resolve(input.stagingPath)) });\n const repository = new JsonlSessionRepo({\n fileSystem: environment,\n sessionsRoot: path.dirname(path.resolve(input.stagingPath)),\n now: () => Date.now(),\n });\n let session: Awaited<ReturnType<JsonlSessionRepo['open']>> | undefined;\n try {\n session = await repository.open(\n {\n id,\n createdAt,\n storageVersion: JSONL_STORAGE_VERSION,\n cwd,\n path: path.resolve(input.stagingPath),\n modifiedAt: fs.statSync(input.stagingPath).mtimeMs,\n },\n BACKGROUND_CONTEXT,\n );\n const name = await session.getName(BACKGROUND_CONTEXT);\n await session.setName(name, BACKGROUND_CONTEXT);\n await session.close(BACKGROUND_CONTEXT);\n session = undefined;\n return buildVerification(source, parseV4(input.stagingPath));\n } finally {\n if (session !== undefined) await session.close(BACKGROUND_CONTEXT).catch(() => undefined);\n await repository.close(BACKGROUND_CONTEXT);\n await environment.cleanup(BACKGROUND_CONTEXT);\n }\n}\n"],"mappings":";;;;;;;AAUA,MAAM,qCAAqB,IAAI,IAAI;CACjC;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAS,SAAS,OAAqD;CACrE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,IACrE,QACD,KAAA;AACN;AAEA,SAAS,cAAc,OAAgB,OAAuB;CAC5D,IAAI,OAAO,UAAU,YAAY,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,6BAA6B,OAAO;CACzG,OAAO;AACT;AAEA,SAAS,sBAAsB,OAAgB,OAA8B;CAC3E,IAAI,UAAU,QAAQ,OAAO,UAAU,UAAU,MAAM,IAAI,MAAM,6BAA6B,OAAO;CACrG,OAAO;AACT;AAEA,SAAS,WAAW,OAAwB;CAC1C,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,IAAI,MAAM,IAAI,UAAU,CAAC,CAAC,KAAK,GAAG,EAAE;CACrE,MAAM,SAAS,SAAS,KAAK;CAC7B,IAAI,WAAW,KAAA,GAAW,OAAO,KAAK,UAAU,KAAK,KAAK;CAC1D,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,CAC3B,KAAK,CAAC,CACN,KAAK,QAAQ,GAAG,KAAK,UAAU,GAAG,EAAE,GAAG,WAAW,OAAO,IAAI,GAAG,CAAC,CACjE,KAAK,GAAG,EAAE;AACf;AAEA,SAAgB,YAAY,QAAyC;CACnE,MAAM,EAAE,IAAI,KAAK,UAAU,WAAW,WAAW,YAAY,MAAM,OAAO,KAAK,MAAM,GAAG,YAAY;CACpG,IAAI,QAAQ,SAAS,kBAAkB;EACrC,QAAQ,OAAO;EACf,QAAQ,UAAU;GAChB,MAAM;GACN,YAAY,QAAQ;GACpB,SAAS,QAAQ;GACjB,SAAS,QAAQ;GACjB,SAAS,QAAQ;EACnB;EACA,OAAO,QAAQ;EACf,OAAO,QAAQ;EACf,OAAO,QAAQ;EACf,OAAO,QAAQ;CACjB;CACA,IAAI,QAAQ,SAAS,oBAAoB,QAAQ,WAAW,QAAQ,QAAQ,SAAS;CACrF,IAAI,QAAQ,SAAS,cAAc;EACjC,OAAO,QAAQ;EACf,OAAO,QAAQ;CACjB;CACA,OAAO,WAAW,QAAQ,CAAC,CACxB,OAAO,OAAO,KAAK,WAAW,OAAO,CAAC,CAAC,CAAC,CACxC,OAAO,KAAK;AACjB;AAYA,SAAS,WAAW,UAA4B;CAC9C,MAAM,UAAU,GAAG,aAAa,UAAU,MAAM;CAChD,IAAI,CAAC,QAAQ,SAAS,IAAI,GAAG,MAAM,IAAI,MAAM,wCAAwC,UAAU;CAC/F,OAAO,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI;AACxC;AAEA,SAAS,QAAQ,UAA4B;CAC3C,MAAM,QAAQ,WAAW,QAAQ;CACjC,MAAM,SAAS,SAAS,KAAK,MAAM,MAAM,MAAM,EAAE,CAAC;CAClD,IAAI,QAAQ,SAAS,aAAa,OAAO,YAAY,GACnD,MAAM,IAAI,MAAM,uCAAuC,UAAU;CAMnE,OAAO;EAAE;EAAQ,SALD,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,UAAU;GAClD,MAAM,SAAS,SAAS,KAAK,MAAM,IAAI,CAAC;GACxC,IAAI,WAAW,KAAA,GAAW,MAAM,IAAI,MAAM,4CAA4C,QAAQ,GAAG;GACjG,OAAO;EACT,CACuB;CAAE;AAC3B;AAEA,SAAS,QAAQ,UAA4B;CAC3C,MAAM,QAAQ,WAAW,QAAQ;CACjC,MAAM,SAAS,SAAS,KAAK,MAAM,MAAM,MAAM,EAAE,CAAC;CAClD,IAAI,QAAQ,SAAS,YAAY,OAAO,MAAM,GAAG,MAAM,IAAI,MAAM,wCAAwC,UAAU;CACnH,MAAM,UAAqC,CAAC;CAC5C,MAAM,6BAAa,IAAI,IAA2B;CAClD,KAAK,MAAM,QAAQ,MAAM,MAAM,CAAC,GAAG;EACjC,MAAM,QAAiB,KAAK,MAAM,IAAI;EACtC,MAAM,SAAS,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;EACpD,KAAK,MAAM,QAAQ,QAAQ;GACzB,MAAM,SAAS,SAAS,IAAI;GAC5B,IAAI,QAAQ,SAAS,SAAS;IAC5B,MAAM,EAAE,MAAM,OAAO,KAAK,MAAM,GAAG,UAAU;IAC7C,QAAQ,KAAK,KAAK;GACpB,OAAO,IAAI,QAAQ,SAAS,WAAW,OAAO,cAAc,iBAAiB;IAC3E,MAAM,SAAS,cAAc,OAAO,KAAK,aAAa;IACtD,WAAW,IAAI,QAAQ,OAAO,OAAO,WAAW,OAAO,sBAAsB,OAAO,OAAO,YAAY,CAAC;GAC1G;EACF;CACF;CACA,OAAO;EAAE;EAAS;CAAW;AAC/B;AAEA,SAAS,eAAe,QAAgD;CACtE,OAAO,sBAAsB,OAAO,UAAU,kBAAkB;AAClE;AAEA,SAAS,sBAAsB,SAA+D;CAC5F,OAAO,QAAQ,QAAQ,WAAW,CAAC,mBAAmB,IAAI,cAAc,OAAO,MAAM,aAAa,CAAC,CAAC;AACtG;AAEA,SAAS,+BACP,UACA,YACA,kBACe;CACf,MAAM,0BAAU,IAAI,IAAY;CAChC,IAAI,UAAU;CACd,OAAO,YAAY,MAAM;EACvB,IAAI,iBAAiB,IAAI,OAAO,GAAG,OAAO;EAC1C,IAAI,QAAQ,IAAI,OAAO,GAAG,MAAM,IAAI,MAAM,4CAA4C,SAAS;EAC/F,QAAQ,IAAI,OAAO;EACnB,MAAM,SAAS,WAAW,IAAI,OAAO;EACrC,IAAI,WAAW,KAAA,GAAW,MAAM,IAAI,MAAM,sDAAsD,SAAS;EACzG,UAAU,eAAe,MAAM;CACjC;CACA,OAAO;AACT;AAEA,SAAS,wBACP,UACA,YACA,kBACe;CACf,MAAM,mBAAmB,+BAA+B,UAAU,YAAY,gBAAgB;CAC9F,OAAO,qBAAqB,OAAO,OAAO,iBAAiB,IAAI,gBAAgB;AACjF;AAEA,SAAS,kBAAkB,QAAkB,UAA+C;CAC1F,MAAM,WAAW,sBAAsB,OAAO,OAAO;CACrD,IAAI,SAAS,QAAQ,WAAW,SAAS,QACvC,MAAM,IAAI,MAAM,6DAA6D;CAE/E,MAAM,6BAAa,IAAI,IAAqC;CAC5D,KAAK,MAAM,UAAU,OAAO,SAAS;EACnC,MAAM,KAAK,cAAc,OAAO,IAAI,iBAAiB;EACrD,IAAI,WAAW,IAAI,EAAE,GAAG,MAAM,IAAI,MAAM,gDAAgD,IAAI;EAC5F,WAAW,IAAI,IAAI,MAAM;CAC3B;CAEA,MAAM,mCAAmB,IAAI,IAAoB;CACjD,MAAM,8BAAc,IAAI,IAAY;CACpC,KAAK,MAAM,CAAC,OAAO,iBAAiB,SAAS,QAAQ,GAAG;EACtD,MAAM,WAAW,cAAc,aAAa,IAAI,iBAAiB;EACjE,MAAM,iBAAiB,SAAS,QAAQ;EACxC,IAAI,mBAAmB,KAAA,GAAW,MAAM,IAAI,MAAM,mDAAmD,UAAU;EAC/G,MAAM,aAAa,cAAc,eAAe,IAAI,mBAAmB;EACvE,IAAI,iBAAiB,IAAI,QAAQ,GAAG,MAAM,IAAI,MAAM,gDAAgD,UAAU;EAC9G,IAAI,YAAY,IAAI,UAAU,GAAG,MAAM,IAAI,MAAM,kDAAkD,YAAY;EAC/G,iBAAiB,IAAI,UAAU,UAAU;EACzC,YAAY,IAAI,UAAU;CAC5B;CAEA,MAAM,UAA+B,SAAS,KAAK,iBAAiB;EAClE,MAAM,WAAW,cAAc,aAAa,IAAI,iBAAiB;EACjE,MAAM,aAAa,iBAAiB,IAAI,QAAQ;EAChD,IAAI,eAAe,KAAA,GAAW,MAAM,IAAI,MAAM,2CAA2C,UAAU;EACnG,MAAM,iBAAiB,SAAS,QAAQ,MAAM,WAAW,OAAO,OAAO,UAAU;EACjF,IAAI,mBAAmB,KAAA,GAAW,MAAM,IAAI,MAAM,6CAA6C,YAAY;EAC3G,MAAM,mBAAmB,sBAAsB,eAAe,UAAU,oBAAoB;EAE5F,IADyB,wBAAwB,eAAe,YAAY,GAAG,YAAY,gBACxE,MAAM,kBAAkB,MAAM,IAAI,MAAM,sCAAsC,UAAU;EAC3G,OAAO;GACL;GACA;GACA,gBAAgB,eAAe,YAAY;GAC3C;GACA,mBAAmB,YAAY,YAAY;GAC3C,qBAAqB,YAAY,cAAc;EACjD;CACF,CAAC;CAED,MAAM,cAAc,OAAO,QAAQ,GAAG,EAAE;CACxC,MAAM,cACJ,gBAAgB,KAAA,IACZ,OACA,+BAA+B,cAAc,YAAY,IAAI,eAAe,GAAG,YAAY,gBAAgB;CACjH,MAAM,gBAAgB,gBAAgB,OAAO,OAAO,iBAAiB,IAAI,WAAW;CACpF,IAAI,gBAAgB,QAAQ,kBAAkB,KAAA,GAC5C,MAAM,IAAI,MAAM,yCAAyC,aAAa;CAExE,IADwB,SAAS,WAAW,IAAI,MAC9B,OAAO,iBAAiB,OACxC,MAAM,IAAI,MAAM,oDAAoD;CAEtE,OAAO;EACL;EACA,UAAU,CAAC;GAAE;GAAa,eAAe,iBAAiB;GAAM,QAAQ;EAAO,CAAC;EAChF,oBAAoB,OAAO,QACxB,QAAQ,WAAW,mBAAmB,IAAI,cAAc,OAAO,MAAM,aAAa,CAAC,CAAC,CAAC,CACrF,KAAK,WAAW,cAAc,OAAO,IAAI,2BAA2B,CAAC;CAC1E;AACF;;AAGA,eAAsB,2BAA2B,OAAsE;CACrH,MAAM,SAAS,QAAQ,MAAM,UAAU;CACvC,MAAM,YAAY,cAAc,OAAO,OAAO,WAAW,mBAAmB;CAC5E,MAAM,YAAY,KAAK,MAAM,SAAS;CACtC,IAAI,CAAC,OAAO,SAAS,SAAS,GAAG,MAAM,IAAI,MAAM,6CAA6C;CAC9F,MAAM,MAAM,cAAc,OAAO,OAAO,KAAK,aAAa;CAC1D,MAAM,KAAK,cAAc,OAAO,OAAO,IAAI,YAAY;CACvD,MAAM,cAAc,IAAI,iBAAiB,EAAE,KAAK,KAAK,QAAQ,KAAK,QAAQ,MAAM,WAAW,CAAC,EAAE,CAAC;CAC/F,MAAM,aAAa,IAAI,iBAAiB;EACtC,YAAY;EACZ,cAAc,KAAK,QAAQ,KAAK,QAAQ,MAAM,WAAW,CAAC;EAC1D,WAAW,KAAK,IAAI;CACtB,CAAC;CACD,IAAI;CACJ,IAAI;EACF,UAAU,MAAM,WAAW,KACzB;GACE;GACA;GACA,gBAAgB;GAChB;GACA,MAAM,KAAK,QAAQ,MAAM,WAAW;GACpC,YAAY,GAAG,SAAS,MAAM,WAAW,CAAC,CAAC;EAC7C,GACA,kBACF;EACA,MAAM,OAAO,MAAM,QAAQ,QAAQ,kBAAkB;EACrD,MAAM,QAAQ,QAAQ,MAAM,kBAAkB;EAC9C,MAAM,QAAQ,MAAM,kBAAkB;EACtC,UAAU,KAAA;EACV,OAAO,kBAAkB,QAAQ,QAAQ,MAAM,WAAW,CAAC;CAC7D,UAAU;EACR,IAAI,YAAY,KAAA,GAAW,MAAM,QAAQ,MAAM,kBAAkB,CAAC,CAAC,YAAY,KAAA,CAAS;EACxF,MAAM,WAAW,MAAM,kBAAkB;EACzC,MAAM,YAAY,QAAQ,kBAAkB;CAC9C;AACF"}
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_index = require("./src/services/kernel/index.cjs");
3
+ exports.createDoomKernel = require_index.createDoomKernel;
@@ -0,0 +1,3 @@
1
+ import { DoomKernel, KernelContribution, KernelRegistration, KernelSlotHandle, KernelSlotSink } from "./src/types/kernel.mjs";
2
+ import { CreateDoomKernelOptions, createDoomKernel } from "./src/services/kernel/index.mjs";
3
+ export { type CreateDoomKernelOptions, type DoomKernel, type KernelContribution, type KernelRegistration, type KernelSlotHandle, type KernelSlotSink, createDoomKernel };
@@ -0,0 +1,2 @@
1
+ import { createDoomKernel } from "./src/services/kernel/index.mjs";
2
+ export { createDoomKernel };
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_leader = require("./src/schemas/leader.cjs");
3
+ exports.LeaderActionSchema = require_leader.LeaderActionSchema;
4
+ exports.LeaderBindingSchema = require_leader.LeaderBindingSchema;
5
+ exports.LeaderCommandSchema = require_leader.LeaderCommandSchema;
6
+ exports.LeaderContributionSchema = require_leader.LeaderContributionSchema;
7
+ exports.LeaderSegmentSchema = require_leader.LeaderSegmentSchema;
8
+ exports.LeaderSourceSchema = require_leader.LeaderSourceSchema;
9
+ exports.LeaderToneSchema = require_leader.LeaderToneSchema;
@@ -0,0 +1,2 @@
1
+ import { DoomLeaderActionHandlerOptions, DoomLeaderContributionHandle, LeaderAction, LeaderActionSchema, LeaderBinding, LeaderBindingSchema, LeaderCommand, LeaderCommandSchema, LeaderContribution, LeaderContributionSchema, LeaderSegment, LeaderSegmentSchema, LeaderSourceSchema, LeaderTone, LeaderToneSchema } from "./src/schemas/leader.mjs";
2
+ export { type DoomLeaderActionHandlerOptions, type DoomLeaderContributionHandle, type LeaderAction, LeaderActionSchema, type LeaderBinding, LeaderBindingSchema, type LeaderCommand, LeaderCommandSchema, type LeaderContribution, LeaderContributionSchema, type LeaderSegment, LeaderSegmentSchema, LeaderSourceSchema, type LeaderTone, LeaderToneSchema };
@@ -0,0 +1,2 @@
1
+ import { LeaderActionSchema, LeaderBindingSchema, LeaderCommandSchema, LeaderContributionSchema, LeaderSegmentSchema, LeaderSourceSchema, LeaderToneSchema } from "./src/schemas/leader.mjs";
2
+ export { LeaderActionSchema, LeaderBindingSchema, LeaderCommandSchema, LeaderContributionSchema, LeaderSegmentSchema, LeaderSourceSchema, LeaderToneSchema };
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtimeLogSinkTelemetry = require("./runtimeLogSinkTelemetry.cjs");
3
+ exports.HARNESS_EVENT = require_runtimeLogSinkTelemetry.HARNESS_EVENT;
4
+ exports.createHarnessTelemetry = require_runtimeLogSinkTelemetry.createHarnessTelemetry;
5
+ exports.toFailureReporter = require_runtimeLogSinkTelemetry.toFailureReporter;
@@ -0,0 +1,2 @@
1
+ import { HARNESS_EVENT, HarnessErrorSink, HarnessEventAttributes, HarnessEventName, HarnessFailureReporter, HarnessTelemetry, HarnessTelemetryOptions, createHarnessTelemetry, toFailureReporter } from "./runtimeLogSinkTelemetry.mjs";
2
+ export { HARNESS_EVENT, HarnessErrorSink, HarnessEventAttributes, HarnessEventName, HarnessFailureReporter, HarnessTelemetry, HarnessTelemetryOptions, createHarnessTelemetry, toFailureReporter };
@@ -0,0 +1,2 @@
1
+ import { HARNESS_EVENT, createHarnessTelemetry, toFailureReporter } from "./runtimeLogSinkTelemetry.mjs";
2
+ export { HARNESS_EVENT, createHarnessTelemetry, toFailureReporter };
@@ -0,0 +1,92 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
3
+ const require_index = require("./src/services/piExtensionHost/index.cjs");
4
+ const require_runtimePiSettings = require("./runtimePiSettings.cjs");
5
+ const require_index$1 = require("./src/services/providerAuth/index.cjs");
6
+ let node_os = require("node:os");
7
+ node_os = require_runtime.__toESM(node_os, 1);
8
+ let node_path = require("node:path");
9
+ node_path = require_runtime.__toESM(node_path, 1);
10
+ let _earendil_works_pi_coding_agent = require("@earendil-works/pi-coding-agent");
11
+ //#region src/server/machineApi.ts
12
+ function record(value) {
13
+ return value !== null && typeof value === "object" && !Array.isArray(value);
14
+ }
15
+ /** Machine-owned provider credentials and model catalog, available without a session. */
16
+ const machineApi = {
17
+ basePath: "doompi",
18
+ start(context) {
19
+ if (context.scope !== "global") throw new Error("Provider authentication requires the global mount.");
20
+ const auth = require_index$1.createProviderAuth({
21
+ onNotice: (message) => context.onNotice(message),
22
+ runtime: async () => {
23
+ const directory = require_runtimePiSettings.piAgentDirectory(context.environment, context.homeDirectory);
24
+ const runtime = await _earendil_works_pi_coding_agent.ModelRuntime.create({
25
+ authPath: node_path.default.join(directory, "auth.json"),
26
+ modelsPath: node_path.default.join(directory, "models.json")
27
+ });
28
+ const onNotice = (message) => context.onNotice(message);
29
+ const cwd = context.homeDirectory ?? node_os.default.homedir();
30
+ const settings = _earendil_works_pi_coding_agent.SettingsManager.create(cwd, directory);
31
+ await require_index.preloadPiExtensions({
32
+ cwd,
33
+ agentDir: directory,
34
+ models: runtime,
35
+ extensionPaths: await require_index.resolvePiSettingsPackageEntries({
36
+ cwd,
37
+ agentDir: directory,
38
+ settings,
39
+ onNotice
40
+ }),
41
+ onNotice
42
+ });
43
+ return runtime;
44
+ }
45
+ });
46
+ let closed = false;
47
+ return {
48
+ async fetch(request) {
49
+ if (closed) return Response.json({ error: "Provider mount is closed." }, { status: 503 });
50
+ const url = new URL(request.url);
51
+ try {
52
+ if (url.pathname === "/providers" && request.method === "GET") return Response.json({ providers: await auth.listProviders() });
53
+ if (url.pathname === "/models" && request.method === "GET") return Response.json({ models: await auth.listModels() });
54
+ const provider = /^\/providers\/([^/]+)$/u.exec(url.pathname);
55
+ if (provider && request.method === "DELETE") {
56
+ const result = await auth.logout(decodeURIComponent(provider[1]));
57
+ return result.ok ? Response.json({ ok: true }) : Response.json({ error: result.error }, { status: result.code === "unknown_provider" ? 404 : 502 });
58
+ }
59
+ if (url.pathname === "/logins" && request.method === "POST") {
60
+ const body = await request.json();
61
+ if (!record(body) || typeof body.providerId !== "string" || body.type !== "oauth" && body.type !== "api_key") return Response.json({ error: "A provider and supported login method are required." }, { status: 400 });
62
+ const result = await auth.startLogin(body.providerId, body.type);
63
+ return result.ok ? Response.json({ flow: result.flow }, { status: 201 }) : Response.json({ error: result.error }, { status: result.code === "unknown_provider" ? 404 : result.code === "busy" ? 409 : 400 });
64
+ }
65
+ const flow = /^\/logins\/([^/]+)(\/answer)?$/u.exec(url.pathname);
66
+ if (flow) {
67
+ const id = decodeURIComponent(flow[1]);
68
+ if (!auth.getLogin(id)) return Response.json({ error: "Login flow not found." }, { status: 404 });
69
+ if (flow[2] && request.method === "POST") {
70
+ const body = await request.json();
71
+ if (!record(body) || typeof body.promptId !== "string" || typeof body.value !== "string") return Response.json({ error: "A prompt ID and answer are required." }, { status: 400 });
72
+ return auth.answerLogin(id, body.promptId, body.value) === "answered" ? Response.json({ flow: auth.getLogin(id) }) : Response.json({ error: "Login is no longer waiting for this answer." }, { status: 409 });
73
+ }
74
+ if (!flow[2] && request.method === "GET") return Response.json({ flow: auth.getLogin(id) });
75
+ if (!flow[2] && request.method === "DELETE") return Response.json({ flow: auth.cancelLogin(id) });
76
+ }
77
+ return Response.json({ error: "Provider route not found." }, { status: 404 });
78
+ } catch (error) {
79
+ return Response.json({ error: error instanceof Error ? error.message : String(error) }, { status: error instanceof SyntaxError ? 400 : 502 });
80
+ }
81
+ },
82
+ close() {
83
+ closed = true;
84
+ auth.close();
85
+ }
86
+ };
87
+ }
88
+ };
89
+ //#endregion
90
+ exports.machineApi = machineApi;
91
+
92
+ //# sourceMappingURL=machineApi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineApi.cjs","names":["createProviderAuth","piAgentDirectory","ModelRuntime","path","os","SettingsManager","preloadPiExtensions","resolvePiSettingsPackageEntries"],"sources":["../src/server/machineApi.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\n\nimport { ModelRuntime, SettingsManager } from '@earendil-works/pi-coding-agent';\n\nimport type { DoomApi } from '../exports/packageApi';\nimport { preloadPiExtensions, resolvePiSettingsPackageEntries } from '../services/piExtensionHost';\nimport { piAgentDirectory } from '../services/piSettings';\nimport { createProviderAuth } from '../services/providerAuth';\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n/** Machine-owned provider credentials and model catalog, available without a session. */\nexport const machineApi: DoomApi = {\n basePath: 'doompi',\n start(context) {\n if (context.scope !== 'global') throw new Error('Provider authentication requires the global mount.');\n const auth = createProviderAuth({\n onNotice: (message) => context.onNotice(message),\n runtime: async () => {\n const directory = piAgentDirectory(context.environment, context.homeDirectory);\n const runtime = await ModelRuntime.create({\n authPath: path.join(directory, 'auth.json'),\n modelsPath: path.join(directory, 'models.json'),\n });\n // Providers registered by Pi settings packages (a Claude Code bridge, say) are\n // listed and pickable here as they are in sessions, which load the same packages.\n const onNotice = (message: string): void => context.onNotice(message);\n // Machine scope has no project, so the home directory stands in for Pi's cwd.\n const cwd = context.homeDirectory ?? os.homedir();\n const settings = SettingsManager.create(cwd, directory);\n await preloadPiExtensions({\n cwd,\n agentDir: directory,\n models: runtime,\n extensionPaths: await resolvePiSettingsPackageEntries({\n cwd,\n agentDir: directory,\n settings,\n onNotice,\n }),\n onNotice,\n });\n return runtime;\n },\n });\n let closed = false;\n return {\n async fetch(request) {\n if (closed) return Response.json({ error: 'Provider mount is closed.' }, { status: 503 });\n const url = new URL(request.url);\n try {\n if (url.pathname === '/providers' && request.method === 'GET')\n return Response.json({ providers: await auth.listProviders() });\n if (url.pathname === '/models' && request.method === 'GET')\n return Response.json({ models: await auth.listModels() });\n const provider = /^\\/providers\\/([^/]+)$/u.exec(url.pathname);\n if (provider && request.method === 'DELETE') {\n const result = await auth.logout(decodeURIComponent(provider[1]));\n return result.ok\n ? Response.json({ ok: true })\n : Response.json({ error: result.error }, { status: result.code === 'unknown_provider' ? 404 : 502 });\n }\n if (url.pathname === '/logins' && request.method === 'POST') {\n const body: unknown = await request.json();\n if (\n !record(body) ||\n typeof body.providerId !== 'string' ||\n (body.type !== 'oauth' && body.type !== 'api_key')\n )\n return Response.json({ error: 'A provider and supported login method are required.' }, { status: 400 });\n const result = await auth.startLogin(body.providerId, body.type);\n return result.ok\n ? Response.json({ flow: result.flow }, { status: 201 })\n : Response.json(\n { error: result.error },\n { status: result.code === 'unknown_provider' ? 404 : result.code === 'busy' ? 409 : 400 },\n );\n }\n const flow = /^\\/logins\\/([^/]+)(\\/answer)?$/u.exec(url.pathname);\n if (flow) {\n const id = decodeURIComponent(flow[1]);\n if (!auth.getLogin(id)) return Response.json({ error: 'Login flow not found.' }, { status: 404 });\n if (flow[2] && request.method === 'POST') {\n const body: unknown = await request.json();\n if (!record(body) || typeof body.promptId !== 'string' || typeof body.value !== 'string')\n return Response.json({ error: 'A prompt ID and answer are required.' }, { status: 400 });\n const answer = auth.answerLogin(id, body.promptId, body.value);\n return answer === 'answered'\n ? Response.json({ flow: auth.getLogin(id) })\n : Response.json({ error: 'Login is no longer waiting for this answer.' }, { status: 409 });\n }\n if (!flow[2] && request.method === 'GET') return Response.json({ flow: auth.getLogin(id) });\n if (!flow[2] && request.method === 'DELETE') return Response.json({ flow: auth.cancelLogin(id) });\n }\n return Response.json({ error: 'Provider route not found.' }, { status: 404 });\n } catch (error) {\n return Response.json(\n { error: error instanceof Error ? error.message : String(error) },\n { status: error instanceof SyntaxError ? 400 : 502 },\n );\n }\n },\n close() {\n closed = true;\n auth.close();\n },\n };\n },\n};\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { DoomApi } from "./src/schemas/packageApi.mjs";
2
+ import "./packageApi.mjs";
3
+ //#region src/server/machineApi.d.ts
4
+ /** Machine-owned provider credentials and model catalog, available without a session. */
5
+ export declare const machineApi: DoomApi;
6
+ //#endregion
7
+ //# sourceMappingURL=machineApi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineApi.d.mts","names":[],"sources":["../src/server/machineApi.ts"],"mappings":";;;;qBAca,YAAY"}
@@ -0,0 +1,88 @@
1
+ import { preloadPiExtensions, resolvePiSettingsPackageEntries } from "./src/services/piExtensionHost/index.mjs";
2
+ import { piAgentDirectory } from "./runtimePiSettings.mjs";
3
+ import { createProviderAuth } from "./src/services/providerAuth/index.mjs";
4
+ import os from "node:os";
5
+ import path from "node:path";
6
+ import { ModelRuntime, SettingsManager } from "@earendil-works/pi-coding-agent";
7
+ //#region src/server/machineApi.ts
8
+ function record(value) {
9
+ return value !== null && typeof value === "object" && !Array.isArray(value);
10
+ }
11
+ /** Machine-owned provider credentials and model catalog, available without a session. */
12
+ const machineApi = {
13
+ basePath: "doompi",
14
+ start(context) {
15
+ if (context.scope !== "global") throw new Error("Provider authentication requires the global mount.");
16
+ const auth = createProviderAuth({
17
+ onNotice: (message) => context.onNotice(message),
18
+ runtime: async () => {
19
+ const directory = piAgentDirectory(context.environment, context.homeDirectory);
20
+ const runtime = await ModelRuntime.create({
21
+ authPath: path.join(directory, "auth.json"),
22
+ modelsPath: path.join(directory, "models.json")
23
+ });
24
+ const onNotice = (message) => context.onNotice(message);
25
+ const cwd = context.homeDirectory ?? os.homedir();
26
+ const settings = SettingsManager.create(cwd, directory);
27
+ await preloadPiExtensions({
28
+ cwd,
29
+ agentDir: directory,
30
+ models: runtime,
31
+ extensionPaths: await resolvePiSettingsPackageEntries({
32
+ cwd,
33
+ agentDir: directory,
34
+ settings,
35
+ onNotice
36
+ }),
37
+ onNotice
38
+ });
39
+ return runtime;
40
+ }
41
+ });
42
+ let closed = false;
43
+ return {
44
+ async fetch(request) {
45
+ if (closed) return Response.json({ error: "Provider mount is closed." }, { status: 503 });
46
+ const url = new URL(request.url);
47
+ try {
48
+ if (url.pathname === "/providers" && request.method === "GET") return Response.json({ providers: await auth.listProviders() });
49
+ if (url.pathname === "/models" && request.method === "GET") return Response.json({ models: await auth.listModels() });
50
+ const provider = /^\/providers\/([^/]+)$/u.exec(url.pathname);
51
+ if (provider && request.method === "DELETE") {
52
+ const result = await auth.logout(decodeURIComponent(provider[1]));
53
+ return result.ok ? Response.json({ ok: true }) : Response.json({ error: result.error }, { status: result.code === "unknown_provider" ? 404 : 502 });
54
+ }
55
+ if (url.pathname === "/logins" && request.method === "POST") {
56
+ const body = await request.json();
57
+ if (!record(body) || typeof body.providerId !== "string" || body.type !== "oauth" && body.type !== "api_key") return Response.json({ error: "A provider and supported login method are required." }, { status: 400 });
58
+ const result = await auth.startLogin(body.providerId, body.type);
59
+ return result.ok ? Response.json({ flow: result.flow }, { status: 201 }) : Response.json({ error: result.error }, { status: result.code === "unknown_provider" ? 404 : result.code === "busy" ? 409 : 400 });
60
+ }
61
+ const flow = /^\/logins\/([^/]+)(\/answer)?$/u.exec(url.pathname);
62
+ if (flow) {
63
+ const id = decodeURIComponent(flow[1]);
64
+ if (!auth.getLogin(id)) return Response.json({ error: "Login flow not found." }, { status: 404 });
65
+ if (flow[2] && request.method === "POST") {
66
+ const body = await request.json();
67
+ if (!record(body) || typeof body.promptId !== "string" || typeof body.value !== "string") return Response.json({ error: "A prompt ID and answer are required." }, { status: 400 });
68
+ return auth.answerLogin(id, body.promptId, body.value) === "answered" ? Response.json({ flow: auth.getLogin(id) }) : Response.json({ error: "Login is no longer waiting for this answer." }, { status: 409 });
69
+ }
70
+ if (!flow[2] && request.method === "GET") return Response.json({ flow: auth.getLogin(id) });
71
+ if (!flow[2] && request.method === "DELETE") return Response.json({ flow: auth.cancelLogin(id) });
72
+ }
73
+ return Response.json({ error: "Provider route not found." }, { status: 404 });
74
+ } catch (error) {
75
+ return Response.json({ error: error instanceof Error ? error.message : String(error) }, { status: error instanceof SyntaxError ? 400 : 502 });
76
+ }
77
+ },
78
+ close() {
79
+ closed = true;
80
+ auth.close();
81
+ }
82
+ };
83
+ }
84
+ };
85
+ //#endregion
86
+ export { machineApi };
87
+
88
+ //# sourceMappingURL=machineApi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineApi.mjs","names":[],"sources":["../src/server/machineApi.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\n\nimport { ModelRuntime, SettingsManager } from '@earendil-works/pi-coding-agent';\n\nimport type { DoomApi } from '../exports/packageApi';\nimport { preloadPiExtensions, resolvePiSettingsPackageEntries } from '../services/piExtensionHost';\nimport { piAgentDirectory } from '../services/piSettings';\nimport { createProviderAuth } from '../services/providerAuth';\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n/** Machine-owned provider credentials and model catalog, available without a session. */\nexport const machineApi: DoomApi = {\n basePath: 'doompi',\n start(context) {\n if (context.scope !== 'global') throw new Error('Provider authentication requires the global mount.');\n const auth = createProviderAuth({\n onNotice: (message) => context.onNotice(message),\n runtime: async () => {\n const directory = piAgentDirectory(context.environment, context.homeDirectory);\n const runtime = await ModelRuntime.create({\n authPath: path.join(directory, 'auth.json'),\n modelsPath: path.join(directory, 'models.json'),\n });\n // Providers registered by Pi settings packages (a Claude Code bridge, say) are\n // listed and pickable here as they are in sessions, which load the same packages.\n const onNotice = (message: string): void => context.onNotice(message);\n // Machine scope has no project, so the home directory stands in for Pi's cwd.\n const cwd = context.homeDirectory ?? os.homedir();\n const settings = SettingsManager.create(cwd, directory);\n await preloadPiExtensions({\n cwd,\n agentDir: directory,\n models: runtime,\n extensionPaths: await resolvePiSettingsPackageEntries({\n cwd,\n agentDir: directory,\n settings,\n onNotice,\n }),\n onNotice,\n });\n return runtime;\n },\n });\n let closed = false;\n return {\n async fetch(request) {\n if (closed) return Response.json({ error: 'Provider mount is closed.' }, { status: 503 });\n const url = new URL(request.url);\n try {\n if (url.pathname === '/providers' && request.method === 'GET')\n return Response.json({ providers: await auth.listProviders() });\n if (url.pathname === '/models' && request.method === 'GET')\n return Response.json({ models: await auth.listModels() });\n const provider = /^\\/providers\\/([^/]+)$/u.exec(url.pathname);\n if (provider && request.method === 'DELETE') {\n const result = await auth.logout(decodeURIComponent(provider[1]));\n return result.ok\n ? Response.json({ ok: true })\n : Response.json({ error: result.error }, { status: result.code === 'unknown_provider' ? 404 : 502 });\n }\n if (url.pathname === '/logins' && request.method === 'POST') {\n const body: unknown = await request.json();\n if (\n !record(body) ||\n typeof body.providerId !== 'string' ||\n (body.type !== 'oauth' && body.type !== 'api_key')\n )\n return Response.json({ error: 'A provider and supported login method are required.' }, { status: 400 });\n const result = await auth.startLogin(body.providerId, body.type);\n return result.ok\n ? Response.json({ flow: result.flow }, { status: 201 })\n : Response.json(\n { error: result.error },\n { status: result.code === 'unknown_provider' ? 404 : result.code === 'busy' ? 409 : 400 },\n );\n }\n const flow = /^\\/logins\\/([^/]+)(\\/answer)?$/u.exec(url.pathname);\n if (flow) {\n const id = decodeURIComponent(flow[1]);\n if (!auth.getLogin(id)) return Response.json({ error: 'Login flow not found.' }, { status: 404 });\n if (flow[2] && request.method === 'POST') {\n const body: unknown = await request.json();\n if (!record(body) || typeof body.promptId !== 'string' || typeof body.value !== 'string')\n return Response.json({ error: 'A prompt ID and answer are required.' }, { status: 400 });\n const answer = auth.answerLogin(id, body.promptId, body.value);\n return answer === 'answered'\n ? Response.json({ flow: auth.getLogin(id) })\n : Response.json({ error: 'Login is no longer waiting for this answer.' }, { status: 409 });\n }\n if (!flow[2] && request.method === 'GET') return Response.json({ flow: auth.getLogin(id) });\n if (!flow[2] && request.method === 'DELETE') return Response.json({ flow: auth.cancelLogin(id) });\n }\n return Response.json({ error: 'Provider route not found.' }, { status: 404 });\n } catch (error) {\n return Response.json(\n { error: error instanceof Error ? error.message : String(error) },\n { status: error instanceof SyntaxError ? 400 : 502 },\n );\n }\n },\n close() {\n closed = true;\n auth.close();\n },\n };\n },\n};\n"],"mappings":"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"}
package/dist/main.cjs ADDED
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_headlessHost = require("./src/systems/main/adapters/headlessHost.cjs");
3
+ const require_headlessSessionHost = require("./src/systems/main/adapters/headlessSessionHost.cjs");
4
+ const require_headlessSessionManager = require("./headlessSessionManager.cjs");
5
+ exports.HeadlessHost = require_headlessHost.HeadlessHost;
6
+ exports.createHeadlessSessionHost = require_headlessSessionHost.createHeadlessSessionHost;
7
+ exports.createHeadlessSessionManager = require_headlessSessionManager.createHeadlessSessionManager;
8
+ exports.describeLoadSkillTool = require_headlessHost.describeLoadSkillTool;
9
+ exports.headlessHarnessSkill = require_headlessHost.headlessHarnessSkill;
10
+ exports.restoreHeadlessSelection = require_headlessSessionHost.restoreHeadlessSelection;
11
+ exports.validateDirectHeadlessArgs = require_headlessSessionHost.validateDirectHeadlessArgs;
@@ -0,0 +1,5 @@
1
+ import { HeadlessContextInventory, HeadlessHostOptions, HeadlessSelectionStatus, ResolvedHeadlessResource } from "./src/systems/main/types/headlessHost.mjs";
2
+ import { HeadlessHost, describeLoadSkillTool, headlessHarnessSkill } from "./src/systems/main/adapters/headlessHost.mjs";
3
+ import { createHeadlessSessionHost, restoreHeadlessSelection, validateDirectHeadlessArgs } from "./src/systems/main/adapters/headlessSessionHost.mjs";
4
+ import { createHeadlessSessionManager } from "./headlessSessionManager.mjs";
5
+ export { type HeadlessContextInventory, HeadlessHost, type HeadlessHostOptions, type HeadlessSelectionStatus, type ResolvedHeadlessResource, createHeadlessSessionHost, createHeadlessSessionManager, describeLoadSkillTool, headlessHarnessSkill, restoreHeadlessSelection, validateDirectHeadlessArgs };
package/dist/main.mjs ADDED
@@ -0,0 +1,4 @@
1
+ import { HeadlessHost, describeLoadSkillTool, headlessHarnessSkill } from "./src/systems/main/adapters/headlessHost.mjs";
2
+ import { createHeadlessSessionHost, restoreHeadlessSelection, validateDirectHeadlessArgs } from "./src/systems/main/adapters/headlessSessionHost.mjs";
3
+ import { createHeadlessSessionManager } from "./headlessSessionManager.mjs";
4
+ export { HeadlessHost, createHeadlessSessionHost, createHeadlessSessionManager, describeLoadSkillTool, headlessHarnessSkill, restoreHeadlessSelection, validateDirectHeadlessArgs };