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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
3
- let node_fs = require("node:fs");
4
- node_fs = require_runtime.__toESM(node_fs, 1);
5
3
  let node_path = require("node:path");
6
4
  node_path = require_runtime.__toESM(node_path, 1);
5
+ let _earendil_works_pi_durable_env = require("@earendil-works/pi-durable/env");
6
+ let dist_interop_chordContext_mjs = require("../dist/interop/chordContext.mjs");
7
7
  let ignore = require("ignore");
8
8
  ignore = require_runtime.__toESM(ignore, 1);
9
9
  //#region src/server/sessionFilesApi.ts
@@ -20,14 +20,15 @@ const MAX_FILE_RESULTS = 50;
20
20
  * unreadable or malformed file leaves completion listing everything, because
21
21
  * hiding the tree is the worse failure.
22
22
  */
23
- function readIgnoreRules(cwd) {
24
- const rules = IGNORE_FILES.map((name) => {
23
+ async function readIgnoreRules(fs, cwd, context) {
24
+ const rules = (await Promise.all(IGNORE_FILES.map(async (name) => {
25
25
  try {
26
- return node_fs.default.readFileSync(node_path.default.join(cwd, name), "utf8");
26
+ const result = await fs.readTextFile(node_path.default.join(cwd, name), context);
27
+ return result.ok ? result.value : "";
27
28
  } catch {
28
29
  return "";
29
30
  }
30
- }).join("\n");
31
+ }))).join("\n");
31
32
  if (rules.trim().length === 0) return void 0;
32
33
  try {
33
34
  const matcher = (0, ignore.default)().add(rules);
@@ -36,8 +37,9 @@ function readIgnoreRules(cwd) {
36
37
  return;
37
38
  }
38
39
  }
39
- async function listSessionFiles(cwd, query, signal) {
40
- const isIgnored = readIgnoreRules(cwd);
40
+ async function listSessionFiles(fs, cwd, query, signal) {
41
+ const context = (0, dist_interop_chordContext_mjs.withAbortSignal)(signal, dist_interop_chordContext_mjs.BACKGROUND_CONTEXT);
42
+ const isIgnored = await readIgnoreRules(fs, cwd, context);
41
43
  const deadline = Date.now() + FILE_QUERY_TIMEOUT_MS;
42
44
  const pending = [""];
43
45
  let next = 0;
@@ -49,48 +51,50 @@ async function listSessionFiles(cwd, query, signal) {
49
51
  if (relativeDirectory === void 0) break;
50
52
  if (relativeDirectory !== "" && `${relativeDirectory}/`.toLowerCase().includes(query)) matches.push(`${relativeDirectory}/`);
51
53
  if (matches.length === MAX_FILE_RESULTS) break;
52
- const entries = await node_fs.default.promises.readdir(node_path.default.join(cwd, relativeDirectory), { withFileTypes: true });
54
+ const entries = (0, _earendil_works_pi_durable_env.getOrThrow)(await fs.listDir(node_path.default.join(cwd, relativeDirectory), context));
53
55
  const matchingDirectories = [];
54
56
  for (const entry of entries) {
55
57
  const file = relativeDirectory === "" ? entry.name : `${relativeDirectory}/${entry.name}`;
56
- if (entry.isDirectory()) {
58
+ if (entry.kind === "directory") {
57
59
  if (EXCLUDED_DIRECTORIES.has(entry.name) || isIgnored?.(`${file}/`) === true) continue;
58
60
  if (query && entry.name.toLowerCase().includes(query)) matchingDirectories.push(file);
59
61
  else pending.push(file);
60
- } else if (entry.isFile() && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) matches.push(file);
62
+ } else if (entry.kind === "file" && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) matches.push(file);
61
63
  if (matches.length === MAX_FILE_RESULTS) break;
62
64
  }
63
65
  pending.splice(next, 0, ...matchingDirectories);
64
66
  }
65
67
  return matches.sort().slice(0, MAX_FILE_RESULTS);
66
68
  }
67
- /** Bounded, read-only file completion rooted in the owning session. */
68
- const sessionFilesApi = {
69
- basePath: "files",
70
- start(context) {
71
- if (context.scope !== "session" || !context.cwd) throw new Error("File completion requires a session.");
72
- const cwd = context.cwd;
73
- let closed = false;
74
- return {
75
- async fetch(request) {
76
- if (closed) return new Response(null, { status: 503 });
77
- const url = new URL(request.url);
78
- if (request.method !== "GET" || url.pathname !== "/") return new Response(null, { status: 404 });
79
- const query = (url.searchParams.get("q") ?? "").toLowerCase();
80
- if (query.length > 256) return Response.json({ error: "File query is too long." }, { status: 400 });
81
- try {
82
- return Response.json({ files: await listSessionFiles(cwd, query, request.signal) });
83
- } catch {
84
- return Response.json({ error: "File completion could not be read." }, { status: 503 });
69
+ /** Bounded, read-only file completion rooted in the owning session, read through the server's platform fs. */
70
+ function createSessionFilesApi({ fs }) {
71
+ return {
72
+ basePath: "files",
73
+ start(context) {
74
+ if (context.scope !== "session" || !context.cwd) throw new Error("File completion requires a session.");
75
+ const cwd = context.cwd;
76
+ let closed = false;
77
+ return {
78
+ async fetch(request) {
79
+ if (closed) return new Response(null, { status: 503 });
80
+ const url = new URL(request.url);
81
+ if (request.method !== "GET" || url.pathname !== "/") return new Response(null, { status: 404 });
82
+ const query = (url.searchParams.get("q") ?? "").toLowerCase();
83
+ if (query.length > 256) return Response.json({ error: "File query is too long." }, { status: 400 });
84
+ try {
85
+ return Response.json({ files: await listSessionFiles(fs, cwd, query, request.signal) });
86
+ } catch {
87
+ return Response.json({ error: "File completion could not be read." }, { status: 503 });
88
+ }
89
+ },
90
+ close() {
91
+ closed = true;
85
92
  }
86
- },
87
- close() {
88
- closed = true;
89
- }
90
- };
91
- }
92
- };
93
+ };
94
+ }
95
+ };
96
+ }
93
97
  //#endregion
94
- exports.sessionFilesApi = sessionFilesApi;
98
+ exports.createSessionFilesApi = createSessionFilesApi;
95
99
 
96
100
  //# sourceMappingURL=sessionFilesApi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionFilesApi.cjs","names":["fs","path"],"sources":["../src/server/sessionFilesApi.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport ignore from 'ignore';\n\nimport type { DoomApi } from '../exports/packageApi';\n\nconst EXCLUDED_DIRECTORIES = new Set(['.git', 'node_modules']);\nconst IGNORE_FILES = ['.gitignore', '.poignore'];\nconst FILE_QUERY_TIMEOUT_MS = 2000;\nconst MAX_FILE_RESULTS = 50;\n\n/**\n * The project's ignore test, or nothing when it declares no rules.\n *\n * Only the session root's files are read. A nested .gitignore would need one\n * matcher per directory, and the cost of skipping it is a suggestion that\n * should not have been offered rather than a file that cannot be opened. An\n * unreadable or malformed file leaves completion listing everything, because\n * hiding the tree is the worse failure.\n */\nfunction readIgnoreRules(cwd: string): ((relativePath: string) => boolean) | undefined {\n const rules = IGNORE_FILES.map((name) => {\n try {\n return fs.readFileSync(path.join(cwd, name), 'utf8');\n } catch {\n return '';\n }\n }).join('\\n');\n if (rules.trim().length === 0) return undefined;\n try {\n const matcher = ignore().add(rules);\n return (relativePath: string): boolean => matcher.ignores(relativePath);\n } catch {\n return undefined;\n }\n}\n\nasync function listSessionFiles(cwd: string, query: string, signal: AbortSignal): Promise<string[]> {\n const isIgnored = readIgnoreRules(cwd);\n const deadline = Date.now() + FILE_QUERY_TIMEOUT_MS;\n const pending = [''];\n let next = 0;\n const matches: string[] = [];\n\n while (next < pending.length && matches.length < MAX_FILE_RESULTS) {\n if (signal.aborted) {\n throw signal.reason instanceof Error ? signal.reason : new Error('File completion was aborted.');\n }\n // ponytail: Return matches found so far on huge trees; a search index is the upgrade path.\n if (Date.now() > deadline && next > 0) break;\n const relativeDirectory = pending[next++];\n if (relativeDirectory === undefined) break;\n if (relativeDirectory !== '' && `${relativeDirectory}/`.toLowerCase().includes(query)) {\n matches.push(`${relativeDirectory}/`);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n const entries = await fs.promises.readdir(path.join(cwd, relativeDirectory), { withFileTypes: true });\n const matchingDirectories: string[] = [];\n for (const entry of entries) {\n // Ignore rules are written in posix form, and so is every result.\n const file = relativeDirectory === '' ? entry.name : `${relativeDirectory}/${entry.name}`;\n if (entry.isDirectory()) {\n // An ignored directory is pruned rather than filtered at its leaves:\n // walking a build cache is what exhausts the completion budget. The\n // trailing slash is what makes a directory-only rule such as\n // '.nx-cache/' match.\n if (EXCLUDED_DIRECTORIES.has(entry.name) || isIgnored?.(`${file}/`) === true) continue;\n // Explore a matching folder before its siblings so its files follow it.\n if (query && entry.name.toLowerCase().includes(query)) matchingDirectories.push(file);\n else pending.push(file);\n } else if (entry.isFile() && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) {\n matches.push(file);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n }\n pending.splice(next, 0, ...matchingDirectories);\n }\n\n return matches.sort().slice(0, MAX_FILE_RESULTS);\n}\n\n/** Bounded, read-only file completion rooted in the owning session. */\nexport const sessionFilesApi: DoomApi = {\n basePath: 'files',\n start(context) {\n if (context.scope !== 'session' || !context.cwd) throw new Error('File completion requires a session.');\n const cwd = context.cwd;\n let closed = false;\n return {\n async fetch(request) {\n if (closed) return new Response(null, { status: 503 });\n const url = new URL(request.url);\n if (request.method !== 'GET' || url.pathname !== '/') return new Response(null, { status: 404 });\n const query = (url.searchParams.get('q') ?? '').toLowerCase();\n if (query.length > 256) return Response.json({ error: 'File query is too long.' }, { status: 400 });\n try {\n return Response.json({ files: await listSessionFiles(cwd, query, request.signal) });\n } catch {\n return Response.json({ error: 'File completion could not be read.' }, { status: 503 });\n }\n },\n close() {\n closed = true;\n },\n };\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"sessionFilesApi.cjs","names":["path","withAbortSignal","BACKGROUND_CONTEXT","getOrThrow"],"sources":["../src/server/sessionFilesApi.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT, withAbortSignal } from '@earendil-works/chord/context';\nimport { getOrThrow, type FileSystem } from '@earendil-works/pi-durable/env';\nimport ignore from 'ignore';\n\nimport type { PoApi } from '../exports/packageApi';\n\nconst EXCLUDED_DIRECTORIES = new Set(['.git', 'node_modules']);\nconst IGNORE_FILES = ['.gitignore', '.poignore'];\nconst FILE_QUERY_TIMEOUT_MS = 2000;\nconst MAX_FILE_RESULTS = 50;\n\n/**\n * The project's ignore test, or nothing when it declares no rules.\n *\n * Only the session root's files are read. A nested .gitignore would need one\n * matcher per directory, and the cost of skipping it is a suggestion that\n * should not have been offered rather than a file that cannot be opened. An\n * unreadable or malformed file leaves completion listing everything, because\n * hiding the tree is the worse failure.\n */\nasync function readIgnoreRules(\n fs: FileSystem,\n cwd: string,\n context: Context,\n): Promise<((relativePath: string) => boolean) | undefined> {\n const rules = (\n await Promise.all(\n IGNORE_FILES.map(async (name) => {\n try {\n const result = await fs.readTextFile(path.join(cwd, name), context);\n return result.ok ? result.value : '';\n } catch {\n return '';\n }\n }),\n )\n ).join('\\n');\n if (rules.trim().length === 0) return undefined;\n try {\n const matcher = ignore().add(rules);\n return (relativePath: string): boolean => matcher.ignores(relativePath);\n } catch {\n return undefined;\n }\n}\n\nasync function listSessionFiles(fs: FileSystem, cwd: string, query: string, signal: AbortSignal): Promise<string[]> {\n const context = withAbortSignal(signal, BACKGROUND_CONTEXT);\n const isIgnored = await readIgnoreRules(fs, cwd, context);\n const deadline = Date.now() + FILE_QUERY_TIMEOUT_MS;\n const pending = [''];\n let next = 0;\n const matches: string[] = [];\n\n while (next < pending.length && matches.length < MAX_FILE_RESULTS) {\n if (signal.aborted) {\n throw signal.reason instanceof Error ? signal.reason : new Error('File completion was aborted.');\n }\n // ponytail: Return matches found so far on huge trees; a search index is the upgrade path.\n if (Date.now() > deadline && next > 0) break;\n const relativeDirectory = pending[next++];\n if (relativeDirectory === undefined) break;\n if (relativeDirectory !== '' && `${relativeDirectory}/`.toLowerCase().includes(query)) {\n matches.push(`${relativeDirectory}/`);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n const entries = getOrThrow(await fs.listDir(path.join(cwd, relativeDirectory), context));\n const matchingDirectories: string[] = [];\n for (const entry of entries) {\n // Ignore rules are written in posix form, and so is every result.\n const file = relativeDirectory === '' ? entry.name : `${relativeDirectory}/${entry.name}`;\n if (entry.kind === 'directory') {\n // An ignored directory is pruned rather than filtered at its leaves:\n // walking a build cache is what exhausts the completion budget. The\n // trailing slash is what makes a directory-only rule such as\n // '.nx-cache/' match.\n if (EXCLUDED_DIRECTORIES.has(entry.name) || isIgnored?.(`${file}/`) === true) continue;\n // Explore a matching folder before its siblings so its files follow it.\n if (query && entry.name.toLowerCase().includes(query)) matchingDirectories.push(file);\n else pending.push(file);\n } else if (entry.kind === 'file' && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) {\n matches.push(file);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n }\n pending.splice(next, 0, ...matchingDirectories);\n }\n\n return matches.sort().slice(0, MAX_FILE_RESULTS);\n}\n\n/** Bounded, read-only file completion rooted in the owning session, read through the server's platform fs. */\nexport function createSessionFilesApi({ fs }: { fs: FileSystem }): PoApi {\n return {\n basePath: 'files',\n start(context) {\n if (context.scope !== 'session' || !context.cwd) throw new Error('File completion requires a session.');\n const cwd = context.cwd;\n let closed = false;\n return {\n async fetch(request) {\n if (closed) return new Response(null, { status: 503 });\n const url = new URL(request.url);\n if (request.method !== 'GET' || url.pathname !== '/') return new Response(null, { status: 404 });\n const query = (url.searchParams.get('q') ?? '').toLowerCase();\n if (query.length > 256) return Response.json({ error: 'File query is too long.' }, { status: 400 });\n try {\n return Response.json({ files: await listSessionFiles(fs, cwd, query, request.signal) });\n } catch {\n return Response.json({ error: 'File completion could not be read.' }, { status: 503 });\n }\n },\n close() {\n closed = true;\n },\n };\n },\n };\n}\n"],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import { DoomApi } from "./src/schemas/packageApi.mjs";
1
+ import { PoApi } from "./src/schemas/packageApi.mjs";
2
2
  import "./packageApi.mjs";
3
+ import { FileSystem } from "@earendil-works/pi-durable/env";
3
4
  //#region src/server/sessionFilesApi.d.ts
4
- /** Bounded, read-only file completion rooted in the owning session. */
5
- export declare const sessionFilesApi: DoomApi;
5
+ /** Bounded, read-only file completion rooted in the owning session, read through the server's platform fs. */
6
+ export declare function createSessionFilesApi({ fs }: {
7
+ fs: FileSystem;
8
+ }): PoApi;
6
9
  //#endregion
7
10
  //# sourceMappingURL=sessionFilesApi.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionFilesApi.d.mts","names":[],"sources":["../src/server/sessionFilesApi.ts"],"mappings":";;;;qBAmFa,iBAAiB"}
1
+ {"version":3,"file":"sessionFilesApi.d.mts","names":[],"sources":["../src/server/sessionFilesApi.ts"],"mappings":";;;;;wBA+FgB,wBAAwB;EAAQ,IAAI;IAAe"}
@@ -1,5 +1,6 @@
1
- import fs from "node:fs";
2
1
  import path from "node:path";
2
+ import { getOrThrow } from "@earendil-works/pi-durable/env";
3
+ import { BACKGROUND_CONTEXT, withAbortSignal } from "@earendil-works/chord/context";
3
4
  import ignore from "ignore";
4
5
  //#region src/server/sessionFilesApi.ts
5
6
  const EXCLUDED_DIRECTORIES = /* @__PURE__ */ new Set([".git", "node_modules"]);
@@ -15,14 +16,15 @@ const MAX_FILE_RESULTS = 50;
15
16
  * unreadable or malformed file leaves completion listing everything, because
16
17
  * hiding the tree is the worse failure.
17
18
  */
18
- function readIgnoreRules(cwd) {
19
- const rules = IGNORE_FILES.map((name) => {
19
+ async function readIgnoreRules(fs, cwd, context) {
20
+ const rules = (await Promise.all(IGNORE_FILES.map(async (name) => {
20
21
  try {
21
- return fs.readFileSync(path.join(cwd, name), "utf8");
22
+ const result = await fs.readTextFile(path.join(cwd, name), context);
23
+ return result.ok ? result.value : "";
22
24
  } catch {
23
25
  return "";
24
26
  }
25
- }).join("\n");
27
+ }))).join("\n");
26
28
  if (rules.trim().length === 0) return void 0;
27
29
  try {
28
30
  const matcher = ignore().add(rules);
@@ -31,8 +33,9 @@ function readIgnoreRules(cwd) {
31
33
  return;
32
34
  }
33
35
  }
34
- async function listSessionFiles(cwd, query, signal) {
35
- const isIgnored = readIgnoreRules(cwd);
36
+ async function listSessionFiles(fs, cwd, query, signal) {
37
+ const context = withAbortSignal(signal, BACKGROUND_CONTEXT);
38
+ const isIgnored = await readIgnoreRules(fs, cwd, context);
36
39
  const deadline = Date.now() + FILE_QUERY_TIMEOUT_MS;
37
40
  const pending = [""];
38
41
  let next = 0;
@@ -44,48 +47,50 @@ async function listSessionFiles(cwd, query, signal) {
44
47
  if (relativeDirectory === void 0) break;
45
48
  if (relativeDirectory !== "" && `${relativeDirectory}/`.toLowerCase().includes(query)) matches.push(`${relativeDirectory}/`);
46
49
  if (matches.length === MAX_FILE_RESULTS) break;
47
- const entries = await fs.promises.readdir(path.join(cwd, relativeDirectory), { withFileTypes: true });
50
+ const entries = getOrThrow(await fs.listDir(path.join(cwd, relativeDirectory), context));
48
51
  const matchingDirectories = [];
49
52
  for (const entry of entries) {
50
53
  const file = relativeDirectory === "" ? entry.name : `${relativeDirectory}/${entry.name}`;
51
- if (entry.isDirectory()) {
54
+ if (entry.kind === "directory") {
52
55
  if (EXCLUDED_DIRECTORIES.has(entry.name) || isIgnored?.(`${file}/`) === true) continue;
53
56
  if (query && entry.name.toLowerCase().includes(query)) matchingDirectories.push(file);
54
57
  else pending.push(file);
55
- } else if (entry.isFile() && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) matches.push(file);
58
+ } else if (entry.kind === "file" && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) matches.push(file);
56
59
  if (matches.length === MAX_FILE_RESULTS) break;
57
60
  }
58
61
  pending.splice(next, 0, ...matchingDirectories);
59
62
  }
60
63
  return matches.sort().slice(0, MAX_FILE_RESULTS);
61
64
  }
62
- /** Bounded, read-only file completion rooted in the owning session. */
63
- const sessionFilesApi = {
64
- basePath: "files",
65
- start(context) {
66
- if (context.scope !== "session" || !context.cwd) throw new Error("File completion requires a session.");
67
- const cwd = context.cwd;
68
- let closed = false;
69
- return {
70
- async fetch(request) {
71
- if (closed) return new Response(null, { status: 503 });
72
- const url = new URL(request.url);
73
- if (request.method !== "GET" || url.pathname !== "/") return new Response(null, { status: 404 });
74
- const query = (url.searchParams.get("q") ?? "").toLowerCase();
75
- if (query.length > 256) return Response.json({ error: "File query is too long." }, { status: 400 });
76
- try {
77
- return Response.json({ files: await listSessionFiles(cwd, query, request.signal) });
78
- } catch {
79
- return Response.json({ error: "File completion could not be read." }, { status: 503 });
65
+ /** Bounded, read-only file completion rooted in the owning session, read through the server's platform fs. */
66
+ function createSessionFilesApi({ fs }) {
67
+ return {
68
+ basePath: "files",
69
+ start(context) {
70
+ if (context.scope !== "session" || !context.cwd) throw new Error("File completion requires a session.");
71
+ const cwd = context.cwd;
72
+ let closed = false;
73
+ return {
74
+ async fetch(request) {
75
+ if (closed) return new Response(null, { status: 503 });
76
+ const url = new URL(request.url);
77
+ if (request.method !== "GET" || url.pathname !== "/") return new Response(null, { status: 404 });
78
+ const query = (url.searchParams.get("q") ?? "").toLowerCase();
79
+ if (query.length > 256) return Response.json({ error: "File query is too long." }, { status: 400 });
80
+ try {
81
+ return Response.json({ files: await listSessionFiles(fs, cwd, query, request.signal) });
82
+ } catch {
83
+ return Response.json({ error: "File completion could not be read." }, { status: 503 });
84
+ }
85
+ },
86
+ close() {
87
+ closed = true;
80
88
  }
81
- },
82
- close() {
83
- closed = true;
84
- }
85
- };
86
- }
87
- };
89
+ };
90
+ }
91
+ };
92
+ }
88
93
  //#endregion
89
- export { sessionFilesApi };
94
+ export { createSessionFilesApi };
90
95
 
91
96
  //# sourceMappingURL=sessionFilesApi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionFilesApi.mjs","names":[],"sources":["../src/server/sessionFilesApi.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport ignore from 'ignore';\n\nimport type { DoomApi } from '../exports/packageApi';\n\nconst EXCLUDED_DIRECTORIES = new Set(['.git', 'node_modules']);\nconst IGNORE_FILES = ['.gitignore', '.poignore'];\nconst FILE_QUERY_TIMEOUT_MS = 2000;\nconst MAX_FILE_RESULTS = 50;\n\n/**\n * The project's ignore test, or nothing when it declares no rules.\n *\n * Only the session root's files are read. A nested .gitignore would need one\n * matcher per directory, and the cost of skipping it is a suggestion that\n * should not have been offered rather than a file that cannot be opened. An\n * unreadable or malformed file leaves completion listing everything, because\n * hiding the tree is the worse failure.\n */\nfunction readIgnoreRules(cwd: string): ((relativePath: string) => boolean) | undefined {\n const rules = IGNORE_FILES.map((name) => {\n try {\n return fs.readFileSync(path.join(cwd, name), 'utf8');\n } catch {\n return '';\n }\n }).join('\\n');\n if (rules.trim().length === 0) return undefined;\n try {\n const matcher = ignore().add(rules);\n return (relativePath: string): boolean => matcher.ignores(relativePath);\n } catch {\n return undefined;\n }\n}\n\nasync function listSessionFiles(cwd: string, query: string, signal: AbortSignal): Promise<string[]> {\n const isIgnored = readIgnoreRules(cwd);\n const deadline = Date.now() + FILE_QUERY_TIMEOUT_MS;\n const pending = [''];\n let next = 0;\n const matches: string[] = [];\n\n while (next < pending.length && matches.length < MAX_FILE_RESULTS) {\n if (signal.aborted) {\n throw signal.reason instanceof Error ? signal.reason : new Error('File completion was aborted.');\n }\n // ponytail: Return matches found so far on huge trees; a search index is the upgrade path.\n if (Date.now() > deadline && next > 0) break;\n const relativeDirectory = pending[next++];\n if (relativeDirectory === undefined) break;\n if (relativeDirectory !== '' && `${relativeDirectory}/`.toLowerCase().includes(query)) {\n matches.push(`${relativeDirectory}/`);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n const entries = await fs.promises.readdir(path.join(cwd, relativeDirectory), { withFileTypes: true });\n const matchingDirectories: string[] = [];\n for (const entry of entries) {\n // Ignore rules are written in posix form, and so is every result.\n const file = relativeDirectory === '' ? entry.name : `${relativeDirectory}/${entry.name}`;\n if (entry.isDirectory()) {\n // An ignored directory is pruned rather than filtered at its leaves:\n // walking a build cache is what exhausts the completion budget. The\n // trailing slash is what makes a directory-only rule such as\n // '.nx-cache/' match.\n if (EXCLUDED_DIRECTORIES.has(entry.name) || isIgnored?.(`${file}/`) === true) continue;\n // Explore a matching folder before its siblings so its files follow it.\n if (query && entry.name.toLowerCase().includes(query)) matchingDirectories.push(file);\n else pending.push(file);\n } else if (entry.isFile() && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) {\n matches.push(file);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n }\n pending.splice(next, 0, ...matchingDirectories);\n }\n\n return matches.sort().slice(0, MAX_FILE_RESULTS);\n}\n\n/** Bounded, read-only file completion rooted in the owning session. */\nexport const sessionFilesApi: DoomApi = {\n basePath: 'files',\n start(context) {\n if (context.scope !== 'session' || !context.cwd) throw new Error('File completion requires a session.');\n const cwd = context.cwd;\n let closed = false;\n return {\n async fetch(request) {\n if (closed) return new Response(null, { status: 503 });\n const url = new URL(request.url);\n if (request.method !== 'GET' || url.pathname !== '/') return new Response(null, { status: 404 });\n const query = (url.searchParams.get('q') ?? '').toLowerCase();\n if (query.length > 256) return Response.json({ error: 'File query is too long.' }, { status: 400 });\n try {\n return Response.json({ files: await listSessionFiles(cwd, query, request.signal) });\n } catch {\n return Response.json({ error: 'File completion could not be read.' }, { status: 503 });\n }\n },\n close() {\n closed = true;\n },\n };\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"sessionFilesApi.mjs","names":[],"sources":["../src/server/sessionFilesApi.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT, withAbortSignal } from '@earendil-works/chord/context';\nimport { getOrThrow, type FileSystem } from '@earendil-works/pi-durable/env';\nimport ignore from 'ignore';\n\nimport type { PoApi } from '../exports/packageApi';\n\nconst EXCLUDED_DIRECTORIES = new Set(['.git', 'node_modules']);\nconst IGNORE_FILES = ['.gitignore', '.poignore'];\nconst FILE_QUERY_TIMEOUT_MS = 2000;\nconst MAX_FILE_RESULTS = 50;\n\n/**\n * The project's ignore test, or nothing when it declares no rules.\n *\n * Only the session root's files are read. A nested .gitignore would need one\n * matcher per directory, and the cost of skipping it is a suggestion that\n * should not have been offered rather than a file that cannot be opened. An\n * unreadable or malformed file leaves completion listing everything, because\n * hiding the tree is the worse failure.\n */\nasync function readIgnoreRules(\n fs: FileSystem,\n cwd: string,\n context: Context,\n): Promise<((relativePath: string) => boolean) | undefined> {\n const rules = (\n await Promise.all(\n IGNORE_FILES.map(async (name) => {\n try {\n const result = await fs.readTextFile(path.join(cwd, name), context);\n return result.ok ? result.value : '';\n } catch {\n return '';\n }\n }),\n )\n ).join('\\n');\n if (rules.trim().length === 0) return undefined;\n try {\n const matcher = ignore().add(rules);\n return (relativePath: string): boolean => matcher.ignores(relativePath);\n } catch {\n return undefined;\n }\n}\n\nasync function listSessionFiles(fs: FileSystem, cwd: string, query: string, signal: AbortSignal): Promise<string[]> {\n const context = withAbortSignal(signal, BACKGROUND_CONTEXT);\n const isIgnored = await readIgnoreRules(fs, cwd, context);\n const deadline = Date.now() + FILE_QUERY_TIMEOUT_MS;\n const pending = [''];\n let next = 0;\n const matches: string[] = [];\n\n while (next < pending.length && matches.length < MAX_FILE_RESULTS) {\n if (signal.aborted) {\n throw signal.reason instanceof Error ? signal.reason : new Error('File completion was aborted.');\n }\n // ponytail: Return matches found so far on huge trees; a search index is the upgrade path.\n if (Date.now() > deadline && next > 0) break;\n const relativeDirectory = pending[next++];\n if (relativeDirectory === undefined) break;\n if (relativeDirectory !== '' && `${relativeDirectory}/`.toLowerCase().includes(query)) {\n matches.push(`${relativeDirectory}/`);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n const entries = getOrThrow(await fs.listDir(path.join(cwd, relativeDirectory), context));\n const matchingDirectories: string[] = [];\n for (const entry of entries) {\n // Ignore rules are written in posix form, and so is every result.\n const file = relativeDirectory === '' ? entry.name : `${relativeDirectory}/${entry.name}`;\n if (entry.kind === 'directory') {\n // An ignored directory is pruned rather than filtered at its leaves:\n // walking a build cache is what exhausts the completion budget. The\n // trailing slash is what makes a directory-only rule such as\n // '.nx-cache/' match.\n if (EXCLUDED_DIRECTORIES.has(entry.name) || isIgnored?.(`${file}/`) === true) continue;\n // Explore a matching folder before its siblings so its files follow it.\n if (query && entry.name.toLowerCase().includes(query)) matchingDirectories.push(file);\n else pending.push(file);\n } else if (entry.kind === 'file' && isIgnored?.(file) !== true && file.toLowerCase().includes(query)) {\n matches.push(file);\n }\n if (matches.length === MAX_FILE_RESULTS) break;\n }\n pending.splice(next, 0, ...matchingDirectories);\n }\n\n return matches.sort().slice(0, MAX_FILE_RESULTS);\n}\n\n/** Bounded, read-only file completion rooted in the owning session, read through the server's platform fs. */\nexport function createSessionFilesApi({ fs }: { fs: FileSystem }): PoApi {\n return {\n basePath: 'files',\n start(context) {\n if (context.scope !== 'session' || !context.cwd) throw new Error('File completion requires a session.');\n const cwd = context.cwd;\n let closed = false;\n return {\n async fetch(request) {\n if (closed) return new Response(null, { status: 503 });\n const url = new URL(request.url);\n if (request.method !== 'GET' || url.pathname !== '/') return new Response(null, { status: 404 });\n const query = (url.searchParams.get('q') ?? '').toLowerCase();\n if (query.length > 256) return Response.json({ error: 'File query is too long.' }, { status: 400 });\n try {\n return Response.json({ files: await listSessionFiles(fs, cwd, query, request.signal) });\n } catch {\n return Response.json({ error: 'File completion could not be read.' }, { status: 503 });\n }\n },\n close() {\n closed = true;\n },\n };\n },\n };\n}\n"],"mappings":";;;;;AASA,MAAM,uCAAuB,IAAI,IAAI,CAAC,QAAQ,cAAc,CAAC;AAC7D,MAAM,eAAe,CAAC,cAAc,WAAW;AAC/C,MAAM,wBAAwB;AAC9B,MAAM,mBAAmB;;;;;;;;;;AAWzB,eAAe,gBACb,IACA,KACA,SAC0D;CAC1D,MAAM,SACJ,MAAM,QAAQ,IACZ,aAAa,IAAI,OAAO,SAAS;EAC/B,IAAI;GACF,MAAM,SAAS,MAAM,GAAG,aAAa,KAAK,KAAK,KAAK,IAAI,GAAG,OAAO;GAClE,OAAO,OAAO,KAAK,OAAO,QAAQ;EACpC,QAAQ;GACN,OAAO;EACT;CACF,CAAC,CACH,EAAA,CACA,KAAK,IAAI;CACX,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,OAAO,KAAA;CACtC,IAAI;EACF,MAAM,UAAU,OAAO,CAAC,CAAC,IAAI,KAAK;EAClC,QAAQ,iBAAkC,QAAQ,QAAQ,YAAY;CACxE,QAAQ;EACN;CACF;AACF;AAEA,eAAe,iBAAiB,IAAgB,KAAa,OAAe,QAAwC;CAClH,MAAM,UAAU,gBAAgB,QAAQ,kBAAkB;CAC1D,MAAM,YAAY,MAAM,gBAAgB,IAAI,KAAK,OAAO;CACxD,MAAM,WAAW,KAAK,IAAI,IAAI;CAC9B,MAAM,UAAU,CAAC,EAAE;CACnB,IAAI,OAAO;CACX,MAAM,UAAoB,CAAC;CAE3B,OAAO,OAAO,QAAQ,UAAU,QAAQ,SAAS,kBAAkB;EACjE,IAAI,OAAO,SACT,MAAM,OAAO,kBAAkB,QAAQ,OAAO,yBAAS,IAAI,MAAM,8BAA8B;EAGjG,IAAI,KAAK,IAAI,IAAI,YAAY,OAAO,GAAG;EACvC,MAAM,oBAAoB,QAAQ;EAClC,IAAI,sBAAsB,KAAA,GAAW;EACrC,IAAI,sBAAsB,MAAM,GAAG,kBAAkB,GAAG,YAAY,CAAC,CAAC,SAAS,KAAK,GAClF,QAAQ,KAAK,GAAG,kBAAkB,EAAE;EAEtC,IAAI,QAAQ,WAAW,kBAAkB;EACzC,MAAM,UAAU,WAAW,MAAM,GAAG,QAAQ,KAAK,KAAK,KAAK,iBAAiB,GAAG,OAAO,CAAC;EACvF,MAAM,sBAAgC,CAAC;EACvC,KAAK,MAAM,SAAS,SAAS;GAE3B,MAAM,OAAO,sBAAsB,KAAK,MAAM,OAAO,GAAG,kBAAkB,GAAG,MAAM;GACnF,IAAI,MAAM,SAAS,aAAa;IAK9B,IAAI,qBAAqB,IAAI,MAAM,IAAI,KAAK,YAAY,GAAG,KAAK,EAAE,MAAM,MAAM;IAE9E,IAAI,SAAS,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,oBAAoB,KAAK,IAAI;SAC/E,QAAQ,KAAK,IAAI;GACxB,OAAO,IAAI,MAAM,SAAS,UAAU,YAAY,IAAI,MAAM,QAAQ,KAAK,YAAY,CAAC,CAAC,SAAS,KAAK,GACjG,QAAQ,KAAK,IAAI;GAEnB,IAAI,QAAQ,WAAW,kBAAkB;EAC3C;EACA,QAAQ,OAAO,MAAM,GAAG,GAAG,mBAAmB;CAChD;CAEA,OAAO,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,gBAAgB;AACjD;;AAGA,SAAgB,sBAAsB,EAAE,MAAiC;CACvE,OAAO;EACL,UAAU;EACV,MAAM,SAAS;GACb,IAAI,QAAQ,UAAU,aAAa,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,qCAAqC;GACtG,MAAM,MAAM,QAAQ;GACpB,IAAI,SAAS;GACb,OAAO;IACL,MAAM,MAAM,SAAS;KACnB,IAAI,QAAQ,OAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC;KACrD,MAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;KAC/B,IAAI,QAAQ,WAAW,SAAS,IAAI,aAAa,KAAK,OAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,IAAI,CAAC;KAC/F,MAAM,SAAS,IAAI,aAAa,IAAI,GAAG,KAAK,GAAA,CAAI,YAAY;KAC5D,IAAI,MAAM,SAAS,KAAK,OAAO,SAAS,KAAK,EAAE,OAAO,0BAA0B,GAAG,EAAE,QAAQ,IAAI,CAAC;KAClG,IAAI;MACF,OAAO,SAAS,KAAK,EAAE,OAAO,MAAM,iBAAiB,IAAI,KAAK,OAAO,QAAQ,MAAM,EAAE,CAAC;KACxF,QAAQ;MACN,OAAO,SAAS,KAAK,EAAE,OAAO,qCAAqC,GAAG,EAAE,QAAQ,IAAI,CAAC;KACvF;IACF;IACA,QAAQ;KACN,SAAS;IACX;GACF;EACF;CACF;AACF"}
@@ -1,8 +1,33 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_home = require("./src/schemas/home.cjs");
2
3
  const require_sessionProtocol = require("./src/schemas/sessionProtocol.cjs");
3
- exports.DOOM_COCKPIT_SERVER_ID = require_sessionProtocol.DOOM_COCKPIT_SERVER_ID;
4
- exports.DOOM_SESSION_MANAGEMENT_SERVICE_ID = require_sessionProtocol.DOOM_SESSION_MANAGEMENT_SERVICE_ID;
5
- exports.DOOM_SESSION_SERVICE_ID = require_sessionProtocol.DOOM_SESSION_SERVICE_ID;
6
- exports.DoomHubService = require_sessionProtocol.DoomHubService;
7
- exports.DoomSessionManagementService = require_sessionProtocol.DoomSessionManagementService;
8
- exports.DoomSessionService = require_sessionProtocol.DoomSessionService;
4
+ const require_protocolContracts = require("./src/schemas/protocolContracts.cjs");
5
+ const require_protocolChannelsContract = require("./src/schemas/protocolChannelsContract.cjs");
6
+ const require_protocolHubContract = require("./src/schemas/protocolHubContract.cjs");
7
+ const require_protocolThreadContract = require("./src/schemas/protocolThreadContract.cjs");
8
+ const require_protocolSessionContract = require("./src/schemas/protocolSessionContract.cjs");
9
+ exports.ChannelFrameSchema = require_protocolChannelsContract.ChannelFrameSchema;
10
+ exports.HOME_ENTITY_LIMIT = require_home.HOME_ENTITY_LIMIT;
11
+ exports.HOME_KINDS = require_home.HOME_KINDS;
12
+ exports.HOME_PAGE_LIMIT = require_home.HOME_PAGE_LIMIT;
13
+ exports.HubNoticeSchema = require_protocolHubContract.HubNoticeSchema;
14
+ exports.MAX_SESSION_GROUPS = require_sessionProtocol.MAX_SESSION_GROUPS;
15
+ exports.MAX_SESSION_GROUP_LENGTH = require_sessionProtocol.MAX_SESSION_GROUP_LENGTH;
16
+ exports.PO_SERVER_HOST = require_protocolContracts.PO_SERVER_HOST;
17
+ exports.PoChannelsContract = require_protocolChannelsContract.PoChannelsContract;
18
+ exports.PoChannelsStateSchema = require_protocolChannelsContract.PoChannelsStateSchema;
19
+ exports.PoHubContract = require_protocolHubContract.PoHubContract;
20
+ exports.PoHubStateSchema = require_protocolHubContract.PoHubStateSchema;
21
+ exports.PoSessionContract = require_protocolSessionContract.PoSessionContract;
22
+ exports.PoThreadContract = require_protocolThreadContract.PoThreadContract;
23
+ exports.PoThreadFrameSchema = require_protocolThreadContract.PoThreadFrameSchema;
24
+ exports.SESSION_GROUPS_CHANGED_FRAME = require_sessionProtocol.SESSION_GROUPS_CHANGED_FRAME;
25
+ exports.chordMethods = require_protocolContracts.chordMethods;
26
+ exports.createProtocolClient = require_protocolContracts.createProtocolClient;
27
+ exports.createTextLink = require_protocolContracts.createTextLink;
28
+ exports.isUpdateRequired = require_protocolContracts.isUpdateRequired;
29
+ exports.normalizeSessionGroups = require_sessionProtocol.normalizeSessionGroups;
30
+ exports.parseHomeContribution = require_home.parseHomeContribution;
31
+ exports.parseHomeEntity = require_home.parseHomeEntity;
32
+ exports.parseHomeProjection = require_home.parseHomeProjection;
33
+ exports.parseHomeSnapshot = require_home.parseHomeSnapshot;
@@ -1,3 +1,8 @@
1
- import { DoomContentBlock, DoomSessionStopReason, DoomSessionUpdate, DoomSessionUpdateEvent, DoomToolCallStatus } from "./src/schemas/sessionUpdates.mjs";
2
- import { AssistantTranscriptItem, ClearQueueResult, DOOM_COCKPIT_SERVER_ID, DOOM_SESSION_MANAGEMENT_SERVICE_ID, DOOM_SESSION_SERVICE_ID, DoomHubService, DoomSessionManagementService, DoomSessionService, ExtensionUiResponse, FollowUpArgs, HubService, ImageContentPart, JsonValue, ModelRef, PromoteQueuedArgs, PromptArgs, ProtocolEvent, QueuedItemArgs, RewindArgs, RewindResult, RewindSummaryEntry, SessionCommand, SessionCommandSourceInfo, SessionLifecycle, SessionManagementService, SessionMessageArgs, SessionPhase, SessionPresentation, SessionService, SessionServiceState, SessionSnapshot, SessionStateInfo, SessionStats, SessionUsage, SteerArgs, TextContentPart, ThinkingContentPart, ThinkingLevel, ToolCallContentPart, ToolTranscriptItem, TranscriptItem, TranscriptPage, TranscriptPageRequest, TranscriptProgress, UserTranscriptItem } from "./src/schemas/sessionProtocol.mjs";
3
- export { AssistantTranscriptItem, ClearQueueResult, DOOM_COCKPIT_SERVER_ID, DOOM_SESSION_MANAGEMENT_SERVICE_ID, DOOM_SESSION_SERVICE_ID, DoomContentBlock, DoomHubService, DoomSessionManagementService, DoomSessionService, DoomSessionStopReason, DoomSessionUpdate, DoomSessionUpdateEvent, DoomToolCallStatus, ExtensionUiResponse, FollowUpArgs, HubService, ImageContentPart, JsonValue, ModelRef, PromoteQueuedArgs, PromptArgs, ProtocolEvent, QueuedItemArgs, RewindArgs, RewindResult, RewindSummaryEntry, SessionCommand, SessionCommandSourceInfo, SessionLifecycle, SessionManagementService, SessionMessageArgs, SessionPhase, SessionPresentation, SessionService, SessionServiceState, SessionSnapshot, SessionStateInfo, SessionStats, SessionUsage, SteerArgs, TextContentPart, ThinkingContentPart, ThinkingLevel, ToolCallContentPart, ToolTranscriptItem, TranscriptItem, TranscriptPage, TranscriptPageRequest, TranscriptProgress, UserTranscriptItem };
1
+ import { AssistantTranscriptItem, ClearQueueResult, ExtensionUiResponse, FollowUpArgs, ImageContentPart, JsonValue, MAX_SESSION_GROUPS, MAX_SESSION_GROUP_LENGTH, ModelRef, PromoteQueuedArgs, PromptArgs, ProtocolEvent, QueuedItemArgs, RewindArgs, RewindResult, RewindSummaryEntry, SESSION_GROUPS_CHANGED_FRAME, SessionCommand, SessionCommandSourceInfo, SessionLifecycle, SessionLive, SessionLiveTool, SessionMessageArgs, SessionPhase, SessionPresentation, SessionService, SessionServiceState, SessionSnapshot, SessionStateInfo, SessionStats, SessionUsage, SteerArgs, TextContentPart, ThinkingContentPart, ThinkingLevel, ToolCallContentPart, ToolTranscriptItem, TranscriptItem, TranscriptPage, TranscriptPageRequest, UserTranscriptItem, normalizeSessionGroups } from "./src/schemas/sessionProtocol.mjs";
2
+ import { HOME_ENTITY_LIMIT, HOME_KINDS, HOME_PAGE_LIMIT, HomeContribution, HomeCoverage, HomeEntity, HomeItem, HomeKind, HomeProjection, HomeRequest, HomeSnapshot, HomeSourceStatus, parseHomeContribution, parseHomeEntity, parseHomeProjection, parseHomeSnapshot } from "./src/schemas/home.mjs";
3
+ import { ChordMethod, ChordMethods, PO_SERVER_HOST, PoMethodSchemas, ProtocolClient, ProtocolConnectionState, TextPort, chordMethods, createProtocolClient, createTextLink, isUpdateRequired } from "./src/schemas/protocolContracts.mjs";
4
+ import { PoSessionContract, SessionRef } from "./src/schemas/protocolSessionContract.mjs";
5
+ import { HubNotice, HubNoticeSchema, HubRef, HubSessionView, HubWorkspaceView, PoHubContract, PoHubStateSchema } from "./src/schemas/protocolHubContract.mjs";
6
+ import { PoThreadContract, PoThreadFrameSchema, ThreadRef } from "./src/schemas/protocolThreadContract.mjs";
7
+ import { ChannelFrameSchema, ChannelsRef, PoChannelsContract, PoChannelsStateSchema } from "./src/schemas/protocolChannelsContract.mjs";
8
+ export { AssistantTranscriptItem, ChannelFrameSchema, ChannelsRef, ChordMethod, ChordMethods, ClearQueueResult, ExtensionUiResponse, FollowUpArgs, HOME_ENTITY_LIMIT, HOME_KINDS, HOME_PAGE_LIMIT, HomeContribution, HomeCoverage, HomeEntity, HomeItem, HomeKind, HomeProjection, HomeRequest, HomeSnapshot, HomeSourceStatus, HubNotice, HubNoticeSchema, HubRef, HubSessionView, HubWorkspaceView, ImageContentPart, JsonValue, MAX_SESSION_GROUPS, MAX_SESSION_GROUP_LENGTH, ModelRef, PO_SERVER_HOST, PoChannelsContract, PoChannelsStateSchema, PoHubContract, PoHubStateSchema, PoMethodSchemas, PoSessionContract, PoThreadContract, PoThreadFrameSchema, PromoteQueuedArgs, PromptArgs, ProtocolClient, ProtocolConnectionState, ProtocolEvent, QueuedItemArgs, RewindArgs, RewindResult, RewindSummaryEntry, SESSION_GROUPS_CHANGED_FRAME, SessionCommand, SessionCommandSourceInfo, SessionLifecycle, SessionLive, SessionLiveTool, SessionMessageArgs, SessionPhase, SessionPresentation, SessionRef, SessionService, SessionServiceState, SessionSnapshot, SessionStateInfo, SessionStats, SessionUsage, SteerArgs, TextContentPart, TextPort, ThinkingContentPart, ThinkingLevel, ThreadRef, ToolCallContentPart, ToolTranscriptItem, TranscriptItem, TranscriptPage, TranscriptPageRequest, UserTranscriptItem, chordMethods, createProtocolClient, createTextLink, isUpdateRequired, normalizeSessionGroups, parseHomeContribution, parseHomeEntity, parseHomeProjection, parseHomeSnapshot };
@@ -1,2 +1,8 @@
1
- import { DOOM_COCKPIT_SERVER_ID, DOOM_SESSION_MANAGEMENT_SERVICE_ID, DOOM_SESSION_SERVICE_ID, DoomHubService, DoomSessionManagementService, DoomSessionService } from "./src/schemas/sessionProtocol.mjs";
2
- export { DOOM_COCKPIT_SERVER_ID, DOOM_SESSION_MANAGEMENT_SERVICE_ID, DOOM_SESSION_SERVICE_ID, DoomHubService, DoomSessionManagementService, DoomSessionService };
1
+ import { HOME_ENTITY_LIMIT, HOME_KINDS, HOME_PAGE_LIMIT, parseHomeContribution, parseHomeEntity, parseHomeProjection, parseHomeSnapshot } from "./src/schemas/home.mjs";
2
+ import { MAX_SESSION_GROUPS, MAX_SESSION_GROUP_LENGTH, SESSION_GROUPS_CHANGED_FRAME, normalizeSessionGroups } from "./src/schemas/sessionProtocol.mjs";
3
+ import { PO_SERVER_HOST, chordMethods, createProtocolClient, createTextLink, isUpdateRequired } from "./src/schemas/protocolContracts.mjs";
4
+ import { ChannelFrameSchema, PoChannelsContract, PoChannelsStateSchema } from "./src/schemas/protocolChannelsContract.mjs";
5
+ import { HubNoticeSchema, PoHubContract, PoHubStateSchema } from "./src/schemas/protocolHubContract.mjs";
6
+ import { PoThreadContract, PoThreadFrameSchema } from "./src/schemas/protocolThreadContract.mjs";
7
+ import { PoSessionContract } from "./src/schemas/protocolSessionContract.mjs";
8
+ export { ChannelFrameSchema, HOME_ENTITY_LIMIT, HOME_KINDS, HOME_PAGE_LIMIT, HubNoticeSchema, MAX_SESSION_GROUPS, MAX_SESSION_GROUP_LENGTH, PO_SERVER_HOST, PoChannelsContract, PoChannelsStateSchema, PoHubContract, PoHubStateSchema, PoSessionContract, PoThreadContract, PoThreadFrameSchema, SESSION_GROUPS_CHANGED_FRAME, chordMethods, createProtocolClient, createTextLink, isUpdateRequired, normalizeSessionGroups, parseHomeContribution, parseHomeEntity, parseHomeProjection, parseHomeSnapshot };
package/dist/skills.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_skills = require("./src/schemas/skills.cjs");
3
- exports.DOOM_RESOURCE_CATALOG_ENTRY_TYPE = require_skills.DOOM_RESOURCE_CATALOG_ENTRY_TYPE;
4
- exports.DOOM_SKILL_SOURCES_SERVICE = require_skills.DOOM_SKILL_SOURCES_SERVICE;
3
+ exports.PO_RESOURCE_CATALOG_ENTRY_TYPE = require_skills.PO_RESOURCE_CATALOG_ENTRY_TYPE;
4
+ exports.PO_SKILL_SOURCES_SERVICE = require_skills.PO_SKILL_SOURCES_SERVICE;
5
5
  exports.SkillSourceContributionSchema = require_skills.SkillSourceContributionSchema;
6
6
  exports.SkillSourceNameSchema = require_skills.SkillSourceNameSchema;
7
- exports.createDoomSkillSourcesService = require_skills.createDoomSkillSourcesService;
8
- exports.readDoomSkillSourcesService = require_skills.readDoomSkillSourcesService;
9
- exports.requireDoomSkillSourcesService = require_skills.requireDoomSkillSourcesService;
7
+ exports.createPoSkillSourcesService = require_skills.createPoSkillSourcesService;
8
+ exports.readPoSkillSourcesService = require_skills.readPoSkillSourcesService;
9
+ exports.requirePoSkillSourcesService = require_skills.requirePoSkillSourcesService;
package/dist/skills.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { DOOM_RESOURCE_CATALOG_ENTRY_TYPE, DOOM_SKILL_SOURCES_SERVICE, DoomSkillSourcesService, ResourceCatalogProjection, SkillSourceContribution, SkillSourceContributionHandle, SkillSourceContributionSchema, SkillSourceNameSchema, createDoomSkillSourcesService, readDoomSkillSourcesService, requireDoomSkillSourcesService } from "./src/schemas/skills.mjs";
2
- export { DOOM_RESOURCE_CATALOG_ENTRY_TYPE, DOOM_SKILL_SOURCES_SERVICE, type DoomSkillSourcesService, type ResourceCatalogProjection, type SkillSourceContribution, type SkillSourceContributionHandle, SkillSourceContributionSchema, SkillSourceNameSchema, createDoomSkillSourcesService, readDoomSkillSourcesService, requireDoomSkillSourcesService };
1
+ import { PO_RESOURCE_CATALOG_ENTRY_TYPE, PO_SKILL_SOURCES_SERVICE, PoSkillSourcesService, ResourceCatalogProjection, SkillSourceContribution, SkillSourceContributionHandle, SkillSourceContributionSchema, SkillSourceNameSchema, createPoSkillSourcesService, readPoSkillSourcesService, requirePoSkillSourcesService } from "./src/schemas/skills.mjs";
2
+ export { PO_RESOURCE_CATALOG_ENTRY_TYPE, PO_SKILL_SOURCES_SERVICE, type PoSkillSourcesService, type ResourceCatalogProjection, type SkillSourceContribution, type SkillSourceContributionHandle, SkillSourceContributionSchema, SkillSourceNameSchema, createPoSkillSourcesService, readPoSkillSourcesService, requirePoSkillSourcesService };
package/dist/skills.mjs CHANGED
@@ -1,2 +1 @@
1
- import { DOOM_RESOURCE_CATALOG_ENTRY_TYPE, DOOM_SKILL_SOURCES_SERVICE, SkillSourceContributionSchema, SkillSourceNameSchema, createDoomSkillSourcesService, readDoomSkillSourcesService, requireDoomSkillSourcesService } from "./src/schemas/skills.mjs";
2
- export { DOOM_RESOURCE_CATALOG_ENTRY_TYPE, DOOM_SKILL_SOURCES_SERVICE, SkillSourceContributionSchema, SkillSourceNameSchema, createDoomSkillSourcesService, readDoomSkillSourcesService, requireDoomSkillSourcesService };
1
+ export { PO_RESOURCE_CATALOG_ENTRY_TYPE, PO_SKILL_SOURCES_SERVICE, SkillSourceContributionSchema, SkillSourceNameSchema, createPoSkillSourcesService, readPoSkillSourcesService, requirePoSkillSourcesService } from "./src/schemas/skills.mjs";
@@ -1,5 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
3
+ const require_docs = require("./src/services/durableSession/docs.cjs");
4
+ const require_index = require("./src/services/durableSession/index.cjs");
3
5
  let node_crypto = require("node:crypto");
4
6
  let node_fs = require("node:fs");
5
7
  node_fs = require_runtime.__toESM(node_fs, 1);
@@ -7,39 +9,19 @@ let node_path = require("node:path");
7
9
  node_path = require_runtime.__toESM(node_path, 1);
8
10
  let node_sqlite = require("node:sqlite");
9
11
  let _earendil_works_pi_durable = require("@earendil-works/pi-durable");
10
- let _earendil_works_chord_context = require("@earendil-works/chord/context");
12
+ let dist_interop_chordContext_mjs = require("../dist/interop/chordContext.mjs");
11
13
  let _earendil_works_pi_durable_storage_sqlite = require("@earendil-works/pi-durable/storage/sqlite");
12
14
  let _earendil_works_pi_durable_storage_sqlite_node = require("@earendil-works/pi-durable/storage/sqlite/node");
13
15
  //#region src/services/sqliteSessionStorage/index.ts
14
- const DURABLE_BACKGROUND_CONTEXT = _earendil_works_chord_context.BACKGROUND_CONTEXT;
15
- const DURABLE_DIRECTORY = "durable-v1";
16
- /** Public string identity belongs to Doom, not the durable numeric ID namespace. */
17
- const SessionIdentityDoc = (0, _earendil_works_pi_durable.defineDoc)({
18
- kind: "po.session.identity",
19
- version: 1,
20
- scope: "session",
21
- initial: () => ({
22
- id: "",
23
- createdAt: 0,
24
- parentSessionId: ""
25
- })
26
- });
27
- const SessionMetadataDoc = (0, _earendil_works_pi_durable.defineDoc)({
28
- kind: "po.session.metadata",
29
- version: 1,
30
- scope: "session",
31
- initial: () => ({
32
- name: "",
33
- workspaceRoot: "",
34
- execution: "",
35
- laneName: "main"
36
- })
37
- });
16
+ const DURABLE_BACKGROUND_CONTEXT = dist_interop_chordContext_mjs.BACKGROUND_CONTEXT;
38
17
  /** Validate existing files without admitting a writer or applying schema upgrades. */
39
18
  function validateDurableSessionFile(file) {
19
+ if (!node_fs.default.existsSync(file)) throw new Error(`SQLite session not found: ${node_path.default.basename(file, ".sqlite")}`);
40
20
  const database = new node_sqlite.DatabaseSync(file, { readOnly: true });
21
+ let version;
41
22
  try {
42
- if (database.prepare("SELECT version FROM durable_schema WHERE singleton = 1").get()?.version !== 1) throw new Error("Unsupported durable SQLite schema");
23
+ version = database.prepare("SELECT version FROM durable_schema WHERE singleton = 1").get()?.version;
24
+ if (version !== _earendil_works_pi_durable_storage_sqlite.CURRENT_SQLITE_SCHEMA_VERSION) throw new Error("Unsupported durable SQLite schema");
43
25
  const tables = database.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all();
44
26
  for (const name of [
45
27
  "durable_metadata",
@@ -52,6 +34,7 @@ function validateDurableSessionFile(file) {
52
34
  "document_revisions"
53
35
  ]) if (!tables.some((table) => table.name === name)) throw new Error("Invalid durable SQLite schema");
54
36
  } catch (cause) {
37
+ if (typeof version === "number" && version > _earendil_works_pi_durable_storage_sqlite.CURRENT_SQLITE_SCHEMA_VERSION) throw new Error("This session was written by a newer Po. Update Po to open it.", { cause });
55
38
  throw new Error("Unsupported or legacy SQLite session format", { cause });
56
39
  } finally {
57
40
  database.close();
@@ -95,17 +78,18 @@ async function openReadOnlyDurableStorage(file) {
95
78
  throw error;
96
79
  }
97
80
  }
81
+ const SESSION_ID = /^[a-zA-Z0-9_-]+$/u;
82
+ /** The durable-v1 file that holds one session. */
83
+ function sqliteSessionFile(sessionsRoot, sessionId) {
84
+ if (!SESSION_ID.test(sessionId)) throw new Error("Invalid SQLite session id");
85
+ return node_path.default.resolve(sessionsRoot, require_index.DURABLE_DIRECTORY, `${sessionId}.sqlite`);
86
+ }
98
87
  /** Opens the one fresh-format SQLite container owned by a server session. */
99
88
  async function openSqliteSessionStorage(options, context) {
100
- if (!options.historyOwnership) throw new Error("SQLite sessions require explicit HistoryOwnership");
101
- if (!options.sessionsRoot && !options.sessionPath) throw new Error("SQLite sessions require a server data directory");
102
- const id = options.sessionId ?? (options.sessionPath ? node_path.default.basename(options.sessionPath, ".sqlite") : (0, node_crypto.randomUUID)());
103
- if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error("Invalid SQLite session id");
104
- const sessionFile = node_path.default.resolve(options.sessionPath ?? node_path.default.join(options.sessionsRoot, "durable-v1", `${id}.sqlite`));
105
- if (node_path.default.basename(node_path.default.dirname(sessionFile)) !== "durable-v1" || node_path.default.extname(sessionFile) !== ".sqlite") throw new Error("Unsupported or legacy SQLite session path");
89
+ const id = options.sessionId ?? (0, node_crypto.randomUUID)();
90
+ const sessionFile = sqliteSessionFile(options.sessionsRoot, id);
106
91
  const existing = node_fs.default.existsSync(sessionFile);
107
- if (!existing && options.sessionsRoot && node_fs.default.existsSync(node_path.default.join(options.sessionsRoot, `${id}.sqlite`))) throw new Error("Legacy SQLite sessions are unsupported by fresh durable storage");
108
- if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);
92
+ if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);
109
93
  if (existing) validateDurableSessionFile(sessionFile);
110
94
  node_fs.default.mkdirSync(node_path.default.dirname(sessionFile), {
111
95
  recursive: true,
@@ -122,22 +106,15 @@ async function openSqliteSessionStorage(options, context) {
122
106
  database = await (0, _earendil_works_pi_durable_storage_sqlite_node.openNodeSqliteDatabase)(sessionFile);
123
107
  storage = await _earendil_works_pi_durable_storage_sqlite.SqliteStorage.open(database);
124
108
  const session = (0, _earendil_works_pi_durable.createSession)(storage);
125
- const identity = await session.snapshot(SessionIdentityDoc, context);
126
- if (existing && (!identity || identity.id !== id)) throw new Error("SQLite session id does not match the requested session");
127
- if (!existing) {
128
- await session.commit(async (tx) => {
129
- const doc = await tx.doc(SessionIdentityDoc);
130
- doc.id = id;
131
- doc.createdAt = Date.now();
132
- doc.parentSessionId = options.parentSessionId ?? "";
133
- }, context);
134
- node_fs.default.chmodSync(sessionFile, 384);
135
- }
109
+ await require_index.initializeSessionIdentity(session, {
110
+ id,
111
+ existing,
112
+ parentSessionId: options.parentSessionId
113
+ }, context);
114
+ if (!existing) node_fs.default.chmodSync(sessionFile, 384);
136
115
  return {
137
116
  storage,
138
117
  session,
139
- sessionFile,
140
- repository: { close: (closeContext = context) => session.close(closeContext) },
141
118
  historyLease
142
119
  };
143
120
  } catch (error) {
@@ -158,11 +135,12 @@ async function openSqliteSessionStorage(options, context) {
158
135
  }
159
136
  //#endregion
160
137
  exports.DURABLE_BACKGROUND_CONTEXT = DURABLE_BACKGROUND_CONTEXT;
161
- exports.DURABLE_DIRECTORY = DURABLE_DIRECTORY;
162
- exports.SessionIdentityDoc = SessionIdentityDoc;
163
- exports.SessionMetadataDoc = SessionMetadataDoc;
138
+ exports.DURABLE_DIRECTORY = require_index.DURABLE_DIRECTORY;
139
+ exports.SessionIdentityDoc = require_docs.SessionIdentityDoc;
140
+ exports.SessionMetadataDoc = require_docs.SessionMetadataDoc;
164
141
  exports.openReadOnlyDurableStorage = openReadOnlyDurableStorage;
165
142
  exports.openSqliteSessionStorage = openSqliteSessionStorage;
143
+ exports.sqliteSessionFile = sqliteSessionFile;
166
144
  exports.validateDurableSessionFile = validateDurableSessionFile;
167
145
 
168
146
  //# sourceMappingURL=sqliteSessionStorage.cjs.map