@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
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.cjs","names":[],"sources":["../../../src/schemas/readiness.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n\n/** Cordis service name for session-scoped package initialization. */\nexport const DOOM_READINESS_SERVICE = 'doom/readiness';\n\n/** Stable machine-readable failures produced by the readiness contract. */\nexport const DOOM_READINESS_ERROR_CODE = {\n cancelled: 'DOOM_READINESS_CANCELLED',\n disposed: 'DOOM_READINESS_DISPOSED',\n duplicate: 'DOOM_READINESS_DUPLICATE',\n failed: 'DOOM_READINESS_FAILED',\n invalidArgument: 'DOOM_READINESS_INVALID_ARGUMENT',\n unavailable: 'DOOM_READINESS_UNAVAILABLE',\n waitAborted: 'DOOM_READINESS_WAIT_ABORTED',\n} as const;\n\nexport type DoomReadinessErrorCode = (typeof DOOM_READINESS_ERROR_CODE)[keyof typeof DOOM_READINESS_ERROR_CODE];\nexport type DoomReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled';\n\nexport interface DoomReadinessErrorDetail {\n readonly code: DoomReadinessErrorCode;\n readonly message: string;\n}\n\n/** Immutable public state for the latest generation of one package. */\nexport interface DoomReadinessSnapshot {\n readonly packageId: string;\n readonly generation: string;\n readonly state: DoomReadinessState;\n readonly diagnostics: readonly string[];\n readonly error?: DoomReadinessErrorDetail;\n}\n\nexport interface DoomReadinessTaskResult<TValue> {\n readonly value: TValue;\n readonly diagnostics?: readonly string[];\n}\n\nexport type DoomReadinessTask<TValue> = (signal: AbortSignal) => Promise<DoomReadinessTaskResult<TValue>>;\n\nexport interface DoomReadinessWaitOptions {\n readonly signal?: AbortSignal;\n}\n\nexport interface DoomReadinessHandle<TValue> {\n readonly packageId: string;\n readonly generation: string;\n /** Waits for this package only. Degraded initialization still returns its value. */\n wait(options?: DoomReadinessWaitOptions): Promise<TValue>;\n /** Reads this handle's generation, even after a newer generation replaces it. */\n snapshot(): DoomReadinessSnapshot;\n}\n\nexport interface DoomReadinessNotification {\n readonly packageId: string;\n readonly generation: string;\n readonly state: 'degraded' | 'failed';\n readonly diagnostics: readonly string[];\n readonly error?: DoomReadinessErrorDetail;\n}\n\nexport interface DoomReadinessCoordinatorOptions {\n /** Called once when a task becomes degraded or failed. */\n readonly notify?: (notification: DoomReadinessNotification) => void | Promise<void>;\n}\n\nexport interface DoomReadinessCoordinator {\n start<TValue>(packageId: string, generation: string, task: DoomReadinessTask<TValue>): DoomReadinessHandle<TValue>;\n /** Reads the latest generation registered for a package. */\n read(packageId: string): DoomReadinessSnapshot | undefined;\n /** Reads the latest generation of every registered package. */\n snapshots(): readonly DoomReadinessSnapshot[];\n /** Aborts pending work and waits for every started task to settle. */\n dispose(): Promise<void>;\n}\n\ninterface ReadinessRecord {\n readonly token: symbol;\n readonly packageId: string;\n readonly generation: string;\n readonly controller: AbortController;\n readonly terminal: Promise<void>;\n readonly resolveTerminal: () => void;\n operation: Promise<unknown>;\n state: DoomReadinessState;\n diagnostics: readonly string[];\n error?: DoomReadinessError;\n value?: unknown;\n hasValue: boolean;\n notified: boolean;\n}\n\nexport interface DoomReadinessErrorOptions {\n readonly packageId?: string;\n readonly generation?: string;\n readonly cause?: unknown;\n}\n\n/** Error returned to package callers without exposing task-specific rejection shapes. */\nexport class DoomReadinessError extends Error {\n readonly code: DoomReadinessErrorCode;\n readonly packageId?: string;\n readonly generation?: string;\n\n constructor(code: DoomReadinessErrorCode, message: string, input: DoomReadinessErrorOptions = {}) {\n super(message, input.cause === undefined ? undefined : { cause: input.cause });\n this.name = 'DoomReadinessError';\n this.code = code;\n this.packageId = input.packageId;\n this.generation = input.generation;\n }\n}\n\nfunction createTerminal(): { readonly promise: Promise<void>; readonly resolve: () => void } {\n let resolve = (): void => undefined;\n const promise = new Promise<void>((settle) => {\n resolve = settle;\n });\n return { promise, resolve };\n}\n\nfunction frozenDiagnostics(diagnostics: readonly string[] | undefined): readonly string[] {\n if (diagnostics === undefined) return Object.freeze([]);\n if (!Array.isArray(diagnostics) || diagnostics.some((diagnostic) => typeof diagnostic !== 'string')) {\n throw new TypeError('Doom readiness task diagnostics must be an array of strings.');\n }\n return Object.freeze([...diagnostics]);\n}\n\nfunction errorDetail(error: DoomReadinessError | undefined): DoomReadinessErrorDetail | undefined {\n return error === undefined ? undefined : Object.freeze({ code: error.code, message: error.message });\n}\n\nfunction recordSnapshot(record: ReadinessRecord): DoomReadinessSnapshot {\n return Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n}\n\nfunction rethrowAsync(error: unknown): void {\n queueMicrotask(() => {\n throw error instanceof Error ? error : new Error(String(error));\n });\n}\n\nfunction waitAbortedError(record: ReadinessRecord, signal: AbortSignal): DoomReadinessError {\n return new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.waitAborted,\n `Waiting for Doom package '${record.packageId}' readiness was aborted.`,\n { packageId: record.packageId, generation: record.generation, cause: signal.reason },\n );\n}\n\nfunction waitForTerminal(record: ReadinessRecord, signal: AbortSignal | undefined): Promise<void> {\n if (signal === undefined) return record.terminal;\n if (signal.aborted) return Promise.reject(waitAbortedError(record, signal));\n\n return new Promise<void>((resolve, reject) => {\n const onAbort = (): void => {\n reject(waitAbortedError(record, signal));\n };\n signal.addEventListener('abort', onAbort, { once: true });\n void record.terminal.then(() => {\n signal.removeEventListener('abort', onAbort);\n resolve();\n });\n });\n}\n\n/** Creates the session-scoped coordinator value published through Cordis. */\nexport function createDoomReadinessCoordinator(\n options: DoomReadinessCoordinatorOptions = {},\n): DoomReadinessCoordinator {\n const records = new Map<string, ReadinessRecord>();\n let disposed = false;\n let disposal: Promise<void> | undefined;\n\n const current = (record: ReadinessRecord): boolean =>\n !disposed && records.get(record.packageId)?.token === record.token && record.state === 'pending';\n\n const notify = (record: ReadinessRecord): void => {\n if (record.notified || (record.state !== 'degraded' && record.state !== 'failed')) return;\n record.notified = true;\n const notification = Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n if (options.notify) void Promise.resolve(options.notify(notification)).catch(rethrowAsync);\n };\n\n const finish = (\n record: ReadinessRecord,\n state: Exclude<DoomReadinessState, 'pending'>,\n input: {\n readonly value?: unknown;\n readonly hasValue?: boolean;\n readonly diagnostics?: readonly string[];\n readonly error?: DoomReadinessError;\n } = {},\n ): void => {\n if (!current(record)) return;\n record.state = state;\n record.value = input.value;\n record.hasValue = input.hasValue ?? false;\n record.diagnostics = input.diagnostics ?? Object.freeze([]);\n record.error = input.error;\n record.resolveTerminal();\n notify(record);\n };\n\n const handleFor = <TValue>(record: ReadinessRecord): DoomReadinessHandle<TValue> =>\n Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n snapshot: () => recordSnapshot(record),\n wait: async (waitOptions: DoomReadinessWaitOptions = {}): Promise<TValue> => {\n await waitForTerminal(record, waitOptions.signal);\n if (record.state === 'ready' || record.state === 'degraded') {\n if (!record.hasValue) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${record.packageId}' readiness completed without a value.`,\n { packageId: record.packageId, generation: record.generation },\n );\n }\n return record.value as TValue;\n }\n if (record.error) throw record.error;\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${record.packageId}' readiness did not complete.`,\n { packageId: record.packageId, generation: record.generation },\n );\n },\n });\n\n return Object.freeze({\n start<TValue>(packageId: string, generation: string, task: DoomReadinessTask<TValue>): DoomReadinessHandle<TValue> {\n if (disposed) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.disposed,\n 'The Doom readiness coordinator has been disposed.',\n { packageId, generation },\n );\n }\n if (typeof packageId !== 'string' || packageId.trim().length === 0) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.invalidArgument,\n 'Doom readiness requires a non-empty package id.',\n { packageId, generation },\n );\n }\n if (typeof generation !== 'string' || generation.trim().length === 0) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.invalidArgument,\n 'Doom readiness requires a non-empty generation.',\n { packageId, generation },\n );\n }\n if (typeof task !== 'function') {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.invalidArgument,\n 'Doom readiness requires an initialization task.',\n { packageId, generation },\n );\n }\n\n const previous = records.get(packageId);\n if (previous?.state === 'pending') {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.duplicate,\n `Doom package '${packageId}' already has live readiness work.`,\n { packageId, generation },\n );\n }\n\n const terminal = createTerminal();\n const controller = new AbortController();\n const record: ReadinessRecord = {\n token: Symbol(packageId),\n packageId,\n generation,\n controller,\n terminal: terminal.promise,\n resolveTerminal: terminal.resolve,\n operation: Promise.resolve(),\n state: 'pending',\n diagnostics: Object.freeze([]),\n hasValue: false,\n notified: false,\n };\n records.set(packageId, record);\n\n const operation = Promise.resolve().then(() => {\n if (controller.signal.aborted) throw controller.signal.reason;\n return task(controller.signal);\n });\n record.operation = operation;\n void operation\n .then(\n (result) => {\n if (!current(record)) return;\n if (result === null || typeof result !== 'object' || !Object.hasOwn(result, 'value')) {\n finish(record, 'failed', {\n error: new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation },\n ),\n });\n return;\n }\n try {\n const diagnostics = frozenDiagnostics(result.diagnostics);\n finish(record, diagnostics.length === 0 ? 'ready' : 'degraded', {\n value: result.value,\n hasValue: true,\n diagnostics,\n });\n } catch (error) {\n finish(record, 'failed', {\n error: new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation, cause: error },\n ),\n });\n }\n },\n (error: unknown) => {\n finish(record, 'failed', {\n error: new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${packageId}' readiness failed: ${error instanceof Error ? error.message : String(error)}`,\n { packageId, generation, cause: error },\n ),\n });\n },\n )\n .catch(rethrowAsync);\n\n return handleFor<TValue>(record);\n },\n\n read(packageId: string): DoomReadinessSnapshot | undefined {\n const record = records.get(packageId);\n return record === undefined ? undefined : recordSnapshot(record);\n },\n\n snapshots(): readonly DoomReadinessSnapshot[] {\n return Object.freeze([...records.values()].map(recordSnapshot));\n },\n\n dispose(): Promise<void> {\n if (disposal) return disposal;\n disposed = true;\n const operations = [...records.values()].map((record) => {\n if (record.state === 'pending') {\n const error = new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.cancelled,\n `Doom package '${record.packageId}' readiness was cancelled.`,\n { packageId: record.packageId, generation: record.generation },\n );\n record.state = 'cancelled';\n record.error = error;\n record.resolveTerminal();\n record.controller.abort(error);\n }\n return record.operation;\n });\n disposal = Promise.allSettled(operations).then(() => undefined);\n return disposal;\n },\n });\n}\n\n/** Reads the coordinator visible to the current Cordis plugin context. */\nexport function readDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator | undefined {\n return ctx.get(DOOM_READINESS_SERVICE) as DoomReadinessCoordinator | undefined;\n}\n\n/** Reads the coordinator or reports that Config has not published session readiness. */\nexport function requireDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator {\n const coordinator = readDoomReadinessCoordinator(ctx);\n if (coordinator) return coordinator;\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.unavailable,\n 'Doom readiness is unavailable. Load the Po Config core.',\n );\n}\n"],"mappings":";;AAGA,MAAa,yBAAyB;;AAGtC,MAAa,4BAA4B;CACvC,WAAW;CACX,UAAU;CACV,WAAW;CACX,QAAQ;CACR,iBAAiB;CACjB,aAAa;CACb,aAAa;AACf;;AAqFA,IAAa,qBAAb,cAAwC,MAAM;CAC5C;CACA;CACA;CAEA,YAAY,MAA8B,SAAiB,QAAmC,CAAC,GAAG;EAChG,MAAM,SAAS,MAAM,UAAU,KAAA,IAAY,KAAA,IAAY,EAAE,OAAO,MAAM,MAAM,CAAC;EAC7E,KAAK,OAAO;EACZ,KAAK,OAAO;EACZ,KAAK,YAAY,MAAM;EACvB,KAAK,aAAa,MAAM;CAC1B;AACF;AAEA,SAAS,iBAAoF;CAC3F,IAAI,gBAAsB,KAAA;CAI1B,OAAO;EAAE,SAAA,IAHW,SAAe,WAAW;GAC5C,UAAU;EACZ,CACe;EAAG;CAAQ;AAC5B;AAEA,SAAS,kBAAkB,aAA+D;CACxF,IAAI,gBAAgB,KAAA,GAAW,OAAO,OAAO,OAAO,CAAC,CAAC;CACtD,IAAI,CAAC,MAAM,QAAQ,WAAW,KAAK,YAAY,MAAM,eAAe,OAAO,eAAe,QAAQ,GAChG,MAAM,IAAI,UAAU,8DAA8D;CAEpF,OAAO,OAAO,OAAO,CAAC,GAAG,WAAW,CAAC;AACvC;AAEA,SAAS,YAAY,OAA6E;CAChG,OAAO,UAAU,KAAA,IAAY,KAAA,IAAY,OAAO,OAAO;EAAE,MAAM,MAAM;EAAM,SAAS,MAAM;CAAQ,CAAC;AACrG;AAEA,SAAS,eAAe,QAAgD;CACtE,OAAO,OAAO,OAAO;EACnB,WAAW,OAAO;EAClB,YAAY,OAAO;EACnB,OAAO,OAAO;EACd,aAAa,OAAO;EACpB,GAAI,OAAO,UAAU,KAAA,IAAY,CAAC,IAAI,EAAE,OAAO,YAAY,OAAO,KAAK,EAAE;CAC3E,CAAC;AACH;AAEA,SAAS,aAAa,OAAsB;CAC1C,qBAAqB;EACnB,MAAM,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;CAChE,CAAC;AACH;AAEA,SAAS,iBAAiB,QAAyB,QAAyC;CAC1F,OAAO,IAAI,mBACT,0BAA0B,aAC1B,6BAA6B,OAAO,UAAU,2BAC9C;EAAE,WAAW,OAAO;EAAW,YAAY,OAAO;EAAY,OAAO,OAAO;CAAO,CACrF;AACF;AAEA,SAAS,gBAAgB,QAAyB,QAAgD;CAChG,IAAI,WAAW,KAAA,GAAW,OAAO,OAAO;CACxC,IAAI,OAAO,SAAS,OAAO,QAAQ,OAAO,iBAAiB,QAAQ,MAAM,CAAC;CAE1E,OAAO,IAAI,SAAe,SAAS,WAAW;EAC5C,MAAM,gBAAsB;GAC1B,OAAO,iBAAiB,QAAQ,MAAM,CAAC;EACzC;EACA,OAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;EACxD,OAAY,SAAS,WAAW;GAC9B,OAAO,oBAAoB,SAAS,OAAO;GAC3C,QAAQ;EACV,CAAC;CACH,CAAC;AACH;;AAGA,SAAgB,+BACd,UAA2C,CAAC,GAClB;CAC1B,MAAM,0BAAU,IAAI,IAA6B;CACjD,IAAI,WAAW;CACf,IAAI;CAEJ,MAAM,WAAW,WACf,CAAC,YAAY,QAAQ,IAAI,OAAO,SAAS,CAAC,EAAE,UAAU,OAAO,SAAS,OAAO,UAAU;CAEzF,MAAM,UAAU,WAAkC;EAChD,IAAI,OAAO,YAAa,OAAO,UAAU,cAAc,OAAO,UAAU,UAAW;EACnF,OAAO,WAAW;EAClB,MAAM,eAAe,OAAO,OAAO;GACjC,WAAW,OAAO;GAClB,YAAY,OAAO;GACnB,OAAO,OAAO;GACd,aAAa,OAAO;GACpB,GAAI,OAAO,UAAU,KAAA,IAAY,CAAC,IAAI,EAAE,OAAO,YAAY,OAAO,KAAK,EAAE;EAC3E,CAAC;EACD,IAAI,QAAQ,QAAQ,QAAa,QAAQ,QAAQ,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY;CAC3F;CAEA,MAAM,UACJ,QACA,OACA,QAKI,CAAC,MACI;EACT,IAAI,CAAC,QAAQ,MAAM,GAAG;EACtB,OAAO,QAAQ;EACf,OAAO,QAAQ,MAAM;EACrB,OAAO,WAAW,MAAM,YAAY;EACpC,OAAO,cAAc,MAAM,eAAe,OAAO,OAAO,CAAC,CAAC;EAC1D,OAAO,QAAQ,MAAM;EACrB,OAAO,gBAAgB;EACvB,OAAO,MAAM;CACf;CAEA,MAAM,aAAqB,WACzB,OAAO,OAAO;EACZ,WAAW,OAAO;EAClB,YAAY,OAAO;EACnB,gBAAgB,eAAe,MAAM;EACrC,MAAM,OAAO,cAAwC,CAAC,MAAuB;GAC3E,MAAM,gBAAgB,QAAQ,YAAY,MAAM;GAChD,IAAI,OAAO,UAAU,WAAW,OAAO,UAAU,YAAY;IAC3D,IAAI,CAAC,OAAO,UACV,MAAM,IAAI,mBACR,0BAA0B,QAC1B,iBAAiB,OAAO,UAAU,yCAClC;KAAE,WAAW,OAAO;KAAW,YAAY,OAAO;IAAW,CAC/D;IAEF,OAAO,OAAO;GAChB;GACA,IAAI,OAAO,OAAO,MAAM,OAAO;GAC/B,MAAM,IAAI,mBACR,0BAA0B,QAC1B,iBAAiB,OAAO,UAAU,gCAClC;IAAE,WAAW,OAAO;IAAW,YAAY,OAAO;GAAW,CAC/D;EACF;CACF,CAAC;CAEH,OAAO,OAAO,OAAO;EACnB,MAAc,WAAmB,YAAoB,MAA8D;GACjH,IAAI,UACF,MAAM,IAAI,mBACR,0BAA0B,UAC1B,qDACA;IAAE;IAAW;GAAW,CAC1B;GAEF,IAAI,OAAO,cAAc,YAAY,UAAU,KAAK,CAAC,CAAC,WAAW,GAC/D,MAAM,IAAI,mBACR,0BAA0B,iBAC1B,mDACA;IAAE;IAAW;GAAW,CAC1B;GAEF,IAAI,OAAO,eAAe,YAAY,WAAW,KAAK,CAAC,CAAC,WAAW,GACjE,MAAM,IAAI,mBACR,0BAA0B,iBAC1B,mDACA;IAAE;IAAW;GAAW,CAC1B;GAEF,IAAI,OAAO,SAAS,YAClB,MAAM,IAAI,mBACR,0BAA0B,iBAC1B,mDACA;IAAE;IAAW;GAAW,CAC1B;GAIF,IADiB,QAAQ,IAAI,SAClB,CAAC,EAAE,UAAU,WACtB,MAAM,IAAI,mBACR,0BAA0B,WAC1B,iBAAiB,UAAU,qCAC3B;IAAE;IAAW;GAAW,CAC1B;GAGF,MAAM,WAAW,eAAe;GAChC,MAAM,aAAa,IAAI,gBAAgB;GACvC,MAAM,SAA0B;IAC9B,OAAO,OAAO,SAAS;IACvB;IACA;IACA;IACA,UAAU,SAAS;IACnB,iBAAiB,SAAS;IAC1B,WAAW,QAAQ,QAAQ;IAC3B,OAAO;IACP,aAAa,OAAO,OAAO,CAAC,CAAC;IAC7B,UAAU;IACV,UAAU;GACZ;GACA,QAAQ,IAAI,WAAW,MAAM;GAE7B,MAAM,YAAY,QAAQ,QAAQ,CAAC,CAAC,WAAW;IAC7C,IAAI,WAAW,OAAO,SAAS,MAAM,WAAW,OAAO;IACvD,OAAO,KAAK,WAAW,MAAM;GAC/B,CAAC;GACD,OAAO,YAAY;GACnB,UACG,MACE,WAAW;IACV,IAAI,CAAC,QAAQ,MAAM,GAAG;IACtB,IAAI,WAAW,QAAQ,OAAO,WAAW,YAAY,CAAC,OAAO,OAAO,QAAQ,OAAO,GAAG;KACpF,OAAO,QAAQ,UAAU,EACvB,OAAO,IAAI,mBACT,0BAA0B,QAC1B,iBAAiB,UAAU,0CAC3B;MAAE;MAAW;KAAW,CAC1B,EACF,CAAC;KACD;IACF;IACA,IAAI;KACF,MAAM,cAAc,kBAAkB,OAAO,WAAW;KACxD,OAAO,QAAQ,YAAY,WAAW,IAAI,UAAU,YAAY;MAC9D,OAAO,OAAO;MACd,UAAU;MACV;KACF,CAAC;IACH,SAAS,OAAO;KACd,OAAO,QAAQ,UAAU,EACvB,OAAO,IAAI,mBACT,0BAA0B,QAC1B,iBAAiB,UAAU,0CAC3B;MAAE;MAAW;MAAY,OAAO;KAAM,CACxC,EACF,CAAC;IACH;GACF,IACC,UAAmB;IAClB,OAAO,QAAQ,UAAU,EACvB,OAAO,IAAI,mBACT,0BAA0B,QAC1B,iBAAiB,UAAU,sBAAsB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,KACtG;KAAE;KAAW;KAAY,OAAO;IAAM,CACxC,EACF,CAAC;GACH,CACF,CAAC,CACA,MAAM,YAAY;GAErB,OAAO,UAAkB,MAAM;EACjC;EAEA,KAAK,WAAsD;GACzD,MAAM,SAAS,QAAQ,IAAI,SAAS;GACpC,OAAO,WAAW,KAAA,IAAY,KAAA,IAAY,eAAe,MAAM;EACjE;EAEA,YAA8C;GAC5C,OAAO,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;EAChE;EAEA,UAAyB;GACvB,IAAI,UAAU,OAAO;GACrB,WAAW;GACX,MAAM,aAAa,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW;IACvD,IAAI,OAAO,UAAU,WAAW;KAC9B,MAAM,QAAQ,IAAI,mBAChB,0BAA0B,WAC1B,iBAAiB,OAAO,UAAU,6BAClC;MAAE,WAAW,OAAO;MAAW,YAAY,OAAO;KAAW,CAC/D;KACA,OAAO,QAAQ;KACf,OAAO,QAAQ;KACf,OAAO,gBAAgB;KACvB,OAAO,WAAW,MAAM,KAAK;IAC/B;IACA,OAAO,OAAO;GAChB,CAAC;GACD,WAAW,QAAQ,WAAW,UAAU,CAAC,CAAC,WAAW,KAAA,CAAS;GAC9D,OAAO;EACT;CACF,CAAC;AACH;;AAGA,SAAgB,6BAA6B,KAAoD;CAC/F,OAAO,IAAI,IAAI,sBAAsB;AACvC;;AAGA,SAAgB,gCAAgC,KAAwC;CACtF,MAAM,cAAc,6BAA6B,GAAG;CACpD,IAAI,aAAa,OAAO;CACxB,MAAM,IAAI,mBACR,0BAA0B,aAC1B,yDACF;AACF"}
1
+ {"version":3,"file":"readiness.cjs","names":[],"sources":["../../../src/schemas/readiness.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n\n/** Cordis service name for session-scoped package initialization. */\nexport const PO_READINESS_SERVICE = 'po/readiness';\n\n/** Stable machine-readable failures produced by the readiness contract. */\nexport const PO_READINESS_ERROR_CODE = {\n cancelled: 'PO_READINESS_CANCELLED',\n disposed: 'PO_READINESS_DISPOSED',\n duplicate: 'PO_READINESS_DUPLICATE',\n failed: 'PO_READINESS_FAILED',\n invalidArgument: 'PO_READINESS_INVALID_ARGUMENT',\n unavailable: 'PO_READINESS_UNAVAILABLE',\n waitAborted: 'PO_READINESS_WAIT_ABORTED',\n} as const;\n\nexport type PoReadinessErrorCode = (typeof PO_READINESS_ERROR_CODE)[keyof typeof PO_READINESS_ERROR_CODE];\nexport type PoReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled';\n\nexport interface PoReadinessErrorDetail {\n readonly code: PoReadinessErrorCode;\n readonly message: string;\n}\n\n/** Immutable public state for the latest generation of one package. */\nexport interface PoReadinessSnapshot {\n readonly packageId: string;\n readonly generation: string;\n readonly state: PoReadinessState;\n readonly diagnostics: readonly string[];\n readonly error?: PoReadinessErrorDetail;\n}\n\nexport interface PoReadinessTaskResult<TValue> {\n readonly value: TValue;\n readonly diagnostics?: readonly string[];\n}\n\nexport type PoReadinessTask<TValue> = (signal: AbortSignal) => Promise<PoReadinessTaskResult<TValue>>;\n\nexport interface PoReadinessWaitOptions {\n readonly signal?: AbortSignal;\n}\n\nexport interface PoReadinessHandle<TValue> {\n readonly packageId: string;\n readonly generation: string;\n /** Waits for this package only. Degraded initialization still returns its value. */\n wait(options?: PoReadinessWaitOptions): Promise<TValue>;\n /** Reads this handle's generation, even after a newer generation replaces it. */\n snapshot(): PoReadinessSnapshot;\n}\n\nexport interface PoReadinessNotification {\n readonly packageId: string;\n readonly generation: string;\n readonly state: 'degraded' | 'failed';\n readonly diagnostics: readonly string[];\n readonly error?: PoReadinessErrorDetail;\n}\n\nexport interface PoReadinessCoordinatorOptions {\n /** Called once when a task becomes degraded or failed. */\n readonly notify?: (notification: PoReadinessNotification) => void | Promise<void>;\n}\n\nexport interface PoReadinessCoordinator {\n start<TValue>(packageId: string, generation: string, task: PoReadinessTask<TValue>): PoReadinessHandle<TValue>;\n /** Reads the latest generation registered for a package. */\n read(packageId: string): PoReadinessSnapshot | undefined;\n /** Reads the latest generation of every registered package. */\n snapshots(): readonly PoReadinessSnapshot[];\n /** Aborts pending work and waits for every started task to settle. */\n dispose(): Promise<void>;\n}\n\ninterface ReadinessRecord {\n readonly token: symbol;\n readonly packageId: string;\n readonly generation: string;\n readonly controller: AbortController;\n readonly terminal: Promise<void>;\n readonly resolveTerminal: () => void;\n operation: Promise<unknown>;\n state: PoReadinessState;\n diagnostics: readonly string[];\n error?: PoReadinessError;\n value?: unknown;\n hasValue: boolean;\n notified: boolean;\n}\n\nexport interface PoReadinessErrorOptions {\n readonly packageId?: string;\n readonly generation?: string;\n readonly cause?: unknown;\n}\n\n/** Error returned to package callers without exposing task-specific rejection shapes. */\nexport class PoReadinessError extends Error {\n readonly code: PoReadinessErrorCode;\n readonly packageId?: string;\n readonly generation?: string;\n\n constructor(code: PoReadinessErrorCode, message: string, input: PoReadinessErrorOptions = {}) {\n super(message, input.cause === undefined ? undefined : { cause: input.cause });\n this.name = 'PoReadinessError';\n this.code = code;\n this.packageId = input.packageId;\n this.generation = input.generation;\n }\n}\n\nfunction createTerminal(): { readonly promise: Promise<void>; readonly resolve: () => void } {\n let resolve = (): void => undefined;\n const promise = new Promise<void>((settle) => {\n resolve = settle;\n });\n return { promise, resolve };\n}\n\nfunction frozenDiagnostics(diagnostics: readonly string[] | undefined): readonly string[] {\n if (diagnostics === undefined) return Object.freeze([]);\n if (!Array.isArray(diagnostics) || diagnostics.some((diagnostic) => typeof diagnostic !== 'string')) {\n throw new TypeError('Po readiness task diagnostics must be an array of strings.');\n }\n return Object.freeze([...diagnostics]);\n}\n\nfunction errorDetail(error: PoReadinessError | undefined): PoReadinessErrorDetail | undefined {\n return error === undefined ? undefined : Object.freeze({ code: error.code, message: error.message });\n}\n\nfunction recordSnapshot(record: ReadinessRecord): PoReadinessSnapshot {\n return Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n}\n\nfunction rethrowAsync(error: unknown): void {\n queueMicrotask(() => {\n throw error instanceof Error ? error : new Error(String(error));\n });\n}\n\nfunction waitAbortedError(record: ReadinessRecord, signal: AbortSignal): PoReadinessError {\n return new PoReadinessError(\n PO_READINESS_ERROR_CODE.waitAborted,\n `Waiting for Po package '${record.packageId}' readiness was aborted.`,\n { packageId: record.packageId, generation: record.generation, cause: signal.reason },\n );\n}\n\nfunction waitForTerminal(record: ReadinessRecord, signal: AbortSignal | undefined): Promise<void> {\n if (signal === undefined) return record.terminal;\n if (signal.aborted) return Promise.reject(waitAbortedError(record, signal));\n\n return new Promise<void>((resolve, reject) => {\n const onAbort = (): void => {\n reject(waitAbortedError(record, signal));\n };\n signal.addEventListener('abort', onAbort, { once: true });\n void record.terminal.then(() => {\n signal.removeEventListener('abort', onAbort);\n resolve();\n });\n });\n}\n\n/** Creates the session-scoped coordinator value published through Cordis. */\nexport function createPoReadinessCoordinator(options: PoReadinessCoordinatorOptions = {}): PoReadinessCoordinator {\n const records = new Map<string, ReadinessRecord>();\n let disposed = false;\n let disposal: Promise<void> | undefined;\n\n const current = (record: ReadinessRecord): boolean =>\n !disposed && records.get(record.packageId)?.token === record.token && record.state === 'pending';\n\n const notify = (record: ReadinessRecord): void => {\n if (record.notified || (record.state !== 'degraded' && record.state !== 'failed')) return;\n record.notified = true;\n const notification = Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n if (options.notify) void Promise.resolve(options.notify(notification)).catch(rethrowAsync);\n };\n\n const finish = (\n record: ReadinessRecord,\n state: Exclude<PoReadinessState, 'pending'>,\n input: {\n readonly value?: unknown;\n readonly hasValue?: boolean;\n readonly diagnostics?: readonly string[];\n readonly error?: PoReadinessError;\n } = {},\n ): void => {\n if (!current(record)) return;\n record.state = state;\n record.value = input.value;\n record.hasValue = input.hasValue ?? false;\n record.diagnostics = input.diagnostics ?? Object.freeze([]);\n record.error = input.error;\n record.resolveTerminal();\n notify(record);\n };\n\n const handleFor = <TValue>(record: ReadinessRecord): PoReadinessHandle<TValue> =>\n Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n snapshot: () => recordSnapshot(record),\n wait: async (waitOptions: PoReadinessWaitOptions = {}): Promise<TValue> => {\n await waitForTerminal(record, waitOptions.signal);\n if (record.state === 'ready' || record.state === 'degraded') {\n if (!record.hasValue) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${record.packageId}' readiness completed without a value.`,\n { packageId: record.packageId, generation: record.generation },\n );\n }\n return record.value as TValue;\n }\n if (record.error) throw record.error;\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${record.packageId}' readiness did not complete.`,\n { packageId: record.packageId, generation: record.generation },\n );\n },\n });\n\n return Object.freeze({\n start<TValue>(packageId: string, generation: string, task: PoReadinessTask<TValue>): PoReadinessHandle<TValue> {\n if (disposed) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.disposed,\n 'The Po readiness coordinator has been disposed.',\n { packageId, generation },\n );\n }\n if (typeof packageId !== 'string' || packageId.trim().length === 0) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.invalidArgument,\n 'Po readiness requires a non-empty package id.',\n { packageId, generation },\n );\n }\n if (typeof generation !== 'string' || generation.trim().length === 0) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.invalidArgument,\n 'Po readiness requires a non-empty generation.',\n { packageId, generation },\n );\n }\n if (typeof task !== 'function') {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.invalidArgument,\n 'Po readiness requires an initialization task.',\n { packageId, generation },\n );\n }\n\n const previous = records.get(packageId);\n if (previous?.state === 'pending') {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.duplicate,\n `Po package '${packageId}' already has live readiness work.`,\n { packageId, generation },\n );\n }\n\n const terminal = createTerminal();\n const controller = new AbortController();\n const record: ReadinessRecord = {\n token: Symbol(packageId),\n packageId,\n generation,\n controller,\n terminal: terminal.promise,\n resolveTerminal: terminal.resolve,\n operation: Promise.resolve(),\n state: 'pending',\n diagnostics: Object.freeze([]),\n hasValue: false,\n notified: false,\n };\n records.set(packageId, record);\n\n const operation = Promise.resolve().then(() => {\n if (controller.signal.aborted) throw controller.signal.reason;\n return task(controller.signal);\n });\n record.operation = operation;\n void operation\n .then(\n (result) => {\n if (!current(record)) return;\n if (result === null || typeof result !== 'object' || !Object.hasOwn(result, 'value')) {\n finish(record, 'failed', {\n error: new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation },\n ),\n });\n return;\n }\n try {\n const diagnostics = frozenDiagnostics(result.diagnostics);\n finish(record, diagnostics.length === 0 ? 'ready' : 'degraded', {\n value: result.value,\n hasValue: true,\n diagnostics,\n });\n } catch (error) {\n finish(record, 'failed', {\n error: new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation, cause: error },\n ),\n });\n }\n },\n (error: unknown) => {\n finish(record, 'failed', {\n error: new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${packageId}' readiness failed: ${error instanceof Error ? error.message : String(error)}`,\n { packageId, generation, cause: error },\n ),\n });\n },\n )\n .catch(rethrowAsync);\n\n return handleFor<TValue>(record);\n },\n\n read(packageId: string): PoReadinessSnapshot | undefined {\n const record = records.get(packageId);\n return record === undefined ? undefined : recordSnapshot(record);\n },\n\n snapshots(): readonly PoReadinessSnapshot[] {\n return Object.freeze([...records.values()].map(recordSnapshot));\n },\n\n dispose(): Promise<void> {\n if (disposal) return disposal;\n disposed = true;\n const operations = [...records.values()].map((record) => {\n if (record.state === 'pending') {\n const error = new PoReadinessError(\n PO_READINESS_ERROR_CODE.cancelled,\n `Po package '${record.packageId}' readiness was cancelled.`,\n { packageId: record.packageId, generation: record.generation },\n );\n record.state = 'cancelled';\n record.error = error;\n record.resolveTerminal();\n record.controller.abort(error);\n }\n return record.operation;\n });\n disposal = Promise.allSettled(operations).then(() => undefined);\n return disposal;\n },\n });\n}\n\n/** Reads the coordinator visible to the current Cordis plugin context. */\nexport function readPoReadinessCoordinator(ctx: Context): PoReadinessCoordinator | undefined {\n return ctx.get(PO_READINESS_SERVICE) as PoReadinessCoordinator | undefined;\n}\n\n/** Reads the coordinator or reports that Config has not published session readiness. */\nexport function requirePoReadinessCoordinator(ctx: Context): PoReadinessCoordinator {\n const coordinator = readPoReadinessCoordinator(ctx);\n if (coordinator) return coordinator;\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.unavailable,\n 'Po readiness is unavailable. Load the Po Config core.',\n );\n}\n"],"mappings":"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"}
@@ -1,84 +1,84 @@
1
1
  import { Context } from "@deepseek-ai/cordis";
