@chainingintention/pi-web-cn 1.202609.10 → 1.202609.12
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/dist/client/assets/{CodeViewer-vh-rj4PA.js → CodeViewer-CZHnKRwQ.js} +1 -1
- package/dist/client/assets/{TerminalPanel-Bb2lTnwP.js → TerminalPanel-B_EaRPHY.js} +1 -1
- package/dist/client/assets/{index-D4FYxEQo.js → index-Bv1v-Jz7.js} +292 -292
- package/dist/client/index.html +1 -1
- package/dist/server/plugins/pluginBackendProxyRoutes.js +7 -7
- package/dist/server/plugins/pluginBackendProxyRoutes.js.map +1 -1
- package/dist/server/requestCancellation.js +15 -1
- package/dist/server/requestCancellation.js.map +1 -1
- package/dist/server/sessiond/sessionProxyRoutes.js +22 -25
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
- package/dist/server/sessions/managementAgentTools.js +8 -6
- package/dist/server/sessions/managementAgentTools.js.map +1 -1
- package/dist/server/sessions/managementPermissionSystem.js +1 -2
- package/dist/server/sessions/managementPermissionSystem.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +1 -1
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/sessionNameGenerator.js +3 -2
- package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
- package/dist/server/terminalProxyRoutes.js +20 -17
- package/dist/server/terminalProxyRoutes.js.map +1 -1
- package/dist/server/workspaces/workspaceDeletionRoutes.js +3 -3
- package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -1
- package/dist/sessiond/sessionDaemonClient.js +18 -16
- package/dist/sessiond/sessionDaemonClient.js.map +1 -1
- package/dist/sessiond/sessionDaemonErrors.js +49 -0
- package/dist/sessiond/sessionDaemonErrors.js.map +1 -0
- package/docs/config.md +3 -3
- package/package.json +7 -7
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { normalizeContext } from "@earendil-works/pi-ai";
|
|
1
2
|
const SESSION_NAME_TIMEOUT_MS = 10_000;
|
|
2
3
|
const SESSION_NAME_MAX_INPUT_CHARS = 4_000;
|
|
3
4
|
const SESSION_NAME_MAX_LENGTH = 60;
|
|
@@ -9,14 +10,14 @@ export function deterministicSessionName(firstMessage) {
|
|
|
9
10
|
return relayHandoffSessionName(firstMessage.trimStart());
|
|
10
11
|
}
|
|
11
12
|
export async function generateShortSessionName(streamFn, model, firstMessage) {
|
|
12
|
-
const stream = await streamFn(model, {
|
|
13
|
+
const stream = await streamFn(model, normalizeContext({
|
|
13
14
|
systemPrompt: "Generate a concise title for a coding-agent chat session. Use the same language as the user's request. Return only the title, with no quotes or punctuation wrapper.",
|
|
14
15
|
messages: [{
|
|
15
16
|
role: "user",
|
|
16
17
|
content: `Create a 2-6 word title for this request:\n\n${truncateInput(firstMessage)}`,
|
|
17
18
|
timestamp: Date.now(),
|
|
18
19
|
}],
|
|
19
|
-
}, {
|
|
20
|
+
}), {
|
|
20
21
|
maxTokens: 24,
|
|
21
22
|
reasoning: "minimal",
|
|
22
23
|
signal: AbortSignal.timeout(SESSION_NAME_TIMEOUT_MS),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionNameGenerator.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionNameGenerator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessionNameGenerator.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionNameGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SessionDaemonClient } from "../sessiond/sessionDaemonClient.js";
|
|
2
|
+
import { withRequestCancellation } from "./requestCancellation.js";
|
|
2
3
|
import { resolveWorkspaceContext } from "./workspaces/workspaceContext.js";
|
|
3
4
|
import { resolveManagedWorkspaceContext } from "./workspaces/workspaceRouteContext.js";
|
|
4
5
|
import { terminalSizeQuery } from "./terminals/terminalSize.js";
|
|
@@ -10,7 +11,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
10
11
|
if (await managementContextForRequest(request, managementEmbed, reply) !== undefined)
|
|
11
12
|
return [];
|
|
12
13
|
const context = await resolveWorkspaceContext(projects, workspaces, request.params.projectId, request.params.workspaceId);
|
|
13
|
-
return await proxyJson(daemon, "GET", `/terminals?cwd=${encodeURIComponent(context.root)}`, undefined, reply);
|
|
14
|
+
return await proxyJson(daemon, "GET", `/terminals?cwd=${encodeURIComponent(context.root)}`, undefined, request, reply);
|
|
14
15
|
}
|
|
15
16
|
catch (error) {
|
|
16
17
|
requestFailed(reply, error);
|
|
@@ -20,7 +21,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
20
21
|
app.delete(`${prefix}/projects/:projectId/workspaces/:workspaceId/terminals`, async (request, reply) => {
|
|
21
22
|
try {
|
|
22
23
|
const context = await resolveWorkspaceContext(projects, workspaces, request.params.projectId, request.params.workspaceId);
|
|
23
|
-
return await proxyJson(daemon, "DELETE", `/terminals?cwd=${encodeURIComponent(context.root)}`, undefined, reply);
|
|
24
|
+
return await proxyJson(daemon, "DELETE", `/terminals?cwd=${encodeURIComponent(context.root)}`, undefined, request, reply);
|
|
24
25
|
}
|
|
25
26
|
catch (error) {
|
|
26
27
|
requestFailed(reply, error);
|
|
@@ -32,7 +33,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
32
33
|
if (await managementContextForRequest(request, managementEmbed, reply) !== undefined)
|
|
33
34
|
return await reply.code(403).send({ error: "Interactive terminal is disabled in management embed mode" });
|
|
34
35
|
const context = await resolveWorkspaceContext(projects, workspaces, request.params.projectId, request.params.workspaceId);
|
|
35
|
-
return await proxyJson(daemon, "POST", "/terminals", { ...request.body, cwd: context.root }, reply);
|
|
36
|
+
return await proxyJson(daemon, "POST", "/terminals", { ...request.body, cwd: context.root }, request, reply);
|
|
36
37
|
}
|
|
37
38
|
catch (error) {
|
|
38
39
|
requestFailed(reply, error);
|
|
@@ -44,7 +45,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
44
45
|
if (await managementContextForRequest(request, managementEmbed, reply) !== undefined)
|
|
45
46
|
return await reply.code(403).send({ error: "Interactive terminal is disabled in management embed mode" });
|
|
46
47
|
await resolveWorkspaceContext(projects, workspaces, request.params.projectId, request.params.workspaceId);
|
|
47
|
-
return await proxyJson(daemon, "POST", `/terminals/${encodeURIComponent(request.params.terminalId)}/continue`, undefined, reply);
|
|
48
|
+
return await proxyJson(daemon, "POST", `/terminals/${encodeURIComponent(request.params.terminalId)}/continue`, undefined, request, reply);
|
|
48
49
|
}
|
|
49
50
|
catch (error) {
|
|
50
51
|
requestFailed(reply, error);
|
|
@@ -56,7 +57,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
56
57
|
if (await managementContextForRequest(request, managementEmbed, reply) !== undefined)
|
|
57
58
|
return await reply.code(403).send({ error: "Interactive terminal is disabled in management embed mode" });
|
|
58
59
|
await resolveWorkspaceContext(projects, workspaces, request.params.projectId, request.params.workspaceId);
|
|
59
|
-
return await proxyJson(daemon, "DELETE", `/terminals/${encodeURIComponent(request.params.terminalId)}`, undefined, reply);
|
|
60
|
+
return await proxyJson(daemon, "DELETE", `/terminals/${encodeURIComponent(request.params.terminalId)}`, undefined, request, reply);
|
|
60
61
|
}
|
|
61
62
|
catch (error) {
|
|
62
63
|
requestFailed(reply, error);
|
|
@@ -79,7 +80,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
79
80
|
title: request.body.title,
|
|
80
81
|
command: request.body.command,
|
|
81
82
|
metadata: request.body.metadata ?? {},
|
|
82
|
-
}, reply, managementHeaders(managementContext));
|
|
83
|
+
}, request, reply, managementHeaders(managementContext));
|
|
83
84
|
}
|
|
84
85
|
catch (error) {
|
|
85
86
|
requestFailed(reply, error);
|
|
@@ -89,7 +90,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
89
90
|
app.get(`${prefix}/terminal-command-runs`, async (request, reply) => {
|
|
90
91
|
try {
|
|
91
92
|
const managementContext = await managementContextForRequest(request, managementEmbed, reply);
|
|
92
|
-
const value = await proxyJson(daemon, "GET", `/terminal-command-runs${terminalCommandRunQuery(request.query)}`, undefined, reply, managementHeaders(managementContext));
|
|
93
|
+
const value = await proxyJson(daemon, "GET", `/terminal-command-runs${terminalCommandRunQuery(request.query)}`, undefined, request, reply, managementHeaders(managementContext));
|
|
93
94
|
return managementContext === undefined ? value : filterManagedCommandRuns(value, managementContext);
|
|
94
95
|
}
|
|
95
96
|
catch (error) {
|
|
@@ -100,7 +101,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
100
101
|
app.post(`${prefix}/terminal-command-runs/:runId/cancel`, async (request, reply) => {
|
|
101
102
|
try {
|
|
102
103
|
const managementContext = await managementContextForRequest(request, managementEmbed, reply);
|
|
103
|
-
return await proxyJson(daemon, "POST", `/terminal-command-runs/${encodeURIComponent(request.params.runId)}/cancel`, undefined, reply, managementHeaders(managementContext));
|
|
104
|
+
return await proxyJson(daemon, "POST", `/terminal-command-runs/${encodeURIComponent(request.params.runId)}/cancel`, undefined, request, reply, managementHeaders(managementContext));
|
|
104
105
|
}
|
|
105
106
|
catch (error) {
|
|
106
107
|
requestFailed(reply, error);
|
|
@@ -110,7 +111,7 @@ export function registerTerminalProxyRoutes(app, projects, workspaces, daemon =
|
|
|
110
111
|
app.get(`${prefix}/terminal-command-runs/:runId`, async (request, reply) => {
|
|
111
112
|
try {
|
|
112
113
|
const managementContext = await managementContextForRequest(request, managementEmbed, reply);
|
|
113
|
-
const value = await proxyJson(daemon, "GET", `/terminal-command-runs/${encodeURIComponent(request.params.runId)}`, undefined, reply, managementHeaders(managementContext));
|
|
114
|
+
const value = await proxyJson(daemon, "GET", `/terminal-command-runs/${encodeURIComponent(request.params.runId)}`, undefined, request, reply, managementHeaders(managementContext));
|
|
114
115
|
if (managementContext !== undefined && !isManagedCommandRun(value, managementContext))
|
|
115
116
|
return await reply.code(404).send({ error: "Terminal command run not found" });
|
|
116
117
|
return value;
|
|
@@ -149,14 +150,16 @@ function terminalCommandRunQuery(filter) {
|
|
|
149
150
|
const query = params.toString();
|
|
150
151
|
return query === "" ? "" : `?${query}`;
|
|
151
152
|
}
|
|
152
|
-
async function proxyJson(daemon, method, path, body, reply, headers) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
153
|
+
async function proxyJson(daemon, method, path, body, request, reply, headers) {
|
|
154
|
+
return await withRequestCancellation(request, reply, async (signal) => {
|
|
155
|
+
const upstream = await daemon.request(method, path, body, headers, signal);
|
|
156
|
+
reply.code(upstream.statusCode);
|
|
157
|
+
const contentType = upstream.headers["content-type"];
|
|
158
|
+
if (contentType !== undefined && contentType !== "")
|
|
159
|
+
reply.header("content-type", contentType);
|
|
160
|
+
const value = upstream.body !== "" ? JSON.parse(upstream.body) : undefined;
|
|
161
|
+
return value;
|
|
162
|
+
});
|
|
160
163
|
}
|
|
161
164
|
function managementHeaders(context) {
|
|
162
165
|
return context === undefined ? undefined : { [MANAGEMENT_EMBED_CONTEXT_HEADER]: encodeManagementContext(context) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalProxyRoutes.js","sourceRoot":"","sources":["../../src/server/terminalProxyRoutes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"terminalProxyRoutes.js","sourceRoot":"","sources":["../../src/server/terminalProxyRoutes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,GAGhC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,2BAA2B,CAAC,GAAoB,EAAE,QAAwB,EAAE,UAAiC,EAAE,SAA6B,IAAI,mBAAmB,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,eAAwC;IAC9O,GAAG,CAAC,GAAG,CAAyD,GAAG,MAAM,wDAAwD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1J,IAAI,CAAC;YACH,IAAI,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YAChG,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1H,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAyD,GAAG,MAAM,wDAAwD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7J,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1H,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5H,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAgH,GAAG,MAAM,wDAAwD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAClN,IAAI,CAAC;YACH,IAAI,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAC,CAAC;YAChM,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1H,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAA6E,GAAG,MAAM,6EAA6E,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACpM,IAAI,CAAC;YACH,IAAI,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAC,CAAC;YAChM,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1G,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5I,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAA6E,GAAG,MAAM,oEAAoE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7L,IAAI,CAAC;YACH,IAAI,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAC,CAAC;YAChM,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1G,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrI,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAA0F,GAAG,MAAM,oEAAoE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxM,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC7F,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;gBAAE,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC,CAAC;YACvN,MAAM,OAAO,GAAG,iBAAiB,KAAK,SAAS;gBAC7C,CAAC,CAAC,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC3G,CAAC,CAAC,MAAM,8BAA8B,CAAC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/K,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE;gBAC/D,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;gBAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;gBACnC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;gBACvC,GAAG,EAAE,OAAO,CAAC,IAAI;gBACjB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACzB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;gBAC7B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;aACtC,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAA2C,GAAG,MAAM,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC5G,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC7F,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,yBAAyB,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACjL,OAAO,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAgC,GAAG,MAAM,sCAAsC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAChH,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC7F,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,0BAA0B,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAgC,GAAG,MAAM,+BAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxG,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC7F,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,0BAA0B,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACpL,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC;gBAAE,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YACtK,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAA4H,GAAG,MAAM,2EAA2E,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QACtQ,IAAI,CAAC;YACH,IAAI,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC5J,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1G,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,cAAc,OAAO,CAAC,MAAM,CAAC,UAAU,UAAU,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAChH,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAiBD,SAAS,uBAAuB,CAAC,MAA+B;IAC9D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAA0B,EAC1B,MAAc,EACd,IAAY,EACZ,IAAa,EACb,OAAuB,EACvB,KAAmB,EACnB,OAAgC;IAEhC,OAAO,MAAM,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE;YAAE,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAY,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA2C;IACpE,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;AACrH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,OAA+B;IAC/E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,OAA+B;IAC1E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC7E,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAmB,EAAE,KAAc;IACxD,KAAK,CAAC,IAAI,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;AAC1F,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { parseWorkspaceRemovalRequest, WORKSPACE_REMOVAL_REQUEST_BODY_MAX_BYTES, } from "../../shared/workspaceRemovalProtocol.js";
|
|
2
2
|
import { workspaceDeletionMetadata } from "../../shared/workspaceDeletion.js";
|
|
3
3
|
import { SessionDaemonClient } from "../../sessiond/sessionDaemonClient.js";
|
|
4
|
+
import { sessionDaemonProxyFailure } from "../../sessiond/sessionDaemonErrors.js";
|
|
4
5
|
import { requestCancellation } from "../requestCancellation.js";
|
|
5
6
|
import { managementContextForRequest, managementHeaders, managementToolAllowed } from "../managementEmbed.js";
|
|
6
7
|
export function registerWorkspaceDeletionRoutes(app, daemon = new SessionDaemonClient(), prefixOrWorkspaces = "/api", managementEmbedOrDaemon, legacyPrefix = "/api", legacyManagementEmbed) {
|
|
@@ -34,9 +35,8 @@ export function registerWorkspaceDeletionRoutes(app, daemon = new SessionDaemonC
|
|
|
34
35
|
return await proxyJsonResponse(reply, upstream);
|
|
35
36
|
}
|
|
36
37
|
catch (error) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
38
|
+
const failure = sessionDaemonProxyFailure(error);
|
|
39
|
+
return await reply.code(failure.statusCode).send({ error: failure.error });
|
|
40
40
|
}
|
|
41
41
|
finally {
|
|
42
42
|
cancellation.dispose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceDeletionRoutes.js","sourceRoot":"","sources":["../../../src/server/workspaces/workspaceDeletionRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,wCAAwC,GACzC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,qBAAqB,EAA+B,MAAM,uBAAuB,CAAC;AAK3I,MAAM,UAAU,+BAA+B,CAC7C,GAAoB,EACpB,SAA8C,IAAI,mBAAmB,EAAE,EACvE,qBAAgD,MAAM,EACtD,uBAAqE,EACrE,YAAY,GAAG,MAAM,EACrB,qBAA8C;IAE9C,MAAM,MAAM,GAAG,OAAO,kBAAkB,KAAK,QAAQ,CAAC;IACtD,MAAM,aAAa,GAAuB,MAAM;QAC9C,CAAC,CAAC,CAAC,uBAAuB,KAAK,SAAS,IAAI,SAAS,IAAI,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACvI,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACxI,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC5I,qCAAqC,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC/G,OAAO;IACT,CAAC;IACD,GAAG,CAAC,MAAM,CACR,GAAG,MAAM,8CAA8C,EACvD,EAAE,SAAS,EAAE,wCAAwC,EAAE,EACvD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,EAAE,CAAC;YAC1G,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,IAAqD,CAAC;QAC1D,IAAI,CAAC;YACH,IAAI,GAAG,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAC1C,QAAQ,EACR,gCAAgC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAC3I,IAAI,EACJ,iBAAiB,CAAC,iBAAiB,EAAE,eAAe,CAAC,EACrD,YAAY,CAAC,MAAM,CACpB,CAAC;YACF,OAAO,MAAM,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"workspaceDeletionRoutes.js","sourceRoot":"","sources":["../../../src/server/workspaces/workspaceDeletionRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import { WebSocket } from "ws";
|
|
|
3
3
|
import { isHostAbsoluteAgentDir, isSafeAgentCommandForHost } from "../config.js";
|
|
4
4
|
import { parsePiWebRuntimeComponent } from "../shared/piWebStatusParsing.js";
|
|
5
5
|
import { sessiondHttpUrl, sessiondSocketPath } from "./config.js";
|
|
6
|
-
|
|
6
|
+
import { normalizeSessionDaemonRequestError } from "./sessionDaemonErrors.js";
|
|
7
7
|
const SESSIOND_SOCKET_AGENT = new http.Agent({ keepAlive: true, maxSockets: 256, maxFreeSockets: 32 });
|
|
8
|
+
/** Talks to the local session daemon. A dead socket fails immediately, so there is no default request deadline; a busy agent turn is not a hang. Callers may still pass an AbortSignal. */
|
|
8
9
|
export class SessionDaemonClient {
|
|
9
10
|
constructor() {
|
|
10
11
|
this.baseUrl = sessiondHttpUrl();
|
|
@@ -28,30 +29,30 @@ export class SessionDaemonClient {
|
|
|
28
29
|
return new WebSocket(`ws+unix:${this.socketPath}:${path}`, { headers });
|
|
29
30
|
}
|
|
30
31
|
async requestUrl(method, path, payload, headers = {}, signal) {
|
|
31
|
-
const init = { method, headers, signal: signal
|
|
32
|
+
const init = { method, headers, ...(signal === undefined ? {} : { signal }) };
|
|
32
33
|
if (payload !== undefined && payload !== "") {
|
|
33
34
|
init.headers = { ...headers, "content-type": "application/json" };
|
|
34
35
|
init.body = payload;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
try {
|
|
38
|
+
const response = await fetch(new URL(path, this.baseUrl), init);
|
|
39
|
+
return {
|
|
40
|
+
statusCode: response.status,
|
|
41
|
+
headers: Object.fromEntries(response.headers.entries()),
|
|
42
|
+
body: await response.text(),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
throw normalizeSessionDaemonRequestError(error, signal);
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
requestSocket(method, path, payload, headers = {}, signal) {
|
|
44
50
|
return new Promise((resolve, reject) => {
|
|
45
|
-
const timeoutController = new AbortController();
|
|
46
|
-
const effectiveSignal = signal === undefined ? timeoutController.signal : AbortSignal.any([signal, timeoutController.signal]);
|
|
47
|
-
const timeout = setTimeout(() => {
|
|
48
|
-
timeoutController.abort(new Error("session daemon request timed out"));
|
|
49
|
-
}, DEFAULT_REQUEST_TIMEOUT_MS);
|
|
50
51
|
const request = http.request({
|
|
51
52
|
socketPath: this.socketPath,
|
|
52
53
|
path,
|
|
53
54
|
method,
|
|
54
|
-
signal:
|
|
55
|
+
...(signal === undefined ? {} : { signal }),
|
|
55
56
|
agent: SESSIOND_SOCKET_AGENT,
|
|
56
57
|
headers: payload !== undefined && payload !== ""
|
|
57
58
|
? { ...headers, "content-type": "application/json", "content-length": Buffer.byteLength(payload) }
|
|
@@ -62,7 +63,6 @@ export class SessionDaemonClient {
|
|
|
62
63
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
63
64
|
});
|
|
64
65
|
response.on("end", () => {
|
|
65
|
-
clearTimeout(timeout);
|
|
66
66
|
resolve({
|
|
67
67
|
statusCode: response.statusCode ?? 500,
|
|
68
68
|
headers: Object.fromEntries(Object.entries(response.headers).map(([key, value]) => [key, Array.isArray(value) ? value.join(", ") : value ?? ""])),
|
|
@@ -70,7 +70,9 @@ export class SessionDaemonClient {
|
|
|
70
70
|
});
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
|
-
request.on("error", (error) => {
|
|
73
|
+
request.on("error", (error) => {
|
|
74
|
+
reject(normalizeSessionDaemonRequestError(error, signal));
|
|
75
|
+
});
|
|
74
76
|
if (payload !== undefined && payload !== "")
|
|
75
77
|
request.write(payload);
|
|
76
78
|
request.end();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionDaemonClient.js","sourceRoot":"","sources":["../../src/sessiond/sessionDaemonClient.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sessionDaemonClient.js","sourceRoot":"","sources":["../../src/sessiond/sessionDaemonClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const SESSION_DAEMON_REQUEST_TIMEOUT_MESSAGE = "session daemon request timed out";
|
|
2
|
+
export const SESSION_DAEMON_REQUEST_CANCELLED_MESSAGE = "HTTP request cancelled";
|
|
3
|
+
export function normalizeSessionDaemonRequestError(error, signal) {
|
|
4
|
+
const reason = signal?.reason;
|
|
5
|
+
if (isSessionDaemonCancelledError(reason) || isSessionDaemonCancelledError(error)) {
|
|
6
|
+
return reason instanceof Error && reason.message === SESSION_DAEMON_REQUEST_CANCELLED_MESSAGE
|
|
7
|
+
? reason
|
|
8
|
+
: new Error(SESSION_DAEMON_REQUEST_CANCELLED_MESSAGE, { cause: error instanceof Error ? error : undefined });
|
|
9
|
+
}
|
|
10
|
+
if (reason instanceof Error && reason.message === SESSION_DAEMON_REQUEST_TIMEOUT_MESSAGE)
|
|
11
|
+
return reason;
|
|
12
|
+
if (isSessionDaemonTimeoutError(reason) || isSessionDaemonTimeoutError(error)) {
|
|
13
|
+
return new Error(SESSION_DAEMON_REQUEST_TIMEOUT_MESSAGE, { cause: error instanceof Error ? error : undefined });
|
|
14
|
+
}
|
|
15
|
+
if (reason instanceof Error)
|
|
16
|
+
return reason;
|
|
17
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
18
|
+
}
|
|
19
|
+
export function sessionDaemonProxyFailure(error) {
|
|
20
|
+
const normalized = normalizeSessionDaemonRequestError(error);
|
|
21
|
+
if (isSessionDaemonCancelledError(normalized)) {
|
|
22
|
+
return { statusCode: 499, error: "Session daemon request cancelled" };
|
|
23
|
+
}
|
|
24
|
+
if (isSessionDaemonTimeoutError(normalized)) {
|
|
25
|
+
return { statusCode: 504, error: `Session daemon timed out: ${SESSION_DAEMON_REQUEST_TIMEOUT_MESSAGE}` };
|
|
26
|
+
}
|
|
27
|
+
return { statusCode: 502, error: `Session daemon unavailable: ${normalized.message}` };
|
|
28
|
+
}
|
|
29
|
+
export function isSessionDaemonCancelledError(error) {
|
|
30
|
+
if (!(error instanceof Error))
|
|
31
|
+
return false;
|
|
32
|
+
if (error.message === SESSION_DAEMON_REQUEST_CANCELLED_MESSAGE)
|
|
33
|
+
return true;
|
|
34
|
+
return error.cause instanceof Error && isSessionDaemonCancelledError(error.cause);
|
|
35
|
+
}
|
|
36
|
+
export function isSessionDaemonTimeoutError(error) {
|
|
37
|
+
if (!(error instanceof Error))
|
|
38
|
+
return false;
|
|
39
|
+
if (isSessionDaemonCancelledError(error))
|
|
40
|
+
return false;
|
|
41
|
+
if (error.message === SESSION_DAEMON_REQUEST_TIMEOUT_MESSAGE)
|
|
42
|
+
return true;
|
|
43
|
+
if (error.name === "TimeoutError")
|
|
44
|
+
return true;
|
|
45
|
+
if (error.message === "The operation was aborted" || error.message === "The operation was aborted due to timeout")
|
|
46
|
+
return true;
|
|
47
|
+
return error.cause instanceof Error && isSessionDaemonTimeoutError(error.cause);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=sessionDaemonErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionDaemonErrors.js","sourceRoot":"","sources":["../../src/sessiond/sessionDaemonErrors.ts"],"names":[],"mappings":"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"}
|
package/docs/config.md
CHANGED
|
@@ -48,7 +48,7 @@ Process restarts depend on the key:
|
|
|
48
48
|
- `maxUploadBytes`: restart both the web/API process and the session daemon on that machine.
|
|
49
49
|
- `agent.command` / `agent.dir` / `spawnSessions` / `subsessions` / `askUser` / `extensionDialogsTimeoutMs`: restart the session daemon on that machine.
|
|
50
50
|
- `workbenchIntegration`: restart both the web/API process and session daemon; both processes must use the same endpoints and limits.
|
|
51
|
-
- `managementEmbed.allowPrivileged`: restart both the web/API process and session daemon; signed tokens must also send `privileged.
|
|
51
|
+
- `managementEmbed.allowPrivileged`: restart both the web/API process and session daemon; signed tokens must also send `privileged.network` to enable network access. Sandboxed bash does not require this switch.
|
|
52
52
|
- `pathAccess`: applies on the next request; existing file views may need a browser refresh.
|
|
53
53
|
- `uploads.defaultFolder`: applies to newly opened Files upload dialogs and new direct drag/drop batches after config/workspace refresh.
|
|
54
54
|
- `attachments.defaultFolder`: applies to prompt attachments saved as workspace files after config/workspace refresh.
|
|
@@ -162,7 +162,7 @@ Rows with JSON key `—` are runtime-only environment variables, not config-file
|
|
|
162
162
|
| Agent can post question forms | `askUser` | `PI_WEB_ASK_USER` | Global/session daemon | Not supported locally | Restart session daemon on that machine |
|
|
163
163
|
| Ordinary-session environment facts | `environmentFacts` | `PI_WEB_ENVIRONMENT_FACTS` | Global/session daemon | Not supported locally | Restart session daemon on that machine; affects newly started sessions |
|
|
164
164
|
| 扩展对话框自动取消超时 | `extensionDialogsTimeoutMs` | — | 全局/会话守护进程 | 不支持项目级配置 | 重启对应机器上的会话守护进程 |
|
|
165
|
-
| Management-embed privileged tools | `managementEmbed.allowPrivileged` | — | Global/session daemon | Not supported locally | Restart web/API and session daemon; both must match. Token must also send `privileged.
|
|
165
|
+
| Management-embed privileged tools | `managementEmbed.allowPrivileged` | — | Global/session daemon | Not supported locally | Restart web/API and session daemon; both must match. Token must also send `privileged.network` for network access; sandboxed bash is available by default |
|
|
166
166
|
| Workbench/MCP integration | `workbenchIntegration.*` | `PI_WEB_WORKBENCH_URL`, `PI_WEB_MCP_URL`, `PI_WEB_WORKBENCH_TIMEOUT_MS`, `PI_WEB_MCP_TIMEOUT_MS`, `PI_WEB_SKILL_BUNDLE_MAX_BYTES`, `PI_WEB_SKILL_FILE_MAX_BYTES`, `PI_WEB_SKILL_FILE_COUNT_MAX` | Web/API + session daemon | Not supported locally | Restart web/API and session daemon; both must match |
|
|
167
167
|
| Ordinary tool audit | `auditLog.normalMode.*` | — | Global/session daemon | Not supported locally | Restart session daemon |
|
|
168
168
|
| Management tool audit | `auditLog.managementMode.*` | `PI_WEB_AUDIT_ES_URL`, `PI_WEB_AUDIT_ES_API_KEY`, `PI_WEB_AUDIT_ES_USERNAME`, `PI_WEB_AUDIT_ES_PASSWORD` | Global/session daemon | Not supported locally | Restart session daemon |
|
|
@@ -220,7 +220,7 @@ Elasticsearch failures are reported through Pino and do not stop management sess
|
|
|
220
220
|
|
|
221
221
|
The adapter exchanges the one-time management token for a private Agent Session, loads only the resulting fixed resource snapshot, and exposes `icnoc_search_capabilities`, `icnoc_call_capability`, `workbench_search_knowledge`, `workbench_retrieve_knowledge`, and `workbench_retrieve_bookstack` alongside the managed file tools and sandboxed `python` tool. Knowledge retrieval goes through the Workbench backend's short-lived one-time knowledge tokens; PI WEB does not require RAGFlow or BookStack service connection settings or credentials, and tools do not accept tenant IDs or dataset IDs. Public source links in retrieval results are not service connection settings. When their global feature switches are enabled, management sessions also receive `spawn_session`, the tracked-subsessions tool set headed by `spawn_subsession`, and `ask_user`; spawned sessions inherit the same management context. Python runs without network access in an isolated Bubblewrap environment that binds only the managed workspace. Generic MCP, HTTP, web search, shell, and terminal tools remain denied in management mode.
|
|
222
222
|
|
|
223
|
-
A signed management token may include `privileged: { "bash": true, "network": true }
|
|
223
|
+
Management-embed sessions receive a constrained Bubblewrap `bash` tool by default, without requiring `privileged.bash` or `managementEmbed.allowPrivileged`. Only the current workspace and necessary read-only runtime directories are mounted; other host project and private configuration paths are not exposed. Network access is disabled by default. A nonempty `tools.allow` list must include `bash`; explicit `tools.deny` still wins. The upstream SDK shell, PowerShell, interactive terminals, and generic MCP stay denied. A signed management token may include `privileged: { "bash": true, "network": true }`; these grants are ignored unless the machine also sets `managementEmbed.allowPrivileged` to `true` (default `false`). An effective `privileged.bash` grant preserves the existing broader sandbox: host paths are visible read-only while the current workspace stays writable. When `privileged.network` is granted, the session may use `http`, `webfetch`, and `websearch`, and the managed Python, bash, and `terminal-command-runs` sandboxes omit `--unshare-net`; network authorization alone does not expose host paths. Spawned sessions inherit the same management context, including privileged grants. Changing `allowPrivileged` requires restarting the session daemon and keeping the web/API process on the same config.
|
|
224
224
|
|
|
225
225
|
Skill bundles are downloaded only from the MCP origin, checked against the authorized fixed version and manifest, and stored under the managed project's `.pi/skills/` directory. Tokens and tickets remain server-side.
|
|
226
226
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainingintention/pi-web-cn",
|
|
3
|
-
"version": "1.202609.
|
|
3
|
+
"version": "1.202609.12",
|
|
4
4
|
"description": "Remote web UI and browser control plane for persistent Pi Coding Agent sessions.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Federico Jaramillo Martinez",
|
|
@@ -105,9 +105,9 @@
|
|
|
105
105
|
},
|
|
106
106
|
"devDependencies": {
|
|
107
107
|
"@changesets/cli": "^2.31.0",
|
|
108
|
-
"@earendil-works/pi-agent-core": "0.
|
|
109
|
-
"@earendil-works/pi-ai": "0.
|
|
110
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
108
|
+
"@earendil-works/pi-agent-core": "0.86.1",
|
|
109
|
+
"@earendil-works/pi-ai": "0.86.1",
|
|
110
|
+
"@earendil-works/pi-coding-agent": "0.86.1",
|
|
111
111
|
"@eslint/js": "^10.0.1",
|
|
112
112
|
"@types/node": "^24.13.3",
|
|
113
113
|
"@types/ws": "^8.18.1",
|
|
@@ -140,9 +140,9 @@
|
|
|
140
140
|
"homepage": "https://github.com/nayuto-wakusei/pi-web-ChineseTranslation#readme",
|
|
141
141
|
"packageManager": "npm@11.11.0",
|
|
142
142
|
"peerDependencies": {
|
|
143
|
-
"@earendil-works/pi-agent-core": "0.
|
|
144
|
-
"@earendil-works/pi-ai": "0.
|
|
145
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
143
|
+
"@earendil-works/pi-agent-core": "0.86.1",
|
|
144
|
+
"@earendil-works/pi-ai": "0.86.1",
|
|
145
|
+
"@earendil-works/pi-coding-agent": "0.86.1"
|
|
146
146
|
},
|
|
147
147
|
"keywords": [
|
|
148
148
|
"pi-package",
|