pi-forge 1.4.5 → 1.4.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/{CodeMirrorEditor-BjMj50k4.js → CodeMirrorEditor-Bh9qbZER.js} +2 -2
- package/dist/client/assets/{CodeMirrorEditor-BjMj50k4.js.map → CodeMirrorEditor-Bh9qbZER.js.map} +1 -1
- package/dist/client/assets/{index-B6JMmroY.js → index-2HJdevJu.js} +10 -10
- package/dist/client/assets/index-2HJdevJu.js.map +1 -0
- package/dist/client/assets/index-CRmysLou.css +1 -0
- package/dist/client/index.html +2 -2
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.map +1 -1
- package/dist/server/agent-tool-overrides.js +13 -3
- package/dist/server/agent-tool-overrides.js.map +1 -1
- package/dist/server/auth.js +19 -1
- package/dist/server/auth.js.map +1 -1
- package/dist/server/cli.js +49 -1
- package/dist/server/cli.js.map +1 -1
- package/dist/server/config.js +38 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/file-manager.js +54 -51
- package/dist/server/file-manager.js.map +1 -1
- package/dist/server/git-clone.js +30 -8
- package/dist/server/git-clone.js.map +1 -1
- package/dist/server/git-runner.js +7 -1
- package/dist/server/git-runner.js.map +1 -1
- package/dist/server/index.js +43 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/logo-cache.js +174 -0
- package/dist/server/logo-cache.js.map +1 -0
- package/dist/server/mcp/config.js +31 -2
- package/dist/server/mcp/config.js.map +1 -1
- package/dist/server/mcp/manager.js +3 -2
- package/dist/server/mcp/manager.js.map +1 -1
- package/dist/server/mcp/tool-bridge.js +20 -3
- package/dist/server/mcp/tool-bridge.js.map +1 -1
- package/dist/server/project-manager.js +9 -0
- package/dist/server/project-manager.js.map +1 -1
- package/dist/server/routes/health.js +16 -1
- package/dist/server/routes/health.js.map +1 -1
- package/dist/server/routes/mcp.js +45 -11
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/sandbox-permissions.js +90 -0
- package/dist/server/sandbox-permissions.js.map +1 -0
- package/dist/server/sandbox-startup-permissions.js +11 -14
- package/dist/server/sandbox-startup-permissions.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/index-B6JMmroY.js.map +0 -1
- package/dist/client/assets/index-DLafQw4G.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-permissions.js","sourceRoot":"","sources":["../src/sandbox-permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { lstat, readdir } from "node:fs/promises";
|
|
2
2
|
import { relative, resolve, sep } from "node:path";
|
|
3
3
|
import { config } from "./config.js";
|
|
4
|
+
import { applySandboxPathHandoff, sandboxHandoffDescription } from "./sandbox-permissions.js";
|
|
4
5
|
const PI_CONFIG_RESOURCE_DIRS = ["skills", "npm", "git", "extensions", "prompts", "themes"];
|
|
5
6
|
function isSameOrInside(parent, candidate) {
|
|
6
7
|
const rel = relative(parent, candidate);
|
|
@@ -22,33 +23,29 @@ function assertAllowedSandboxChownPath(path) {
|
|
|
22
23
|
throw new Error(`sandbox startup chown path ${abs} is outside allowed roots. ` +
|
|
23
24
|
`Allowed roots: ${describeAllowedSandboxChownPaths()}`);
|
|
24
25
|
}
|
|
25
|
-
async function chownRecursiveNoFollow(path
|
|
26
|
+
async function chownRecursiveNoFollow(path) {
|
|
26
27
|
const st = await lstat(path);
|
|
27
28
|
if (st.isDirectory()) {
|
|
28
29
|
const entries = await readdir(path);
|
|
29
30
|
for (const entry of entries) {
|
|
30
|
-
await chownRecursiveNoFollow(resolve(path, entry)
|
|
31
|
+
await chownRecursiveNoFollow(resolve(path, entry));
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
return;
|
|
35
|
-
await lchown(path, uid, gid);
|
|
34
|
+
await applySandboxPathHandoff(path);
|
|
36
35
|
}
|
|
37
36
|
export async function applySandboxStartupChowns() {
|
|
38
|
-
const paths = config.agentToolSandbox.chownPaths;
|
|
39
|
-
if (paths.length === 0)
|
|
40
|
-
return;
|
|
41
37
|
if (!config.agentToolSandbox.enabled) {
|
|
42
|
-
|
|
38
|
+
if (config.agentToolSandbox.chownPaths.length > 0) {
|
|
39
|
+
console.warn("[sandbox-startup] AGENT_TOOL_SANDBOX_CHOWN_PATHS is set but sandbox mode is disabled; skipping chown");
|
|
40
|
+
}
|
|
43
41
|
return;
|
|
44
42
|
}
|
|
45
|
-
const
|
|
46
|
-
const gid = config.agentToolSandbox.gid;
|
|
43
|
+
const paths = [...new Set([config.workspacePath, ...config.agentToolSandbox.chownPaths])];
|
|
47
44
|
for (const path of paths) {
|
|
48
45
|
const abs = resolve(path);
|
|
49
46
|
assertAllowedSandboxChownPath(abs);
|
|
50
|
-
await chownRecursiveNoFollow(abs
|
|
51
|
-
console.log(`[sandbox-startup]
|
|
47
|
+
await chownRecursiveNoFollow(abs);
|
|
48
|
+
console.log(`[sandbox-startup] prepared ${abs} for sandbox handoff ${sandboxHandoffDescription()}`);
|
|
52
49
|
}
|
|
53
50
|
}
|
|
54
51
|
export const sandboxStartupPermissionsInternals = Object.freeze({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-startup-permissions.js","sourceRoot":"","sources":["../src/sandbox-startup-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sandbox-startup-permissions.js","sourceRoot":"","sources":["../src/sandbox-startup-permissions.ts"],"names":[],"mappings":"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"}
|