@chainingintention/pi-web-cn 1.202610.4 → 2.202610.0

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 (299) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.js +31 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/assets/PiWebApp-BXSziMEg.js +4921 -0
  5. package/dist/client/assets/classic-CyM97Akm.css +54 -0
  6. package/dist/client/assets/external-B9K8duyP.js +2 -0
  7. package/dist/client/assets/graphite-DquaqFXU.css +54 -0
  8. package/dist/client/assets/index-cdtUOfOW.js +2 -0
  9. package/dist/client/assets/paper-CB1oLuRr.css +54 -0
  10. package/dist/client/assets/pi-web-dark-D_KtbM95.css +54 -0
  11. package/dist/client/assets/pi-web-light-DSNLMIBI.css +54 -0
  12. package/dist/client/assets/vendor-editor-core-BfnHL1Dg.js +10 -0
  13. package/dist/client/assets/{vendor-editor-languages-DOCw3vc9.js → vendor-editor-languages-bNquDJP0.js} +1 -1
  14. package/dist/client/index.html +3 -47
  15. package/dist/config.js +11 -2
  16. package/dist/config.js.map +1 -1
  17. package/dist/nativeServices/installedServiceDefinitions.js +10 -7
  18. package/dist/nativeServices/installedServiceDefinitions.js.map +1 -1
  19. package/dist/pi-packages/captains-log/dist/browser/index.js +43 -47
  20. package/dist/pi-packages/captains-log/dist/browser/panel.js +6 -10
  21. package/dist/pi-packages/captains-log/dist/companion.js +1 -1
  22. package/dist/pi-packages/captains-log/package.json +4 -4
  23. package/dist/pi-packages/relays/extensions/index.js +61 -0
  24. package/dist/pi-packages/relays/package.json +10 -1
  25. package/dist/pi-packages/relays/pi-web-plugin.js +52 -2
  26. package/dist/pi-packages/relays/prompts/relay-worktree.md +6 -16
  27. package/dist/pi-packages/relays/prompts/relay.md +6 -33
  28. package/dist/pi-packages/relays/relayDispatch.js +67 -0
  29. package/dist/pi-packages/relays/relayIdentity.js +37 -0
  30. package/dist/pi-packages/relays/relaysPanelElement.js +75 -37
  31. package/dist/pi-packages/relays/skills/relay/SKILL.md +24 -68
  32. package/dist/pi-packages/relays/skills/relay-runner/SKILL.md +40 -219
  33. package/dist/pi-packages/workflows/browser/pi-web-plugin.js +42 -0
  34. package/dist/pi-packages/workflows/browser/worktreeDialog.js +170 -0
  35. package/dist/pi-packages/workflows/package.json +23 -0
  36. package/dist/pi-packages/workflows/prompts/worktree.md +21 -0
  37. package/dist/pi-packages/workflows/server-plugin.js +586 -0
  38. package/dist/pi-packages/workflows/vite.config.mjs +17 -0
  39. package/dist/pi-web-plugins/code-highlight/browser/pi-web-plugin.js +22 -0
  40. package/dist/pi-web-plugins/code-highlight/package.json +13 -0
  41. package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +115 -105
  42. package/dist/pi-web-plugins/git/browser/git-panel.js +60 -46
  43. package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +23 -3
  44. package/dist/pi-web-plugins/git/git-backend.js +20 -1
  45. package/dist/pi-web-plugins/git/server-plugin.js +20 -3
  46. package/dist/pi-web-plugins/git/workspace-discovery-notify.cjs +14 -0
  47. package/dist/pi-web-plugins/git/workspaceDiscoveryHooks.js +186 -0
  48. package/dist/pi-web-plugins/info/infoInternals.js +3 -3
  49. package/dist/pi-web-plugins/info/pi-web-plugin.js +1 -1
  50. package/dist/pi-web-plugins/mermaid/browser/mermaid-engine.js +1087 -422
  51. package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +8 -3
  52. package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +39 -33
  53. package/dist/pi-web-plugins/updates/pi-web-plugin.js +13 -13
  54. package/dist/pi-web-plugins/updates/updatesLogic.js +4 -5
  55. package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +21 -1
  56. package/dist/pi-web-plugins/workspace-tasks/tasksPanelElement.js +39 -22
  57. package/dist/pi-web-plugins/zh-cn/bundled.json +44 -1
  58. package/dist/pi-web-plugins/zh-cn/cli.json +60 -1
  59. package/dist/pi-web-plugins/zh-cn/client.json +7 -1
  60. package/dist/pi-web-plugins/zh-cn/components.json +252 -2
  61. package/dist/pi-web-plugins/zh-cn/config-errors.json +17 -1
  62. package/dist/pi-web-plugins/zh-cn/files.json +10 -1
  63. package/dist/pi-web-plugins/zh-cn/main.json +1 -1
  64. package/dist/pi-web-plugins/zh-cn/provider-auth.json +2 -1
  65. package/dist/pi-web-plugins/zh-cn/server.json +83 -1
  66. package/dist/piAi.js +4 -0
  67. package/dist/piAi.js.map +1 -0
  68. package/dist/piRuntime.js +150 -0
  69. package/dist/piRuntime.js.map +1 -0
  70. package/dist/piSdk.js +5 -0
  71. package/dist/piSdk.js.map +1 -0
  72. package/dist/piWebUpdate.js +508 -0
  73. package/dist/piWebUpdate.js.map +1 -0
  74. package/dist/piWebVersionReport.js +43 -1
  75. package/dist/piWebVersionReport.js.map +1 -1
  76. package/dist/plugin-api.d.ts +393 -51
  77. package/dist/server/activity/workspaceActivityService.js +8 -1
  78. package/dist/server/activity/workspaceActivityService.js.map +1 -1
  79. package/dist/server/app.js +19 -4
  80. package/dist/server/app.js.map +1 -1
  81. package/dist/server/browserMessageProjection.js +39 -20
  82. package/dist/server/browserMessageProjection.js.map +1 -1
  83. package/dist/server/configRoutes.js +8 -0
  84. package/dist/server/configRoutes.js.map +1 -1
  85. package/dist/server/index.js +10 -1
  86. package/dist/server/index.js.map +1 -1
  87. package/dist/server/knownAutoInstallPiPackages.js +6 -0
  88. package/dist/server/knownAutoInstallPiPackages.js.map +1 -1
  89. package/dist/server/machines/machineProxyRoutes.js +37 -2
  90. package/dist/server/machines/machineProxyRoutes.js.map +1 -1
  91. package/dist/server/navigationPreferenceRoutes.js +59 -0
  92. package/dist/server/navigationPreferenceRoutes.js.map +1 -0
  93. package/dist/server/piPackageService.js +1 -1
  94. package/dist/server/piPackageService.js.map +1 -1
  95. package/dist/server/piWebPluginCatalog.js +1 -1
  96. package/dist/server/piWebPluginCatalog.js.map +1 -1
  97. package/dist/server/piWebPluginService.js +7 -1
  98. package/dist/server/piWebPluginService.js.map +1 -1
  99. package/dist/server/piWebStatus.js +17 -56
  100. package/dist/server/piWebStatus.js.map +1 -1
  101. package/dist/server/plugins/pluginBackendChannelProxyAdmission.js +1 -1
  102. package/dist/server/plugins/pluginBackendChannelProxyAdmission.js.map +1 -1
  103. package/dist/server/plugins/pluginBackendChannelProxyRoutes.js +40 -42
  104. package/dist/server/plugins/pluginBackendChannelProxyRoutes.js.map +1 -1
  105. package/dist/server/plugins/pluginBackendProxyRoutes.js +40 -44
  106. package/dist/server/plugins/pluginBackendProxyRoutes.js.map +1 -1
  107. package/dist/server/plugins/pluginBackendRegistry.js +66 -35
  108. package/dist/server/plugins/pluginBackendRegistry.js.map +1 -1
  109. package/dist/server/plugins/projectPluginSettings.js +95 -0
  110. package/dist/server/plugins/projectPluginSettings.js.map +1 -0
  111. package/dist/server/plugins/serverPluginCatalogCapability.js +106 -0
  112. package/dist/server/plugins/serverPluginCatalogCapability.js.map +1 -0
  113. package/dist/server/plugins/serverPluginRuntime.js +47 -11
  114. package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
  115. package/dist/server/projectTrustRoutes.js +1 -1
  116. package/dist/server/projectTrustRoutes.js.map +1 -1
  117. package/dist/server/projects/projectLifecycleService.js +17 -7
  118. package/dist/server/projects/projectLifecycleService.js.map +1 -1
  119. package/dist/server/realtime/sessionEventHub.js +22 -9
  120. package/dist/server/realtime/sessionEventHub.js.map +1 -1
  121. package/dist/server/sessiond/agentHttpDispatcher.js +1 -1
  122. package/dist/server/sessiond/agentHttpDispatcher.js.map +1 -1
  123. package/dist/server/sessiond/autoInstallPiPackages.js +3 -3
  124. package/dist/server/sessiond/pluginBackendChannelRoutes.js +27 -14
  125. package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -1
  126. package/dist/server/sessiond/pluginBackendRoutes.js +56 -49
  127. package/dist/server/sessiond/pluginBackendRoutes.js.map +1 -1
  128. package/dist/server/sessiond/pluginCatalogRoutes.js +41 -0
  129. package/dist/server/sessiond/pluginCatalogRoutes.js.map +1 -0
  130. package/dist/server/sessiond/sessionProxyRoutes.js +46 -1
  131. package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
  132. package/dist/server/sessiond/sessionServiceDependencies.js +1 -0
  133. package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
  134. package/dist/server/sessiond/workspaceCatalogRoutes.js +6 -2
  135. package/dist/server/sessiond/workspaceCatalogRoutes.js.map +1 -1
  136. package/dist/server/sessiond/workspaceNotificationRoutes.js +55 -0
  137. package/dist/server/sessiond/workspaceNotificationRoutes.js.map +1 -0
  138. package/dist/server/sessiond.js +58 -8
  139. package/dist/server/sessiond.js.map +1 -1
  140. package/dist/server/sessions/askUserDomain.js +232 -0
  141. package/dist/server/sessions/askUserDomain.js.map +1 -0
  142. package/dist/server/sessions/askUserTool.js +18 -18
  143. package/dist/server/sessions/askUserTool.js.map +1 -1
  144. package/dist/server/sessions/attachmentService.js +1 -1
  145. package/dist/server/sessions/attachmentService.js.map +1 -1
  146. package/dist/server/sessions/authRoutes.js +12 -0
  147. package/dist/server/sessions/authRoutes.js.map +1 -1
  148. package/dist/server/sessions/authService.js +11 -1
  149. package/dist/server/sessions/authService.js.map +1 -1
  150. package/dist/server/sessions/builtinExtensionFactories.js +36 -0
  151. package/dist/server/sessions/builtinExtensionFactories.js.map +1 -0
  152. package/dist/server/sessions/companionBackend.js +286 -0
  153. package/dist/server/sessions/companionBackend.js.map +1 -0
  154. package/dist/server/sessions/dockerEnvironmentFacts.js +16 -1
  155. package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
  156. package/dist/server/sessions/extensionSessionDispatch.js +76 -0
  157. package/dist/server/sessions/extensionSessionDispatch.js.map +1 -0
  158. package/dist/server/sessions/globalProviderPolicy.js +88 -19
  159. package/dist/server/sessions/globalProviderPolicy.js.map +1 -1
  160. package/dist/server/sessions/managementAgentTools.js +2 -2
  161. package/dist/server/sessions/managementAgentTools.js.map +1 -1
  162. package/dist/server/sessions/mcpAuthFlowService.js +289 -0
  163. package/dist/server/sessions/mcpAuthFlowService.js.map +1 -0
  164. package/dist/server/sessions/mcpAuthRoutes.js +104 -0
  165. package/dist/server/sessions/mcpAuthRoutes.js.map +1 -0
  166. package/dist/server/sessions/mcpOAuthCredentialAdapter.js +92 -0
  167. package/dist/server/sessions/mcpOAuthCredentialAdapter.js.map +1 -0
  168. package/dist/server/sessions/messageHistoryTarget.js +79 -0
  169. package/dist/server/sessions/messageHistoryTarget.js.map +1 -0
  170. package/dist/server/sessions/piSessionEventConnections.js +5 -2
  171. package/dist/server/sessions/piSessionEventConnections.js.map +1 -1
  172. package/dist/server/sessions/piSessionManagerGateway.js +32 -27
  173. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
  174. package/dist/server/sessions/piSessionService.js +1296 -341
  175. package/dist/server/sessions/piSessionService.js.map +1 -1
  176. package/dist/server/sessions/plainTextTheme.js +1 -1
  177. package/dist/server/sessions/plainTextTheme.js.map +1 -1
  178. package/dist/server/sessions/projectAuthService.js +1 -1
  179. package/dist/server/sessions/projectAuthService.js.map +1 -1
  180. package/dist/server/sessions/projectSettingsScope.js +1 -1
  181. package/dist/server/sessions/projectSettingsScope.js.map +1 -1
  182. package/dist/server/sessions/projectTrust.js +1 -1
  183. package/dist/server/sessions/projectTrust.js.map +1 -1
  184. package/dist/server/sessions/queuedMessageMutation.js +170 -0
  185. package/dist/server/sessions/queuedMessageMutation.js.map +1 -0
  186. package/dist/server/sessions/relaySkill.js +57 -7
  187. package/dist/server/sessions/relaySkill.js.map +1 -1
  188. package/dist/server/sessions/sessionArchiveMapping.js +6 -0
  189. package/dist/server/sessions/sessionArchiveMapping.js.map +1 -1
  190. package/dist/server/sessions/sessionArchiveStore.js +5 -1
  191. package/dist/server/sessions/sessionArchiveStore.js.map +1 -1
  192. package/dist/server/sessions/sessionArchiveTree.js +2 -2
  193. package/dist/server/sessions/sessionArchiveTree.js.map +1 -1
  194. package/dist/server/sessions/sessionCommandService.js +11 -24
  195. package/dist/server/sessions/sessionCommandService.js.map +1 -1
  196. package/dist/server/sessions/sessionImageDimensions.js +31 -0
  197. package/dist/server/sessions/sessionImageDimensions.js.map +1 -0
  198. package/dist/server/sessions/sessionMediaIndex.js +191 -0
  199. package/dist/server/sessions/sessionMediaIndex.js.map +1 -0
  200. package/dist/server/sessions/sessionMetadata.js +51 -0
  201. package/dist/server/sessions/sessionMetadata.js.map +1 -0
  202. package/dist/server/sessions/sessionModelScope.js +2 -2
  203. package/dist/server/sessions/sessionModelScope.js.map +1 -1
  204. package/dist/server/sessions/sessionNameGenerator.js +13 -33
  205. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  206. package/dist/server/sessions/sessionReadAccess.js +41 -0
  207. package/dist/server/sessions/sessionReadAccess.js.map +1 -0
  208. package/dist/server/sessions/sessionRoutes.js +61 -6
  209. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  210. package/dist/server/sessions/sessionSummaryScanner.js +62 -5
  211. package/dist/server/sessions/sessionSummaryScanner.js.map +1 -1
  212. package/dist/server/sessions/sessionUiEvents.js +17 -4
  213. package/dist/server/sessions/sessionUiEvents.js.map +1 -1
  214. package/dist/server/sessions/spawnSessionTool.js +11 -3
  215. package/dist/server/sessions/spawnSessionTool.js.map +1 -1
  216. package/dist/server/sessions/spawnSubsessionTool.js +35 -19
  217. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  218. package/dist/server/sessions/subsessionCompletionDelivery.js +15 -0
  219. package/dist/server/sessions/subsessionCompletionDelivery.js.map +1 -0
  220. package/dist/server/sessions/subsessionCompletionInbox.js +134 -0
  221. package/dist/server/sessions/subsessionCompletionInbox.js.map +1 -0
  222. package/dist/server/sessions/subsessionProvenance.js +27 -0
  223. package/dist/server/sessions/subsessionProvenance.js.map +1 -0
  224. package/dist/server/sessions/transcriptMarkdown.js +48 -0
  225. package/dist/server/sessions/transcriptMarkdown.js.map +1 -0
  226. package/dist/server/sessions/transcriptMessages.js +3 -0
  227. package/dist/server/sessions/transcriptMessages.js.map +1 -1
  228. package/dist/server/startupLogger.js +13 -0
  229. package/dist/server/startupLogger.js.map +1 -0
  230. package/dist/server/startupUrls.js +27 -0
  231. package/dist/server/startupUrls.js.map +1 -0
  232. package/dist/server/status/machineStatusService.js +15 -9
  233. package/dist/server/status/machineStatusService.js.map +1 -1
  234. package/dist/server/storage/navigationPreferenceStore.js +138 -0
  235. package/dist/server/storage/navigationPreferenceStore.js.map +1 -0
  236. package/dist/server/webSocketBridge.js +9 -0
  237. package/dist/server/webSocketBridge.js.map +1 -1
  238. package/dist/server/workbench/skillSync.js +1 -1
  239. package/dist/server/workbench/skillSync.js.map +1 -1
  240. package/dist/server/workbench/workbenchTools.js +2 -2
  241. package/dist/server/workbench/workbenchTools.js.map +1 -1
  242. package/dist/server/workspaces/filePreviewService.js +5 -2
  243. package/dist/server/workspaces/filePreviewService.js.map +1 -1
  244. package/dist/server/workspaces/projectPiWebConfig.js +87 -6
  245. package/dist/server/workspaces/projectPiWebConfig.js.map +1 -1
  246. package/dist/server/workspaces/workspaceChangeNotifier.js +12 -0
  247. package/dist/server/workspaces/workspaceChangeNotifier.js.map +1 -0
  248. package/dist/server/workspaces/workspaceNotificationCommand.js +64 -0
  249. package/dist/server/workspaces/workspaceNotificationCommand.js.map +1 -0
  250. package/dist/server/workspaces/workspaceProviderRegistry.js +53 -0
  251. package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
  252. package/dist/server-plugin-api.d.ts +83 -15
  253. package/dist/server-plugin-api.js +25 -0
  254. package/dist/server-plugin-api.js.map +1 -1
  255. package/dist/sessiond/sessionDaemonClient.js +27 -3
  256. package/dist/sessiond/sessionDaemonClient.js.map +1 -1
  257. package/dist/shared/apiTypes.js +3 -2
  258. package/dist/shared/apiTypes.js.map +1 -1
  259. package/dist/shared/capabilities.js +3 -0
  260. package/dist/shared/capabilities.js.map +1 -1
  261. package/dist/shared/federatedRoutes.js +25 -5
  262. package/dist/shared/federatedRoutes.js.map +1 -1
  263. package/dist/shared/machineStatus.js +11 -2
  264. package/dist/shared/machineStatus.js.map +1 -1
  265. package/dist/shared/navigationPreferences.js +6 -0
  266. package/dist/shared/navigationPreferences.js.map +1 -0
  267. package/dist/shared/piWebConfigParsing.js +54 -0
  268. package/dist/shared/piWebConfigParsing.js.map +1 -1
  269. package/dist/shared/pluginApiTypes.d.ts +55 -0
  270. package/dist/shared/pluginBackendProtocol.js +56 -1
  271. package/dist/shared/pluginBackendProtocol.js.map +1 -1
  272. package/dist/shared/pluginCatalogTypes.d.ts +49 -0
  273. package/dist/shared/pluginCatalogTypes.js +156 -0
  274. package/dist/shared/pluginCatalogTypes.js.map +1 -0
  275. package/dist/shared/sessionMedia.js +12 -0
  276. package/dist/shared/sessionMedia.js.map +1 -0
  277. package/dist/shared/streamingBehavior.js +8 -0
  278. package/dist/shared/streamingBehavior.js.map +1 -0
  279. package/dist/shared/themePreference.js +24 -0
  280. package/dist/shared/themePreference.js.map +1 -0
  281. package/dist/workspaceNotificationCli.js +95 -0
  282. package/dist/workspaceNotificationCli.js.map +1 -0
  283. package/docs/README.md +31 -0
  284. package/docs/config.md +77 -4
  285. package/docs/plugins.md +60 -11
  286. package/examples/session-bridge-plugin/package.json +2 -2
  287. package/examples/session-bridge-plugin/src/browser/index.ts +1 -1
  288. package/examples/session-bridge-plugin/src/companion.ts +1 -1
  289. package/extensions/pi-web.ts +3 -1
  290. package/package.json +46 -34
  291. package/skills/README.md +10 -9
  292. package/skills/relay/SKILL.md +24 -68
  293. package/skills/relay-runner/SKILL.md +40 -219
  294. package/dist/client/assets/PiWebApp-CN3g7SqA.js +0 -4362
  295. package/dist/client/assets/external-DUGCSDhZ.js +0 -2
  296. package/dist/client/assets/index-JduZlbIF.js +0 -2
  297. package/dist/client/assets/vendor-editor-core-YWog6mAR.js +0 -10
  298. package/dist/server/sessions/pendingAskStore.js +0 -275
  299. package/dist/server/sessions/pendingAskStore.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export const NAVIGATION_PREFERENCE_ROUTES = [
2
+ "/navigation/projects",
3
+ "/navigation/projects/:projectId/workspaces",
4
+ "/navigation/projects/:projectId/workspaces/:workspaceId/session-pins",
5
+ ];
6
+ //# sourceMappingURL=navigationPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigationPreferences.js","sourceRoot":"","sources":["../../src/shared/navigationPreferences.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,sBAAsB;IACtB,4CAA4C;IAC5C,sEAAsE;CAC9D,CAAC"}
@@ -1,11 +1,16 @@
1
+ import { requireDefaultThemePreference } from "./themePreference.js";
2
+ import { requireDefaultStreamingBehavior } from "./streamingBehavior.js";
1
3
  import { UserFacingError } from "./i18n.js";
