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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1149) hide show
  1. package/LICENSE +149 -21
  2. package/NOTICE +41 -0
  3. package/dist/agentModel.cjs +1 -1
  4. package/dist/agentModel.d.mts +2 -2
  5. package/dist/agentModel.mjs +1 -2
  6. package/dist/apiContracts.cjs +623 -802
  7. package/dist/apiContracts.cjs.map +1 -1
  8. package/dist/apiContracts.d.mts +277 -615
  9. package/dist/apiContracts.d.mts.map +1 -1
  10. package/dist/apiContracts.mjs +617 -794
  11. package/dist/apiContracts.mjs.map +1 -1
  12. package/dist/askUser.cjs +2 -2
  13. package/dist/askUser.d.mts +2 -2
  14. package/dist/askUser.mjs +1 -2
  15. package/dist/authorTools.mjs +1 -2
  16. package/dist/backgroundWork.cjs +3 -3
  17. package/dist/backgroundWork.d.mts +2 -2
  18. package/dist/backgroundWork.mjs +1 -2
  19. package/dist/bundleAssetPolicy.mjs +1 -2
  20. package/dist/chatgptAuth.cjs +3 -2
  21. package/dist/chatgptAuth.d.mts +3 -2
  22. package/dist/chatgptAuth.mjs +2 -1
  23. package/dist/childProcess.cjs +1 -1
  24. package/dist/childProcess.d.mts +2 -2
  25. package/dist/childProcess.mjs +1 -2
  26. package/dist/childSession.cjs +11 -6
  27. package/dist/childSession.d.mts +3 -3
  28. package/dist/childSession.mjs +3 -3
  29. package/dist/cockpitContainer.mjs +1 -2
  30. package/dist/config.cjs +1 -1
  31. package/dist/config.d.mts +3 -3
  32. package/dist/config.mjs +1 -2
  33. package/dist/contextApi.cjs +1 -0
  34. package/dist/contextApi.d.mts +2 -2
  35. package/dist/contextApi.mjs +2 -2
  36. package/dist/contextContributions.cjs +4 -4
  37. package/dist/contextContributions.d.mts +3 -3
  38. package/dist/contextContributions.mjs +3 -3
  39. package/dist/contextDetailStore.cjs +7 -5
  40. package/dist/contextDetailStore.cjs.map +1 -1
  41. package/dist/contextDetailStore.d.mts +2 -1
  42. package/dist/contextDetailStore.d.mts.map +1 -1
  43. package/dist/contextDetailStore.mjs +6 -4
  44. package/dist/contextDetailStore.mjs.map +1 -1
  45. package/dist/contextProjection.cjs +7 -2
  46. package/dist/contextProjection.cjs.map +1 -1
  47. package/dist/contextProjection.d.mts +4 -1
  48. package/dist/contextProjection.d.mts.map +1 -1
  49. package/dist/contextProjection.mjs +5 -2
  50. package/dist/contextProjection.mjs.map +1 -1
  51. package/dist/cordisHost.cjs +11 -11
  52. package/dist/cordisHost.d.mts +2 -2
  53. package/dist/cordisHost.mjs +1 -2
  54. package/dist/delegation.cjs +8 -8
  55. package/dist/delegation.d.mts +2 -2
  56. package/dist/delegation.mjs +1 -2
  57. package/dist/executionBudget.cjs +4 -3
  58. package/dist/executionBudget.cjs.map +1 -1
  59. package/dist/executionBudget.d.mts +2 -2
  60. package/dist/executionBudget.d.mts.map +1 -1
  61. package/dist/executionBudget.mjs +4 -3
  62. package/dist/executionBudget.mjs.map +1 -1
  63. package/dist/extensionFile.cjs +5 -0
  64. package/dist/extensionFile.d.mts +4 -2
  65. package/dist/extensionFile.mjs +4 -2
  66. package/dist/footer.d.mts +2 -2
  67. package/dist/footer.mjs +1 -2
  68. package/dist/headless.cjs +14 -14
  69. package/dist/headless.d.mts +2 -2
  70. package/dist/headless.mjs +1 -2
  71. package/dist/headlessHub.cjs +308 -109
  72. package/dist/headlessHub.cjs.map +1 -1
  73. package/dist/headlessHub.d.mts +71 -36
  74. package/dist/headlessHub.d.mts.map +1 -1
  75. package/dist/headlessHub.mjs +309 -110
  76. package/dist/headlessHub.mjs.map +1 -1
  77. package/dist/headlessProtocol.cjs +327 -0
  78. package/dist/headlessProtocol.cjs.map +1 -0
  79. package/dist/headlessProtocol.d.mts +30 -0
  80. package/dist/headlessProtocol.d.mts.map +1 -0
  81. package/dist/headlessProtocol.mjs +326 -0
  82. package/dist/headlessProtocol.mjs.map +1 -0
  83. package/dist/headlessServer.cjs +166 -151
  84. package/dist/headlessServer.cjs.map +1 -1
  85. package/dist/headlessServer.d.mts +13 -5
  86. package/dist/headlessServer.d.mts.map +1 -1
  87. package/dist/headlessServer.mjs +166 -151
  88. package/dist/headlessServer.mjs.map +1 -1
  89. package/dist/headlessSessionHost.d.mts +58 -21
  90. package/dist/headlessSessionHost.d.mts.map +1 -1
  91. package/dist/help.cjs +20 -20
  92. package/dist/help.d.mts +2 -2
  93. package/dist/help.mjs +2 -2
  94. package/dist/history.cjs +16 -20
  95. package/dist/history.d.mts +9 -7
  96. package/dist/history.mjs +6 -7
  97. package/dist/historyOwnership.cjs.map +1 -1
  98. package/dist/historyOwnership.d.mts +1 -1
  99. package/dist/historyOwnership.mjs.map +1 -1
  100. package/dist/hubChannel.cjs +9 -0
  101. package/dist/hubChannel.d.mts +3 -2
  102. package/dist/hubChannel.mjs +3 -2
  103. package/dist/index.cjs +26 -28
  104. package/dist/index.d.mts +6 -6
  105. package/dist/index.mjs +6 -6
  106. package/dist/interop/chord.mjs +1 -0
  107. package/dist/interop/chordContext.mjs +1 -0
  108. package/dist/json.cjs +11 -5
  109. package/dist/json.d.mts +4 -2
  110. package/dist/json.mjs +4 -2
  111. package/dist/kernel.cjs +1 -1
  112. package/dist/kernel.d.mts +3 -3
  113. package/dist/kernel.mjs +1 -2
  114. package/dist/leader.d.mts +2 -2
  115. package/dist/leader.mjs +1 -2
  116. package/dist/logSinkTelemetry.mjs +1 -2
  117. package/dist/machineApi.cjs +80 -74
  118. package/dist/machineApi.cjs.map +1 -1
  119. package/dist/machineApi.d.mts +5 -2
  120. package/dist/machineApi.d.mts.map +1 -1
  121. package/dist/machineApi.mjs +78 -71
  122. package/dist/machineApi.mjs.map +1 -1
  123. package/dist/main.cjs +2 -1
  124. package/dist/main.d.mts +2 -1
  125. package/dist/main.mjs +2 -1
  126. package/dist/mcpFacet.d.mts +3 -3
  127. package/dist/mcpProjection.cjs +13 -13
  128. package/dist/mcpProjection.d.mts +2 -2
  129. package/dist/mcpProjection.mjs +1 -2
  130. package/dist/mcpSchemaCost.cjs +4 -4
  131. package/dist/mcpSchemaCost.cjs.map +1 -1
  132. package/dist/mcpSchemaCost.d.mts +2 -2
  133. package/dist/mcpSchemaCost.mjs +4 -4
  134. package/dist/mcpSchemaCost.mjs.map +1 -1
  135. package/dist/mcpSession.cjs +7 -7
  136. package/dist/mcpSession.d.mts +2 -2
  137. package/dist/mcpSession.mjs +1 -2
  138. package/dist/mcpStatus.cjs +2 -2
  139. package/dist/mcpStatus.d.mts +2 -2
  140. package/dist/mcpStatus.mjs +1 -2
  141. package/dist/mcpToolResolver.cjs +3 -3
  142. package/dist/mcpToolResolver.d.mts +2 -2
  143. package/dist/mcpToolResolver.mjs +1 -2
  144. package/dist/mcpWidget.d.mts +2 -2
  145. package/dist/moduleResolution.cjs +43 -8
  146. package/dist/moduleResolution.cjs.map +1 -1
  147. package/dist/moduleResolution.d.mts +10 -1
  148. package/dist/moduleResolution.d.mts.map +1 -1
  149. package/dist/moduleResolution.mjs +40 -7
  150. package/dist/moduleResolution.mjs.map +1 -1
  151. package/dist/narration.cjs +3 -3
  152. package/dist/narration.d.mts +2 -2
  153. package/dist/narration.mjs +1 -2
  154. package/dist/native.cjs +9 -0
  155. package/dist/native.d.mts +4 -3
  156. package/dist/native.mjs +3 -2
  157. package/dist/nodePlatform.cjs +77 -0
  158. package/dist/nodePlatform.cjs.map +1 -0
  159. package/dist/nodePlatform.d.mts +17 -0
  160. package/dist/nodePlatform.d.mts.map +1 -0
  161. package/dist/nodePlatform.mjs +72 -0
  162. package/dist/nodePlatform.mjs.map +1 -0
  163. package/dist/notification.cjs +15 -15
  164. package/dist/notification.d.mts +2 -2
  165. package/dist/notification.mjs +1 -2
  166. package/dist/packageApi.cjs +11 -11
  167. package/dist/packageApi.d.mts +2 -2
  168. package/dist/packageApi.mjs +2 -2
  169. package/dist/packageApiServer.cjs +45 -27
  170. package/dist/packageApiServer.cjs.map +1 -1
  171. package/dist/packageApiServer.d.mts +36 -26
  172. package/dist/packageApiServer.d.mts.map +1 -1
  173. package/dist/packageApiServer.mjs +44 -26
  174. package/dist/packageApiServer.mjs.map +1 -1
  175. package/dist/piSettings.cjs +41 -20
  176. package/dist/piSettings.d.mts +4 -2
  177. package/dist/piSettings.mjs +4 -2
  178. package/dist/platform.cjs +62 -0
  179. package/dist/platform.d.mts +10 -0
  180. package/dist/platform.mjs +10 -0
  181. package/dist/pluginProtocol.cjs +7 -8
  182. package/dist/pluginProtocol.d.mts +2 -2
  183. package/dist/pluginProtocol.mjs +1 -2
  184. package/dist/poPackage.cjs +12 -0
  185. package/dist/poPackage.d.mts +3 -0
  186. package/dist/poPackage.mjs +3 -0
  187. package/dist/profileIdentity.cjs +1 -1
  188. package/dist/profileIdentity.d.mts +2 -2
  189. package/dist/profileIdentity.mjs +1 -2
  190. package/dist/protocol.cjs +3 -3
  191. package/dist/protocol.d.mts +2 -2
  192. package/dist/protocol.mjs +1 -2
  193. package/dist/readiness.cjs +6 -6
  194. package/dist/readiness.d.mts +2 -2
  195. package/dist/readiness.mjs +1 -2
  196. package/dist/remoteApi.cjs.map +1 -1
  197. package/dist/remoteApi.d.mts +2 -2
  198. package/dist/remoteApi.mjs.map +1 -1
  199. package/dist/remoteRuntime.cjs +42 -65
  200. package/dist/remoteRuntime.cjs.map +1 -1
  201. package/dist/remoteRuntime.d.mts +3 -2
  202. package/dist/remoteRuntime.d.mts.map +1 -1
  203. package/dist/remoteRuntime.mjs +41 -62
  204. package/dist/remoteRuntime.mjs.map +1 -1
  205. package/dist/runtimeConfig.cjs +4 -4
  206. package/dist/runtimeConfig.cjs.map +1 -1
  207. package/dist/runtimeConfig.d.mts +10 -9
  208. package/dist/runtimeConfig.d.mts.map +1 -1
  209. package/dist/runtimeConfig.mjs +4 -4
  210. package/dist/runtimeConfig.mjs.map +1 -1
  211. package/dist/runtimeContextApi.cjs +10 -3
  212. package/dist/runtimeContextApi.cjs.map +1 -1
  213. package/dist/runtimeContextApi.d.mts +3 -3
  214. package/dist/runtimeContextApi.d.mts.map +1 -1
  215. package/dist/runtimeContextApi.mjs +10 -3
  216. package/dist/runtimeContextApi.mjs.map +1 -1
  217. package/dist/runtimeCordisHost.cjs +46 -46
  218. package/dist/runtimeCordisHost.cjs.map +1 -1
  219. package/dist/runtimeCordisHost.d.mts +29 -28
  220. package/dist/runtimeCordisHost.d.mts.map +1 -1
  221. package/dist/runtimeCordisHost.mjs +42 -42
  222. package/dist/runtimeCordisHost.mjs.map +1 -1
  223. package/dist/runtimeIdentity.cjs +6 -9
  224. package/dist/runtimeIdentity.cjs.map +1 -1
  225. package/dist/runtimeIdentity.d.mts +5 -1
  226. package/dist/runtimeIdentity.d.mts.map +1 -1
  227. package/dist/runtimeIdentity.mjs +5 -8
  228. package/dist/runtimeIdentity.mjs.map +1 -1
  229. package/dist/runtimeJson.cjs +10 -45
  230. package/dist/runtimeJson.d.mts +3 -22
  231. package/dist/runtimeJson.mjs +3 -39
  232. package/dist/runtimeLogSinkTelemetry.cjs +19 -19
  233. package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
  234. package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
  235. package/dist/runtimeLogSinkTelemetry.mjs +19 -19
  236. package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
  237. package/dist/runtimePackages.cjs +7 -2
  238. package/dist/runtimePackages.cjs.map +1 -1
  239. package/dist/runtimePackages.d.mts +4 -1
  240. package/dist/runtimePackages.d.mts.map +1 -1
  241. package/dist/runtimePackages.mjs +7 -2
  242. package/dist/runtimePackages.mjs.map +1 -1
  243. package/dist/runtimePiSettings.cjs +40 -263
  244. package/dist/runtimePiSettings.d.mts +3 -72
  245. package/dist/runtimePiSettings.mjs +3 -241
  246. package/dist/runtimeProtocol.cjs +19 -19
  247. package/dist/runtimeProtocol.cjs.map +1 -1
  248. package/dist/runtimeProtocol.d.mts +7 -7
  249. package/dist/runtimeProtocol.d.mts.map +1 -1
  250. package/dist/runtimeProtocol.mjs +17 -17
  251. package/dist/runtimeProtocol.mjs.map +1 -1
  252. package/dist/runtimeTransition.cjs +9 -9
  253. package/dist/runtimeTransition.cjs.map +1 -1
  254. package/dist/runtimeTransition.d.mts +10 -10
  255. package/dist/runtimeTransition.d.mts.map +1 -1
  256. package/dist/runtimeTransition.mjs +7 -7
  257. package/dist/runtimeTransition.mjs.map +1 -1
  258. package/dist/sandboxHarness.mjs +1 -2
  259. package/dist/server.cjs +3 -7
  260. package/dist/server.d.mts +6 -6
  261. package/dist/server.mjs +3 -4
  262. package/dist/serverPlugin.cjs +39 -0
  263. package/dist/serverPlugin.d.mts +12 -0
  264. package/dist/serverPlugin.mjs +11 -0
  265. package/dist/serverTelemetry.cjs +1 -1
  266. package/dist/serverTelemetry.cjs.map +1 -1
  267. package/dist/serverTelemetry.d.mts +2 -2
  268. package/dist/serverTelemetry.mjs +2 -2
  269. package/dist/serverTelemetry.mjs.map +1 -1
  270. package/dist/sessionFilesApi.cjs +41 -37
  271. package/dist/sessionFilesApi.cjs.map +1 -1
  272. package/dist/sessionFilesApi.d.mts +6 -3
  273. package/dist/sessionFilesApi.d.mts.map +1 -1
  274. package/dist/sessionFilesApi.mjs +41 -36
  275. package/dist/sessionFilesApi.mjs.map +1 -1
  276. package/dist/sessionProtocol.cjs +31 -6
  277. package/dist/sessionProtocol.d.mts +8 -3
  278. package/dist/sessionProtocol.mjs +8 -2
  279. package/dist/skills.cjs +5 -5
  280. package/dist/skills.d.mts +2 -2
  281. package/dist/skills.mjs +1 -2
  282. package/dist/sqliteSessionStorage.cjs +28 -50
  283. package/dist/sqliteSessionStorage.cjs.map +1 -1
  284. package/dist/sqliteSessionStorage.d.mts +13 -20
  285. package/dist/sqliteSessionStorage.d.mts.map +1 -1
  286. package/dist/sqliteSessionStorage.mjs +25 -48
  287. package/dist/sqliteSessionStorage.mjs.map +1 -1
  288. package/dist/src/constants/agentSettled.cjs +7 -0
  289. package/dist/src/constants/agentSettled.cjs.map +1 -0
  290. package/dist/src/constants/agentSettled.mjs +7 -0
  291. package/dist/src/constants/agentSettled.mjs.map +1 -0
  292. package/dist/src/constants/contextApi.cjs +3 -1
  293. package/dist/src/constants/contextApi.cjs.map +1 -1
  294. package/dist/src/constants/contextApi.d.mts +2 -1
  295. package/dist/src/constants/contextApi.d.mts.map +1 -1
  296. package/dist/src/constants/contextApi.mjs +3 -2
  297. package/dist/src/constants/contextApi.mjs.map +1 -1
  298. package/dist/src/constants/voiceTools.cjs +6 -6
  299. package/dist/src/constants/voiceTools.cjs.map +1 -1
  300. package/dist/src/constants/voiceTools.d.mts +3 -3
  301. package/dist/src/constants/voiceTools.mjs +4 -4
  302. package/dist/src/constants/voiceTools.mjs.map +1 -1
  303. package/dist/src/extensions/extensionFile.cjs +22 -5
  304. package/dist/src/extensions/extensionFile.cjs.map +1 -1
  305. package/dist/src/extensions/extensionFile.d.mts +17 -4
  306. package/dist/src/extensions/extensionFile.d.mts.map +1 -1
  307. package/dist/src/extensions/extensionFile.mjs +22 -6
  308. package/dist/src/extensions/extensionFile.mjs.map +1 -1
  309. package/dist/src/extensions/serverPlugin.cjs +231 -92
  310. package/dist/src/extensions/serverPlugin.cjs.map +1 -1
  311. package/dist/src/extensions/serverPlugin.d.mts +2 -2
  312. package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
  313. package/dist/src/extensions/serverPlugin.mjs +232 -93
  314. package/dist/src/extensions/serverPlugin.mjs.map +1 -1
  315. package/dist/src/pi/piSessionRuntime.cjs +349 -142
  316. package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
  317. package/dist/src/pi/piSessionRuntime.d.mts +18 -17
  318. package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
  319. package/dist/src/pi/piSessionRuntime.mjs +342 -135
  320. package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
  321. package/dist/src/schemas/agentModel.cjs +2 -2
  322. package/dist/src/schemas/agentModel.cjs.map +1 -1
  323. package/dist/src/schemas/agentModel.d.mts +1 -1
  324. package/dist/src/schemas/agentModel.mjs +2 -2
  325. package/dist/src/schemas/agentModel.mjs.map +1 -1
  326. package/dist/src/schemas/apiContracts.d.mts +2 -2
  327. package/dist/src/schemas/apiContracts.d.mts.map +1 -1
  328. package/dist/src/schemas/askUser.cjs +4 -4
  329. package/dist/src/schemas/askUser.cjs.map +1 -1
  330. package/dist/src/schemas/askUser.d.mts +4 -4
  331. package/dist/src/schemas/askUser.d.mts.map +1 -1
  332. package/dist/src/schemas/askUser.mjs +3 -3
  333. package/dist/src/schemas/askUser.mjs.map +1 -1
  334. package/dist/src/schemas/backgroundWork.cjs +10 -10
  335. package/dist/src/schemas/backgroundWork.cjs.map +1 -1
  336. package/dist/src/schemas/backgroundWork.d.mts +9 -9
  337. package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
  338. package/dist/src/schemas/backgroundWork.mjs +8 -8
  339. package/dist/src/schemas/backgroundWork.mjs.map +1 -1
  340. package/dist/src/schemas/childProcess.cjs +5 -5
  341. package/dist/src/schemas/childProcess.cjs.map +1 -1
  342. package/dist/src/schemas/childProcess.d.mts +2 -2
  343. package/dist/src/schemas/childProcess.mjs +5 -5
  344. package/dist/src/schemas/childProcess.mjs.map +1 -1
  345. package/dist/src/schemas/contextContributions.cjs +10 -10
  346. package/dist/src/schemas/contextContributions.cjs.map +1 -1
  347. package/dist/src/schemas/contextContributions.d.mts +16 -16
  348. package/dist/src/schemas/contextContributions.d.mts.map +1 -1
  349. package/dist/src/schemas/contextContributions.mjs +8 -8
  350. package/dist/src/schemas/contextContributions.mjs.map +1 -1
  351. package/dist/src/schemas/delegation.cjs +17 -17
  352. package/dist/src/schemas/delegation.cjs.map +1 -1
  353. package/dist/src/schemas/delegation.d.mts +16 -16
  354. package/dist/src/schemas/delegation.d.mts.map +1 -1
  355. package/dist/src/schemas/delegation.mjs +10 -10
  356. package/dist/src/schemas/delegation.mjs.map +1 -1
  357. package/dist/src/schemas/extensionFile.d.mts +23 -19
  358. package/dist/src/schemas/extensionFile.d.mts.map +1 -1
  359. package/dist/src/schemas/footer.cjs.map +1 -1
  360. package/dist/src/schemas/footer.d.mts +5 -5
  361. package/dist/src/schemas/footer.d.mts.map +1 -1
  362. package/dist/src/schemas/footer.mjs.map +1 -1
  363. package/dist/src/schemas/headless.cjs +37 -37
  364. package/dist/src/schemas/headless.cjs.map +1 -1
  365. package/dist/src/schemas/headless.d.mts +100 -101
  366. package/dist/src/schemas/headless.d.mts.map +1 -1
  367. package/dist/src/schemas/headless.mjs +24 -24
  368. package/dist/src/schemas/headless.mjs.map +1 -1
  369. package/dist/src/schemas/help.cjs +60 -60
  370. package/dist/src/schemas/help.cjs.map +1 -1
  371. package/dist/src/schemas/help.d.mts +43 -43
  372. package/dist/src/schemas/help.d.mts.map +1 -1
  373. package/dist/src/schemas/help.mjs +41 -41
  374. package/dist/src/schemas/help.mjs.map +1 -1
  375. package/dist/src/schemas/home.cjs +127 -0
  376. package/dist/src/schemas/home.cjs.map +1 -0
  377. package/dist/src/schemas/home.d.mts +63 -0
  378. package/dist/src/schemas/home.d.mts.map +1 -0
  379. package/dist/src/schemas/home.mjs +121 -0
  380. package/dist/src/schemas/home.mjs.map +1 -0
  381. package/dist/src/schemas/httpApiContracts.cjs +441 -0
  382. package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
  383. package/dist/src/schemas/httpApiContracts.d.mts +78 -0
  384. package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
  385. package/dist/src/schemas/httpApiContracts.mjs +434 -0
  386. package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
  387. package/dist/src/schemas/hubChannel.cjs +3 -0
  388. package/dist/src/schemas/hubChannel.cjs.map +1 -1
  389. package/dist/src/schemas/hubChannel.d.mts +84 -60
  390. package/dist/src/schemas/hubChannel.d.mts.map +1 -1
  391. package/dist/src/schemas/hubChannel.mjs +3 -1
  392. package/dist/src/schemas/hubChannel.mjs.map +1 -1
  393. package/dist/src/schemas/leader.cjs.map +1 -1
  394. package/dist/src/schemas/leader.d.mts +3 -3
  395. package/dist/src/schemas/leader.d.mts.map +1 -1
  396. package/dist/src/schemas/leader.mjs.map +1 -1
  397. package/dist/src/schemas/mcpBundle.d.mts +3 -3
  398. package/dist/src/schemas/mcpFacet.cjs.map +1 -1
  399. package/dist/src/schemas/mcpFacet.d.mts +22 -22
  400. package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
  401. package/dist/src/schemas/mcpFacet.mjs.map +1 -1
  402. package/dist/src/schemas/mcpProjection.cjs +41 -41
  403. package/dist/src/schemas/mcpProjection.cjs.map +1 -1
  404. package/dist/src/schemas/mcpProjection.d.mts +31 -30
  405. package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
  406. package/dist/src/schemas/mcpProjection.mjs +29 -29
  407. package/dist/src/schemas/mcpProjection.mjs.map +1 -1
  408. package/dist/src/schemas/mcpSession.cjs +23 -23
  409. package/dist/src/schemas/mcpSession.cjs.map +1 -1
  410. package/dist/src/schemas/mcpSession.d.mts +12 -12
  411. package/dist/src/schemas/mcpSession.d.mts.map +1 -1
  412. package/dist/src/schemas/mcpSession.mjs +18 -18
  413. package/dist/src/schemas/mcpSession.mjs.map +1 -1
  414. package/dist/src/schemas/mcpStatus.cjs +5 -5
  415. package/dist/src/schemas/mcpStatus.cjs.map +1 -1
  416. package/dist/src/schemas/mcpStatus.d.mts +4 -4
  417. package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
  418. package/dist/src/schemas/mcpStatus.mjs +4 -4
  419. package/dist/src/schemas/mcpStatus.mjs.map +1 -1
  420. package/dist/src/schemas/mcpToolResolver.cjs +9 -9
  421. package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
  422. package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
  423. package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
  424. package/dist/src/schemas/mcpToolResolver.mjs +7 -7
  425. package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
  426. package/dist/src/schemas/narration.cjs +9 -9
  427. package/dist/src/schemas/narration.cjs.map +1 -1
  428. package/dist/src/schemas/narration.d.mts +5 -5
  429. package/dist/src/schemas/narration.d.mts.map +1 -1
  430. package/dist/src/schemas/narration.mjs +7 -7
  431. package/dist/src/schemas/narration.mjs.map +1 -1
  432. package/dist/src/schemas/notification.cjs +45 -45
  433. package/dist/src/schemas/notification.cjs.map +1 -1
  434. package/dist/src/schemas/notification.d.mts +22 -22
  435. package/dist/src/schemas/notification.d.mts.map +1 -1
  436. package/dist/src/schemas/notification.mjs +31 -31
  437. package/dist/src/schemas/notification.mjs.map +1 -1
  438. package/dist/src/schemas/packageApi.cjs +28 -28
  439. package/dist/src/schemas/packageApi.cjs.map +1 -1
  440. package/dist/src/schemas/packageApi.d.mts +91 -65
  441. package/dist/src/schemas/packageApi.d.mts.map +1 -1
  442. package/dist/src/schemas/packageApi.mjs +18 -18
  443. package/dist/src/schemas/packageApi.mjs.map +1 -1
  444. package/dist/src/schemas/platform.cjs +34 -0
  445. package/dist/src/schemas/platform.cjs.map +1 -0
  446. package/dist/src/schemas/platform.d.mts +75 -0
  447. package/dist/src/schemas/platform.d.mts.map +1 -0
  448. package/dist/src/schemas/platform.mjs +27 -0
  449. package/dist/src/schemas/platform.mjs.map +1 -0
  450. package/dist/src/schemas/pluginContributions.cjs.map +1 -1
  451. package/dist/src/schemas/pluginContributions.d.mts +12 -12
  452. package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
  453. package/dist/src/schemas/pluginContributions.mjs.map +1 -1
  454. package/dist/src/schemas/pluginProtocol.cjs +24 -27
  455. package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
  456. package/dist/src/schemas/pluginProtocol.d.mts +21 -21
  457. package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
  458. package/dist/src/schemas/pluginProtocol.mjs +18 -20
  459. package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
  460. package/dist/src/schemas/profileIdentity.cjs +2 -2
  461. package/dist/src/schemas/profileIdentity.cjs.map +1 -1
  462. package/dist/src/schemas/profileIdentity.d.mts +1 -1
  463. package/dist/src/schemas/profileIdentity.mjs +2 -2
  464. package/dist/src/schemas/profileIdentity.mjs.map +1 -1
  465. package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
  466. package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
  467. package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
  468. package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
  469. package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
  470. package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
  471. package/dist/src/schemas/protocolContracts.cjs +168 -0
  472. package/dist/src/schemas/protocolContracts.cjs.map +1 -0
  473. package/dist/src/schemas/protocolContracts.d.mts +69 -0
  474. package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
  475. package/dist/src/schemas/protocolContracts.mjs +164 -0
  476. package/dist/src/schemas/protocolContracts.mjs.map +1 -0
  477. package/dist/src/schemas/protocolHubContract.cjs +51 -0
  478. package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
  479. package/dist/src/schemas/protocolHubContract.d.mts +218 -0
  480. package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
  481. package/dist/src/schemas/protocolHubContract.mjs +49 -0
  482. package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
  483. package/dist/src/schemas/protocolSessionContract.cjs +22 -0
  484. package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
  485. package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
  486. package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
  487. package/dist/src/schemas/protocolSessionContract.mjs +22 -0
  488. package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
  489. package/dist/src/schemas/protocolThreadContract.cjs +21 -0
  490. package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
  491. package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
  492. package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
  493. package/dist/src/schemas/protocolThreadContract.mjs +20 -0
  494. package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
  495. package/dist/src/schemas/readiness.cjs +36 -36
  496. package/dist/src/schemas/readiness.cjs.map +1 -1
  497. package/dist/src/schemas/readiness.d.mts +37 -37
  498. package/dist/src/schemas/readiness.d.mts.map +1 -1
  499. package/dist/src/schemas/readiness.mjs +31 -31
  500. package/dist/src/schemas/readiness.mjs.map +1 -1
  501. package/dist/src/schemas/serverBundle.d.mts +5 -5
  502. package/dist/src/schemas/serverPlugin.cjs +103 -0
  503. package/dist/src/schemas/serverPlugin.cjs.map +1 -0
  504. package/dist/src/schemas/serverPlugin.d.mts +176 -0
  505. package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
  506. package/dist/src/schemas/serverPlugin.mjs +95 -0
  507. package/dist/src/schemas/serverPlugin.mjs.map +1 -0
  508. package/dist/src/schemas/serverScope.cjs +37 -0
  509. package/dist/src/schemas/serverScope.cjs.map +1 -0
  510. package/dist/src/schemas/serverScope.d.mts +77 -0
  511. package/dist/src/schemas/serverScope.d.mts.map +1 -0
  512. package/dist/src/schemas/serverScope.mjs +33 -0
  513. package/dist/src/schemas/serverScope.mjs.map +1 -0
  514. package/dist/src/schemas/sessionApiContracts.cjs +320 -0
  515. package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
  516. package/dist/src/schemas/sessionApiContracts.mjs +318 -0
  517. package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
  518. package/dist/src/schemas/sessionProtocol.cjs +20 -13
  519. package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
  520. package/dist/src/schemas/sessionProtocol.d.mts +37 -54
  521. package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
  522. package/dist/src/schemas/sessionProtocol.mjs +17 -8
  523. package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
  524. package/dist/src/schemas/skills.cjs +16 -16
  525. package/dist/src/schemas/skills.cjs.map +1 -1
  526. package/dist/src/schemas/skills.d.mts +7 -7
  527. package/dist/src/schemas/skills.d.mts.map +1 -1
  528. package/dist/src/schemas/skills.mjs +12 -12
  529. package/dist/src/schemas/skills.mjs.map +1 -1
  530. package/dist/src/schemas/toolOverrides.cjs +9 -9
  531. package/dist/src/schemas/toolOverrides.cjs.map +1 -1
  532. package/dist/src/schemas/toolOverrides.d.mts +8 -8
  533. package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
  534. package/dist/src/schemas/toolOverrides.mjs +7 -7
  535. package/dist/src/schemas/toolOverrides.mjs.map +1 -1
  536. package/dist/src/schemas/toolSurface.cjs +9 -9
  537. package/dist/src/schemas/toolSurface.cjs.map +1 -1
  538. package/dist/src/schemas/toolSurface.d.mts +13 -13
  539. package/dist/src/schemas/toolSurface.d.mts.map +1 -1
  540. package/dist/src/schemas/toolSurface.mjs +7 -7
  541. package/dist/src/schemas/toolSurface.mjs.map +1 -1
  542. package/dist/src/schemas/uiHub.cjs +9 -9
  543. package/dist/src/schemas/uiHub.cjs.map +1 -1
  544. package/dist/src/schemas/uiHub.d.mts +12 -12
  545. package/dist/src/schemas/uiHub.d.mts.map +1 -1
  546. package/dist/src/schemas/uiHub.mjs +7 -7
  547. package/dist/src/schemas/uiHub.mjs.map +1 -1
  548. package/dist/src/server/directHarnessRuntime.cjs +691 -775
  549. package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
  550. package/dist/src/server/directHarnessRuntime.d.mts +5 -1
  551. package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
  552. package/dist/src/server/directHarnessRuntime.mjs +671 -754
  553. package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
  554. package/dist/src/server/largeFrameLink.cjs +47 -0
  555. package/dist/src/server/largeFrameLink.cjs.map +1 -0
  556. package/dist/src/server/largeFrameLink.mjs +47 -0
  557. package/dist/src/server/largeFrameLink.mjs.map +1 -0
  558. package/dist/src/server/liveImport.cjs +1 -1
  559. package/dist/src/server/liveImport.cjs.map +1 -1
  560. package/dist/src/server/liveImport.d.mts +1 -1
  561. package/dist/src/server/liveImport.mjs +1 -1
  562. package/dist/src/server/liveImport.mjs.map +1 -1
  563. package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
  564. package/dist/src/server/mcpBundleLoader.d.mts +6 -6
  565. package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
  566. package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
  567. package/dist/src/server/serverPackages.cjs +60 -0
  568. package/dist/src/server/serverPackages.cjs.map +1 -0
  569. package/dist/src/server/serverPackages.d.mts +44 -0
  570. package/dist/src/server/serverPackages.d.mts.map +1 -0
  571. package/dist/src/server/serverPackages.mjs +59 -0
  572. package/dist/src/server/serverPackages.mjs.map +1 -0
  573. package/dist/src/server/serverScope.cjs +510 -0
  574. package/dist/src/server/serverScope.cjs.map +1 -0
  575. package/dist/src/server/serverScope.d.mts +123 -0
  576. package/dist/src/server/serverScope.d.mts.map +1 -0
  577. package/dist/src/server/serverScope.mjs +510 -0
  578. package/dist/src/server/serverScope.mjs.map +1 -0
  579. package/dist/src/server/sessionMcpHandler.cjs +3 -3
  580. package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
  581. package/dist/src/server/sessionMcpHandler.mjs +4 -4
  582. package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
  583. package/dist/src/server/sessionMcpRoutes.cjs +2 -1
  584. package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
  585. package/dist/src/server/sessionMcpRoutes.mjs +2 -1
  586. package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
  587. package/dist/src/server/threadJournals.cjs +38 -107
  588. package/dist/src/server/threadJournals.cjs.map +1 -1
  589. package/dist/src/server/threadJournals.mjs +38 -104
  590. package/dist/src/server/threadJournals.mjs.map +1 -1
  591. package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
  592. package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
  593. package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
  594. package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
  595. package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
  596. package/dist/src/services/chatgptAuth/index.cjs +1 -220
  597. package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
  598. package/dist/src/services/chatgptAuth/index.d.mts +0 -18
  599. package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
  600. package/dist/src/services/chatgptAuth/index.mjs +1 -217
  601. package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
  602. package/dist/src/services/chatgptImages/index.cjs +1 -1
  603. package/dist/src/services/chatgptImages/index.cjs.map +1 -1
  604. package/dist/src/services/chatgptImages/index.mjs +1 -1
  605. package/dist/src/services/chatgptImages/index.mjs.map +1 -1
  606. package/dist/src/services/chatgptLogin/index.cjs +230 -0
  607. package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
  608. package/dist/src/services/chatgptLogin/index.d.mts +21 -0
  609. package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
  610. package/dist/src/services/chatgptLogin/index.mjs +227 -0
  611. package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
  612. package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
  613. package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
  614. package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
  615. package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
  616. package/dist/src/services/contextContributions/index.cjs +8 -8
  617. package/dist/src/services/contextContributions/index.cjs.map +1 -1
  618. package/dist/src/services/contextContributions/index.d.mts +3 -3
  619. package/dist/src/services/contextContributions/index.d.mts.map +1 -1
  620. package/dist/src/services/contextContributions/index.mjs +8 -8
  621. package/dist/src/services/contextContributions/index.mjs.map +1 -1
  622. package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
  623. package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
  624. package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
  625. package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
  626. package/dist/src/services/devProxyStore/index.cjs +7 -101
  627. package/dist/src/services/devProxyStore/index.cjs.map +1 -1
  628. package/dist/src/services/devProxyStore/index.mjs +7 -101
  629. package/dist/src/services/devProxyStore/index.mjs.map +1 -1
  630. package/dist/src/services/devProxyStore/sync.cjs +66 -0
  631. package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
  632. package/dist/src/services/devProxyStore/sync.mjs +63 -0
  633. package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
  634. package/dist/src/services/durableNavigation/docs.cjs +15 -0
  635. package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
  636. package/dist/src/services/durableNavigation/docs.mjs +16 -0
  637. package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
  638. package/dist/src/services/durableNavigation/index.cjs +3 -18
  639. package/dist/src/services/durableNavigation/index.cjs.map +1 -1
  640. package/dist/src/services/durableNavigation/index.mjs +2 -17
  641. package/dist/src/services/durableNavigation/index.mjs.map +1 -1
  642. package/dist/src/services/durableQueue/docs.cjs +12 -0
  643. package/dist/src/services/durableQueue/docs.cjs.map +1 -0
  644. package/dist/src/services/durableQueue/docs.mjs +13 -0
  645. package/dist/src/services/durableQueue/docs.mjs.map +1 -0
  646. package/dist/src/services/durableQueue/index.cjs +151 -0
  647. package/dist/src/services/durableQueue/index.cjs.map +1 -0
  648. package/dist/src/services/durableQueue/index.mjs +149 -0
  649. package/dist/src/services/durableQueue/index.mjs.map +1 -0
  650. package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
  651. package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
  652. package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
  653. package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
  654. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
  655. package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
  656. package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
  657. package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
  658. package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
  659. package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
  660. package/dist/src/services/durableSession/docs.cjs +65 -0
  661. package/dist/src/services/durableSession/docs.cjs.map +1 -0
  662. package/dist/src/services/durableSession/docs.d.mts +17 -0
  663. package/dist/src/services/durableSession/docs.d.mts.map +1 -0
  664. package/dist/src/services/durableSession/docs.mjs +60 -0
  665. package/dist/src/services/durableSession/docs.mjs.map +1 -0
  666. package/dist/src/services/durableSession/index.cjs +21 -0
  667. package/dist/src/services/durableSession/index.cjs.map +1 -0
  668. package/dist/src/services/durableSession/index.d.mts +13 -0
  669. package/dist/src/services/durableSession/index.d.mts.map +1 -0
  670. package/dist/src/services/durableSession/index.mjs +20 -0
  671. package/dist/src/services/durableSession/index.mjs.map +1 -0
  672. package/dist/src/services/durableSubagents/docs.cjs +15 -0
  673. package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
  674. package/dist/src/services/durableSubagents/docs.mjs +16 -0
  675. package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
  676. package/dist/src/services/durableSubagents/extension.cjs +11 -0
  677. package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
  678. package/dist/src/services/durableSubagents/extension.mjs +12 -0
  679. package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
  680. package/dist/src/services/durableSubagents/index.cjs +95 -0
  681. package/dist/src/services/durableSubagents/index.cjs.map +1 -0
  682. package/dist/src/services/durableSubagents/index.mjs +90 -0
  683. package/dist/src/services/durableSubagents/index.mjs.map +1 -0
  684. package/dist/src/services/durableSubagents/tasks.cjs +25 -0
  685. package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
  686. package/dist/src/services/durableSubagents/tasks.mjs +26 -0
  687. package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
  688. package/dist/src/services/headlessClient/index.cjs +20 -13
  689. package/dist/src/services/headlessClient/index.cjs.map +1 -1
  690. package/dist/src/services/headlessClient/index.mjs +21 -14
  691. package/dist/src/services/headlessClient/index.mjs.map +1 -1
  692. package/dist/src/services/historyOwnership/type.d.mts +15 -0
  693. package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
  694. package/dist/src/services/hubChannelHarness/index.cjs +2 -2
  695. package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
  696. package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
  697. package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
  698. package/dist/src/services/hubChannelHarness/index.mjs +2 -2
  699. package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
  700. package/dist/src/services/json/core.cjs +30 -0
  701. package/dist/src/services/json/core.cjs.map +1 -0
  702. package/dist/src/services/json/core.d.mts +21 -0
  703. package/dist/src/services/json/core.d.mts.map +1 -0
  704. package/dist/src/services/json/core.mjs +26 -0
  705. package/dist/src/services/json/core.mjs.map +1 -0
  706. package/dist/src/services/json/sync.cjs +48 -0
  707. package/dist/src/services/json/sync.cjs.map +1 -0
  708. package/dist/src/services/json/sync.d.mts +22 -0
  709. package/dist/src/services/json/sync.d.mts.map +1 -0
  710. package/dist/src/services/json/sync.mjs +43 -0
  711. package/dist/src/services/json/sync.mjs.map +1 -0
  712. package/dist/src/services/kernel/index.cjs +2 -2
  713. package/dist/src/services/kernel/index.cjs.map +1 -1
  714. package/dist/src/services/kernel/index.d.mts +3 -3
  715. package/dist/src/services/kernel/index.d.mts.map +1 -1
  716. package/dist/src/services/kernel/index.mjs +2 -2
  717. package/dist/src/services/kernel/index.mjs.map +1 -1
  718. package/dist/src/services/nativeChildTools/index.cjs +16 -0
  719. package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
  720. package/dist/src/services/nativeChildTools/index.mjs +16 -0
  721. package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
  722. package/dist/src/services/nodeHost/index.cjs +30 -0
  723. package/dist/src/services/nodeHost/index.cjs.map +1 -0
  724. package/dist/src/services/nodeHost/index.d.mts +16 -0
  725. package/dist/src/services/nodeHost/index.d.mts.map +1 -0
  726. package/dist/src/services/nodeHost/index.mjs +27 -0
  727. package/dist/src/services/nodeHost/index.mjs.map +1 -0
  728. package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
  729. package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
  730. package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
  731. package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
  732. package/dist/src/services/openSessionRegistry/index.cjs +6 -128
  733. package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
  734. package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
  735. package/dist/src/services/openSessionRegistry/index.mjs +6 -128
  736. package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
  737. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
  738. package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
  739. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
  740. package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
  741. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
  742. package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
  743. package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
  744. package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
  745. package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
  746. package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
  747. package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
  748. package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
  749. package/dist/src/services/packageApiHarness/index.cjs +1 -1
  750. package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
  751. package/dist/src/services/packageApiHarness/index.d.mts +6 -6
  752. package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
  753. package/dist/src/services/packageApiHarness/index.mjs +2 -2
  754. package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
  755. package/dist/src/services/piArgs/index.cjs +53 -0
  756. package/dist/src/services/piArgs/index.cjs.map +1 -0
  757. package/dist/src/services/piArgs/index.d.mts +6 -0
  758. package/dist/src/services/piArgs/index.d.mts.map +1 -0
  759. package/dist/src/services/piArgs/index.mjs +53 -0
  760. package/dist/src/services/piArgs/index.mjs.map +1 -0
  761. package/dist/src/services/piExtensionHost/index.cjs +47 -39
  762. package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
  763. package/dist/src/services/piExtensionHost/index.d.mts +83 -0
  764. package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
  765. package/dist/src/services/piExtensionHost/index.mjs +47 -38
  766. package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
  767. package/dist/src/services/piHelpTools/index.cjs +5 -5
  768. package/dist/src/services/piHelpTools/index.cjs.map +1 -1
  769. package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
  770. package/dist/src/services/piHelpTools/index.mjs +7 -7
  771. package/dist/src/services/piHelpTools/index.mjs.map +1 -1
  772. package/dist/src/services/piMessages/index.cjs +106 -0
  773. package/dist/src/services/piMessages/index.cjs.map +1 -0
  774. package/dist/src/services/piMessages/index.mjs +105 -0
  775. package/dist/src/services/piMessages/index.mjs.map +1 -0
  776. package/dist/src/services/piSessionEntries/index.cjs +4 -4
  777. package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
  778. package/dist/src/services/piSessionEntries/index.mjs +3 -3
  779. package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
  780. package/dist/src/services/piSettings/core.cjs +308 -0
  781. package/dist/src/services/piSettings/core.cjs.map +1 -0
  782. package/dist/src/services/piSettings/core.d.mts +102 -0
  783. package/dist/src/services/piSettings/core.d.mts.map +1 -0
  784. package/dist/src/services/piSettings/core.mjs +276 -0
  785. package/dist/src/services/piSettings/core.mjs.map +1 -0
  786. package/dist/src/services/piSettings/sync.cjs +119 -0
  787. package/dist/src/services/piSettings/sync.cjs.map +1 -0
  788. package/dist/src/services/piSettings/sync.d.mts +44 -0
  789. package/dist/src/services/piSettings/sync.d.mts.map +1 -0
  790. package/dist/src/services/piSettings/sync.mjs +110 -0
  791. package/dist/src/services/piSettings/sync.mjs.map +1 -0
  792. package/dist/src/services/piSummary/index.cjs +7 -0
  793. package/dist/src/services/piSummary/index.cjs.map +1 -0
  794. package/dist/src/services/piSummary/index.mjs +7 -0
  795. package/dist/src/services/piSummary/index.mjs.map +1 -0
  796. package/dist/src/services/platformFiles/index.cjs +44 -0
  797. package/dist/src/services/platformFiles/index.cjs.map +1 -0
  798. package/dist/src/services/platformFiles/index.d.mts +16 -0
  799. package/dist/src/services/platformFiles/index.d.mts.map +1 -0
  800. package/dist/src/services/platformFiles/index.mjs +39 -0
  801. package/dist/src/services/platformFiles/index.mjs.map +1 -0
  802. package/dist/src/services/pluginLifecycle/index.cjs +19 -13
  803. package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
  804. package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
  805. package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
  806. package/dist/src/services/pluginLifecycle/index.mjs +19 -14
  807. package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
  808. package/dist/src/services/poPackage/core.cjs +73 -0
  809. package/dist/src/services/poPackage/core.cjs.map +1 -0
  810. package/dist/src/services/poPackage/core.d.mts +32 -0
  811. package/dist/src/services/poPackage/core.d.mts.map +1 -0
  812. package/dist/src/services/poPackage/core.mjs +66 -0
  813. package/dist/src/services/poPackage/core.mjs.map +1 -0
  814. package/dist/src/services/poPackage/sync.cjs +55 -0
  815. package/dist/src/services/poPackage/sync.cjs.map +1 -0
  816. package/dist/src/services/poPackage/sync.d.mts +21 -0
  817. package/dist/src/services/poPackage/sync.d.mts.map +1 -0
  818. package/dist/src/services/poPackage/sync.mjs +50 -0
  819. package/dist/src/services/poPackage/sync.mjs.map +1 -0
  820. package/dist/src/services/providerAuth/index.cjs +11 -7
  821. package/dist/src/services/providerAuth/index.cjs.map +1 -1
  822. package/dist/src/services/providerAuth/index.mjs +11 -7
  823. package/dist/src/services/providerAuth/index.mjs.map +1 -1
  824. package/dist/src/services/publicFileShares/index.cjs +1 -1
  825. package/dist/src/services/publicFileShares/index.cjs.map +1 -1
  826. package/dist/src/services/publicFileShares/index.d.mts +2 -2
  827. package/dist/src/services/publicFileShares/index.mjs +2 -2
  828. package/dist/src/services/publicFileShares/index.mjs.map +1 -1
  829. package/dist/src/services/remoteAccess/index.d.mts +1 -0
  830. package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
  831. package/dist/src/services/remoteAccessStore/index.cjs +8 -190
  832. package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
  833. package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
  834. package/dist/src/services/remoteAccessStore/index.mjs +7 -187
  835. package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
  836. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
  837. package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
  838. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
  839. package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
  840. package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
  841. package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
  842. package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
  843. package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
  844. package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
  845. package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
  846. package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
  847. package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
  848. package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
  849. package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
  850. package/dist/src/services/serialRunner/index.cjs +25 -0
  851. package/dist/src/services/serialRunner/index.cjs.map +1 -0
  852. package/dist/src/services/serialRunner/index.d.mts +10 -0
  853. package/dist/src/services/serialRunner/index.d.mts.map +1 -0
  854. package/dist/src/services/serialRunner/index.mjs +25 -0
  855. package/dist/src/services/serialRunner/index.mjs.map +1 -0
  856. package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
  857. package/dist/src/services/serverHost/index.cjs.map +1 -0
  858. package/dist/src/services/serverHost/index.d.mts +31 -0
  859. package/dist/src/services/serverHost/index.d.mts.map +1 -0
  860. package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
  861. package/dist/src/services/serverHost/index.mjs.map +1 -0
  862. package/dist/src/services/sessionAttachments/index.cjs +4 -3
  863. package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
  864. package/dist/src/services/sessionAttachments/index.d.mts +1 -6
  865. package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
  866. package/dist/src/services/sessionAttachments/index.mjs +3 -2
  867. package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
  868. package/dist/src/services/sessionAttachments/type.d.mts +9 -0
  869. package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
  870. package/dist/src/services/sessionFiles/index.cjs +96 -0
  871. package/dist/src/services/sessionFiles/index.cjs.map +1 -0
  872. package/dist/src/services/sessionFiles/index.d.mts +33 -0
  873. package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
  874. package/dist/src/services/sessionFiles/index.mjs +89 -0
  875. package/dist/src/services/sessionFiles/index.mjs.map +1 -0
  876. package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
  877. package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
  878. package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
  879. package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
  880. package/dist/src/services/sessionGitStatus/index.cjs +31 -33
  881. package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
  882. package/dist/src/services/sessionGitStatus/index.mjs +31 -33
  883. package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
  884. package/dist/src/services/sessionPresentation/index.cjs +3 -27
  885. package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
  886. package/dist/src/services/sessionPresentation/index.mjs +3 -27
  887. package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
  888. package/dist/src/services/skillPrompt/index.cjs +11 -0
  889. package/dist/src/services/skillPrompt/index.cjs.map +1 -0
  890. package/dist/src/services/skillPrompt/index.mjs +11 -0
  891. package/dist/src/services/skillPrompt/index.mjs.map +1 -0
  892. package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
  893. package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
  894. package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
  895. package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
  896. package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
  897. package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
  898. package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
  899. package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
  900. package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
  901. package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
  902. package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
  903. package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
  904. package/dist/src/services/testMode/index.cjs +162 -0
  905. package/dist/src/services/testMode/index.cjs.map +1 -0
  906. package/dist/src/services/testMode/index.d.mts +17 -0
  907. package/dist/src/services/testMode/index.d.mts.map +1 -0
  908. package/dist/src/services/testMode/index.mjs +155 -0
  909. package/dist/src/services/testMode/index.mjs.map +1 -0
  910. package/dist/src/services/toolOverrides/index.cjs +6 -6
  911. package/dist/src/services/toolOverrides/index.cjs.map +1 -1
  912. package/dist/src/services/toolOverrides/index.d.mts +3 -3
  913. package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
  914. package/dist/src/services/toolOverrides/index.mjs +6 -6
  915. package/dist/src/services/toolOverrides/index.mjs.map +1 -1
  916. package/dist/src/services/toolPrompt/index.d.mts +17 -0
  917. package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
  918. package/dist/src/services/toolSurface/index.cjs +3 -3
  919. package/dist/src/services/toolSurface/index.cjs.map +1 -1
  920. package/dist/src/services/toolSurface/index.d.mts +3 -3
  921. package/dist/src/services/toolSurface/index.d.mts.map +1 -1
  922. package/dist/src/services/toolSurface/index.mjs +4 -4
  923. package/dist/src/services/toolSurface/index.mjs.map +1 -1
  924. package/dist/src/services/traceContext/index.cjs.map +1 -1
  925. package/dist/src/services/traceContext/index.mjs.map +1 -1
  926. package/dist/src/services/transcriptPages/index.cjs +159 -33
  927. package/dist/src/services/transcriptPages/index.cjs.map +1 -1
  928. package/dist/src/services/transcriptPages/index.mjs +158 -34
  929. package/dist/src/services/transcriptPages/index.mjs.map +1 -1
  930. package/dist/src/services/voiceToolsContract/index.cjs +7 -7
  931. package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
  932. package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
  933. package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
  934. package/dist/src/services/voiceToolsContract/index.mjs +7 -7
  935. package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
  936. package/dist/src/services/workspaceRegistry/index.cjs +9 -179
  937. package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
  938. package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
  939. package/dist/src/services/workspaceRegistry/index.mjs +7 -176
  940. package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
  941. package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
  942. package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
  943. package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
  944. package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
  945. package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
  946. package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
  947. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
  948. package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
  949. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
  950. package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
  951. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
  952. package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
  953. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
  954. package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
  955. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
  956. package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
  957. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
  958. package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
  959. package/dist/src/systems/child/services/childSession/index.cjs +94 -20
  960. package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
  961. package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
  962. package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
  963. package/dist/src/systems/child/services/childSession/index.mjs +94 -20
  964. package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
  965. package/dist/src/systems/child/types/childSession.cjs +33 -13
  966. package/dist/src/systems/child/types/childSession.cjs.map +1 -1
  967. package/dist/src/systems/child/types/childSession.d.mts +143 -80
  968. package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
  969. package/dist/src/systems/child/types/childSession.mjs +24 -9
  970. package/dist/src/systems/child/types/childSession.mjs.map +1 -1
  971. package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
  972. package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
  973. package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
  974. package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
  975. package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
  976. package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
  977. package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
  978. package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
  979. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
  980. package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
  981. package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
  982. package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
  983. package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
  984. package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
  985. package/dist/src/testing/pi/testHost.cjs +2 -2
  986. package/dist/src/testing/pi/testHost.cjs.map +1 -1
  987. package/dist/src/testing/pi/testHost.d.mts +3 -2
  988. package/dist/src/testing/pi/testHost.mjs +3 -3
  989. package/dist/src/testing/pi/testHost.mjs.map +1 -1
  990. package/dist/src/types/config.d.mts +1 -1
  991. package/dist/src/types/config.d.mts.map +1 -1
  992. package/dist/src/types/kernel.d.mts +3 -3
  993. package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
  994. package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
  995. package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
  996. package/dist/src/web/services/apiClient/index.d.mts +1 -0
  997. package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
  998. package/dist/src/web/services/apiPaths/index.d.mts +1 -1
  999. package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
  1000. package/dist/src/web/services/mcpWidget.cjs.map +1 -1
  1001. package/dist/src/web/services/mcpWidget.d.mts +2 -2
  1002. package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
  1003. package/dist/src/web/services/mcpWidget.mjs.map +1 -1
  1004. package/dist/src/web/services/testing/templateRail.cjs +3 -0
  1005. package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
  1006. package/dist/src/web/services/testing/templateRail.mjs +3 -0
  1007. package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
  1008. package/dist/src/web/types/mcpWidget.d.mts +1 -1
  1009. package/dist/src/web/types/nativeTemplate.d.mts +1 -1
  1010. package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
  1011. package/dist/src/web/types/template.d.mts +8 -0
  1012. package/dist/src/web/types/template.d.mts.map +1 -1
  1013. package/dist/src/web/types/webPlugin.d.mts +17 -5
  1014. package/dist/src/web/types/webPlugin.d.mts.map +1 -1
  1015. package/dist/testMode.cjs +4 -0
  1016. package/dist/testMode.d.mts +2 -0
  1017. package/dist/testMode.mjs +1 -0
  1018. package/dist/testing.cjs +1 -1
  1019. package/dist/testing.d.mts +2 -2
  1020. package/dist/testing.mjs +2 -2
  1021. package/dist/toolInventory.cjs.map +1 -1
  1022. package/dist/toolInventory.mjs.map +1 -1
  1023. package/dist/toolNames.mjs +1 -2
  1024. package/dist/toolOverrides.cjs +4 -4
  1025. package/dist/toolOverrides.d.mts +3 -3
  1026. package/dist/toolOverrides.mjs +3 -3
  1027. package/dist/toolSurface.cjs +4 -4
  1028. package/dist/toolSurface.d.mts +3 -3
  1029. package/dist/toolSurface.mjs +3 -3
  1030. package/dist/transition.cjs +3 -3
  1031. package/dist/transition.d.cjs +3 -3
  1032. package/dist/transition.d.mts +2 -2
  1033. package/dist/transition.mjs +1 -2
  1034. package/dist/transitionClassifier.cjs.map +1 -1
  1035. package/dist/transitionClassifier.d.mts +2 -2
  1036. package/dist/transitionClassifier.d.mts.map +1 -1
  1037. package/dist/transitionClassifier.mjs.map +1 -1
  1038. package/dist/transitionCoordinator.cjs +3 -3
  1039. package/dist/transitionCoordinator.cjs.map +1 -1
  1040. package/dist/transitionCoordinator.d.mts +4 -4
  1041. package/dist/transitionCoordinator.d.mts.map +1 -1
  1042. package/dist/transitionCoordinator.mjs +3 -3
  1043. package/dist/transitionCoordinator.mjs.map +1 -1
  1044. package/dist/typesContextApi.d.mts +2 -1
  1045. package/dist/typesContextApi.d.mts.map +1 -1
  1046. package/dist/uiHub.cjs +3 -3
  1047. package/dist/uiHub.d.mts +2 -2
  1048. package/dist/uiHub.mjs +1 -2
  1049. package/dist/voiceTools.cjs +5 -5
  1050. package/dist/voiceTools.d.mts +3 -3
  1051. package/dist/voiceTools.mjs +3 -3
  1052. package/dist/web.cjs +8 -0
  1053. package/dist/web.d.mts +3 -2
  1054. package/dist/web.mjs +2 -1
  1055. package/dist/webCompositions.cjs.map +1 -1
  1056. package/dist/webCompositions.d.mts +7 -7
  1057. package/dist/webCompositions.d.mts.map +1 -1
  1058. package/dist/webCompositions.mjs.map +1 -1
  1059. package/licenses/Codex-Apache-2.0.txt +201 -0
  1060. package/package.json +58 -53
  1061. package/dist/doomPackage.cjs +0 -61
  1062. package/dist/doomPackage.cjs.map +0 -1
  1063. package/dist/doomPackage.d.mts +0 -17
  1064. package/dist/doomPackage.d.mts.map +0 -1
  1065. package/dist/doomPackage.mjs +0 -54
  1066. package/dist/doomPackage.mjs.map +0 -1
  1067. package/dist/jsonlSessionRepo.cjs +0 -44
  1068. package/dist/jsonlSessionRepo.cjs.map +0 -1
  1069. package/dist/jsonlSessionRepo.d.mts +0 -7
  1070. package/dist/jsonlSessionRepo.d.mts.map +0 -1
  1071. package/dist/jsonlSessionRepo.mjs +0 -42
  1072. package/dist/jsonlSessionRepo.mjs.map +0 -1
  1073. package/dist/runtimeJson.cjs.map +0 -1
  1074. package/dist/runtimeJson.d.mts.map +0 -1
  1075. package/dist/runtimeJson.mjs.map +0 -1
  1076. package/dist/runtimePiSettings.cjs.map +0 -1
  1077. package/dist/runtimePiSettings.d.mts.map +0 -1
  1078. package/dist/runtimePiSettings.mjs.map +0 -1
  1079. package/dist/serverFacet.cjs +0 -34
  1080. package/dist/serverFacet.d.mts +0 -10
  1081. package/dist/serverFacet.mjs +0 -9
  1082. package/dist/src/pi/piWebSocketListener.cjs +0 -115
  1083. package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
  1084. package/dist/src/pi/piWebSocketListener.mjs +0 -115
  1085. package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
  1086. package/dist/src/schemas/serverFacet.cjs +0 -111
  1087. package/dist/src/schemas/serverFacet.cjs.map +0 -1
  1088. package/dist/src/schemas/serverFacet.d.mts +0 -152
  1089. package/dist/src/schemas/serverFacet.d.mts.map +0 -1
  1090. package/dist/src/schemas/serverFacet.mjs +0 -101
  1091. package/dist/src/schemas/serverFacet.mjs.map +0 -1
  1092. package/dist/src/schemas/sessionUpdates.d.mts +0 -34
  1093. package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
  1094. package/dist/src/server/headlessProtocol.cjs +0 -382
  1095. package/dist/src/server/headlessProtocol.cjs.map +0 -1
  1096. package/dist/src/server/headlessProtocol.mjs +0 -382
  1097. package/dist/src/server/headlessProtocol.mjs.map +0 -1
  1098. package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
  1099. package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
  1100. package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
  1101. package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
  1102. package/dist/src/server/serverFacetLoader.cjs +0 -214
  1103. package/dist/src/server/serverFacetLoader.cjs.map +0 -1
  1104. package/dist/src/server/serverFacetLoader.d.mts +0 -72
  1105. package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
  1106. package/dist/src/server/serverFacetLoader.mjs +0 -212
  1107. package/dist/src/server/serverFacetLoader.mjs.map +0 -1
  1108. package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
  1109. package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
  1110. package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
  1111. package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
  1112. package/dist/src/services/historyImport/index.cjs +0 -8
  1113. package/dist/src/services/historyImport/index.cjs.map +0 -1
  1114. package/dist/src/services/historyImport/index.d.mts +0 -68
  1115. package/dist/src/services/historyImport/index.d.mts.map +0 -1
  1116. package/dist/src/services/historyImport/index.mjs +0 -8
  1117. package/dist/src/services/historyImport/index.mjs.map +0 -1
  1118. package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
  1119. package/dist/src/services/requestReceipts/index.cjs.map +0 -1
  1120. package/dist/src/services/requestReceipts/index.d.mts +0 -11
  1121. package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
  1122. package/dist/src/services/requestReceipts/index.mjs.map +0 -1
  1123. package/dist/src/services/rpcTranscript/index.cjs +0 -633
  1124. package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
  1125. package/dist/src/services/rpcTranscript/index.d.mts +0 -50
  1126. package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
  1127. package/dist/src/services/rpcTranscript/index.mjs +0 -632
  1128. package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
  1129. package/dist/src/services/serverFacet/index.cjs.map +0 -1
  1130. package/dist/src/services/serverFacet/index.d.mts +0 -31
  1131. package/dist/src/services/serverFacet/index.d.mts.map +0 -1
  1132. package/dist/src/services/serverFacet/index.mjs.map +0 -1
  1133. package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
  1134. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
  1135. package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
  1136. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
  1137. package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
  1138. package/dist/terminalPiChildSessionService.cjs +0 -324
  1139. package/dist/terminalPiChildSessionService.cjs.map +0 -1
  1140. package/dist/terminalPiChildSessionService.d.mts +0 -46
  1141. package/dist/terminalPiChildSessionService.d.mts.map +0 -1
  1142. package/dist/terminalPiChildSessionService.mjs +0 -318
  1143. package/dist/terminalPiChildSessionService.mjs.map +0 -1
  1144. package/dist/v3Export.cjs +0 -10
  1145. package/dist/v3Export.cjs.map +0 -1
  1146. package/dist/v3Export.d.mts +0 -35
  1147. package/dist/v3Export.d.mts.map +0 -1
  1148. package/dist/v3Export.mjs +0 -9
  1149. package/dist/v3Export.mjs.map +0 -1
