@chainingintention/pi-web-cn 1.202610.0 → 1.202610.2

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 (333) hide show
  1. package/README.md +60 -106
  2. package/dist/.plugins-ready +1 -0
  3. package/dist/cli.js +161 -45
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client/assets/index-CFhaGb5m.js +4357 -0
  6. package/dist/client/assets/vendor-editor-core-YWog6mAR.js +10 -0
  7. package/dist/client/assets/vendor-editor-languages-DOCw3vc9.js +28 -0
  8. package/dist/client/index.html +5 -5
  9. package/dist/config.js +30 -6
  10. package/dist/config.js.map +1 -1
  11. package/dist/docker/piWebDockerCommandPlan.js +13 -4
  12. package/dist/docker/piWebDockerCommandPlan.js.map +1 -1
  13. package/dist/nativeServices/installedServiceDefinitions.js +23 -10
  14. package/dist/nativeServices/installedServiceDefinitions.js.map +1 -1
  15. package/dist/nativeServices/serviceAction.js +78 -20
  16. package/dist/nativeServices/serviceAction.js.map +1 -1
  17. package/dist/nativeServices/serviceDoctor.js +339 -67
  18. package/dist/nativeServices/serviceDoctor.js.map +1 -1
  19. package/dist/nativeServices/servicePlan.js +2 -2
  20. package/dist/nativeServices/servicePlan.js.map +1 -1
  21. package/dist/pi-packages/captains-log/README.md +11 -0
  22. package/dist/pi-packages/captains-log/dist/browser/channelProtocol.js +29 -0
  23. package/dist/pi-packages/captains-log/dist/browser/index.js +146 -0
  24. package/dist/pi-packages/captains-log/dist/browser/markdown.js +67 -0
  25. package/dist/pi-packages/captains-log/dist/browser/panel.js +151 -0
  26. package/dist/pi-packages/captains-log/dist/browser/protocol.js +26 -0
  27. package/dist/pi-packages/captains-log/dist/companion.js +126 -0
  28. package/dist/pi-packages/captains-log/dist/roundtrip.js +62 -0
  29. package/dist/pi-packages/captains-log/dist/server.js +210 -0
  30. package/dist/pi-packages/captains-log/dist/store.js +75 -0
  31. package/dist/pi-packages/captains-log/docs/usage.md +29 -0
  32. package/dist/pi-packages/captains-log/package.json +35 -0
  33. package/dist/pi-packages/captains-log/tsconfig.json +21 -0
  34. package/dist/pi-packages/captains-log/vite.config.mjs +28 -0
  35. package/dist/pi-packages/relays/pi-web-plugin.js +9 -9
  36. package/dist/pi-packages/relays/prompts/relay.md +1 -1
  37. package/dist/pi-packages/relays/relaysPanelElement.js +8 -8
  38. package/dist/pi-packages/relays/skills/relay-runner/SKILL.md +21 -13
  39. package/dist/pi-web-plugins/files/browser/assets/files-icon-DZObYhxb.svg +3 -0
  40. package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +456 -0
  41. package/dist/pi-web-plugins/files/package.json +15 -0
  42. package/dist/pi-web-plugins/git/browser/git-panel.js +55 -32
  43. package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +2 -2
  44. package/dist/pi-web-plugins/git/git-backend.js +19 -26
  45. package/dist/pi-web-plugins/git/gitStatusCache.js +48 -0
  46. package/dist/pi-web-plugins/git/package.json +1 -0
  47. package/dist/pi-web-plugins/git/server-plugin.js +11 -10
  48. package/dist/pi-web-plugins/info/infoInternals.js +4 -1
  49. package/dist/pi-web-plugins/info/package.json +1 -1
  50. package/dist/pi-web-plugins/info/pi-web-plugin.js +8 -8
  51. package/dist/pi-web-plugins/mermaid/browser/mermaid-engine.js +3590 -0
  52. package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +6 -0
  53. package/dist/pi-web-plugins/mermaid/package.json +13 -0
  54. package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +210 -0
  55. package/dist/pi-web-plugins/terminal/package.json +16 -0
  56. package/dist/pi-web-plugins/terminal/server-plugin.js +365 -0
  57. package/dist/pi-web-plugins/terminal/terminalService.js +435 -0
  58. package/dist/pi-web-plugins/updates/package.json +1 -1
  59. package/dist/pi-web-plugins/updates/pi-web-plugin.js +69 -68
  60. package/dist/pi-web-plugins/workspace-tasks/package.json +1 -1
  61. package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +3 -3
  62. package/dist/piWebVersionReport.js +47 -24
  63. package/dist/piWebVersionReport.js.map +1 -1
  64. package/dist/plugin-api.d.ts +260 -25
  65. package/dist/plugin-api.js +1 -0
  66. package/dist/pluginRecoveryCli.js +3 -2
  67. package/dist/pluginRecoveryCli.js.map +1 -1
  68. package/dist/server/activity/workspaceActivityService.js +5 -5
  69. package/dist/server/activity/workspaceActivityService.js.map +1 -1
  70. package/dist/server/app.js +71 -44
  71. package/dist/server/app.js.map +1 -1
  72. package/dist/server/audit/managementAuditStore.js +1 -1
  73. package/dist/server/browserMessageProjection.js +0 -2
  74. package/dist/server/browserMessageProjection.js.map +1 -1
  75. package/dist/server/configRoutes.js +1 -2
  76. package/dist/server/configRoutes.js.map +1 -1
  77. package/dist/server/knownPiPackages.js +12 -0
  78. package/dist/server/knownPiPackages.js.map +1 -0
  79. package/dist/server/machines/machineClient.js +2 -2
  80. package/dist/server/machines/machineClient.js.map +1 -1
  81. package/dist/server/machines/machinePluginProxyRoutes.js +120 -21
  82. package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -1
  83. package/dist/server/machines/machineProxyRoutes.js +80 -22
  84. package/dist/server/machines/machineProxyRoutes.js.map +1 -1
  85. package/dist/server/machines/machineService.js +22 -0
  86. package/dist/server/machines/machineService.js.map +1 -1
  87. package/dist/server/managementEmbed.js +2 -2
  88. package/dist/server/managementEmbed.js.map +1 -1
  89. package/dist/server/managementPrivileges.js +7 -1
  90. package/dist/server/managementPrivileges.js.map +1 -1
  91. package/dist/server/managementTerminalProxyRoutes.js +124 -0
  92. package/dist/server/managementTerminalProxyRoutes.js.map +1 -0
  93. package/dist/server/normalAuth.js +5 -1
  94. package/dist/server/normalAuth.js.map +1 -1
  95. package/dist/server/notices/serverNoticeStore.js +50 -6
  96. package/dist/server/notices/serverNoticeStore.js.map +1 -1
  97. package/dist/server/piPackageService.js +5 -5
  98. package/dist/server/piPackageService.js.map +1 -1
  99. package/dist/server/piWebPluginCatalog.js +211 -34
  100. package/dist/server/piWebPluginCatalog.js.map +1 -1
  101. package/dist/server/piWebPluginLifecycle.js +29 -3
  102. package/dist/server/piWebPluginLifecycle.js.map +1 -1
  103. package/dist/server/piWebPluginService.js +176 -291
  104. package/dist/server/piWebPluginService.js.map +1 -1
  105. package/dist/server/piWebStatus.js +45 -55
  106. package/dist/server/piWebStatus.js.map +1 -1
  107. package/dist/server/pluginCallbackDrain.js +35 -0
  108. package/dist/server/pluginCallbackDrain.js.map +1 -0
  109. package/dist/server/plugins/pluginBackendChannelProxyAdmission.js +84 -0
  110. package/dist/server/plugins/pluginBackendChannelProxyAdmission.js.map +1 -0
  111. package/dist/server/plugins/pluginBackendChannelProxyCoordinator.js +234 -0
  112. package/dist/server/plugins/pluginBackendChannelProxyCoordinator.js.map +1 -0
  113. package/dist/server/plugins/pluginBackendChannelProxyRoutes.js +63 -0
  114. package/dist/server/plugins/pluginBackendChannelProxyRoutes.js.map +1 -0
  115. package/dist/server/plugins/pluginBackendProxyRoutes.js +7 -4
  116. package/dist/server/plugins/pluginBackendProxyRoutes.js.map +1 -1
  117. package/dist/server/plugins/pluginBackendRegistry.js +773 -0
  118. package/dist/server/plugins/pluginBackendRegistry.js.map +1 -0
  119. package/dist/server/plugins/serverPluginPiSessionEventsCapability.js +34 -0
  120. package/dist/server/plugins/serverPluginPiSessionEventsCapability.js.map +1 -0
  121. package/dist/server/plugins/serverPluginPiSessionsCapability.js +185 -0
  122. package/dist/server/plugins/serverPluginPiSessionsCapability.js.map +1 -0
  123. package/dist/server/plugins/serverPluginRuntime.js +1049 -107
  124. package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
  125. package/dist/server/plugins/serverPluginWorkspacesCapability.js +114 -0
  126. package/dist/server/plugins/serverPluginWorkspacesCapability.js.map +1 -0
  127. package/dist/server/projectTrustRoutes.js +86 -0
  128. package/dist/server/projectTrustRoutes.js.map +1 -0
  129. package/dist/server/projects/projectLifecycleService.js +84 -0
  130. package/dist/server/projects/projectLifecycleService.js.map +1 -0
  131. package/dist/server/projects/projectService.js +2 -0
  132. package/dist/server/projects/projectService.js.map +1 -1
  133. package/dist/server/realtime/sessionEventHub.js +35 -41
  134. package/dist/server/realtime/sessionEventHub.js.map +1 -1
  135. package/dist/server/sessiond/agentHttpDispatcher.js +108 -0
  136. package/dist/server/sessiond/agentHttpDispatcher.js.map +1 -0
  137. package/dist/server/sessiond/pluginBackendChannelRoutes.js +397 -0
  138. package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -0
  139. package/dist/server/sessiond/pluginBackendRoutes.js +19 -9
  140. package/dist/server/sessiond/pluginBackendRoutes.js.map +1 -1
  141. package/dist/server/sessiond/projectMutationRoutes.js +38 -0
  142. package/dist/server/sessiond/projectMutationRoutes.js.map +1 -0
  143. package/dist/server/sessiond/sessionDaemonShutdown.js +36 -0
  144. package/dist/server/sessiond/sessionDaemonShutdown.js.map +1 -0
  145. package/dist/server/sessiond/sessionDaemonStartup.js +30 -4
  146. package/dist/server/sessiond/sessionDaemonStartup.js.map +1 -1
  147. package/dist/server/sessiond/sessionProxyRoutes.js +47 -15
  148. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
  149. package/dist/server/sessiond/sessionServiceDependencies.js +4 -0
  150. package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
  151. package/dist/server/sessiond/sessiondStateOwnership.js +174 -39
  152. package/dist/server/sessiond/sessiondStateOwnership.js.map +1 -1
  153. package/dist/server/sessiond/workspaceRemovalRoutes.js +1 -1
  154. package/dist/server/sessiond/workspaceRemovalRoutes.js.map +1 -1
  155. package/dist/server/sessiond.js +226 -56
  156. package/dist/server/sessiond.js.map +1 -1
  157. package/dist/server/sessions/askUserTool.js +0 -3
  158. package/dist/server/sessions/askUserTool.js.map +1 -1
  159. package/dist/server/sessions/attachmentService.js +0 -1
  160. package/dist/server/sessions/attachmentService.js.map +1 -1
  161. package/dist/server/sessions/authService.js +8 -1
  162. package/dist/server/sessions/authService.js.map +1 -1
  163. package/dist/server/sessions/builtinCommands.js +2 -2
  164. package/dist/server/sessions/builtinCommands.js.map +1 -1
  165. package/dist/server/sessions/clientSessionPreview.js +14 -0
  166. package/dist/server/sessions/clientSessionPreview.js.map +1 -0
  167. package/dist/server/sessions/dockerEnvironmentFacts.js +82 -9
  168. package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
  169. package/dist/server/sessions/managementAgentTools.js +11 -6
  170. package/dist/server/sessions/managementAgentTools.js.map +1 -1
  171. package/dist/server/sessions/managementPermissionSystem.js +16 -4
  172. package/dist/server/sessions/managementPermissionSystem.js.map +1 -1
  173. package/dist/server/sessions/messagePaging.js +2 -2
  174. package/dist/server/sessions/messagePaging.js.map +1 -1
  175. package/dist/server/sessions/modelCatalogRefresher.js +4 -3
  176. package/dist/server/sessions/modelCatalogRefresher.js.map +1 -1
  177. package/dist/server/sessions/oauthLoginFlowService.js +2 -5
  178. package/dist/server/sessions/oauthLoginFlowService.js.map +1 -1
  179. package/dist/server/sessions/pendingAskStore.js +0 -3
  180. package/dist/server/sessions/pendingAskStore.js.map +1 -1
  181. package/dist/server/sessions/piSessionEventConnections.js +65 -0
  182. package/dist/server/sessions/piSessionEventConnections.js.map +1 -0
  183. package/dist/server/sessions/piSessionManagerGateway.js +56 -3
  184. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
  185. package/dist/server/sessions/piSessionService.js +785 -450
  186. package/dist/server/sessions/piSessionService.js.map +1 -1
  187. package/dist/server/sessions/projectAuthService.js +29 -2
  188. package/dist/server/sessions/projectAuthService.js.map +1 -1
  189. package/dist/server/sessions/projectSettingsScope.js +12 -4
  190. package/dist/server/sessions/projectSettingsScope.js.map +1 -1
  191. package/dist/server/sessions/projectTrust.js +119 -0
  192. package/dist/server/sessions/projectTrust.js.map +1 -0
  193. package/dist/server/sessions/sessionActivityMarker.js +105 -0
  194. package/dist/server/sessions/sessionActivityMarker.js.map +1 -0
  195. package/dist/server/sessions/sessionArchiveMapping.js +2 -8
  196. package/dist/server/sessions/sessionArchiveMapping.js.map +1 -1
  197. package/dist/server/sessions/sessionCommandService.js +12 -10
  198. package/dist/server/sessions/sessionCommandService.js.map +1 -1
  199. package/dist/server/sessions/sessionEnvironmentFacts.js +5 -4
  200. package/dist/server/sessions/sessionEnvironmentFacts.js.map +1 -1
  201. package/dist/server/sessions/sessionModelScope.js +42 -5
  202. package/dist/server/sessions/sessionModelScope.js.map +1 -1
  203. package/dist/server/sessions/sessionNameGenerator.js +6 -6
  204. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  205. package/dist/server/sessions/sessionRoutes.js +63 -15
  206. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  207. package/dist/server/sessions/sessionTreeProjection.js +29 -29
  208. package/dist/server/sessions/sessionTreeProjection.js.map +1 -1
  209. package/dist/server/sessions/sessionUiEvents.js +6 -7
  210. package/dist/server/sessions/sessionUiEvents.js.map +1 -1
  211. package/dist/server/sessions/sessionUnreadStore.js +26 -1
  212. package/dist/server/sessions/sessionUnreadStore.js.map +1 -1
  213. package/dist/server/sessions/spawnSessionTool.js +3 -3
  214. package/dist/server/sessions/spawnSessionTool.js.map +1 -1
  215. package/dist/server/sessions/spawnSubsessionTool.js +5 -5
  216. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  217. package/dist/server/sessions/spawnTargetResolver.js +1 -1
  218. package/dist/server/sessions/transcriptMessages.js +54 -0
  219. package/dist/server/sessions/transcriptMessages.js.map +1 -0
  220. package/dist/server/status/machineStatusService.js +3 -1
  221. package/dist/server/status/machineStatusService.js.map +1 -1
  222. package/dist/server/terminals/{terminalService.js → managementCommandRunService.js} +79 -107
  223. package/dist/server/terminals/managementCommandRunService.js.map +1 -0
  224. package/dist/server/terminals/managementTerminalRoutes.js +91 -0
  225. package/dist/server/terminals/managementTerminalRoutes.js.map +1 -0
  226. package/dist/server/terminals/requiredTerminalService.js +103 -0
  227. package/dist/server/terminals/requiredTerminalService.js.map +1 -0
  228. package/dist/server/webSocketBridge.js +339 -0
  229. package/dist/server/webSocketBridge.js.map +1 -1
  230. package/dist/server/workbench/gatewayIntegration.js +4 -1
  231. package/dist/server/workbench/gatewayIntegration.js.map +1 -1
  232. package/dist/server/workspaceExplorerRoutes.js +13 -12
  233. package/dist/server/workspaceExplorerRoutes.js.map +1 -1
  234. package/dist/server/workspaces/fileContentService.js +9 -7
  235. package/dist/server/workspaces/fileContentService.js.map +1 -1
  236. package/dist/server/workspaces/fileOperationService.js +4 -3
  237. package/dist/server/workspaces/fileOperationService.js.map +1 -1
  238. package/dist/server/workspaces/projectWorkspaceCwds.js +0 -5
  239. package/dist/server/workspaces/projectWorkspaceCwds.js.map +1 -1
  240. package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js +36 -12
  241. package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js.map +1 -1
  242. package/dist/server/workspaces/workspaceCatalog.js +6 -4
  243. package/dist/server/workspaces/workspaceCatalog.js.map +1 -1
  244. package/dist/server/workspaces/workspaceDeletionRoutes.js +5 -57
  245. package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -1
  246. package/dist/server/workspaces/workspaceProviderRegistry.js +75 -24
  247. package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
  248. package/dist/server/workspaces/workspaceRemovalService.js +25 -3
  249. package/dist/server/workspaces/workspaceRemovalService.js.map +1 -1
  250. package/dist/server-plugin-api.d.ts +274 -44
  251. package/dist/server-plugin-api.js +319 -2
  252. package/dist/server-plugin-api.js.map +1 -1
  253. package/dist/serverPluginRecovery.js +4 -0
  254. package/dist/serverPluginRecovery.js.map +1 -1
  255. package/dist/sessiond/activeAgentProfile.js +27 -2
  256. package/dist/sessiond/activeAgentProfile.js.map +1 -1
  257. package/dist/sessiond/config.js +4 -3
  258. package/dist/sessiond/config.js.map +1 -1
  259. package/dist/sessiond/sessionDaemonClient.js +29 -8
  260. package/dist/sessiond/sessionDaemonClient.js.map +1 -1
  261. package/dist/shared/activeAgentProfile.js +2 -34
  262. package/dist/shared/activeAgentProfile.js.map +1 -1
  263. package/dist/shared/activity.js +0 -3
  264. package/dist/shared/activity.js.map +1 -1
  265. package/dist/shared/apiTypes.js +7 -2
  266. package/dist/shared/apiTypes.js.map +1 -1
  267. package/dist/shared/capabilities.js +5 -0
  268. package/dist/shared/capabilities.js.map +1 -1
  269. package/dist/shared/federatedRoutes.js +49 -9
  270. package/dist/shared/federatedRoutes.js.map +1 -1
  271. package/dist/shared/machinePluginIds.js +30 -7
  272. package/dist/shared/machinePluginIds.js.map +1 -1
  273. package/dist/shared/machineStatus.js +35 -1
  274. package/dist/shared/machineStatus.js.map +1 -1
  275. package/dist/shared/piWebStatusParsing.js +29 -0
  276. package/dist/shared/piWebStatusParsing.js.map +1 -1
  277. package/dist/shared/pluginApiTypes.d.ts +24 -9
  278. package/dist/shared/pluginApiTypes.js +2 -0
  279. package/dist/shared/pluginApiTypes.js.map +1 -0
  280. package/dist/shared/pluginBackendProtocol.js +163 -2
  281. package/dist/shared/pluginBackendProtocol.js.map +1 -1
  282. package/dist/shared/pluginIds.js +10 -1
  283. package/dist/shared/pluginIds.js.map +1 -1
  284. package/dist/shared/requiredTerminalPlugin.js +6 -0
  285. package/dist/shared/requiredTerminalPlugin.js.map +1 -0
  286. package/dist/shared/serverNoticeContract.js +88 -0
  287. package/dist/shared/serverNoticeContract.js.map +1 -0
  288. package/dist/shared/sessionDefaults.js +41 -0
  289. package/dist/shared/sessionDefaults.js.map +1 -0
  290. package/dist/shared/workspaceFiles.js.map +1 -1
  291. package/docs/config.md +270 -323
  292. package/docs/plugins.md +171 -956
  293. package/examples/session-bridge-plugin/README.md +20 -0
  294. package/examples/session-bridge-plugin/docs/usage.md +54 -0
  295. package/examples/session-bridge-plugin/package.json +26 -0
  296. package/examples/session-bridge-plugin/src/browser/index.ts +87 -0
  297. package/examples/session-bridge-plugin/src/browser/protocol.ts +24 -0
  298. package/examples/session-bridge-plugin/src/companion.ts +65 -0
  299. package/examples/session-bridge-plugin/src/reviewRun.ts +39 -0
  300. package/examples/session-bridge-plugin/src/server.ts +85 -0
  301. package/examples/session-bridge-plugin/src/store.ts +80 -0
  302. package/examples/session-bridge-plugin/tsconfig.json +21 -0
  303. package/examples/workspace-provider-plugin/README.md +39 -0
  304. package/examples/workspace-provider-plugin/package.json +25 -0
  305. package/examples/workspace-provider-plugin/src/browser/index.ts +69 -0
  306. package/examples/workspace-provider-plugin/src/server.ts +68 -0
  307. package/examples/workspace-provider-plugin/tsconfig.json +21 -0
  308. package/package.json +22 -13
  309. package/skills/README.md +27 -2
  310. package/skills/relay-runner/SKILL.md +21 -13
  311. package/dist/client/assets/CodeViewer-CZHnKRwQ.js +0 -4
  312. package/dist/client/assets/TerminalPanel-B_EaRPHY.js +0 -187
  313. package/dist/client/assets/index-Bv1v-Jz7.js +0 -4717
  314. package/dist/client/assets/vendor-editor-core-vUi74DnD.js +0 -12
  315. package/dist/client/assets/vendor-editor-languages-DoaXUodB.js +0 -46
  316. package/dist/client/assets/vendor-editor-legacy-CYBnW6ZU.js +0 -1
  317. package/dist/client/assets/vendor-terminal-BrP-ENHg.css +0 -1
  318. package/dist/client/assets/vendor-terminal-D8k4UKM2.js +0 -35
  319. package/dist/server/git/gitService.js +0 -316
  320. package/dist/server/git/gitService.js.map +0 -1
  321. package/dist/server/gitRoutes.js +0 -23
  322. package/dist/server/gitRoutes.js.map +0 -1
  323. package/dist/server/terminalProxyRoutes.js +0 -181
  324. package/dist/server/terminalProxyRoutes.js.map +0 -1
  325. package/dist/server/terminals/terminalRoutes.js +0 -164
  326. package/dist/server/terminals/terminalRoutes.js.map +0 -1
  327. package/dist/server/terminals/terminalService.js.map +0 -1
  328. package/dist/server/terminals/terminalSize.js +0 -17
  329. package/dist/server/terminals/terminalSize.js.map +0 -1
  330. package/dist/server/workspaces/gitWorktreeDiscovery.js +0 -43
  331. package/dist/server/workspaces/gitWorktreeDiscovery.js.map +0 -1
  332. package/dist/server/workspaces/workspaceService.js +0 -52
  333. package/dist/server/workspaces/workspaceService.js.map +0 -1
