@agimon-ai/po-core 0.0.0-alpha.0

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 (1218) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -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 +2094 -0
  8. package/dist/apiContracts.cjs.map +1 -0
  9. package/dist/apiContracts.d.mts +1086 -0
  10. package/dist/apiContracts.d.mts.map +1 -0
  11. package/dist/apiContracts.mjs +2074 -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 +9 -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 +9 -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 +12 -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 +96 -0
  50. package/dist/contextDetailStore.cjs.map +1 -0
  51. package/dist/contextDetailStore.d.mts +21 -0
  52. package/dist/contextDetailStore.d.mts.map +1 -0
  53. package/dist/contextDetailStore.mjs +87 -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 +13 -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 +232 -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 +226 -0
  78. package/dist/executionBudget.mjs.map +1 -0
  79. package/dist/extensionFile.cjs +19 -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 +16 -0
  86. package/dist/headless.d.mts +2 -0
  87. package/dist/headless.mjs +2 -0
  88. package/dist/headlessHub.cjs +1008 -0
  89. package/dist/headlessHub.cjs.map +1 -0
  90. package/dist/headlessHub.d.mts +176 -0
  91. package/dist/headlessHub.d.mts.map +1 -0
  92. package/dist/headlessHub.mjs +1005 -0
  93. package/dist/headlessHub.mjs.map +1 -0
  94. package/dist/headlessServer.cjs +956 -0
  95. package/dist/headlessServer.cjs.map +1 -0
  96. package/dist/headlessServer.d.mts +66 -0
  97. package/dist/headlessServer.d.mts.map +1 -0
  98. package/dist/headlessServer.mjs +949 -0
  99. package/dist/headlessServer.mjs.map +1 -0
  100. package/dist/headlessSessionHost.cjs +0 -0
  101. package/dist/headlessSessionHost.d.mts +89 -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/historyOwnership.cjs +253 -0
  117. package/dist/historyOwnership.cjs.map +1 -0
  118. package/dist/historyOwnership.d.mts +23 -0
  119. package/dist/historyOwnership.d.mts.map +1 -0
  120. package/dist/historyOwnership.mjs +247 -0
  121. package/dist/historyOwnership.mjs.map +1 -0
  122. package/dist/hubChannel.cjs +4 -0
  123. package/dist/hubChannel.d.mts +2 -0
  124. package/dist/hubChannel.mjs +2 -0
  125. package/dist/index.cjs +44 -0
  126. package/dist/index.d.mts +6 -0
  127. package/dist/index.mjs +6 -0
  128. package/dist/json.cjs +6 -0
  129. package/dist/json.d.mts +2 -0
  130. package/dist/json.mjs +2 -0
  131. package/dist/jsonlSessionRepo.cjs +44 -0
  132. package/dist/jsonlSessionRepo.cjs.map +1 -0
  133. package/dist/jsonlSessionRepo.d.mts +7 -0
  134. package/dist/jsonlSessionRepo.d.mts.map +1 -0
  135. package/dist/jsonlSessionRepo.mjs +42 -0
  136. package/dist/jsonlSessionRepo.mjs.map +1 -0
  137. package/dist/kernel.cjs +3 -0
  138. package/dist/kernel.d.mts +3 -0
  139. package/dist/kernel.mjs +2 -0
  140. package/dist/leader.cjs +9 -0
  141. package/dist/leader.d.mts +2 -0
  142. package/dist/leader.mjs +2 -0
  143. package/dist/logSinkTelemetry.cjs +5 -0
  144. package/dist/logSinkTelemetry.d.mts +2 -0
  145. package/dist/logSinkTelemetry.mjs +2 -0
  146. package/dist/machineApi.cjs +92 -0
  147. package/dist/machineApi.cjs.map +1 -0
  148. package/dist/machineApi.d.mts +7 -0
  149. package/dist/machineApi.d.mts.map +1 -0
  150. package/dist/machineApi.mjs +88 -0
  151. package/dist/machineApi.mjs.map +1 -0
  152. package/dist/main.cjs +11 -0
  153. package/dist/main.d.mts +5 -0
  154. package/dist/main.mjs +4 -0
  155. package/dist/mcpFacet.cjs +9 -0
  156. package/dist/mcpFacet.d.mts +4 -0
  157. package/dist/mcpFacet.mjs +3 -0
  158. package/dist/mcpProjection.cjs +16 -0
  159. package/dist/mcpProjection.d.mts +2 -0
  160. package/dist/mcpProjection.mjs +2 -0
  161. package/dist/mcpSchemaCost.cjs +195 -0
  162. package/dist/mcpSchemaCost.cjs.map +1 -0
  163. package/dist/mcpSchemaCost.d.mts +35 -0
  164. package/dist/mcpSchemaCost.d.mts.map +1 -0
  165. package/dist/mcpSchemaCost.mjs +190 -0
  166. package/dist/mcpSchemaCost.mjs.map +1 -0
  167. package/dist/mcpSession.cjs +9 -0
  168. package/dist/mcpSession.d.mts +2 -0
  169. package/dist/mcpSession.mjs +2 -0
  170. package/dist/mcpStatus.cjs +7 -0
  171. package/dist/mcpStatus.d.mts +2 -0
  172. package/dist/mcpStatus.mjs +2 -0
  173. package/dist/mcpToolResolver.cjs +5 -0
  174. package/dist/mcpToolResolver.d.mts +2 -0
  175. package/dist/mcpToolResolver.mjs +2 -0
  176. package/dist/mcpWidget.cjs +0 -0
  177. package/dist/mcpWidget.d.mts +2 -0
  178. package/dist/mcpWidget.mjs +1 -0
  179. package/dist/moduleResolution.cjs +412 -0
  180. package/dist/moduleResolution.cjs.map +1 -0
  181. package/dist/moduleResolution.d.mts +72 -0
  182. package/dist/moduleResolution.d.mts.map +1 -0
  183. package/dist/moduleResolution.mjs +396 -0
  184. package/dist/moduleResolution.mjs.map +1 -0
  185. package/dist/narration.cjs +10 -0
  186. package/dist/narration.d.mts +2 -0
  187. package/dist/narration.mjs +2 -0
  188. package/dist/native.cjs +29 -0
  189. package/dist/native.d.mts +12 -0
  190. package/dist/native.mjs +8 -0
  191. package/dist/notification.cjs +17 -0
  192. package/dist/notification.d.mts +2 -0
  193. package/dist/notification.mjs +2 -0
  194. package/dist/packageApi.cjs +17 -0
  195. package/dist/packageApi.d.mts +3 -0
  196. package/dist/packageApi.mjs +3 -0
  197. package/dist/packageApiServer.cjs +196 -0
  198. package/dist/packageApiServer.cjs.map +1 -0
  199. package/dist/packageApiServer.d.mts +62 -0
  200. package/dist/packageApiServer.d.mts.map +1 -0
  201. package/dist/packageApiServer.mjs +194 -0
  202. package/dist/packageApiServer.mjs.map +1 -0
  203. package/dist/piSettings.cjs +20 -0
  204. package/dist/piSettings.d.mts +2 -0
  205. package/dist/piSettings.mjs +2 -0
  206. package/dist/pluginProtocol.cjs +10 -0
  207. package/dist/pluginProtocol.d.mts +2 -0
  208. package/dist/pluginProtocol.mjs +2 -0
  209. package/dist/profileIdentity.cjs +6 -0
  210. package/dist/profileIdentity.d.mts +2 -0
  211. package/dist/profileIdentity.mjs +2 -0
  212. package/dist/protocol.cjs +10 -0
  213. package/dist/protocol.d.mts +2 -0
  214. package/dist/protocol.mjs +2 -0
  215. package/dist/readiness.cjs +8 -0
  216. package/dist/readiness.d.mts +2 -0
  217. package/dist/readiness.mjs +2 -0
  218. package/dist/remoteApi.cjs +45 -0
  219. package/dist/remoteApi.cjs.map +1 -0
  220. package/dist/remoteApi.d.mts +7 -0
  221. package/dist/remoteApi.d.mts.map +1 -0
  222. package/dist/remoteApi.mjs +44 -0
  223. package/dist/remoteApi.mjs.map +1 -0
  224. package/dist/remoteRuntime.cjs +498 -0
  225. package/dist/remoteRuntime.cjs.map +1 -0
  226. package/dist/remoteRuntime.d.mts +36 -0
  227. package/dist/remoteRuntime.d.mts.map +1 -0
  228. package/dist/remoteRuntime.mjs +494 -0
  229. package/dist/remoteRuntime.mjs.map +1 -0
  230. package/dist/runtimeConfig.cjs +232 -0
  231. package/dist/runtimeConfig.cjs.map +1 -0
  232. package/dist/runtimeConfig.d.mts +313 -0
  233. package/dist/runtimeConfig.d.mts.map +1 -0
  234. package/dist/runtimeConfig.mjs +221 -0
  235. package/dist/runtimeConfig.mjs.map +1 -0
  236. package/dist/runtimeContextApi.cjs +64 -0
  237. package/dist/runtimeContextApi.cjs.map +1 -0
  238. package/dist/runtimeContextApi.d.mts +16 -0
  239. package/dist/runtimeContextApi.d.mts.map +1 -0
  240. package/dist/runtimeContextApi.mjs +62 -0
  241. package/dist/runtimeContextApi.mjs.map +1 -0
  242. package/dist/runtimeCordisHost.cjs +223 -0
  243. package/dist/runtimeCordisHost.cjs.map +1 -0
  244. package/dist/runtimeCordisHost.d.mts +78 -0
  245. package/dist/runtimeCordisHost.d.mts.map +1 -0
  246. package/dist/runtimeCordisHost.mjs +212 -0
  247. package/dist/runtimeCordisHost.mjs.map +1 -0
  248. package/dist/runtimeHeadlessSessionManager.cjs +0 -0
  249. package/dist/runtimeHeadlessSessionManager.d.mts +18 -0
  250. package/dist/runtimeHeadlessSessionManager.d.mts.map +1 -0
  251. package/dist/runtimeHeadlessSessionManager.mjs +1 -0
  252. package/dist/runtimeIdentity.cjs +26 -0
  253. package/dist/runtimeIdentity.cjs.map +1 -0
  254. package/dist/runtimeIdentity.d.mts +7 -0
  255. package/dist/runtimeIdentity.d.mts.map +1 -0
  256. package/dist/runtimeIdentity.mjs +21 -0
  257. package/dist/runtimeIdentity.mjs.map +1 -0
  258. package/dist/runtimeJson.cjs +46 -0
  259. package/dist/runtimeJson.cjs.map +1 -0
  260. package/dist/runtimeJson.d.mts +22 -0
  261. package/dist/runtimeJson.d.mts.map +1 -0
  262. package/dist/runtimeJson.mjs +39 -0
  263. package/dist/runtimeJson.mjs.map +1 -0
  264. package/dist/runtimeLogSinkTelemetry.cjs +102 -0
  265. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -0
  266. package/dist/runtimeLogSinkTelemetry.d.mts +49 -0
  267. package/dist/runtimeLogSinkTelemetry.d.mts.map +1 -0
  268. package/dist/runtimeLogSinkTelemetry.mjs +99 -0
  269. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -0
  270. package/dist/runtimePackages.cjs +120 -0
  271. package/dist/runtimePackages.cjs.map +1 -0
  272. package/dist/runtimePackages.d.mts +57 -0
  273. package/dist/runtimePackages.d.mts.map +1 -0
  274. package/dist/runtimePackages.mjs +110 -0
  275. package/dist/runtimePackages.mjs.map +1 -0
  276. package/dist/runtimePiSettings.cjs +257 -0
  277. package/dist/runtimePiSettings.cjs.map +1 -0
  278. package/dist/runtimePiSettings.d.mts +70 -0
  279. package/dist/runtimePiSettings.d.mts.map +1 -0
  280. package/dist/runtimePiSettings.mjs +235 -0
  281. package/dist/runtimePiSettings.mjs.map +1 -0
  282. package/dist/runtimeProtocol.cjs +228 -0
  283. package/dist/runtimeProtocol.cjs.map +1 -0
  284. package/dist/runtimeProtocol.d.mts +86 -0
  285. package/dist/runtimeProtocol.d.mts.map +1 -0
  286. package/dist/runtimeProtocol.mjs +219 -0
  287. package/dist/runtimeProtocol.mjs.map +1 -0
  288. package/dist/runtimeToolNames.cjs +51 -0
  289. package/dist/runtimeToolNames.cjs.map +1 -0
  290. package/dist/runtimeToolNames.d.mts +24 -0
  291. package/dist/runtimeToolNames.d.mts.map +1 -0
  292. package/dist/runtimeToolNames.mjs +49 -0
  293. package/dist/runtimeToolNames.mjs.map +1 -0
  294. package/dist/runtimeTransition.cjs +27 -0
  295. package/dist/runtimeTransition.cjs.map +1 -0
  296. package/dist/runtimeTransition.d.mts +114 -0
  297. package/dist/runtimeTransition.d.mts.map +1 -0
  298. package/dist/runtimeTransition.mjs +24 -0
  299. package/dist/runtimeTransition.mjs.map +1 -0
  300. package/dist/sandboxHarness.cjs +6 -0
  301. package/dist/sandboxHarness.d.mts +2 -0
  302. package/dist/sandboxHarness.mjs +2 -0
  303. package/dist/server.cjs +17 -0
  304. package/dist/server.d.mts +10 -0
  305. package/dist/server.mjs +7 -0
  306. package/dist/serverFacet.cjs +34 -0
  307. package/dist/serverFacet.d.mts +10 -0
  308. package/dist/serverFacet.mjs +9 -0
  309. package/dist/serverTelemetry.cjs +25 -0
  310. package/dist/serverTelemetry.cjs.map +1 -0
  311. package/dist/serverTelemetry.d.mts +12 -0
  312. package/dist/serverTelemetry.d.mts.map +1 -0
  313. package/dist/serverTelemetry.mjs +23 -0
  314. package/dist/serverTelemetry.mjs.map +1 -0
  315. package/dist/sessionFilesApi.cjs +96 -0
  316. package/dist/sessionFilesApi.cjs.map +1 -0
  317. package/dist/sessionFilesApi.d.mts +7 -0
  318. package/dist/sessionFilesApi.d.mts.map +1 -0
  319. package/dist/sessionFilesApi.mjs +91 -0
  320. package/dist/sessionFilesApi.mjs.map +1 -0
  321. package/dist/sessionMcp.cjs +6 -0
  322. package/dist/sessionMcp.d.mts +5 -0
  323. package/dist/sessionMcp.mjs +3 -0
  324. package/dist/sessionProtocol.cjs +8 -0
  325. package/dist/sessionProtocol.d.mts +3 -0
  326. package/dist/sessionProtocol.mjs +2 -0
  327. package/dist/skills.cjs +9 -0
  328. package/dist/skills.d.mts +2 -0
  329. package/dist/skills.mjs +2 -0
  330. package/dist/sqliteSessionStorage.cjs +168 -0
  331. package/dist/sqliteSessionStorage.cjs.map +1 -0
  332. package/dist/sqliteSessionStorage.d.mts +35 -0
  333. package/dist/sqliteSessionStorage.d.mts.map +1 -0
  334. package/dist/sqliteSessionStorage.mjs +158 -0
  335. package/dist/sqliteSessionStorage.mjs.map +1 -0
  336. package/dist/src/constants/authorTools.cjs +10 -0
  337. package/dist/src/constants/authorTools.cjs.map +1 -0
  338. package/dist/src/constants/authorTools.d.mts +6 -0
  339. package/dist/src/constants/authorTools.d.mts.map +1 -0
  340. package/dist/src/constants/authorTools.mjs +8 -0
  341. package/dist/src/constants/authorTools.mjs.map +1 -0
  342. package/dist/src/constants/contextApi.cjs +31 -0
  343. package/dist/src/constants/contextApi.cjs.map +1 -0
  344. package/dist/src/constants/contextApi.d.mts +23 -0
  345. package/dist/src/constants/contextApi.d.mts.map +1 -0
  346. package/dist/src/constants/contextApi.mjs +25 -0
  347. package/dist/src/constants/contextApi.mjs.map +1 -0
  348. package/dist/src/constants/nativeHost.cjs +56 -0
  349. package/dist/src/constants/nativeHost.cjs.map +1 -0
  350. package/dist/src/constants/nativeHost.d.mts +21 -0
  351. package/dist/src/constants/nativeHost.d.mts.map +1 -0
  352. package/dist/src/constants/nativeHost.mjs +53 -0
  353. package/dist/src/constants/nativeHost.mjs.map +1 -0
  354. package/dist/src/constants/remote.cjs +132 -0
  355. package/dist/src/constants/remote.cjs.map +1 -0
  356. package/dist/src/constants/remote.mjs +99 -0
  357. package/dist/src/constants/remote.mjs.map +1 -0
  358. package/dist/src/constants/sessionFiles.cjs +27 -0
  359. package/dist/src/constants/sessionFiles.cjs.map +1 -0
  360. package/dist/src/constants/sessionFiles.mjs +25 -0
  361. package/dist/src/constants/sessionFiles.mjs.map +1 -0
  362. package/dist/src/constants/voiceReloadHandoff.cjs +12 -0
  363. package/dist/src/constants/voiceReloadHandoff.cjs.map +1 -0
  364. package/dist/src/constants/voiceReloadHandoff.d.mts +7 -0
  365. package/dist/src/constants/voiceReloadHandoff.d.mts.map +1 -0
  366. package/dist/src/constants/voiceReloadHandoff.mjs +9 -0
  367. package/dist/src/constants/voiceReloadHandoff.mjs.map +1 -0
  368. package/dist/src/constants/voiceTools.cjs +96 -0
  369. package/dist/src/constants/voiceTools.cjs.map +1 -0
  370. package/dist/src/constants/voiceTools.d.mts +58 -0
  371. package/dist/src/constants/voiceTools.d.mts.map +1 -0
  372. package/dist/src/constants/voiceTools.mjs +60 -0
  373. package/dist/src/constants/voiceTools.mjs.map +1 -0
  374. package/dist/src/extensions/extensionFile.cjs +140 -0
  375. package/dist/src/extensions/extensionFile.cjs.map +1 -0
  376. package/dist/src/extensions/extensionFile.d.mts +69 -0
  377. package/dist/src/extensions/extensionFile.d.mts.map +1 -0
  378. package/dist/src/extensions/extensionFile.mjs +124 -0
  379. package/dist/src/extensions/extensionFile.mjs.map +1 -0
  380. package/dist/src/extensions/serverPlugin.cjs +107 -0
  381. package/dist/src/extensions/serverPlugin.cjs.map +1 -0
  382. package/dist/src/extensions/serverPlugin.d.mts +5 -0
  383. package/dist/src/extensions/serverPlugin.d.mts.map +1 -0
  384. package/dist/src/extensions/serverPlugin.mjs +107 -0
  385. package/dist/src/extensions/serverPlugin.mjs.map +1 -0
  386. package/dist/src/extensions/webPlugin.cjs +136 -0
  387. package/dist/src/extensions/webPlugin.cjs.map +1 -0
  388. package/dist/src/extensions/webPlugin.d.mts +68 -0
  389. package/dist/src/extensions/webPlugin.d.mts.map +1 -0
  390. package/dist/src/extensions/webPlugin.mjs +114 -0
  391. package/dist/src/extensions/webPlugin.mjs.map +1 -0
  392. package/dist/src/pi/piSessionRuntime.cjs +625 -0
  393. package/dist/src/pi/piSessionRuntime.cjs.map +1 -0
  394. package/dist/src/pi/piSessionRuntime.d.mts +43 -0
  395. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -0
  396. package/dist/src/pi/piSessionRuntime.mjs +624 -0
  397. package/dist/src/pi/piSessionRuntime.mjs.map +1 -0
  398. package/dist/src/pi/piWebSocketListener.cjs +115 -0
  399. package/dist/src/pi/piWebSocketListener.cjs.map +1 -0
  400. package/dist/src/pi/piWebSocketListener.mjs +115 -0
  401. package/dist/src/pi/piWebSocketListener.mjs.map +1 -0
  402. package/dist/src/schemas/agentModel.cjs +33 -0
  403. package/dist/src/schemas/agentModel.cjs.map +1 -0
  404. package/dist/src/schemas/agentModel.d.mts +26 -0
  405. package/dist/src/schemas/agentModel.d.mts.map +1 -0
  406. package/dist/src/schemas/agentModel.mjs +32 -0
  407. package/dist/src/schemas/agentModel.mjs.map +1 -0
  408. package/dist/src/schemas/apiContracts.d.mts +58 -0
  409. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  410. package/dist/src/schemas/askUser.cjs +42 -0
  411. package/dist/src/schemas/askUser.cjs.map +1 -0
  412. package/dist/src/schemas/askUser.d.mts +47 -0
  413. package/dist/src/schemas/askUser.d.mts.map +1 -0
  414. package/dist/src/schemas/askUser.mjs +37 -0
  415. package/dist/src/schemas/askUser.mjs.map +1 -0
  416. package/dist/src/schemas/backgroundWork.cjs +44 -0
  417. package/dist/src/schemas/backgroundWork.cjs.map +1 -0
  418. package/dist/src/schemas/backgroundWork.d.mts +76 -0
  419. package/dist/src/schemas/backgroundWork.d.mts.map +1 -0
  420. package/dist/src/schemas/backgroundWork.mjs +38 -0
  421. package/dist/src/schemas/backgroundWork.mjs.map +1 -0
  422. package/dist/src/schemas/childProcess.cjs +67 -0
  423. package/dist/src/schemas/childProcess.cjs.map +1 -0
  424. package/dist/src/schemas/childProcess.d.mts +30 -0
  425. package/dist/src/schemas/childProcess.d.mts.map +1 -0
  426. package/dist/src/schemas/childProcess.mjs +55 -0
  427. package/dist/src/schemas/childProcess.mjs.map +1 -0
  428. package/dist/src/schemas/cockpitContainer.cjs +31 -0
  429. package/dist/src/schemas/cockpitContainer.cjs.map +1 -0
  430. package/dist/src/schemas/cockpitContainer.d.mts +80 -0
  431. package/dist/src/schemas/cockpitContainer.d.mts.map +1 -0
  432. package/dist/src/schemas/cockpitContainer.mjs +30 -0
  433. package/dist/src/schemas/cockpitContainer.mjs.map +1 -0
  434. package/dist/src/schemas/contextContributions.cjs +17 -0
  435. package/dist/src/schemas/contextContributions.cjs.map +1 -0
  436. package/dist/src/schemas/contextContributions.d.mts +49 -0
  437. package/dist/src/schemas/contextContributions.d.mts.map +1 -0
  438. package/dist/src/schemas/contextContributions.mjs +15 -0
  439. package/dist/src/schemas/contextContributions.mjs.map +1 -0
  440. package/dist/src/schemas/delegation.cjs +91 -0
  441. package/dist/src/schemas/delegation.cjs.map +1 -0
  442. package/dist/src/schemas/delegation.d.mts +95 -0
  443. package/dist/src/schemas/delegation.d.mts.map +1 -0
  444. package/dist/src/schemas/delegation.mjs +76 -0
  445. package/dist/src/schemas/delegation.mjs.map +1 -0
  446. package/dist/src/schemas/extensionFile.d.mts +116 -0
  447. package/dist/src/schemas/extensionFile.d.mts.map +1 -0
  448. package/dist/src/schemas/footer.cjs +48 -0
  449. package/dist/src/schemas/footer.cjs.map +1 -0
  450. package/dist/src/schemas/footer.d.mts +48 -0
  451. package/dist/src/schemas/footer.d.mts.map +1 -0
  452. package/dist/src/schemas/footer.mjs +45 -0
  453. package/dist/src/schemas/footer.mjs.map +1 -0
  454. package/dist/src/schemas/headless.cjs +97 -0
  455. package/dist/src/schemas/headless.cjs.map +1 -0
  456. package/dist/src/schemas/headless.d.mts +472 -0
  457. package/dist/src/schemas/headless.d.mts.map +1 -0
  458. package/dist/src/schemas/headless.mjs +84 -0
  459. package/dist/src/schemas/headless.mjs.map +1 -0
  460. package/dist/src/schemas/help.cjs +281 -0
  461. package/dist/src/schemas/help.cjs.map +1 -0
  462. package/dist/src/schemas/help.d.mts +119 -0
  463. package/dist/src/schemas/help.d.mts.map +1 -0
  464. package/dist/src/schemas/help.mjs +262 -0
  465. package/dist/src/schemas/help.mjs.map +1 -0
  466. package/dist/src/schemas/hubChannel.cjs +20 -0
  467. package/dist/src/schemas/hubChannel.cjs.map +1 -0
  468. package/dist/src/schemas/hubChannel.d.mts +271 -0
  469. package/dist/src/schemas/hubChannel.d.mts.map +1 -0
  470. package/dist/src/schemas/hubChannel.mjs +19 -0
  471. package/dist/src/schemas/hubChannel.mjs.map +1 -0
  472. package/dist/src/schemas/leader.cjs +57 -0
  473. package/dist/src/schemas/leader.cjs.map +1 -0
  474. package/dist/src/schemas/leader.d.mts +107 -0
  475. package/dist/src/schemas/leader.d.mts.map +1 -0
  476. package/dist/src/schemas/leader.mjs +51 -0
  477. package/dist/src/schemas/leader.mjs.map +1 -0
  478. package/dist/src/schemas/mcpBundle.d.mts +13 -0
  479. package/dist/src/schemas/mcpBundle.d.mts.map +1 -0
  480. package/dist/src/schemas/mcpFacet.cjs +24 -0
  481. package/dist/src/schemas/mcpFacet.cjs.map +1 -0
  482. package/dist/src/schemas/mcpFacet.d.mts +91 -0
  483. package/dist/src/schemas/mcpFacet.d.mts.map +1 -0
  484. package/dist/src/schemas/mcpFacet.mjs +21 -0
  485. package/dist/src/schemas/mcpFacet.mjs.map +1 -0
  486. package/dist/src/schemas/mcpProjection.cjs +117 -0
  487. package/dist/src/schemas/mcpProjection.cjs.map +1 -0
  488. package/dist/src/schemas/mcpProjection.d.mts +124 -0
  489. package/dist/src/schemas/mcpProjection.d.mts.map +1 -0
  490. package/dist/src/schemas/mcpProjection.mjs +104 -0
  491. package/dist/src/schemas/mcpProjection.mjs.map +1 -0
  492. package/dist/src/schemas/mcpSession.cjs +57 -0
  493. package/dist/src/schemas/mcpSession.cjs.map +1 -0
  494. package/dist/src/schemas/mcpSession.d.mts +57 -0
  495. package/dist/src/schemas/mcpSession.d.mts.map +1 -0
  496. package/dist/src/schemas/mcpSession.mjs +51 -0
  497. package/dist/src/schemas/mcpSession.mjs.map +1 -0
  498. package/dist/src/schemas/mcpStatus.cjs +52 -0
  499. package/dist/src/schemas/mcpStatus.cjs.map +1 -0
  500. package/dist/src/schemas/mcpStatus.d.mts +73 -0
  501. package/dist/src/schemas/mcpStatus.d.mts.map +1 -0
  502. package/dist/src/schemas/mcpStatus.mjs +48 -0
  503. package/dist/src/schemas/mcpStatus.mjs.map +1 -0
  504. package/dist/src/schemas/mcpToolResolver.cjs +17 -0
  505. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -0
  506. package/dist/src/schemas/mcpToolResolver.d.mts +24 -0
  507. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -0
  508. package/dist/src/schemas/mcpToolResolver.mjs +15 -0
  509. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -0
  510. package/dist/src/schemas/narration.cjs +54 -0
  511. package/dist/src/schemas/narration.cjs.map +1 -0
  512. package/dist/src/schemas/narration.d.mts +29 -0
  513. package/dist/src/schemas/narration.d.mts.map +1 -0
  514. package/dist/src/schemas/narration.mjs +47 -0
  515. package/dist/src/schemas/narration.mjs.map +1 -0
  516. package/dist/src/schemas/notification.cjs +122 -0
  517. package/dist/src/schemas/notification.cjs.map +1 -0
  518. package/dist/src/schemas/notification.d.mts +48 -0
  519. package/dist/src/schemas/notification.d.mts.map +1 -0
  520. package/dist/src/schemas/notification.mjs +108 -0
  521. package/dist/src/schemas/notification.mjs.map +1 -0
  522. package/dist/src/schemas/packageApi.cjs +76 -0
  523. package/dist/src/schemas/packageApi.cjs.map +1 -0
  524. package/dist/src/schemas/packageApi.d.mts +302 -0
  525. package/dist/src/schemas/packageApi.d.mts.map +1 -0
  526. package/dist/src/schemas/packageApi.mjs +66 -0
  527. package/dist/src/schemas/packageApi.mjs.map +1 -0
  528. package/dist/src/schemas/pluginContributions.cjs +19 -0
  529. package/dist/src/schemas/pluginContributions.cjs.map +1 -0
  530. package/dist/src/schemas/pluginContributions.d.mts +56 -0
  531. package/dist/src/schemas/pluginContributions.d.mts.map +1 -0
  532. package/dist/src/schemas/pluginContributions.mjs +18 -0
  533. package/dist/src/schemas/pluginContributions.mjs.map +1 -0
  534. package/dist/src/schemas/pluginProtocol.cjs +103 -0
  535. package/dist/src/schemas/pluginProtocol.cjs.map +1 -0
  536. package/dist/src/schemas/pluginProtocol.d.mts +70 -0
  537. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -0
  538. package/dist/src/schemas/pluginProtocol.mjs +96 -0
  539. package/dist/src/schemas/pluginProtocol.mjs.map +1 -0
  540. package/dist/src/schemas/profileIdentity.cjs +67 -0
  541. package/dist/src/schemas/profileIdentity.cjs.map +1 -0
  542. package/dist/src/schemas/profileIdentity.d.mts +50 -0
  543. package/dist/src/schemas/profileIdentity.d.mts.map +1 -0
  544. package/dist/src/schemas/profileIdentity.mjs +64 -0
  545. package/dist/src/schemas/profileIdentity.mjs.map +1 -0
  546. package/dist/src/schemas/readiness.cjs +251 -0
  547. package/dist/src/schemas/readiness.cjs.map +1 -0
  548. package/dist/src/schemas/readiness.d.mts +84 -0
  549. package/dist/src/schemas/readiness.d.mts.map +1 -0
  550. package/dist/src/schemas/readiness.mjs +246 -0
  551. package/dist/src/schemas/readiness.mjs.map +1 -0
  552. package/dist/src/schemas/sandboxHarness.cjs +29 -0
  553. package/dist/src/schemas/sandboxHarness.cjs.map +1 -0
  554. package/dist/src/schemas/sandboxHarness.d.mts +39 -0
  555. package/dist/src/schemas/sandboxHarness.d.mts.map +1 -0
  556. package/dist/src/schemas/sandboxHarness.mjs +26 -0
  557. package/dist/src/schemas/sandboxHarness.mjs.map +1 -0
  558. package/dist/src/schemas/serverBundle.d.mts +19 -0
  559. package/dist/src/schemas/serverBundle.d.mts.map +1 -0
  560. package/dist/src/schemas/serverFacet.cjs +111 -0
  561. package/dist/src/schemas/serverFacet.cjs.map +1 -0
  562. package/dist/src/schemas/serverFacet.d.mts +152 -0
  563. package/dist/src/schemas/serverFacet.d.mts.map +1 -0
  564. package/dist/src/schemas/serverFacet.mjs +101 -0
  565. package/dist/src/schemas/serverFacet.mjs.map +1 -0
  566. package/dist/src/schemas/sessionMcpActivity.d.mts +47 -0
  567. package/dist/src/schemas/sessionMcpActivity.d.mts.map +1 -0
  568. package/dist/src/schemas/sessionProtocol.cjs +17 -0
  569. package/dist/src/schemas/sessionProtocol.cjs.map +1 -0
  570. package/dist/src/schemas/sessionProtocol.d.mts +313 -0
  571. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -0
  572. package/dist/src/schemas/sessionProtocol.mjs +12 -0
  573. package/dist/src/schemas/sessionProtocol.mjs.map +1 -0
  574. package/dist/src/schemas/sessionUpdates.d.mts +34 -0
  575. package/dist/src/schemas/sessionUpdates.d.mts.map +1 -0
  576. package/dist/src/schemas/skills.cjs +115 -0
  577. package/dist/src/schemas/skills.cjs.map +1 -0
  578. package/dist/src/schemas/skills.d.mts +65 -0
  579. package/dist/src/schemas/skills.d.mts.map +1 -0
  580. package/dist/src/schemas/skills.mjs +109 -0
  581. package/dist/src/schemas/skills.mjs.map +1 -0
  582. package/dist/src/schemas/toolOverrides.cjs +17 -0
  583. package/dist/src/schemas/toolOverrides.cjs.map +1 -0
  584. package/dist/src/schemas/toolOverrides.d.mts +29 -0
  585. package/dist/src/schemas/toolOverrides.d.mts.map +1 -0
  586. package/dist/src/schemas/toolOverrides.mjs +15 -0
  587. package/dist/src/schemas/toolOverrides.mjs.map +1 -0
  588. package/dist/src/schemas/toolSurface.cjs +17 -0
  589. package/dist/src/schemas/toolSurface.cjs.map +1 -0
  590. package/dist/src/schemas/toolSurface.d.mts +70 -0
  591. package/dist/src/schemas/toolSurface.d.mts.map +1 -0
  592. package/dist/src/schemas/toolSurface.mjs +15 -0
  593. package/dist/src/schemas/toolSurface.mjs.map +1 -0
  594. package/dist/src/schemas/uiHub.cjs +17 -0
  595. package/dist/src/schemas/uiHub.cjs.map +1 -0
  596. package/dist/src/schemas/uiHub.d.mts +23 -0
  597. package/dist/src/schemas/uiHub.d.mts.map +1 -0
  598. package/dist/src/schemas/uiHub.mjs +15 -0
  599. package/dist/src/schemas/uiHub.mjs.map +1 -0
  600. package/dist/src/schemas/voiceReloadHandoff.cjs +78 -0
  601. package/dist/src/schemas/voiceReloadHandoff.cjs.map +1 -0
  602. package/dist/src/schemas/voiceReloadHandoff.d.mts +31 -0
  603. package/dist/src/schemas/voiceReloadHandoff.d.mts.map +1 -0
  604. package/dist/src/schemas/voiceReloadHandoff.mjs +75 -0
  605. package/dist/src/schemas/voiceReloadHandoff.mjs.map +1 -0
  606. package/dist/src/schemas/voiceTools.cjs +205 -0
  607. package/dist/src/schemas/voiceTools.cjs.map +1 -0
  608. package/dist/src/schemas/voiceTools.d.mts +120 -0
  609. package/dist/src/schemas/voiceTools.d.mts.map +1 -0
  610. package/dist/src/schemas/voiceTools.mjs +194 -0
  611. package/dist/src/schemas/voiceTools.mjs.map +1 -0
  612. package/dist/src/server/devProxyForward.cjs +141 -0
  613. package/dist/src/server/devProxyForward.cjs.map +1 -0
  614. package/dist/src/server/devProxyForward.mjs +139 -0
  615. package/dist/src/server/devProxyForward.mjs.map +1 -0
  616. package/dist/src/server/devProxyRoutes.cjs +97 -0
  617. package/dist/src/server/devProxyRoutes.cjs.map +1 -0
  618. package/dist/src/server/devProxyRoutes.mjs +97 -0
  619. package/dist/src/server/devProxyRoutes.mjs.map +1 -0
  620. package/dist/src/server/devProxySocket.cjs +93 -0
  621. package/dist/src/server/devProxySocket.cjs.map +1 -0
  622. package/dist/src/server/devProxySocket.d.mts +25 -0
  623. package/dist/src/server/devProxySocket.d.mts.map +1 -0
  624. package/dist/src/server/devProxySocket.mjs +93 -0
  625. package/dist/src/server/devProxySocket.mjs.map +1 -0
  626. package/dist/src/server/directHarnessRuntime.cjs +2387 -0
  627. package/dist/src/server/directHarnessRuntime.cjs.map +1 -0
  628. package/dist/src/server/directHarnessRuntime.d.mts +4 -0
  629. package/dist/src/server/directHarnessRuntime.mjs +2384 -0
  630. package/dist/src/server/directHarnessRuntime.mjs.map +1 -0
  631. package/dist/src/server/harnessErrorMessage.cjs +13 -0
  632. package/dist/src/server/harnessErrorMessage.cjs.map +1 -0
  633. package/dist/src/server/harnessErrorMessage.mjs +13 -0
  634. package/dist/src/server/harnessErrorMessage.mjs.map +1 -0
  635. package/dist/src/server/headlessProtocol.cjs +382 -0
  636. package/dist/src/server/headlessProtocol.cjs.map +1 -0
  637. package/dist/src/server/headlessProtocol.mjs +382 -0
  638. package/dist/src/server/headlessProtocol.mjs.map +1 -0
  639. package/dist/src/server/liveImport.cjs +37 -0
  640. package/dist/src/server/liveImport.cjs.map +1 -0
  641. package/dist/src/server/liveImport.d.mts +27 -0
  642. package/dist/src/server/liveImport.d.mts.map +1 -0
  643. package/dist/src/server/liveImport.mjs +34 -0
  644. package/dist/src/server/liveImport.mjs.map +1 -0
  645. package/dist/src/server/mcpBundleLoader.cjs +108 -0
  646. package/dist/src/server/mcpBundleLoader.cjs.map +1 -0
  647. package/dist/src/server/mcpBundleLoader.d.mts +46 -0
  648. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -0
  649. package/dist/src/server/mcpBundleLoader.mjs +107 -0
  650. package/dist/src/server/mcpBundleLoader.mjs.map +1 -0
  651. package/dist/src/server/nativeChildTranscriptReader.cjs +20 -0
  652. package/dist/src/server/nativeChildTranscriptReader.cjs.map +1 -0
  653. package/dist/src/server/nativeChildTranscriptReader.mjs +18 -0
  654. package/dist/src/server/nativeChildTranscriptReader.mjs.map +1 -0
  655. package/dist/src/server/remoteRoutes.cjs +463 -0
  656. package/dist/src/server/remoteRoutes.cjs.map +1 -0
  657. package/dist/src/server/remoteRoutes.mjs +463 -0
  658. package/dist/src/server/remoteRoutes.mjs.map +1 -0
  659. package/dist/src/server/serverFacetLoader.cjs +214 -0
  660. package/dist/src/server/serverFacetLoader.cjs.map +1 -0
  661. package/dist/src/server/serverFacetLoader.d.mts +72 -0
  662. package/dist/src/server/serverFacetLoader.d.mts.map +1 -0
  663. package/dist/src/server/serverFacetLoader.mjs +212 -0
  664. package/dist/src/server/serverFacetLoader.mjs.map +1 -0
  665. package/dist/src/server/sessionMcpHandler.cjs +585 -0
  666. package/dist/src/server/sessionMcpHandler.cjs.map +1 -0
  667. package/dist/src/server/sessionMcpHandler.d.mts +50 -0
  668. package/dist/src/server/sessionMcpHandler.d.mts.map +1 -0
  669. package/dist/src/server/sessionMcpHandler.mjs +582 -0
  670. package/dist/src/server/sessionMcpHandler.mjs.map +1 -0
  671. package/dist/src/server/sessionMcpRoutes.cjs +809 -0
  672. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -0
  673. package/dist/src/server/sessionMcpRoutes.mjs +804 -0
  674. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -0
  675. package/dist/src/server/threadJournals.cjs +172 -0
  676. package/dist/src/server/threadJournals.cjs.map +1 -0
  677. package/dist/src/server/threadJournals.mjs +169 -0
  678. package/dist/src/server/threadJournals.mjs.map +1 -0
  679. package/dist/src/services/acpSessionUpdates/index.cjs +129 -0
  680. package/dist/src/services/acpSessionUpdates/index.cjs.map +1 -0
  681. package/dist/src/services/acpSessionUpdates/index.mjs +129 -0
  682. package/dist/src/services/acpSessionUpdates/index.mjs.map +1 -0
  683. package/dist/src/services/apiSurfaceAssert/index.cjs +60 -0
  684. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -0
  685. package/dist/src/services/apiSurfaceAssert/index.d.mts +24 -0
  686. package/dist/src/services/apiSurfaceAssert/index.d.mts.map +1 -0
  687. package/dist/src/services/apiSurfaceAssert/index.mjs +60 -0
  688. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -0
  689. package/dist/src/services/bundlePublication/index.cjs +89 -0
  690. package/dist/src/services/bundlePublication/index.cjs.map +1 -0
  691. package/dist/src/services/bundlePublication/index.mjs +86 -0
  692. package/dist/src/services/bundlePublication/index.mjs.map +1 -0
  693. package/dist/src/services/contextApiUrls/index.cjs +53 -0
  694. package/dist/src/services/contextApiUrls/index.cjs.map +1 -0
  695. package/dist/src/services/contextApiUrls/index.d.mts +8 -0
  696. package/dist/src/services/contextApiUrls/index.d.mts.map +1 -0
  697. package/dist/src/services/contextApiUrls/index.mjs +52 -0
  698. package/dist/src/services/contextApiUrls/index.mjs.map +1 -0
  699. package/dist/src/services/contextContributions/index.cjs +79 -0
  700. package/dist/src/services/contextContributions/index.cjs.map +1 -0
  701. package/dist/src/services/contextContributions/index.d.mts +6 -0
  702. package/dist/src/services/contextContributions/index.d.mts.map +1 -0
  703. package/dist/src/services/contextContributions/index.mjs +79 -0
  704. package/dist/src/services/contextContributions/index.mjs.map +1 -0
  705. package/dist/src/services/contextUsage/index.cjs +27 -0
  706. package/dist/src/services/contextUsage/index.cjs.map +1 -0
  707. package/dist/src/services/contextUsage/index.mjs +25 -0
  708. package/dist/src/services/contextUsage/index.mjs.map +1 -0
  709. package/dist/src/services/devProxyPolicy/index.cjs +168 -0
  710. package/dist/src/services/devProxyPolicy/index.cjs.map +1 -0
  711. package/dist/src/services/devProxyPolicy/index.mjs +165 -0
  712. package/dist/src/services/devProxyPolicy/index.mjs.map +1 -0
  713. package/dist/src/services/devProxyStore/index.cjs +107 -0
  714. package/dist/src/services/devProxyStore/index.cjs.map +1 -0
  715. package/dist/src/services/devProxyStore/index.mjs +104 -0
  716. package/dist/src/services/devProxyStore/index.mjs.map +1 -0
  717. package/dist/src/services/deviceAuth/index.cjs +146 -0
  718. package/dist/src/services/deviceAuth/index.cjs.map +1 -0
  719. package/dist/src/services/deviceAuth/index.d.mts +9 -0
  720. package/dist/src/services/deviceAuth/index.d.mts.map +1 -0
  721. package/dist/src/services/deviceAuth/index.mjs +146 -0
  722. package/dist/src/services/deviceAuth/index.mjs.map +1 -0
  723. package/dist/src/services/deviceSessions/index.cjs +147 -0
  724. package/dist/src/services/deviceSessions/index.cjs.map +1 -0
  725. package/dist/src/services/deviceSessions/index.d.mts +18 -0
  726. package/dist/src/services/deviceSessions/index.d.mts.map +1 -0
  727. package/dist/src/services/deviceSessions/index.mjs +141 -0
  728. package/dist/src/services/deviceSessions/index.mjs.map +1 -0
  729. package/dist/src/services/deviceTrust/index.cjs +294 -0
  730. package/dist/src/services/deviceTrust/index.cjs.map +1 -0
  731. package/dist/src/services/deviceTrust/index.mjs +282 -0
  732. package/dist/src/services/deviceTrust/index.mjs.map +1 -0
  733. package/dist/src/services/durableNavigation/index.cjs +46 -0
  734. package/dist/src/services/durableNavigation/index.cjs.map +1 -0
  735. package/dist/src/services/durableNavigation/index.mjs +45 -0
  736. package/dist/src/services/durableNavigation/index.mjs.map +1 -0
  737. package/dist/src/services/headlessClient/index.cjs +126 -0
  738. package/dist/src/services/headlessClient/index.cjs.map +1 -0
  739. package/dist/src/services/headlessClient/index.mjs +126 -0
  740. package/dist/src/services/headlessClient/index.mjs.map +1 -0
  741. package/dist/src/services/historyImport/index.cjs +8 -0
  742. package/dist/src/services/historyImport/index.cjs.map +1 -0
  743. package/dist/src/services/historyImport/index.d.mts +68 -0
  744. package/dist/src/services/historyImport/index.d.mts.map +1 -0
  745. package/dist/src/services/historyImport/index.mjs +8 -0
  746. package/dist/src/services/historyImport/index.mjs.map +1 -0
  747. package/dist/src/services/hubChannelHarness/index.cjs +50 -0
  748. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -0
  749. package/dist/src/services/hubChannelHarness/index.d.mts +17 -0
  750. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -0
  751. package/dist/src/services/hubChannelHarness/index.mjs +50 -0
  752. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -0
  753. package/dist/src/services/kernel/index.cjs +147 -0
  754. package/dist/src/services/kernel/index.cjs.map +1 -0
  755. package/dist/src/services/kernel/index.d.mts +9 -0
  756. package/dist/src/services/kernel/index.d.mts.map +1 -0
  757. package/dist/src/services/kernel/index.mjs +147 -0
  758. package/dist/src/services/kernel/index.mjs.map +1 -0
  759. package/dist/src/services/loginFlow/index.cjs +131 -0
  760. package/dist/src/services/loginFlow/index.cjs.map +1 -0
  761. package/dist/src/services/loginFlow/index.mjs +131 -0
  762. package/dist/src/services/loginFlow/index.mjs.map +1 -0
  763. package/dist/src/services/loopbackAddress/index.cjs +58 -0
  764. package/dist/src/services/loopbackAddress/index.cjs.map +1 -0
  765. package/dist/src/services/loopbackAddress/index.mjs +56 -0
  766. package/dist/src/services/loopbackAddress/index.mjs.map +1 -0
  767. package/dist/src/services/openSessionRegistry/index.cjs +134 -0
  768. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -0
  769. package/dist/src/services/openSessionRegistry/index.d.mts +36 -0
  770. package/dist/src/services/openSessionRegistry/index.d.mts.map +1 -0
  771. package/dist/src/services/openSessionRegistry/index.mjs +131 -0
  772. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -0
  773. package/dist/src/services/packageApiHarness/index.cjs +36 -0
  774. package/dist/src/services/packageApiHarness/index.cjs.map +1 -0
  775. package/dist/src/services/packageApiHarness/index.d.mts +40 -0
  776. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -0
  777. package/dist/src/services/packageApiHarness/index.mjs +36 -0
  778. package/dist/src/services/packageApiHarness/index.mjs.map +1 -0
  779. package/dist/src/services/packageResource/index.cjs +54 -0
  780. package/dist/src/services/packageResource/index.cjs.map +1 -0
  781. package/dist/src/services/packageResource/index.d.mts +26 -0
  782. package/dist/src/services/packageResource/index.d.mts.map +1 -0
  783. package/dist/src/services/packageResource/index.mjs +51 -0
  784. package/dist/src/services/packageResource/index.mjs.map +1 -0
  785. package/dist/src/services/pairingFlow/index.cjs +145 -0
  786. package/dist/src/services/pairingFlow/index.cjs.map +1 -0
  787. package/dist/src/services/pairingFlow/index.d.mts +44 -0
  788. package/dist/src/services/pairingFlow/index.d.mts.map +1 -0
  789. package/dist/src/services/pairingFlow/index.mjs +145 -0
  790. package/dist/src/services/pairingFlow/index.mjs.map +1 -0
  791. package/dist/src/services/pairingPage/index.cjs +450 -0
  792. package/dist/src/services/pairingPage/index.cjs.map +1 -0
  793. package/dist/src/services/pairingPage/index.mjs +447 -0
  794. package/dist/src/services/pairingPage/index.mjs.map +1 -0
  795. package/dist/src/services/piExtensionHost/index.cjs +889 -0
  796. package/dist/src/services/piExtensionHost/index.cjs.map +1 -0
  797. package/dist/src/services/piExtensionHost/index.mjs +885 -0
  798. package/dist/src/services/piExtensionHost/index.mjs.map +1 -0
  799. package/dist/src/services/piHelpTools/index.cjs +68 -0
  800. package/dist/src/services/piHelpTools/index.cjs.map +1 -0
  801. package/dist/src/services/piHelpTools/index.d.mts +10 -0
  802. package/dist/src/services/piHelpTools/index.d.mts.map +1 -0
  803. package/dist/src/services/piHelpTools/index.mjs +68 -0
  804. package/dist/src/services/piHelpTools/index.mjs.map +1 -0
  805. package/dist/src/services/piSessionEntries/index.cjs +121 -0
  806. package/dist/src/services/piSessionEntries/index.cjs.map +1 -0
  807. package/dist/src/services/piSessionEntries/index.mjs +117 -0
  808. package/dist/src/services/piSessionEntries/index.mjs.map +1 -0
  809. package/dist/src/services/pluginLifecycle/index.cjs +71 -0
  810. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -0
  811. package/dist/src/services/pluginLifecycle/index.d.mts +8 -0
  812. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -0
  813. package/dist/src/services/pluginLifecycle/index.mjs +71 -0
  814. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -0
  815. package/dist/src/services/providerAuth/index.cjs +156 -0
  816. package/dist/src/services/providerAuth/index.cjs.map +1 -0
  817. package/dist/src/services/providerAuth/index.mjs +154 -0
  818. package/dist/src/services/providerAuth/index.mjs.map +1 -0
  819. package/dist/src/services/publicFileShares/index.cjs +192 -0
  820. package/dist/src/services/publicFileShares/index.cjs.map +1 -0
  821. package/dist/src/services/publicFileShares/index.d.mts +16 -0
  822. package/dist/src/services/publicFileShares/index.d.mts.map +1 -0
  823. package/dist/src/services/publicFileShares/index.mjs +188 -0
  824. package/dist/src/services/publicFileShares/index.mjs.map +1 -0
  825. package/dist/src/services/remoteAccess/index.cjs +567 -0
  826. package/dist/src/services/remoteAccess/index.cjs.map +1 -0
  827. package/dist/src/services/remoteAccess/index.d.mts +121 -0
  828. package/dist/src/services/remoteAccess/index.d.mts.map +1 -0
  829. package/dist/src/services/remoteAccess/index.mjs +567 -0
  830. package/dist/src/services/remoteAccess/index.mjs.map +1 -0
  831. package/dist/src/services/remoteAccessSettings/index.cjs +151 -0
  832. package/dist/src/services/remoteAccessSettings/index.cjs.map +1 -0
  833. package/dist/src/services/remoteAccessSettings/index.mjs +149 -0
  834. package/dist/src/services/remoteAccessSettings/index.mjs.map +1 -0
  835. package/dist/src/services/remoteAccessStore/index.cjs +197 -0
  836. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -0
  837. package/dist/src/services/remoteAccessStore/index.mjs +192 -0
  838. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -0
  839. package/dist/src/services/remoteGuardPolicy/index.cjs +200 -0
  840. package/dist/src/services/remoteGuardPolicy/index.cjs.map +1 -0
  841. package/dist/src/services/remoteGuardPolicy/index.d.mts +7 -0
  842. package/dist/src/services/remoteGuardPolicy/index.d.mts.map +1 -0
  843. package/dist/src/services/remoteGuardPolicy/index.mjs +196 -0
  844. package/dist/src/services/remoteGuardPolicy/index.mjs.map +1 -0
  845. package/dist/src/services/requestReceipts/index.cjs +167 -0
  846. package/dist/src/services/requestReceipts/index.cjs.map +1 -0
  847. package/dist/src/services/requestReceipts/index.d.mts +11 -0
  848. package/dist/src/services/requestReceipts/index.d.mts.map +1 -0
  849. package/dist/src/services/requestReceipts/index.mjs +167 -0
  850. package/dist/src/services/requestReceipts/index.mjs.map +1 -0
  851. package/dist/src/services/rpcTranscript/index.cjs +633 -0
  852. package/dist/src/services/rpcTranscript/index.cjs.map +1 -0
  853. package/dist/src/services/rpcTranscript/index.d.mts +50 -0
  854. package/dist/src/services/rpcTranscript/index.d.mts.map +1 -0
  855. package/dist/src/services/rpcTranscript/index.mjs +632 -0
  856. package/dist/src/services/rpcTranscript/index.mjs.map +1 -0
  857. package/dist/src/services/serverFacet/index.cjs +197 -0
  858. package/dist/src/services/serverFacet/index.cjs.map +1 -0
  859. package/dist/src/services/serverFacet/index.d.mts +31 -0
  860. package/dist/src/services/serverFacet/index.d.mts.map +1 -0
  861. package/dist/src/services/serverFacet/index.mjs +197 -0
  862. package/dist/src/services/serverFacet/index.mjs.map +1 -0
  863. package/dist/src/services/sessionAttachments/index.cjs +111 -0
  864. package/dist/src/services/sessionAttachments/index.cjs.map +1 -0
  865. package/dist/src/services/sessionAttachments/index.d.mts +11 -0
  866. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -0
  867. package/dist/src/services/sessionAttachments/index.mjs +107 -0
  868. package/dist/src/services/sessionAttachments/index.mjs.map +1 -0
  869. package/dist/src/services/sessionGitStatus/index.cjs +46 -0
  870. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -0
  871. package/dist/src/services/sessionGitStatus/index.mjs +46 -0
  872. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -0
  873. package/dist/src/services/sessionGitStatus/type.d.mts +8 -0
  874. package/dist/src/services/sessionGitStatus/type.d.mts.map +1 -0
  875. package/dist/src/services/sessionMcpActivity/index.cjs +115 -0
  876. package/dist/src/services/sessionMcpActivity/index.cjs.map +1 -0
  877. package/dist/src/services/sessionMcpActivity/index.mjs +111 -0
  878. package/dist/src/services/sessionMcpActivity/index.mjs.map +1 -0
  879. package/dist/src/services/sessionMcpAuthorization/index.cjs +473 -0
  880. package/dist/src/services/sessionMcpAuthorization/index.cjs.map +1 -0
  881. package/dist/src/services/sessionMcpAuthorization/index.d.mts +125 -0
  882. package/dist/src/services/sessionMcpAuthorization/index.d.mts.map +1 -0
  883. package/dist/src/services/sessionMcpAuthorization/index.mjs +469 -0
  884. package/dist/src/services/sessionMcpAuthorization/index.mjs.map +1 -0
  885. package/dist/src/services/sessionMcpConversations/index.cjs +217 -0
  886. package/dist/src/services/sessionMcpConversations/index.cjs.map +1 -0
  887. package/dist/src/services/sessionMcpConversations/index.mjs +212 -0
  888. package/dist/src/services/sessionMcpConversations/index.mjs.map +1 -0
  889. package/dist/src/services/sessionMcpRegistrationStore/index.cjs +86 -0
  890. package/dist/src/services/sessionMcpRegistrationStore/index.cjs.map +1 -0
  891. package/dist/src/services/sessionMcpRegistrationStore/index.mjs +83 -0
  892. package/dist/src/services/sessionMcpRegistrationStore/index.mjs.map +1 -0
  893. package/dist/src/services/sessionPresentation/index.cjs +120 -0
  894. package/dist/src/services/sessionPresentation/index.cjs.map +1 -0
  895. package/dist/src/services/sessionPresentation/index.mjs +120 -0
  896. package/dist/src/services/sessionPresentation/index.mjs.map +1 -0
  897. package/dist/src/services/sqliteSessionHistory/index.cjs +97 -0
  898. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -0
  899. package/dist/src/services/sqliteSessionHistory/index.d.mts +28 -0
  900. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -0
  901. package/dist/src/services/sqliteSessionHistory/index.mjs +92 -0
  902. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -0
  903. package/dist/src/services/sqliteTranscriptReader/index.cjs +67 -0
  904. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -0
  905. package/dist/src/services/sqliteTranscriptReader/index.d.mts +14 -0
  906. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -0
  907. package/dist/src/services/sqliteTranscriptReader/index.mjs +65 -0
  908. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -0
  909. package/dist/src/services/toolCost/index.cjs +47 -0
  910. package/dist/src/services/toolCost/index.cjs.map +1 -0
  911. package/dist/src/services/toolCost/index.d.mts +38 -0
  912. package/dist/src/services/toolCost/index.d.mts.map +1 -0
  913. package/dist/src/services/toolCost/index.mjs +46 -0
  914. package/dist/src/services/toolCost/index.mjs.map +1 -0
  915. package/dist/src/services/toolOverrides/index.cjs +45 -0
  916. package/dist/src/services/toolOverrides/index.cjs.map +1 -0
  917. package/dist/src/services/toolOverrides/index.d.mts +6 -0
  918. package/dist/src/services/toolOverrides/index.d.mts.map +1 -0
  919. package/dist/src/services/toolOverrides/index.mjs +45 -0
  920. package/dist/src/services/toolOverrides/index.mjs.map +1 -0
  921. package/dist/src/services/toolPrompt/index.cjs +13 -0
  922. package/dist/src/services/toolPrompt/index.cjs.map +1 -0
  923. package/dist/src/services/toolPrompt/index.mjs +13 -0
  924. package/dist/src/services/toolPrompt/index.mjs.map +1 -0
  925. package/dist/src/services/toolSurface/index.cjs +134 -0
  926. package/dist/src/services/toolSurface/index.cjs.map +1 -0
  927. package/dist/src/services/toolSurface/index.d.mts +19 -0
  928. package/dist/src/services/toolSurface/index.d.mts.map +1 -0
  929. package/dist/src/services/toolSurface/index.mjs +134 -0
  930. package/dist/src/services/toolSurface/index.mjs.map +1 -0
  931. package/dist/src/services/traceContext/index.cjs +13 -0
  932. package/dist/src/services/traceContext/index.cjs.map +1 -0
  933. package/dist/src/services/traceContext/index.mjs +13 -0
  934. package/dist/src/services/traceContext/index.mjs.map +1 -0
  935. package/dist/src/services/transcriptPages/index.cjs +117 -0
  936. package/dist/src/services/transcriptPages/index.cjs.map +1 -0
  937. package/dist/src/services/transcriptPages/index.mjs +115 -0
  938. package/dist/src/services/transcriptPages/index.mjs.map +1 -0
  939. package/dist/src/services/tunnelOutput/index.cjs +58 -0
  940. package/dist/src/services/tunnelOutput/index.cjs.map +1 -0
  941. package/dist/src/services/tunnelOutput/index.mjs +54 -0
  942. package/dist/src/services/tunnelOutput/index.mjs.map +1 -0
  943. package/dist/src/services/tunnelProcess/index.cjs +487 -0
  944. package/dist/src/services/tunnelProcess/index.cjs.map +1 -0
  945. package/dist/src/services/tunnelProcess/index.mjs +481 -0
  946. package/dist/src/services/tunnelProcess/index.mjs.map +1 -0
  947. package/dist/src/services/voiceReloadHandoff/index.cjs +136 -0
  948. package/dist/src/services/voiceReloadHandoff/index.cjs.map +1 -0
  949. package/dist/src/services/voiceReloadHandoff/index.d.mts +34 -0
  950. package/dist/src/services/voiceReloadHandoff/index.d.mts.map +1 -0
  951. package/dist/src/services/voiceReloadHandoff/index.mjs +135 -0
  952. package/dist/src/services/voiceReloadHandoff/index.mjs.map +1 -0
  953. package/dist/src/services/voiceToolsContract/index.cjs +26 -0
  954. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -0
  955. package/dist/src/services/voiceToolsContract/index.d.mts +76 -0
  956. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -0
  957. package/dist/src/services/voiceToolsContract/index.mjs +24 -0
  958. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -0
  959. package/dist/src/services/webauthn/index.cjs +262 -0
  960. package/dist/src/services/webauthn/index.cjs.map +1 -0
  961. package/dist/src/services/webauthn/index.d.mts +39 -0
  962. package/dist/src/services/webauthn/index.d.mts.map +1 -0
  963. package/dist/src/services/webauthn/index.mjs +262 -0
  964. package/dist/src/services/webauthn/index.mjs.map +1 -0
  965. package/dist/src/services/webauthnPolicy/index.cjs +174 -0
  966. package/dist/src/services/webauthnPolicy/index.cjs.map +1 -0
  967. package/dist/src/services/webauthnPolicy/index.d.mts +41 -0
  968. package/dist/src/services/webauthnPolicy/index.d.mts.map +1 -0
  969. package/dist/src/services/webauthnPolicy/index.mjs +167 -0
  970. package/dist/src/services/webauthnPolicy/index.mjs.map +1 -0
  971. package/dist/src/services/workspaceRegistry/index.cjs +187 -0
  972. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -0
  973. package/dist/src/services/workspaceRegistry/index.d.mts +47 -0
  974. package/dist/src/services/workspaceRegistry/index.d.mts.map +1 -0
  975. package/dist/src/services/workspaceRegistry/index.mjs +179 -0
  976. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -0
  977. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +466 -0
  978. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -0
  979. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +36 -0
  980. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -0
  981. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +457 -0
  982. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -0
  983. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +28 -0
  984. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +1 -0
  985. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +25 -0
  986. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +1 -0
  987. package/dist/src/systems/child/services/childSession/index.cjs +219 -0
  988. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -0
  989. package/dist/src/systems/child/services/childSession/index.d.mts +14 -0
  990. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -0
  991. package/dist/src/systems/child/services/childSession/index.mjs +219 -0
  992. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -0
  993. package/dist/src/systems/child/types/childSession.cjs +21 -0
  994. package/dist/src/systems/child/types/childSession.cjs.map +1 -0
  995. package/dist/src/systems/child/types/childSession.d.mts +182 -0
  996. package/dist/src/systems/child/types/childSession.d.mts.map +1 -0
  997. package/dist/src/systems/child/types/childSession.mjs +17 -0
  998. package/dist/src/systems/child/types/childSession.mjs.map +1 -0
  999. package/dist/src/systems/main/adapters/headlessHost.cjs +597 -0
  1000. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -0
  1001. package/dist/src/systems/main/adapters/headlessHost.d.mts +116 -0
  1002. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -0
  1003. package/dist/src/systems/main/adapters/headlessHost.mjs +595 -0
  1004. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -0
  1005. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +1668 -0
  1006. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -0
  1007. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +20 -0
  1008. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -0
  1009. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +1663 -0
  1010. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -0
  1011. package/dist/src/systems/main/types/headlessHost.d.mts +37 -0
  1012. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -0
  1013. package/dist/src/testing/pi/extensionScenarios.cjs +73 -0
  1014. package/dist/src/testing/pi/extensionScenarios.cjs.map +1 -0
  1015. package/dist/src/testing/pi/extensionScenarios.d.mts +41 -0
  1016. package/dist/src/testing/pi/extensionScenarios.d.mts.map +1 -0
  1017. package/dist/src/testing/pi/extensionScenarios.mjs +73 -0
  1018. package/dist/src/testing/pi/extensionScenarios.mjs.map +1 -0
  1019. package/dist/src/testing/pi/testHost.cjs +399 -0
  1020. package/dist/src/testing/pi/testHost.cjs.map +1 -0
  1021. package/dist/src/testing/pi/testHost.d.mts +160 -0
  1022. package/dist/src/testing/pi/testHost.d.mts.map +1 -0
  1023. package/dist/src/testing/pi/testHost.mjs +399 -0
  1024. package/dist/src/testing/pi/testHost.mjs.map +1 -0
  1025. package/dist/src/types/config.d.mts +20 -0
  1026. package/dist/src/types/config.d.mts.map +1 -0
  1027. package/dist/src/types/kernel.d.mts +69 -0
  1028. package/dist/src/types/kernel.d.mts.map +1 -0
  1029. package/dist/src/types/remote.d.mts +152 -0
  1030. package/dist/src/types/remote.d.mts.map +1 -0
  1031. package/dist/src/types/server/directHarnessRuntime.d.mts +526 -0
  1032. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -0
  1033. package/dist/src/types/server/session.d.mts +5 -0
  1034. package/dist/src/types/server/session.d.mts.map +1 -0
  1035. package/dist/src/types/server/sessionToolSurface.d.mts +44 -0
  1036. package/dist/src/types/server/sessionToolSurface.d.mts.map +1 -0
  1037. package/dist/src/web/models/globalStore.cjs +23 -0
  1038. package/dist/src/web/models/globalStore.cjs.map +1 -0
  1039. package/dist/src/web/models/globalStore.d.mts +6 -0
  1040. package/dist/src/web/models/globalStore.d.mts.map +1 -0
  1041. package/dist/src/web/models/globalStore.mjs +23 -0
  1042. package/dist/src/web/models/globalStore.mjs.map +1 -0
  1043. package/dist/src/web/models/sessionStore.cjs +56 -0
  1044. package/dist/src/web/models/sessionStore.cjs.map +1 -0
  1045. package/dist/src/web/models/sessionStore.d.mts +14 -0
  1046. package/dist/src/web/models/sessionStore.d.mts.map +1 -0
  1047. package/dist/src/web/models/sessionStore.mjs +56 -0
  1048. package/dist/src/web/models/sessionStore.mjs.map +1 -0
  1049. package/dist/src/web/models/workspaceStore.cjs +50 -0
  1050. package/dist/src/web/models/workspaceStore.cjs.map +1 -0
  1051. package/dist/src/web/models/workspaceStore.d.mts +18 -0
  1052. package/dist/src/web/models/workspaceStore.d.mts.map +1 -0
  1053. package/dist/src/web/models/workspaceStore.mjs +50 -0
  1054. package/dist/src/web/models/workspaceStore.mjs.map +1 -0
  1055. package/dist/src/web/schemas/bundleAssetPolicy.cjs +20 -0
  1056. package/dist/src/web/schemas/bundleAssetPolicy.cjs.map +1 -0
  1057. package/dist/src/web/schemas/bundleAssetPolicy.d.mts +10 -0
  1058. package/dist/src/web/schemas/bundleAssetPolicy.d.mts.map +1 -0
  1059. package/dist/src/web/schemas/bundleAssetPolicy.mjs +18 -0
  1060. package/dist/src/web/schemas/bundleAssetPolicy.mjs.map +1 -0
  1061. package/dist/src/web/schemas/template.cjs +35 -0
  1062. package/dist/src/web/schemas/template.cjs.map +1 -0
  1063. package/dist/src/web/schemas/template.d.mts +9 -0
  1064. package/dist/src/web/schemas/template.d.mts.map +1 -0
  1065. package/dist/src/web/schemas/template.mjs +34 -0
  1066. package/dist/src/web/schemas/template.mjs.map +1 -0
  1067. package/dist/src/web/services/apiClient/index.cjs +156 -0
  1068. package/dist/src/web/services/apiClient/index.cjs.map +1 -0
  1069. package/dist/src/web/services/apiClient/index.d.mts +152 -0
  1070. package/dist/src/web/services/apiClient/index.d.mts.map +1 -0
  1071. package/dist/src/web/services/apiClient/index.mjs +154 -0
  1072. package/dist/src/web/services/apiClient/index.mjs.map +1 -0
  1073. package/dist/src/web/services/apiPaths/index.cjs +83 -0
  1074. package/dist/src/web/services/apiPaths/index.cjs.map +1 -0
  1075. package/dist/src/web/services/apiPaths/index.d.mts +81 -0
  1076. package/dist/src/web/services/apiPaths/index.d.mts.map +1 -0
  1077. package/dist/src/web/services/apiPaths/index.mjs +78 -0
  1078. package/dist/src/web/services/apiPaths/index.mjs.map +1 -0
  1079. package/dist/src/web/services/apiRoutes/index.cjs +47 -0
  1080. package/dist/src/web/services/apiRoutes/index.cjs.map +1 -0
  1081. package/dist/src/web/services/apiRoutes/index.d.mts +21 -0
  1082. package/dist/src/web/services/apiRoutes/index.d.mts.map +1 -0
  1083. package/dist/src/web/services/apiRoutes/index.mjs +43 -0
  1084. package/dist/src/web/services/apiRoutes/index.mjs.map +1 -0
  1085. package/dist/src/web/services/mcpWidget.cjs +9 -0
  1086. package/dist/src/web/services/mcpWidget.cjs.map +1 -0
  1087. package/dist/src/web/services/mcpWidget.d.mts +6 -0
  1088. package/dist/src/web/services/mcpWidget.d.mts.map +1 -0
  1089. package/dist/src/web/services/mcpWidget.mjs +9 -0
  1090. package/dist/src/web/services/mcpWidget.mjs.map +1 -0
  1091. package/dist/src/web/services/sessionRegistry/index.cjs +70 -0
  1092. package/dist/src/web/services/sessionRegistry/index.cjs.map +1 -0
  1093. package/dist/src/web/services/sessionRegistry/index.d.mts +29 -0
  1094. package/dist/src/web/services/sessionRegistry/index.d.mts.map +1 -0
  1095. package/dist/src/web/services/sessionRegistry/index.mjs +66 -0
  1096. package/dist/src/web/services/sessionRegistry/index.mjs.map +1 -0
  1097. package/dist/src/web/services/testing/channels.cjs +11 -0
  1098. package/dist/src/web/services/testing/channels.cjs.map +1 -0
  1099. package/dist/src/web/services/testing/channels.d.mts +8 -0
  1100. package/dist/src/web/services/testing/channels.d.mts.map +1 -0
  1101. package/dist/src/web/services/testing/channels.mjs +11 -0
  1102. package/dist/src/web/services/testing/channels.mjs.map +1 -0
  1103. package/dist/src/web/services/testing/index.cjs +27 -0
  1104. package/dist/src/web/services/testing/index.cjs.map +1 -0
  1105. package/dist/src/web/services/testing/index.d.mts +31 -0
  1106. package/dist/src/web/services/testing/index.d.mts.map +1 -0
  1107. package/dist/src/web/services/testing/index.mjs +27 -0
  1108. package/dist/src/web/services/testing/index.mjs.map +1 -0
  1109. package/dist/src/web/services/testing/rpcStub.cjs +58 -0
  1110. package/dist/src/web/services/testing/rpcStub.cjs.map +1 -0
  1111. package/dist/src/web/services/testing/rpcStub.d.mts +37 -0
  1112. package/dist/src/web/services/testing/rpcStub.d.mts.map +1 -0
  1113. package/dist/src/web/services/testing/rpcStub.mjs +58 -0
  1114. package/dist/src/web/services/testing/rpcStub.mjs.map +1 -0
  1115. package/dist/src/web/services/testing/slotProps.cjs +97 -0
  1116. package/dist/src/web/services/testing/slotProps.cjs.map +1 -0
  1117. package/dist/src/web/services/testing/slotProps.d.mts +69 -0
  1118. package/dist/src/web/services/testing/slotProps.d.mts.map +1 -0
  1119. package/dist/src/web/services/testing/slotProps.mjs +96 -0
  1120. package/dist/src/web/services/testing/slotProps.mjs.map +1 -0
  1121. package/dist/src/web/services/testing/templateRail.cjs +156 -0
  1122. package/dist/src/web/services/testing/templateRail.cjs.map +1 -0
  1123. package/dist/src/web/services/testing/templateRail.d.mts +32 -0
  1124. package/dist/src/web/services/testing/templateRail.d.mts.map +1 -0
  1125. package/dist/src/web/services/testing/templateRail.mjs +154 -0
  1126. package/dist/src/web/services/testing/templateRail.mjs.map +1 -0
  1127. package/dist/src/web/services/toolResult/index.cjs +30 -0
  1128. package/dist/src/web/services/toolResult/index.cjs.map +1 -0
  1129. package/dist/src/web/services/toolResult/index.d.mts +14 -0
  1130. package/dist/src/web/services/toolResult/index.d.mts.map +1 -0
  1131. package/dist/src/web/services/toolResult/index.mjs +29 -0
  1132. package/dist/src/web/services/toolResult/index.mjs.map +1 -0
  1133. package/dist/src/web/types/extensionFile.d.mts +62 -0
  1134. package/dist/src/web/types/extensionFile.d.mts.map +1 -0
  1135. package/dist/src/web/types/mcpWidget.d.mts +14 -0
  1136. package/dist/src/web/types/mcpWidget.d.mts.map +1 -0
  1137. package/dist/src/web/types/modelContext.d.mts +43 -0
  1138. package/dist/src/web/types/modelContext.d.mts.map +1 -0
  1139. package/dist/src/web/types/nativeTemplate.d.mts +29 -0
  1140. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -0
  1141. package/dist/src/web/types/sessionRegistry.d.mts +46 -0
  1142. package/dist/src/web/types/sessionRegistry.d.mts.map +1 -0
  1143. package/dist/src/web/types/template.d.mts +135 -0
  1144. package/dist/src/web/types/template.d.mts.map +1 -0
  1145. package/dist/src/web/types/webPlugin.d.mts +915 -0
  1146. package/dist/src/web/types/webPlugin.d.mts.map +1 -0
  1147. package/dist/terminalPiChildSessionService.cjs +324 -0
  1148. package/dist/terminalPiChildSessionService.cjs.map +1 -0
  1149. package/dist/terminalPiChildSessionService.d.mts +46 -0
  1150. package/dist/terminalPiChildSessionService.d.mts.map +1 -0
  1151. package/dist/terminalPiChildSessionService.mjs +318 -0
  1152. package/dist/terminalPiChildSessionService.mjs.map +1 -0
  1153. package/dist/testing.cjs +11 -0
  1154. package/dist/testing.d.mts +6 -0
  1155. package/dist/testing.mjs +6 -0
  1156. package/dist/toolInventory.cjs +136 -0
  1157. package/dist/toolInventory.cjs.map +1 -0
  1158. package/dist/toolInventory.d.mts +66 -0
  1159. package/dist/toolInventory.d.mts.map +1 -0
  1160. package/dist/toolInventory.mjs +133 -0
  1161. package/dist/toolInventory.mjs.map +1 -0
  1162. package/dist/toolNames.cjs +4 -0
  1163. package/dist/toolNames.d.mts +2 -0
  1164. package/dist/toolNames.mjs +2 -0
  1165. package/dist/toolOverrides.cjs +7 -0
  1166. package/dist/toolOverrides.d.mts +3 -0
  1167. package/dist/toolOverrides.mjs +3 -0
  1168. package/dist/toolSurface.cjs +7 -0
  1169. package/dist/toolSurface.d.mts +3 -0
  1170. package/dist/toolSurface.mjs +3 -0
  1171. package/dist/transition.cjs +5 -0
  1172. package/dist/transition.d.cjs +5 -0
  1173. package/dist/transition.d.mts +2 -0
  1174. package/dist/transition.mjs +2 -0
  1175. package/dist/transitionClassifier.cjs +112 -0
  1176. package/dist/transitionClassifier.cjs.map +1 -0
  1177. package/dist/transitionClassifier.d.mts +18 -0
  1178. package/dist/transitionClassifier.d.mts.map +1 -0
  1179. package/dist/transitionClassifier.mjs +111 -0
  1180. package/dist/transitionClassifier.mjs.map +1 -0
  1181. package/dist/transitionCoordinator.cjs +131 -0
  1182. package/dist/transitionCoordinator.cjs.map +1 -0
  1183. package/dist/transitionCoordinator.d.mts +16 -0
  1184. package/dist/transitionCoordinator.d.mts.map +1 -0
  1185. package/dist/transitionCoordinator.mjs +130 -0
  1186. package/dist/transitionCoordinator.mjs.map +1 -0
  1187. package/dist/typesContextApi.cjs +0 -0
  1188. package/dist/typesContextApi.d.mts +79 -0
  1189. package/dist/typesContextApi.d.mts.map +1 -0
  1190. package/dist/typesContextApi.mjs +1 -0
  1191. package/dist/uiHub.cjs +5 -0
  1192. package/dist/uiHub.d.mts +2 -0
  1193. package/dist/uiHub.mjs +2 -0
  1194. package/dist/v3Export.cjs +10 -0
  1195. package/dist/v3Export.cjs.map +1 -0
  1196. package/dist/v3Export.d.mts +35 -0
  1197. package/dist/v3Export.d.mts.map +1 -0
  1198. package/dist/v3Export.mjs +9 -0
  1199. package/dist/v3Export.mjs.map +1 -0
  1200. package/dist/voiceReloadHandoff.cjs +14 -0
  1201. package/dist/voiceReloadHandoff.d.mts +4 -0
  1202. package/dist/voiceReloadHandoff.mjs +4 -0
  1203. package/dist/voiceTools.cjs +56 -0
  1204. package/dist/voiceTools.d.mts +4 -0
  1205. package/dist/voiceTools.mjs +4 -0
  1206. package/dist/web.cjs +65 -0
  1207. package/dist/web.d.mts +20 -0
  1208. package/dist/web.mjs +13 -0
  1209. package/dist/webCompositions.cjs +181 -0
  1210. package/dist/webCompositions.cjs.map +1 -0
  1211. package/dist/webCompositions.d.mts +79 -0
  1212. package/dist/webCompositions.d.mts.map +1 -0
  1213. package/dist/webCompositions.mjs +174 -0
  1214. package/dist/webCompositions.mjs.map +1 -0
  1215. package/dist/webTesting.cjs +14 -0
  1216. package/dist/webTesting.d.mts +6 -0
  1217. package/dist/webTesting.mjs +6 -0
  1218. package/package.json +586 -0
