@agimon-ai/doompi-core 0.0.1-alpha.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1233) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/agentModel.cjs +4 -0
  5. package/dist/agentModel.d.mts +2 -0
  6. package/dist/agentModel.mjs +2 -0
  7. package/dist/apiContracts.cjs +2009 -0
  8. package/dist/apiContracts.cjs.map +1 -0
  9. package/dist/apiContracts.d.mts +1018 -0
  10. package/dist/apiContracts.d.mts.map +1 -0
  11. package/dist/apiContracts.mjs +1989 -0
  12. package/dist/apiContracts.mjs.map +1 -0
  13. package/dist/askUser.cjs +8 -0
  14. package/dist/askUser.d.mts +2 -0
  15. package/dist/askUser.mjs +2 -0
  16. package/dist/authorTools.cjs +5 -0
  17. package/dist/authorTools.d.mts +2 -0
  18. package/dist/authorTools.mjs +2 -0
  19. package/dist/backgroundWork.cjs +7 -0
  20. package/dist/backgroundWork.d.mts +2 -0
  21. package/dist/backgroundWork.mjs +2 -0
  22. package/dist/bundleAssetPolicy.cjs +5 -0
  23. package/dist/bundleAssetPolicy.d.mts +2 -0
  24. package/dist/bundleAssetPolicy.mjs +2 -0
  25. package/dist/childProcess.cjs +15 -0
  26. package/dist/childProcess.d.mts +2 -0
  27. package/dist/childProcess.mjs +2 -0
  28. package/dist/childSession.cjs +8 -0
  29. package/dist/childSession.d.mts +3 -0
  30. package/dist/childSession.mjs +3 -0
  31. package/dist/cockpitContainer.cjs +4 -0
  32. package/dist/cockpitContainer.d.mts +2 -0
  33. package/dist/cockpitContainer.mjs +2 -0
  34. package/dist/config.cjs +13 -0
  35. package/dist/config.d.mts +3 -0
  36. package/dist/config.mjs +2 -0
  37. package/dist/contextApi.cjs +10 -0
  38. package/dist/contextApi.d.mts +4 -0
  39. package/dist/contextApi.mjs +3 -0
  40. package/dist/contextContributions.cjs +7 -0
  41. package/dist/contextContributions.d.mts +3 -0
  42. package/dist/contextContributions.mjs +3 -0
  43. package/dist/contextDetail.cjs +65 -0
  44. package/dist/contextDetail.cjs.map +1 -0
  45. package/dist/contextDetail.d.mts +19 -0
  46. package/dist/contextDetail.d.mts.map +1 -0
  47. package/dist/contextDetail.mjs +64 -0
  48. package/dist/contextDetail.mjs.map +1 -0
  49. package/dist/contextDetailStore.cjs +100 -0
  50. package/dist/contextDetailStore.cjs.map +1 -0
  51. package/dist/contextDetailStore.d.mts +19 -0
  52. package/dist/contextDetailStore.d.mts.map +1 -0
  53. package/dist/contextDetailStore.mjs +91 -0
  54. package/dist/contextDetailStore.mjs.map +1 -0
  55. package/dist/contextProjection.cjs +121 -0
  56. package/dist/contextProjection.cjs.map +1 -0
  57. package/dist/contextProjection.d.mts +130 -0
  58. package/dist/contextProjection.d.mts.map +1 -0
  59. package/dist/contextProjection.mjs +117 -0
  60. package/dist/contextProjection.mjs.map +1 -0
  61. package/dist/cordisHost.cjs +11 -0
  62. package/dist/cordisHost.d.mts +2 -0
  63. package/dist/cordisHost.mjs +2 -0
  64. package/dist/delegation.cjs +18 -0
  65. package/dist/delegation.d.mts +2 -0
  66. package/dist/delegation.mjs +2 -0
  67. package/dist/doomPackage.cjs +61 -0
  68. package/dist/doomPackage.cjs.map +1 -0
  69. package/dist/doomPackage.d.mts +17 -0
  70. package/dist/doomPackage.d.mts.map +1 -0
  71. package/dist/doomPackage.mjs +54 -0
  72. package/dist/doomPackage.mjs.map +1 -0
  73. package/dist/executionBudget.cjs +231 -0
  74. package/dist/executionBudget.cjs.map +1 -0
  75. package/dist/executionBudget.d.mts +11 -0
  76. package/dist/executionBudget.d.mts.map +1 -0
  77. package/dist/executionBudget.mjs +225 -0
  78. package/dist/executionBudget.mjs.map +1 -0
  79. package/dist/extensionFile.cjs +24 -0
  80. package/dist/extensionFile.d.mts +3 -0
  81. package/dist/extensionFile.mjs +2 -0
  82. package/dist/footer.cjs +6 -0
  83. package/dist/footer.d.mts +2 -0
  84. package/dist/footer.mjs +2 -0
  85. package/dist/headless.cjs +9 -0
  86. package/dist/headless.d.mts +2 -0
  87. package/dist/headless.mjs +2 -0
  88. package/dist/headlessHub.cjs +914 -0
  89. package/dist/headlessHub.cjs.map +1 -0
  90. package/dist/headlessHub.d.mts +157 -0
  91. package/dist/headlessHub.d.mts.map +1 -0
  92. package/dist/headlessHub.mjs +911 -0
  93. package/dist/headlessHub.mjs.map +1 -0
  94. package/dist/headlessServer.cjs +910 -0
  95. package/dist/headlessServer.cjs.map +1 -0
  96. package/dist/headlessServer.d.mts +64 -0
  97. package/dist/headlessServer.d.mts.map +1 -0
  98. package/dist/headlessServer.mjs +904 -0
  99. package/dist/headlessServer.mjs.map +1 -0
  100. package/dist/headlessSessionHost.cjs +0 -0
  101. package/dist/headlessSessionHost.d.mts +71 -0
  102. package/dist/headlessSessionHost.d.mts.map +1 -0
  103. package/dist/headlessSessionHost.mjs +1 -0
  104. package/dist/headlessSessionManager.cjs +51 -0
  105. package/dist/headlessSessionManager.cjs.map +1 -0
  106. package/dist/headlessSessionManager.d.mts +6 -0
  107. package/dist/headlessSessionManager.d.mts.map +1 -0
  108. package/dist/headlessSessionManager.mjs +50 -0
  109. package/dist/headlessSessionManager.mjs.map +1 -0
  110. package/dist/help.cjs +24 -0
  111. package/dist/help.d.mts +3 -0
  112. package/dist/help.mjs +3 -0
  113. package/dist/history.cjs +25 -0
  114. package/dist/history.d.mts +10 -0
  115. package/dist/history.mjs +10 -0
  116. package/dist/historyImport.cjs +553 -0
  117. package/dist/historyImport.cjs.map +1 -0
  118. package/dist/historyImport.d.mts +76 -0
  119. package/dist/historyImport.d.mts.map +1 -0
  120. package/dist/historyImport.mjs +547 -0
  121. package/dist/historyImport.mjs.map +1 -0
  122. package/dist/historyOwnership.cjs +253 -0
  123. package/dist/historyOwnership.cjs.map +1 -0
  124. package/dist/historyOwnership.d.mts +23 -0
  125. package/dist/historyOwnership.d.mts.map +1 -0
  126. package/dist/historyOwnership.mjs +247 -0
  127. package/dist/historyOwnership.mjs.map +1 -0
  128. package/dist/hubChannel.cjs +4 -0
  129. package/dist/hubChannel.d.mts +2 -0
  130. package/dist/hubChannel.mjs +2 -0
  131. package/dist/index.cjs +44 -0
  132. package/dist/index.d.mts +6 -0
  133. package/dist/index.mjs +6 -0
  134. package/dist/json.cjs +6 -0
  135. package/dist/json.d.mts +2 -0
  136. package/dist/json.mjs +2 -0
  137. package/dist/jsonlSessionRepo.cjs +217 -0
  138. package/dist/jsonlSessionRepo.cjs.map +1 -0
  139. package/dist/jsonlSessionRepo.d.mts +7 -0
  140. package/dist/jsonlSessionRepo.d.mts.map +1 -0
  141. package/dist/jsonlSessionRepo.mjs +212 -0
  142. package/dist/jsonlSessionRepo.mjs.map +1 -0
  143. package/dist/kernel.cjs +3 -0
  144. package/dist/kernel.d.mts +3 -0
  145. package/dist/kernel.mjs +2 -0
  146. package/dist/leader.cjs +9 -0
  147. package/dist/leader.d.mts +2 -0
  148. package/dist/leader.mjs +2 -0
  149. package/dist/logSinkTelemetry.cjs +5 -0
  150. package/dist/logSinkTelemetry.d.mts +2 -0
  151. package/dist/logSinkTelemetry.mjs +2 -0
  152. package/dist/machineApi.cjs +92 -0
  153. package/dist/machineApi.cjs.map +1 -0
  154. package/dist/machineApi.d.mts +7 -0
  155. package/dist/machineApi.d.mts.map +1 -0
  156. package/dist/machineApi.mjs +88 -0
  157. package/dist/machineApi.mjs.map +1 -0
  158. package/dist/main.cjs +11 -0
  159. package/dist/main.d.mts +5 -0
  160. package/dist/main.mjs +4 -0
  161. package/dist/mcpFacet.cjs +12 -0
  162. package/dist/mcpFacet.d.mts +4 -0
  163. package/dist/mcpFacet.mjs +4 -0
  164. package/dist/mcpProjection.cjs +16 -0
  165. package/dist/mcpProjection.d.mts +2 -0
  166. package/dist/mcpProjection.mjs +2 -0
  167. package/dist/mcpSchemaCost.cjs +195 -0
  168. package/dist/mcpSchemaCost.cjs.map +1 -0
  169. package/dist/mcpSchemaCost.d.mts +35 -0
  170. package/dist/mcpSchemaCost.d.mts.map +1 -0
  171. package/dist/mcpSchemaCost.mjs +190 -0
  172. package/dist/mcpSchemaCost.mjs.map +1 -0
  173. package/dist/mcpSession.cjs +9 -0
  174. package/dist/mcpSession.d.mts +2 -0
  175. package/dist/mcpSession.mjs +2 -0
  176. package/dist/mcpStatus.cjs +7 -0
  177. package/dist/mcpStatus.d.mts +2 -0
  178. package/dist/mcpStatus.mjs +2 -0
  179. package/dist/mcpToolResolver.cjs +5 -0
  180. package/dist/mcpToolResolver.d.mts +2 -0
  181. package/dist/mcpToolResolver.mjs +2 -0
  182. package/dist/mcpWidget.cjs +0 -0
  183. package/dist/mcpWidget.d.mts +2 -0
  184. package/dist/mcpWidget.mjs +1 -0
  185. package/dist/moduleResolution.cjs +405 -0
  186. package/dist/moduleResolution.cjs.map +1 -0
  187. package/dist/moduleResolution.d.mts +67 -0
  188. package/dist/moduleResolution.d.mts.map +1 -0
  189. package/dist/moduleResolution.mjs +389 -0
  190. package/dist/moduleResolution.mjs.map +1 -0
  191. package/dist/narration.cjs +10 -0
  192. package/dist/narration.d.mts +2 -0
  193. package/dist/narration.mjs +2 -0
  194. package/dist/notification.cjs +17 -0
  195. package/dist/notification.d.mts +2 -0
  196. package/dist/notification.mjs +2 -0
  197. package/dist/packageApi.cjs +16 -0
  198. package/dist/packageApi.d.mts +3 -0
  199. package/dist/packageApi.mjs +3 -0
  200. package/dist/packageApiServer.cjs +191 -0
  201. package/dist/packageApiServer.cjs.map +1 -0
  202. package/dist/packageApiServer.d.mts +57 -0
  203. package/dist/packageApiServer.d.mts.map +1 -0
  204. package/dist/packageApiServer.mjs +189 -0
  205. package/dist/packageApiServer.mjs.map +1 -0
  206. package/dist/piExtension.cjs +13 -0
  207. package/dist/piExtension.d.mts +5 -0
  208. package/dist/piExtension.mjs +4 -0
  209. package/dist/piSettings.cjs +12 -0
  210. package/dist/piSettings.d.mts +2 -0
  211. package/dist/piSettings.mjs +2 -0
  212. package/dist/pluginProtocol.cjs +10 -0
  213. package/dist/pluginProtocol.d.mts +2 -0
  214. package/dist/pluginProtocol.mjs +2 -0
  215. package/dist/profileIdentity.cjs +6 -0
  216. package/dist/profileIdentity.d.mts +2 -0
  217. package/dist/profileIdentity.mjs +2 -0
  218. package/dist/protocol.cjs +10 -0
  219. package/dist/protocol.d.mts +2 -0
  220. package/dist/protocol.mjs +2 -0
  221. package/dist/readiness.cjs +8 -0
  222. package/dist/readiness.d.mts +2 -0
  223. package/dist/readiness.mjs +2 -0
  224. package/dist/relaunchHandoff.cjs +6 -0
  225. package/dist/relaunchHandoff.d.mts +2 -0
  226. package/dist/relaunchHandoff.mjs +2 -0
  227. package/dist/remoteApi.cjs +42 -0
  228. package/dist/remoteApi.cjs.map +1 -0
  229. package/dist/remoteApi.d.mts +7 -0
  230. package/dist/remoteApi.d.mts.map +1 -0
  231. package/dist/remoteApi.mjs +41 -0
  232. package/dist/remoteApi.mjs.map +1 -0
  233. package/dist/remoteRuntime.cjs +460 -0
  234. package/dist/remoteRuntime.cjs.map +1 -0
  235. package/dist/remoteRuntime.d.mts +28 -0
  236. package/dist/remoteRuntime.d.mts.map +1 -0
  237. package/dist/remoteRuntime.mjs +456 -0
  238. package/dist/remoteRuntime.mjs.map +1 -0
  239. package/dist/runtimeConfig.cjs +232 -0
  240. package/dist/runtimeConfig.cjs.map +1 -0
  241. package/dist/runtimeConfig.d.mts +313 -0
  242. package/dist/runtimeConfig.d.mts.map +1 -0
  243. package/dist/runtimeConfig.mjs +221 -0
  244. package/dist/runtimeConfig.mjs.map +1 -0
  245. package/dist/runtimeContextApi.cjs +64 -0
  246. package/dist/runtimeContextApi.cjs.map +1 -0
  247. package/dist/runtimeContextApi.d.mts +16 -0
  248. package/dist/runtimeContextApi.d.mts.map +1 -0
  249. package/dist/runtimeContextApi.mjs +62 -0
  250. package/dist/runtimeContextApi.mjs.map +1 -0
  251. package/dist/runtimeCordisHost.cjs +193 -0
  252. package/dist/runtimeCordisHost.cjs.map +1 -0
  253. package/dist/runtimeCordisHost.d.mts +63 -0
  254. package/dist/runtimeCordisHost.d.mts.map +1 -0
  255. package/dist/runtimeCordisHost.mjs +184 -0
  256. package/dist/runtimeCordisHost.mjs.map +1 -0
  257. package/dist/runtimeHeadlessSessionManager.cjs +0 -0
  258. package/dist/runtimeHeadlessSessionManager.d.mts +18 -0
  259. package/dist/runtimeHeadlessSessionManager.d.mts.map +1 -0
  260. package/dist/runtimeHeadlessSessionManager.mjs +1 -0
  261. package/dist/runtimeIdentity.cjs +26 -0
  262. package/dist/runtimeIdentity.cjs.map +1 -0
  263. package/dist/runtimeIdentity.d.mts +7 -0
  264. package/dist/runtimeIdentity.d.mts.map +1 -0
  265. package/dist/runtimeIdentity.mjs +21 -0
  266. package/dist/runtimeIdentity.mjs.map +1 -0
  267. package/dist/runtimeJson.cjs +46 -0
  268. package/dist/runtimeJson.cjs.map +1 -0
  269. package/dist/runtimeJson.d.mts +22 -0
  270. package/dist/runtimeJson.d.mts.map +1 -0
  271. package/dist/runtimeJson.mjs +39 -0
  272. package/dist/runtimeJson.mjs.map +1 -0
  273. package/dist/runtimeLogSinkTelemetry.cjs +102 -0
  274. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -0
  275. package/dist/runtimeLogSinkTelemetry.d.mts +49 -0
  276. package/dist/runtimeLogSinkTelemetry.d.mts.map +1 -0
  277. package/dist/runtimeLogSinkTelemetry.mjs +99 -0
  278. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -0
  279. package/dist/runtimePiExtension.cjs +339 -0
  280. package/dist/runtimePiExtension.cjs.map +1 -0
  281. package/dist/runtimePiExtension.d.mts +160 -0
  282. package/dist/runtimePiExtension.d.mts.map +1 -0
  283. package/dist/runtimePiExtension.mjs +333 -0
  284. package/dist/runtimePiExtension.mjs.map +1 -0
  285. package/dist/runtimePiSettings.cjs +116 -0
  286. package/dist/runtimePiSettings.cjs.map +1 -0
  287. package/dist/runtimePiSettings.d.mts +29 -0
  288. package/dist/runtimePiSettings.d.mts.map +1 -0
  289. package/dist/runtimePiSettings.mjs +103 -0
  290. package/dist/runtimePiSettings.mjs.map +1 -0
  291. package/dist/runtimeProtocol.cjs +223 -0
  292. package/dist/runtimeProtocol.cjs.map +1 -0
  293. package/dist/runtimeProtocol.d.mts +84 -0
  294. package/dist/runtimeProtocol.d.mts.map +1 -0
  295. package/dist/runtimeProtocol.mjs +215 -0
  296. package/dist/runtimeProtocol.mjs.map +1 -0
  297. package/dist/runtimeToolNames.cjs +51 -0
  298. package/dist/runtimeToolNames.cjs.map +1 -0
  299. package/dist/runtimeToolNames.d.mts +24 -0
  300. package/dist/runtimeToolNames.d.mts.map +1 -0
  301. package/dist/runtimeToolNames.mjs +49 -0
  302. package/dist/runtimeToolNames.mjs.map +1 -0
  303. package/dist/runtimeTransition.cjs +27 -0
  304. package/dist/runtimeTransition.cjs.map +1 -0
  305. package/dist/runtimeTransition.d.mts +114 -0
  306. package/dist/runtimeTransition.d.mts.map +1 -0
  307. package/dist/runtimeTransition.mjs +24 -0
  308. package/dist/runtimeTransition.mjs.map +1 -0
  309. package/dist/sandboxHarness.cjs +6 -0
  310. package/dist/sandboxHarness.d.mts +2 -0
  311. package/dist/sandboxHarness.mjs +2 -0
  312. package/dist/server.cjs +17 -0
  313. package/dist/server.d.mts +10 -0
  314. package/dist/server.mjs +7 -0
  315. package/dist/serverFacet.cjs +30 -0
  316. package/dist/serverFacet.d.mts +8 -0
  317. package/dist/serverFacet.mjs +8 -0
  318. package/dist/serverTelemetry.cjs +25 -0
  319. package/dist/serverTelemetry.cjs.map +1 -0
  320. package/dist/serverTelemetry.d.mts +12 -0
  321. package/dist/serverTelemetry.d.mts.map +1 -0
  322. package/dist/serverTelemetry.mjs +23 -0
  323. package/dist/serverTelemetry.mjs.map +1 -0
  324. package/dist/sessionFilesApi.cjs +96 -0
  325. package/dist/sessionFilesApi.cjs.map +1 -0
  326. package/dist/sessionFilesApi.d.mts +7 -0
  327. package/dist/sessionFilesApi.d.mts.map +1 -0
  328. package/dist/sessionFilesApi.mjs +91 -0
  329. package/dist/sessionFilesApi.mjs.map +1 -0
  330. package/dist/sessionMcp.cjs +6 -0
  331. package/dist/sessionMcp.d.mts +5 -0
  332. package/dist/sessionMcp.mjs +3 -0
  333. package/dist/sessionProtocol.cjs +8 -0
  334. package/dist/sessionProtocol.d.mts +3 -0
  335. package/dist/sessionProtocol.mjs +2 -0
  336. package/dist/skills.cjs +9 -0
  337. package/dist/skills.d.mts +2 -0
  338. package/dist/skills.mjs +2 -0
  339. package/dist/sqliteHistoryImport.cjs +151 -0
  340. package/dist/sqliteHistoryImport.cjs.map +1 -0
  341. package/dist/sqliteHistoryImport.d.mts +8 -0
  342. package/dist/sqliteHistoryImport.d.mts.map +1 -0
  343. package/dist/sqliteHistoryImport.mjs +146 -0
  344. package/dist/sqliteHistoryImport.mjs.map +1 -0
  345. package/dist/sqliteSessionStorage.cjs +53 -0
  346. package/dist/sqliteSessionStorage.cjs.map +1 -0
  347. package/dist/sqliteSessionStorage.d.mts +7 -0
  348. package/dist/sqliteSessionStorage.d.mts.map +1 -0
  349. package/dist/sqliteSessionStorage.mjs +49 -0
  350. package/dist/sqliteSessionStorage.mjs.map +1 -0
  351. package/dist/src/constants/authorTools.cjs +10 -0
  352. package/dist/src/constants/authorTools.cjs.map +1 -0
  353. package/dist/src/constants/authorTools.d.mts +6 -0
  354. package/dist/src/constants/authorTools.d.mts.map +1 -0
  355. package/dist/src/constants/authorTools.mjs +8 -0
  356. package/dist/src/constants/authorTools.mjs.map +1 -0
  357. package/dist/src/constants/contextApi.cjs +28 -0
  358. package/dist/src/constants/contextApi.cjs.map +1 -0
  359. package/dist/src/constants/contextApi.d.mts +21 -0
  360. package/dist/src/constants/contextApi.d.mts.map +1 -0
  361. package/dist/src/constants/contextApi.mjs +23 -0
  362. package/dist/src/constants/contextApi.mjs.map +1 -0
  363. package/dist/src/constants/remote.cjs +90 -0
  364. package/dist/src/constants/remote.cjs.map +1 -0
  365. package/dist/src/constants/remote.mjs +69 -0
  366. package/dist/src/constants/remote.mjs.map +1 -0
  367. package/dist/src/constants/voiceReloadHandoff.cjs +12 -0
  368. package/dist/src/constants/voiceReloadHandoff.cjs.map +1 -0
  369. package/dist/src/constants/voiceReloadHandoff.d.mts +7 -0
  370. package/dist/src/constants/voiceReloadHandoff.d.mts.map +1 -0
  371. package/dist/src/constants/voiceReloadHandoff.mjs +9 -0
  372. package/dist/src/constants/voiceReloadHandoff.mjs.map +1 -0
  373. package/dist/src/constants/voiceTools.cjs +96 -0
  374. package/dist/src/constants/voiceTools.cjs.map +1 -0
  375. package/dist/src/constants/voiceTools.d.mts +58 -0
  376. package/dist/src/constants/voiceTools.d.mts.map +1 -0
  377. package/dist/src/constants/voiceTools.mjs +60 -0
  378. package/dist/src/constants/voiceTools.mjs.map +1 -0
  379. package/dist/src/extensions/extensionFile.cjs +165 -0
  380. package/dist/src/extensions/extensionFile.cjs.map +1 -0
  381. package/dist/src/extensions/extensionFile.d.mts +79 -0
  382. package/dist/src/extensions/extensionFile.d.mts.map +1 -0
  383. package/dist/src/extensions/extensionFile.mjs +144 -0
  384. package/dist/src/extensions/extensionFile.mjs.map +1 -0
  385. package/dist/src/extensions/serverPlugin.cjs +106 -0
  386. package/dist/src/extensions/serverPlugin.cjs.map +1 -0
  387. package/dist/src/extensions/serverPlugin.d.mts +5 -0
  388. package/dist/src/extensions/serverPlugin.d.mts.map +1 -0
  389. package/dist/src/extensions/serverPlugin.mjs +106 -0
  390. package/dist/src/extensions/serverPlugin.mjs.map +1 -0
  391. package/dist/src/extensions/webPlugin.cjs +131 -0
  392. package/dist/src/extensions/webPlugin.cjs.map +1 -0
  393. package/dist/src/extensions/webPlugin.d.mts +66 -0
  394. package/dist/src/extensions/webPlugin.d.mts.map +1 -0
  395. package/dist/src/extensions/webPlugin.mjs +110 -0
  396. package/dist/src/extensions/webPlugin.mjs.map +1 -0
  397. package/dist/src/pi/piSessionRuntime.cjs +572 -0
  398. package/dist/src/pi/piSessionRuntime.cjs.map +1 -0
  399. package/dist/src/pi/piSessionRuntime.d.mts +43 -0
  400. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -0
  401. package/dist/src/pi/piSessionRuntime.mjs +571 -0
  402. package/dist/src/pi/piSessionRuntime.mjs.map +1 -0
  403. package/dist/src/pi/piWebSocketListener.cjs +115 -0
  404. package/dist/src/pi/piWebSocketListener.cjs.map +1 -0
  405. package/dist/src/pi/piWebSocketListener.mjs +115 -0
  406. package/dist/src/pi/piWebSocketListener.mjs.map +1 -0
  407. package/dist/src/schemas/agentModel.cjs +33 -0
  408. package/dist/src/schemas/agentModel.cjs.map +1 -0
  409. package/dist/src/schemas/agentModel.d.mts +26 -0
  410. package/dist/src/schemas/agentModel.d.mts.map +1 -0
  411. package/dist/src/schemas/agentModel.mjs +32 -0
  412. package/dist/src/schemas/agentModel.mjs.map +1 -0
  413. package/dist/src/schemas/apiContracts.d.mts +58 -0
  414. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  415. package/dist/src/schemas/askUser.cjs +42 -0
  416. package/dist/src/schemas/askUser.cjs.map +1 -0
  417. package/dist/src/schemas/askUser.d.mts +47 -0
  418. package/dist/src/schemas/askUser.d.mts.map +1 -0
  419. package/dist/src/schemas/askUser.mjs +37 -0
  420. package/dist/src/schemas/askUser.mjs.map +1 -0
  421. package/dist/src/schemas/backgroundWork.cjs +31 -0
  422. package/dist/src/schemas/backgroundWork.cjs.map +1 -0
  423. package/dist/src/schemas/backgroundWork.d.mts +72 -0
  424. package/dist/src/schemas/backgroundWork.d.mts.map +1 -0
  425. package/dist/src/schemas/backgroundWork.mjs +27 -0
  426. package/dist/src/schemas/backgroundWork.mjs.map +1 -0
  427. package/dist/src/schemas/childProcess.cjs +67 -0
  428. package/dist/src/schemas/childProcess.cjs.map +1 -0
  429. package/dist/src/schemas/childProcess.d.mts +30 -0
  430. package/dist/src/schemas/childProcess.d.mts.map +1 -0
  431. package/dist/src/schemas/childProcess.mjs +55 -0
  432. package/dist/src/schemas/childProcess.mjs.map +1 -0
  433. package/dist/src/schemas/cockpitContainer.cjs +31 -0
  434. package/dist/src/schemas/cockpitContainer.cjs.map +1 -0
  435. package/dist/src/schemas/cockpitContainer.d.mts +80 -0
  436. package/dist/src/schemas/cockpitContainer.d.mts.map +1 -0
  437. package/dist/src/schemas/cockpitContainer.mjs +30 -0
  438. package/dist/src/schemas/cockpitContainer.mjs.map +1 -0
  439. package/dist/src/schemas/contextContributions.cjs +17 -0
  440. package/dist/src/schemas/contextContributions.cjs.map +1 -0
  441. package/dist/src/schemas/contextContributions.d.mts +49 -0
  442. package/dist/src/schemas/contextContributions.d.mts.map +1 -0
  443. package/dist/src/schemas/contextContributions.mjs +15 -0
  444. package/dist/src/schemas/contextContributions.mjs.map +1 -0
  445. package/dist/src/schemas/delegation.cjs +91 -0
  446. package/dist/src/schemas/delegation.cjs.map +1 -0
  447. package/dist/src/schemas/delegation.d.mts +95 -0
  448. package/dist/src/schemas/delegation.d.mts.map +1 -0
  449. package/dist/src/schemas/delegation.mjs +76 -0
  450. package/dist/src/schemas/delegation.mjs.map +1 -0
  451. package/dist/src/schemas/extensionFile.d.mts +136 -0
  452. package/dist/src/schemas/extensionFile.d.mts.map +1 -0
  453. package/dist/src/schemas/footer.cjs +48 -0
  454. package/dist/src/schemas/footer.cjs.map +1 -0
  455. package/dist/src/schemas/footer.d.mts +48 -0
  456. package/dist/src/schemas/footer.d.mts.map +1 -0
  457. package/dist/src/schemas/footer.mjs +45 -0
  458. package/dist/src/schemas/footer.mjs.map +1 -0
  459. package/dist/src/schemas/headless.cjs +44 -0
  460. package/dist/src/schemas/headless.cjs.map +1 -0
  461. package/dist/src/schemas/headless.d.mts +370 -0
  462. package/dist/src/schemas/headless.d.mts.map +1 -0
  463. package/dist/src/schemas/headless.mjs +38 -0
  464. package/dist/src/schemas/headless.mjs.map +1 -0
  465. package/dist/src/schemas/help.cjs +281 -0
  466. package/dist/src/schemas/help.cjs.map +1 -0
  467. package/dist/src/schemas/help.d.mts +119 -0
  468. package/dist/src/schemas/help.d.mts.map +1 -0
  469. package/dist/src/schemas/help.mjs +262 -0
  470. package/dist/src/schemas/help.mjs.map +1 -0
  471. package/dist/src/schemas/hubChannel.cjs +20 -0
  472. package/dist/src/schemas/hubChannel.cjs.map +1 -0
  473. package/dist/src/schemas/hubChannel.d.mts +236 -0
  474. package/dist/src/schemas/hubChannel.d.mts.map +1 -0
  475. package/dist/src/schemas/hubChannel.mjs +19 -0
  476. package/dist/src/schemas/hubChannel.mjs.map +1 -0
  477. package/dist/src/schemas/leader.cjs +57 -0
  478. package/dist/src/schemas/leader.cjs.map +1 -0
  479. package/dist/src/schemas/leader.d.mts +107 -0
  480. package/dist/src/schemas/leader.d.mts.map +1 -0
  481. package/dist/src/schemas/leader.mjs +51 -0
  482. package/dist/src/schemas/leader.mjs.map +1 -0
  483. package/dist/src/schemas/mcpBundle.cjs +92 -0
  484. package/dist/src/schemas/mcpBundle.cjs.map +1 -0
  485. package/dist/src/schemas/mcpBundle.d.mts +33 -0
  486. package/dist/src/schemas/mcpBundle.d.mts.map +1 -0
  487. package/dist/src/schemas/mcpBundle.mjs +90 -0
  488. package/dist/src/schemas/mcpBundle.mjs.map +1 -0
  489. package/dist/src/schemas/mcpFacet.cjs +24 -0
  490. package/dist/src/schemas/mcpFacet.cjs.map +1 -0
  491. package/dist/src/schemas/mcpFacet.d.mts +91 -0
  492. package/dist/src/schemas/mcpFacet.d.mts.map +1 -0
  493. package/dist/src/schemas/mcpFacet.mjs +21 -0
  494. package/dist/src/schemas/mcpFacet.mjs.map +1 -0
  495. package/dist/src/schemas/mcpProjection.cjs +117 -0
  496. package/dist/src/schemas/mcpProjection.cjs.map +1 -0
  497. package/dist/src/schemas/mcpProjection.d.mts +124 -0
  498. package/dist/src/schemas/mcpProjection.d.mts.map +1 -0
  499. package/dist/src/schemas/mcpProjection.mjs +104 -0
  500. package/dist/src/schemas/mcpProjection.mjs.map +1 -0
  501. package/dist/src/schemas/mcpSession.cjs +57 -0
  502. package/dist/src/schemas/mcpSession.cjs.map +1 -0
  503. package/dist/src/schemas/mcpSession.d.mts +57 -0
  504. package/dist/src/schemas/mcpSession.d.mts.map +1 -0
  505. package/dist/src/schemas/mcpSession.mjs +51 -0
  506. package/dist/src/schemas/mcpSession.mjs.map +1 -0
  507. package/dist/src/schemas/mcpStatus.cjs +52 -0
  508. package/dist/src/schemas/mcpStatus.cjs.map +1 -0
  509. package/dist/src/schemas/mcpStatus.d.mts +73 -0
  510. package/dist/src/schemas/mcpStatus.d.mts.map +1 -0
  511. package/dist/src/schemas/mcpStatus.mjs +48 -0
  512. package/dist/src/schemas/mcpStatus.mjs.map +1 -0
  513. package/dist/src/schemas/mcpToolResolver.cjs +17 -0
  514. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -0
  515. package/dist/src/schemas/mcpToolResolver.d.mts +24 -0
  516. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -0
  517. package/dist/src/schemas/mcpToolResolver.mjs +15 -0
  518. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -0
  519. package/dist/src/schemas/narration.cjs +54 -0
  520. package/dist/src/schemas/narration.cjs.map +1 -0
  521. package/dist/src/schemas/narration.d.mts +29 -0
  522. package/dist/src/schemas/narration.d.mts.map +1 -0
  523. package/dist/src/schemas/narration.mjs +47 -0
  524. package/dist/src/schemas/narration.mjs.map +1 -0
  525. package/dist/src/schemas/notification.cjs +122 -0
  526. package/dist/src/schemas/notification.cjs.map +1 -0
  527. package/dist/src/schemas/notification.d.mts +48 -0
  528. package/dist/src/schemas/notification.d.mts.map +1 -0
  529. package/dist/src/schemas/notification.mjs +108 -0
  530. package/dist/src/schemas/notification.mjs.map +1 -0
  531. package/dist/src/schemas/packageApi.cjs +73 -0
  532. package/dist/src/schemas/packageApi.cjs.map +1 -0
  533. package/dist/src/schemas/packageApi.d.mts +249 -0
  534. package/dist/src/schemas/packageApi.d.mts.map +1 -0
  535. package/dist/src/schemas/packageApi.mjs +64 -0
  536. package/dist/src/schemas/packageApi.mjs.map +1 -0
  537. package/dist/src/schemas/piTool.cjs +26 -0
  538. package/dist/src/schemas/piTool.cjs.map +1 -0
  539. package/dist/src/schemas/piTool.d.mts +25 -0
  540. package/dist/src/schemas/piTool.d.mts.map +1 -0
  541. package/dist/src/schemas/piTool.mjs +26 -0
  542. package/dist/src/schemas/piTool.mjs.map +1 -0
  543. package/dist/src/schemas/pluginContributions.cjs +19 -0
  544. package/dist/src/schemas/pluginContributions.cjs.map +1 -0
  545. package/dist/src/schemas/pluginContributions.d.mts +56 -0
  546. package/dist/src/schemas/pluginContributions.d.mts.map +1 -0
  547. package/dist/src/schemas/pluginContributions.mjs +18 -0
  548. package/dist/src/schemas/pluginContributions.mjs.map +1 -0
  549. package/dist/src/schemas/pluginProtocol.cjs +103 -0
  550. package/dist/src/schemas/pluginProtocol.cjs.map +1 -0
  551. package/dist/src/schemas/pluginProtocol.d.mts +68 -0
  552. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -0
  553. package/dist/src/schemas/pluginProtocol.mjs +96 -0
  554. package/dist/src/schemas/pluginProtocol.mjs.map +1 -0
  555. package/dist/src/schemas/profileIdentity.cjs +67 -0
  556. package/dist/src/schemas/profileIdentity.cjs.map +1 -0
  557. package/dist/src/schemas/profileIdentity.d.mts +50 -0
  558. package/dist/src/schemas/profileIdentity.d.mts.map +1 -0
  559. package/dist/src/schemas/profileIdentity.mjs +64 -0
  560. package/dist/src/schemas/profileIdentity.mjs.map +1 -0
  561. package/dist/src/schemas/readiness.cjs +251 -0
  562. package/dist/src/schemas/readiness.cjs.map +1 -0
  563. package/dist/src/schemas/readiness.d.mts +84 -0
  564. package/dist/src/schemas/readiness.d.mts.map +1 -0
  565. package/dist/src/schemas/readiness.mjs +246 -0
  566. package/dist/src/schemas/readiness.mjs.map +1 -0
  567. package/dist/src/schemas/relaunchHandoff.cjs +47 -0
  568. package/dist/src/schemas/relaunchHandoff.cjs.map +1 -0
  569. package/dist/src/schemas/relaunchHandoff.d.mts +25 -0
  570. package/dist/src/schemas/relaunchHandoff.d.mts.map +1 -0
  571. package/dist/src/schemas/relaunchHandoff.mjs +44 -0
  572. package/dist/src/schemas/relaunchHandoff.mjs.map +1 -0
  573. package/dist/src/schemas/sandboxHarness.cjs +29 -0
  574. package/dist/src/schemas/sandboxHarness.cjs.map +1 -0
  575. package/dist/src/schemas/sandboxHarness.d.mts +39 -0
  576. package/dist/src/schemas/sandboxHarness.d.mts.map +1 -0
  577. package/dist/src/schemas/sandboxHarness.mjs +26 -0
  578. package/dist/src/schemas/sandboxHarness.mjs.map +1 -0
  579. package/dist/src/schemas/serverBundle.cjs +79 -0
  580. package/dist/src/schemas/serverBundle.cjs.map +1 -0
  581. package/dist/src/schemas/serverBundle.d.mts +34 -0
  582. package/dist/src/schemas/serverBundle.d.mts.map +1 -0
  583. package/dist/src/schemas/serverBundle.mjs +77 -0
  584. package/dist/src/schemas/serverBundle.mjs.map +1 -0
  585. package/dist/src/schemas/serverFacet.cjs +102 -0
  586. package/dist/src/schemas/serverFacet.cjs.map +1 -0
  587. package/dist/src/schemas/serverFacet.d.mts +141 -0
  588. package/dist/src/schemas/serverFacet.d.mts.map +1 -0
  589. package/dist/src/schemas/serverFacet.mjs +93 -0
  590. package/dist/src/schemas/serverFacet.mjs.map +1 -0
  591. package/dist/src/schemas/sessionMcpActivity.d.mts +45 -0
  592. package/dist/src/schemas/sessionMcpActivity.d.mts.map +1 -0
  593. package/dist/src/schemas/sessionProtocol.cjs +17 -0
  594. package/dist/src/schemas/sessionProtocol.cjs.map +1 -0
  595. package/dist/src/schemas/sessionProtocol.d.mts +308 -0
  596. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -0
  597. package/dist/src/schemas/sessionProtocol.mjs +12 -0
  598. package/dist/src/schemas/sessionProtocol.mjs.map +1 -0
  599. package/dist/src/schemas/sessionUpdates.d.mts +34 -0
  600. package/dist/src/schemas/sessionUpdates.d.mts.map +1 -0
  601. package/dist/src/schemas/skills.cjs +115 -0
  602. package/dist/src/schemas/skills.cjs.map +1 -0
  603. package/dist/src/schemas/skills.d.mts +65 -0
  604. package/dist/src/schemas/skills.d.mts.map +1 -0
  605. package/dist/src/schemas/skills.mjs +109 -0
  606. package/dist/src/schemas/skills.mjs.map +1 -0
  607. package/dist/src/schemas/toolOverrides.cjs +17 -0
  608. package/dist/src/schemas/toolOverrides.cjs.map +1 -0
  609. package/dist/src/schemas/toolOverrides.d.mts +29 -0
  610. package/dist/src/schemas/toolOverrides.d.mts.map +1 -0
  611. package/dist/src/schemas/toolOverrides.mjs +15 -0
  612. package/dist/src/schemas/toolOverrides.mjs.map +1 -0
  613. package/dist/src/schemas/toolSurface.cjs +17 -0
  614. package/dist/src/schemas/toolSurface.cjs.map +1 -0
  615. package/dist/src/schemas/toolSurface.d.mts +70 -0
  616. package/dist/src/schemas/toolSurface.d.mts.map +1 -0
  617. package/dist/src/schemas/toolSurface.mjs +15 -0
  618. package/dist/src/schemas/toolSurface.mjs.map +1 -0
  619. package/dist/src/schemas/uiHub.cjs +17 -0
  620. package/dist/src/schemas/uiHub.cjs.map +1 -0
  621. package/dist/src/schemas/uiHub.d.mts +23 -0
  622. package/dist/src/schemas/uiHub.d.mts.map +1 -0
  623. package/dist/src/schemas/uiHub.mjs +15 -0
  624. package/dist/src/schemas/uiHub.mjs.map +1 -0
  625. package/dist/src/schemas/voiceReloadHandoff.cjs +78 -0
  626. package/dist/src/schemas/voiceReloadHandoff.cjs.map +1 -0
  627. package/dist/src/schemas/voiceReloadHandoff.d.mts +31 -0
  628. package/dist/src/schemas/voiceReloadHandoff.d.mts.map +1 -0
  629. package/dist/src/schemas/voiceReloadHandoff.mjs +75 -0
  630. package/dist/src/schemas/voiceReloadHandoff.mjs.map +1 -0
  631. package/dist/src/schemas/voiceTools.cjs +205 -0
  632. package/dist/src/schemas/voiceTools.cjs.map +1 -0
  633. package/dist/src/schemas/voiceTools.d.mts +120 -0
  634. package/dist/src/schemas/voiceTools.d.mts.map +1 -0
  635. package/dist/src/schemas/voiceTools.mjs +194 -0
  636. package/dist/src/schemas/voiceTools.mjs.map +1 -0
  637. package/dist/src/server/devProxyForward.cjs +141 -0
  638. package/dist/src/server/devProxyForward.cjs.map +1 -0
  639. package/dist/src/server/devProxyForward.mjs +139 -0
  640. package/dist/src/server/devProxyForward.mjs.map +1 -0
  641. package/dist/src/server/devProxyRoutes.cjs +97 -0
  642. package/dist/src/server/devProxyRoutes.cjs.map +1 -0
  643. package/dist/src/server/devProxyRoutes.mjs +97 -0
  644. package/dist/src/server/devProxyRoutes.mjs.map +1 -0
  645. package/dist/src/server/devProxySocket.cjs +87 -0
  646. package/dist/src/server/devProxySocket.cjs.map +1 -0
  647. package/dist/src/server/devProxySocket.mjs +87 -0
  648. package/dist/src/server/devProxySocket.mjs.map +1 -0
  649. package/dist/src/server/directHarnessRuntime.cjs +1964 -0
  650. package/dist/src/server/directHarnessRuntime.cjs.map +1 -0
  651. package/dist/src/server/directHarnessRuntime.d.mts +3 -0
  652. package/dist/src/server/directHarnessRuntime.mjs +1958 -0
  653. package/dist/src/server/directHarnessRuntime.mjs.map +1 -0
  654. package/dist/src/server/harnessErrorMessage.cjs +13 -0
  655. package/dist/src/server/harnessErrorMessage.cjs.map +1 -0
  656. package/dist/src/server/harnessErrorMessage.mjs +13 -0
  657. package/dist/src/server/harnessErrorMessage.mjs.map +1 -0
  658. package/dist/src/server/headlessProtocol.cjs +366 -0
  659. package/dist/src/server/headlessProtocol.cjs.map +1 -0
  660. package/dist/src/server/headlessProtocol.mjs +366 -0
  661. package/dist/src/server/headlessProtocol.mjs.map +1 -0
  662. package/dist/src/server/jsonlTranscriptReader.cjs +85 -0
  663. package/dist/src/server/jsonlTranscriptReader.cjs.map +1 -0
  664. package/dist/src/server/jsonlTranscriptReader.mjs +83 -0
  665. package/dist/src/server/jsonlTranscriptReader.mjs.map +1 -0
  666. package/dist/src/server/mcpBundleLoader.cjs +115 -0
  667. package/dist/src/server/mcpBundleLoader.cjs.map +1 -0
  668. package/dist/src/server/mcpBundleLoader.d.mts +27 -0
  669. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -0
  670. package/dist/src/server/mcpBundleLoader.mjs +111 -0
  671. package/dist/src/server/mcpBundleLoader.mjs.map +1 -0
  672. package/dist/src/server/nativeChildTranscriptReader.cjs +20 -0
  673. package/dist/src/server/nativeChildTranscriptReader.cjs.map +1 -0
  674. package/dist/src/server/nativeChildTranscriptReader.mjs +18 -0
  675. package/dist/src/server/nativeChildTranscriptReader.mjs.map +1 -0
  676. package/dist/src/server/remoteRoutes.cjs +386 -0
  677. package/dist/src/server/remoteRoutes.cjs.map +1 -0
  678. package/dist/src/server/remoteRoutes.mjs +386 -0
  679. package/dist/src/server/remoteRoutes.mjs.map +1 -0
  680. package/dist/src/server/serverFacetLoader.cjs +220 -0
  681. package/dist/src/server/serverFacetLoader.cjs.map +1 -0
  682. package/dist/src/server/serverFacetLoader.d.mts +77 -0
  683. package/dist/src/server/serverFacetLoader.d.mts.map +1 -0
  684. package/dist/src/server/serverFacetLoader.mjs +215 -0
  685. package/dist/src/server/serverFacetLoader.mjs.map +1 -0
  686. package/dist/src/server/sessionMcpHandler.cjs +494 -0
  687. package/dist/src/server/sessionMcpHandler.cjs.map +1 -0
  688. package/dist/src/server/sessionMcpHandler.d.mts +47 -0
  689. package/dist/src/server/sessionMcpHandler.d.mts.map +1 -0
  690. package/dist/src/server/sessionMcpHandler.mjs +493 -0
  691. package/dist/src/server/sessionMcpHandler.mjs.map +1 -0
  692. package/dist/src/server/sessionMcpRoutes.cjs +780 -0
  693. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -0
  694. package/dist/src/server/sessionMcpRoutes.mjs +775 -0
  695. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -0
  696. package/dist/src/server/threadJournals.cjs +172 -0
  697. package/dist/src/server/threadJournals.cjs.map +1 -0
  698. package/dist/src/server/threadJournals.mjs +169 -0
  699. package/dist/src/server/threadJournals.mjs.map +1 -0
  700. package/dist/src/services/acpSessionUpdates/index.cjs +129 -0
  701. package/dist/src/services/acpSessionUpdates/index.cjs.map +1 -0
  702. package/dist/src/services/acpSessionUpdates/index.mjs +129 -0
  703. package/dist/src/services/acpSessionUpdates/index.mjs.map +1 -0
  704. package/dist/src/services/apiSurfaceAssert/index.cjs +60 -0
  705. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -0
  706. package/dist/src/services/apiSurfaceAssert/index.d.mts +24 -0
  707. package/dist/src/services/apiSurfaceAssert/index.d.mts.map +1 -0
  708. package/dist/src/services/apiSurfaceAssert/index.mjs +60 -0
  709. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -0
  710. package/dist/src/services/bundlePublication/index.cjs +88 -0
  711. package/dist/src/services/bundlePublication/index.cjs.map +1 -0
  712. package/dist/src/services/bundlePublication/index.mjs +85 -0
  713. package/dist/src/services/bundlePublication/index.mjs.map +1 -0
  714. package/dist/src/services/contextApiUrls/index.cjs +14 -0
  715. package/dist/src/services/contextApiUrls/index.cjs.map +1 -0
  716. package/dist/src/services/contextApiUrls/index.d.mts +6 -0
  717. package/dist/src/services/contextApiUrls/index.d.mts.map +1 -0
  718. package/dist/src/services/contextApiUrls/index.mjs +14 -0
  719. package/dist/src/services/contextApiUrls/index.mjs.map +1 -0
  720. package/dist/src/services/contextContributions/index.cjs +79 -0
  721. package/dist/src/services/contextContributions/index.cjs.map +1 -0
  722. package/dist/src/services/contextContributions/index.d.mts +6 -0
  723. package/dist/src/services/contextContributions/index.d.mts.map +1 -0
  724. package/dist/src/services/contextContributions/index.mjs +79 -0
  725. package/dist/src/services/contextContributions/index.mjs.map +1 -0
  726. package/dist/src/services/contextUsage/index.cjs +27 -0
  727. package/dist/src/services/contextUsage/index.cjs.map +1 -0
  728. package/dist/src/services/contextUsage/index.mjs +25 -0
  729. package/dist/src/services/contextUsage/index.mjs.map +1 -0
  730. package/dist/src/services/devProxyPolicy/index.cjs +168 -0
  731. package/dist/src/services/devProxyPolicy/index.cjs.map +1 -0
  732. package/dist/src/services/devProxyPolicy/index.mjs +165 -0
  733. package/dist/src/services/devProxyPolicy/index.mjs.map +1 -0
  734. package/dist/src/services/devProxyStore/index.cjs +107 -0
  735. package/dist/src/services/devProxyStore/index.cjs.map +1 -0
  736. package/dist/src/services/devProxyStore/index.mjs +104 -0
  737. package/dist/src/services/devProxyStore/index.mjs.map +1 -0
  738. package/dist/src/services/deviceAuth/index.cjs +125 -0
  739. package/dist/src/services/deviceAuth/index.cjs.map +1 -0
  740. package/dist/src/services/deviceAuth/index.d.mts +9 -0
  741. package/dist/src/services/deviceAuth/index.d.mts.map +1 -0
  742. package/dist/src/services/deviceAuth/index.mjs +125 -0
  743. package/dist/src/services/deviceAuth/index.mjs.map +1 -0
  744. package/dist/src/services/deviceSessions/index.cjs +147 -0
  745. package/dist/src/services/deviceSessions/index.cjs.map +1 -0
  746. package/dist/src/services/deviceSessions/index.d.mts +15 -0
  747. package/dist/src/services/deviceSessions/index.d.mts.map +1 -0
  748. package/dist/src/services/deviceSessions/index.mjs +141 -0
  749. package/dist/src/services/deviceSessions/index.mjs.map +1 -0
  750. package/dist/src/services/headlessClient/index.cjs +125 -0
  751. package/dist/src/services/headlessClient/index.cjs.map +1 -0
  752. package/dist/src/services/headlessClient/index.mjs +125 -0
  753. package/dist/src/services/headlessClient/index.mjs.map +1 -0
  754. package/dist/src/services/historyCreationFileSystem/index.cjs +115 -0
  755. package/dist/src/services/historyCreationFileSystem/index.cjs.map +1 -0
  756. package/dist/src/services/historyCreationFileSystem/index.mjs +115 -0
  757. package/dist/src/services/historyCreationFileSystem/index.mjs.map +1 -0
  758. package/dist/src/services/hubChannelHarness/index.cjs +50 -0
  759. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -0
  760. package/dist/src/services/hubChannelHarness/index.d.mts +17 -0
  761. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -0
  762. package/dist/src/services/hubChannelHarness/index.mjs +50 -0
  763. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -0
  764. package/dist/src/services/kernel/index.cjs +147 -0
  765. package/dist/src/services/kernel/index.cjs.map +1 -0
  766. package/dist/src/services/kernel/index.d.mts +9 -0
  767. package/dist/src/services/kernel/index.d.mts.map +1 -0
  768. package/dist/src/services/kernel/index.mjs +147 -0
  769. package/dist/src/services/kernel/index.mjs.map +1 -0
  770. package/dist/src/services/loginFlow/index.cjs +131 -0
  771. package/dist/src/services/loginFlow/index.cjs.map +1 -0
  772. package/dist/src/services/loginFlow/index.mjs +131 -0
  773. package/dist/src/services/loginFlow/index.mjs.map +1 -0
  774. package/dist/src/services/loopbackAddress/index.cjs +58 -0
  775. package/dist/src/services/loopbackAddress/index.cjs.map +1 -0
  776. package/dist/src/services/loopbackAddress/index.mjs +56 -0
  777. package/dist/src/services/loopbackAddress/index.mjs.map +1 -0
  778. package/dist/src/services/openSessionRegistry/index.cjs +144 -0
  779. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -0
  780. package/dist/src/services/openSessionRegistry/index.d.mts +40 -0
  781. package/dist/src/services/openSessionRegistry/index.d.mts.map +1 -0
  782. package/dist/src/services/openSessionRegistry/index.mjs +141 -0
  783. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -0
  784. package/dist/src/services/packageApiHarness/index.cjs +36 -0
  785. package/dist/src/services/packageApiHarness/index.cjs.map +1 -0
  786. package/dist/src/services/packageApiHarness/index.d.mts +40 -0
  787. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -0
  788. package/dist/src/services/packageApiHarness/index.mjs +36 -0
  789. package/dist/src/services/packageApiHarness/index.mjs.map +1 -0
  790. package/dist/src/services/packageResource/index.cjs +54 -0
  791. package/dist/src/services/packageResource/index.cjs.map +1 -0
  792. package/dist/src/services/packageResource/index.d.mts +26 -0
  793. package/dist/src/services/packageResource/index.d.mts.map +1 -0
  794. package/dist/src/services/packageResource/index.mjs +51 -0
  795. package/dist/src/services/packageResource/index.mjs.map +1 -0
  796. package/dist/src/services/pairingFlow/index.cjs +145 -0
  797. package/dist/src/services/pairingFlow/index.cjs.map +1 -0
  798. package/dist/src/services/pairingFlow/index.d.mts +44 -0
  799. package/dist/src/services/pairingFlow/index.d.mts.map +1 -0
  800. package/dist/src/services/pairingFlow/index.mjs +145 -0
  801. package/dist/src/services/pairingFlow/index.mjs.map +1 -0
  802. package/dist/src/services/pairingPage/index.cjs +450 -0
  803. package/dist/src/services/pairingPage/index.cjs.map +1 -0
  804. package/dist/src/services/pairingPage/index.mjs +447 -0
  805. package/dist/src/services/pairingPage/index.mjs.map +1 -0
  806. package/dist/src/services/piExtensionHost/index.cjs +821 -0
  807. package/dist/src/services/piExtensionHost/index.cjs.map +1 -0
  808. package/dist/src/services/piExtensionHost/index.mjs +817 -0
  809. package/dist/src/services/piExtensionHost/index.mjs.map +1 -0
  810. package/dist/src/services/piHelpTools/index.cjs +68 -0
  811. package/dist/src/services/piHelpTools/index.cjs.map +1 -0
  812. package/dist/src/services/piHelpTools/index.d.mts +10 -0
  813. package/dist/src/services/piHelpTools/index.d.mts.map +1 -0
  814. package/dist/src/services/piHelpTools/index.mjs +68 -0
  815. package/dist/src/services/piHelpTools/index.mjs.map +1 -0
  816. package/dist/src/services/piSessionEntries/index.cjs +112 -0
  817. package/dist/src/services/piSessionEntries/index.cjs.map +1 -0
  818. package/dist/src/services/piSessionEntries/index.mjs +108 -0
  819. package/dist/src/services/piSessionEntries/index.mjs.map +1 -0
  820. package/dist/src/services/pluginLifecycle/index.cjs +71 -0
  821. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -0
  822. package/dist/src/services/pluginLifecycle/index.d.mts +11 -0
  823. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -0
  824. package/dist/src/services/pluginLifecycle/index.mjs +71 -0
  825. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -0
  826. package/dist/src/services/providerAuth/index.cjs +156 -0
  827. package/dist/src/services/providerAuth/index.cjs.map +1 -0
  828. package/dist/src/services/providerAuth/index.mjs +154 -0
  829. package/dist/src/services/providerAuth/index.mjs.map +1 -0
  830. package/dist/src/services/remoteAccess/index.cjs +396 -0
  831. package/dist/src/services/remoteAccess/index.cjs.map +1 -0
  832. package/dist/src/services/remoteAccess/index.d.mts +81 -0
  833. package/dist/src/services/remoteAccess/index.d.mts.map +1 -0
  834. package/dist/src/services/remoteAccess/index.mjs +396 -0
  835. package/dist/src/services/remoteAccess/index.mjs.map +1 -0
  836. package/dist/src/services/remoteAccessSettings/index.cjs +151 -0
  837. package/dist/src/services/remoteAccessSettings/index.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessSettings/index.mjs +149 -0
  839. package/dist/src/services/remoteAccessSettings/index.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/index.cjs +126 -0
  841. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/index.mjs +121 -0
  843. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -0
  844. package/dist/src/services/remoteGuardPolicy/index.cjs +190 -0
  845. package/dist/src/services/remoteGuardPolicy/index.cjs.map +1 -0
  846. package/dist/src/services/remoteGuardPolicy/index.d.mts +7 -0
  847. package/dist/src/services/remoteGuardPolicy/index.d.mts.map +1 -0
  848. package/dist/src/services/remoteGuardPolicy/index.mjs +186 -0
  849. package/dist/src/services/remoteGuardPolicy/index.mjs.map +1 -0
  850. package/dist/src/services/requestReceipts/index.cjs +161 -0
  851. package/dist/src/services/requestReceipts/index.cjs.map +1 -0
  852. package/dist/src/services/requestReceipts/index.d.mts +11 -0
  853. package/dist/src/services/requestReceipts/index.d.mts.map +1 -0
  854. package/dist/src/services/requestReceipts/index.mjs +161 -0
  855. package/dist/src/services/requestReceipts/index.mjs.map +1 -0
  856. package/dist/src/services/rpcTranscript/index.cjs +590 -0
  857. package/dist/src/services/rpcTranscript/index.cjs.map +1 -0
  858. package/dist/src/services/rpcTranscript/index.d.mts +50 -0
  859. package/dist/src/services/rpcTranscript/index.d.mts.map +1 -0
  860. package/dist/src/services/rpcTranscript/index.mjs +589 -0
  861. package/dist/src/services/rpcTranscript/index.mjs.map +1 -0
  862. package/dist/src/services/serverFacet/index.cjs +197 -0
  863. package/dist/src/services/serverFacet/index.cjs.map +1 -0
  864. package/dist/src/services/serverFacet/index.d.mts +31 -0
  865. package/dist/src/services/serverFacet/index.d.mts.map +1 -0
  866. package/dist/src/services/serverFacet/index.mjs +197 -0
  867. package/dist/src/services/serverFacet/index.mjs.map +1 -0
  868. package/dist/src/services/sessionGitStatus/index.cjs +46 -0
  869. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -0
  870. package/dist/src/services/sessionGitStatus/index.mjs +46 -0
  871. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -0
  872. package/dist/src/services/sessionGitStatus/type.d.mts +8 -0
  873. package/dist/src/services/sessionGitStatus/type.d.mts.map +1 -0
  874. package/dist/src/services/sessionMcpActivity/index.cjs +115 -0
  875. package/dist/src/services/sessionMcpActivity/index.cjs.map +1 -0
  876. package/dist/src/services/sessionMcpActivity/index.mjs +111 -0
  877. package/dist/src/services/sessionMcpActivity/index.mjs.map +1 -0
  878. package/dist/src/services/sessionMcpAuthorization/index.cjs +432 -0
  879. package/dist/src/services/sessionMcpAuthorization/index.cjs.map +1 -0
  880. package/dist/src/services/sessionMcpAuthorization/index.d.mts +123 -0
  881. package/dist/src/services/sessionMcpAuthorization/index.d.mts.map +1 -0
  882. package/dist/src/services/sessionMcpAuthorization/index.mjs +430 -0
  883. package/dist/src/services/sessionMcpAuthorization/index.mjs.map +1 -0
  884. package/dist/src/services/sessionMcpConversations/index.cjs +217 -0
  885. package/dist/src/services/sessionMcpConversations/index.cjs.map +1 -0
  886. package/dist/src/services/sessionMcpConversations/index.mjs +212 -0
  887. package/dist/src/services/sessionMcpConversations/index.mjs.map +1 -0
  888. package/dist/src/services/sessionMcpRegistrationStore/index.cjs +86 -0
  889. package/dist/src/services/sessionMcpRegistrationStore/index.cjs.map +1 -0
  890. package/dist/src/services/sessionMcpRegistrationStore/index.mjs +83 -0
  891. package/dist/src/services/sessionMcpRegistrationStore/index.mjs.map +1 -0
  892. package/dist/src/services/sessionPresentation/index.cjs +119 -0
  893. package/dist/src/services/sessionPresentation/index.cjs.map +1 -0
  894. package/dist/src/services/sessionPresentation/index.mjs +119 -0
  895. package/dist/src/services/sessionPresentation/index.mjs.map +1 -0
  896. package/dist/src/services/sqliteSessionHistory/index.cjs +105 -0
  897. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -0
  898. package/dist/src/services/sqliteSessionHistory/index.d.mts +29 -0
  899. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -0
  900. package/dist/src/services/sqliteSessionHistory/index.mjs +100 -0
  901. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -0
  902. package/dist/src/services/sqliteTranscriptReader/index.cjs +70 -0
  903. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -0
  904. package/dist/src/services/sqliteTranscriptReader/index.d.mts +14 -0
  905. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -0
  906. package/dist/src/services/sqliteTranscriptReader/index.mjs +67 -0
  907. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -0
  908. package/dist/src/services/toolCost/index.cjs +47 -0
  909. package/dist/src/services/toolCost/index.cjs.map +1 -0
  910. package/dist/src/services/toolCost/index.d.mts +38 -0
  911. package/dist/src/services/toolCost/index.d.mts.map +1 -0
  912. package/dist/src/services/toolCost/index.mjs +46 -0
  913. package/dist/src/services/toolCost/index.mjs.map +1 -0
  914. package/dist/src/services/toolOverrides/index.cjs +45 -0
  915. package/dist/src/services/toolOverrides/index.cjs.map +1 -0
  916. package/dist/src/services/toolOverrides/index.d.mts +6 -0
  917. package/dist/src/services/toolOverrides/index.d.mts.map +1 -0
  918. package/dist/src/services/toolOverrides/index.mjs +45 -0
  919. package/dist/src/services/toolOverrides/index.mjs.map +1 -0
  920. package/dist/src/services/toolPrompt/index.cjs +13 -0
  921. package/dist/src/services/toolPrompt/index.cjs.map +1 -0
  922. package/dist/src/services/toolPrompt/index.mjs +13 -0
  923. package/dist/src/services/toolPrompt/index.mjs.map +1 -0
  924. package/dist/src/services/toolSurface/index.cjs +134 -0
  925. package/dist/src/services/toolSurface/index.cjs.map +1 -0
  926. package/dist/src/services/toolSurface/index.d.mts +19 -0
  927. package/dist/src/services/toolSurface/index.d.mts.map +1 -0
  928. package/dist/src/services/toolSurface/index.mjs +134 -0
  929. package/dist/src/services/toolSurface/index.mjs.map +1 -0
  930. package/dist/src/services/traceContext/index.cjs +13 -0
  931. package/dist/src/services/traceContext/index.cjs.map +1 -0
  932. package/dist/src/services/traceContext/index.mjs +13 -0
  933. package/dist/src/services/traceContext/index.mjs.map +1 -0
  934. package/dist/src/services/transcriptPages/index.cjs +74 -0
  935. package/dist/src/services/transcriptPages/index.cjs.map +1 -0
  936. package/dist/src/services/transcriptPages/index.mjs +73 -0
  937. package/dist/src/services/transcriptPages/index.mjs.map +1 -0
  938. package/dist/src/services/tunnelOutput/index.cjs +58 -0
  939. package/dist/src/services/tunnelOutput/index.cjs.map +1 -0
  940. package/dist/src/services/tunnelOutput/index.mjs +54 -0
  941. package/dist/src/services/tunnelOutput/index.mjs.map +1 -0
  942. package/dist/src/services/tunnelProcess/index.cjs +487 -0
  943. package/dist/src/services/tunnelProcess/index.cjs.map +1 -0
  944. package/dist/src/services/tunnelProcess/index.mjs +481 -0
  945. package/dist/src/services/tunnelProcess/index.mjs.map +1 -0
  946. package/dist/src/services/voiceReloadHandoff/index.cjs +136 -0
  947. package/dist/src/services/voiceReloadHandoff/index.cjs.map +1 -0
  948. package/dist/src/services/voiceReloadHandoff/index.d.mts +34 -0
  949. package/dist/src/services/voiceReloadHandoff/index.d.mts.map +1 -0
  950. package/dist/src/services/voiceReloadHandoff/index.mjs +135 -0
  951. package/dist/src/services/voiceReloadHandoff/index.mjs.map +1 -0
  952. package/dist/src/services/voiceToolsContract/index.cjs +26 -0
  953. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -0
  954. package/dist/src/services/voiceToolsContract/index.d.mts +76 -0
  955. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -0
  956. package/dist/src/services/voiceToolsContract/index.mjs +24 -0
  957. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -0
  958. package/dist/src/services/webauthn/index.cjs +262 -0
  959. package/dist/src/services/webauthn/index.cjs.map +1 -0
  960. package/dist/src/services/webauthn/index.d.mts +39 -0
  961. package/dist/src/services/webauthn/index.d.mts.map +1 -0
  962. package/dist/src/services/webauthn/index.mjs +262 -0
  963. package/dist/src/services/webauthn/index.mjs.map +1 -0
  964. package/dist/src/services/webauthnPolicy/index.cjs +163 -0
  965. package/dist/src/services/webauthnPolicy/index.cjs.map +1 -0
  966. package/dist/src/services/webauthnPolicy/index.d.mts +41 -0
  967. package/dist/src/services/webauthnPolicy/index.d.mts.map +1 -0
  968. package/dist/src/services/webauthnPolicy/index.mjs +156 -0
  969. package/dist/src/services/webauthnPolicy/index.mjs.map +1 -0
  970. package/dist/src/services/workspaceRegistry/index.cjs +151 -0
  971. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -0
  972. package/dist/src/services/workspaceRegistry/index.d.mts +47 -0
  973. package/dist/src/services/workspaceRegistry/index.d.mts.map +1 -0
  974. package/dist/src/services/workspaceRegistry/index.mjs +144 -0
  975. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -0
  976. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +261 -0
  977. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -0
  978. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +32 -0
  979. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -0
  980. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +254 -0
  981. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -0
  982. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +28 -0
  983. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +1 -0
  984. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +25 -0
  985. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +1 -0
  986. package/dist/src/systems/child/services/childSession/index.cjs +219 -0
  987. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -0
  988. package/dist/src/systems/child/services/childSession/index.d.mts +14 -0
  989. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -0
  990. package/dist/src/systems/child/services/childSession/index.mjs +219 -0
  991. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -0
  992. package/dist/src/systems/child/types/childSession.cjs +19 -0
  993. package/dist/src/systems/child/types/childSession.cjs.map +1 -0
  994. package/dist/src/systems/child/types/childSession.d.mts +148 -0
  995. package/dist/src/systems/child/types/childSession.d.mts.map +1 -0
  996. package/dist/src/systems/child/types/childSession.mjs +16 -0
  997. package/dist/src/systems/child/types/childSession.mjs.map +1 -0
  998. package/dist/src/systems/main/adapters/headlessHost.cjs +554 -0
  999. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -0
  1000. package/dist/src/systems/main/adapters/headlessHost.d.mts +111 -0
  1001. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -0
  1002. package/dist/src/systems/main/adapters/headlessHost.mjs +552 -0
  1003. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -0
  1004. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +1293 -0
  1005. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -0
  1006. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +14 -0
  1007. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -0
  1008. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +1288 -0
  1009. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -0
  1010. package/dist/src/systems/main/types/headlessHost.d.mts +36 -0
  1011. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -0
  1012. package/dist/src/testing/pi/extensionScenarios.cjs +73 -0
  1013. package/dist/src/testing/pi/extensionScenarios.cjs.map +1 -0
  1014. package/dist/src/testing/pi/extensionScenarios.d.mts +41 -0
  1015. package/dist/src/testing/pi/extensionScenarios.d.mts.map +1 -0
  1016. package/dist/src/testing/pi/extensionScenarios.mjs +73 -0
  1017. package/dist/src/testing/pi/extensionScenarios.mjs.map +1 -0
  1018. package/dist/src/testing/pi/testHost.cjs +398 -0
  1019. package/dist/src/testing/pi/testHost.cjs.map +1 -0
  1020. package/dist/src/testing/pi/testHost.d.mts +160 -0
  1021. package/dist/src/testing/pi/testHost.d.mts.map +1 -0
  1022. package/dist/src/testing/pi/testHost.mjs +398 -0
  1023. package/dist/src/testing/pi/testHost.mjs.map +1 -0
  1024. package/dist/src/types/config.d.mts +20 -0
  1025. package/dist/src/types/config.d.mts.map +1 -0
  1026. package/dist/src/types/kernel.d.mts +69 -0
  1027. package/dist/src/types/kernel.d.mts.map +1 -0
  1028. package/dist/src/types/remote.d.mts +124 -0
  1029. package/dist/src/types/remote.d.mts.map +1 -0
  1030. package/dist/src/types/server/directHarnessRuntime.d.mts +209 -0
  1031. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -0
  1032. package/dist/src/types/server/session.d.mts +5 -0
  1033. package/dist/src/types/server/session.d.mts.map +1 -0
  1034. package/dist/src/types/server/sessionToolSurface.d.mts +44 -0
  1035. package/dist/src/types/server/sessionToolSurface.d.mts.map +1 -0
  1036. package/dist/src/web/models/globalStore.cjs +23 -0
  1037. package/dist/src/web/models/globalStore.cjs.map +1 -0
  1038. package/dist/src/web/models/globalStore.d.mts +6 -0
  1039. package/dist/src/web/models/globalStore.d.mts.map +1 -0
  1040. package/dist/src/web/models/globalStore.mjs +23 -0
  1041. package/dist/src/web/models/globalStore.mjs.map +1 -0
  1042. package/dist/src/web/models/sessionStore.cjs +56 -0
  1043. package/dist/src/web/models/sessionStore.cjs.map +1 -0
  1044. package/dist/src/web/models/sessionStore.d.mts +14 -0
  1045. package/dist/src/web/models/sessionStore.d.mts.map +1 -0
  1046. package/dist/src/web/models/sessionStore.mjs +56 -0
  1047. package/dist/src/web/models/sessionStore.mjs.map +1 -0
  1048. package/dist/src/web/models/workspaceStore.cjs +50 -0
  1049. package/dist/src/web/models/workspaceStore.cjs.map +1 -0
  1050. package/dist/src/web/models/workspaceStore.d.mts +18 -0
  1051. package/dist/src/web/models/workspaceStore.d.mts.map +1 -0
  1052. package/dist/src/web/models/workspaceStore.mjs +50 -0
  1053. package/dist/src/web/models/workspaceStore.mjs.map +1 -0
  1054. package/dist/src/web/schemas/bundleAssetPolicy.cjs +20 -0
  1055. package/dist/src/web/schemas/bundleAssetPolicy.cjs.map +1 -0
  1056. package/dist/src/web/schemas/bundleAssetPolicy.d.mts +10 -0
  1057. package/dist/src/web/schemas/bundleAssetPolicy.d.mts.map +1 -0
  1058. package/dist/src/web/schemas/bundleAssetPolicy.mjs +18 -0
  1059. package/dist/src/web/schemas/bundleAssetPolicy.mjs.map +1 -0
  1060. package/dist/src/web/schemas/template.cjs +15 -0
  1061. package/dist/src/web/schemas/template.cjs.map +1 -0
  1062. package/dist/src/web/schemas/template.d.mts +6 -0
  1063. package/dist/src/web/schemas/template.d.mts.map +1 -0
  1064. package/dist/src/web/schemas/template.mjs +15 -0
  1065. package/dist/src/web/schemas/template.mjs.map +1 -0
  1066. package/dist/src/web/services/apiClient/index.cjs +156 -0
  1067. package/dist/src/web/services/apiClient/index.cjs.map +1 -0
  1068. package/dist/src/web/services/apiClient/index.d.mts +152 -0
  1069. package/dist/src/web/services/apiClient/index.d.mts.map +1 -0
  1070. package/dist/src/web/services/apiClient/index.mjs +154 -0
  1071. package/dist/src/web/services/apiClient/index.mjs.map +1 -0
  1072. package/dist/src/web/services/apiPaths/index.cjs +83 -0
  1073. package/dist/src/web/services/apiPaths/index.cjs.map +1 -0
  1074. package/dist/src/web/services/apiPaths/index.d.mts +81 -0
  1075. package/dist/src/web/services/apiPaths/index.d.mts.map +1 -0
  1076. package/dist/src/web/services/apiPaths/index.mjs +78 -0
  1077. package/dist/src/web/services/apiPaths/index.mjs.map +1 -0
  1078. package/dist/src/web/services/apiRoutes/index.cjs +47 -0
  1079. package/dist/src/web/services/apiRoutes/index.cjs.map +1 -0
  1080. package/dist/src/web/services/apiRoutes/index.d.mts +21 -0
  1081. package/dist/src/web/services/apiRoutes/index.d.mts.map +1 -0
  1082. package/dist/src/web/services/apiRoutes/index.mjs +43 -0
  1083. package/dist/src/web/services/apiRoutes/index.mjs.map +1 -0
  1084. package/dist/src/web/services/mcpWidget.cjs +9 -0
  1085. package/dist/src/web/services/mcpWidget.cjs.map +1 -0
  1086. package/dist/src/web/services/mcpWidget.d.mts +6 -0
  1087. package/dist/src/web/services/mcpWidget.d.mts.map +1 -0
  1088. package/dist/src/web/services/mcpWidget.mjs +9 -0
  1089. package/dist/src/web/services/mcpWidget.mjs.map +1 -0
  1090. package/dist/src/web/services/sessionRegistry/index.cjs +70 -0
  1091. package/dist/src/web/services/sessionRegistry/index.cjs.map +1 -0
  1092. package/dist/src/web/services/sessionRegistry/index.d.mts +29 -0
  1093. package/dist/src/web/services/sessionRegistry/index.d.mts.map +1 -0
  1094. package/dist/src/web/services/sessionRegistry/index.mjs +66 -0
  1095. package/dist/src/web/services/sessionRegistry/index.mjs.map +1 -0
  1096. package/dist/src/web/services/testing/channels.cjs +11 -0
  1097. package/dist/src/web/services/testing/channels.cjs.map +1 -0
  1098. package/dist/src/web/services/testing/channels.d.mts +8 -0
  1099. package/dist/src/web/services/testing/channels.d.mts.map +1 -0
  1100. package/dist/src/web/services/testing/channels.mjs +11 -0
  1101. package/dist/src/web/services/testing/channels.mjs.map +1 -0
  1102. package/dist/src/web/services/testing/index.cjs +27 -0
  1103. package/dist/src/web/services/testing/index.cjs.map +1 -0
  1104. package/dist/src/web/services/testing/index.d.mts +31 -0
  1105. package/dist/src/web/services/testing/index.d.mts.map +1 -0
  1106. package/dist/src/web/services/testing/index.mjs +27 -0
  1107. package/dist/src/web/services/testing/index.mjs.map +1 -0
  1108. package/dist/src/web/services/testing/rpcStub.cjs +58 -0
  1109. package/dist/src/web/services/testing/rpcStub.cjs.map +1 -0
  1110. package/dist/src/web/services/testing/rpcStub.d.mts +37 -0
  1111. package/dist/src/web/services/testing/rpcStub.d.mts.map +1 -0
  1112. package/dist/src/web/services/testing/rpcStub.mjs +58 -0
  1113. package/dist/src/web/services/testing/rpcStub.mjs.map +1 -0
  1114. package/dist/src/web/services/testing/slotProps.cjs +91 -0
  1115. package/dist/src/web/services/testing/slotProps.cjs.map +1 -0
  1116. package/dist/src/web/services/testing/slotProps.d.mts +69 -0
  1117. package/dist/src/web/services/testing/slotProps.d.mts.map +1 -0
  1118. package/dist/src/web/services/testing/slotProps.mjs +90 -0
  1119. package/dist/src/web/services/testing/slotProps.mjs.map +1 -0
  1120. package/dist/src/web/services/testing/templateRail.cjs +128 -0
  1121. package/dist/src/web/services/testing/templateRail.cjs.map +1 -0
  1122. package/dist/src/web/services/testing/templateRail.d.mts +31 -0
  1123. package/dist/src/web/services/testing/templateRail.d.mts.map +1 -0
  1124. package/dist/src/web/services/testing/templateRail.mjs +126 -0
  1125. package/dist/src/web/services/testing/templateRail.mjs.map +1 -0
  1126. package/dist/src/web/services/toolResult/index.cjs +30 -0
  1127. package/dist/src/web/services/toolResult/index.cjs.map +1 -0
  1128. package/dist/src/web/services/toolResult/index.d.mts +14 -0
  1129. package/dist/src/web/services/toolResult/index.d.mts.map +1 -0
  1130. package/dist/src/web/services/toolResult/index.mjs +29 -0
  1131. package/dist/src/web/services/toolResult/index.mjs.map +1 -0
  1132. package/dist/src/web/types/extensionFile.d.mts +59 -0
  1133. package/dist/src/web/types/extensionFile.d.mts.map +1 -0
  1134. package/dist/src/web/types/mcpWidget.d.mts +14 -0
  1135. package/dist/src/web/types/mcpWidget.d.mts.map +1 -0
  1136. package/dist/src/web/types/modelContext.d.mts +43 -0
  1137. package/dist/src/web/types/modelContext.d.mts.map +1 -0
  1138. package/dist/src/web/types/sessionRegistry.d.mts +43 -0
  1139. package/dist/src/web/types/sessionRegistry.d.mts.map +1 -0
  1140. package/dist/src/web/types/template.d.mts +155 -0
  1141. package/dist/src/web/types/template.d.mts.map +1 -0
  1142. package/dist/src/web/types/webPlugin.d.mts +896 -0
  1143. package/dist/src/web/types/webPlugin.d.mts.map +1 -0
  1144. package/dist/syncLocation.cjs +244 -0
  1145. package/dist/syncLocation.cjs.map +1 -0
  1146. package/dist/syncLocation.d.mts +37 -0
  1147. package/dist/syncLocation.d.mts.map +1 -0
  1148. package/dist/syncLocation.mjs +231 -0
  1149. package/dist/syncLocation.mjs.map +1 -0
  1150. package/dist/syncRegistration.cjs +171 -0
  1151. package/dist/syncRegistration.cjs.map +1 -0
  1152. package/dist/syncRegistration.d.mts +48 -0
  1153. package/dist/syncRegistration.d.mts.map +1 -0
  1154. package/dist/syncRegistration.mjs +159 -0
  1155. package/dist/syncRegistration.mjs.map +1 -0
  1156. package/dist/syncStateContract.cjs +19 -0
  1157. package/dist/syncStateContract.cjs.map +1 -0
  1158. package/dist/syncStateContract.d.mts +14 -0
  1159. package/dist/syncStateContract.d.mts.map +1 -0
  1160. package/dist/syncStateContract.mjs +16 -0
  1161. package/dist/syncStateContract.mjs.map +1 -0
  1162. package/dist/terminalPiChildSessionService.cjs +267 -0
  1163. package/dist/terminalPiChildSessionService.cjs.map +1 -0
  1164. package/dist/terminalPiChildSessionService.d.mts +42 -0
  1165. package/dist/terminalPiChildSessionService.d.mts.map +1 -0
  1166. package/dist/terminalPiChildSessionService.mjs +260 -0
  1167. package/dist/terminalPiChildSessionService.mjs.map +1 -0
  1168. package/dist/testing.cjs +11 -0
  1169. package/dist/testing.d.mts +6 -0
  1170. package/dist/testing.mjs +6 -0
  1171. package/dist/toolInventory.cjs +136 -0
  1172. package/dist/toolInventory.cjs.map +1 -0
  1173. package/dist/toolInventory.d.mts +66 -0
  1174. package/dist/toolInventory.d.mts.map +1 -0
  1175. package/dist/toolInventory.mjs +133 -0
  1176. package/dist/toolInventory.mjs.map +1 -0
  1177. package/dist/toolNames.cjs +4 -0
  1178. package/dist/toolNames.d.mts +2 -0
  1179. package/dist/toolNames.mjs +2 -0
  1180. package/dist/toolOverrides.cjs +7 -0
  1181. package/dist/toolOverrides.d.mts +3 -0
  1182. package/dist/toolOverrides.mjs +3 -0
  1183. package/dist/toolSurface.cjs +7 -0
  1184. package/dist/toolSurface.d.mts +3 -0
  1185. package/dist/toolSurface.mjs +3 -0
  1186. package/dist/transition.cjs +5 -0
  1187. package/dist/transition.d.cjs +5 -0
  1188. package/dist/transition.d.mts +2 -0
  1189. package/dist/transition.mjs +2 -0
  1190. package/dist/transitionClassifier.cjs +112 -0
  1191. package/dist/transitionClassifier.cjs.map +1 -0
  1192. package/dist/transitionClassifier.d.mts +18 -0
  1193. package/dist/transitionClassifier.d.mts.map +1 -0
  1194. package/dist/transitionClassifier.mjs +111 -0
  1195. package/dist/transitionClassifier.mjs.map +1 -0
  1196. package/dist/transitionCoordinator.cjs +131 -0
  1197. package/dist/transitionCoordinator.cjs.map +1 -0
  1198. package/dist/transitionCoordinator.d.mts +16 -0
  1199. package/dist/transitionCoordinator.d.mts.map +1 -0
  1200. package/dist/transitionCoordinator.mjs +130 -0
  1201. package/dist/transitionCoordinator.mjs.map +1 -0
  1202. package/dist/typesContextApi.cjs +0 -0
  1203. package/dist/typesContextApi.d.mts +73 -0
  1204. package/dist/typesContextApi.d.mts.map +1 -0
  1205. package/dist/typesContextApi.mjs +1 -0
  1206. package/dist/uiHub.cjs +5 -0
  1207. package/dist/uiHub.d.mts +2 -0
  1208. package/dist/uiHub.mjs +2 -0
  1209. package/dist/v3Export.cjs +1004 -0
  1210. package/dist/v3Export.cjs.map +1 -0
  1211. package/dist/v3Export.d.mts +34 -0
  1212. package/dist/v3Export.d.mts.map +1 -0
  1213. package/dist/v3Export.mjs +1000 -0
  1214. package/dist/v3Export.mjs.map +1 -0
  1215. package/dist/voiceReloadHandoff.cjs +14 -0
  1216. package/dist/voiceReloadHandoff.d.mts +4 -0
  1217. package/dist/voiceReloadHandoff.mjs +4 -0
  1218. package/dist/voiceTools.cjs +56 -0
  1219. package/dist/voiceTools.d.mts +4 -0
  1220. package/dist/voiceTools.mjs +4 -0
  1221. package/dist/web.cjs +64 -0
  1222. package/dist/web.d.mts +19 -0
  1223. package/dist/web.mjs +13 -0
  1224. package/dist/webCompositions.cjs +100 -0
  1225. package/dist/webCompositions.cjs.map +1 -0
  1226. package/dist/webCompositions.d.mts +20 -0
  1227. package/dist/webCompositions.d.mts.map +1 -0
  1228. package/dist/webCompositions.mjs +95 -0
  1229. package/dist/webCompositions.mjs.map +1 -0
  1230. package/dist/webTesting.cjs +14 -0
  1231. package/dist/webTesting.d.mts +6 -0
  1232. package/dist/webTesting.mjs +6 -0
  1233. package/package.json +616 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directHarnessRuntime.cjs","names":["fs","JSONL_STORAGE_VERSION","path","openSqliteSessionStorage","NodeExecutionEnv","JsonlSessionRepo","createHistoryCreationFileSystem","preserveHistoryBeforeOpen","createModels","HarnessFault","errorMessage","BACKGROUND_CONTEXT","createAssistantMessageEventStream","AgentHarness","value","setValue","laneState","pendingEntry","randomUUID","getSupportedThinkingLevels"],"sources":["../../../src/server/directHarnessRuntime.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport {\n AgentHarness,\n HarnessFault,\n type AgentHarnessTool,\n type AgentMessage,\n type AgentLane,\n type HarnessEvent,\n} from '@earendil-works/pi-agent-core';\nimport { BACKGROUND_CONTEXT, type Context } from '@earendil-works/pi-agent-core/harness/context';\nimport {\n JSONL_STORAGE_VERSION,\n JsonlSessionRepo,\n laneState,\n pendingEntry,\n setValue,\n value,\n type JsonlSessionMetadata,\n type Session,\n} from '@earendil-works/pi-agent-core/harness/session';\nimport { NodeExecutionEnv } from '@earendil-works/pi-agent-core/node';\nimport {\n createModels,\n createAssistantMessageEventStream,\n getSupportedThinkingLevels,\n type AssistantMessage,\n type Api,\n type ImageContent,\n type Model,\n type Models,\n type MutableModels,\n type Provider,\n type Usage,\n} from '@earendil-works/pi-ai';\n\nimport { createHistoryCreationFileSystem } from '../services/historyCreationFileSystem';\nimport { preserveHistoryBeforeOpen } from '../services/historyImport';\nimport type { HistoryOwnershipLease } from '../services/historyImport';\nimport { openSqliteSessionStorage } from '../services/sqliteSessionStorage';\nimport type {\n DirectHarnessEventListener,\n DirectHarnessFrame,\n DirectHarnessModel,\n DirectHarnessLifecycle,\n DirectHarnessQueuedInput,\n DirectHarnessRuntime,\n DirectHarnessRuntimeOptions,\n} from '../types/server/directHarnessRuntime';\nimport { harnessErrorMessage as errorMessage } from './harnessErrorMessage';\n\nconst DEFAULT_LANE = 'main';\nconst DEFAULT_SESSION_ROOT = '.pi/sessions';\nconst FRAME_ERROR = 'error';\n/** Journaled at every run end, so a reopened session can tell when it last settled. */\nexport const AGENT_SETTLED_ENTRY_TYPE = 'doompi.agent-settled';\nconst EVENT_TYPES: readonly HarnessEvent['type'][] = [\n 'run_start',\n 'run_resume',\n 'run_suspend',\n 'operation_abort',\n 'run_end',\n 'fault',\n 'handler_error',\n 'turn_start',\n 'turn_end',\n 'retry_scheduled',\n 'retry_start',\n 'retry_end',\n 'message_start',\n 'message_update',\n 'message_end',\n 'tool_start',\n 'tool_update',\n 'tool_end',\n 'entry_added',\n 'queue_update',\n 'value_update',\n 'config_update',\n 'compaction_start',\n 'compaction_end',\n 'navigation_start',\n 'navigation_end',\n 'usage',\n 'lane_created',\n];\nconst STORAGE_ERROR_CODES = new Set(['EACCES', 'EBUSY', 'EIO', 'EMFILE', 'ENFILE', 'ENOSPC', 'EPERM', 'EROFS']);\n\ntype AnyRecord = Record<string, unknown>;\ntype AnySession = Session;\ntype AnyModels = Models | MutableModels;\n\ntype RetainedInput = Omit<DirectHarnessQueuedInput, 'disposition'> & {\n disposition: DirectHarnessQueuedInput['disposition'] | 'consumed' | 'removed';\n message?: AgentMessage;\n operationId?: string;\n nativeEntryId?: string;\n /** A handoff is reserved before the native mutation, and reconciled on reopen. */\n attemptId?: string;\n};\n\ntype LifecycleRecord = {\n version: 1;\n revision: number;\n paused: boolean;\n abortOperationId?: string;\n queue: RetainedInput[];\n};\n\nconst EMPTY_LIFECYCLE: LifecycleRecord = { version: 1, revision: 0, paused: false, queue: [] };\nconst RETAINED_RECEIPTS = 128;\n\nfunction compactLifecycle(record: LifecycleRecord): LifecycleRecord {\n let receipts = 0;\n const queue = record.queue\n .toReversed()\n .filter((item) => {\n if (item.disposition !== 'consumed' && item.disposition !== 'removed') return true;\n receipts += 1;\n return receipts <= RETAINED_RECEIPTS;\n })\n .toReversed()\n .map((item): RetainedInput =>\n item.disposition === 'consumed' || item.disposition === 'removed'\n ? { id: item.id, text: '', delivery: item.delivery, scheduling: item.scheduling, disposition: item.disposition }\n : item,\n );\n return { ...record, queue };\n}\n\ntype StorageHandle = {\n session: AnySession;\n sessionFile?: string;\n repository?: { close(context: Context): Promise<void> };\n environment?: NodeExecutionEnv;\n historyLease?: HistoryOwnershipLease;\n};\n\nfunction isRecord(value: unknown): value is AnyRecord {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction stringValue(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n\n/** Run one prompt and return only the assistant text appended by that prompt. */\nexport async function promptForAssistantText(runtime: DirectHarnessRuntime, text: string): Promise<string | undefined> {\n const previousEntryIds = new Set((await runtime.readEntries()).entries.map((entry) => entry.id));\n await runtime.prompt(text);\n const { entries } = await runtime.readEntries();\n for (let index = entries.length - 1; index >= 0; index--) {\n const entry = entries[index];\n if (!entry || previousEntryIds.has(entry.id)) continue;\n if (entry.type !== 'message' || entry.message.role !== 'assistant') continue;\n const output = entry.message.content\n .flatMap((part) => (part.type === 'text' ? [part.text] : []))\n .join('\\n')\n .trim();\n return output || undefined;\n }\n return undefined;\n}\n\nfunction modelReference(model: DirectHarnessModel | undefined, models: AnyModels): Model<Api> {\n if (model !== undefined && 'api' in model) return model;\n const requested = model;\n const resolved = requested === undefined ? models.getModels()[0] : models.getModel(requested.provider, requested.id);\n if (resolved === undefined) {\n const identity = requested === undefined ? 'the first configured model' : `${requested.provider}/${requested.id}`;\n throw new Error(`Direct harness could not resolve ${identity}`);\n }\n return resolved;\n}\n\nexport function readDirectHarnessSessionMetadata(filePath: string): JsonlSessionMetadata {\n const absolute = fs.realpathSync(filePath);\n const firstLine = fs.readFileSync(absolute, 'utf8').split('\\n', 1)[0];\n let header: AnyRecord;\n try {\n const parsed: unknown = JSON.parse(firstLine ?? '');\n if (!isRecord(parsed)) throw new Error('header is not an object');\n header = parsed;\n } catch (error) {\n throw new Error(`Invalid JSONL session header: ${absolute}`, { cause: error });\n }\n if (header.kind !== 'header' || header.v !== 4)\n throw new Error(`Session is not an upstream v4 JSONL file: ${absolute}`);\n const id = stringValue(header.id);\n const cwd = stringValue(header.cwd);\n const createdAt = header.createdAt;\n if (!id || !cwd || typeof createdAt !== 'number' || !Number.isFinite(createdAt)) {\n throw new Error(`Invalid JSONL session identity: ${absolute}`);\n }\n const stat = fs.statSync(absolute);\n return {\n id,\n createdAt,\n storageVersion: typeof header.storageVersion === 'number' ? header.storageVersion : JSONL_STORAGE_VERSION,\n cwd,\n path: absolute,\n modifiedAt: stat.mtimeMs,\n ...(typeof header.parentSessionId === 'string' ? { parentSessionId: header.parentSessionId } : {}),\n ...(typeof header.legacyParentSessionPath === 'string'\n ? { legacyParentSessionPath: header.legacyParentSessionPath }\n : {}),\n };\n}\n\nfunction isV3File(filePath: string): boolean {\n let firstLine: string;\n try {\n firstLine = fs.readFileSync(path.resolve(filePath), 'utf8').split('\\n', 1)[0] ?? '';\n } catch (error) {\n if (isRecord(error) && error.code === 'ENOENT') return false;\n throw error;\n }\n try {\n const header: unknown = JSON.parse(firstLine);\n return isRecord(header) && header.type === 'session' && header.version === 3;\n } catch {\n return false;\n }\n}\n\nasync function acquireHistoryLease(\n owner: NonNullable<DirectHarnessRuntimeOptions['historyOwnership']>,\n filePath: string,\n): Promise<HistoryOwnershipLease> {\n const lease = await owner.acquire(filePath);\n try {\n await lease.assertQuiescent();\n return lease;\n } catch (error) {\n await Promise.resolve(lease.release()).catch(() => undefined);\n throw error;\n }\n}\n\nasync function closeStorage(\n storage: {\n session?: AnySession;\n repository?: { close(context: Context): Promise<void> };\n environment?: NodeExecutionEnv;\n historyLease?: HistoryOwnershipLease;\n },\n context: Context,\n): Promise<void> {\n const failures: unknown[] = [];\n try {\n await storage.session?.close(context);\n } catch (error) {\n failures.push(error);\n }\n try {\n await storage.repository?.close(context);\n } catch (error) {\n failures.push(error);\n }\n try {\n await storage.environment?.cleanup(context);\n } catch (error) {\n failures.push(error);\n }\n try {\n await storage.historyLease?.release();\n } catch (error) {\n failures.push(error);\n }\n storage.historyLease = undefined;\n if (failures.length) throw new AggregateError(failures, 'Direct harness storage cleanup failed');\n}\n\nasync function openStorage<TContext extends object | undefined>(\n options: DirectHarnessRuntimeOptions<TContext>,\n context: Context,\n): Promise<StorageHandle> {\n if (options.session !== undefined)\n return {\n session: options.session,\n ...(options.sessionPath === undefined ? {} : { sessionFile: path.resolve(options.sessionPath) }),\n };\n\n if (options.storage === 'sqlite') return openSqliteSessionStorage(options, context);\n\n const sessionPath = options.sessionPath === undefined ? undefined : path.resolve(options.sessionPath);\n const legacyPath = options.legacySessionPath === undefined ? sessionPath : path.resolve(options.legacySessionPath);\n let importedPath = sessionPath;\n if (legacyPath !== undefined && isV3File(legacyPath)) {\n throw new Error(\n 'Legacy v3 history cannot be opened for writing. Stop Pi, run doompi history-import <v3-source> <v4-destination> --confirm-offline, then open the v4 destination.',\n );\n }\n\n const environment = new NodeExecutionEnv({ cwd: options.cwd });\n const sessionsRoot = path.resolve(\n options.sessionsRoot ??\n (importedPath === undefined ? path.join(options.cwd, DEFAULT_SESSION_ROOT) : path.dirname(importedPath)),\n );\n let metadata: JsonlSessionMetadata | undefined;\n if (importedPath === undefined && options.sessionId !== undefined) {\n const discovery = new JsonlSessionRepo({ fileSystem: environment, sessionsRoot, now: () => Date.now() });\n try {\n metadata = (await discovery.list({ cwd: options.cwd }, context)).find(\n (candidate) => candidate.id === options.sessionId,\n );\n importedPath = metadata?.path;\n } finally {\n await discovery.close(context);\n }\n }\n\n let historyLease: HistoryOwnershipLease | undefined;\n let session: AnySession | undefined;\n const fileSystem =\n importedPath === undefined\n ? createHistoryCreationFileSystem(environment, async (destinationPath) => {\n const owner = options.historyOwnership;\n if (owner === undefined) throw new Error('Creating a writable session requires explicit HistoryOwnership');\n historyLease = await acquireHistoryLease(owner, destinationPath);\n })\n : environment;\n const repository = new JsonlSessionRepo({ fileSystem, sessionsRoot, now: () => Date.now() });\n try {\n if (importedPath !== undefined) {\n const owner = options.historyOwnership;\n if (owner === undefined) throw new Error('Opening an existing session requires explicit HistoryOwnership');\n historyLease = await acquireHistoryLease(owner, importedPath);\n metadata ??= readDirectHarnessSessionMetadata(importedPath);\n if (options.sessionId !== undefined && options.sessionId !== metadata.id) {\n throw new Error(`Session id mismatch: expected ${options.sessionId}, found ${metadata.id}`);\n }\n await preserveHistoryBeforeOpen(metadata.path, historyLease);\n session = await repository.open(metadata, context);\n } else {\n const owner = options.historyOwnership;\n if (owner === undefined) throw new Error('Creating a writable session requires explicit HistoryOwnership');\n const created = await repository.create(\n {\n id: options.sessionId,\n cwd: options.cwd,\n ...(options.parentSessionId === undefined ? {} : { parentSessionId: options.parentSessionId }),\n },\n context,\n );\n session = created;\n importedPath = created.metadata.path;\n if (historyLease === undefined) throw new Error('New history was not admitted before publication');\n }\n return { session, sessionFile: importedPath, repository, environment, historyLease };\n } catch (error) {\n await closeStorage({ session, repository, environment, historyLease }, context);\n throw error;\n }\n}\n\n/**\n * Merge caller-supplied providers into the registry the harness will use.\n * A pi-ai MutableModels exposes setProvider; a Pi ModelRuntime exposes\n * registerNativeProvider instead, and dropping providers for the latter would\n * silently hide every extension-registered provider from the child harness.\n */\nfunction mergeProviders(models: AnyModels, providers: readonly Provider[]): void {\n const mutable = models as Partial<MutableModels> & {\n registerNativeProvider?: (provider: Provider) => void;\n };\n const register =\n typeof mutable.setProvider === 'function'\n ? mutable.setProvider.bind(models)\n : typeof mutable.registerNativeProvider === 'function'\n ? mutable.registerNativeProvider.bind(models)\n : undefined;\n if (register === undefined)\n throw new Error('Direct harness cannot register providers on the supplied Models registry');\n for (const provider of providers) register(provider);\n}\n\nfunction configureModels<TContext extends object | undefined>(\n options: DirectHarnessRuntimeOptions<TContext>,\n): AnyModels {\n if (options.models !== undefined) {\n if (options.providers !== undefined && options.providers.length > 0)\n mergeProviders(options.models, options.providers);\n return options.models;\n }\n if (options.providers === undefined || options.providers.length === 0) {\n throw new Error('Direct harness requires a public Models registry or at least one Provider');\n }\n const models =\n options.credentials === undefined ? createModels() : createModels({ credentials: options.credentials });\n for (const provider of options.providers) models.setProvider(provider);\n return models;\n}\n\nfunction textContent(value: unknown): string {\n if (typeof value === 'string') return value;\n if (!Array.isArray(value)) return '';\n return value\n .filter(isRecord)\n .filter((part) => part.type === 'text')\n .map((part) => stringValue(part.text) ?? '')\n .join('');\n}\n\nfunction queueText(item: unknown): string | undefined {\n if (!isRecord(item) || item.type !== 'message' || !isRecord(item.message)) return undefined;\n return textContent(item.message.content);\n}\n\nfunction mapQueueUpdate(event: AnyRecord): DirectHarnessFrame {\n const queues = Array.isArray(event.queues) ? event.queues : [];\n const steering: string[] = [];\n const followUp: string[] = [];\n for (const item of queues) {\n if (!isRecord(item)) continue;\n const text = queueText(item);\n if (text === undefined) continue;\n if (item.kind === 'steer') steering.push(text);\n else if (item.kind === 'followUp' || item.kind === 'nextRun') followUp.push(text);\n }\n return { type: 'queue_update', queues, steering, followUp };\n}\n\nfunction stateModel(model: unknown): { provider: string; id: string } | undefined {\n if (!isRecord(model)) return undefined;\n const provider = stringValue(model.provider);\n const id = stringValue(model.id) ?? stringValue(model.modelId);\n return provider && id ? { provider, id } : undefined;\n}\n\nfunction mapHarnessEvent(event: HarnessEvent): DirectHarnessFrame[] {\n const value = event as unknown as AnyRecord;\n switch (event.type) {\n case 'run_start':\n return [{ type: 'agent_start', runId: value.runId, startedAt: value.startedAt }];\n case 'run_resume':\n return [{ type: 'agent_start', runId: value.runId, resumed: true }];\n case 'run_suspend':\n return [{ type: 'run_suspend', runId: value.runId, reason: value.reason, deferred: value.deferred }];\n case 'operation_abort':\n return [\n { type: 'operation_abort', operationId: value.operationId, steer: value.steer, followUp: value.followUp },\n ];\n case 'run_end':\n return [\n {\n type: 'agent_end',\n runId: value.runId,\n status: value.status,\n ...(value.error === undefined ? {} : { error: value.error }),\n },\n { type: 'agent_settled', runId: value.runId, timestamp: value.endedAt },\n ];\n case 'fault':\n return [{ type: FRAME_ERROR, error: value.message, code: value.code }];\n case 'handler_error':\n return [\n {\n type: 'handler_error',\n kind: value.kind,\n hook: value.hook,\n event: value.event,\n error: value.error,\n stack: value.stack,\n },\n ];\n case 'turn_start':\n return [{ type: 'turn_start', runId: value.runId, turnId: value.turnId }];\n case 'turn_end':\n return [\n {\n type: 'turn_end',\n runId: value.runId,\n turnId: value.turnId,\n message: value.message,\n toolResults: value.toolResults,\n },\n ];\n case 'retry_scheduled':\n return [\n {\n type: 'auto_retry_start',\n runId: value.runId,\n attempt: value.attempt,\n maxAttempts: value.maxAttempts,\n error: value.errorMessage,\n },\n ];\n case 'retry_start':\n return [{ type: 'auto_retry_start', runId: value.runId, attempt: value.attempt }];\n case 'retry_end':\n return [\n {\n type: 'auto_retry_end',\n runId: value.runId,\n attempt: value.attempt,\n success: value.success,\n error: value.finalError,\n },\n ];\n case 'message_start':\n return [{ type: 'message_start', runId: value.runId, message: value.message }];\n case 'message_update':\n return [\n {\n type: 'message_update',\n runId: value.runId,\n message: value.message,\n assistantMessageEvent: value.event,\n ...(value.frame === undefined ? {} : { assistantMessageFrame: value.frame }),\n },\n ];\n case 'message_end':\n return [{ type: 'message_end', runId: value.runId, message: value.message, entryId: value.entryId }];\n case 'tool_start':\n return [\n {\n type: 'tool_execution_start',\n runId: value.runId,\n turnId: value.turnId,\n toolCallId: value.toolCallId,\n toolName: value.toolName,\n args: value.args,\n },\n ];\n case 'tool_update':\n return [\n {\n type: 'tool_execution_update',\n runId: value.runId,\n turnId: value.turnId,\n toolCallId: value.toolCallId,\n toolName: value.toolName,\n partialResult: value.partialResult,\n },\n ];\n case 'tool_end':\n return [\n {\n type: 'tool_execution_end',\n runId: value.runId,\n turnId: value.turnId,\n toolCallId: value.toolCallId,\n toolName: value.toolName,\n result: value.result,\n isError: value.isError,\n terminate: value.terminate,\n },\n ];\n case 'entry_added':\n return [{ type: 'entry_appended', entry: value.entry }];\n case 'queue_update':\n return [mapQueueUpdate(value)];\n case 'value_update':\n if (value.value === 'session_name') return [{ type: 'session_info_changed', name: value.name }];\n return [{ type: 'entry_label_changed', targetId: value.targetId, label: value.label }];\n case 'config_update':\n if (value.property === 'thinkingLevel') return [{ type: 'thinking_level_changed', level: value.value }];\n if (value.property === 'model') {\n const model = stateModel(value.value);\n return model === undefined\n ? []\n : [\n {\n type: 'response',\n command: 'get_state',\n success: true,\n data: { model },\n },\n ];\n }\n return [{ type: 'config_update', property: value.property, value: value.value, previous: value.previous }];\n case 'compaction_start':\n return [{ type: 'compaction_start', runId: value.runId, reason: value.reason }];\n case 'compaction_end':\n return [\n {\n type: 'compaction_end',\n runId: value.runId,\n reason: value.reason,\n status: value.status,\n entryId: value.entryId,\n },\n ];\n case 'navigation_start':\n return [{ type: 'navigation_start', runId: value.runId, targetId: value.targetId }];\n case 'navigation_end':\n return [{ type: 'navigation_end', runId: value.runId, status: value.status }];\n case 'usage':\n return [{ type: 'usage', lane: value.lane, row: value.row, totals: value.totals }];\n case 'lane_created':\n return [{ type: 'lane_created', at: value.at }];\n }\n}\n\nfunction isStorageFailure(error: unknown): boolean {\n if (error instanceof HarnessFault) return true;\n if (isRecord(error) && typeof error.code === 'string' && STORAGE_ERROR_CODES.has(error.code)) return true;\n return /(?:storage|session|jsonl|journal|commit|mutation).*(?:fail|error|fault|write|invariant)|(?:fail|error|fault|write|invariant).*(?:storage|session|jsonl|journal|commit|mutation)/iu.test(\n errorMessage(error),\n );\n}\n\nfunction resultError(value: unknown): never {\n if (isRecord(value) && value.ok === false) throw value.error;\n throw value;\n}\n\nasync function entriesForLane(\n lane: AgentLane,\n context: Context,\n): Promise<Awaited<ReturnType<AgentLane['findEntries']>>> {\n return lane.findEntries({ order: 'oldestFirst' }, context);\n}\n\n/**\n * Creates a same-process AgentHarness and the legacy framed compatibility\n * facade expected by doompi-server. No child process, RPC launcher, or Pi UI\n * runtime is created.\n */\nexport async function createDirectHarnessRuntime<TContext extends object | undefined = object | undefined>(\n options: DirectHarnessRuntimeOptions<TContext>,\n): Promise<DirectHarnessRuntime<TContext>> {\n const context = options.context ?? BACKGROUND_CONTEXT;\n const laneName = options.lane ?? DEFAULT_LANE;\n let disposed = false;\n let disposePromise: Promise<void> | undefined;\n let storageQuarantined = false;\n let storageFailure: unknown;\n let requestPreparationFailure: { error: unknown } | undefined;\n let turnPreparationFailure: { error: unknown } | undefined;\n let contextPreparationFailure: { error: unknown } | undefined;\n let payloadPreparationFailure: { error: unknown } | undefined;\n let toolsReady = true;\n let activeToolNames = new Set(options.activeToolNames ?? options.tools?.map((tool) => tool.name) ?? []);\n const storage = await openStorage(options, context);\n let models: AnyModels;\n let harnessResult: Awaited<ReturnType<typeof AgentHarness.create<TContext>>>;\n try {\n const registry = configureModels(options);\n const dispatchMethods = new Set<PropertyKey>([\n 'stream',\n 'complete',\n 'streamSimple',\n 'completeSimple',\n 'streamDeferred',\n 'fetchDeferred',\n ]);\n models = new Proxy(registry, {\n get(target, key) {\n const value: unknown = Reflect.get(target, key, target);\n if (typeof value !== 'function') return value;\n if (!dispatchMethods.has(key)) return value.bind(target);\n return (...args: unknown[]) => {\n try {\n if (disposed || storageQuarantined || !toolsReady)\n throw new Error('Direct harness model dispatch is blocked');\n if (key !== 'streamDeferred' && key !== 'fetchDeferred') {\n const request = args[1] as { tools?: readonly { name: string }[] };\n if (request.tools?.some((tool) => !activeToolNames.has(tool.name))) {\n throw new Error('Model request contains a tool disabled after generation preparation');\n }\n }\n if (contextPreparationFailure !== undefined) throw contextPreparationFailure.error;\n if (turnPreparationFailure !== undefined) throw turnPreparationFailure.error;\n if (requestPreparationFailure !== undefined) throw requestPreparationFailure.error;\n options.guardModelRequest?.();\n } catch {\n // Models reports admission/auth failures as responses, not throws that fault the harness.\n const model = args[0] as Model<Api>;\n const blocked: AssistantMessage = {\n role: 'assistant',\n content: [],\n api: model.api,\n provider: model.provider,\n model: model.id,\n timestamp: Date.now(),\n stopReason: 'error',\n errorMessage: 'Model request blocked: headless capability preparation is not ready.',\n usage: {\n input: 0,\n output: 0,\n cacheRead: 0,\n cacheWrite: 0,\n totalTokens: 0,\n cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n },\n };\n if (key === 'complete' || key === 'completeSimple' || key === 'fetchDeferred') {\n return Promise.resolve(blocked);\n }\n const stream = createAssistantMessageEventStream();\n stream.push({ type: 'error', reason: 'error', error: blocked });\n return stream;\n }\n const requestOptions = args[2];\n if (isRecord(requestOptions) && typeof requestOptions.onPayload === 'function') {\n const onPayload = requestOptions.onPayload as (payload: unknown, model: Model<Api>) => Promise<unknown>;\n args[2] = {\n ...requestOptions,\n onPayload: async (payload: unknown, requestModel: Model<Api>) => {\n payloadPreparationFailure = undefined;\n const transformed = await onPayload(payload, requestModel);\n const failure = payloadPreparationFailure as { error: unknown } | undefined;\n if (failure !== undefined) throw failure.error;\n return transformed;\n },\n };\n }\n return Reflect.apply(value, target, args);\n };\n },\n });\n harnessResult = await AgentHarness.create<TContext>(\n {\n session: storage.session,\n models,\n model: modelReference(options.model, models),\n ...(options.thinkingLevel === undefined ? {} : { thinkingLevel: options.thinkingLevel }),\n ...(options.activeToolNames === undefined ? {} : { activeToolNames: options.activeToolNames }),\n ...(options.tools === undefined ? {} : { tools: options.tools }),\n ...(options.resources === undefined ? {} : { resources: options.resources }),\n ...(options.toolContext === undefined ? {} : { toolContext: options.toolContext }),\n ...(options.systemPrompt === undefined ? {} : { systemPrompt: options.systemPrompt }),\n ...(options.streamOptions === undefined ? {} : { streamOptions: options.streamOptions }),\n ...(options.retry === undefined ? {} : { retry: options.retry }),\n ...(options.compaction === undefined ? {} : { compaction: options.compaction }),\n ...(options.steeringMode === undefined ? {} : { steeringMode: options.steeringMode }),\n ...(options.followUpMode === undefined ? {} : { followUpMode: options.followUpMode }),\n ...(options.toolExecution === undefined ? {} : { toolExecution: options.toolExecution }),\n ...(options.toProviderMessages === undefined ? {} : { toProviderMessages: options.toProviderMessages }),\n ...(options.entryProjectors === undefined ? {} : { entryProjectors: options.entryProjectors }),\n },\n context,\n );\n } catch (error) {\n await closeStorage(storage, context);\n throw error;\n }\n const harness = harnessResult.harness;\n const sessionId = storage.session.metadata.id;\n const harnessId = options.harnessId ?? `${sessionId}:${laneName}`;\n const listeners = new Set<(frame: DirectHarnessFrame) => void>();\n const lifecycleListeners = new Set<DirectHarnessEventListener>();\n let resolveExited!: (code: number) => void;\n const exited = new Promise<number>((resolve) => {\n resolveExited = resolve;\n });\n let exitResolved = false;\n let lane: AgentLane;\n\n const emitFrame = (frame: DirectHarnessFrame): void => {\n for (const listener of Array.from(listeners)) {\n try {\n listener(frame);\n } catch {\n // Compatibility listeners are observers. One broken client must not fault the engine.\n }\n }\n };\n const emitLifecycle = async (event: HarnessEvent, eventContext: Context): Promise<void> => {\n await Promise.all(\n [...lifecycleListeners].map(async (listener) => {\n try {\n await listener(event, eventContext);\n } catch (error) {\n emitFrame({ type: 'handler_error', kind: 'event', event: event.type, error: errorMessage(error) });\n }\n }),\n );\n };\n let settledEvents = Promise.resolve();\n let toolsThisRun = 0;\n const deliverHarnessEvent = async (event: HarnessEvent, eventContext: Context): Promise<void> => {\n if (event.type === 'run_start') toolsThisRun = 0;\n if (event.type === 'tool_start') toolsThisRun += 1;\n if (event.type === 'run_end' && options.storage === 'sqlite') {\n const record = event as unknown as AnyRecord;\n // The settled marker is bookkeeping. Failing to write it must not stop the lifecycle\n // and frames below, or the run never reads as settled and the lane stays claimed.\n try {\n const latest = await lane.findEntry(\n { type: 'custom', customType: AGENT_SETTLED_ENTRY_TYPE, order: 'newestFirst' },\n eventContext,\n );\n const data = latest?.type === 'custom' && isRecord(latest.data) ? latest.data : undefined;\n if (data?.runId !== record.runId)\n await lane.appendCustomEntry(\n AGENT_SETTLED_ENTRY_TYPE,\n { runId: String(record.runId), timestamp: Number(record.endedAt), tools: toolsThisRun },\n eventContext,\n );\n } catch (error) {\n markStorageFailure(error);\n emitFrame({ type: FRAME_ERROR, code: 'agent_settled', error: errorMessage(error) });\n }\n }\n await emitLifecycle(event, eventContext);\n if (event.type === 'fault') markStorageFailure(event);\n for (const frame of mapHarnessEvent(event)) emitFrame(frame);\n if (\n ['run_start', 'run_end', 'operation_abort', 'queue_update', 'compaction_start', 'compaction_end'].includes(\n event.type,\n )\n )\n void (event.type === 'queue_update' ? reconcileNativeQueue() : publishLifecycle()).catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'lifecycle_projection', error: errorMessage(error) }),\n );\n };\n const handleHarnessEvent = async (event: HarnessEvent, eventContext: Context): Promise<void> => {\n if (event.type === 'run_end') {\n // The native drive still owns the lane while emitting run_end. Release its\n // callback before settled hooks write history, then drain before acknowledging drive.\n // A rejected link would poison every later run_end and the await in drive().\n settledEvents = settledEvents\n .then(() => deliverHarnessEvent(event, eventContext))\n .catch((error: unknown) => emitFrame({ type: FRAME_ERROR, code: 'settled_event', error: errorMessage(error) }));\n return;\n }\n await deliverHarnessEvent(event, eventContext);\n };\n const unsubscribe = EVENT_TYPES.map((type) => harness.events.on(type, handleHarnessEvent as never));\n\n const guardLive = (): void => {\n if (disposed) throw new Error('The direct harness runtime is disposed');\n };\n const guardWritable = (): void => {\n guardLive();\n if (storageQuarantined)\n throw new Error(\n `Direct harness writes are quarantined after a storage failure: ${errorMessage(storageFailure)}`,\n { cause: storageFailure },\n );\n };\n const markStorageFailure = (error: unknown): void => {\n if (!isStorageFailure(error)) return;\n if (!storageQuarantined) storageFailure = error;\n storageQuarantined = true;\n emitFrame({ type: FRAME_ERROR, code: 'storage_quarantined', error: errorMessage(error) });\n };\n const writable = async <T>(operation: () => Promise<T>): Promise<T> => {\n guardWritable();\n try {\n await storage.historyLease?.assertQuiescent();\n return await operation();\n } catch (error) {\n markStorageFailure(error);\n throw error;\n }\n };\n\n // DoomPi owns the product queue and cancellation policy. Pi's inbox is an execution\n // handoff, not a second editable copy of the product queue.\n const lifecycleAddress = value<LifecycleRecord>('doompi.server.lifecycle', laneName);\n const readRecord = async (): Promise<LifecycleRecord> => {\n const stored = await storage.session.getValue(lifecycleAddress, context);\n if (stored !== undefined && stored.value.version !== 1) throw new Error('Unknown server lifecycle format');\n return stored?.value ?? EMPTY_LIFECYCLE;\n };\n const changeRecord = async <T>(\n change: (record: LifecycleRecord) => { record: LifecycleRecord; result: T } | { result: T },\n ): Promise<T> =>\n writable(() =>\n storage.session.mutate(async (mutator) => {\n const stored = await mutator.getValue(lifecycleAddress, context);\n const current = stored?.value ?? EMPTY_LIFECYCLE;\n if (current.version !== 1) throw new Error('Unknown server lifecycle format');\n const decision = change(current);\n if ('record' in decision) {\n await mutator.commit(\n [setValue(lifecycleAddress, compactLifecycle({ ...decision.record, revision: current.revision + 1 }))],\n context,\n );\n }\n return decision.result;\n }, context),\n );\n let settlingOperationId: string | undefined;\n let abortingOperationId: string | undefined;\n const readLifecycle = async (): Promise<DirectHarnessLifecycle> => {\n const [record, execution] = await Promise.all([readRecord(), lane.inspectExecution(context)]);\n const current = execution.current;\n return {\n revision: Math.max(record.revision, publicationRevision),\n operation:\n current === null\n ? settlingOperationId === undefined\n ? null\n : {\n id: settlingOperationId,\n kind: 'run',\n status: abortingOperationId === settlingOperationId ? 'aborting' : 'open',\n }\n : {\n id: current.id,\n kind: current.kind,\n status: current.status === 'aborting' || abortingOperationId === current.id ? 'aborting' : 'open',\n },\n paused: record.paused,\n queue: record.queue\n .filter((item) => item.disposition !== 'consumed' && item.disposition !== 'removed')\n .map(({ id, text, images, delivery, scheduling, disposition }) => ({\n id,\n text,\n ...(images === undefined ? {} : { images }),\n delivery,\n scheduling,\n disposition: disposition as DirectHarnessQueuedInput['disposition'],\n })),\n };\n };\n let publishingLifecycle = Promise.resolve();\n let publicationRevision = 0;\n const publishLifecycle = (): Promise<void> => {\n const next = publishingLifecycle.then(async () => {\n if (disposed) return;\n const lifecycle = await readLifecycle();\n publicationRevision = Math.max(publicationRevision + 1, lifecycle.revision);\n emitFrame({ type: 'lifecycle_update', lifecycle: { ...lifecycle, revision: publicationRevision } });\n });\n publishingLifecycle = next.catch((error: unknown) => {\n emitFrame({ type: FRAME_ERROR, code: 'lifecycle_projection', error: errorMessage(error) });\n }); // a failed projection must not stall later updates\n return next;\n };\n const retainedMessage = (\n id: string,\n kind: 'steer' | 'followUp' | 'nextRun',\n message: AgentMessage,\n ): RetainedInput => {\n const content = message.role === 'user' ? message.content : [];\n const parts = typeof content === 'string' ? [{ type: 'text', text: content }] : content;\n const text =\n message.role === 'user'\n ? parts\n .map((part) => (part.type === 'text' ? part.text : ''))\n .filter(Boolean)\n .join('\\n')\n : '';\n const images = message.role === 'user' ? parts.filter((part): part is ImageContent => part.type === 'image') : [];\n return {\n id,\n text,\n ...(images.length === 0 ? {} : { images }),\n message,\n delivery: kind,\n scheduling: 'held',\n disposition: 'handoff',\n nativeEntryId: id,\n };\n };\n // Native entries from older sessions and extension/voice callers are adopted by identity,\n // never copied or enqueued a second time. Pi continues to own their actual handoff.\n const adoptNativeQueue = async (): Promise<void> => {\n const changed = await writable(() =>\n storage.session.mutate(async (mutator) => {\n const native = await mutator.getValue(laneState(laneName), context);\n const original = await mutator.getValue(lifecycleAddress, context);\n const current = original?.value ?? EMPTY_LIFECYCLE;\n const adopted: RetainedInput[] = [];\n for (const item of native?.value.inbox ?? []) {\n if (item.kind !== 'steer' && item.kind !== 'followUp' && item.kind !== 'nextRun') continue;\n if (current.queue.some((entry) => entry.nativeEntryId === item.entryId || entry.id === item.entryId))\n continue;\n const pending = await mutator.getValue(pendingEntry(item.entryId), context);\n if (pending?.value.type !== 'message')\n throw new Error(`Native queued input ${item.entryId} has no message payload`);\n adopted.push(retainedMessage(item.entryId, item.kind, pending.value.payload));\n }\n if (adopted.length === 0) return false;\n await mutator.commit(\n [\n setValue(lifecycleAddress, {\n ...current,\n revision: current.revision + 1,\n queue: [...current.queue, ...adopted],\n }),\n ],\n context,\n );\n return true;\n }, context),\n );\n if (changed) await publishLifecycle();\n };\n const reconcileNativeQueue = async (): Promise<void> => {\n if (disposed) return;\n const native = await storage.session.getValue(laneState(laneName), context);\n const remaining = new Set((native?.value.inbox ?? []).map((entry) => entry.entryId));\n const record = await readRecord();\n for (const item of record.queue.filter(\n (entry) => entry.nativeEntryId !== undefined && !remaining.has(entry.nativeEntryId),\n )) {\n if (record.abortOperationId !== undefined) continue;\n const committed = await storage.session.getEntry(item.nativeEntryId!, context);\n await changeRecord((current) => ({\n record: {\n ...current,\n queue: current.queue.map((entry) =>\n entry.id === item.id && entry.nativeEntryId === item.nativeEntryId\n ? committed !== undefined\n ? { ...entry, disposition: 'consumed' }\n : current.paused\n ? {\n ...entry,\n disposition: 'pending',\n nativeEntryId: undefined,\n delivery: entry.delivery === 'steer' ? 'followUp' : entry.delivery,\n }\n : { ...entry, disposition: 'uncertain' }\n : entry,\n ),\n },\n result: undefined,\n }));\n }\n await publishLifecycle();\n };\n const unsubscribeHooks: Array<() => void> = [];\n if (options.transformContext !== undefined) {\n unsubscribeHooks.push(\n harness.hooks.on('before_run', () => {\n contextPreparationFailure = undefined;\n return undefined;\n }),\n );\n }\n if (options.beforeModelRequest !== undefined) {\n unsubscribeHooks.push(\n harness.hooks.on('before_run', async (event, hookContext) => {\n turnPreparationFailure = undefined;\n requestPreparationFailure = undefined;\n try {\n await options.beforeModelRequest?.(\n { phase: 'turn', prompt: event.prompt, resources: event.resources },\n hookContext,\n );\n } catch (error) {\n turnPreparationFailure = { error };\n throw error;\n }\n return undefined;\n }),\n harness.hooks.on('before_request', async (event, hookContext) => {\n // Upstream catches hook errors. Retain the failure for the Models admission guard.\n try {\n await options.beforeModelRequest?.(\n { phase: 'request', model: event.model, resources: await harness.getResources(hookContext) },\n hookContext,\n );\n requestPreparationFailure = undefined;\n } catch (error) {\n requestPreparationFailure = { error };\n throw error;\n }\n return undefined;\n }),\n );\n }\n if (options.transformContext !== undefined) {\n unsubscribeHooks.push(\n harness.hooks.on('transform_context', async (event, hookContext) => {\n try {\n return await options.transformContext!(event, hookContext);\n } catch (error) {\n // AgentHarness reports and continues after transform errors. Retain the failure so the\n // public Models boundary blocks provider dispatch instead of admitting untransformed context.\n contextPreparationFailure = { error };\n throw error;\n }\n }),\n );\n }\n if (options.beforePayload !== undefined) {\n unsubscribeHooks.push(\n harness.hooks.on('before_payload', async (event, hookContext) => {\n try {\n return await options.beforePayload!(event, hookContext);\n } catch (error) {\n // Upstream reports and continues after hook errors. Retain the failure so the Models payload\n // callback rejects instead of sending the original, untransformed payload.\n payloadPreparationFailure = { error };\n throw error;\n }\n }),\n );\n }\n if (options.beforeTool !== undefined) {\n unsubscribeHooks.push(harness.hooks.on('before_tool', options.beforeTool));\n }\n if (options.afterTool !== undefined) {\n unsubscribeHooks.push(harness.hooks.on('after_tool', options.afterTool));\n }\n if (options.beforeCompaction !== undefined) {\n unsubscribeHooks.push(harness.hooks.on('before_compaction', options.beforeCompaction));\n }\n try {\n lane = await harness.lane(laneName, context);\n if (options.sessionName !== undefined) await writable(() => harness.setName(options.sessionName, context));\n } catch (error) {\n for (const unsubscribeHook of unsubscribeHooks) unsubscribeHook();\n for (const unsubscribeEvent of unsubscribe) unsubscribeEvent();\n await harness.close(context).catch(() => undefined);\n await closeStorage(storage, context);\n throw error;\n }\n const settleExit = (code: number): void => {\n if (exitResolved) return;\n exitResolved = true;\n resolveExited(code);\n };\n\n let externalOperationActive = false;\n let agentOperationsActive = 0;\n const acquireAgentOperation = (): (() => void) => {\n if (externalOperationActive) throw new Error('The session is busy with an external tool invocation');\n agentOperationsActive += 1;\n let released = false;\n return () => {\n if (released) return;\n released = true;\n agentOperationsActive -= 1;\n };\n };\n const runAgentOperation = async <T>(operation: () => Promise<T>): Promise<T> => {\n const release = acquireAgentOperation();\n try {\n return await operation();\n } finally {\n release();\n }\n };\n const runExternalOperation = async <T>(operation: () => Promise<T>): Promise<T> => {\n guardWritable();\n if (externalOperationActive) throw new Error('The session is busy with an external tool invocation');\n if (agentOperationsActive > 0) throw new Error('The session is busy with an agent operation');\n externalOperationActive = true;\n try {\n const execution = await lane.inspectExecution(context);\n if (execution.current !== null) throw new Error('The session is busy with an agent operation');\n return await operation();\n } finally {\n externalOperationActive = false;\n }\n };\n\n // Serialize only admission/cancellation decisions, never the turn's provider/tool work.\n // The Session mutation line alone cannot cover the native accept and DoomPi pause commits.\n let admissionLine = Promise.resolve();\n const serializeAdmission = async <T>(operation: () => Promise<T>): Promise<T> => {\n const previous = admissionLine;\n let release!: () => void;\n admissionLine = new Promise<void>((resolve) => {\n release = resolve;\n });\n await previous;\n try {\n return await operation();\n } finally {\n release();\n }\n };\n let drainingAutomatic = false;\n let drainRequested = false;\n const drive = async (operationId: string): Promise<void> => {\n settlingOperationId = operationId;\n let failure: unknown;\n try {\n const result = await writable(() => lane.drive({ operationId, waitForRetry: true }, context));\n if (!result.ok) resultError(result);\n if (result.value.kind === 'waiting' && result.value.reason === 'retry') {\n throw new Error(`Direct harness returned an unexpected retry wait for ${operationId}`);\n }\n } catch (error) {\n failure = error;\n } finally {\n try {\n await settledEvents;\n } catch (error) {\n if (failure === undefined) failure = error;\n else emitFrame({ type: FRAME_ERROR, code: 'settled_event', error: errorMessage(error) });\n }\n if (settlingOperationId === operationId) settlingOperationId = undefined;\n if (abortingOperationId === operationId) abortingOperationId = undefined;\n if (!disposed) {\n let publicationSucceeded = false;\n try {\n await publishLifecycle();\n publicationSucceeded = true;\n } catch (error) {\n if (failure === undefined) failure = error;\n // publishLifecycle already reports this secondary failure as a projection frame.\n }\n if (publicationSucceeded && !storageQuarantined)\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n }\n }\n if (failure !== undefined) throw failure;\n };\n // Only this function starts automatic follow-up turns. It never holds the Session mutation\n // line during provider/tool work; a claim is persisted before native admission.\n const drainAutomatic = async (): Promise<void> => {\n if (disposed) return;\n if (drainingAutomatic) {\n drainRequested = true;\n return;\n }\n drainingAutomatic = true;\n try {\n while (!disposed) {\n const execution = await lane.inspectExecution(context);\n if (execution.current !== null) return;\n const operationId = randomUUID();\n const claimed = await changeRecord((record) => {\n if (record.paused || record.abortOperationId !== undefined) return { result: undefined };\n const item = record.queue.find(\n (candidate) =>\n candidate.disposition === 'pending' &&\n candidate.scheduling === 'automatic' &&\n candidate.delivery !== 'steer',\n );\n if (!item) return { result: undefined };\n return {\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === item.id\n ? { ...entry, disposition: 'handoff', operationId, attemptId: randomUUID() }\n : entry,\n ),\n },\n result: item,\n };\n });\n if (!claimed) return;\n await publishLifecycle();\n try {\n const message: AgentMessage = claimed.message ?? {\n role: 'user',\n content: [\n ...(claimed.text ? [{ type: 'text' as const, text: claimed.text }] : []),\n ...(claimed.images ?? []),\n ],\n timestamp: Date.now(),\n };\n const admitted = await serializeAdmission(async () => {\n if ((await readRecord()).paused) return undefined;\n return writable(() => lane.accept({ kind: 'prompt', operationId, prompt: message }, context));\n });\n if (!admitted || !admitted.ok) {\n if (admitted && admitted.error._tag !== 'LaneBusy') resultError(admitted);\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === claimed.id && entry.operationId === operationId\n ? { ...entry, disposition: 'pending', operationId: undefined, attemptId: undefined }\n : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n return;\n }\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === claimed.id && entry.operationId === operationId\n ? { ...entry, disposition: 'consumed' }\n : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n await drive(operationId);\n } catch (error) {\n // An uncertain handoff is not retried: native admission may have committed before\n // an I/O or acknowledgement failure. Recovery reconciles it by operation identity.\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === claimed.id && entry.operationId === operationId && entry.disposition === 'handoff'\n ? { ...entry, disposition: 'uncertain' }\n : entry,\n ),\n },\n result: undefined,\n }));\n emitFrame({ type: FRAME_ERROR, code: 'queue_handoff', error: errorMessage(error) });\n await publishLifecycle();\n }\n }\n } finally {\n drainingAutomatic = false;\n if (drainRequested && !disposed) {\n drainRequested = false;\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n }\n }\n };\n\n const admitPrompt = async (\n text: string | AgentMessage,\n images?: ImageContent[],\n streamingBehavior?: 'steer' | 'followUp',\n ): Promise<{ settled: Promise<void> }> => {\n const execution = await lane.inspectExecution(context);\n if (execution.current !== null && streamingBehavior !== undefined) {\n const queued =\n streamingBehavior === 'steer'\n ? await writable(() => lane.steer(text, images, context))\n : await writable(() => lane.followUp(text, images, context));\n if (!queued.ok) resultError(queued);\n await adoptNativeQueue();\n return { settled: Promise.resolve() };\n }\n // `images` belongs to the text form of the request only: a composed message already\n // carries its own content, so the two shapes are separate members of the union.\n const request =\n typeof text === 'string'\n ? ({ kind: 'prompt', prompt: text, ...(images === undefined ? {} : { images }) } as const)\n : ({ kind: 'prompt', prompt: text } as const);\n const admission = await serializeAdmission(async () => {\n const lifecycle = await readRecord();\n if (lifecycle.paused) {\n // A person starting a new turn may release an empty pause left by an aborted turn.\n // Retained inputs (including uncertain handoffs) still require an explicit resume.\n if (\n execution.current !== null ||\n settlingOperationId !== undefined ||\n lifecycle.queue.some((entry) => entry.disposition !== 'consumed' && entry.disposition !== 'removed')\n )\n throw new Error('The agent queue is paused; resume before starting a turn');\n await changeRecord((record) => {\n if (record.queue.some((entry) => entry.disposition !== 'consumed' && entry.disposition !== 'removed'))\n throw new Error('The agent queue is paused; resume before starting a turn');\n return { record: { ...record, paused: false, abortOperationId: undefined }, result: undefined };\n });\n await publishLifecycle();\n }\n // Held native follow-ups never wake an idle session. Reattach them only when a\n // person starts a new turn, preserving their enqueue-only scheduling policy.\n for (const item of (await readRecord()).queue.filter(\n (entry) => entry.disposition === 'pending' && entry.scheduling === 'held',\n )) {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === item.id ? { ...entry, disposition: 'handoff', attemptId: randomUUID() } : entry,\n ),\n },\n result: undefined,\n }));\n try {\n const queued = await writable(() =>\n lane.followUp(item.message ?? item.text, item.message ? undefined : item.images, context),\n );\n if (!queued.ok) resultError(queued);\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === item.id ? { ...entry, nativeEntryId: queued.value.entryId } : entry,\n ),\n },\n result: undefined,\n }));\n } catch (error) {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === item.id ? { ...entry, disposition: 'uncertain' } : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n throw error;\n }\n }\n return writable(() => lane.accept(request, context));\n });\n if (!admission.ok) {\n // A turn can begin between inspection and admission. Preserve the requested delivery\n // kind when the lane reports that another operation won the race.\n if (streamingBehavior !== undefined && admission.error._tag === 'LaneBusy') {\n const queued = await writable(() =>\n streamingBehavior === 'steer' ? lane.steer(text, images, context) : lane.followUp(text, images, context),\n );\n if (!queued.ok) resultError(queued);\n await adoptNativeQueue();\n return { settled: Promise.resolve() };\n }\n resultError(admission);\n }\n return { settled: drive(admission.value.operationId) };\n };\n\n const replaceTools = (tools: AgentHarnessTool<TContext>[]): Promise<void> =>\n runAgentOperation(async () => {\n toolsReady = false;\n await writable(async () => {\n await harness.setTools(tools, context);\n await lane.setActiveTools(\n tools.map((tool) => tool.name),\n context,\n );\n activeToolNames = new Set(tools.map((tool) => tool.name));\n toolsReady = true;\n });\n });\n const replaceResources = async (resources: Parameters<typeof harness.setResources>[0]): Promise<void> => {\n await writable(() => harness.setResources(resources, context));\n };\n const readResources = async () => {\n guardLive();\n return harness.getResources(context);\n };\n const appendCustomEntry = async (customType: string, data?: unknown): Promise<string> =>\n writable(() => lane.appendCustomEntry(customType, data as never, context));\n const appendMessage = async (message: AgentMessage): Promise<string> =>\n writable(() => lane.appendMessage(message, context));\n const setLabel = async (targetId: string, label: string | undefined): Promise<void> =>\n writable(() => harness.setLabel(targetId, label, context));\n const recordUsage = async (\n usage: Usage,\n options?: { entryId?: string; details?: import('@earendil-works/pi-agent-core').JsonValue },\n ): Promise<string> => {\n const result = await writable(() => lane.recordUsage(usage, options, context));\n if (!result.ok) resultError(result);\n return result.value.usageId;\n };\n const tryDispatchCommand = async (text: string): Promise<boolean> => (await options.dispatchCommand?.(text)) ?? false;\n const dispatchCommand = (text: string): Promise<boolean> =>\n runAgentOperation(async () => {\n guardLive();\n return tryDispatchCommand(text);\n });\n const submitPrompt = async (\n text: string,\n images?: ImageContent[],\n streamingBehavior?: 'steer' | 'followUp',\n ): Promise<{ settled: Promise<void>; handledCommand?: boolean }> => {\n const release = acquireAgentOperation();\n try {\n if (await tryDispatchCommand(text)) {\n release();\n return { settled: Promise.resolve(), handledCommand: true };\n }\n const submission = await admitPrompt(text, images, streamingBehavior);\n void submission.settled.then(release, release);\n return submission;\n } catch (error) {\n release();\n throw error;\n }\n };\n const prompt = async (text: string, images?: ImageContent[]): Promise<void> => {\n const submission = await submitPrompt(text, images);\n await submission.settled;\n };\n const admitMessage = async (message: AgentMessage): Promise<{ settled: Promise<void> }> => {\n const release = acquireAgentOperation();\n try {\n const submission = await admitPrompt(message);\n void submission.settled.then(release, release);\n return submission;\n } catch (error) {\n release();\n throw error;\n }\n };\n const enqueueAutomatic = async (text: string, images?: ImageContent[]): Promise<{ id: string }> => {\n if (!text && !images?.length) throw new Error('Queued input must contain text or an image');\n const id = randomUUID();\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: [\n ...record.queue,\n {\n id,\n text,\n ...(images === undefined ? {} : { images }),\n delivery: 'followUp',\n scheduling: 'automatic',\n disposition: 'pending',\n },\n ],\n },\n result: undefined,\n }));\n await publishLifecycle();\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n return { id };\n };\n const removeQueued = async (id: string): Promise<'removed' | 'in_flight' | 'already_consumed' | 'not_found'> => {\n const native = (await readRecord()).queue.find((entry) => entry.id === id);\n if (native?.disposition === 'handoff' && native.nativeEntryId !== undefined) {\n const cancelled = await writable(() => lane.cancelQueued(native.nativeEntryId!, context));\n if (!cancelled.ok) resultError(cancelled);\n if (cancelled.value.kind === 'cancelled') {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) => (entry.id === id ? { ...entry, disposition: 'removed' } : entry)),\n },\n result: undefined,\n }));\n await publishLifecycle();\n return 'removed';\n }\n await reconcileNativeQueue();\n return cancelled.value.kind === 'already_consumed' ? 'already_consumed' : 'not_found';\n }\n const result = await changeRecord((record) => {\n const item = record.queue.find((entry) => entry.id === id);\n if (!item) return { result: 'not_found' as const };\n if (item.disposition === 'consumed') return { result: 'already_consumed' as const };\n if (item.disposition === 'removed') return { result: 'removed' as const };\n if (item.disposition !== 'pending') return { result: 'in_flight' as const };\n return {\n record: {\n ...record,\n queue: record.queue.map((entry) => (entry.id === id ? { ...entry, disposition: 'removed' } : entry)),\n },\n result: 'removed' as const,\n };\n });\n if (result === 'removed') await publishLifecycle();\n return result;\n };\n const deliverPromoted = (id: string, operationId: string): Promise<void> =>\n serializeAdmission(async () => {\n const execution = await lane.inspectExecution(context);\n if (execution.current?.id !== operationId || execution.current.status === 'aborting') {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === id && entry.operationId === operationId\n ? { ...entry, delivery: 'followUp', disposition: 'pending', operationId: undefined }\n : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n return;\n }\n const item = (await readRecord()).queue.find((entry) => entry.id === id && entry.operationId === operationId);\n if (!item || item.disposition !== 'pending') return;\n const message: AgentMessage = item.message ?? {\n role: 'user',\n content: [...(item.text ? [{ type: 'text' as const, text: item.text }] : []), ...(item.images ?? [])],\n timestamp: Date.now(),\n };\n // Reserve the item before crossing the native handoff boundary. Promotion/removal\n // can no longer claim it once the native mutation may have started.\n const reserved = await changeRecord((record) => {\n const current = record.queue.find((entry) => entry.id === id && entry.operationId === operationId);\n if (!current || current.disposition !== 'pending' || record.paused) return { result: false };\n return {\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === id ? { ...entry, disposition: 'handoff', attemptId: randomUUID() } : entry,\n ),\n },\n result: true,\n };\n });\n if (!reserved) return;\n await publishLifecycle();\n try {\n const queued = await writable(() => lane.steer(message, undefined, context));\n if (!queued.ok) resultError(queued);\n const after = await lane.inspectExecution(context);\n if (after.current?.id !== operationId || after.current.status === 'aborting') {\n const cancelled = await writable(() => lane.cancelQueued(queued.value.entryId, context));\n if (!cancelled.ok) resultError(cancelled);\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === id\n ? cancelled.value.kind === 'cancelled'\n ? {\n ...entry,\n delivery: 'followUp',\n disposition: 'pending',\n operationId: undefined,\n attemptId: undefined,\n }\n : {\n ...entry,\n disposition: cancelled.value.kind === 'already_consumed' ? 'consumed' : 'uncertain',\n nativeEntryId: queued.value.entryId,\n }\n : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n if (cancelled.value.kind === 'cancelled')\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n return;\n }\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === id ? { ...entry, nativeEntryId: queued.value.entryId } : entry,\n ),\n },\n result: undefined,\n }));\n await reconcileNativeQueue();\n } catch (error) {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.id === id && entry.disposition === 'handoff' ? { ...entry, disposition: 'uncertain' } : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n emitFrame({ type: FRAME_ERROR, code: 'steer_handoff', error: errorMessage(error) });\n }\n });\n const promoteQueued = async (\n id: string,\n operationId: string,\n ): Promise<'promoted' | 'in_flight' | 'target_changed' | 'not_found'> => {\n const execution = await lane.inspectExecution(context);\n const result = await changeRecord((record) => {\n const item = record.queue.find((entry) => entry.id === id);\n if (!item || item.disposition === 'removed' || item.disposition === 'consumed')\n return { result: 'not_found' as const };\n if (item.disposition !== 'pending') return { result: 'in_flight' as const };\n if (record.paused || execution.current?.id !== operationId || execution.current.status === 'aborting')\n return { result: 'target_changed' as const };\n return {\n record: {\n ...record,\n queue: record.queue.map((entry) => (entry.id === id ? { ...entry, delivery: 'steer', operationId } : entry)),\n },\n result: 'promoted' as const,\n };\n });\n if (result === 'promoted') {\n await publishLifecycle();\n void deliverPromoted(id, operationId).catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'steer_handoff', error: errorMessage(error) }),\n );\n }\n return result;\n };\n const resumeQueue = async (): Promise<void> => {\n const execution = await lane.inspectExecution(context);\n if (execution.current !== null) throw new Error('Wait for the active turn to settle before resuming the queue');\n await changeRecord((record) => ({\n record: {\n ...record,\n paused: false,\n abortOperationId: undefined,\n queue: record.queue.map((entry) =>\n entry.disposition === 'pending' && entry.delivery === 'steer'\n ? { ...entry, delivery: 'followUp', operationId: undefined, scheduling: 'automatic' }\n : entry,\n ),\n },\n result: undefined,\n }));\n await publishLifecycle();\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n };\n const steer = (message: string | AgentMessage, images?: ImageContent[], targetOperationId?: string): Promise<void> =>\n runAgentOperation(async () => {\n const execution = await lane.inspectExecution(context);\n const id = randomUUID();\n const retained =\n typeof message === 'string'\n ? { id, text: message, ...(images === undefined ? {} : { images }) }\n : { ...retainedMessage(id, 'steer', message), id };\n const target = targetOperationId ?? execution.current?.id;\n const active =\n target !== undefined && execution.current?.id === target && execution.current.status !== 'aborting';\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: [\n ...record.queue,\n {\n ...retained,\n delivery: active ? 'steer' : 'followUp',\n scheduling: 'automatic',\n disposition: 'pending',\n nativeEntryId: undefined,\n ...(active ? { operationId: target } : {}),\n },\n ],\n },\n result: undefined,\n }));\n await publishLifecycle();\n if (active)\n void deliverPromoted(id, target).catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'steer_handoff', error: errorMessage(error) }),\n );\n else\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n });\n const followUp = (message: string | AgentMessage, images?: ImageContent[]): Promise<void> =>\n runAgentOperation(async () => {\n const result = await writable(() => lane.followUp(message, images, context));\n if (!result.ok) resultError(result);\n await adoptNativeQueue();\n });\n const nextRun = (message: string | AgentMessage, images?: ImageContent[]): Promise<void> =>\n runAgentOperation(async () => {\n const result = await writable(() => lane.nextRun(message, images, context));\n if (!result.ok) resultError(result);\n await adoptNativeQueue();\n });\n // Cancellation itself. Session teardown calls it directly: an external tool invocation\n // holds the agent-operation guard, and closing must not wait on or fail because of it.\n const abortCurrent = async (targetOperationId?: string): Promise<void> => {\n const execution = await lane.inspectExecution(context);\n const currentId = execution.current?.id;\n if (!currentId || (targetOperationId !== undefined && targetOperationId !== currentId)) return;\n // Serialize handoff and pause. A promoted steer can neither enter the native inbox\n // between this snapshot and cancellation nor acknowledge without a retained mapping.\n const paused = await serializeAdmission(async () => {\n if ((await lane.inspectExecution(context)).current?.id !== currentId) return false;\n // Commit pause and a complete inbox snapshot before native cancellation deletes payloads.\n const captured = await writable(() =>\n storage.session.mutate(async (mutator) => {\n const stored = await mutator.getValue(lifecycleAddress, context);\n const record = stored?.value ?? EMPTY_LIFECYCLE;\n const native = await mutator.getValue(laneState(laneName), context);\n if (native?.value.currentOperationId !== currentId) return false;\n const adopted: RetainedInput[] = [];\n for (const pending of native.value.inbox) {\n if (pending.kind !== 'steer' && pending.kind !== 'followUp') continue;\n if (record.queue.some((item) => item.id === pending.entryId || item.nativeEntryId === pending.entryId))\n continue;\n const payload = await mutator.getValue(pendingEntry(pending.entryId), context);\n if (payload?.value.type !== 'message')\n throw new Error(`Native queued input ${pending.entryId} has no message payload`);\n adopted.push(retainedMessage(pending.entryId, pending.kind, payload.value.payload));\n }\n await mutator.commit(\n [\n setValue(lifecycleAddress, {\n ...record,\n revision: record.revision + 1,\n paused: true,\n abortOperationId: currentId,\n queue: [\n ...record.queue.map((entry) =>\n entry.disposition === 'pending' && entry.delivery === 'steer'\n ? { ...entry, delivery: 'followUp' as const, operationId: undefined }\n : entry,\n ),\n ...adopted,\n ],\n }),\n ],\n context,\n );\n return true;\n }, context),\n );\n if (!captured) return false;\n abortingOperationId = currentId;\n await publishLifecycle();\n return true;\n });\n if (!paused) return;\n const result = await writable(() => lane.requestAbort(currentId, context));\n if (!result.ok) {\n if (result.error._tag === 'OperationMismatch') return;\n resultError(result);\n }\n const returned = [\n ...result.value.steer.map((message) => ({ kind: 'steer' as const, message })),\n ...result.value.followUp.map((message) => ({ kind: 'followUp' as const, message })),\n ];\n const latest = await readRecord();\n const native = await storage.session.getValue(laneState(laneName), context);\n const remaining = new Set((native?.value.inbox ?? []).map((item) => item.entryId));\n const consumed = await Promise.all(\n latest.queue\n .filter((item) => item.nativeEntryId !== undefined)\n .map(async (item) => [item.id, await storage.session.getEntry(item.nativeEntryId!, context)] as const),\n );\n const committed = new Set(consumed.filter(([, entry]) => entry !== undefined).map(([id]) => id));\n const removedUnconsumed = latest.queue.filter(\n (item) => item.nativeEntryId !== undefined && !remaining.has(item.nativeEntryId) && !committed.has(item.id),\n );\n // The native result omits IDs. Match it to the already-retained native inbox by\n // cardinality and kind, never by text: two identical messages are distinct inputs.\n const unmatched = {\n steer: removedUnconsumed.filter((item) => item.delivery === 'steer').length,\n followUp: removedUnconsumed.filter((item) => item.delivery === 'followUp').length,\n };\n const ambiguous =\n returned.filter(({ kind }) => kind === 'steer').length !== unmatched.steer ||\n returned.filter(({ kind }) => kind === 'followUp').length !== unmatched.followUp;\n const extras = returned\n .filter(({ kind }) => {\n if (!ambiguous && unmatched[kind] > 0) {\n unmatched[kind] -= 1;\n return false;\n }\n return true;\n })\n .map(({ kind, message }) => ({\n ...retainedMessage(randomUUID(), kind, message),\n delivery: kind === 'steer' ? ('followUp' as const) : kind,\n scheduling: 'held' as const,\n disposition: 'pending' as const,\n nativeEntryId: undefined,\n }));\n await changeRecord((current) => ({\n record: {\n ...current,\n queue: [\n ...current.queue.map((item) => {\n if (item.nativeEntryId === undefined || remaining.has(item.nativeEntryId)) return item;\n if (committed.has(item.id)) return { ...item, disposition: 'consumed' };\n return ambiguous\n ? { ...item, disposition: 'uncertain' }\n : {\n ...item,\n disposition: 'pending',\n nativeEntryId: undefined,\n delivery: item.delivery === 'steer' ? 'followUp' : item.delivery,\n scheduling: item.delivery === 'steer' ? 'automatic' : item.scheduling,\n };\n }),\n ...extras,\n ],\n },\n result: undefined,\n }));\n await publishLifecycle();\n };\n const abort = (targetOperationId?: string): Promise<void> => runAgentOperation(() => abortCurrent(targetOperationId));\n const interrupt = async (): Promise<void> => {\n guardLive();\n await abortCurrent();\n await lane.waitForIdle(context);\n };\n const compact = (customInstructions?: string): Promise<void> =>\n runAgentOperation(async () => {\n const result = await writable(() =>\n lane.compact(customInstructions === undefined ? undefined : { customInstructions }, context),\n );\n if (!result.ok) resultError(result);\n });\n const recover = async (): Promise<void> => {\n await adoptNativeQueue();\n const record = await readRecord();\n if (record.abortOperationId !== undefined) {\n const execution = await lane.inspectExecution(context);\n if (execution.current?.id === record.abortOperationId) {\n await abort(record.abortOperationId);\n const afterAbort = await lane.inspectExecution(context);\n if (afterAbort.current?.id === record.abortOperationId && afterAbort.current.status !== 'aborting')\n throw new Error('Cannot resume a turn before its persisted abort intent reaches native cancellation');\n // An interrupted native drive has no process-local owner. Resume only its\n // already-cancelled control path to reach terminal cleanup; never regenerate.\n if (afterAbort.current?.id === record.abortOperationId) {\n const resumed = await writable(() => lane.resume(context));\n if (!resumed.ok && resumed.error._tag !== 'NothingToResume') resultError(resumed);\n }\n }\n await changeRecord((current) => ({\n record: { ...current, abortOperationId: undefined, paused: true },\n result: undefined,\n }));\n }\n for (const item of (await readRecord()).queue.filter(\n (entry) =>\n entry.disposition === 'handoff' &&\n entry.attemptId !== undefined &&\n entry.operationId === undefined &&\n entry.nativeEntryId === undefined,\n )) {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) => (entry.id === item.id ? { ...entry, disposition: 'uncertain' } : entry)),\n },\n result: undefined,\n }));\n }\n const current = await readRecord();\n for (const item of current.queue.filter(\n (entry) => entry.disposition === 'handoff' && entry.operationId !== undefined,\n )) {\n const execution = await lane.inspectExecution(context);\n const result = await lane.getResult(item.operationId!, context);\n if (item.delivery !== 'steer' && (execution.current?.id === item.operationId || result !== undefined)) {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) => (entry.id === item.id ? { ...entry, disposition: 'consumed' } : entry)),\n },\n result: undefined,\n }));\n } else {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) => (entry.id === item.id ? { ...entry, disposition: 'uncertain' } : entry)),\n },\n result: undefined,\n }));\n }\n }\n await reconcileNativeQueue();\n await publishLifecycle();\n };\n const resume = (): Promise<boolean> =>\n runAgentOperation(async () => {\n await recover();\n if ((await readRecord()).paused) return false;\n const result = await writable(() => lane.resume(context));\n // A lane with no persisted operation has nothing to continue. That is the\n // ordinary state of a session reopened while idle, not a failure, so it is\n // reported rather than thrown: only the caller knows whether it expected one.\n if (!result.ok && result.error._tag === 'NothingToResume') {\n void drainAutomatic().catch((error: unknown) =>\n emitFrame({ type: FRAME_ERROR, code: 'queue_drain', error: errorMessage(error) }),\n );\n return false;\n }\n if (!result.ok) resultError(result);\n return true;\n });\n const readState = async (): Promise<Record<string, unknown>> => {\n const [lifecycle, retained, persisted, stats, thinking] = await Promise.all([\n readLifecycle(),\n readRecord(),\n storage.session.getValue(laneState(laneName), context),\n storage.session.getStats(context),\n lane.getThinkingLevel(context),\n ]);\n const configuredModel = await lane.getModel(context);\n const name = await harness.getName(context);\n return {\n model: configuredModel === undefined ? undefined : { provider: configuredModel.provider, id: configuredModel.id },\n thinkingLevel: thinking,\n isStreaming: lifecycle.operation?.kind === 'run',\n isCompacting: lifecycle.operation?.kind === 'compaction',\n ...(lifecycle.operation === null\n ? {}\n : { operationId: lifecycle.operation.id, executionStatus: lifecycle.operation.status }),\n queuePaused: lifecycle.paused,\n queueRevision: lifecycle.revision,\n steeringMode: await harness.getSteeringMode(context),\n followUpMode: await harness.getFollowUpMode(context),\n sessionFile: storage.sessionFile,\n sessionId,\n ...(name === undefined ? {} : { sessionName: name }),\n autoCompactionEnabled: (await harness.getCompactionSettings(context)).enabled,\n messageCount: stats.messageCount,\n pendingMessageCount:\n lifecycle.queue.length +\n (persisted?.value.inbox.filter(\n (entry) =>\n entry.kind !== 'write' &&\n !retained.queue.some((item) => item.id === entry.entryId || item.nativeEntryId === entry.entryId),\n ).length ?? 0),\n };\n };\n const readEntries = async () => ({\n entries: await entriesForLane(lane, context),\n leafId: await lane.getTipId(context),\n });\n const listCommands = () => [...(options.listCommands?.() ?? [])];\n const setModel = async (model: { provider: string; id: string }): Promise<void> => {\n if (models.getModel(model.provider, model.id) === undefined)\n throw new Error(`Model not found: ${model.provider}/${model.id}`);\n await writable(() => lane.setModel({ provider: model.provider, modelId: model.id }, context));\n };\n const availableModels = () => models.getAvailable();\n const availableThinkingLevels = async () => {\n const model = await lane.getModel(context);\n if (!model) throw new Error('No model is selected');\n return getSupportedThinkingLevels(model);\n };\n const setThinkingLevel = (level: Parameters<typeof lane.setThinkingLevel>[0]) =>\n writable(() => lane.setThinkingLevel(level, context));\n const setSteeringMode = (mode: Parameters<typeof harness.setSteeringMode>[0]) =>\n writable(() => harness.setSteeringMode(mode, context));\n const setFollowUpMode = (mode: Parameters<typeof harness.setFollowUpMode>[0]) =>\n writable(() => harness.setFollowUpMode(mode, context));\n const navigateTree = (targetId: string | null, navigationOptions?: Record<string, unknown>) =>\n runAgentOperation(async () => {\n const result = await writable(() => lane.navigateTree(targetId, navigationOptions as never, context));\n if (!result.ok) resultError(result);\n return {\n cancelled: result.value.navigation.status !== 'completed',\n entries: await entriesForLane(lane, context),\n };\n });\n const clearQueue = async () => {\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.disposition === 'pending' ? { ...entry, disposition: 'removed' } : entry,\n ),\n },\n result: undefined,\n }));\n const queued = (await storage.session.getValue(laneState(laneName), context))?.value.inbox ?? [];\n for (const item of queued) {\n if (item.kind === 'write') continue;\n const result = await writable(() => lane.cancelQueued(item.entryId, context));\n if (!result.ok) resultError(result);\n if (result.value.kind === 'cancelled')\n await changeRecord((record) => ({\n record: {\n ...record,\n queue: record.queue.map((entry) =>\n entry.nativeEntryId === item.entryId ? { ...entry, disposition: 'removed' } : entry,\n ),\n },\n result: undefined,\n }));\n }\n await publishLifecycle();\n return { steering: [] as never[], followUp: [] as never[] };\n };\n const setName = (name: string) => writable(() => harness.setName(name, context));\n const getSessionStats = () => storage.session.getStats(context);\n const dispose = (): Promise<void> => {\n // Preserve the facade's idempotent second-dispose contract even if the first\n // close reported a failure, while still waiting for a concurrent close to finish.\n if (disposed)\n return (\n disposePromise?.then(\n () => undefined,\n () => undefined,\n ) ?? Promise.resolve()\n );\n disposePromise ??= (async () => {\n let failure: unknown;\n try {\n const execution = await lane.inspectExecution(context);\n if (execution.current !== null) await abortCurrent(execution.current.id);\n } catch (error) {\n failure = error;\n markStorageFailure(error);\n }\n disposed = true;\n for (const unsubscribeEvent of unsubscribe) unsubscribeEvent();\n for (const unsubscribeHook of unsubscribeHooks) unsubscribeHook();\n try {\n await harness.close(context);\n } catch (error) {\n failure ??= error;\n markStorageFailure(error);\n }\n try {\n await closeStorage(storage, context);\n } catch (error) {\n failure ??= error;\n markStorageFailure(error);\n }\n settleExit(failure === undefined ? 0 : 1);\n if (failure !== undefined) throw failure;\n })();\n return disposePromise;\n };\n\n // The owning host explicitly resumes only after its facets and selection gates are ready.\n\n return {\n sessionId,\n laneName,\n harnessId,\n completeModel: models.complete?.bind(models),\n session: storage.session,\n harness,\n lane,\n exited,\n get storageQuarantined() {\n return storageQuarantined;\n },\n onPresentationFrame(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n onEvent(listener) {\n lifecycleListeners.add(listener);\n return () => lifecycleListeners.delete(listener);\n },\n stop() {\n void abort()\n .catch(() => undefined)\n .finally(() => dispose().catch(() => undefined));\n },\n readState,\n readLifecycle,\n enqueueAutomatic,\n removeQueued,\n promoteQueued,\n resumeQueue,\n recover,\n readEntries,\n listCommands,\n dispatchCommand,\n setModel,\n availableModels,\n availableThinkingLevels,\n setThinkingLevel,\n setSteeringMode,\n setFollowUpMode,\n navigateTree,\n clearQueue,\n setName,\n getSessionStats,\n replaceTools,\n replaceResources,\n readResources,\n runExternalOperation,\n appendCustomEntry,\n appendMessage,\n setLabel,\n recordUsage,\n submitPrompt,\n prompt,\n admitMessage,\n steer,\n followUp,\n nextRun,\n abort,\n interrupt,\n compact,\n resume,\n dispose,\n };\n}\n\nexport type {\n DirectHarnessRuntimeOptions,\n DirectHarnessRuntime,\n DirectHarnessFrame,\n} from '../types/server/directHarnessRuntime';\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DirectHarnessFrame, DirectHarnessRuntime, DirectHarnessRuntimeOptions } from "../types/server/directHarnessRuntime.mjs";
2
+ import "@earendil-works/pi-agent-core/harness/session";
3
+ export type { DirectHarnessRuntime, DirectHarnessRuntimeOptions };