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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -0,0 +1,62 @@
1
+ import { userInfo } from "node:os";
2
+ import path from "node:path";
3
+ import { lstat, mkdir, realpath, rm } from "node:fs/promises";
4
+ //#region src/services/sessionFiles/sessionDirectory.ts
5
+ /** Validate every Po-owned ancestor. OS temp itself may be shared. */
6
+ async function checkedSessionDirectory(platform, directory, create) {
7
+ const base = await realpath(platform.temporaryDirectory);
8
+ const relative = path.relative(platform.temporaryDirectory, directory);
9
+ if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) throw new Error("Unsafe session temp root.");
10
+ let current = base;
11
+ const uid = userInfo().uid;
12
+ for (const segment of relative.split(path.sep)) {
13
+ current = path.join(current, segment);
14
+ if (create) try {
15
+ await mkdir(current, { mode: 448 });
16
+ } catch (error) {
17
+ if (!(error instanceof Error && "code" in error && error.code === "EEXIST")) throw error;
18
+ }
19
+ const info = await lstat(current);
20
+ if (!info.isDirectory() || info.isSymbolicLink() || info.uid !== uid || (info.mode & 63) !== 0) throw new Error("Unsafe session temporary directory.");
21
+ if (await realpath(current) !== current) throw new Error("Session temporary directory changed during access.");
22
+ }
23
+ return current;
24
+ }
25
+ async function prepareSessionDirectory(platform, directory) {
26
+ return checkedSessionDirectory(platform, directory, true);
27
+ }
28
+ /** Remove only an existing session temp tree, never creating missing cleanup targets. */
29
+ async function removeSessionDirectory(platform, directory) {
30
+ try {
31
+ const checked = await checkedSessionDirectory(platform, directory, false);
32
+ await rm(checked, {
33
+ recursive: true,
34
+ force: true
35
+ });
36
+ } catch (error) {
37
+ if (!(error instanceof Error && "code" in error && error.code === "ENOENT")) throw error;
38
+ }
39
+ }
40
+ /** Persistent output roots may contain symlinks as files, but the owned root and parent must not redirect removal. */
41
+ async function removeSessionOutputDirectory(_platform, directory) {
42
+ try {
43
+ const parent = path.dirname(directory);
44
+ for (const target of [parent, directory]) {
45
+ const info = await lstat(target);
46
+ if (!info.isDirectory() || info.isSymbolicLink()) throw new Error("Unsafe session output cleanup target.");
47
+ }
48
+ const realParent = await realpath(parent);
49
+ const realDirectory = await realpath(directory);
50
+ if (realDirectory !== path.join(realParent, path.basename(directory))) throw new Error("Session output cleanup target changed during access.");
51
+ await rm(realDirectory, {
52
+ recursive: true,
53
+ force: true
54
+ });
55
+ } catch (error) {
56
+ if (!(error instanceof Error && "code" in error && error.code === "ENOENT")) throw error;
57
+ }
58
+ }
59
+ //#endregion
60
+ export { prepareSessionDirectory, removeSessionDirectory, removeSessionOutputDirectory };
61
+
62
+ //# sourceMappingURL=sessionDirectory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionDirectory.mjs","names":[],"sources":["../../../../src/services/sessionFiles/sessionDirectory.ts"],"sourcesContent":["import { lstat, mkdir, realpath, rm } from 'node:fs/promises';\nimport { userInfo } from 'node:os';\nimport path from 'node:path';\n\nimport type { PoPlatform } from '../../schemas/platform';\n\n/** Validate every Po-owned ancestor. OS temp itself may be shared. */\nasync function checkedSessionDirectory(platform: PoPlatform, directory: string, create: boolean): Promise<string> {\n const base = await realpath(platform.temporaryDirectory!);\n const relative = path.relative(platform.temporaryDirectory!, directory);\n if (!relative || relative.startsWith('..') || path.isAbsolute(relative)) throw new Error('Unsafe session temp root.');\n let current = base;\n const uid = userInfo().uid;\n for (const segment of relative.split(path.sep)) {\n current = path.join(current, segment);\n if (create) {\n try {\n await mkdir(current, { mode: 0o700 });\n } catch (error) {\n if (!(error instanceof Error && 'code' in error && error.code === 'EEXIST')) throw error;\n }\n }\n const info = await lstat(current);\n if (!info.isDirectory() || info.isSymbolicLink() || info.uid !== uid || (info.mode & 0o077) !== 0)\n throw new Error('Unsafe session temporary directory.');\n if ((await realpath(current)) !== current) throw new Error('Session temporary directory changed during access.');\n }\n return current;\n}\n\nexport async function prepareSessionDirectory(platform: PoPlatform, directory: string): Promise<string> {\n return checkedSessionDirectory(platform, directory, true);\n}\n\n/** Remove only an existing session temp tree, never creating missing cleanup targets. */\nexport async function removeSessionDirectory(platform: PoPlatform, directory: string): Promise<void> {\n try {\n const checked = await checkedSessionDirectory(platform, directory, false);\n await rm(checked, { recursive: true, force: true });\n } catch (error) {\n if (!(error instanceof Error && 'code' in error && error.code === 'ENOENT')) throw error;\n }\n}\n\n/** Persistent output roots may contain symlinks as files, but the owned root and parent must not redirect removal. */\nexport async function removeSessionOutputDirectory(_platform: PoPlatform, directory: string): Promise<void> {\n try {\n const parent = path.dirname(directory);\n for (const target of [parent, directory]) {\n const info = await lstat(target);\n if (!info.isDirectory() || info.isSymbolicLink()) throw new Error('Unsafe session output cleanup target.');\n }\n const realParent = await realpath(parent);\n const realDirectory = await realpath(directory);\n if (realDirectory !== path.join(realParent, path.basename(directory)))\n throw new Error('Session output cleanup target changed during access.');\n await rm(realDirectory, { recursive: true, force: true });\n } catch (error) {\n if (!(error instanceof Error && 'code' in error && error.code === 'ENOENT')) throw error;\n }\n}\n"],"mappings":";;;;;AAOA,eAAe,wBAAwB,UAAsB,WAAmB,QAAkC;CAChH,MAAM,OAAO,MAAM,SAAS,SAAS,kBAAmB;CACxD,MAAM,WAAW,KAAK,SAAS,SAAS,oBAAqB,SAAS;CACtE,IAAI,CAAC,YAAY,SAAS,WAAW,IAAI,KAAK,KAAK,WAAW,QAAQ,GAAG,MAAM,IAAI,MAAM,2BAA2B;CACpH,IAAI,UAAU;CACd,MAAM,MAAM,SAAS,CAAC,CAAC;CACvB,KAAK,MAAM,WAAW,SAAS,MAAM,KAAK,GAAG,GAAG;EAC9C,UAAU,KAAK,KAAK,SAAS,OAAO;EACpC,IAAI,QACF,IAAI;GACF,MAAM,MAAM,SAAS,EAAE,MAAM,IAAM,CAAC;EACtC,SAAS,OAAO;GACd,IAAI,EAAE,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS,WAAW,MAAM;EACrF;EAEF,MAAM,OAAO,MAAM,MAAM,OAAO;EAChC,IAAI,CAAC,KAAK,YAAY,KAAK,KAAK,eAAe,KAAK,KAAK,QAAQ,QAAQ,KAAK,OAAO,QAAW,GAC9F,MAAM,IAAI,MAAM,qCAAqC;EACvD,IAAK,MAAM,SAAS,OAAO,MAAO,SAAS,MAAM,IAAI,MAAM,oDAAoD;CACjH;CACA,OAAO;AACT;AAEA,eAAsB,wBAAwB,UAAsB,WAAoC;CACtG,OAAO,wBAAwB,UAAU,WAAW,IAAI;AAC1D;;AAGA,eAAsB,uBAAuB,UAAsB,WAAkC;CACnG,IAAI;EACF,MAAM,UAAU,MAAM,wBAAwB,UAAU,WAAW,KAAK;EACxE,MAAM,GAAG,SAAS;GAAE,WAAW;GAAM,OAAO;EAAK,CAAC;CACpD,SAAS,OAAO;EACd,IAAI,EAAE,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS,WAAW,MAAM;CACrF;AACF;;AAGA,eAAsB,6BAA6B,WAAuB,WAAkC;CAC1G,IAAI;EACF,MAAM,SAAS,KAAK,QAAQ,SAAS;EACrC,KAAK,MAAM,UAAU,CAAC,QAAQ,SAAS,GAAG;GACxC,MAAM,OAAO,MAAM,MAAM,MAAM;GAC/B,IAAI,CAAC,KAAK,YAAY,KAAK,KAAK,eAAe,GAAG,MAAM,IAAI,MAAM,uCAAuC;EAC3G;EACA,MAAM,aAAa,MAAM,SAAS,MAAM;EACxC,MAAM,gBAAgB,MAAM,SAAS,SAAS;EAC9C,IAAI,kBAAkB,KAAK,KAAK,YAAY,KAAK,SAAS,SAAS,CAAC,GAClE,MAAM,IAAI,MAAM,sDAAsD;EACxE,MAAM,GAAG,eAAe;GAAE,WAAW;GAAM,OAAO;EAAK,CAAC;CAC1D,SAAS,OAAO;EACd,IAAI,EAAE,iBAAiB,SAAS,UAAU,SAAS,MAAM,SAAS,WAAW,MAAM;CACrF;AACF"}
@@ -1,44 +1,42 @@
1
- let node_child_process = require("node:child_process");
1
+ let dist_interop_chordContext_mjs = require("../../../../dist/interop/chordContext.mjs");
2
2
  //#region src/services/sessionGitStatus/index.ts