@@ -0,0 +1,76 @@
1
+ //#region src/schemas/packageApi.ts
2
+ const DOOM_API_SCOPES = [
3
+ "global",
4
+ "workspace",
5
+ "session"
6
+ ];
7
+ /** Canonical public prefix. Scope selection never falls through to a parent. */
8
+ function doomApiMountPath(mount) {
9
+ if (mount.scope === "global") return "/api/plugins";
10
+ if (mount.scope === "workspace") return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/plugins`;
11
+ if (!mount.workspaceId) throw new Error("A session API path requires its workspace identity.");
12
+ return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/sessions/${encodeURIComponent(mount.sessionId)}/plugins`;
13
+ }
14
+ /** Only canonical resource paths may select a protocol listener. */
15
+ function parseDoomSocketPath(pathname) {
16
+ if (pathname === "/api/ws") return { scope: "global" };
17
+ const match = /^\/api\/workspaces\/([^/]+)(?:\/sessions\/([^/]+))?\/ws$/u.exec(pathname);
18
+ if (!match) return void 0;
19
+ try {
20
+ const workspaceId = decodeURIComponent(match[1]);
21
+ return match[2] === void 0 ? {
22
+ scope: "workspace",
23
+ workspaceId
24
+ } : {
25
+ scope: "session",
26
+ workspaceId,
27
+ sessionId: decodeURIComponent(match[2])
28
+ };
29
+ } catch {
30
+ return;
31
+ }
32
+ }
33
+ /** The segment an API is mounted under, below this prefix. */
34
+ const DOOM_API_ROUTE_PREFIX = "/api/plugins";
35
+ /** Selects the hub API bundle that owns the named cockpit session. */
36
+ const DOOM_HUB_API_SESSION_QUERY_PARAM = "hubSession";
37
+ /** Trusted caller headers written only by the cockpit-to-session proxy. */
38
+ const DOOM_API_CALLER_LOCALITY_HEADER = "x-po-api-caller-locality";
39
+ const DOOM_API_CALLER_DEVICE_ID_HEADER = "x-po-api-caller-device-id";
40
+ const DOOM_API_CALLER_STEP_UP_HEADER = "x-po-api-caller-step-up";
41
+ const DOOM_API_CALLER_HEADERS = [
42
+ DOOM_API_CALLER_LOCALITY_HEADER,
43
+ DOOM_API_CALLER_DEVICE_ID_HEADER,
44
+ DOOM_API_CALLER_STEP_UP_HEADER
45
+ ];
46
+ /** Reads the proxy-authenticated caller identity, rejecting partial or contradictory stamps. */
47
+ function doomApiCallerFrom(headers) {
48
+ const locality = headers.get(DOOM_API_CALLER_LOCALITY_HEADER);
49
+ const deviceId = headers.get(DOOM_API_CALLER_DEVICE_ID_HEADER);
50
+ const stepUp = headers.get(DOOM_API_CALLER_STEP_UP_HEADER);
51
+ if (locality === "local") return deviceId === null && stepUp === "not-required" ? {
52
+ locality,
53
+ stepUp
54
+ } : void 0;
55
+ if (locality === "remote" && deviceId !== null && deviceId !== "" && (stepUp === "not-required" || stepUp === "verified" || stepUp === "unavailable")) return {
56
+ locality,
57
+ deviceId,
58
+ stepUp
59
+ };
60
+ }
61
+ /** Why shareFile rejects while the host has no public tunnel origin. */
62
+ const DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE = "Remote access is off, so Po cannot share files with remote MCP servers. Turn it on and retry.";
63
+ //#endregion
64
+ exports.DOOM_API_CALLER_DEVICE_ID_HEADER = DOOM_API_CALLER_DEVICE_ID_HEADER;
65
+ exports.DOOM_API_CALLER_HEADERS = DOOM_API_CALLER_HEADERS;
66
+ exports.DOOM_API_CALLER_LOCALITY_HEADER = DOOM_API_CALLER_LOCALITY_HEADER;
67
+ exports.DOOM_API_CALLER_STEP_UP_HEADER = DOOM_API_CALLER_STEP_UP_HEADER;
68
+ exports.DOOM_API_ROUTE_PREFIX = DOOM_API_ROUTE_PREFIX;
69
+ exports.DOOM_API_SCOPES = DOOM_API_SCOPES;
70
+ exports.DOOM_HUB_API_SESSION_QUERY_PARAM = DOOM_HUB_API_SESSION_QUERY_PARAM;
71
+ exports.DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE = DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE;
72
+ exports.doomApiCallerFrom = doomApiCallerFrom;
73
+ exports.doomApiMountPath = doomApiMountPath;
74
+ exports.parseDoomSocketPath = parseDoomSocketPath;
75
+
76
+ //# sourceMappingURL=packageApi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageApi.cjs","names":[],"sources":["../../../src/schemas/packageApi.ts"],"sourcesContent":["/**\n * The HTTP surface a package offers its host.\n *\n * A server facet registers one with its host. The host mounts it under the API\n * route prefix, and the package writes routes relative to that mount.\n *\n * The handler is a plain fetch callback so no host and no package is committed\n * to one HTTP framework; a Hono app satisfies it through `app.fetch`.\n */\n\nimport type {\n DoomComputerUseSessionAccess,\n DoomDirectEventBus,\n DoomHubSessionService,\n DoomSessionCommunicationEndpoint,\n DoomSessionActivity,\n DoomSessionContext,\n} from './hubChannel';\nimport type { DoomMcpProjection } from './mcpProjection';\n/** The host-owned sync view a repository-scoped package API may inspect. */\nexport interface DoomRepositorySyncView {\n fresh: boolean;\n reasons: string[];\n /** True while a background sync that may prepare what `reasons` names is running. */\n syncing?: boolean;\n mcpProjection?: DoomMcpProjection;\n}\n\n/** Where an API runs: inside one session's server, or in the machine-wide hub. */\nexport type DoomApiScope = 'global' | 'workspace' | 'session';\n\nexport const DOOM_API_SCOPES: readonly DoomApiScope[] = ['global', 'workspace', 'session'];\n\n/** Identity of an independently mounted plugin host. */\nexport type DoomApiMount =\n | { scope: 'global' }\n | { scope: 'workspace'; workspaceId: string }\n | { scope: 'session'; sessionId: string };\n\n/** Immutable browser contribution generation paired with a server mount. */\nexport interface DoomWebComposition {\n id: string;\n scope: DoomApiScope;\n revision: number;\n manifestUrl: string;\n rawAssetBaseUrl: string;\n verifiedAssetBaseUrl: string;\n /** `[slot, entry]` for each of this mount's plugin copies, the entry an absolute path below the asset prefixes. */\n pluginEntries: [string, string][];\n /** Every signed file this mount's slots can load, absolute below the asset prefixes. */\n assetPaths: string[];\n /** Per-plugin stylesheets of this mount's plugins only, so other mounts' classes never apply here. */\n stylePaths: string[];\n channels: string[];\n /** The slots resolved for this mount; the shared build may hold more. */\n plugins: string[];\n}\n\n/**\n * Immutable native contribution generation paired with a server mount. One signed CommonJS module at\n * `entryPath`, served through the same immutable plugin routes as web compositions.\n */\nexport interface DoomNativeComposition {\n id: string;\n scope: DoomApiScope;\n revision: number;\n manifestUrl: string;\n rawAssetBaseUrl: string;\n /** Always `/composition.js`. */\n entryPath: string;\n channels: string[];\n /** The `poNative.pluginId` values resolved for this mount; the shell installs only these. */\n plugins: string[];\n}\n\n/** Canonical public prefix. Scope selection never falls through to a parent. */\nexport function doomApiMountPath(mount: DoomApiMount & { workspaceId?: string }): string {\n if (mount.scope === 'global') return '/api/plugins';\n if (mount.scope === 'workspace') return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/plugins`;\n if (!mount.workspaceId) throw new Error('A session API path requires its workspace identity.');\n return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/sessions/${encodeURIComponent(mount.sessionId)}/plugins`;\n}\n\n/** Scope addressed by a public WebSocket upgrade. */\nexport type DoomSocketMount =\n | { scope: 'global' }\n | { scope: 'workspace'; workspaceId: string }\n | { scope: 'session'; workspaceId: string; sessionId: string };\n\n/** Only canonical resource paths may select a protocol listener. */\nexport function parseDoomSocketPath(pathname: string): DoomSocketMount | undefined {\n if (pathname === '/api/ws') return { scope: 'global' };\n const match = /^\\/api\\/workspaces\\/([^/]+)(?:\\/sessions\\/([^/]+))?\\/ws$/u.exec(pathname);\n if (!match) return undefined;\n try {\n const workspaceId = decodeURIComponent(match[1]);\n return match[2] === undefined\n ? { scope: 'workspace', workspaceId }\n : { scope: 'session', workspaceId, sessionId: decodeURIComponent(match[2]) };\n } catch {\n return undefined;\n }\n}\n\n/** The segment an API is mounted under, below this prefix. */\nexport const DOOM_API_ROUTE_PREFIX = '/api/plugins';\n/** Selects the hub API bundle that owns the named cockpit session. */\nexport const DOOM_HUB_API_SESSION_QUERY_PARAM = 'hubSession';\n\n/** Trusted caller headers written only by the cockpit-to-session proxy. */\nexport const DOOM_API_CALLER_LOCALITY_HEADER = 'x-po-api-caller-locality';\nexport const DOOM_API_CALLER_DEVICE_ID_HEADER = 'x-po-api-caller-device-id';\nexport const DOOM_API_CALLER_STEP_UP_HEADER = 'x-po-api-caller-step-up';\nexport const DOOM_API_CALLER_HEADERS = [\n DOOM_API_CALLER_LOCALITY_HEADER,\n DOOM_API_CALLER_DEVICE_ID_HEADER,\n DOOM_API_CALLER_STEP_UP_HEADER,\n] as const;\n\nexport type DoomApiCallerStepUp = 'not-required' | 'verified' | 'unavailable';\nexport type DoomApiCaller =\n | { locality: 'local'; stepUp: 'not-required' }\n | { locality: 'remote'; deviceId: string; stepUp: DoomApiCallerStepUp };\n\n/** Reads the proxy-authenticated caller identity, rejecting partial or contradictory stamps. */\nexport function doomApiCallerFrom(headers: Headers): DoomApiCaller | undefined {\n const locality = headers.get(DOOM_API_CALLER_LOCALITY_HEADER);\n const deviceId = headers.get(DOOM_API_CALLER_DEVICE_ID_HEADER);\n const stepUp = headers.get(DOOM_API_CALLER_STEP_UP_HEADER);\n if (locality === 'local') {\n return deviceId === null && stepUp === 'not-required' ? { locality, stepUp } : undefined;\n }\n if (\n locality === 'remote' &&\n deviceId !== null &&\n deviceId !== '' &&\n (stepUp === 'not-required' || stepUp === 'verified' || stepUp === 'unavailable')\n ) {\n return { locality, deviceId, stepUp };\n }\n return undefined;\n}\n/**\n * A browser-reachable OAuth redirect the host serves on its own listener.\n *\n * A package brokering third-party OAuth cannot use a loopback redirect when the\n * operator's browser is on another machine: `127.0.0.1` resolves to whichever\n * machine the browser runs on. The host owns a listener that is reachable from\n * wherever the cockpit is being used, so it lends that instead of the package\n * opening a port of its own.\n */\nexport interface DoomOAuthRedirect {\n /** Absolute URL to register as the redirect target, already origin-correct. */\n readonly redirectUri: string;\n /**\n * Accept redirects carrying this state. Must complete before the\n * authorization URL is surfaced, or the redirect races its own reservation.\n */\n reserve(state: string, timeoutMs?: number): Promise<void>;\n /** Resolves once the redirect carrying this state arrives. */\n wait(state: string, timeoutMs?: number): Promise<{ code: string; state: string }>;\n /** Drops a reservation whose flow ended without a redirect. */\n cancel(state: string): void;\n}\n\n/** An exact, host-owned receipt address. Provider IDs are not event cursor positions. */\nexport interface DoomRequestReceiptKey {\n namespace: string;\n activationId: string;\n requestId: string;\n}\n\nexport interface DoomRequestReceipt extends DoomRequestReceiptKey {\n fingerprint: string;\n destination: string;\n transactionId: string;\n outcome: 'reserved' | 'admitted' | 'rejected' | 'uncertain';\n}\n\nexport interface DoomRequestReceiptReservation extends DoomRequestReceiptKey {\n /** Lowercase SHA-256 of the authoritative request text, never the full transcript. */\n fingerprint: string;\n destination: string;\n transactionId: string;\n}\n\nexport type DoomRequestReceiptReserveResult =\n | { kind: 'reserved'; token: string }\n | { kind: 'existing'; receipt: DoomRequestReceipt }\n | { kind: 'conflict'; receipt: DoomRequestReceipt };\n\n/** A global-only receipt capability. A reservation is not an execution receipt. */\nexport interface DoomRequestReceipts {\n reserve(request: DoomRequestReceiptReservation): Promise<DoomRequestReceiptReserveResult>;\n lookup(key: DoomRequestReceiptKey): Promise<DoomRequestReceipt | undefined>;\n finish(\n request: DoomRequestReceiptKey & { token: string; outcome: 'admitted' | 'rejected' | 'uncertain' },\n ): Promise<DoomRequestReceipt>;\n}\n\n/** Permit returned for expensive local work. Calling it releases the slot. */\nexport interface DoomHostExecutionPermit {\n (): void;\n attachProcess?(pid: number): Promise<void>;\n}\n\n/** Host-wide admission for expensive local work. Release only after the owned process exits. */\nexport interface DoomHostExecutionBudget {\n acquire(signal?: AbortSignal): Promise<DoomHostExecutionPermit>;\n getSnapshot(): Readonly<{ running: number; queued: number; limit: number }>;\n}\n\n/** Synchronous host-owned exclusion across media APIs mounted at different scopes. */\nexport interface DoomHostMediaArbitration {\n register(busy: () => boolean): () => void;\n available(busy: () => boolean): boolean;\n}\n\n/** One host's paired agent registrations, shared across its global and session mounts. */\nexport interface DoomPeerAgentRegistry {\n register(sessionId: string, agent: { fetch(request: Request): Promise<Response> }, hubToken: string): () => void;\n get(sessionId: string): { fetch(request: Request): Promise<Response>; hubToken: string } | undefined;\n}\n\n/** Why shareFile rejects while the host has no public tunnel origin. */\nexport const DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE =\n 'Remote access is off, so Po cannot share files with remote MCP servers. Turn it on and retry.';\n\n/**\n * A file published at a short-lived public tunnel URL: 10 minutes, 3 downloads, and gone\n * when the tunnel revision changes. Call revoke as soon as the consumer is done with it.\n */\nexport interface DoomSharedFile {\n /** Bearer link; never log or persist it. */\n url: string;\n fileName: string;\n mimeType: string;\n size: number;\n /** Expiry as epoch milliseconds. */\n expiresAt: number;\n maxDownloads: number;\n /** Idempotent. */\n revoke(): void;\n}\n\n/** What the host tells an API about itself when it starts. */\nexport interface DoomApiContext {\n scope: DoomApiScope;\n /** Stable, opaque workspace id, shared by every session and member checkout of the workspace. */\n workspaceId?: string;\n /**\n * The admitted workspace root for a workspace mount. For a session mount it is the checkout\n * the session runs in; read sessionContext for both roots. Absent from global mounts.\n */\n workspaceRoot?: string;\n /** The session's baseline context; present on session mounts whose host knows its workspace. */\n sessionContext?: DoomSessionContext;\n /** Explicit host home, never selected by a remote request. */\n homeDirectory?: string;\n /** The session this host serves; absent for a hub-scoped API. */\n sessionId?: string;\n /** The session's working directory; absent for a hub-scoped API. */\n cwd?: string;\n /** Session environment admitted by the server, never supplied by remote clients. */\n environment?: Readonly<Record<string, string | undefined>>;\n /** Shared only with child processes in this session, never with remote API clients. */\n internalToken?: string;\n /** Shared only with the cockpit hub for privileged cross-session coordination. */\n hubToken?: string;\n /**\n * Resolves a hub-issued opaque repository id to an admitted canonical root.\n * Hub APIs must never accept a browser-supplied filesystem path instead.\n */\n resolveRepository?(repositoryId: string): string | undefined;\n /** Reads the admitted repository's sync projection without exposing its state path. */\n readRepositorySync?(\n repositoryId: string,\n ): Promise<DoomRepositorySyncView | undefined> | DoomRepositorySyncView | undefined;\n /** Admitted workspaces available to this mount. */\n repositories?(): readonly { id: string; name: string; path: string; active: boolean }[];\n /** Publish a successful config write to the owning mount's refresh lifecycle. */\n configurationChanged?(): void;\n /**\n * Borrows the hub's OAuth redirect surface. Undefined when the hub cannot\n * currently serve one, in which case the package keeps its own behaviour.\n */\n oauthRedirect?(): DoomOAuthRedirect | undefined;\n /** Canonical in-process lifecycle for sessions created by this host. */\n sessionService?: DoomHubSessionService;\n /** Host-bound, authenticated inter-session event endpoint for this session. */\n sessionCommunication?: DoomSessionCommunicationEndpoint;\n /** Same-process events shared by session APIs and hub channels. */\n directEvents?: DoomDirectEventBus;\n /**\n * Publishes this session's activity line to every page's rail; undefined clears it.\n * Session mounts only. The last publisher wins.\n */\n publishActivity?(activity: DoomSessionActivity | undefined): void;\n /** Trusted in-process dispatch to an explicitly selected mounted API. No browser authentication is performed here. */\n requestApi?(mount: DoomApiMount, basePath: string, request: Request): Promise<Response>;\n /** Present only on a session mounted by an authenticated Desktop host. */\n computerUse?: DoomComputerUseSessionAccess;\n /** Deliver a typed method to a channel on this exact hub mount, retaining the caller's connection identity. */\n receiveChannel?(sessionId: string, frameType: string, payload: unknown, connectionId: string): boolean;\n /** Host-owned replay evidence, supplied only on the global mount. Never exposed to browsers or agents. */\n requestReceipts?: DoomRequestReceipts;\n /** One host's exclusive media activity, shared across global and session scopes. */\n mediaArbitration?: DoomHostMediaArbitration;\n /** One host-wide heavy-job budget, not a separate budget for every session. */\n executionBudget?: DoomHostExecutionBudget;\n /** Paired agents belonging to this host only. */\n peerAgents?: DoomPeerAgentRegistry;\n /** Machine-owned Remote Control service, mounted only by the global core facet. */\n remoteControl?: { fetch(request: Request): Promise<Response> };\n /**\n * Publishes a file from this session's cwd or attachments at a short-lived tunnel URL.\n * Session mounts only; rejects with DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE while remote access is off.\n * The host asks no consent: the caller must obtain it before passing the URL on.\n */\n shareFile?(path: string, label: string): Promise<DoomSharedFile>;\n onNotice(message: string): void;\n}\n\n/**\n * One running surface. The host strips the mount prefix before calling, so\n * routes are declared relative ('/runners/:id/log') and a package never\n * repeats where it was mounted.\n */\nexport interface DoomApiHandler {\n fetch(request: Request): Response | Promise<Response>;\n close(): void;\n}\n\nexport interface DoomApi {\n /** Segment under /api/plugins/; globally unique across loaded packages. */\n basePath: string;\n start(context: DoomApiContext): DoomApiHandler;\n}\n"],"mappings":";AA+BA,MAAa,kBAA2C;CAAC;CAAU;CAAa;AAAS;;AA6CzF,SAAgB,iBAAiB,OAAwD;CACvF,IAAI,MAAM,UAAU,UAAU,OAAO;CACrC,IAAI,MAAM,UAAU,aAAa,OAAO,mBAAmB,mBAAmB,MAAM,WAAW,EAAE;CACjG,IAAI,CAAC,MAAM,aAAa,MAAM,IAAI,MAAM,qDAAqD;CAC7F,OAAO,mBAAmB,mBAAmB,MAAM,WAAW,EAAE,YAAY,mBAAmB,MAAM,SAAS,EAAE;AAClH;;AASA,SAAgB,oBAAoB,UAA+C;CACjF,IAAI,aAAa,WAAW,OAAO,EAAE,OAAO,SAAS;CACrD,MAAM,QAAQ,4DAA4D,KAAK,QAAQ;CACvF,IAAI,CAAC,OAAO,OAAO,KAAA;CACnB,IAAI;EACF,MAAM,cAAc,mBAAmB,MAAM,EAAE;EAC/C,OAAO,MAAM,OAAO,KAAA,IAChB;GAAE,OAAO;GAAa;EAAY,IAClC;GAAE,OAAO;GAAW;GAAa,WAAW,mBAAmB,MAAM,EAAE;EAAE;CAC/E,QAAQ;EACN;CACF;AACF;;AAGA,MAAa,wBAAwB;;AAErC,MAAa,mCAAmC;;AAGhD,MAAa,kCAAkC;AAC/C,MAAa,mCAAmC;AAChD,MAAa,iCAAiC;AAC9C,MAAa,0BAA0B;CACrC;CACA;CACA;AACF;;AAQA,SAAgB,kBAAkB,SAA6C;CAC7E,MAAM,WAAW,QAAQ,IAAI,+BAA+B;CAC5D,MAAM,WAAW,QAAQ,IAAI,gCAAgC;CAC7D,MAAM,SAAS,QAAQ,IAAI,8BAA8B;CACzD,IAAI,aAAa,SACf,OAAO,aAAa,QAAQ,WAAW,iBAAiB;EAAE;EAAU;CAAO,IAAI,KAAA;CAEjF,IACE,aAAa,YACb,aAAa,QACb,aAAa,OACZ,WAAW,kBAAkB,WAAW,cAAc,WAAW,gBAElE,OAAO;EAAE;EAAU;EAAU;CAAO;AAGxC;;AAoFA,MAAa,qCACX"}
@@ -0,0 +1,302 @@
1
+ import { DoomComputerUseSessionAccess, DoomDirectEventBus, DoomHubSessionService, DoomSessionActivity, DoomSessionCommunicationEndpoint, DoomSessionContext } from "./hubChannel.mjs";
2
+ import { DoomMcpProjection } from "./mcpProjection.mjs";
3
+ //#region src/schemas/packageApi.d.ts
4
+ /** The host-owned sync view a repository-scoped package API may inspect. */
5
+ export interface DoomRepositorySyncView {
6
+ fresh: boolean;
7
+ reasons: string[];
8
+ /** True while a background sync that may prepare what `reasons` names is running. */
9
+ syncing?: boolean;
10
+ mcpProjection?: DoomMcpProjection;
11
+ }
12
+ /** Where an API runs: inside one session's server, or in the machine-wide hub. */
13
+ export type DoomApiScope = 'global' | 'workspace' | 'session';
14
+ export declare const DOOM_API_SCOPES: readonly DoomApiScope[];
15
+ /** Identity of an independently mounted plugin host. */
16
+ export type DoomApiMount = {
17
+ scope: 'global';
18
+ } | {
19
+ scope: 'workspace';
20
+ workspaceId: string;
21
+ } | {
22
+ scope: 'session';
23
+ sessionId: string;
24
+ };
25
+ /** Immutable browser contribution generation paired with a server mount. */
26
+ export interface DoomWebComposition {
27
+ id: string;
28
+ scope: DoomApiScope;
29
+ revision: number;
30
+ manifestUrl: string;
31
+ rawAssetBaseUrl: string;
32
+ verifiedAssetBaseUrl: string;
33
+ /** `[slot, entry]` for each of this mount's plugin copies, the entry an absolute path below the asset prefixes. */
34
+ pluginEntries: [string, string][];
35
+ /** Every signed file this mount's slots can load, absolute below the asset prefixes. */
36
+ assetPaths: string[];
37
+ /** Per-plugin stylesheets of this mount's plugins only, so other mounts' classes never apply here. */
38
+ stylePaths: string[];
39
+ channels: string[];
40
+ /** The slots resolved for this mount; the shared build may hold more. */
41
+ plugins: string[];
42
+ }
43
+ /**
44
+ * Immutable native contribution generation paired with a server mount. One signed CommonJS module at
45
+ * `entryPath`, served through the same immutable plugin routes as web compositions.
46
+ */
47
+ export interface DoomNativeComposition {
48
+ id: string;
49
+ scope: DoomApiScope;
50
+ revision: number;
51
+ manifestUrl: string;
52
+ rawAssetBaseUrl: string;
53
+ /** Always `/composition.js`. */
54
+ entryPath: string;
55
+ channels: string[];
56
+ /** The `poNative.pluginId` values resolved for this mount; the shell installs only these. */
57
+ plugins: string[];
58
+ }
59
+ /** Canonical public prefix. Scope selection never falls through to a parent. */
60
+ export declare function doomApiMountPath(mount: DoomApiMount & {
61
+ workspaceId?: string;
62
+ }): string;
63
+ /** Scope addressed by a public WebSocket upgrade. */
64
+ export type DoomSocketMount = {
65
+ scope: 'global';
66
+ } | {
67
+ scope: 'workspace';
68
+ workspaceId: string;
69
+ } | {
70
+ scope: 'session';
71
+ workspaceId: string;
72
+ sessionId: string;
73
+ };
74
+ /** Only canonical resource paths may select a protocol listener. */
75
+ export declare function parseDoomSocketPath(pathname: string): DoomSocketMount | undefined;
76
+ /** The segment an API is mounted under, below this prefix. */
77
+ export declare const DOOM_API_ROUTE_PREFIX = "/api/plugins";
78
+ /** Selects the hub API bundle that owns the named cockpit session. */
79
+ export declare const DOOM_HUB_API_SESSION_QUERY_PARAM = "hubSession";
80
+ /** Trusted caller headers written only by the cockpit-to-session proxy. */
81
+ export declare const DOOM_API_CALLER_LOCALITY_HEADER = "x-po-api-caller-locality";
82
+ export declare const DOOM_API_CALLER_DEVICE_ID_HEADER = "x-po-api-caller-device-id";
83
+ export declare const DOOM_API_CALLER_STEP_UP_HEADER = "x-po-api-caller-step-up";
84
+ export declare const DOOM_API_CALLER_HEADERS: readonly ["x-po-api-caller-locality", "x-po-api-caller-device-id", "x-po-api-caller-step-up"];
85
+ export type DoomApiCallerStepUp = 'not-required' | 'verified' | 'unavailable';
86
+ export type DoomApiCaller = {
87
+ locality: 'local';
88
+ stepUp: 'not-required';
89
+ } | {
90
+ locality: 'remote';
91
+ deviceId: string;
92
+ stepUp: DoomApiCallerStepUp;
93
+ };
94
+ /** Reads the proxy-authenticated caller identity, rejecting partial or contradictory stamps. */
95
+ export declare function doomApiCallerFrom(headers: Headers): DoomApiCaller | undefined;
96
+ /**
97
+ * A browser-reachable OAuth redirect the host serves on its own listener.
98
+ *
99
+ * A package brokering third-party OAuth cannot use a loopback redirect when the
100
+ * operator's browser is on another machine: `127.0.0.1` resolves to whichever
101
+ * machine the browser runs on. The host owns a listener that is reachable from
102
+ * wherever the cockpit is being used, so it lends that instead of the package
103
+ * opening a port of its own.
104
+ */
105
+ export interface DoomOAuthRedirect {
106
+ /** Absolute URL to register as the redirect target, already origin-correct. */
107
+ readonly redirectUri: string;
108
+ /**
109
+ * Accept redirects carrying this state. Must complete before the
110
+ * authorization URL is surfaced, or the redirect races its own reservation.
111
+ */
112
+ reserve(state: string, timeoutMs?: number): Promise<void>;
113
+ /** Resolves once the redirect carrying this state arrives. */
114
+ wait(state: string, timeoutMs?: number): Promise<{
115
+ code: string;
116
+ state: string;
117
+ }>;
118
+ /** Drops a reservation whose flow ended without a redirect. */
119
+ cancel(state: string): void;
120
+ }
121
+ /** An exact, host-owned receipt address. Provider IDs are not event cursor positions. */
122
+ export interface DoomRequestReceiptKey {
123
+ namespace: string;
124
+ activationId: string;
125
+ requestId: string;
126
+ }
127
+ export interface DoomRequestReceipt extends DoomRequestReceiptKey {
128
+ fingerprint: string;
129
+ destination: string;
130
+ transactionId: string;
131
+ outcome: 'reserved' | 'admitted' | 'rejected' | 'uncertain';
132
+ }
133
+ export interface DoomRequestReceiptReservation extends DoomRequestReceiptKey {
134
+ /** Lowercase SHA-256 of the authoritative request text, never the full transcript. */
135
+ fingerprint: string;
136
+ destination: string;
137
+ transactionId: string;
138
+ }
139
+ export type DoomRequestReceiptReserveResult = {
140
+ kind: 'reserved';
141
+ token: string;
142
+ } | {
143
+ kind: 'existing';
144
+ receipt: DoomRequestReceipt;
145
+ } | {
146
+ kind: 'conflict';
147
+ receipt: DoomRequestReceipt;
148
+ };
149
+ /** A global-only receipt capability. A reservation is not an execution receipt. */
150
+ export interface DoomRequestReceipts {
151
+ reserve(request: DoomRequestReceiptReservation): Promise<DoomRequestReceiptReserveResult>;
152
+ lookup(key: DoomRequestReceiptKey): Promise<DoomRequestReceipt | undefined>;
153
+ finish(request: DoomRequestReceiptKey & {
154
+ token: string;
155
+ outcome: 'admitted' | 'rejected' | 'uncertain';
156
+ }): Promise<DoomRequestReceipt>;
157
+ }
158
+ /** Permit returned for expensive local work. Calling it releases the slot. */
159
+ export interface DoomHostExecutionPermit {
160
+ (): void;
161
+ attachProcess?(pid: number): Promise<void>;
162
+ }
163
+ /** Host-wide admission for expensive local work. Release only after the owned process exits. */
164
+ export interface DoomHostExecutionBudget {
165
+ acquire(signal?: AbortSignal): Promise<DoomHostExecutionPermit>;
166
+ getSnapshot(): Readonly<{
167
+ running: number;
168
+ queued: number;
169
+ limit: number;
170
+ }>;
171
+ }
172
+ /** Synchronous host-owned exclusion across media APIs mounted at different scopes. */
173
+ export interface DoomHostMediaArbitration {
174
+ register(busy: () => boolean): () => void;
175
+ available(busy: () => boolean): boolean;
176
+ }
177
+ /** One host's paired agent registrations, shared across its global and session mounts. */
178
+ export interface DoomPeerAgentRegistry {
179
+ register(sessionId: string, agent: {
180
+ fetch(request: Request): Promise<Response>;
181
+ }, hubToken: string): () => void;
182
+ get(sessionId: string): {
183
+ fetch(request: Request): Promise<Response>;
184
+ hubToken: string;
185
+ } | undefined;
186
+ }
187
+ /** Why shareFile rejects while the host has no public tunnel origin. */
188
+ export declare const DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE = "Remote access is off, so Po cannot share files with remote MCP servers. Turn it on and retry.";
189
+ /**
190
+ * A file published at a short-lived public tunnel URL: 10 minutes, 3 downloads, and gone
191
+ * when the tunnel revision changes. Call revoke as soon as the consumer is done with it.
192
+ */
193
+ export interface DoomSharedFile {
194
+ /** Bearer link; never log or persist it. */
195
+ url: string;
196
+ fileName: string;
197
+ mimeType: string;
198
+ size: number;
199
+ /** Expiry as epoch milliseconds. */
200
+ expiresAt: number;
201
+ maxDownloads: number;
202
+ /** Idempotent. */
203
+ revoke(): void;
204
+ }
205
+ /** What the host tells an API about itself when it starts. */
206
+ export interface DoomApiContext {
207
+ scope: DoomApiScope;
208
+ /** Stable, opaque workspace id, shared by every session and member checkout of the workspace. */
209
+ workspaceId?: string;
210
+ /**
211
+ * The admitted workspace root for a workspace mount. For a session mount it is the checkout
212
+ * the session runs in; read sessionContext for both roots. Absent from global mounts.
213
+ */
214
+ workspaceRoot?: string;
215
+ /** The session's baseline context; present on session mounts whose host knows its workspace. */
216
+ sessionContext?: DoomSessionContext;
217
+ /** Explicit host home, never selected by a remote request. */
218
+ homeDirectory?: string;
219
+ /** The session this host serves; absent for a hub-scoped API. */
220
+ sessionId?: string;
221
+ /** The session's working directory; absent for a hub-scoped API. */
222
+ cwd?: string;
223
+ /** Session environment admitted by the server, never supplied by remote clients. */
224
+ environment?: Readonly<Record<string, string | undefined>>;
225
+ /** Shared only with child processes in this session, never with remote API clients. */
226
+ internalToken?: string;
227
+ /** Shared only with the cockpit hub for privileged cross-session coordination. */
228
+ hubToken?: string;
229
+ /**
230
+ * Resolves a hub-issued opaque repository id to an admitted canonical root.
231
+ * Hub APIs must never accept a browser-supplied filesystem path instead.
232
+ */
233
+ resolveRepository?(repositoryId: string): string | undefined;
234
+ /** Reads the admitted repository's sync projection without exposing its state path. */
235
+ readRepositorySync?(repositoryId: string): Promise<DoomRepositorySyncView | undefined> | DoomRepositorySyncView | undefined;
236
+ /** Admitted workspaces available to this mount. */
237
+ repositories?(): readonly {
238
+ id: string;
239
+ name: string;
240
+ path: string;
241
+ active: boolean;
242
+ }[];
243
+ /** Publish a successful config write to the owning mount's refresh lifecycle. */
244
+ configurationChanged?(): void;
245
+ /**
246
+ * Borrows the hub's OAuth redirect surface. Undefined when the hub cannot
247
+ * currently serve one, in which case the package keeps its own behaviour.
248
+ */
249
+ oauthRedirect?(): DoomOAuthRedirect | undefined;
250
+ /** Canonical in-process lifecycle for sessions created by this host. */
251
+ sessionService?: DoomHubSessionService;
252
+ /** Host-bound, authenticated inter-session event endpoint for this session. */
253
+ sessionCommunication?: DoomSessionCommunicationEndpoint;
254
+ /** Same-process events shared by session APIs and hub channels. */
255
+ directEvents?: DoomDirectEventBus;
256
+ /**
257
+ * Publishes this session's activity line to every page's rail; undefined clears it.
258
+ * Session mounts only. The last publisher wins.
259
+ */
260
+ publishActivity?(activity: DoomSessionActivity | undefined): void;
261
+ /** Trusted in-process dispatch to an explicitly selected mounted API. No browser authentication is performed here. */
262
+ requestApi?(mount: DoomApiMount, basePath: string, request: Request): Promise<Response>;
263
+ /** Present only on a session mounted by an authenticated Desktop host. */
264
+ computerUse?: DoomComputerUseSessionAccess;
265
+ /** Deliver a typed method to a channel on this exact hub mount, retaining the caller's connection identity. */
266
+ receiveChannel?(sessionId: string, frameType: string, payload: unknown, connectionId: string): boolean;
267
+ /** Host-owned replay evidence, supplied only on the global mount. Never exposed to browsers or agents. */
268
+ requestReceipts?: DoomRequestReceipts;
269
+ /** One host's exclusive media activity, shared across global and session scopes. */
270
+ mediaArbitration?: DoomHostMediaArbitration;
271
+ /** One host-wide heavy-job budget, not a separate budget for every session. */
272
+ executionBudget?: DoomHostExecutionBudget;
273
+ /** Paired agents belonging to this host only. */
274
+ peerAgents?: DoomPeerAgentRegistry;
275
+ /** Machine-owned Remote Control service, mounted only by the global core facet. */
276
+ remoteControl?: {
277
+ fetch(request: Request): Promise<Response>;
278
+ };
279
+ /**
280
+ * Publishes a file from this session's cwd or attachments at a short-lived tunnel URL.
281
+ * Session mounts only; rejects with DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE while remote access is off.
282
+ * The host asks no consent: the caller must obtain it before passing the URL on.
283
+ */
284
+ shareFile?(path: string, label: string): Promise<DoomSharedFile>;
285
+ onNotice(message: string): void;
286
+ }
287
+ /**
288
+ * One running surface. The host strips the mount prefix before calling, so
289
+ * routes are declared relative ('/runners/:id/log') and a package never
290
+ * repeats where it was mounted.
291
+ */
292
+ export interface DoomApiHandler {
293
+ fetch(request: Request): Response | Promise<Response>;
294
+ close(): void;
295
+ }
296
+ export interface DoomApi {
297
+ /** Segment under /api/plugins/; globally unique across loaded packages. */
298
+ basePath: string;
299
+ start(context: DoomApiContext): DoomApiHandler;
300
+ }
301
+ //#endregion
302
+ //# sourceMappingURL=packageApi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageApi.d.mts","names":[],"sources":["../../../src/schemas/packageApi.ts"],"mappings":";;;;iBAoBiB;EACf;EACA;;EAEA;EACA,gBAAgB;;;YAIN;qBAEC,0BAA0B;;YAG3B;EACN;;EACA;EAAoB;;EACpB;EAAkB;;;iBAGP;EACf;EACA,OAAO;EACP;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA;EACA;;EAEA;;;;;;iBAOe;EACf;EACA,OAAO;EACP;EACA;EACA;;EAEA;EACA;;EAEA;;;wBAIc,iBAAiB,OAAO;EAAiB;;;YAQ7C;EACN;;EACA;EAAoB;;EACpB;EAAkB;EAAqB;;;wBAG7B,oBAAoB,mBAAmB;;qBAe1C;;qBAEA;;qBAGA;qBACA;qBACA;qBACA;YAMD;YACA;EACN;EAAmB;;EACnB;EAAoB;EAAkB,QAAQ;;;wBAGpC,kBAAkB,SAAS,UAAU;;;;;;;;;;iBA0BpC;;WAEN;;;;;EAKT,QAAQ,eAAe,qBAAqB;;EAE5C,KAAK,eAAe,qBAAqB;IAAU;IAAc;;;EAEjE,OAAO;;;iBAIQ;EACf;EACA;EACA;;iBAGe,2BAA2B;EAC1C;EACA;EACA;EACA;;iBAGe,sCAAsC;;EAErD;EACA;EACA;;YAGU;EACN;EAAkB;;EAClB;EAAkB,SAAS;;EAC3B;EAAkB,SAAS;;;iBAGhB;EACf,QAAQ,SAAS,gCAAgC,QAAQ;EACzD,OAAO,KAAK,wBAAwB,QAAQ;EAC5C,OACE,SAAS;IAA0B;IAAe;MACjD,QAAQ;;;iBAII;;EAEf,eAAe,cAAc;;;iBAId;EACf,QAAQ,SAAS,cAAc,QAAQ;EACvC,eAAe;IAAW;IAAiB;IAAgB;;;;iBAI5C;EACf,SAAS;EACT,UAAU;;;iBAIK;EACf,SAAS,mBAAmB;IAAS,MAAM,SAAS,UAAU,QAAQ;KAAa;EACnF,IAAI;IAAsB,MAAM,SAAS,UAAU,QAAQ;IAAW;;;;qBAI3D;;;;;iBAOI;;EAEf;EACA;EACA;EACA;;EAEA;EACA;;EAEA;;;iBAIe;EACf,OAAO;;EAEP;;;;;EAKA;;EAEA,iBAAiB;;EAEjB;;EAEA;;EAEA;;EAEA,cAAc,SAAS;;EAEvB;;EAEA;;;;;EAKA,mBAAmB;;EAEnB,oBACE,uBACC,QAAQ,sCAAsC;;EAEjD;IAA4B;IAAY;IAAc;IAAc;;;EAEpE;;;;;EAKA,kBAAkB;;EAElB,iBAAiB;;EAEjB,uBAAuB;;EAEvB,eAAe;;;;;EAKf,iBAAiB,UAAU;;EAE3B,YAAY,OAAO,cAAc,kBAAkB,SAAS,UAAU,QAAQ;;EAE9E,cAAc;;EAEd,gBAAgB,mBAAmB,mBAAmB,kBAAkB;;EAExE,kBAAkB;;EAElB,mBAAmB;;EAEnB,kBAAkB;;EAElB,aAAa;;EAEb;IAAkB,MAAM,SAAS,UAAU,QAAQ;;;;;;;EAMnD,WAAW,cAAc,gBAAgB,QAAQ;EACjD,SAAS;;;;;;;iBAQM;EACf,MAAM,SAAS,UAAU,WAAW,QAAQ;EAC5C;;iBAGe;;EAEf;EACA,MAAM,SAAS,iBAAiB"}
@@ -0,0 +1,66 @@
1
+ //#region src/schemas/packageApi.ts
2
+ const DOOM_API_SCOPES = [
3
+ "global",
4
+ "workspace",
5
+ "session"
6
+ ];
7
+ /** Canonical public prefix. Scope selection never falls through to a parent. */
8
+ function doomApiMountPath(mount) {
9
+ if (mount.scope === "global") return "/api/plugins";
10
+ if (mount.scope === "workspace") return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/plugins`;
11
+ if (!mount.workspaceId) throw new Error("A session API path requires its workspace identity.");
12
+ return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/sessions/${encodeURIComponent(mount.sessionId)}/plugins`;
13
+ }
14
+ /** Only canonical resource paths may select a protocol listener. */
15
+ function parseDoomSocketPath(pathname) {
16
+ if (pathname === "/api/ws") return { scope: "global" };
17
+ const match = /^\/api\/workspaces\/([^/]+)(?:\/sessions\/([^/]+))?\/ws$/u.exec(pathname);
18
+ if (!match) return void 0;
19
+ try {
20
+ const workspaceId = decodeURIComponent(match[1]);
21
+ return match[2] === void 0 ? {
22
+ scope: "workspace",
23
+ workspaceId
24
+ } : {
25
+ scope: "session",
26
+ workspaceId,
27
+ sessionId: decodeURIComponent(match[2])
28
+ };
29
+ } catch {
30
+ return;
31
+ }
32
+ }
33
+ /** The segment an API is mounted under, below this prefix. */
34
+ const DOOM_API_ROUTE_PREFIX = "/api/plugins";
35
+ /** Selects the hub API bundle that owns the named cockpit session. */
36
+ const DOOM_HUB_API_SESSION_QUERY_PARAM = "hubSession";
37
+ /** Trusted caller headers written only by the cockpit-to-session proxy. */
38
+ const DOOM_API_CALLER_LOCALITY_HEADER = "x-po-api-caller-locality";
39
+ const DOOM_API_CALLER_DEVICE_ID_HEADER = "x-po-api-caller-device-id";
40
+ const DOOM_API_CALLER_STEP_UP_HEADER = "x-po-api-caller-step-up";
41
+ const DOOM_API_CALLER_HEADERS = [
42
+ DOOM_API_CALLER_LOCALITY_HEADER,
43
+ DOOM_API_CALLER_DEVICE_ID_HEADER,
44
+ DOOM_API_CALLER_STEP_UP_HEADER
45
+ ];
46
+ /** Reads the proxy-authenticated caller identity, rejecting partial or contradictory stamps. */
47
+ function doomApiCallerFrom(headers) {
48
+ const locality = headers.get(DOOM_API_CALLER_LOCALITY_HEADER);
49
+ const deviceId = headers.get(DOOM_API_CALLER_DEVICE_ID_HEADER);
50
+ const stepUp = headers.get(DOOM_API_CALLER_STEP_UP_HEADER);
51
+ if (locality === "local") return deviceId === null && stepUp === "not-required" ? {
52
+ locality,
53
+ stepUp
54
+ } : void 0;
55
+ if (locality === "remote" && deviceId !== null && deviceId !== "" && (stepUp === "not-required" || stepUp === "verified" || stepUp === "unavailable")) return {
56
+ locality,
57
+ deviceId,
58
+ stepUp
59
+ };
60
+ }
61
+ /** Why shareFile rejects while the host has no public tunnel origin. */
62
+ const DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE = "Remote access is off, so Po cannot share files with remote MCP servers. Turn it on and retry.";
63
+ //#endregion
64
+ export { DOOM_API_CALLER_DEVICE_ID_HEADER, DOOM_API_CALLER_HEADERS, DOOM_API_CALLER_LOCALITY_HEADER, DOOM_API_CALLER_STEP_UP_HEADER, DOOM_API_ROUTE_PREFIX, DOOM_API_SCOPES, DOOM_HUB_API_SESSION_QUERY_PARAM, DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE, doomApiCallerFrom, doomApiMountPath, parseDoomSocketPath };
65
+
66
+ //# sourceMappingURL=packageApi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageApi.mjs","names":[],"sources":["../../../src/schemas/packageApi.ts"],"sourcesContent":["/**\n * The HTTP surface a package offers its host.\n *\n * A server facet registers one with its host. The host mounts it under the API\n * route prefix, and the package writes routes relative to that mount.\n *\n * The handler is a plain fetch callback so no host and no package is committed\n * to one HTTP framework; a Hono app satisfies it through `app.fetch`.\n */\n\nimport type {\n DoomComputerUseSessionAccess,\n DoomDirectEventBus,\n DoomHubSessionService,\n DoomSessionCommunicationEndpoint,\n DoomSessionActivity,\n DoomSessionContext,\n} from './hubChannel';\nimport type { DoomMcpProjection } from './mcpProjection';\n/** The host-owned sync view a repository-scoped package API may inspect. */\nexport interface DoomRepositorySyncView {\n fresh: boolean;\n reasons: string[];\n /** True while a background sync that may prepare what `reasons` names is running. */\n syncing?: boolean;\n mcpProjection?: DoomMcpProjection;\n}\n\n/** Where an API runs: inside one session's server, or in the machine-wide hub. */\nexport type DoomApiScope = 'global' | 'workspace' | 'session';\n\nexport const DOOM_API_SCOPES: readonly DoomApiScope[] = ['global', 'workspace', 'session'];\n\n/** Identity of an independently mounted plugin host. */\nexport type DoomApiMount =\n | { scope: 'global' }\n | { scope: 'workspace'; workspaceId: string }\n | { scope: 'session'; sessionId: string };\n\n/** Immutable browser contribution generation paired with a server mount. */\nexport interface DoomWebComposition {\n id: string;\n scope: DoomApiScope;\n revision: number;\n manifestUrl: string;\n rawAssetBaseUrl: string;\n verifiedAssetBaseUrl: string;\n /** `[slot, entry]` for each of this mount's plugin copies, the entry an absolute path below the asset prefixes. */\n pluginEntries: [string, string][];\n /** Every signed file this mount's slots can load, absolute below the asset prefixes. */\n assetPaths: string[];\n /** Per-plugin stylesheets of this mount's plugins only, so other mounts' classes never apply here. */\n stylePaths: string[];\n channels: string[];\n /** The slots resolved for this mount; the shared build may hold more. */\n plugins: string[];\n}\n\n/**\n * Immutable native contribution generation paired with a server mount. One signed CommonJS module at\n * `entryPath`, served through the same immutable plugin routes as web compositions.\n */\nexport interface DoomNativeComposition {\n id: string;\n scope: DoomApiScope;\n revision: number;\n manifestUrl: string;\n rawAssetBaseUrl: string;\n /** Always `/composition.js`. */\n entryPath: string;\n channels: string[];\n /** The `poNative.pluginId` values resolved for this mount; the shell installs only these. */\n plugins: string[];\n}\n\n/** Canonical public prefix. Scope selection never falls through to a parent. */\nexport function doomApiMountPath(mount: DoomApiMount & { workspaceId?: string }): string {\n if (mount.scope === 'global') return '/api/plugins';\n if (mount.scope === 'workspace') return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/plugins`;\n if (!mount.workspaceId) throw new Error('A session API path requires its workspace identity.');\n return `/api/workspaces/${encodeURIComponent(mount.workspaceId)}/sessions/${encodeURIComponent(mount.sessionId)}/plugins`;\n}\n\n/** Scope addressed by a public WebSocket upgrade. */\nexport type DoomSocketMount =\n | { scope: 'global' }\n | { scope: 'workspace'; workspaceId: string }\n | { scope: 'session'; workspaceId: string; sessionId: string };\n\n/** Only canonical resource paths may select a protocol listener. */\nexport function parseDoomSocketPath(pathname: string): DoomSocketMount | undefined {\n if (pathname === '/api/ws') return { scope: 'global' };\n const match = /^\\/api\\/workspaces\\/([^/]+)(?:\\/sessions\\/([^/]+))?\\/ws$/u.exec(pathname);\n if (!match) return undefined;\n try {\n const workspaceId = decodeURIComponent(match[1]);\n return match[2] === undefined\n ? { scope: 'workspace', workspaceId }\n : { scope: 'session', workspaceId, sessionId: decodeURIComponent(match[2]) };\n } catch {\n return undefined;\n }\n}\n\n/** The segment an API is mounted under, below this prefix. */\nexport const DOOM_API_ROUTE_PREFIX = '/api/plugins';\n/** Selects the hub API bundle that owns the named cockpit session. */\nexport const DOOM_HUB_API_SESSION_QUERY_PARAM = 'hubSession';\n\n/** Trusted caller headers written only by the cockpit-to-session proxy. */\nexport const DOOM_API_CALLER_LOCALITY_HEADER = 'x-po-api-caller-locality';\nexport const DOOM_API_CALLER_DEVICE_ID_HEADER = 'x-po-api-caller-device-id';\nexport const DOOM_API_CALLER_STEP_UP_HEADER = 'x-po-api-caller-step-up';\nexport const DOOM_API_CALLER_HEADERS = [\n DOOM_API_CALLER_LOCALITY_HEADER,\n DOOM_API_CALLER_DEVICE_ID_HEADER,\n DOOM_API_CALLER_STEP_UP_HEADER,\n] as const;\n\nexport type DoomApiCallerStepUp = 'not-required' | 'verified' | 'unavailable';\nexport type DoomApiCaller =\n | { locality: 'local'; stepUp: 'not-required' }\n | { locality: 'remote'; deviceId: string; stepUp: DoomApiCallerStepUp };\n\n/** Reads the proxy-authenticated caller identity, rejecting partial or contradictory stamps. */\nexport function doomApiCallerFrom(headers: Headers): DoomApiCaller | undefined {\n const locality = headers.get(DOOM_API_CALLER_LOCALITY_HEADER);\n const deviceId = headers.get(DOOM_API_CALLER_DEVICE_ID_HEADER);\n const stepUp = headers.get(DOOM_API_CALLER_STEP_UP_HEADER);\n if (locality === 'local') {\n return deviceId === null && stepUp === 'not-required' ? { locality, stepUp } : undefined;\n }\n if (\n locality === 'remote' &&\n deviceId !== null &&\n deviceId !== '' &&\n (stepUp === 'not-required' || stepUp === 'verified' || stepUp === 'unavailable')\n ) {\n return { locality, deviceId, stepUp };\n }\n return undefined;\n}\n/**\n * A browser-reachable OAuth redirect the host serves on its own listener.\n *\n * A package brokering third-party OAuth cannot use a loopback redirect when the\n * operator's browser is on another machine: `127.0.0.1` resolves to whichever\n * machine the browser runs on. The host owns a listener that is reachable from\n * wherever the cockpit is being used, so it lends that instead of the package\n * opening a port of its own.\n */\nexport interface DoomOAuthRedirect {\n /** Absolute URL to register as the redirect target, already origin-correct. */\n readonly redirectUri: string;\n /**\n * Accept redirects carrying this state. Must complete before the\n * authorization URL is surfaced, or the redirect races its own reservation.\n */\n reserve(state: string, timeoutMs?: number): Promise<void>;\n /** Resolves once the redirect carrying this state arrives. */\n wait(state: string, timeoutMs?: number): Promise<{ code: string; state: string }>;\n /** Drops a reservation whose flow ended without a redirect. */\n cancel(state: string): void;\n}\n\n/** An exact, host-owned receipt address. Provider IDs are not event cursor positions. */\nexport interface DoomRequestReceiptKey {\n namespace: string;\n activationId: string;\n requestId: string;\n}\n\nexport interface DoomRequestReceipt extends DoomRequestReceiptKey {\n fingerprint: string;\n destination: string;\n transactionId: string;\n outcome: 'reserved' | 'admitted' | 'rejected' | 'uncertain';\n}\n\nexport interface DoomRequestReceiptReservation extends DoomRequestReceiptKey {\n /** Lowercase SHA-256 of the authoritative request text, never the full transcript. */\n fingerprint: string;\n destination: string;\n transactionId: string;\n}\n\nexport type DoomRequestReceiptReserveResult =\n | { kind: 'reserved'; token: string }\n | { kind: 'existing'; receipt: DoomRequestReceipt }\n | { kind: 'conflict'; receipt: DoomRequestReceipt };\n\n/** A global-only receipt capability. A reservation is not an execution receipt. */\nexport interface DoomRequestReceipts {\n reserve(request: DoomRequestReceiptReservation): Promise<DoomRequestReceiptReserveResult>;\n lookup(key: DoomRequestReceiptKey): Promise<DoomRequestReceipt | undefined>;\n finish(\n request: DoomRequestReceiptKey & { token: string; outcome: 'admitted' | 'rejected' | 'uncertain' },\n ): Promise<DoomRequestReceipt>;\n}\n\n/** Permit returned for expensive local work. Calling it releases the slot. */\nexport interface DoomHostExecutionPermit {\n (): void;\n attachProcess?(pid: number): Promise<void>;\n}\n\n/** Host-wide admission for expensive local work. Release only after the owned process exits. */\nexport interface DoomHostExecutionBudget {\n acquire(signal?: AbortSignal): Promise<DoomHostExecutionPermit>;\n getSnapshot(): Readonly<{ running: number; queued: number; limit: number }>;\n}\n\n/** Synchronous host-owned exclusion across media APIs mounted at different scopes. */\nexport interface DoomHostMediaArbitration {\n register(busy: () => boolean): () => void;\n available(busy: () => boolean): boolean;\n}\n\n/** One host's paired agent registrations, shared across its global and session mounts. */\nexport interface DoomPeerAgentRegistry {\n register(sessionId: string, agent: { fetch(request: Request): Promise<Response> }, hubToken: string): () => void;\n get(sessionId: string): { fetch(request: Request): Promise<Response>; hubToken: string } | undefined;\n}\n\n/** Why shareFile rejects while the host has no public tunnel origin. */\nexport const DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE =\n 'Remote access is off, so Po cannot share files with remote MCP servers. Turn it on and retry.';\n\n/**\n * A file published at a short-lived public tunnel URL: 10 minutes, 3 downloads, and gone\n * when the tunnel revision changes. Call revoke as soon as the consumer is done with it.\n */\nexport interface DoomSharedFile {\n /** Bearer link; never log or persist it. */\n url: string;\n fileName: string;\n mimeType: string;\n size: number;\n /** Expiry as epoch milliseconds. */\n expiresAt: number;\n maxDownloads: number;\n /** Idempotent. */\n revoke(): void;\n}\n\n/** What the host tells an API about itself when it starts. */\nexport interface DoomApiContext {\n scope: DoomApiScope;\n /** Stable, opaque workspace id, shared by every session and member checkout of the workspace. */\n workspaceId?: string;\n /**\n * The admitted workspace root for a workspace mount. For a session mount it is the checkout\n * the session runs in; read sessionContext for both roots. Absent from global mounts.\n */\n workspaceRoot?: string;\n /** The session's baseline context; present on session mounts whose host knows its workspace. */\n sessionContext?: DoomSessionContext;\n /** Explicit host home, never selected by a remote request. */\n homeDirectory?: string;\n /** The session this host serves; absent for a hub-scoped API. */\n sessionId?: string;\n /** The session's working directory; absent for a hub-scoped API. */\n cwd?: string;\n /** Session environment admitted by the server, never supplied by remote clients. */\n environment?: Readonly<Record<string, string | undefined>>;\n /** Shared only with child processes in this session, never with remote API clients. */\n internalToken?: string;\n /** Shared only with the cockpit hub for privileged cross-session coordination. */\n hubToken?: string;\n /**\n * Resolves a hub-issued opaque repository id to an admitted canonical root.\n * Hub APIs must never accept a browser-supplied filesystem path instead.\n */\n resolveRepository?(repositoryId: string): string | undefined;\n /** Reads the admitted repository's sync projection without exposing its state path. */\n readRepositorySync?(\n repositoryId: string,\n ): Promise<DoomRepositorySyncView | undefined> | DoomRepositorySyncView | undefined;\n /** Admitted workspaces available to this mount. */\n repositories?(): readonly { id: string; name: string; path: string; active: boolean }[];\n /** Publish a successful config write to the owning mount's refresh lifecycle. */\n configurationChanged?(): void;\n /**\n * Borrows the hub's OAuth redirect surface. Undefined when the hub cannot\n * currently serve one, in which case the package keeps its own behaviour.\n */\n oauthRedirect?(): DoomOAuthRedirect | undefined;\n /** Canonical in-process lifecycle for sessions created by this host. */\n sessionService?: DoomHubSessionService;\n /** Host-bound, authenticated inter-session event endpoint for this session. */\n sessionCommunication?: DoomSessionCommunicationEndpoint;\n /** Same-process events shared by session APIs and hub channels. */\n directEvents?: DoomDirectEventBus;\n /**\n * Publishes this session's activity line to every page's rail; undefined clears it.\n * Session mounts only. The last publisher wins.\n */\n publishActivity?(activity: DoomSessionActivity | undefined): void;\n /** Trusted in-process dispatch to an explicitly selected mounted API. No browser authentication is performed here. */\n requestApi?(mount: DoomApiMount, basePath: string, request: Request): Promise<Response>;\n /** Present only on a session mounted by an authenticated Desktop host. */\n computerUse?: DoomComputerUseSessionAccess;\n /** Deliver a typed method to a channel on this exact hub mount, retaining the caller's connection identity. */\n receiveChannel?(sessionId: string, frameType: string, payload: unknown, connectionId: string): boolean;\n /** Host-owned replay evidence, supplied only on the global mount. Never exposed to browsers or agents. */\n requestReceipts?: DoomRequestReceipts;\n /** One host's exclusive media activity, shared across global and session scopes. */\n mediaArbitration?: DoomHostMediaArbitration;\n /** One host-wide heavy-job budget, not a separate budget for every session. */\n executionBudget?: DoomHostExecutionBudget;\n /** Paired agents belonging to this host only. */\n peerAgents?: DoomPeerAgentRegistry;\n /** Machine-owned Remote Control service, mounted only by the global core facet. */\n remoteControl?: { fetch(request: Request): Promise<Response> };\n /**\n * Publishes a file from this session's cwd or attachments at a short-lived tunnel URL.\n * Session mounts only; rejects with DOOM_SHARE_FILE_REMOTE_OFF_MESSAGE while remote access is off.\n * The host asks no consent: the caller must obtain it before passing the URL on.\n */\n shareFile?(path: string, label: string): Promise<DoomSharedFile>;\n onNotice(message: string): void;\n}\n\n/**\n * One running surface. The host strips the mount prefix before calling, so\n * routes are declared relative ('/runners/:id/log') and a package never\n * repeats where it was mounted.\n */\nexport interface DoomApiHandler {\n fetch(request: Request): Response | Promise<Response>;\n close(): void;\n}\n\nexport interface DoomApi {\n /** Segment under /api/plugins/; globally unique across loaded packages. */\n basePath: string;\n start(context: DoomApiContext): DoomApiHandler;\n}\n"],"mappings":";AA+BA,MAAa,kBAA2C;CAAC;CAAU;CAAa;AAAS;;AA6CzF,SAAgB,iBAAiB,OAAwD;CACvF,IAAI,MAAM,UAAU,UAAU,OAAO;CACrC,IAAI,MAAM,UAAU,aAAa,OAAO,mBAAmB,mBAAmB,MAAM,WAAW,EAAE;CACjG,IAAI,CAAC,MAAM,aAAa,MAAM,IAAI,MAAM,qDAAqD;CAC7F,OAAO,mBAAmB,mBAAmB,MAAM,WAAW,EAAE,YAAY,mBAAmB,MAAM,SAAS,EAAE;AAClH;;AASA,SAAgB,oBAAoB,UAA+C;CACjF,IAAI,aAAa,WAAW,OAAO,EAAE,OAAO,SAAS;CACrD,MAAM,QAAQ,4DAA4D,KAAK,QAAQ;CACvF,IAAI,CAAC,OAAO,OAAO,KAAA;CACnB,IAAI;EACF,MAAM,cAAc,mBAAmB,MAAM,EAAE;EAC/C,OAAO,MAAM,OAAO,KAAA,IAChB;GAAE,OAAO;GAAa;EAAY,IAClC;GAAE,OAAO;GAAW;GAAa,WAAW,mBAAmB,MAAM,EAAE;EAAE;CAC/E,QAAQ;EACN;CACF;AACF;;AAGA,MAAa,wBAAwB;;AAErC,MAAa,mCAAmC;;AAGhD,MAAa,kCAAkC;AAC/C,MAAa,mCAAmC;AAChD,MAAa,iCAAiC;AAC9C,MAAa,0BAA0B;CACrC;CACA;CACA;AACF;;AAQA,SAAgB,kBAAkB,SAA6C;CAC7E,MAAM,WAAW,QAAQ,IAAI,+BAA+B;CAC5D,MAAM,WAAW,QAAQ,IAAI,gCAAgC;CAC7D,MAAM,SAAS,QAAQ,IAAI,8BAA8B;CACzD,IAAI,aAAa,SACf,OAAO,aAAa,QAAQ,WAAW,iBAAiB;EAAE;EAAU;CAAO,IAAI,KAAA;CAEjF,IACE,aAAa,YACb,aAAa,QACb,aAAa,OACZ,WAAW,kBAAkB,WAAW,cAAc,WAAW,gBAElE,OAAO;EAAE;EAAU;EAAU;CAAO;AAGxC;;AAoFA,MAAa,qCACX"}
@@ -0,0 +1,19 @@
1
+ //#region src/schemas/pluginContributions.ts
2
+ /** Preserve schema inference at the declaration, before heterogeneous composition. */
3
+ function defineTool(tool) {
4
+ return {
5
+ ...tool,
6
+ kind: "tool"
7
+ };
8
+ }
9
+ function defineCommand(command) {
10
+ return {
11
+ ...command,
12
+ kind: "command"
13
+ };
14
+ }
15
+ //#endregion
16
+ exports.defineCommand = defineCommand;
17
+ exports.defineTool = defineTool;
18
+
19
+ //# sourceMappingURL=pluginContributions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginContributions.cjs","names":[],"sources":["../../../src/schemas/pluginContributions.ts"],"sourcesContent":["import type { Static, TSchema } from 'typebox';\n\nimport type { DoomNotificationRequest } from './notification';\n\n/** Capabilities available to portable commands on both agent hosts. */\nexport interface DoomPluginExecution {\n readonly cwd: string;\n readonly signal?: AbortSignal;\n notify(request: DoomNotificationRequest): void | Promise<void>;\n}\n\nexport interface DoomPluginToolResult {\n content: ({ type: 'text'; text: string } | { type: 'image'; data: string; mimeType: string })[];\n details?: unknown;\n isError?: boolean;\n}\n\nexport interface DoomPluginToolExecution extends DoomPluginExecution {\n readonly toolCallId: string;\n update(result: DoomPluginToolResult): void;\n}\n\nexport interface DoomPluginTool<TParameters extends TSchema = TSchema> {\n readonly kind: 'tool';\n readonly when?: {\n readonly state?: Readonly<Record<string, string>>;\n attribution?: { kind: 'minor' | 'domain'; mode: string; label?: string };\n readonly domain?: string;\n };\n readonly name: string;\n readonly label?: string;\n readonly description: string;\n readonly parameters: TParameters;\n readonly promptSnippet?: string;\n readonly promptGuidelines?: readonly string[];\n readonly executionMode?: 'parallel' | 'serial';\n execute(input: Static<TParameters>, execution: DoomPluginToolExecution): Promise<DoomPluginToolResult>;\n}\n\nexport interface DoomPluginCommand {\n readonly kind: 'command';\n readonly name: string;\n readonly description: string;\n execute(args: string, execution: DoomPluginExecution): void | Promise<void>;\n}\n\n/** Preserve schema inference at the declaration, before heterogeneous composition. */\nexport function defineTool<TParameters extends TSchema>(\n tool: Omit<DoomPluginTool<TParameters>, 'kind'>,\n): DoomPluginTool<TParameters> {\n return { ...tool, kind: 'tool' };\n}\n\nexport function defineCommand(command: Omit<DoomPluginCommand, 'kind'>): DoomPluginCommand {\n return { ...command, kind: 'command' };\n}\n"],"mappings":";;AA+CA,SAAgB,WACd,MAC6B;CAC7B,OAAO;EAAE,GAAG;EAAM,MAAM;CAAO;AACjC;AAEA,SAAgB,cAAc,SAA6D;CACzF,OAAO;EAAE,GAAG;EAAS,MAAM;CAAU;AACvC"}
@@ -0,0 +1,56 @@
1
+ import { DoomNotificationRequest } from "./notification.mjs";
2
+ import { Static, TSchema } from "typebox";
3
+ //#region src/schemas/pluginContributions.d.ts
4
+ /** Capabilities available to portable commands on both agent hosts. */
5
+ export interface DoomPluginExecution {
6
+ readonly cwd: string;
7
+ readonly signal?: AbortSignal;
8
+ notify(request: DoomNotificationRequest): void | Promise<void>;
9
+ }
10
+ export interface DoomPluginToolResult {
11
+ content: ({
12
+ type: 'text';
13
+ text: string;
14
+ } | {
15
+ type: 'image';
16
+ data: string;
17
+ mimeType: string;
18
+ })[];
19
+ details?: unknown;
20
+ isError?: boolean;
21
+ }
22
+ export interface DoomPluginToolExecution extends DoomPluginExecution {
23
+ readonly toolCallId: string;
24
+ update(result: DoomPluginToolResult): void;
25
+ }
26
+ export interface DoomPluginTool<TParameters extends TSchema = TSchema> {
27
+ readonly kind: 'tool';
28
+ readonly when?: {
29
+ readonly state?: Readonly<Record<string, string>>;
30
+ attribution?: {
31
+ kind: 'minor' | 'domain';
32
+ mode: string;
33
+ label?: string;
34
+ };
35
+ readonly domain?: string;
36
+ };
37
+ readonly name: string;
38
+ readonly label?: string;
39
+ readonly description: string;
40
+ readonly parameters: TParameters;
41
+ readonly promptSnippet?: string;
42
+ readonly promptGuidelines?: readonly string[];
43
+ readonly executionMode?: 'parallel' | 'serial';
44
+ execute(input: Static<TParameters>, execution: DoomPluginToolExecution): Promise<DoomPluginToolResult>;
45
+ }
46
+ export interface DoomPluginCommand {
47
+ readonly kind: 'command';
48
+ readonly name: string;
49
+ readonly description: string;
50
+ execute(args: string, execution: DoomPluginExecution): void | Promise<void>;
51
+ }
52
+ /** Preserve schema inference at the declaration, before heterogeneous composition. */
53
+ export declare function defineTool<TParameters extends TSchema>(tool: Omit<DoomPluginTool<TParameters>, 'kind'>): DoomPluginTool<TParameters>;
54
+ export declare function defineCommand(command: Omit<DoomPluginCommand, 'kind'>): DoomPluginCommand;
55
+ //#endregion
56
+ //# sourceMappingURL=pluginContributions.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginContributions.d.mts","names":[],"sources":["../../../src/schemas/pluginContributions.ts"],"mappings":";;;;iBAKiB;WACN;WACA,SAAS;EAClB,OAAO,SAAS,iCAAiC;;iBAGlC;EACf;IAAY;IAAc;;IAAmB;IAAe;IAAc;;EAC1E;EACA;;iBAGe,gCAAgC;WACtC;EACT,OAAO,QAAQ;;iBAGA,eAAe,oBAAoB,UAAU;WACnD;WACA;aACE,QAAQ,SAAS;IAC1B;MAAgB;MAA0B;MAAc;;aAC/C;;WAEF;WACA;WACA;WACA,YAAY;WACZ;WACA;WACA;EACT,QAAQ,OAAO,OAAO,cAAc,WAAW,0BAA0B,QAAQ;;iBAGlE;WACN;WACA;WACA;EACT,QAAQ,cAAc,WAAW,6BAA6B;;;wBAIhD,WAAW,oBAAoB,SAC7C,MAAM,KAAK,eAAe,wBACzB,eAAe;wBAIF,cAAc,SAAS,KAAK,6BAA6B"}
@@ -0,0 +1,18 @@
1
+ //#region src/schemas/pluginContributions.ts
2
+ /** Preserve schema inference at the declaration, before heterogeneous composition. */
3
+ function defineTool(tool) {
4
+ return {
5
+ ...tool,
6
+ kind: "tool"
7
+ };
8
+ }
9
+ function defineCommand(command) {
10
+ return {
11
+ ...command,
12
+ kind: "command"
13
+ };
14
+ }
15
+ //#endregion
16
+ export { defineCommand, defineTool };
17
+
18
+ //# sourceMappingURL=pluginContributions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginContributions.mjs","names":[],"sources":["../../../src/schemas/pluginContributions.ts"],"sourcesContent":["import type { Static, TSchema } from 'typebox';\n\nimport type { DoomNotificationRequest } from './notification';\n\n/** Capabilities available to portable commands on both agent hosts. */\nexport interface DoomPluginExecution {\n readonly cwd: string;\n readonly signal?: AbortSignal;\n notify(request: DoomNotificationRequest): void | Promise<void>;\n}\n\nexport interface DoomPluginToolResult {\n content: ({ type: 'text'; text: string } | { type: 'image'; data: string; mimeType: string })[];\n details?: unknown;\n isError?: boolean;\n}\n\nexport interface DoomPluginToolExecution extends DoomPluginExecution {\n readonly toolCallId: string;\n update(result: DoomPluginToolResult): void;\n}\n\nexport interface DoomPluginTool<TParameters extends TSchema = TSchema> {\n readonly kind: 'tool';\n readonly when?: {\n readonly state?: Readonly<Record<string, string>>;\n attribution?: { kind: 'minor' | 'domain'; mode: string; label?: string };\n readonly domain?: string;\n };\n readonly name: string;\n readonly label?: string;\n readonly description: string;\n readonly parameters: TParameters;\n readonly promptSnippet?: string;\n readonly promptGuidelines?: readonly string[];\n readonly executionMode?: 'parallel' | 'serial';\n execute(input: Static<TParameters>, execution: DoomPluginToolExecution): Promise<DoomPluginToolResult>;\n}\n\nexport interface DoomPluginCommand {\n readonly kind: 'command';\n readonly name: string;\n readonly description: string;\n execute(args: string, execution: DoomPluginExecution): void | Promise<void>;\n}\n\n/** Preserve schema inference at the declaration, before heterogeneous composition. */\nexport function defineTool<TParameters extends TSchema>(\n tool: Omit<DoomPluginTool<TParameters>, 'kind'>,\n): DoomPluginTool<TParameters> {\n return { ...tool, kind: 'tool' };\n}\n\nexport function defineCommand(command: Omit<DoomPluginCommand, 'kind'>): DoomPluginCommand {\n return { ...command, kind: 'command' };\n}\n"],"mappings":";;AA+CA,SAAgB,WACd,MAC6B;CAC7B,OAAO;EAAE,GAAG;EAAM,MAAM;CAAO;AACjC;AAEA,SAAgB,cAAc,SAA6D;CACzF,OAAO;EAAE,GAAG;EAAS,MAAM;CAAU;AACvC"}