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

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 (1372) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/agent-model.cjs +4 -0
  5. package/dist/agent-model.d.cts +2 -0
  6. package/dist/agent-model.d.mts +2 -0
  7. package/dist/agent-model.mjs +2 -0
  8. package/dist/api-contracts.cjs +27 -0
  9. package/dist/api-contracts.d.cts +7 -0
  10. package/dist/api-contracts.d.mts +7 -0
  11. package/dist/api-contracts.mjs +7 -0
  12. package/dist/ask-user.cjs +8 -0
  13. package/dist/ask-user.d.cts +2 -0
  14. package/dist/ask-user.d.mts +2 -0
  15. package/dist/ask-user.mjs +2 -0
  16. package/dist/author-tools.cjs +5 -0
  17. package/dist/author-tools.d.cts +2 -0
  18. package/dist/author-tools.d.mts +2 -0
  19. package/dist/author-tools.mjs +2 -0
  20. package/dist/background-work.cjs +7 -0
  21. package/dist/background-work.d.cts +2 -0
  22. package/dist/background-work.d.mts +2 -0
  23. package/dist/background-work.mjs +2 -0
  24. package/dist/child-process.cjs +15 -0
  25. package/dist/child-process.d.cts +2 -0
  26. package/dist/child-process.d.mts +2 -0
  27. package/dist/child-process.mjs +2 -0
  28. package/dist/child.cjs +7 -0
  29. package/dist/child.d.cts +3 -0
  30. package/dist/child.d.mts +3 -0
  31. package/dist/child.mjs +3 -0
  32. package/dist/cockpit-container.cjs +4 -0
  33. package/dist/cockpit-container.d.cts +2 -0
  34. package/dist/cockpit-container.d.mts +2 -0
  35. package/dist/cockpit-container.mjs +2 -0
  36. package/dist/config.cjs +13 -0
  37. package/dist/config.d.cts +3 -0
  38. package/dist/config.d.mts +3 -0
  39. package/dist/config.mjs +2 -0
  40. package/dist/constants/authorTools.cjs +10 -0
  41. package/dist/constants/authorTools.cjs.map +1 -0
  42. package/dist/constants/authorTools.d.cts +6 -0
  43. package/dist/constants/authorTools.d.cts.map +1 -0
  44. package/dist/constants/authorTools.d.mts +6 -0
  45. package/dist/constants/authorTools.d.mts.map +1 -0
  46. package/dist/constants/authorTools.mjs +8 -0
  47. package/dist/constants/authorTools.mjs.map +1 -0
  48. package/dist/constants/contextApi.cjs +28 -0
  49. package/dist/constants/contextApi.cjs.map +1 -0
  50. package/dist/constants/contextApi.d.cts +21 -0
  51. package/dist/constants/contextApi.d.cts.map +1 -0
  52. package/dist/constants/contextApi.d.mts +21 -0
  53. package/dist/constants/contextApi.d.mts.map +1 -0
  54. package/dist/constants/contextApi.mjs +23 -0
  55. package/dist/constants/contextApi.mjs.map +1 -0
  56. package/dist/constants/remote.cjs +81 -0
  57. package/dist/constants/remote.cjs.map +1 -0
  58. package/dist/constants/remote.mjs +62 -0
  59. package/dist/constants/remote.mjs.map +1 -0
  60. package/dist/constants/voiceReloadHandoff.cjs +12 -0
  61. package/dist/constants/voiceReloadHandoff.cjs.map +1 -0
  62. package/dist/constants/voiceReloadHandoff.d.cts +7 -0
  63. package/dist/constants/voiceReloadHandoff.d.cts.map +1 -0
  64. package/dist/constants/voiceReloadHandoff.d.mts +7 -0
  65. package/dist/constants/voiceReloadHandoff.d.mts.map +1 -0
  66. package/dist/constants/voiceReloadHandoff.mjs +9 -0
  67. package/dist/constants/voiceReloadHandoff.mjs.map +1 -0
  68. package/dist/constants/voiceTools.cjs +96 -0
  69. package/dist/constants/voiceTools.cjs.map +1 -0
  70. package/dist/constants/voiceTools.d.cts +58 -0
  71. package/dist/constants/voiceTools.d.cts.map +1 -0
  72. package/dist/constants/voiceTools.d.mts +58 -0
  73. package/dist/constants/voiceTools.d.mts.map +1 -0
  74. package/dist/constants/voiceTools.mjs +60 -0
  75. package/dist/constants/voiceTools.mjs.map +1 -0
  76. package/dist/context-api.cjs +10 -0
  77. package/dist/context-api.d.cts +4 -0
  78. package/dist/context-api.d.mts +4 -0
  79. package/dist/context-api.mjs +3 -0
  80. package/dist/context-contributions.cjs +7 -0
  81. package/dist/context-contributions.d.cts +3 -0
  82. package/dist/context-contributions.d.mts +3 -0
  83. package/dist/context-contributions.mjs +3 -0
  84. package/dist/context-detail-store.cjs +100 -0
  85. package/dist/context-detail-store.cjs.map +1 -0
  86. package/dist/context-detail-store.d.cts +19 -0
  87. package/dist/context-detail-store.d.cts.map +1 -0
  88. package/dist/context-detail-store.d.mts +19 -0
  89. package/dist/context-detail-store.d.mts.map +1 -0
  90. package/dist/context-detail-store.mjs +91 -0
  91. package/dist/context-detail-store.mjs.map +1 -0
  92. package/dist/context-detail.cjs +57 -0
  93. package/dist/context-detail.cjs.map +1 -0
  94. package/dist/context-detail.d.cts +13 -0
  95. package/dist/context-detail.d.cts.map +1 -0
  96. package/dist/context-detail.d.mts +13 -0
  97. package/dist/context-detail.d.mts.map +1 -0
  98. package/dist/context-detail.mjs +56 -0
  99. package/dist/context-detail.mjs.map +1 -0
  100. package/dist/context-projection.cjs +120 -0
  101. package/dist/context-projection.cjs.map +1 -0
  102. package/dist/context-projection.d.cts +113 -0
  103. package/dist/context-projection.d.cts.map +1 -0
  104. package/dist/context-projection.d.mts +113 -0
  105. package/dist/context-projection.d.mts.map +1 -0
  106. package/dist/context-projection.mjs +116 -0
  107. package/dist/context-projection.mjs.map +1 -0
  108. package/dist/cordis-host.cjs +10 -0
  109. package/dist/cordis-host.d.cts +2 -0
  110. package/dist/cordis-host.d.mts +2 -0
  111. package/dist/cordis-host.mjs +2 -0
  112. package/dist/delegation.cjs +18 -0
  113. package/dist/delegation.d.cts +2 -0
  114. package/dist/delegation.d.mts +2 -0
  115. package/dist/delegation.mjs +2 -0
  116. package/dist/doom-package.cjs +61 -0
  117. package/dist/doom-package.cjs.map +1 -0
  118. package/dist/doom-package.d.cts +17 -0
  119. package/dist/doom-package.d.cts.map +1 -0
  120. package/dist/doom-package.d.mts +17 -0
  121. package/dist/doom-package.d.mts.map +1 -0
  122. package/dist/doom-package.mjs +54 -0
  123. package/dist/doom-package.mjs.map +1 -0
  124. package/dist/extensions/serverPlugin.cjs +106 -0
  125. package/dist/extensions/serverPlugin.cjs.map +1 -0
  126. package/dist/extensions/serverPlugin.d.cts +5 -0
  127. package/dist/extensions/serverPlugin.d.cts.map +1 -0
  128. package/dist/extensions/serverPlugin.d.mts +5 -0
  129. package/dist/extensions/serverPlugin.d.mts.map +1 -0
  130. package/dist/extensions/serverPlugin.mjs +106 -0
  131. package/dist/extensions/serverPlugin.mjs.map +1 -0
  132. package/dist/extensions/webPlugin.cjs +28 -0
  133. package/dist/extensions/webPlugin.cjs.map +1 -0
  134. package/dist/extensions/webPlugin.d.cts +19 -0
  135. package/dist/extensions/webPlugin.d.cts.map +1 -0
  136. package/dist/extensions/webPlugin.d.mts +19 -0
  137. package/dist/extensions/webPlugin.d.mts.map +1 -0
  138. package/dist/extensions/webPlugin.mjs +26 -0
  139. package/dist/extensions/webPlugin.mjs.map +1 -0
  140. package/dist/footer.cjs +6 -0
  141. package/dist/footer.d.cts +2 -0
  142. package/dist/footer.d.mts +2 -0
  143. package/dist/footer.mjs +2 -0
  144. package/dist/headless-hub.cjs +499 -0
  145. package/dist/headless-hub.cjs.map +1 -0
  146. package/dist/headless-hub.d.cts +96 -0
  147. package/dist/headless-hub.d.cts.map +1 -0
  148. package/dist/headless-hub.d.mts +96 -0
  149. package/dist/headless-hub.d.mts.map +1 -0
  150. package/dist/headless-hub.mjs +498 -0
  151. package/dist/headless-hub.mjs.map +1 -0
  152. package/dist/headless-server.cjs +492 -0
  153. package/dist/headless-server.cjs.map +1 -0
  154. package/dist/headless-server.d.cts +30 -0
  155. package/dist/headless-server.d.cts.map +1 -0
  156. package/dist/headless-server.d.mts +30 -0
  157. package/dist/headless-server.d.mts.map +1 -0
  158. package/dist/headless-server.mjs +488 -0
  159. package/dist/headless-server.mjs.map +1 -0
  160. package/dist/headless-session-host.cjs +0 -0
  161. package/dist/headless-session-host.d.cts +45 -0
  162. package/dist/headless-session-host.d.cts.map +1 -0
  163. package/dist/headless-session-host.d.mts +45 -0
  164. package/dist/headless-session-host.d.mts.map +1 -0
  165. package/dist/headless-session-host.mjs +1 -0
  166. package/dist/headless-session-manager.cjs +51 -0
  167. package/dist/headless-session-manager.cjs.map +1 -0
  168. package/dist/headless-session-manager.d.cts +6 -0
  169. package/dist/headless-session-manager.d.cts.map +1 -0
  170. package/dist/headless-session-manager.d.mts +6 -0
  171. package/dist/headless-session-manager.d.mts.map +1 -0
  172. package/dist/headless-session-manager.mjs +50 -0
  173. package/dist/headless-session-manager.mjs.map +1 -0
  174. package/dist/headless.cjs +7 -0
  175. package/dist/headless.d.cts +2 -0
  176. package/dist/headless.d.mts +2 -0
  177. package/dist/headless.mjs +2 -0
  178. package/dist/help.cjs +21 -0
  179. package/dist/help.d.cts +2 -0
  180. package/dist/help.d.mts +2 -0
  181. package/dist/help.mjs +2 -0
  182. package/dist/history-import.cjs +553 -0
  183. package/dist/history-import.cjs.map +1 -0
  184. package/dist/history-import.d.cts +76 -0
  185. package/dist/history-import.d.cts.map +1 -0
  186. package/dist/history-import.d.mts +76 -0
  187. package/dist/history-import.d.mts.map +1 -0
  188. package/dist/history-import.mjs +547 -0
  189. package/dist/history-import.mjs.map +1 -0
  190. package/dist/history-ownership.cjs +169 -0
  191. package/dist/history-ownership.cjs.map +1 -0
  192. package/dist/history-ownership.d.cts +23 -0
  193. package/dist/history-ownership.d.cts.map +1 -0
  194. package/dist/history-ownership.d.mts +23 -0
  195. package/dist/history-ownership.d.mts.map +1 -0
  196. package/dist/history-ownership.mjs +163 -0
  197. package/dist/history-ownership.mjs.map +1 -0
  198. package/dist/history.cjs +13 -0
  199. package/dist/history.d.cts +6 -0
  200. package/dist/history.d.mts +6 -0
  201. package/dist/history.mjs +6 -0
  202. package/dist/hub-channel.cjs +0 -0
  203. package/dist/hub-channel.d.cts +2 -0
  204. package/dist/hub-channel.d.mts +2 -0
  205. package/dist/hub-channel.mjs +1 -0
  206. package/dist/index.cjs +44 -0
  207. package/dist/index.d.cts +6 -0
  208. package/dist/index.d.mts +6 -0
  209. package/dist/index.mjs +6 -0
  210. package/dist/json.cjs +6 -0
  211. package/dist/json.d.cts +2 -0
  212. package/dist/json.d.mts +2 -0
  213. package/dist/json.mjs +2 -0
  214. package/dist/jsonl-session-repo.cjs +217 -0
  215. package/dist/jsonl-session-repo.cjs.map +1 -0
  216. package/dist/jsonl-session-repo.d.cts +7 -0
  217. package/dist/jsonl-session-repo.d.cts.map +1 -0
  218. package/dist/jsonl-session-repo.d.mts +7 -0
  219. package/dist/jsonl-session-repo.d.mts.map +1 -0
  220. package/dist/jsonl-session-repo.mjs +212 -0
  221. package/dist/jsonl-session-repo.mjs.map +1 -0
  222. package/dist/kernel.cjs +3 -0
  223. package/dist/kernel.d.cts +3 -0
  224. package/dist/kernel.d.mts +3 -0
  225. package/dist/kernel.mjs +2 -0
  226. package/dist/leader.cjs +9 -0
  227. package/dist/leader.d.cts +2 -0
  228. package/dist/leader.d.mts +2 -0
  229. package/dist/leader.mjs +2 -0
  230. package/dist/log-sink-telemetry.cjs +5 -0
  231. package/dist/log-sink-telemetry.d.cts +2 -0
  232. package/dist/log-sink-telemetry.d.mts +2 -0
  233. package/dist/log-sink-telemetry.mjs +2 -0
  234. package/dist/machine-api.cjs +73 -0
  235. package/dist/machine-api.cjs.map +1 -0
  236. package/dist/machine-api.d.cts +7 -0
  237. package/dist/machine-api.d.cts.map +1 -0
  238. package/dist/machine-api.d.mts +7 -0
  239. package/dist/machine-api.d.mts.map +1 -0
  240. package/dist/machine-api.mjs +70 -0
  241. package/dist/machine-api.mjs.map +1 -0
  242. package/dist/main.cjs +10 -0
  243. package/dist/main.d.cts +5 -0
  244. package/dist/main.d.mts +5 -0
  245. package/dist/main.mjs +4 -0
  246. package/dist/mcp-projection.cjs +15 -0
  247. package/dist/mcp-projection.d.cts +2 -0
  248. package/dist/mcp-projection.d.mts +2 -0
  249. package/dist/mcp-projection.mjs +2 -0
  250. package/dist/mcp-schema-cost.cjs +195 -0
  251. package/dist/mcp-schema-cost.cjs.map +1 -0
  252. package/dist/mcp-schema-cost.d.cts +35 -0
  253. package/dist/mcp-schema-cost.d.cts.map +1 -0
  254. package/dist/mcp-schema-cost.d.mts +35 -0
  255. package/dist/mcp-schema-cost.d.mts.map +1 -0
  256. package/dist/mcp-schema-cost.mjs +190 -0
  257. package/dist/mcp-schema-cost.mjs.map +1 -0
  258. package/dist/mcp-session.cjs +9 -0
  259. package/dist/mcp-session.d.cts +2 -0
  260. package/dist/mcp-session.d.mts +2 -0
  261. package/dist/mcp-session.mjs +2 -0
  262. package/dist/mcp-status.cjs +7 -0
  263. package/dist/mcp-status.d.cts +2 -0
  264. package/dist/mcp-status.d.mts +2 -0
  265. package/dist/mcp-status.mjs +2 -0
  266. package/dist/mcp-tool-resolver.cjs +5 -0
  267. package/dist/mcp-tool-resolver.d.cts +2 -0
  268. package/dist/mcp-tool-resolver.d.mts +2 -0
  269. package/dist/mcp-tool-resolver.mjs +2 -0
  270. package/dist/module-resolution.cjs +405 -0
  271. package/dist/module-resolution.cjs.map +1 -0
  272. package/dist/module-resolution.d.cts +67 -0
  273. package/dist/module-resolution.d.cts.map +1 -0
  274. package/dist/module-resolution.d.mts +67 -0
  275. package/dist/module-resolution.d.mts.map +1 -0
  276. package/dist/module-resolution.mjs +389 -0
  277. package/dist/module-resolution.mjs.map +1 -0
  278. package/dist/narration.cjs +10 -0
  279. package/dist/narration.d.cts +2 -0
  280. package/dist/narration.d.mts +2 -0
  281. package/dist/narration.mjs +2 -0
  282. package/dist/notification.cjs +17 -0
  283. package/dist/notification.d.cts +2 -0
  284. package/dist/notification.d.mts +2 -0
  285. package/dist/notification.mjs +2 -0
  286. package/dist/package-api-server.cjs +161 -0
  287. package/dist/package-api-server.cjs.map +1 -0
  288. package/dist/package-api-server.d.cts +47 -0
  289. package/dist/package-api-server.d.cts.map +1 -0
  290. package/dist/package-api-server.d.mts +47 -0
  291. package/dist/package-api-server.d.mts.map +1 -0
  292. package/dist/package-api-server.mjs +159 -0
  293. package/dist/package-api-server.mjs.map +1 -0
  294. package/dist/package-api.cjs +11 -0
  295. package/dist/package-api.d.cts +2 -0
  296. package/dist/package-api.d.mts +2 -0
  297. package/dist/package-api.mjs +2 -0
  298. package/dist/pi/piSessionRuntime.cjs +520 -0
  299. package/dist/pi/piSessionRuntime.cjs.map +1 -0
  300. package/dist/pi/piSessionRuntime.d.cts +43 -0
  301. package/dist/pi/piSessionRuntime.d.cts.map +1 -0
  302. package/dist/pi/piSessionRuntime.d.mts +43 -0
  303. package/dist/pi/piSessionRuntime.d.mts.map +1 -0
  304. package/dist/pi/piSessionRuntime.mjs +519 -0
  305. package/dist/pi/piSessionRuntime.mjs.map +1 -0
  306. package/dist/pi/piWebSocketListener.cjs +115 -0
  307. package/dist/pi/piWebSocketListener.cjs.map +1 -0
  308. package/dist/pi/piWebSocketListener.mjs +115 -0
  309. package/dist/pi/piWebSocketListener.mjs.map +1 -0
  310. package/dist/pi-extension.cjs +8 -0
  311. package/dist/pi-extension.d.cts +5 -0
  312. package/dist/pi-extension.d.mts +5 -0
  313. package/dist/pi-extension.mjs +4 -0
  314. package/dist/pi-settings.cjs +11 -0
  315. package/dist/pi-settings.d.cts +2 -0
  316. package/dist/pi-settings.d.mts +2 -0
  317. package/dist/pi-settings.mjs +2 -0
  318. package/dist/plugin-protocol.cjs +10 -0
  319. package/dist/plugin-protocol.d.cts +2 -0
  320. package/dist/plugin-protocol.d.mts +2 -0
  321. package/dist/plugin-protocol.mjs +2 -0
  322. package/dist/profile-identity.cjs +6 -0
  323. package/dist/profile-identity.d.cts +2 -0
  324. package/dist/profile-identity.d.mts +2 -0
  325. package/dist/profile-identity.mjs +2 -0
  326. package/dist/protocol.cjs +10 -0
  327. package/dist/protocol.d.cts +2 -0
  328. package/dist/protocol.d.mts +2 -0
  329. package/dist/protocol.mjs +2 -0
  330. package/dist/readiness.cjs +8 -0
  331. package/dist/readiness.d.cts +2 -0
  332. package/dist/readiness.d.mts +2 -0
  333. package/dist/readiness.mjs +2 -0
  334. package/dist/relaunch-handoff.cjs +6 -0
  335. package/dist/relaunch-handoff.d.cts +2 -0
  336. package/dist/relaunch-handoff.d.mts +2 -0
  337. package/dist/relaunch-handoff.mjs +2 -0
  338. package/dist/remote-api.cjs +42 -0
  339. package/dist/remote-api.cjs.map +1 -0
  340. package/dist/remote-api.d.cts +7 -0
  341. package/dist/remote-api.d.cts.map +1 -0
  342. package/dist/remote-api.d.mts +7 -0
  343. package/dist/remote-api.d.mts.map +1 -0
  344. package/dist/remote-api.mjs +41 -0
  345. package/dist/remote-api.mjs.map +1 -0
  346. package/dist/remote-runtime.cjs +394 -0
  347. package/dist/remote-runtime.cjs.map +1 -0
  348. package/dist/remote-runtime.d.cts +26 -0
  349. package/dist/remote-runtime.d.cts.map +1 -0
  350. package/dist/remote-runtime.d.mts +26 -0
  351. package/dist/remote-runtime.d.mts.map +1 -0
  352. package/dist/remote-runtime.mjs +390 -0
  353. package/dist/remote-runtime.mjs.map +1 -0
  354. package/dist/runtime-config.cjs +232 -0
  355. package/dist/runtime-config.cjs.map +1 -0
  356. package/dist/runtime-config.d.cts +313 -0
  357. package/dist/runtime-config.d.cts.map +1 -0
  358. package/dist/runtime-config.d.mts +313 -0
  359. package/dist/runtime-config.d.mts.map +1 -0
  360. package/dist/runtime-config.mjs +221 -0
  361. package/dist/runtime-config.mjs.map +1 -0
  362. package/dist/runtime-context-api.cjs +64 -0
  363. package/dist/runtime-context-api.cjs.map +1 -0
  364. package/dist/runtime-context-api.d.cts +16 -0
  365. package/dist/runtime-context-api.d.cts.map +1 -0
  366. package/dist/runtime-context-api.d.mts +16 -0
  367. package/dist/runtime-context-api.d.mts.map +1 -0
  368. package/dist/runtime-context-api.mjs +62 -0
  369. package/dist/runtime-context-api.mjs.map +1 -0
  370. package/dist/runtime-cordis-host.cjs +191 -0
  371. package/dist/runtime-cordis-host.cjs.map +1 -0
  372. package/dist/runtime-cordis-host.d.cts +57 -0
  373. package/dist/runtime-cordis-host.d.cts.map +1 -0
  374. package/dist/runtime-cordis-host.d.mts +57 -0
  375. package/dist/runtime-cordis-host.d.mts.map +1 -0
  376. package/dist/runtime-cordis-host.mjs +183 -0
  377. package/dist/runtime-cordis-host.mjs.map +1 -0
  378. package/dist/runtime-headless-session-manager.cjs +0 -0
  379. package/dist/runtime-headless-session-manager.d.cts +14 -0
  380. package/dist/runtime-headless-session-manager.d.cts.map +1 -0
  381. package/dist/runtime-headless-session-manager.d.mts +14 -0
  382. package/dist/runtime-headless-session-manager.d.mts.map +1 -0
  383. package/dist/runtime-headless-session-manager.mjs +1 -0
  384. package/dist/runtime-identity.cjs +26 -0
  385. package/dist/runtime-identity.cjs.map +1 -0
  386. package/dist/runtime-identity.d.cts +7 -0
  387. package/dist/runtime-identity.d.cts.map +1 -0
  388. package/dist/runtime-identity.d.mts +7 -0
  389. package/dist/runtime-identity.d.mts.map +1 -0
  390. package/dist/runtime-identity.mjs +21 -0
  391. package/dist/runtime-identity.mjs.map +1 -0
  392. package/dist/runtime-json.cjs +46 -0
  393. package/dist/runtime-json.cjs.map +1 -0
  394. package/dist/runtime-json.d.cts +22 -0
  395. package/dist/runtime-json.d.cts.map +1 -0
  396. package/dist/runtime-json.d.mts +22 -0
  397. package/dist/runtime-json.d.mts.map +1 -0
  398. package/dist/runtime-json.mjs +39 -0
  399. package/dist/runtime-json.mjs.map +1 -0
  400. package/dist/runtime-log-sink-telemetry.cjs +102 -0
  401. package/dist/runtime-log-sink-telemetry.cjs.map +1 -0
  402. package/dist/runtime-log-sink-telemetry.d.cts +49 -0
  403. package/dist/runtime-log-sink-telemetry.d.cts.map +1 -0
  404. package/dist/runtime-log-sink-telemetry.d.mts +49 -0
  405. package/dist/runtime-log-sink-telemetry.d.mts.map +1 -0
  406. package/dist/runtime-log-sink-telemetry.mjs +99 -0
  407. package/dist/runtime-log-sink-telemetry.mjs.map +1 -0
  408. package/dist/runtime-pi-extension.cjs +243 -0
  409. package/dist/runtime-pi-extension.cjs.map +1 -0
  410. package/dist/runtime-pi-extension.d.cts +102 -0
  411. package/dist/runtime-pi-extension.d.cts.map +1 -0
  412. package/dist/runtime-pi-extension.d.mts +102 -0
  413. package/dist/runtime-pi-extension.d.mts.map +1 -0
  414. package/dist/runtime-pi-extension.mjs +242 -0
  415. package/dist/runtime-pi-extension.mjs.map +1 -0
  416. package/dist/runtime-pi-settings.cjs +104 -0
  417. package/dist/runtime-pi-settings.cjs.map +1 -0
  418. package/dist/runtime-pi-settings.d.cts +23 -0
  419. package/dist/runtime-pi-settings.d.cts.map +1 -0
  420. package/dist/runtime-pi-settings.d.mts +23 -0
  421. package/dist/runtime-pi-settings.d.mts.map +1 -0
  422. package/dist/runtime-pi-settings.mjs +92 -0
  423. package/dist/runtime-pi-settings.mjs.map +1 -0
  424. package/dist/runtime-protocol.cjs +223 -0
  425. package/dist/runtime-protocol.cjs.map +1 -0
  426. package/dist/runtime-protocol.d.cts +84 -0
  427. package/dist/runtime-protocol.d.cts.map +1 -0
  428. package/dist/runtime-protocol.d.mts +84 -0
  429. package/dist/runtime-protocol.d.mts.map +1 -0
  430. package/dist/runtime-protocol.mjs +215 -0
  431. package/dist/runtime-protocol.mjs.map +1 -0
  432. package/dist/runtime-tool-names.cjs +51 -0
  433. package/dist/runtime-tool-names.cjs.map +1 -0
  434. package/dist/runtime-tool-names.d.cts +24 -0
  435. package/dist/runtime-tool-names.d.cts.map +1 -0
  436. package/dist/runtime-tool-names.d.mts +24 -0
  437. package/dist/runtime-tool-names.d.mts.map +1 -0
  438. package/dist/runtime-tool-names.mjs +49 -0
  439. package/dist/runtime-tool-names.mjs.map +1 -0
  440. package/dist/runtime-transition.cjs +27 -0
  441. package/dist/runtime-transition.cjs.map +1 -0
  442. package/dist/runtime-transition.d.cts +114 -0
  443. package/dist/runtime-transition.d.cts.map +1 -0
  444. package/dist/runtime-transition.d.mts +114 -0
  445. package/dist/runtime-transition.d.mts.map +1 -0
  446. package/dist/runtime-transition.mjs +24 -0
  447. package/dist/runtime-transition.mjs.map +1 -0
  448. package/dist/sandbox-harness.cjs +6 -0
  449. package/dist/sandbox-harness.d.cts +2 -0
  450. package/dist/sandbox-harness.d.mts +2 -0
  451. package/dist/sandbox-harness.mjs +2 -0
  452. package/dist/schemas/agentModel.cjs +33 -0
  453. package/dist/schemas/agentModel.cjs.map +1 -0
  454. package/dist/schemas/agentModel.d.cts +26 -0
  455. package/dist/schemas/agentModel.d.cts.map +1 -0
  456. package/dist/schemas/agentModel.d.mts +26 -0
  457. package/dist/schemas/agentModel.d.mts.map +1 -0
  458. package/dist/schemas/agentModel.mjs +32 -0
  459. package/dist/schemas/agentModel.mjs.map +1 -0
  460. package/dist/schemas/apiContracts.cjs +145 -0
  461. package/dist/schemas/apiContracts.cjs.map +1 -0
  462. package/dist/schemas/apiContracts.d.cts +81 -0
  463. package/dist/schemas/apiContracts.d.cts.map +1 -0
  464. package/dist/schemas/apiContracts.d.mts +81 -0
  465. package/dist/schemas/apiContracts.d.mts.map +1 -0
  466. package/dist/schemas/apiContracts.mjs +140 -0
  467. package/dist/schemas/apiContracts.mjs.map +1 -0
  468. package/dist/schemas/askUser.cjs +42 -0
  469. package/dist/schemas/askUser.cjs.map +1 -0
  470. package/dist/schemas/askUser.d.cts +47 -0
  471. package/dist/schemas/askUser.d.cts.map +1 -0
  472. package/dist/schemas/askUser.d.mts +47 -0
  473. package/dist/schemas/askUser.d.mts.map +1 -0
  474. package/dist/schemas/askUser.mjs +37 -0
  475. package/dist/schemas/askUser.mjs.map +1 -0
  476. package/dist/schemas/backgroundWork.cjs +31 -0
  477. package/dist/schemas/backgroundWork.cjs.map +1 -0
  478. package/dist/schemas/backgroundWork.d.cts +72 -0
  479. package/dist/schemas/backgroundWork.d.cts.map +1 -0
  480. package/dist/schemas/backgroundWork.d.mts +72 -0
  481. package/dist/schemas/backgroundWork.d.mts.map +1 -0
  482. package/dist/schemas/backgroundWork.mjs +27 -0
  483. package/dist/schemas/backgroundWork.mjs.map +1 -0
  484. package/dist/schemas/builtinApiContracts.cjs +37 -0
  485. package/dist/schemas/builtinApiContracts.cjs.map +1 -0
  486. package/dist/schemas/builtinApiContracts.d.cts +51 -0
  487. package/dist/schemas/builtinApiContracts.d.cts.map +1 -0
  488. package/dist/schemas/builtinApiContracts.d.mts +51 -0
  489. package/dist/schemas/builtinApiContracts.d.mts.map +1 -0
  490. package/dist/schemas/builtinApiContracts.mjs +37 -0
  491. package/dist/schemas/builtinApiContracts.mjs.map +1 -0
  492. package/dist/schemas/childProcess.cjs +67 -0
  493. package/dist/schemas/childProcess.cjs.map +1 -0
  494. package/dist/schemas/childProcess.d.cts +30 -0
  495. package/dist/schemas/childProcess.d.cts.map +1 -0
  496. package/dist/schemas/childProcess.d.mts +30 -0
  497. package/dist/schemas/childProcess.d.mts.map +1 -0
  498. package/dist/schemas/childProcess.mjs +55 -0
  499. package/dist/schemas/childProcess.mjs.map +1 -0
  500. package/dist/schemas/cockpitContainer.cjs +31 -0
  501. package/dist/schemas/cockpitContainer.cjs.map +1 -0
  502. package/dist/schemas/cockpitContainer.d.cts +80 -0
  503. package/dist/schemas/cockpitContainer.d.cts.map +1 -0
  504. package/dist/schemas/cockpitContainer.d.mts +80 -0
  505. package/dist/schemas/cockpitContainer.d.mts.map +1 -0
  506. package/dist/schemas/cockpitContainer.mjs +30 -0
  507. package/dist/schemas/cockpitContainer.mjs.map +1 -0
  508. package/dist/schemas/contextContributions.cjs +17 -0
  509. package/dist/schemas/contextContributions.cjs.map +1 -0
  510. package/dist/schemas/contextContributions.d.cts +49 -0
  511. package/dist/schemas/contextContributions.d.cts.map +1 -0
  512. package/dist/schemas/contextContributions.d.mts +49 -0
  513. package/dist/schemas/contextContributions.d.mts.map +1 -0
  514. package/dist/schemas/contextContributions.mjs +15 -0
  515. package/dist/schemas/contextContributions.mjs.map +1 -0
  516. package/dist/schemas/delegation.cjs +91 -0
  517. package/dist/schemas/delegation.cjs.map +1 -0
  518. package/dist/schemas/delegation.d.cts +95 -0
  519. package/dist/schemas/delegation.d.cts.map +1 -0
  520. package/dist/schemas/delegation.d.mts +95 -0
  521. package/dist/schemas/delegation.d.mts.map +1 -0
  522. package/dist/schemas/delegation.mjs +76 -0
  523. package/dist/schemas/delegation.mjs.map +1 -0
  524. package/dist/schemas/footer.cjs +48 -0
  525. package/dist/schemas/footer.cjs.map +1 -0
  526. package/dist/schemas/footer.d.cts +48 -0
  527. package/dist/schemas/footer.d.cts.map +1 -0
  528. package/dist/schemas/footer.d.mts +48 -0
  529. package/dist/schemas/footer.d.mts.map +1 -0
  530. package/dist/schemas/footer.mjs +45 -0
  531. package/dist/schemas/footer.mjs.map +1 -0
  532. package/dist/schemas/headless.cjs +23 -0
  533. package/dist/schemas/headless.cjs.map +1 -0
  534. package/dist/schemas/headless.d.cts +238 -0
  535. package/dist/schemas/headless.d.cts.map +1 -0
  536. package/dist/schemas/headless.d.mts +238 -0
  537. package/dist/schemas/headless.d.mts.map +1 -0
  538. package/dist/schemas/headless.mjs +19 -0
  539. package/dist/schemas/headless.mjs.map +1 -0
  540. package/dist/schemas/help.cjs +249 -0
  541. package/dist/schemas/help.cjs.map +1 -0
  542. package/dist/schemas/help.d.cts +106 -0
  543. package/dist/schemas/help.d.cts.map +1 -0
  544. package/dist/schemas/help.d.mts +106 -0
  545. package/dist/schemas/help.d.mts.map +1 -0
  546. package/dist/schemas/help.mjs +231 -0
  547. package/dist/schemas/help.mjs.map +1 -0
  548. package/dist/schemas/httpApiContracts.cjs +388 -0
  549. package/dist/schemas/httpApiContracts.cjs.map +1 -0
  550. package/dist/schemas/httpApiContracts.d.cts +14 -0
  551. package/dist/schemas/httpApiContracts.d.cts.map +1 -0
  552. package/dist/schemas/httpApiContracts.d.mts +14 -0
  553. package/dist/schemas/httpApiContracts.d.mts.map +1 -0
  554. package/dist/schemas/httpApiContracts.mjs +377 -0
  555. package/dist/schemas/httpApiContracts.mjs.map +1 -0
  556. package/dist/schemas/hubChannel.d.cts +91 -0
  557. package/dist/schemas/hubChannel.d.cts.map +1 -0
  558. package/dist/schemas/hubChannel.d.mts +91 -0
  559. package/dist/schemas/hubChannel.d.mts.map +1 -0
  560. package/dist/schemas/leader.cjs +57 -0
  561. package/dist/schemas/leader.cjs.map +1 -0
  562. package/dist/schemas/leader.d.cts +107 -0
  563. package/dist/schemas/leader.d.cts.map +1 -0
  564. package/dist/schemas/leader.d.mts +107 -0
  565. package/dist/schemas/leader.d.mts.map +1 -0
  566. package/dist/schemas/leader.mjs +51 -0
  567. package/dist/schemas/leader.mjs.map +1 -0
  568. package/dist/schemas/mcpProjection.cjs +114 -0
  569. package/dist/schemas/mcpProjection.cjs.map +1 -0
  570. package/dist/schemas/mcpProjection.d.cts +116 -0
  571. package/dist/schemas/mcpProjection.d.cts.map +1 -0
  572. package/dist/schemas/mcpProjection.d.mts +116 -0
  573. package/dist/schemas/mcpProjection.d.mts.map +1 -0
  574. package/dist/schemas/mcpProjection.mjs +102 -0
  575. package/dist/schemas/mcpProjection.mjs.map +1 -0
  576. package/dist/schemas/mcpSession.cjs +57 -0
  577. package/dist/schemas/mcpSession.cjs.map +1 -0
  578. package/dist/schemas/mcpSession.d.cts +57 -0
  579. package/dist/schemas/mcpSession.d.cts.map +1 -0
  580. package/dist/schemas/mcpSession.d.mts +57 -0
  581. package/dist/schemas/mcpSession.d.mts.map +1 -0
  582. package/dist/schemas/mcpSession.mjs +51 -0
  583. package/dist/schemas/mcpSession.mjs.map +1 -0
  584. package/dist/schemas/mcpStatus.cjs +52 -0
  585. package/dist/schemas/mcpStatus.cjs.map +1 -0
  586. package/dist/schemas/mcpStatus.d.cts +73 -0
  587. package/dist/schemas/mcpStatus.d.cts.map +1 -0
  588. package/dist/schemas/mcpStatus.d.mts +73 -0
  589. package/dist/schemas/mcpStatus.d.mts.map +1 -0
  590. package/dist/schemas/mcpStatus.mjs +48 -0
  591. package/dist/schemas/mcpStatus.mjs.map +1 -0
  592. package/dist/schemas/mcpToolResolver.cjs +17 -0
  593. package/dist/schemas/mcpToolResolver.cjs.map +1 -0
  594. package/dist/schemas/mcpToolResolver.d.cts +24 -0
  595. package/dist/schemas/mcpToolResolver.d.cts.map +1 -0
  596. package/dist/schemas/mcpToolResolver.d.mts +24 -0
  597. package/dist/schemas/mcpToolResolver.d.mts.map +1 -0
  598. package/dist/schemas/mcpToolResolver.mjs +15 -0
  599. package/dist/schemas/mcpToolResolver.mjs.map +1 -0
  600. package/dist/schemas/narration.cjs +54 -0
  601. package/dist/schemas/narration.cjs.map +1 -0
  602. package/dist/schemas/narration.d.cts +29 -0
  603. package/dist/schemas/narration.d.cts.map +1 -0
  604. package/dist/schemas/narration.d.mts +29 -0
  605. package/dist/schemas/narration.d.mts.map +1 -0
  606. package/dist/schemas/narration.mjs +47 -0
  607. package/dist/schemas/narration.mjs.map +1 -0
  608. package/dist/schemas/notification.cjs +122 -0
  609. package/dist/schemas/notification.cjs.map +1 -0
  610. package/dist/schemas/notification.d.cts +48 -0
  611. package/dist/schemas/notification.d.cts.map +1 -0
  612. package/dist/schemas/notification.d.mts +48 -0
  613. package/dist/schemas/notification.d.mts.map +1 -0
  614. package/dist/schemas/notification.mjs +108 -0
  615. package/dist/schemas/notification.mjs.map +1 -0
  616. package/dist/schemas/packageApi.cjs +52 -0
  617. package/dist/schemas/packageApi.cjs.map +1 -0
  618. package/dist/schemas/packageApi.d.cts +149 -0
  619. package/dist/schemas/packageApi.d.cts.map +1 -0
  620. package/dist/schemas/packageApi.d.mts +149 -0
  621. package/dist/schemas/packageApi.d.mts.map +1 -0
  622. package/dist/schemas/packageApi.mjs +44 -0
  623. package/dist/schemas/packageApi.mjs.map +1 -0
  624. package/dist/schemas/piTool.cjs +25 -0
  625. package/dist/schemas/piTool.cjs.map +1 -0
  626. package/dist/schemas/piTool.d.cts +12 -0
  627. package/dist/schemas/piTool.d.cts.map +1 -0
  628. package/dist/schemas/piTool.d.mts +12 -0
  629. package/dist/schemas/piTool.d.mts.map +1 -0
  630. package/dist/schemas/piTool.mjs +25 -0
  631. package/dist/schemas/piTool.mjs.map +1 -0
  632. package/dist/schemas/pluginContributions.cjs +19 -0
  633. package/dist/schemas/pluginContributions.cjs.map +1 -0
  634. package/dist/schemas/pluginContributions.d.cts +56 -0
  635. package/dist/schemas/pluginContributions.d.cts.map +1 -0
  636. package/dist/schemas/pluginContributions.d.mts +56 -0
  637. package/dist/schemas/pluginContributions.d.mts.map +1 -0
  638. package/dist/schemas/pluginContributions.mjs +18 -0
  639. package/dist/schemas/pluginContributions.mjs.map +1 -0
  640. package/dist/schemas/pluginProtocol.cjs +103 -0
  641. package/dist/schemas/pluginProtocol.cjs.map +1 -0
  642. package/dist/schemas/pluginProtocol.d.cts +68 -0
  643. package/dist/schemas/pluginProtocol.d.cts.map +1 -0
  644. package/dist/schemas/pluginProtocol.d.mts +68 -0
  645. package/dist/schemas/pluginProtocol.d.mts.map +1 -0
  646. package/dist/schemas/pluginProtocol.mjs +96 -0
  647. package/dist/schemas/pluginProtocol.mjs.map +1 -0
  648. package/dist/schemas/profileIdentity.cjs +67 -0
  649. package/dist/schemas/profileIdentity.cjs.map +1 -0
  650. package/dist/schemas/profileIdentity.d.cts +50 -0
  651. package/dist/schemas/profileIdentity.d.cts.map +1 -0
  652. package/dist/schemas/profileIdentity.d.mts +50 -0
  653. package/dist/schemas/profileIdentity.d.mts.map +1 -0
  654. package/dist/schemas/profileIdentity.mjs +64 -0
  655. package/dist/schemas/profileIdentity.mjs.map +1 -0
  656. package/dist/schemas/readiness.cjs +251 -0
  657. package/dist/schemas/readiness.cjs.map +1 -0
  658. package/dist/schemas/readiness.d.cts +84 -0
  659. package/dist/schemas/readiness.d.cts.map +1 -0
  660. package/dist/schemas/readiness.d.mts +84 -0
  661. package/dist/schemas/readiness.d.mts.map +1 -0
  662. package/dist/schemas/readiness.mjs +246 -0
  663. package/dist/schemas/readiness.mjs.map +1 -0
  664. package/dist/schemas/relaunchHandoff.cjs +47 -0
  665. package/dist/schemas/relaunchHandoff.cjs.map +1 -0
  666. package/dist/schemas/relaunchHandoff.d.cts +25 -0
  667. package/dist/schemas/relaunchHandoff.d.cts.map +1 -0
  668. package/dist/schemas/relaunchHandoff.d.mts +25 -0
  669. package/dist/schemas/relaunchHandoff.d.mts.map +1 -0
  670. package/dist/schemas/relaunchHandoff.mjs +44 -0
  671. package/dist/schemas/relaunchHandoff.mjs.map +1 -0
  672. package/dist/schemas/remoteApiContracts.cjs +307 -0
  673. package/dist/schemas/remoteApiContracts.cjs.map +1 -0
  674. package/dist/schemas/remoteApiContracts.mjs +303 -0
  675. package/dist/schemas/remoteApiContracts.mjs.map +1 -0
  676. package/dist/schemas/sandboxHarness.cjs +29 -0
  677. package/dist/schemas/sandboxHarness.cjs.map +1 -0
  678. package/dist/schemas/sandboxHarness.d.cts +39 -0
  679. package/dist/schemas/sandboxHarness.d.cts.map +1 -0
  680. package/dist/schemas/sandboxHarness.d.mts +39 -0
  681. package/dist/schemas/sandboxHarness.d.mts.map +1 -0
  682. package/dist/schemas/sandboxHarness.mjs +26 -0
  683. package/dist/schemas/sandboxHarness.mjs.map +1 -0
  684. package/dist/schemas/serverBundle.cjs +79 -0
  685. package/dist/schemas/serverBundle.cjs.map +1 -0
  686. package/dist/schemas/serverBundle.d.cts +34 -0
  687. package/dist/schemas/serverBundle.d.cts.map +1 -0
  688. package/dist/schemas/serverBundle.d.mts +34 -0
  689. package/dist/schemas/serverBundle.d.mts.map +1 -0
  690. package/dist/schemas/serverBundle.mjs +77 -0
  691. package/dist/schemas/serverBundle.mjs.map +1 -0
  692. package/dist/schemas/serverFacet.cjs +102 -0
  693. package/dist/schemas/serverFacet.cjs.map +1 -0
  694. package/dist/schemas/serverFacet.d.cts +141 -0
  695. package/dist/schemas/serverFacet.d.cts.map +1 -0
  696. package/dist/schemas/serverFacet.d.mts +141 -0
  697. package/dist/schemas/serverFacet.d.mts.map +1 -0
  698. package/dist/schemas/serverFacet.mjs +93 -0
  699. package/dist/schemas/serverFacet.mjs.map +1 -0
  700. package/dist/schemas/sessionApiContracts.cjs +474 -0
  701. package/dist/schemas/sessionApiContracts.cjs.map +1 -0
  702. package/dist/schemas/sessionApiContracts.d.cts +563 -0
  703. package/dist/schemas/sessionApiContracts.d.cts.map +1 -0
  704. package/dist/schemas/sessionApiContracts.d.mts +563 -0
  705. package/dist/schemas/sessionApiContracts.d.mts.map +1 -0
  706. package/dist/schemas/sessionApiContracts.mjs +472 -0
  707. package/dist/schemas/sessionApiContracts.mjs.map +1 -0
  708. package/dist/schemas/sessionProtocol.cjs +17 -0
  709. package/dist/schemas/sessionProtocol.cjs.map +1 -0
  710. package/dist/schemas/sessionProtocol.d.cts +269 -0
  711. package/dist/schemas/sessionProtocol.d.cts.map +1 -0
  712. package/dist/schemas/sessionProtocol.d.mts +269 -0
  713. package/dist/schemas/sessionProtocol.d.mts.map +1 -0
  714. package/dist/schemas/sessionProtocol.mjs +12 -0
  715. package/dist/schemas/sessionProtocol.mjs.map +1 -0
  716. package/dist/schemas/sessionUpdates.d.cts +34 -0
  717. package/dist/schemas/sessionUpdates.d.cts.map +1 -0
  718. package/dist/schemas/sessionUpdates.d.mts +34 -0
  719. package/dist/schemas/sessionUpdates.d.mts.map +1 -0
  720. package/dist/schemas/skills.cjs +115 -0
  721. package/dist/schemas/skills.cjs.map +1 -0
  722. package/dist/schemas/skills.d.cts +65 -0
  723. package/dist/schemas/skills.d.cts.map +1 -0
  724. package/dist/schemas/skills.d.mts +65 -0
  725. package/dist/schemas/skills.d.mts.map +1 -0
  726. package/dist/schemas/skills.mjs +109 -0
  727. package/dist/schemas/skills.mjs.map +1 -0
  728. package/dist/schemas/toolOverrides.cjs +17 -0
  729. package/dist/schemas/toolOverrides.cjs.map +1 -0
  730. package/dist/schemas/toolOverrides.d.cts +29 -0
  731. package/dist/schemas/toolOverrides.d.cts.map +1 -0
  732. package/dist/schemas/toolOverrides.d.mts +29 -0
  733. package/dist/schemas/toolOverrides.d.mts.map +1 -0
  734. package/dist/schemas/toolOverrides.mjs +15 -0
  735. package/dist/schemas/toolOverrides.mjs.map +1 -0
  736. package/dist/schemas/toolSurface.cjs +17 -0
  737. package/dist/schemas/toolSurface.cjs.map +1 -0
  738. package/dist/schemas/toolSurface.d.cts +54 -0
  739. package/dist/schemas/toolSurface.d.cts.map +1 -0
  740. package/dist/schemas/toolSurface.d.mts +54 -0
  741. package/dist/schemas/toolSurface.d.mts.map +1 -0
  742. package/dist/schemas/toolSurface.mjs +15 -0
  743. package/dist/schemas/toolSurface.mjs.map +1 -0
  744. package/dist/schemas/transportApiContracts.cjs +248 -0
  745. package/dist/schemas/transportApiContracts.cjs.map +1 -0
  746. package/dist/schemas/transportApiContracts.d.cts +205 -0
  747. package/dist/schemas/transportApiContracts.d.cts.map +1 -0
  748. package/dist/schemas/transportApiContracts.d.mts +205 -0
  749. package/dist/schemas/transportApiContracts.d.mts.map +1 -0
  750. package/dist/schemas/transportApiContracts.mjs +242 -0
  751. package/dist/schemas/transportApiContracts.mjs.map +1 -0
  752. package/dist/schemas/uiHub.cjs +17 -0
  753. package/dist/schemas/uiHub.cjs.map +1 -0
  754. package/dist/schemas/uiHub.d.cts +23 -0
  755. package/dist/schemas/uiHub.d.cts.map +1 -0
  756. package/dist/schemas/uiHub.d.mts +23 -0
  757. package/dist/schemas/uiHub.d.mts.map +1 -0
  758. package/dist/schemas/uiHub.mjs +15 -0
  759. package/dist/schemas/uiHub.mjs.map +1 -0
  760. package/dist/schemas/voiceReloadHandoff.cjs +78 -0
  761. package/dist/schemas/voiceReloadHandoff.cjs.map +1 -0
  762. package/dist/schemas/voiceReloadHandoff.d.cts +31 -0
  763. package/dist/schemas/voiceReloadHandoff.d.cts.map +1 -0
  764. package/dist/schemas/voiceReloadHandoff.d.mts +31 -0
  765. package/dist/schemas/voiceReloadHandoff.d.mts.map +1 -0
  766. package/dist/schemas/voiceReloadHandoff.mjs +75 -0
  767. package/dist/schemas/voiceReloadHandoff.mjs.map +1 -0
  768. package/dist/schemas/voiceTools.cjs +205 -0
  769. package/dist/schemas/voiceTools.cjs.map +1 -0
  770. package/dist/schemas/voiceTools.d.cts +120 -0
  771. package/dist/schemas/voiceTools.d.cts.map +1 -0
  772. package/dist/schemas/voiceTools.d.mts +120 -0
  773. package/dist/schemas/voiceTools.d.mts.map +1 -0
  774. package/dist/schemas/voiceTools.mjs +194 -0
  775. package/dist/schemas/voiceTools.mjs.map +1 -0
  776. package/dist/server/directHarnessRuntime.cjs +981 -0
  777. package/dist/server/directHarnessRuntime.cjs.map +1 -0
  778. package/dist/server/directHarnessRuntime.d.cts +3 -0
  779. package/dist/server/directHarnessRuntime.d.mts +3 -0
  780. package/dist/server/directHarnessRuntime.mjs +976 -0
  781. package/dist/server/directHarnessRuntime.mjs.map +1 -0
  782. package/dist/server/headlessProtocol.cjs +233 -0
  783. package/dist/server/headlessProtocol.cjs.map +1 -0
  784. package/dist/server/headlessProtocol.mjs +233 -0
  785. package/dist/server/headlessProtocol.mjs.map +1 -0
  786. package/dist/server/jsonlTranscriptReader.cjs +85 -0
  787. package/dist/server/jsonlTranscriptReader.cjs.map +1 -0
  788. package/dist/server/jsonlTranscriptReader.mjs +83 -0
  789. package/dist/server/jsonlTranscriptReader.mjs.map +1 -0
  790. package/dist/server/nativeChildTranscriptReader.cjs +20 -0
  791. package/dist/server/nativeChildTranscriptReader.cjs.map +1 -0
  792. package/dist/server/nativeChildTranscriptReader.mjs +18 -0
  793. package/dist/server/nativeChildTranscriptReader.mjs.map +1 -0
  794. package/dist/server/remoteRoutes.cjs +386 -0
  795. package/dist/server/remoteRoutes.cjs.map +1 -0
  796. package/dist/server/remoteRoutes.mjs +386 -0
  797. package/dist/server/remoteRoutes.mjs.map +1 -0
  798. package/dist/server/serverFacetLoader.cjs +220 -0
  799. package/dist/server/serverFacetLoader.cjs.map +1 -0
  800. package/dist/server/serverFacetLoader.d.cts +77 -0
  801. package/dist/server/serverFacetLoader.d.cts.map +1 -0
  802. package/dist/server/serverFacetLoader.d.mts +77 -0
  803. package/dist/server/serverFacetLoader.d.mts.map +1 -0
  804. package/dist/server/serverFacetLoader.mjs +215 -0
  805. package/dist/server/serverFacetLoader.mjs.map +1 -0
  806. package/dist/server/threadJournals.cjs +172 -0
  807. package/dist/server/threadJournals.cjs.map +1 -0
  808. package/dist/server/threadJournals.mjs +169 -0
  809. package/dist/server/threadJournals.mjs.map +1 -0
  810. package/dist/server-facet.cjs +27 -0
  811. package/dist/server-facet.d.cts +7 -0
  812. package/dist/server-facet.d.mts +7 -0
  813. package/dist/server-facet.mjs +7 -0
  814. package/dist/server-telemetry.cjs +25 -0
  815. package/dist/server-telemetry.cjs.map +1 -0
  816. package/dist/server-telemetry.d.cts +12 -0
  817. package/dist/server-telemetry.d.cts.map +1 -0
  818. package/dist/server-telemetry.d.mts +12 -0
  819. package/dist/server-telemetry.d.mts.map +1 -0
  820. package/dist/server-telemetry.mjs +23 -0
  821. package/dist/server-telemetry.mjs.map +1 -0
  822. package/dist/server.cjs +17 -0
  823. package/dist/server.d.cts +10 -0
  824. package/dist/server.d.mts +10 -0
  825. package/dist/server.mjs +7 -0
  826. package/dist/services/acpSessionUpdates/index.cjs +129 -0
  827. package/dist/services/acpSessionUpdates/index.cjs.map +1 -0
  828. package/dist/services/acpSessionUpdates/index.mjs +129 -0
  829. package/dist/services/acpSessionUpdates/index.mjs.map +1 -0
  830. package/dist/services/apiContracts/index.cjs +267 -0
  831. package/dist/services/apiContracts/index.cjs.map +1 -0
  832. package/dist/services/apiContracts/index.d.cts +42 -0
  833. package/dist/services/apiContracts/index.d.cts.map +1 -0
  834. package/dist/services/apiContracts/index.d.mts +42 -0
  835. package/dist/services/apiContracts/index.d.mts.map +1 -0
  836. package/dist/services/apiContracts/index.mjs +266 -0
  837. package/dist/services/apiContracts/index.mjs.map +1 -0
  838. package/dist/services/bundlePublication/index.cjs +88 -0
  839. package/dist/services/bundlePublication/index.cjs.map +1 -0
  840. package/dist/services/bundlePublication/index.mjs +85 -0
  841. package/dist/services/bundlePublication/index.mjs.map +1 -0
  842. package/dist/services/contextApiUrls/index.cjs +15 -0
  843. package/dist/services/contextApiUrls/index.cjs.map +1 -0
  844. package/dist/services/contextApiUrls/index.d.cts +6 -0
  845. package/dist/services/contextApiUrls/index.d.cts.map +1 -0
  846. package/dist/services/contextApiUrls/index.d.mts +6 -0
  847. package/dist/services/contextApiUrls/index.d.mts.map +1 -0
  848. package/dist/services/contextApiUrls/index.mjs +15 -0
  849. package/dist/services/contextApiUrls/index.mjs.map +1 -0
  850. package/dist/services/contextContributions/index.cjs +79 -0
  851. package/dist/services/contextContributions/index.cjs.map +1 -0
  852. package/dist/services/contextContributions/index.d.cts +6 -0
  853. package/dist/services/contextContributions/index.d.cts.map +1 -0
  854. package/dist/services/contextContributions/index.d.mts +6 -0
  855. package/dist/services/contextContributions/index.d.mts.map +1 -0
  856. package/dist/services/contextContributions/index.mjs +79 -0
  857. package/dist/services/contextContributions/index.mjs.map +1 -0
  858. package/dist/services/deviceAuth/index.cjs +125 -0
  859. package/dist/services/deviceAuth/index.cjs.map +1 -0
  860. package/dist/services/deviceAuth/index.d.cts +9 -0
  861. package/dist/services/deviceAuth/index.d.cts.map +1 -0
  862. package/dist/services/deviceAuth/index.d.mts +9 -0
  863. package/dist/services/deviceAuth/index.d.mts.map +1 -0
  864. package/dist/services/deviceAuth/index.mjs +125 -0
  865. package/dist/services/deviceAuth/index.mjs.map +1 -0
  866. package/dist/services/deviceSessions/index.cjs +147 -0
  867. package/dist/services/deviceSessions/index.cjs.map +1 -0
  868. package/dist/services/deviceSessions/index.d.cts +15 -0
  869. package/dist/services/deviceSessions/index.d.cts.map +1 -0
  870. package/dist/services/deviceSessions/index.d.mts +15 -0
  871. package/dist/services/deviceSessions/index.d.mts.map +1 -0
  872. package/dist/services/deviceSessions/index.mjs +141 -0
  873. package/dist/services/deviceSessions/index.mjs.map +1 -0
  874. package/dist/services/headlessClient/index.cjs +117 -0
  875. package/dist/services/headlessClient/index.cjs.map +1 -0
  876. package/dist/services/headlessClient/index.mjs +117 -0
  877. package/dist/services/headlessClient/index.mjs.map +1 -0
  878. package/dist/services/historyCreationFileSystem/index.cjs +114 -0
  879. package/dist/services/historyCreationFileSystem/index.cjs.map +1 -0
  880. package/dist/services/historyCreationFileSystem/index.mjs +114 -0
  881. package/dist/services/historyCreationFileSystem/index.mjs.map +1 -0
  882. package/dist/services/hubChannelHarness/index.cjs +50 -0
  883. package/dist/services/hubChannelHarness/index.cjs.map +1 -0
  884. package/dist/services/hubChannelHarness/index.d.cts +17 -0
  885. package/dist/services/hubChannelHarness/index.d.cts.map +1 -0
  886. package/dist/services/hubChannelHarness/index.d.mts +17 -0
  887. package/dist/services/hubChannelHarness/index.d.mts.map +1 -0
  888. package/dist/services/hubChannelHarness/index.mjs +50 -0
  889. package/dist/services/hubChannelHarness/index.mjs.map +1 -0
  890. package/dist/services/kernel/index.cjs +147 -0
  891. package/dist/services/kernel/index.cjs.map +1 -0
  892. package/dist/services/kernel/index.d.cts +9 -0
  893. package/dist/services/kernel/index.d.cts.map +1 -0
  894. package/dist/services/kernel/index.d.mts +9 -0
  895. package/dist/services/kernel/index.d.mts.map +1 -0
  896. package/dist/services/kernel/index.mjs +147 -0
  897. package/dist/services/kernel/index.mjs.map +1 -0
  898. package/dist/services/loginFlow/index.cjs +131 -0
  899. package/dist/services/loginFlow/index.cjs.map +1 -0
  900. package/dist/services/loginFlow/index.mjs +131 -0
  901. package/dist/services/loginFlow/index.mjs.map +1 -0
  902. package/dist/services/packageApiHarness/index.cjs +36 -0
  903. package/dist/services/packageApiHarness/index.cjs.map +1 -0
  904. package/dist/services/packageApiHarness/index.d.cts +40 -0
  905. package/dist/services/packageApiHarness/index.d.cts.map +1 -0
  906. package/dist/services/packageApiHarness/index.d.mts +40 -0
  907. package/dist/services/packageApiHarness/index.d.mts.map +1 -0
  908. package/dist/services/packageApiHarness/index.mjs +36 -0
  909. package/dist/services/packageApiHarness/index.mjs.map +1 -0
  910. package/dist/services/pairingFlow/index.cjs +145 -0
  911. package/dist/services/pairingFlow/index.cjs.map +1 -0
  912. package/dist/services/pairingFlow/index.d.cts +44 -0
  913. package/dist/services/pairingFlow/index.d.cts.map +1 -0
  914. package/dist/services/pairingFlow/index.d.mts +44 -0
  915. package/dist/services/pairingFlow/index.d.mts.map +1 -0
  916. package/dist/services/pairingFlow/index.mjs +145 -0
  917. package/dist/services/pairingFlow/index.mjs.map +1 -0
  918. package/dist/services/pairingPage/index.cjs +450 -0
  919. package/dist/services/pairingPage/index.cjs.map +1 -0
  920. package/dist/services/pairingPage/index.mjs +447 -0
  921. package/dist/services/pairingPage/index.mjs.map +1 -0
  922. package/dist/services/pluginLifecycle/index.cjs +71 -0
  923. package/dist/services/pluginLifecycle/index.cjs.map +1 -0
  924. package/dist/services/pluginLifecycle/index.d.cts +11 -0
  925. package/dist/services/pluginLifecycle/index.d.cts.map +1 -0
  926. package/dist/services/pluginLifecycle/index.d.mts +11 -0
  927. package/dist/services/pluginLifecycle/index.d.mts.map +1 -0
  928. package/dist/services/pluginLifecycle/index.mjs +71 -0
  929. package/dist/services/pluginLifecycle/index.mjs.map +1 -0
  930. package/dist/services/providerAuth/index.cjs +156 -0
  931. package/dist/services/providerAuth/index.cjs.map +1 -0
  932. package/dist/services/providerAuth/index.mjs +154 -0
  933. package/dist/services/providerAuth/index.mjs.map +1 -0
  934. package/dist/services/remoteAccess/index.cjs +393 -0
  935. package/dist/services/remoteAccess/index.cjs.map +1 -0
  936. package/dist/services/remoteAccess/index.d.cts +79 -0
  937. package/dist/services/remoteAccess/index.d.cts.map +1 -0
  938. package/dist/services/remoteAccess/index.d.mts +79 -0
  939. package/dist/services/remoteAccess/index.d.mts.map +1 -0
  940. package/dist/services/remoteAccess/index.mjs +393 -0
  941. package/dist/services/remoteAccess/index.mjs.map +1 -0
  942. package/dist/services/remoteAccessSettings/index.cjs +151 -0
  943. package/dist/services/remoteAccessSettings/index.cjs.map +1 -0
  944. package/dist/services/remoteAccessSettings/index.mjs +149 -0
  945. package/dist/services/remoteAccessSettings/index.mjs.map +1 -0
  946. package/dist/services/remoteAccessStore/index.cjs +126 -0
  947. package/dist/services/remoteAccessStore/index.cjs.map +1 -0
  948. package/dist/services/remoteAccessStore/index.mjs +121 -0
  949. package/dist/services/remoteAccessStore/index.mjs.map +1 -0
  950. package/dist/services/remoteGuardPolicy/index.cjs +190 -0
  951. package/dist/services/remoteGuardPolicy/index.cjs.map +1 -0
  952. package/dist/services/remoteGuardPolicy/index.d.cts +7 -0
  953. package/dist/services/remoteGuardPolicy/index.d.cts.map +1 -0
  954. package/dist/services/remoteGuardPolicy/index.d.mts +7 -0
  955. package/dist/services/remoteGuardPolicy/index.d.mts.map +1 -0
  956. package/dist/services/remoteGuardPolicy/index.mjs +186 -0
  957. package/dist/services/remoteGuardPolicy/index.mjs.map +1 -0
  958. package/dist/services/rpcTranscript/index.cjs +590 -0
  959. package/dist/services/rpcTranscript/index.cjs.map +1 -0
  960. package/dist/services/rpcTranscript/index.d.cts +50 -0
  961. package/dist/services/rpcTranscript/index.d.cts.map +1 -0
  962. package/dist/services/rpcTranscript/index.d.mts +50 -0
  963. package/dist/services/rpcTranscript/index.d.mts.map +1 -0
  964. package/dist/services/rpcTranscript/index.mjs +589 -0
  965. package/dist/services/rpcTranscript/index.mjs.map +1 -0
  966. package/dist/services/serverFacet/index.cjs +197 -0
  967. package/dist/services/serverFacet/index.cjs.map +1 -0
  968. package/dist/services/serverFacet/index.d.cts +31 -0
  969. package/dist/services/serverFacet/index.d.cts.map +1 -0
  970. package/dist/services/serverFacet/index.d.mts +31 -0
  971. package/dist/services/serverFacet/index.d.mts.map +1 -0
  972. package/dist/services/serverFacet/index.mjs +197 -0
  973. package/dist/services/serverFacet/index.mjs.map +1 -0
  974. package/dist/services/sessionPresentation/index.cjs +117 -0
  975. package/dist/services/sessionPresentation/index.cjs.map +1 -0
  976. package/dist/services/sessionPresentation/index.mjs +117 -0
  977. package/dist/services/sessionPresentation/index.mjs.map +1 -0
  978. package/dist/services/sqliteSessionHistory/index.cjs +59 -0
  979. package/dist/services/sqliteSessionHistory/index.cjs.map +1 -0
  980. package/dist/services/sqliteSessionHistory/index.d.cts +13 -0
  981. package/dist/services/sqliteSessionHistory/index.d.cts.map +1 -0
  982. package/dist/services/sqliteSessionHistory/index.d.mts +13 -0
  983. package/dist/services/sqliteSessionHistory/index.d.mts.map +1 -0
  984. package/dist/services/sqliteSessionHistory/index.mjs +57 -0
  985. package/dist/services/sqliteSessionHistory/index.mjs.map +1 -0
  986. package/dist/services/sqliteTranscriptReader/index.cjs +49 -0
  987. package/dist/services/sqliteTranscriptReader/index.cjs.map +1 -0
  988. package/dist/services/sqliteTranscriptReader/index.mjs +47 -0
  989. package/dist/services/sqliteTranscriptReader/index.mjs.map +1 -0
  990. package/dist/services/toolCost/index.cjs +47 -0
  991. package/dist/services/toolCost/index.cjs.map +1 -0
  992. package/dist/services/toolCost/index.d.cts +38 -0
  993. package/dist/services/toolCost/index.d.cts.map +1 -0
  994. package/dist/services/toolCost/index.d.mts +38 -0
  995. package/dist/services/toolCost/index.d.mts.map +1 -0
  996. package/dist/services/toolCost/index.mjs +46 -0
  997. package/dist/services/toolCost/index.mjs.map +1 -0
  998. package/dist/services/toolOverrides/index.cjs +45 -0
  999. package/dist/services/toolOverrides/index.cjs.map +1 -0
  1000. package/dist/services/toolOverrides/index.d.cts +6 -0
  1001. package/dist/services/toolOverrides/index.d.cts.map +1 -0
  1002. package/dist/services/toolOverrides/index.d.mts +6 -0
  1003. package/dist/services/toolOverrides/index.d.mts.map +1 -0
  1004. package/dist/services/toolOverrides/index.mjs +45 -0
  1005. package/dist/services/toolOverrides/index.mjs.map +1 -0
  1006. package/dist/services/toolSurface/index.cjs +105 -0
  1007. package/dist/services/toolSurface/index.cjs.map +1 -0
  1008. package/dist/services/toolSurface/index.d.cts +19 -0
  1009. package/dist/services/toolSurface/index.d.cts.map +1 -0
  1010. package/dist/services/toolSurface/index.d.mts +19 -0
  1011. package/dist/services/toolSurface/index.d.mts.map +1 -0
  1012. package/dist/services/toolSurface/index.mjs +105 -0
  1013. package/dist/services/toolSurface/index.mjs.map +1 -0
  1014. package/dist/services/traceContext/index.cjs +13 -0
  1015. package/dist/services/traceContext/index.cjs.map +1 -0
  1016. package/dist/services/traceContext/index.mjs +13 -0
  1017. package/dist/services/traceContext/index.mjs.map +1 -0
  1018. package/dist/services/transcriptPages/index.cjs +74 -0
  1019. package/dist/services/transcriptPages/index.cjs.map +1 -0
  1020. package/dist/services/transcriptPages/index.mjs +73 -0
  1021. package/dist/services/transcriptPages/index.mjs.map +1 -0
  1022. package/dist/services/tunnelOutput/index.cjs +58 -0
  1023. package/dist/services/tunnelOutput/index.cjs.map +1 -0
  1024. package/dist/services/tunnelOutput/index.mjs +54 -0
  1025. package/dist/services/tunnelOutput/index.mjs.map +1 -0
  1026. package/dist/services/tunnelProcess/index.cjs +486 -0
  1027. package/dist/services/tunnelProcess/index.cjs.map +1 -0
  1028. package/dist/services/tunnelProcess/index.mjs +480 -0
  1029. package/dist/services/tunnelProcess/index.mjs.map +1 -0
  1030. package/dist/services/voiceReloadHandoff/index.cjs +136 -0
  1031. package/dist/services/voiceReloadHandoff/index.cjs.map +1 -0
  1032. package/dist/services/voiceReloadHandoff/index.d.cts +34 -0
  1033. package/dist/services/voiceReloadHandoff/index.d.cts.map +1 -0
  1034. package/dist/services/voiceReloadHandoff/index.d.mts +34 -0
  1035. package/dist/services/voiceReloadHandoff/index.d.mts.map +1 -0
  1036. package/dist/services/voiceReloadHandoff/index.mjs +135 -0
  1037. package/dist/services/voiceReloadHandoff/index.mjs.map +1 -0
  1038. package/dist/services/voiceToolsContract/index.cjs +26 -0
  1039. package/dist/services/voiceToolsContract/index.cjs.map +1 -0
  1040. package/dist/services/voiceToolsContract/index.d.cts +76 -0
  1041. package/dist/services/voiceToolsContract/index.d.cts.map +1 -0
  1042. package/dist/services/voiceToolsContract/index.d.mts +76 -0
  1043. package/dist/services/voiceToolsContract/index.d.mts.map +1 -0
  1044. package/dist/services/voiceToolsContract/index.mjs +24 -0
  1045. package/dist/services/voiceToolsContract/index.mjs.map +1 -0
  1046. package/dist/services/webauthn/index.cjs +262 -0
  1047. package/dist/services/webauthn/index.cjs.map +1 -0
  1048. package/dist/services/webauthn/index.d.cts +39 -0
  1049. package/dist/services/webauthn/index.d.cts.map +1 -0
  1050. package/dist/services/webauthn/index.d.mts +39 -0
  1051. package/dist/services/webauthn/index.d.mts.map +1 -0
  1052. package/dist/services/webauthn/index.mjs +262 -0
  1053. package/dist/services/webauthn/index.mjs.map +1 -0
  1054. package/dist/services/webauthnPolicy/index.cjs +178 -0
  1055. package/dist/services/webauthnPolicy/index.cjs.map +1 -0
  1056. package/dist/services/webauthnPolicy/index.d.cts +41 -0
  1057. package/dist/services/webauthnPolicy/index.d.cts.map +1 -0
  1058. package/dist/services/webauthnPolicy/index.d.mts +41 -0
  1059. package/dist/services/webauthnPolicy/index.d.mts.map +1 -0
  1060. package/dist/services/webauthnPolicy/index.mjs +171 -0
  1061. package/dist/services/webauthnPolicy/index.mjs.map +1 -0
  1062. package/dist/session-files-api.cjs +61 -0
  1063. package/dist/session-files-api.cjs.map +1 -0
  1064. package/dist/session-files-api.d.cts +7 -0
  1065. package/dist/session-files-api.d.cts.map +1 -0
  1066. package/dist/session-files-api.d.mts +7 -0
  1067. package/dist/session-files-api.d.mts.map +1 -0
  1068. package/dist/session-files-api.mjs +57 -0
  1069. package/dist/session-files-api.mjs.map +1 -0
  1070. package/dist/session-protocol.cjs +8 -0
  1071. package/dist/session-protocol.d.cts +3 -0
  1072. package/dist/session-protocol.d.mts +3 -0
  1073. package/dist/session-protocol.mjs +2 -0
  1074. package/dist/skills.cjs +9 -0
  1075. package/dist/skills.d.cts +2 -0
  1076. package/dist/skills.d.mts +2 -0
  1077. package/dist/skills.mjs +2 -0
  1078. package/dist/sqlite-history-import.cjs +151 -0
  1079. package/dist/sqlite-history-import.cjs.map +1 -0
  1080. package/dist/sqlite-history-import.d.cts +8 -0
  1081. package/dist/sqlite-history-import.d.cts.map +1 -0
  1082. package/dist/sqlite-history-import.d.mts +8 -0
  1083. package/dist/sqlite-history-import.d.mts.map +1 -0
  1084. package/dist/sqlite-history-import.mjs +146 -0
  1085. package/dist/sqlite-history-import.mjs.map +1 -0
  1086. package/dist/sqlite-session-storage.cjs +53 -0
  1087. package/dist/sqlite-session-storage.cjs.map +1 -0
  1088. package/dist/sqlite-session-storage.d.cts +7 -0
  1089. package/dist/sqlite-session-storage.d.cts.map +1 -0
  1090. package/dist/sqlite-session-storage.d.mts +7 -0
  1091. package/dist/sqlite-session-storage.d.mts.map +1 -0
  1092. package/dist/sqlite-session-storage.mjs +49 -0
  1093. package/dist/sqlite-session-storage.mjs.map +1 -0
  1094. package/dist/sync-location.cjs +209 -0
  1095. package/dist/sync-location.cjs.map +1 -0
  1096. package/dist/sync-location.d.cts +31 -0
  1097. package/dist/sync-location.d.cts.map +1 -0
  1098. package/dist/sync-location.d.mts +31 -0
  1099. package/dist/sync-location.d.mts.map +1 -0
  1100. package/dist/sync-location.mjs +199 -0
  1101. package/dist/sync-location.mjs.map +1 -0
  1102. package/dist/sync-registration.cjs +140 -0
  1103. package/dist/sync-registration.cjs.map +1 -0
  1104. package/dist/sync-registration.d.cts +38 -0
  1105. package/dist/sync-registration.d.cts.map +1 -0
  1106. package/dist/sync-registration.d.mts +38 -0
  1107. package/dist/sync-registration.d.mts.map +1 -0
  1108. package/dist/sync-registration.mjs +131 -0
  1109. package/dist/sync-registration.mjs.map +1 -0
  1110. package/dist/sync-state-contract.cjs +19 -0
  1111. package/dist/sync-state-contract.cjs.map +1 -0
  1112. package/dist/sync-state-contract.d.cts +14 -0
  1113. package/dist/sync-state-contract.d.cts.map +1 -0
  1114. package/dist/sync-state-contract.d.mts +14 -0
  1115. package/dist/sync-state-contract.d.mts.map +1 -0
  1116. package/dist/sync-state-contract.mjs +16 -0
  1117. package/dist/sync-state-contract.mjs.map +1 -0
  1118. package/dist/systems/child/adapters/headlessChildSessionService.cjs +210 -0
  1119. package/dist/systems/child/adapters/headlessChildSessionService.cjs.map +1 -0
  1120. package/dist/systems/child/adapters/headlessChildSessionService.d.cts +24 -0
  1121. package/dist/systems/child/adapters/headlessChildSessionService.d.cts.map +1 -0
  1122. package/dist/systems/child/adapters/headlessChildSessionService.d.mts +24 -0
  1123. package/dist/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -0
  1124. package/dist/systems/child/adapters/headlessChildSessionService.mjs +205 -0
  1125. package/dist/systems/child/adapters/headlessChildSessionService.mjs.map +1 -0
  1126. package/dist/systems/child/adapters/nativeChildRuntimes.cjs +28 -0
  1127. package/dist/systems/child/adapters/nativeChildRuntimes.cjs.map +1 -0
  1128. package/dist/systems/child/adapters/nativeChildRuntimes.mjs +25 -0
  1129. package/dist/systems/child/adapters/nativeChildRuntimes.mjs.map +1 -0
  1130. package/dist/systems/child/services/childSession/index.cjs +206 -0
  1131. package/dist/systems/child/services/childSession/index.cjs.map +1 -0
  1132. package/dist/systems/child/services/childSession/index.d.cts +14 -0
  1133. package/dist/systems/child/services/childSession/index.d.cts.map +1 -0
  1134. package/dist/systems/child/services/childSession/index.d.mts +14 -0
  1135. package/dist/systems/child/services/childSession/index.d.mts.map +1 -0
  1136. package/dist/systems/child/services/childSession/index.mjs +206 -0
  1137. package/dist/systems/child/services/childSession/index.mjs.map +1 -0
  1138. package/dist/systems/child/types/childSession.cjs +16 -0
  1139. package/dist/systems/child/types/childSession.cjs.map +1 -0
  1140. package/dist/systems/child/types/childSession.d.cts +135 -0
  1141. package/dist/systems/child/types/childSession.d.cts.map +1 -0
  1142. package/dist/systems/child/types/childSession.d.mts +135 -0
  1143. package/dist/systems/child/types/childSession.d.mts.map +1 -0
  1144. package/dist/systems/child/types/childSession.mjs +14 -0
  1145. package/dist/systems/child/types/childSession.mjs.map +1 -0
  1146. package/dist/systems/main/adapters/headlessHost.cjs +436 -0
  1147. package/dist/systems/main/adapters/headlessHost.cjs.map +1 -0
  1148. package/dist/systems/main/adapters/headlessHost.d.cts +72 -0
  1149. package/dist/systems/main/adapters/headlessHost.d.cts.map +1 -0
  1150. package/dist/systems/main/adapters/headlessHost.d.mts +72 -0
  1151. package/dist/systems/main/adapters/headlessHost.d.mts.map +1 -0
  1152. package/dist/systems/main/adapters/headlessHost.mjs +435 -0
  1153. package/dist/systems/main/adapters/headlessHost.mjs.map +1 -0
  1154. package/dist/systems/main/adapters/headlessSessionHost.cjs +653 -0
  1155. package/dist/systems/main/adapters/headlessSessionHost.cjs.map +1 -0
  1156. package/dist/systems/main/adapters/headlessSessionHost.d.cts +14 -0
  1157. package/dist/systems/main/adapters/headlessSessionHost.d.cts.map +1 -0
  1158. package/dist/systems/main/adapters/headlessSessionHost.d.mts +14 -0
  1159. package/dist/systems/main/adapters/headlessSessionHost.d.mts.map +1 -0
  1160. package/dist/systems/main/adapters/headlessSessionHost.mjs +649 -0
  1161. package/dist/systems/main/adapters/headlessSessionHost.mjs.map +1 -0
  1162. package/dist/systems/main/types/headlessHost.d.cts +36 -0
  1163. package/dist/systems/main/types/headlessHost.d.cts.map +1 -0
  1164. package/dist/systems/main/types/headlessHost.d.mts +36 -0
  1165. package/dist/systems/main/types/headlessHost.d.mts.map +1 -0
  1166. package/dist/terminal-pi-child-session-service.cjs +263 -0
  1167. package/dist/terminal-pi-child-session-service.cjs.map +1 -0
  1168. package/dist/terminal-pi-child-session-service.d.cts +36 -0
  1169. package/dist/terminal-pi-child-session-service.d.cts.map +1 -0
  1170. package/dist/terminal-pi-child-session-service.d.mts +36 -0
  1171. package/dist/terminal-pi-child-session-service.d.mts.map +1 -0
  1172. package/dist/terminal-pi-child-session-service.mjs +256 -0
  1173. package/dist/terminal-pi-child-session-service.mjs.map +1 -0
  1174. package/dist/testing/pi/extensionScenarios.cjs +73 -0
  1175. package/dist/testing/pi/extensionScenarios.cjs.map +1 -0
  1176. package/dist/testing/pi/extensionScenarios.d.cts +41 -0
  1177. package/dist/testing/pi/extensionScenarios.d.cts.map +1 -0
  1178. package/dist/testing/pi/extensionScenarios.d.mts +41 -0
  1179. package/dist/testing/pi/extensionScenarios.d.mts.map +1 -0
  1180. package/dist/testing/pi/extensionScenarios.mjs +73 -0
  1181. package/dist/testing/pi/extensionScenarios.mjs.map +1 -0
  1182. package/dist/testing/pi/testHost.cjs +365 -0
  1183. package/dist/testing/pi/testHost.cjs.map +1 -0
  1184. package/dist/testing/pi/testHost.d.cts +160 -0
  1185. package/dist/testing/pi/testHost.d.cts.map +1 -0
  1186. package/dist/testing/pi/testHost.d.mts +160 -0
  1187. package/dist/testing/pi/testHost.d.mts.map +1 -0
  1188. package/dist/testing/pi/testHost.mjs +365 -0
  1189. package/dist/testing/pi/testHost.mjs.map +1 -0
  1190. package/dist/testing.cjs +9 -0
  1191. package/dist/testing.d.cts +5 -0
  1192. package/dist/testing.d.mts +5 -0
  1193. package/dist/testing.mjs +5 -0
  1194. package/dist/tool-inventory.cjs +136 -0
  1195. package/dist/tool-inventory.cjs.map +1 -0
  1196. package/dist/tool-inventory.d.cts +66 -0
  1197. package/dist/tool-inventory.d.cts.map +1 -0
  1198. package/dist/tool-inventory.d.mts +66 -0
  1199. package/dist/tool-inventory.d.mts.map +1 -0
  1200. package/dist/tool-inventory.mjs +133 -0
  1201. package/dist/tool-inventory.mjs.map +1 -0
  1202. package/dist/tool-names.cjs +4 -0
  1203. package/dist/tool-names.d.cts +2 -0
  1204. package/dist/tool-names.d.mts +2 -0
  1205. package/dist/tool-names.mjs +2 -0
  1206. package/dist/tool-overrides.cjs +7 -0
  1207. package/dist/tool-overrides.d.cts +3 -0
  1208. package/dist/tool-overrides.d.mts +3 -0
  1209. package/dist/tool-overrides.mjs +3 -0
  1210. package/dist/tool-surface.cjs +7 -0
  1211. package/dist/tool-surface.d.cts +3 -0
  1212. package/dist/tool-surface.d.mts +3 -0
  1213. package/dist/tool-surface.mjs +3 -0
  1214. package/dist/transition-classifier.cjs +112 -0
  1215. package/dist/transition-classifier.cjs.map +1 -0
  1216. package/dist/transition-classifier.d.cts +18 -0
  1217. package/dist/transition-classifier.d.cts.map +1 -0
  1218. package/dist/transition-classifier.d.mts +18 -0
  1219. package/dist/transition-classifier.d.mts.map +1 -0
  1220. package/dist/transition-classifier.mjs +111 -0
  1221. package/dist/transition-classifier.mjs.map +1 -0
  1222. package/dist/transition-coordinator.cjs +131 -0
  1223. package/dist/transition-coordinator.cjs.map +1 -0
  1224. package/dist/transition-coordinator.d.cts +16 -0
  1225. package/dist/transition-coordinator.d.cts.map +1 -0
  1226. package/dist/transition-coordinator.d.mts +16 -0
  1227. package/dist/transition-coordinator.d.mts.map +1 -0
  1228. package/dist/transition-coordinator.mjs +130 -0
  1229. package/dist/transition-coordinator.mjs.map +1 -0
  1230. package/dist/transition.cjs +5 -0
  1231. package/dist/transition.d.cts +2 -0
  1232. package/dist/transition.d.mts +2 -0
  1233. package/dist/transition.mjs +2 -0
  1234. package/dist/types/config.d.cts +20 -0
  1235. package/dist/types/config.d.cts.map +1 -0
  1236. package/dist/types/config.d.mts +20 -0
  1237. package/dist/types/config.d.mts.map +1 -0
  1238. package/dist/types/kernel.d.cts +69 -0
  1239. package/dist/types/kernel.d.cts.map +1 -0
  1240. package/dist/types/kernel.d.mts +69 -0
  1241. package/dist/types/kernel.d.mts.map +1 -0
  1242. package/dist/types/remote.d.cts +124 -0
  1243. package/dist/types/remote.d.cts.map +1 -0
  1244. package/dist/types/remote.d.mts +124 -0
  1245. package/dist/types/remote.d.mts.map +1 -0
  1246. package/dist/types/server/directHarnessRuntime.d.cts +156 -0
  1247. package/dist/types/server/directHarnessRuntime.d.cts.map +1 -0
  1248. package/dist/types/server/directHarnessRuntime.d.mts +156 -0
  1249. package/dist/types/server/directHarnessRuntime.d.mts.map +1 -0
  1250. package/dist/types/server/session.d.cts +5 -0
  1251. package/dist/types/server/session.d.cts.map +1 -0
  1252. package/dist/types/server/session.d.mts +5 -0
  1253. package/dist/types/server/session.d.mts.map +1 -0
  1254. package/dist/types-context-api.cjs +0 -0
  1255. package/dist/types-context-api.d.cts +48 -0
  1256. package/dist/types-context-api.d.cts.map +1 -0
  1257. package/dist/types-context-api.d.mts +48 -0
  1258. package/dist/types-context-api.d.mts.map +1 -0
  1259. package/dist/types-context-api.mjs +1 -0
  1260. package/dist/ui-hub.cjs +5 -0
  1261. package/dist/ui-hub.d.cts +2 -0
  1262. package/dist/ui-hub.d.mts +2 -0
  1263. package/dist/ui-hub.mjs +2 -0
  1264. package/dist/v3-export.cjs +1004 -0
  1265. package/dist/v3-export.cjs.map +1 -0
  1266. package/dist/v3-export.d.cts +34 -0
  1267. package/dist/v3-export.d.cts.map +1 -0
  1268. package/dist/v3-export.d.mts +34 -0
  1269. package/dist/v3-export.d.mts.map +1 -0
  1270. package/dist/v3-export.mjs +1000 -0
  1271. package/dist/v3-export.mjs.map +1 -0
  1272. package/dist/voice-reload-handoff.cjs +14 -0
  1273. package/dist/voice-reload-handoff.d.cts +4 -0
  1274. package/dist/voice-reload-handoff.d.mts +4 -0
  1275. package/dist/voice-reload-handoff.mjs +4 -0
  1276. package/dist/voice-tools.cjs +56 -0
  1277. package/dist/voice-tools.d.cts +4 -0
  1278. package/dist/voice-tools.d.mts +4 -0
  1279. package/dist/voice-tools.mjs +4 -0
  1280. package/dist/web/models/globalStore.cjs +23 -0
  1281. package/dist/web/models/globalStore.cjs.map +1 -0
  1282. package/dist/web/models/globalStore.d.cts +6 -0
  1283. package/dist/web/models/globalStore.d.cts.map +1 -0
  1284. package/dist/web/models/globalStore.d.mts +6 -0
  1285. package/dist/web/models/globalStore.d.mts.map +1 -0
  1286. package/dist/web/models/globalStore.mjs +23 -0
  1287. package/dist/web/models/globalStore.mjs.map +1 -0
  1288. package/dist/web/models/sessionStore.cjs +56 -0
  1289. package/dist/web/models/sessionStore.cjs.map +1 -0
  1290. package/dist/web/models/sessionStore.d.cts +14 -0
  1291. package/dist/web/models/sessionStore.d.cts.map +1 -0
  1292. package/dist/web/models/sessionStore.d.mts +14 -0
  1293. package/dist/web/models/sessionStore.d.mts.map +1 -0
  1294. package/dist/web/models/sessionStore.mjs +56 -0
  1295. package/dist/web/models/sessionStore.mjs.map +1 -0
  1296. package/dist/web/schemas/bundleAssetPolicy.cjs +20 -0
  1297. package/dist/web/schemas/bundleAssetPolicy.cjs.map +1 -0
  1298. package/dist/web/schemas/bundleAssetPolicy.d.cts +10 -0
  1299. package/dist/web/schemas/bundleAssetPolicy.d.cts.map +1 -0
  1300. package/dist/web/schemas/bundleAssetPolicy.d.mts +10 -0
  1301. package/dist/web/schemas/bundleAssetPolicy.d.mts.map +1 -0
  1302. package/dist/web/schemas/bundleAssetPolicy.mjs +18 -0
  1303. package/dist/web/schemas/bundleAssetPolicy.mjs.map +1 -0
  1304. package/dist/web/services/sessionRegistry/index.cjs +107 -0
  1305. package/dist/web/services/sessionRegistry/index.cjs.map +1 -0
  1306. package/dist/web/services/sessionRegistry/index.d.cts +42 -0
  1307. package/dist/web/services/sessionRegistry/index.d.cts.map +1 -0
  1308. package/dist/web/services/sessionRegistry/index.d.mts +42 -0
  1309. package/dist/web/services/sessionRegistry/index.d.mts.map +1 -0
  1310. package/dist/web/services/sessionRegistry/index.mjs +100 -0
  1311. package/dist/web/services/sessionRegistry/index.mjs.map +1 -0
  1312. package/dist/web/services/testing/channels.cjs +11 -0
  1313. package/dist/web/services/testing/channels.cjs.map +1 -0
  1314. package/dist/web/services/testing/channels.d.cts +8 -0
  1315. package/dist/web/services/testing/channels.d.cts.map +1 -0
  1316. package/dist/web/services/testing/channels.d.mts +8 -0
  1317. package/dist/web/services/testing/channels.d.mts.map +1 -0
  1318. package/dist/web/services/testing/channels.mjs +11 -0
  1319. package/dist/web/services/testing/channels.mjs.map +1 -0
  1320. package/dist/web/services/testing/index.cjs +27 -0
  1321. package/dist/web/services/testing/index.cjs.map +1 -0
  1322. package/dist/web/services/testing/index.d.cts +31 -0
  1323. package/dist/web/services/testing/index.d.cts.map +1 -0
  1324. package/dist/web/services/testing/index.d.mts +31 -0
  1325. package/dist/web/services/testing/index.d.mts.map +1 -0
  1326. package/dist/web/services/testing/index.mjs +27 -0
  1327. package/dist/web/services/testing/index.mjs.map +1 -0
  1328. package/dist/web/services/testing/slotProps.cjs +90 -0
  1329. package/dist/web/services/testing/slotProps.cjs.map +1 -0
  1330. package/dist/web/services/testing/slotProps.d.cts +67 -0
  1331. package/dist/web/services/testing/slotProps.d.cts.map +1 -0
  1332. package/dist/web/services/testing/slotProps.d.mts +67 -0
  1333. package/dist/web/services/testing/slotProps.d.mts.map +1 -0
  1334. package/dist/web/services/testing/slotProps.mjs +89 -0
  1335. package/dist/web/services/testing/slotProps.mjs.map +1 -0
  1336. package/dist/web/services/toolResult/index.cjs +30 -0
  1337. package/dist/web/services/toolResult/index.cjs.map +1 -0
  1338. package/dist/web/services/toolResult/index.d.cts +14 -0
  1339. package/dist/web/services/toolResult/index.d.cts.map +1 -0
  1340. package/dist/web/services/toolResult/index.d.mts +14 -0
  1341. package/dist/web/services/toolResult/index.d.mts.map +1 -0
  1342. package/dist/web/services/toolResult/index.mjs +29 -0
  1343. package/dist/web/services/toolResult/index.mjs.map +1 -0
  1344. package/dist/web/testing.cjs +8 -0
  1345. package/dist/web/testing.d.cts +4 -0
  1346. package/dist/web/testing.d.mts +4 -0
  1347. package/dist/web/testing.mjs +4 -0
  1348. package/dist/web/types/modelContext.d.cts +43 -0
  1349. package/dist/web/types/modelContext.d.cts.map +1 -0
  1350. package/dist/web/types/modelContext.d.mts +43 -0
  1351. package/dist/web/types/modelContext.d.mts.map +1 -0
  1352. package/dist/web/types/sessionRegistry.d.cts +59 -0
  1353. package/dist/web/types/sessionRegistry.d.cts.map +1 -0
  1354. package/dist/web/types/sessionRegistry.d.mts +59 -0
  1355. package/dist/web/types/sessionRegistry.d.mts.map +1 -0
  1356. package/dist/web/types/webPlugin.d.cts +809 -0
  1357. package/dist/web/types/webPlugin.d.cts.map +1 -0
  1358. package/dist/web/types/webPlugin.d.mts +809 -0
  1359. package/dist/web/types/webPlugin.d.mts.map +1 -0
  1360. package/dist/web-compositions.cjs +100 -0
  1361. package/dist/web-compositions.cjs.map +1 -0
  1362. package/dist/web-compositions.d.cts +20 -0
  1363. package/dist/web-compositions.d.cts.map +1 -0
  1364. package/dist/web-compositions.d.mts +20 -0
  1365. package/dist/web-compositions.d.mts.map +1 -0
  1366. package/dist/web-compositions.mjs +95 -0
  1367. package/dist/web-compositions.mjs.map +1 -0
  1368. package/dist/web.cjs +25 -0
  1369. package/dist/web.d.cts +10 -0
  1370. package/dist/web.d.mts +10 -0
  1371. package/dist/web.mjs +7 -0
  1372. package/package.json +587 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteApiContracts.mjs","names":[],"sources":["../../src/schemas/remoteApiContracts.ts"],"sourcesContent":["import { Type, type TSchema } from 'typebox';\n\nimport type { DoomHttpContract } from './apiContracts';\nimport { ApiErrorSchema, ApiOkSchema, jsonApiResponses } from './httpApiContracts';\n\nconst Text = Type.String();\nconst NumberValue = Type.Number();\nconst Optional = Type.Optional;\nconst Flag = Type.Boolean();\nconst JsonObject = Type.Record(\n Text,\n Type.Unknown({\n description: 'WebAuthn ceremony fields supplied and verified by the installed WebAuthn implementation.',\n }),\n);\nconst Tunnel = Type.Union([\n Type.Object({ kind: Type.Literal('quick') }),\n Type.Object({\n kind: Type.Literal('named'),\n hostname: Text,\n name: Optional(Text),\n tokenFile: Optional(Text),\n configFile: Optional(Text),\n }),\n]);\nconst Settings = Type.Object({\n autoCloseEnabled: Flag,\n autoCloseMinutes: NumberValue,\n sessionExpiryEnabled: Flag,\n idleMinutes: NumberValue,\n absoluteHours: NumberValue,\n tunnel: Tunnel,\n sandbox: Type.Object({ enabled: Flag, workspaces: Type.Array(Text) }),\n});\nconst State = Type.Object({\n status: Type.Union([Type.Literal('off'), Type.Literal('starting'), Type.Literal('on'), Type.Literal('failed')]),\n publicUrl: Optional(Text),\n startedAt: Optional(Text),\n closesAt: Optional(Text),\n error: Optional(Text),\n devices: Type.Array(\n Type.Object({ id: Text, label: Text, userAgent: Text, createdAt: Text, lastSeenAt: Text, self: Flag }),\n ),\n pending: Type.Array(Type.Object({ id: Text, userAgent: Text, edgeIp: Text, createdAt: Text, expiresAt: Text })),\n settings: Settings,\n});\nconst StateResponse = Type.Object({ state: State, handingOver: Optional(Flag) });\nconst Trust = Type.Object({ publicKey: Text, fingerprint: Text, revision: NumberValue });\nconst Begun = Type.Object({ ceremonyId: Text, options: JsonObject });\nconst Finish = Type.Object({ ceremonyId: Text, response: JsonObject });\nexport const SealedEnvelopeSchema = Type.Object({ v: Type.Literal(1), n: Text, c: Text });\nexport const SealedHttpRequestSchema = Type.Object({\n v: Type.Literal(1),\n method: Text,\n target: Text,\n headers: Type.Array(Type.Tuple([Text, Text])),\n body: Optional(Text),\n});\nexport const SealedHttpResponseSchema = Type.Object({\n v: Type.Literal(1),\n status: NumberValue,\n headers: Type.Array(Type.Tuple([Text, Text])),\n body: Text,\n});\nconst route = (\n id: string,\n path: string,\n method: DoomHttpContract['method'],\n result: TSchema,\n input?: TSchema,\n extra: Partial<DoomHttpContract> = {},\n): DoomHttpContract => ({\n id: `remote.${id}`,\n path: `/api/remote${path}`,\n method,\n scope: 'global',\n authentication: 'owner',\n description: `Remote Control ${id}.`,\n availability:\n 'Global host provides Remote Control. Tunnel routes additionally enforce device, origin and step-up policy.',\n responses: { ...jsonApiResponses(result), '429': { description: 'Rate limit exceeded', schema: ApiErrorSchema } },\n ...(input ? { body: { contentType: 'application/json', required: true, schema: input } } : {}),\n ...extra,\n});\nconst direct: DoomHttpContract[] = [\n route('state', '', 'GET', StateResponse),\n route('enable', '/enable', 'POST', StateResponse, undefined, {\n responses: {\n ...jsonApiResponses(StateResponse),\n '202': { description: 'Container handover started', schema: StateResponse },\n },\n }),\n route('disable', '/disable', 'POST', StateResponse, undefined, {\n responses: {\n ...jsonApiResponses(StateResponse),\n '202': { description: 'Tunnel closing', schema: Type.Object({ status: Type.Literal('closing') }) },\n },\n }),\n route(\n 'codes',\n '/codes',\n 'POST',\n Type.Object({ ...Trust.properties, code: Text, manualCode: Text, pairUrl: Text, expiresAt: Text }),\n undefined,\n {\n responses: jsonApiResponses(\n Type.Object({ ...Trust.properties, code: Text, manualCode: Text, pairUrl: Text, expiresAt: Text }),\n 201,\n ),\n },\n ),\n route('approve', '/pairing/{id}/approve', 'POST', StateResponse),\n route('deny', '/pairing/{id}/deny', 'POST', StateResponse),\n route('revoke', '/devices/{id}', 'DELETE', StateResponse),\n route('settings', '/settings', 'PUT', Type.Object({ settings: Settings }), Type.Partial(Settings)),\n route(\n 'passkeys',\n '/passkeys',\n 'GET',\n Type.Object({\n support: Type.Union([\n Type.Object({ supported: Type.Literal(true), rpId: Text }),\n Type.Object({ supported: Type.Literal(false), reason: Text }),\n ]),\n credentials: Type.Array(Type.Object({ id: Text, label: Text, createdAt: Text, lastUsedAt: Text })),\n }),\n ),\n route('passkeys.remove', '/passkeys/{id}', 'DELETE', ApiOkSchema),\n route('register.begin', '/passkeys/register/begin', 'POST', Begun, undefined, { authentication: 'device' }),\n route('register.finish', '/passkeys/register/finish', 'POST', Type.Object({ id: Text }), Finish, {\n authentication: 'device',\n }),\n route('authenticate.begin', '/passkeys/authenticate/begin', 'POST', Begun, undefined, { authentication: 'none' }),\n route(\n 'authenticate.finish',\n '/passkeys/authenticate/finish',\n 'POST',\n Type.Object({ ok: Type.Literal(true), hostPublicKey: Text }),\n Finish,\n { authentication: 'none' },\n ),\n route('challenge', '/challenge', 'POST', Begun, Type.Object({ action: Text }), { authentication: 'device' }),\n route(\n 'channel',\n '/channel',\n 'POST',\n ApiOkSchema,\n Type.Object({\n clientPublicKey: Text,\n scope: Type.Union([Type.Literal('session'), Type.Literal('protocol'), Type.Literal('http')]),\n }),\n { authentication: 'device' },\n ),\n route('request', '/request', 'POST', SealedEnvelopeSchema, SealedEnvelopeSchema, {\n authentication: 'device',\n description:\n 'Sealed HTTP gateway. Decrypted requests/responses use the SealedHttpRequest and SealedHttpResponse envelopes.',\n }),\n route(\n 'pair',\n '/pair',\n 'POST',\n Type.Object({ requestId: Text, status: Type.Literal('pending') }),\n Type.Object({ code: Type.String({ minLength: 1 }) }),\n {\n authentication: 'none',\n responses: {\n ...jsonApiResponses(Type.Object({ requestId: Text, status: Type.Literal('pending') }), 202),\n '410': { description: 'Pairing code is no longer valid', schema: ApiErrorSchema },\n },\n },\n ),\n route(\n 'pair.status',\n '/pair/status',\n 'GET',\n Type.Object({\n status: Type.Union([\n Type.Literal('pending'),\n Type.Literal('approved'),\n Type.Literal('denied'),\n Type.Literal('expired'),\n Type.Literal('consumed'),\n ]),\n bundleTrust: Optional(Trust),\n hostPublicKey: Optional(Text),\n }),\n undefined,\n { authentication: 'none', parameters: [{ name: 'request', in: 'query', required: true, schema: Text }] },\n ),\n];\nexport const remoteHttpContracts: DoomHttpContract[] = [\n route('frontend', '/frontend', 'POST', ApiOkSchema, Type.Object({ origin: Text }), {\n authentication: 'owner',\n availability: 'Internal loopback frontend registration; blocked by the browser proxy.',\n parameters: [{ name: 'x-doompi-web-registration', in: 'header', required: true, schema: Text }],\n }),\n ...direct,\n ...direct.map((operation) => ({\n ...operation,\n id: `${operation.id}.plugin`,\n basePath: 'remote',\n path: operation.path.slice('/api/remote'.length) || '/',\n authentication: 'owner' as const,\n availability: 'Global Remote Control plugin mount, reached through the authenticated headless listener.',\n })),\n {\n id: 'remote.pair.page',\n scope: 'global',\n path: '/pair',\n method: 'GET',\n authentication: 'none',\n availability: 'Remote listener only',\n description: 'Pairing and passkey bootstrap page.',\n responses: { '200': { description: 'Pairing page', contentType: 'text/html', schema: Text } },\n },\n];\nconst Asset = Type.Object({\n path: Text,\n sha256: Type.String({ pattern: '^[a-f0-9]{64}$' }),\n byteLength: Type.Integer({ minimum: 0 }),\n contentType: Text,\n});\nconst Signed = Type.Object({\n manifest: Type.Object({\n version: Type.Literal(2),\n revision: Type.Integer({ minimum: 1 }),\n builtAt: NumberValue,\n assets: Type.Array(Asset),\n }),\n signature: Text,\n publicKey: Text,\n});\nexport const bundleHttpContracts: DoomHttpContract[] = [\n ...['/bundle-manifest.json', '/api/web-plugins/{id}/{revision}/manifest'].flatMap((path) =>\n (['GET', 'HEAD'] as const).map((method): DoomHttpContract => ({\n id: `bundle.${path}.${method}`,\n scope: 'global',\n path,\n method,\n authentication: 'owner',\n availability: 'Host publishes a web bundle',\n description: 'Read an immutable signed browser bundle manifest.',\n responses:\n method === 'HEAD'\n ? { '200': { description: 'Manifest response headers' }, '404': { description: 'Bundle not published' } }\n : jsonApiResponses(Signed),\n })),\n ),\n ...['/bundle-assets/{revision}/{assetPath}', '/api/web-plugins/{id}/{revision}/assets/{assetPath}'].flatMap((path) =>\n (['GET', 'HEAD'] as const).map((method): DoomHttpContract => ({\n id: `asset.${path}.${method}`,\n scope: 'global',\n path,\n method,\n authentication: 'owner',\n availability: 'Host publishes a web bundle',\n description: 'Read an asset from the signed manifest. assetPath may contain multiple path segments.',\n responses: {\n '200': {\n description: 'Manifest-listed asset, original MIME type',\n ...(method === 'GET' ? { contentType: '*/*', schema: Type.String({ contentEncoding: 'binary' }) } : {}),\n },\n '404': { description: 'Asset not published' },\n },\n })),\n ),\n];\n"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ //#region src/schemas/sandboxHarness.ts
