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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -0,0 +1,16 @@
1
+ //#region src/services/nodeHost/index.d.ts
2
+ /**
3
+ * Host details that only a Node process has. Portable modules reach them through
4
+ * this seam; the edge build swaps in `index.edge.ts`.
5
+ */
6
+ export declare const nodeHost: {
7
+ homeDirectory: () => string;
8
+ temporaryDirectory: () => string;
9
+ processId: () => number;
10
+ /** POSIX permission bits; the edge has no owner to protect against, so it skips this. */
11
+ setMode: (filePath: string, mode: number) => Promise<void>;
12
+ /** POSIX permission bits of an existing file, or `undefined` when it is missing. */
13
+ fileMode: (filePath: string) => Promise<number | undefined>;
14
+ };
15
+ //#endregion
16
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/nodeHost/index.ts"],"mappings":";;;;;qBAOa;EACX;EACA;EACA;;EAEA,UAAO,kBAAmB,iBAAiB;;EAE3C,WAAQ,qBAA4B"}
@@ -0,0 +1,27 @@
1
+ import os from "node:os";
2
+ import fs from "node:fs/promises";
3
+ //#region src/services/nodeHost/index.ts
4
+ /**
5
+ * Host details that only a Node process has. Portable modules reach them through
6
+ * this seam; the edge build swaps in `index.edge.ts`.
7
+ */
8
+ const nodeHost = {
9
+ homeDirectory: () => os.homedir(),
10
+ temporaryDirectory: () => os.tmpdir(),
11
+ processId: () => process.pid,
12
+ /** POSIX permission bits; the edge has no owner to protect against, so it skips this. */
13
+ setMode: (filePath, mode) => fs.chmod(filePath, mode),
14
+ /** POSIX permission bits of an existing file, or `undefined` when it is missing. */
15
+ fileMode: async (filePath) => {
16
+ try {
17
+ return (await fs.stat(filePath)).mode & 4095;
18
+ } catch (error) {
19
+ if (error.code === "ENOENT") return void 0;
20
+ throw error;
21
+ }
22
+ }
23
+ };
24
+ //#endregion
25
+ export { nodeHost };
26
+
27
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/nodeHost/index.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport os from 'node:os';\n\n/**\n * Host details that only a Node process has. Portable modules reach them through\n * this seam; the edge build swaps in `index.edge.ts`.\n */\nexport const nodeHost = {\n homeDirectory: (): string => os.homedir(),\n temporaryDirectory: (): string => os.tmpdir(),\n processId: (): number => process.pid,\n /** POSIX permission bits; the edge has no owner to protect against, so it skips this. */\n setMode: (filePath: string, mode: number): Promise<void> => fs.chmod(filePath, mode),\n /** POSIX permission bits of an existing file, or `undefined` when it is missing. */\n fileMode: async (filePath: string): Promise<number | undefined> => {\n try {\n return (await fs.stat(filePath)).mode & 0o7777;\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') return undefined;\n throw error;\n }\n },\n};\n"],"mappings":";;;;;;;AAOA,MAAa,WAAW;CACtB,qBAA6B,GAAG,QAAQ;CACxC,0BAAkC,GAAG,OAAO;CAC5C,iBAAyB,QAAQ;;CAEjC,UAAU,UAAkB,SAAgC,GAAG,MAAM,UAAU,IAAI;;CAEnF,UAAU,OAAO,aAAkD;EACjE,IAAI;GACF,QAAQ,MAAM,GAAG,KAAK,QAAQ,EAAA,CAAG,OAAO;EAC1C,SAAS,OAAO;GACd,IAAK,MAAgC,SAAS,UAAU,OAAO,KAAA;GAC/D,MAAM;EACR;CACF;AACF"}
@@ -0,0 +1,89 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_sync = require("../piSettings/sync.cjs");
3
+ require("../../../runtimePiSettings.cjs");
4
+ const require_index = require("../chatgptLogin/index.cjs");
5
+ const require_headless = require("../../schemas/headless.cjs");
6
+ const require_index$1 = require("../piExtensionHost/index.cjs");
7
+ let node_fs = require("node:fs");
8
+ node_fs = require_runtime.__toESM(node_fs, 1);
9
+ let node_path = require("node:path");
10
+ node_path = require_runtime.__toESM(node_path, 1);
11
+ let _earendil_works_pi_coding_agent = require("@earendil-works/pi-coding-agent");
12
+ //#region src/services/nodeModelDependencies/index.ts
13
+ async function resolveModel(parsed, modelRuntime, settings) {
14
+ const cli = (0, _earendil_works_pi_coding_agent.resolveCliModel)({
15
+ cliProvider: parsed.provider,
16
+ cliModel: parsed.model,
17
+ cliThinking: parsed.thinking,
18
+ modelRuntime
19
+ });
20
+ if (cli.error) throw new Error(cli.error);
21
+ let scoped;
22
+ if (parsed.models !== void 0 && parsed.models.length > 0) {
23
+ scoped = (await (0, _earendil_works_pi_coding_agent.resolveModelScopeWithDiagnostics)(parsed.models, modelRuntime)).scopedModels[0]?.model;
24
+ if (scoped === void 0) throw new require_headless.PoSessionSetupError(`No configured model matched --models ${parsed.models.join(", ")}.`);
25
+ }
26
+ const configured = cli.model ?? scoped ?? (settings.getDefaultProvider() && settings.getDefaultModel() ? modelRuntime.getModel(settings.getDefaultProvider(), settings.getDefaultModel()) : void 0) ?? (await modelRuntime.getAvailable())[0];
27
+ if (configured === void 0) {
28
+ const agentDir = (0, _earendil_works_pi_coding_agent.getAgentDir)();
29
+ const runtimeError = modelRuntime.getError();
30
+ throw new require_headless.PoSessionSetupError(`No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} (auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ${node_path.default.join(agentDir, "settings.json")}.` + (runtimeError ? `\n\n${runtimeError}` : ""));
31
+ }
32
+ return {
33
+ model: configured,
34
+ thinkingLevel: cli.thinkingLevel ?? parsed.thinking ?? settings.getModelThinkingLevel(configured.provider, configured.id) ?? settings.getDefaultThinkingLevel()
35
+ };
36
+ }
37
+ /** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */
38
+ async function createNodeModelDependencies(options) {
39
+ const agentDir = (0, _earendil_works_pi_coding_agent.getAgentDir)();
40
+ const settings = _earendil_works_pi_coding_agent.SettingsManager.create(options.cwd, agentDir);
41
+ const modelDir = require_sync.modelConfigDirectory(agentDir);
42
+ const settingsDir = require_sync.modelSettingsDirectory(agentDir);
43
+ const modelSettings = settingsDir === agentDir ? settings : _earendil_works_pi_coding_agent.SettingsManager.create(options.cwd, settingsDir);
44
+ const modelRuntime = await _earendil_works_pi_coding_agent.ModelRuntime.create({
45
+ authPath: node_path.default.join(modelDir, "auth.json"),
46
+ modelsPath: node_path.default.join(modelDir, "models.json"),
47
+ refreshOnCreate: false
48
+ });
49
+ require_index.registerChatgptAuthProvider(modelRuntime);
50
+ const piExtensionPaths = options.piExtensions === false ? [] : [
51
+ ...options.piExtensionFactories !== void 0 ? [] : options.piExtensionPaths ?? [],
52
+ ...await require_index$1.resolvePiSettingsPackageEntries({
53
+ cwd: options.cwd,
54
+ agentDir,
55
+ settings,
56
+ ...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
57
+ }),
58
+ ...modelDir !== agentDir && node_fs.default.existsSync(node_path.default.join(modelDir, "extensions")) ? [node_path.default.join(modelDir, "extensions")] : []
59
+ ];
60
+ const piPreload = await require_index$1.preloadPiExtensions({
61
+ cwd: options.cwd,
62
+ agentDir,
63
+ models: modelRuntime,
64
+ extensionPaths: [...new Set(piExtensionPaths)],
65
+ ...options.piExtensions === false || options.piExtensionFactories === void 0 ? {} : { extensionFactories: await options.piExtensionFactories() },
66
+ ...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
67
+ });
68
+ return {
69
+ agentDir,
70
+ modelRuntime,
71
+ projectContextFiles: (0, _earendil_works_pi_coding_agent.loadProjectContextFiles)({
72
+ cwd: options.cwd,
73
+ agentDir
74
+ }),
75
+ resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),
76
+ ...piPreload === void 0 ? {} : { piExtensions: (input) => require_index$1.createPiExtensionHost({
77
+ ...input,
78
+ cwd: options.cwd,
79
+ agentDir,
80
+ models: modelRuntime,
81
+ settings,
82
+ preload: piPreload
83
+ }) }
84
+ };
85
+ }
86
+ //#endregion
87
+ exports.createNodeModelDependencies = createNodeModelDependencies;
88
+
89
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["resolveCliModel","resolveModelScopeWithDiagnostics","PoSessionSetupError","getAgentDir","path","SettingsManager","modelConfigDirectory","modelSettingsDirectory","ModelRuntime","resolvePiSettingsPackageEntries","fs","preloadPiExtensions","loadProjectContextFiles","createPiExtensionHost"],"sources":["../../../../src/services/nodeModelDependencies/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { Api, Model } from '@earendil-works/pi-ai';\nimport {\n getAgentDir,\n loadProjectContextFiles,\n ModelRuntime,\n resolveCliModel,\n resolveModelScopeWithDiagnostics,\n SettingsManager,\n type Args,\n} from '@earendil-works/pi-coding-agent';\n\nimport { PoSessionSetupError } from '../../exports/headless';\nimport type {\n HeadlessModelDependencies,\n HeadlessSessionHostOptions,\n} from '../../systems/main/types/headlessSessionHost';\nimport { registerChatgptAuthProvider } from '../chatgptLogin';\nimport { createPiExtensionHost, preloadPiExtensions, resolvePiSettingsPackageEntries } from '../piExtensionHost';\nimport { modelConfigDirectory, modelSettingsDirectory } from '../piSettings';\n\nasync function resolveModel(\n parsed: Args,\n modelRuntime: ModelRuntime,\n settings: SettingsManager,\n): Promise<{ model: Model<Api>; thinkingLevel?: Args['thinking'] }> {\n const cli = resolveCliModel({\n cliProvider: parsed.provider,\n cliModel: parsed.model,\n cliThinking: parsed.thinking,\n modelRuntime,\n });\n if (cli.error) throw new Error(cli.error);\n\n let scoped: Model<Api> | undefined;\n if (parsed.models !== undefined && parsed.models.length > 0) {\n const resolved = await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime);\n scoped = resolved.scopedModels[0]?.model;\n if (scoped === undefined)\n throw new PoSessionSetupError(`No configured model matched --models ${parsed.models.join(', ')}.`);\n }\n\n const configured =\n cli.model ??\n scoped ??\n (settings.getDefaultProvider() && settings.getDefaultModel()\n ? modelRuntime.getModel(settings.getDefaultProvider()!, settings.getDefaultModel()!)\n : undefined) ??\n (await modelRuntime.getAvailable())[0];\n if (configured === undefined) {\n const agentDir = getAgentDir();\n // A failed availability refresh also leaves the list empty; name it instead of blaming setup.\n const runtimeError = modelRuntime.getError();\n throw new PoSessionSetupError(\n `No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} ` +\n `(auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ` +\n `${path.join(agentDir, 'settings.json')}.` +\n (runtimeError ? `\\n\\n${runtimeError}` : ''),\n );\n }\n return {\n model: configured,\n thinkingLevel:\n cli.thinkingLevel ??\n parsed.thinking ??\n settings.getModelThinkingLevel(configured.provider, configured.id) ??\n settings.getDefaultThinkingLevel(),\n };\n}\n\n/** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */\nexport async function createNodeModelDependencies(\n options: HeadlessSessionHostOptions,\n): Promise<HeadlessModelDependencies> {\n const agentDir = getAgentDir();\n const settings = SettingsManager.create(options.cwd, agentDir);\n // Credentials and model defaults fall back independently to plain Pi's ~/.pi/agent.\n const modelDir = modelConfigDirectory(agentDir);\n const settingsDir = modelSettingsDirectory(agentDir);\n const modelSettings = settingsDir === agentDir ? settings : SettingsManager.create(options.cwd, settingsDir);\n const modelRuntime = await ModelRuntime.create({\n authPath: path.join(modelDir, 'auth.json'),\n modelsPath: path.join(modelDir, 'models.json'),\n refreshOnCreate: false,\n });\n registerChatgptAuthProvider(modelRuntime);\n // Pi extensions load before the model is resolved: an extension that registers a provider\n // (a local Vertex or Bedrock bridge, say) must be in the runtime before the configured default\n // is looked up, or the lookup misses and the session silently falls back to whichever model\n // happens to be first in `getAvailable()`.\n // Provider packages from Pi's settings.json `packages` load alongside the Po entry, so a\n // model that works under `pi` (a Claude Code bridge, say) is also selectable here.\n const piExtensionPaths =\n options.piExtensions === false\n ? []\n : [\n ...(options.piExtensionFactories !== undefined ? [] : (options.piExtensionPaths ?? [])),\n ...(await resolvePiSettingsPackageEntries({\n cwd: options.cwd,\n agentDir,\n settings,\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n })),\n // Falling back to Pi's model config brings Pi's own extensions with it, as po loads\n // them: a provider such as a local Vertex bridge lives there, not in auth.json.\n ...(modelDir !== agentDir && fs.existsSync(path.join(modelDir, 'extensions'))\n ? [path.join(modelDir, 'extensions')]\n : []),\n ];\n const piPreload = await preloadPiExtensions({\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n extensionPaths: [...new Set(piExtensionPaths)],\n ...(options.piExtensions === false || options.piExtensionFactories === undefined\n ? {}\n : { extensionFactories: await options.piExtensionFactories() }),\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n });\n const projectContextFiles = loadProjectContextFiles({\n cwd: options.cwd,\n agentDir,\n });\n return {\n agentDir,\n modelRuntime,\n projectContextFiles,\n resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),\n ...(piPreload === undefined\n ? {}\n : {\n piExtensions: (input) =>\n createPiExtensionHost({\n ...input,\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n settings,\n preload: piPreload,\n }),\n }),\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { modelConfigDirectory, modelSettingsDirectory } from "../piSettings/sync.mjs";
2
+ import "../../../runtimePiSettings.mjs";
3
+ import { registerChatgptAuthProvider } from "../chatgptLogin/index.mjs";
4
+ import { PoSessionSetupError } from "../../schemas/headless.mjs";
5
+ import { createPiExtensionHost, preloadPiExtensions, resolvePiSettingsPackageEntries } from "../piExtensionHost/index.mjs";
6
+ import fs from "node:fs";
7
+ import path from "node:path";
8
+ import { ModelRuntime, SettingsManager, getAgentDir, loadProjectContextFiles, resolveCliModel, resolveModelScopeWithDiagnostics } from "@earendil-works/pi-coding-agent";
9
+ //#region src/services/nodeModelDependencies/index.ts
10
+ async function resolveModel(parsed, modelRuntime, settings) {
11
+ const cli = resolveCliModel({
12
+ cliProvider: parsed.provider,
13
+ cliModel: parsed.model,
14
+ cliThinking: parsed.thinking,
15
+ modelRuntime
16
+ });
17
+ if (cli.error) throw new Error(cli.error);
18
+ let scoped;
19
+ if (parsed.models !== void 0 && parsed.models.length > 0) {
20
+ scoped = (await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime)).scopedModels[0]?.model;
21
+ if (scoped === void 0) throw new PoSessionSetupError(`No configured model matched --models ${parsed.models.join(", ")}.`);
22
+ }
23
+ const configured = cli.model ?? scoped ?? (settings.getDefaultProvider() && settings.getDefaultModel() ? modelRuntime.getModel(settings.getDefaultProvider(), settings.getDefaultModel()) : void 0) ?? (await modelRuntime.getAvailable())[0];
24
+ if (configured === void 0) {
25
+ const agentDir = getAgentDir();
26
+ const runtimeError = modelRuntime.getError();
27
+ throw new PoSessionSetupError(`No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} (auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ${path.join(agentDir, "settings.json")}.` + (runtimeError ? `\n\n${runtimeError}` : ""));
28
+ }
29
+ return {
30
+ model: configured,
31
+ thinkingLevel: cli.thinkingLevel ?? parsed.thinking ?? settings.getModelThinkingLevel(configured.provider, configured.id) ?? settings.getDefaultThinkingLevel()
32
+ };
33
+ }
34
+ /** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */
35
+ async function createNodeModelDependencies(options) {
36
+ const agentDir = getAgentDir();
37
+ const settings = SettingsManager.create(options.cwd, agentDir);
38
+ const modelDir = modelConfigDirectory(agentDir);
39
+ const settingsDir = modelSettingsDirectory(agentDir);
40
+ const modelSettings = settingsDir === agentDir ? settings : SettingsManager.create(options.cwd, settingsDir);
41
+ const modelRuntime = await ModelRuntime.create({
42
+ authPath: path.join(modelDir, "auth.json"),
43
+ modelsPath: path.join(modelDir, "models.json"),
44
+ refreshOnCreate: false
45
+ });
46
+ registerChatgptAuthProvider(modelRuntime);
47
+ const piExtensionPaths = options.piExtensions === false ? [] : [
48
+ ...options.piExtensionFactories !== void 0 ? [] : options.piExtensionPaths ?? [],
49
+ ...await resolvePiSettingsPackageEntries({
50
+ cwd: options.cwd,
51
+ agentDir,
52
+ settings,
53
+ ...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
54
+ }),
55
+ ...modelDir !== agentDir && fs.existsSync(path.join(modelDir, "extensions")) ? [path.join(modelDir, "extensions")] : []
56
+ ];
57
+ const piPreload = await preloadPiExtensions({
58
+ cwd: options.cwd,
59
+ agentDir,
60
+ models: modelRuntime,
61
+ extensionPaths: [...new Set(piExtensionPaths)],
62
+ ...options.piExtensions === false || options.piExtensionFactories === void 0 ? {} : { extensionFactories: await options.piExtensionFactories() },
63
+ ...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
64
+ });
65
+ return {
66
+ agentDir,
67
+ modelRuntime,
68
+ projectContextFiles: loadProjectContextFiles({
69
+ cwd: options.cwd,
70
+ agentDir
71
+ }),
72
+ resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),
73
+ ...piPreload === void 0 ? {} : { piExtensions: (input) => createPiExtensionHost({
74
+ ...input,
75
+ cwd: options.cwd,
76
+ agentDir,
77
+ models: modelRuntime,
78
+ settings,
79
+ preload: piPreload
80
+ }) }
81
+ };
82
+ }
83
+ //#endregion
84
+ export { createNodeModelDependencies };
85
+
86
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/nodeModelDependencies/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { Api, Model } from '@earendil-works/pi-ai';\nimport {\n getAgentDir,\n loadProjectContextFiles,\n ModelRuntime,\n resolveCliModel,\n resolveModelScopeWithDiagnostics,\n SettingsManager,\n type Args,\n} from '@earendil-works/pi-coding-agent';\n\nimport { PoSessionSetupError } from '../../exports/headless';\nimport type {\n HeadlessModelDependencies,\n HeadlessSessionHostOptions,\n} from '../../systems/main/types/headlessSessionHost';\nimport { registerChatgptAuthProvider } from '../chatgptLogin';\nimport { createPiExtensionHost, preloadPiExtensions, resolvePiSettingsPackageEntries } from '../piExtensionHost';\nimport { modelConfigDirectory, modelSettingsDirectory } from '../piSettings';\n\nasync function resolveModel(\n parsed: Args,\n modelRuntime: ModelRuntime,\n settings: SettingsManager,\n): Promise<{ model: Model<Api>; thinkingLevel?: Args['thinking'] }> {\n const cli = resolveCliModel({\n cliProvider: parsed.provider,\n cliModel: parsed.model,\n cliThinking: parsed.thinking,\n modelRuntime,\n });\n if (cli.error) throw new Error(cli.error);\n\n let scoped: Model<Api> | undefined;\n if (parsed.models !== undefined && parsed.models.length > 0) {\n const resolved = await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime);\n scoped = resolved.scopedModels[0]?.model;\n if (scoped === undefined)\n throw new PoSessionSetupError(`No configured model matched --models ${parsed.models.join(', ')}.`);\n }\n\n const configured =\n cli.model ??\n scoped ??\n (settings.getDefaultProvider() && settings.getDefaultModel()\n ? modelRuntime.getModel(settings.getDefaultProvider()!, settings.getDefaultModel()!)\n : undefined) ??\n (await modelRuntime.getAvailable())[0];\n if (configured === undefined) {\n const agentDir = getAgentDir();\n // A failed availability refresh also leaves the list empty; name it instead of blaming setup.\n const runtimeError = modelRuntime.getError();\n throw new PoSessionSetupError(\n `No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} ` +\n `(auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ` +\n `${path.join(agentDir, 'settings.json')}.` +\n (runtimeError ? `\\n\\n${runtimeError}` : ''),\n );\n }\n return {\n model: configured,\n thinkingLevel:\n cli.thinkingLevel ??\n parsed.thinking ??\n settings.getModelThinkingLevel(configured.provider, configured.id) ??\n settings.getDefaultThinkingLevel(),\n };\n}\n\n/** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */\nexport async function createNodeModelDependencies(\n options: HeadlessSessionHostOptions,\n): Promise<HeadlessModelDependencies> {\n const agentDir = getAgentDir();\n const settings = SettingsManager.create(options.cwd, agentDir);\n // Credentials and model defaults fall back independently to plain Pi's ~/.pi/agent.\n const modelDir = modelConfigDirectory(agentDir);\n const settingsDir = modelSettingsDirectory(agentDir);\n const modelSettings = settingsDir === agentDir ? settings : SettingsManager.create(options.cwd, settingsDir);\n const modelRuntime = await ModelRuntime.create({\n authPath: path.join(modelDir, 'auth.json'),\n modelsPath: path.join(modelDir, 'models.json'),\n refreshOnCreate: false,\n });\n registerChatgptAuthProvider(modelRuntime);\n // Pi extensions load before the model is resolved: an extension that registers a provider\n // (a local Vertex or Bedrock bridge, say) must be in the runtime before the configured default\n // is looked up, or the lookup misses and the session silently falls back to whichever model\n // happens to be first in `getAvailable()`.\n // Provider packages from Pi's settings.json `packages` load alongside the Po entry, so a\n // model that works under `pi` (a Claude Code bridge, say) is also selectable here.\n const piExtensionPaths =\n options.piExtensions === false\n ? []\n : [\n ...(options.piExtensionFactories !== undefined ? [] : (options.piExtensionPaths ?? [])),\n ...(await resolvePiSettingsPackageEntries({\n cwd: options.cwd,\n agentDir,\n settings,\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n })),\n // Falling back to Pi's model config brings Pi's own extensions with it, as po loads\n // them: a provider such as a local Vertex bridge lives there, not in auth.json.\n ...(modelDir !== agentDir && fs.existsSync(path.join(modelDir, 'extensions'))\n ? [path.join(modelDir, 'extensions')]\n : []),\n ];\n const piPreload = await preloadPiExtensions({\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n extensionPaths: [...new Set(piExtensionPaths)],\n ...(options.piExtensions === false || options.piExtensionFactories === undefined\n ? {}\n : { extensionFactories: await options.piExtensionFactories() }),\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n });\n const projectContextFiles = loadProjectContextFiles({\n cwd: options.cwd,\n agentDir,\n });\n return {\n agentDir,\n modelRuntime,\n projectContextFiles,\n resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),\n ...(piPreload === undefined\n ? {}\n : {\n piExtensions: (input) =>\n createPiExtensionHost({\n ...input,\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n settings,\n preload: piPreload,\n }),\n }),\n };\n}\n"],"mappings":"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"}
@@ -1,134 +1,12 @@
1
1
  const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
- let node_fs = require("node:fs");
3
- node_fs = require_runtime.__toESM(node_fs, 1);
2
+ require("../platformFiles/index.cjs");
3
+ const require_index$1 = require("../serialRunner/index.cjs");
4
+ const require_sync = require("./sync.cjs");
4
5
  let node_path = require("node:path");
5
6
  node_path = require_runtime.__toESM(node_path, 1);
6
- //#region src/services/openSessionRegistry/index.ts
7
- const REGISTRY_FILE = "open-sessions.json";
8
- const DIRECTORY_MODE = 448;
9
- const FILE_MODE = 384;
10
- /** The id becomes a journal filename, so it is constrained exactly as SQLite storage constrains it. */
11
- const SESSION_ID_PATTERN = /^[A-Za-z0-9_-]+$/u;
12
- function isRecord(value) {
13
- return typeof value === "object" && value !== null && !Array.isArray(value);
14
- }
15
- function optionalText(value) {
16
- return typeof value === "string" && value !== "" ? value : void 0;
17
- }
18
- /**
19
- * Reads one entry, or nothing.
20
- *
21
- * The file is editable by hand and its session id is joined into a journal
22
- * path, so it is a trust boundary rather than trusted state this process wrote.
23
- * A bad entry is dropped instead of narrowing the whole file to nothing. A legacy
24
- * `artifact` (the worktree's pinned sync generation) is ignored: sessions compose live.
25
- */
26
- function parseRecord(value) {
27
- if (!isRecord(value)) return void 0;
28
- const { sessionId, workspaceId, cwd, name, createdAt } = value;
29
- if (typeof sessionId !== "string" || !SESSION_ID_PATTERN.test(sessionId)) return void 0;
30
- if (typeof workspaceId !== "string" || workspaceId === "") return void 0;
31
- if (typeof cwd !== "string" || !node_path.default.isAbsolute(cwd)) return void 0;
32
- if (typeof name !== "string" || typeof createdAt !== "string") return void 0;
33
- const parentSessionId = optionalText(value.parentSessionId);
34
- const sessionProvenance = optionalText(value.sessionProvenance);
35
- const repoRoot = optionalText(value.repoRoot);
36
- const groupingRoot = optionalText(value.groupingRoot);
37
- if (value.repoRoot !== void 0 && (!repoRoot || !node_path.default.isAbsolute(repoRoot))) return void 0;
38
- if (value.groupingRoot !== void 0 && (!groupingRoot || !node_path.default.isAbsolute(groupingRoot))) return void 0;
39
- return {
40
- sessionId,
41
- workspaceId,
42
- cwd,
43
- ...repoRoot === void 0 ? {} : { repoRoot },
44
- ...groupingRoot === void 0 ? {} : { groupingRoot },
45
- name,
46
- createdAt,
47
- ...parentSessionId === void 0 ? {} : { parentSessionId },
48
- ...sessionProvenance === void 0 ? {} : { sessionProvenance }
49
- };
50
- }
51
- /**
52
- * The sessions the cockpit had open, so a server restart can offer them back.
53
- *
54
- * Journals already survive a restart; what does not is the knowledge of which
55
- * of them were open rather than merely finished. Without that, a restart either
56
- * loses every session or revives every thread ever recorded.
57
- */
58
- function createOpenSessionRegistry(options) {
59
- const notice = options.onNotice ?? (() => {});
60
- const filePath = node_path.default.join(options.directory, REGISTRY_FILE);
61
- const load = () => {
62
- let raw;
63
- try {
64
- raw = node_fs.default.readFileSync(filePath, "utf8");
65
- } catch {
66
- return [];
67
- }
68
- let parsed;
69
- try {
70
- parsed = JSON.parse(raw);
71
- } catch {
72
- notice(`open sessions at ${filePath} are not valid JSON; none will be restored`);
73
- return [];
74
- }
75
- if (!Array.isArray(parsed)) {
76
- notice(`open sessions at ${filePath} are not a list; none will be restored`);
77
- return [];
78
- }
79
- const records = [];
80
- for (const entry of parsed) {
81
- const record = parseRecord(entry);
82
- if (record === void 0) notice(`open sessions at ${filePath} contain an unusable entry; skipping it`);
83
- else records.push(record);
84
- }
85
- return records;
86
- };
87
- let current = load();
88
- const persist = (next) => {
89
- const temporary = `${filePath}.${String(process.pid)}.tmp`;
90
- try {
91
- node_fs.default.mkdirSync(options.directory, {
92
- recursive: true,
93
- mode: DIRECTORY_MODE
94
- });
95
- const descriptor = node_fs.default.openSync(temporary, "w", FILE_MODE);
96
- try {
97
- node_fs.default.writeFileSync(descriptor, `${JSON.stringify(next, void 0, 2)}\n`);
98
- node_fs.default.fsyncSync(descriptor);
99
- } finally {
100
- node_fs.default.closeSync(descriptor);
101
- }
102
- node_fs.default.renameSync(temporary, filePath);
103
- current = next;
104
- return true;
105
- } catch (error) {
106
- notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);
107
- try {
108
- node_fs.default.rmSync(temporary, { force: true });
109
- } catch {}
110
- return false;
111
- }
112
- };
113
- return {
114
- list: () => current,
115
- add(record) {
116
- if (!SESSION_ID_PATTERN.test(record.sessionId)) throw new Error(`Invalid session id '${record.sessionId}'.`);
117
- for (const directory of [
118
- record.cwd,
119
- record.repoRoot,
120
- record.groupingRoot
121
- ]) if (directory !== void 0 && !node_path.default.isAbsolute(directory)) throw new Error("Session directories must be absolute.");
122
- return persist([...current.filter((held) => held.sessionId !== record.sessionId), record]);
123
- },
124
- remove(sessionId) {
125
- const next = current.filter((held) => held.sessionId !== sessionId);
126
- if (next.length === current.length) return;
127
- persist(next);
128
- }
129
- };
130
- }
7
+ require("@earendil-works/pi-durable/env");
8
+ require_index$1.createSerialRunner();
131
9
  //#endregion
132
- exports.createOpenSessionRegistry = createOpenSessionRegistry;
10
+ exports.createOpenSessionRegistry = require_sync.createOpenSessionRegistry;
133
11
 
134
12
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["path","fs"],"sources":["../../../../src/services/openSessionRegistry/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nconst REGISTRY_FILE = 'open-sessions.json';\nconst DIRECTORY_MODE = 0o700;\nconst FILE_MODE = 0o600;\n/** The id becomes a journal filename, so it is constrained exactly as SQLite storage constrains it. */\nconst SESSION_ID_PATTERN = /^[A-Za-z0-9_-]+$/u;\n\n/** One cockpit session the server had open, enough to reopen its journal by id. */\nexport interface OpenSessionRecord {\n sessionId: string;\n workspaceId: string;\n cwd: string;\n /** Child checkout root, distinct from the parent grouping root for worktrees. */\n repoRoot?: string;\n /** Parent workspace path used only to restore the workspace identity. */\n groupingRoot?: string;\n name: string;\n createdAt: string;\n parentSessionId?: string;\n sessionProvenance?: string;\n}\n\nexport interface OpenSessionRegistry {\n list(): readonly OpenSessionRecord[];\n /** True only after the record is durably published. */\n add(record: OpenSessionRecord): boolean;\n remove(sessionId: string): void;\n}\n\nexport interface OpenSessionRegistryOptions {\n /** Directory holding the `sessions` journal folder, so the registry sits beside what it points at. */\n directory: string;\n onNotice?: (message: string) => void;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction optionalText(value: unknown): string | undefined {\n return typeof value === 'string' && value !== '' ? value : undefined;\n}\n\n/**\n * Reads one entry, or nothing.\n *\n * The file is editable by hand and its session id is joined into a journal\n * path, so it is a trust boundary rather than trusted state this process wrote.\n * A bad entry is dropped instead of narrowing the whole file to nothing. A legacy\n * `artifact` (the worktree's pinned sync generation) is ignored: sessions compose live.\n */\nfunction parseRecord(value: unknown): OpenSessionRecord | undefined {\n if (!isRecord(value)) return undefined;\n const { sessionId, workspaceId, cwd, name, createdAt } = value;\n if (typeof sessionId !== 'string' || !SESSION_ID_PATTERN.test(sessionId)) return undefined;\n if (typeof workspaceId !== 'string' || workspaceId === '') return undefined;\n if (typeof cwd !== 'string' || !path.isAbsolute(cwd)) return undefined;\n if (typeof name !== 'string' || typeof createdAt !== 'string') return undefined;\n const parentSessionId = optionalText(value.parentSessionId);\n const sessionProvenance = optionalText(value.sessionProvenance);\n const repoRoot = optionalText(value.repoRoot);\n const groupingRoot = optionalText(value.groupingRoot);\n if (value.repoRoot !== undefined && (!repoRoot || !path.isAbsolute(repoRoot))) return undefined;\n if (value.groupingRoot !== undefined && (!groupingRoot || !path.isAbsolute(groupingRoot))) return undefined;\n return {\n sessionId,\n workspaceId,\n cwd,\n ...(repoRoot === undefined ? {} : { repoRoot }),\n ...(groupingRoot === undefined ? {} : { groupingRoot }),\n name,\n createdAt,\n ...(parentSessionId === undefined ? {} : { parentSessionId }),\n ...(sessionProvenance === undefined ? {} : { sessionProvenance }),\n };\n}\n\n/**\n * The sessions the cockpit had open, so a server restart can offer them back.\n *\n * Journals already survive a restart; what does not is the knowledge of which\n * of them were open rather than merely finished. Without that, a restart either\n * loses every session or revives every thread ever recorded.\n */\nexport function createOpenSessionRegistry(options: OpenSessionRegistryOptions): OpenSessionRegistry {\n const notice = options.onNotice ?? ((): void => {});\n const filePath = path.join(options.directory, REGISTRY_FILE);\n\n const load = (): OpenSessionRecord[] => {\n let raw: string;\n try {\n raw = fs.readFileSync(filePath, 'utf8');\n } catch {\n // No file is the normal first run, so this is not worth a notice.\n return [];\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n // Left in place rather than rewritten: a file somebody hand-edited is\n // worth more as evidence than as something this process silently repairs.\n notice(`open sessions at ${filePath} are not valid JSON; none will be restored`);\n return [];\n }\n if (!Array.isArray(parsed)) {\n notice(`open sessions at ${filePath} are not a list; none will be restored`);\n return [];\n }\n const records: OpenSessionRecord[] = [];\n for (const entry of parsed) {\n const record = parseRecord(entry);\n if (record === undefined) notice(`open sessions at ${filePath} contain an unusable entry; skipping it`);\n else records.push(record);\n }\n return records;\n };\n\n let current = load();\n\n const persist = (next: OpenSessionRecord[]): boolean => {\n const temporary = `${filePath}.${String(process.pid)}.tmp`;\n try {\n fs.mkdirSync(options.directory, { recursive: true, mode: DIRECTORY_MODE });\n const descriptor = fs.openSync(temporary, 'w', FILE_MODE);\n try {\n fs.writeFileSync(descriptor, `${JSON.stringify(next, undefined, 2)}\\n`);\n fs.fsyncSync(descriptor);\n } finally {\n fs.closeSync(descriptor);\n }\n // Rename rather than write in place, so a crash mid-write leaves the\n // previous contents rather than a truncated file.\n fs.renameSync(temporary, filePath);\n current = next;\n return true;\n } catch (error) {\n notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);\n try {\n fs.rmSync(temporary, { force: true });\n } catch {\n // Nothing further to do; the temp file is inert either way.\n }\n return false;\n }\n };\n\n return {\n list: () => current,\n add(record) {\n if (!SESSION_ID_PATTERN.test(record.sessionId)) throw new Error(`Invalid session id '${record.sessionId}'.`);\n for (const directory of [record.cwd, record.repoRoot, record.groupingRoot]) {\n if (directory !== undefined && !path.isAbsolute(directory))\n throw new Error('Session directories must be absolute.');\n }\n return persist([...current.filter((held) => held.sessionId !== record.sessionId), record]);\n },\n remove(sessionId) {\n const next = current.filter((held) => held.sessionId !== sessionId);\n if (next.length === current.length) return;\n persist(next);\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["createSerialRunner"],"sources":["../../../../src/services/openSessionRegistry/index.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { getOrThrow, type FileSystem } from '@earendil-works/pi-durable/env';\n\nimport { nodeHost } from '../nodeHost';\nimport { writeFileAtomic } from '../platformFiles';\nimport { createSerialRunner } from '../serialRunner';\nimport {\n assertOpenSessionRecord,\n DIRECTORY_MODE,\n FILE_MODE,\n parseOpenSessionRecords,\n REGISTRY_FILE,\n serializeOpenSessionRecords,\n type OpenSessionRecord,\n type OpenSessionRegistryOptions,\n} from './openSessionRecords';\n\nexport type { OpenSessionRecord, OpenSessionRegistry, OpenSessionRegistryOptions } from './openSessionRecords';\nexport { createOpenSessionRegistry } from './sync';\n\n/** One queue per registry file, so concurrent writes in this process never interleave. */\nconst registryWrites = createSerialRunner();\n\nexport interface OpenSessionRegistryAsync {\n list(): readonly OpenSessionRecord[];\n /** True only after the record is durably published. */\n add(record: OpenSessionRecord): Promise<boolean>;\n remove(sessionId: string): Promise<void>;\n}\n\n/**\n * The sessions the cockpit had open, so a server restart can offer them back.\n *\n * Journals already survive a restart; what does not is the knowledge of which\n * of them were open rather than merely finished. Without that, a restart either\n * loses every session or revives every thread ever recorded. Writes serialise per\n * registry file and publish through a uniquely named temporary file and a rename.\n */\nexport async function createOpenSessionRegistryAsync(\n fs: FileSystem,\n options: OpenSessionRegistryOptions,\n context: Context,\n): Promise<OpenSessionRegistryAsync> {\n const notice = options.onNotice ?? ((): void => {});\n const filePath = path.join(options.directory, REGISTRY_FILE);\n const serial = registryWrites.forKey(filePath);\n\n // No file, or one this process cannot read, is the normal first run, so it is not worth a notice.\n const raw = await fs.readTextFile(filePath, context);\n let current = raw.ok ? parseOpenSessionRecords(raw.value, filePath, notice) : [];\n\n const persist = async (next: OpenSessionRecord[]): Promise<boolean> => {\n try {\n if (!getOrThrow(await fs.exists(options.directory, context))) {\n getOrThrow(await fs.createDir(options.directory, { recursive: true }, context));\n await nodeHost.setMode(options.directory, DIRECTORY_MODE);\n }\n await writeFileAtomic(fs, filePath, serializeOpenSessionRecords(next), context);\n await nodeHost.setMode(filePath, FILE_MODE);\n current = next;\n return true;\n } catch (error) {\n notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);\n return false;\n }\n };\n\n return {\n list: () => current,\n add: async (record) => {\n assertOpenSessionRecord(record);\n return await serial(() => persist([...current.filter((held) => held.sessionId !== record.sessionId), record]));\n },\n remove: (sessionId) =>\n serial(async () => {\n const next = current.filter((held) => held.sessionId !== sessionId);\n if (next.length !== current.length) await persist(next);\n }),\n };\n}\n"],"mappings":";;;;;;;AAuBuBA,gBAAAA,mBAAmB"}
@@ -1,36 +1,5 @@
1
- //#region src/services/openSessionRegistry/index.d.ts
2
- /** One cockpit session the server had open, enough to reopen its journal by id. */
3
- export interface OpenSessionRecord {
4
- sessionId: string;
5
- workspaceId: string;
6
- cwd: string;
7
- /** Child checkout root, distinct from the parent grouping root for worktrees. */
8
- repoRoot?: string;
9
- /** Parent workspace path used only to restore the workspace identity. */
10
- groupingRoot?: string;
11
- name: string;
12
- createdAt: string;
13
- parentSessionId?: string;
14
- sessionProvenance?: string;
15
- }
16
- export interface OpenSessionRegistry {
17
- list(): readonly OpenSessionRecord[];
18
- /** True only after the record is durably published. */
19
- add(record: OpenSessionRecord): boolean;
20
- remove(sessionId: string): void;
21
- }
22
- export interface OpenSessionRegistryOptions {
23
- /** Directory holding the `sessions` journal folder, so the registry sits beside what it points at. */
24
- directory: string;
25
- onNotice?: (message: string) => void;
26
- }
27
- /**
28
- * The sessions the cockpit had open, so a server restart can offer them back.
29
- *
30
- * Journals already survive a restart; what does not is the knowledge of which
31
- * of them were open rather than merely finished. Without that, a restart either
32
- * loses every session or revives every thread ever recorded.
33
- */
34
- export declare function createOpenSessionRegistry(options: OpenSessionRegistryOptions): OpenSessionRegistry;
35
- //#endregion
36
- //# sourceMappingURL=index.d.mts.map
1
+ import { OpenSessionRecord, OpenSessionRegistry, OpenSessionRegistryOptions } from "./openSessionRecords.mjs";
2
+ import { createOpenSessionRegistry } from "./sync.mjs";
3
+ import { FileSystem } from "@earendil-works/pi-durable/env";
4
+ import { Context } from "@earendil-works/chord";
5
+ export { type OpenSessionRecord, type OpenSessionRegistry, type OpenSessionRegistryOptions, createOpenSessionRegistry };
@@ -1,131 +1,9 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- //#region src/services/openSessionRegistry/index.ts
4
- const REGISTRY_FILE = "open-sessions.json";
5
- const DIRECTORY_MODE = 448;
6
- const FILE_MODE = 384;
7
- /** The id becomes a journal filename, so it is constrained exactly as SQLite storage constrains it. */
8
- const SESSION_ID_PATTERN = /^[A-Za-z0-9_-]+$/u;
9
- function isRecord(value) {
10
- return typeof value === "object" && value !== null && !Array.isArray(value);
11
- }
12
- function optionalText(value) {
13
- return typeof value === "string" && value !== "" ? value : void 0;
14
- }
15
- /**
16
- * Reads one entry, or nothing.
17
- *
18
- * The file is editable by hand and its session id is joined into a journal
19
- * path, so it is a trust boundary rather than trusted state this process wrote.
20
- * A bad entry is dropped instead of narrowing the whole file to nothing. A legacy
21
- * `artifact` (the worktree's pinned sync generation) is ignored: sessions compose live.
22
- */
23
- function parseRecord(value) {
24
- if (!isRecord(value)) return void 0;
25
- const { sessionId, workspaceId, cwd, name, createdAt } = value;
26
- if (typeof sessionId !== "string" || !SESSION_ID_PATTERN.test(sessionId)) return void 0;
27
- if (typeof workspaceId !== "string" || workspaceId === "") return void 0;
28
- if (typeof cwd !== "string" || !path.isAbsolute(cwd)) return void 0;
29
- if (typeof name !== "string" || typeof createdAt !== "string") return void 0;
30
- const parentSessionId = optionalText(value.parentSessionId);
31
- const sessionProvenance = optionalText(value.sessionProvenance);
32
- const repoRoot = optionalText(value.repoRoot);
33
- const groupingRoot = optionalText(value.groupingRoot);
34
- if (value.repoRoot !== void 0 && (!repoRoot || !path.isAbsolute(repoRoot))) return void 0;
35
- if (value.groupingRoot !== void 0 && (!groupingRoot || !path.isAbsolute(groupingRoot))) return void 0;
36
- return {
37
- sessionId,
38
- workspaceId,
39
- cwd,
40
- ...repoRoot === void 0 ? {} : { repoRoot },
41
- ...groupingRoot === void 0 ? {} : { groupingRoot },
42
- name,
43
- createdAt,
44
- ...parentSessionId === void 0 ? {} : { parentSessionId },
45
- ...sessionProvenance === void 0 ? {} : { sessionProvenance }
46
- };
47
- }
48
- /**
49
- * The sessions the cockpit had open, so a server restart can offer them back.
50
- *
51
- * Journals already survive a restart; what does not is the knowledge of which
52
- * of them were open rather than merely finished. Without that, a restart either
53
- * loses every session or revives every thread ever recorded.
54
- */
55
- function createOpenSessionRegistry(options) {
56
- const notice = options.onNotice ?? (() => {});
57
- const filePath = path.join(options.directory, REGISTRY_FILE);
58
- const load = () => {
59
- let raw;
60
- try {
61
- raw = fs.readFileSync(filePath, "utf8");
62
- } catch {
63
- return [];
64
- }
65
- let parsed;
66
- try {
67
- parsed = JSON.parse(raw);
68
- } catch {
69
- notice(`open sessions at ${filePath} are not valid JSON; none will be restored`);
70
- return [];
71
- }
72
- if (!Array.isArray(parsed)) {
73
- notice(`open sessions at ${filePath} are not a list; none will be restored`);
74
- return [];
75
- }
76
- const records = [];
77
- for (const entry of parsed) {
78
- const record = parseRecord(entry);
79
- if (record === void 0) notice(`open sessions at ${filePath} contain an unusable entry; skipping it`);
80
- else records.push(record);
81
- }
82
- return records;
83
- };
84
- let current = load();
85
- const persist = (next) => {
86
- const temporary = `${filePath}.${String(process.pid)}.tmp`;
87
- try {
88
- fs.mkdirSync(options.directory, {
89
- recursive: true,
90
- mode: DIRECTORY_MODE
91
- });
92
- const descriptor = fs.openSync(temporary, "w", FILE_MODE);
93
- try {
94
- fs.writeFileSync(descriptor, `${JSON.stringify(next, void 0, 2)}\n`);
95
- fs.fsyncSync(descriptor);
96
- } finally {
97
- fs.closeSync(descriptor);
98
- }
99
- fs.renameSync(temporary, filePath);
100
- current = next;
101
- return true;
102
- } catch (error) {
103
- notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);
104
- try {
105
- fs.rmSync(temporary, { force: true });
106
- } catch {}
107
- return false;
108
- }
109
- };
110
- return {
111
- list: () => current,
112
- add(record) {
113
- if (!SESSION_ID_PATTERN.test(record.sessionId)) throw new Error(`Invalid session id '${record.sessionId}'.`);
114
- for (const directory of [
115
- record.cwd,
116
- record.repoRoot,
117
- record.groupingRoot
118
- ]) if (directory !== void 0 && !path.isAbsolute(directory)) throw new Error("Session directories must be absolute.");
119
- return persist([...current.filter((held) => held.sessionId !== record.sessionId), record]);
120
- },
121
- remove(sessionId) {
122
- const next = current.filter((held) => held.sessionId !== sessionId);
123
- if (next.length === current.length) return;
124
- persist(next);
125
- }
126
- };
127
- }
1
+ import "../platformFiles/index.mjs";
2
+ import { createSerialRunner } from "../serialRunner/index.mjs";
128
3
  //#endregion
129
- export { createOpenSessionRegistry };
4
+ export { createOpenSessionRegistry } from "./sync.mjs";
5
+ import "node:path";
6
+ import "@earendil-works/pi-durable/env";
7
+ createSerialRunner();
130
8
 
131
9
  //# sourceMappingURL=index.mjs.map