@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":"runtimePiExtension.cjs","names":["createPluginLifecycle","DOOM_HELP_SERVICE","requireDoomHelpService","DOOM_TOOL_SURFACE_SERVICE","requireDoomToolSurface","DOOM_TOOL_OVERRIDES_SERVICE","requireDoomToolOverrides","connectDoomCordisHost"],"sources":["../src/extensions/piExtension.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { ExtensionAPI, ToolDefinition } from '@earendil-works/pi-coding-agent';\nimport type { TSchema } from 'typebox';\n\nimport { connectDoomCordisHost, type DoomCordisRuntimeService } from '../pi/cordisHost';\nimport { DOOM_HELP_SERVICE, requireDoomHelpService, type DoomHelpService } from '../schemas/help';\nimport type { PiToolDeclaration } from '../schemas/piTool';\nimport type { DoomPluginTool, DoomPluginCommand } from '../schemas/pluginContributions';\nimport {\n DOOM_TOOL_OVERRIDES_SERVICE,\n requireDoomToolOverrides,\n type DoomToolOverrideClaim,\n} from '../schemas/toolOverrides';\nimport type { DoomToolRestrictionDefinition } from '../schemas/toolSurface';\nimport { DOOM_TOOL_SURFACE_SERVICE, requireDoomToolSurface } from '../schemas/toolSurface';\nimport { createPluginLifecycle, type PluginLifecycleHooks } from '../services/pluginLifecycle';\n\n/** Extract native overloads without copying Pi event payload or result contracts. */\ntype NativeEventOverloads = ExtensionAPI['on'] extends {\n (event: infer E1 extends string, handler: infer H1): void;\n (event: infer E2 extends string, handler: infer H2): void;\n (event: infer E3 extends string, handler: infer H3): void;\n (event: infer E4 extends string, handler: infer H4): void;\n (event: infer E5 extends string, handler: infer H5): void;\n (event: infer E6 extends string, handler: infer H6): void;\n (event: infer E7 extends string, handler: infer H7): void;\n (event: infer E8 extends string, handler: infer H8): void;\n (event: infer E9 extends string, handler: infer H9): void;\n (event: infer E10 extends string, handler: infer H10): void;\n (event: infer E11 extends string, handler: infer H11): void;\n (event: infer E12 extends string, handler: infer H12): void;\n (event: infer E13 extends string, handler: infer H13): void;\n (event: infer E14 extends string, handler: infer H14): void;\n (event: infer E15 extends string, handler: infer H15): void;\n (event: infer E16 extends string, handler: infer H16): void;\n (event: infer E17 extends string, handler: infer H17): void;\n (event: infer E18 extends string, handler: infer H18): void;\n (event: infer E19 extends string, handler: infer H19): void;\n (event: infer E20 extends string, handler: infer H20): void;\n (event: infer E21 extends string, handler: infer H21): void;\n (event: infer E22 extends string, handler: infer H22): void;\n (event: infer E23 extends string, handler: infer H23): void;\n (event: infer E24 extends string, handler: infer H24): void;\n (event: infer E25 extends string, handler: infer H25): void;\n (event: infer E26 extends string, handler: infer H26): void;\n (event: infer E27 extends string, handler: infer H27): void;\n (event: infer E28 extends string, handler: infer H28): void;\n (event: infer E29 extends string, handler: infer H29): void;\n (event: infer E30 extends string, handler: infer H30): void;\n (event: infer E31 extends string, handler: infer H31): void;\n (event: infer E32 extends string, handler: infer H32): void;\n (event: infer E33 extends string, handler: infer H33): void;\n (event: infer E34 extends string, handler: infer H34): void;\n (event: infer E35 extends string, handler: infer H35): void;\n (event: infer E36 extends string, handler: infer H36): void;\n (event: infer E37 extends string, handler: infer H37): void;\n (event: infer E38 extends string, handler: infer H38): void;\n (event: infer E39 extends string, handler: infer H39): void;\n (event: infer E40 extends string, handler: infer H40): void;\n (event: infer E41 extends string, handler: infer H41): void;\n}\n ?\n | [E1, H1]\n | [E2, H2]\n | [E3, H3]\n | [E4, H4]\n | [E5, H5]\n | [E6, H6]\n | [E7, H7]\n | [E8, H8]\n | [E9, H9]\n | [E10, H10]\n | [E11, H11]\n | [E12, H12]\n | [E13, H13]\n | [E14, H14]\n | [E15, H15]\n | [E16, H16]\n | [E17, H17]\n | [E18, H18]\n | [E19, H19]\n | [E20, H20]\n | [E21, H21]\n | [E22, H22]\n | [E23, H23]\n | [E24, H24]\n | [E25, H25]\n | [E26, H26]\n | [E27, H27]\n | [E28, H28]\n | [E29, H29]\n | [E30, H30]\n | [E31, H31]\n | [E32, H32]\n | [E33, H33]\n | [E34, H34]\n | [E35, H35]\n | [E36, H36]\n | [E37, H37]\n | [E38, H38]\n | [E39, H39]\n | [E40, H40]\n | [E41, H41]\n : never;\n\nexport type PiEventHandlers = {\n readonly [Pair in NativeEventOverloads as Pair[0]]?: Pair[1];\n};\n\nexport interface PiPluginContext<TOptions = undefined> {\n readonly context: Context;\n readonly pi: ExtensionAPI;\n readonly options: TOptions | undefined;\n readonly runtime: DoomCordisRuntimeService | undefined;\n readonly signal: AbortSignal;\n}\n\nexport type PiToolRestriction = DoomToolRestrictionDefinition;\n\nexport interface PiPluginTool extends DoomPluginTool {\n readonly pi?: Pick<Parameters<ExtensionAPI['registerTool']>[0], 'renderShell' | 'renderCall' | 'renderResult'>;\n}\n\nexport interface PiToolOverride extends DoomToolOverrideClaim {\n /** Contributions registered only while this provider owns the override. */\n readonly tools: readonly string[];\n readonly replacements: readonly (PiToolDeclaration | Parameters<ExtensionAPI['registerTool']>[0])[];\n}\n\nexport type PiToolContribution = PiPluginTool | PiToolDeclaration | Parameters<ExtensionAPI['registerTool']>[0];\n\n/** Snapshots reuse immutable declarations. A registered name cannot adopt a different declaration until remount. */\nexport interface PiToolCollection {\n snapshot(): readonly PiToolContribution[];\n subscribe(listener: () => void): () => void;\n}\n\nexport interface PiPluginContributions<TOptions = undefined> extends PluginLifecycleHooks<PiPluginContext<TOptions>> {\n readonly services?: readonly Parameters<Context['plugin']>[0][];\n readonly tools?: readonly PiToolContribution[] | PiToolCollection;\n readonly commands?: readonly (DoomPluginCommand | readonly [...Parameters<ExtensionAPI['registerCommand']>])[];\n readonly events?: PiEventHandlers;\n readonly resources?: readonly Parameters<DoomHelpService['register']>[0][];\n readonly toolRestrictions?: readonly PiToolRestriction[];\n readonly toolOverrides?: readonly PiToolOverride[];\n readonly providers?: readonly (readonly [...Parameters<ExtensionAPI['registerProvider']>])[];\n readonly messageRenderers?: readonly (readonly [...Parameters<ExtensionAPI['registerMessageRenderer']>])[];\n readonly entryRenderers?: readonly (readonly [...Parameters<ExtensionAPI['registerEntryRenderer']>])[];\n readonly markdownTransformers?: readonly Parameters<ExtensionAPI['registerMarkdownTransformer']>[0][];\n readonly shortcuts?: readonly (readonly [...Parameters<ExtensionAPI['registerShortcut']>])[];\n readonly flags?: readonly (readonly [...Parameters<ExtensionAPI['registerFlag']>])[];\n}\n\nexport interface PiExtensionDefinition<TOptions = undefined> extends PiPluginContributions<TOptions> {\n readonly name: string;\n}\n\nexport interface DefinedPiExtension<TOptions = undefined> {\n (pi: ExtensionAPI, options?: TOptions): Promise<void>;\n install(\n this: void,\n context: Context,\n pi: ExtensionAPI,\n options?: TOptions,\n runtime?: DoomCordisRuntimeService,\n ): Promise<void>;\n}\n\nexport function definePiExtension<TOptions = undefined>(\n definition: PiExtensionDefinition<TOptions>,\n): DefinedPiExtension<TOptions>;\nexport function definePiExtension<TOptions = undefined>(\n name: string,\n factory: (\n context: PiPluginContext<TOptions>,\n ) => PiPluginContributions<TOptions> | Promise<PiPluginContributions<TOptions>>,\n): DefinedPiExtension<TOptions>;\nexport function definePiExtension<TOptions = undefined>(\n definition: string | PiExtensionDefinition<TOptions>,\n factory?: (\n context: PiPluginContext<TOptions>,\n ) => PiPluginContributions<TOptions> | Promise<PiPluginContributions<TOptions>>,\n): DefinedPiExtension<TOptions> {\n const name = typeof definition === 'string' ? definition : definition.name;\n const install = async (\n context: Context,\n pi: ExtensionAPI,\n options?: TOptions,\n runtime?: DoomCordisRuntimeService,\n ): Promise<void> => {\n const lifecycle = createPluginLifecycle((signal): PiPluginContext<TOptions> => ({\n context,\n pi,\n options,\n runtime,\n signal,\n }));\n context.effect(() => () => lifecycle.dispose(), `${name}/lifecycle`);\n const tool = (item: PiToolContribution, executionSignal?: () => AbortSignal): void => {\n if ('kind' in item && item.kind === 'pi-tool') {\n item.register(pi, executionSignal);\n return;\n }\n if (!('kind' in item)) {\n if (!executionSignal) {\n pi.registerTool(item);\n return;\n }\n pi.registerTool({\n ...item,\n async execute(toolCallId, input, signal, update, context) {\n const current = executionSignal();\n current.throwIfAborted();\n return item.execute(\n toolCallId,\n input,\n signal ? AbortSignal.any([signal, current]) : current,\n update,\n context,\n );\n },\n });\n return;\n }\n pi.registerTool({\n ...item.pi,\n name: item.name,\n label: item.label ?? item.name,\n description: item.description,\n parameters: item.parameters,\n promptSnippet: item.promptSnippet,\n promptGuidelines: item.promptGuidelines ? [...item.promptGuidelines] : undefined,\n executionMode: item.executionMode === 'serial' ? 'sequential' : item.executionMode,\n async execute(toolCallId, input, signal, update, execution) {\n const current = executionSignal?.() ?? lifecycle.context.signal;\n current.throwIfAborted();\n const result = await item.execute(input, {\n toolCallId,\n cwd: execution.cwd,\n signal: signal ? AbortSignal.any([signal, current]) : current,\n update: (result) => update?.({ ...result, details: result.details }),\n notify: (request) => {\n if (execution.hasUI) execution.ui.notify(request.body, request.level ?? 'info');\n },\n });\n return { ...result, details: result.details };\n },\n });\n };\n await lifecycle.mount(\n () => (typeof definition === 'string' ? factory!(lifecycle.context) : definition),\n async (contributions) => {\n for (const service of contributions.services ?? []) {\n const fiber = context.plugin(service);\n lifecycle.own(() => fiber.dispose());\n await fiber;\n }\n const tools = contributions.tools;\n if (tools && 'snapshot' in tools) {\n const registered = new Map<string, { readonly declaration: PiToolContribution; active?: AbortController }>();\n let disposed = false;\n let subscribing = true;\n let reconciling = false;\n let pending = false;\n const deactivate = (): void => {\n for (const entry of registered.values()) {\n entry.active?.abort();\n entry.active = undefined;\n }\n };\n lifecycle.own(() => {\n disposed = true;\n deactivate();\n });\n const reconcile = (): void => {\n pending = true;\n if (disposed || lifecycle.context.signal.aborted) {\n deactivate();\n return;\n }\n if (reconciling || subscribing) return;\n reconciling = true;\n try {\n do {\n pending = false;\n const snapshot = tools.snapshot();\n const names = new Map<string, PiToolContribution>();\n for (const declaration of snapshot) {\n if (names.has(declaration.name)) throw new Error(`Duplicate live tool name: ${declaration.name}`);\n names.set(declaration.name, declaration);\n }\n for (const [name, entry] of registered) {\n if (names.get(name) !== entry.declaration) {\n entry.active?.abort();\n entry.active = undefined;\n }\n }\n for (const declaration of snapshot) {\n let entry = registered.get(declaration.name);\n if (entry && entry.declaration !== declaration) entry = undefined;\n if (entry) {\n entry.active ??= new AbortController();\n continue;\n }\n entry = { declaration, active: new AbortController() };\n const current = entry;\n registered.set(declaration.name, entry);\n try {\n tool(declaration, () => {\n lifecycle.context.signal.throwIfAborted();\n if (!current.active || disposed)\n throw new Error(`Tool ${declaration.name} is unavailable in this plugin generation.`);\n return AbortSignal.any([lifecycle.context.signal, current.active.signal]);\n });\n } catch (error) {\n registered.delete(declaration.name);\n throw error;\n }\n }\n } while (pending && !disposed);\n } catch (error) {\n deactivate();\n throw error;\n } finally {\n reconciling = false;\n }\n };\n const unsubscribe = tools.subscribe(() => {\n try {\n reconcile();\n } catch {\n /* An invalid update leaves registered tools unavailable. */\n }\n });\n lifecycle.own(() => {\n disposed = true;\n deactivate();\n unsubscribe();\n });\n subscribing = false;\n reconcile();\n } else {\n for (const item of tools ?? []) tool(item);\n }\n for (const item of contributions.commands ?? []) {\n if (!('kind' in item)) {\n pi.registerCommand(...item);\n continue;\n }\n pi.registerCommand(item.name, {\n description: item.description,\n async handler(args, execution) {\n lifecycle.context.signal.throwIfAborted();\n await item.execute(args, {\n cwd: execution.cwd,\n signal: lifecycle.context.signal,\n notify: (request) => {\n if (execution.hasUI) execution.ui.notify(request.body, request.level ?? 'info');\n },\n });\n },\n });\n }\n // The public mapped handlers retain each native event's input and return type.\n const on = pi.on.bind(pi) as (event: string, handler: unknown) => ReturnType<ExtensionAPI['on']>;\n for (const [event, handler] of Object.entries(contributions.events ?? {})) lifecycle.own(on(event, handler));\n for (const item of contributions.providers ?? []) pi.registerProvider(...item);\n for (const item of contributions.messageRenderers ?? []) pi.registerMessageRenderer(...item);\n for (const item of contributions.entryRenderers ?? []) pi.registerEntryRenderer(...item);\n for (const item of contributions.markdownTransformers ?? []) pi.registerMarkdownTransformer(item);\n for (const item of contributions.shortcuts ?? []) pi.registerShortcut(...item);\n for (const item of contributions.flags ?? []) pi.registerFlag(...item);\n const bind = (service: string, register: (child: Context) => void): void => {\n const fiber = context.inject([service], register);\n lifecycle.own(() => fiber.dispose());\n };\n if (contributions.resources?.length)\n bind(DOOM_HELP_SERVICE, (child) => {\n for (const resource of contributions.resources!) {\n const handle = requireDoomHelpService(child).register(resource);\n child.effect(() => () => handle.dispose());\n }\n });\n if (contributions.toolRestrictions?.length)\n bind(DOOM_TOOL_SURFACE_SERVICE, (child) => {\n for (const restriction of contributions.toolRestrictions!) {\n const handle = requireDoomToolSurface(child).register(restriction);\n child.effect(() => () => handle.dispose());\n const unsubscribe = restriction.subscribe?.(() => handle.update(restriction.restrict));\n if (unsubscribe) child.effect(() => unsubscribe);\n }\n });\n if (contributions.toolOverrides?.length)\n bind(DOOM_TOOL_OVERRIDES_SERVICE, (child) => {\n for (const override of contributions.toolOverrides!) {\n const handle = requireDoomToolOverrides(child).claim(override);\n child.effect(() => () => handle.dispose());\n if (handle.granted) for (const replacement of override.replacements) tool(replacement);\n }\n });\n },\n );\n };\n const activate = async (pi: ExtensionAPI, options?: TOptions): Promise<void> => {\n const connection = await connectDoomCordisHost(pi, name);\n const fiber = connection.root.plugin(async (context) => {\n await install(context, pi, options, connection.runtime);\n });\n let completion: Promise<void> | undefined;\n let unsubscribeShutdown: (() => void) | undefined;\n const dispose = (): Promise<void> =>\n (completion ??= (async () => {\n try {\n unsubscribeShutdown?.();\n unsubscribeShutdown = undefined;\n await fiber.dispose();\n } finally {\n await connection.dispose();\n }\n })());\n try {\n await fiber;\n const shutdownRegistration = pi.on('session_shutdown', dispose) as unknown;\n if (typeof shutdownRegistration === 'function') unsubscribeShutdown = shutdownRegistration as () => void;\n } catch (error) {\n try {\n await dispose();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], `${name} startup and cleanup failed.`);\n }\n throw error;\n }\n };\n return Object.assign(activate, { install });\n}\n\n/**\n * What a CLI tool's presentation file supplies.\n *\n * The terminal is a frontend. `renderCall` and `renderResult` draw a tool call\n * into the TUI exactly as a cockpit tool renderer draws it into the browser,\n * so they are authored on the frontend side under a `.cli` platform suffix and\n * never alongside the tool's `execute`.\n */\nexport type PiToolRenderers<TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown> = Pick<\n ToolDefinition<TParameters, TDetails, TState>,\n 'renderShell' | 'renderCall' | 'renderResult'\n>;\n\n/** A terminal renderer declaration or a factory resolved from its session mount. */\nexport type PiToolRendererFile<\n TContext = unknown,\n TParameters extends TSchema = TSchema,\n TDetails = unknown,\n TState = unknown,\n> =\n | PiToolRenderers<TParameters, TDetails, TState>\n | ((context: TContext) => PiToolRenderers<TParameters, TDetails, TState>);\n/**\n * `(frontend)/tool/<name>.cli.tsx`. The filename names the tool these draw.\n *\n * Generic over the tool's schema, because a renderer reads the call it is\n * drawing: state the parameter type and `renderResult` sees the real arguments\n * instead of `unknown`, which is what the single-file version got for free.\n */\nexport function definePiToolRenderer<TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown>(\n file: PiToolRenderers<TParameters, TDetails, TState>,\n): PiToolRenderers<TParameters, TDetails, TState> {\n return file;\n}\n\n/** `(frontend)/tool/<name>.cli.tsx` when the renderer needs mount context. */\nexport function defineCliToolRenderer<\n TContext,\n TParameters extends TSchema = TSchema,\n TDetails = unknown,\n TState = unknown,\n>(\n file: PiToolRendererFile<TContext, TParameters, TDetails, TState>,\n): PiToolRendererFile<TContext, TParameters, TDetails, TState> {\n return file;\n}\n\n/**\n * `(frontend)/message/<name>.cli.tsx`. A renderer for one custom message type.\n *\n * The type is stated rather than derived from the filename, because it is a\n * protocol constant shared with whatever emits the message. A path-derived\n * name would silently stop matching the moment either side was renamed.\n */\nexport function defineMessageRenderer(\n messageType: Parameters<ExtensionAPI['registerMessageRenderer']>[0],\n render: Parameters<ExtensionAPI['registerMessageRenderer']>[1],\n): readonly [...Parameters<ExtensionAPI['registerMessageRenderer']>] {\n return [messageType, render];\n}\n\n/**\n * Attaches a presentation file's renderers to the tool its filename names.\n *\n * Three tool shapes reach a contribution array and each carries renderers in a\n * different place, so a generated entry cannot spell this merge itself. A\n * native Pi definition takes them at the top level, the portable shape nests\n * them under `pi`, and `definePiTool` owns its own registration, so that one\n * is reached by narrowing the host it registers against. `register` asks for\n * nothing but `registerTool`, which is what makes the last case a two-line\n * shim rather than a proxy over the whole extension API.\n */\nexport function withPiRenderers(tool: PiToolContribution, renderers: PiToolRenderers): PiToolContribution {\n if (!('kind' in tool)) return { ...tool, ...renderers };\n if (tool.kind !== 'pi-tool') return { ...tool, pi: { ...tool.pi, ...renderers } };\n return {\n ...tool,\n register(pi, executionSignal) {\n tool.register(\n { registerTool: (definition) => pi.registerTool({ ...definition, ...renderers }) },\n executionSignal,\n );\n },\n };\n}\n\n/**\n * Splits routed tool files into the two arrays the Pi host keeps apart.\n *\n * A tool that replaces a name Pi already ships is not a second registration,\n * it is a claim the override service arbitrates, and only the winner\n * registers. The folder convention keeps both in `tool/`, because from the\n * author's side both are \"this package provides grep\"; which one it is lives\n * in the value, through `definePiTool(definition, { overrides: true })`.\n *\n * A generated entry therefore cannot decide this from the path, and calls\n * this instead. Every static claim from one package is one atomic set, which\n * is what the override service expects. A live collection stays intact so its\n * subscription continues to drive registration changes.\n */\nexport function piToolContributions(\n source: string,\n items: readonly PiToolContribution[] | PiToolCollection,\n): Pick<PiPluginContributions, 'tools' | 'toolOverrides'> {\n if (!Array.isArray(items)) return { tools: items as PiToolCollection };\n const added: PiToolContribution[] = [];\n const claimed: PiToolDeclaration[] = [];\n for (const item of items) {\n // Only a native declaration may claim a name: a replacement is handed to\n // Pi's registry directly, which the portable shape is not.\n if ('kind' in item && item.kind === 'pi-tool' && item.overrides === true) claimed.push(item);\n else added.push(item);\n }\n if (claimed.length === 0) return { tools: added };\n return {\n tools: added,\n toolOverrides: [{ source, tools: claimed.map((item) => item.name), replacements: claimed }],\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { DoomCordisRuntimeService } from "./runtimeCordisHost.mjs";
2
+ import { DoomHelpService } from "./src/schemas/help.mjs";
3
+ import { PiToolDeclaration } from "./src/schemas/piTool.mjs";
4
+ import { DoomPluginCommand, DoomPluginTool } from "./src/schemas/pluginContributions.mjs";
5
+ import { DoomToolOverrideClaim } from "./src/schemas/toolOverrides.mjs";
6
+ import { DoomToolRestrictionDefinition } from "./src/schemas/toolSurface.mjs";
7
+ import { PluginLifecycleHooks } from "./src/services/pluginLifecycle/index.mjs";
8
+ import { TSchema } from "typebox";
9
+ import { Context } from "@deepseek-ai/cordis";
10
+ import { ExtensionAPI, ToolDefinition } from "@earendil-works/pi-coding-agent";
11
+ //#region src/extensions/piExtension.d.ts
12
+ /** Extract native overloads without copying Pi event payload or result contracts. */
13
+ type NativeEventOverloads = ExtensionAPI['on'] extends {
14
+ (event: infer E1 extends string, handler: infer H1): void;
15
+ (event: infer E2 extends string, handler: infer H2): void;
16
+ (event: infer E3 extends string, handler: infer H3): void;
17
+ (event: infer E4 extends string, handler: infer H4): void;
18
+ (event: infer E5 extends string, handler: infer H5): void;
19
+ (event: infer E6 extends string, handler: infer H6): void;
20
+ (event: infer E7 extends string, handler: infer H7): void;
21
+ (event: infer E8 extends string, handler: infer H8): void;
22
+ (event: infer E9 extends string, handler: infer H9): void;
23
+ (event: infer E10 extends string, handler: infer H10): void;
24
+ (event: infer E11 extends string, handler: infer H11): void;
25
+ (event: infer E12 extends string, handler: infer H12): void;
26
+ (event: infer E13 extends string, handler: infer H13): void;
27
+ (event: infer E14 extends string, handler: infer H14): void;
28
+ (event: infer E15 extends string, handler: infer H15): void;
29
+ (event: infer E16 extends string, handler: infer H16): void;
30
+ (event: infer E17 extends string, handler: infer H17): void;
31
+ (event: infer E18 extends string, handler: infer H18): void;
32
+ (event: infer E19 extends string, handler: infer H19): void;
33
+ (event: infer E20 extends string, handler: infer H20): void;
34
+ (event: infer E21 extends string, handler: infer H21): void;
35
+ (event: infer E22 extends string, handler: infer H22): void;
36
+ (event: infer E23 extends string, handler: infer H23): void;
37
+ (event: infer E24 extends string, handler: infer H24): void;
38
+ (event: infer E25 extends string, handler: infer H25): void;
39
+ (event: infer E26 extends string, handler: infer H26): void;
40
+ (event: infer E27 extends string, handler: infer H27): void;
41
+ (event: infer E28 extends string, handler: infer H28): void;
42
+ (event: infer E29 extends string, handler: infer H29): void;
43
+ (event: infer E30 extends string, handler: infer H30): void;
44
+ (event: infer E31 extends string, handler: infer H31): void;
45
+ (event: infer E32 extends string, handler: infer H32): void;
46
+ (event: infer E33 extends string, handler: infer H33): void;
47
+ (event: infer E34 extends string, handler: infer H34): void;
48
+ (event: infer E35 extends string, handler: infer H35): void;
49
+ (event: infer E36 extends string, handler: infer H36): void;
50
+ (event: infer E37 extends string, handler: infer H37): void;
51
+ (event: infer E38 extends string, handler: infer H38): void;
52
+ (event: infer E39 extends string, handler: infer H39): void;
53
+ (event: infer E40 extends string, handler: infer H40): void;
54
+ (event: infer E41 extends string, handler: infer H41): void;
55
+ } ? [E1, H1] | [E2, H2] | [E3, H3] | [E4, H4] | [E5, H5] | [E6, H6] | [E7, H7] | [E8, H8] | [E9, H9] | [E10, H10] | [E11, H11] | [E12, H12] | [E13, H13] | [E14, H14] | [E15, H15] | [E16, H16] | [E17, H17] | [E18, H18] | [E19, H19] | [E20, H20] | [E21, H21] | [E22, H22] | [E23, H23] | [E24, H24] | [E25, H25] | [E26, H26] | [E27, H27] | [E28, H28] | [E29, H29] | [E30, H30] | [E31, H31] | [E32, H32] | [E33, H33] | [E34, H34] | [E35, H35] | [E36, H36] | [E37, H37] | [E38, H38] | [E39, H39] | [E40, H40] | [E41, H41] : never;
56
+ export type PiEventHandlers = { readonly [Pair in NativeEventOverloads as Pair[0]]?: Pair[1]; };
57
+ export interface PiPluginContext<TOptions = undefined> {
58
+ readonly context: Context;
59
+ readonly pi: ExtensionAPI;
60
+ readonly options: TOptions | undefined;
61
+ readonly runtime: DoomCordisRuntimeService | undefined;
62
+ readonly signal: AbortSignal;
63
+ }
64
+ export type PiToolRestriction = DoomToolRestrictionDefinition;
65
+ export interface PiPluginTool extends DoomPluginTool {
66
+ readonly pi?: Pick<Parameters<ExtensionAPI['registerTool']>[0], 'renderShell' | 'renderCall' | 'renderResult'>;
67
+ }
68
+ export interface PiToolOverride extends DoomToolOverrideClaim {
69
+ /** Contributions registered only while this provider owns the override. */
70
+ readonly tools: readonly string[];
71
+ readonly replacements: readonly (PiToolDeclaration | Parameters<ExtensionAPI['registerTool']>[0])[];
72
+ }
73
+ export type PiToolContribution = PiPluginTool | PiToolDeclaration | Parameters<ExtensionAPI['registerTool']>[0];
74
+ /** Snapshots reuse immutable declarations. A registered name cannot adopt a different declaration until remount. */
75
+ export interface PiToolCollection {
76
+ snapshot(): readonly PiToolContribution[];
77
+ subscribe(listener: () => void): () => void;
78
+ }
79
+ export interface PiPluginContributions<TOptions = undefined> extends PluginLifecycleHooks<PiPluginContext<TOptions>> {
80
+ readonly services?: readonly Parameters<Context['plugin']>[0][];
81
+ readonly tools?: readonly PiToolContribution[] | PiToolCollection;
82
+ readonly commands?: readonly (DoomPluginCommand | readonly [...Parameters<ExtensionAPI['registerCommand']>])[];
83
+ readonly events?: PiEventHandlers;
84
+ readonly resources?: readonly Parameters<DoomHelpService['register']>[0][];
85
+ readonly toolRestrictions?: readonly PiToolRestriction[];
86
+ readonly toolOverrides?: readonly PiToolOverride[];
87
+ readonly providers?: readonly (readonly [...Parameters<ExtensionAPI['registerProvider']>])[];
88
+ readonly messageRenderers?: readonly (readonly [...Parameters<ExtensionAPI['registerMessageRenderer']>])[];
89
+ readonly entryRenderers?: readonly (readonly [...Parameters<ExtensionAPI['registerEntryRenderer']>])[];
90
+ readonly markdownTransformers?: readonly Parameters<ExtensionAPI['registerMarkdownTransformer']>[0][];
91
+ readonly shortcuts?: readonly (readonly [...Parameters<ExtensionAPI['registerShortcut']>])[];
92
+ readonly flags?: readonly (readonly [...Parameters<ExtensionAPI['registerFlag']>])[];
93
+ }
94
+ export interface PiExtensionDefinition<TOptions = undefined> extends PiPluginContributions<TOptions> {
95
+ readonly name: string;
96
+ }
97
+ export interface DefinedPiExtension<TOptions = undefined> {
98
+ (pi: ExtensionAPI, options?: TOptions): Promise<void>;
99
+ install(this: void, context: Context, pi: ExtensionAPI, options?: TOptions, runtime?: DoomCordisRuntimeService): Promise<void>;
100
+ }
101
+ export declare function definePiExtension<TOptions = undefined>(definition: PiExtensionDefinition<TOptions>): DefinedPiExtension<TOptions>;
102
+ export declare function definePiExtension<TOptions = undefined>(name: string, factory: (context: PiPluginContext<TOptions>) => PiPluginContributions<TOptions> | Promise<PiPluginContributions<TOptions>>): DefinedPiExtension<TOptions>;
103
+ /**
104
+ * What a CLI tool's presentation file supplies.
105
+ *
106
+ * The terminal is a frontend. `renderCall` and `renderResult` draw a tool call
107
+ * into the TUI exactly as a cockpit tool renderer draws it into the browser,
108
+ * so they are authored on the frontend side under a `.cli` platform suffix and
109
+ * never alongside the tool's `execute`.
110
+ */
111
+ export type PiToolRenderers<TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown> = Pick<ToolDefinition<TParameters, TDetails, TState>, 'renderShell' | 'renderCall' | 'renderResult'>;
112
+ /** A terminal renderer declaration or a factory resolved from its session mount. */
113
+ export type PiToolRendererFile<TContext = unknown, TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown> = PiToolRenderers<TParameters, TDetails, TState> | ((context: TContext) => PiToolRenderers<TParameters, TDetails, TState>);
114
+ /**
115
+ * `(frontend)/tool/<name>.cli.tsx`. The filename names the tool these draw.
116
+ *
117
+ * Generic over the tool's schema, because a renderer reads the call it is
118
+ * drawing: state the parameter type and `renderResult` sees the real arguments
119
+ * instead of `unknown`, which is what the single-file version got for free.
120
+ */
121
+ export declare function definePiToolRenderer<TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown>(file: PiToolRenderers<TParameters, TDetails, TState>): PiToolRenderers<TParameters, TDetails, TState>;
122
+ /** `(frontend)/tool/<name>.cli.tsx` when the renderer needs mount context. */
123
+ export declare function defineCliToolRenderer<TContext, TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown>(file: PiToolRendererFile<TContext, TParameters, TDetails, TState>): PiToolRendererFile<TContext, TParameters, TDetails, TState>;
124
+ /**
125
+ * `(frontend)/message/<name>.cli.tsx`. A renderer for one custom message type.
126
+ *
127
+ * The type is stated rather than derived from the filename, because it is a
128
+ * protocol constant shared with whatever emits the message. A path-derived
129
+ * name would silently stop matching the moment either side was renamed.
130
+ */
131
+ export declare function defineMessageRenderer(messageType: Parameters<ExtensionAPI['registerMessageRenderer']>[0], render: Parameters<ExtensionAPI['registerMessageRenderer']>[1]): readonly [...Parameters<ExtensionAPI['registerMessageRenderer']>];
132
+ /**
133
+ * Attaches a presentation file's renderers to the tool its filename names.
134
+ *
135
+ * Three tool shapes reach a contribution array and each carries renderers in a
136
+ * different place, so a generated entry cannot spell this merge itself. A
137
+ * native Pi definition takes them at the top level, the portable shape nests
138
+ * them under `pi`, and `definePiTool` owns its own registration, so that one
139
+ * is reached by narrowing the host it registers against. `register` asks for
140
+ * nothing but `registerTool`, which is what makes the last case a two-line
141
+ * shim rather than a proxy over the whole extension API.
142
+ */
143
+ export declare function withPiRenderers(tool: PiToolContribution, renderers: PiToolRenderers): PiToolContribution;
144
+ /**
145
+ * Splits routed tool files into the two arrays the Pi host keeps apart.
146
+ *
147
+ * A tool that replaces a name Pi already ships is not a second registration,
148
+ * it is a claim the override service arbitrates, and only the winner
149
+ * registers. The folder convention keeps both in `tool/`, because from the
150
+ * author's side both are "this package provides grep"; which one it is lives
151
+ * in the value, through `definePiTool(definition, { overrides: true })`.
152
+ *
153
+ * A generated entry therefore cannot decide this from the path, and calls
154
+ * this instead. Every static claim from one package is one atomic set, which
155
+ * is what the override service expects. A live collection stays intact so its
156
+ * subscription continues to drive registration changes.
157
+ */
158
+ export declare function piToolContributions(source: string, items: readonly PiToolContribution[] | PiToolCollection): Pick<PiPluginContributions, 'tools' | 'toolOverrides'>;
159
+ //#endregion
160
+ //# sourceMappingURL=runtimePiExtension.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimePiExtension.d.mts","names":[],"sources":["../src/extensions/piExtension.ts"],"mappings":"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"}
@@ -0,0 +1,333 @@
1
+ import { DOOM_TOOL_OVERRIDES_SERVICE, requireDoomToolOverrides } from "./src/schemas/toolOverrides.mjs";
2
+ import { DOOM_TOOL_SURFACE_SERVICE, requireDoomToolSurface } from "./src/schemas/toolSurface.mjs";
3
+ import { connectDoomCordisHost } from "./runtimeCordisHost.mjs";
4
+ import { DOOM_HELP_SERVICE, requireDoomHelpService } from "./src/schemas/help.mjs";
5
+ import { createPluginLifecycle } from "./src/services/pluginLifecycle/index.mjs";
6
+ //#region src/extensions/piExtension.ts
7
+ function definePiExtension(definition, factory) {
8
+ const name = typeof definition === "string" ? definition : definition.name;
9
+ const install = async (context, pi, options, runtime) => {
10
+ const lifecycle = createPluginLifecycle((signal) => ({
11
+ context,
12
+ pi,
13
+ options,
14
+ runtime,
15
+ signal
16
+ }));
17
+ context.effect(() => () => lifecycle.dispose(), `${name}/lifecycle`);
18
+ const tool = (item, executionSignal) => {
19
+ if ("kind" in item && item.kind === "pi-tool") {
20
+ item.register(pi, executionSignal);
21
+ return;
22
+ }
23
+ if (!("kind" in item)) {
24
+ if (!executionSignal) {
25
+ pi.registerTool(item);
26
+ return;
27
+ }
28
+ pi.registerTool({
29
+ ...item,
30
+ async execute(toolCallId, input, signal, update, context) {
31
+ const current = executionSignal();
32
+ current.throwIfAborted();
33
+ return item.execute(toolCallId, input, signal ? AbortSignal.any([signal, current]) : current, update, context);
34
+ }
35
+ });
36
+ return;
37
+ }
38
+ pi.registerTool({
39
+ ...item.pi,
40
+ name: item.name,
41
+ label: item.label ?? item.name,
42
+ description: item.description,
43
+ parameters: item.parameters,
44
+ promptSnippet: item.promptSnippet,
45
+ promptGuidelines: item.promptGuidelines ? [...item.promptGuidelines] : void 0,
46
+ executionMode: item.executionMode === "serial" ? "sequential" : item.executionMode,
47
+ async execute(toolCallId, input, signal, update, execution) {
48
+ const current = executionSignal?.() ?? lifecycle.context.signal;
49
+ current.throwIfAborted();
50
+ const result = await item.execute(input, {
51
+ toolCallId,
52
+ cwd: execution.cwd,
53
+ signal: signal ? AbortSignal.any([signal, current]) : current,
54
+ update: (result) => update?.({
55
+ ...result,
56
+ details: result.details
57
+ }),
58
+ notify: (request) => {
59
+ if (execution.hasUI) execution.ui.notify(request.body, request.level ?? "info");
60
+ }
61
+ });
62
+ return {
63
+ ...result,
64
+ details: result.details
65
+ };
66
+ }
67
+ });
68
+ };
69
+ await lifecycle.mount(() => typeof definition === "string" ? factory(lifecycle.context) : definition, async (contributions) => {
70
+ for (const service of contributions.services ?? []) {
71
+ const fiber = context.plugin(service);
72
+ lifecycle.own(() => fiber.dispose());
73
+ await fiber;
74
+ }
75
+ const tools = contributions.tools;
76
+ if (tools && "snapshot" in tools) {
77
+ const registered = /* @__PURE__ */ new Map();
78
+ let disposed = false;
79
+ let subscribing = true;
80
+ let reconciling = false;
81
+ let pending = false;
82
+ const deactivate = () => {
83
+ for (const entry of registered.values()) {
84
+ entry.active?.abort();
85
+ entry.active = void 0;
86
+ }
87
+ };
88
+ lifecycle.own(() => {
89
+ disposed = true;
90
+ deactivate();
91
+ });
92
+ const reconcile = () => {
93
+ pending = true;
94
+ if (disposed || lifecycle.context.signal.aborted) {
95
+ deactivate();
96
+ return;
97
+ }
98
+ if (reconciling || subscribing) return;
99
+ reconciling = true;
100
+ try {
101
+ do {
102
+ pending = false;
103
+ const snapshot = tools.snapshot();
104
+ const names = /* @__PURE__ */ new Map();
105
+ for (const declaration of snapshot) {
106
+ if (names.has(declaration.name)) throw new Error(`Duplicate live tool name: ${declaration.name}`);
107
+ names.set(declaration.name, declaration);
108
+ }
109
+ for (const [name, entry] of registered) if (names.get(name) !== entry.declaration) {
110
+ entry.active?.abort();
111
+ entry.active = void 0;
112
+ }
113
+ for (const declaration of snapshot) {
114
+ let entry = registered.get(declaration.name);
115
+ if (entry && entry.declaration !== declaration) entry = void 0;
116
+ if (entry) {
117
+ entry.active ??= new AbortController();
118
+ continue;
119
+ }
120
+ entry = {
121
+ declaration,
122
+ active: new AbortController()
123
+ };
124
+ const current = entry;
125
+ registered.set(declaration.name, entry);
126
+ try {
127
+ tool(declaration, () => {
128
+ lifecycle.context.signal.throwIfAborted();
129
+ if (!current.active || disposed) throw new Error(`Tool ${declaration.name} is unavailable in this plugin generation.`);
130
+ return AbortSignal.any([lifecycle.context.signal, current.active.signal]);
131
+ });
132
+ } catch (error) {
133
+ registered.delete(declaration.name);
134
+ throw error;
135
+ }
136
+ }
137
+ } while (pending && !disposed);
138
+ } catch (error) {
139
+ deactivate();
140
+ throw error;
141
+ } finally {
142
+ reconciling = false;
143
+ }
144
+ };
145
+ const unsubscribe = tools.subscribe(() => {
146
+ try {
147
+ reconcile();
148
+ } catch {}
149
+ });
150
+ lifecycle.own(() => {
151
+ disposed = true;
152
+ deactivate();
153
+ unsubscribe();
154
+ });
155
+ subscribing = false;
156
+ reconcile();
157
+ } else for (const item of tools ?? []) tool(item);
158
+ for (const item of contributions.commands ?? []) {
159
+ if (!("kind" in item)) {
160
+ pi.registerCommand(...item);
161
+ continue;
162
+ }
163
+ pi.registerCommand(item.name, {
164
+ description: item.description,
165
+ async handler(args, execution) {
166
+ lifecycle.context.signal.throwIfAborted();
167
+ await item.execute(args, {
168
+ cwd: execution.cwd,
169
+ signal: lifecycle.context.signal,
170
+ notify: (request) => {
171
+ if (execution.hasUI) execution.ui.notify(request.body, request.level ?? "info");
172
+ }
173
+ });
174
+ }
175
+ });
176
+ }
177
+ const on = pi.on.bind(pi);
178
+ for (const [event, handler] of Object.entries(contributions.events ?? {})) lifecycle.own(on(event, handler));
179
+ for (const item of contributions.providers ?? []) pi.registerProvider(...item);
180
+ for (const item of contributions.messageRenderers ?? []) pi.registerMessageRenderer(...item);
181
+ for (const item of contributions.entryRenderers ?? []) pi.registerEntryRenderer(...item);
182
+ for (const item of contributions.markdownTransformers ?? []) pi.registerMarkdownTransformer(item);
183
+ for (const item of contributions.shortcuts ?? []) pi.registerShortcut(...item);
184
+ for (const item of contributions.flags ?? []) pi.registerFlag(...item);
185
+ const bind = (service, register) => {
186
+ const fiber = context.inject([service], register);
187
+ lifecycle.own(() => fiber.dispose());
188
+ };
189
+ if (contributions.resources?.length) bind(DOOM_HELP_SERVICE, (child) => {
190
+ for (const resource of contributions.resources) {
191
+ const handle = requireDoomHelpService(child).register(resource);
192
+ child.effect(() => () => handle.dispose());
193
+ }
194
+ });
195
+ if (contributions.toolRestrictions?.length) bind(DOOM_TOOL_SURFACE_SERVICE, (child) => {
196
+ for (const restriction of contributions.toolRestrictions) {
197
+ const handle = requireDoomToolSurface(child).register(restriction);
198
+ child.effect(() => () => handle.dispose());
199
+ const unsubscribe = restriction.subscribe?.(() => handle.update(restriction.restrict));
200
+ if (unsubscribe) child.effect(() => unsubscribe);
201
+ }
202
+ });
203
+ if (contributions.toolOverrides?.length) bind(DOOM_TOOL_OVERRIDES_SERVICE, (child) => {
204
+ for (const override of contributions.toolOverrides) {
205
+ const handle = requireDoomToolOverrides(child).claim(override);
206
+ child.effect(() => () => handle.dispose());
207
+ if (handle.granted) for (const replacement of override.replacements) tool(replacement);
208
+ }
209
+ });
210
+ });
211
+ };
212
+ const activate = async (pi, options) => {
213
+ const connection = await connectDoomCordisHost(pi, name);
214
+ const fiber = connection.root.plugin(async (context) => {
215
+ await install(context, pi, options, connection.runtime);
216
+ });
217
+ let completion;
218
+ let unsubscribeShutdown;
219
+ const dispose = () => completion ??= (async () => {
220
+ try {
221
+ unsubscribeShutdown?.();
222
+ unsubscribeShutdown = void 0;
223
+ await fiber.dispose();
224
+ } finally {
225
+ await connection.dispose();
226
+ }
227
+ })();
228
+ try {
229
+ await fiber;
230
+ const shutdownRegistration = pi.on("session_shutdown", dispose);
231
+ if (typeof shutdownRegistration === "function") unsubscribeShutdown = shutdownRegistration;
232
+ } catch (error) {
233
+ try {
234
+ await dispose();
235
+ } catch (cleanupError) {
236
+ throw new AggregateError([error, cleanupError], `${name} startup and cleanup failed.`);
237
+ }
238
+ throw error;
239
+ }
240
+ };
241
+ return Object.assign(activate, { install });
242
+ }
243
+ /**
244
+ * `(frontend)/tool/<name>.cli.tsx`. The filename names the tool these draw.
245
+ *
246
+ * Generic over the tool's schema, because a renderer reads the call it is
247
+ * drawing: state the parameter type and `renderResult` sees the real arguments
248
+ * instead of `unknown`, which is what the single-file version got for free.
249
+ */
250
+ function definePiToolRenderer(file) {
251
+ return file;
252
+ }
253
+ /** `(frontend)/tool/<name>.cli.tsx` when the renderer needs mount context. */
254
+ function defineCliToolRenderer(file) {
255
+ return file;
256
+ }
257
+ /**
258
+ * `(frontend)/message/<name>.cli.tsx`. A renderer for one custom message type.
259
+ *
260
+ * The type is stated rather than derived from the filename, because it is a
261
+ * protocol constant shared with whatever emits the message. A path-derived
262
+ * name would silently stop matching the moment either side was renamed.
263
+ */
264
+ function defineMessageRenderer(messageType, render) {
265
+ return [messageType, render];
266
+ }
267
+ /**
268
+ * Attaches a presentation file's renderers to the tool its filename names.
269
+ *
270
+ * Three tool shapes reach a contribution array and each carries renderers in a
271
+ * different place, so a generated entry cannot spell this merge itself. A
272
+ * native Pi definition takes them at the top level, the portable shape nests
273
+ * them under `pi`, and `definePiTool` owns its own registration, so that one
274
+ * is reached by narrowing the host it registers against. `register` asks for
275
+ * nothing but `registerTool`, which is what makes the last case a two-line
276
+ * shim rather than a proxy over the whole extension API.
277
+ */
278
+ function withPiRenderers(tool, renderers) {
279
+ if (!("kind" in tool)) return {
280
+ ...tool,
281
+ ...renderers
282
+ };
283
+ if (tool.kind !== "pi-tool") return {
284
+ ...tool,
285
+ pi: {
286
+ ...tool.pi,
287
+ ...renderers
288
+ }
289
+ };
290
+ return {
291
+ ...tool,
292
+ register(pi, executionSignal) {
293
+ tool.register({ registerTool: (definition) => pi.registerTool({
294
+ ...definition,
295
+ ...renderers
296
+ }) }, executionSignal);
297
+ }
298
+ };
299
+ }
300
+ /**
301
+ * Splits routed tool files into the two arrays the Pi host keeps apart.
302
+ *
303
+ * A tool that replaces a name Pi already ships is not a second registration,
304
+ * it is a claim the override service arbitrates, and only the winner
305
+ * registers. The folder convention keeps both in `tool/`, because from the
306
+ * author's side both are "this package provides grep"; which one it is lives
307
+ * in the value, through `definePiTool(definition, { overrides: true })`.
308
+ *
309
+ * A generated entry therefore cannot decide this from the path, and calls
310
+ * this instead. Every static claim from one package is one atomic set, which
311
+ * is what the override service expects. A live collection stays intact so its
312
+ * subscription continues to drive registration changes.
313
+ */
314
+ function piToolContributions(source, items) {
315
+ if (!Array.isArray(items)) return { tools: items };
316
+ const added = [];
317
+ const claimed = [];
318
+ for (const item of items) if ("kind" in item && item.kind === "pi-tool" && item.overrides === true) claimed.push(item);
319
+ else added.push(item);
320
+ if (claimed.length === 0) return { tools: added };
321
+ return {
322
+ tools: added,
323
+ toolOverrides: [{
324
+ source,
325
+ tools: claimed.map((item) => item.name),
326
+ replacements: claimed
327
+ }]
328
+ };
329
+ }
330
+ //#endregion
331
+ export { defineCliToolRenderer, defineMessageRenderer, definePiExtension, definePiToolRenderer, piToolContributions, withPiRenderers };
332
+
333
+ //# sourceMappingURL=runtimePiExtension.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimePiExtension.mjs","names":[],"sources":["../src/extensions/piExtension.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { ExtensionAPI, ToolDefinition } from '@earendil-works/pi-coding-agent';\nimport type { TSchema } from 'typebox';\n\nimport { connectDoomCordisHost, type DoomCordisRuntimeService } from '../pi/cordisHost';\nimport { DOOM_HELP_SERVICE, requireDoomHelpService, type DoomHelpService } from '../schemas/help';\nimport type { PiToolDeclaration } from '../schemas/piTool';\nimport type { DoomPluginTool, DoomPluginCommand } from '../schemas/pluginContributions';\nimport {\n DOOM_TOOL_OVERRIDES_SERVICE,\n requireDoomToolOverrides,\n type DoomToolOverrideClaim,\n} from '../schemas/toolOverrides';\nimport type { DoomToolRestrictionDefinition } from '../schemas/toolSurface';\nimport { DOOM_TOOL_SURFACE_SERVICE, requireDoomToolSurface } from '../schemas/toolSurface';\nimport { createPluginLifecycle, type PluginLifecycleHooks } from '../services/pluginLifecycle';\n\n/** Extract native overloads without copying Pi event payload or result contracts. */\ntype NativeEventOverloads = ExtensionAPI['on'] extends {\n (event: infer E1 extends string, handler: infer H1): void;\n (event: infer E2 extends string, handler: infer H2): void;\n (event: infer E3 extends string, handler: infer H3): void;\n (event: infer E4 extends string, handler: infer H4): void;\n (event: infer E5 extends string, handler: infer H5): void;\n (event: infer E6 extends string, handler: infer H6): void;\n (event: infer E7 extends string, handler: infer H7): void;\n (event: infer E8 extends string, handler: infer H8): void;\n (event: infer E9 extends string, handler: infer H9): void;\n (event: infer E10 extends string, handler: infer H10): void;\n (event: infer E11 extends string, handler: infer H11): void;\n (event: infer E12 extends string, handler: infer H12): void;\n (event: infer E13 extends string, handler: infer H13): void;\n (event: infer E14 extends string, handler: infer H14): void;\n (event: infer E15 extends string, handler: infer H15): void;\n (event: infer E16 extends string, handler: infer H16): void;\n (event: infer E17 extends string, handler: infer H17): void;\n (event: infer E18 extends string, handler: infer H18): void;\n (event: infer E19 extends string, handler: infer H19): void;\n (event: infer E20 extends string, handler: infer H20): void;\n (event: infer E21 extends string, handler: infer H21): void;\n (event: infer E22 extends string, handler: infer H22): void;\n (event: infer E23 extends string, handler: infer H23): void;\n (event: infer E24 extends string, handler: infer H24): void;\n (event: infer E25 extends string, handler: infer H25): void;\n (event: infer E26 extends string, handler: infer H26): void;\n (event: infer E27 extends string, handler: infer H27): void;\n (event: infer E28 extends string, handler: infer H28): void;\n (event: infer E29 extends string, handler: infer H29): void;\n (event: infer E30 extends string, handler: infer H30): void;\n (event: infer E31 extends string, handler: infer H31): void;\n (event: infer E32 extends string, handler: infer H32): void;\n (event: infer E33 extends string, handler: infer H33): void;\n (event: infer E34 extends string, handler: infer H34): void;\n (event: infer E35 extends string, handler: infer H35): void;\n (event: infer E36 extends string, handler: infer H36): void;\n (event: infer E37 extends string, handler: infer H37): void;\n (event: infer E38 extends string, handler: infer H38): void;\n (event: infer E39 extends string, handler: infer H39): void;\n (event: infer E40 extends string, handler: infer H40): void;\n (event: infer E41 extends string, handler: infer H41): void;\n}\n ?\n | [E1, H1]\n | [E2, H2]\n | [E3, H3]\n | [E4, H4]\n | [E5, H5]\n | [E6, H6]\n | [E7, H7]\n | [E8, H8]\n | [E9, H9]\n | [E10, H10]\n | [E11, H11]\n | [E12, H12]\n | [E13, H13]\n | [E14, H14]\n | [E15, H15]\n | [E16, H16]\n | [E17, H17]\n | [E18, H18]\n | [E19, H19]\n | [E20, H20]\n | [E21, H21]\n | [E22, H22]\n | [E23, H23]\n | [E24, H24]\n | [E25, H25]\n | [E26, H26]\n | [E27, H27]\n | [E28, H28]\n | [E29, H29]\n | [E30, H30]\n | [E31, H31]\n | [E32, H32]\n | [E33, H33]\n | [E34, H34]\n | [E35, H35]\n | [E36, H36]\n | [E37, H37]\n | [E38, H38]\n | [E39, H39]\n | [E40, H40]\n | [E41, H41]\n : never;\n\nexport type PiEventHandlers = {\n readonly [Pair in NativeEventOverloads as Pair[0]]?: Pair[1];\n};\n\nexport interface PiPluginContext<TOptions = undefined> {\n readonly context: Context;\n readonly pi: ExtensionAPI;\n readonly options: TOptions | undefined;\n readonly runtime: DoomCordisRuntimeService | undefined;\n readonly signal: AbortSignal;\n}\n\nexport type PiToolRestriction = DoomToolRestrictionDefinition;\n\nexport interface PiPluginTool extends DoomPluginTool {\n readonly pi?: Pick<Parameters<ExtensionAPI['registerTool']>[0], 'renderShell' | 'renderCall' | 'renderResult'>;\n}\n\nexport interface PiToolOverride extends DoomToolOverrideClaim {\n /** Contributions registered only while this provider owns the override. */\n readonly tools: readonly string[];\n readonly replacements: readonly (PiToolDeclaration | Parameters<ExtensionAPI['registerTool']>[0])[];\n}\n\nexport type PiToolContribution = PiPluginTool | PiToolDeclaration | Parameters<ExtensionAPI['registerTool']>[0];\n\n/** Snapshots reuse immutable declarations. A registered name cannot adopt a different declaration until remount. */\nexport interface PiToolCollection {\n snapshot(): readonly PiToolContribution[];\n subscribe(listener: () => void): () => void;\n}\n\nexport interface PiPluginContributions<TOptions = undefined> extends PluginLifecycleHooks<PiPluginContext<TOptions>> {\n readonly services?: readonly Parameters<Context['plugin']>[0][];\n readonly tools?: readonly PiToolContribution[] | PiToolCollection;\n readonly commands?: readonly (DoomPluginCommand | readonly [...Parameters<ExtensionAPI['registerCommand']>])[];\n readonly events?: PiEventHandlers;\n readonly resources?: readonly Parameters<DoomHelpService['register']>[0][];\n readonly toolRestrictions?: readonly PiToolRestriction[];\n readonly toolOverrides?: readonly PiToolOverride[];\n readonly providers?: readonly (readonly [...Parameters<ExtensionAPI['registerProvider']>])[];\n readonly messageRenderers?: readonly (readonly [...Parameters<ExtensionAPI['registerMessageRenderer']>])[];\n readonly entryRenderers?: readonly (readonly [...Parameters<ExtensionAPI['registerEntryRenderer']>])[];\n readonly markdownTransformers?: readonly Parameters<ExtensionAPI['registerMarkdownTransformer']>[0][];\n readonly shortcuts?: readonly (readonly [...Parameters<ExtensionAPI['registerShortcut']>])[];\n readonly flags?: readonly (readonly [...Parameters<ExtensionAPI['registerFlag']>])[];\n}\n\nexport interface PiExtensionDefinition<TOptions = undefined> extends PiPluginContributions<TOptions> {\n readonly name: string;\n}\n\nexport interface DefinedPiExtension<TOptions = undefined> {\n (pi: ExtensionAPI, options?: TOptions): Promise<void>;\n install(\n this: void,\n context: Context,\n pi: ExtensionAPI,\n options?: TOptions,\n runtime?: DoomCordisRuntimeService,\n ): Promise<void>;\n}\n\nexport function definePiExtension<TOptions = undefined>(\n definition: PiExtensionDefinition<TOptions>,\n): DefinedPiExtension<TOptions>;\nexport function definePiExtension<TOptions = undefined>(\n name: string,\n factory: (\n context: PiPluginContext<TOptions>,\n ) => PiPluginContributions<TOptions> | Promise<PiPluginContributions<TOptions>>,\n): DefinedPiExtension<TOptions>;\nexport function definePiExtension<TOptions = undefined>(\n definition: string | PiExtensionDefinition<TOptions>,\n factory?: (\n context: PiPluginContext<TOptions>,\n ) => PiPluginContributions<TOptions> | Promise<PiPluginContributions<TOptions>>,\n): DefinedPiExtension<TOptions> {\n const name = typeof definition === 'string' ? definition : definition.name;\n const install = async (\n context: Context,\n pi: ExtensionAPI,\n options?: TOptions,\n runtime?: DoomCordisRuntimeService,\n ): Promise<void> => {\n const lifecycle = createPluginLifecycle((signal): PiPluginContext<TOptions> => ({\n context,\n pi,\n options,\n runtime,\n signal,\n }));\n context.effect(() => () => lifecycle.dispose(), `${name}/lifecycle`);\n const tool = (item: PiToolContribution, executionSignal?: () => AbortSignal): void => {\n if ('kind' in item && item.kind === 'pi-tool') {\n item.register(pi, executionSignal);\n return;\n }\n if (!('kind' in item)) {\n if (!executionSignal) {\n pi.registerTool(item);\n return;\n }\n pi.registerTool({\n ...item,\n async execute(toolCallId, input, signal, update, context) {\n const current = executionSignal();\n current.throwIfAborted();\n return item.execute(\n toolCallId,\n input,\n signal ? AbortSignal.any([signal, current]) : current,\n update,\n context,\n );\n },\n });\n return;\n }\n pi.registerTool({\n ...item.pi,\n name: item.name,\n label: item.label ?? item.name,\n description: item.description,\n parameters: item.parameters,\n promptSnippet: item.promptSnippet,\n promptGuidelines: item.promptGuidelines ? [...item.promptGuidelines] : undefined,\n executionMode: item.executionMode === 'serial' ? 'sequential' : item.executionMode,\n async execute(toolCallId, input, signal, update, execution) {\n const current = executionSignal?.() ?? lifecycle.context.signal;\n current.throwIfAborted();\n const result = await item.execute(input, {\n toolCallId,\n cwd: execution.cwd,\n signal: signal ? AbortSignal.any([signal, current]) : current,\n update: (result) => update?.({ ...result, details: result.details }),\n notify: (request) => {\n if (execution.hasUI) execution.ui.notify(request.body, request.level ?? 'info');\n },\n });\n return { ...result, details: result.details };\n },\n });\n };\n await lifecycle.mount(\n () => (typeof definition === 'string' ? factory!(lifecycle.context) : definition),\n async (contributions) => {\n for (const service of contributions.services ?? []) {\n const fiber = context.plugin(service);\n lifecycle.own(() => fiber.dispose());\n await fiber;\n }\n const tools = contributions.tools;\n if (tools && 'snapshot' in tools) {\n const registered = new Map<string, { readonly declaration: PiToolContribution; active?: AbortController }>();\n let disposed = false;\n let subscribing = true;\n let reconciling = false;\n let pending = false;\n const deactivate = (): void => {\n for (const entry of registered.values()) {\n entry.active?.abort();\n entry.active = undefined;\n }\n };\n lifecycle.own(() => {\n disposed = true;\n deactivate();\n });\n const reconcile = (): void => {\n pending = true;\n if (disposed || lifecycle.context.signal.aborted) {\n deactivate();\n return;\n }\n if (reconciling || subscribing) return;\n reconciling = true;\n try {\n do {\n pending = false;\n const snapshot = tools.snapshot();\n const names = new Map<string, PiToolContribution>();\n for (const declaration of snapshot) {\n if (names.has(declaration.name)) throw new Error(`Duplicate live tool name: ${declaration.name}`);\n names.set(declaration.name, declaration);\n }\n for (const [name, entry] of registered) {\n if (names.get(name) !== entry.declaration) {\n entry.active?.abort();\n entry.active = undefined;\n }\n }\n for (const declaration of snapshot) {\n let entry = registered.get(declaration.name);\n if (entry && entry.declaration !== declaration) entry = undefined;\n if (entry) {\n entry.active ??= new AbortController();\n continue;\n }\n entry = { declaration, active: new AbortController() };\n const current = entry;\n registered.set(declaration.name, entry);\n try {\n tool(declaration, () => {\n lifecycle.context.signal.throwIfAborted();\n if (!current.active || disposed)\n throw new Error(`Tool ${declaration.name} is unavailable in this plugin generation.`);\n return AbortSignal.any([lifecycle.context.signal, current.active.signal]);\n });\n } catch (error) {\n registered.delete(declaration.name);\n throw error;\n }\n }\n } while (pending && !disposed);\n } catch (error) {\n deactivate();\n throw error;\n } finally {\n reconciling = false;\n }\n };\n const unsubscribe = tools.subscribe(() => {\n try {\n reconcile();\n } catch {\n /* An invalid update leaves registered tools unavailable. */\n }\n });\n lifecycle.own(() => {\n disposed = true;\n deactivate();\n unsubscribe();\n });\n subscribing = false;\n reconcile();\n } else {\n for (const item of tools ?? []) tool(item);\n }\n for (const item of contributions.commands ?? []) {\n if (!('kind' in item)) {\n pi.registerCommand(...item);\n continue;\n }\n pi.registerCommand(item.name, {\n description: item.description,\n async handler(args, execution) {\n lifecycle.context.signal.throwIfAborted();\n await item.execute(args, {\n cwd: execution.cwd,\n signal: lifecycle.context.signal,\n notify: (request) => {\n if (execution.hasUI) execution.ui.notify(request.body, request.level ?? 'info');\n },\n });\n },\n });\n }\n // The public mapped handlers retain each native event's input and return type.\n const on = pi.on.bind(pi) as (event: string, handler: unknown) => ReturnType<ExtensionAPI['on']>;\n for (const [event, handler] of Object.entries(contributions.events ?? {})) lifecycle.own(on(event, handler));\n for (const item of contributions.providers ?? []) pi.registerProvider(...item);\n for (const item of contributions.messageRenderers ?? []) pi.registerMessageRenderer(...item);\n for (const item of contributions.entryRenderers ?? []) pi.registerEntryRenderer(...item);\n for (const item of contributions.markdownTransformers ?? []) pi.registerMarkdownTransformer(item);\n for (const item of contributions.shortcuts ?? []) pi.registerShortcut(...item);\n for (const item of contributions.flags ?? []) pi.registerFlag(...item);\n const bind = (service: string, register: (child: Context) => void): void => {\n const fiber = context.inject([service], register);\n lifecycle.own(() => fiber.dispose());\n };\n if (contributions.resources?.length)\n bind(DOOM_HELP_SERVICE, (child) => {\n for (const resource of contributions.resources!) {\n const handle = requireDoomHelpService(child).register(resource);\n child.effect(() => () => handle.dispose());\n }\n });\n if (contributions.toolRestrictions?.length)\n bind(DOOM_TOOL_SURFACE_SERVICE, (child) => {\n for (const restriction of contributions.toolRestrictions!) {\n const handle = requireDoomToolSurface(child).register(restriction);\n child.effect(() => () => handle.dispose());\n const unsubscribe = restriction.subscribe?.(() => handle.update(restriction.restrict));\n if (unsubscribe) child.effect(() => unsubscribe);\n }\n });\n if (contributions.toolOverrides?.length)\n bind(DOOM_TOOL_OVERRIDES_SERVICE, (child) => {\n for (const override of contributions.toolOverrides!) {\n const handle = requireDoomToolOverrides(child).claim(override);\n child.effect(() => () => handle.dispose());\n if (handle.granted) for (const replacement of override.replacements) tool(replacement);\n }\n });\n },\n );\n };\n const activate = async (pi: ExtensionAPI, options?: TOptions): Promise<void> => {\n const connection = await connectDoomCordisHost(pi, name);\n const fiber = connection.root.plugin(async (context) => {\n await install(context, pi, options, connection.runtime);\n });\n let completion: Promise<void> | undefined;\n let unsubscribeShutdown: (() => void) | undefined;\n const dispose = (): Promise<void> =>\n (completion ??= (async () => {\n try {\n unsubscribeShutdown?.();\n unsubscribeShutdown = undefined;\n await fiber.dispose();\n } finally {\n await connection.dispose();\n }\n })());\n try {\n await fiber;\n const shutdownRegistration = pi.on('session_shutdown', dispose) as unknown;\n if (typeof shutdownRegistration === 'function') unsubscribeShutdown = shutdownRegistration as () => void;\n } catch (error) {\n try {\n await dispose();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], `${name} startup and cleanup failed.`);\n }\n throw error;\n }\n };\n return Object.assign(activate, { install });\n}\n\n/**\n * What a CLI tool's presentation file supplies.\n *\n * The terminal is a frontend. `renderCall` and `renderResult` draw a tool call\n * into the TUI exactly as a cockpit tool renderer draws it into the browser,\n * so they are authored on the frontend side under a `.cli` platform suffix and\n * never alongside the tool's `execute`.\n */\nexport type PiToolRenderers<TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown> = Pick<\n ToolDefinition<TParameters, TDetails, TState>,\n 'renderShell' | 'renderCall' | 'renderResult'\n>;\n\n/** A terminal renderer declaration or a factory resolved from its session mount. */\nexport type PiToolRendererFile<\n TContext = unknown,\n TParameters extends TSchema = TSchema,\n TDetails = unknown,\n TState = unknown,\n> =\n | PiToolRenderers<TParameters, TDetails, TState>\n | ((context: TContext) => PiToolRenderers<TParameters, TDetails, TState>);\n/**\n * `(frontend)/tool/<name>.cli.tsx`. The filename names the tool these draw.\n *\n * Generic over the tool's schema, because a renderer reads the call it is\n * drawing: state the parameter type and `renderResult` sees the real arguments\n * instead of `unknown`, which is what the single-file version got for free.\n */\nexport function definePiToolRenderer<TParameters extends TSchema = TSchema, TDetails = unknown, TState = unknown>(\n file: PiToolRenderers<TParameters, TDetails, TState>,\n): PiToolRenderers<TParameters, TDetails, TState> {\n return file;\n}\n\n/** `(frontend)/tool/<name>.cli.tsx` when the renderer needs mount context. */\nexport function defineCliToolRenderer<\n TContext,\n TParameters extends TSchema = TSchema,\n TDetails = unknown,\n TState = unknown,\n>(\n file: PiToolRendererFile<TContext, TParameters, TDetails, TState>,\n): PiToolRendererFile<TContext, TParameters, TDetails, TState> {\n return file;\n}\n\n/**\n * `(frontend)/message/<name>.cli.tsx`. A renderer for one custom message type.\n *\n * The type is stated rather than derived from the filename, because it is a\n * protocol constant shared with whatever emits the message. A path-derived\n * name would silently stop matching the moment either side was renamed.\n */\nexport function defineMessageRenderer(\n messageType: Parameters<ExtensionAPI['registerMessageRenderer']>[0],\n render: Parameters<ExtensionAPI['registerMessageRenderer']>[1],\n): readonly [...Parameters<ExtensionAPI['registerMessageRenderer']>] {\n return [messageType, render];\n}\n\n/**\n * Attaches a presentation file's renderers to the tool its filename names.\n *\n * Three tool shapes reach a contribution array and each carries renderers in a\n * different place, so a generated entry cannot spell this merge itself. A\n * native Pi definition takes them at the top level, the portable shape nests\n * them under `pi`, and `definePiTool` owns its own registration, so that one\n * is reached by narrowing the host it registers against. `register` asks for\n * nothing but `registerTool`, which is what makes the last case a two-line\n * shim rather than a proxy over the whole extension API.\n */\nexport function withPiRenderers(tool: PiToolContribution, renderers: PiToolRenderers): PiToolContribution {\n if (!('kind' in tool)) return { ...tool, ...renderers };\n if (tool.kind !== 'pi-tool') return { ...tool, pi: { ...tool.pi, ...renderers } };\n return {\n ...tool,\n register(pi, executionSignal) {\n tool.register(\n { registerTool: (definition) => pi.registerTool({ ...definition, ...renderers }) },\n executionSignal,\n );\n },\n };\n}\n\n/**\n * Splits routed tool files into the two arrays the Pi host keeps apart.\n *\n * A tool that replaces a name Pi already ships is not a second registration,\n * it is a claim the override service arbitrates, and only the winner\n * registers. The folder convention keeps both in `tool/`, because from the\n * author's side both are \"this package provides grep\"; which one it is lives\n * in the value, through `definePiTool(definition, { overrides: true })`.\n *\n * A generated entry therefore cannot decide this from the path, and calls\n * this instead. Every static claim from one package is one atomic set, which\n * is what the override service expects. A live collection stays intact so its\n * subscription continues to drive registration changes.\n */\nexport function piToolContributions(\n source: string,\n items: readonly PiToolContribution[] | PiToolCollection,\n): Pick<PiPluginContributions, 'tools' | 'toolOverrides'> {\n if (!Array.isArray(items)) return { tools: items as PiToolCollection };\n const added: PiToolContribution[] = [];\n const claimed: PiToolDeclaration[] = [];\n for (const item of items) {\n // Only a native declaration may claim a name: a replacement is handed to\n // Pi's registry directly, which the portable shape is not.\n if ('kind' in item && item.kind === 'pi-tool' && item.overrides === true) claimed.push(item);\n else added.push(item);\n }\n if (claimed.length === 0) return { tools: added };\n return {\n tools: added,\n toolOverrides: [{ source, tools: claimed.map((item) => item.name), replacements: claimed }],\n };\n}\n"],"mappings":"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"}