@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
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function registerProjectMutationRoutes(app, projects) {
|
|
2
|
+
app.post("/projects", async (request, reply) => {
|
|
3
|
+
const input = request.body;
|
|
4
|
+
if (!isProjectInput(input)) {
|
|
5
|
+
return reply.code(400).send({ error: "Invalid project input: path is required; name must be a string and create must be a boolean" });
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
return await projects.add(input);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
return reply.code(isInvalidProjectPath(error) ? 400 : 500).send({ error: error instanceof Error ? error.message : String(error) });
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
app.delete("/projects/:projectId", async (request, reply) => {
|
|
15
|
+
try {
|
|
16
|
+
await projects.close(request.params.projectId);
|
|
17
|
+
return { closed: true };
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
21
|
+
return reply.code(message === "Project not found" ? 404 : 500).send({ error: message });
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function isProjectInput(input) {
|
|
26
|
+
return input !== null && typeof input === "object"
|
|
27
|
+
&& "path" in input && typeof input.path === "string" && input.path.trim() !== ""
|
|
28
|
+
&& (!("name" in input) || input.name === undefined || typeof input.name === "string")
|
|
29
|
+
&& (!("create" in input) || input.create === undefined || typeof input.create === "boolean");
|
|
30
|
+
}
|
|
31
|
+
function isInvalidProjectPath(error) {
|
|
32
|
+
if (!(error instanceof Error))
|
|
33
|
+
return false;
|
|
34
|
+
if (error.message === "Project path must be a directory")
|
|
35
|
+
return true;
|
|
36
|
+
return "code" in error && ["ENOENT", "ENOTDIR", "EEXIST", "EACCES", "EPERM", "EINVAL", "ENAMETOOLONG", "ELOOP", "ERR_INVALID_ARG_VALUE"].includes(String(error.code));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=projectMutationRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectMutationRoutes.js","sourceRoot":"","sources":["../../../src/server/sessiond/projectMutationRoutes.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,6BAA6B,CAAC,GAAoB,EAAE,QAA+C;IACjH,GAAG,CAAC,IAAI,CAAoB,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6FAA6F,EAAE,CAAC,CAAC;QACxI,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrI,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAoC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7F,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;WAC7C,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;WAC7E,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;WAClF,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,kCAAkC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,MAAM,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACxK,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Quiesces ingress, disposes consumers, then tears down plugin providers and dependencies. */
|
|
2
|
+
export async function runSessionDaemonShutdown(options) {
|
|
3
|
+
const { dependencies } = options;
|
|
4
|
+
const operations = [
|
|
5
|
+
["quiesce server", () => dependencies.quiesceServer()],
|
|
6
|
+
// Revoke plugin-owned admission as soon as host ingress is closed.
|
|
7
|
+
// beginShutdown retains publications while admitted contribution callbacks
|
|
8
|
+
// and host-owned resources observe cancellation and drain below.
|
|
9
|
+
["cancel server plugin lifetimes", () => dependencies.serverPlugins.beginShutdown()],
|
|
10
|
+
["dispose catalog refresher", () => dependencies.catalogRefresher.dispose()],
|
|
11
|
+
["close workspace removal work", () => dependencies.workspaceRemovals.closeAll()],
|
|
12
|
+
["close plugin backend work", () => dependencies.pluginBackends.closeAll()],
|
|
13
|
+
["close workspace provider work", () => dependencies.workspaceProviders.closeAll()],
|
|
14
|
+
// Plugin capability cleanup must finish while its host-owned sessions remain available.
|
|
15
|
+
["stop server plugins", () => dependencies.serverPlugins.stop()],
|
|
16
|
+
...(dependencies.terminals === undefined ? [] : [["dispose terminals", () => dependencies.terminals?.dispose()]]),
|
|
17
|
+
["dispose sessions", () => dependencies.sessions.dispose()],
|
|
18
|
+
["close server", () => dependencies.closeServer()],
|
|
19
|
+
["dispose auth", () => dependencies.auth.dispose()],
|
|
20
|
+
...(dependencies.projectAuth === undefined ? [] : [["dispose project auth", () => dependencies.projectAuth?.dispose()]]),
|
|
21
|
+
["flush session unread state", () => dependencies.unreadStore.flush()],
|
|
22
|
+
...(dependencies.normalToolAudit === undefined ? [] : [["close normal tool audit", () => dependencies.normalToolAudit?.close()]]),
|
|
23
|
+
...(dependencies.managementAudit === undefined ? [] : [["close management audit", () => dependencies.managementAudit?.close()]]),
|
|
24
|
+
...(dependencies.releaseStateOwnership === undefined ? [] : [["release state ownership", () => dependencies.releaseStateOwnership?.()]]),
|
|
25
|
+
];
|
|
26
|
+
for (const [operation, run] of operations) {
|
|
27
|
+
try {
|
|
28
|
+
await run();
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
options.onFailure?.();
|
|
32
|
+
options.logger.error({ err: error, operation }, "session daemon shutdown operation failed");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=sessionDaemonShutdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionDaemonShutdown.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionDaemonShutdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
export async function runSessionDaemonStartup(steps) {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
const constructionCleanup = [];
|
|
3
|
+
let runtime;
|
|
4
|
+
try {
|
|
5
|
+
runtime = await steps.createRuntime((cleanup) => { constructionCleanup.push(cleanup); });
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
for (const cleanup of constructionCleanup.reverse()) {
|
|
9
|
+
try {
|
|
10
|
+
await cleanup();
|
|
11
|
+
}
|
|
12
|
+
catch (cleanupError) {
|
|
13
|
+
steps.logger.error({ err: cleanupError }, "session daemon construction cleanup failed");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
steps.registerRoutes(runtime);
|
|
20
|
+
await steps.listen(runtime);
|
|
21
|
+
return runtime;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
try {
|
|
25
|
+
await steps.disposeRuntime(runtime);
|
|
26
|
+
}
|
|
27
|
+
catch (cleanupError) {
|
|
28
|
+
steps.logger.error({ err: cleanupError }, "session daemon startup cleanup failed");
|
|
29
|
+
}
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
6
32
|
}
|
|
7
33
|
//# sourceMappingURL=sessionDaemonStartup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionDaemonStartup.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionDaemonStartup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessionDaemonStartup.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionDaemonStartup.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAyC;IAEzC,MAAM,mBAAmB,GAAmC,EAAE,CAAC;IAC/D,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,4CAA4C,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,uCAAuC,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -21,6 +21,27 @@ export function registerSessionProxyRoutes(app, daemon = new SessionDaemonClient
|
|
|
21
21
|
return undefined;
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
+
const projectMutationProxy = async (request, reply, path) => {
|
|
25
|
+
try {
|
|
26
|
+
return await withRequestCancellation(request, reply, async (signal) => {
|
|
27
|
+
let managementContext;
|
|
28
|
+
try {
|
|
29
|
+
managementContext = await managementContextForRequest(request, managementEmbed, reply);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
33
|
+
}
|
|
34
|
+
if (managementContext !== undefined) {
|
|
35
|
+
return reply.code(403).send({ error: "Project management is disabled in management embed mode" });
|
|
36
|
+
}
|
|
37
|
+
return sendDaemonBody(reply, await daemon.request(request.method, path, request.body, undefined, signal));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
requestFailed(reply, error);
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
24
45
|
app.get(`${prefix}/sessiond/health`, async (request, reply) => {
|
|
25
46
|
try {
|
|
26
47
|
return await withRequestCancellation(request, reply, async (signal) => (sendDaemonBody(reply, await daemon.request("GET", "/health", undefined, undefined, signal))));
|
|
@@ -40,26 +61,17 @@ export function registerSessionProxyRoutes(app, daemon = new SessionDaemonClient
|
|
|
40
61
|
}
|
|
41
62
|
});
|
|
42
63
|
app.get(`${prefix}/sessions/:sessionId/events`, { websocket: true }, (socket, request) => {
|
|
43
|
-
|
|
64
|
+
bridgeAuthorizedSocket(socket, async () => {
|
|
65
|
+
const context = await managementContextForRequest(request, managementEmbed);
|
|
44
66
|
await managementBody(stripPrefix(request.url, prefix), undefined, context, managementEmbed);
|
|
45
|
-
|
|
46
|
-
}).
|
|
47
|
-
closeSocketWithError(socket, error);
|
|
48
|
-
});
|
|
67
|
+
return managementHeaders(context, managementEmbed);
|
|
68
|
+
}, (headers) => daemon.connectWebSocket(stripPrefix(request.url, prefix), headers));
|
|
49
69
|
});
|
|
50
70
|
app.get(`${prefix}/sessions/events`, { websocket: true }, (socket, request) => {
|
|
51
|
-
|
|
52
|
-
bridgeSockets(socket, daemon.connectWebSocket("/sessions/events", managementHeaders(context, managementEmbed)));
|
|
53
|
-
}).catch((error) => {
|
|
54
|
-
closeSocketWithError(socket, error);
|
|
55
|
-
});
|
|
71
|
+
bridgeAuthorizedSocket(socket, async () => managementHeaders(await managementContextForRequest(request, managementEmbed), managementEmbed), (headers) => daemon.connectWebSocket("/sessions/events", headers));
|
|
56
72
|
});
|
|
57
73
|
app.get(`${prefix}/events`, { websocket: true }, (socket, request) => {
|
|
58
|
-
|
|
59
|
-
bridgeSockets(socket, daemon.connectWebSocket("/events", managementHeaders(context, managementEmbed)));
|
|
60
|
-
}).catch((error) => {
|
|
61
|
-
closeSocketWithError(socket, error);
|
|
62
|
-
});
|
|
74
|
+
bridgeAuthorizedSocket(socket, async () => managementHeaders(await managementContextForRequest(request, managementEmbed), managementEmbed), (headers) => daemon.connectWebSocket("/events", headers));
|
|
63
75
|
});
|
|
64
76
|
app.all(`${prefix}/activity`, (request, reply) => proxy(request, reply));
|
|
65
77
|
app.all(`${prefix}/status`, (request, reply) => proxy(request, reply));
|
|
@@ -69,6 +81,8 @@ export function registerSessionProxyRoutes(app, daemon = new SessionDaemonClient
|
|
|
69
81
|
app.all(`${prefix}/auth/*`, (request, reply) => proxy(request, reply));
|
|
70
82
|
app.all(`${prefix}/sessions`, (request, reply) => proxy(request, reply));
|
|
71
83
|
app.all(`${prefix}/sessions/*`, (request, reply) => proxy(request, reply));
|
|
84
|
+
app.post(`${prefix}/projects`, (request, reply) => projectMutationProxy(request, reply, "/projects"));
|
|
85
|
+
app.delete(`${prefix}/projects/:projectId`, (request, reply) => projectMutationProxy(request, reply, `/projects/${encodeURIComponent(request.params.projectId)}`));
|
|
72
86
|
}
|
|
73
87
|
async function managementBody(url, body, context, managementEmbed, method = "GET") {
|
|
74
88
|
if (context === undefined)
|
|
@@ -230,6 +244,24 @@ function normalizeScopeCwd(value) {
|
|
|
230
244
|
function unique(values) {
|
|
231
245
|
return [...new Set(values)];
|
|
232
246
|
}
|
|
247
|
+
function bridgeAuthorizedSocket(client, authorize, connect) {
|
|
248
|
+
let disconnected = client.readyState !== WebSocket.OPEN;
|
|
249
|
+
const onDisconnect = () => { disconnected = true; };
|
|
250
|
+
// Capture disconnects before authentication or managed cwd checks begin awaiting.
|
|
251
|
+
client.once("close", onDisconnect);
|
|
252
|
+
client.once("error", onDisconnect);
|
|
253
|
+
void authorize().then((headers) => {
|
|
254
|
+
if (disconnected || client.readyState !== WebSocket.OPEN)
|
|
255
|
+
return;
|
|
256
|
+
bridgeSockets(client, connect(headers));
|
|
257
|
+
}).catch((error) => {
|
|
258
|
+
if (!disconnected && client.readyState === WebSocket.OPEN)
|
|
259
|
+
closeSocketWithError(client, error);
|
|
260
|
+
}).finally(() => {
|
|
261
|
+
client.removeListener("close", onDisconnect);
|
|
262
|
+
client.removeListener("error", onDisconnect);
|
|
263
|
+
});
|
|
264
|
+
}
|
|
233
265
|
function bridgeSockets(client, upstream) {
|
|
234
266
|
client.on("message", (data) => { sendIfOpen(upstream, data); });
|
|
235
267
|
upstream.on("message", (data) => { sendIfOpen(client, data); });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionProxyRoutes.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionProxyRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionProxyRoutes.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionProxyRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export function sessionServiceDependencies(input) {
|
|
|
12
12
|
return {
|
|
13
13
|
modelRuntime: input.modelRuntime,
|
|
14
14
|
agentDir: input.agentDir,
|
|
15
|
+
archiveStore: input.archiveStore,
|
|
15
16
|
workspaceActivity: input.workspaceActivity,
|
|
16
17
|
logger: input.logger,
|
|
17
18
|
...(input.spawnTargets === undefined ? {} : { spawnTargets: input.spawnTargets }),
|
|
@@ -19,12 +20,15 @@ export function sessionServiceDependencies(input) {
|
|
|
19
20
|
// so they stay off unless spawning is configured too.
|
|
20
21
|
subsessionsEnabled: input.spawnTargets !== undefined && input.subsessionsEnabled,
|
|
21
22
|
askUserEnabled: input.askUserEnabled,
|
|
23
|
+
appendSystemPromptSections: input.appendSystemPromptSections,
|
|
22
24
|
extensionDialogsTimeoutMs: input.extensionDialogsTimeoutMs,
|
|
23
25
|
notificationStore: input.notificationStore,
|
|
24
26
|
unreadStore: input.unreadStore,
|
|
27
|
+
onUnreadChanged: input.onUnreadChanged,
|
|
25
28
|
// Read-only, so session startup can tell a waiting user that provider
|
|
26
29
|
// model lists are refreshing at the same time.
|
|
27
30
|
catalogRefreshStatus: input.catalogRefreshStatus,
|
|
31
|
+
config: input.config,
|
|
28
32
|
sessionManager: input.sessionManager,
|
|
29
33
|
};
|
|
30
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionServiceDependencies.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionServiceDependencies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessionServiceDependencies.js","sourceRoot":"","sources":["../../../src/server/sessiond/sessionServiceDependencies.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAoC;IAC7E,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;QACjF,2EAA2E;QAC3E,sDAAsD;QACtD,kBAAkB,EAAE,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,kBAAkB;QAChF,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;QAC1D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,sEAAsE;QACtE,+CAA+C;QAC/C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -1,18 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Session daemon state ownership.
|
|
3
|
+
*
|
|
4
|
+
* The session daemon is the authority over a pi-web instance's durable state:
|
|
5
|
+
* projects, machines, session archives, and unread state all live in the data
|
|
6
|
+
* directory, and the daemon is the only process allowed to own it while
|
|
7
|
+
* running (the web/API process of the same instance shares the directory but
|
|
8
|
+
* never claims it). A second daemon resolving the same data directory would
|
|
9
|
+
* corrupt that state silently, so the daemon records its ownership in
|
|
10
|
+
* `<data dir>/sessiond-owner.json` at startup and refuses to start while a
|
|
11
|
+
* live owner holds the marker.
|
|
12
|
+
*
|
|
13
|
+
* Liveness uses the owning process's Linux `/proc` start-time ticks when both
|
|
14
|
+
* the marker and the probe have them: the recorded value distinguishes the
|
|
15
|
+
* original owner from a reused pid — including the same numeric pid in a
|
|
16
|
+
* recreated container's fresh PID namespace — so stale markers never block
|
|
17
|
+
* startup and live owners always do. Otherwise it falls back to a
|
|
18
|
+
* `kill(pid, 0)` probe. Detection is scoped to one PID namespace; two daemons
|
|
19
|
+
* in different containers sharing one data volume cannot see each other's
|
|
20
|
+
* processes, an operator error no pid-based mechanism can catch.
|
|
21
|
+
*
|
|
22
|
+
* Service and `tsx watch` restarts briefly overlap the outgoing daemon, so a
|
|
23
|
+
* claimant that finds a live owner waits a short grace for the owner to
|
|
24
|
+
* release (orderly shutdown removes the marker) before failing. When the
|
|
25
|
+
* owner persists past the grace window, startup fails with a
|
|
26
|
+
* {@link SessiondStateOwnershipConflictError} naming the owner and the
|
|
27
|
+
* configuration a second instance needs: a distinct `PI_WEB_DATA_DIR`,
|
|
28
|
+
* `PI_WEB_SESSIOND_SOCKET` (or `PI_WEB_SESSIOND_PORT` / `PI_WEB_SESSIOND_HOST`),
|
|
29
|
+
* and web port.
|
|
3
30
|
*/
|
|
4
31
|
import { readFileSync } from "node:fs";
|
|
5
|
-
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
32
|
+
import { mkdir, readFile, rm, rmdir, writeFile } from "node:fs/promises";
|
|
6
33
|
import { join } from "node:path";
|
|
7
34
|
import { piWebDataDir } from "../../config.js";
|
|
8
35
|
import { sessiondEndpointDescription } from "../../sessiond/config.js";
|
|
36
|
+
/** Marker file recording the owning daemon, inside the instance data directory. */
|
|
9
37
|
export const SESSIOND_OWNER_MARKER_FILENAME = "sessiond-owner.json";
|
|
38
|
+
/**
|
|
39
|
+
* The daemon could not start because a live session daemon owns the state this
|
|
40
|
+
* one resolved. The message is the user- and agent-facing remediation, so it
|
|
41
|
+
* names the owner and the distinct configuration a second instance needs.
|
|
42
|
+
*/
|
|
10
43
|
export class SessiondStateOwnershipConflictError extends Error {
|
|
11
44
|
constructor(options) {
|
|
12
45
|
const { dataDir, markerPath, owner } = options;
|
|
13
46
|
super(`another pi-web session daemon already owns this state\n\n` +
|
|
14
|
-
`The data directory "${dataDir}" is owned by
|
|
15
|
-
`
|
|
47
|
+
`The data directory "${dataDir}" is owned by a live session daemon ` +
|
|
48
|
+
`(pid ${String(owner.pid)}, started ${owner.startedAt}, listening on ${owner.endpoint}; ` +
|
|
49
|
+
`ownership marker ${markerPath}). Two daemons sharing one data directory corrupt each other's state.\n\n` +
|
|
50
|
+
`To run a second pi-web instance, give it its own state and endpoints:\n` +
|
|
51
|
+
`- PI_WEB_DATA_DIR: a different data directory\n` +
|
|
52
|
+
`- PI_WEB_SESSIOND_SOCKET (or PI_WEB_SESSIOND_PORT / PI_WEB_SESSIOND_HOST): a different session daemon endpoint\n` +
|
|
53
|
+
`- PI_WEB_PORT: a different web/API port\n\n` +
|
|
54
|
+
`If pid ${String(owner.pid)} is not a running pi-web session daemon, remove the stale marker file and start again.`);
|
|
16
55
|
this.name = "SessiondStateOwnershipConflictError";
|
|
17
56
|
this.dataDir = dataDir;
|
|
18
57
|
this.owner = owner;
|
|
@@ -20,12 +59,19 @@ export class SessiondStateOwnershipConflictError extends Error {
|
|
|
20
59
|
}
|
|
21
60
|
const DEFAULT_GRACE_MS = 15_000;
|
|
22
61
|
const DEFAULT_POLL_INTERVAL_MS = 250;
|
|
62
|
+
/**
|
|
63
|
+
* Claim ownership of the instance data directory for this daemon.
|
|
64
|
+
*
|
|
65
|
+
* Resolves once the marker records this daemon; throws
|
|
66
|
+
* {@link SessiondStateOwnershipConflictError} when a live owner persists past
|
|
67
|
+
* the grace window.
|
|
68
|
+
*/
|
|
23
69
|
export async function claimSessiondStateOwnership(options) {
|
|
24
70
|
const ownPid = options.ownPid ?? process.pid;
|
|
25
71
|
const isAlive = options.isAlive ?? isOwnershipRecordAlive;
|
|
26
72
|
const graceMs = options.graceMs ?? DEFAULT_GRACE_MS;
|
|
27
73
|
const pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
|
|
28
|
-
const sleep = options.sleep ??
|
|
74
|
+
const sleep = options.sleep ?? defaultSleep;
|
|
29
75
|
const logger = options.logger;
|
|
30
76
|
const dataDir = options.dataDir ?? piWebDataDir(options.env);
|
|
31
77
|
const markerPath = join(dataDir, SESSIOND_OWNER_MARKER_FILENAME);
|
|
@@ -38,43 +84,96 @@ export async function claimSessiondStateOwnership(options) {
|
|
|
38
84
|
};
|
|
39
85
|
await mkdir(dataDir, { recursive: true });
|
|
40
86
|
const deadline = Date.now() + graceMs;
|
|
87
|
+
let waitedForOwner = false;
|
|
41
88
|
for (;;) {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
89
|
+
const unlock = await lockOwnershipMutation(markerPath);
|
|
90
|
+
try {
|
|
91
|
+
const existing = await readOwnershipRecord(markerPath);
|
|
92
|
+
if (existing !== undefined && existing !== "invalid") {
|
|
93
|
+
if (existing.pid !== ownPid && isAlive(existing)) {
|
|
94
|
+
// A live different owner: wait out the grace window for an orderly
|
|
95
|
+
// restart to release, then fail loudly.
|
|
96
|
+
if (Date.now() >= deadline) {
|
|
97
|
+
throw new SessiondStateOwnershipConflictError({ dataDir, markerPath, owner: existing });
|
|
98
|
+
}
|
|
99
|
+
if (!waitedForOwner) {
|
|
100
|
+
logger?.warn({ markerPath, owner: existing }, "another live session daemon owns this state; waiting briefly for it to release ownership");
|
|
101
|
+
waitedForOwner = true;
|
|
102
|
+
}
|
|
103
|
+
await unlock();
|
|
104
|
+
await sleep(pollIntervalMs);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (existing.pid !== ownPid) {
|
|
108
|
+
logger?.info({ markerPath, previousOwner: existing }, "taking over session daemon state ownership from a stale marker");
|
|
109
|
+
}
|
|
110
|
+
await rm(markerPath, { force: true });
|
|
50
111
|
}
|
|
51
|
-
if (existing
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
112
|
+
else if (existing === "invalid") {
|
|
113
|
+
// Possibly a torn write by a claimant mid-create; give it the grace
|
|
114
|
+
// window to finish before discarding the marker.
|
|
115
|
+
if (Date.now() < deadline) {
|
|
116
|
+
await unlock();
|
|
117
|
+
await sleep(pollIntervalMs);
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
logger?.warn({ markerPath }, "discarding an unreadable session daemon ownership marker");
|
|
121
|
+
await rm(markerPath, { force: true });
|
|
122
|
+
}
|
|
123
|
+
// No live owner holds the marker: claim it exclusively. The loser of a
|
|
124
|
+
// create race re-reads and re-evaluates the winner's marker above.
|
|
125
|
+
try {
|
|
126
|
+
await writeFile(markerPath, `${JSON.stringify(record, null, 2)}\n`, { flag: "wx" });
|
|
127
|
+
return {
|
|
128
|
+
markerPath,
|
|
129
|
+
record,
|
|
130
|
+
release: () => releaseOwnershipMarker(markerPath, record, logger),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
if (!isErrorCode(error, "EEXIST"))
|
|
135
|
+
throw error;
|
|
59
136
|
}
|
|
60
|
-
logger?.warn({ markerPath }, "discarding invalid session daemon ownership marker");
|
|
61
|
-
await rm(markerPath, { force: true });
|
|
62
137
|
}
|
|
138
|
+
finally {
|
|
139
|
+
await unlock();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** Never reclaim this short-lived mutex by age: that could delete a paused claimant's lock. */
|
|
144
|
+
async function lockOwnershipMutation(markerPath) {
|
|
145
|
+
const lockPath = `${markerPath}.lock`;
|
|
146
|
+
const deadline = Date.now() + 5_000;
|
|
147
|
+
for (;;) {
|
|
63
148
|
try {
|
|
64
|
-
await
|
|
65
|
-
|
|
149
|
+
await mkdir(lockPath);
|
|
150
|
+
let released = false;
|
|
151
|
+
return async () => {
|
|
152
|
+
if (released)
|
|
153
|
+
return;
|
|
154
|
+
await rmdir(lockPath);
|
|
155
|
+
released = true;
|
|
156
|
+
};
|
|
66
157
|
}
|
|
67
158
|
catch (error) {
|
|
68
159
|
if (!isErrorCode(error, "EEXIST"))
|
|
69
160
|
throw error;
|
|
161
|
+
if (Date.now() >= deadline) {
|
|
162
|
+
throw new Error(`Session daemon ownership update is locked: ${lockPath}. If a startup crashed, confirm no daemon is starting or stopping before removing this lock directory.`, { cause: error });
|
|
163
|
+
}
|
|
164
|
+
await defaultSleep(25);
|
|
70
165
|
}
|
|
71
166
|
}
|
|
72
167
|
}
|
|
168
|
+
/** Parse marker content; `"invalid"` when it is not a readable ownership record. */
|
|
73
169
|
export function parseOwnershipRecord(content) {
|
|
74
170
|
try {
|
|
75
171
|
const value = JSON.parse(content);
|
|
76
|
-
if (!isRecord(value)
|
|
172
|
+
if (!isRecord(value))
|
|
77
173
|
return "invalid";
|
|
174
|
+
if (typeof value["pid"] !== "number" || typeof value["startedAt"] !== "string" || typeof value["endpoint"] !== "string") {
|
|
175
|
+
return "invalid";
|
|
176
|
+
}
|
|
78
177
|
if (value["processStartTime"] !== undefined && typeof value["processStartTime"] !== "string")
|
|
79
178
|
return "invalid";
|
|
80
179
|
return {
|
|
@@ -88,48 +187,84 @@ export function parseOwnershipRecord(content) {
|
|
|
88
187
|
return "invalid";
|
|
89
188
|
}
|
|
90
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Whether the process a marker records is still that same running process.
|
|
192
|
+
*
|
|
193
|
+
* With both the recorded and the current `/proc` start time available, a
|
|
194
|
+
* mismatch pins down pid reuse; otherwise the pid probe is all there is.
|
|
195
|
+
*/
|
|
91
196
|
export function isOwnershipRecordAlive(record) {
|
|
92
197
|
const currentStartTime = readProcessStartTime(record.pid);
|
|
93
|
-
if (currentStartTime !== undefined && record.processStartTime !== undefined)
|
|
198
|
+
if (currentStartTime !== undefined && record.processStartTime !== undefined) {
|
|
94
199
|
return currentStartTime === record.processStartTime;
|
|
95
|
-
try {
|
|
96
|
-
process.kill(record.pid, 0);
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
return isErrorCode(error, "EPERM");
|
|
101
200
|
}
|
|
201
|
+
return isProcessAlive(record.pid);
|
|
102
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Linux-only precise process identity: `/proc/<pid>/stat` field 22 (start time
|
|
205
|
+
* in clock ticks since boot). `undefined` off Linux or when the process is
|
|
206
|
+
* gone. The `comm` field may contain spaces and parentheses, so parsing starts
|
|
207
|
+
* after its closing parenthesis.
|
|
208
|
+
*/
|
|
103
209
|
export function readProcessStartTime(pid) {
|
|
104
210
|
try {
|
|
105
211
|
const stat = readFileSync(`/proc/${String(pid)}/stat`, "utf8");
|
|
106
212
|
const closeParen = stat.lastIndexOf(")");
|
|
107
|
-
|
|
213
|
+
if (closeParen === -1)
|
|
214
|
+
return undefined;
|
|
215
|
+
const afterComm = stat.slice(closeParen + 2).split(" ");
|
|
216
|
+
return afterComm[19];
|
|
108
217
|
}
|
|
109
218
|
catch {
|
|
110
219
|
return undefined;
|
|
111
220
|
}
|
|
112
221
|
}
|
|
113
222
|
async function readOwnershipRecord(markerPath) {
|
|
223
|
+
let content;
|
|
114
224
|
try {
|
|
115
|
-
|
|
225
|
+
content = await readFile(markerPath, "utf8");
|
|
116
226
|
}
|
|
117
227
|
catch (error) {
|
|
118
228
|
if (isErrorCode(error, "ENOENT"))
|
|
119
229
|
return undefined;
|
|
120
230
|
throw error;
|
|
121
231
|
}
|
|
232
|
+
return parseOwnershipRecord(content);
|
|
122
233
|
}
|
|
123
234
|
async function releaseOwnershipMarker(markerPath, record, logger) {
|
|
124
235
|
try {
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
await
|
|
236
|
+
const unlock = await lockOwnershipMutation(markerPath);
|
|
237
|
+
try {
|
|
238
|
+
const current = await readOwnershipRecord(markerPath);
|
|
239
|
+
if (current === undefined || current === "invalid")
|
|
240
|
+
return;
|
|
241
|
+
// Remove only our own marker: pid plus the wall-clock start makes a newer
|
|
242
|
+
// owner that reused the pid after a takeover race safe from deletion.
|
|
243
|
+
if (current.pid === record.pid && current.startedAt === record.startedAt) {
|
|
244
|
+
await rm(markerPath, { force: true });
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
finally {
|
|
248
|
+
await unlock();
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
logger?.warn({ err: error, markerPath }, "could not release the session daemon ownership marker; inspect any ownership update lock before restarting");
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
function isProcessAlive(pid) {
|
|
256
|
+
try {
|
|
257
|
+
process.kill(pid, 0);
|
|
258
|
+
return true;
|
|
128
259
|
}
|
|
129
260
|
catch (error) {
|
|
130
|
-
|
|
261
|
+
// EPERM means the process exists but belongs to someone else.
|
|
262
|
+
return isErrorCode(error, "EPERM");
|
|
131
263
|
}
|
|
132
264
|
}
|
|
265
|
+
function defaultSleep(ms) {
|
|
266
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
267
|
+
}
|
|
133
268
|
function isRecord(value) {
|
|
134
269
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
135
270
|
}
|