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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverPlugin.cjs","names":[],"sources":["../../../src/schemas/serverPlugin.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n/**\n * The server plugin a package installs into a headless host.\n *\n * A package already ships a Pi extension for the agent process. This is its\n * server half: one cordis plugin that each server scope level (global,\n * workspace, session) installs into its own root, through which the package\n * contributes its HTTP surface and any behaviour that has to run outside the\n * agent.\n *\n * A plugin is installed and disposed like every other cordis plugin. It\n * registers its API through the level's host service from inside that\n * lifecycle, so server behaviour has a clear owner and disposer.\n */\nimport type { Static, TSchema } from 'typebox';\n\nimport type { RootDeclaration, RootFile } from './extensionFile';\nimport type { PoHeadlessHostService, PoHeadlessToolRestriction } from './headless';\nimport type { PoHeadlessTool, PoHeadlessCommand } from './headless';\nimport type { PoHubChannel } from './hubChannel';\nimport type { PoApi, PoApiContext, PoApiScope } from './packageApi';\nimport type { PoPluginTool, PoPluginCommand } from './pluginContributions';\nimport type { PoPluginCaller, PoPluginMethod } from './pluginProtocol';\nimport type { PoServerResources, PoServiceContract } from './serverScope';\nimport type { PoToolRestrictionDefinition } from './toolSurface';\n\n/** The host service each scope level publishes for the packages installed into it. */\nexport const PO_SERVER_HOST_SERVICE = 'po/server-host';\n\nexport interface PoServerRegistration {\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 package registers through at its level.\n *\n * `scope` is fixed for the life of the host: a session server never becomes a\n * hub. A package that only makes sense in one scope returns early in the other\n * rather than declaring itself twice.\n */\nexport interface PoServerHostService {\n readonly scope: PoApiScope;\n /** Identity and host-lent capabilities, the same record an API is started with. */\n readonly context: PoApiContext;\n /**\n * Mount an API under its own base path. A base path already claimed by an\n * earlier package 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: PoApi): PoServerRegistration;\n /** Register a live event source under this host's lifecycle. */\n registerChannel(channel: PoHubChannel): PoServerRegistration;\n /** Mount a typed call at this host's exact scope. */\n registerMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: PoPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n ): PoServerRegistration;\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 'po/server-host': PoServerHostService;\n }\n}\n\nexport function readPoServerHost(context: Context): PoServerHostService | undefined {\n return context.get(PO_SERVER_HOST_SERVICE) as PoServerHostService | undefined;\n}\n\nexport function requirePoServerHost(context: Context): PoServerHostService {\n const service = readPoServerHost(context);\n if (!service) throw new Error('The Po server host is unavailable. Start a Po server first.');\n return service;\n}\n\n/** The package.json field a package declares its server plugin under. */\nexport const PO_SERVER_MANIFEST_FIELD = 'poServer';\n\nexport interface PoServerProviderOverride {\n readonly name: string;\n readonly baseUrl: string;\n}\nexport type PoServerProviderOverrides = (context: {\n readonly environment: Readonly<Record<string, string | undefined>>;\n}) => readonly PoServerProviderOverride[];\n\n/** Read pure root metadata without initializing or mounting the root. */\nexport function composeServerProviderOverrides(...roots: readonly unknown[]): PoServerProviderOverrides {\n return (context) =>\n roots.flatMap((root) => {\n if ((typeof root !== 'function' && typeof root !== 'object') || root === null) return [];\n const callback = (root as { providerOverrides?: PoServerProviderOverrides }).providerOverrides;\n return typeof callback === 'function' ? callback(context) : [];\n });\n}\n\n/** Service contracts by the scope level that binds or waits for them. */\nexport type PoServerContracts = Readonly<Partial<Record<PoApiScope, readonly PoServiceContract<unknown>[]>>>;\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 scope: 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.\n *\n * `providerOverrides`, `provides` and `injects` are pure metadata a host or the\n * build reads without running `apply`. A returned function is the disposer, run\n * when the plugin's fiber unwinds.\n */\nexport interface PoServerPlugin {\n readonly name: string;\n readonly providerOverrides?: PoServerProviderOverrides;\n readonly inject?: readonly string[];\n /** The contracts each level binds, which po-build lists as `poServer.provides`. */\n readonly provides?: PoServerContracts;\n /** The contracts each level waits for before it mounts, which po-build lists as `poServer.injects`. */\n readonly injects?: PoServerContracts;\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 PoServerPluginContext {\n readonly context: Context;\n readonly host: PoServerHostService;\n readonly agent?: PoHeadlessHostService;\n readonly signal: AbortSignal;\n /** Values this plugin build shares with every other level running it in the hub, released with this one. */\n readonly resources: PoServerResources;\n /**\n * This package's root for `level`. At this scope's own level the root is built here and published\n * for the levels inside it. At an outer level it is the root that level already built, without the\n * hooks and services that run there once; when no outer level runs this package it is built here.\n */\n scopeRoot<TValue, TContext>(\n level: PoApiScope,\n root: RootFile<TValue, TContext>,\n context: TContext,\n ): Promise<RootDeclaration<TValue, TContext>>;\n /**\n * Whether a level from `level` out to this scope's parent already runs this package, so what this\n * package declared at `level` is served there and is not mounted again here.\n */\n hosted(level: PoApiScope): boolean;\n}\n\nexport interface PoServerMethod {\n register(host: PoServerHostService): PoServerRegistration;\n}\n\n/** Capture schema inference before heterogeneous methods enter a contribution array. */\nexport function defineServerMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: PoPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n): PoServerMethod {\n return { register: (host) => host.registerMethod(definition, handler) };\n}\n\nexport interface PoServerPluginScope {\n readonly services?: readonly Parameters<Context['plugin']>[0][];\n readonly channels?: readonly (() => PoHubChannel)[];\n readonly api?: readonly PoApi[];\n readonly methods?: readonly PoServerMethod[];\n readonly onStart?: (context: PoServerPluginContext) => void | Promise<void>;\n readonly onStop?: (context: PoServerPluginContext) => void | Promise<void>;\n readonly onDispose?: (context: PoServerPluginContext) => void | Promise<void>;\n}\n\nexport interface PoServerSessionPlugin extends PoServerPluginScope {\n readonly tools?: readonly (PoHeadlessTool | PoPluginTool)[];\n readonly commands?: readonly (PoHeadlessCommand | PoPluginCommand)[];\n readonly resources?: readonly Parameters<PoHeadlessHostService['registerResource']>[0][];\n readonly hooks?: readonly Parameters<PoHeadlessHostService['registerHook']>[0][];\n readonly toolRestrictions?: readonly (\n | PoHeadlessToolRestriction\n | PoToolRestrictionDefinition<() => PoHeadlessToolRestriction>\n )[];\n readonly activities?: readonly Parameters<PoHeadlessHostService['registerActivity']>[0][];\n}\n\ntype ScopeDeclaration<TScope> = TScope | ((context: PoServerPluginContext) => TScope | Promise<TScope>);\n// Explicitly forbid session contributions even when a factory returns an inferred object.\ntype NonSessionScope = PoServerPluginScope & {\n readonly [K in Exclude<keyof PoServerSessionPlugin, keyof PoServerPluginScope>]?: never;\n};\nexport interface PoServerPluginDefinition {\n readonly providerOverrides?: PoServerProviderOverrides;\n readonly name: string;\n readonly inject?: readonly string[];\n /** Each contract a level binds belongs to that level. */\n readonly provides?: PoServerContracts;\n /** Each contract a level waits for belongs to that level or an outer one. */\n readonly injects?: PoServerContracts;\n readonly global?: ScopeDeclaration<NonSessionScope>;\n readonly workspace?: ScopeDeclaration<NonSessionScope>;\n readonly session?: ScopeDeclaration<PoServerSessionPlugin>;\n}\n\n/** One package's validated declaration. */\nexport interface DeclaredServerPackage {\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 package is installed into. */\n scopes: readonly PoApiScope[];\n /** A selected host cannot be ready without this package's runtime capability. */\n required?: boolean;\n}\n\nexport class PoServerManifestError extends Error {\n constructor(packageDir: string, message: string) {\n super(`${PO_SERVER_MANIFEST_FIELD} manifest in ${packageDir}: ${message}`);\n this.name = 'PoServerManifestError';\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction normalizePath(packageDir: string, field: string, value: unknown): string {\n if (typeof value !== 'string' || !value.startsWith('./') || value.includes('..')) {\n throw new PoServerManifestError(packageDir, `${field} must be a package-relative ./path with no '..'.`);\n }\n return value;\n}\n\nfunction normalizeScopes(packageDir: string, value: unknown): readonly PoApiScope[] {\n if (value === undefined) throw new PoServerManifestError(packageDir, 'scopes must be declared explicitly.');\n if (!Array.isArray(value) || value.length === 0) {\n throw new PoServerManifestError(packageDir, \"scopes must name 'global', 'workspace', or 'session'.\");\n }\n const scopes: PoApiScope[] = [];\n for (const scope of value) {\n if (scope !== 'session' && scope !== 'global' && scope !== 'workspace') {\n throw new PoServerManifestError(packageDir, `Unknown scope '${String(scope)}'; resync for the three-level host.`);\n }\n if (!scopes.includes(scope)) scopes.push(scope);\n }\n return scopes;\n}\n\n/**\n * Validates one package.json's `poServer` block.\n *\n * `dist` is required because a host imports the built entry the package ships,\n * never its source.\n */\nexport function declaredServerPackagesOf(\n packageDir: string,\n manifest: Record<string, unknown>,\n): DeclaredServerPackage[] {\n const declared = manifest[PO_SERVER_MANIFEST_FIELD];\n if (declared === undefined) return [];\n if (!isRecord(declared)) {\n throw new PoServerManifestError(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 PoServerManifestError(\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 PoServerManifestError(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 package twice.\n */\nexport function orderServerPackages(\n packages: readonly DeclaredServerPackage[],\n onNotice: (message: string) => void = () => undefined,\n): DeclaredServerPackage[] {\n const sorted = [...packages].sort(\n (left, right) =>\n left.packageName.localeCompare(right.packageName) || left.packageDir.localeCompare(right.packageDir),\n );\n const owners = new Map<string, DeclaredServerPackage>();\n const kept: DeclaredServerPackage[] = [];\n for (const declared of sorted) {\n const holder = owners.get(declared.packageName);\n if (holder !== undefined) {\n onNotice(\n `server package '${declared.packageName}' from ${declared.packageDir} is skipped: ${holder.packageDir} already claims it.`,\n );\n continue;\n }\n owners.set(declared.packageName, declared);\n kept.push(declared);\n }\n return kept;\n}\n"],"mappings":";;AA2BA,MAAa,yBAAyB;AA6CtC,SAAgB,iBAAiB,SAAmD;CAClF,OAAO,QAAQ,IAAI,sBAAsB;AAC3C;AAEA,SAAgB,oBAAoB,SAAuC;CACzE,MAAM,UAAU,iBAAiB,OAAO;CACxC,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,6DAA6D;CAC3F,OAAO;AACT;;AAGA,MAAa,2BAA2B;;AAWxC,SAAgB,+BAA+B,GAAG,OAAsD;CACtG,QAAQ,YACN,MAAM,SAAS,SAAS;EACtB,IAAK,OAAO,SAAS,cAAc,OAAO,SAAS,YAAa,SAAS,MAAM,OAAO,CAAC;EACvF,MAAM,WAAY,KAA2D;EAC7E,OAAO,OAAO,aAAa,aAAa,SAAS,OAAO,IAAI,CAAC;CAC/D,CAAC;AACL;;AA2DA,SAAgB,mBACd,YACA,SACgB;CAChB,OAAO,EAAE,WAAW,SAAS,KAAK,eAAe,YAAY,OAAO,EAAE;AACxE;AAwDA,IAAa,wBAAb,cAA2C,MAAM;CAC/C,YAAY,YAAoB,SAAiB;EAC/C,MAAM,GAAG,yBAAyB,eAAe,WAAW,IAAI,SAAS;EACzE,KAAK,OAAO;CACd;AACF;AAEA,SAAS,SAAS,OAAkD;CAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,SAAS,cAAc,YAAoB,OAAe,OAAwB;CAChF,IAAI,OAAO,UAAU,YAAY,CAAC,MAAM,WAAW,IAAI,KAAK,MAAM,SAAS,IAAI,GAC7E,MAAM,IAAI,sBAAsB,YAAY,GAAG,MAAM,iDAAiD;CAExG,OAAO;AACT;AAEA,SAAS,gBAAgB,YAAoB,OAAuC;CAClF,IAAI,UAAU,KAAA,GAAW,MAAM,IAAI,sBAAsB,YAAY,qCAAqC;CAC1G,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,GAC5C,MAAM,IAAI,sBAAsB,YAAY,uDAAuD;CAErG,MAAM,SAAuB,CAAC;CAC9B,KAAK,MAAM,SAAS,OAAO;EACzB,IAAI,UAAU,aAAa,UAAU,YAAY,UAAU,aACzD,MAAM,IAAI,sBAAsB,YAAY,kBAAkB,OAAO,KAAK,EAAE,oCAAoC;EAElH,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG,OAAO,KAAK,KAAK;CAChD;CACA,OAAO;AACT;;;;;;;AAQA,SAAgB,yBACd,YACA,UACyB;CACzB,MAAM,WAAW,SAAS;CAC1B,IAAI,aAAa,KAAA,GAAW,OAAO,CAAC;CACpC,IAAI,CAAC,SAAS,QAAQ,GACpB,MAAM,IAAI,sBAAsB,YAAY,oDAAoD;CAElG,MAAM,QAAQ,cAAc,YAAY,SAAS,SAAS,KAAK;CAC/D,IAAI,SAAS,SAAS,KAAA,GACpB,MAAM,IAAI,sBACR,YACA,uFACF;CAEF,MAAM,OAAO,cAAc,YAAY,QAAQ,SAAS,IAAI;CAC5D,IAAI,SAAS,aAAa,KAAA,KAAa,OAAO,SAAS,aAAa,WAClE,MAAM,IAAI,sBAAsB,YAAY,6BAA6B;CAE3E,OAAO,CACL;EACE,aAAa,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO;EACjE;EACA;EACA;EACA,QAAQ,gBAAgB,YAAY,SAAS,MAAM;EACnD,GAAI,OAAO,SAAS,aAAa,YAAY,EAAE,UAAU,SAAS,SAAS,IAAI,CAAC;CAClF,CACF;AACF;;;;;;AAOA,SAAgB,oBACd,UACA,iBAA4C,KAAA,GACnB;CACzB,MAAM,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,MAC1B,MAAM,UACL,KAAK,YAAY,cAAc,MAAM,WAAW,KAAK,KAAK,WAAW,cAAc,MAAM,UAAU,CACvG;CACA,MAAM,yBAAS,IAAI,IAAmC;CACtD,MAAM,OAAgC,CAAC;CACvC,KAAK,MAAM,YAAY,QAAQ;EAC7B,MAAM,SAAS,OAAO,IAAI,SAAS,WAAW;EAC9C,IAAI,WAAW,KAAA,GAAW;GACxB,SACE,mBAAmB,SAAS,YAAY,SAAS,SAAS,WAAW,eAAe,OAAO,WAAW,oBACxG;GACA;EACF;EACA,OAAO,IAAI,SAAS,aAAa,QAAQ;EACzC,KAAK,KAAK,QAAQ;CACpB;CACA,OAAO;AACT"}
@@ -0,0 +1,176 @@
1
+ import { PoHubChannel } from "./hubChannel.mjs";
2
+ import { PoApi, PoApiContext, PoApiScope } from "./packageApi.mjs";
3
+ import { PoHeadlessCommand, PoHeadlessHostService, PoHeadlessTool, PoHeadlessToolRestriction } from "./headless.mjs";
4
+ import { PoPluginCommand, PoPluginTool } from "./pluginContributions.mjs";
5
+ import { PoPluginCaller, PoPluginMethod } from "./pluginProtocol.mjs";
6
+ import { PoServerResources, PoServiceContract } from "./serverScope.mjs";
7
+ import { PoToolRestrictionDefinition } from "./toolSurface.mjs";
8
+ import { RootDeclaration, RootFile } from "./extensionFile.mjs";
9
+ import { Static, TSchema } from "typebox";
10
+ import { Context } from "@deepseek-ai/cordis";
11
+ //#region src/schemas/serverPlugin.d.ts
12
+ /** The host service each scope level publishes for the packages installed into it. */
13
+ export declare const PO_SERVER_HOST_SERVICE = "po/server-host";
14
+ export interface PoServerRegistration {
15
+ /** Whether the API was mounted. A refused registration is a no-op handle. */
16
+ readonly mounted?: boolean;
17
+ /** Unmount the surface and close its handler. Idempotent. */
18
+ dispose(): void;
19
+ }
20
+ /**
21
+ * What a package registers through at its level.
22
+ *
23
+ * `scope` is fixed for the life of the host: a session server never becomes a
24
+ * hub. A package that only makes sense in one scope returns early in the other
25
+ * rather than declaring itself twice.
26
+ */
27
+ export interface PoServerHostService {
28
+ readonly scope: PoApiScope;
29
+ /** Identity and host-lent capabilities, the same record an API is started with. */
30
+ readonly context: PoApiContext;
31
+ /**
32
+ * Mount an API under its own base path. A base path already claimed by an
33
+ * earlier package is refused with a notice and a no-op handle. The same
34
+ * failure posture applies when the API cannot start or the host is disposed.
35
+ */
36
+ registerApi(api: PoApi): PoServerRegistration;
37
+ /** Register a live event source under this host's lifecycle. */
38
+ registerChannel(channel: PoHubChannel): PoServerRegistration;
39
+ /** Mount a typed call at this host's exact scope. */
40
+ registerMethod<TInput extends TSchema, TOutput extends TSchema>(definition: PoPluginMethod<TInput, TOutput>, handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>): PoServerRegistration;
41
+ /** Base paths currently mounted, in mount order. */
42
+ mounted(): readonly string[];
43
+ /** Channel frame types currently mounted, in mount order. */
44
+ mountedChannels(): readonly string[];
45
+ }
46
+ declare module '@deepseek-ai/cordis' {
47
+ interface Context {
48
+ 'po/server-host': PoServerHostService;
49
+ }
50
+ }
51
+ export declare function readPoServerHost(context: Context): PoServerHostService | undefined;
52
+ export declare function requirePoServerHost(context: Context): PoServerHostService;
53
+ /** The package.json field a package declares its server plugin under. */
54
+ export declare const PO_SERVER_MANIFEST_FIELD = "poServer";
55
+ export interface PoServerProviderOverride {
56
+ readonly name: string;
57
+ readonly baseUrl: string;
58
+ }
59
+ export type PoServerProviderOverrides = (context: {
60
+ readonly environment: Readonly<Record<string, string | undefined>>;
61
+ }) => readonly PoServerProviderOverride[];
62
+ /** Read pure root metadata without initializing or mounting the root. */
63
+ export declare function composeServerProviderOverrides(...roots: readonly unknown[]): PoServerProviderOverrides;
64
+ /** Service contracts by the scope level that binds or waits for them. */
65
+ export type PoServerContracts = Readonly<Partial<Record<PoApiScope, readonly PoServiceContract<unknown>[]>>>;
66
+ /**
67
+ * One package's server contributions, as a cordis object plugin.
68
+ *
69
+ * The object form rather than a bare function, because it is the only shape
70
+ * that declares its own `inject`. That matters to a scope: a plugin carrying
71
+ * its dependencies is a single fiber, so `fiber.await()` settles once `apply`
72
+ * has run, and the host can decide whether to open a listener from a mount
73
+ * table it knows is complete.
74
+ *
75
+ * `providerOverrides`, `provides` and `injects` are pure metadata a host or the
76
+ * build reads without running `apply`. A returned function is the disposer, run
77
+ * when the plugin's fiber unwinds.
78
+ */
79
+ export interface PoServerPlugin {
80
+ readonly name: string;
81
+ readonly providerOverrides?: PoServerProviderOverrides;
82
+ readonly inject?: readonly string[];
83
+ /** The contracts each level binds, which po-build lists as `poServer.provides`. */
84
+ readonly provides?: PoServerContracts;
85
+ /** The contracts each level waits for before it mounts, which po-build lists as `poServer.injects`. */
86
+ readonly injects?: PoServerContracts;
87
+ apply(context: Context): void | (() => void | Promise<void>) | Promise<void | (() => void | Promise<void>)>;
88
+ }
89
+ /** One instance belongs to one mounted server scope. */
90
+ export interface PoServerPluginContext {
91
+ readonly context: Context;
92
+ readonly host: PoServerHostService;
93
+ readonly agent?: PoHeadlessHostService;
94
+ readonly signal: AbortSignal;
95
+ /** Values this plugin build shares with every other level running it in the hub, released with this one. */
96
+ readonly resources: PoServerResources;
97
+ /**
98
+ * This package's root for `level`. At this scope's own level the root is built here and published
99
+ * for the levels inside it. At an outer level it is the root that level already built, without the
100
+ * hooks and services that run there once; when no outer level runs this package it is built here.
101
+ */
102
+ scopeRoot<TValue, TContext>(level: PoApiScope, root: RootFile<TValue, TContext>, context: TContext): Promise<RootDeclaration<TValue, TContext>>;
103
+ /**
104
+ * Whether a level from `level` out to this scope's parent already runs this package, so what this
105
+ * package declared at `level` is served there and is not mounted again here.
106
+ */
107
+ hosted(level: PoApiScope): boolean;
108
+ }
109
+ export interface PoServerMethod {
110
+ register(host: PoServerHostService): PoServerRegistration;
111
+ }
112
+ /** Capture schema inference before heterogeneous methods enter a contribution array. */
113
+ export declare function defineServerMethod<TInput extends TSchema, TOutput extends TSchema>(definition: PoPluginMethod<TInput, TOutput>, handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>): PoServerMethod;
114
+ export interface PoServerPluginScope {
115
+ readonly services?: readonly Parameters<Context['plugin']>[0][];
116
+ readonly channels?: readonly (() => PoHubChannel)[];
117
+ readonly api?: readonly PoApi[];
118
+ readonly methods?: readonly PoServerMethod[];
119
+ readonly onStart?: (context: PoServerPluginContext) => void | Promise<void>;
120
+ readonly onStop?: (context: PoServerPluginContext) => void | Promise<void>;
121
+ readonly onDispose?: (context: PoServerPluginContext) => void | Promise<void>;
122
+ }
123
+ export interface PoServerSessionPlugin extends PoServerPluginScope {
124
+ readonly tools?: readonly (PoHeadlessTool | PoPluginTool)[];
125
+ readonly commands?: readonly (PoHeadlessCommand | PoPluginCommand)[];
126
+ readonly resources?: readonly Parameters<PoHeadlessHostService['registerResource']>[0][];
127
+ readonly hooks?: readonly Parameters<PoHeadlessHostService['registerHook']>[0][];
128
+ readonly toolRestrictions?: readonly (PoHeadlessToolRestriction | PoToolRestrictionDefinition<() => PoHeadlessToolRestriction>)[];
129
+ readonly activities?: readonly Parameters<PoHeadlessHostService['registerActivity']>[0][];
130
+ }
131
+ type ScopeDeclaration<TScope> = TScope | ((context: PoServerPluginContext) => TScope | Promise<TScope>);
132
+ type NonSessionScope = PoServerPluginScope & { readonly [K in Exclude<keyof PoServerSessionPlugin, keyof PoServerPluginScope>]?: never; };
133
+ export interface PoServerPluginDefinition {
134
+ readonly providerOverrides?: PoServerProviderOverrides;
135
+ readonly name: string;
136
+ readonly inject?: readonly string[];
137
+ /** Each contract a level binds belongs to that level. */
138
+ readonly provides?: PoServerContracts;
139
+ /** Each contract a level waits for belongs to that level or an outer one. */
140
+ readonly injects?: PoServerContracts;
141
+ readonly global?: ScopeDeclaration<NonSessionScope>;
142
+ readonly workspace?: ScopeDeclaration<NonSessionScope>;
143
+ readonly session?: ScopeDeclaration<PoServerSessionPlugin>;
144
+ }
145
+ /** One package's validated declaration. */
146
+ export interface DeclaredServerPackage {
147
+ packageName: string;
148
+ packageDir: string;
149
+ /** Package-relative ./path to the source entry. */
150
+ entry: string;
151
+ /** Package-relative ./path to the built entry, which is what a host imports. */
152
+ dist: string;
153
+ /** Scopes this package is installed into. */
154
+ scopes: readonly PoApiScope[];
155
+ /** A selected host cannot be ready without this package's runtime capability. */
156
+ required?: boolean;
157
+ }
158
+ export declare class PoServerManifestError extends Error {
159
+ constructor(packageDir: string, message: string);
160
+ }
161
+ /**
162
+ * Validates one package.json's `poServer` block.
163
+ *
164
+ * `dist` is required because a host imports the built entry the package ships,
165
+ * never its source.
166
+ */
167
+ export declare function declaredServerPackagesOf(packageDir: string, manifest: Record<string, unknown>): DeclaredServerPackage[];
168
+ /**
169
+ * The deterministic order hosts install in. A package appears once: the first
170
+ * directory claiming a package name keeps it and the later one is dropped with
171
+ * a notice, so a duplicated install never installs a package twice.
172
+ */
173
+ export declare function orderServerPackages(packages: readonly DeclaredServerPackage[], onNotice?: (message: string) => void): DeclaredServerPackage[];
174
+ //#endregion
175
+ export {};
176
+ //# sourceMappingURL=serverPlugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverPlugin.d.mts","names":[],"sources":["../../../src/schemas/serverPlugin.ts"],"mappings":";;;;;;;;;;;;qBA2Ba;iBAEI;;WAEN;;EAET;;;;;;;;;iBAUe;WACN,OAAO;;WAEP,SAAS;;;;;;EAMlB,YAAY,KAAK,QAAQ;;EAEzB,gBAAgB,SAAS,eAAe;;EAExC,eAAe,eAAe,SAAS,gBAAgB,SACrD,YAAY,eAAe,QAAQ,UACnC,UAAU,OAAO,OAAO,SAAS,QAAQ,mBAAmB,OAAO,WAAW,QAAQ,OAAO,YAC5F;;EAEH;;EAEA;;;YAIU;IACR,kBAAkB;;;wBAIN,iBAAiB,SAAS,UAAU;wBAIpC,oBAAoB,SAAS,UAAU;;qBAO1C;iBAEI;WACN;WACA;;YAEC,6BAA6B;WAC9B,aAAa,SAAS;eAClB;;wBAGC,kCAAkC,4BAA4B;;YAUlE,oBAAoB,SAAS,QAAQ,OAAO,qBAAqB;;;;;;;;;;;;;;iBAe5D;WACN;WACA,oBAAoB;WACpB;;WAEA,WAAW;;WAEX,UAAU;EACnB,MAAM,SAAS,+BAA+B,iBAAiB,6BAA6B;;;iBAI7E;WACN,SAAS;WACT,MAAM;WACN,QAAQ;WACR,QAAQ;;WAER,WAAW;;;;;;EAMpB,UAAU,QAAQ,UAChB,OAAO,YACP,MAAM,SAAS,QAAQ,WACvB,SAAS,WACR,QAAQ,gBAAgB,QAAQ;;;;;EAKnC,OAAO,OAAO;;iBAGC;EACf,SAAS,MAAM,sBAAsB;;;wBAIvB,mBAAmB,eAAe,SAAS,gBAAgB,SACzE,YAAY,eAAe,QAAQ,UACnC,UAAU,OAAO,OAAO,SAAS,QAAQ,mBAAmB,OAAO,WAAW,QAAQ,OAAO,YAC5F;iBAIc;WACN,oBAAoB,WAAW;WAC/B,2BAA2B;WAC3B,eAAe;WACf,mBAAmB;WACnB,WAAW,SAAS,iCAAiC;WACrD,UAAU,SAAS,iCAAiC;WACpD,aAAa,SAAS,iCAAiC;;iBAGjD,8BAA8B;WACpC,kBAAkB,iBAAiB;WACnC,qBAAqB,oBAAoB;WACzC,qBAAqB,WAAW;WAChC,iBAAiB,WAAW;WAC5B,6BACL,4BACA,kCAAkC;WAE7B,sBAAsB,WAAW;;KAGvC,iBAAiB,UAAU,WAAW,SAAS,0BAA0B,SAAS,QAAQ;KAE1F,kBAAkB,kCACX,KAAK,cAAc,6BAA6B;iBAE3C;WACN,oBAAoB;WACpB;WACA;;WAEA,WAAW;;WAEX,UAAU;WACV,SAAS,iBAAiB;WAC1B,YAAY,iBAAiB;WAC7B,UAAU,iBAAiB;;;iBAIrB;EACf;EACA;;EAEA;;EAEA;;EAEA,iBAAiB;;EAEjB;;qBAGW,8BAA8B;EACzC,YAAY,oBAAoB;;;;;;;;wBAsClB,yBACd,oBACA,UAAU,0BACT;;;;;;wBAkCa,oBACd,mBAAmB,yBACnB,YAAW,2BACV"}
@@ -0,0 +1,95 @@
1
+ //#region src/schemas/serverPlugin.ts
2
+ /** The host service each scope level publishes for the packages installed into it. */
3
+ const PO_SERVER_HOST_SERVICE = "po/server-host";
4
+ function readPoServerHost(context) {
5
+ return context.get(PO_SERVER_HOST_SERVICE);
6
+ }
7
+ function requirePoServerHost(context) {
8
+ const service = readPoServerHost(context);
9
+ if (!service) throw new Error("The Po server host is unavailable. Start a Po server first.");
10
+ return service;
11
+ }
12
+ /** The package.json field a package declares its server plugin under. */
13
+ const PO_SERVER_MANIFEST_FIELD = "poServer";
14
+ /** Read pure root metadata without initializing or mounting the root. */
15
+ function composeServerProviderOverrides(...roots) {
16
+ return (context) => roots.flatMap((root) => {
17
+ if (typeof root !== "function" && typeof root !== "object" || root === null) return [];
18
+ const callback = root.providerOverrides;
19
+ return typeof callback === "function" ? callback(context) : [];
20
+ });
21
+ }
22
+ /** Capture schema inference before heterogeneous methods enter a contribution array. */
23
+ function defineServerMethod(definition, handler) {
24
+ return { register: (host) => host.registerMethod(definition, handler) };
25
+ }
26
+ var PoServerManifestError = class extends Error {
27
+ constructor(packageDir, message) {
28
+ super(`${PO_SERVER_MANIFEST_FIELD} manifest in ${packageDir}: ${message}`);
29
+ this.name = "PoServerManifestError";
30
+ }
31
+ };
32
+ function isRecord(value) {
33
+ return typeof value === "object" && value !== null && !Array.isArray(value);
34
+ }
35
+ function normalizePath(packageDir, field, value) {
36
+ if (typeof value !== "string" || !value.startsWith("./") || value.includes("..")) throw new PoServerManifestError(packageDir, `${field} must be a package-relative ./path with no '..'.`);
37
+ return value;
38
+ }
39
+ function normalizeScopes(packageDir, value) {
40
+ if (value === void 0) throw new PoServerManifestError(packageDir, "scopes must be declared explicitly.");
41
+ if (!Array.isArray(value) || value.length === 0) throw new PoServerManifestError(packageDir, "scopes must name 'global', 'workspace', or 'session'.");
42
+ const scopes = [];
43
+ for (const scope of value) {
44
+ if (scope !== "session" && scope !== "global" && scope !== "workspace") throw new PoServerManifestError(packageDir, `Unknown scope '${String(scope)}'; resync for the three-level host.`);
45
+ if (!scopes.includes(scope)) scopes.push(scope);
46
+ }
47
+ return scopes;
48
+ }
49
+ /**
50
+ * Validates one package.json's `poServer` block.
51
+ *
52
+ * `dist` is required because a host imports the built entry the package ships,
53
+ * never its source.
54
+ */
55
+ function declaredServerPackagesOf(packageDir, manifest) {
56
+ const declared = manifest[PO_SERVER_MANIFEST_FIELD];
57
+ if (declared === void 0) return [];
58
+ if (!isRecord(declared)) throw new PoServerManifestError(packageDir, "the block must be an object naming entry and dist.");
59
+ const entry = normalizePath(packageDir, "entry", declared.entry);
60
+ if (declared.dist === void 0) throw new PoServerManifestError(packageDir, "dist is required: a host imports the built entry the package ships, never its source.");
61
+ const dist = normalizePath(packageDir, "dist", declared.dist);
62
+ if (declared.required !== void 0 && typeof declared.required !== "boolean") throw new PoServerManifestError(packageDir, "required must be a boolean.");
63
+ return [{
64
+ packageName: typeof manifest.name === "string" ? manifest.name : packageDir,
65
+ packageDir,
66
+ entry,
67
+ dist,
68
+ scopes: normalizeScopes(packageDir, declared.scopes),
69
+ ...typeof declared.required === "boolean" ? { required: declared.required } : {}
70
+ }];
71
+ }
72
+ /**
73
+ * The deterministic order hosts install in. A package appears once: the first
74
+ * directory claiming a package name keeps it and the later one is dropped with
75
+ * a notice, so a duplicated install never installs a package twice.
76
+ */
77
+ function orderServerPackages(packages, onNotice = () => void 0) {
78
+ const sorted = [...packages].sort((left, right) => left.packageName.localeCompare(right.packageName) || left.packageDir.localeCompare(right.packageDir));
79
+ const owners = /* @__PURE__ */ new Map();
80
+ const kept = [];
81
+ for (const declared of sorted) {
82
+ const holder = owners.get(declared.packageName);
83
+ if (holder !== void 0) {
84
+ onNotice(`server package '${declared.packageName}' from ${declared.packageDir} is skipped: ${holder.packageDir} already claims it.`);
85
+ continue;
86
+ }
87
+ owners.set(declared.packageName, declared);
88
+ kept.push(declared);
89
+ }
90
+ return kept;
91
+ }
92
+ //#endregion
93
+ export { PO_SERVER_HOST_SERVICE, PO_SERVER_MANIFEST_FIELD, PoServerManifestError, composeServerProviderOverrides, declaredServerPackagesOf, defineServerMethod, orderServerPackages, readPoServerHost, requirePoServerHost };
94
+
95
+ //# sourceMappingURL=serverPlugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverPlugin.mjs","names":[],"sources":["../../../src/schemas/serverPlugin.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n/**\n * The server plugin a package installs into a headless host.\n *\n * A package already ships a Pi extension for the agent process. This is its\n * server half: one cordis plugin that each server scope level (global,\n * workspace, session) installs into its own root, through which the package\n * contributes its HTTP surface and any behaviour that has to run outside the\n * agent.\n *\n * A plugin is installed and disposed like every other cordis plugin. It\n * registers its API through the level's host service from inside that\n * lifecycle, so server behaviour has a clear owner and disposer.\n */\nimport type { Static, TSchema } from 'typebox';\n\nimport type { RootDeclaration, RootFile } from './extensionFile';\nimport type { PoHeadlessHostService, PoHeadlessToolRestriction } from './headless';\nimport type { PoHeadlessTool, PoHeadlessCommand } from './headless';\nimport type { PoHubChannel } from './hubChannel';\nimport type { PoApi, PoApiContext, PoApiScope } from './packageApi';\nimport type { PoPluginTool, PoPluginCommand } from './pluginContributions';\nimport type { PoPluginCaller, PoPluginMethod } from './pluginProtocol';\nimport type { PoServerResources, PoServiceContract } from './serverScope';\nimport type { PoToolRestrictionDefinition } from './toolSurface';\n\n/** The host service each scope level publishes for the packages installed into it. */\nexport const PO_SERVER_HOST_SERVICE = 'po/server-host';\n\nexport interface PoServerRegistration {\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 package registers through at its level.\n *\n * `scope` is fixed for the life of the host: a session server never becomes a\n * hub. A package that only makes sense in one scope returns early in the other\n * rather than declaring itself twice.\n */\nexport interface PoServerHostService {\n readonly scope: PoApiScope;\n /** Identity and host-lent capabilities, the same record an API is started with. */\n readonly context: PoApiContext;\n /**\n * Mount an API under its own base path. A base path already claimed by an\n * earlier package 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: PoApi): PoServerRegistration;\n /** Register a live event source under this host's lifecycle. */\n registerChannel(channel: PoHubChannel): PoServerRegistration;\n /** Mount a typed call at this host's exact scope. */\n registerMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: PoPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n ): PoServerRegistration;\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 'po/server-host': PoServerHostService;\n }\n}\n\nexport function readPoServerHost(context: Context): PoServerHostService | undefined {\n return context.get(PO_SERVER_HOST_SERVICE) as PoServerHostService | undefined;\n}\n\nexport function requirePoServerHost(context: Context): PoServerHostService {\n const service = readPoServerHost(context);\n if (!service) throw new Error('The Po server host is unavailable. Start a Po server first.');\n return service;\n}\n\n/** The package.json field a package declares its server plugin under. */\nexport const PO_SERVER_MANIFEST_FIELD = 'poServer';\n\nexport interface PoServerProviderOverride {\n readonly name: string;\n readonly baseUrl: string;\n}\nexport type PoServerProviderOverrides = (context: {\n readonly environment: Readonly<Record<string, string | undefined>>;\n}) => readonly PoServerProviderOverride[];\n\n/** Read pure root metadata without initializing or mounting the root. */\nexport function composeServerProviderOverrides(...roots: readonly unknown[]): PoServerProviderOverrides {\n return (context) =>\n roots.flatMap((root) => {\n if ((typeof root !== 'function' && typeof root !== 'object') || root === null) return [];\n const callback = (root as { providerOverrides?: PoServerProviderOverrides }).providerOverrides;\n return typeof callback === 'function' ? callback(context) : [];\n });\n}\n\n/** Service contracts by the scope level that binds or waits for them. */\nexport type PoServerContracts = Readonly<Partial<Record<PoApiScope, readonly PoServiceContract<unknown>[]>>>;\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 scope: 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.\n *\n * `providerOverrides`, `provides` and `injects` are pure metadata a host or the\n * build reads without running `apply`. A returned function is the disposer, run\n * when the plugin's fiber unwinds.\n */\nexport interface PoServerPlugin {\n readonly name: string;\n readonly providerOverrides?: PoServerProviderOverrides;\n readonly inject?: readonly string[];\n /** The contracts each level binds, which po-build lists as `poServer.provides`. */\n readonly provides?: PoServerContracts;\n /** The contracts each level waits for before it mounts, which po-build lists as `poServer.injects`. */\n readonly injects?: PoServerContracts;\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 PoServerPluginContext {\n readonly context: Context;\n readonly host: PoServerHostService;\n readonly agent?: PoHeadlessHostService;\n readonly signal: AbortSignal;\n /** Values this plugin build shares with every other level running it in the hub, released with this one. */\n readonly resources: PoServerResources;\n /**\n * This package's root for `level`. At this scope's own level the root is built here and published\n * for the levels inside it. At an outer level it is the root that level already built, without the\n * hooks and services that run there once; when no outer level runs this package it is built here.\n */\n scopeRoot<TValue, TContext>(\n level: PoApiScope,\n root: RootFile<TValue, TContext>,\n context: TContext,\n ): Promise<RootDeclaration<TValue, TContext>>;\n /**\n * Whether a level from `level` out to this scope's parent already runs this package, so what this\n * package declared at `level` is served there and is not mounted again here.\n */\n hosted(level: PoApiScope): boolean;\n}\n\nexport interface PoServerMethod {\n register(host: PoServerHostService): PoServerRegistration;\n}\n\n/** Capture schema inference before heterogeneous methods enter a contribution array. */\nexport function defineServerMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: PoPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n): PoServerMethod {\n return { register: (host) => host.registerMethod(definition, handler) };\n}\n\nexport interface PoServerPluginScope {\n readonly services?: readonly Parameters<Context['plugin']>[0][];\n readonly channels?: readonly (() => PoHubChannel)[];\n readonly api?: readonly PoApi[];\n readonly methods?: readonly PoServerMethod[];\n readonly onStart?: (context: PoServerPluginContext) => void | Promise<void>;\n readonly onStop?: (context: PoServerPluginContext) => void | Promise<void>;\n readonly onDispose?: (context: PoServerPluginContext) => void | Promise<void>;\n}\n\nexport interface PoServerSessionPlugin extends PoServerPluginScope {\n readonly tools?: readonly (PoHeadlessTool | PoPluginTool)[];\n readonly commands?: readonly (PoHeadlessCommand | PoPluginCommand)[];\n readonly resources?: readonly Parameters<PoHeadlessHostService['registerResource']>[0][];\n readonly hooks?: readonly Parameters<PoHeadlessHostService['registerHook']>[0][];\n readonly toolRestrictions?: readonly (\n | PoHeadlessToolRestriction\n | PoToolRestrictionDefinition<() => PoHeadlessToolRestriction>\n )[];\n readonly activities?: readonly Parameters<PoHeadlessHostService['registerActivity']>[0][];\n}\n\ntype ScopeDeclaration<TScope> = TScope | ((context: PoServerPluginContext) => TScope | Promise<TScope>);\n// Explicitly forbid session contributions even when a factory returns an inferred object.\ntype NonSessionScope = PoServerPluginScope & {\n readonly [K in Exclude<keyof PoServerSessionPlugin, keyof PoServerPluginScope>]?: never;\n};\nexport interface PoServerPluginDefinition {\n readonly providerOverrides?: PoServerProviderOverrides;\n readonly name: string;\n readonly inject?: readonly string[];\n /** Each contract a level binds belongs to that level. */\n readonly provides?: PoServerContracts;\n /** Each contract a level waits for belongs to that level or an outer one. */\n readonly injects?: PoServerContracts;\n readonly global?: ScopeDeclaration<NonSessionScope>;\n readonly workspace?: ScopeDeclaration<NonSessionScope>;\n readonly session?: ScopeDeclaration<PoServerSessionPlugin>;\n}\n\n/** One package's validated declaration. */\nexport interface DeclaredServerPackage {\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 package is installed into. */\n scopes: readonly PoApiScope[];\n /** A selected host cannot be ready without this package's runtime capability. */\n required?: boolean;\n}\n\nexport class PoServerManifestError extends Error {\n constructor(packageDir: string, message: string) {\n super(`${PO_SERVER_MANIFEST_FIELD} manifest in ${packageDir}: ${message}`);\n this.name = 'PoServerManifestError';\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction normalizePath(packageDir: string, field: string, value: unknown): string {\n if (typeof value !== 'string' || !value.startsWith('./') || value.includes('..')) {\n throw new PoServerManifestError(packageDir, `${field} must be a package-relative ./path with no '..'.`);\n }\n return value;\n}\n\nfunction normalizeScopes(packageDir: string, value: unknown): readonly PoApiScope[] {\n if (value === undefined) throw new PoServerManifestError(packageDir, 'scopes must be declared explicitly.');\n if (!Array.isArray(value) || value.length === 0) {\n throw new PoServerManifestError(packageDir, \"scopes must name 'global', 'workspace', or 'session'.\");\n }\n const scopes: PoApiScope[] = [];\n for (const scope of value) {\n if (scope !== 'session' && scope !== 'global' && scope !== 'workspace') {\n throw new PoServerManifestError(packageDir, `Unknown scope '${String(scope)}'; resync for the three-level host.`);\n }\n if (!scopes.includes(scope)) scopes.push(scope);\n }\n return scopes;\n}\n\n/**\n * Validates one package.json's `poServer` block.\n *\n * `dist` is required because a host imports the built entry the package ships,\n * never its source.\n */\nexport function declaredServerPackagesOf(\n packageDir: string,\n manifest: Record<string, unknown>,\n): DeclaredServerPackage[] {\n const declared = manifest[PO_SERVER_MANIFEST_FIELD];\n if (declared === undefined) return [];\n if (!isRecord(declared)) {\n throw new PoServerManifestError(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 PoServerManifestError(\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 PoServerManifestError(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 package twice.\n */\nexport function orderServerPackages(\n packages: readonly DeclaredServerPackage[],\n onNotice: (message: string) => void = () => undefined,\n): DeclaredServerPackage[] {\n const sorted = [...packages].sort(\n (left, right) =>\n left.packageName.localeCompare(right.packageName) || left.packageDir.localeCompare(right.packageDir),\n );\n const owners = new Map<string, DeclaredServerPackage>();\n const kept: DeclaredServerPackage[] = [];\n for (const declared of sorted) {\n const holder = owners.get(declared.packageName);\n if (holder !== undefined) {\n onNotice(\n `server package '${declared.packageName}' from ${declared.packageDir} is skipped: ${holder.packageDir} already claims it.`,\n );\n continue;\n }\n owners.set(declared.packageName, declared);\n kept.push(declared);\n }\n return kept;\n}\n"],"mappings":";;AA2BA,MAAa,yBAAyB;AA6CtC,SAAgB,iBAAiB,SAAmD;CAClF,OAAO,QAAQ,IAAI,sBAAsB;AAC3C;AAEA,SAAgB,oBAAoB,SAAuC;CACzE,MAAM,UAAU,iBAAiB,OAAO;CACxC,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,6DAA6D;CAC3F,OAAO;AACT;;AAGA,MAAa,2BAA2B;;AAWxC,SAAgB,+BAA+B,GAAG,OAAsD;CACtG,QAAQ,YACN,MAAM,SAAS,SAAS;EACtB,IAAK,OAAO,SAAS,cAAc,OAAO,SAAS,YAAa,SAAS,MAAM,OAAO,CAAC;EACvF,MAAM,WAAY,KAA2D;EAC7E,OAAO,OAAO,aAAa,aAAa,SAAS,OAAO,IAAI,CAAC;CAC/D,CAAC;AACL;;AA2DA,SAAgB,mBACd,YACA,SACgB;CAChB,OAAO,EAAE,WAAW,SAAS,KAAK,eAAe,YAAY,OAAO,EAAE;AACxE;AAwDA,IAAa,wBAAb,cAA2C,MAAM;CAC/C,YAAY,YAAoB,SAAiB;EAC/C,MAAM,GAAG,yBAAyB,eAAe,WAAW,IAAI,SAAS;EACzE,KAAK,OAAO;CACd;AACF;AAEA,SAAS,SAAS,OAAkD;CAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,SAAS,cAAc,YAAoB,OAAe,OAAwB;CAChF,IAAI,OAAO,UAAU,YAAY,CAAC,MAAM,WAAW,IAAI,KAAK,MAAM,SAAS,IAAI,GAC7E,MAAM,IAAI,sBAAsB,YAAY,GAAG,MAAM,iDAAiD;CAExG,OAAO;AACT;AAEA,SAAS,gBAAgB,YAAoB,OAAuC;CAClF,IAAI,UAAU,KAAA,GAAW,MAAM,IAAI,sBAAsB,YAAY,qCAAqC;CAC1G,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,GAC5C,MAAM,IAAI,sBAAsB,YAAY,uDAAuD;CAErG,MAAM,SAAuB,CAAC;CAC9B,KAAK,MAAM,SAAS,OAAO;EACzB,IAAI,UAAU,aAAa,UAAU,YAAY,UAAU,aACzD,MAAM,IAAI,sBAAsB,YAAY,kBAAkB,OAAO,KAAK,EAAE,oCAAoC;EAElH,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG,OAAO,KAAK,KAAK;CAChD;CACA,OAAO;AACT;;;;;;;AAQA,SAAgB,yBACd,YACA,UACyB;CACzB,MAAM,WAAW,SAAS;CAC1B,IAAI,aAAa,KAAA,GAAW,OAAO,CAAC;CACpC,IAAI,CAAC,SAAS,QAAQ,GACpB,MAAM,IAAI,sBAAsB,YAAY,oDAAoD;CAElG,MAAM,QAAQ,cAAc,YAAY,SAAS,SAAS,KAAK;CAC/D,IAAI,SAAS,SAAS,KAAA,GACpB,MAAM,IAAI,sBACR,YACA,uFACF;CAEF,MAAM,OAAO,cAAc,YAAY,QAAQ,SAAS,IAAI;CAC5D,IAAI,SAAS,aAAa,KAAA,KAAa,OAAO,SAAS,aAAa,WAClE,MAAM,IAAI,sBAAsB,YAAY,6BAA6B;CAE3E,OAAO,CACL;EACE,aAAa,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO;EACjE;EACA;EACA;EACA,QAAQ,gBAAgB,YAAY,SAAS,MAAM;EACnD,GAAI,OAAO,SAAS,aAAa,YAAY,EAAE,UAAU,SAAS,SAAS,IAAI,CAAC;CAClF,CACF;AACF;;;;;;AAOA,SAAgB,oBACd,UACA,iBAA4C,KAAA,GACnB;CACzB,MAAM,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,MAC1B,MAAM,UACL,KAAK,YAAY,cAAc,MAAM,WAAW,KAAK,KAAK,WAAW,cAAc,MAAM,UAAU,CACvG;CACA,MAAM,yBAAS,IAAI,IAAmC;CACtD,MAAM,OAAgC,CAAC;CACvC,KAAK,MAAM,YAAY,QAAQ;EAC7B,MAAM,SAAS,OAAO,IAAI,SAAS,WAAW;EAC9C,IAAI,WAAW,KAAA,GAAW;GACxB,SACE,mBAAmB,SAAS,YAAY,SAAS,SAAS,WAAW,eAAe,OAAO,WAAW,oBACxG;GACA;EACF;EACA,OAAO,IAAI,SAAS,aAAa,QAAQ;EACzC,KAAK,KAAK,QAAQ;CACpB;CACA,OAAO;AACT"}
@@ -0,0 +1,37 @@
1
+ //#region src/schemas/serverScope.ts
2
+ /**
3
+ * The server inversion-of-control tree: global, then one scope per workspace, then one per session.
4
+ *
5
+ * Each level has its own cordis root. A contract names an abstract service and the one level whose
6
+ * plugin binds the concrete value; every descendant level sees that value as a native cordis service,
7
+ * so `inject` and `ctx.get` work unchanged. A level never sees a contract bound below it.
8
+ */
9
+ const PO_SERVER_SCOPE_SERVICE = "po/server-scope";
10
+ /** Outermost first, so a lower index is an ancestor level. */
11
+ const PO_SERVER_SCOPE_LEVELS = [
12
+ "global",
13
+ "workspace",
14
+ "session"
15
+ ];
16
+ function defineServiceContract(name, options) {
17
+ return {
18
+ name,
19
+ scope: options.scope
20
+ };
21
+ }
22
+ function readPoServerScope(context) {
23
+ return context.get(PO_SERVER_SCOPE_SERVICE);
24
+ }
25
+ function requirePoServerScope(context) {
26
+ const service = readPoServerScope(context);
27
+ if (!service) throw new Error("The Po server scope is unavailable. Install packages through a Po server scope.");
28
+ return service;
29
+ }
30
+ //#endregion
31
+ exports.PO_SERVER_SCOPE_LEVELS = PO_SERVER_SCOPE_LEVELS;
32
+ exports.PO_SERVER_SCOPE_SERVICE = PO_SERVER_SCOPE_SERVICE;
33
+ exports.defineServiceContract = defineServiceContract;
34
+ exports.readPoServerScope = readPoServerScope;
35
+ exports.requirePoServerScope = requirePoServerScope;
36
+
37
+ //# sourceMappingURL=serverScope.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverScope.cjs","names":[],"sources":["../../../src/schemas/serverScope.ts"],"sourcesContent":["import type { Context, Events } from '@deepseek-ai/cordis';\n\nimport type { PoApiScope } from './packageApi';\n\n/**\n * The server inversion-of-control tree: global, then one scope per workspace, then one per session.\n *\n * Each level has its own cordis root. A contract names an abstract service and the one level whose\n * plugin binds the concrete value; every descendant level sees that value as a native cordis service,\n * so `inject` and `ctx.get` work unchanged. A level never sees a contract bound below it.\n */\nexport const PO_SERVER_SCOPE_SERVICE = 'po/server-scope';\n\n/** Outermost first, so a lower index is an ancestor level. */\nexport const PO_SERVER_SCOPE_LEVELS: readonly PoApiScope[] = ['global', 'workspace', 'session'];\n\n/** An abstract service: the name every level resolves and the level that provides it. */\nexport interface PoServiceContract<T> {\n readonly name: string;\n readonly scope: PoApiScope;\n /** Type carrier only; never set at runtime. */\n readonly _type?: T;\n}\n\nexport function defineServiceContract<T>(name: string, options: { readonly scope: PoApiScope }): PoServiceContract<T> {\n return { name, scope: options.scope };\n}\n\n/** Names one shared value. Array parts stay distinct, so `['a', 1]` and `'a,1'` are different keys. */\nexport type PoServerResourceKey = string | readonly (string | number | boolean | null)[];\n\n/**\n * Values one plugin build shares across every level it runs at in one hub.\n *\n * The first level to acquire a key creates its value; each acquiring level releases it when that\n * level unwinds, and the last release disposes it with the `dispose` the creating call passed. The\n * store belongs to the hub, never to a module, so two hubs in one process share nothing. A new build of\n * the plugin has its own store, so a session running the old build keeps what it acquired until it\n * closes.\n */\nexport interface PoServerResources {\n acquire<T>(\n key: PoServerResourceKey,\n create: () => T | Promise<T>,\n dispose?: (value: T) => void | Promise<void>,\n ): Promise<T>;\n}\n\n/** One held share of a value; releasing it twice is a no-op. */\nexport interface PoServerResourceLease<T> {\n readonly value: T;\n release(): Promise<void>;\n}\n\n/** What one plugin build shares in this hub, seen from one scope. `defineServerPlugin` is its caller. */\nexport interface PoServerPluginShare<TRoots> {\n acquire<T>(\n key: PoServerResourceKey,\n create: () => T | Promise<T>,\n dispose?: (value: T) => void | Promise<void>,\n ): Promise<PoServerResourceLease<T>>;\n /** Marks this scope as running the plugin and holding `roots` for the scopes inside it, until withdrawn. */\n run(roots: TRoots): () => void;\n /** What every scope running the plugin, from the `from` level out to this scope's parent, holds; innermost first. */\n outer(from: PoApiScope): readonly TRoots[];\n}\n\n/** What a plugin sees of the scope it is installed into. */\nexport interface PoServerScopeService {\n readonly level: PoApiScope;\n /**\n * Bind the concrete value of a contract owned by this level, visible here and in every descendant.\n * Settles once every descendant publishes it. The binding unwinds with the calling fiber; the\n * resolved disposer withdraws it earlier.\n */\n provide<T>(contract: PoServiceContract<T>, value: T): Promise<() => Promise<void>>;\n /** The value bound at the contract's level on this scope's ancestor path, if any. */\n resolve<T>(contract: PoServiceContract<T>): T | undefined;\n /** Deliver a cordis event to this scope's root and every ancestor root. */\n emit<K extends keyof Events>(name: K, ...args: Parameters<Events[K]>): void;\n /** Deliver a cordis event to this scope's root and every descendant root; siblings never see it. */\n broadcast<K extends keyof Events>(name: K, ...args: Parameters<Events[K]>): void;\n /** What the plugin build `owner` shares in this hub. One store per build, kept by the outermost scope. */\n plugin<TRoots>(owner: object): PoServerPluginShare<TRoots>;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/server-scope': PoServerScopeService;\n }\n}\n\nexport function readPoServerScope(context: Context): PoServerScopeService | undefined {\n return context.get(PO_SERVER_SCOPE_SERVICE) as PoServerScopeService | undefined;\n}\n\nexport function requirePoServerScope(context: Context): PoServerScopeService {\n const service = readPoServerScope(context);\n if (!service) throw new Error('The Po server scope is unavailable. Install packages through a Po server scope.');\n return service;\n}\n"],"mappings":";;;;;;;;AAWA,MAAa,0BAA0B;;AAGvC,MAAa,yBAAgD;CAAC;CAAU;CAAa;AAAS;AAU9F,SAAgB,sBAAyB,MAAc,SAA+D;CACpH,OAAO;EAAE;EAAM,OAAO,QAAQ;CAAM;AACtC;AAkEA,SAAgB,kBAAkB,SAAoD;CACpF,OAAO,QAAQ,IAAI,uBAAuB;AAC5C;AAEA,SAAgB,qBAAqB,SAAwC;CAC3E,MAAM,UAAU,kBAAkB,OAAO;CACzC,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,iFAAiF;CAC/G,OAAO;AACT"}
@@ -0,0 +1,77 @@
1
+ import { PoApiScope } from "./packageApi.mjs";
2
+ import { Context, Events } from "@deepseek-ai/cordis";
3
+ //#region src/schemas/serverScope.d.ts
4
+ /**
5
+ * The server inversion-of-control tree: global, then one scope per workspace, then one per session.
6
+ *
7
+ * Each level has its own cordis root. A contract names an abstract service and the one level whose
8
+ * plugin binds the concrete value; every descendant level sees that value as a native cordis service,
9
+ * so `inject` and `ctx.get` work unchanged. A level never sees a contract bound below it.
10
+ */
11
+ export declare const PO_SERVER_SCOPE_SERVICE = "po/server-scope";
12
+ /** Outermost first, so a lower index is an ancestor level. */
13
+ export declare const PO_SERVER_SCOPE_LEVELS: readonly PoApiScope[];
14
+ /** An abstract service: the name every level resolves and the level that provides it. */
15
+ export interface PoServiceContract<T> {
16
+ readonly name: string;
17
+ readonly scope: PoApiScope;
18
+ /** Type carrier only; never set at runtime. */
19
+ readonly _type?: T;
20
+ }
21
+ export declare function defineServiceContract<T>(name: string, options: {
22
+ readonly scope: PoApiScope;
23
+ }): PoServiceContract<T>;
24
+ /** Names one shared value. Array parts stay distinct, so `['a', 1]` and `'a,1'` are different keys. */
25
+ export type PoServerResourceKey = string | readonly (string | number | boolean | null)[];
26
+ /**
27
+ * Values one plugin build shares across every level it runs at in one hub.
28
+ *
29
+ * The first level to acquire a key creates its value; each acquiring level releases it when that
30
+ * level unwinds, and the last release disposes it with the `dispose` the creating call passed. The
31
+ * store belongs to the hub, never to a module, so two hubs in one process share nothing. A new build of
32
+ * the plugin has its own store, so a session running the old build keeps what it acquired until it
33
+ * closes.
34
+ */
35
+ export interface PoServerResources {
36
+ acquire<T>(key: PoServerResourceKey, create: () => T | Promise<T>, dispose?: (value: T) => void | Promise<void>): Promise<T>;
37
+ }
38
+ /** One held share of a value; releasing it twice is a no-op. */
39
+ export interface PoServerResourceLease<T> {
40
+ readonly value: T;
41
+ release(): Promise<void>;
42
+ }
43
+ /** What one plugin build shares in this hub, seen from one scope. `defineServerPlugin` is its caller. */
44
+ export interface PoServerPluginShare<TRoots> {
45
+ acquire<T>(key: PoServerResourceKey, create: () => T | Promise<T>, dispose?: (value: T) => void | Promise<void>): Promise<PoServerResourceLease<T>>;
46
+ /** Marks this scope as running the plugin and holding `roots` for the scopes inside it, until withdrawn. */
47
+ run(roots: TRoots): () => void;
48
+ /** What every scope running the plugin, from the `from` level out to this scope's parent, holds; innermost first. */
49
+ outer(from: PoApiScope): readonly TRoots[];
50
+ }
51
+ /** What a plugin sees of the scope it is installed into. */
52
+ export interface PoServerScopeService {
53
+ readonly level: PoApiScope;
54
+ /**
55
+ * Bind the concrete value of a contract owned by this level, visible here and in every descendant.
56
+ * Settles once every descendant publishes it. The binding unwinds with the calling fiber; the
57
+ * resolved disposer withdraws it earlier.
58
+ */
59
+ provide<T>(contract: PoServiceContract<T>, value: T): Promise<() => Promise<void>>;
60
+ /** The value bound at the contract's level on this scope's ancestor path, if any. */
61
+ resolve<T>(contract: PoServiceContract<T>): T | undefined;
62
+ /** Deliver a cordis event to this scope's root and every ancestor root. */
63
+ emit<K extends keyof Events>(name: K, ...args: Parameters<Events[K]>): void;
64
+ /** Deliver a cordis event to this scope's root and every descendant root; siblings never see it. */
65
+ broadcast<K extends keyof Events>(name: K, ...args: Parameters<Events[K]>): void;
66
+ /** What the plugin build `owner` shares in this hub. One store per build, kept by the outermost scope. */
67
+ plugin<TRoots>(owner: object): PoServerPluginShare<TRoots>;
68
+ }
69
+ declare module '@deepseek-ai/cordis' {
70
+ interface Context {
71
+ 'po/server-scope': PoServerScopeService;
72
+ }
73
+ }
74
+ export declare function readPoServerScope(context: Context): PoServerScopeService | undefined;
75
+ export declare function requirePoServerScope(context: Context): PoServerScopeService;
76
+ //#endregion
77
+ //# sourceMappingURL=serverScope.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverScope.d.mts","names":[],"sources":["../../../src/schemas/serverScope.ts"],"mappings":";;;;;;;;;;qBAWa;;qBAGA,iCAAiC;;iBAG7B,kBAAkB;WACxB;WACA,OAAO;;WAEP,QAAQ;;wBAGH,sBAAsB,GAAG,cAAc;WAAoB,OAAO;IAAe,kBAAkB;;YAKvG;;;;;;;;;;iBAWK;EACf,QAAQ,GACN,KAAK,qBACL,cAAc,IAAI,QAAQ,IAC1B,WAAW,OAAO,aAAa,gBAC9B,QAAQ;;;iBAII,sBAAsB;WAC5B,OAAO;EAChB,WAAW;;;iBAII,oBAAoB;EACnC,QAAQ,GACN,KAAK,qBACL,cAAc,IAAI,QAAQ,IAC1B,WAAW,OAAO,aAAa,gBAC9B,QAAQ,sBAAsB;;EAEjC,IAAI,OAAO;;EAEX,MAAM,MAAM,sBAAsB;;;iBAInB;WACN,OAAO;;;;;;EAMhB,QAAQ,GAAG,UAAU,kBAAkB,IAAI,OAAO,IAAI,cAAc;;EAEpE,QAAQ,GAAG,UAAU,kBAAkB,KAAK;;EAE5C,KAAK,gBAAgB,QAAQ,MAAM,MAAM,MAAM,WAAW,OAAO;;EAEjE,UAAU,gBAAgB,QAAQ,MAAM,MAAM,MAAM,WAAW,OAAO;;EAEtE,OAAO,QAAQ,gBAAgB,oBAAoB;;;YAIzC;IACR,mBAAmB;;;wBAIP,kBAAkB,SAAS,UAAU;wBAIrC,qBAAqB,SAAS,UAAU"}
@@ -0,0 +1,33 @@
1
+ //#region src/schemas/serverScope.ts
2
+ /**
3
+ * The server inversion-of-control tree: global, then one scope per workspace, then one per session.
4
+ *
5
+ * Each level has its own cordis root. A contract names an abstract service and the one level whose
6
+ * plugin binds the concrete value; every descendant level sees that value as a native cordis service,
7
+ * so `inject` and `ctx.get` work unchanged. A level never sees a contract bound below it.
8
+ */
9
+ const PO_SERVER_SCOPE_SERVICE = "po/server-scope";
10
+ /** Outermost first, so a lower index is an ancestor level. */
11
+ const PO_SERVER_SCOPE_LEVELS = [
12
+ "global",
13
+ "workspace",
14
+ "session"
15
+ ];
16
+ function defineServiceContract(name, options) {
17
+ return {
18
+ name,
19
+ scope: options.scope
20
+ };
21
+ }
22
+ function readPoServerScope(context) {
23
+ return context.get(PO_SERVER_SCOPE_SERVICE);
24
+ }
25
+ function requirePoServerScope(context) {
26
+ const service = readPoServerScope(context);
27
+ if (!service) throw new Error("The Po server scope is unavailable. Install packages through a Po server scope.");
28
+ return service;
29
+ }
30
+ //#endregion
31
+ export { PO_SERVER_SCOPE_LEVELS, PO_SERVER_SCOPE_SERVICE, defineServiceContract, readPoServerScope, requirePoServerScope };
32
+
33
+ //# sourceMappingURL=serverScope.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverScope.mjs","names":[],"sources":["../../../src/schemas/serverScope.ts"],"sourcesContent":["import type { Context, Events } from '@deepseek-ai/cordis';\n\nimport type { PoApiScope } from './packageApi';\n\n/**\n * The server inversion-of-control tree: global, then one scope per workspace, then one per session.\n *\n * Each level has its own cordis root. A contract names an abstract service and the one level whose\n * plugin binds the concrete value; every descendant level sees that value as a native cordis service,\n * so `inject` and `ctx.get` work unchanged. A level never sees a contract bound below it.\n */\nexport const PO_SERVER_SCOPE_SERVICE = 'po/server-scope';\n\n/** Outermost first, so a lower index is an ancestor level. */\nexport const PO_SERVER_SCOPE_LEVELS: readonly PoApiScope[] = ['global', 'workspace', 'session'];\n\n/** An abstract service: the name every level resolves and the level that provides it. */\nexport interface PoServiceContract<T> {\n readonly name: string;\n readonly scope: PoApiScope;\n /** Type carrier only; never set at runtime. */\n readonly _type?: T;\n}\n\nexport function defineServiceContract<T>(name: string, options: { readonly scope: PoApiScope }): PoServiceContract<T> {\n return { name, scope: options.scope };\n}\n\n/** Names one shared value. Array parts stay distinct, so `['a', 1]` and `'a,1'` are different keys. */\nexport type PoServerResourceKey = string | readonly (string | number | boolean | null)[];\n\n/**\n * Values one plugin build shares across every level it runs at in one hub.\n *\n * The first level to acquire a key creates its value; each acquiring level releases it when that\n * level unwinds, and the last release disposes it with the `dispose` the creating call passed. The\n * store belongs to the hub, never to a module, so two hubs in one process share nothing. A new build of\n * the plugin has its own store, so a session running the old build keeps what it acquired until it\n * closes.\n */\nexport interface PoServerResources {\n acquire<T>(\n key: PoServerResourceKey,\n create: () => T | Promise<T>,\n dispose?: (value: T) => void | Promise<void>,\n ): Promise<T>;\n}\n\n/** One held share of a value; releasing it twice is a no-op. */\nexport interface PoServerResourceLease<T> {\n readonly value: T;\n release(): Promise<void>;\n}\n\n/** What one plugin build shares in this hub, seen from one scope. `defineServerPlugin` is its caller. */\nexport interface PoServerPluginShare<TRoots> {\n acquire<T>(\n key: PoServerResourceKey,\n create: () => T | Promise<T>,\n dispose?: (value: T) => void | Promise<void>,\n ): Promise<PoServerResourceLease<T>>;\n /** Marks this scope as running the plugin and holding `roots` for the scopes inside it, until withdrawn. */\n run(roots: TRoots): () => void;\n /** What every scope running the plugin, from the `from` level out to this scope's parent, holds; innermost first. */\n outer(from: PoApiScope): readonly TRoots[];\n}\n\n/** What a plugin sees of the scope it is installed into. */\nexport interface PoServerScopeService {\n readonly level: PoApiScope;\n /**\n * Bind the concrete value of a contract owned by this level, visible here and in every descendant.\n * Settles once every descendant publishes it. The binding unwinds with the calling fiber; the\n * resolved disposer withdraws it earlier.\n */\n provide<T>(contract: PoServiceContract<T>, value: T): Promise<() => Promise<void>>;\n /** The value bound at the contract's level on this scope's ancestor path, if any. */\n resolve<T>(contract: PoServiceContract<T>): T | undefined;\n /** Deliver a cordis event to this scope's root and every ancestor root. */\n emit<K extends keyof Events>(name: K, ...args: Parameters<Events[K]>): void;\n /** Deliver a cordis event to this scope's root and every descendant root; siblings never see it. */\n broadcast<K extends keyof Events>(name: K, ...args: Parameters<Events[K]>): void;\n /** What the plugin build `owner` shares in this hub. One store per build, kept by the outermost scope. */\n plugin<TRoots>(owner: object): PoServerPluginShare<TRoots>;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/server-scope': PoServerScopeService;\n }\n}\n\nexport function readPoServerScope(context: Context): PoServerScopeService | undefined {\n return context.get(PO_SERVER_SCOPE_SERVICE) as PoServerScopeService | undefined;\n}\n\nexport function requirePoServerScope(context: Context): PoServerScopeService {\n const service = readPoServerScope(context);\n if (!service) throw new Error('The Po server scope is unavailable. Install packages through a Po server scope.');\n return service;\n}\n"],"mappings":";;;;;;;;AAWA,MAAa,0BAA0B;;AAGvC,MAAa,yBAAgD;CAAC;CAAU;CAAa;AAAS;AAU9F,SAAgB,sBAAyB,MAAc,SAA+D;CACpH,OAAO;EAAE;EAAM,OAAO,QAAQ;CAAM;AACtC;AAkEA,SAAgB,kBAAkB,SAAoD;CACpF,OAAO,QAAQ,IAAI,uBAAuB;AAC5C;AAEA,SAAgB,qBAAqB,SAAwC;CAC3E,MAAM,UAAU,kBAAkB,OAAO;CACzC,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,iFAAiF;CAC/G,OAAO;AACT"}