@chainingintention/pi-web-cn 1.202610.1 → 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.
- package/README.md +60 -106
- package/dist/.plugins-ready +1 -0
- package/dist/cli.js +161 -45
- package/dist/cli.js.map +1 -1
- package/dist/client/assets/index-CFhaGb5m.js +4357 -0
- package/dist/client/assets/vendor-editor-core-YWog6mAR.js +10 -0
- package/dist/client/assets/vendor-editor-languages-DOCw3vc9.js +28 -0
- package/dist/client/index.html +5 -5
- package/dist/config.js +30 -6
- package/dist/config.js.map +1 -1
- package/dist/docker/piWebDockerCommandPlan.js +13 -4
- package/dist/docker/piWebDockerCommandPlan.js.map +1 -1
- package/dist/nativeServices/installedServiceDefinitions.js +23 -10
- package/dist/nativeServices/installedServiceDefinitions.js.map +1 -1
- package/dist/nativeServices/serviceAction.js +78 -20
- package/dist/nativeServices/serviceAction.js.map +1 -1
- package/dist/nativeServices/serviceDoctor.js +339 -67
- package/dist/nativeServices/serviceDoctor.js.map +1 -1
- package/dist/nativeServices/servicePlan.js +2 -2
- package/dist/nativeServices/servicePlan.js.map +1 -1
- package/dist/pi-packages/captains-log/README.md +11 -0
- package/dist/pi-packages/captains-log/dist/browser/channelProtocol.js +29 -0
- package/dist/pi-packages/captains-log/dist/browser/index.js +146 -0
- package/dist/pi-packages/captains-log/dist/browser/markdown.js +67 -0
- package/dist/pi-packages/captains-log/dist/browser/panel.js +151 -0
- package/dist/pi-packages/captains-log/dist/browser/protocol.js +26 -0
- package/dist/pi-packages/captains-log/dist/companion.js +126 -0
- package/dist/pi-packages/captains-log/dist/roundtrip.js +62 -0
- package/dist/pi-packages/captains-log/dist/server.js +210 -0
- package/dist/pi-packages/captains-log/dist/store.js +75 -0
- package/dist/pi-packages/captains-log/docs/usage.md +29 -0
- package/dist/pi-packages/captains-log/package.json +35 -0
- package/dist/pi-packages/captains-log/tsconfig.json +21 -0
- package/dist/pi-packages/captains-log/vite.config.mjs +28 -0
- package/dist/pi-packages/relays/pi-web-plugin.js +9 -9
- package/dist/pi-packages/relays/prompts/relay.md +1 -1
- package/dist/pi-packages/relays/relaysPanelElement.js +8 -8
- package/dist/pi-packages/relays/skills/relay-runner/SKILL.md +21 -13
- package/dist/pi-web-plugins/files/browser/assets/files-icon-DZObYhxb.svg +3 -0
- package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +456 -0
- package/dist/pi-web-plugins/files/package.json +15 -0
- package/dist/pi-web-plugins/git/browser/git-panel.js +55 -32
- package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +2 -2
- package/dist/pi-web-plugins/git/git-backend.js +19 -26
- package/dist/pi-web-plugins/git/gitStatusCache.js +48 -0
- package/dist/pi-web-plugins/git/package.json +1 -0
- package/dist/pi-web-plugins/git/server-plugin.js +11 -10
- package/dist/pi-web-plugins/info/infoInternals.js +4 -1
- package/dist/pi-web-plugins/info/package.json +1 -1
- package/dist/pi-web-plugins/info/pi-web-plugin.js +8 -8
- package/dist/pi-web-plugins/mermaid/browser/mermaid-engine.js +3590 -0
- package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +6 -0
- package/dist/pi-web-plugins/mermaid/package.json +13 -0
- package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +210 -0
- package/dist/pi-web-plugins/terminal/package.json +16 -0
- package/dist/pi-web-plugins/terminal/server-plugin.js +365 -0
- package/dist/pi-web-plugins/terminal/terminalService.js +435 -0
- package/dist/pi-web-plugins/updates/package.json +1 -1
- package/dist/pi-web-plugins/updates/pi-web-plugin.js +69 -68
- package/dist/pi-web-plugins/workspace-tasks/package.json +1 -1
- package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +3 -3
- package/dist/piWebVersionReport.js +47 -24
- package/dist/piWebVersionReport.js.map +1 -1
- package/dist/plugin-api.d.ts +260 -25
- package/dist/plugin-api.js +1 -0
- package/dist/pluginRecoveryCli.js +3 -2
- package/dist/pluginRecoveryCli.js.map +1 -1
- package/dist/server/activity/workspaceActivityService.js +5 -5
- package/dist/server/activity/workspaceActivityService.js.map +1 -1
- package/dist/server/app.js +71 -44
- package/dist/server/app.js.map +1 -1
- package/dist/server/audit/managementAuditStore.js +1 -1
- package/dist/server/browserMessageProjection.js +0 -2
- package/dist/server/browserMessageProjection.js.map +1 -1
- package/dist/server/configRoutes.js +1 -2
- package/dist/server/configRoutes.js.map +1 -1
- package/dist/server/knownPiPackages.js +12 -0
- package/dist/server/knownPiPackages.js.map +1 -0
- package/dist/server/machines/machineClient.js +2 -2
- package/dist/server/machines/machineClient.js.map +1 -1
- package/dist/server/machines/machinePluginProxyRoutes.js +120 -21
- package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -1
- package/dist/server/machines/machineProxyRoutes.js +80 -22
- package/dist/server/machines/machineProxyRoutes.js.map +1 -1
- package/dist/server/machines/machineService.js +22 -0
- package/dist/server/machines/machineService.js.map +1 -1
- package/dist/server/managementEmbed.js +1 -1
- package/dist/server/managementEmbed.js.map +1 -1
- package/dist/server/managementPrivileges.js +7 -1
- package/dist/server/managementPrivileges.js.map +1 -1
- package/dist/server/managementTerminalProxyRoutes.js +124 -0
- package/dist/server/managementTerminalProxyRoutes.js.map +1 -0
- package/dist/server/normalAuth.js +5 -1
- package/dist/server/normalAuth.js.map +1 -1
- package/dist/server/notices/serverNoticeStore.js +50 -6
- package/dist/server/notices/serverNoticeStore.js.map +1 -1
- package/dist/server/piPackageService.js +5 -5
- package/dist/server/piPackageService.js.map +1 -1
- package/dist/server/piWebPluginCatalog.js +211 -34
- package/dist/server/piWebPluginCatalog.js.map +1 -1
- package/dist/server/piWebPluginLifecycle.js +29 -3
- package/dist/server/piWebPluginLifecycle.js.map +1 -1
- package/dist/server/piWebPluginService.js +176 -291
- package/dist/server/piWebPluginService.js.map +1 -1
- package/dist/server/piWebStatus.js +45 -55
- package/dist/server/piWebStatus.js.map +1 -1
- package/dist/server/pluginCallbackDrain.js +35 -0
- package/dist/server/pluginCallbackDrain.js.map +1 -0
- package/dist/server/plugins/pluginBackendChannelProxyAdmission.js +84 -0
- package/dist/server/plugins/pluginBackendChannelProxyAdmission.js.map +1 -0
- package/dist/server/plugins/pluginBackendChannelProxyCoordinator.js +234 -0
- package/dist/server/plugins/pluginBackendChannelProxyCoordinator.js.map +1 -0
- package/dist/server/plugins/pluginBackendChannelProxyRoutes.js +63 -0
- package/dist/server/plugins/pluginBackendChannelProxyRoutes.js.map +1 -0
- package/dist/server/plugins/pluginBackendProxyRoutes.js +7 -4
- package/dist/server/plugins/pluginBackendProxyRoutes.js.map +1 -1
- package/dist/server/plugins/pluginBackendRegistry.js +773 -0
- package/dist/server/plugins/pluginBackendRegistry.js.map +1 -0
- package/dist/server/plugins/serverPluginPiSessionEventsCapability.js +34 -0
- package/dist/server/plugins/serverPluginPiSessionEventsCapability.js.map +1 -0
- package/dist/server/plugins/serverPluginPiSessionsCapability.js +185 -0
- package/dist/server/plugins/serverPluginPiSessionsCapability.js.map +1 -0
- package/dist/server/plugins/serverPluginRuntime.js +1049 -107
- package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
- package/dist/server/plugins/serverPluginWorkspacesCapability.js +114 -0
- package/dist/server/plugins/serverPluginWorkspacesCapability.js.map +1 -0
- package/dist/server/projectTrustRoutes.js +86 -0
- package/dist/server/projectTrustRoutes.js.map +1 -0
- package/dist/server/projects/projectLifecycleService.js +84 -0
- package/dist/server/projects/projectLifecycleService.js.map +1 -0
- package/dist/server/projects/projectService.js +2 -0
- package/dist/server/projects/projectService.js.map +1 -1
- package/dist/server/realtime/sessionEventHub.js +35 -41
- package/dist/server/realtime/sessionEventHub.js.map +1 -1
- package/dist/server/sessiond/agentHttpDispatcher.js +108 -0
- package/dist/server/sessiond/agentHttpDispatcher.js.map +1 -0
- package/dist/server/sessiond/pluginBackendChannelRoutes.js +397 -0
- package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -0
- package/dist/server/sessiond/pluginBackendRoutes.js +19 -9
- package/dist/server/sessiond/pluginBackendRoutes.js.map +1 -1
- package/dist/server/sessiond/projectMutationRoutes.js +38 -0
- package/dist/server/sessiond/projectMutationRoutes.js.map +1 -0
- package/dist/server/sessiond/sessionDaemonShutdown.js +36 -0
- package/dist/server/sessiond/sessionDaemonShutdown.js.map +1 -0
- package/dist/server/sessiond/sessionDaemonStartup.js +30 -4
- package/dist/server/sessiond/sessionDaemonStartup.js.map +1 -1
- package/dist/server/sessiond/sessionProxyRoutes.js +47 -15
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
- package/dist/server/sessiond/sessionServiceDependencies.js +4 -0
- package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
- package/dist/server/sessiond/sessiondStateOwnership.js +174 -39
- package/dist/server/sessiond/sessiondStateOwnership.js.map +1 -1
- package/dist/server/sessiond/workspaceRemovalRoutes.js +1 -1
- package/dist/server/sessiond/workspaceRemovalRoutes.js.map +1 -1
- package/dist/server/sessiond.js +226 -56
- package/dist/server/sessiond.js.map +1 -1
- package/dist/server/sessions/askUserTool.js +0 -3
- package/dist/server/sessions/askUserTool.js.map +1 -1
- package/dist/server/sessions/attachmentService.js +0 -1
- package/dist/server/sessions/attachmentService.js.map +1 -1
- package/dist/server/sessions/authService.js +8 -1
- package/dist/server/sessions/authService.js.map +1 -1
- package/dist/server/sessions/builtinCommands.js +2 -2
- package/dist/server/sessions/builtinCommands.js.map +1 -1
- package/dist/server/sessions/clientSessionPreview.js +14 -0
- package/dist/server/sessions/clientSessionPreview.js.map +1 -0
- package/dist/server/sessions/dockerEnvironmentFacts.js +82 -9
- package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
- package/dist/server/sessions/managementAgentTools.js +11 -6
- package/dist/server/sessions/managementAgentTools.js.map +1 -1
- package/dist/server/sessions/managementPermissionSystem.js +16 -4
- package/dist/server/sessions/managementPermissionSystem.js.map +1 -1
- package/dist/server/sessions/messagePaging.js +2 -2
- package/dist/server/sessions/messagePaging.js.map +1 -1
- package/dist/server/sessions/modelCatalogRefresher.js +4 -3
- package/dist/server/sessions/modelCatalogRefresher.js.map +1 -1
- package/dist/server/sessions/oauthLoginFlowService.js +2 -5
- package/dist/server/sessions/oauthLoginFlowService.js.map +1 -1
- package/dist/server/sessions/pendingAskStore.js +0 -3
- package/dist/server/sessions/pendingAskStore.js.map +1 -1
- package/dist/server/sessions/piSessionEventConnections.js +65 -0
- package/dist/server/sessions/piSessionEventConnections.js.map +1 -0
- package/dist/server/sessions/piSessionManagerGateway.js +56 -3
- package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +774 -448
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/projectAuthService.js +29 -2
- package/dist/server/sessions/projectAuthService.js.map +1 -1
- package/dist/server/sessions/projectSettingsScope.js +12 -4
- package/dist/server/sessions/projectSettingsScope.js.map +1 -1
- package/dist/server/sessions/projectTrust.js +119 -0
- package/dist/server/sessions/projectTrust.js.map +1 -0
- package/dist/server/sessions/sessionActivityMarker.js +105 -0
- package/dist/server/sessions/sessionActivityMarker.js.map +1 -0
- package/dist/server/sessions/sessionArchiveMapping.js +2 -8
- package/dist/server/sessions/sessionArchiveMapping.js.map +1 -1
- package/dist/server/sessions/sessionCommandService.js +12 -10
- package/dist/server/sessions/sessionCommandService.js.map +1 -1
- package/dist/server/sessions/sessionEnvironmentFacts.js +5 -4
- package/dist/server/sessions/sessionEnvironmentFacts.js.map +1 -1
- package/dist/server/sessions/sessionModelScope.js +42 -5
- package/dist/server/sessions/sessionModelScope.js.map +1 -1
- package/dist/server/sessions/sessionNameGenerator.js +6 -6
- package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
- package/dist/server/sessions/sessionRoutes.js +63 -15
- package/dist/server/sessions/sessionRoutes.js.map +1 -1
- package/dist/server/sessions/sessionTreeProjection.js +29 -29
- package/dist/server/sessions/sessionTreeProjection.js.map +1 -1
- package/dist/server/sessions/sessionUiEvents.js +6 -7
- package/dist/server/sessions/sessionUiEvents.js.map +1 -1
- package/dist/server/sessions/sessionUnreadStore.js +26 -1
- package/dist/server/sessions/sessionUnreadStore.js.map +1 -1
- package/dist/server/sessions/spawnSessionTool.js +3 -3
- package/dist/server/sessions/spawnSessionTool.js.map +1 -1
- package/dist/server/sessions/spawnSubsessionTool.js +5 -5
- package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
- package/dist/server/sessions/spawnTargetResolver.js +1 -1
- package/dist/server/sessions/transcriptMessages.js +54 -0
- package/dist/server/sessions/transcriptMessages.js.map +1 -0
- package/dist/server/status/machineStatusService.js +3 -1
- package/dist/server/status/machineStatusService.js.map +1 -1
- package/dist/server/terminals/{terminalService.js → managementCommandRunService.js} +79 -107
- package/dist/server/terminals/managementCommandRunService.js.map +1 -0
- package/dist/server/terminals/managementTerminalRoutes.js +91 -0
- package/dist/server/terminals/managementTerminalRoutes.js.map +1 -0
- package/dist/server/terminals/requiredTerminalService.js +103 -0
- package/dist/server/terminals/requiredTerminalService.js.map +1 -0
- package/dist/server/webSocketBridge.js +339 -0
- package/dist/server/webSocketBridge.js.map +1 -1
- package/dist/server/workbench/gatewayIntegration.js +4 -1
- package/dist/server/workbench/gatewayIntegration.js.map +1 -1
- package/dist/server/workspaceExplorerRoutes.js +13 -12
- package/dist/server/workspaceExplorerRoutes.js.map +1 -1
- package/dist/server/workspaces/fileContentService.js +9 -7
- package/dist/server/workspaces/fileContentService.js.map +1 -1
- package/dist/server/workspaces/fileOperationService.js +4 -3
- package/dist/server/workspaces/fileOperationService.js.map +1 -1
- package/dist/server/workspaces/projectWorkspaceCwds.js +0 -5
- package/dist/server/workspaces/projectWorkspaceCwds.js.map +1 -1
- package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js +36 -12
- package/dist/server/workspaces/sessionDaemonWorkspaceCatalog.js.map +1 -1
- package/dist/server/workspaces/workspaceCatalog.js +6 -4
- package/dist/server/workspaces/workspaceCatalog.js.map +1 -1
- package/dist/server/workspaces/workspaceDeletionRoutes.js +5 -57
- package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -1
- package/dist/server/workspaces/workspaceProviderRegistry.js +75 -24
- package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
- package/dist/server/workspaces/workspaceRemovalService.js +25 -3
- package/dist/server/workspaces/workspaceRemovalService.js.map +1 -1
- package/dist/server-plugin-api.d.ts +274 -44
- package/dist/server-plugin-api.js +319 -2
- package/dist/server-plugin-api.js.map +1 -1
- package/dist/serverPluginRecovery.js +4 -0
- package/dist/serverPluginRecovery.js.map +1 -1
- package/dist/sessiond/activeAgentProfile.js +27 -2
- package/dist/sessiond/activeAgentProfile.js.map +1 -1
- package/dist/sessiond/config.js +4 -3
- package/dist/sessiond/config.js.map +1 -1
- package/dist/sessiond/sessionDaemonClient.js +29 -8
- package/dist/sessiond/sessionDaemonClient.js.map +1 -1
- package/dist/shared/activeAgentProfile.js +2 -34
- package/dist/shared/activeAgentProfile.js.map +1 -1
- package/dist/shared/activity.js +0 -3
- package/dist/shared/activity.js.map +1 -1
- package/dist/shared/apiTypes.js +7 -2
- package/dist/shared/apiTypes.js.map +1 -1
- package/dist/shared/capabilities.js +5 -0
- package/dist/shared/capabilities.js.map +1 -1
- package/dist/shared/federatedRoutes.js +49 -9
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/dist/shared/machinePluginIds.js +30 -7
- package/dist/shared/machinePluginIds.js.map +1 -1
- package/dist/shared/machineStatus.js +35 -1
- package/dist/shared/machineStatus.js.map +1 -1
- package/dist/shared/piWebStatusParsing.js +29 -0
- package/dist/shared/piWebStatusParsing.js.map +1 -1
- package/dist/shared/pluginApiTypes.d.ts +24 -9
- package/dist/shared/pluginApiTypes.js +2 -0
- package/dist/shared/pluginApiTypes.js.map +1 -0
- package/dist/shared/pluginBackendProtocol.js +163 -2
- package/dist/shared/pluginBackendProtocol.js.map +1 -1
- package/dist/shared/pluginIds.js +10 -1
- package/dist/shared/pluginIds.js.map +1 -1
- package/dist/shared/requiredTerminalPlugin.js +6 -0
- package/dist/shared/requiredTerminalPlugin.js.map +1 -0
- package/dist/shared/serverNoticeContract.js +88 -0
- package/dist/shared/serverNoticeContract.js.map +1 -0
- package/dist/shared/sessionDefaults.js +41 -0
- package/dist/shared/sessionDefaults.js.map +1 -0
- package/dist/shared/workspaceFiles.js.map +1 -1
- package/docs/config.md +270 -323
- package/docs/plugins.md +171 -956
- package/examples/session-bridge-plugin/README.md +20 -0
- package/examples/session-bridge-plugin/docs/usage.md +54 -0
- package/examples/session-bridge-plugin/package.json +26 -0
- package/examples/session-bridge-plugin/src/browser/index.ts +87 -0
- package/examples/session-bridge-plugin/src/browser/protocol.ts +24 -0
- package/examples/session-bridge-plugin/src/companion.ts +65 -0
- package/examples/session-bridge-plugin/src/reviewRun.ts +39 -0
- package/examples/session-bridge-plugin/src/server.ts +85 -0
- package/examples/session-bridge-plugin/src/store.ts +80 -0
- package/examples/session-bridge-plugin/tsconfig.json +21 -0
- package/examples/workspace-provider-plugin/README.md +39 -0
- package/examples/workspace-provider-plugin/package.json +25 -0
- package/examples/workspace-provider-plugin/src/browser/index.ts +69 -0
- package/examples/workspace-provider-plugin/src/server.ts +68 -0
- package/examples/workspace-provider-plugin/tsconfig.json +21 -0
- package/package.json +22 -13
- package/skills/README.md +27 -2
- package/skills/relay-runner/SKILL.md +21 -13
- package/dist/client/assets/CodeViewer-CZHnKRwQ.js +0 -4
- package/dist/client/assets/TerminalPanel-B_EaRPHY.js +0 -187
- package/dist/client/assets/index-Bv1v-Jz7.js +0 -4717
- package/dist/client/assets/vendor-editor-core-vUi74DnD.js +0 -12
- package/dist/client/assets/vendor-editor-languages-DoaXUodB.js +0 -46
- package/dist/client/assets/vendor-editor-legacy-CYBnW6ZU.js +0 -1
- package/dist/client/assets/vendor-terminal-BrP-ENHg.css +0 -1
- package/dist/client/assets/vendor-terminal-D8k4UKM2.js +0 -35
- package/dist/server/git/gitService.js +0 -316
- package/dist/server/git/gitService.js.map +0 -1
- package/dist/server/gitRoutes.js +0 -23
- package/dist/server/gitRoutes.js.map +0 -1
- package/dist/server/terminalProxyRoutes.js +0 -181
- package/dist/server/terminalProxyRoutes.js.map +0 -1
- package/dist/server/terminals/terminalRoutes.js +0 -164
- package/dist/server/terminals/terminalRoutes.js.map +0 -1
- package/dist/server/terminals/terminalService.js.map +0 -1
- package/dist/server/terminals/terminalSize.js +0 -17
- package/dist/server/terminals/terminalSize.js.map +0 -1
- package/dist/server/workspaces/gitWorktreeDiscovery.js +0 -43
- package/dist/server/workspaces/gitWorktreeDiscovery.js.map +0 -1
- package/dist/server/workspaces/workspaceService.js +0 -52
- package/dist/server/workspaces/workspaceService.js.map +0 -1
|
@@ -9,47 +9,67 @@ const PI_WEB_VERSION_TIMEOUT_MS = 2000;
|
|
|
9
9
|
const PI_WEB_VERSION_ENDPOINT_PATH = "/api/pi-web/version";
|
|
10
10
|
const PI_WEB_STATUS_ENDPOINT_PATH = "/api/pi-web/status";
|
|
11
11
|
const DEFAULT_PACKAGE_VERSION = "0.0.0-dev";
|
|
12
|
+
/**
|
|
13
|
+
* Readiness rule for `pi-web doctor`: an expected running component is ready
|
|
14
|
+
* only when the report carries its status and that status is available and not
|
|
15
|
+
* stale. A component missing from the report (an error-only entry) is not
|
|
16
|
+
* ready. Components that are not expected stay informational regardless of
|
|
17
|
+
* state.
|
|
18
|
+
*/
|
|
12
19
|
export function runningComponentsReady(info, expected) {
|
|
13
20
|
return expected.every((id) => {
|
|
14
21
|
const status = info[id];
|
|
15
|
-
|
|
16
|
-
return status.available && !status.stale;
|
|
17
|
-
return id === "web" && info.webAuthenticationRequired === true;
|
|
22
|
+
return status !== undefined && status.available && !status.stale;
|
|
18
23
|
});
|
|
19
24
|
}
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Readiness probe for service lifecycle waits: the web component is ready when
|
|
27
|
+
* dependency-free web health endpoint responds. Older hosts fall back to
|
|
28
|
+
* version/status reporting. The session daemon is ready when its own health
|
|
29
|
+
* endpoint serves version information.
|
|
30
|
+
*/
|
|
31
|
+
export async function probeRunningComponentReady(component, options = {}) {
|
|
32
|
+
if (component === "sessiond") {
|
|
33
|
+
const sessiond = await collectRunningSessiondInfo();
|
|
34
|
+
return sessiond.component !== undefined;
|
|
35
|
+
}
|
|
36
|
+
const endpoint = webVersionEndpoint(options.configEnv);
|
|
25
37
|
if (endpoint.endpoint === undefined)
|
|
26
38
|
return false;
|
|
39
|
+
const fetchImplementation = options.fetch ?? globalThis.fetch;
|
|
27
40
|
try {
|
|
28
|
-
await
|
|
41
|
+
const response = await fetchImplementation(new URL("./health", endpoint.endpoint).href, {
|
|
42
|
+
signal: AbortSignal.timeout(PI_WEB_VERSION_TIMEOUT_MS),
|
|
43
|
+
});
|
|
44
|
+
if (response.status !== 404) {
|
|
45
|
+
if (!response.ok)
|
|
46
|
+
return false;
|
|
47
|
+
const health = await response.json();
|
|
48
|
+
return typeof health === "object" && health !== null && "ok" in health && health.ok === true;
|
|
49
|
+
}
|
|
50
|
+
await fetchPiWebVersionResponse(endpoint.endpoint, fetchImplementation);
|
|
29
51
|
return true;
|
|
30
52
|
}
|
|
31
53
|
catch (error) {
|
|
32
|
-
if (isAuthenticationRequired(error))
|
|
33
|
-
return true;
|
|
34
54
|
const statusEndpoint = statusEndpointFor(endpoint.endpoint);
|
|
35
55
|
if (!isHttpNotFound(error) || statusEndpoint === endpoint.endpoint)
|
|
36
56
|
return false;
|
|
37
57
|
try {
|
|
38
|
-
await fetchPiWebVersionResponse(statusEndpoint);
|
|
58
|
+
await fetchPiWebVersionResponse(statusEndpoint, fetchImplementation);
|
|
39
59
|
return true;
|
|
40
60
|
}
|
|
41
|
-
catch
|
|
42
|
-
return
|
|
61
|
+
catch {
|
|
62
|
+
return false;
|
|
43
63
|
}
|
|
44
64
|
}
|
|
45
65
|
}
|
|
46
66
|
export function packageVersion() {
|
|
47
67
|
return readPackageInfo()?.version ?? DEFAULT_PACKAGE_VERSION;
|
|
48
68
|
}
|
|
49
|
-
export async function printPiWebVersionReport() {
|
|
69
|
+
export async function printPiWebVersionReport(options = {}) {
|
|
50
70
|
console.log("PI WEB version");
|
|
51
71
|
printInstalledPackageVersions();
|
|
52
|
-
const runningInfo = await collectRunningVersionInfo();
|
|
72
|
+
const runningInfo = await collectRunningVersionInfo(options);
|
|
53
73
|
printRunningVersionInfo(runningInfo);
|
|
54
74
|
return runningInfo;
|
|
55
75
|
}
|
|
@@ -77,9 +97,9 @@ function parsePackageInfo(value, path) {
|
|
|
77
97
|
return undefined;
|
|
78
98
|
return { name, version, path };
|
|
79
99
|
}
|
|
80
|
-
function webVersionEndpoint() {
|
|
100
|
+
function webVersionEndpoint(configEnv) {
|
|
81
101
|
try {
|
|
82
|
-
const { config } = effectivePiWebConfig();
|
|
102
|
+
const { config } = effectivePiWebConfig(configEnv === undefined ? {} : { env: configEnv });
|
|
83
103
|
const host = httpClientHost(config.host);
|
|
84
104
|
const port = config.port ?? 8504;
|
|
85
105
|
return { endpoint: `http://${urlHost(host)}:${String(port)}${PI_WEB_VERSION_ENDPOINT_PATH}` };
|
|
@@ -104,8 +124,8 @@ function statusEndpointFor(versionEndpoint) {
|
|
|
104
124
|
return versionEndpoint;
|
|
105
125
|
return `${versionEndpoint.slice(0, -PI_WEB_VERSION_ENDPOINT_PATH.length)}${PI_WEB_STATUS_ENDPOINT_PATH}`;
|
|
106
126
|
}
|
|
107
|
-
async function fetchPiWebVersionResponse(endpoint) {
|
|
108
|
-
const response = await
|
|
127
|
+
async function fetchPiWebVersionResponse(endpoint, fetchImplementation) {
|
|
128
|
+
const response = await fetchImplementation(endpoint, {
|
|
109
129
|
headers: { accept: "application/json" },
|
|
110
130
|
signal: AbortSignal.timeout(PI_WEB_VERSION_TIMEOUT_MS),
|
|
111
131
|
});
|
|
@@ -117,11 +137,14 @@ async function fetchPiWebVersionResponse(endpoint) {
|
|
|
117
137
|
throw new Error("response did not include PI WEB version information");
|
|
118
138
|
return status;
|
|
119
139
|
}
|
|
120
|
-
async function collectRunningVersionInfo() {
|
|
121
|
-
const endpoint =
|
|
140
|
+
async function collectRunningVersionInfo(options) {
|
|
141
|
+
const endpoint = options.webEndpointError === undefined
|
|
142
|
+
? webVersionEndpoint(options.configEnv)
|
|
143
|
+
: { error: options.webEndpointError };
|
|
144
|
+
const fetchImplementation = options.fetch ?? globalThis.fetch;
|
|
122
145
|
if (endpoint.endpoint !== undefined) {
|
|
123
146
|
try {
|
|
124
|
-
const status = await fetchPiWebVersionResponse(endpoint.endpoint);
|
|
147
|
+
const status = await fetchPiWebVersionResponse(endpoint.endpoint, fetchImplementation);
|
|
125
148
|
return { generatedAt: status.generatedAt, web: status.components.web, sessiond: status.components.sessiond };
|
|
126
149
|
}
|
|
127
150
|
catch (error) {
|
|
@@ -132,7 +155,7 @@ async function collectRunningVersionInfo() {
|
|
|
132
155
|
const statusEndpoint = statusEndpointFor(endpoint.endpoint);
|
|
133
156
|
if (statusEndpoint !== endpoint.endpoint && isHttpNotFound(error)) {
|
|
134
157
|
try {
|
|
135
|
-
const status = await fetchPiWebVersionResponse(statusEndpoint);
|
|
158
|
+
const status = await fetchPiWebVersionResponse(statusEndpoint, fetchImplementation);
|
|
136
159
|
return { generatedAt: status.generatedAt, web: status.components.web, sessiond: status.components.sessiond };
|
|
137
160
|
}
|
|
138
161
|
catch (statusError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piWebVersionReport.js","sourceRoot":"","sources":["../src/piWebVersionReport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"piWebVersionReport.js","sourceRoot":"","sources":["../src/piWebVersionReport.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin-api.d.ts
CHANGED
|
@@ -1,30 +1,119 @@
|
|
|
1
1
|
import type { TemplateResult } from "lit";
|
|
2
|
-
import type { DeleteWorkspaceFileResponse, FileContentResponse, FileTreeResponse, JsonValue, MachineKind, MoveWorkspaceFileOptions, MoveWorkspaceFileResponse, PiWebStatusResponse, TerminalCommandRunHandle, WorkspaceProviderMetadata, WorkspaceRemovalPresentation, WriteWorkspaceFileOptions, WriteWorkspaceFileResponse } from "./shared/pluginApiTypes.js";
|
|
3
|
-
export type { FileContentMediaType, FileContentResponse, FileTreeEntry, FileTreeResponse, JsonObject, JsonPrimitive, JsonValue, MachineKind, PiWebComponentStatus, PiWebDockerMode, PiWebInstallationInfo, PiWebInstallationKind, PiWebReleaseStatus, PiWebServiceComponent, PiWebStatusMessage, PiWebStatusResponse, PiWebStatusSeverity, PiWebVersionResponse,
|
|
2
|
+
import type { DeleteWorkspaceFileResponse, FileContentResponse, FileTreeResponse, JsonValue, MachineKind, MoveWorkspaceFileOptions, MoveWorkspaceFileResponse, PiWebStatusResponse, PluginCapability, PluginCapabilityProvision, TerminalCommandRunHandle, WorkspaceProviderMetadata, WorkspaceRemovalPresentation, WriteWorkspaceFileOptions, WriteWorkspaceFileResponse } from "./shared/pluginApiTypes.js";
|
|
3
|
+
export type { FileContentMediaType, FileContentResponse, FileTreeEntry, FileTreeResponse, JsonObject, JsonPrimitive, JsonValue, MachineKind, PiWebComponentStatus, PiWebDockerMode, PiWebInstallationInfo, PiWebInstallationKind, PiWebReleaseStatus, PiWebServiceComponent, PiWebStatusMessage, PiWebStatusResponse, PiWebStatusSeverity, PiWebVersionResponse, PluginCapability, PluginCapabilityProvision, TerminalCommandRun, TerminalCommandRunHandle, TerminalCommandRunStatus, WorkspaceProviderCapabilities, WorkspaceProviderMetadata, WorkspaceRemovalPresentation, WriteWorkspaceFileOptions, WriteWorkspaceFileResponse, DeleteWorkspaceFileResponse, MoveWorkspaceFileOptions, MoveWorkspaceFileResponse, } from "./shared/pluginApiTypes.js";
|
|
4
4
|
export type PluginId = string;
|
|
5
5
|
export type LocalContributionId = string;
|
|
6
6
|
export type QualifiedContributionId = string;
|
|
7
7
|
export type HtmlTemplateTag = (strings: TemplateStringsArray, ...values: unknown[]) => TemplateResult;
|
|
8
8
|
export type SvgTemplateTag = (strings: TemplateStringsArray, ...values: unknown[]) => TemplateResult;
|
|
9
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
9
10
|
export interface PiWebPlugin {
|
|
10
|
-
apiVersion:
|
|
11
|
+
apiVersion: 4;
|
|
11
12
|
name: string;
|
|
12
|
-
|
|
13
|
+
/** Exact capability versions that must be active before this plugin starts. */
|
|
14
|
+
requires?: readonly PluginCapability[];
|
|
15
|
+
activate: (context: PluginActivationContext) => MaybePromise<PluginActivationResult>;
|
|
13
16
|
}
|
|
14
17
|
/** Host-owned frozen values supplied once during browser plugin activation. */
|
|
15
18
|
export interface PluginActivationContext {
|
|
16
|
-
readonly apiVersion:
|
|
19
|
+
readonly apiVersion: 4;
|
|
17
20
|
/** Stable package/source identity, including on federated machines. */
|
|
18
21
|
readonly pluginId: PluginId;
|
|
19
22
|
/** Host-unique identity for qualified contribution references in this runtime. */
|
|
20
|
-
readonly runtimePluginId
|
|
23
|
+
readonly runtimePluginId: PluginId;
|
|
21
24
|
readonly html: HtmlTemplateTag;
|
|
22
25
|
readonly svg: SvgTemplateTag;
|
|
26
|
+
/** Signal for this bounded activation invocation, not the plugin lifetime. */
|
|
27
|
+
readonly signal: AbortSignal;
|
|
28
|
+
/** Aborted before failed-start rollback or browser-host shutdown disposal. */
|
|
29
|
+
readonly lifetimeSignal: AbortSignal;
|
|
30
|
+
}
|
|
31
|
+
/** Resolver containing only the exact capability requirements declared by a plugin. */
|
|
32
|
+
export interface PluginCapabilityResolver {
|
|
33
|
+
readonly resolve: <Value>(capability: PluginCapability<Value>) => Value;
|
|
34
|
+
}
|
|
35
|
+
/** Frozen values supplied after every declared dependency is active. */
|
|
36
|
+
export interface PluginStartContext {
|
|
37
|
+
readonly capabilities: PluginCapabilityResolver;
|
|
38
|
+
/** Signal for this bounded start invocation, not the plugin lifetime. */
|
|
39
|
+
readonly signal: AbortSignal;
|
|
23
40
|
}
|
|
24
41
|
export interface PluginActivationResult {
|
|
25
42
|
contributions: PluginContributions;
|
|
43
|
+
/** Typed capability values owned by this plugin and published only after start succeeds. */
|
|
44
|
+
provides?: readonly PluginCapabilityProvision[];
|
|
45
|
+
/** Initialize resources after every exact declared capability requirement is active. */
|
|
46
|
+
start?(context: PluginStartContext): MaybePromise<void>;
|
|
47
|
+
/** Release resources within one host-bounded disposal invocation. */
|
|
48
|
+
dispose?(signal: AbortSignal): MaybePromise<void>;
|
|
49
|
+
}
|
|
50
|
+
export interface ContentRendererInput {
|
|
51
|
+
readonly text: string;
|
|
52
|
+
/** Aborted when source, renderer, mode, mounting, or plugin lifetime changes. */
|
|
53
|
+
readonly signal: AbortSignal;
|
|
54
|
+
/** Report asynchronous failure; calls from obsolete renders are ignored. */
|
|
55
|
+
readonly fail: (error: unknown) => void;
|
|
56
|
+
}
|
|
57
|
+
export interface ContentRendererContribution {
|
|
58
|
+
id: LocalContributionId;
|
|
59
|
+
languages?: readonly string[];
|
|
60
|
+
/** Extensions without a leading dot, matched case-insensitively. */
|
|
61
|
+
fileExtensions?: readonly string[];
|
|
62
|
+
/** Defaults to manual: render is not called until the user chooses 渲染. */
|
|
63
|
+
renderMode?: "manual" | "automatic";
|
|
64
|
+
/** Synchronous Lit template; own async work and activation efficiency in a component and honor signal. */
|
|
65
|
+
render(input: ContentRendererInput): TemplateResult;
|
|
66
|
+
}
|
|
67
|
+
export interface ContentRenderRequest {
|
|
68
|
+
machineId: string;
|
|
69
|
+
text: string;
|
|
70
|
+
language?: string;
|
|
71
|
+
filePath?: string;
|
|
72
|
+
truncated?: boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface ContentRendererOption {
|
|
75
|
+
readonly id: string;
|
|
76
|
+
readonly label: string;
|
|
77
|
+
readonly renderMode: "manual" | "automatic";
|
|
78
|
+
}
|
|
79
|
+
export type ContentTextRenderRequest = ContentRenderRequest & {
|
|
80
|
+
/** Authorize manual previews; false/omitted retains automatic defaults. Never overrides user 原始. */
|
|
81
|
+
allowManualPreview?: boolean;
|
|
82
|
+
} & ({
|
|
83
|
+
controls: "external";
|
|
84
|
+
rendererId?: string;
|
|
85
|
+
} | {
|
|
86
|
+
controls?: never;
|
|
87
|
+
rendererId?: never;
|
|
88
|
+
});
|
|
89
|
+
export interface ContentMarkdownRenderRequest {
|
|
90
|
+
machineId: string;
|
|
91
|
+
text: string;
|
|
92
|
+
truncated?: boolean;
|
|
93
|
+
toSafeHtml: (text: string) => string;
|
|
94
|
+
/** Authorize manual fence previews; false/omitted retains automatic defaults. Never overrides user 原始. */
|
|
95
|
+
allowManualPreview?: boolean;
|
|
96
|
+
}
|
|
97
|
+
/** Host capability token: { pluginId: "pi-web", id: "content-rendering", version: 1, parse }. */
|
|
98
|
+
export interface ContentRenderingCapability {
|
|
99
|
+
/** Eligible choices in source plugin ID order, then local contribution ID order. */
|
|
100
|
+
listRenderers(request: ContentRenderRequest): readonly ContentRendererOption[];
|
|
101
|
+
/**
|
|
102
|
+
* Undefined when no renderer claims the complete text file.
|
|
103
|
+
* External controls require the caller to provide raw-source access, mode switching and a renderer chooser.
|
|
104
|
+
* Only external controls accept rendererId; absent or unavailable IDs use the first match.
|
|
105
|
+
* Consumers authorize manual previews according to their own user-intent policy.
|
|
106
|
+
* Listing and creating templates never call render.
|
|
107
|
+
*/
|
|
108
|
+
renderText(request: ContentTextRenderRequest): TemplateResult | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* The caller supplies its existing trusted HTML sanitizer; policies are not shared.
|
|
111
|
+
* Each eligible fence owns its chooser and 原始 control. No remembered intent is stored.
|
|
112
|
+
*/
|
|
113
|
+
renderMarkdown(request: ContentMarkdownRenderRequest): TemplateResult;
|
|
26
114
|
}
|
|
27
115
|
export interface PluginContributions {
|
|
116
|
+
contentRenderers?: ContentRendererContribution[];
|
|
28
117
|
actions?: PluginAction[];
|
|
29
118
|
workspacePanels?: WorkspacePanelContribution[];
|
|
30
119
|
workspaceLabels?: WorkspaceLabelContribution[];
|
|
@@ -36,13 +125,23 @@ export interface PluginMachine {
|
|
|
36
125
|
name: string;
|
|
37
126
|
kind: MachineKind;
|
|
38
127
|
}
|
|
128
|
+
/** Selected conversation snapshot, scoped to PluginRuntimeState.selectedMachine. */
|
|
129
|
+
export interface PluginSelectedSession {
|
|
130
|
+
id: string;
|
|
131
|
+
/** Workspace working directory. */
|
|
132
|
+
cwd: string;
|
|
133
|
+
name?: string;
|
|
134
|
+
archived: boolean;
|
|
135
|
+
/** True while the browser is waiting for session creation to finish. */
|
|
136
|
+
pending: boolean;
|
|
137
|
+
}
|
|
39
138
|
export interface PluginRuntimeState {
|
|
40
139
|
/** Identity of the currently selected machine. Undefined only on older hosts or before machines load. */
|
|
41
140
|
selectedMachine?: PluginMachine;
|
|
42
141
|
selectedWorkspace?: Workspace;
|
|
43
|
-
selectedSession?:
|
|
142
|
+
selectedSession?: PluginSelectedSession;
|
|
44
143
|
workspaceTool?: string;
|
|
45
|
-
mainView?:
|
|
144
|
+
mainView?: "navigation" | "chat" | "workspace";
|
|
46
145
|
piWebStatus?: PiWebStatusResponse;
|
|
47
146
|
}
|
|
48
147
|
export interface PluginPromptEditor {
|
|
@@ -59,7 +158,18 @@ export interface PluginPromptEditor {
|
|
|
59
158
|
text: string;
|
|
60
159
|
} | null;
|
|
61
160
|
}
|
|
161
|
+
/** A complete navigation destination, not a patch of the current route. */
|
|
162
|
+
export interface PluginNavigationDestination {
|
|
163
|
+
machineId?: string;
|
|
164
|
+
projectId?: string;
|
|
165
|
+
workspaceId?: string;
|
|
166
|
+
sessionId?: string;
|
|
167
|
+
view?: "navigation" | "chat" | "workspace";
|
|
168
|
+
tool?: QualifiedContributionId;
|
|
169
|
+
}
|
|
62
170
|
export interface PluginRuntimeContext {
|
|
171
|
+
/** Navigate using host restoration defaults. Route failures appear in the host UI. */
|
|
172
|
+
navigate: (destination: PluginNavigationDestination) => Promise<void>;
|
|
63
173
|
state: PluginRuntimeState;
|
|
64
174
|
prompt: PluginPromptEditor;
|
|
65
175
|
openActionPalette: () => void;
|
|
@@ -68,15 +178,17 @@ export interface PluginRuntimeContext {
|
|
|
68
178
|
configureAuth: () => void | Promise<void>;
|
|
69
179
|
logoutAuth: () => void | Promise<void>;
|
|
70
180
|
openThemePicker: () => void;
|
|
71
|
-
selectMainView: (view:
|
|
181
|
+
selectMainView: (view: "navigation" | "chat" | "workspace") => void;
|
|
72
182
|
selectWorkspaceTool: (tool: QualifiedContributionId) => void;
|
|
73
183
|
openTerminal: (options?: {
|
|
74
184
|
terminalId?: string | undefined;
|
|
75
185
|
}) => void;
|
|
186
|
+
/** @deprecated Compatibility alias that publishes `workspace.files` invalidation for the selected workspace. */
|
|
76
187
|
refreshFiles: () => void | Promise<void>;
|
|
188
|
+
/** Legacy compatibility alias for refreshing the selected workspace Git panel. */
|
|
77
189
|
refreshGit: () => void | Promise<void>;
|
|
78
190
|
/** Invalidate plugin workspace-panel data for the selected workspace, optionally targeting one qualified panel id. */
|
|
79
|
-
refreshWorkspacePanels
|
|
191
|
+
refreshWorkspacePanels: (panelId?: QualifiedContributionId) => void | Promise<void>;
|
|
80
192
|
refreshAppData: () => void | Promise<void>;
|
|
81
193
|
/** Force a fresh PI WEB release check on the selected machine. Optional for compatibility with older hosts. */
|
|
82
194
|
checkForPiWebUpdates?: () => void | Promise<void>;
|
|
@@ -111,29 +223,125 @@ export interface Workspace {
|
|
|
111
223
|
readonly provider?: WorkspaceProviderMetadata;
|
|
112
224
|
readonly removal?: WorkspaceRemovalPresentation;
|
|
113
225
|
}
|
|
226
|
+
export interface WorkspaceFileRequestOptions {
|
|
227
|
+
readonly signal?: AbortSignal;
|
|
228
|
+
}
|
|
229
|
+
export interface WorkspaceFileReferenceOptions {
|
|
230
|
+
/** Opaque cache discriminator, such as the file's modified time. */
|
|
231
|
+
readonly version?: string;
|
|
232
|
+
/** Legacy alias for version. */
|
|
233
|
+
readonly modifiedAt?: string;
|
|
234
|
+
}
|
|
235
|
+
export interface WorkspaceFileUploadProgress {
|
|
236
|
+
readonly loaded: number;
|
|
237
|
+
readonly total: number;
|
|
238
|
+
readonly percent: number;
|
|
239
|
+
readonly lengthComputable: boolean;
|
|
240
|
+
}
|
|
241
|
+
export interface WorkspaceFileUploadOptions {
|
|
242
|
+
readonly destinationFolder?: string;
|
|
243
|
+
readonly createDirs?: boolean;
|
|
244
|
+
readonly overwrite?: boolean;
|
|
245
|
+
readonly onProgress?: (progress: WorkspaceFileUploadProgress) => void;
|
|
246
|
+
/** Legacy alias for destinationFolder. */
|
|
247
|
+
readonly folder?: string;
|
|
248
|
+
readonly signal?: AbortSignal;
|
|
249
|
+
}
|
|
250
|
+
export interface WorkspaceFileUploadTask {
|
|
251
|
+
readonly path: string;
|
|
252
|
+
readonly completed: Promise<WriteWorkspaceFileResponse>;
|
|
253
|
+
cancel(): void;
|
|
254
|
+
}
|
|
255
|
+
/** The five workspace-file operations published by browser API v2 hosts. */
|
|
114
256
|
export interface WorkspaceFiles {
|
|
115
257
|
/** Read a file from the workspace. Works for local and federated machines. */
|
|
116
|
-
readFile(path: string): Promise<FileContentResponse>;
|
|
117
|
-
readOptionalFile?(path: string): Promise<FileContentResponse | undefined>;
|
|
258
|
+
readFile(path: string, options?: WorkspaceFileRequestOptions): Promise<FileContentResponse>;
|
|
259
|
+
readOptionalFile?(path: string, options?: WorkspaceFileRequestOptions): Promise<FileContentResponse | undefined>;
|
|
118
260
|
/** List the entries of a workspace directory. Pass "" for the workspace root.
|
|
119
261
|
* Works for local and federated machines. Rejects when the directory does not
|
|
120
262
|
* exist or cannot be read, matching readFile error behavior. */
|
|
121
|
-
listFiles(path: string): Promise<FileTreeResponse>;
|
|
122
|
-
/** Write content to a workspace file. Creates intermediate directories by default.
|
|
123
|
-
* Works for local and federated machines. Auto-refreshes the file explorer after success. */
|
|
263
|
+
listFiles(path: string, options?: WorkspaceFileRequestOptions): Promise<FileTreeResponse>;
|
|
264
|
+
/** Write content to a workspace file. Creates intermediate directories by default. */
|
|
124
265
|
writeFile(path: string, content: string | Uint8Array, options?: WriteWorkspaceFileOptions): Promise<WriteWorkspaceFileResponse>;
|
|
125
|
-
/** Delete a file from the workspace. Idempotent — returns { existed: false } if
|
|
126
|
-
* Deletes the entry itself (for symlinks, removes the symlink not the target). */
|
|
266
|
+
/** Delete a file from the workspace. Idempotent — returns { existed: false } if it does not exist. */
|
|
127
267
|
deleteFile(path: string): Promise<DeleteWorkspaceFileResponse>;
|
|
128
|
-
/** Move or rename a file within the workspace.
|
|
129
|
-
* Default overwrite: false (safer than writeFile). Auto-refreshes the file explorer after success. */
|
|
268
|
+
/** Move or rename a file within the workspace. Default overwrite: false. */
|
|
130
269
|
moveFile(fromPath: string, toPath: string, options?: MoveWorkspaceFileOptions): Promise<MoveWorkspaceFileResponse>;
|
|
131
270
|
}
|
|
271
|
+
/** Structural workspace-files value supplied by browser API v2 hosts before capability versioning. */
|
|
272
|
+
export interface LegacyWorkspaceFiles extends WorkspaceFiles {
|
|
273
|
+
readonly capabilityVersion?: undefined;
|
|
274
|
+
}
|
|
275
|
+
/** Versioned workspace-scoped host capability available to first- and third-party browser plugins. */
|
|
276
|
+
export interface WorkspaceFilesCapabilityV1 extends WorkspaceFiles {
|
|
277
|
+
readonly capabilityVersion: 1;
|
|
278
|
+
readonly defaultUploadFolder: string;
|
|
279
|
+
readonly maxInlinePreviewBytes: number;
|
|
280
|
+
readFile(path: string, options?: WorkspaceFileRequestOptions): Promise<FileContentResponse>;
|
|
281
|
+
listFiles(path: string, options?: WorkspaceFileRequestOptions): Promise<FileTreeResponse>;
|
|
282
|
+
/** Return a browser-ready URL already resolved by the host for this deployment and machine. */
|
|
283
|
+
previewUrl(path: string, options?: WorkspaceFileReferenceOptions): string;
|
|
284
|
+
/** Return a browser-ready download URL already resolved by the host for this deployment and machine. */
|
|
285
|
+
downloadUrl(path: string, options?: WorkspaceFileReferenceOptions): string;
|
|
286
|
+
/** Start one upload transport operation. Cancellation rejects `completed` with an AbortError. */
|
|
287
|
+
uploadFile(file: File, options?: WorkspaceFileUploadOptions): WorkspaceFileUploadTask;
|
|
288
|
+
/** Optional directory operations; older hosts can omit them. Paths stay workspace-relative. */
|
|
289
|
+
createDirectory?(path: string): Promise<{
|
|
290
|
+
path: string;
|
|
291
|
+
}>;
|
|
292
|
+
moveDirectory?(fromPath: string, toPath: string): Promise<{
|
|
293
|
+
path: string;
|
|
294
|
+
}>;
|
|
295
|
+
deleteDirectory?(path: string): Promise<{
|
|
296
|
+
path: string;
|
|
297
|
+
deleted: true;
|
|
298
|
+
}>;
|
|
299
|
+
}
|
|
300
|
+
/** Host context value used to feature-detect versioned workspace-file additions. */
|
|
301
|
+
export type WorkspaceFilesContextValue = LegacyWorkspaceFiles | WorkspaceFilesCapabilityV1;
|
|
132
302
|
export type WorkspacePanelFiles = WorkspaceFiles;
|
|
133
|
-
/**
|
|
303
|
+
/** Legacy owner request compatibility; new plugins use the revision-paired peer. */
|
|
134
304
|
export interface WorkspaceBackend {
|
|
135
305
|
request(operation: string, input: JsonValue): Promise<JsonValue>;
|
|
136
306
|
}
|
|
307
|
+
export interface PluginPeerRequestOptions {
|
|
308
|
+
/** Cancels this bounded request through local or federated host transport. */
|
|
309
|
+
readonly signal?: AbortSignal;
|
|
310
|
+
}
|
|
311
|
+
/** Callbacks and cancellation for one bounded package-peer channel. */
|
|
312
|
+
export interface PluginPeerChannelOptions {
|
|
313
|
+
/** Cancels the channel open or closes the live channel through every host hop. */
|
|
314
|
+
readonly signal?: AbortSignal;
|
|
315
|
+
/** Receives one plugin-authored JSON frame after the channel is ready. */
|
|
316
|
+
readonly onData: (data: JsonValue) => void;
|
|
317
|
+
}
|
|
318
|
+
export interface PluginPeerChannelClose {
|
|
319
|
+
readonly code: number;
|
|
320
|
+
readonly reason: string;
|
|
321
|
+
readonly wasClean: boolean;
|
|
322
|
+
/** Attributed host or server-plugin failure when one preceded the close. */
|
|
323
|
+
readonly error?: Readonly<{
|
|
324
|
+
code: string;
|
|
325
|
+
message: string;
|
|
326
|
+
}>;
|
|
327
|
+
}
|
|
328
|
+
export interface PluginPeerChannel {
|
|
329
|
+
readonly closed: Promise<PluginPeerChannelClose>;
|
|
330
|
+
/** Queue one bounded JSON frame or throw. Success means queue acceptance, not remote receipt. */
|
|
331
|
+
send(data: JsonValue): void;
|
|
332
|
+
close(reason?: string): void;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Exact revision-paired path to this browser package's active server entry.
|
|
336
|
+
* A peer supplies a request handler, a channel handler, or both, but never neither.
|
|
337
|
+
*/
|
|
338
|
+
export type PluginPeer = {
|
|
339
|
+
request(operation: string, input: JsonValue, options?: PluginPeerRequestOptions): Promise<JsonValue>;
|
|
340
|
+
openChannel?(operation: string, input: JsonValue, options: PluginPeerChannelOptions): Promise<PluginPeerChannel>;
|
|
341
|
+
} | {
|
|
342
|
+
request?: undefined;
|
|
343
|
+
openChannel(operation: string, input: JsonValue, options: PluginPeerChannelOptions): Promise<PluginPeerChannel>;
|
|
344
|
+
};
|
|
137
345
|
export interface WorkspaceHost {
|
|
138
346
|
requestRender(): void;
|
|
139
347
|
}
|
|
@@ -142,9 +350,11 @@ export interface WorkspaceContext {
|
|
|
142
350
|
machine: PluginMachine;
|
|
143
351
|
workspace: Workspace;
|
|
144
352
|
state?: PluginRuntimeState;
|
|
145
|
-
files:
|
|
146
|
-
/**
|
|
353
|
+
files: WorkspaceFilesContextValue;
|
|
354
|
+
/** Legacy request path to the server module that owns this workspace. */
|
|
147
355
|
backend?: WorkspaceBackend;
|
|
356
|
+
/** Exact package-paired request/channel capabilities, independent of workspace ownership. */
|
|
357
|
+
peer?: PluginPeer;
|
|
148
358
|
host: WorkspaceHost;
|
|
149
359
|
}
|
|
150
360
|
export interface WorkspaceTerminalCommandInput {
|
|
@@ -159,11 +369,30 @@ export interface WorkspacePanelTerminal {
|
|
|
159
369
|
}): void;
|
|
160
370
|
runCommand(input: WorkspaceTerminalCommandInput): Promise<TerminalCommandRunHandle>;
|
|
161
371
|
}
|
|
372
|
+
export type ContributionQueryValue = string | number | boolean | readonly (string | number | boolean)[];
|
|
373
|
+
export interface WorkspacePanelNavigationV1 {
|
|
374
|
+
readonly version: 1;
|
|
375
|
+
readonly contributionId: QualifiedContributionId;
|
|
376
|
+
readonly query: Readonly<Record<string, string | readonly string[]>>;
|
|
377
|
+
set(key: string, value: ContributionQueryValue | undefined | null, options?: {
|
|
378
|
+
replace?: boolean | undefined;
|
|
379
|
+
}): void;
|
|
380
|
+
}
|
|
162
381
|
export interface WorkspacePanelContext extends WorkspaceContext {
|
|
382
|
+
/** Navigate using host restoration defaults. Route failures appear in the host UI. */
|
|
383
|
+
navigate: (destination: PluginNavigationDestination) => Promise<void>;
|
|
163
384
|
prompt: PluginPromptEditor;
|
|
164
385
|
terminal: WorkspacePanelTerminal;
|
|
386
|
+
/** Contribution-scoped address-bar state for deep links and browser history. */
|
|
387
|
+
navigation?: WorkspacePanelNavigationV1;
|
|
165
388
|
}
|
|
166
389
|
export type WorkspacePanelIcon = TemplateResult;
|
|
390
|
+
export type WorkspaceResource = "workspace.files";
|
|
391
|
+
export type WorkspaceInvalidationReason = "manual" | "mutation" | "agent-activity";
|
|
392
|
+
export interface WorkspaceInvalidation {
|
|
393
|
+
readonly reason: WorkspaceInvalidationReason;
|
|
394
|
+
readonly resources: readonly WorkspaceResource[];
|
|
395
|
+
}
|
|
167
396
|
export interface WorkspacePanelContribution {
|
|
168
397
|
id: LocalContributionId;
|
|
169
398
|
title: string;
|
|
@@ -171,17 +400,23 @@ export interface WorkspacePanelContribution {
|
|
|
171
400
|
order?: number;
|
|
172
401
|
/** Former URL tool/view values that should resolve to this panel. */
|
|
173
402
|
routeAliases?: string[];
|
|
403
|
+
/** Former qualified contribution ids whose namespaced query keys remain readable. */
|
|
404
|
+
navigationAliases?: QualifiedContributionId[];
|
|
174
405
|
visible?: (context: WorkspacePanelContext) => boolean;
|
|
406
|
+
/** Return a deep-link query to open a workspace-relative file, or undefined if unsupported. */
|
|
407
|
+
fileOpenQuery?: (context: WorkspacePanelContext, path: string) => Readonly<Record<string, ContributionQueryValue>> | undefined;
|
|
175
408
|
badge?: (context: WorkspacePanelContext) => string | number | TemplateResult | undefined;
|
|
176
|
-
/**
|
|
177
|
-
|
|
409
|
+
/** Fixed workspace resources whose automatic invalidations this contribution receives. */
|
|
410
|
+
invalidationResources?: readonly WorkspaceResource[];
|
|
411
|
+
/** Called for manual panel invalidation or a declared resource invalidation. */
|
|
412
|
+
onInvalidate?: (context: WorkspacePanelContext, invalidation?: WorkspaceInvalidation) => void | Promise<void>;
|
|
178
413
|
render: (context: WorkspacePanelContext) => TemplateResult;
|
|
179
414
|
}
|
|
180
415
|
export interface WorkspaceLabelContext extends WorkspaceContext {
|
|
181
416
|
machine: PluginMachine;
|
|
182
417
|
workspace: Workspace;
|
|
183
418
|
state?: PluginRuntimeState;
|
|
184
|
-
files:
|
|
419
|
+
files: WorkspaceFilesContextValue;
|
|
185
420
|
host: WorkspaceHost;
|
|
186
421
|
}
|
|
187
422
|
export type WorkspaceLabelItem = WorkspaceLabelTextItem | WorkspaceLabelLinkItem | WorkspaceLabelRenderItem;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -10,9 +10,10 @@ Usage:
|
|
|
10
10
|
pi-web plugins safe-start clear [--config <path>] [--restart]
|
|
11
11
|
|
|
12
12
|
Safe-start levels:
|
|
13
|
-
bundled-only Load bundled server plugins only.
|
|
14
|
-
none Load no server plugins; the kernel folder workspace remains available.
|
|
13
|
+
bundled-only Load bundled server plugins, including required Terminal, only.
|
|
14
|
+
none Load no server plugins; Terminal is unavailable and the kernel folder workspace remains available.
|
|
15
15
|
|
|
16
|
+
必需的 Terminal 插件不能单独禁用;离线恢复请使用 safe-start none。
|
|
16
17
|
These commands edit config offline and never contact the session daemon or import plugins.
|
|
17
18
|
Changes take effect after a manual session-daemon restart unless --restart can restart it automatically.`;
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginRecoveryCli.js","sourceRoot":"","sources":["../src/pluginRecoveryCli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,wBAAwB,GAGzB,MAAM,2BAA2B,CAAC;AA4BnC,MAAM,UAAU,kBAAkB;IAChC,OAAO
|
|
1
|
+
{"version":3,"file":"pluginRecoveryCli.js","sourceRoot":"","sources":["../src/pluginRecoveryCli.ts"],"names":[],"mappings":"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"}
|