3
- const GIT_TIMEOUT_MS = 5e3;
3
+ const GIT_TIMEOUT_SECONDS = 5;
4
4
  const BRANCH_HEAD_PREFIX = "# branch.head ";
5
5
  const BRANCH_OID_PREFIX = "# branch.oid ";
6
6
  const DETACHED_HEAD = "(detached)";
7
7
  const SHORT_OID_LENGTH = 7;
8
8
  /**
9
9
  * Reads the branch and dirty flag for a session cwd with one `git status` call.
10
- * Resolves undefined when the cwd is not a git work tree or git is unavailable,
11
- * which the session summary documents as "no git status".
10
+ * Resolves undefined when the cwd is not a git work tree, git is unavailable, or the
11
+ * environment has no shell (the edge), which the session summary documents as "no git status".
12
12
  */
13
- function readSessionGitStatus(cwd) {
14
- return new Promise((resolve) => {
15
- (0, node_child_process.execFile)("git", [
16
- "status",
17
- "--porcelain=v2",
18
- "--branch",
19
- "--untracked-files=no"
20
- ], {
21
- cwd,
22
- timeout: GIT_TIMEOUT_MS,
23
- windowsHide: true
24
- }, (error, stdout) => {
25
- if (error) {
26
- resolve(void 0);
27
- return;
28
- }
29
- let head;
30
- let oid;
31
- let dirty = false;
32
- for (const line of stdout.split("\n")) if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(14).trim();
33
- else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(13).trim();
34
- else if (line !== "" && !line.startsWith("#")) dirty = true;
35
- const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;
36
- resolve(branch ? {
37
- branch,
38
- dirty
39
- } : void 0);
40
- });
41
- });
13
+ async function readSessionGitStatus(shell, cwd) {
14
+ let stdout = "";
15
+ const result = await shell.exec([
16
+ "git",
17
+ "status",
18
+ "--porcelain=v2",
19
+ "--branch",
20
+ "--untracked-files=no"
21
+ ], {
22
+ cwd,
23
+ timeout: GIT_TIMEOUT_SECONDS,
24
+ onOutput: (text, _context, info) => {
25
+ if (info.stream === "stdout") stdout += text;
26
+ }
27
+ }, dist_interop_chordContext_mjs.BACKGROUND_CONTEXT).catch(() => void 0);
28
+ if (!result?.ok || result.value.exitCode !== 0) return void 0;
29
+ let head;
30
+ let oid;
31
+ let dirty = false;
32
+ for (const line of stdout.split("\n")) if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(14).trim();
33
+ else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(13).trim();
34
+ else if (line !== "" && !line.startsWith("#")) dirty = true;
35
+ const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;
36
+ return branch ? {
37
+ branch,
38
+ dirty
39
+ } : void 0;
42
40
  }
43
41
  //#endregion
44
42
  exports.readSessionGitStatus = readSessionGitStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/sessionGitStatus/index.ts"],"sourcesContent":["import { execFile } from 'node:child_process';\n\nimport type { SessionGitStatus } from './type';\n\nconst GIT_TIMEOUT_MS = 5_000;\nconst BRANCH_HEAD_PREFIX = '# branch.head ';\nconst BRANCH_OID_PREFIX = '# branch.oid ';\nconst DETACHED_HEAD = '(detached)';\nconst SHORT_OID_LENGTH = 7;\n\n/**\n * Reads the branch and dirty flag for a session cwd with one `git status` call.\n * Resolves undefined when the cwd is not a git work tree or git is unavailable,\n * which the session summary documents as \"no git status\".\n */\nexport function readSessionGitStatus(cwd: string): Promise<SessionGitStatus | undefined> {\n return new Promise((resolve) => {\n execFile(\n 'git',\n ['status', '--porcelain=v2', '--branch', '--untracked-files=no'],\n { cwd, timeout: GIT_TIMEOUT_MS, windowsHide: true },\n (error, stdout) => {\n if (error) {\n resolve(undefined);\n return;\n }\n let head: string | undefined;\n let oid: string | undefined;\n let dirty = false;\n for (const line of stdout.split('\\n')) {\n if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(BRANCH_HEAD_PREFIX.length).trim();\n else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(BRANCH_OID_PREFIX.length).trim();\n else if (line !== '' && !line.startsWith('#')) dirty = true;\n }\n const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;\n resolve(branch ? { branch, dirty } : undefined);\n },\n );\n });\n}\n"],"mappings":";;AAIA,MAAM,iBAAiB;AACvB,MAAM,qBAAqB;AAC3B,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;;;;;;AAOzB,SAAgB,qBAAqB,KAAoD;CACvF,OAAO,IAAI,SAAS,YAAY;EAC9B,CAAA,GAAA,mBAAA,SAAA,CACE,OACA;GAAC;GAAU;GAAkB;GAAY;EAAsB,GAC/D;GAAE;GAAK,SAAS;GAAgB,aAAa;EAAK,IACjD,OAAO,WAAW;GACjB,IAAI,OAAO;IACT,QAAQ,KAAA,CAAS;IACjB;GACF;GACA,IAAI;GACJ,IAAI;GACJ,IAAI,QAAQ;GACZ,KAAK,MAAM,QAAQ,OAAO,MAAM,IAAI,GAClC,IAAI,KAAK,WAAW,kBAAkB,GAAG,OAAO,KAAK,MAAM,EAAyB,CAAC,CAAC,KAAK;QACtF,IAAI,KAAK,WAAW,iBAAiB,GAAG,MAAM,KAAK,MAAM,EAAwB,CAAC,CAAC,KAAK;QACxF,IAAI,SAAS,MAAM,CAAC,KAAK,WAAW,GAAG,GAAG,QAAQ;GAEzD,MAAM,SAAS,SAAS,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,IAAI;GAC1E,QAAQ,SAAS;IAAE;IAAQ;GAAM,IAAI,KAAA,CAAS;EAChD,CACF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"index.cjs","names":["BACKGROUND_CONTEXT"],"sources":["../../../../src/services/sessionGitStatus/index.ts"],"sourcesContent":["import { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport type { Shell } from '@earendil-works/pi-durable/env';\n\nimport type { SessionGitStatus } from './type';\n\nconst GIT_TIMEOUT_SECONDS = 5;\nconst BRANCH_HEAD_PREFIX = '# branch.head ';\nconst BRANCH_OID_PREFIX = '# branch.oid ';\nconst DETACHED_HEAD = '(detached)';\nconst SHORT_OID_LENGTH = 7;\n\n/**\n * Reads the branch and dirty flag for a session cwd with one `git status` call.\n * Resolves undefined when the cwd is not a git work tree, git is unavailable, or the\n * environment has no shell (the edge), which the session summary documents as \"no git status\".\n */\nexport async function readSessionGitStatus(shell: Shell, cwd: string): Promise<SessionGitStatus | undefined> {\n let stdout = '';\n const result = await shell\n .exec(\n ['git', 'status', '--porcelain=v2', '--branch', '--untracked-files=no'],\n {\n cwd,\n timeout: GIT_TIMEOUT_SECONDS,\n onOutput: (text, _context, info) => {\n if (info.stream === 'stdout') stdout += text;\n },\n },\n BACKGROUND_CONTEXT,\n )\n .catch(() => undefined);\n if (!result?.ok || result.value.exitCode !== 0) return undefined;\n let head: string | undefined;\n let oid: string | undefined;\n let dirty = false;\n for (const line of stdout.split('\\n')) {\n if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(BRANCH_HEAD_PREFIX.length).trim();\n else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(BRANCH_OID_PREFIX.length).trim();\n else if (line !== '' && !line.startsWith('#')) dirty = true;\n }\n const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;\n return branch ? { branch, dirty } : undefined;\n}\n"],"mappings":";;AAKA,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;;;;;;AAOzB,eAAsB,qBAAqB,OAAc,KAAoD;CAC3G,IAAI,SAAS;CACb,MAAM,SAAS,MAAM,MAClB,KACC;EAAC;EAAO;EAAU;EAAkB;EAAY;CAAsB,GACtE;EACE;EACA,SAAS;EACT,WAAW,MAAM,UAAU,SAAS;GAClC,IAAI,KAAK,WAAW,UAAU,UAAU;EAC1C;CACF,GACAA,8BAAAA,kBACF,CAAC,CACA,YAAY,KAAA,CAAS;CACxB,IAAI,CAAC,QAAQ,MAAM,OAAO,MAAM,aAAa,GAAG,OAAO,KAAA;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI,QAAQ;CACZ,KAAK,MAAM,QAAQ,OAAO,MAAM,IAAI,GAClC,IAAI,KAAK,WAAW,kBAAkB,GAAG,OAAO,KAAK,MAAM,EAAyB,CAAC,CAAC,KAAK;MACtF,IAAI,KAAK,WAAW,iBAAiB,GAAG,MAAM,KAAK,MAAM,EAAwB,CAAC,CAAC,KAAK;MACxF,IAAI,SAAS,MAAM,CAAC,KAAK,WAAW,GAAG,GAAG,QAAQ;CAEzD,MAAM,SAAS,SAAS,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,IAAI;CAC1E,OAAO,SAAS;EAAE;EAAQ;CAAM,IAAI,KAAA;AACtC"}
