@jmfederico/pi-web 1.202608.2 → 1.202609.1

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 (233) hide show
  1. package/README.md +3 -3
  2. package/dist/.plugins-ready +1 -0
  3. package/dist/cli.js +5 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client/apple-touch-icon-dev.png +0 -0
  6. package/dist/client/assets/index-AroYaCLx.js +4130 -0
  7. package/dist/client/assets/vendor-editor-core-YWog6mAR.js +10 -0
  8. package/dist/client/assets/vendor-editor-languages-DOCw3vc9.js +28 -0
  9. package/dist/client/favicon-dev.svg +8 -0
  10. package/dist/client/index.html +5 -5
  11. package/dist/client/pwa-icon-dev-192.png +0 -0
  12. package/dist/client/pwa-icon-dev-512.png +0 -0
  13. package/dist/config.js +20 -0
  14. package/dist/config.js.map +1 -1
  15. package/dist/docker/piWebDockerCommandPlan.js +9 -1
  16. package/dist/docker/piWebDockerCommandPlan.js.map +1 -1
  17. package/dist/nativeServices/installedServiceDefinitions.js +25 -19
  18. package/dist/nativeServices/installedServiceDefinitions.js.map +1 -1
  19. package/dist/nativeServices/serviceAction.js +38 -26
  20. package/dist/nativeServices/serviceAction.js.map +1 -1
  21. package/dist/nativeServices/servicePlan.js +3 -3
  22. package/dist/nativeServices/servicePlan.js.map +1 -1
  23. package/dist/pi-packages/captains-log/README.md +11 -0
  24. package/dist/pi-packages/captains-log/dist/browser/channelProtocol.js +29 -0
  25. package/dist/pi-packages/captains-log/dist/browser/index.js +144 -0
  26. package/dist/pi-packages/captains-log/dist/browser/markdown.js +67 -0
  27. package/dist/pi-packages/captains-log/dist/browser/panel.js +105 -0
  28. package/dist/pi-packages/captains-log/dist/browser/protocol.js +26 -0
  29. package/dist/pi-packages/captains-log/dist/companion.js +126 -0
  30. package/dist/pi-packages/captains-log/dist/roundtrip.js +62 -0
  31. package/dist/pi-packages/captains-log/dist/server.js +210 -0
  32. package/dist/pi-packages/captains-log/dist/store.js +75 -0
  33. package/dist/pi-packages/captains-log/docs/usage.md +30 -0
  34. package/dist/pi-packages/captains-log/package.json +35 -0
  35. package/dist/pi-packages/captains-log/tsconfig.json +21 -0
  36. package/dist/pi-packages/captains-log/vite.config.mjs +28 -0
  37. package/dist/pi-packages/relays/package.json +1 -1
  38. package/dist/pi-packages/relays/pi-web-plugin.js +1 -1
  39. package/dist/pi-packages/relays/prompts/relay-worktree.md +13 -142
  40. package/dist/pi-packages/relays/prompts/relay.md +25 -132
  41. package/dist/pi-packages/relays/relayDiscovery.js +2 -2
  42. package/dist/pi-packages/relays/relaysPanelElement.js +1 -1
  43. package/dist/pi-packages/relays/skills/relay/SKILL.md +59 -88
  44. package/dist/pi-packages/relays/skills/relay-runner/SKILL.md +253 -0
  45. package/dist/pi-web-plugins/files/browser/assets/files-icon-DZObYhxb.svg +3 -0
  46. package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +439 -0
  47. package/dist/pi-web-plugins/files/package.json +15 -0
  48. package/dist/pi-web-plugins/git/browser/git-panel.js +54 -24
  49. package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +1 -1
  50. package/dist/pi-web-plugins/git/git-backend.js +5 -5
  51. package/dist/pi-web-plugins/git/server-plugin.js +5 -3
  52. package/dist/pi-web-plugins/info/pi-web-plugin.js +1 -1
  53. package/dist/pi-web-plugins/mermaid/browser/mermaid-engine.js +3590 -0
  54. package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +6 -0
  55. package/dist/pi-web-plugins/mermaid/package.json +13 -0
  56. package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +210 -0
  57. package/dist/pi-web-plugins/terminal/package.json +16 -0
  58. package/dist/pi-web-plugins/terminal/server-plugin.js +365 -0
  59. package/dist/{server/terminals → pi-web-plugins/terminal}/terminalService.js +162 -65
  60. package/dist/pi-web-plugins/updates/pi-web-plugin.js +45 -35
  61. package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +1 -1
  62. package/dist/piWebVersionReport.js +12 -4
  63. package/dist/piWebVersionReport.js.map +1 -1
  64. package/dist/plugin-api.d.ts +222 -23
  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.map +1 -1
  69. package/dist/server/app.js +33 -12
  70. package/dist/server/app.js.map +1 -1
  71. package/dist/server/configRoutes.js +6 -1
  72. package/dist/server/configRoutes.js.map +1 -1
  73. package/dist/server/deploymentIdentity.js +67 -0
  74. package/dist/server/deploymentIdentity.js.map +1 -0
  75. package/dist/server/deploymentIdentityRoutes.js +22 -0
  76. package/dist/server/deploymentIdentityRoutes.js.map +1 -0
  77. package/dist/server/knownAutoInstallPiPackages.js +1 -1
  78. package/dist/server/knownAutoInstallPiPackages.js.map +1 -1
  79. package/dist/server/knownPiPackages.js +12 -0
  80. package/dist/server/knownPiPackages.js.map +1 -0
  81. package/dist/server/machines/machineClient.js +2 -2
  82. package/dist/server/machines/machineClient.js.map +1 -1
  83. package/dist/server/machines/machinePluginProxyRoutes.js +53 -11
  84. package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -1
  85. package/dist/server/machines/machineProxyRoutes.js +70 -7
  86. package/dist/server/machines/machineProxyRoutes.js.map +1 -1
  87. package/dist/server/notices/serverNoticeRoutes.js +34 -0
  88. package/dist/server/notices/serverNoticeRoutes.js.map +1 -0
  89. package/dist/server/notices/serverNoticeService.js +26 -0
  90. package/dist/server/notices/serverNoticeService.js.map +1 -0
  91. package/dist/server/notices/serverNoticeStore.js +119 -0
  92. package/dist/server/notices/serverNoticeStore.js.map +1 -0
  93. package/dist/server/piPackageService.js +5 -5
  94. package/dist/server/piPackageService.js.map +1 -1
  95. package/dist/server/piWebPluginCatalog.js +46 -12
  96. package/dist/server/piWebPluginCatalog.js.map +1 -1
  97. package/dist/server/piWebPluginLifecycle.js +26 -3
  98. package/dist/server/piWebPluginLifecycle.js.map +1 -1
  99. package/dist/server/piWebPluginService.js +37 -2
  100. package/dist/server/piWebPluginService.js.map +1 -1
  101. package/dist/server/piWebStatus.js +1 -1
  102. package/dist/server/piWebStatus.js.map +1 -1
  103. package/dist/server/pluginCallbackDrain.js +35 -0
  104. package/dist/server/pluginCallbackDrain.js.map +1 -0
  105. package/dist/server/plugins/pluginBackendChannelProxyAdmission.js +84 -0
  106. package/dist/server/plugins/pluginBackendChannelProxyAdmission.js.map +1 -0
  107. package/dist/server/plugins/pluginBackendChannelProxyCoordinator.js +234 -0
  108. package/dist/server/plugins/pluginBackendChannelProxyCoordinator.js.map +1 -0
  109. package/dist/server/plugins/pluginBackendChannelProxyRoutes.js +52 -0
  110. package/dist/server/plugins/pluginBackendChannelProxyRoutes.js.map +1 -0
  111. package/dist/server/plugins/pluginBackendProxyRoutes.js +38 -31
  112. package/dist/server/plugins/pluginBackendProxyRoutes.js.map +1 -1
  113. package/dist/server/plugins/pluginBackendRegistry.js +740 -0
  114. package/dist/server/plugins/pluginBackendRegistry.js.map +1 -0
  115. package/dist/server/plugins/serverPluginPiSessionEventsCapability.js +34 -0
  116. package/dist/server/plugins/serverPluginPiSessionEventsCapability.js.map +1 -0
  117. package/dist/server/plugins/serverPluginPiSessionsCapability.js +185 -0
  118. package/dist/server/plugins/serverPluginPiSessionsCapability.js.map +1 -0
  119. package/dist/server/plugins/serverPluginRuntime.js +1028 -107
  120. package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
  121. package/dist/server/plugins/serverPluginWorkspacesCapability.js +114 -0
  122. package/dist/server/plugins/serverPluginWorkspacesCapability.js.map +1 -0
  123. package/dist/server/sessiond/pluginBackendChannelRoutes.js +393 -0
  124. package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -0
  125. package/dist/server/sessiond/pluginBackendRoutes.js +10 -7
  126. package/dist/server/sessiond/pluginBackendRoutes.js.map +1 -1
  127. package/dist/server/sessiond/sessionDaemonShutdown.js +9 -2
  128. package/dist/server/sessiond/sessionDaemonShutdown.js.map +1 -1
  129. package/dist/server/sessiond/sessionProxyRoutes.js +2 -0
  130. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
  131. package/dist/server/sessiond/sessionServiceDependencies.js +1 -0
  132. package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
  133. package/dist/server/sessiond.js +82 -21
  134. package/dist/server/sessiond.js.map +1 -1
  135. package/dist/server/sessions/attachmentService.js +1 -5
  136. package/dist/server/sessions/attachmentService.js.map +1 -1
  137. package/dist/server/sessions/builtinCommands.js +2 -2
  138. package/dist/server/sessions/builtinCommands.js.map +1 -1
  139. package/dist/server/sessions/clientSessionPreview.js +14 -0
  140. package/dist/server/sessions/clientSessionPreview.js.map +1 -0
  141. package/dist/server/sessions/piSessionEventConnections.js +65 -0
  142. package/dist/server/sessions/piSessionEventConnections.js.map +1 -0
  143. package/dist/server/sessions/piSessionManagerGateway.js +171 -1
  144. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
  145. package/dist/server/sessions/piSessionService.js +442 -90
  146. package/dist/server/sessions/piSessionService.js.map +1 -1
  147. package/dist/server/sessions/sessionActivityMarker.js +105 -0
  148. package/dist/server/sessions/sessionActivityMarker.js.map +1 -0
  149. package/dist/server/sessions/sessionEnvironmentFacts.js +5 -4
  150. package/dist/server/sessions/sessionEnvironmentFacts.js.map +1 -1
  151. package/dist/server/sessions/sessionNameGenerator.js +3 -2
  152. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  153. package/dist/server/sessions/sessionRoutes.js +18 -0
  154. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  155. package/dist/server/sessions/spawnSessionTool.js +1 -1
  156. package/dist/server/sessions/spawnSessionTool.js.map +1 -1
  157. package/dist/server/sessions/spawnSubsessionTool.js +1 -1
  158. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  159. package/dist/server/sessions/transcriptBranchCache.js +81 -0
  160. package/dist/server/sessions/transcriptBranchCache.js.map +1 -0
  161. package/dist/server/sessions/transcriptMessages.js +54 -0
  162. package/dist/server/sessions/transcriptMessages.js.map +1 -0
  163. package/dist/server/terminals/requiredTerminalService.js +103 -0
  164. package/dist/server/terminals/requiredTerminalService.js.map +1 -0
  165. package/dist/server/webSocketBridge.js +339 -0
  166. package/dist/server/webSocketBridge.js.map +1 -1
  167. package/dist/server/workspaces/projectPiWebConfig.js +6 -1
  168. package/dist/server/workspaces/projectPiWebConfig.js.map +1 -1
  169. package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js +23 -3
  170. package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js.map +1 -1
  171. package/dist/server/workspaces/workspaceCatalog.js +3 -1
  172. package/dist/server/workspaces/workspaceCatalog.js.map +1 -1
  173. package/dist/server/workspaces/workspaceProviderRegistry.js +64 -149
  174. package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
  175. package/dist/server/workspaces/workspaceRemovalService.js +38 -5
  176. package/dist/server/workspaces/workspaceRemovalService.js.map +1 -1
  177. package/dist/server-plugin-api.d.ts +216 -22
  178. package/dist/server-plugin-api.js +319 -2
  179. package/dist/server-plugin-api.js.map +1 -1
  180. package/dist/serverPluginRecovery.js +4 -0
  181. package/dist/serverPluginRecovery.js.map +1 -1
  182. package/dist/sessiond/sessionDaemonClient.js +3 -3
  183. package/dist/sessiond/sessionDaemonClient.js.map +1 -1
  184. package/dist/shared/apiTypes.js +1 -1
  185. package/dist/shared/apiTypes.js.map +1 -1
  186. package/dist/shared/federatedRoutes.js +47 -17
  187. package/dist/shared/federatedRoutes.js.map +1 -1
  188. package/dist/shared/machinePluginIds.js +28 -7
  189. package/dist/shared/machinePluginIds.js.map +1 -1
  190. package/dist/shared/pluginApiTypes.d.ts +21 -1
  191. package/dist/shared/pluginApiTypes.js +0 -1
  192. package/dist/shared/pluginBackendProtocol.js +163 -2
  193. package/dist/shared/pluginBackendProtocol.js.map +1 -1
  194. package/dist/shared/pluginIds.js +8 -1
  195. package/dist/shared/pluginIds.js.map +1 -1
  196. package/dist/shared/requiredTerminalPlugin.js +6 -0
  197. package/dist/shared/requiredTerminalPlugin.js.map +1 -0
  198. package/dist/shared/serverNoticeContract.js +88 -0
  199. package/dist/shared/serverNoticeContract.js.map +1 -0
  200. package/dist/shared/sessionDefaults.js +41 -0
  201. package/dist/shared/sessionDefaults.js.map +1 -0
  202. package/docs/config.md +77 -37
  203. package/docs/plugins.md +146 -1213
  204. package/examples/session-bridge-plugin/README.md +20 -0
  205. package/examples/session-bridge-plugin/docs/usage.md +54 -0
  206. package/examples/session-bridge-plugin/package.json +26 -0
  207. package/examples/session-bridge-plugin/src/browser/index.ts +84 -0
  208. package/examples/session-bridge-plugin/src/browser/protocol.ts +24 -0
  209. package/examples/session-bridge-plugin/src/companion.ts +65 -0
  210. package/examples/session-bridge-plugin/src/reviewRun.ts +39 -0
  211. package/examples/session-bridge-plugin/src/server.ts +85 -0
  212. package/examples/session-bridge-plugin/src/store.ts +57 -0
  213. package/examples/session-bridge-plugin/tsconfig.json +21 -0
  214. package/examples/workspace-provider-plugin/README.md +4 -4
  215. package/examples/workspace-provider-plugin/package.json +1 -1
  216. package/examples/workspace-provider-plugin/src/browser/index.ts +9 -9
  217. package/examples/workspace-provider-plugin/src/server.ts +15 -11
  218. package/package.json +17 -11
  219. package/dist/client/assets/CodeViewer-BMWwxG7q.js +0 -4
  220. package/dist/client/assets/TerminalPanel-CacQDIYn.js +0 -187
  221. package/dist/client/assets/index-DUW2xnoV.js +0 -4279
  222. package/dist/client/assets/vendor-editor-core-CXO8gGab.js +0 -12
  223. package/dist/client/assets/vendor-editor-languages-CpW4sJsX.js +0 -46
  224. package/dist/client/assets/vendor-editor-legacy-CYBnW6ZU.js +0 -1
  225. package/dist/client/assets/vendor-terminal-BrP-ENHg.css +0 -1
  226. package/dist/client/assets/vendor-terminal-D8k4UKM2.js +0 -35
  227. package/dist/server/terminalProxyRoutes.js +0 -141
  228. package/dist/server/terminalProxyRoutes.js.map +0 -1
  229. package/dist/server/terminals/terminalRoutes.js +0 -155
  230. package/dist/server/terminals/terminalRoutes.js.map +0 -1
  231. package/dist/server/terminals/terminalService.js.map +0 -1
  232. package/dist/server/terminals/terminalSize.js +0 -17
  233. package/dist/server/terminals/terminalSize.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginBackendRegistry.js","sourceRoot":"","sources":["../../../src/server/plugins/pluginBackendRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { PI_WEB_HOST_PI_SESSION_EVENTS_CAPABILITY, } from "../../server-plugin-api.js";
