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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["createDoomKernel"],"sources":["../../../../src/services/toolSurface/index.ts"],"sourcesContent":["/**\n * The tool surface arbiter.\n *\n * DESIGN PATTERNS:\n * - One writer. Every owner registers a restriction; only this service calls\n * the host setter. Two owners can no longer overwrite each other's list.\n * - Removal is inherent. The surface is recomputed from the full registered\n * tool set on every change, so dropping a restriction restores the tools it\n * hid without any owner keeping a snapshot.\n * - Restrictions are pure and ordered by registration. The result is a\n * function of (registered tools, active layers, registered restrictions).\n * - Application is synchronous. A tool change has to be visible to the very\n * next line, because callers gate user-facing messages on it. The kernel's\n * coalesced flush still drives layer switches; it just lands on the same\n * idempotent apply.\n *\n * AVOID:\n * - Letting one broken restriction take the surface down. A throwing\n * restriction is skipped and reported; the rest still reach the host.\n * - Returning tool names the host does not know. Unknown names are dropped so\n * a stale restriction cannot resurrect a tool that was never registered.\n */\n\nimport { createDoomKernel } from '../../exports/kernel';\nimport type {\n DoomToolRestriction,\n DoomToolRestrictionDefinition,\n DoomToolRestrictionHandle,\n DoomToolSurfaceService,\n DoomToolSurfaceEntry,\n} from '../../schemas/toolSurface';\n\nconst SLOT = 'tools';\n\ninterface RestrictionHolder extends Pick<DoomToolRestrictionDefinition, 'source' | 'controlledTools' | 'attribution'> {\n restrict: DoomToolRestriction;\n}\n\nexport interface CreateDoomToolSurfaceOptions {\n /** Runtime generation, mirrored onto the service for diagnostics. */\n readonly generation: string;\n /** Every tool registered with the host, in host order. */\n readonly allTools: () => readonly string[];\n /** The tools the host currently exposes, in host order. */\n readonly activeTools: () => readonly string[];\n /** The host's whole-list setter. Called only when actual activation differs. */\n readonly setActiveTools: (names: string[]) => void;\n /** Layers active at creation. */\n readonly activeLayers?: readonly string[];\n /** Receives a restriction that threw. Defaults to silence. */\n readonly onError?: (source: string, error: unknown) => void;\n}\n\nfunction sameList(left: readonly string[], right: readonly string[]): boolean {\n if (left.length !== right.length) return false;\n return left.every((name, index) => name === right[index]);\n}\n\nexport function createDoomToolSurface(options: CreateDoomToolSurfaceOptions): DoomToolSurfaceService {\n const kernel = createDoomKernel({ activeLayers: options.activeLayers });\n let pushed: readonly string[] | undefined;\n let disposed = false;\n let inspection: readonly DoomToolSurfaceEntry[] = [];\n let fingerprint = '';\n const listeners = new Set<() => void>();\n\n const apply = (holders: readonly RestrictionHolder[]): void => {\n const available = [...new Set(options.allTools())];\n const known = new Set(available);\n let current: readonly string[] = available;\n for (const holder of holders) {\n try {\n const result = holder.restrict(current, available);\n current = [...new Set(result)].filter((name) => known.has(name));\n } catch (error) {\n current = current.filter((name) => !holder.controlledTools?.includes(name));\n options.onError?.(holder.source, error);\n }\n }\n const actual = options.activeTools();\n if (!sameList(actual, current)) options.setActiveTools([...current]);\n pushed = [...current];\n inspection = holders.flatMap((holder) =>\n (holder.controlledTools ?? [])\n .filter((name) => known.has(name))\n .map((name) => ({\n source: holder.source,\n name,\n active: current.includes(name),\n ...(holder.attribution ? { attribution: { ...holder.attribution } } : {}),\n })),\n );\n const next = JSON.stringify([pushed, inspection]);\n if (next !== fingerprint) {\n fingerprint = next;\n for (const listener of listeners) listener();\n }\n };\n\n const slot = kernel.defineSlot<RestrictionHolder>(SLOT, apply);\n const applyNow = (): void => {\n if (!disposed) apply(kernel.activeValues<RestrictionHolder>(SLOT));\n };\n\n return Object.freeze({\n generation: options.generation,\n register(definition: DoomToolRestrictionDefinition): DoomToolRestrictionHandle {\n if (disposed) throw new Error('The tool surface is disposed.');\n if (definition.source.trim().length === 0) throw new Error('A tool restriction needs a source.');\n const holder: RestrictionHolder = {\n source: definition.source,\n restrict: definition.restrict,\n controlledTools: definition.controlledTools ? [...new Set(definition.controlledTools)] : undefined,\n attribution: definition.attribution ? { ...definition.attribution } : undefined,\n };\n const registration = slot.contribute({ source: definition.source, layer: definition.layer, value: holder });\n applyNow();\n let removed = false;\n return Object.freeze({\n update(restrict: DoomToolRestriction): void {\n if (removed) return;\n holder.restrict = restrict;\n applyNow();\n },\n dispose(): void {\n if (removed) return;\n removed = true;\n registration.dispose();\n applyNow();\n },\n });\n },\n refresh(): void {\n applyNow();\n },\n setActiveLayers(layers: readonly string[]): void {\n if (disposed) return;\n void kernel.setActiveLayers(layers).catch(() => undefined);\n applyNow();\n },\n active(): readonly string[] {\n return disposed ? [] : [...(pushed ?? options.activeTools())];\n },\n inspect(): readonly DoomToolSurfaceEntry[] {\n return disposed\n ? []\n : inspection.map((entry) => ({\n ...entry,\n ...(entry.attribution ? { attribution: { ...entry.attribution } } : {}),\n }));\n },\n subscribe(listener: () => void): () => void {\n if (disposed) throw new Error('The tool surface is disposed.');\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n dispose(): void {\n if (disposed) return;\n disposed = true;\n listeners.clear();\n inspection = [];\n kernel.dispose();\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["createPoKernel"],"sources":["../../../../src/services/toolSurface/index.ts"],"sourcesContent":["/**\n * The tool surface arbiter.\n *\n * DESIGN PATTERNS:\n * - One writer. Every owner registers a restriction; only this service calls\n * the host setter. Two owners can no longer overwrite each other's list.\n * - Removal is inherent. The surface is recomputed from the full registered\n * tool set on every change, so dropping a restriction restores the tools it\n * hid without any owner keeping a snapshot.\n * - Restrictions are pure and ordered by registration. The result is a\n * function of (registered tools, active layers, registered restrictions).\n * - Application is synchronous. A tool change has to be visible to the very\n * next line, because callers gate user-facing messages on it. The kernel's\n * coalesced flush still drives layer switches; it just lands on the same\n * idempotent apply.\n *\n * AVOID:\n * - Letting one broken restriction take the surface down. A throwing\n * restriction is skipped and reported; the rest still reach the host.\n * - Returning tool names the host does not know. Unknown names are dropped so\n * a stale restriction cannot resurrect a tool that was never registered.\n */\n\nimport { createPoKernel } from '../../exports/kernel';\nimport type {\n PoToolRestriction,\n PoToolRestrictionDefinition,\n PoToolRestrictionHandle,\n PoToolSurfaceService,\n PoToolSurfaceEntry,\n} from '../../schemas/toolSurface';\n\nconst SLOT = 'tools';\n\ninterface RestrictionHolder extends Pick<PoToolRestrictionDefinition, 'source' | 'controlledTools' | 'attribution'> {\n restrict: PoToolRestriction;\n}\n\nexport interface CreatePoToolSurfaceOptions {\n /** Runtime generation, mirrored onto the service for diagnostics. */\n readonly generation: string;\n /** Every tool registered with the host, in host order. */\n readonly allTools: () => readonly string[];\n /** The tools the host currently exposes, in host order. */\n readonly activeTools: () => readonly string[];\n /** The host's whole-list setter. Called only when actual activation differs. */\n readonly setActiveTools: (names: string[]) => void;\n /** Layers active at creation. */\n readonly activeLayers?: readonly string[];\n /** Receives a restriction that threw. Defaults to silence. */\n readonly onError?: (source: string, error: unknown) => void;\n}\n\nfunction sameList(left: readonly string[], right: readonly string[]): boolean {\n if (left.length !== right.length) return false;\n return left.every((name, index) => name === right[index]);\n}\n\nexport function createPoToolSurface(options: CreatePoToolSurfaceOptions): PoToolSurfaceService {\n const kernel = createPoKernel({ activeLayers: options.activeLayers });\n let pushed: readonly string[] | undefined;\n let disposed = false;\n let inspection: readonly PoToolSurfaceEntry[] = [];\n let fingerprint = '';\n const listeners = new Set<() => void>();\n\n const apply = (holders: readonly RestrictionHolder[]): void => {\n const available = [...new Set(options.allTools())];\n const known = new Set(available);\n let current: readonly string[] = available;\n for (const holder of holders) {\n try {\n const result = holder.restrict(current, available);\n current = [...new Set(result)].filter((name) => known.has(name));\n } catch (error) {\n current = current.filter((name) => !holder.controlledTools?.includes(name));\n options.onError?.(holder.source, error);\n }\n }\n const actual = options.activeTools();\n if (!sameList(actual, current)) options.setActiveTools([...current]);\n pushed = [...current];\n inspection = holders.flatMap((holder) =>\n (holder.controlledTools ?? [])\n .filter((name) => known.has(name))\n .map((name) => ({\n source: holder.source,\n name,\n active: current.includes(name),\n ...(holder.attribution ? { attribution: { ...holder.attribution } } : {}),\n })),\n );\n const next = JSON.stringify([pushed, inspection]);\n if (next !== fingerprint) {\n fingerprint = next;\n for (const listener of listeners) listener();\n }\n };\n\n const slot = kernel.defineSlot<RestrictionHolder>(SLOT, apply);\n const applyNow = (): void => {\n if (!disposed) apply(kernel.activeValues<RestrictionHolder>(SLOT));\n };\n\n return Object.freeze({\n generation: options.generation,\n register(definition: PoToolRestrictionDefinition): PoToolRestrictionHandle {\n if (disposed) throw new Error('The tool surface is disposed.');\n if (definition.source.trim().length === 0) throw new Error('A tool restriction needs a source.');\n const holder: RestrictionHolder = {\n source: definition.source,\n restrict: definition.restrict,\n controlledTools: definition.controlledTools ? [...new Set(definition.controlledTools)] : undefined,\n attribution: definition.attribution ? { ...definition.attribution } : undefined,\n };\n const registration = slot.contribute({ source: definition.source, layer: definition.layer, value: holder });\n applyNow();\n let removed = false;\n return Object.freeze({\n update(restrict: PoToolRestriction): void {\n if (removed) return;\n holder.restrict = restrict;\n applyNow();\n },\n dispose(): void {\n if (removed) return;\n removed = true;\n registration.dispose();\n applyNow();\n },\n });\n },\n refresh(): void {\n applyNow();\n },\n setActiveLayers(layers: readonly string[]): void {\n if (disposed) return;\n void kernel.setActiveLayers(layers).catch(() => undefined);\n applyNow();\n },\n active(): readonly string[] {\n return disposed ? [] : [...(pushed ?? options.activeTools())];\n },\n inspect(): readonly PoToolSurfaceEntry[] {\n return disposed\n ? []\n : inspection.map((entry) => ({\n ...entry,\n ...(entry.attribution ? { attribution: { ...entry.attribution } } : {}),\n }));\n },\n subscribe(listener: () => void): () => void {\n if (disposed) throw new Error('The tool surface is disposed.');\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n dispose(): void {\n if (disposed) return;\n disposed = true;\n listeners.clear();\n inspection = [];\n kernel.dispose();\n },\n });\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { DoomToolSurfaceService } from "../../schemas/toolSurface.mjs";
1
+ import { PoToolSurfaceService } from "../../schemas/toolSurface.mjs";
2
2
  //#region src/services/toolSurface/index.d.ts
3
- export interface CreateDoomToolSurfaceOptions {
3
+ export interface CreatePoToolSurfaceOptions {
4
4
  /** Runtime generation, mirrored onto the service for diagnostics. */
5
5
  readonly generation: string;
6
6
  /** Every tool registered with the host, in host order. */
@@ -14,6 +14,6 @@ export interface CreateDoomToolSurfaceOptions {
14
14
  /** Receives a restriction that threw. Defaults to silence. */
15
15
  readonly onError?: (source: string, error: unknown) => void;
16
16
  }
17
- export declare function createDoomToolSurface(options: CreateDoomToolSurfaceOptions): DoomToolSurfaceService;
17
+ export declare function createPoToolSurface(options: CreatePoToolSurfaceOptions): PoToolSurfaceService;
18
18
  //#endregion
19
19
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/toolSurface/index.ts"],"mappings":";;iBAsCiB;;WAEN;;WAEA;;WAEA;;WAEA,iBAAiB;;WAEjB;;WAEA,WAAW,gBAAgB;;wBAQtB,sBAAsB,SAAS,+BAA+B"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/toolSurface/index.ts"],"mappings":";;iBAsCiB;;WAEN;;WAEA;;WAEA;;WAEA,iBAAiB;;WAEjB;;WAEA,WAAW,gBAAgB;;wBAQtB,oBAAoB,SAAS,6BAA6B"}
@@ -1,4 +1,4 @@
1
- import { createDoomKernel } from "../kernel/index.mjs";
1
+ import { createPoKernel } from "../kernel/index.mjs";
2
2
  //#region src/services/toolSurface/index.ts
3
3
  /**
4
4
  * The tool surface arbiter.
@@ -27,8 +27,8 @@ function sameList(left, right) {
27
27
  if (left.length !== right.length) return false;
28
28
  return left.every((name, index) => name === right[index]);
29
29
  }
30
- function createDoomToolSurface(options) {
31
- const kernel = createDoomKernel({ activeLayers: options.activeLayers });
30
+ function createPoToolSurface(options) {
31
+ const kernel = createPoKernel({ activeLayers: options.activeLayers });
32
32
  let pushed;
33
33
  let disposed = false;
34
34
  let inspection = [];
@@ -129,6 +129,6 @@ function createDoomToolSurface(options) {
129
129
  });
130
130
  }
131
131
  //#endregion
132
- export { createDoomToolSurface };
132
+ export { createPoToolSurface };
133
133
 
134
134
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/toolSurface/index.ts"],"sourcesContent":["/**\n * The tool surface arbiter.\n *\n * DESIGN PATTERNS:\n * - One writer. Every owner registers a restriction; only this service calls\n * the host setter. Two owners can no longer overwrite each other's list.\n * - Removal is inherent. The surface is recomputed from the full registered\n * tool set on every change, so dropping a restriction restores the tools it\n * hid without any owner keeping a snapshot.\n * - Restrictions are pure and ordered by registration. The result is a\n * function of (registered tools, active layers, registered restrictions).\n * - Application is synchronous. A tool change has to be visible to the very\n * next line, because callers gate user-facing messages on it. The kernel's\n * coalesced flush still drives layer switches; it just lands on the same\n * idempotent apply.\n *\n * AVOID:\n * - Letting one broken restriction take the surface down. A throwing\n * restriction is skipped and reported; the rest still reach the host.\n * - Returning tool names the host does not know. Unknown names are dropped so\n * a stale restriction cannot resurrect a tool that was never registered.\n */\n\nimport { createDoomKernel } from '../../exports/kernel';\nimport type {\n DoomToolRestriction,\n DoomToolRestrictionDefinition,\n DoomToolRestrictionHandle,\n DoomToolSurfaceService,\n DoomToolSurfaceEntry,\n} from '../../schemas/toolSurface';\n\nconst SLOT = 'tools';\n\ninterface RestrictionHolder extends Pick<DoomToolRestrictionDefinition, 'source' | 'controlledTools' | 'attribution'> {\n restrict: DoomToolRestriction;\n}\n\nexport interface CreateDoomToolSurfaceOptions {\n /** Runtime generation, mirrored onto the service for diagnostics. */\n readonly generation: string;\n /** Every tool registered with the host, in host order. */\n readonly allTools: () => readonly string[];\n /** The tools the host currently exposes, in host order. */\n readonly activeTools: () => readonly string[];\n /** The host's whole-list setter. Called only when actual activation differs. */\n readonly setActiveTools: (names: string[]) => void;\n /** Layers active at creation. */\n readonly activeLayers?: readonly string[];\n /** Receives a restriction that threw. Defaults to silence. */\n readonly onError?: (source: string, error: unknown) => void;\n}\n\nfunction sameList(left: readonly string[], right: readonly string[]): boolean {\n if (left.length !== right.length) return false;\n return left.every((name, index) => name === right[index]);\n}\n\nexport function createDoomToolSurface(options: CreateDoomToolSurfaceOptions): DoomToolSurfaceService {\n const kernel = createDoomKernel({ activeLayers: options.activeLayers });\n let pushed: readonly string[] | undefined;\n let disposed = false;\n let inspection: readonly DoomToolSurfaceEntry[] = [];\n let fingerprint = '';\n const listeners = new Set<() => void>();\n\n const apply = (holders: readonly RestrictionHolder[]): void => {\n const available = [...new Set(options.allTools())];\n const known = new Set(available);\n let current: readonly string[] = available;\n for (const holder of holders) {\n try {\n const result = holder.restrict(current, available);\n current = [...new Set(result)].filter((name) => known.has(name));\n } catch (error) {\n current = current.filter((name) => !holder.controlledTools?.includes(name));\n options.onError?.(holder.source, error);\n }\n }\n const actual = options.activeTools();\n if (!sameList(actual, current)) options.setActiveTools([...current]);\n pushed = [...current];\n inspection = holders.flatMap((holder) =>\n (holder.controlledTools ?? [])\n .filter((name) => known.has(name))\n .map((name) => ({\n source: holder.source,\n name,\n active: current.includes(name),\n ...(holder.attribution ? { attribution: { ...holder.attribution } } : {}),\n })),\n );\n const next = JSON.stringify([pushed, inspection]);\n if (next !== fingerprint) {\n fingerprint = next;\n for (const listener of listeners) listener();\n }\n };\n\n const slot = kernel.defineSlot<RestrictionHolder>(SLOT, apply);\n const applyNow = (): void => {\n if (!disposed) apply(kernel.activeValues<RestrictionHolder>(SLOT));\n };\n\n return Object.freeze({\n generation: options.generation,\n register(definition: DoomToolRestrictionDefinition): DoomToolRestrictionHandle {\n if (disposed) throw new Error('The tool surface is disposed.');\n if (definition.source.trim().length === 0) throw new Error('A tool restriction needs a source.');\n const holder: RestrictionHolder = {\n source: definition.source,\n restrict: definition.restrict,\n controlledTools: definition.controlledTools ? [...new Set(definition.controlledTools)] : undefined,\n attribution: definition.attribution ? { ...definition.attribution } : undefined,\n };\n const registration = slot.contribute({ source: definition.source, layer: definition.layer, value: holder });\n applyNow();\n let removed = false;\n return Object.freeze({\n update(restrict: DoomToolRestriction): void {\n if (removed) return;\n holder.restrict = restrict;\n applyNow();\n },\n dispose(): void {\n if (removed) return;\n removed = true;\n registration.dispose();\n applyNow();\n },\n });\n },\n refresh(): void {\n applyNow();\n },\n setActiveLayers(layers: readonly string[]): void {\n if (disposed) return;\n void kernel.setActiveLayers(layers).catch(() => undefined);\n applyNow();\n },\n active(): readonly string[] {\n return disposed ? [] : [...(pushed ?? options.activeTools())];\n },\n inspect(): readonly DoomToolSurfaceEntry[] {\n return disposed\n ? []\n : inspection.map((entry) => ({\n ...entry,\n ...(entry.attribution ? { attribution: { ...entry.attribution } } : {}),\n }));\n },\n subscribe(listener: () => void): () => void {\n if (disposed) throw new Error('The tool surface is disposed.');\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n dispose(): void {\n if (disposed) return;\n disposed = true;\n listeners.clear();\n inspection = [];\n kernel.dispose();\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/toolSurface/index.ts"],"sourcesContent":["/**\n * The tool surface arbiter.\n *\n * DESIGN PATTERNS:\n * - One writer. Every owner registers a restriction; only this service calls\n * the host setter. Two owners can no longer overwrite each other's list.\n * - Removal is inherent. The surface is recomputed from the full registered\n * tool set on every change, so dropping a restriction restores the tools it\n * hid without any owner keeping a snapshot.\n * - Restrictions are pure and ordered by registration. The result is a\n * function of (registered tools, active layers, registered restrictions).\n * - Application is synchronous. A tool change has to be visible to the very\n * next line, because callers gate user-facing messages on it. The kernel's\n * coalesced flush still drives layer switches; it just lands on the same\n * idempotent apply.\n *\n * AVOID:\n * - Letting one broken restriction take the surface down. A throwing\n * restriction is skipped and reported; the rest still reach the host.\n * - Returning tool names the host does not know. Unknown names are dropped so\n * a stale restriction cannot resurrect a tool that was never registered.\n */\n\nimport { createPoKernel } from '../../exports/kernel';\nimport type {\n PoToolRestriction,\n PoToolRestrictionDefinition,\n PoToolRestrictionHandle,\n PoToolSurfaceService,\n PoToolSurfaceEntry,\n} from '../../schemas/toolSurface';\n\nconst SLOT = 'tools';\n\ninterface RestrictionHolder extends Pick<PoToolRestrictionDefinition, 'source' | 'controlledTools' | 'attribution'> {\n restrict: PoToolRestriction;\n}\n\nexport interface CreatePoToolSurfaceOptions {\n /** Runtime generation, mirrored onto the service for diagnostics. */\n readonly generation: string;\n /** Every tool registered with the host, in host order. */\n readonly allTools: () => readonly string[];\n /** The tools the host currently exposes, in host order. */\n readonly activeTools: () => readonly string[];\n /** The host's whole-list setter. Called only when actual activation differs. */\n readonly setActiveTools: (names: string[]) => void;\n /** Layers active at creation. */\n readonly activeLayers?: readonly string[];\n /** Receives a restriction that threw. Defaults to silence. */\n readonly onError?: (source: string, error: unknown) => void;\n}\n\nfunction sameList(left: readonly string[], right: readonly string[]): boolean {\n if (left.length !== right.length) return false;\n return left.every((name, index) => name === right[index]);\n}\n\nexport function createPoToolSurface(options: CreatePoToolSurfaceOptions): PoToolSurfaceService {\n const kernel = createPoKernel({ activeLayers: options.activeLayers });\n let pushed: readonly string[] | undefined;\n let disposed = false;\n let inspection: readonly PoToolSurfaceEntry[] = [];\n let fingerprint = '';\n const listeners = new Set<() => void>();\n\n const apply = (holders: readonly RestrictionHolder[]): void => {\n const available = [...new Set(options.allTools())];\n const known = new Set(available);\n let current: readonly string[] = available;\n for (const holder of holders) {\n try {\n const result = holder.restrict(current, available);\n current = [...new Set(result)].filter((name) => known.has(name));\n } catch (error) {\n current = current.filter((name) => !holder.controlledTools?.includes(name));\n options.onError?.(holder.source, error);\n }\n }\n const actual = options.activeTools();\n if (!sameList(actual, current)) options.setActiveTools([...current]);\n pushed = [...current];\n inspection = holders.flatMap((holder) =>\n (holder.controlledTools ?? [])\n .filter((name) => known.has(name))\n .map((name) => ({\n source: holder.source,\n name,\n active: current.includes(name),\n ...(holder.attribution ? { attribution: { ...holder.attribution } } : {}),\n })),\n );\n const next = JSON.stringify([pushed, inspection]);\n if (next !== fingerprint) {\n fingerprint = next;\n for (const listener of listeners) listener();\n }\n };\n\n const slot = kernel.defineSlot<RestrictionHolder>(SLOT, apply);\n const applyNow = (): void => {\n if (!disposed) apply(kernel.activeValues<RestrictionHolder>(SLOT));\n };\n\n return Object.freeze({\n generation: options.generation,\n register(definition: PoToolRestrictionDefinition): PoToolRestrictionHandle {\n if (disposed) throw new Error('The tool surface is disposed.');\n if (definition.source.trim().length === 0) throw new Error('A tool restriction needs a source.');\n const holder: RestrictionHolder = {\n source: definition.source,\n restrict: definition.restrict,\n controlledTools: definition.controlledTools ? [...new Set(definition.controlledTools)] : undefined,\n attribution: definition.attribution ? { ...definition.attribution } : undefined,\n };\n const registration = slot.contribute({ source: definition.source, layer: definition.layer, value: holder });\n applyNow();\n let removed = false;\n return Object.freeze({\n update(restrict: PoToolRestriction): void {\n if (removed) return;\n holder.restrict = restrict;\n applyNow();\n },\n dispose(): void {\n if (removed) return;\n removed = true;\n registration.dispose();\n applyNow();\n },\n });\n },\n refresh(): void {\n applyNow();\n },\n setActiveLayers(layers: readonly string[]): void {\n if (disposed) return;\n void kernel.setActiveLayers(layers).catch(() => undefined);\n applyNow();\n },\n active(): readonly string[] {\n return disposed ? [] : [...(pushed ?? options.activeTools())];\n },\n inspect(): readonly PoToolSurfaceEntry[] {\n return disposed\n ? []\n : inspection.map((entry) => ({\n ...entry,\n ...(entry.attribution ? { attribution: { ...entry.attribution } } : {}),\n }));\n },\n subscribe(listener: () => void): () => void {\n if (disposed) throw new Error('The tool surface is disposed.');\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n dispose(): void {\n if (disposed) return;\n disposed = true;\n listeners.clear();\n inspection = [];\n kernel.dispose();\n },\n });\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/traceContext/index.ts"],"sourcesContent":["import type { DoomTraceContext } from '@agimon-ai/po-telemetry';\n\nconst TRACEPARENT = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/u;\n\n/** Accepts only a valid W3C traceparent and never forwards tracestate or baggage. */\nexport function validatedTraceContext(value: unknown): DoomTraceContext | undefined {\n if (typeof value !== 'string') return undefined;\n const match = TRACEPARENT.exec(value);\n if (!match || /^0+$/u.test(match[1] ?? '') || /^0+$/u.test(match[2] ?? '')) return undefined;\n return { traceparent: value };\n}\n"],"mappings":";AAEA,MAAM,cAAc;;AAGpB,SAAgB,sBAAsB,OAA8C;CAClF,IAAI,OAAO,UAAU,UAAU,OAAO,KAAA;CACtC,MAAM,QAAQ,YAAY,KAAK,KAAK;CACpC,IAAI,CAAC,SAAS,QAAQ,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,KAAK,MAAM,MAAM,EAAE,GAAG,OAAO,KAAA;CACnF,OAAO,EAAE,aAAa,MAAM;AAC9B"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/traceContext/index.ts"],"sourcesContent":["import type { PoTraceContext } from '@agimon-ai/po-telemetry';\n\nconst TRACEPARENT = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/u;\n\n/** Accepts only a valid W3C traceparent and never forwards tracestate or baggage. */\nexport function validatedTraceContext(value: unknown): PoTraceContext | undefined {\n if (typeof value !== 'string') return undefined;\n const match = TRACEPARENT.exec(value);\n if (!match || /^0+$/u.test(match[1] ?? '') || /^0+$/u.test(match[2] ?? '')) return undefined;\n return { traceparent: value };\n}\n"],"mappings":";AAEA,MAAM,cAAc;;AAGpB,SAAgB,sBAAsB,OAA4C;CAChF,IAAI,OAAO,UAAU,UAAU,OAAO,KAAA;CACtC,MAAM,QAAQ,YAAY,KAAK,KAAK;CACpC,IAAI,CAAC,SAAS,QAAQ,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,KAAK,MAAM,MAAM,EAAE,GAAG,OAAO,KAAA;CACnF,OAAO,EAAE,aAAa,MAAM;AAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/traceContext/index.ts"],"sourcesContent":["import type { DoomTraceContext } from '@agimon-ai/po-telemetry';\n\nconst TRACEPARENT = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/u;\n\n/** Accepts only a valid W3C traceparent and never forwards tracestate or baggage. */\nexport function validatedTraceContext(value: unknown): DoomTraceContext | undefined {\n if (typeof value !== 'string') return undefined;\n const match = TRACEPARENT.exec(value);\n if (!match || /^0+$/u.test(match[1] ?? '') || /^0+$/u.test(match[2] ?? '')) return undefined;\n return { traceparent: value };\n}\n"],"mappings":";AAEA,MAAM,cAAc;;AAGpB,SAAgB,sBAAsB,OAA8C;CAClF,IAAI,OAAO,UAAU,UAAU,OAAO,KAAA;CACtC,MAAM,QAAQ,YAAY,KAAK,KAAK;CACpC,IAAI,CAAC,SAAS,QAAQ,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,KAAK,MAAM,MAAM,EAAE,GAAG,OAAO,KAAA;CACnF,OAAO,EAAE,aAAa,MAAM;AAC9B"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/traceContext/index.ts"],"sourcesContent":["import type { PoTraceContext } from '@agimon-ai/po-telemetry';\n\nconst TRACEPARENT = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/u;\n\n/** Accepts only a valid W3C traceparent and never forwards tracestate or baggage. */\nexport function validatedTraceContext(value: unknown): PoTraceContext | undefined {\n if (typeof value !== 'string') return undefined;\n const match = TRACEPARENT.exec(value);\n if (!match || /^0+$/u.test(match[1] ?? '') || /^0+$/u.test(match[2] ?? '')) return undefined;\n return { traceparent: value };\n}\n"],"mappings":";AAEA,MAAM,cAAc;;AAGpB,SAAgB,sBAAsB,OAA4C;CAChF,IAAI,OAAO,UAAU,UAAU,OAAO,KAAA;CACtC,MAAM,QAAQ,YAAY,KAAK,KAAK;CACpC,IAAI,CAAC,SAAS,QAAQ,KAAK,MAAM,MAAM,EAAE,KAAK,QAAQ,KAAK,MAAM,MAAM,EAAE,GAAG,OAAO,KAAA;CACnF,OAAO,EAAE,aAAa,MAAM;AAC9B"}
@@ -1,13 +1,72 @@
1
+ require("../../schemas/profileIdentity.cjs");
1
2
  //#region src/services/transcriptPages/index.ts
2
3
  const PAGE_SIZE = 100;
3
- function transcriptCursor(sessionId, lane, generation, seq) {
4
+ const PAGE_BYTES = 8388608;
5
+ const OMITTED_TEXT = "[Transcript content omitted: entry exceeds the page byte budget.]";
6
+ const INTERNAL_CUSTOM_ENTRY_TYPES = ["po-autocompact-state", "po-hook"];
7
+ /** Browser projection only. Durable records and model context remain unchanged. */
8
+ function projectTranscriptEntry(entry, omitContent = false) {
9
+ const internal = entry.type === "custom" && INTERNAL_CUSTOM_ENTRY_TYPES.includes(entry.customType);
10
+ if (!omitContent && !internal) return JSON.parse(JSON.stringify(entry));
11
+ const base = {
12
+ id: entry.id,
13
+ parentId: entry.parentId,
14
+ timestamp: entry.timestamp,
15
+ seq: entry.seq,
16
+ type: entry.type,
17
+ contentOmitted: true
18
+ };
19
+ switch (entry.type) {
20
+ case "message": return {
21
+ ...base,
22
+ message: {
23
+ role: entry.message.role,
24
+ content: [{
25
+ type: "text",
26
+ text: OMITTED_TEXT
27
+ }],
28
+ timestamp: entry.timestamp,
29
+ ...entry.message.role === "toolResult" ? {
30
+ toolCallId: entry.message.toolCallId.slice(0, 256),
31
+ toolName: entry.message.toolName.slice(0, 256),
32
+ isError: entry.message.isError
33
+ } : {}
34
+ }
35
+ };
36
+ case "custom": return {
37
+ ...base,
38
+ customType: entry.customType,
39
+ data: { contentOmitted: true }
40
+ };
41
+ case "compaction": return {
42
+ ...base,
43
+ summary: OMITTED_TEXT,
44
+ tokensBefore: entry.tokensBefore,
45
+ retainedTail: [],
46
+ fromHook: entry.fromHook
47
+ };
48
+ case "branch_summary": return {
49
+ ...base,
50
+ summary: OMITTED_TEXT,
51
+ fromHook: entry.fromHook
52
+ };
53
+ }
54
+ }
55
+ /** Most entry records read per storage call. */
56
+ const SCAN_BATCH = 100;
57
+ function transcriptCursor(sessionId, lane, generation, seq, position) {
4
58
  return Buffer.from(JSON.stringify([
5
59
  sessionId,
6
60
  lane,
7
61
  generation,
8
- seq
62
+ seq,
63
+ ...position === void 0 ? [] : [position]
9
64
  ])).toString("base64url");
10
65
  }
66
+ /** Multiple model messages from one durable record share its sequence number. */
67
+ function entryPosition(entry) {
68
+ return entry.id.includes(":") ? Number(entry.id.slice(entry.id.lastIndexOf(":") + 1)) : 0;
69
+ }
11
70
  /** Branch-relative keyset reads never materialize the complete conversation. */
12
71
  async function readTranscriptPage(runtime, request, generation, context) {
13
72
  const limit = request.limit ?? PAGE_SIZE;
@@ -15,6 +74,7 @@ async function readTranscriptPage(runtime, request, generation, context) {
15
74
  const newer = request.direction === "newer";
16
75
  if (request.direction !== void 0 && !["older", "newer"].includes(request.direction)) throw new Error("Invalid transcript direction");
17
76
  let seq;
77
+ let position;
18
78
  if (request.cursor !== void 0) {
19
79
  if (typeof request.cursor !== "string" || request.cursor.length > 1024) throw new Error("Invalid transcript cursor");
20
80
  let cursor;
@@ -23,12 +83,24 @@ async function readTranscriptPage(runtime, request, generation, context) {
23
83
  } catch {
24
84
  throw new Error("Invalid transcript cursor");
25
85
  }
26
- if (!Array.isArray(cursor) || cursor.length !== 4 || cursor[0] !== runtime.sessionId || cursor[1] !== runtime.laneName || !Number.isSafeInteger(cursor[3]) || cursor[3] < 0) throw new Error("Invalid transcript cursor");
86
+ if (!Array.isArray(cursor) || ![4, 5].includes(cursor.length) || cursor.length === 5 && (!Number.isSafeInteger(cursor[4]) || cursor[4] < 0) || cursor[0] !== runtime.sessionId || cursor[1] !== runtime.laneName || !Number.isSafeInteger(cursor[3]) || cursor[3] < 0) throw new Error("Invalid transcript cursor");
27
87
  if (cursor[2] !== generation) throw new Error("STALE_TRANSCRIPT_CURSOR");
28
88
  seq = cursor[3];
89
+ position = cursor[4];
29
90
  } else if (newer) throw new Error("Loading newer entries requires a cursor");
30
- const tip = await runtime.lane.getTipId(context);
31
- if (!tip) return {
91
+ const rows = await runtime.lane.findEntries({
92
+ order: newer ? "oldestFirst" : "newestFirst",
93
+ limit: limit + 1,
94
+ ...seq === void 0 ? {} : { cursor: {
95
+ seq,
96
+ ...position === void 0 ? {} : { position }
97
+ } }
98
+ }, context);
99
+ const history = rows.length ? await runtime.lane.readIdentities(context) : void 0;
100
+ const encode = (entry) => transcriptCursor(runtime.sessionId, runtime.laneName, generation, entry.seq, entryPosition(entry));
101
+ const selected = [];
102
+ let entryBytes = 0;
103
+ let page = {
32
104
  entries: [],
33
105
  context: [],
34
106
  startCursor: null,
@@ -37,34 +109,85 @@ async function readTranscriptPage(runtime, request, generation, context) {
37
109
  newerCursor: null,
38
110
  generation
39
111
  };
40
- const rows = await runtime.lane.findEntries({
41
- start: tip,
42
- order: newer ? "oldestFirst" : "newestFirst",
43
- limit: limit + 1,
44
- ...seq === void 0 ? {} : { cursor: { seq } }
45
- }, context);
46
- const more = rows.length > limit;
47
- const entries = rows.slice(0, limit);
48
- if (!newer) entries.reverse();
49
- const encode = (position) => transcriptCursor(runtime.sessionId, runtime.laneName, generation, position);
50
- const first = entries[0];
51
- const last = entries.at(-1);
52
- const identities = first ? await runtime.lane.findEntries({
53
- start: tip,
54
- type: "custom",
55
- customType: "doom-profile-identity",
56
- order: "newestFirst",
57
- limit: 1,
58
- cursor: { seq: first.seq }
59
- }, context) : [];
112
+ for (const entry of rows.slice(0, limit)) {
113
+ let value = projectTranscriptEntry(entry);
114
+ let bytes = Buffer.byteLength(JSON.stringify(value));
115
+ selected.push({
116
+ entry,
117
+ value
118
+ });
119
+ const ordered = newer ? selected : selected.toReversed();
120
+ const first = ordered[0].entry;
121
+ const last = ordered.at(-1).entry;
122
+ const identity = history?.items.findLast((item) => item.seq < first.seq);
123
+ const identityEntry = identity && {
124
+ id: String(identity.seq),
125
+ parentId: null,
126
+ timestamp: 0,
127
+ seq: identity.seq,
128
+ type: "custom",
129
+ customType: "po-profile-identity",
130
+ data: identity.data
131
+ };
132
+ let identityValue = identityEntry && projectTranscriptEntry(identityEntry);
133
+ if (identityValue && Buffer.byteLength(JSON.stringify(identityValue)) > PAGE_BYTES / 4) identityValue = projectTranscriptEntry(identityEntry, true);
134
+ const more = rows.length > selected.length;
135
+ const candidate = {
136
+ entries: ordered.map((item) => item.value),
137
+ context: identityValue ? [identityValue] : [],
138
+ startCursor: encode(first),
139
+ endCursor: encode(last),
140
+ olderCursor: newer || more ? encode(first) : null,
141
+ newerCursor: newer ? more ? encode(last) : null : seq !== void 0 ? encode(last) : null,
142
+ generation
143
+ };
144
+ const overhead = Buffer.byteLength(JSON.stringify({
145
+ ...candidate,
146
+ entries: [],
147
+ revision: Number.MAX_SAFE_INTEGER
148
+ }));
149
+ if (overhead + entryBytes + bytes + selected.length - 1 > PAGE_BYTES) {
150
+ if (selected.length > 1) {
151
+ selected.pop();
152
+ break;
153
+ }
154
+ value = projectTranscriptEntry(entry, true);
155
+ bytes = Buffer.byteLength(JSON.stringify(value));
156
+ selected[0].value = value;
157
+ candidate.entries = [value];
158
+ if (overhead + bytes > PAGE_BYTES) throw new Error("Transcript entry identity exceeds the page byte budget");
159
+ }
160
+ entryBytes += bytes;
161
+ page = candidate;
162
+ }
163
+ return page;
164
+ }
165
+ /** Keyset reads of one conversation: only the pages that hold the requested entries load. */
166
+ function durableTranscriptLane(scan, readIdentities) {
60
167
  return {
61
- entries: JSON.parse(JSON.stringify(entries)),
62
- context: JSON.parse(JSON.stringify(identities)),
63
- startCursor: first ? encode(first.seq) : null,
64
- endCursor: last ? encode(last.seq) : null,
65
- olderCursor: first && (newer ? seq !== void 0 : more) ? encode(first.seq) : null,
66
- newerCursor: last && (newer ? more : seq !== void 0) ? encode(last.seq) : null,
67
- generation
168
+ async findEntries(query, context) {
169
+ const ascending = query.order === "oldestFirst";
170
+ const after = query.cursor?.seq;
171
+ const position = query.cursor?.position;
172
+ const range = ascending ? {
173
+ order: "ascending",
174
+ ...after === void 0 ? {} : { minEntryId: after + (position === void 0 ? 1 : 0) }
175
+ } : {
176
+ order: "descending",
177
+ ...after === void 0 ? {} : { maxEntryId: after - (position === void 0 ? 1 : 0) }
178
+ };
179
+ const limit = query.limit ?? Infinity;
180
+ const found = [];
181
+ let cursor;
182
+ do {
183
+ const scanned = await scan(range, Math.min(limit - found.length, SCAN_BATCH), cursor, context);
184
+ const entries = projectDurableEntries(ascending ? scanned.items : scanned.items.toReversed());
185
+ found.push(...(ascending ? entries : entries.toReversed()).filter((entry) => after === void 0 || position === void 0 || entry.seq !== after || (ascending ? entryPosition(entry) > position : entryPosition(entry) < position)));
186
+ cursor = scanned.next;
187
+ } while (cursor && found.length < limit);
188
+ return query.limit === void 0 ? found : found.slice(0, query.limit);
189
+ },
190
+ readIdentities
68
191
  };
69
192
  }
70
193
  /** Protocol identities are strings; durable record IDs remain numeric internally. */
@@ -92,7 +215,8 @@ function projectDurableEntries(records) {
92
215
  summary,
93
216
  tokensBefore: 0,
94
217
  retainedTail: [],
95
- fromHook: false
218
+ fromHook: false,
219
+ ...raw.head === void 0 ? {} : { firstKeptEntryId: String(raw.head) }
96
220
  }];
97
221
  }
98
222
  if (raw.model?.length) return raw.model.map((item, position) => ({
@@ -110,6 +234,8 @@ function projectDurableEntries(records) {
110
234
  });
111
235
  }
112
236
  //#endregion
237
+ exports.INTERNAL_CUSTOM_ENTRY_TYPES = INTERNAL_CUSTOM_ENTRY_TYPES;
238
+ exports.durableTranscriptLane = durableTranscriptLane;
113
239
  exports.projectDurableEntries = projectDurableEntries;
114
240
  exports.readTranscriptPage = readTranscriptPage;
115
241
  exports.transcriptCursor = transcriptCursor;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/transcriptPages/index.ts"],"sourcesContent":["import type { Context } from '@earendil-works/chord';\n\nimport type { JsonValue, TranscriptPage, TranscriptPageRequest } from '../../exports/sessionProtocol';\nimport type { DirectHarnessRuntime, Entry } from '../../types/server/directHarnessRuntime';\n\nconst PAGE_SIZE = 100;\n\nexport interface TranscriptEntryQuery {\n start?: string;\n order?: 'oldestFirst' | 'newestFirst';\n limit?: number;\n cursor?: { seq: number };\n type?: Entry['type'];\n customType?: string;\n}\nexport interface TranscriptLane {\n getTipId(context: Context): Promise<string | null>;\n findEntries(query: TranscriptEntryQuery, context: Context): Promise<Entry[]>;\n}\n\nexport function transcriptCursor(sessionId: string, lane: string, generation: number, seq: number): string {\n return Buffer.from(JSON.stringify([sessionId, lane, generation, seq])).toString('base64url');\n}\n\n/** Branch-relative keyset reads never materialize the complete conversation. */\nexport async function readTranscriptPage(\n runtime: Pick<DirectHarnessRuntime, 'sessionId' | 'laneName'> & {\n lane: TranscriptLane;\n },\n request: TranscriptPageRequest,\n generation: number,\n context: Context,\n): Promise<Omit<TranscriptPage, 'revision' | 'drafts'>> {\n const limit = request.limit ?? PAGE_SIZE;\n if (!Number.isInteger(limit) || limit < 1 || limit > PAGE_SIZE)\n throw new Error('Transcript page limit must be between 1 and 100');\n const newer = request.direction === 'newer';\n if (request.direction !== undefined && !['older', 'newer'].includes(request.direction))\n throw new Error('Invalid transcript direction');\n let seq: number | undefined;\n if (request.cursor !== undefined) {\n if (typeof request.cursor !== 'string' || request.cursor.length > 1024)\n throw new Error('Invalid transcript cursor');\n let cursor: unknown;\n try {\n cursor = JSON.parse(Buffer.from(request.cursor, 'base64url').toString('utf8'));\n } catch {\n throw new Error('Invalid transcript cursor');\n }\n if (\n !Array.isArray(cursor) ||\n cursor.length !== 4 ||\n cursor[0] !== runtime.sessionId ||\n cursor[1] !== runtime.laneName ||\n !Number.isSafeInteger(cursor[3]) ||\n cursor[3] < 0\n )\n throw new Error('Invalid transcript cursor');\n if (cursor[2] !== generation) throw new Error('STALE_TRANSCRIPT_CURSOR');\n seq = cursor[3] as number;\n } else if (newer) throw new Error('Loading newer entries requires a cursor');\n const tip = await runtime.lane.getTipId(context);\n if (!tip)\n return {\n entries: [],\n context: [],\n startCursor: null,\n endCursor: null,\n olderCursor: null,\n newerCursor: null,\n generation,\n };\n const rows = await runtime.lane.findEntries(\n {\n start: tip,\n order: newer ? 'oldestFirst' : 'newestFirst',\n limit: limit + 1,\n ...(seq === undefined ? {} : { cursor: { seq } }),\n },\n context,\n );\n const more = rows.length > limit;\n const entries = rows.slice(0, limit);\n if (!newer) entries.reverse();\n const encode = (position: number): string =>\n transcriptCursor(runtime.sessionId, runtime.laneName, generation, position);\n const first = entries[0];\n const last = entries.at(-1);\n const identities = first\n ? await runtime.lane.findEntries(\n {\n start: tip,\n type: 'custom',\n customType: 'doom-profile-identity',\n order: 'newestFirst',\n limit: 1,\n cursor: { seq: first.seq },\n },\n context,\n )\n : [];\n return {\n entries: JSON.parse(JSON.stringify(entries)) as JsonValue[],\n context: JSON.parse(JSON.stringify(identities)) as JsonValue[],\n startCursor: first ? encode(first.seq) : null,\n endCursor: last ? encode(last.seq) : null,\n olderCursor: first && (newer ? seq !== undefined : more) ? encode(first.seq) : null,\n newerCursor: last && (newer ? more : seq !== undefined) ? encode(last.seq) : null,\n generation,\n };\n}\n\n/** Protocol identities are strings; durable record IDs remain numeric internally. */\nexport function projectDurableEntries(\n records: readonly import('@earendil-works/pi-durable').EntryRecord[],\n): import('../../types/server/directHarnessRuntime').Entry[] {\n return records.flatMap((raw, index) => {\n const data = raw.data && typeof raw.data === 'object' && !Array.isArray(raw.data) ? raw.data : undefined;\n const message = raw.model?.[0];\n const timestamp =\n message && 'timestamp' in message && typeof message.timestamp === 'number'\n ? message.timestamp\n : typeof data?.timestamp === 'number'\n ? data.timestamp\n : 0;\n const base = {\n id: String(raw.id),\n parentId: index ? String(records[index - 1]!.id) : null,\n timestamp,\n seq: Number(raw.id),\n };\n if (raw.kind === 'po.entry' && data)\n return [{ ...data, ...base } as import('../../types/server/directHarnessRuntime').Entry];\n if (raw.kind === 'pi.compaction') {\n const content = message?.content;\n const summary =\n typeof content === 'string'\n ? content\n : Array.isArray(content)\n ? content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('')\n : '';\n return [{ ...base, type: 'compaction' as const, summary, tokensBefore: 0, retainedTail: [], fromHook: false }];\n }\n if (raw.model?.length)\n return raw.model.map((item, position) => ({\n ...base,\n id: position === 0 ? base.id : `${base.id}:${position}`,\n type: 'message' as const,\n message: item,\n }));\n return [\n { ...base, type: 'custom' as const, customType: raw.kind, ...(raw.data === undefined ? {} : { data: raw.data }) },\n ];\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/transcriptPages/index.ts"],"sourcesContent":["import type { Context } from '@earendil-works/chord';\nimport type { Cursor, EntryId, EntryQuery, EntryRecord, Page } from '@earendil-works/pi-durable';\n\nimport type { JsonValue, TranscriptPage, TranscriptPageRequest } from '../../exports/sessionProtocol';\nimport { PO_PROFILE_IDENTITY_ENTRY_TYPE } from '../../schemas/profileIdentity';\nimport type { DirectHarnessRuntime, Entry } from '../../types/server/directHarnessRuntime';\n\nconst PAGE_SIZE = 100;\nconst PAGE_BYTES = 8 * 1024 * 1024;\nconst OMITTED_TEXT = '[Transcript content omitted: entry exceeds the page byte budget.]';\nexport const INTERNAL_CUSTOM_ENTRY_TYPES = ['po-autocompact-state', 'po-hook'];\n\n/** Browser projection only. Durable records and model context remain unchanged. */\nfunction projectTranscriptEntry(entry: Entry, omitContent = false): JsonValue {\n const internal = entry.type === 'custom' && INTERNAL_CUSTOM_ENTRY_TYPES.includes(entry.customType);\n if (!omitContent && !internal) return JSON.parse(JSON.stringify(entry)) as JsonValue;\n const base = {\n id: entry.id,\n parentId: entry.parentId,\n timestamp: entry.timestamp,\n seq: entry.seq,\n type: entry.type,\n contentOmitted: true,\n };\n switch (entry.type) {\n case 'message':\n return {\n ...base,\n message: {\n role: entry.message.role,\n content: [{ type: 'text', text: OMITTED_TEXT }],\n timestamp: entry.timestamp,\n ...(entry.message.role === 'toolResult'\n ? {\n toolCallId: entry.message.toolCallId.slice(0, 256),\n toolName: entry.message.toolName.slice(0, 256),\n isError: entry.message.isError,\n }\n : {}),\n },\n };\n case 'custom':\n return { ...base, customType: entry.customType, data: { contentOmitted: true } };\n case 'compaction':\n return {\n ...base,\n summary: OMITTED_TEXT,\n tokensBefore: entry.tokensBefore,\n retainedTail: [],\n fromHook: entry.fromHook,\n };\n case 'branch_summary':\n return { ...base, summary: OMITTED_TEXT, fromHook: entry.fromHook };\n }\n}\n/** Most entry records read per storage call. */\nconst SCAN_BATCH = 100;\n\nexport interface TranscriptEntryQuery {\n order?: 'oldestFirst' | 'newestFirst';\n limit?: number;\n cursor?: { seq: number; position?: number };\n}\nexport interface TranscriptLane {\n findEntries(query: TranscriptEntryQuery, context: Context): Promise<Entry[]>;\n /** The lane's `IdentityHistoryDoc`: one document read instead of a backwards scan for the avatar in effect. */\n readIdentities: DirectHarnessRuntime['readIdentities'];\n}\n\nexport function transcriptCursor(\n sessionId: string,\n lane: string,\n generation: number,\n seq: number,\n position?: number,\n): string {\n return Buffer.from(\n JSON.stringify([sessionId, lane, generation, seq, ...(position === undefined ? [] : [position])]),\n ).toString('base64url');\n}\n\n/** Multiple model messages from one durable record share its sequence number. */\nfunction entryPosition(entry: Entry): number {\n return entry.id.includes(':') ? Number(entry.id.slice(entry.id.lastIndexOf(':') + 1)) : 0;\n}\n\n/** Branch-relative keyset reads never materialize the complete conversation. */\nexport async function readTranscriptPage(\n runtime: Pick<DirectHarnessRuntime, 'sessionId' | 'laneName'> & {\n lane: TranscriptLane;\n },\n request: TranscriptPageRequest,\n generation: number,\n context: Context,\n): Promise<Omit<TranscriptPage, 'revision'>> {\n const limit = request.limit ?? PAGE_SIZE;\n if (!Number.isInteger(limit) || limit < 1 || limit > PAGE_SIZE)\n throw new Error('Transcript page limit must be between 1 and 100');\n const newer = request.direction === 'newer';\n if (request.direction !== undefined && !['older', 'newer'].includes(request.direction))\n throw new Error('Invalid transcript direction');\n let seq: number | undefined;\n let position: number | undefined;\n if (request.cursor !== undefined) {\n if (typeof request.cursor !== 'string' || request.cursor.length > 1024)\n throw new Error('Invalid transcript cursor');\n let cursor: unknown;\n try {\n cursor = JSON.parse(Buffer.from(request.cursor, 'base64url').toString('utf8'));\n } catch {\n throw new Error('Invalid transcript cursor');\n }\n if (\n !Array.isArray(cursor) ||\n ![4, 5].includes(cursor.length) ||\n (cursor.length === 5 && (!Number.isSafeInteger(cursor[4]) || cursor[4] < 0)) ||\n cursor[0] !== runtime.sessionId ||\n cursor[1] !== runtime.laneName ||\n !Number.isSafeInteger(cursor[3]) ||\n cursor[3] < 0\n )\n throw new Error('Invalid transcript cursor');\n if (cursor[2] !== generation) throw new Error('STALE_TRANSCRIPT_CURSOR');\n seq = cursor[3] as number;\n position = cursor[4] as number | undefined;\n } else if (newer) throw new Error('Loading newer entries requires a cursor');\n const rows = await runtime.lane.findEntries(\n {\n order: newer ? 'oldestFirst' : 'newestFirst',\n limit: limit + 1,\n ...(seq === undefined ? {} : { cursor: { seq, ...(position === undefined ? {} : { position }) } }),\n },\n context,\n );\n const history = rows.length ? await runtime.lane.readIdentities(context) : undefined;\n const encode = (entry: Entry): string =>\n transcriptCursor(runtime.sessionId, runtime.laneName, generation, entry.seq, entryPosition(entry));\n const selected: { entry: Entry; value: JsonValue }[] = [];\n let entryBytes = 0;\n let page: Omit<TranscriptPage, 'revision'> = {\n entries: [],\n context: [],\n startCursor: null,\n endCursor: null,\n olderCursor: null,\n newerCursor: null,\n generation,\n };\n for (const entry of rows.slice(0, limit)) {\n let value = projectTranscriptEntry(entry);\n let bytes = Buffer.byteLength(JSON.stringify(value));\n selected.push({ entry, value });\n const ordered = newer ? selected : selected.toReversed();\n const first = ordered[0]!.entry;\n const last = ordered.at(-1)!.entry;\n const identity = history?.items.findLast((item) => item.seq < first.seq);\n const identityEntry: Entry | undefined = identity && {\n id: String(identity.seq),\n parentId: null,\n timestamp: 0,\n seq: identity.seq,\n type: 'custom',\n customType: PO_PROFILE_IDENTITY_ENTRY_TYPE,\n data: identity.data,\n };\n let identityValue = identityEntry && projectTranscriptEntry(identityEntry);\n if (identityValue && Buffer.byteLength(JSON.stringify(identityValue)) > PAGE_BYTES / 4)\n identityValue = projectTranscriptEntry(identityEntry!, true);\n const more = rows.length > selected.length;\n const candidate = {\n entries: ordered.map((item) => item.value),\n context: identityValue ? [identityValue] : [],\n startCursor: encode(first),\n endCursor: encode(last),\n olderCursor: newer || more ? encode(first) : null,\n newerCursor: newer ? (more ? encode(last) : null) : seq !== undefined ? encode(last) : null,\n generation,\n };\n // Count the exact envelope and context, plus the revision added by main and child readers.\n const overhead = Buffer.byteLength(\n JSON.stringify({ ...candidate, entries: [], revision: Number.MAX_SAFE_INTEGER }),\n );\n if (overhead + entryBytes + bytes + selected.length - 1 > PAGE_BYTES) {\n if (selected.length > 1) {\n selected.pop();\n break;\n }\n // ponytail: oversized entries use a placeholder. Add lazy artifact retrieval if full content is needed.\n value = projectTranscriptEntry(entry, true);\n bytes = Buffer.byteLength(JSON.stringify(value));\n selected[0]!.value = value;\n candidate.entries = [value];\n if (overhead + bytes > PAGE_BYTES) throw new Error('Transcript entry identity exceeds the page byte budget');\n }\n entryBytes += bytes;\n page = candidate;\n }\n return page;\n}\n\n/** Scans one conversation's fork-aware entries, as `Conversation.entries` and `Storage.scanEntries` both do. */\nexport type DurableEntryScan = (\n query: Omit<EntryQuery, 'conversationId'>,\n limit: number,\n cursor: Cursor | undefined,\n context: Context,\n) => Promise<Page<EntryRecord, Cursor>>;\n\n/** Keyset reads of one conversation: only the pages that hold the requested entries load. */\nexport function durableTranscriptLane(\n scan: DurableEntryScan,\n readIdentities: TranscriptLane['readIdentities'],\n): TranscriptLane {\n return {\n async findEntries(query, context) {\n const ascending = query.order === 'oldestFirst';\n const after = query.cursor?.seq;\n const position = query.cursor?.position;\n const range: Omit<EntryQuery, 'conversationId'> = ascending\n ? {\n order: 'ascending',\n ...(after === undefined ? {} : { minEntryId: (after + (position === undefined ? 1 : 0)) as EntryId }),\n }\n : {\n order: 'descending',\n ...(after === undefined ? {} : { maxEntryId: (after - (position === undefined ? 1 : 0)) as EntryId }),\n };\n const limit = query.limit ?? Infinity;\n const found: Entry[] = [];\n let cursor: Cursor | undefined;\n do {\n // Replay the boundary record for composite cursors, then discard only messages already emitted.\n const scanned = await scan(range, Math.min(limit - found.length, SCAN_BATCH), cursor, context);\n const entries = projectDurableEntries(ascending ? scanned.items : scanned.items.toReversed());\n found.push(\n ...(ascending ? entries : entries.toReversed()).filter(\n (entry) =>\n after === undefined ||\n position === undefined ||\n entry.seq !== after ||\n (ascending ? entryPosition(entry) > position : entryPosition(entry) < position),\n ),\n );\n cursor = scanned.next;\n } while (cursor && found.length < limit);\n return query.limit === undefined ? found : found.slice(0, query.limit);\n },\n readIdentities,\n };\n}\n/** Protocol identities are strings; durable record IDs remain numeric internally. */\nexport function projectDurableEntries(\n records: readonly import('@earendil-works/pi-durable').EntryRecord[],\n): import('../../types/server/directHarnessRuntime').Entry[] {\n return records.flatMap((raw, index) => {\n const data = raw.data && typeof raw.data === 'object' && !Array.isArray(raw.data) ? raw.data : undefined;\n const message = raw.model?.[0];\n const timestamp =\n message && 'timestamp' in message && typeof message.timestamp === 'number'\n ? message.timestamp\n : typeof data?.timestamp === 'number'\n ? data.timestamp\n : 0;\n const base = {\n id: String(raw.id),\n parentId: index ? String(records[index - 1]!.id) : null,\n timestamp,\n seq: Number(raw.id),\n };\n if (raw.kind === 'po.entry' && data)\n return [{ ...data, ...base } as import('../../types/server/directHarnessRuntime').Entry];\n if (raw.kind === 'pi.compaction') {\n const content = message?.content;\n const summary =\n typeof content === 'string'\n ? content\n : Array.isArray(content)\n ? content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('')\n : '';\n return [\n {\n ...base,\n type: 'compaction' as const,\n summary,\n tokensBefore: 0,\n retainedTail: [],\n fromHook: false,\n ...(raw.head === undefined ? {} : { firstKeptEntryId: String(raw.head) }),\n },\n ];\n }\n if (raw.model?.length)\n return raw.model.map((item, position) => ({\n ...base,\n id: position === 0 ? base.id : `${base.id}:${position}`,\n type: 'message' as const,\n message: item,\n }));\n return [\n { ...base, type: 'custom' as const, customType: raw.kind, ...(raw.data === undefined ? {} : { data: raw.data }) },\n ];\n });\n}\n"],"mappings":"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"}