2
4
  import { isPiWebPluginId, piWebPluginIdPattern } from "./pluginIds.js";
5
+ import { isKnownThinkingLevel } from "./thinkingLevels.js";
3
6
  export function piWebConfigRecord(config) {
4
7
  return {
5
8
  ...(config.host !== undefined ? { host: config.host } : {}),
6
9
  ...(config.port !== undefined ? { port: config.port } : {}),
7
10
  ...(config.allowedHosts !== undefined ? { allowedHosts: config.allowedHosts } : {}),
8
11
  ...(config.shortcuts !== undefined ? { shortcuts: config.shortcuts } : {}),
12
+ ...(config.defaultTheme !== undefined ? { defaultTheme: config.defaultTheme } : {}),
13
+ ...(config.defaultStreamingBehavior !== undefined ? { defaultStreamingBehavior: config.defaultStreamingBehavior } : {}),
9
14
  ...(config.plugins !== undefined ? { plugins: config.plugins } : {}),
10
15
  ...(config.normalAuth !== undefined ? { normalAuth: config.normalAuth } : {}),
11
16
  ...(config.managementEmbed !== undefined ? { managementEmbed: config.managementEmbed } : {}),
@@ -15,6 +20,8 @@ export function piWebConfigRecord(config) {
15
20
  ...(config.uploads !== undefined ? { uploads: config.uploads } : {}),
16
21
  ...(config.attachments !== undefined ? { attachments: config.attachments } : {}),
17
22
  ...(config.maxUploadBytes !== undefined ? { maxUploadBytes: config.maxUploadBytes } : {}),
23
+ ...(config.sessionNaming !== undefined ? { sessionNaming: config.sessionNaming } : {}),
24
+ ...(config.sessionArchive !== undefined ? { sessionArchive: config.sessionArchive } : {}),
18
25
  ...(config.spawnSessions !== undefined ? { spawnSessions: config.spawnSessions } : {}),
19
26
  ...(config.subsessions !== undefined ? { subsessions: config.subsessions } : {}),
20
27
  };
@@ -48,6 +55,8 @@ function parsePiWebConfigFields(value, context) {
48
55
  ...(value["port"] !== undefined ? { port: context.format === "request" ? parseRequestPort(value["port"]) : parsePort(value["port"], "port", context.path) } : {}),
49
56
  ...(value["allowedHosts"] !== undefined ? { allowedHosts: parseAllowedHosts(value["allowedHosts"], context) } : {}),
50
57
  ...(value["shortcuts"] !== undefined ? { shortcuts: parseShortcuts(value["shortcuts"], context) } : {}),
58
+ ...(value["defaultTheme"] !== undefined ? { defaultTheme: requireDefaultThemePreference(value["defaultTheme"], context.format === "file" ? context.path : "request") } : {}),
59
+ ...(value["defaultStreamingBehavior"] !== undefined ? { defaultStreamingBehavior: requireDefaultStreamingBehavior(value["defaultStreamingBehavior"], context.format === "file" ? context.path : "request") } : {}),
51
60
  ...(value["plugins"] !== undefined ? { plugins: parsePlugins(value["plugins"], context) } : {}),
52
61
  ...(value["normalAuth"] !== undefined ? { normalAuth: parseNormalAuth(value["normalAuth"], context) } : {}),
53
62
  ...(value["managementEmbed"] !== undefined ? { managementEmbed: parseManagementEmbed(value["managementEmbed"], context) } : {}),
@@ -57,10 +66,55 @@ function parsePiWebConfigFields(value, context) {
57
66
  ...(value["uploads"] !== undefined ? { uploads: parseUploadsConfig(value["uploads"], context.format === "file" ? context.path : "request") } : {}),
58
67
  ...(value["attachments"] !== undefined ? { attachments: parseAttachmentsConfig(value["attachments"], context.format === "file" ? context.path : "request") } : {}),
59
68
  ...(value["maxUploadBytes"] !== undefined ? { maxUploadBytes: parseMaxUploadBytes(value["maxUploadBytes"], "maxUploadBytes", context.format === "file" ? context.path : "request") } : {}),
69
+ ...(value["sessionNaming"] !== undefined ? { sessionNaming: parseSessionNamingConfig(value["sessionNaming"], context.format === "file" ? context.path : "request") } : {}),
70
+ ...(value["sessionArchive"] !== undefined ? { sessionArchive: parseSessionArchiveConfig(value["sessionArchive"], context.format === "file" ? context.path : "request") } : {}),
60
71
  ...(value["spawnSessions"] !== undefined ? { spawnSessions: parseBoolean(value["spawnSessions"], "spawnSessions", context) } : {}),
61
72
  ...(value["subsessions"] !== undefined ? { subsessions: parseBoolean(value["subsessions"], "subsessions", context) } : {}),
62
73
  };
63
74
  }
75
+ export function parseSessionNamingConfig(value, source) {
76
+ if (!isRecord(value))
77
+ throw new UserFacingError("configError.sessionNaming.object", "PI WEB config sessionNaming must be an object: {source}", { source });
78
+ const unknownKey = Object.keys(value).find((key) => key !== "model" && key !== "maxTokens" && key !== "thinkingLevel" && key !== "timeoutMs");
79
+ if (unknownKey !== undefined)
80
+ throw new UserFacingError("configError.sessionNaming.unknownKey", "PI WEB config sessionNaming has unknown key {key}: {source}", { key: JSON.stringify(unknownKey), source });
81
+ const model = value["model"];
82
+ const maxTokens = value["maxTokens"];
83
+ const thinkingLevel = value["thinkingLevel"];
84
+ const timeoutMs = value["timeoutMs"];
85
+ if (model !== undefined && (typeof model !== "string" || !/^[^/\s]+\/\S+$/.test(model))) {
86
+ throw new UserFacingError("configError.sessionNaming.model", "PI WEB config sessionNaming.model must be an exact provider/model-id with non-empty parts: {source}", { source });
87
+ }
88
+ if (maxTokens !== undefined && (typeof maxTokens !== "number" || !Number.isSafeInteger(maxTokens) || maxTokens <= 0)) {
89
+ throw new UserFacingError("configError.sessionNaming.maxTokens", "PI WEB config sessionNaming.maxTokens must be a positive safe integer: {source}", { source });
90
+ }
91
+ if (thinkingLevel !== undefined && (typeof thinkingLevel !== "string" || !isKnownThinkingLevel(thinkingLevel))) {
92
+ throw new UserFacingError("configError.sessionNaming.thinkingLevel", "PI WEB config sessionNaming.thinkingLevel must be a known thinking level: {source}", { source });
93
+ }
94
+ if (timeoutMs !== undefined && (typeof timeoutMs !== "number" || !Number.isInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2147483647)) {
95
+ throw new UserFacingError("configError.sessionNaming.timeoutMs", "PI WEB config sessionNaming.timeoutMs must be an integer from 1 to 2147483647: {source}", { source });
96
+ }
97
+ return {
98
+ ...(model === undefined ? {} : { model }),
99
+ ...(maxTokens === undefined ? {} : { maxTokens }),
100
+ ...(thinkingLevel === undefined ? {} : { thinkingLevel }),
101
+ ...(timeoutMs === undefined ? {} : { timeoutMs }),
102
+ };
103
+ }
104
+ export function parseSessionArchiveConfig(value, source) {
105
+ if (!isRecord(value))
106
+ throw new UserFacingError("configError.sessionArchive.object", "PI WEB config sessionArchive must be an object: {source}", { source });
107
+ const unknownKey = Object.keys(value).find((key) => key !== "directory");
108
+ if (unknownKey !== undefined)
109
+ throw new UserFacingError("configError.sessionArchive.unknownKey", "PI WEB config sessionArchive has unknown key {key}: {source}", { key: JSON.stringify(unknownKey), source });
110
+ const directory = value["directory"];
111
+ if (directory === undefined)
112
+ return {};
113
+ if (typeof directory !== "string" || directory.trim() === "" || directory.includes("\u0000")) {
114
+ throw new UserFacingError("configError.sessionArchive.directory", "PI WEB config sessionArchive.directory must be a non-empty path: {source}", { source });
115
+ }
116
+ return { directory };
117
+ }
64
118
  const AUDIT_LOG_KEYS = new Set(["normalMode", "managementMode"]);
65
119
  const NORMAL_MODE_AUDIT_KEYS = new Set(["enabled", "retentionDays", "maxRows"]);
66
120
  const MANAGEMENT_MODE_AUDIT_KEYS = new Set(["enabled", "baseUrl", "indexPrefix", "retentionDays"]);
@@ -1 +1 @@
1
- {"version":3,"file":"piWebConfigParsing.js","sourceRoot":"","sources":["../../src/shared/piWebConfigParsing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piWebConfigParsing.js","sourceRoot":"","sources":["../../src/shared/piWebConfigParsing.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,61 @@ export type JsonValue = JsonPrimitive | JsonObject | readonly JsonValue[];
11
11
  export interface JsonObject {
12
12
  readonly [key: string]: JsonValue;
13
13
  }
14
+ export type PluginBackendScope = {
15
+ readonly kind: "machine";
16
+ } | {
17
+ readonly kind: "project";
18
+ readonly projectId: string;
19
+ } | {
20
+ readonly kind: "workspace";
21
+ readonly projectId: string;
22
+ readonly workspaceId: string;
23
+ };
24
+ /** Exact package-paired backend on the captured machine. */
25
+ export interface PluginBackend {
26
+ readonly machineId: string;
27
+ forScope(scope: PluginBackendScope): PluginPeer;
28
+ }
29
+ export interface PluginPeerRequestOptions {
30
+ /** Cancels this bounded request through local or federated host transport. */
31
+ readonly signal?: AbortSignal;
32
+ }
33
+ /** Callbacks and cancellation for one bounded package-peer channel. */
34
+ export interface PluginPeerChannelOptions {
35
+ /** Cancels the channel open or closes the live channel through every host hop. */
36
+ readonly signal?: AbortSignal;
37
+ /** Receives one plugin-authored JSON frame after the channel is ready. */
38
+ readonly onData: (data: JsonValue) => void;
39
+ }
40
+ export interface PluginPeerChannelClose {
41
+ readonly code: number;
42
+ readonly reason: string;
43
+ readonly wasClean: boolean;
44
+ /** Attributed host or server-plugin failure when one preceded the close. */
45
+ readonly error?: Readonly<{
46
+ code: string;
47
+ message: string;
48
+ }>;
49
+ }
50
+ export interface PluginPeerChannel {
51
+ readonly closed: Promise<PluginPeerChannelClose>;
52
+ /** Queue one bounded JSON frame or throw. Success means queue acceptance, not remote receipt. */
53
+ send(data: JsonValue): void;
54
+ close(reason?: string): void;
55
+ }
56
+ /**
57
+ * Exact revision-paired path to this package's active server entry.
58
+ * A peer supplies a request handler, a channel handler, or both, but never neither.
59
+ */
60
+ export type PluginPeer = {
61
+ request(operation: string, input: JsonValue, options?: PluginPeerRequestOptions): Promise<JsonValue>;
62
+ openChannel?(operation: string, input: JsonValue, options: PluginPeerChannelOptions): Promise<PluginPeerChannel>;
63
+ } | {
64
+ request?: undefined;
65
+ openChannel(operation: string, input: JsonValue, options: PluginPeerChannelOptions): Promise<PluginPeerChannel>;
66
+ };
67
+ /** Explicitly browser-public session data, keyed by owning package/plugin namespace. */
68
+ export type SessionUiMetadata = Readonly<Record<string, JsonObject>>;
14
69
  /**
15
70
  * Typed token for one exact host/plugin capability version. The provider id
16
71
  * and package-local id together with the version form the stable capability
@@ -47,6 +47,58 @@ export const PLUGIN_BACKEND_CHANNEL_ERROR_MESSAGE_MAX_BYTES = 2_048;
47
47
  export const PLUGIN_BACKEND_CHANNEL_ERROR_CODE_MAX_LENGTH = 64;
48
48
  export const PAIRED_PLUGIN_BACKEND_REQUEST_ROUTE_PATH = "/paired-plugin-backends/:pluginId/projects/:projectId/workspaces/:workspaceId/:operation";
49
49
  export const PAIRED_PLUGIN_BACKEND_CHANNEL_ROUTE_PATH = "/paired-plugin-backends/:pluginId/projects/:projectId/workspaces/:workspaceId/channels/:operation";
50
+ export const PAIRED_PLUGIN_BACKEND_REQUEST_ROUTE_PATHS = Object.freeze([
51
+ "/paired-plugin-backends/:pluginId/:operation",
52
+ "/paired-plugin-backends/:pluginId/projects/:projectId/:operation",
53
+ PAIRED_PLUGIN_BACKEND_REQUEST_ROUTE_PATH,
54
+ ]);
55
+ export const PAIRED_PLUGIN_BACKEND_CHANNEL_ROUTE_PATHS = Object.freeze([
56
+ "/paired-plugin-backends/:pluginId/channels/:operation",
57
+ "/paired-plugin-backends/:pluginId/projects/:projectId/channels/:operation",
58
+ PAIRED_PLUGIN_BACKEND_CHANNEL_ROUTE_PATH,
59
+ ]);
60
+ /** Validate explicit wire authority without accepting browser-supplied paths. */
61
+ export function parsePluginBackendScopeSelection(value) {
62
+ const scope = value["scope"];
63
+ const projectId = value["projectId"];
64
+ const workspaceId = value["workspaceId"];
65
+ if (scope === undefined && projectId === undefined && workspaceId === undefined)
66
+ return {};
67
+ if (scope !== "machine" && scope !== "project" && scope !== "workspace")
68
+ throw new Error("Plugin backend scope must be machine, project, or workspace");
69
+ for (const id of [projectId, workspaceId]) {
70
+ if (id !== undefined && (typeof id !== "string" || id === "" || id.length > 512))
71
+ throw new Error("Plugin backend scope ids must be non-empty strings of at most 512 characters");
72
+ }
73
+ if (scope === "machine" && (projectId !== undefined || workspaceId !== undefined))
74
+ throw new Error("Machine scope cannot contain project or workspace ids");
75
+ if (scope === "project" && workspaceId !== undefined)
76
+ throw new Error("Project scope cannot contain a workspace id");
77
+ return { scope, ...(typeof projectId === "string" ? { projectId } : {}), ...(typeof workspaceId === "string" ? { workspaceId } : {}) };
78
+ }
79
+ export function pluginBackendScopeFromRoute(selection, wire) {
80
+ const scope = selection.workspaceId !== undefined ? "workspace" : selection.projectId !== undefined ? "project" : "machine";
81
+ if (wire === undefined)
82
+ return scope;
83
+ if (scope !== "workspace" && wire.scope === undefined)
84
+ throw new Error("Scoped plugin backend calls require an explicit scope");
85
+ if ((wire.scope !== undefined && wire.scope !== scope)
86
+ || (wire.projectId !== undefined && wire.projectId !== selection.projectId)
87
+ || (wire.workspaceId !== undefined && wire.workspaceId !== selection.workspaceId))
88
+ throw new Error("Plugin backend wire scope does not match route authority");
89
+ return scope;
90
+ }
91
+ export function pairedPluginBackendPath(selection, channel = false) {
92
+ const segments = ["", "paired-plugin-backends", encodeURIComponent(selection.pluginId)];
93
+ if (selection.projectId !== undefined)
94
+ segments.push("projects", encodeURIComponent(selection.projectId));
95
+ if (selection.workspaceId !== undefined)
96
+ segments.push("workspaces", encodeURIComponent(selection.workspaceId));
97
+ if (channel)
98
+ segments.push("channels");
99
+ segments.push(encodeURIComponent(selection.operation));
100
+ return segments.join("/");
101
+ }
50
102
  const OPERATION_PATTERN = /^[a-z][a-z0-9.-]*$/u;
51
103
  const CHANNEL_ERROR_CODE_PATTERN = /^[a-z][a-z0-9.-]*$/u;
52
104
  const MAX_JSON_DEPTH = 64;
@@ -94,14 +146,16 @@ export function parsePluginBackendRequestEnvelope(value) {
94
146
  if (!isPlainRecord(value))
95
147
  throw new Error("Plugin backend request body must be an object");
96
148
  return Object.freeze({
149
+ ...parsePluginBackendScopeSelection(value),
97
150
  revision: requirePluginBackendRevision(value["revision"]),
98
151
  input: cloneBoundedPluginBackendJson(value["input"], "Plugin backend request input"),
99
152
  });
100
153
  }
101
- export function serializePluginBackendChannelOpenEnvelope(revision, input) {
154
+ export function serializePluginBackendChannelOpenEnvelope(revision, input, selection = {}) {
102
155
  return serializePluginBackendChannelEnvelope({
103
156
  version: 1,
104
157
  kind: "open",
158
+ ...parsePluginBackendScopeSelection({ ...selection }),
105
159
  revision: requirePluginBackendRevision(revision),
106
160
  input: cloneBoundedPluginBackendJson(input, "Plugin backend channel open input", PLUGIN_BACKEND_JSON_MAX_BYTES),
107
161
  }, "Plugin backend channel open envelope", PLUGIN_BACKEND_CHANNEL_OPEN_FRAME_MAX_BYTES);
@@ -129,6 +183,7 @@ export function parsePluginBackendChannelClientEnvelope(text) {
129
183
  return Object.freeze({
130
184
  version: 1,
131
185
  kind: "open",
186
+ ...parsePluginBackendScopeSelection(value),
132
187
  revision: requirePluginBackendRevision(value["revision"]),
133
188
  input: cloneBoundedPluginBackendJson(value["input"], "Plugin backend channel open input", PLUGIN_BACKEND_JSON_MAX_BYTES),
134
189
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pluginBackendProtocol.js","sourceRoot":"","sources":["../../src/shared/pluginBackendProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginBackendProtocol.js","sourceRoot":"","sources":["../../src/shared/pluginBackendProtocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { PluginCapability, SessionUiMetadata, WorkspaceProviderMetadata, WorkspaceRemovalPresentation } from "./pluginApiTypes.js";
2
+ export interface PluginCatalogProject {
3
+ readonly id: string;
4
+ readonly name: string;
5
+ readonly path: string;
6
+ }
7
+ export interface PluginCatalogWorkspace {
8
+ readonly id: string;
9
+ readonly projectId: string;
10
+ readonly path: string;
11
+ readonly label: string;
12
+ readonly isMain: boolean;
13
+ readonly provider?: WorkspaceProviderMetadata;
14
+ readonly removal?: WorkspaceRemovalPresentation;
15
+ }
16
+ export interface PluginSessionSnapshot {
17
+ readonly id: string;
18
+ readonly cwd: string;
19
+ readonly name?: string;
20
+ readonly metadata?: SessionUiMetadata;
21
+ readonly archived: boolean;
22
+ readonly runtime: "not-hosted" | "idle" | "busy";
23
+ }
24
+ export interface PluginWorkspaceSelection {
25
+ readonly projectId: string;
26
+ readonly workspaceId: string;
27
+ }
28
+ export interface PluginSessionSelection extends PluginWorkspaceSelection {
29
+ readonly sessionId: string;
30
+ }
31
+ export interface PluginCatalogReadOptions {
32
+ readonly signal?: AbortSignal;
33
+ }
34
+ export interface PluginCatalogV1 {
35
+ readonly version: 1;
36
+ readonly projects: {
37
+ readonly list: (options?: PluginCatalogReadOptions) => Promise<readonly PluginCatalogProject[]>;
38
+ readonly get: (projectId: string, options?: PluginCatalogReadOptions) => Promise<PluginCatalogProject>;
39
+ };
40
+ readonly workspaces: {
41
+ readonly list: (projectId: string, options?: PluginCatalogReadOptions) => Promise<readonly PluginCatalogWorkspace[]>;
42
+ readonly get: (selection: PluginWorkspaceSelection, options?: PluginCatalogReadOptions) => Promise<PluginCatalogWorkspace>;
43
+ };
44
+ readonly sessions: {
45
+ readonly list: (selection: PluginWorkspaceSelection, options?: PluginCatalogReadOptions) => Promise<readonly PluginSessionSnapshot[]>;
46
+ readonly get: (selection: PluginSessionSelection, options?: PluginCatalogReadOptions) => Promise<PluginSessionSnapshot>;
47
+ };
48
+ }
49
+ export declare const PI_WEB_HOST_CATALOG_CAPABILITY: PluginCapability<PluginCatalogV1, 1>;
@@ -0,0 +1,156 @@
1
+ export const PI_WEB_HOST_CATALOG_CAPABILITY = Object.freeze({
2
+ pluginId: "pi-web.host",
3
+ id: "catalog",
4
+ version: 1,
5
+ parse: snapshotCatalog,
6
+ });
7
+ function snapshotCatalog(value) {
8
+ const catalog = record(value);
9
+ if (catalog["version"] !== 1)
10
+ throw invalid();
11
+ const projects = methods(catalog["projects"]);
12
+ const workspaces = methods(catalog["workspaces"]);
13
+ const sessions = methods(catalog["sessions"]);
14
+ return Object.freeze({
15
+ version: 1,
16
+ projects: Object.freeze({
17
+ list: async (options) => array(await projects.list(options), snapshotProject),
18
+ get: async (projectId, options) => {
19
+ const id = text(projectId);
20
+ const result = snapshotProject(await projects.get(id, options));
21
+ if (result.id !== id)
22
+ throw invalid();
23
+ return result;
24
+ },
25
+ }),
26
+ workspaces: Object.freeze({
27
+ list: async (projectId, options) => {
28
+ const id = text(projectId);
29
+ return array(await workspaces.list(id, options), (row) => workspaceFor(row, id));
30
+ },
31
+ get: async (selection, options) => {
32
+ const requested = snapshotSelection(selection);
33
+ const result = workspaceFor(await workspaces.get(requested, options), requested.projectId);
34
+ if (result.id !== requested.workspaceId)
35
+ throw invalid();
36
+ return result;
37
+ },
38
+ }),
39
+ sessions: Object.freeze({
40
+ list: async (selection, options) => array(await sessions.list(snapshotSelection(selection), options), snapshotSession),
41
+ get: async (selection, options) => {
42
+ const requested = snapshotSelection(selection, true);
43
+ const result = snapshotSession(await sessions.get(requested, options));
44
+ if (result.id !== requested.sessionId)
45
+ throw invalid();
46
+ return result;
47
+ },
48
+ }),
49
+ });
50
+ }
51
+ function methods(value) {
52
+ const owner = record(value);
53
+ const list = owner["list"];
54
+ const get = owner["get"];
55
+ if (typeof list !== "function" || typeof get !== "function")
56
+ throw invalid();
57
+ return {
58
+ list: (...args) => Promise.resolve(Reflect.apply(list, owner, args)),
59
+ get: (...args) => Promise.resolve(Reflect.apply(get, owner, args)),
60
+ };
61
+ }
62
+ function snapshotProject(value) {
63
+ const row = record(value);
64
+ return Object.freeze({ id: text(row["id"]), name: text(row["name"]), path: text(row["path"]) });
65
+ }
66
+ function workspaceFor(value, projectId) {
67
+ const row = record(value);
68
+ if (row["projectId"] !== projectId || typeof row["isMain"] !== "boolean")
69
+ throw invalid();
70
+ let provider;
71
+ if (row["provider"] !== undefined) {
72
+ const source = record(row["provider"]);
73
+ const capabilities = record(source["capabilities"]);
74
+ if (typeof capabilities["remove"] !== "boolean")
75
+ throw invalid();
76
+ provider = Object.freeze({
77
+ pluginId: text(source["pluginId"]),
78
+ capabilities: Object.freeze({ remove: capabilities["remove"] }),
79
+ ...(source["metadata"] === undefined ? {} : { metadata: jsonObject(source["metadata"]) }),
80
+ });
81
+ }
82
+ const removal = row["removal"] === undefined ? undefined : record(row["removal"]);
83
+ return Object.freeze({
84
+ id: text(row["id"]), projectId, path: text(row["path"]), label: text(row["label"]), isMain: row["isMain"],
85
+ ...(provider === undefined ? {} : { provider }),
86
+ ...(removal === undefined ? {} : { removal: Object.freeze({ actionLabel: text(removal["actionLabel"]), confirmation: text(removal["confirmation"]) }) }),
87
+ });
88
+ }
89
+ function snapshotSession(value) {
90
+ const row = record(value);
91
+ const runtime = row["runtime"];
92
+ if (typeof row["archived"] !== "boolean" || (runtime !== "not-hosted" && runtime !== "idle" && runtime !== "busy"))
93
+ throw invalid();
94
+ let metadata;
95
+ if (row["metadata"] !== undefined) {
96
+ metadata = Object.freeze(Object.fromEntries(Object.entries(record(row["metadata"])).map(([key, data]) => [key, jsonObject(data)])));
97
+ }
98
+ if (row["name"] !== undefined && typeof row["name"] !== "string")
99
+ throw invalid();
100
+ return Object.freeze({
101
+ id: text(row["id"]), cwd: text(row["cwd"]), archived: row["archived"], runtime,
102
+ ...(row["name"] === undefined ? {} : { name: row["name"] }),
103
+ ...(metadata === undefined ? {} : { metadata }),
104
+ });
105
+ }
106
+ function snapshotSelection(value, session = false) {
107
+ const row = record(value);
108
+ const keys = session ? ["projectId", "workspaceId", "sessionId"] : ["projectId", "workspaceId"];
109
+ if (Reflect.ownKeys(row).some((key) => typeof key !== "string" || !keys.includes(key)))
110
+ throw invalid();
111
+ return Object.freeze({ projectId: text(row["projectId"]), workspaceId: text(row["workspaceId"]), ...(session ? { sessionId: text(row["sessionId"]) } : {}) });
112
+ }
113
+ function array(value, snapshot) {
114
+ if (!Array.isArray(value))
115
+ throw invalid();
116
+ return Object.freeze(value.map(snapshot));
117
+ }
118
+ function record(value) {
119
+ if (!isRecord(value))
120
+ throw invalid();
121
+ return value;
122
+ }
123
+ function isRecord(value) {
124
+ if (typeof value !== "object" || value === null || Array.isArray(value))
125
+ return false;
126
+ const prototype = Object.getPrototypeOf(value);
127
+ return prototype === Object.prototype || prototype === null;
128
+ }
129
+ function text(value) {
130
+ if (typeof value !== "string" || value.trim() === "")
131
+ throw invalid();
132
+ return value;
133
+ }
134
+ function jsonObject(value, ancestors = new Set()) {
135
+ const source = record(value);
136
+ if (ancestors.has(source))
137
+ throw invalid();
138
+ ancestors.add(source);
139
+ const result = Object.freeze(Object.fromEntries(Object.entries(source).map(([key, data]) => [key, json(data, ancestors)])));
140
+ ancestors.delete(source);
141
+ return result;
142
+ }
143
+ function json(value, ancestors) {
144
+ if (value === null || typeof value === "string" || typeof value === "boolean" || (typeof value === "number" && Number.isFinite(value)))
145
+ return value;
146
+ if (Array.isArray(value)) {
147
+ if (ancestors.has(value))
148
+ throw invalid();
149
+ ancestors.add(value);
150
+ const result = Object.freeze(value.map((item) => json(item, ancestors)));
151
+ ancestors.delete(value);
152
+ return result;
153
+ }
154
+ return jsonObject(value, ancestors);
155
+ }
156
+ function invalid() { return new Error("Invalid PI WEB host catalog capability v1 data"); }