2
2
  //#region src/schemas/readiness.d.ts
3
3
  /** Cordis service name for session-scoped package initialization. */
4
- export declare const DOOM_READINESS_SERVICE = "doom/readiness";
4
+ export declare const PO_READINESS_SERVICE = "po/readiness";
5
5
  /** Stable machine-readable failures produced by the readiness contract. */
6
- export declare const DOOM_READINESS_ERROR_CODE: {
7
- readonly cancelled: 'DOOM_READINESS_CANCELLED';
8
- readonly disposed: 'DOOM_READINESS_DISPOSED';
9
- readonly duplicate: 'DOOM_READINESS_DUPLICATE';
10
- readonly failed: 'DOOM_READINESS_FAILED';
11
- readonly invalidArgument: 'DOOM_READINESS_INVALID_ARGUMENT';
12
- readonly unavailable: 'DOOM_READINESS_UNAVAILABLE';
13
- readonly waitAborted: 'DOOM_READINESS_WAIT_ABORTED';
6
+ export declare const PO_READINESS_ERROR_CODE: {
7
+ readonly cancelled: 'PO_READINESS_CANCELLED';
8
+ readonly disposed: 'PO_READINESS_DISPOSED';
9
+ readonly duplicate: 'PO_READINESS_DUPLICATE';
10
+ readonly failed: 'PO_READINESS_FAILED';
11
+ readonly invalidArgument: 'PO_READINESS_INVALID_ARGUMENT';
12
+ readonly unavailable: 'PO_READINESS_UNAVAILABLE';
13
+ readonly waitAborted: 'PO_READINESS_WAIT_ABORTED';
14
14
  };
15
- export type DoomReadinessErrorCode = (typeof DOOM_READINESS_ERROR_CODE)[keyof typeof DOOM_READINESS_ERROR_CODE];
16
- export type DoomReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled';
17
- export interface DoomReadinessErrorDetail {
18
- readonly code: DoomReadinessErrorCode;
15
+ export type PoReadinessErrorCode = (typeof PO_READINESS_ERROR_CODE)[keyof typeof PO_READINESS_ERROR_CODE];
16
+ export type PoReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled';
17
+ export interface PoReadinessErrorDetail {
18
+ readonly code: PoReadinessErrorCode;
19
19
  readonly message: string;
20
20
  }
21
21
  /** Immutable public state for the latest generation of one package. */
22
- export interface DoomReadinessSnapshot {
22
+ export interface PoReadinessSnapshot {
23
23
  readonly packageId: string;
24
24
  readonly generation: string;
25
- readonly state: DoomReadinessState;
25
+ readonly state: PoReadinessState;
26
26
  readonly diagnostics: readonly string[];
27
- readonly error?: DoomReadinessErrorDetail;
27
+ readonly error?: PoReadinessErrorDetail;
28
28
  }
29
- export interface DoomReadinessTaskResult<TValue> {
29
+ export interface PoReadinessTaskResult<TValue> {
30
30
  readonly value: TValue;
31
31
  readonly diagnostics?: readonly string[];
32
32
  }
33
- export type DoomReadinessTask<TValue> = (signal: AbortSignal) => Promise<DoomReadinessTaskResult<TValue>>;
34
- export interface DoomReadinessWaitOptions {
33
+ export type PoReadinessTask<TValue> = (signal: AbortSignal) => Promise<PoReadinessTaskResult<TValue>>;
34
+ export interface PoReadinessWaitOptions {
35
35
  readonly signal?: AbortSignal;
36
36
  }
37
- export interface DoomReadinessHandle<TValue> {
37
+ export interface PoReadinessHandle<TValue> {
38
38
  readonly packageId: string;
39
39
  readonly generation: string;
40
40
  /** Waits for this package only. Degraded initialization still returns its value. */
41
- wait(options?: DoomReadinessWaitOptions): Promise<TValue>;
41
+ wait(options?: PoReadinessWaitOptions): Promise<TValue>;
42
42
  /** Reads this handle's generation, even after a newer generation replaces it. */
43
- snapshot(): DoomReadinessSnapshot;
43
+ snapshot(): PoReadinessSnapshot;
44
44
  }
45
- export interface DoomReadinessNotification {
45
+ export interface PoReadinessNotification {
46
46
  readonly packageId: string;
47
47
  readonly generation: string;
48
48
  readonly state: 'degraded' | 'failed';
49
49
  readonly diagnostics: readonly string[];
50
- readonly error?: DoomReadinessErrorDetail;
50
+ readonly error?: PoReadinessErrorDetail;
51
51
  }
52
- export interface DoomReadinessCoordinatorOptions {
52
+ export interface PoReadinessCoordinatorOptions {
53
53
  /** Called once when a task becomes degraded or failed. */
54
- readonly notify?: (notification: DoomReadinessNotification) => void | Promise<void>;
54
+ readonly notify?: (notification: PoReadinessNotification) => void | Promise<void>;
55
55
  }
56
- export interface DoomReadinessCoordinator {
57
- start<TValue>(packageId: string, generation: string, task: DoomReadinessTask<TValue>): DoomReadinessHandle<TValue>;
56
+ export interface PoReadinessCoordinator {
57
+ start<TValue>(packageId: string, generation: string, task: PoReadinessTask<TValue>): PoReadinessHandle<TValue>;
58
58
  /** Reads the latest generation registered for a package. */
59
- read(packageId: string): DoomReadinessSnapshot | undefined;
59
+ read(packageId: string): PoReadinessSnapshot | undefined;
60
60
  /** Reads the latest generation of every registered package. */
61
- snapshots(): readonly DoomReadinessSnapshot[];
61
+ snapshots(): readonly PoReadinessSnapshot[];
62
62
  /** Aborts pending work and waits for every started task to settle. */
63
63
  dispose(): Promise<void>;
64
64
  }
65
- export interface DoomReadinessErrorOptions {
65
+ export interface PoReadinessErrorOptions {
66
66
  readonly packageId?: string;
67
67
  readonly generation?: string;
68
68
  readonly cause?: unknown;
69
69
  }
70
70
  /** Error returned to package callers without exposing task-specific rejection shapes. */
71
- export declare class DoomReadinessError extends Error {
72
- readonly code: DoomReadinessErrorCode;
71
+ export declare class PoReadinessError extends Error {
72
+ readonly code: PoReadinessErrorCode;
73
73
  readonly packageId?: string;
74
74
  readonly generation?: string;
75
- constructor(code: DoomReadinessErrorCode, message: string, input?: DoomReadinessErrorOptions);
75
+ constructor(code: PoReadinessErrorCode, message: string, input?: PoReadinessErrorOptions);
76
76
  }
77
77
  /** Creates the session-scoped coordinator value published through Cordis. */
78
- export declare function createDoomReadinessCoordinator(options?: DoomReadinessCoordinatorOptions): DoomReadinessCoordinator;
78
+ export declare function createPoReadinessCoordinator(options?: PoReadinessCoordinatorOptions): PoReadinessCoordinator;
79
79
  /** Reads the coordinator visible to the current Cordis plugin context. */
80
- export declare function readDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator | undefined;
80
+ export declare function readPoReadinessCoordinator(ctx: Context): PoReadinessCoordinator | undefined;
81
81
  /** Reads the coordinator or reports that Config has not published session readiness. */
82
- export declare function requireDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator;
82
+ export declare function requirePoReadinessCoordinator(ctx: Context): PoReadinessCoordinator;
83
83
  //#endregion
84
84
  //# sourceMappingURL=readiness.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.d.mts","names":[],"sources":["../../../src/schemas/readiness.ts"],"mappings":";;;qBAGa;;qBAGA;WACX;WACA;WACA;WACA;WACA;WACA;WACA;;YAGU,iCAAiC,wCAAwC;YACzE;iBAEK;WACN,MAAM;WACN;;;iBAIM;WACN;WACA;WACA,OAAO;WACP;WACA,QAAQ;;iBAGF,wBAAwB;WAC9B,OAAO;WACP;;YAGC,kBAAkB,WAAW,QAAQ,gBAAgB,QAAQ,wBAAwB;iBAEhF;WACN,SAAS;;iBAGH,oBAAoB;WAC1B;WACA;;EAET,KAAK,UAAU,2BAA2B,QAAQ;;EAElD,YAAY;;iBAGG;WACN;WACA;WACA;WACA;WACA,QAAQ;;iBAGF;;WAEN,UAAU,cAAc,qCAAqC;;iBAGvD;EACf,MAAM,QAAQ,mBAAmB,oBAAoB,MAAM,kBAAkB,UAAU,oBAAoB;;EAE3G,KAAK,oBAAoB;;EAEzB,sBAAsB;;EAEtB,WAAW;;iBAmBI;WACN;WACA;WACA;;;qBAIE,2BAA2B;WAC7B,MAAM;WACN;WACA;EAET,YAAY,MAAM,wBAAwB,iBAAiB,QAAO;;;wBAsEpD,+BACd,UAAS,kCACR;;wBAgNa,6BAA6B,KAAK,UAAU;;wBAK5C,gCAAgC,KAAK,UAAU"}
1
+ {"version":3,"file":"readiness.d.mts","names":[],"sources":["../../../src/schemas/readiness.ts"],"mappings":";;;qBAGa;;qBAGA;WACX;WACA;WACA;WACA;WACA;WACA;WACA;;YAGU,+BAA+B,sCAAsC;YACrE;iBAEK;WACN,MAAM;WACN;;;iBAIM;WACN;WACA;WACA,OAAO;WACP;WACA,QAAQ;;iBAGF,sBAAsB;WAC5B,OAAO;WACP;;YAGC,gBAAgB,WAAW,QAAQ,gBAAgB,QAAQ,sBAAsB;iBAE5E;WACN,SAAS;;iBAGH,kBAAkB;WACxB;WACA;;EAET,KAAK,UAAU,yBAAyB,QAAQ;;EAEhD,YAAY;;iBAGG;WACN;WACA;WACA;WACA;WACA,QAAQ;;iBAGF;;WAEN,UAAU,cAAc,mCAAmC;;iBAGrD;EACf,MAAM,QAAQ,mBAAmB,oBAAoB,MAAM,gBAAgB,UAAU,kBAAkB;;EAEvG,KAAK,oBAAoB;;EAEzB,sBAAsB;;EAEtB,WAAW;;iBAmBI;WACN;WACA;WACA;;;qBAIE,yBAAyB;WAC3B,MAAM;WACN;WACA;EAET,YAAY,MAAM,sBAAsB,iBAAiB,QAAO;;;wBAsElD,6BAA6B,UAAS,gCAAqC;;wBAgN3E,2BAA2B,KAAK,UAAU;;wBAK1C,8BAA8B,KAAK,UAAU"}
@@ -1,24 +1,24 @@
1
1
  //#region src/schemas/readiness.ts
2
2
  /** Cordis service name for session-scoped package initialization. */
3
- const DOOM_READINESS_SERVICE = "doom/readiness";
3
+ const PO_READINESS_SERVICE = "po/readiness";
4
4
  /** Stable machine-readable failures produced by the readiness contract. */
5
- const DOOM_READINESS_ERROR_CODE = {
6
- cancelled: "DOOM_READINESS_CANCELLED",
7
- disposed: "DOOM_READINESS_DISPOSED",
8
- duplicate: "DOOM_READINESS_DUPLICATE",
9
- failed: "DOOM_READINESS_FAILED",
10
- invalidArgument: "DOOM_READINESS_INVALID_ARGUMENT",
11
- unavailable: "DOOM_READINESS_UNAVAILABLE",
12
- waitAborted: "DOOM_READINESS_WAIT_ABORTED"
5
+ const PO_READINESS_ERROR_CODE = {
6
+ cancelled: "PO_READINESS_CANCELLED",
7
+ disposed: "PO_READINESS_DISPOSED",
8
+ duplicate: "PO_READINESS_DUPLICATE",
9
+ failed: "PO_READINESS_FAILED",
10
+ invalidArgument: "PO_READINESS_INVALID_ARGUMENT",
11
+ unavailable: "PO_READINESS_UNAVAILABLE",
12
+ waitAborted: "PO_READINESS_WAIT_ABORTED"
13
13
  };
14
14
  /** Error returned to package callers without exposing task-specific rejection shapes. */
15
- var DoomReadinessError = class extends Error {
15
+ var PoReadinessError = class extends Error {
16
16
  code;
17
17
  packageId;
18
18
  generation;
19
19
  constructor(code, message, input = {}) {
20
20
  super(message, input.cause === void 0 ? void 0 : { cause: input.cause });
21
- this.name = "DoomReadinessError";
21
+ this.name = "PoReadinessError";
22
22
  this.code = code;
23
23
  this.packageId = input.packageId;
24
24
  this.generation = input.generation;
@@ -35,7 +35,7 @@ function createTerminal() {
35
35
  }
36
36
  function frozenDiagnostics(diagnostics) {
37
37
  if (diagnostics === void 0) return Object.freeze([]);
38
- if (!Array.isArray(diagnostics) || diagnostics.some((diagnostic) => typeof diagnostic !== "string")) throw new TypeError("Doom readiness task diagnostics must be an array of strings.");
38
+ if (!Array.isArray(diagnostics) || diagnostics.some((diagnostic) => typeof diagnostic !== "string")) throw new TypeError("Po readiness task diagnostics must be an array of strings.");
39
39
  return Object.freeze([...diagnostics]);
40
40
  }
41
41
  function errorDetail(error) {
@@ -59,7 +59,7 @@ function rethrowAsync(error) {
59
59
  });
60
60
  }
61
61
  function waitAbortedError(record, signal) {
62
- return new DoomReadinessError(DOOM_READINESS_ERROR_CODE.waitAborted, `Waiting for Doom package '${record.packageId}' readiness was aborted.`, {
62
+ return new PoReadinessError(PO_READINESS_ERROR_CODE.waitAborted, `Waiting for Po package '${record.packageId}' readiness was aborted.`, {
63
63
  packageId: record.packageId,
64
64
  generation: record.generation,
65
65
  cause: signal.reason
@@ -80,7 +80,7 @@ function waitForTerminal(record, signal) {
80
80
  });
81
81
  }
82
82
  /** Creates the session-scoped coordinator value published through Cordis. */
83
- function createDoomReadinessCoordinator(options = {}) {
83
+ function createPoReadinessCoordinator(options = {}) {
84
84
  const records = /* @__PURE__ */ new Map();
85
85
  let disposed = false;
86
86
  let disposal;
@@ -114,14 +114,14 @@ function createDoomReadinessCoordinator(options = {}) {
114
114
  wait: async (waitOptions = {}) => {
115
115
  await waitForTerminal(record, waitOptions.signal);
116
116
  if (record.state === "ready" || record.state === "degraded") {
117
- if (!record.hasValue) throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.failed, `Doom package '${record.packageId}' readiness completed without a value.`, {
117
+ if (!record.hasValue) throw new PoReadinessError(PO_READINESS_ERROR_CODE.failed, `Po package '${record.packageId}' readiness completed without a value.`, {
118
118
  packageId: record.packageId,
119
119
  generation: record.generation
120
120
  });
121
121
  return record.value;
122
122
  }
123
123
  if (record.error) throw record.error;
124
- throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.failed, `Doom package '${record.packageId}' readiness did not complete.`, {
124
+ throw new PoReadinessError(PO_READINESS_ERROR_CODE.failed, `Po package '${record.packageId}' readiness did not complete.`, {
125
125
  packageId: record.packageId,
126
126
  generation: record.generation
127
127
  });
@@ -129,23 +129,23 @@ function createDoomReadinessCoordinator(options = {}) {
129
129
  });
130
130
  return Object.freeze({
131
131
  start(packageId, generation, task) {
132
- if (disposed) throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.disposed, "The Doom readiness coordinator has been disposed.", {
132
+ if (disposed) throw new PoReadinessError(PO_READINESS_ERROR_CODE.disposed, "The Po readiness coordinator has been disposed.", {
133
133
  packageId,
134
134
  generation
135
135
  });
136
- if (typeof packageId !== "string" || packageId.trim().length === 0) throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.invalidArgument, "Doom readiness requires a non-empty package id.", {
136
+ if (typeof packageId !== "string" || packageId.trim().length === 0) throw new PoReadinessError(PO_READINESS_ERROR_CODE.invalidArgument, "Po readiness requires a non-empty package id.", {
137
137
  packageId,
138
138
  generation
139
139
  });
140
- if (typeof generation !== "string" || generation.trim().length === 0) throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.invalidArgument, "Doom readiness requires a non-empty generation.", {
140
+ if (typeof generation !== "string" || generation.trim().length === 0) throw new PoReadinessError(PO_READINESS_ERROR_CODE.invalidArgument, "Po readiness requires a non-empty generation.", {
141
141
  packageId,
142
142
  generation
143
143
  });
144
- if (typeof task !== "function") throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.invalidArgument, "Doom readiness requires an initialization task.", {
144
+ if (typeof task !== "function") throw new PoReadinessError(PO_READINESS_ERROR_CODE.invalidArgument, "Po readiness requires an initialization task.", {
145
145
  packageId,
146
146
  generation
147
147
  });
148
- if (records.get(packageId)?.state === "pending") throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.duplicate, `Doom package '${packageId}' already has live readiness work.`, {
148
+ if (records.get(packageId)?.state === "pending") throw new PoReadinessError(PO_READINESS_ERROR_CODE.duplicate, `Po package '${packageId}' already has live readiness work.`, {
149
149
  packageId,
150
150
  generation
151
151
  });
@@ -173,7 +173,7 @@ function createDoomReadinessCoordinator(options = {}) {
173
173
  operation.then((result) => {
174
174
  if (!current(record)) return;
175
175
  if (result === null || typeof result !== "object" || !Object.hasOwn(result, "value")) {
176
- finish(record, "failed", { error: new DoomReadinessError(DOOM_READINESS_ERROR_CODE.failed, `Doom package '${packageId}' returned an invalid readiness result.`, {
176
+ finish(record, "failed", { error: new PoReadinessError(PO_READINESS_ERROR_CODE.failed, `Po package '${packageId}' returned an invalid readiness result.`, {
177
177
  packageId,
178
178
  generation
179
179
  }) });
@@ -187,14 +187,14 @@ function createDoomReadinessCoordinator(options = {}) {
187
187
  diagnostics
188
188
  });
189
189
  } catch (error) {
190
- finish(record, "failed", { error: new DoomReadinessError(DOOM_READINESS_ERROR_CODE.failed, `Doom package '${packageId}' returned an invalid readiness result.`, {
190
+ finish(record, "failed", { error: new PoReadinessError(PO_READINESS_ERROR_CODE.failed, `Po package '${packageId}' returned an invalid readiness result.`, {
191
191
  packageId,
192
192
  generation,
193
193
  cause: error
194
194
  }) });
195
195
  }
196
196
  }, (error) => {
197
- finish(record, "failed", { error: new DoomReadinessError(DOOM_READINESS_ERROR_CODE.failed, `Doom package '${packageId}' readiness failed: ${error instanceof Error ? error.message : String(error)}`, {
197
+ finish(record, "failed", { error: new PoReadinessError(PO_READINESS_ERROR_CODE.failed, `Po package '${packageId}' readiness failed: ${error instanceof Error ? error.message : String(error)}`, {
198
198
  packageId,
199
199
  generation,
200
200
  cause: error
@@ -214,7 +214,7 @@ function createDoomReadinessCoordinator(options = {}) {
214
214
  disposed = true;
215
215
  const operations = [...records.values()].map((record) => {
216
216
  if (record.state === "pending") {
217
- const error = new DoomReadinessError(DOOM_READINESS_ERROR_CODE.cancelled, `Doom package '${record.packageId}' readiness was cancelled.`, {
217
+ const error = new PoReadinessError(PO_READINESS_ERROR_CODE.cancelled, `Po package '${record.packageId}' readiness was cancelled.`, {
218
218
  packageId: record.packageId,
219
219
  generation: record.generation
220
220
  });
@@ -231,16 +231,16 @@ function createDoomReadinessCoordinator(options = {}) {
231
231
  });
232
232
  }
233
233
  /** Reads the coordinator visible to the current Cordis plugin context. */
234
- function readDoomReadinessCoordinator(ctx) {
235
- return ctx.get(DOOM_READINESS_SERVICE);
234
+ function readPoReadinessCoordinator(ctx) {
235
+ return ctx.get(PO_READINESS_SERVICE);
236
236
  }
237
237
  /** Reads the coordinator or reports that Config has not published session readiness. */
238
- function requireDoomReadinessCoordinator(ctx) {
239
- const coordinator = readDoomReadinessCoordinator(ctx);
238
+ function requirePoReadinessCoordinator(ctx) {
239
+ const coordinator = readPoReadinessCoordinator(ctx);
240
240
  if (coordinator) return coordinator;
241
- throw new DoomReadinessError(DOOM_READINESS_ERROR_CODE.unavailable, "Doom readiness is unavailable. Load the Po Config core.");
241
+ throw new PoReadinessError(PO_READINESS_ERROR_CODE.unavailable, "Po readiness is unavailable. Load the Po Config core.");
242
242
  }
243
243
  //#endregion
244
- export { DOOM_READINESS_ERROR_CODE, DOOM_READINESS_SERVICE, DoomReadinessError, createDoomReadinessCoordinator, readDoomReadinessCoordinator, requireDoomReadinessCoordinator };
244
+ export { PO_READINESS_ERROR_CODE, PO_READINESS_SERVICE, PoReadinessError, createPoReadinessCoordinator, readPoReadinessCoordinator, requirePoReadinessCoordinator };
245
245
 
246
246
  //# sourceMappingURL=readiness.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.mjs","names":[],"sources":["../../../src/schemas/readiness.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n\n/** Cordis service name for session-scoped package initialization. */\nexport const DOOM_READINESS_SERVICE = 'doom/readiness';\n\n/** Stable machine-readable failures produced by the readiness contract. */\nexport const DOOM_READINESS_ERROR_CODE = {\n cancelled: 'DOOM_READINESS_CANCELLED',\n disposed: 'DOOM_READINESS_DISPOSED',\n duplicate: 'DOOM_READINESS_DUPLICATE',\n failed: 'DOOM_READINESS_FAILED',\n invalidArgument: 'DOOM_READINESS_INVALID_ARGUMENT',\n unavailable: 'DOOM_READINESS_UNAVAILABLE',\n waitAborted: 'DOOM_READINESS_WAIT_ABORTED',\n} as const;\n\nexport type DoomReadinessErrorCode = (typeof DOOM_READINESS_ERROR_CODE)[keyof typeof DOOM_READINESS_ERROR_CODE];\nexport type DoomReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled';\n\nexport interface DoomReadinessErrorDetail {\n readonly code: DoomReadinessErrorCode;\n readonly message: string;\n}\n\n/** Immutable public state for the latest generation of one package. */\nexport interface DoomReadinessSnapshot {\n readonly packageId: string;\n readonly generation: string;\n readonly state: DoomReadinessState;\n readonly diagnostics: readonly string[];\n readonly error?: DoomReadinessErrorDetail;\n}\n\nexport interface DoomReadinessTaskResult<TValue> {\n readonly value: TValue;\n readonly diagnostics?: readonly string[];\n}\n\nexport type DoomReadinessTask<TValue> = (signal: AbortSignal) => Promise<DoomReadinessTaskResult<TValue>>;\n\nexport interface DoomReadinessWaitOptions {\n readonly signal?: AbortSignal;\n}\n\nexport interface DoomReadinessHandle<TValue> {\n readonly packageId: string;\n readonly generation: string;\n /** Waits for this package only. Degraded initialization still returns its value. */\n wait(options?: DoomReadinessWaitOptions): Promise<TValue>;\n /** Reads this handle's generation, even after a newer generation replaces it. */\n snapshot(): DoomReadinessSnapshot;\n}\n\nexport interface DoomReadinessNotification {\n readonly packageId: string;\n readonly generation: string;\n readonly state: 'degraded' | 'failed';\n readonly diagnostics: readonly string[];\n readonly error?: DoomReadinessErrorDetail;\n}\n\nexport interface DoomReadinessCoordinatorOptions {\n /** Called once when a task becomes degraded or failed. */\n readonly notify?: (notification: DoomReadinessNotification) => void | Promise<void>;\n}\n\nexport interface DoomReadinessCoordinator {\n start<TValue>(packageId: string, generation: string, task: DoomReadinessTask<TValue>): DoomReadinessHandle<TValue>;\n /** Reads the latest generation registered for a package. */\n read(packageId: string): DoomReadinessSnapshot | undefined;\n /** Reads the latest generation of every registered package. */\n snapshots(): readonly DoomReadinessSnapshot[];\n /** Aborts pending work and waits for every started task to settle. */\n dispose(): Promise<void>;\n}\n\ninterface ReadinessRecord {\n readonly token: symbol;\n readonly packageId: string;\n readonly generation: string;\n readonly controller: AbortController;\n readonly terminal: Promise<void>;\n readonly resolveTerminal: () => void;\n operation: Promise<unknown>;\n state: DoomReadinessState;\n diagnostics: readonly string[];\n error?: DoomReadinessError;\n value?: unknown;\n hasValue: boolean;\n notified: boolean;\n}\n\nexport interface DoomReadinessErrorOptions {\n readonly packageId?: string;\n readonly generation?: string;\n readonly cause?: unknown;\n}\n\n/** Error returned to package callers without exposing task-specific rejection shapes. */\nexport class DoomReadinessError extends Error {\n readonly code: DoomReadinessErrorCode;\n readonly packageId?: string;\n readonly generation?: string;\n\n constructor(code: DoomReadinessErrorCode, message: string, input: DoomReadinessErrorOptions = {}) {\n super(message, input.cause === undefined ? undefined : { cause: input.cause });\n this.name = 'DoomReadinessError';\n this.code = code;\n this.packageId = input.packageId;\n this.generation = input.generation;\n }\n}\n\nfunction createTerminal(): { readonly promise: Promise<void>; readonly resolve: () => void } {\n let resolve = (): void => undefined;\n const promise = new Promise<void>((settle) => {\n resolve = settle;\n });\n return { promise, resolve };\n}\n\nfunction frozenDiagnostics(diagnostics: readonly string[] | undefined): readonly string[] {\n if (diagnostics === undefined) return Object.freeze([]);\n if (!Array.isArray(diagnostics) || diagnostics.some((diagnostic) => typeof diagnostic !== 'string')) {\n throw new TypeError('Doom readiness task diagnostics must be an array of strings.');\n }\n return Object.freeze([...diagnostics]);\n}\n\nfunction errorDetail(error: DoomReadinessError | undefined): DoomReadinessErrorDetail | undefined {\n return error === undefined ? undefined : Object.freeze({ code: error.code, message: error.message });\n}\n\nfunction recordSnapshot(record: ReadinessRecord): DoomReadinessSnapshot {\n return Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n}\n\nfunction rethrowAsync(error: unknown): void {\n queueMicrotask(() => {\n throw error instanceof Error ? error : new Error(String(error));\n });\n}\n\nfunction waitAbortedError(record: ReadinessRecord, signal: AbortSignal): DoomReadinessError {\n return new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.waitAborted,\n `Waiting for Doom package '${record.packageId}' readiness was aborted.`,\n { packageId: record.packageId, generation: record.generation, cause: signal.reason },\n );\n}\n\nfunction waitForTerminal(record: ReadinessRecord, signal: AbortSignal | undefined): Promise<void> {\n if (signal === undefined) return record.terminal;\n if (signal.aborted) return Promise.reject(waitAbortedError(record, signal));\n\n return new Promise<void>((resolve, reject) => {\n const onAbort = (): void => {\n reject(waitAbortedError(record, signal));\n };\n signal.addEventListener('abort', onAbort, { once: true });\n void record.terminal.then(() => {\n signal.removeEventListener('abort', onAbort);\n resolve();\n });\n });\n}\n\n/** Creates the session-scoped coordinator value published through Cordis. */\nexport function createDoomReadinessCoordinator(\n options: DoomReadinessCoordinatorOptions = {},\n): DoomReadinessCoordinator {\n const records = new Map<string, ReadinessRecord>();\n let disposed = false;\n let disposal: Promise<void> | undefined;\n\n const current = (record: ReadinessRecord): boolean =>\n !disposed && records.get(record.packageId)?.token === record.token && record.state === 'pending';\n\n const notify = (record: ReadinessRecord): void => {\n if (record.notified || (record.state !== 'degraded' && record.state !== 'failed')) return;\n record.notified = true;\n const notification = Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n if (options.notify) void Promise.resolve(options.notify(notification)).catch(rethrowAsync);\n };\n\n const finish = (\n record: ReadinessRecord,\n state: Exclude<DoomReadinessState, 'pending'>,\n input: {\n readonly value?: unknown;\n readonly hasValue?: boolean;\n readonly diagnostics?: readonly string[];\n readonly error?: DoomReadinessError;\n } = {},\n ): void => {\n if (!current(record)) return;\n record.state = state;\n record.value = input.value;\n record.hasValue = input.hasValue ?? false;\n record.diagnostics = input.diagnostics ?? Object.freeze([]);\n record.error = input.error;\n record.resolveTerminal();\n notify(record);\n };\n\n const handleFor = <TValue>(record: ReadinessRecord): DoomReadinessHandle<TValue> =>\n Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n snapshot: () => recordSnapshot(record),\n wait: async (waitOptions: DoomReadinessWaitOptions = {}): Promise<TValue> => {\n await waitForTerminal(record, waitOptions.signal);\n if (record.state === 'ready' || record.state === 'degraded') {\n if (!record.hasValue) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${record.packageId}' readiness completed without a value.`,\n { packageId: record.packageId, generation: record.generation },\n );\n }\n return record.value as TValue;\n }\n if (record.error) throw record.error;\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${record.packageId}' readiness did not complete.`,\n { packageId: record.packageId, generation: record.generation },\n );\n },\n });\n\n return Object.freeze({\n start<TValue>(packageId: string, generation: string, task: DoomReadinessTask<TValue>): DoomReadinessHandle<TValue> {\n if (disposed) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.disposed,\n 'The Doom readiness coordinator has been disposed.',\n { packageId, generation },\n );\n }\n if (typeof packageId !== 'string' || packageId.trim().length === 0) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.invalidArgument,\n 'Doom readiness requires a non-empty package id.',\n { packageId, generation },\n );\n }\n if (typeof generation !== 'string' || generation.trim().length === 0) {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.invalidArgument,\n 'Doom readiness requires a non-empty generation.',\n { packageId, generation },\n );\n }\n if (typeof task !== 'function') {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.invalidArgument,\n 'Doom readiness requires an initialization task.',\n { packageId, generation },\n );\n }\n\n const previous = records.get(packageId);\n if (previous?.state === 'pending') {\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.duplicate,\n `Doom package '${packageId}' already has live readiness work.`,\n { packageId, generation },\n );\n }\n\n const terminal = createTerminal();\n const controller = new AbortController();\n const record: ReadinessRecord = {\n token: Symbol(packageId),\n packageId,\n generation,\n controller,\n terminal: terminal.promise,\n resolveTerminal: terminal.resolve,\n operation: Promise.resolve(),\n state: 'pending',\n diagnostics: Object.freeze([]),\n hasValue: false,\n notified: false,\n };\n records.set(packageId, record);\n\n const operation = Promise.resolve().then(() => {\n if (controller.signal.aborted) throw controller.signal.reason;\n return task(controller.signal);\n });\n record.operation = operation;\n void operation\n .then(\n (result) => {\n if (!current(record)) return;\n if (result === null || typeof result !== 'object' || !Object.hasOwn(result, 'value')) {\n finish(record, 'failed', {\n error: new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation },\n ),\n });\n return;\n }\n try {\n const diagnostics = frozenDiagnostics(result.diagnostics);\n finish(record, diagnostics.length === 0 ? 'ready' : 'degraded', {\n value: result.value,\n hasValue: true,\n diagnostics,\n });\n } catch (error) {\n finish(record, 'failed', {\n error: new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation, cause: error },\n ),\n });\n }\n },\n (error: unknown) => {\n finish(record, 'failed', {\n error: new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.failed,\n `Doom package '${packageId}' readiness failed: ${error instanceof Error ? error.message : String(error)}`,\n { packageId, generation, cause: error },\n ),\n });\n },\n )\n .catch(rethrowAsync);\n\n return handleFor<TValue>(record);\n },\n\n read(packageId: string): DoomReadinessSnapshot | undefined {\n const record = records.get(packageId);\n return record === undefined ? undefined : recordSnapshot(record);\n },\n\n snapshots(): readonly DoomReadinessSnapshot[] {\n return Object.freeze([...records.values()].map(recordSnapshot));\n },\n\n dispose(): Promise<void> {\n if (disposal) return disposal;\n disposed = true;\n const operations = [...records.values()].map((record) => {\n if (record.state === 'pending') {\n const error = new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.cancelled,\n `Doom package '${record.packageId}' readiness was cancelled.`,\n { packageId: record.packageId, generation: record.generation },\n );\n record.state = 'cancelled';\n record.error = error;\n record.resolveTerminal();\n record.controller.abort(error);\n }\n return record.operation;\n });\n disposal = Promise.allSettled(operations).then(() => undefined);\n return disposal;\n },\n });\n}\n\n/** Reads the coordinator visible to the current Cordis plugin context. */\nexport function readDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator | undefined {\n return ctx.get(DOOM_READINESS_SERVICE) as DoomReadinessCoordinator | undefined;\n}\n\n/** Reads the coordinator or reports that Config has not published session readiness. */\nexport function requireDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator {\n const coordinator = readDoomReadinessCoordinator(ctx);\n if (coordinator) return coordinator;\n throw new DoomReadinessError(\n DOOM_READINESS_ERROR_CODE.unavailable,\n 'Doom readiness is unavailable. Load the Po Config core.',\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"readiness.mjs","names":[],"sources":["../../../src/schemas/readiness.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n\n/** Cordis service name for session-scoped package initialization. */\nexport const PO_READINESS_SERVICE = 'po/readiness';\n\n/** Stable machine-readable failures produced by the readiness contract. */\nexport const PO_READINESS_ERROR_CODE = {\n cancelled: 'PO_READINESS_CANCELLED',\n disposed: 'PO_READINESS_DISPOSED',\n duplicate: 'PO_READINESS_DUPLICATE',\n failed: 'PO_READINESS_FAILED',\n invalidArgument: 'PO_READINESS_INVALID_ARGUMENT',\n unavailable: 'PO_READINESS_UNAVAILABLE',\n waitAborted: 'PO_READINESS_WAIT_ABORTED',\n} as const;\n\nexport type PoReadinessErrorCode = (typeof PO_READINESS_ERROR_CODE)[keyof typeof PO_READINESS_ERROR_CODE];\nexport type PoReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled';\n\nexport interface PoReadinessErrorDetail {\n readonly code: PoReadinessErrorCode;\n readonly message: string;\n}\n\n/** Immutable public state for the latest generation of one package. */\nexport interface PoReadinessSnapshot {\n readonly packageId: string;\n readonly generation: string;\n readonly state: PoReadinessState;\n readonly diagnostics: readonly string[];\n readonly error?: PoReadinessErrorDetail;\n}\n\nexport interface PoReadinessTaskResult<TValue> {\n readonly value: TValue;\n readonly diagnostics?: readonly string[];\n}\n\nexport type PoReadinessTask<TValue> = (signal: AbortSignal) => Promise<PoReadinessTaskResult<TValue>>;\n\nexport interface PoReadinessWaitOptions {\n readonly signal?: AbortSignal;\n}\n\nexport interface PoReadinessHandle<TValue> {\n readonly packageId: string;\n readonly generation: string;\n /** Waits for this package only. Degraded initialization still returns its value. */\n wait(options?: PoReadinessWaitOptions): Promise<TValue>;\n /** Reads this handle's generation, even after a newer generation replaces it. */\n snapshot(): PoReadinessSnapshot;\n}\n\nexport interface PoReadinessNotification {\n readonly packageId: string;\n readonly generation: string;\n readonly state: 'degraded' | 'failed';\n readonly diagnostics: readonly string[];\n readonly error?: PoReadinessErrorDetail;\n}\n\nexport interface PoReadinessCoordinatorOptions {\n /** Called once when a task becomes degraded or failed. */\n readonly notify?: (notification: PoReadinessNotification) => void | Promise<void>;\n}\n\nexport interface PoReadinessCoordinator {\n start<TValue>(packageId: string, generation: string, task: PoReadinessTask<TValue>): PoReadinessHandle<TValue>;\n /** Reads the latest generation registered for a package. */\n read(packageId: string): PoReadinessSnapshot | undefined;\n /** Reads the latest generation of every registered package. */\n snapshots(): readonly PoReadinessSnapshot[];\n /** Aborts pending work and waits for every started task to settle. */\n dispose(): Promise<void>;\n}\n\ninterface ReadinessRecord {\n readonly token: symbol;\n readonly packageId: string;\n readonly generation: string;\n readonly controller: AbortController;\n readonly terminal: Promise<void>;\n readonly resolveTerminal: () => void;\n operation: Promise<unknown>;\n state: PoReadinessState;\n diagnostics: readonly string[];\n error?: PoReadinessError;\n value?: unknown;\n hasValue: boolean;\n notified: boolean;\n}\n\nexport interface PoReadinessErrorOptions {\n readonly packageId?: string;\n readonly generation?: string;\n readonly cause?: unknown;\n}\n\n/** Error returned to package callers without exposing task-specific rejection shapes. */\nexport class PoReadinessError extends Error {\n readonly code: PoReadinessErrorCode;\n readonly packageId?: string;\n readonly generation?: string;\n\n constructor(code: PoReadinessErrorCode, message: string, input: PoReadinessErrorOptions = {}) {\n super(message, input.cause === undefined ? undefined : { cause: input.cause });\n this.name = 'PoReadinessError';\n this.code = code;\n this.packageId = input.packageId;\n this.generation = input.generation;\n }\n}\n\nfunction createTerminal(): { readonly promise: Promise<void>; readonly resolve: () => void } {\n let resolve = (): void => undefined;\n const promise = new Promise<void>((settle) => {\n resolve = settle;\n });\n return { promise, resolve };\n}\n\nfunction frozenDiagnostics(diagnostics: readonly string[] | undefined): readonly string[] {\n if (diagnostics === undefined) return Object.freeze([]);\n if (!Array.isArray(diagnostics) || diagnostics.some((diagnostic) => typeof diagnostic !== 'string')) {\n throw new TypeError('Po readiness task diagnostics must be an array of strings.');\n }\n return Object.freeze([...diagnostics]);\n}\n\nfunction errorDetail(error: PoReadinessError | undefined): PoReadinessErrorDetail | undefined {\n return error === undefined ? undefined : Object.freeze({ code: error.code, message: error.message });\n}\n\nfunction recordSnapshot(record: ReadinessRecord): PoReadinessSnapshot {\n return Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n}\n\nfunction rethrowAsync(error: unknown): void {\n queueMicrotask(() => {\n throw error instanceof Error ? error : new Error(String(error));\n });\n}\n\nfunction waitAbortedError(record: ReadinessRecord, signal: AbortSignal): PoReadinessError {\n return new PoReadinessError(\n PO_READINESS_ERROR_CODE.waitAborted,\n `Waiting for Po package '${record.packageId}' readiness was aborted.`,\n { packageId: record.packageId, generation: record.generation, cause: signal.reason },\n );\n}\n\nfunction waitForTerminal(record: ReadinessRecord, signal: AbortSignal | undefined): Promise<void> {\n if (signal === undefined) return record.terminal;\n if (signal.aborted) return Promise.reject(waitAbortedError(record, signal));\n\n return new Promise<void>((resolve, reject) => {\n const onAbort = (): void => {\n reject(waitAbortedError(record, signal));\n };\n signal.addEventListener('abort', onAbort, { once: true });\n void record.terminal.then(() => {\n signal.removeEventListener('abort', onAbort);\n resolve();\n });\n });\n}\n\n/** Creates the session-scoped coordinator value published through Cordis. */\nexport function createPoReadinessCoordinator(options: PoReadinessCoordinatorOptions = {}): PoReadinessCoordinator {\n const records = new Map<string, ReadinessRecord>();\n let disposed = false;\n let disposal: Promise<void> | undefined;\n\n const current = (record: ReadinessRecord): boolean =>\n !disposed && records.get(record.packageId)?.token === record.token && record.state === 'pending';\n\n const notify = (record: ReadinessRecord): void => {\n if (record.notified || (record.state !== 'degraded' && record.state !== 'failed')) return;\n record.notified = true;\n const notification = Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n state: record.state,\n diagnostics: record.diagnostics,\n ...(record.error === undefined ? {} : { error: errorDetail(record.error) }),\n });\n if (options.notify) void Promise.resolve(options.notify(notification)).catch(rethrowAsync);\n };\n\n const finish = (\n record: ReadinessRecord,\n state: Exclude<PoReadinessState, 'pending'>,\n input: {\n readonly value?: unknown;\n readonly hasValue?: boolean;\n readonly diagnostics?: readonly string[];\n readonly error?: PoReadinessError;\n } = {},\n ): void => {\n if (!current(record)) return;\n record.state = state;\n record.value = input.value;\n record.hasValue = input.hasValue ?? false;\n record.diagnostics = input.diagnostics ?? Object.freeze([]);\n record.error = input.error;\n record.resolveTerminal();\n notify(record);\n };\n\n const handleFor = <TValue>(record: ReadinessRecord): PoReadinessHandle<TValue> =>\n Object.freeze({\n packageId: record.packageId,\n generation: record.generation,\n snapshot: () => recordSnapshot(record),\n wait: async (waitOptions: PoReadinessWaitOptions = {}): Promise<TValue> => {\n await waitForTerminal(record, waitOptions.signal);\n if (record.state === 'ready' || record.state === 'degraded') {\n if (!record.hasValue) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${record.packageId}' readiness completed without a value.`,\n { packageId: record.packageId, generation: record.generation },\n );\n }\n return record.value as TValue;\n }\n if (record.error) throw record.error;\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${record.packageId}' readiness did not complete.`,\n { packageId: record.packageId, generation: record.generation },\n );\n },\n });\n\n return Object.freeze({\n start<TValue>(packageId: string, generation: string, task: PoReadinessTask<TValue>): PoReadinessHandle<TValue> {\n if (disposed) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.disposed,\n 'The Po readiness coordinator has been disposed.',\n { packageId, generation },\n );\n }\n if (typeof packageId !== 'string' || packageId.trim().length === 0) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.invalidArgument,\n 'Po readiness requires a non-empty package id.',\n { packageId, generation },\n );\n }\n if (typeof generation !== 'string' || generation.trim().length === 0) {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.invalidArgument,\n 'Po readiness requires a non-empty generation.',\n { packageId, generation },\n );\n }\n if (typeof task !== 'function') {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.invalidArgument,\n 'Po readiness requires an initialization task.',\n { packageId, generation },\n );\n }\n\n const previous = records.get(packageId);\n if (previous?.state === 'pending') {\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.duplicate,\n `Po package '${packageId}' already has live readiness work.`,\n { packageId, generation },\n );\n }\n\n const terminal = createTerminal();\n const controller = new AbortController();\n const record: ReadinessRecord = {\n token: Symbol(packageId),\n packageId,\n generation,\n controller,\n terminal: terminal.promise,\n resolveTerminal: terminal.resolve,\n operation: Promise.resolve(),\n state: 'pending',\n diagnostics: Object.freeze([]),\n hasValue: false,\n notified: false,\n };\n records.set(packageId, record);\n\n const operation = Promise.resolve().then(() => {\n if (controller.signal.aborted) throw controller.signal.reason;\n return task(controller.signal);\n });\n record.operation = operation;\n void operation\n .then(\n (result) => {\n if (!current(record)) return;\n if (result === null || typeof result !== 'object' || !Object.hasOwn(result, 'value')) {\n finish(record, 'failed', {\n error: new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation },\n ),\n });\n return;\n }\n try {\n const diagnostics = frozenDiagnostics(result.diagnostics);\n finish(record, diagnostics.length === 0 ? 'ready' : 'degraded', {\n value: result.value,\n hasValue: true,\n diagnostics,\n });\n } catch (error) {\n finish(record, 'failed', {\n error: new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${packageId}' returned an invalid readiness result.`,\n { packageId, generation, cause: error },\n ),\n });\n }\n },\n (error: unknown) => {\n finish(record, 'failed', {\n error: new PoReadinessError(\n PO_READINESS_ERROR_CODE.failed,\n `Po package '${packageId}' readiness failed: ${error instanceof Error ? error.message : String(error)}`,\n { packageId, generation, cause: error },\n ),\n });\n },\n )\n .catch(rethrowAsync);\n\n return handleFor<TValue>(record);\n },\n\n read(packageId: string): PoReadinessSnapshot | undefined {\n const record = records.get(packageId);\n return record === undefined ? undefined : recordSnapshot(record);\n },\n\n snapshots(): readonly PoReadinessSnapshot[] {\n return Object.freeze([...records.values()].map(recordSnapshot));\n },\n\n dispose(): Promise<void> {\n if (disposal) return disposal;\n disposed = true;\n const operations = [...records.values()].map((record) => {\n if (record.state === 'pending') {\n const error = new PoReadinessError(\n PO_READINESS_ERROR_CODE.cancelled,\n `Po package '${record.packageId}' readiness was cancelled.`,\n { packageId: record.packageId, generation: record.generation },\n );\n record.state = 'cancelled';\n record.error = error;\n record.resolveTerminal();\n record.controller.abort(error);\n }\n return record.operation;\n });\n disposal = Promise.allSettled(operations).then(() => undefined);\n return disposal;\n },\n });\n}\n\n/** Reads the coordinator visible to the current Cordis plugin context. */\nexport function readPoReadinessCoordinator(ctx: Context): PoReadinessCoordinator | undefined {\n return ctx.get(PO_READINESS_SERVICE) as PoReadinessCoordinator | undefined;\n}\n\n/** Reads the coordinator or reports that Config has not published session readiness. */\nexport function requirePoReadinessCoordinator(ctx: Context): PoReadinessCoordinator {\n const coordinator = readPoReadinessCoordinator(ctx);\n if (coordinator) return coordinator;\n throw new PoReadinessError(\n PO_READINESS_ERROR_CODE.unavailable,\n 'Po readiness is unavailable. Load the Po Config core.',\n );\n}\n"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import { DoomApiScope } from "./packageApi.mjs";
1
+ import { PoApiScope } from "./packageApi.mjs";
2
2
  //#region src/schemas/serverBundle.d.ts
3
3
  /** Every occurrence that can activate a package in this repository. */
4
- export interface DoomServerBundleOwner {
4
+ export interface PoServerBundleOwner {
5
5
  readonly majorMode: string;
6
6
  readonly layer: string;
7
7
  }
8
- export interface DoomServerBundleEntry {
8
+ export interface PoServerBundleEntry {
9
9
  readonly packageName: string;
10
10
  /** The declared package-relative source entry, retained for attribution. */
11
11
  readonly entry: string;
12
12
  /** Absolute path of the package's built module; the live loader imports it from its content URL. */
13
13
  readonly module: string;
14
- readonly scopes: readonly DoomApiScope[];
15
- readonly owners: readonly DoomServerBundleOwner[];
14
+ readonly scopes: readonly PoApiScope[];
15
+ readonly owners: readonly PoServerBundleOwner[];
16
16
  readonly required: boolean;
17
17
  }
18
18
  //#endregion
@@ -0,0 +1,103 @@
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
+ exports.PO_SERVER_HOST_SERVICE = PO_SERVER_HOST_SERVICE;
94
+ exports.PO_SERVER_MANIFEST_FIELD = PO_SERVER_MANIFEST_FIELD;
95
+ exports.PoServerManifestError = PoServerManifestError;
96
+ exports.composeServerProviderOverrides = composeServerProviderOverrides;
97
+ exports.declaredServerPackagesOf = declaredServerPackagesOf;
98
+ exports.defineServerMethod = defineServerMethod;
99
+ exports.orderServerPackages = orderServerPackages;
100
+ exports.readPoServerHost = readPoServerHost;
101
+ exports.requirePoServerHost = requirePoServerHost;
102
+
103
+ //# sourceMappingURL=serverPlugin.cjs.map