@@ -8,9 +8,9 @@ import { fileURLToPath } from "node:url";
8
8
  import { DefaultPackageManager, SettingsManager, VERSION as PI_CODING_AGENT_VERSION } from "@earendil-works/pi-coding-agent";
9
9
  import { effectivePiWebCapabilities, WEB_RUNTIME_CAPABILITIES } from "../shared/capabilities.js";
10
10
  import { piWebDockerCommand } from "../docker/piWebDockerCommandPlan.js";
11
- import { parsePiWebComponentStatus, parsePiWebRuntimeComponent } from "../shared/piWebStatusParsing.js";
11
+ import { parsePiWebRuntimeComponent } from "../shared/piWebStatusParsing.js";
12
12
  import { SessionDaemonClient } from "../sessiond/sessionDaemonClient.js";
13
- import { isHostAbsoluteAgentDir, isPiCompanionCommand, isSafeAgentCommandForHost, PI_CODING_AGENT_DIR_ENV } from "../config.js";
13
+ import { effectiveAgentConfig, isHostAbsoluteAgentDir, isPiCompanionCommand, isSafeAgentCommandForHost, PI_CODING_AGENT_DIR_ENV, loadPiWebConfig } from "../config.js";
14
14
  import { createPiWebReleaseLookupCache } from "./piWebReleaseLookupCache.js";