@@ -1,44 +1,42 @@
1
- import { execFile } from "node:child_process";
1
+ import { BACKGROUND_CONTEXT } from "@earendil-works/chord/context";
2
2
  //#region src/services/sessionGitStatus/index.ts
3
- const GIT_TIMEOUT_MS = 5e3;
3
+ const GIT_TIMEOUT_SECONDS = 5;
4
4
  const BRANCH_HEAD_PREFIX = "# branch.head ";
5
5
  const BRANCH_OID_PREFIX = "# branch.oid ";
6
6
  const DETACHED_HEAD = "(detached)";
7
7
  const SHORT_OID_LENGTH = 7;
8
8
  /**
9
9
  * Reads the branch and dirty flag for a session cwd with one `git status` call.
10
- * Resolves undefined when the cwd is not a git work tree or git is unavailable,
11
- * which the session summary documents as "no git status".
10
+ * Resolves undefined when the cwd is not a git work tree, git is unavailable, or the
11
+ * environment has no shell (the edge), which the session summary documents as "no git status".
12
12
  */
13
- function readSessionGitStatus(cwd) {
14
- return new Promise((resolve) => {
15
- execFile("git", [
16
- "status",
17
- "--porcelain=v2",
18
- "--branch",
19
- "--untracked-files=no"
20
- ], {
21
- cwd,
22
- timeout: GIT_TIMEOUT_MS,
23
- windowsHide: true
24
- }, (error, stdout) => {
25
- if (error) {
26
- resolve(void 0);
27
- return;
28
- }
29
- let head;
30
- let oid;
31
- let dirty = false;
32
- for (const line of stdout.split("\n")) if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(14).trim();
33
- else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(13).trim();
34
- else if (line !== "" && !line.startsWith("#")) dirty = true;
35
- const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;
36
- resolve(branch ? {
37
- branch,
38
- dirty
39
- } : void 0);
40
- });
41
- });
13
+ async function readSessionGitStatus(shell, cwd) {
14
+ let stdout = "";
15
+ const result = await shell.exec([
16
+ "git",
17
+ "status",
18
+ "--porcelain=v2",
19
+ "--branch",
20
+ "--untracked-files=no"
21
+ ], {
22
+ cwd,
23
+ timeout: GIT_TIMEOUT_SECONDS,
24
+ onOutput: (text, _context, info) => {
25
+ if (info.stream === "stdout") stdout += text;
26
+ }
27
+ }, BACKGROUND_CONTEXT).catch(() => void 0);
28
+ if (!result?.ok || result.value.exitCode !== 0) return void 0;
29
+ let head;
30
+ let oid;
31
+ let dirty = false;
32
+ for (const line of stdout.split("\n")) if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(14).trim();
33
+ else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(13).trim();
34
+ else if (line !== "" && !line.startsWith("#")) dirty = true;
35
+ const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;
36
+ return branch ? {
37
+ branch,
38
+ dirty
39
+ } : void 0;
42
40
  }
43
41
  //#endregion
44
42
  export { readSessionGitStatus };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/sessionGitStatus/index.ts"],"sourcesContent":["import { execFile } from 'node:child_process';\n\nimport type { SessionGitStatus } from './type';\n\nconst GIT_TIMEOUT_MS = 5_000;\nconst BRANCH_HEAD_PREFIX = '# branch.head ';\nconst BRANCH_OID_PREFIX = '# branch.oid ';\nconst DETACHED_HEAD = '(detached)';\nconst SHORT_OID_LENGTH = 7;\n\n/**\n * Reads the branch and dirty flag for a session cwd with one `git status` call.\n * Resolves undefined when the cwd is not a git work tree or git is unavailable,\n * which the session summary documents as \"no git status\".\n */\nexport function readSessionGitStatus(cwd: string): Promise<SessionGitStatus | undefined> {\n return new Promise((resolve) => {\n execFile(\n 'git',\n ['status', '--porcelain=v2', '--branch', '--untracked-files=no'],\n { cwd, timeout: GIT_TIMEOUT_MS, windowsHide: true },\n (error, stdout) => {\n if (error) {\n resolve(undefined);\n return;\n }\n let head: string | undefined;\n let oid: string | undefined;\n let dirty = false;\n for (const line of stdout.split('\\n')) {\n if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(BRANCH_HEAD_PREFIX.length).trim();\n else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(BRANCH_OID_PREFIX.length).trim();\n else if (line !== '' && !line.startsWith('#')) dirty = true;\n }\n const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;\n resolve(branch ? { branch, dirty } : undefined);\n },\n );\n });\n}\n"],"mappings":";;AAIA,MAAM,iBAAiB;AACvB,MAAM,qBAAqB;AAC3B,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;;;;;;AAOzB,SAAgB,qBAAqB,KAAoD;CACvF,OAAO,IAAI,SAAS,YAAY;EAC9B,SACE,OACA;GAAC;GAAU;GAAkB;GAAY;EAAsB,GAC/D;GAAE;GAAK,SAAS;GAAgB,aAAa;EAAK,IACjD,OAAO,WAAW;GACjB,IAAI,OAAO;IACT,QAAQ,KAAA,CAAS;IACjB;GACF;GACA,IAAI;GACJ,IAAI;GACJ,IAAI,QAAQ;GACZ,KAAK,MAAM,QAAQ,OAAO,MAAM,IAAI,GAClC,IAAI,KAAK,WAAW,kBAAkB,GAAG,OAAO,KAAK,MAAM,EAAyB,CAAC,CAAC,KAAK;QACtF,IAAI,KAAK,WAAW,iBAAiB,GAAG,MAAM,KAAK,MAAM,EAAwB,CAAC,CAAC,KAAK;QACxF,IAAI,SAAS,MAAM,CAAC,KAAK,WAAW,GAAG,GAAG,QAAQ;GAEzD,MAAM,SAAS,SAAS,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,IAAI;GAC1E,QAAQ,SAAS;IAAE;IAAQ;GAAM,IAAI,KAAA,CAAS;EAChD,CACF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/sessionGitStatus/index.ts"],"sourcesContent":["import { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport type { Shell } from '@earendil-works/pi-durable/env';\n\nimport type { SessionGitStatus } from './type';\n\nconst GIT_TIMEOUT_SECONDS = 5;\nconst BRANCH_HEAD_PREFIX = '# branch.head ';\nconst BRANCH_OID_PREFIX = '# branch.oid ';\nconst DETACHED_HEAD = '(detached)';\nconst SHORT_OID_LENGTH = 7;\n\n/**\n * Reads the branch and dirty flag for a session cwd with one `git status` call.\n * Resolves undefined when the cwd is not a git work tree, git is unavailable, or the\n * environment has no shell (the edge), which the session summary documents as \"no git status\".\n */\nexport async function readSessionGitStatus(shell: Shell, cwd: string): Promise<SessionGitStatus | undefined> {\n let stdout = '';\n const result = await shell\n .exec(\n ['git', 'status', '--porcelain=v2', '--branch', '--untracked-files=no'],\n {\n cwd,\n timeout: GIT_TIMEOUT_SECONDS,\n onOutput: (text, _context, info) => {\n if (info.stream === 'stdout') stdout += text;\n },\n },\n BACKGROUND_CONTEXT,\n )\n .catch(() => undefined);\n if (!result?.ok || result.value.exitCode !== 0) return undefined;\n let head: string | undefined;\n let oid: string | undefined;\n let dirty = false;\n for (const line of stdout.split('\\n')) {\n if (line.startsWith(BRANCH_HEAD_PREFIX)) head = line.slice(BRANCH_HEAD_PREFIX.length).trim();\n else if (line.startsWith(BRANCH_OID_PREFIX)) oid = line.slice(BRANCH_OID_PREFIX.length).trim();\n else if (line !== '' && !line.startsWith('#')) dirty = true;\n }\n const branch = head === DETACHED_HEAD ? oid?.slice(0, SHORT_OID_LENGTH) : head;\n return branch ? { branch, dirty } : undefined;\n}\n"],"mappings":";;AAKA,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,oBAAoB;AAC1B,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;;;;;;AAOzB,eAAsB,qBAAqB,OAAc,KAAoD;CAC3G,IAAI,SAAS;CACb,MAAM,SAAS,MAAM,MAClB,KACC;EAAC;EAAO;EAAU;EAAkB;EAAY;CAAsB,GACtE;EACE;EACA,SAAS;EACT,WAAW,MAAM,UAAU,SAAS;GAClC,IAAI,KAAK,WAAW,UAAU,UAAU;EAC1C;CACF,GACA,kBACF,CAAC,CACA,YAAY,KAAA,CAAS;CACxB,IAAI,CAAC,QAAQ,MAAM,OAAO,MAAM,aAAa,GAAG,OAAO,KAAA;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI,QAAQ;CACZ,KAAK,MAAM,QAAQ,OAAO,MAAM,IAAI,GAClC,IAAI,KAAK,WAAW,kBAAkB,GAAG,OAAO,KAAK,MAAM,EAAyB,CAAC,CAAC,KAAK;MACtF,IAAI,KAAK,WAAW,iBAAiB,GAAG,MAAM,KAAK,MAAM,EAAwB,CAAC,CAAC,KAAK;MACxF,IAAI,SAAS,MAAM,CAAC,KAAK,WAAW,GAAG,GAAG,QAAQ;CAEzD,MAAM,SAAS,SAAS,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,IAAI;CAC1E,OAAO,SAAS;EAAE;EAAQ;CAAM,IAAI,KAAA;AACtC"}
@@ -1,3 +1,4 @@
1
+ const require_index = require("../transcriptPages/index.cjs");
1
2
  //#region src/services/sessionPresentation/index.ts
2
3
  const MAX_EVENTS = 1024;
3
4
  const LIVE_EVENTS = 64;
@@ -31,36 +32,11 @@ function createSessionPresentation() {
31
32
  return snapshot();
32
33
  },
33
34
  record(raw) {
34
- if (typeof raw.type !== "string" || raw.type === "response" && [
35
+ if (typeof raw.type !== "string" || raw.type === "message_update" || raw.type === "tool_execution_update" || raw.type === "entry_appended" && raw.entry !== null && typeof raw.entry === "object" && "type" in raw.entry && raw.entry.type === "custom" && "customType" in raw.entry && typeof raw.entry.customType === "string" && require_index.INTERNAL_CUSTOM_ENTRY_TYPES.includes(raw.entry.customType) || raw.type === "response" && [
35
36
  "get_entries",
36
37
  "get_messages",
37
38
  "get_available_models"
38
39
  ].includes(String(raw.command))) return void 0;
39
- if (raw.type === "message_update") {
40
- const event = raw.assistantMessageEvent;
41
- if (!event) {
42
- if (raw.usage === void 0) return void 0;
43
- raw = {
44
- type: "message_update",
45
- usage: raw.usage
46
- };
47
- } else {
48
- const { partial: _partial, ...delta } = event;
49
- if (delta.type === "toolcall_start") {
50
- const tool = raw.message?.content?.[Number(delta.contentIndex)];
51
- if (tool) {
52
- delta.id = tool.id;
53
- delta.toolName = tool.name;
54
- }
55
- }
56
- raw = {
57
- type: "message_update",
58
- assistantMessageEvent: delta,
59
- ...delta.type === "start" && _partial ? { message: _partial } : {},
60
- ...raw.usage === void 0 ? {} : { usage: raw.usage }
61
- };
62
- }
63
- }
64
40
  const encoded = JSON.stringify(raw);
65
41
  const frame = JSON.parse(encoded);
66
42
  const event = {
@@ -82,7 +58,7 @@ function createSessionPresentation() {
82
58
  }
83
59
  if (frame.type === "extension_ui_answered" && typeof frame.id === "string") removeProjection(`dialog:${frame.id}`);
84
60
  const entry = frame.entry;
85
- if (frame.type === "entry_appended" && entry && typeof entry === "object" && !Array.isArray(entry) && entry.type === "custom" && typeof entry.customType === "string" && !["doom-profile-identity", "po.agent-settled"].includes(entry.customType)) key = `custom:${entry.customType}`;
61
+ if (frame.type === "entry_appended" && entry && typeof entry === "object" && !Array.isArray(entry) && entry.type === "custom" && typeof entry.customType === "string" && !["po-profile-identity", "po.agent-settled"].includes(entry.customType)) key = `custom:${entry.customType}`;
86
62
  const size = Buffer.byteLength(encoded);
87
63
  if (key) {
88
64
  removeProjection(key);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/sessionPresentation/index.ts"],"sourcesContent":["import type { ProtocolEvent, SessionPresentation } from '../../exports/sessionProtocol';\n\nconst MAX_EVENTS = 1024;\nconst LIVE_EVENTS = 64;\nconst MAX_BYTES = 8 * 1024 * 1024;\n\n/** Retain current UI projections independently of the bounded live-event history. */\nexport function createSessionPresentation() {\n let revision = 0;\n let dropped = 0;\n let resetRevision = 0;\n let bytes = 0;\n const events: Array<{ event: ProtocolEvent; size: number }> = [];\n const projections = new Map<string, { event: ProtocolEvent; size: number }>();\n let projectedBytes = 0;\n const removeProjection = (key: string) => {\n projectedBytes -= projections.get(key)?.size ?? 0;\n projections.delete(key);\n };\n const snapshot = (): SessionPresentation => ({\n revision,\n dropped,\n resetRevision,\n events: events.map((item) => item.event),\n projections: [...projections.values()].map((item) => item.event),\n });\n return {\n resetCustomEntries(): SessionPresentation {\n // A tree replacement must not replay custom projections from the abandoned branch.\n events.length = 0;\n bytes = 0;\n for (const key of projections.keys()) if (key.startsWith('custom:')) removeProjection(key);\n resetRevision = ++revision;\n return snapshot();\n },\n record(raw: Record<string, unknown>): SessionPresentation | undefined {\n if (\n typeof raw.type !== 'string' ||\n // Queries have typed replies. Do not replay raw history or model configuration.\n (raw.type === 'response' &&\n ['get_entries', 'get_messages', 'get_available_models'].includes(String(raw.command)))\n )\n return undefined;\n if (raw.type === 'message_update') {\n const event = raw.assistantMessageEvent as Record<string, unknown> | undefined;\n if (!event) {\n if (raw.usage === undefined) return undefined;\n raw = { type: 'message_update', usage: raw.usage };\n } else {\n const { partial: _partial, ...delta } = event;\n if (delta.type === 'toolcall_start') {\n const message = raw.message as { content?: Array<{ id?: string; name?: string }> } | undefined;\n const tool = message?.content?.[Number(delta.contentIndex)];\n if (tool) {\n delta.id = tool.id;\n delta.toolName = tool.name;\n }\n }\n raw = {\n type: 'message_update',\n assistantMessageEvent: delta,\n // Aggregate starts have no delta to reconstruct their content from.\n ...(delta.type === 'start' && _partial ? { message: _partial } : {}),\n ...(raw.usage === undefined ? {} : { usage: raw.usage }),\n };\n }\n }\n const encoded = JSON.stringify(raw);\n const frame: ProtocolEvent['frame'] = JSON.parse(encoded);\n const event = { sequence: ++revision, frame };\n let key: string | undefined;\n if (frame.type === 'response' && frame.command === 'get_state' && frame.success === true) key = 'agent:model';\n if (frame.type === 'thinking_level_changed') key = 'agent:thinking';\n if (frame.type === 'extension_ui_request') {\n if (frame.method === 'setStatus' && typeof frame.statusKey === 'string') key = `status:${frame.statusKey}`;\n else if (frame.method === 'setWidget' && typeof frame.widgetKey === 'string') key = `widget:${frame.widgetKey}`;\n else if (\n typeof frame.id === 'string' &&\n typeof frame.method === 'string' &&\n ['select', 'confirm', 'input', 'editor'].includes(frame.method)\n )\n key = `dialog:${frame.id}`;\n }\n if (frame.type === 'extension_ui_answered' && typeof frame.id === 'string')\n removeProjection(`dialog:${frame.id}`);\n const entry = frame.entry;\n if (\n frame.type === 'entry_appended' &&\n entry &&\n typeof entry === 'object' &&\n !Array.isArray(entry) &&\n entry.type === 'custom' &&\n typeof entry.customType === 'string' &&\n !['doom-profile-identity', 'po.agent-settled'].includes(entry.customType)\n )\n key = `custom:${entry.customType}`;\n const size = Buffer.byteLength(encoded);\n if (key) {\n removeProjection(key);\n projections.set(key, { event, size });\n projectedBytes += size;\n while (projections.size > MAX_EVENTS || projectedBytes > MAX_BYTES) {\n const oldest = projections.keys().next().value;\n if (oldest === undefined) break;\n removeProjection(oldest);\n dropped += 1;\n }\n }\n events.push({ event, size });\n bytes += size;\n while (events.length > LIVE_EVENTS || bytes > MAX_BYTES) {\n const removed = events.shift();\n if (removed) {\n bytes -= removed.size;\n dropped += 1;\n }\n }\n return snapshot();\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["INTERNAL_CUSTOM_ENTRY_TYPES"],"sources":["../../../../src/services/sessionPresentation/index.ts"],"sourcesContent":["import type { ProtocolEvent, SessionPresentation } from '../../exports/sessionProtocol';\nimport { INTERNAL_CUSTOM_ENTRY_TYPES } from '../transcriptPages';\n\nconst MAX_EVENTS = 1024;\nconst LIVE_EVENTS = 64;\nconst MAX_BYTES = 8 * 1024 * 1024;\n\n/** Retain current UI projections independently of the bounded live-event history. */\nexport function createSessionPresentation() {\n let revision = 0;\n let dropped = 0;\n let resetRevision = 0;\n let bytes = 0;\n const events: Array<{ event: ProtocolEvent; size: number }> = [];\n const projections = new Map<string, { event: ProtocolEvent; size: number }>();\n let projectedBytes = 0;\n const removeProjection = (key: string) => {\n projectedBytes -= projections.get(key)?.size ?? 0;\n projections.delete(key);\n };\n const snapshot = (): SessionPresentation => ({\n revision,\n dropped,\n resetRevision,\n events: events.map((item) => item.event),\n projections: [...projections.values()].map((item) => item.event),\n });\n return {\n resetCustomEntries(): SessionPresentation {\n // A tree replacement must not replay custom projections from the abandoned branch.\n events.length = 0;\n bytes = 0;\n for (const key of projections.keys()) if (key.startsWith('custom:')) removeProjection(key);\n resetRevision = ++revision;\n return snapshot();\n },\n record(raw: Record<string, unknown>): SessionPresentation | undefined {\n if (\n typeof raw.type !== 'string' ||\n // Streaming partials reach clients through `live`; the ring keeps only the frames around them.\n raw.type === 'message_update' ||\n raw.type === 'tool_execution_update' ||\n // Internal journal payloads are not browser state.\n (raw.type === 'entry_appended' &&\n raw.entry !== null &&\n typeof raw.entry === 'object' &&\n 'type' in raw.entry &&\n raw.entry.type === 'custom' &&\n 'customType' in raw.entry &&\n typeof raw.entry.customType === 'string' &&\n INTERNAL_CUSTOM_ENTRY_TYPES.includes(raw.entry.customType)) ||\n // Queries have typed replies. Do not replay raw history or model configuration.\n (raw.type === 'response' &&\n ['get_entries', 'get_messages', 'get_available_models'].includes(String(raw.command)))\n )\n return undefined;\n const encoded = JSON.stringify(raw);\n const frame: ProtocolEvent['frame'] = JSON.parse(encoded);\n const event = { sequence: ++revision, frame };\n let key: string | undefined;\n if (frame.type === 'response' && frame.command === 'get_state' && frame.success === true) key = 'agent:model';\n if (frame.type === 'thinking_level_changed') key = 'agent:thinking';\n if (frame.type === 'extension_ui_request') {\n if (frame.method === 'setStatus' && typeof frame.statusKey === 'string') key = `status:${frame.statusKey}`;\n else if (frame.method === 'setWidget' && typeof frame.widgetKey === 'string') key = `widget:${frame.widgetKey}`;\n else if (\n typeof frame.id === 'string' &&\n typeof frame.method === 'string' &&\n ['select', 'confirm', 'input', 'editor'].includes(frame.method)\n )\n key = `dialog:${frame.id}`;\n }\n if (frame.type === 'extension_ui_answered' && typeof frame.id === 'string')\n removeProjection(`dialog:${frame.id}`);\n const entry = frame.entry;\n if (\n frame.type === 'entry_appended' &&\n entry &&\n typeof entry === 'object' &&\n !Array.isArray(entry) &&\n entry.type === 'custom' &&\n typeof entry.customType === 'string' &&\n !['po-profile-identity', 'po.agent-settled'].includes(entry.customType)\n )\n key = `custom:${entry.customType}`;\n const size = Buffer.byteLength(encoded);\n if (key) {\n removeProjection(key);\n projections.set(key, { event, size });\n projectedBytes += size;\n // ponytail: projections evict oldest first at 8 MiB; split oversized UI state if that ceiling is reached.\n while (projections.size > MAX_EVENTS || projectedBytes > MAX_BYTES) {\n const oldest = projections.keys().next().value;\n if (oldest === undefined) break;\n removeProjection(oldest);\n dropped += 1;\n }\n }\n events.push({ event, size });\n bytes += size;\n while (events.length > LIVE_EVENTS || bytes > MAX_BYTES) {\n const removed = events.shift();\n if (removed) {\n bytes -= removed.size;\n dropped += 1;\n }\n }\n return snapshot();\n },\n };\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { INTERNAL_CUSTOM_ENTRY_TYPES } from "../transcriptPages/index.mjs";
1
2
  //#region src/services/sessionPresentation/index.ts
2
3
  const MAX_EVENTS = 1024;
3
4
  const LIVE_EVENTS = 64;
@@ -31,36 +32,11 @@ function createSessionPresentation() {
31
32
  return snapshot();
32
33
  },
33
34
  record(raw) {
34
- if (typeof raw.type !== "string" || raw.type === "response" && [
35
+ if (typeof raw.type !== "string" || raw.type === "message_update" || raw.type === "tool_execution_update" || raw.type === "entry_appended" && raw.entry !== null && typeof raw.entry === "object" && "type" in raw.entry && raw.entry.type === "custom" && "customType" in raw.entry && typeof raw.entry.customType === "string" && INTERNAL_CUSTOM_ENTRY_TYPES.includes(raw.entry.customType) || raw.type === "response" && [
35
36
  "get_entries",
36
37
  "get_messages",
37
38
  "get_available_models"
38
39
  ].includes(String(raw.command))) return void 0;
39
- if (raw.type === "message_update") {
40
- const event = raw.assistantMessageEvent;
41
- if (!event) {
42
- if (raw.usage === void 0) return void 0;
43
- raw = {
44
- type: "message_update",
45
- usage: raw.usage
46
- };
47
- } else {
48
- const { partial: _partial, ...delta } = event;
49
- if (delta.type === "toolcall_start") {
50
- const tool = raw.message?.content?.[Number(delta.contentIndex)];
51
- if (tool) {
52
- delta.id = tool.id;
53
- delta.toolName = tool.name;
54
- }
55
- }
56
- raw = {
57
- type: "message_update",
58
- assistantMessageEvent: delta,
59
- ...delta.type === "start" && _partial ? { message: _partial } : {},
60
- ...raw.usage === void 0 ? {} : { usage: raw.usage }
61
- };
62
- }
63
- }
64
40
  const encoded = JSON.stringify(raw);
65
41
  const frame = JSON.parse(encoded);
66
42
  const event = {
@@ -82,7 +58,7 @@ function createSessionPresentation() {
82
58
  }
83
59
  if (frame.type === "extension_ui_answered" && typeof frame.id === "string") removeProjection(`dialog:${frame.id}`);
84
60
  const entry = frame.entry;
85
- if (frame.type === "entry_appended" && entry && typeof entry === "object" && !Array.isArray(entry) && entry.type === "custom" && typeof entry.customType === "string" && !["doom-profile-identity", "po.agent-settled"].includes(entry.customType)) key = `custom:${entry.customType}`;
61
+ if (frame.type === "entry_appended" && entry && typeof entry === "object" && !Array.isArray(entry) && entry.type === "custom" && typeof entry.customType === "string" && !["po-profile-identity", "po.agent-settled"].includes(entry.customType)) key = `custom:${entry.customType}`;
86
62
  const size = Buffer.byteLength(encoded);
87
63
  if (key) {
88
64
  removeProjection(key);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/sessionPresentation/index.ts"],"sourcesContent":["import type { ProtocolEvent, SessionPresentation } from '../../exports/sessionProtocol';\n\nconst MAX_EVENTS = 1024;\nconst LIVE_EVENTS = 64;\nconst MAX_BYTES = 8 * 1024 * 1024;\n\n/** Retain current UI projections independently of the bounded live-event history. */\nexport function createSessionPresentation() {\n let revision = 0;\n let dropped = 0;\n let resetRevision = 0;\n let bytes = 0;\n const events: Array<{ event: ProtocolEvent; size: number }> = [];\n const projections = new Map<string, { event: ProtocolEvent; size: number }>();\n let projectedBytes = 0;\n const removeProjection = (key: string) => {\n projectedBytes -= projections.get(key)?.size ?? 0;\n projections.delete(key);\n };\n const snapshot = (): SessionPresentation => ({\n revision,\n dropped,\n resetRevision,\n events: events.map((item) => item.event),\n projections: [...projections.values()].map((item) => item.event),\n });\n return {\n resetCustomEntries(): SessionPresentation {\n // A tree replacement must not replay custom projections from the abandoned branch.\n events.length = 0;\n bytes = 0;\n for (const key of projections.keys()) if (key.startsWith('custom:')) removeProjection(key);\n resetRevision = ++revision;\n return snapshot();\n },\n record(raw: Record<string, unknown>): SessionPresentation | undefined {\n if (\n typeof raw.type !== 'string' ||\n // Queries have typed replies. Do not replay raw history or model configuration.\n (raw.type === 'response' &&\n ['get_entries', 'get_messages', 'get_available_models'].includes(String(raw.command)))\n )\n return undefined;\n if (raw.type === 'message_update') {\n const event = raw.assistantMessageEvent as Record<string, unknown> | undefined;\n if (!event) {\n if (raw.usage === undefined) return undefined;\n raw = { type: 'message_update', usage: raw.usage };\n } else {\n const { partial: _partial, ...delta } = event;\n if (delta.type === 'toolcall_start') {\n const message = raw.message as { content?: Array<{ id?: string; name?: string }> } | undefined;\n const tool = message?.content?.[Number(delta.contentIndex)];\n if (tool) {\n delta.id = tool.id;\n delta.toolName = tool.name;\n }\n }\n raw = {\n type: 'message_update',\n assistantMessageEvent: delta,\n // Aggregate starts have no delta to reconstruct their content from.\n ...(delta.type === 'start' && _partial ? { message: _partial } : {}),\n ...(raw.usage === undefined ? {} : { usage: raw.usage }),\n };\n }\n }\n const encoded = JSON.stringify(raw);\n const frame: ProtocolEvent['frame'] = JSON.parse(encoded);\n const event = { sequence: ++revision, frame };\n let key: string | undefined;\n if (frame.type === 'response' && frame.command === 'get_state' && frame.success === true) key = 'agent:model';\n if (frame.type === 'thinking_level_changed') key = 'agent:thinking';\n if (frame.type === 'extension_ui_request') {\n if (frame.method === 'setStatus' && typeof frame.statusKey === 'string') key = `status:${frame.statusKey}`;\n else if (frame.method === 'setWidget' && typeof frame.widgetKey === 'string') key = `widget:${frame.widgetKey}`;\n else if (\n typeof frame.id === 'string' &&\n typeof frame.method === 'string' &&\n ['select', 'confirm', 'input', 'editor'].includes(frame.method)\n )\n key = `dialog:${frame.id}`;\n }\n if (frame.type === 'extension_ui_answered' && typeof frame.id === 'string')\n removeProjection(`dialog:${frame.id}`);\n const entry = frame.entry;\n if (\n frame.type === 'entry_appended' &&\n entry &&\n typeof entry === 'object' &&\n !Array.isArray(entry) &&\n entry.type === 'custom' &&\n typeof entry.customType === 'string' &&\n !['doom-profile-identity', 'po.agent-settled'].includes(entry.customType)\n )\n key = `custom:${entry.customType}`;\n const size = Buffer.byteLength(encoded);\n if (key) {\n removeProjection(key);\n projections.set(key, { event, size });\n projectedBytes += size;\n while (projections.size > MAX_EVENTS || projectedBytes > MAX_BYTES) {\n const oldest = projections.keys().next().value;\n if (oldest === undefined) break;\n removeProjection(oldest);\n dropped += 1;\n }\n }\n events.push({ event, size });\n bytes += size;\n while (events.length > LIVE_EVENTS || bytes > MAX_BYTES) {\n const removed = events.shift();\n if (removed) {\n bytes -= removed.size;\n dropped += 1;\n }\n }\n return snapshot();\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/sessionPresentation/index.ts"],"sourcesContent":["import type { ProtocolEvent, SessionPresentation } from '../../exports/sessionProtocol';\nimport { INTERNAL_CUSTOM_ENTRY_TYPES } from '../transcriptPages';\n\nconst MAX_EVENTS = 1024;\nconst LIVE_EVENTS = 64;\nconst MAX_BYTES = 8 * 1024 * 1024;\n\n/** Retain current UI projections independently of the bounded live-event history. */\nexport function createSessionPresentation() {\n let revision = 0;\n let dropped = 0;\n let resetRevision = 0;\n let bytes = 0;\n const events: Array<{ event: ProtocolEvent; size: number }> = [];\n const projections = new Map<string, { event: ProtocolEvent; size: number }>();\n let projectedBytes = 0;\n const removeProjection = (key: string) => {\n projectedBytes -= projections.get(key)?.size ?? 0;\n projections.delete(key);\n };\n const snapshot = (): SessionPresentation => ({\n revision,\n dropped,\n resetRevision,\n events: events.map((item) => item.event),\n projections: [...projections.values()].map((item) => item.event),\n });\n return {\n resetCustomEntries(): SessionPresentation {\n // A tree replacement must not replay custom projections from the abandoned branch.\n events.length = 0;\n bytes = 0;\n for (const key of projections.keys()) if (key.startsWith('custom:')) removeProjection(key);\n resetRevision = ++revision;\n return snapshot();\n },\n record(raw: Record<string, unknown>): SessionPresentation | undefined {\n if (\n typeof raw.type !== 'string' ||\n // Streaming partials reach clients through `live`; the ring keeps only the frames around them.\n raw.type === 'message_update' ||\n raw.type === 'tool_execution_update' ||\n // Internal journal payloads are not browser state.\n (raw.type === 'entry_appended' &&\n raw.entry !== null &&\n typeof raw.entry === 'object' &&\n 'type' in raw.entry &&\n raw.entry.type === 'custom' &&\n 'customType' in raw.entry &&\n typeof raw.entry.customType === 'string' &&\n INTERNAL_CUSTOM_ENTRY_TYPES.includes(raw.entry.customType)) ||\n // Queries have typed replies. Do not replay raw history or model configuration.\n (raw.type === 'response' &&\n ['get_entries', 'get_messages', 'get_available_models'].includes(String(raw.command)))\n )\n return undefined;\n const encoded = JSON.stringify(raw);\n const frame: ProtocolEvent['frame'] = JSON.parse(encoded);\n const event = { sequence: ++revision, frame };\n let key: string | undefined;\n if (frame.type === 'response' && frame.command === 'get_state' && frame.success === true) key = 'agent:model';\n if (frame.type === 'thinking_level_changed') key = 'agent:thinking';\n if (frame.type === 'extension_ui_request') {\n if (frame.method === 'setStatus' && typeof frame.statusKey === 'string') key = `status:${frame.statusKey}`;\n else if (frame.method === 'setWidget' && typeof frame.widgetKey === 'string') key = `widget:${frame.widgetKey}`;\n else if (\n typeof frame.id === 'string' &&\n typeof frame.method === 'string' &&\n ['select', 'confirm', 'input', 'editor'].includes(frame.method)\n )\n key = `dialog:${frame.id}`;\n }\n if (frame.type === 'extension_ui_answered' && typeof frame.id === 'string')\n removeProjection(`dialog:${frame.id}`);\n const entry = frame.entry;\n if (\n frame.type === 'entry_appended' &&\n entry &&\n typeof entry === 'object' &&\n !Array.isArray(entry) &&\n entry.type === 'custom' &&\n typeof entry.customType === 'string' &&\n !['po-profile-identity', 'po.agent-settled'].includes(entry.customType)\n )\n key = `custom:${entry.customType}`;\n const size = Buffer.byteLength(encoded);\n if (key) {\n removeProjection(key);\n projections.set(key, { event, size });\n projectedBytes += size;\n // ponytail: projections evict oldest first at 8 MiB; split oversized UI state if that ceiling is reached.\n while (projections.size > MAX_EVENTS || projectedBytes > MAX_BYTES) {\n const oldest = projections.keys().next().value;\n if (oldest === undefined) break;\n removeProjection(oldest);\n dropped += 1;\n }\n }\n events.push({ event, size });\n bytes += size;\n while (events.length > LIVE_EVENTS || bytes > MAX_BYTES) {\n const removed = events.shift();\n if (removed) {\n bytes -= removed.size;\n dropped += 1;\n }\n }\n return snapshot();\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ //#region src/services/skillPrompt/index.ts
2
+ /** Pi's `<available_skills>` block: '' for no visible skills, otherwise led by a blank line. */
3
+ function formatSkillsForSystemPrompt(skills) {
4
+ const escape = (text) => text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;");
5
+ const visible = skills.filter((skill) => !skill.disableModelInvocation);
6
+ return visible.length ? `\n\n<available_skills>\n${visible.map((skill) => `<skill><name>${escape(skill.name)}</name><description>${escape(skill.description)}</description><location>${escape(skill.filePath)}</location></skill>`).join("\n")}\n</available_skills>` : "";
7
+ }
8
+ //#endregion
9
+ exports.formatSkillsForSystemPrompt = formatSkillsForSystemPrompt;
10
+
11
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/skillPrompt/index.ts"],"sourcesContent":["import type { Skill } from '../../types/server/directHarnessRuntime';\n\n/** Pi's `<available_skills>` block: '' for no visible skills, otherwise led by a blank line. */\nexport function formatSkillsForSystemPrompt(skills: readonly Skill[]): string {\n const escape = (text: string) =>\n text.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;').replaceAll('\"', '&quot;');\n const visible = skills.filter((skill) => !skill.disableModelInvocation);\n return visible.length\n ? `\\n\\n<available_skills>\\n${visible.map((skill) => `<skill><name>${escape(skill.name)}</name><description>${escape(skill.description)}</description><location>${escape(skill.filePath)}</location></skill>`).join('\\n')}\\n</available_skills>`\n : '';\n}\n"],"mappings":";;AAGA,SAAgB,4BAA4B,QAAkC;CAC5E,MAAM,UAAU,SACd,KAAK,WAAW,KAAK,OAAO,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,WAAW,MAAK,QAAQ;CACxG,MAAM,UAAU,OAAO,QAAQ,UAAU,CAAC,MAAM,sBAAsB;CACtE,OAAO,QAAQ,SACX,2BAA2B,QAAQ,KAAK,UAAU,gBAAgB,OAAO,MAAM,IAAI,EAAE,sBAAsB,OAAO,MAAM,WAAW,EAAE,0BAA0B,OAAO,MAAM,QAAQ,EAAE,oBAAoB,CAAC,CAAC,KAAK,IAAI,EAAE,yBACvN;AACN"}
@@ -0,0 +1,11 @@
1
+ //#region src/services/skillPrompt/index.ts
2
+ /** Pi's `<available_skills>` block: '' for no visible skills, otherwise led by a blank line. */
3
+ function formatSkillsForSystemPrompt(skills) {
4
+ const escape = (text) => text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;");
5
+ const visible = skills.filter((skill) => !skill.disableModelInvocation);
6
+ return visible.length ? `\n\n<available_skills>\n${visible.map((skill) => `<skill><name>${escape(skill.name)}</name><description>${escape(skill.description)}</description><location>${escape(skill.filePath)}</location></skill>`).join("\n")}\n</available_skills>` : "";
7
+ }
8
+ //#endregion
9
+ export { formatSkillsForSystemPrompt };
10
+
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/skillPrompt/index.ts"],"sourcesContent":["import type { Skill } from '../../types/server/directHarnessRuntime';\n\n/** Pi's `<available_skills>` block: '' for no visible skills, otherwise led by a blank line. */\nexport function formatSkillsForSystemPrompt(skills: readonly Skill[]): string {\n const escape = (text: string) =>\n text.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;').replaceAll('\"', '&quot;');\n const visible = skills.filter((skill) => !skill.disableModelInvocation);\n return visible.length\n ? `\\n\\n<available_skills>\\n${visible.map((skill) => `<skill><name>${escape(skill.name)}</name><description>${escape(skill.description)}</description><location>${escape(skill.filePath)}</location></skill>`).join('\\n')}\\n</available_skills>`\n : '';\n}\n"],"mappings":";;AAGA,SAAgB,4BAA4B,QAAkC;CAC5E,MAAM,UAAU,SACd,KAAK,WAAW,KAAK,OAAO,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,WAAW,MAAK,QAAQ;CACxG,MAAM,UAAU,OAAO,QAAQ,UAAU,CAAC,MAAM,sBAAsB;CACtE,OAAO,QAAQ,SACX,2BAA2B,QAAQ,KAAK,UAAU,gBAAgB,OAAO,MAAM,IAAI,EAAE,sBAAsB,OAAO,MAAM,WAAW,EAAE,0BAA0B,OAAO,MAAM,QAAQ,EAAE,oBAAoB,CAAC,CAAC,KAAK,IAAI,EAAE,yBACvN;AACN"}