2
+ import { createServerPluginWorkspacesCapabilityFactory } from "./serverPluginWorkspacesCapability.js";
3
+ export function createServerPluginPiSessionEventsCapabilityFactory(options) {
4
+ const workspaceFactory = createServerPluginWorkspacesCapabilityFactory(options);
5
+ return Object.freeze({
6
+ capability: PI_WEB_HOST_PI_SESSION_EVENTS_CAPABILITY,
7
+ create(context) {
8
+ const authority = workspaceFactory.create(context).value;
9
+ const lifetime = new AbortController();
10
+ const revoke = () => { lifetime.abort(new Error("PI session events plugin lifetime ended")); };
11
+ if (context.lifetimeSignal.aborted)
12
+ revoke();
13
+ else
14
+ context.lifetimeSignal.addEventListener("abort", revoke, { once: true });
15
+ return Object.freeze({
16
+ value: Object.freeze({
17
+ version: 1,
18
+ connect: async (selection) => {
19
+ lifetime.signal.throwIfAborted();
20
+ const resolved = await authority.resolve({ projectId: selection.projectId, workspaceId: selection.workspaceId });
21
+ lifetime.signal.throwIfAborted();
22
+ return options.sessions.connectSessionEvents({ id: selection.sessionId, cwd: resolved.workspace.path }, lifetime.signal);
23
+ },
24
+ }),
25
+ dispose: () => {
26
+ revoke();
27
+ context.lifetimeSignal.removeEventListener("abort", revoke);
28
+ return Promise.resolve();
29
+ },
30
+ });
31
+ },
32
+ });
33
+ }
34
+ //# sourceMappingURL=serverPluginPiSessionEventsCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverPluginPiSessionEventsCapability.js","sourceRoot":"","sources":["../../../src/server/plugins/serverPluginPiSessionEventsCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wCAAwC,GAIzC,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,6CAA6C,EAAE,MAAM,uCAAuC,CAAC;AAEtG,MAAM,UAAU,kDAAkD,CAAC,OAMlE;IACC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC,OAAO,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,wCAAwC;QACpD,MAAM,CAAC,OAA0C;YAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,GAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO;gBAAE,MAAM,EAAE,CAAC;;gBACxC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACnB,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,KAAK,EAAE,SAAsC,EAAyC,EAAE;wBAC/F,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBACjC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;wBACjH,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBACjC,OAAO,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC3H,CAAC;iBACF,CAAC;gBACF,OAAO,EAAE,GAAkB,EAAE;oBAC3B,MAAM,EAAE,CAAC;oBACT,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { PI_WEB_HOST_PI_SESSIONS_CAPABILITY, } from "../../server-plugin-api.js";
2
+ import { createServerPluginWorkspacesCapabilityFactory } from "./serverPluginWorkspacesCapability.js";
3
+ const DEFAULT_MAX_CONCURRENT_RUNS_PER_PLUGIN = 4;
4
+ const COMPLETION_ERROR_MAX_BYTES = 4 * 1024;
5
+ /** Creates package-attributed PI session admission over host-owned services. */
6
+ export function createServerPluginPiSessionsCapabilityFactory(options) {
7
+ const maxConcurrentRuns = positiveInteger(options.maxConcurrentRunsPerPlugin, DEFAULT_MAX_CONCURRENT_RUNS_PER_PLUGIN, "maxConcurrentRunsPerPlugin");
8
+ const workspaceFactory = createServerPluginWorkspacesCapabilityFactory(options);
9
+ return Object.freeze({
10
+ capability: PI_WEB_HOST_PI_SESSIONS_CAPABILITY,
11
+ create(context) {
12
+ const workspaceAuthority = workspaceFactory.create(context).value;
13
+ const admissions = new Set();
14
+ const startupLifetime = new AbortController();
15
+ let revoked = false;
16
+ const revoke = () => {
17
+ if (revoked)
18
+ return;
19
+ revoked = true;
20
+ // Only unpublished startup belongs to the plugin. The service stops
21
+ // observing this signal when it publishes the hosted conversation.
22
+ startupLifetime.abort(context.lifetimeSignal.reason);
23
+ };
24
+ const lifetimeAbort = () => { revoke(); };
25
+ if (context.lifetimeSignal.aborted)
26
+ revoke();
27
+ else
28
+ context.lifetimeSignal.addEventListener("abort", lifetimeAbort, { once: true });
29
+ const value = Object.freeze({
30
+ version: 1,
31
+ create: async (input) => {
32
+ assertActive(context, revoked);
33
+ if (admissions.size >= maxConcurrentRuns) {
34
+ throw capabilityError(context.pluginId, `reached its limit of ${String(maxConcurrentRuns)} concurrent runs`);
35
+ }
36
+ const admission = createAdmission();
37
+ admissions.add(admission);
38
+ try {
39
+ const authority = await workspaceAuthority.resolve(input);
40
+ assertActive(context, revoked);
41
+ let created;
42
+ try {
43
+ created = await options.sessions.createHostedSession(authority.workspace.path, startupLifetime.signal);
44
+ }
45
+ catch (error) {
46
+ if (revoked || context.lifetimeSignal.aborted)
47
+ throw revokedError(context, error);
48
+ throw capabilityError(context.pluginId, "could not create a PI session", error);
49
+ }
50
+ // Publication already transferred ownership, even if disposal won this await.
51
+ assertActive(context, revoked);
52
+ return Object.freeze({ sessionId: created.id });
53
+ }
54
+ finally {
55
+ admissions.delete(admission);
56
+ admission.settle();
57
+ }
58
+ },
59
+ run: async (input) => {
60
+ assertActive(context, revoked);
61
+ if (admissions.size >= maxConcurrentRuns) {
62
+ throw capabilityError(context.pluginId, `reached its limit of ${String(maxConcurrentRuns)} concurrent runs`);
63
+ }
64
+ const admission = createAdmission();
65
+ admissions.add(admission);
66
+ let handedOffCompletion = false;
67
+ try {
68
+ const authority = await workspaceAuthority.resolve({
69
+ projectId: input.projectId,
70
+ workspaceId: input.workspaceId,
71
+ });
72
+ assertActive(context, revoked);
73
+ let started;
74
+ try {
75
+ started = await options.sessions.startOneShotRun(authority.workspace.path, input.prompt, startupLifetime.signal);
76
+ }
77
+ catch (error) {
78
+ if (revoked || context.lifetimeSignal.aborted) {
79
+ throw revokedError(context, error);
80
+ }
81
+ throw capabilityError(context.pluginId, "could not start a PI session", error);
82
+ }
83
+ // Always consume the outcome, even if revocation wins this await.
84
+ // A returned session is already published and must not be reclaimed.
85
+ const completion = completeRun(started.completion)
86
+ .finally(() => { admissions.delete(admission); });
87
+ handedOffCompletion = true;
88
+ assertActive(context, revoked);
89
+ return Object.freeze({ sessionId: started.id, completion });
90
+ }
91
+ finally {
92
+ if (!handedOffCompletion)
93
+ admissions.delete(admission);
94
+ admission.settle();
95
+ }
96
+ },
97
+ });
98
+ return Object.freeze({
99
+ value,
100
+ async dispose(signal) {
101
+ revoke();
102
+ context.lifetimeSignal.removeEventListener("abort", lifetimeAbort);
103
+ await waitForSettled([...admissions].map(({ settled }) => settled), signal);
104
+ },
105
+ });
106
+ },
107
+ });
108
+ }
109
+ async function completeRun(runCompletion) {
110
+ try {
111
+ await runCompletion;
112
+ return Object.freeze({ status: "completed" });
113
+ }
114
+ catch (error) {
115
+ return error instanceof Error && error.name === "AbortError"
116
+ ? Object.freeze({ status: "cancelled" })
117
+ : failedCompletion(error);
118
+ }
119
+ }
120
+ function createAdmission() {
121
+ let settle;
122
+ const settled = new Promise((resolve) => { settle = resolve; });
123
+ return { settled, settle };
124
+ }
125
+ function failedCompletion(error) {
126
+ const message = error instanceof Error ? error.message : String(error);
127
+ return Object.freeze({
128
+ status: "failed",
129
+ error: truncateUtf8(message === "" ? "PI session run failed" : message, COMPLETION_ERROR_MAX_BYTES),
130
+ });
131
+ }
132
+ function assertActive(context, revoked) {
133
+ if (!revoked && !context.lifetimeSignal.aborted)
134
+ return;
135
+ throw revokedError(context);
136
+ }
137
+ function revokedError(context, cause = context.lifetimeSignal.reason) {
138
+ return capabilityError(context.pluginId, "is no longer active", cause);
139
+ }
140
+ function capabilityError(pluginId, message, cause) {
141
+ return new Error(`PI WEB host PI session authority for server plugin ${pluginId} ${message}`, cause === undefined ? {} : { cause });
142
+ }
143
+ async function waitForSettled(operations, signal) {
144
+ if (operations.length === 0)
145
+ return;
146
+ if (signal.aborted)
147
+ throw abortError(signal);
148
+ let onAbort;
149
+ const aborted = new Promise((_resolve, reject) => {
150
+ onAbort = () => { reject(abortError(signal)); };
151
+ signal.addEventListener("abort", onAbort, { once: true });
152
+ });
153
+ try {
154
+ await Promise.race([Promise.allSettled(operations), aborted]);
155
+ }
156
+ finally {
157
+ if (onAbort !== undefined)
158
+ signal.removeEventListener("abort", onAbort);
159
+ }
160
+ }
161
+ function abortError(signal) {
162
+ return signal.reason instanceof Error
163
+ ? signal.reason
164
+ : new DOMException("PI WEB host PI session cleanup was aborted", "AbortError");
165
+ }
166
+ function positiveInteger(value, fallback, label) {
167
+ const resolved = value ?? fallback;
168
+ if (!Number.isSafeInteger(resolved) || resolved <= 0)
169
+ throw new Error(`${label} must be a positive integer`);
170
+ return resolved;
171
+ }
172
+ function truncateUtf8(value, maxBytes) {
173
+ let bytes = 0;
174
+ let output = "";
175
+ for (const character of value) {
176
+ const codePoint = character.codePointAt(0) ?? 0;
177
+ const width = codePoint <= 0x7f ? 1 : codePoint <= 0x7ff ? 2 : codePoint <= 0xffff ? 3 : 4;
178
+ if (bytes + width > maxBytes)
179
+ break;
180
+ output += character;
181
+ bytes += width;
182
+ }
183
+ return output === "" ? "PI session run failed" : output;
184
+ }
185
+ //# sourceMappingURL=serverPluginPiSessionsCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverPluginPiSessionsCapability.js","sourceRoot":"","sources":["../../../src/server/plugins/serverPluginPiSessionsCapability.ts"],"names":[],"mappings":"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"}