15
15
  const PI_WEB_PACKAGE_NAME = "@chainingintention/pi-web-cn";
16
16
  const PI_WEB_NPM_SOURCE = `npm:${PI_WEB_PACKAGE_NAME}`;
@@ -44,7 +44,7 @@ const startServiceOrder = ["sessiond", "web", "uiDev"];
44
44
  const restartServiceOrder = ["web", "uiDev", "sessiond"];
45
45
  const latestReleaseLookupCache = createPiWebReleaseLookupCache(fetchLatestNpmVersion);
46
46
  const runtimePackageInfo = readPackageInfoSync();
47
- export function getPiWebRuntimeComponent(component, capabilities = []) {
47
+ export function getPiWebRuntimeComponent(component, capabilities = [], deprecatedAgentInputs = []) {
48
48
  return {
49
49
  component,
50
50
  label: component === "web" ? "Web/UI" : "Session daemon",
@@ -52,10 +52,22 @@ export function getPiWebRuntimeComponent(component, capabilities = []) {
52
52
  piVersion: PI_CODING_AGENT_VERSION,
53
53
  available: true,
54
54
  capabilities: [...capabilities],
55
+ ...(deprecatedAgentInputs.length === 0 ? {} : { deprecatedAgentInputs }),
55
56
  };
56
57
  }
57
- export async function getPiWebRuntime(daemon = new SessionDaemonClient()) {
58
- const web = getPiWebRuntimeComponent("web", WEB_RUNTIME_CAPABILITIES);
58
+ function webRuntimeComponent(loadConfig) {
59
+ try {
60
+ return getPiWebRuntimeComponent("web", WEB_RUNTIME_CAPABILITIES, loadConfig().deprecatedAgentInputs);
61
+ }
62
+ catch (error) {
63
+ return {
64
+ ...getPiWebRuntimeComponent("web", WEB_RUNTIME_CAPABILITIES),
65
+ error: `Could not check for deprecated agent configuration inputs: ${error instanceof Error ? error.message : String(error)}`,
66
+ };
67
+ }
68
+ }
69
+ export async function getPiWebRuntime(daemon = new SessionDaemonClient(), options = {}) {
70
+ const web = webRuntimeComponent(options.loadConfig ?? loadPiWebConfig);
59
71
  const sessiond = await getSessiondRuntimeComponent(daemon);
60
72
  return {
61
73
  packageName: PI_WEB_PACKAGE_NAME,
@@ -228,7 +240,7 @@ async function detectPiPackageInstallation(realRoot, displayPath, agentDir) {
228
240
  if (installedPath === undefined)
229
241
  continue;
230
242
  const realInstalledPath = await realPathOrSelf(installedPath);
231
- if (isSameOrWithin(realInstalledPath, realRoot) || isSameOrWithin(realRoot, realInstalledPath)) {
243
+ if (isSameOrWithin(realInstalledPath, realRoot)) {
232
244
  return { kind: "pi-package", path: displayPath, source: configuredPackage.source, scope: configuredPackage.scope };
233
245
  }
234
246
  }
@@ -271,16 +283,13 @@ async function getSessiondRuntimeComponent(daemon) {
271
283
  try {
272
284
  const upstream = await daemon.request("GET", "/runtime");
273
285
  if (upstream.statusCode < 200 || upstream.statusCode >= 300) {
274
- return await legacySessiondRuntimeComponent(daemon) ?? unavailableSessiondRuntime(`runtime check returned HTTP ${String(upstream.statusCode)}`);
286
+ return unavailableSessiondRuntime(`runtime check returned HTTP ${String(upstream.statusCode)}`);
275
287
  }
276
288
  const parsed = upstream.body === "" ? undefined : JSON.parse(upstream.body);
277
289
  const runtime = parsePiWebRuntimeComponent(parsed);
278
290
  if (runtime !== undefined)
279
291
  return runtime;
280
- const legacyVersion = isRecord(parsed) ? parsePiWebComponentStatus(parsed["version"]) : undefined;
281
- if (legacyVersion !== undefined)
282
- return runtimeComponentFromStatus(legacyVersion);
283
- return await legacySessiondRuntimeComponent(daemon) ?? unavailableSessiondRuntime("runtime response did not include valid runtime information");
292
+ return unavailableSessiondRuntime("runtime response did not include valid runtime information");
284
293
  }
285
294
  catch (error) {
286
295
  return unavailableSessiondRuntime(error instanceof Error ? error.message : String(error));
@@ -290,15 +299,12 @@ async function getSessiondComponentStatus(daemon, options = {}) {
290
299
  try {
291
300
  const upstream = await daemon.request("GET", "/runtime");
292
301
  if (upstream.statusCode < 200 || upstream.statusCode >= 300) {
293
- return await legacySessiondComponentStatus(daemon) ?? unavailableSessiond(`runtime check returned HTTP ${String(upstream.statusCode)}`);
302
+ return unavailableSessiond(`runtime check returned HTTP ${String(upstream.statusCode)}`);
294
303
  }
295
304
  const parsed = upstream.body === "" ? undefined : JSON.parse(upstream.body);
296
- const legacyVersion = isRecord(parsed) ? parsePiWebComponentStatus(parsed["version"]) : undefined;
297
- if (legacyVersion !== undefined)
298
- return legacyVersion;
299
305
  const runtime = parsePiWebRuntimeComponent(parsed);
300
306
  if (runtime?.available !== true)
301
- return await legacySessiondComponentStatus(daemon) ?? unavailableSessiond(runtime?.error ?? "runtime response did not include valid runtime information");
307
+ return unavailableSessiond(runtime?.error ?? "runtime response did not include valid runtime information");
302
308
  const status = await getPiWebComponentStatus("sessiond", options);
303
309
  const runtimeVersion = runtime.runtimeVersion ?? status.runtimeVersion;
304
310
  return {
@@ -313,33 +319,6 @@ async function getSessiondComponentStatus(daemon, options = {}) {
313
319
  return unavailableSessiond(error instanceof Error ? error.message : String(error));
314
320
  }
315
321
  }
316
- async function legacySessiondRuntimeComponent(daemon) {
317
- const status = await legacySessiondComponentStatus(daemon);
318
- return status === undefined ? undefined : runtimeComponentFromStatus(status);
319
- }
320
- async function legacySessiondComponentStatus(daemon) {
321
- try {
322
- const upstream = await daemon.request("GET", "/health");
323
- if (upstream.statusCode < 200 || upstream.statusCode >= 300)
324
- return undefined;
325
- const parsed = upstream.body === "" ? undefined : JSON.parse(upstream.body);
326
- return isRecord(parsed) ? parsePiWebComponentStatus(parsed["version"]) : undefined;
327
- }
328
- catch {
329
- return undefined;
330
- }
331
- }
332
- function runtimeComponentFromStatus(status) {
333
- return {
334
- component: status.component,
335
- label: status.label,
336
- ...(status.runtimeVersion === undefined ? {} : { runtimeVersion: status.runtimeVersion }),
337
- ...(status.piVersion === undefined ? {} : { piVersion: status.piVersion }),
338
- available: status.available,
339
- capabilities: [],
340
- ...(status.error === undefined ? {} : { error: status.error }),
341
- };
342
- }
343
322
  function unavailableSessiondRuntime(error) {
344
323
  return {
345
324
  component: "sessiond",
@@ -404,6 +383,7 @@ async function commandsFor(components, options) {
404
383
  const status = serviceCommands.status ?? cliCommands.status;
405
384
  const update = await updateCommandFor(installation, restart, {
406
385
  ...options,
386
+ ...(installation?.kind === "pi-package" ? { companionCommand: configuredCompanionCommand() } : {}),
407
387
  ...(serviceCommands.npmGlobalUpdate === undefined ? {} : { npmGlobalUpdateCommand: serviceCommands.npmGlobalUpdate }),
408
388
  });
409
389
  return {
@@ -447,11 +427,12 @@ export async function updateCommandFor(installation, restartCommand, options) {
447
427
  return undefined;
448
428
  if (installation?.kind === "pi-package") {
449
429
  const profile = options.activeAgentProfile;
450
- if (profile === undefined || !isSafeAgentCommandForHost(profile.command) || !isHostAbsoluteAgentDir(profile.dir) || !isPiCompanionCommand(profile.command))
430
+ const command = options.companionCommand === undefined ? "pi" : options.companionCommand;
431
+ if (profile === undefined || command === null || !isSafeAgentCommandForHost(command) || !isHostAbsoluteAgentDir(profile.dir) || !isPiCompanionCommand(command))
451
432
  return undefined;
452
- if (!(await options.hasCommand(profile.command)))
433
+ if (!(await options.hasCommand(command)))
453
434
  return undefined;
454
- return `${PI_CODING_AGENT_DIR_ENV}=${shellQuote(profile.dir)} ${shellQuote(profile.command)} update ${shellQuote(installation.source ?? PI_WEB_NPM_SOURCE)} && ${restartCommand}`;
435
+ return `${PI_CODING_AGENT_DIR_ENV}=${shellQuote(profile.dir)} ${command === "pi" ? "pi" : shellQuote(command)} update ${shellQuote(installation.source ?? PI_WEB_NPM_SOURCE)} && ${restartCommand}`;
455
436
  }
456
437
  if (installation?.kind === "local" && installation.path !== undefined) {
457
438
  if (!(await hasCommand("npm")) || !(await isGitCheckoutWithUpstream(installation.path)))
@@ -464,6 +445,15 @@ export async function updateCommandFor(installation, restartCommand, options) {
464
445
  return options.npmGlobalUpdateCommand;
465
446
  return `npm install -g ${PI_WEB_PACKAGE_NAME} --allow-scripts=node-pty && ${restartCommand}`;
466
447
  }
448
+ function configuredCompanionCommand() {
449
+ try {
450
+ return effectiveAgentConfig(process.env, loadPiWebConfig().config).command;
451
+ }
452
+ catch {
453
+ // A malformed local configuration must not produce an update plan.
454
+ return null;
455
+ }
456
+ }
467
457
  async function nativeServiceCommands() {
468
458
  const backend = await nativeServiceBackend();
469
459
  if (backend === undefined)
@@ -560,10 +550,10 @@ function buildMessages(components, release, commands) {
560
550
  messages.push({
561
551
  id: "update-available",
562
552
  severity: "info",
563
- title: "PI WEB update available",
553
+ title: "PI WEB 有可用更新",
564
554
  body: commands.update === undefined
565
- ? `PI WEB ${release.latestVersion} is available${installedVersion === undefined ? "" : `; installed version is ${installedVersion}`}. Update PI WEB, then restart the services or processes for this installation.`
566
- : `PI WEB ${release.latestVersion} is available${installedVersion === undefined ? "" : `; installed version is ${installedVersion}`}. Run the update command to update PI WEB and restart its services.`,
555
+ ? `PI WEB ${release.latestVersion} 已发布${installedVersion === undefined ? "" : `,当前已安装 ${installedVersion}`}。更新 PI WEB 后,请重启本次安装的服务或进程。`
556
+ : `PI WEB ${release.latestVersion} 已发布${installedVersion === undefined ? "" : `,当前已安装 ${installedVersion}`}。运行更新命令即可更新 PI WEB 并重启其服务。`,
567
557
  ...optionalMessageCommand(commands.update),
568
558
  });
569
559
  }
@@ -572,10 +562,10 @@ function buildMessages(components, release, commands) {
572
562
  messages.push({
573
563
  id: "web-stale",
574
564
  severity: "warning",
575
- title: "Web/UI service restart needed",
565
+ title: "Web/UI 服务需要重启",
576
566
  body: command === undefined
577
- ? `The Web/UI service is running ${formatVersion(components.web.runtimeVersion)}, but ${formatVersion(components.web.installedVersion)} is installed. Restart the Web/UI service or process to use the installed version.`
578
- : `The Web/UI service is running ${formatVersion(components.web.runtimeVersion)}, but ${formatVersion(components.web.installedVersion)} is installed. Restart the service to use the installed version.`,
567
+ ? `Web/UI 服务正在运行 ${formatVersion(components.web.runtimeVersion)},但已安装 ${formatVersion(components.web.installedVersion)}。重启 Web/UI 服务或进程即可使用已安装版本。`
568
+ : `Web/UI 服务正在运行 ${formatVersion(components.web.runtimeVersion)},但已安装 ${formatVersion(components.web.installedVersion)}。重启服务即可使用已安装版本。`,
579
569
  ...optionalMessageCommand(command),
580
570
  });
581
571
  }
@@ -583,10 +573,10 @@ function buildMessages(components, release, commands) {
583
573
  messages.push({
584
574
  id: "sessiond-unavailable",
585
575
  severity: "warning",
586
- title: "Session daemon version unavailable",
576
+ title: "无法获取会话守护进程版本",
587
577
  body: commands.status === undefined
588
- ? `PI WEB could not check the session daemon version${components.sessiond.error === undefined ? "." : `: ${components.sessiond.error}`}. Check the session daemon service or process that runs this installation.`
589
- : `PI WEB could not check the session daemon version${components.sessiond.error === undefined ? "." : `: ${components.sessiond.error}`}`,
578
+ ? `PI WEB 无法检查会话守护进程版本${components.sessiond.error === undefined ? "。" : `:${components.sessiond.error}。`}请检查本次安装的会话守护进程服务或进程。`
579
+ : `PI WEB 无法检查会话守护进程版本${components.sessiond.error === undefined ? "。" : `:${components.sessiond.error}`}`,
590
580
  ...optionalMessageCommand(commands.status),
591
581
  });
592
582
  }
@@ -1 +1 @@
1
- {"version":3,"file":"piWebStatus.js","sourceRoot":"","sources":["../../src/server/piWebStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piWebStatus.js","sourceRoot":"","sources":["../../src/server/piWebStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /** Tracks raw in-process plugin callbacks so shutdown can await cooperative settlement. */
2
+ export class PluginCallbackDrain {
3
+ constructor() {
4
+ this.pending = new Set();
5
+ }
6
+ track(callback) {
7
+ const settled = callback.then(() => undefined, () => undefined);
8
+ this.pending.add(settled);
9
+ void settled.then(() => { this.pending.delete(settled); });
10
+ }
11
+ async waitForSettled(timeoutMs, label) {
12
+ if (this.pending.size === 0)
13
+ return;
14
+ let timer;
15
+ const deadline = new Promise((_resolve, reject) => {
16
+ timer = setTimeout(() => {
17
+ reject(new Error(`${label} did not settle within ${String(timeoutMs)}ms`));
18
+ }, timeoutMs);
19
+ timer.unref();
20
+ });
21
+ try {
22
+ await Promise.race([this.waitUntilEmpty(), deadline]);
23
+ }
24
+ finally {
25
+ if (timer !== undefined)
26
+ clearTimeout(timer);
27
+ }
28
+ }
29
+ async waitUntilEmpty() {
30
+ while (this.pending.size !== 0) {
31
+ await Promise.all([...this.pending]);
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=pluginCallbackDrain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginCallbackDrain.js","sourceRoot":"","sources":["../../src/server/pluginCallbackDrain.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,OAAO,mBAAmB;IAAhC;QACmB,YAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAgCtD,CAAC;IA9BC,KAAK,CAAI,QAAoB;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,KAAa;QACnD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,KAAgD,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACvD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,84 @@
1
+ import { WebSocket } from "ws";
2
+ import { PLUGIN_BACKEND_CHANNEL_MAX_TOTAL, PLUGIN_BACKEND_CHANNEL_OPEN_TIMEOUT_MS, PLUGIN_BACKEND_CHANNEL_TEARDOWN_TIMEOUT_MS, serializePluginBackendChannelErrorEnvelope, } from "../../shared/pluginBackendProtocol.js";
3
+ import { closePluginBackendChannelWebSocket } from "../webSocketBridge.js";
4
+ export class PluginBackendChannelProxyAdmissionError extends Error {
5
+ constructor(code, closeCode, message) {
6
+ super(message);
7
+ this.code = code;
8
+ this.closeCode = closeCode;
9
+ this.name = "PluginBackendChannelProxyAdmissionError";
10
+ }
11
+ }
12
+ /**
13
+ * Browser/API-process accounting is intentionally separate from sessiond's
14
+ * authoritative semantic and scoped admission. It only bounds edge transport
15
+ * ownership while a proxy channel is physically alive.
16
+ */
17
+ export class PluginBackendChannelProxyAdmissionPool {
18
+ constructor(options = {}) {
19
+ this.total = 0;
20
+ this.transportConnectTimeoutMs = positiveInteger(options.transportConnectTimeoutMs, PLUGIN_BACKEND_CHANNEL_OPEN_TIMEOUT_MS, "transportConnectTimeoutMs");
21
+ this.maxTotal = positiveInteger(options.maxTotal, PLUGIN_BACKEND_CHANNEL_MAX_TOTAL, "maxTotal");
22
+ }
23
+ get activeCount() {
24
+ return this.total;
25
+ }
26
+ admit(scope) {
27
+ if (this.total >= this.maxTotal) {
28
+ throw new PluginBackendChannelProxyAdmissionError("admission-denied", 1013, `Plugin backend channel edge resource limit was reached for ${scope.pluginId} in ${scope.projectId}/${scope.workspaceId} via ${scope.authorityId}`);
29
+ }
30
+ this.total += 1;
31
+ let active = true;
32
+ return {
33
+ transportConnectTimeoutMs: this.transportConnectTimeoutMs,
34
+ release: () => {
35
+ if (!active)
36
+ return;
37
+ active = false;
38
+ this.total -= 1;
39
+ },
40
+ };
41
+ }
42
+ }
43
+ const poolsByOwner = new WeakMap();
44
+ /** Share one aggregate proxy limit across local and federated channel routes. */
45
+ export function pluginBackendChannelProxyAdmissionPool(owner) {
46
+ const existing = poolsByOwner.get(owner);
47
+ if (existing !== undefined)
48
+ return existing;
49
+ const created = new PluginBackendChannelProxyAdmissionPool();
50
+ poolsByOwner.set(owner, created);
51
+ return created;
52
+ }
53
+ /** Send a best-effort attributed rejection, then await immediate physical teardown. */
54
+ export function rejectPluginBackendChannelProxyAdmission(socket, error) {
55
+ if (socket.readyState !== WebSocket.OPEN) {
56
+ return closePluginBackendChannelWebSocket(socket, error.closeCode, error.message, { terminateImmediately: true });
57
+ }
58
+ return new Promise((resolve) => {
59
+ let teardownStarted = false;
60
+ function teardown() {
61
+ if (teardownStarted)
62
+ return;
63
+ teardownStarted = true;
64
+ clearTimeout(deadline);
65
+ void closePluginBackendChannelWebSocket(socket, error.closeCode, error.message, { terminateImmediately: true })
66
+ .then(resolve, resolve);
67
+ }
68
+ const deadline = setTimeout(teardown, PLUGIN_BACKEND_CHANNEL_TEARDOWN_TIMEOUT_MS);
69
+ deadline.unref();
70
+ try {
71
+ socket.send(serializePluginBackendChannelErrorEnvelope(error.code, error.message), { binary: false }, teardown);
72
+ }
73
+ catch {
74
+ teardown();
75
+ }
76
+ });
77
+ }
78
+ function positiveInteger(value, fallback, label) {
79
+ const resolved = value ?? fallback;
80
+ if (!Number.isInteger(resolved) || resolved <= 0)
81
+ throw new Error(`${label} must be a positive integer`);
82
+ return resolved;
83
+ }
84
+ //# sourceMappingURL=pluginBackendChannelProxyAdmission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginBackendChannelProxyAdmission.js","sourceRoot":"","sources":["../../../src/server/plugins/pluginBackendChannelProxyAdmission.ts"],"names":[],"mappings":"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"}