2
+ /**
3
+ * Sandbox harness contract.
4
+ *
5
+ * A layer package that owns sandboxed launches exports a module at the
6
+ * `./sandbox-harness` subpath. The harness resolves that module from the
7
+ * selected composition and delegates the whole launch to it, so core never
8
+ * depends on a concrete sandbox technology.
9
+ */
10
+ /** Exports subpath a sandbox-owning layer package declares. */
11
+ const SANDBOX_HARNESS_EXPORT_SUBPATH = "./sandbox-harness";
12
+ /** Marks a process that already runs inside a DoomPi sandbox. */
13
+ const DOOMPI_SANDBOX_ENV = "DOOMPI_SANDBOX";
14
+ const SANDBOX_FLAG = "1";
15
+ /** True inside a sandboxed session, which is how a provider refuses to nest. */
16
+ function insideSandbox(environment = process.env) {
17
+ return environment[DOOMPI_SANDBOX_ENV] === SANDBOX_FLAG;
18
+ }
19
+ /** Narrowing guard for a dynamically imported sandbox harness entry. */
20
+ function isSandboxHarnessModule(value) {
21
+ return typeof value === "object" && value !== null && typeof value.launchSandbox === "function";
22
+ }
23
+ //#endregion
24
+ exports.DOOMPI_SANDBOX_ENV = DOOMPI_SANDBOX_ENV;
25
+ exports.SANDBOX_HARNESS_EXPORT_SUBPATH = SANDBOX_HARNESS_EXPORT_SUBPATH;
26
+ exports.insideSandbox = insideSandbox;
27
+ exports.isSandboxHarnessModule = isSandboxHarnessModule;
28
+
29
+ //# sourceMappingURL=sandboxHarness.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxHarness.cjs","names":[],"sources":["../../src/schemas/sandboxHarness.ts"],"sourcesContent":["/**\n * Sandbox harness contract.\n *\n * A layer package that owns sandboxed launches exports a module at the\n * `./sandbox-harness` subpath. The harness resolves that module from the\n * selected composition and delegates the whole launch to it, so core never\n * depends on a concrete sandbox technology.\n */\n\n/** Exports subpath a sandbox-owning layer package declares. */\nexport const SANDBOX_HARNESS_EXPORT_SUBPATH = './sandbox-harness';\n\n/** Marks a process that already runs inside a DoomPi sandbox. */\nexport const DOOMPI_SANDBOX_ENV = 'DOOMPI_SANDBOX';\n\nconst SANDBOX_FLAG = '1';\n\n/** True inside a sandboxed session, which is how a provider refuses to nest. */\nexport function insideSandbox(environment: NodeJS.ProcessEnv = process.env): boolean {\n return environment[DOOMPI_SANDBOX_ENV] === SANDBOX_FLAG;\n}\n\n/** One sandboxed launch, owned end to end by the providing layer. */\nexport interface SandboxLaunchRequest {\n /** Repository the sandbox mounts and works against. */\n repoRoot: string;\n /** Working directory of the launch, expected to sit inside the mounted repository. */\n cwd: string;\n /**\n * Harness arguments the in-sandbox launcher replays. Never contains the\n * sandbox flag itself: a sandboxed launch must not provision another.\n */\n forwardArgs: string[];\n /** Host environment the provider filters before any of it enters the sandbox. */\n environment: NodeJS.ProcessEnv;\n /** Receives one human-readable line per provisioning decision. */\n onProgress?: (message: string) => void;\n}\n\nexport interface SandboxHarnessModule {\n /** Provisions the sandbox, runs the launch inside it, and reports the exit code. */\n launchSandbox(request: SandboxLaunchRequest): Promise<number>;\n}\n\n/** Narrowing guard for a dynamically imported sandbox harness entry. */\nexport function isSandboxHarnessModule(value: unknown): value is SandboxHarnessModule {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as { launchSandbox?: unknown }).launchSandbox === 'function'\n );\n}\n"],"mappings":";;;;;;;;;;AAUA,MAAa,iCAAiC;;AAG9C,MAAa,qBAAqB;AAElC,MAAM,eAAe;;AAGrB,SAAgB,cAAc,cAAiC,QAAQ,KAAc;CACnF,OAAO,YAAY,wBAAwB;AAC7C;;AAyBA,SAAgB,uBAAuB,OAA+C;CACpF,OACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAAsC,kBAAkB;AAEpE"}
@@ -0,0 +1,39 @@
1
+ //#region src/schemas/sandboxHarness.d.ts
2
+ /**
3
+ * Sandbox harness contract.
4
+ *
5
+ * A layer package that owns sandboxed launches exports a module at the
6
+ * `./sandbox-harness` subpath. The harness resolves that module from the
7
+ * selected composition and delegates the whole launch to it, so core never
8
+ * depends on a concrete sandbox technology.
9
+ */
10
+ /** Exports subpath a sandbox-owning layer package declares. */
11
+ export declare const SANDBOX_HARNESS_EXPORT_SUBPATH = "./sandbox-harness";
12
+ /** Marks a process that already runs inside a DoomPi sandbox. */
13
+ export declare const DOOMPI_SANDBOX_ENV = "DOOMPI_SANDBOX";
14
+ /** True inside a sandboxed session, which is how a provider refuses to nest. */
15
+ export declare function insideSandbox(environment?: NodeJS.ProcessEnv): boolean;
16
+ /** One sandboxed launch, owned end to end by the providing layer. */
17
+ export interface SandboxLaunchRequest {
18
+ /** Repository the sandbox mounts and works against. */
19
+ repoRoot: string;
20
+ /** Working directory of the launch, expected to sit inside the mounted repository. */
21
+ cwd: string;
22
+ /**
23
+ * Harness arguments the in-sandbox launcher replays. Never contains the
24
+ * sandbox flag itself: a sandboxed launch must not provision another.
25
+ */
26
+ forwardArgs: string[];
27
+ /** Host environment the provider filters before any of it enters the sandbox. */
28
+ environment: NodeJS.ProcessEnv;
29
+ /** Receives one human-readable line per provisioning decision. */
30
+ onProgress?: (message: string) => void;
31
+ }
32
+ export interface SandboxHarnessModule {
33
+ /** Provisions the sandbox, runs the launch inside it, and reports the exit code. */
34
+ launchSandbox(request: SandboxLaunchRequest): Promise<number>;
35
+ }
36
+ /** Narrowing guard for a dynamically imported sandbox harness entry. */
37
+ export declare function isSandboxHarnessModule(value: unknown): value is SandboxHarnessModule;
38
+ //#endregion
39
+ //# sourceMappingURL=sandboxHarness.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxHarness.d.cts","names":[],"sources":["../../src/schemas/sandboxHarness.ts"],"mappings":";;;;;;;;;;qBAUa;;qBAGA;;wBAKG,cAAc,cAAa,OAAO;;iBAKjC;;EAEf;;EAEA;;;;;EAKA;;EAEA,aAAa,OAAO;;EAEpB,cAAc;;iBAGC;;EAEf,cAAc,SAAS,uBAAuB;;;wBAIhC,uBAAuB,iBAAiB,SAAS"}
@@ -0,0 +1,39 @@
1
+ //#region src/schemas/sandboxHarness.d.ts
2
+ /**
3
+ * Sandbox harness contract.
4
+ *
5
+ * A layer package that owns sandboxed launches exports a module at the
6
+ * `./sandbox-harness` subpath. The harness resolves that module from the
7
+ * selected composition and delegates the whole launch to it, so core never
8
+ * depends on a concrete sandbox technology.
9
+ */
10
+ /** Exports subpath a sandbox-owning layer package declares. */
11
+ export declare const SANDBOX_HARNESS_EXPORT_SUBPATH = "./sandbox-harness";
12
+ /** Marks a process that already runs inside a DoomPi sandbox. */
13
+ export declare const DOOMPI_SANDBOX_ENV = "DOOMPI_SANDBOX";
14
+ /** True inside a sandboxed session, which is how a provider refuses to nest. */
15
+ export declare function insideSandbox(environment?: NodeJS.ProcessEnv): boolean;
16
+ /** One sandboxed launch, owned end to end by the providing layer. */
17
+ export interface SandboxLaunchRequest {
18
+ /** Repository the sandbox mounts and works against. */
19
+ repoRoot: string;
20
+ /** Working directory of the launch, expected to sit inside the mounted repository. */
21
+ cwd: string;
22
+ /**
23
+ * Harness arguments the in-sandbox launcher replays. Never contains the
24
+ * sandbox flag itself: a sandboxed launch must not provision another.
25
+ */
26
+ forwardArgs: string[];
27
+ /** Host environment the provider filters before any of it enters the sandbox. */
28
+ environment: NodeJS.ProcessEnv;
29
+ /** Receives one human-readable line per provisioning decision. */
30
+ onProgress?: (message: string) => void;
31
+ }
32
+ export interface SandboxHarnessModule {
33
+ /** Provisions the sandbox, runs the launch inside it, and reports the exit code. */
34
+ launchSandbox(request: SandboxLaunchRequest): Promise<number>;
35
+ }
36
+ /** Narrowing guard for a dynamically imported sandbox harness entry. */
37
+ export declare function isSandboxHarnessModule(value: unknown): value is SandboxHarnessModule;
38
+ //#endregion
39
+ //# sourceMappingURL=sandboxHarness.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxHarness.d.mts","names":[],"sources":["../../src/schemas/sandboxHarness.ts"],"mappings":";;;;;;;;;;qBAUa;;qBAGA;;wBAKG,cAAc,cAAa,OAAO;;iBAKjC;;EAEf;;EAEA;;;;;EAKA;;EAEA,aAAa,OAAO;;EAEpB,cAAc;;iBAGC;;EAEf,cAAc,SAAS,uBAAuB;;;wBAIhC,uBAAuB,iBAAiB,SAAS"}
@@ -0,0 +1,26 @@
1
+ //#region src/schemas/sandboxHarness.ts
2
+ /**
3
+ * Sandbox harness contract.
4
+ *
5
+ * A layer package that owns sandboxed launches exports a module at the
6
+ * `./sandbox-harness` subpath. The harness resolves that module from the
7
+ * selected composition and delegates the whole launch to it, so core never
8
+ * depends on a concrete sandbox technology.
9
+ */
10
+ /** Exports subpath a sandbox-owning layer package declares. */
11
+ const SANDBOX_HARNESS_EXPORT_SUBPATH = "./sandbox-harness";
12
+ /** Marks a process that already runs inside a DoomPi sandbox. */
13
+ const DOOMPI_SANDBOX_ENV = "DOOMPI_SANDBOX";
14
+ const SANDBOX_FLAG = "1";
15
+ /** True inside a sandboxed session, which is how a provider refuses to nest. */
16
+ function insideSandbox(environment = process.env) {
17
+ return environment[DOOMPI_SANDBOX_ENV] === SANDBOX_FLAG;
18
+ }
19
+ /** Narrowing guard for a dynamically imported sandbox harness entry. */
20
+ function isSandboxHarnessModule(value) {
21
+ return typeof value === "object" && value !== null && typeof value.launchSandbox === "function";
22
+ }
23
+ //#endregion
24
+ export { DOOMPI_SANDBOX_ENV, SANDBOX_HARNESS_EXPORT_SUBPATH, insideSandbox, isSandboxHarnessModule };
25
+
26
+ //# sourceMappingURL=sandboxHarness.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxHarness.mjs","names":[],"sources":["../../src/schemas/sandboxHarness.ts"],"sourcesContent":["/**\n * Sandbox harness contract.\n *\n * A layer package that owns sandboxed launches exports a module at the\n * `./sandbox-harness` subpath. The harness resolves that module from the\n * selected composition and delegates the whole launch to it, so core never\n * depends on a concrete sandbox technology.\n */\n\n/** Exports subpath a sandbox-owning layer package declares. */\nexport const SANDBOX_HARNESS_EXPORT_SUBPATH = './sandbox-harness';\n\n/** Marks a process that already runs inside a DoomPi sandbox. */\nexport const DOOMPI_SANDBOX_ENV = 'DOOMPI_SANDBOX';\n\nconst SANDBOX_FLAG = '1';\n\n/** True inside a sandboxed session, which is how a provider refuses to nest. */\nexport function insideSandbox(environment: NodeJS.ProcessEnv = process.env): boolean {\n return environment[DOOMPI_SANDBOX_ENV] === SANDBOX_FLAG;\n}\n\n/** One sandboxed launch, owned end to end by the providing layer. */\nexport interface SandboxLaunchRequest {\n /** Repository the sandbox mounts and works against. */\n repoRoot: string;\n /** Working directory of the launch, expected to sit inside the mounted repository. */\n cwd: string;\n /**\n * Harness arguments the in-sandbox launcher replays. Never contains the\n * sandbox flag itself: a sandboxed launch must not provision another.\n */\n forwardArgs: string[];\n /** Host environment the provider filters before any of it enters the sandbox. */\n environment: NodeJS.ProcessEnv;\n /** Receives one human-readable line per provisioning decision. */\n onProgress?: (message: string) => void;\n}\n\nexport interface SandboxHarnessModule {\n /** Provisions the sandbox, runs the launch inside it, and reports the exit code. */\n launchSandbox(request: SandboxLaunchRequest): Promise<number>;\n}\n\n/** Narrowing guard for a dynamically imported sandbox harness entry. */\nexport function isSandboxHarnessModule(value: unknown): value is SandboxHarnessModule {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as { launchSandbox?: unknown }).launchSandbox === 'function'\n );\n}\n"],"mappings":";;;;;;;;;;AAUA,MAAa,iCAAiC;;AAG9C,MAAa,qBAAqB;AAElC,MAAM,eAAe;;AAGrB,SAAgB,cAAc,cAAiC,QAAQ,KAAc;CACnF,OAAO,YAAY,wBAAwB;AAC7C;;AAyBA,SAAgB,uBAAuB,OAA+C;CACpF,OACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAQ,MAAsC,kBAAkB;AAEpE"}
@@ -0,0 +1,79 @@
1
+ //#region src/schemas/serverBundle.ts
2
+ const DOOM_SERVER_BUNDLE_VERSION = 2;
3
+ const DOOM_SERVER_BUNDLE_FILE = "server.bundle.json";
4
+ function record(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ }
7
+ function text(value, field) {
8
+ if (typeof value !== "string" || value.trim() === "" || value.includes("\0")) throw new Error(`Invalid server bundle ${field}`);
9
+ return value;
10
+ }
11
+ function relativeFile(value, field) {
12
+ const file = text(value, field);
13
+ const segments = file.slice(2).split("/");
14
+ if (!file.startsWith("./") || /[\\%?#]/u.test(file) || segments.some((segment) => segment === "" || segment === "." || segment === "..")) throw new Error(`Invalid server bundle ${field}: expected a contained ./file path`);
15
+ return file;
16
+ }
17
+ /** Validate the entire descriptor before any package code is imported. */
18
+ function parseDoomServerBundle(value) {
19
+ if (!record(value) || value.version !== 2) throw new Error("Unsupported server bundle version");
20
+ const generation = text(value.generation, "generation");
21
+ const fingerprint = text(value.fingerprint, "fingerprint");
22
+ if (!/^[a-f0-9]{64}$/u.test(fingerprint)) throw new Error("Invalid server bundle fingerprint");
23
+ if (!Array.isArray(value.entries)) throw new Error("Invalid server bundle entries");
24
+ const names = /* @__PURE__ */ new Set();
25
+ const entries = value.entries.map((candidate) => {
26
+ if (!record(candidate)) throw new Error("Invalid server bundle entry");
27
+ const packageName = text(candidate.packageName, "packageName");
28
+ if (names.has(packageName)) throw new Error(`Duplicate server bundle package: ${packageName}`);
29
+ names.add(packageName);
30
+ const entry = relativeFile(candidate.entry, `${packageName} entry`);
31
+ const module = relativeFile(candidate.module, `${packageName} module`);
32
+ if (!module.endsWith(".mjs")) throw new Error(`Invalid server bundle ${packageName} module: expected .mjs`);
33
+ if (!Array.isArray(candidate.scopes) || candidate.scopes.length === 0 || candidate.scopes.some((scope) => scope !== "session" && scope !== "global" && scope !== "workspace") || new Set(candidate.scopes).size !== candidate.scopes.length) throw new Error(`Invalid server bundle ${packageName} scopes`);
34
+ if (!Array.isArray(candidate.owners) || candidate.owners.length === 0) throw new Error(`Invalid server bundle ${packageName} owners`);
35
+ const ownership = /* @__PURE__ */ new Set();
36
+ const owners = candidate.owners.map((owner) => {
37
+ if (!record(owner)) throw new Error(`Invalid server bundle ${packageName} owner`);
38
+ const majorMode = text(owner.majorMode, `${packageName} majorMode`);
39
+ const layer = text(owner.layer, `${packageName} layer`);
40
+ const key = JSON.stringify([majorMode, layer]);
41
+ if (ownership.has(key)) throw new Error(`Duplicate server bundle ${packageName} owner`);
42
+ ownership.add(key);
43
+ return {
44
+ majorMode,
45
+ layer
46
+ };
47
+ });
48
+ if (typeof candidate.required !== "boolean") throw new Error(`Invalid server bundle ${packageName} required`);
49
+ return {
50
+ packageName,
51
+ entry,
52
+ module,
53
+ scopes: candidate.scopes,
54
+ owners,
55
+ required: candidate.required
56
+ };
57
+ });
58
+ let contracts;
59
+ if (value.contracts !== void 0) {
60
+ if (!record(value.contracts) || typeof value.contracts.sha256 !== "string" || !/^[a-f0-9]{64}$/u.test(value.contracts.sha256)) throw new Error("Invalid server bundle contracts");
61
+ contracts = {
62
+ file: relativeFile(value.contracts.file, "contracts file"),
63
+ sha256: value.contracts.sha256
64
+ };
65
+ }
66
+ return {
67
+ version: 2,
68
+ generation,
69
+ fingerprint,
70
+ entries,
71
+ ...contracts ? { contracts } : {}
72
+ };
73
+ }
74
+ //#endregion
75
+ exports.DOOM_SERVER_BUNDLE_FILE = DOOM_SERVER_BUNDLE_FILE;
76
+ exports.DOOM_SERVER_BUNDLE_VERSION = DOOM_SERVER_BUNDLE_VERSION;
77
+ exports.parseDoomServerBundle = parseDoomServerBundle;
78
+
79
+ //# sourceMappingURL=serverBundle.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverBundle.cjs","names":[],"sources":["../../src/schemas/serverBundle.ts"],"sourcesContent":["import type { DoomApiScope } from './packageApi';\n\nexport const DOOM_SERVER_BUNDLE_VERSION = 2;\nexport const DOOM_SERVER_BUNDLE_FILE = 'server.bundle.json';\n\n/** Every occurrence that can activate a package in this repository. */\nexport interface DoomServerBundleOwner {\n readonly majorMode: string;\n readonly layer: string;\n}\n\nexport interface DoomServerBundleEntry {\n readonly packageName: string;\n /** The declared package-relative source entry, retained for attribution. */\n readonly entry: string;\n /** Generation-local built module, relative to the descriptor directory. */\n readonly module: string;\n readonly scopes: readonly DoomApiScope[];\n readonly owners: readonly DoomServerBundleOwner[];\n readonly required: boolean;\n}\n\n/** Ordered candidates, never an instruction to activate every package. */\nexport interface DoomServerBundle {\n readonly version: typeof DOOM_SERVER_BUNDLE_VERSION;\n readonly generation: string;\n readonly fingerprint: string;\n readonly entries: readonly DoomServerBundleEntry[];\n readonly contracts?: { readonly file: string; readonly sha256: string };\n}\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction text(value: unknown, field: string): string {\n if (typeof value !== 'string' || value.trim() === '' || value.includes('\\0')) {\n throw new Error(`Invalid server bundle ${field}`);\n }\n return value;\n}\n\nfunction relativeFile(value: unknown, field: string): string {\n const file = text(value, field);\n const segments = file.slice(2).split('/');\n if (\n !file.startsWith('./') ||\n /[\\\\%?#]/u.test(file) ||\n segments.some((segment) => segment === '' || segment === '.' || segment === '..')\n ) {\n throw new Error(`Invalid server bundle ${field}: expected a contained ./file path`);\n }\n return file;\n}\n\n/** Validate the entire descriptor before any package code is imported. */\nexport function parseDoomServerBundle(value: unknown): DoomServerBundle {\n if (!record(value) || value.version !== DOOM_SERVER_BUNDLE_VERSION) {\n throw new Error('Unsupported server bundle version');\n }\n const generation = text(value.generation, 'generation');\n const fingerprint = text(value.fingerprint, 'fingerprint');\n if (!/^[a-f0-9]{64}$/u.test(fingerprint)) throw new Error('Invalid server bundle fingerprint');\n if (!Array.isArray(value.entries)) throw new Error('Invalid server bundle entries');\n const names = new Set<string>();\n const entries = value.entries.map((candidate: unknown): DoomServerBundleEntry => {\n if (!record(candidate)) throw new Error('Invalid server bundle entry');\n const packageName = text(candidate.packageName, 'packageName');\n if (names.has(packageName)) throw new Error(`Duplicate server bundle package: ${packageName}`);\n names.add(packageName);\n const entry = relativeFile(candidate.entry, `${packageName} entry`);\n const module = relativeFile(candidate.module, `${packageName} module`);\n if (!module.endsWith('.mjs')) throw new Error(`Invalid server bundle ${packageName} module: expected .mjs`);\n if (\n !Array.isArray(candidate.scopes) ||\n candidate.scopes.length === 0 ||\n candidate.scopes.some((scope) => scope !== 'session' && scope !== 'global' && scope !== 'workspace') ||\n new Set(candidate.scopes).size !== candidate.scopes.length\n ) {\n throw new Error(`Invalid server bundle ${packageName} scopes`);\n }\n if (!Array.isArray(candidate.owners) || candidate.owners.length === 0) {\n throw new Error(`Invalid server bundle ${packageName} owners`);\n }\n const ownership = new Set<string>();\n const owners = candidate.owners.map((owner: unknown): DoomServerBundleOwner => {\n if (!record(owner)) throw new Error(`Invalid server bundle ${packageName} owner`);\n const majorMode = text(owner.majorMode, `${packageName} majorMode`);\n const layer = text(owner.layer, `${packageName} layer`);\n const key = JSON.stringify([majorMode, layer]);\n if (ownership.has(key)) throw new Error(`Duplicate server bundle ${packageName} owner`);\n ownership.add(key);\n return { majorMode, layer };\n });\n if (typeof candidate.required !== 'boolean') throw new Error(`Invalid server bundle ${packageName} required`);\n return { packageName, entry, module, scopes: candidate.scopes, owners, required: candidate.required };\n });\n let contracts: DoomServerBundle['contracts'];\n if (value.contracts !== undefined) {\n if (\n !record(value.contracts) ||\n typeof value.contracts.sha256 !== 'string' ||\n !/^[a-f0-9]{64}$/u.test(value.contracts.sha256)\n )\n throw new Error('Invalid server bundle contracts');\n contracts = { file: relativeFile(value.contracts.file, 'contracts file'), sha256: value.contracts.sha256 };\n }\n return { version: DOOM_SERVER_BUNDLE_VERSION, generation, fingerprint, entries, ...(contracts ? { contracts } : {}) };\n}\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { DoomApiScope } from "./packageApi.cjs";
2
+ //#region src/schemas/serverBundle.d.ts
3
+ export declare const DOOM_SERVER_BUNDLE_VERSION = 2;
4
+ export declare const DOOM_SERVER_BUNDLE_FILE = "server.bundle.json";
5
+ /** Every occurrence that can activate a package in this repository. */
6
+ export interface DoomServerBundleOwner {
7
+ readonly majorMode: string;
8
+ readonly layer: string;
9
+ }
10
+ export interface DoomServerBundleEntry {
11
+ readonly packageName: string;
12
+ /** The declared package-relative source entry, retained for attribution. */
13
+ readonly entry: string;
14
+ /** Generation-local built module, relative to the descriptor directory. */
15
+ readonly module: string;
16
+ readonly scopes: readonly DoomApiScope[];
17
+ readonly owners: readonly DoomServerBundleOwner[];
18
+ readonly required: boolean;
19
+ }
20
+ /** Ordered candidates, never an instruction to activate every package. */
21
+ export interface DoomServerBundle {
22
+ readonly version: typeof DOOM_SERVER_BUNDLE_VERSION;
23
+ readonly generation: string;
24
+ readonly fingerprint: string;
25
+ readonly entries: readonly DoomServerBundleEntry[];
26
+ readonly contracts?: {
27
+ readonly file: string;
28
+ readonly sha256: string;
29
+ };
30
+ }
31
+ /** Validate the entire descriptor before any package code is imported. */
32
+ export declare function parseDoomServerBundle(value: unknown): DoomServerBundle;
33
+ //#endregion
34
+ //# sourceMappingURL=serverBundle.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverBundle.d.cts","names":[],"sources":["../../src/schemas/serverBundle.ts"],"mappings":";;qBAEa;qBACA;;iBAGI;WACN;WACA;;iBAGM;WACN;;WAEA;;WAEA;WACA,iBAAiB;WACjB,iBAAiB;WACjB;;;iBAIM;WACN,gBAAgB;WAChB;WACA;WACA,kBAAkB;WAClB;aAAuB;aAAuB;;;;wBA4BzC,sBAAsB,iBAAiB"}
@@ -0,0 +1,34 @@
1
+ import { DoomApiScope } from "./packageApi.mjs";
2
+ //#region src/schemas/serverBundle.d.ts
3
+ export declare const DOOM_SERVER_BUNDLE_VERSION = 2;
4
+ export declare const DOOM_SERVER_BUNDLE_FILE = "server.bundle.json";
5
+ /** Every occurrence that can activate a package in this repository. */
6
+ export interface DoomServerBundleOwner {
7
+ readonly majorMode: string;
8
+ readonly layer: string;
9
+ }
10
+ export interface DoomServerBundleEntry {
11
+ readonly packageName: string;
12
+ /** The declared package-relative source entry, retained for attribution. */
13
+ readonly entry: string;
14
+ /** Generation-local built module, relative to the descriptor directory. */
15
+ readonly module: string;
16
+ readonly scopes: readonly DoomApiScope[];
17
+ readonly owners: readonly DoomServerBundleOwner[];
18
+ readonly required: boolean;
19
+ }
20
+ /** Ordered candidates, never an instruction to activate every package. */
21
+ export interface DoomServerBundle {
22
+ readonly version: typeof DOOM_SERVER_BUNDLE_VERSION;
23
+ readonly generation: string;
24
+ readonly fingerprint: string;
25
+ readonly entries: readonly DoomServerBundleEntry[];
26
+ readonly contracts?: {
27
+ readonly file: string;
28
+ readonly sha256: string;
29
+ };
30
+ }
31
+ /** Validate the entire descriptor before any package code is imported. */
32
+ export declare function parseDoomServerBundle(value: unknown): DoomServerBundle;
33
+ //#endregion
34
+ //# sourceMappingURL=serverBundle.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverBundle.d.mts","names":[],"sources":["../../src/schemas/serverBundle.ts"],"mappings":";;qBAEa;qBACA;;iBAGI;WACN;WACA;;iBAGM;WACN;;WAEA;;WAEA;WACA,iBAAiB;WACjB,iBAAiB;WACjB;;;iBAIM;WACN,gBAAgB;WAChB;WACA;WACA,kBAAkB;WAClB;aAAuB;aAAuB;;;;wBA4BzC,sBAAsB,iBAAiB"}
@@ -0,0 +1,77 @@
1
+ //#region src/schemas/serverBundle.ts
2
+ const DOOM_SERVER_BUNDLE_VERSION = 2;
3
+ const DOOM_SERVER_BUNDLE_FILE = "server.bundle.json";
4
+ function record(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ }
7
+ function text(value, field) {
8
+ if (typeof value !== "string" || value.trim() === "" || value.includes("\0")) throw new Error(`Invalid server bundle ${field}`);
9
+ return value;
10
+ }
11
+ function relativeFile(value, field) {
12
+ const file = text(value, field);
13
+ const segments = file.slice(2).split("/");
14
+ if (!file.startsWith("./") || /[\\%?#]/u.test(file) || segments.some((segment) => segment === "" || segment === "." || segment === "..")) throw new Error(`Invalid server bundle ${field}: expected a contained ./file path`);
15
+ return file;
16
+ }
17
+ /** Validate the entire descriptor before any package code is imported. */
18
+ function parseDoomServerBundle(value) {
19
+ if (!record(value) || value.version !== 2) throw new Error("Unsupported server bundle version");
20
+ const generation = text(value.generation, "generation");
21
+ const fingerprint = text(value.fingerprint, "fingerprint");
22
+ if (!/^[a-f0-9]{64}$/u.test(fingerprint)) throw new Error("Invalid server bundle fingerprint");
23
+ if (!Array.isArray(value.entries)) throw new Error("Invalid server bundle entries");
24
+ const names = /* @__PURE__ */ new Set();
25
+ const entries = value.entries.map((candidate) => {
26
+ if (!record(candidate)) throw new Error("Invalid server bundle entry");
27
+ const packageName = text(candidate.packageName, "packageName");
28
+ if (names.has(packageName)) throw new Error(`Duplicate server bundle package: ${packageName}`);
29
+ names.add(packageName);
30
+ const entry = relativeFile(candidate.entry, `${packageName} entry`);
31
+ const module = relativeFile(candidate.module, `${packageName} module`);
32
+ if (!module.endsWith(".mjs")) throw new Error(`Invalid server bundle ${packageName} module: expected .mjs`);
33
+ if (!Array.isArray(candidate.scopes) || candidate.scopes.length === 0 || candidate.scopes.some((scope) => scope !== "session" && scope !== "global" && scope !== "workspace") || new Set(candidate.scopes).size !== candidate.scopes.length) throw new Error(`Invalid server bundle ${packageName} scopes`);
34
+ if (!Array.isArray(candidate.owners) || candidate.owners.length === 0) throw new Error(`Invalid server bundle ${packageName} owners`);
35
+ const ownership = /* @__PURE__ */ new Set();
36
+ const owners = candidate.owners.map((owner) => {
37
+ if (!record(owner)) throw new Error(`Invalid server bundle ${packageName} owner`);
38
+ const majorMode = text(owner.majorMode, `${packageName} majorMode`);
39
+ const layer = text(owner.layer, `${packageName} layer`);
40
+ const key = JSON.stringify([majorMode, layer]);
41
+ if (ownership.has(key)) throw new Error(`Duplicate server bundle ${packageName} owner`);
42
+ ownership.add(key);
43
+ return {
44
+ majorMode,
45
+ layer
46
+ };
47
+ });
48
+ if (typeof candidate.required !== "boolean") throw new Error(`Invalid server bundle ${packageName} required`);
49
+ return {
50
+ packageName,
51
+ entry,
52
+ module,
53
+ scopes: candidate.scopes,
54
+ owners,
55
+ required: candidate.required
56
+ };
57
+ });
58
+ let contracts;
59
+ if (value.contracts !== void 0) {
60
+ if (!record(value.contracts) || typeof value.contracts.sha256 !== "string" || !/^[a-f0-9]{64}$/u.test(value.contracts.sha256)) throw new Error("Invalid server bundle contracts");
61
+ contracts = {
62
+ file: relativeFile(value.contracts.file, "contracts file"),
63
+ sha256: value.contracts.sha256
64
+ };
65
+ }
66
+ return {
67
+ version: 2,
68
+ generation,
69
+ fingerprint,
70
+ entries,
71
+ ...contracts ? { contracts } : {}
72
+ };
73
+ }
74
+ //#endregion
75
+ export { DOOM_SERVER_BUNDLE_FILE, DOOM_SERVER_BUNDLE_VERSION, parseDoomServerBundle };
76
+
77
+ //# sourceMappingURL=serverBundle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverBundle.mjs","names":[],"sources":["../../src/schemas/serverBundle.ts"],"sourcesContent":["import type { DoomApiScope } from './packageApi';\n\nexport const DOOM_SERVER_BUNDLE_VERSION = 2;\nexport const DOOM_SERVER_BUNDLE_FILE = 'server.bundle.json';\n\n/** Every occurrence that can activate a package in this repository. */\nexport interface DoomServerBundleOwner {\n readonly majorMode: string;\n readonly layer: string;\n}\n\nexport interface DoomServerBundleEntry {\n readonly packageName: string;\n /** The declared package-relative source entry, retained for attribution. */\n readonly entry: string;\n /** Generation-local built module, relative to the descriptor directory. */\n readonly module: string;\n readonly scopes: readonly DoomApiScope[];\n readonly owners: readonly DoomServerBundleOwner[];\n readonly required: boolean;\n}\n\n/** Ordered candidates, never an instruction to activate every package. */\nexport interface DoomServerBundle {\n readonly version: typeof DOOM_SERVER_BUNDLE_VERSION;\n readonly generation: string;\n readonly fingerprint: string;\n readonly entries: readonly DoomServerBundleEntry[];\n readonly contracts?: { readonly file: string; readonly sha256: string };\n}\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction text(value: unknown, field: string): string {\n if (typeof value !== 'string' || value.trim() === '' || value.includes('\\0')) {\n throw new Error(`Invalid server bundle ${field}`);\n }\n return value;\n}\n\nfunction relativeFile(value: unknown, field: string): string {\n const file = text(value, field);\n const segments = file.slice(2).split('/');\n if (\n !file.startsWith('./') ||\n /[\\\\%?#]/u.test(file) ||\n segments.some((segment) => segment === '' || segment === '.' || segment === '..')\n ) {\n throw new Error(`Invalid server bundle ${field}: expected a contained ./file path`);\n }\n return file;\n}\n\n/** Validate the entire descriptor before any package code is imported. */\nexport function parseDoomServerBundle(value: unknown): DoomServerBundle {\n if (!record(value) || value.version !== DOOM_SERVER_BUNDLE_VERSION) {\n throw new Error('Unsupported server bundle version');\n }\n const generation = text(value.generation, 'generation');\n const fingerprint = text(value.fingerprint, 'fingerprint');\n if (!/^[a-f0-9]{64}$/u.test(fingerprint)) throw new Error('Invalid server bundle fingerprint');\n if (!Array.isArray(value.entries)) throw new Error('Invalid server bundle entries');\n const names = new Set<string>();\n const entries = value.entries.map((candidate: unknown): DoomServerBundleEntry => {\n if (!record(candidate)) throw new Error('Invalid server bundle entry');\n const packageName = text(candidate.packageName, 'packageName');\n if (names.has(packageName)) throw new Error(`Duplicate server bundle package: ${packageName}`);\n names.add(packageName);\n const entry = relativeFile(candidate.entry, `${packageName} entry`);\n const module = relativeFile(candidate.module, `${packageName} module`);\n if (!module.endsWith('.mjs')) throw new Error(`Invalid server bundle ${packageName} module: expected .mjs`);\n if (\n !Array.isArray(candidate.scopes) ||\n candidate.scopes.length === 0 ||\n candidate.scopes.some((scope) => scope !== 'session' && scope !== 'global' && scope !== 'workspace') ||\n new Set(candidate.scopes).size !== candidate.scopes.length\n ) {\n throw new Error(`Invalid server bundle ${packageName} scopes`);\n }\n if (!Array.isArray(candidate.owners) || candidate.owners.length === 0) {\n throw new Error(`Invalid server bundle ${packageName} owners`);\n }\n const ownership = new Set<string>();\n const owners = candidate.owners.map((owner: unknown): DoomServerBundleOwner => {\n if (!record(owner)) throw new Error(`Invalid server bundle ${packageName} owner`);\n const majorMode = text(owner.majorMode, `${packageName} majorMode`);\n const layer = text(owner.layer, `${packageName} layer`);\n const key = JSON.stringify([majorMode, layer]);\n if (ownership.has(key)) throw new Error(`Duplicate server bundle ${packageName} owner`);\n ownership.add(key);\n return { majorMode, layer };\n });\n if (typeof candidate.required !== 'boolean') throw new Error(`Invalid server bundle ${packageName} required`);\n return { packageName, entry, module, scopes: candidate.scopes, owners, required: candidate.required };\n });\n let contracts: DoomServerBundle['contracts'];\n if (value.contracts !== undefined) {\n if (\n !record(value.contracts) ||\n typeof value.contracts.sha256 !== 'string' ||\n !/^[a-f0-9]{64}$/u.test(value.contracts.sha256)\n )\n throw new Error('Invalid server bundle contracts');\n contracts = { file: relativeFile(value.contracts.file, 'contracts file'), sha256: value.contracts.sha256 };\n }\n return { version: DOOM_SERVER_BUNDLE_VERSION, generation, fingerprint, entries, ...(contracts ? { contracts } : {}) };\n}\n"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ //#region src/schemas/serverFacet.ts
2
+ /** The host a server facet contributes to. */
3
+ const DOOM_SERVER_HOST_SERVICE = "doom/server-host";
4
+ function readDoomServerHost(context) {
5
+ return context.get(DOOM_SERVER_HOST_SERVICE);
6
+ }
7
+ function requireDoomServerHost(context) {
8
+ const service = readDoomServerHost(context);
9
+ if (!service) throw new Error("The Doom server host is unavailable. Start a Doom server first.");
10
+ return service;
11
+ }
12
+ /** The package.json field a package declares its server facet under. */
13
+ const DOOM_SERVER_FACET_MANIFEST_FIELD = "doompiServer";
14
+ /** The default export a facet module must provide, so a host can install it. */
15
+ const DOOM_SERVER_FACET_EXPORT = "default";
16
+ /** Capture schema inference before heterogeneous methods enter a contribution array. */
17
+ function defineServerMethod(definition, handler) {
18
+ return { register: (host) => host.registerMethod(definition, handler) };
19
+ }
20
+ var DoomServerFacetManifestError = class extends Error {
21
+ constructor(packageDir, message) {
22
+ super(`${DOOM_SERVER_FACET_MANIFEST_FIELD} manifest in ${packageDir}: ${message}`);
23
+ this.name = "DoomServerFacetManifestError";
24
+ }
25
+ };
26
+ function isRecord(value) {
27
+ return typeof value === "object" && value !== null && !Array.isArray(value);
28
+ }
29
+ /** Narrows a module's default export, so a broken package is a notice rather than a crash. */
30
+ function isDoomServerFacet(value) {
31
+ return isRecord(value) && typeof value.apply === "function";
32
+ }
33
+ function normalizePath(packageDir, field, value) {
34
+ if (typeof value !== "string" || !value.startsWith("./") || value.includes("..")) throw new DoomServerFacetManifestError(packageDir, `${field} must be a package-relative ./path with no '..'.`);
35
+ return value;
36
+ }
37
+ function normalizeScopes(packageDir, value) {
38
+ if (value === void 0) throw new DoomServerFacetManifestError(packageDir, "scopes must be declared explicitly.");
39
+ if (!Array.isArray(value) || value.length === 0) throw new DoomServerFacetManifestError(packageDir, "scopes must name 'global', 'workspace', or 'session'.");
40
+ const scopes = [];
41
+ for (const scope of value) {
42
+ if (scope !== "session" && scope !== "global" && scope !== "workspace") throw new DoomServerFacetManifestError(packageDir, `Unknown scope '${String(scope)}'; resync for the three-level host.`);
43
+ if (!scopes.includes(scope)) scopes.push(scope);
44
+ }
45
+ return scopes;
46
+ }
47
+ /**
48
+ * Validates one package.json's `doompiServer` block.
49
+ *
50
+ * `dist` is required because a host imports the built entry the package ships,
51
+ * never its source.
52
+ */
53
+ function declaredServerFacetsOf(packageDir, manifest) {
54
+ const declared = manifest[DOOM_SERVER_FACET_MANIFEST_FIELD];
55
+ if (declared === void 0) return [];
56
+ if (!isRecord(declared)) throw new DoomServerFacetManifestError(packageDir, "the block must be an object naming entry and dist.");
57
+ const entry = normalizePath(packageDir, "entry", declared.entry);
58
+ if (declared.dist === void 0) throw new DoomServerFacetManifestError(packageDir, "dist is required: a host imports the built entry the package ships, never its source.");
59
+ const dist = normalizePath(packageDir, "dist", declared.dist);
60
+ if (declared.required !== void 0 && typeof declared.required !== "boolean") throw new DoomServerFacetManifestError(packageDir, "required must be a boolean.");
61
+ return [{
62
+ packageName: typeof manifest.name === "string" ? manifest.name : packageDir,
63
+ packageDir,
64
+ entry,
65
+ dist,
66
+ scopes: normalizeScopes(packageDir, declared.scopes),
67
+ ...typeof declared.required === "boolean" ? { required: declared.required } : {}
68
+ }];
69
+ }
70
+ /**
71
+ * The deterministic order hosts install in. A package appears once: the first
72
+ * directory claiming a package name keeps it and the later one is dropped with
73
+ * a notice, so a duplicated install never installs a facet twice.
74
+ */
75
+ function orderServerFacets(facets, onNotice = () => void 0) {
76
+ const sorted = [...facets].sort((left, right) => left.packageName.localeCompare(right.packageName) || left.packageDir.localeCompare(right.packageDir));
77
+ const owners = /* @__PURE__ */ new Map();
78
+ const kept = [];
79
+ for (const facet of sorted) {
80
+ const holder = owners.get(facet.packageName);
81
+ if (holder !== void 0) {
82
+ onNotice(`server facet '${facet.packageName}' from ${facet.packageDir} is skipped: ${holder.packageDir} already claims it.`);
83
+ continue;
84
+ }
85
+ owners.set(facet.packageName, facet);
86
+ kept.push(facet);
87
+ }
88
+ return kept;
89
+ }
90
+ //#endregion
91
+ exports.DOOM_SERVER_FACET_EXPORT = DOOM_SERVER_FACET_EXPORT;
92
+ exports.DOOM_SERVER_FACET_MANIFEST_FIELD = DOOM_SERVER_FACET_MANIFEST_FIELD;
93
+ exports.DOOM_SERVER_HOST_SERVICE = DOOM_SERVER_HOST_SERVICE;
94
+ exports.DoomServerFacetManifestError = DoomServerFacetManifestError;
95
+ exports.declaredServerFacetsOf = declaredServerFacetsOf;
96
+ exports.defineServerMethod = defineServerMethod;
97
+ exports.isDoomServerFacet = isDoomServerFacet;
98
+ exports.orderServerFacets = orderServerFacets;
99
+ exports.readDoomServerHost = readDoomServerHost;
100
+ exports.requireDoomServerHost = requireDoomServerHost;
101
+
102
+ //# sourceMappingURL=serverFacet.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverFacet.cjs","names":[],"sources":["../../src/schemas/serverFacet.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n/**\n * The server facet a package installs into a headless host.\n *\n * A package already ships a Pi extension facet for the agent process. This is\n * the second facet: one cordis plugin that a session server or the cockpit hub\n * installs, through which the package contributes its HTTP surface and any\n * behaviour that has to run outside the agent.\n *\n * A facet is installed and disposed like every other Doom contribution. It\n * registers its API from inside that lifecycle, so server behaviour has a clear\n * owner and disposer.\n */\nimport type { Static, TSchema } from 'typebox';\n\nimport type { DoomHeadlessHostService, DoomHeadlessToolRestriction } from './headless';\nimport type { DoomHeadlessTool, DoomHeadlessCommand } from './headless';\nimport type { DoomHubChannel } from './hubChannel';\nimport type { DoomApi, DoomApiContext, DoomApiScope } from './packageApi';\nimport type { DoomPluginTool, DoomPluginCommand } from './pluginContributions';\nimport type { DoomPluginCaller, DoomPluginMethod } from './pluginProtocol';\nimport type { DoomToolRestrictionDefinition } from './toolSurface';\n\n/** The host a server facet contributes to. */\nexport const DOOM_SERVER_HOST_SERVICE = 'doom/server-host';\n\nexport interface DoomServerRegistration {\n /** Whether the API was mounted. A refused registration is a no-op handle. */\n readonly mounted?: boolean;\n /** Unmount the surface and close its handler. Idempotent. */\n dispose(): void;\n}\n\n/**\n * What a facet is handed when it installs.\n *\n * `scope` is fixed for the life of the host: a session server never becomes a\n * hub. A facet that only makes sense in one scope returns early in the other\n * rather than declaring itself twice.\n */\nexport interface DoomServerHostService {\n readonly scope: DoomApiScope;\n /** Identity and host-lent capabilities, the same record an API is started with. */\n readonly context: DoomApiContext;\n /**\n * Mount an API under its own base path. A base path already claimed by an\n * earlier facet is refused with a notice and a no-op handle. The same\n * failure posture applies when the API cannot start or the host is disposed.\n */\n registerApi(api: DoomApi): DoomServerRegistration;\n /** Register a live event source under this host's lifecycle. */\n registerChannel(channel: DoomHubChannel): DoomServerRegistration;\n /** Mount a typed call at this host's exact scope. */\n registerMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: DoomPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: DoomPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n ): DoomServerRegistration;\n /** Base paths currently mounted, in mount order. */\n mounted(): readonly string[];\n /** Channel frame types currently mounted, in mount order. */\n mountedChannels(): readonly string[];\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'doom/server-host': DoomServerHostService;\n }\n}\n\nexport function readDoomServerHost(context: Context): DoomServerHostService | undefined {\n return context.get(DOOM_SERVER_HOST_SERVICE) as DoomServerHostService | undefined;\n}\n\nexport function requireDoomServerHost(context: Context): DoomServerHostService {\n const service = readDoomServerHost(context);\n if (!service) throw new Error('The Doom server host is unavailable. Start a Doom server first.');\n return service;\n}\n\n/** The package.json field a package declares its server facet under. */\nexport const DOOM_SERVER_FACET_MANIFEST_FIELD = 'doompiServer';\n\n/** The default export a facet module must provide, so a host can install it. */\nexport const DOOM_SERVER_FACET_EXPORT = 'default';\n\n/**\n * One package's server contributions, as a Cordis object plugin.\n *\n * The object form rather than a bare function, because it is the only shape\n * that declares its own `inject`. That matters to a host: a plugin carrying\n * its dependencies is a single fiber, so `fiber.await()` settles once `apply`\n * has run, and the host can decide whether to open a listener from a mount\n * table it knows is complete. A function facet calling `ctx.inject` inside\n * itself mounts a child fiber that the host has no handle on.\n *\n * A returned function is the disposer, run when the host's root unwinds.\n */\nexport interface DoomServerFacet {\n readonly inject?: readonly string[];\n apply(context: Context): void | (() => void | Promise<void>) | Promise<void | (() => void | Promise<void>)>;\n}\n\n/** One instance belongs to one mounted server scope. */\nexport interface DoomServerPluginContext {\n readonly context: Context;\n readonly host: DoomServerHostService;\n readonly agent?: DoomHeadlessHostService;\n readonly signal: AbortSignal;\n}\n\nexport interface DoomServerMethod {\n register(host: DoomServerHostService): DoomServerRegistration;\n}\n\n/** Capture schema inference before heterogeneous methods enter a contribution array. */\nexport function defineServerMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: DoomPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: DoomPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n): DoomServerMethod {\n return { register: (host) => host.registerMethod(definition, handler) };\n}\n\nexport interface DoomServerPluginScope {\n readonly services?: readonly Parameters<Context['plugin']>[0][];\n readonly channels?: readonly (() => DoomHubChannel)[];\n readonly api?: readonly DoomApi[];\n readonly methods?: readonly DoomServerMethod[];\n readonly onStart?: (context: DoomServerPluginContext) => void | Promise<void>;\n readonly onStop?: (context: DoomServerPluginContext) => void | Promise<void>;\n readonly onDispose?: (context: DoomServerPluginContext) => void | Promise<void>;\n}\n\nexport interface DoomServerSessionPlugin extends DoomServerPluginScope {\n readonly tools?: readonly (DoomHeadlessTool | DoomPluginTool)[];\n readonly commands?: readonly (DoomHeadlessCommand | DoomPluginCommand)[];\n readonly resources?: readonly Parameters<DoomHeadlessHostService['registerResource']>[0][];\n readonly hooks?: readonly Parameters<DoomHeadlessHostService['registerHook']>[0][];\n readonly toolRestrictions?: readonly (\n | DoomHeadlessToolRestriction\n | DoomToolRestrictionDefinition<() => DoomHeadlessToolRestriction>\n )[];\n readonly activities?: readonly Parameters<DoomHeadlessHostService['registerActivity']>[0][];\n}\n\ntype ScopeDeclaration<TScope> = TScope | ((context: DoomServerPluginContext) => TScope | Promise<TScope>);\n// Explicitly forbid session contributions even when a factory returns an inferred object.\ntype NonSessionScope = DoomServerPluginScope & {\n readonly [K in Exclude<keyof DoomServerSessionPlugin, keyof DoomServerPluginScope>]?: never;\n};\nexport interface DoomServerPluginDefinition {\n readonly name: string;\n readonly inject?: readonly string[];\n readonly global?: ScopeDeclaration<NonSessionScope>;\n readonly workspace?: ScopeDeclaration<NonSessionScope>;\n readonly session?: ScopeDeclaration<DoomServerSessionPlugin>;\n}\n\n/** One package's validated declaration. */\nexport interface DeclaredServerFacet {\n packageName: string;\n packageDir: string;\n /** Package-relative ./path to the source entry. */\n entry: string;\n /** Package-relative ./path to the built entry, which is what a host imports. */\n dist: string;\n /** Scopes this facet is installed into; both when the package names neither. */\n scopes: readonly DoomApiScope[];\n /** A selected host cannot be ready without this package's runtime capability. */\n required?: boolean;\n}\n\nexport class DoomServerFacetManifestError extends Error {\n constructor(packageDir: string, message: string) {\n super(`${DOOM_SERVER_FACET_MANIFEST_FIELD} manifest in ${packageDir}: ${message}`);\n this.name = 'DoomServerFacetManifestError';\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/** Narrows a module's default export, so a broken package is a notice rather than a crash. */\nexport function isDoomServerFacet(value: unknown): value is DoomServerFacet {\n return isRecord(value) && typeof value.apply === 'function';\n}\n\nfunction normalizePath(packageDir: string, field: string, value: unknown): string {\n if (typeof value !== 'string' || !value.startsWith('./') || value.includes('..')) {\n throw new DoomServerFacetManifestError(packageDir, `${field} must be a package-relative ./path with no '..'.`);\n }\n return value;\n}\n\nfunction normalizeScopes(packageDir: string, value: unknown): readonly DoomApiScope[] {\n if (value === undefined) throw new DoomServerFacetManifestError(packageDir, 'scopes must be declared explicitly.');\n if (!Array.isArray(value) || value.length === 0) {\n throw new DoomServerFacetManifestError(packageDir, \"scopes must name 'global', 'workspace', or 'session'.\");\n }\n const scopes: DoomApiScope[] = [];\n for (const scope of value) {\n if (scope !== 'session' && scope !== 'global' && scope !== 'workspace') {\n throw new DoomServerFacetManifestError(\n packageDir,\n `Unknown scope '${String(scope)}'; resync for the three-level host.`,\n );\n }\n if (!scopes.includes(scope)) scopes.push(scope);\n }\n return scopes;\n}\n\n/**\n * Validates one package.json's `doompiServer` block.\n *\n * `dist` is required because a host imports the built entry the package ships,\n * never its source.\n */\nexport function declaredServerFacetsOf(packageDir: string, manifest: Record<string, unknown>): DeclaredServerFacet[] {\n const declared = manifest[DOOM_SERVER_FACET_MANIFEST_FIELD];\n if (declared === undefined) return [];\n if (!isRecord(declared)) {\n throw new DoomServerFacetManifestError(packageDir, 'the block must be an object naming entry and dist.');\n }\n const entry = normalizePath(packageDir, 'entry', declared.entry);\n if (declared.dist === undefined) {\n throw new DoomServerFacetManifestError(\n packageDir,\n 'dist is required: a host imports the built entry the package ships, never its source.',\n );\n }\n const dist = normalizePath(packageDir, 'dist', declared.dist);\n if (declared.required !== undefined && typeof declared.required !== 'boolean') {\n throw new DoomServerFacetManifestError(packageDir, 'required must be a boolean.');\n }\n return [\n {\n packageName: typeof manifest.name === 'string' ? manifest.name : packageDir,\n packageDir,\n entry,\n dist,\n scopes: normalizeScopes(packageDir, declared.scopes),\n ...(typeof declared.required === 'boolean' ? { required: declared.required } : {}),\n },\n ];\n}\n\n/**\n * The deterministic order hosts install in. A package appears once: the first\n * directory claiming a package name keeps it and the later one is dropped with\n * a notice, so a duplicated install never installs a facet twice.\n */\nexport function orderServerFacets(\n facets: readonly DeclaredServerFacet[],\n onNotice: (message: string) => void = () => undefined,\n): DeclaredServerFacet[] {\n const sorted = [...facets].sort(\n (left, right) =>\n left.packageName.localeCompare(right.packageName) || left.packageDir.localeCompare(right.packageDir),\n );\n const owners = new Map<string, DeclaredServerFacet>();\n const kept: DeclaredServerFacet[] = [];\n for (const facet of sorted) {\n const holder = owners.get(facet.packageName);\n if (holder !== undefined) {\n onNotice(\n `server facet '${facet.packageName}' from ${facet.packageDir} is skipped: ${holder.packageDir} already claims it.`,\n );\n continue;\n }\n owners.set(facet.packageName, facet);\n kept.push(facet);\n }\n return kept;\n}\n"],"mappings":"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"}