@@ -0,0 +1,276 @@
1
+ import { pathExists, removePath, writeFileAtomic } from "../platformFiles/index.mjs";
2
+ import { isRecord, readJsonAsync } from "../json/core.mjs";
3
+ import "../../../runtimeJson.mjs";
4
+ import { nodeHost } from "../nodeHost/index.mjs";
5
+ import { PACKAGE_MANIFEST, PO_PACKAGE_NAME } from "../poPackage/core.mjs";
6
+ import { createSerialRunner } from "../serialRunner/index.mjs";
7
+ import path from "node:path";
8
+ //#region src/services/piSettings/core.ts
9
+ /**
10
+ * Pi's user settings, as `po sync` maintains them.
11
+ *
12
+ * The Po package is registered globally so a plain `pi` process can find the
13
+ * lightweight package bootstrap before project resources are trusted. Sync owns
14
+ * the extension registration, ambient-discovery filter, theme resource, selected default theme, and quiet-startup keys
15
+ * while preserving every unrelated user setting.
16
+ */
17
+ const PI_CODING_AGENT_DIR_ENV = "PI_CODING_AGENT_DIR";
18
+ /** Moves Po's whole home, agent directory included, away from `~/.po`. */
19
+ const PO_HOME_ENV = "PO_HOME";
20
+ /** The folder name of Po's home and of a repository's own configuration. */
21
+ const PO_HOME_DIRECTORY = ".po";
22
+ /** Plain Pi's home, whose agent directory Po falls back to for model config. */
23
+ const PI_HOME_DIRECTORY = ".pi";
24
+ /** The agent folder inside a Po or Pi home. */
25
+ const AGENT_DIRECTORY = "agent";
26
+ const RUNTIME_DIRECTORY = "runtime";
27
+ const SETTINGS_FILE = "settings.json";
28
+ /** Credentials file inside an agent directory. */
29
+ const AUTH_FILE = "auth.json";
30
+ /** Custom provider file inside an agent directory. */
31
+ const MODELS_FILE = "models.json";
32
+ const THEMES_DIRECTORY = "themes";
33
+ const EXTENSIONS_KEY = "extensions";
34
+ const THEMES_KEY = "themes";
35
+ const THEME_KEY = "theme";
36
+ const QUIET_STARTUP_KEY = "quietStartup";
37
+ const PO_THEME_NAME = "po-dark";
38
+ /** File name of the synchronized Po theme. */
39
+ const PO_THEME_FILE = `${PO_THEME_NAME}.json`;
40
+ const AGIMON_SCOPE_PREFIX = "@agimon-ai/";
41
+ const NPM_SOURCE_PREFIX = "npm:";
42
+ const HOME_ALIAS = "~";
43
+ const HOME_ALIAS_PREFIX = "~/";
44
+ /** The stable package entry Pi loads for every synced repository. */
45
+ const PO_EXTENSION = PO_PACKAGE_NAME;
46
+ /** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */
47
+ const AMBIENT_EXTENSION_FILTER = "!extensions/**";
48
+ /**
49
+ * Pi built-in extensions kept off under Po. po-mcp owns `/mcp` and MCP servers. Codemode and
50
+ * tool search are opt-in in plain Pi, but Po activates every registered tool, so leaving them
51
+ * loaded would declare both to the model in every session.
52
+ */
53
+ const DISABLED_PI_BUILTINS = [
54
+ "-builtin:mcp",
55
+ "-builtin:codemode",
56
+ "-builtin:tool-search"
57
+ ];
58
+ /** Ownership marker `po init` wrote into the dispatcher package manifest. */
59
+ const PO_DISPATCHER_MARKER = 1;
60
+ /**
61
+ * Expands `~` and resolves a relative path against home, never the cwd, so every
62
+ * Po process lands on the same directory wherever it was started.
63
+ */
64
+ function resolveConfiguredDirectory(configured, homeDirectory) {
65
+ if (configured === HOME_ALIAS) return homeDirectory;
66
+ if (configured.startsWith(HOME_ALIAS_PREFIX)) return path.join(homeDirectory, configured.slice(2));
67
+ return path.resolve(homeDirectory, configured);
68
+ }
69
+ /**
70
+ * Po's home: config, workspaces, runtime registry and its Pi agent directory.
71
+ * Defaults to `~/.po`; `PO_HOME` moves all of it.
72
+ */
73
+ function poHomeDirectory(homeDirectory = nodeHost.homeDirectory(), environment = process.env) {
74
+ const configured = environment[PO_HOME_ENV]?.trim();
75
+ return configured ? resolveConfiguredDirectory(configured, homeDirectory) : path.join(homeDirectory, ".po");
76
+ }
77
+ /**
78
+ * The single install root for runtime packages every Po root shares: its
79
+ * `package.json` declares them and its `node_modules` holds them.
80
+ */
81
+ function poRuntimeDirectory(homeDirectory = nodeHost.homeDirectory(), environment = process.env) {
82
+ return path.join(poHomeDirectory(homeDirectory, environment), RUNTIME_DIRECTORY);
83
+ }
84
+ /** True when a `.po` folder at this path would be Po's own home rather than a repository marker. */
85
+ function isPoHomeMarker(marker, homeDirectory = nodeHost.homeDirectory(), environment = process.env) {
86
+ return marker === path.resolve(poHomeDirectory(homeDirectory, environment));
87
+ }
88
+ /**
89
+ * True when a directory's `.po` folder exists and is a repository's own configuration.
90
+ *
91
+ * Po's home is `~/.po`, so the home directory carries a `.po` folder too. That folder is
92
+ * the global layer, not a repository marker: walking up from any path under home must not
93
+ * stop at home and treat the global configuration as repository configuration.
94
+ */
95
+ async function hasRepositoryPoDirectoryAsync(fs, directory, context, homeDirectory = nodeHost.homeDirectory(), environment = process.env) {
96
+ const marker = path.resolve(directory, ".po");
97
+ if (isPoHomeMarker(marker, homeDirectory, environment)) return false;
98
+ const resolved = await fs.canonicalPath(marker, context);
99
+ if (!resolved.ok) return false;
100
+ const info = await fs.fileInfo(resolved.value, context);
101
+ return info.ok && info.value.kind === "directory";
102
+ }
103
+ /**
104
+ * The Pi agent directory Po runs with. Honors Pi's documented override; every Po
105
+ * entry point sets that override, so the default only applies to library callers.
106
+ */
107
+ function piAgentDirectory(environment = process.env, homeDirectory = nodeHost.homeDirectory()) {
108
+ const configured = environment[PI_CODING_AGENT_DIR_ENV]?.trim();
109
+ if (!configured) return path.join(poHomeDirectory(homeDirectory, environment), AGENT_DIRECTORY);
110
+ return resolveConfiguredDirectory(configured, homeDirectory);
111
+ }
112
+ /** True when the directory names a model: credentials, a custom provider, or a default. */
113
+ async function hasModelConfigAsync(fs, agentDirectory, context) {
114
+ try {
115
+ return await pathExists(fs, path.join(agentDirectory, "models.json"), context) || Object.keys(await readJsonAsync(fs, path.join(agentDirectory, "auth.json"), context)).length > 0 || typeof (await readJsonAsync(fs, piSettingsPath(agentDirectory), context)).defaultProvider === "string";
116
+ } catch {
117
+ return true;
118
+ }
119
+ }
120
+ /**
121
+ * Where Po reads auth.json and models.json from. Po's own agent
122
+ * directory when it names a model; otherwise plain Pi's `~/.pi/agent`, so a user who
123
+ * already set Pi up can start a session before configuring Po.
124
+ */
125
+ async function modelConfigDirectoryAsync(fs, agentDirectory, context, homeDirectory = nodeHost.homeDirectory()) {
126
+ if (await hasModelConfigAsync(fs, agentDirectory, context)) return agentDirectory;
127
+ const pi = path.join(homeDirectory, ".pi", AGENT_DIRECTORY);
128
+ return pi !== agentDirectory && await hasModelConfigAsync(fs, pi, context) ? pi : agentDirectory;
129
+ }
130
+ /** Model defaults fall back independently of credentials, only when settings.json is absent. */
131
+ async function modelSettingsDirectoryAsync(fs, agentDirectory, context, homeDirectory = nodeHost.homeDirectory()) {
132
+ if (await pathExists(fs, piSettingsPath(agentDirectory), context)) return agentDirectory;
133
+ const pi = path.join(homeDirectory, ".pi", AGENT_DIRECTORY);
134
+ return await pathExists(fs, piSettingsPath(pi), context) ? pi : agentDirectory;
135
+ }
136
+ function piSettingsPath(agentDirectory) {
137
+ return path.join(agentDirectory, SETTINGS_FILE);
138
+ }
139
+ function piThemeDirectory(agentDirectory) {
140
+ return path.join(agentDirectory, THEMES_DIRECTORY);
141
+ }
142
+ function stringList(value) {
143
+ return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
144
+ }
145
+ function settingsRelativePath(agentDirectory, target) {
146
+ const relative = path.relative(agentDirectory, target);
147
+ if (relative.startsWith("..") || path.isAbsolute(relative)) return target;
148
+ return relative.split(path.sep).join("/");
149
+ }
150
+ function isManagedExtension(value) {
151
+ const normalized = value.replaceAll("\\", "/");
152
+ return normalized === PO_EXTENSION || normalized === "!extensions/**" || DISABLED_PI_BUILTINS.includes(normalized);
153
+ }
154
+ function isLegacyPoTheme(value, themeName) {
155
+ const normalized = value.replaceAll("\\", "/");
156
+ return normalized.endsWith(`/po/${themeName}.json`) || normalized === `po/${themeName}.json`;
157
+ }
158
+ /** Produces the user settings content for an update, without writing it. */
159
+ function mergePiSettings(current, agentDirectory, update) {
160
+ const theme = settingsRelativePath(agentDirectory, update.themePath);
161
+ const extensions = [
162
+ PO_EXTENSION,
163
+ AMBIENT_EXTENSION_FILTER,
164
+ ...DISABLED_PI_BUILTINS,
165
+ ...stringList(current[EXTENSIONS_KEY]).filter((value) => !isManagedExtension(value))
166
+ ];
167
+ const themes = [theme, ...stringList(current[THEMES_KEY]).filter((value) => value !== theme && !isLegacyPoTheme(value, update.themeName))];
168
+ return {
169
+ ...current,
170
+ [QUIET_STARTUP_KEY]: true,
171
+ [EXTENSIONS_KEY]: extensions,
172
+ [THEMES_KEY]: themes,
173
+ [THEME_KEY]: typeof current[THEME_KEY] === "string" ? current[THEME_KEY] : update.themeName
174
+ };
175
+ }
176
+ /** Settings content as a JSON object; non-object JSON counts as empty. */
177
+ function normalizePiSettings(settings) {
178
+ return isRecord(settings) ? settings : {};
179
+ }
180
+ async function readPiSettingsAsync(fs, agentDirectory, context) {
181
+ return normalizePiSettings(await readJsonAsync(fs, piSettingsPath(agentDirectory), context));
182
+ }
183
+ function serializePiSettings(settings) {
184
+ return `${JSON.stringify(settings, null, 2)}\n`;
185
+ }
186
+ /** Serialises every read-modify-write of one settings file in this process. */
187
+ const settingsWrites = createSerialRunner();
188
+ /** Merges the Po-owned keys into Pi's user settings file. */
189
+ async function writePiSettingsAsync(fs, agentDirectory, update, context) {
190
+ const settingsPath = piSettingsPath(agentDirectory);
191
+ await settingsWrites.forKey(settingsPath)(async () => {
192
+ const current = await readPiSettingsAsync(fs, agentDirectory, context);
193
+ await writeFileAtomic(fs, settingsPath, serializePiSettings(mergePiSettings(current, agentDirectory, update)), context);
194
+ });
195
+ return settingsPath;
196
+ }
197
+ /** Whether manifest text is the dispatcher package `po init` generated, by its ownership marker. */
198
+ function isPoDispatcherManifest(content) {
199
+ try {
200
+ const parsed = JSON.parse(content);
201
+ return parsed.name === "@agimon-ai/po" && parsed.poDispatcher === 1;
202
+ } catch {
203
+ return false;
204
+ }
205
+ }
206
+ /** Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker. */
207
+ async function isPoDispatcherPackageAsync(fs, directory, context) {
208
+ const result = await fs.readTextFile(path.join(directory, PACKAGE_MANIFEST), context);
209
+ return result.ok && isPoDispatcherManifest(result.value);
210
+ }
211
+ /** Where `po init` put its dispatcher package inside an agent directory. */
212
+ function poDispatcherPath(agentDirectory) {
213
+ return path.join(agentDirectory, ...PO_PACKAGE_NAME.split("/"));
214
+ }
215
+ /** Where `po sync` put the Po theme inside an agent directory. */
216
+ function poThemePath(agentDirectory) {
217
+ return path.join(piThemeDirectory(agentDirectory), PO_THEME_FILE);
218
+ }
219
+ function isOtherAgimonDistribution(value) {
220
+ const normalized = value.startsWith(NPM_SOURCE_PREFIX) ? value.slice(4) : value;
221
+ return normalized.startsWith(AGIMON_SCOPE_PREFIX) && normalized !== PO_EXTENSION;
222
+ }
223
+ function isSharedFilter(value) {
224
+ return value === "!extensions/**" || DISABLED_PI_BUILTINS.includes(value);
225
+ }
226
+ /**
227
+ * The user settings with Po's entries removed, or undefined when no Po entry is present.
228
+ *
229
+ * The shared ambient and built-in filters stay while another `@agimon-ai/*` distribution
230
+ * is still registered, because it relies on the same filters. Unrelated settings are preserved.
231
+ */
232
+ function prunePoPiSettings(current, agentDirectory) {
233
+ const themePath = poThemePath(agentDirectory);
234
+ const extensions = stringList(current[EXTENSIONS_KEY]);
235
+ const themes = stringList(current[THEMES_KEY]);
236
+ const isPoTheme = (value) => path.resolve(agentDirectory, value) === themePath;
237
+ if (!(extensions.includes(PO_EXTENSION) || themes.some(isPoTheme) || current[THEME_KEY] === PO_THEME_NAME)) return void 0;
238
+ const keepFilters = extensions.some(isOtherAgimonDistribution);
239
+ const next = { ...current };
240
+ if (Array.isArray(current[EXTENSIONS_KEY])) next[EXTENSIONS_KEY] = current[EXTENSIONS_KEY].filter((value) => value !== PO_EXTENSION && (keepFilters || typeof value !== "string" || !isSharedFilter(value)));
241
+ if (Array.isArray(current[THEMES_KEY])) next[THEMES_KEY] = current[THEMES_KEY].filter((value) => typeof value !== "string" || !isPoTheme(value));
242
+ if (current[THEME_KEY] === PO_THEME_NAME) delete next[THEME_KEY];
243
+ return next;
244
+ }
245
+ /**
246
+ * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.
247
+ *
248
+ * Nothing is written when no Po entry is present. Returns the paths and entries it removed.
249
+ */
250
+ async function removePoPiSettingsAsync(fs, agentDirectory, context) {
251
+ const removed = [];
252
+ const settingsPath = piSettingsPath(agentDirectory);
253
+ await settingsWrites.forKey(settingsPath)(async () => {
254
+ const next = prunePoPiSettings(await readPiSettingsAsync(fs, agentDirectory, context), agentDirectory);
255
+ if (!next) return;
256
+ await writeFileAtomic(fs, settingsPath, serializePiSettings(next), context);
257
+ removed.push(settingsPath);
258
+ });
259
+ const themePath = poThemePath(agentDirectory);
260
+ const theme = await fs.fileInfo(themePath, context);
261
+ if (theme.ok && theme.value.kind === "file") {
262
+ await removePath(fs, themePath, context);
263
+ removed.push(themePath);
264
+ }
265
+ const dispatcher = poDispatcherPath(agentDirectory);
266
+ const dispatcherInfo = await fs.fileInfo(dispatcher, context);
267
+ if (dispatcherInfo.ok && dispatcherInfo.value.kind === "directory" && await isPoDispatcherPackageAsync(fs, dispatcher, context)) {
268
+ await removePath(fs, dispatcher, context);
269
+ removed.push(dispatcher);
270
+ }
271
+ return removed;
272
+ }
273
+ //#endregion
274
+ export { AGENT_DIRECTORY, AMBIENT_EXTENSION_FILTER, AUTH_FILE, DISABLED_PI_BUILTINS, MODELS_FILE, PI_HOME_DIRECTORY, PO_DISPATCHER_MARKER, PO_EXTENSION, PO_HOME_DIRECTORY, PO_HOME_ENV, PO_THEME_FILE, hasRepositoryPoDirectoryAsync, isPoDispatcherManifest, isPoDispatcherPackageAsync, isPoHomeMarker, mergePiSettings, modelConfigDirectoryAsync, modelSettingsDirectoryAsync, normalizePiSettings, piAgentDirectory, piSettingsPath, piThemeDirectory, poDispatcherPath, poHomeDirectory, poRuntimeDirectory, poThemePath, prunePoPiSettings, readPiSettingsAsync, removePoPiSettingsAsync, serializePiSettings, writePiSettingsAsync };
275
+
276
+ //# sourceMappingURL=core.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.mjs","names":[],"sources":["../../../../src/services/piSettings/core.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport type { FileSystem } from '@earendil-works/pi-durable/env';\n\nimport { isRecord, readJsonAsync } from '../json';\nimport type { JsonObject } from '../json';\nimport { nodeHost } from '../nodeHost';\nimport { pathExists, removePath, writeFileAtomic } from '../platformFiles';\nimport { PO_PACKAGE_NAME, PACKAGE_MANIFEST } from '../poPackage';\nimport { createSerialRunner } from '../serialRunner';\n\n/**\n * Pi's user settings, as `po sync` maintains them.\n *\n * The Po package is registered globally so a plain `pi` process can find the\n * lightweight package bootstrap before project resources are trusted. Sync owns\n * the extension registration, ambient-discovery filter, theme resource, selected default theme, and quiet-startup keys\n * while preserving every unrelated user setting.\n */\n\nconst PI_CODING_AGENT_DIR_ENV = 'PI_CODING_AGENT_DIR';\n/** Moves Po's whole home, agent directory included, away from `~/.po`. */\nexport const PO_HOME_ENV = 'PO_HOME';\n/** The folder name of Po's home and of a repository's own configuration. */\nexport const PO_HOME_DIRECTORY = '.po';\n/** Plain Pi's home, whose agent directory Po falls back to for model config. */\nexport const PI_HOME_DIRECTORY = '.pi';\n/** The agent folder inside a Po or Pi home. */\nexport const AGENT_DIRECTORY = 'agent';\nconst RUNTIME_DIRECTORY = 'runtime';\nconst SETTINGS_FILE = 'settings.json';\n/** Credentials file inside an agent directory. */\nexport const AUTH_FILE = 'auth.json';\n/** Custom provider file inside an agent directory. */\nexport const MODELS_FILE = 'models.json';\nconst THEMES_DIRECTORY = 'themes';\nconst EXTENSIONS_KEY = 'extensions';\nconst THEMES_KEY = 'themes';\nconst THEME_KEY = 'theme';\nconst QUIET_STARTUP_KEY = 'quietStartup';\nconst PO_THEME_NAME = 'po-dark';\n/** File name of the synchronized Po theme. */\nexport const PO_THEME_FILE = `${PO_THEME_NAME}.json`;\nconst AGIMON_SCOPE_PREFIX = '@agimon-ai/';\nconst NPM_SOURCE_PREFIX = 'npm:';\nconst HOME_ALIAS = '~';\nconst HOME_ALIAS_PREFIX = '~/';\n/** The stable package entry Pi loads for every synced repository. */\nexport const PO_EXTENSION = PO_PACKAGE_NAME;\n/** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */\nexport const AMBIENT_EXTENSION_FILTER = '!extensions/**';\n/**\n * Pi built-in extensions kept off under Po. po-mcp owns `/mcp` and MCP servers. Codemode and\n * tool search are opt-in in plain Pi, but Po activates every registered tool, so leaving them\n * loaded would declare both to the model in every session.\n */\nexport const DISABLED_PI_BUILTINS: readonly string[] = ['-builtin:mcp', '-builtin:codemode', '-builtin:tool-search'];\n/** Ownership marker `po init` wrote into the dispatcher package manifest. */\nexport const PO_DISPATCHER_MARKER = 1;\nexport interface PiSettingsUpdate {\n /** Absolute path to the synchronized user theme file. */\n themePath: string;\n themeName: string;\n}\n\n/**\n * Expands `~` and resolves a relative path against home, never the cwd, so every\n * Po process lands on the same directory wherever it was started.\n */\nfunction resolveConfiguredDirectory(configured: string, homeDirectory: string): string {\n if (configured === HOME_ALIAS) return homeDirectory;\n if (configured.startsWith(HOME_ALIAS_PREFIX)) {\n return path.join(homeDirectory, configured.slice(HOME_ALIAS_PREFIX.length));\n }\n return path.resolve(homeDirectory, configured);\n}\n\n/**\n * Po's home: config, workspaces, runtime registry and its Pi agent directory.\n * Defaults to `~/.po`; `PO_HOME` moves all of it.\n */\nexport function poHomeDirectory(\n homeDirectory: string = nodeHost.homeDirectory(),\n environment: Readonly<Record<string, string | undefined>> = process.env,\n): string {\n const configured = environment[PO_HOME_ENV]?.trim();\n return configured\n ? resolveConfiguredDirectory(configured, homeDirectory)\n : path.join(homeDirectory, PO_HOME_DIRECTORY);\n}\n\n/**\n * The single install root for runtime packages every Po root shares: its\n * `package.json` declares them and its `node_modules` holds them.\n */\nexport function poRuntimeDirectory(\n homeDirectory: string = nodeHost.homeDirectory(),\n environment: Readonly<Record<string, string | undefined>> = process.env,\n): string {\n return path.join(poHomeDirectory(homeDirectory, environment), RUNTIME_DIRECTORY);\n}\n\n/** True when a `.po` folder at this path would be Po's own home rather than a repository marker. */\nexport function isPoHomeMarker(\n marker: string,\n homeDirectory: string = nodeHost.homeDirectory(),\n environment: Readonly<Record<string, string | undefined>> = process.env,\n): boolean {\n return marker === path.resolve(poHomeDirectory(homeDirectory, environment));\n}\n\n/**\n * True when a directory's `.po` folder exists and is a repository's own configuration.\n *\n * Po's home is `~/.po`, so the home directory carries a `.po` folder too. That folder is\n * the global layer, not a repository marker: walking up from any path under home must not\n * stop at home and treat the global configuration as repository configuration.\n */\nexport async function hasRepositoryPoDirectoryAsync(\n fs: FileSystem,\n directory: string,\n context: Context,\n homeDirectory: string = nodeHost.homeDirectory(),\n environment: Readonly<Record<string, string | undefined>> = process.env,\n): Promise<boolean> {\n const marker = path.resolve(directory, PO_HOME_DIRECTORY);\n if (isPoHomeMarker(marker, homeDirectory, environment)) return false;\n const resolved = await fs.canonicalPath(marker, context);\n if (!resolved.ok) return false;\n const info = await fs.fileInfo(resolved.value, context);\n // No readable `.po` folder here, so this directory is not marked as a repository.\n return info.ok && info.value.kind === 'directory';\n}\n\n/**\n * The Pi agent directory Po runs with. Honors Pi's documented override; every Po\n * entry point sets that override, so the default only applies to library callers.\n */\nexport function piAgentDirectory(\n environment: Readonly<Record<string, string | undefined>> = process.env,\n homeDirectory: string = nodeHost.homeDirectory(),\n): string {\n const configured = environment[PI_CODING_AGENT_DIR_ENV]?.trim();\n if (!configured) return path.join(poHomeDirectory(homeDirectory, environment), AGENT_DIRECTORY);\n return resolveConfiguredDirectory(configured, homeDirectory);\n}\n\n/** True when the directory names a model: credentials, a custom provider, or a default. */\nasync function hasModelConfigAsync(fs: FileSystem, agentDirectory: string, context: Context): Promise<boolean> {\n try {\n return (\n (await pathExists(fs, path.join(agentDirectory, MODELS_FILE), context)) ||\n Object.keys(await readJsonAsync(fs, path.join(agentDirectory, AUTH_FILE), context)).length > 0 ||\n typeof (await readJsonAsync(fs, piSettingsPath(agentDirectory), context)).defaultProvider === 'string'\n );\n } catch {\n // A malformed file is still the user's config: surface its error rather than switch away.\n return true;\n }\n}\n\n/**\n * Where Po reads auth.json and models.json from. Po's own agent\n * directory when it names a model; otherwise plain Pi's `~/.pi/agent`, so a user who\n * already set Pi up can start a session before configuring Po.\n */\nexport async function modelConfigDirectoryAsync(\n fs: FileSystem,\n agentDirectory: string,\n context: Context,\n homeDirectory: string = nodeHost.homeDirectory(),\n): Promise<string> {\n if (await hasModelConfigAsync(fs, agentDirectory, context)) return agentDirectory;\n const pi = path.join(homeDirectory, PI_HOME_DIRECTORY, AGENT_DIRECTORY);\n return pi !== agentDirectory && (await hasModelConfigAsync(fs, pi, context)) ? pi : agentDirectory;\n}\n\n/** Model defaults fall back independently of credentials, only when settings.json is absent. */\nexport async function modelSettingsDirectoryAsync(\n fs: FileSystem,\n agentDirectory: string,\n context: Context,\n homeDirectory: string = nodeHost.homeDirectory(),\n): Promise<string> {\n if (await pathExists(fs, piSettingsPath(agentDirectory), context)) return agentDirectory;\n const pi = path.join(homeDirectory, PI_HOME_DIRECTORY, AGENT_DIRECTORY);\n return (await pathExists(fs, piSettingsPath(pi), context)) ? pi : agentDirectory;\n}\n\nexport function piSettingsPath(agentDirectory: string): string {\n return path.join(agentDirectory, SETTINGS_FILE);\n}\n\nexport function piThemeDirectory(agentDirectory: string): string {\n return path.join(agentDirectory, THEMES_DIRECTORY);\n}\n\nfunction stringList(value: unknown): string[] {\n return Array.isArray(value) ? value.filter((entry): entry is string => typeof entry === 'string') : [];\n}\n\nfunction settingsRelativePath(agentDirectory: string, target: string): string {\n const relative = path.relative(agentDirectory, target);\n if (relative.startsWith('..') || path.isAbsolute(relative)) return target;\n return relative.split(path.sep).join('/');\n}\n\nfunction isManagedExtension(value: string): boolean {\n const normalized = value.replaceAll('\\\\', '/');\n return (\n normalized === PO_EXTENSION || normalized === AMBIENT_EXTENSION_FILTER || DISABLED_PI_BUILTINS.includes(normalized)\n );\n}\n\nfunction isLegacyPoTheme(value: string, themeName: string): boolean {\n const normalized = value.replaceAll('\\\\', '/');\n return normalized.endsWith(`/po/${themeName}.json`) || normalized === `po/${themeName}.json`;\n}\n\n/** Produces the user settings content for an update, without writing it. */\nexport function mergePiSettings(current: JsonObject, agentDirectory: string, update: PiSettingsUpdate): JsonObject {\n const theme = settingsRelativePath(agentDirectory, update.themePath);\n // First in the list, so the harness environment is hydrated before any\n // extension a user added themselves runs. The filter affects only Pi's\n // automatic extensions/** scan; explicit settings and CLI entries still load.\n const extensions = [\n PO_EXTENSION,\n AMBIENT_EXTENSION_FILTER,\n ...DISABLED_PI_BUILTINS,\n ...stringList(current[EXTENSIONS_KEY]).filter((value) => !isManagedExtension(value)),\n ];\n const themes = [\n theme,\n ...stringList(current[THEMES_KEY]).filter((value) => value !== theme && !isLegacyPoTheme(value, update.themeName)),\n ];\n return {\n ...current,\n [QUIET_STARTUP_KEY]: true,\n [EXTENSIONS_KEY]: extensions,\n [THEMES_KEY]: themes,\n // Only filled in when unset: a theme the user picked later is their choice,\n // and re-imposing the Po theme on every sync would silently undo it.\n [THEME_KEY]: typeof current[THEME_KEY] === 'string' ? current[THEME_KEY] : update.themeName,\n };\n}\n\n/** Settings content as a JSON object; non-object JSON counts as empty. */\nexport function normalizePiSettings(settings: unknown): JsonObject {\n return isRecord(settings) ? settings : {};\n}\n\nexport async function readPiSettingsAsync(\n fs: FileSystem,\n agentDirectory: string,\n context: Context,\n): Promise<JsonObject> {\n return normalizePiSettings(await readJsonAsync(fs, piSettingsPath(agentDirectory), context));\n}\n\nexport function serializePiSettings(settings: JsonObject): string {\n return `${JSON.stringify(settings, null, 2)}\\n`;\n}\n\n/** Serialises every read-modify-write of one settings file in this process. */\nconst settingsWrites = createSerialRunner();\n\n/** Merges the Po-owned keys into Pi's user settings file. */\nexport async function writePiSettingsAsync(\n fs: FileSystem,\n agentDirectory: string,\n update: PiSettingsUpdate,\n context: Context,\n): Promise<string> {\n const settingsPath = piSettingsPath(agentDirectory);\n await settingsWrites.forKey(settingsPath)(async () => {\n const current = await readPiSettingsAsync(fs, agentDirectory, context);\n await writeFileAtomic(\n fs,\n settingsPath,\n serializePiSettings(mergePiSettings(current, agentDirectory, update)),\n context,\n );\n });\n return settingsPath;\n}\n\n/** Whether manifest text is the dispatcher package `po init` generated, by its ownership marker. */\nexport function isPoDispatcherManifest(content: string): boolean {\n try {\n const parsed = JSON.parse(content) as { name?: unknown; poDispatcher?: unknown };\n return parsed.name === PO_PACKAGE_NAME && parsed.poDispatcher === PO_DISPATCHER_MARKER;\n } catch {\n // Unparseable manifest text is not the dispatcher's.\n return false;\n }\n}\n\n/** Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker. */\nexport async function isPoDispatcherPackageAsync(\n fs: FileSystem,\n directory: string,\n context: Context,\n): Promise<boolean> {\n const result = await fs.readTextFile(path.join(directory, PACKAGE_MANIFEST), context);\n return result.ok && isPoDispatcherManifest(result.value);\n}\n\n/** Where `po init` put its dispatcher package inside an agent directory. */\nexport function poDispatcherPath(agentDirectory: string): string {\n return path.join(agentDirectory, ...PO_PACKAGE_NAME.split('/'));\n}\n\n/** Where `po sync` put the Po theme inside an agent directory. */\nexport function poThemePath(agentDirectory: string): string {\n return path.join(piThemeDirectory(agentDirectory), PO_THEME_FILE);\n}\n\nfunction isOtherAgimonDistribution(value: string): boolean {\n const normalized = value.startsWith(NPM_SOURCE_PREFIX) ? value.slice(NPM_SOURCE_PREFIX.length) : value;\n return normalized.startsWith(AGIMON_SCOPE_PREFIX) && normalized !== PO_EXTENSION;\n}\n\nfunction isSharedFilter(value: string): boolean {\n return value === AMBIENT_EXTENSION_FILTER || DISABLED_PI_BUILTINS.includes(value);\n}\n\n/**\n * The user settings with Po's entries removed, or undefined when no Po entry is present.\n *\n * The shared ambient and built-in filters stay while another `@agimon-ai/*` distribution\n * is still registered, because it relies on the same filters. Unrelated settings are preserved.\n */\nexport function prunePoPiSettings(current: JsonObject, agentDirectory: string): JsonObject | undefined {\n const themePath = poThemePath(agentDirectory);\n const extensions = stringList(current[EXTENSIONS_KEY]);\n const themes = stringList(current[THEMES_KEY]);\n const isPoTheme = (value: string) => path.resolve(agentDirectory, value) === themePath;\n const hasPoSettings =\n extensions.includes(PO_EXTENSION) || themes.some(isPoTheme) || current[THEME_KEY] === PO_THEME_NAME;\n if (!hasPoSettings) return undefined;\n\n const keepFilters = extensions.some(isOtherAgimonDistribution);\n const next: JsonObject = { ...current };\n if (Array.isArray(current[EXTENSIONS_KEY])) {\n next[EXTENSIONS_KEY] = (current[EXTENSIONS_KEY] as unknown[]).filter(\n (value) => value !== PO_EXTENSION && (keepFilters || typeof value !== 'string' || !isSharedFilter(value)),\n );\n }\n if (Array.isArray(current[THEMES_KEY])) {\n next[THEMES_KEY] = (current[THEMES_KEY] as unknown[]).filter(\n (value) => typeof value !== 'string' || !isPoTheme(value),\n );\n }\n if (current[THEME_KEY] === PO_THEME_NAME) delete next[THEME_KEY];\n return next;\n}\n\n/**\n * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.\n *\n * Nothing is written when no Po entry is present. Returns the paths and entries it removed.\n */\nexport async function removePoPiSettingsAsync(\n fs: FileSystem,\n agentDirectory: string,\n context: Context,\n): Promise<string[]> {\n const removed: string[] = [];\n const settingsPath = piSettingsPath(agentDirectory);\n await settingsWrites.forKey(settingsPath)(async () => {\n const next = prunePoPiSettings(await readPiSettingsAsync(fs, agentDirectory, context), agentDirectory);\n if (!next) return;\n await writeFileAtomic(fs, settingsPath, serializePiSettings(next), context);\n removed.push(settingsPath);\n });\n const themePath = poThemePath(agentDirectory);\n const theme = await fs.fileInfo(themePath, context);\n if (theme.ok && theme.value.kind === 'file') {\n await removePath(fs, themePath, context);\n removed.push(themePath);\n }\n const dispatcher = poDispatcherPath(agentDirectory);\n const dispatcherInfo = await fs.fileInfo(dispatcher, context);\n if (\n dispatcherInfo.ok &&\n dispatcherInfo.value.kind === 'directory' &&\n (await isPoDispatcherPackageAsync(fs, dispatcher, context))\n ) {\n await removePath(fs, dispatcher, context);\n removed.push(dispatcher);\n }\n return removed;\n}\n"],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_sync = require("../json/sync.cjs");
3
+ require("../../../runtimeJson.cjs");
4
+ const require_index = require("../nodeHost/index.cjs");
5
+ const require_core = require("../poPackage/core.cjs");
6
+ const require_core$1 = require("./core.cjs");
7
+ let node_fs = require("node:fs");
8
+ node_fs = require_runtime.__toESM(node_fs, 1);
9
+ let node_path = require("node:path");
10
+ node_path = require_runtime.__toESM(node_path, 1);
11
+ //#region src/services/piSettings/sync.ts
12
+ /**
13
+ * True when a directory's `.po` folder exists and is a repository's own configuration.
14
+ *
15
+ * @deprecated Node-only sync shim; use hasRepositoryPoDirectoryAsync. Removed in M2.
16
+ */
17
+ function hasRepositoryPoDirectory(directory, homeDirectory = require_index.nodeHost.homeDirectory(), environment = process.env) {
18
+ const marker = node_path.default.resolve(directory, ".po");
19
+ if (require_core$1.isPoHomeMarker(marker, homeDirectory, environment)) return false;
20
+ try {
21
+ return node_fs.default.statSync(marker).isDirectory();
22
+ } catch {
23
+ return false;
24
+ }
25
+ }
26
+ /** True when the directory names a model: credentials, a custom provider, or a default. */
27
+ function hasModelConfig(agentDirectory) {
28
+ try {
29
+ return node_fs.default.existsSync(node_path.default.join(agentDirectory, "models.json")) || Object.keys(require_sync.readJson(node_path.default.join(agentDirectory, "auth.json"))).length > 0 || typeof require_sync.readJson(require_core$1.piSettingsPath(agentDirectory)).defaultProvider === "string";
30
+ } catch {
31
+ return true;
32
+ }
33
+ }
34
+ /**
35
+ * Where Po reads auth.json and models.json from.
36
+ *
37
+ * @deprecated Node-only sync shim; use modelConfigDirectoryAsync. Removed in M2.
38
+ */
39
+ function modelConfigDirectory(agentDirectory, homeDirectory = require_index.nodeHost.homeDirectory()) {
40
+ if (hasModelConfig(agentDirectory)) return agentDirectory;
41
+ const pi = node_path.default.join(homeDirectory, ".pi", require_core$1.AGENT_DIRECTORY);
42
+ return pi !== agentDirectory && hasModelConfig(pi) ? pi : agentDirectory;
43
+ }
44
+ /**
45
+ * Model defaults fall back independently of credentials, only when settings.json is absent.
46
+ *
47
+ * @deprecated Node-only sync shim; use modelSettingsDirectoryAsync. Removed in M2.
48
+ */
49
+ function modelSettingsDirectory(agentDirectory, homeDirectory = require_index.nodeHost.homeDirectory()) {
50
+ if (node_fs.default.existsSync(require_core$1.piSettingsPath(agentDirectory))) return agentDirectory;
51
+ const pi = node_path.default.join(homeDirectory, ".pi", require_core$1.AGENT_DIRECTORY);
52
+ return node_fs.default.existsSync(require_core$1.piSettingsPath(pi)) ? pi : agentDirectory;
53
+ }
54
+ /** @deprecated Node-only sync shim; use readPiSettingsAsync. Removed in M2. */
55
+ function readPiSettings(agentDirectory) {
56
+ return require_core$1.normalizePiSettings(require_sync.readJson(require_core$1.piSettingsPath(agentDirectory)));
57
+ }
58
+ /**
59
+ * Merges the Po-owned keys into Pi's user settings file.
60
+ *
61
+ * @deprecated Node-only sync shim; use writePiSettingsAsync. Removed in M2.
62
+ */
63
+ function writePiSettings(agentDirectory, update) {
64
+ const settingsPath = require_core$1.piSettingsPath(agentDirectory);
65
+ require_sync.writeFileAtomic(settingsPath, require_core$1.serializePiSettings(require_core$1.mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)));
66
+ return settingsPath;
67
+ }
68
+ /**
69
+ * Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker.
70
+ *
71
+ * @deprecated Node-only sync shim; use isPoDispatcherPackageAsync. Removed in M2.
72
+ */
73
+ function isPoDispatcherPackage(directory) {
74
+ let content;
75
+ try {
76
+ content = node_fs.default.readFileSync(node_path.default.join(directory, require_core.PACKAGE_MANIFEST), "utf8");
77
+ } catch {
78
+ return false;
79
+ }
80
+ return require_core$1.isPoDispatcherManifest(content);
81
+ }
82
+ /**
83
+ * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.
84
+ *
85
+ * @deprecated Node-only sync shim; use removePoPiSettingsAsync. Removed in M2.
86
+ */
87
+ function removePoPiSettings(agentDirectory) {
88
+ const removed = [];
89
+ const settingsPath = require_core$1.piSettingsPath(agentDirectory);
90
+ const next = require_core$1.prunePoPiSettings(readPiSettings(agentDirectory), agentDirectory);
91
+ if (next) {
92
+ require_sync.writeFileAtomic(settingsPath, require_core$1.serializePiSettings(next));
93
+ removed.push(settingsPath);
94
+ }
95
+ const themePath = require_core$1.poThemePath(agentDirectory);
96
+ if (node_fs.default.lstatSync(themePath, { throwIfNoEntry: false })?.isFile()) {
97
+ node_fs.default.rmSync(themePath, { force: true });
98
+ removed.push(themePath);
99
+ }
100
+ const dispatcher = require_core$1.poDispatcherPath(agentDirectory);
101
+ if (node_fs.default.lstatSync(dispatcher, { throwIfNoEntry: false })?.isDirectory() && isPoDispatcherPackage(dispatcher)) {
102
+ node_fs.default.rmSync(dispatcher, {
103
+ recursive: true,
104
+ force: true
105
+ });
106
+ removed.push(dispatcher);
107
+ }
108
+ return removed;
109
+ }
110
+ //#endregion
111
+ exports.hasRepositoryPoDirectory = hasRepositoryPoDirectory;
112
+ exports.isPoDispatcherPackage = isPoDispatcherPackage;
113
+ exports.modelConfigDirectory = modelConfigDirectory;
114
+ exports.modelSettingsDirectory = modelSettingsDirectory;
115
+ exports.readPiSettings = readPiSettings;
116
+ exports.removePoPiSettings = removePoPiSettings;
117
+ exports.writePiSettings = writePiSettings;
118
+
119
+ //# sourceMappingURL=sync.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.cjs","names":["nodeHost","path","isPoHomeMarker","fs","readJson","piSettingsPath","AGENT_DIRECTORY","normalizePiSettings","serializePiSettings","mergePiSettings","PACKAGE_MANIFEST","isPoDispatcherManifest","prunePoPiSettings","poThemePath","poDispatcherPath"],"sources":["../../../../src/services/piSettings/sync.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { readJson, writeFileAtomic } from '../json';\nimport type { JsonObject } from '../json';\nimport { nodeHost } from '../nodeHost';\nimport { PACKAGE_MANIFEST } from '../poPackage';\nimport {\n AGENT_DIRECTORY,\n AUTH_FILE,\n isPoDispatcherManifest,\n isPoHomeMarker,\n mergePiSettings,\n MODELS_FILE,\n normalizePiSettings,\n PI_HOME_DIRECTORY,\n piSettingsPath,\n PO_HOME_DIRECTORY,\n poDispatcherPath,\n poThemePath,\n prunePoPiSettings,\n serializePiSettings,\n} from './core';\nimport type { PiSettingsUpdate } from './core';\n\n/**\n * True when a directory's `.po` folder exists and is a repository's own configuration.\n *\n * @deprecated Node-only sync shim; use hasRepositoryPoDirectoryAsync. Removed in M2.\n */\nexport function hasRepositoryPoDirectory(\n directory: string,\n homeDirectory: string = nodeHost.homeDirectory(),\n environment: Readonly<Record<string, string | undefined>> = process.env,\n): boolean {\n const marker = path.resolve(directory, PO_HOME_DIRECTORY);\n if (isPoHomeMarker(marker, homeDirectory, environment)) return false;\n try {\n return fs.statSync(marker).isDirectory();\n } catch {\n // No readable `.po` folder here, so this directory is not marked as a repository.\n return false;\n }\n}\n\n/** True when the directory names a model: credentials, a custom provider, or a default. */\nfunction hasModelConfig(agentDirectory: string): boolean {\n try {\n return (\n fs.existsSync(path.join(agentDirectory, MODELS_FILE)) ||\n Object.keys(readJson(path.join(agentDirectory, AUTH_FILE))).length > 0 ||\n typeof readJson(piSettingsPath(agentDirectory)).defaultProvider === 'string'\n );\n } catch {\n // A malformed file is still the user's config: surface its error rather than switch away.\n return true;\n }\n}\n\n/**\n * Where Po reads auth.json and models.json from.\n *\n * @deprecated Node-only sync shim; use modelConfigDirectoryAsync. Removed in M2.\n */\nexport function modelConfigDirectory(agentDirectory: string, homeDirectory: string = nodeHost.homeDirectory()): string {\n if (hasModelConfig(agentDirectory)) return agentDirectory;\n const pi = path.join(homeDirectory, PI_HOME_DIRECTORY, AGENT_DIRECTORY);\n return pi !== agentDirectory && hasModelConfig(pi) ? pi : agentDirectory;\n}\n\n/**\n * Model defaults fall back independently of credentials, only when settings.json is absent.\n *\n * @deprecated Node-only sync shim; use modelSettingsDirectoryAsync. Removed in M2.\n */\nexport function modelSettingsDirectory(\n agentDirectory: string,\n homeDirectory: string = nodeHost.homeDirectory(),\n): string {\n if (fs.existsSync(piSettingsPath(agentDirectory))) return agentDirectory;\n const pi = path.join(homeDirectory, PI_HOME_DIRECTORY, AGENT_DIRECTORY);\n return fs.existsSync(piSettingsPath(pi)) ? pi : agentDirectory;\n}\n\n/** @deprecated Node-only sync shim; use readPiSettingsAsync. Removed in M2. */\nexport function readPiSettings(agentDirectory: string): JsonObject {\n return normalizePiSettings(readJson(piSettingsPath(agentDirectory)));\n}\n\n/**\n * Merges the Po-owned keys into Pi's user settings file.\n *\n * @deprecated Node-only sync shim; use writePiSettingsAsync. Removed in M2.\n */\nexport function writePiSettings(agentDirectory: string, update: PiSettingsUpdate): string {\n const settingsPath = piSettingsPath(agentDirectory);\n writeFileAtomic(\n settingsPath,\n serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)),\n );\n return settingsPath;\n}\n\n/**\n * Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker.\n *\n * @deprecated Node-only sync shim; use isPoDispatcherPackageAsync. Removed in M2.\n */\nexport function isPoDispatcherPackage(directory: string): boolean {\n let content: string;\n try {\n content = fs.readFileSync(path.join(directory, PACKAGE_MANIFEST), 'utf8');\n } catch {\n // No readable manifest, so it is not the dispatcher package.\n return false;\n }\n return isPoDispatcherManifest(content);\n}\n\n/**\n * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.\n *\n * @deprecated Node-only sync shim; use removePoPiSettingsAsync. Removed in M2.\n */\nexport function removePoPiSettings(agentDirectory: string): string[] {\n const removed: string[] = [];\n const settingsPath = piSettingsPath(agentDirectory);\n const next = prunePoPiSettings(readPiSettings(agentDirectory), agentDirectory);\n if (next) {\n writeFileAtomic(settingsPath, serializePiSettings(next));\n removed.push(settingsPath);\n }\n const themePath = poThemePath(agentDirectory);\n if (fs.lstatSync(themePath, { throwIfNoEntry: false })?.isFile()) {\n fs.rmSync(themePath, { force: true });\n removed.push(themePath);\n }\n const dispatcher = poDispatcherPath(agentDirectory);\n const stat = fs.lstatSync(dispatcher, { throwIfNoEntry: false });\n if (stat?.isDirectory() && isPoDispatcherPackage(dispatcher)) {\n fs.rmSync(dispatcher, { recursive: true, force: true });\n removed.push(dispatcher);\n }\n return removed;\n}\n"],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { JsonObject } from "../json/core.mjs";
2
+ import "../../../runtimeJson.mjs";
3
+ import { PiSettingsUpdate } from "./core.mjs";
4
+ //#region src/services/piSettings/sync.d.ts
5
+ /**
6
+ * True when a directory's `.po` folder exists and is a repository's own configuration.
7
+ *
8
+ * @deprecated Node-only sync shim; use hasRepositoryPoDirectoryAsync. Removed in M2.
9
+ */
10
+ export declare function hasRepositoryPoDirectory(directory: string, homeDirectory?: string, environment?: Readonly<Record<string, string | undefined>>): boolean;
11
+ /**
12
+ * Where Po reads auth.json and models.json from.
13
+ *
14
+ * @deprecated Node-only sync shim; use modelConfigDirectoryAsync. Removed in M2.
15
+ */
16
+ export declare function modelConfigDirectory(agentDirectory: string, homeDirectory?: string): string;
17
+ /**
18
+ * Model defaults fall back independently of credentials, only when settings.json is absent.
19
+ *
20
+ * @deprecated Node-only sync shim; use modelSettingsDirectoryAsync. Removed in M2.
21
+ */
22
+ export declare function modelSettingsDirectory(agentDirectory: string, homeDirectory?: string): string;
23
+ /** @deprecated Node-only sync shim; use readPiSettingsAsync. Removed in M2. */
24
+ export declare function readPiSettings(agentDirectory: string): JsonObject;
25
+ /**
26
+ * Merges the Po-owned keys into Pi's user settings file.
27
+ *
28
+ * @deprecated Node-only sync shim; use writePiSettingsAsync. Removed in M2.
29
+ */
30
+ export declare function writePiSettings(agentDirectory: string, update: PiSettingsUpdate): string;
31
+ /**
32
+ * Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker.
33
+ *
34
+ * @deprecated Node-only sync shim; use isPoDispatcherPackageAsync. Removed in M2.
35
+ */
36
+ export declare function isPoDispatcherPackage(directory: string): boolean;
37
+ /**
38
+ * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.
39
+ *
40
+ * @deprecated Node-only sync shim; use removePoPiSettingsAsync. Removed in M2.
41
+ */
42
+ export declare function removePoPiSettings(agentDirectory: string): string[];
43
+ //#endregion
44
+ //# sourceMappingURL=sync.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.mts","names":[],"sources":["../../../../src/services/piSettings/sync.ts"],"mappings":";;;;;;;;;wBA8BgB,yBACd,mBACA,wBACA,cAAa,SAAS;;;;;;wBA+BR,qBAAqB,wBAAwB;;;;;;wBAW7C,uBACd,wBACA;;wBAQc,eAAe,yBAAyB;;;;;;wBASxC,gBAAgB,wBAAwB,QAAQ;;;;;;wBAchD,sBAAsB;;;;;;wBAgBtB,mBAAmB"}
@@ -0,0 +1,110 @@
1
+ import { readJson, writeFileAtomic } from "../json/sync.mjs";
2
+ import "../../../runtimeJson.mjs";
3
+ import { nodeHost } from "../nodeHost/index.mjs";
4
+ import { PACKAGE_MANIFEST } from "../poPackage/core.mjs";
5
+ import { AGENT_DIRECTORY, isPoDispatcherManifest, isPoHomeMarker, mergePiSettings, normalizePiSettings, piSettingsPath, poDispatcherPath, poThemePath, prunePoPiSettings, serializePiSettings } from "./core.mjs";
6
+ import fs from "node:fs";
7
+ import path from "node:path";
8
+ //#region src/services/piSettings/sync.ts
9
+ /**
10
+ * True when a directory's `.po` folder exists and is a repository's own configuration.
11
+ *
12
+ * @deprecated Node-only sync shim; use hasRepositoryPoDirectoryAsync. Removed in M2.
13
+ */
14
+ function hasRepositoryPoDirectory(directory, homeDirectory = nodeHost.homeDirectory(), environment = process.env) {
15
+ const marker = path.resolve(directory, ".po");
16
+ if (isPoHomeMarker(marker, homeDirectory, environment)) return false;
17
+ try {
18
+ return fs.statSync(marker).isDirectory();
19
+ } catch {
20
+ return false;
21
+ }
22
+ }
23
+ /** True when the directory names a model: credentials, a custom provider, or a default. */
24
+ function hasModelConfig(agentDirectory) {
25
+ try {
26
+ return fs.existsSync(path.join(agentDirectory, "models.json")) || Object.keys(readJson(path.join(agentDirectory, "auth.json"))).length > 0 || typeof readJson(piSettingsPath(agentDirectory)).defaultProvider === "string";
27
+ } catch {
28
+ return true;
29
+ }
30
+ }
31
+ /**
32
+ * Where Po reads auth.json and models.json from.
33
+ *
34
+ * @deprecated Node-only sync shim; use modelConfigDirectoryAsync. Removed in M2.
35
+ */
36
+ function modelConfigDirectory(agentDirectory, homeDirectory = nodeHost.homeDirectory()) {
37
+ if (hasModelConfig(agentDirectory)) return agentDirectory;
38
+ const pi = path.join(homeDirectory, ".pi", AGENT_DIRECTORY);
39
+ return pi !== agentDirectory && hasModelConfig(pi) ? pi : agentDirectory;
40
+ }
41
+ /**
42
+ * Model defaults fall back independently of credentials, only when settings.json is absent.
43
+ *
44
+ * @deprecated Node-only sync shim; use modelSettingsDirectoryAsync. Removed in M2.
45
+ */
46
+ function modelSettingsDirectory(agentDirectory, homeDirectory = nodeHost.homeDirectory()) {
47
+ if (fs.existsSync(piSettingsPath(agentDirectory))) return agentDirectory;
48
+ const pi = path.join(homeDirectory, ".pi", AGENT_DIRECTORY);
49
+ return fs.existsSync(piSettingsPath(pi)) ? pi : agentDirectory;
50
+ }
51
+ /** @deprecated Node-only sync shim; use readPiSettingsAsync. Removed in M2. */
52
+ function readPiSettings(agentDirectory) {
53
+ return normalizePiSettings(readJson(piSettingsPath(agentDirectory)));
54
+ }
55
+ /**
56
+ * Merges the Po-owned keys into Pi's user settings file.
57
+ *
58
+ * @deprecated Node-only sync shim; use writePiSettingsAsync. Removed in M2.
59
+ */
60
+ function writePiSettings(agentDirectory, update) {
61
+ const settingsPath = piSettingsPath(agentDirectory);
62
+ writeFileAtomic(settingsPath, serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)));
63
+ return settingsPath;
64
+ }
65
+ /**
66
+ * Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker.
67
+ *
68
+ * @deprecated Node-only sync shim; use isPoDispatcherPackageAsync. Removed in M2.
69
+ */
70
+ function isPoDispatcherPackage(directory) {
71
+ let content;
72
+ try {
73
+ content = fs.readFileSync(path.join(directory, PACKAGE_MANIFEST), "utf8");
74
+ } catch {
75
+ return false;
76
+ }
77
+ return isPoDispatcherManifest(content);
78
+ }
79
+ /**
80
+ * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.
81
+ *
82
+ * @deprecated Node-only sync shim; use removePoPiSettingsAsync. Removed in M2.
83
+ */
84
+ function removePoPiSettings(agentDirectory) {
85
+ const removed = [];
86
+ const settingsPath = piSettingsPath(agentDirectory);
87
+ const next = prunePoPiSettings(readPiSettings(agentDirectory), agentDirectory);
88
+ if (next) {
89
+ writeFileAtomic(settingsPath, serializePiSettings(next));
90
+ removed.push(settingsPath);
91
+ }
92
+ const themePath = poThemePath(agentDirectory);
93
+ if (fs.lstatSync(themePath, { throwIfNoEntry: false })?.isFile()) {
94
+ fs.rmSync(themePath, { force: true });
95
+ removed.push(themePath);
96
+ }
97
+ const dispatcher = poDispatcherPath(agentDirectory);
98
+ if (fs.lstatSync(dispatcher, { throwIfNoEntry: false })?.isDirectory() && isPoDispatcherPackage(dispatcher)) {
99
+ fs.rmSync(dispatcher, {
100
+ recursive: true,
101
+ force: true
102
+ });
103
+ removed.push(dispatcher);
104
+ }
105
+ return removed;
106
+ }
107
+ //#endregion
108
+ export { hasRepositoryPoDirectory, isPoDispatcherPackage, modelConfigDirectory, modelSettingsDirectory, readPiSettings, removePoPiSettings, writePiSettings };
109
+
110
+ //# sourceMappingURL=sync.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.mjs","names":[],"sources":["../../../../src/services/piSettings/sync.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { readJson, writeFileAtomic } from '../json';\nimport type { JsonObject } from '../json';\nimport { nodeHost } from '../nodeHost';\nimport { PACKAGE_MANIFEST } from '../poPackage';\nimport {\n AGENT_DIRECTORY,\n AUTH_FILE,\n isPoDispatcherManifest,\n isPoHomeMarker,\n mergePiSettings,\n MODELS_FILE,\n normalizePiSettings,\n PI_HOME_DIRECTORY,\n piSettingsPath,\n PO_HOME_DIRECTORY,\n poDispatcherPath,\n poThemePath,\n prunePoPiSettings,\n serializePiSettings,\n} from './core';\nimport type { PiSettingsUpdate } from './core';\n\n/**\n * True when a directory's `.po` folder exists and is a repository's own configuration.\n *\n * @deprecated Node-only sync shim; use hasRepositoryPoDirectoryAsync. Removed in M2.\n */\nexport function hasRepositoryPoDirectory(\n directory: string,\n homeDirectory: string = nodeHost.homeDirectory(),\n environment: Readonly<Record<string, string | undefined>> = process.env,\n): boolean {\n const marker = path.resolve(directory, PO_HOME_DIRECTORY);\n if (isPoHomeMarker(marker, homeDirectory, environment)) return false;\n try {\n return fs.statSync(marker).isDirectory();\n } catch {\n // No readable `.po` folder here, so this directory is not marked as a repository.\n return false;\n }\n}\n\n/** True when the directory names a model: credentials, a custom provider, or a default. */\nfunction hasModelConfig(agentDirectory: string): boolean {\n try {\n return (\n fs.existsSync(path.join(agentDirectory, MODELS_FILE)) ||\n Object.keys(readJson(path.join(agentDirectory, AUTH_FILE))).length > 0 ||\n typeof readJson(piSettingsPath(agentDirectory)).defaultProvider === 'string'\n );\n } catch {\n // A malformed file is still the user's config: surface its error rather than switch away.\n return true;\n }\n}\n\n/**\n * Where Po reads auth.json and models.json from.\n *\n * @deprecated Node-only sync shim; use modelConfigDirectoryAsync. Removed in M2.\n */\nexport function modelConfigDirectory(agentDirectory: string, homeDirectory: string = nodeHost.homeDirectory()): string {\n if (hasModelConfig(agentDirectory)) return agentDirectory;\n const pi = path.join(homeDirectory, PI_HOME_DIRECTORY, AGENT_DIRECTORY);\n return pi !== agentDirectory && hasModelConfig(pi) ? pi : agentDirectory;\n}\n\n/**\n * Model defaults fall back independently of credentials, only when settings.json is absent.\n *\n * @deprecated Node-only sync shim; use modelSettingsDirectoryAsync. Removed in M2.\n */\nexport function modelSettingsDirectory(\n agentDirectory: string,\n homeDirectory: string = nodeHost.homeDirectory(),\n): string {\n if (fs.existsSync(piSettingsPath(agentDirectory))) return agentDirectory;\n const pi = path.join(homeDirectory, PI_HOME_DIRECTORY, AGENT_DIRECTORY);\n return fs.existsSync(piSettingsPath(pi)) ? pi : agentDirectory;\n}\n\n/** @deprecated Node-only sync shim; use readPiSettingsAsync. Removed in M2. */\nexport function readPiSettings(agentDirectory: string): JsonObject {\n return normalizePiSettings(readJson(piSettingsPath(agentDirectory)));\n}\n\n/**\n * Merges the Po-owned keys into Pi's user settings file.\n *\n * @deprecated Node-only sync shim; use writePiSettingsAsync. Removed in M2.\n */\nexport function writePiSettings(agentDirectory: string, update: PiSettingsUpdate): string {\n const settingsPath = piSettingsPath(agentDirectory);\n writeFileAtomic(\n settingsPath,\n serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)),\n );\n return settingsPath;\n}\n\n/**\n * Whether a directory is the dispatcher package `po init` generated, by its manifest ownership marker.\n *\n * @deprecated Node-only sync shim; use isPoDispatcherPackageAsync. Removed in M2.\n */\nexport function isPoDispatcherPackage(directory: string): boolean {\n let content: string;\n try {\n content = fs.readFileSync(path.join(directory, PACKAGE_MANIFEST), 'utf8');\n } catch {\n // No readable manifest, so it is not the dispatcher package.\n return false;\n }\n return isPoDispatcherManifest(content);\n}\n\n/**\n * Removes the entries `po init` and older `po sync` runs added to Pi's user agent directory.\n *\n * @deprecated Node-only sync shim; use removePoPiSettingsAsync. Removed in M2.\n */\nexport function removePoPiSettings(agentDirectory: string): string[] {\n const removed: string[] = [];\n const settingsPath = piSettingsPath(agentDirectory);\n const next = prunePoPiSettings(readPiSettings(agentDirectory), agentDirectory);\n if (next) {\n writeFileAtomic(settingsPath, serializePiSettings(next));\n removed.push(settingsPath);\n }\n const themePath = poThemePath(agentDirectory);\n if (fs.lstatSync(themePath, { throwIfNoEntry: false })?.isFile()) {\n fs.rmSync(themePath, { force: true });\n removed.push(themePath);\n }\n const dispatcher = poDispatcherPath(agentDirectory);\n const stat = fs.lstatSync(dispatcher, { throwIfNoEntry: false });\n if (stat?.isDirectory() && isPoDispatcherPackage(dispatcher)) {\n fs.rmSync(dispatcher, { recursive: true, force: true });\n removed.push(dispatcher);\n }\n return removed;\n}\n"],"mappings":";;;;;;;;;;;;;AA8BA,SAAgB,yBACd,WACA,gBAAwB,SAAS,cAAc,GAC/C,cAA4D,QAAQ,KAC3D;CACT,MAAM,SAAS,KAAK,QAAQ,WAAA,KAA4B;CACxD,IAAI,eAAe,QAAQ,eAAe,WAAW,GAAG,OAAO;CAC/D,IAAI;EACF,OAAO,GAAG,SAAS,MAAM,CAAC,CAAC,YAAY;CACzC,QAAQ;EAEN,OAAO;CACT;AACF;;AAGA,SAAS,eAAe,gBAAiC;CACvD,IAAI;EACF,OACE,GAAG,WAAW,KAAK,KAAK,gBAAA,aAA2B,CAAC,KACpD,OAAO,KAAK,SAAS,KAAK,KAAK,gBAAA,WAAyB,CAAC,CAAC,CAAC,CAAC,SAAS,KACrE,OAAO,SAAS,eAAe,cAAc,CAAC,CAAC,CAAC,oBAAoB;CAExE,QAAQ;EAEN,OAAO;CACT;AACF;;;;;;AAOA,SAAgB,qBAAqB,gBAAwB,gBAAwB,SAAS,cAAc,GAAW;CACrH,IAAI,eAAe,cAAc,GAAG,OAAO;CAC3C,MAAM,KAAK,KAAK,KAAK,eAAA,OAAkC,eAAe;CACtE,OAAO,OAAO,kBAAkB,eAAe,EAAE,IAAI,KAAK;AAC5D;;;;;;AAOA,SAAgB,uBACd,gBACA,gBAAwB,SAAS,cAAc,GACvC;CACR,IAAI,GAAG,WAAW,eAAe,cAAc,CAAC,GAAG,OAAO;CAC1D,MAAM,KAAK,KAAK,KAAK,eAAA,OAAkC,eAAe;CACtE,OAAO,GAAG,WAAW,eAAe,EAAE,CAAC,IAAI,KAAK;AAClD;;AAGA,SAAgB,eAAe,gBAAoC;CACjE,OAAO,oBAAoB,SAAS,eAAe,cAAc,CAAC,CAAC;AACrE;;;;;;AAOA,SAAgB,gBAAgB,gBAAwB,QAAkC;CACxF,MAAM,eAAe,eAAe,cAAc;CAClD,gBACE,cACA,oBAAoB,gBAAgB,eAAe,cAAc,GAAG,gBAAgB,MAAM,CAAC,CAC7F;CACA,OAAO;AACT;;;;;;AAOA,SAAgB,sBAAsB,WAA4B;CAChE,IAAI;CACJ,IAAI;EACF,UAAU,GAAG,aAAa,KAAK,KAAK,WAAW,gBAAgB,GAAG,MAAM;CAC1E,QAAQ;EAEN,OAAO;CACT;CACA,OAAO,uBAAuB,OAAO;AACvC;;;;;;AAOA,SAAgB,mBAAmB,gBAAkC;CACnE,MAAM,UAAoB,CAAC;CAC3B,MAAM,eAAe,eAAe,cAAc;CAClD,MAAM,OAAO,kBAAkB,eAAe,cAAc,GAAG,cAAc;CAC7E,IAAI,MAAM;EACR,gBAAgB,cAAc,oBAAoB,IAAI,CAAC;EACvD,QAAQ,KAAK,YAAY;CAC3B;CACA,MAAM,YAAY,YAAY,cAAc;CAC5C,IAAI,GAAG,UAAU,WAAW,EAAE,gBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG;EAChE,GAAG,OAAO,WAAW,EAAE,OAAO,KAAK,CAAC;EACpC,QAAQ,KAAK,SAAS;CACxB;CACA,MAAM,aAAa,iBAAiB,cAAc;CAElD,IADa,GAAG,UAAU,YAAY,EAAE,gBAAgB,MAAM,CACvD,CAAC,EAAE,YAAY,KAAK,sBAAsB,UAAU,GAAG;EAC5D,GAAG,OAAO,YAAY;GAAE,WAAW;GAAM,OAAO;EAAK,CAAC;EACtD,QAAQ,KAAK,UAAU;CACzB;CACA,OAAO;AACT"}