@chainingintention/pi-web-cn 1.202606.5 → 1.202606.6
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 +1 -1
- package/dist/client/assets/{CodeViewer-DRxmEzh1.js → CodeViewer-8znVN61S.js} +1 -1
- package/dist/client/assets/{TerminalPanel-BcGKwlLZ.js → TerminalPanel-DrdWnF1y.js} +1 -1
- package/dist/client/assets/index-BiGrW6IC.js +2169 -0
- package/dist/client/index.html +1 -1
- package/dist/plugin-api.d.ts +17 -11
- package/dist/server/app.js +7 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/machines/machinePluginProxyRoutes.js +179 -0
- package/dist/server/machines/machinePluginProxyRoutes.js.map +1 -0
- package/dist/server/machines/machineProxyRoutes.js +1 -0
- package/dist/server/machines/machineProxyRoutes.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +19 -5
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/sessionNameGenerator.js +2 -0
- package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
- package/dist/server/sessions/sessionRoutes.js +1 -1
- package/dist/server/sessions/sessionRoutes.js.map +1 -1
- package/dist/server/terminalProxyRoutes.js +10 -0
- package/dist/server/terminalProxyRoutes.js.map +1 -1
- package/dist/server/terminals/terminalRoutes.js +11 -0
- package/dist/server/terminals/terminalRoutes.js.map +1 -1
- package/dist/server/terminals/terminalService.js +6 -0
- package/dist/server/terminals/terminalService.js.map +1 -1
- package/dist/server/workspaceExplorerRoutes.js +86 -0
- package/dist/server/workspaceExplorerRoutes.js.map +1 -1
- package/dist/server/workspaces/fileOperationService.js +95 -0
- package/dist/server/workspaces/fileOperationService.js.map +1 -0
- package/dist/server/workspaces/fileUploadService.js +23 -0
- package/dist/server/workspaces/fileUploadService.js.map +1 -0
- package/dist/server/workspaces/workspaceDeletionRoutes.js +127 -0
- package/dist/server/workspaces/workspaceDeletionRoutes.js.map +1 -0
- package/dist/shared/apiTypes.d.ts +12 -0
- package/dist/shared/federatedRoutes.js +9 -0
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/dist/shared/machinePluginIds.js +41 -0
- package/dist/shared/machinePluginIds.js.map +1 -0
- package/dist/shared/workspaceDeletion.js +12 -0
- package/dist/shared/workspaceDeletion.js.map +1 -0
- package/docs/plugins.md +88 -12
- package/package.json +1 -1
- package/dist/client/assets/index-BZE2v69K.js +0 -2002
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalService.js","sourceRoot":"","sources":["../../../src/server/terminals/terminalService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminalService.js","sourceRoot":"","sources":["../../../src/server/terminals/terminalService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { resolveWorkspaceContext } from "./workspaces/workspaceContext.js";
|
|
2
2
|
import { listWorkspaceTree } from "./workspaces/fileTreeService.js";
|
|
3
3
|
import { readWorkspaceFile } from "./workspaces/fileContentService.js";
|
|
4
|
+
import { uploadWorkspaceFile } from "./workspaces/fileUploadService.js";
|
|
5
|
+
import { createWorkspaceDirectory, deleteWorkspaceDirectory, deleteWorkspaceFile, moveWorkspaceDirectory, moveWorkspaceFile, readWorkspaceFileDownload } from "./workspaces/fileOperationService.js";
|
|
4
6
|
import { readWorkspaceImagePreview } from "./workspaces/imagePreviewService.js";
|
|
5
7
|
import { managementContextForRequest, projectFromManagedEmbedContext } from "./managementEmbed.js";
|
|
6
8
|
export function registerWorkspaceExplorerRoutes(app, projects, workspaces, prefix = "/api", managementEmbed) {
|
|
@@ -22,6 +24,76 @@ export function registerWorkspaceExplorerRoutes(app, projects, workspaces, prefi
|
|
|
22
24
|
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
23
25
|
}
|
|
24
26
|
});
|
|
27
|
+
app.post(`${prefix}/projects/:projectId/workspaces/:workspaceId/file`, async (request, reply) => {
|
|
28
|
+
try {
|
|
29
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
30
|
+
return await uploadWorkspaceFile(context.root, request.body);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
app.patch(`${prefix}/projects/:projectId/workspaces/:workspaceId/file`, async (request, reply) => {
|
|
37
|
+
try {
|
|
38
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
39
|
+
return await moveWorkspaceFile(context.root, request.body);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
app.delete(`${prefix}/projects/:projectId/workspaces/:workspaceId/file`, async (request, reply) => {
|
|
46
|
+
try {
|
|
47
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
48
|
+
return await deleteWorkspaceFile(context.root, request.query.path);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
app.get(`${prefix}/projects/:projectId/workspaces/:workspaceId/file/download`, async (request, reply) => {
|
|
55
|
+
try {
|
|
56
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
57
|
+
const download = await readWorkspaceFileDownload(context.root, request.query.path);
|
|
58
|
+
return await reply
|
|
59
|
+
.type("application/octet-stream")
|
|
60
|
+
.header("Content-Length", String(download.size))
|
|
61
|
+
.header("Content-Disposition", contentDispositionAttachment(download.filename))
|
|
62
|
+
.header("Last-Modified", new Date(download.modifiedAt).toUTCString())
|
|
63
|
+
.header("X-Content-Type-Options", "nosniff")
|
|
64
|
+
.send(download.stream);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
app.post(`${prefix}/projects/:projectId/workspaces/:workspaceId/directory`, async (request, reply) => {
|
|
71
|
+
try {
|
|
72
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
73
|
+
return await createWorkspaceDirectory(context.root, request.body);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
app.patch(`${prefix}/projects/:projectId/workspaces/:workspaceId/directory`, async (request, reply) => {
|
|
80
|
+
try {
|
|
81
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
82
|
+
return await moveWorkspaceDirectory(context.root, request.body);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
app.delete(`${prefix}/projects/:projectId/workspaces/:workspaceId/directory`, async (request, reply) => {
|
|
89
|
+
try {
|
|
90
|
+
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
91
|
+
return await deleteWorkspaceDirectory(context.root, request.query.path);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
95
|
+
}
|
|
96
|
+
});
|
|
25
97
|
app.get(`${prefix}/projects/:projectId/workspaces/:workspaceId/file/preview`, async (request, reply) => {
|
|
26
98
|
try {
|
|
27
99
|
const context = await resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, request.params.projectId, request.params.workspaceId);
|
|
@@ -40,6 +112,20 @@ export function registerWorkspaceExplorerRoutes(app, projects, workspaces, prefi
|
|
|
40
112
|
}
|
|
41
113
|
});
|
|
42
114
|
}
|
|
115
|
+
function contentDispositionAttachment(filename) {
|
|
116
|
+
const fallback = filename
|
|
117
|
+
.replace(/[^\x20-\x7E]/gu, "_")
|
|
118
|
+
.replaceAll("\\", "_")
|
|
119
|
+
.replaceAll("\"", "_");
|
|
120
|
+
return `attachment; filename="${fallback === "" ? "download" : fallback}"; filename*=UTF-8''${encodeRFC5987Value(filename)}`;
|
|
121
|
+
}
|
|
122
|
+
function encodeRFC5987Value(value) {
|
|
123
|
+
return encodeURIComponent(value)
|
|
124
|
+
.replaceAll("'", "%27")
|
|
125
|
+
.replaceAll("(", "%28")
|
|
126
|
+
.replaceAll(")", "%29")
|
|
127
|
+
.replaceAll("*", "%2A");
|
|
128
|
+
}
|
|
43
129
|
async function resolveRouteWorkspaceContext(projects, workspaces, managementEmbed, request, projectId, workspaceId) {
|
|
44
130
|
const managementContext = await managementContextForRequest(request, managementEmbed);
|
|
45
131
|
if (managementContext === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceExplorerRoutes.js","sourceRoot":"","sources":["../../src/server/workspaceExplorerRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspaceExplorerRoutes.js","sourceRoot":"","sources":["../../src/server/workspaceExplorerRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { lstat, mkdir, rename, rmdir, stat, unlink } from "node:fs/promises";
|
|
3
|
+
import { basename } from "node:path";
|
|
4
|
+
import { resolveInsideWorkspace, resolveParentInsideWorkspace } from "./pathSafety.js";
|
|
5
|
+
export async function moveWorkspaceFile(rootPath, input) {
|
|
6
|
+
const move = await resolveMove(rootPath, input);
|
|
7
|
+
const s = await lstat(move.sourceTarget);
|
|
8
|
+
if (!s.isFile())
|
|
9
|
+
throw new Error("Path is not a file");
|
|
10
|
+
await rename(move.sourceTarget, move.destinationTarget);
|
|
11
|
+
return { path: move.destinationRelativePath };
|
|
12
|
+
}
|
|
13
|
+
export async function deleteWorkspaceFile(rootPath, path) {
|
|
14
|
+
if (path === undefined || path === "")
|
|
15
|
+
throw new Error("path query parameter is required");
|
|
16
|
+
const { target, relativePath } = await resolveInsideWorkspace(rootPath, path);
|
|
17
|
+
const s = await lstat(target);
|
|
18
|
+
if (!s.isFile())
|
|
19
|
+
throw new Error("Path is not a file");
|
|
20
|
+
await unlink(target);
|
|
21
|
+
return { deleted: true, path: relativePath };
|
|
22
|
+
}
|
|
23
|
+
export async function createWorkspaceDirectory(rootPath, input) {
|
|
24
|
+
if (!isPathInput(input))
|
|
25
|
+
throw new Error("Directory body must include path");
|
|
26
|
+
const { target, relativePath } = await resolveParentInsideWorkspace(rootPath, input.path);
|
|
27
|
+
await mkdir(target);
|
|
28
|
+
return { path: relativePath };
|
|
29
|
+
}
|
|
30
|
+
export async function moveWorkspaceDirectory(rootPath, input) {
|
|
31
|
+
const move = await resolveMove(rootPath, input);
|
|
32
|
+
if (move.destinationRelativePath.startsWith(`${move.sourceRelativePath}/`))
|
|
33
|
+
throw new Error("Directory cannot be moved inside itself");
|
|
34
|
+
const s = await lstat(move.sourceTarget);
|
|
35
|
+
if (!s.isDirectory())
|
|
36
|
+
throw new Error("Path is not a directory");
|
|
37
|
+
await rename(move.sourceTarget, move.destinationTarget);
|
|
38
|
+
return { path: move.destinationRelativePath };
|
|
39
|
+
}
|
|
40
|
+
export async function deleteWorkspaceDirectory(rootPath, path) {
|
|
41
|
+
if (path === undefined || path === "")
|
|
42
|
+
throw new Error("path query parameter is required");
|
|
43
|
+
const { target, relativePath } = await resolveInsideWorkspace(rootPath, path);
|
|
44
|
+
const s = await lstat(target);
|
|
45
|
+
if (!s.isDirectory())
|
|
46
|
+
throw new Error("Path is not a directory");
|
|
47
|
+
await rmdir(target).catch((error) => {
|
|
48
|
+
if (isNodeErrorWithCode(error, "ENOTEMPTY") || isNodeErrorWithCode(error, "EEXIST"))
|
|
49
|
+
throw new Error("Directory is not empty");
|
|
50
|
+
throw error;
|
|
51
|
+
});
|
|
52
|
+
return { deleted: true, path: relativePath };
|
|
53
|
+
}
|
|
54
|
+
export async function readWorkspaceFileDownload(rootPath, path) {
|
|
55
|
+
if (path === undefined || path === "")
|
|
56
|
+
throw new Error("path query parameter is required");
|
|
57
|
+
const { target, relativePath } = await resolveInsideWorkspace(rootPath, path);
|
|
58
|
+
const s = await stat(target);
|
|
59
|
+
if (!s.isFile())
|
|
60
|
+
throw new Error("Path is not a file");
|
|
61
|
+
return {
|
|
62
|
+
path: relativePath,
|
|
63
|
+
filename: basename(relativePath),
|
|
64
|
+
size: s.size,
|
|
65
|
+
modifiedAt: s.mtime.toISOString(),
|
|
66
|
+
stream: createReadStream(target),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async function resolveMove(rootPath, input) {
|
|
70
|
+
if (!isMoveInput(input))
|
|
71
|
+
throw new Error("Move body must include fromPath and toPath");
|
|
72
|
+
const source = await resolveInsideWorkspace(rootPath, input.fromPath);
|
|
73
|
+
const destination = await resolveParentInsideWorkspace(rootPath, input.toPath);
|
|
74
|
+
if (source.relativePath === destination.relativePath)
|
|
75
|
+
throw new Error("Destination path must be different");
|
|
76
|
+
return {
|
|
77
|
+
sourceTarget: source.target,
|
|
78
|
+
sourceRelativePath: source.relativePath,
|
|
79
|
+
destinationTarget: destination.target,
|
|
80
|
+
destinationRelativePath: destination.relativePath,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function isPathInput(input) {
|
|
84
|
+
return typeof input === "object" && input !== null && typeof Reflect.get(input, "path") === "string";
|
|
85
|
+
}
|
|
86
|
+
function isMoveInput(input) {
|
|
87
|
+
return typeof input === "object"
|
|
88
|
+
&& input !== null
|
|
89
|
+
&& typeof Reflect.get(input, "fromPath") === "string"
|
|
90
|
+
&& typeof Reflect.get(input, "toPath") === "string";
|
|
91
|
+
}
|
|
92
|
+
function isNodeErrorWithCode(error, code) {
|
|
93
|
+
return typeof error === "object" && error !== null && "code" in error && error.code === code;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=fileOperationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileOperationService.js","sourceRoot":"","sources":["../../../src/server/workspaces/fileOperationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { stat, writeFile } from "node:fs/promises";
|
|
2
|
+
import { resolveParentInsideWorkspace } from "./pathSafety.js";
|
|
3
|
+
export async function uploadWorkspaceFile(rootPath, input) {
|
|
4
|
+
if (!isWorkspaceUploadInput(input))
|
|
5
|
+
throw new Error("Upload body must include path and contentBase64");
|
|
6
|
+
if (!isBase64Content(input.contentBase64))
|
|
7
|
+
throw new Error("contentBase64 must be valid base64");
|
|
8
|
+
const { target, relativePath } = await resolveParentInsideWorkspace(rootPath, input.path);
|
|
9
|
+
const buffer = Buffer.from(input.contentBase64, "base64");
|
|
10
|
+
await writeFile(target, buffer);
|
|
11
|
+
const s = await stat(target);
|
|
12
|
+
return { path: relativePath, size: s.size, modifiedAt: s.mtime.toISOString() };
|
|
13
|
+
}
|
|
14
|
+
function isWorkspaceUploadInput(input) {
|
|
15
|
+
return typeof input === "object"
|
|
16
|
+
&& input !== null
|
|
17
|
+
&& typeof Reflect.get(input, "path") === "string"
|
|
18
|
+
&& typeof Reflect.get(input, "contentBase64") === "string";
|
|
19
|
+
}
|
|
20
|
+
function isBase64Content(value) {
|
|
21
|
+
return value === "" || /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u.test(value);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=fileUploadService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUploadService.js","sourceRoot":"","sources":["../../../src/server/workspaces/fileUploadService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAO/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,KAA2B;IACrF,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACjG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,QAAQ;WAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,QAAQ,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,KAAK,EAAE,IAAI,mEAAmE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { workspaceDeletionMetadata } from "../../shared/workspaceDeletion.js";
|
|
2
|
+
import { SessionDaemonClient } from "../../sessiond/sessionDaemonClient.js";
|
|
3
|
+
import { encodeManagementContext, managementContextForRequest, managementToolAllowed, MANAGEMENT_EMBED_CONTEXT_HEADER, projectFromManagedEmbedContext, } from "../managementEmbed.js";
|
|
4
|
+
export function registerWorkspaceDeletionRoutes(app, projects, workspaces, daemon = new SessionDaemonClient(), prefix = "/api", managementEmbed) {
|
|
5
|
+
app.delete(`${prefix}/projects/:projectId/workspaces/:workspaceId`, async (request, reply) => {
|
|
6
|
+
try {
|
|
7
|
+
const managementContext = await managementContextForRequest(request, managementEmbed);
|
|
8
|
+
if (managementContext !== undefined && !managementToolAllowed(managementContext, "terminal-command-runs"))
|
|
9
|
+
return await reply.code(403).send({ error: "Terminal command runs are disabled in management embed mode" });
|
|
10
|
+
return await deleteWorkspace(projects, workspaces, daemon, request.params.projectId, request.params.workspaceId, managementEmbed, managementContext);
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async function deleteWorkspace(projects, workspaces, daemon, projectId, workspaceId, managementEmbed, managementContext) {
|
|
18
|
+
const project = managementContext === undefined
|
|
19
|
+
? await projects.requireProject(projectId)
|
|
20
|
+
: await projectFromManagedEmbedContext(managementProjectRoot(managementEmbed), managementContext, projectId);
|
|
21
|
+
const projectWorkspaces = await workspaces.list(project);
|
|
22
|
+
const targetWorkspace = projectWorkspaces.find((workspace) => workspace.id === workspaceId);
|
|
23
|
+
if (targetWorkspace === undefined)
|
|
24
|
+
throw new Error("Workspace not found");
|
|
25
|
+
if (!canDeleteWorkspace(targetWorkspace))
|
|
26
|
+
throw new Error("Only secondary Git worktrees can be deleted");
|
|
27
|
+
const commandWorkspace = projectWorkspaces.find((workspace) => workspace.isMain) ?? projectWorkspaces.find((workspace) => workspace.id !== targetWorkspace.id);
|
|
28
|
+
if (commandWorkspace === undefined)
|
|
29
|
+
throw new Error("Project main workspace not found");
|
|
30
|
+
const closeResponse = await requestJson(daemon, "DELETE", `/terminals?cwd=${encodeURIComponent(targetWorkspace.path)}`, undefined, managementHeaders(managementContext));
|
|
31
|
+
if (closeResponse.statusCode < 200 || closeResponse.statusCode >= 300)
|
|
32
|
+
throw new Error(`Failed to close workspace terminals: ${responseError(closeResponse.body, closeResponse.statusCode)}`);
|
|
33
|
+
const deleteResponse = await requestJson(daemon, "POST", "/terminal-command-runs", {
|
|
34
|
+
origin: "core",
|
|
35
|
+
projectId: project.id,
|
|
36
|
+
workspaceId: commandWorkspace.id,
|
|
37
|
+
cwd: commandWorkspace.path,
|
|
38
|
+
title: `Delete workspace: ${workspaceLabel(targetWorkspace)}`,
|
|
39
|
+
command: `git worktree remove ${shellQuote(targetWorkspace.path)}`,
|
|
40
|
+
metadata: workspaceDeletionMetadata(targetWorkspace),
|
|
41
|
+
}, managementHeaders(managementContext));
|
|
42
|
+
if (deleteResponse.statusCode < 200 || deleteResponse.statusCode >= 300)
|
|
43
|
+
throw new Error(`Failed to start workspace deletion: ${responseError(deleteResponse.body, deleteResponse.statusCode)}`);
|
|
44
|
+
return parseTerminalCommandRun(deleteResponse.body);
|
|
45
|
+
}
|
|
46
|
+
function canDeleteWorkspace(workspace) {
|
|
47
|
+
return workspace.isGitWorktree && !workspace.isMain;
|
|
48
|
+
}
|
|
49
|
+
function workspaceLabel(workspace) {
|
|
50
|
+
return workspace.branch ?? workspace.label;
|
|
51
|
+
}
|
|
52
|
+
async function requestJson(daemon, method, path, body, headers) {
|
|
53
|
+
const response = await daemon.request(method, path, body, headers);
|
|
54
|
+
return { statusCode: response.statusCode, body: response.body === "" ? undefined : JSON.parse(response.body) };
|
|
55
|
+
}
|
|
56
|
+
function managementHeaders(context) {
|
|
57
|
+
return context === undefined ? undefined : { [MANAGEMENT_EMBED_CONTEXT_HEADER]: encodeManagementContext(context) };
|
|
58
|
+
}
|
|
59
|
+
function managementProjectRoot(managementEmbed) {
|
|
60
|
+
if (managementEmbed === undefined)
|
|
61
|
+
throw new Error("Management embed mode is not configured");
|
|
62
|
+
return managementEmbed.projectRoot;
|
|
63
|
+
}
|
|
64
|
+
function responseError(body, statusCode) {
|
|
65
|
+
if (isRecord(body) && typeof body["error"] === "string")
|
|
66
|
+
return body["error"];
|
|
67
|
+
return `HTTP ${String(statusCode)}`;
|
|
68
|
+
}
|
|
69
|
+
function parseTerminalCommandRun(value) {
|
|
70
|
+
if (!isRecord(value))
|
|
71
|
+
throw new Error("Invalid terminal command run response");
|
|
72
|
+
const metadata = value["metadata"];
|
|
73
|
+
if (!isRecord(metadata))
|
|
74
|
+
throw new Error("Invalid terminal command run response");
|
|
75
|
+
const startedAt = optionalString(value, "startedAt");
|
|
76
|
+
const exitCode = optionalNumber(value, "exitCode");
|
|
77
|
+
const completedAt = optionalString(value, "completedAt");
|
|
78
|
+
return {
|
|
79
|
+
id: requireString(value, "id"),
|
|
80
|
+
origin: requireString(value, "origin"),
|
|
81
|
+
projectId: requireString(value, "projectId"),
|
|
82
|
+
workspaceId: requireString(value, "workspaceId"),
|
|
83
|
+
terminalId: requireString(value, "terminalId"),
|
|
84
|
+
title: requireString(value, "title"),
|
|
85
|
+
command: requireString(value, "command"),
|
|
86
|
+
status: parseStatus(value["status"]),
|
|
87
|
+
createdAt: requireString(value, "createdAt"),
|
|
88
|
+
metadata: Object.fromEntries(Object.entries(metadata).filter((entry) => typeof entry[1] === "string")),
|
|
89
|
+
...(startedAt === undefined ? {} : { startedAt }),
|
|
90
|
+
...(exitCode === undefined ? {} : { exitCode }),
|
|
91
|
+
...(completedAt === undefined ? {} : { completedAt }),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function parseStatus(value) {
|
|
95
|
+
if (value === "queued" || value === "running" || value === "succeeded" || value === "failed")
|
|
96
|
+
return value;
|
|
97
|
+
throw new Error("Invalid terminal command run response");
|
|
98
|
+
}
|
|
99
|
+
function requireString(record, field) {
|
|
100
|
+
const value = record[field];
|
|
101
|
+
if (typeof value !== "string")
|
|
102
|
+
throw new Error("Invalid terminal command run response");
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
105
|
+
function optionalString(record, field) {
|
|
106
|
+
const value = record[field];
|
|
107
|
+
if (value === undefined)
|
|
108
|
+
return undefined;
|
|
109
|
+
if (typeof value !== "string")
|
|
110
|
+
throw new Error("Invalid terminal command run response");
|
|
111
|
+
return value;
|
|
112
|
+
}
|
|
113
|
+
function optionalNumber(record, field) {
|
|
114
|
+
const value = record[field];
|
|
115
|
+
if (value === undefined)
|
|
116
|
+
return undefined;
|
|
117
|
+
if (typeof value !== "number")
|
|
118
|
+
throw new Error("Invalid terminal command run response");
|
|
119
|
+
return value;
|
|
120
|
+
}
|
|
121
|
+
function shellQuote(value) {
|
|
122
|
+
return `'${value.replaceAll("'", "'\\''")}'`;
|
|
123
|
+
}
|
|
124
|
+
function isRecord(value) {
|
|
125
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=workspaceDeletionRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceDeletionRoutes.js","sourceRoot":"","sources":["../../../src/server/workspaces/workspaceDeletionRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -244,6 +244,18 @@ export interface FileContentResponse {
|
|
|
244
244
|
truncated: boolean;
|
|
245
245
|
binary: boolean;
|
|
246
246
|
}
|
|
247
|
+
export interface WorkspaceUploadResponse {
|
|
248
|
+
path: string;
|
|
249
|
+
size: number;
|
|
250
|
+
modifiedAt: string;
|
|
251
|
+
}
|
|
252
|
+
export interface WorkspacePathOperationResponse {
|
|
253
|
+
path: string;
|
|
254
|
+
}
|
|
255
|
+
export interface WorkspaceDeleteResponse {
|
|
256
|
+
deleted: true;
|
|
257
|
+
path: string;
|
|
258
|
+
}
|
|
247
259
|
export type GitFileState = "unmodified" | "modified" | "added" | "deleted" | "renamed" | "copied" | "untracked" | "ignored" | "conflicted";
|
|
248
260
|
export interface GitStatusFile {
|
|
249
261
|
path: string;
|
|
@@ -4,13 +4,22 @@ export const FEDERATED_HTTP_ROUTES = [
|
|
|
4
4
|
{ method: "DELETE", path: "/projects/:projectId" },
|
|
5
5
|
{ method: "GET", path: "/project-directories" },
|
|
6
6
|
{ method: "GET", path: "/projects/:projectId/workspaces" },
|
|
7
|
+
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId" },
|
|
7
8
|
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/tree" },
|
|
8
9
|
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/file" },
|
|
10
|
+
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/file" },
|
|
11
|
+
{ method: "PATCH", path: "/projects/:projectId/workspaces/:workspaceId/file" },
|
|
12
|
+
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId/file" },
|
|
13
|
+
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/file/download" },
|
|
9
14
|
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/file/preview" },
|
|
15
|
+
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/directory" },
|
|
16
|
+
{ method: "PATCH", path: "/projects/:projectId/workspaces/:workspaceId/directory" },
|
|
17
|
+
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId/directory" },
|
|
10
18
|
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/git/status" },
|
|
11
19
|
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/git/diff" },
|
|
12
20
|
{ method: "GET", path: "/projects/:projectId/workspaces/:workspaceId/terminals" },
|
|
13
21
|
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/terminals" },
|
|
22
|
+
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId/terminals" },
|
|
14
23
|
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/terminals/:terminalId/continue" },
|
|
15
24
|
{ method: "DELETE", path: "/projects/:projectId/workspaces/:workspaceId/terminals/:terminalId" },
|
|
16
25
|
{ method: "POST", path: "/projects/:projectId/workspaces/:workspaceId/terminal-command-runs" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federatedRoutes.js","sourceRoot":"","sources":["../../src/shared/federatedRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"federatedRoutes.js","sourceRoot":"","sources":["../../src/shared/federatedRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { isPiWebPluginId } from "./pluginIds.js";
|
|
2
|
+
const MACHINE_PLUGIN_ID_PREFIX = "machine.";
|
|
3
|
+
export function machineScopedPluginId(machineId, pluginId) {
|
|
4
|
+
if (machineId === "")
|
|
5
|
+
throw new Error("Machine id is required");
|
|
6
|
+
if (!isPiWebPluginId(pluginId))
|
|
7
|
+
throw new Error(`Invalid PI WEB plugin id: ${pluginId}`);
|
|
8
|
+
return `${MACHINE_PLUGIN_ID_PREFIX}${stringToHex(machineId)}.${pluginId}`;
|
|
9
|
+
}
|
|
10
|
+
export function parseMachineScopedPluginId(pluginId) {
|
|
11
|
+
if (!pluginId.startsWith(MACHINE_PLUGIN_ID_PREFIX))
|
|
12
|
+
return undefined;
|
|
13
|
+
const rest = pluginId.slice(MACHINE_PLUGIN_ID_PREFIX.length);
|
|
14
|
+
const separator = rest.indexOf(".");
|
|
15
|
+
if (separator < 1)
|
|
16
|
+
return undefined;
|
|
17
|
+
const encodedMachineId = rest.slice(0, separator);
|
|
18
|
+
const sourcePluginId = rest.slice(separator + 1);
|
|
19
|
+
if (!isHexString(encodedMachineId) || !isPiWebPluginId(sourcePluginId))
|
|
20
|
+
return undefined;
|
|
21
|
+
const machineId = hexToString(encodedMachineId);
|
|
22
|
+
if (machineId === "")
|
|
23
|
+
return undefined;
|
|
24
|
+
return { machineId, pluginId: sourcePluginId };
|
|
25
|
+
}
|
|
26
|
+
function stringToHex(value) {
|
|
27
|
+
return [...new TextEncoder().encode(value)]
|
|
28
|
+
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
29
|
+
.join("");
|
|
30
|
+
}
|
|
31
|
+
function hexToString(value) {
|
|
32
|
+
const bytes = new Uint8Array(value.length / 2);
|
|
33
|
+
for (let index = 0; index < value.length; index += 2) {
|
|
34
|
+
bytes[index / 2] = Number.parseInt(value.slice(index, index + 2), 16);
|
|
35
|
+
}
|
|
36
|
+
return new TextDecoder().decode(bytes);
|
|
37
|
+
}
|
|
38
|
+
function isHexString(value) {
|
|
39
|
+
return value.length > 0 && value.length % 2 === 0 && /^[0-9a-f]+$/u.test(value);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=machinePluginIds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machinePluginIds.js","sourceRoot":"","sources":["../../src/shared/machinePluginIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAO5C,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,QAAgB;IACvE,IAAI,SAAS,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,wBAAwB,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzF,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const workspaceDeleteOperation = "workspace.delete";
|
|
2
|
+
export const workspaceDeleteOperationMetadataKey = "pi.operation";
|
|
3
|
+
export const targetWorkspaceIdMetadataKey = "target.workspaceId";
|
|
4
|
+
export const targetWorkspacePathMetadataKey = "target.workspacePath";
|
|
5
|
+
export function workspaceDeletionMetadata(workspace) {
|
|
6
|
+
return {
|
|
7
|
+
[workspaceDeleteOperationMetadataKey]: workspaceDeleteOperation,
|
|
8
|
+
[targetWorkspaceIdMetadataKey]: workspace.id,
|
|
9
|
+
[targetWorkspacePathMetadataKey]: workspace.path,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=workspaceDeletion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceDeletion.js","sourceRoot":"","sources":["../../src/shared/workspaceDeletion.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,mCAAmC,GAAG,cAAc,CAAC;AAClE,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAOrE,MAAM,UAAU,yBAAyB,CAAC,SAAkC;IAC1E,OAAO;QACL,CAAC,mCAAmC,CAAC,EAAE,wBAAwB;QAC/D,CAAC,4BAA4B,CAAC,EAAE,SAAS,CAAC,EAAE;QAC5C,CAAC,8BAA8B,CAAC,EAAE,SAAS,CAAC,IAAI;KACjD,CAAC;AACJ,CAAC"}
|