pi-forge 1.3.7 → 1.4.1
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-BklpCqAo.js → CodeMirrorEditor-BKehanxR.js} +2 -2
- package/dist/client/assets/{CodeMirrorEditor-BklpCqAo.js.map → CodeMirrorEditor-BKehanxR.js.map} +1 -1
- package/dist/client/assets/{index-EU82nCUh.js → index-D-IMqeDN.js} +85 -85
- package/dist/client/assets/index-D-IMqeDN.js.map +1 -0
- package/dist/client/assets/index-wuI9CXVb.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-bash-operations.js +50 -0
- package/dist/server/agent-bash-operations.js.map +1 -0
- package/dist/server/agent-tool-overrides.js +98 -0
- package/dist/server/agent-tool-overrides.js.map +1 -0
- package/dist/server/agent-tool-policy.js +104 -0
- package/dist/server/agent-tool-policy.js.map +1 -0
- package/dist/server/cli.js +54 -1
- package/dist/server/cli.js.map +1 -1
- package/dist/server/config.js +38 -2
- package/dist/server/config.js.map +1 -1
- package/dist/server/extensions-discovery.js +7 -0
- package/dist/server/extensions-discovery.js.map +1 -1
- package/dist/server/file-manager.js +1 -1
- package/dist/server/file-manager.js.map +1 -1
- package/dist/server/file-references.js +11 -5
- package/dist/server/file-references.js.map +1 -1
- package/dist/server/git-clone.js +17 -2
- package/dist/server/git-clone.js.map +1 -1
- package/dist/server/git-runner.js +77 -6
- package/dist/server/git-runner.js.map +1 -1
- package/dist/server/mcp/manager.js +20 -0
- package/dist/server/mcp/manager.js.map +1 -1
- package/dist/server/mcp/tool-bridge.js +36 -5
- package/dist/server/mcp/tool-bridge.js.map +1 -1
- package/dist/server/processes/manager.js +4 -1
- package/dist/server/processes/manager.js.map +1 -1
- package/dist/server/processes/tool.js +8 -4
- package/dist/server/processes/tool.js.map +1 -1
- package/dist/server/pty-manager.js +4 -0
- package/dist/server/pty-manager.js.map +1 -1
- package/dist/server/routes/config.js +73 -0
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/exec.js +2 -56
- package/dist/server/routes/exec.js.map +1 -1
- package/dist/server/routes/files.js +6 -7
- package/dist/server/routes/files.js.map +1 -1
- package/dist/server/routes/git.js +44 -9
- package/dist/server/routes/git.js.map +1 -1
- package/dist/server/routes/projects.js +3 -1
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/routes/prompt.js +19 -3
- package/dist/server/routes/prompt.js.map +1 -1
- package/dist/server/routes/quick-actions.js +2 -0
- package/dist/server/routes/quick-actions.js.map +1 -1
- package/dist/server/routes/terminal.js +20 -15
- package/dist/server/routes/terminal.js.map +1 -1
- package/dist/server/sandbox-settings.js +82 -0
- package/dist/server/sandbox-settings.js.map +1 -0
- package/dist/server/session-registry.js +113 -26
- package/dist/server/session-registry.js.map +1 -1
- package/dist/server/session-title.js +93 -0
- package/dist/server/session-title.js.map +1 -0
- package/dist/server/sse-bridge.js +12 -1
- package/dist/server/sse-bridge.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/index-CfPBiBJW.css +0 -1
- package/dist/client/assets/index-EU82nCUh.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
+
import { sandboxSpawnIdentity } from "../agent-bash-operations.js";
|
|
2
3
|
import { config } from "../config.js";
|
|
3
4
|
import { getProject } from "../project-manager.js";
|
|
4
5
|
import { scrubbedEnv } from "../pty-manager.js";
|
|
@@ -109,6 +110,7 @@ async function runCommand(command, cwd, timeoutMs) {
|
|
|
109
110
|
cwd,
|
|
110
111
|
env: scrubbedEnv(),
|
|
111
112
|
stdio: ["ignore", "pipe", "pipe"],
|
|
113
|
+
...sandboxSpawnIdentity(),
|
|
112
114
|
});
|
|
113
115
|
const stdoutChunks = [];
|
|
114
116
|
const stderrChunks = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-actions.js","sourceRoot":"","sources":["../../src/routes/quick-actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quick-actions.js","sourceRoot":"","sources":["../../src/routes/quick-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { stat } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { extractBearer, verifyApiKey, verifyToken } from "../auth.js";
|
|
4
|
-
import { authEnabled } from "../config.js";
|
|
4
|
+
import { authEnabled, config } from "../config.js";
|
|
5
5
|
import { getProject } from "../project-manager.js";
|
|
6
6
|
import { attachSink, findPtyByTabId, killPty, spawnPty } from "../pty-manager.js";
|
|
7
7
|
/**
|
|
@@ -282,20 +282,24 @@ export const terminalRoutes = async (fastify) => {
|
|
|
282
282
|
// wasn't generating output would fall over with no diagnostic,
|
|
283
283
|
// forcing the client into its reconnect loop. SSE has its own
|
|
284
284
|
// heartbeat (see sse-bridge.ts:HEARTBEAT_CADENCE_MS); the
|
|
285
|
-
// terminal WS had nothing equivalent until now.
|
|
286
|
-
// under the common proxy default;
|
|
287
|
-
// not exposed to xterm, so the user
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
285
|
+
// terminal WS had nothing equivalent until now. The default
|
|
286
|
+
// 30s cadence is comfortably under the common proxy default;
|
|
287
|
+
// RFC-standard ping/pong is not exposed to xterm, so the user
|
|
288
|
+
// sees nothing.
|
|
289
|
+
const keepAliveTimer = config.terminalWsKeepaliveMs > 0
|
|
290
|
+
? setInterval(() => {
|
|
291
|
+
if (socket.readyState === socket.OPEN) {
|
|
292
|
+
try {
|
|
293
|
+
socket.ping();
|
|
294
|
+
}
|
|
295
|
+
catch {
|
|
296
|
+
// Socket about to close — ignore, the close handler
|
|
297
|
+
// clears the timer below.
|
|
298
|
+
}
|
|
296
299
|
}
|
|
297
|
-
}
|
|
298
|
-
|
|
300
|
+
}, config.terminalWsKeepaliveMs)
|
|
301
|
+
: undefined;
|
|
302
|
+
keepAliveTimer?.unref();
|
|
299
303
|
// The shell really exiting (user typed `exit`, kill -9, etc.)
|
|
300
304
|
// is a terminal-state event distinct from a transient WS
|
|
301
305
|
// drop: there's nothing to reattach to. Close the socket so
|
|
@@ -311,7 +315,8 @@ export const terminalRoutes = async (fastify) => {
|
|
|
311
315
|
if (disposed)
|
|
312
316
|
return;
|
|
313
317
|
disposed = true;
|
|
314
|
-
|
|
318
|
+
if (keepAliveTimer !== undefined)
|
|
319
|
+
clearInterval(keepAliveTimer);
|
|
315
320
|
detach();
|
|
316
321
|
exitDisposable.dispose();
|
|
317
322
|
if (killOnClose) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/routes/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AA2BlC,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,YAAY,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,gEAAgE;IAChE,kEAAkE;IAClE,mEAAmE;IACnE,oEAAoE;IACpE,+CAA+C;IAC/C,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,eAAe,EAAE,CAAC;QAC9F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;QAC7D,yDAAyD;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,IACE,GAAG,CAAC,IAAI,KAAK,QAAQ;QACrB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,GAAG,CAAC,IAAI,GAAG,CAAC;QACZ,GAAG,CAAC,IAAI,GAAG,CAAC;QACZ,GAAG,CAAC,IAAI,IAAI,IAAI;QAChB,GAAG,CAAC,IAAI,IAAI,IAAI,EAChB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAEpE;;;;;;;;GAQG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,GAAG,eAAe,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,MAAM,EAAE;gBAAE,OAAO,GAAG,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,GAAmB;IACpC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,UAAU,GACd,OAAQ,GAAG,CAAC,KAAyC,EAAE,KAAK,KAAK,QAAQ;QACvE,CAAC,CAAE,GAAG,CAAC,KAA2B,CAAC,KAAK;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GAAG,WAAW,IAAI,UAAU,CAAC;IAC5C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,mEAAmE;IACnE,iEAAiE;IACjE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAuB,KAAK,EAAE,OAAO,EAAE,EAAE;IAClE,OAAO,CAAC,GAAG,CACT,WAAW,EACX;QACE,gEAAgE;QAChE,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,0DAA0D;QAC1D,4DAA4D;QAC5D,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;QACxE,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,+DAA+D;YAC/D,0DAA0D;YAC1D,WAAW,EACT,6DAA6D;gBAC7D,4DAA4D;gBAC5D,oDAAoD;gBACpD,qCAAqC;gBACrC,8DAA8D;gBAC9D,8DAA8D;YAChE,IAAI,EAAE,CAAC,UAAU,CAAC;YAClB,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,WAAW,CAAC;gBACvB,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBAC3C,wDAAwD;oBACxD,mDAAmD;oBACnD,wDAAwD;oBACxD,yDAAyD;oBACzD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;oBACvD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;SACF;KACF,EACD,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACpB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,gEAAgE;QAChE,2DAA2D;QAC3D,6DAA6D;QAC7D,qDAAqD;QACrD,2DAA2D;QAC3D,2DAA2D;QAC3D,6DAA6D;QAC7D,0DAA0D;QAC1D,2CAA2C;QAC3C,IAAI,CAAC;YACH,uDAAuD;YACvD,0DAA0D;YAC1D,2DAA2D;YAC3D,wDAAwD;YACxD,iBAAiB;YACjB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,4DAA4D;QAC5D,2DAA2D;QAC3D,uDAAuD;QACvD,4DAA4D;QAC5D,UAAU;QACV,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACvC,IAAI,OAAgD,CAAC;QACrD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,GAAG,QAAQ,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,GAAG,QAAQ,CAAC;oBACjB,GAAG,EAAE,OAAO,CAAC,IAAI;oBACjB,KAAK,EAAE,cAAc,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;oBACzD,SAAS,EAAE,OAAO,CAAC,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,EAC7E,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CACvD,CAAC;QAEF,gEAAgE;QAChE,gEAAgE;QAChE,iEAAiE;QACjE,gEAAgE;QAChE,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,uCAAuC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,IAAI,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,4DAA4D;oBAC5D,wDAAwD;oBACxD,8BAA8B;oBAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,iCAAiC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,sDAAsD;QACtD,yDAAyD;QACzD,0DAA0D;QAC1D,sDAAsD;QACtD,EAAE;QACF,8DAA8D;QAC9D,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,0CAA0C;QAC1C,MAAM,eAAe,GAAG,GAAS,EAAE;YACjC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBACjF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CACvB,OAAO,CAAC,KAAK,EACb,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBACtC,wDAAwD;gBACxD,yDAAyD;gBACzD,0DAA0D;gBAC1D,sDAAsD;gBACtD,2DAA2D;gBAC3D,yDAAyD;gBACzD,wDAAwD;gBACxD,+BAA+B;gBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,EACD,SAAS,EACT,eAAe,CAChB,CAAC;QACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,iCAAiC,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,uDAAuD;QACvD,+DAA+D;QAC/D,4DAA4D;QAC5D,+DAA+D;QAC/D,8DAA8D;QAC9D,0DAA0D;QAC1D,gEAAgE;QAChE,4DAA4D;QAC5D,kDAAkD;QAClD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,oDAAoD;oBACpD,0BAA0B;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,8DAA8D;QAC9D,yDAAyD;QACzD,4DAA4D;QAC5D,qDAAqD;QACrD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACrE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;gBACjF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,WAAW,GAAG,KAAK,EAAQ,EAAE;YAC5D,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC;YACT,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC;gBAChB,4DAA4D;gBAC5D,0DAA0D;gBAC1D,0DAA0D;gBAC1D,wDAAwD;gBACxD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBACpF,OAAO;YACT,CAAC;YACD,gEAAgE;YAChE,gEAAgE;YAChE,iEAAiE;YACjE,wBAAwB;YACxB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACxF,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAsB,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAC9B,2DAA2D;YAC3D,0DAA0D;YAC1D,6DAA6D;YAC7D,4DAA4D;YAC5D,6DAA6D;YAC7D,yDAAyD;YACzD,yCAAyC;YACzC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,kCAAkC,CAAC,CAAC;oBAC5E,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBACtC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;oBACvC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBACtC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;YACnD,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACpE,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/routes/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { config } from "./config.js";
|
|
5
|
+
import { makeLock } from "./concurrency.js";
|
|
6
|
+
const SANDBOX_SETTINGS_FILE = () => join(config.forgeDataDir, "sandbox-settings.json");
|
|
7
|
+
const ENV_NAME_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
8
|
+
const MAX_ENV_VARS = 100;
|
|
9
|
+
const MAX_ENV_VALUE_BYTES = 16 * 1024;
|
|
10
|
+
const lock = makeLock();
|
|
11
|
+
async function ensureDataDir() {
|
|
12
|
+
await mkdir(config.forgeDataDir, { recursive: true });
|
|
13
|
+
}
|
|
14
|
+
async function atomicWriteJson(path, data) {
|
|
15
|
+
await ensureDataDir();
|
|
16
|
+
const tmp = `${path}.${randomUUID()}.tmp`;
|
|
17
|
+
await writeFile(tmp, JSON.stringify(data, null, 2), "utf8");
|
|
18
|
+
try {
|
|
19
|
+
await rename(tmp, path);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
await unlink(tmp).catch(() => undefined);
|
|
23
|
+
throw err;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function normalizeToolEnv(input) {
|
|
27
|
+
if (typeof input !== "object" || input === null || Array.isArray(input))
|
|
28
|
+
return {};
|
|
29
|
+
const out = {};
|
|
30
|
+
for (const [name, value] of Object.entries(input)) {
|
|
31
|
+
if (!ENV_NAME_RE.test(name))
|
|
32
|
+
continue;
|
|
33
|
+
if (typeof value !== "string")
|
|
34
|
+
continue;
|
|
35
|
+
if (Buffer.byteLength(value, "utf8") > MAX_ENV_VALUE_BYTES)
|
|
36
|
+
continue;
|
|
37
|
+
out[name] = value;
|
|
38
|
+
if (Object.keys(out).length >= MAX_ENV_VARS)
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
export function validateSandboxToolEnv(input) {
|
|
44
|
+
const entries = Object.entries(input);
|
|
45
|
+
if (entries.length > MAX_ENV_VARS) {
|
|
46
|
+
throw new Error(`too many environment variables (max ${MAX_ENV_VARS})`);
|
|
47
|
+
}
|
|
48
|
+
const out = {};
|
|
49
|
+
for (const [name, value] of entries) {
|
|
50
|
+
if (!ENV_NAME_RE.test(name)) {
|
|
51
|
+
throw new Error(`invalid environment variable name: ${name}`);
|
|
52
|
+
}
|
|
53
|
+
if (Buffer.byteLength(value, "utf8") > MAX_ENV_VALUE_BYTES) {
|
|
54
|
+
throw new Error(`environment variable ${name} exceeds ${MAX_ENV_VALUE_BYTES} bytes`);
|
|
55
|
+
}
|
|
56
|
+
out[name] = value;
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
export async function readSandboxSettings() {
|
|
61
|
+
return lock(async () => {
|
|
62
|
+
try {
|
|
63
|
+
const raw = await readFile(SANDBOX_SETTINGS_FILE(), "utf8");
|
|
64
|
+
const parsed = JSON.parse(raw);
|
|
65
|
+
return { toolEnv: normalizeToolEnv(parsed.toolEnv) };
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
if (err.code === "ENOENT")
|
|
69
|
+
return { toolEnv: {} };
|
|
70
|
+
throw err;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
export async function writeSandboxSettings(settings) {
|
|
75
|
+
const safe = { toolEnv: validateSandboxToolEnv(settings.toolEnv) };
|
|
76
|
+
await lock(async () => atomicWriteJson(SANDBOX_SETTINGS_FILE(), safe));
|
|
77
|
+
return safe;
|
|
78
|
+
}
|
|
79
|
+
export function mergeToolEnv(base, toolEnv) {
|
|
80
|
+
return { ...base, ...toolEnv };
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=sandbox-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-settings.js","sourceRoot":"","sources":["../src/sandbox-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { mkdir, readdir } from "node:fs/promises";
|
|
|
2
2
|
import { basename, dirname, join } from "node:path";
|
|
3
3
|
import { createAgentSession, SessionManager, SettingsManager, } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
import { buildForgeResourceLoader } from "./agent-resource-loader.js";
|
|
5
|
+
import { createSandboxedToolDefinitions } from "./agent-tool-overrides.js";
|
|
5
6
|
import { config } from "./config.js";
|
|
6
7
|
import { makeDedupe, makeLock } from "./concurrency.js";
|
|
7
8
|
import { effectivePromptsForProject, effectiveSkillsForProject } from "./config-manager.js";
|
|
@@ -17,11 +18,13 @@ import { processManager } from "./processes/manager.js";
|
|
|
17
18
|
import { bridgeAgentSessionEvent, bridgeSessionCreated } from "./webhooks/event-bridge.js";
|
|
18
19
|
import { isOrchestrationEnabled } from "./orchestration/config.js";
|
|
19
20
|
import { isSupervisor, readStore } from "./orchestration/store.js";
|
|
20
|
-
import { createOrchestrationTools } from "./orchestration/tools.js";
|
|
21
|
+
import { createOrchestrationTools, ORCHESTRATION_TOOL_NAMES } from "./orchestration/tools.js";
|
|
21
22
|
import { bridgeWorkerAgentEvent } from "./orchestration/event-bridge.js";
|
|
22
23
|
import { notifySupervisorDisposed, notifySupervisorIdle } from "./orchestration/inbox.js";
|
|
23
24
|
import { archiveSessionFiles } from "./session-archive.js";
|
|
25
|
+
import { generateSessionTitleFromPrompt, isGenericSessionName } from "./session-title.js";
|
|
24
26
|
import { getExternalSubagentStatusForSession } from "./subagents-external.js";
|
|
27
|
+
import { readSandboxSettings } from "./sandbox-settings.js";
|
|
25
28
|
export class SessionNotFoundError extends Error {
|
|
26
29
|
constructor(id) {
|
|
27
30
|
super(`session not found: ${id}`);
|
|
@@ -104,16 +107,24 @@ export const BUILTIN_TOOL_NAMES = [
|
|
|
104
107
|
async function buildToolsAllowlist(customTools, projectId, workspacePath) {
|
|
105
108
|
const overrides = await readToolOverrides();
|
|
106
109
|
// Pi extensions register tools programmatically — those names are
|
|
107
|
-
// invisible to BUILTIN_TOOL_NAMES and to `customTools` (which
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
//
|
|
110
|
+
// invisible to BUILTIN_TOOL_NAMES and to `customTools` (which covers
|
|
111
|
+
// MCP plus forge-native custom tools like ask_user_question, process,
|
|
112
|
+
// todo, and supervisor-only orchestrate_*). Without enumerating
|
|
113
|
+
// extensions here, the strict-allowlist semantics in the SDK's
|
|
114
|
+
// `_refreshToolRegistry` would silently drop every extension-
|
|
115
|
+
// contributed tool. See packages/server/src/extensions-discovery.ts
|
|
116
|
+
// for the discovery contract.
|
|
113
117
|
const extensionResources = await discoverExtensionResources(workspacePath);
|
|
118
|
+
const forgeNativeCustomToolNames = new Set([
|
|
119
|
+
...BUILTIN_TOOL_NAMES,
|
|
120
|
+
...ORCHESTRATION_TOOL_NAMES,
|
|
121
|
+
]);
|
|
114
122
|
const candidates = [
|
|
115
123
|
...BUILTIN_TOOL_NAMES.map((name) => ({ family: "builtin", name })),
|
|
116
|
-
...customTools.map((t) => ({
|
|
124
|
+
...customTools.map((t) => ({
|
|
125
|
+
family: forgeNativeCustomToolNames.has(t.name) ? "builtin" : "mcp",
|
|
126
|
+
name: t.name,
|
|
127
|
+
})),
|
|
117
128
|
...extensionResources.tools.map((t) => ({ family: "extension", name: t.name })),
|
|
118
129
|
];
|
|
119
130
|
return filterEnabledTools(overrides, projectId, candidates);
|
|
@@ -444,6 +455,11 @@ async function resolveOrchestrationTools(sessionId) {
|
|
|
444
455
|
}
|
|
445
456
|
return createOrchestrationTools(sessionId);
|
|
446
457
|
}
|
|
458
|
+
function applyAgentToolSandbox(workspacePath, customTools, toolEnv) {
|
|
459
|
+
if (!config.agentToolSandbox.enabled)
|
|
460
|
+
return [...customTools];
|
|
461
|
+
return [...customTools, ...createSandboxedToolDefinitions(workspacePath, toolEnv)];
|
|
462
|
+
}
|
|
447
463
|
export async function createSession(projectId, workspacePath) {
|
|
448
464
|
const dir = await ensureSessionDir(projectId);
|
|
449
465
|
const sessionManager = SessionManager.create(workspacePath, dir);
|
|
@@ -459,9 +475,10 @@ export async function createSession(projectId, workspacePath) {
|
|
|
459
475
|
// create() onward — read it BEFORE createAgentSession so the
|
|
460
476
|
// forge-native ask_user_question tool can bind to the right
|
|
461
477
|
// session in its execute() closure.
|
|
478
|
+
const toolEnv = (await readSandboxSettings()).toolEnv;
|
|
462
479
|
const askTool = createAskUserQuestionTool(sessionManager.getSessionId());
|
|
463
480
|
const todoTool = createTodoTool(sessionManager.getSessionId(), sessionManager);
|
|
464
|
-
const processTool = createProcessTool(sessionManager.getSessionId(), workspacePath);
|
|
481
|
+
const processTool = createProcessTool(sessionManager.getSessionId(), workspacePath, toolEnv);
|
|
465
482
|
const orchestrationTools = await resolveOrchestrationTools(sessionManager.getSessionId());
|
|
466
483
|
const customTools = [
|
|
467
484
|
...mcpTools,
|
|
@@ -470,6 +487,7 @@ export async function createSession(projectId, workspacePath) {
|
|
|
470
487
|
processTool,
|
|
471
488
|
...orchestrationTools,
|
|
472
489
|
];
|
|
490
|
+
const effectiveCustomTools = applyAgentToolSandbox(workspacePath, customTools, toolEnv);
|
|
473
491
|
const settingsManager = await buildSessionSettingsManager(workspacePath, projectId);
|
|
474
492
|
const resourceLoader = await buildForgeResourceLoader(workspacePath, config.piConfigDir, settingsManager, projectId);
|
|
475
493
|
const { session } = await createAgentSession({
|
|
@@ -478,8 +496,8 @@ export async function createSession(projectId, workspacePath) {
|
|
|
478
496
|
settingsManager,
|
|
479
497
|
resourceLoader,
|
|
480
498
|
agentDir: config.piConfigDir,
|
|
481
|
-
customTools,
|
|
482
|
-
tools: await buildToolsAllowlist(
|
|
499
|
+
customTools: effectiveCustomTools,
|
|
500
|
+
tools: await buildToolsAllowlist(effectiveCustomTools, projectId, workspacePath),
|
|
483
501
|
});
|
|
484
502
|
const now = new Date();
|
|
485
503
|
// Build the LiveSession in two passes so unsubscribe is the real handle by
|
|
@@ -553,6 +571,43 @@ export function touchSession(sessionId) {
|
|
|
553
571
|
if (live !== undefined)
|
|
554
572
|
live.lastActivityAt = new Date();
|
|
555
573
|
}
|
|
574
|
+
export function maybeNameSessionFromFirstPrompt(live, promptText) {
|
|
575
|
+
if (!isGenericSessionName(live.session.sessionName))
|
|
576
|
+
return undefined;
|
|
577
|
+
if (live.session.messages.some((message) => message.role === "user"))
|
|
578
|
+
return undefined;
|
|
579
|
+
const title = generateSessionTitleFromPrompt(promptText);
|
|
580
|
+
if (title === undefined)
|
|
581
|
+
return undefined;
|
|
582
|
+
try {
|
|
583
|
+
live.session.setSessionName(title);
|
|
584
|
+
}
|
|
585
|
+
catch (err) {
|
|
586
|
+
logAgentEvent("warn", {
|
|
587
|
+
msg: "failed to set automatic session name",
|
|
588
|
+
sessionId: live.sessionId,
|
|
589
|
+
projectId: live.projectId,
|
|
590
|
+
error: err instanceof Error ? err.message : String(err),
|
|
591
|
+
});
|
|
592
|
+
return undefined;
|
|
593
|
+
}
|
|
594
|
+
live.lastActivityAt = new Date();
|
|
595
|
+
const event = {
|
|
596
|
+
type: "session_renamed",
|
|
597
|
+
sessionId: live.sessionId,
|
|
598
|
+
projectId: live.projectId,
|
|
599
|
+
name: title,
|
|
600
|
+
};
|
|
601
|
+
for (const client of live.clients) {
|
|
602
|
+
try {
|
|
603
|
+
client.send(event);
|
|
604
|
+
}
|
|
605
|
+
catch {
|
|
606
|
+
live.clients.delete(client);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
return title;
|
|
610
|
+
}
|
|
556
611
|
/**
|
|
557
612
|
* In-flight dedupe for concurrent resumeSession calls on the same id.
|
|
558
613
|
* Without this, two near-simultaneous SSE connects (or the three concurrent
|
|
@@ -706,9 +761,10 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
|
|
|
706
761
|
const childSessionDir = match.parentSessionId !== undefined ? join(match.path, "..") : dir;
|
|
707
762
|
const sessionManager = SessionManager.open(match.path, childSessionDir, workspacePath);
|
|
708
763
|
const mcpTools = await resolveMcpCustomTools(projectId, workspacePath);
|
|
764
|
+
const toolEnv = (await readSandboxSettings()).toolEnv;
|
|
709
765
|
const askTool = createAskUserQuestionTool(sessionManager.getSessionId());
|
|
710
766
|
const todoTool = createTodoTool(sessionManager.getSessionId(), sessionManager);
|
|
711
|
-
const processTool = createProcessTool(sessionManager.getSessionId(), workspacePath);
|
|
767
|
+
const processTool = createProcessTool(sessionManager.getSessionId(), workspacePath, toolEnv);
|
|
712
768
|
const orchestrationTools = await resolveOrchestrationTools(sessionManager.getSessionId());
|
|
713
769
|
const customTools = [
|
|
714
770
|
...mcpTools,
|
|
@@ -717,6 +773,7 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
|
|
|
717
773
|
processTool,
|
|
718
774
|
...orchestrationTools,
|
|
719
775
|
];
|
|
776
|
+
const effectiveCustomTools = applyAgentToolSandbox(workspacePath, customTools, toolEnv);
|
|
720
777
|
// Resumed session — refresh the todo cache from the branch so
|
|
721
778
|
// the UI panel sees the persisted state on first SSE connect,
|
|
722
779
|
// not an empty list.
|
|
@@ -729,8 +786,8 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
|
|
|
729
786
|
settingsManager,
|
|
730
787
|
resourceLoader,
|
|
731
788
|
agentDir: config.piConfigDir,
|
|
732
|
-
customTools,
|
|
733
|
-
tools: await buildToolsAllowlist(
|
|
789
|
+
customTools: effectiveCustomTools,
|
|
790
|
+
tools: await buildToolsAllowlist(effectiveCustomTools, projectId, workspacePath),
|
|
734
791
|
});
|
|
735
792
|
const now = new Date();
|
|
736
793
|
const live = {
|
|
@@ -1369,9 +1426,10 @@ async function forkSessionLocked(sessionId, entryId) {
|
|
|
1369
1426
|
const dir = sessionDirFor(source.projectId);
|
|
1370
1427
|
const sessionManager = SessionManager.open(newPath, dir, source.workspacePath);
|
|
1371
1428
|
const mcpTools = await resolveMcpCustomTools(source.projectId, source.workspacePath);
|
|
1429
|
+
const toolEnv = (await readSandboxSettings()).toolEnv;
|
|
1372
1430
|
const askTool = createAskUserQuestionTool(sessionManager.getSessionId());
|
|
1373
1431
|
const todoTool = createTodoTool(sessionManager.getSessionId(), sessionManager);
|
|
1374
|
-
const processTool = createProcessTool(sessionManager.getSessionId(), source.workspacePath);
|
|
1432
|
+
const processTool = createProcessTool(sessionManager.getSessionId(), source.workspacePath, toolEnv);
|
|
1375
1433
|
const orchestrationTools = await resolveOrchestrationTools(sessionManager.getSessionId());
|
|
1376
1434
|
const customTools = [
|
|
1377
1435
|
...mcpTools,
|
|
@@ -1380,6 +1438,7 @@ async function forkSessionLocked(sessionId, entryId) {
|
|
|
1380
1438
|
processTool,
|
|
1381
1439
|
...orchestrationTools,
|
|
1382
1440
|
];
|
|
1441
|
+
const effectiveCustomTools = applyAgentToolSandbox(source.workspacePath, customTools, toolEnv);
|
|
1383
1442
|
// Forked session — replay the branch (which now belongs to the
|
|
1384
1443
|
// fork) so the new session's todo cache reflects the inherited
|
|
1385
1444
|
// state, not the parent's stale entry.
|
|
@@ -1392,8 +1451,8 @@ async function forkSessionLocked(sessionId, entryId) {
|
|
|
1392
1451
|
settingsManager,
|
|
1393
1452
|
resourceLoader,
|
|
1394
1453
|
agentDir: config.piConfigDir,
|
|
1395
|
-
customTools,
|
|
1396
|
-
tools: await buildToolsAllowlist(
|
|
1454
|
+
customTools: effectiveCustomTools,
|
|
1455
|
+
tools: await buildToolsAllowlist(effectiveCustomTools, source.projectId, source.workspacePath),
|
|
1397
1456
|
});
|
|
1398
1457
|
const now = new Date();
|
|
1399
1458
|
const live = {
|
|
@@ -1448,9 +1507,10 @@ async function forkSessionLocked(sessionId, entryId) {
|
|
|
1448
1507
|
source.unsubscribe();
|
|
1449
1508
|
const restoredManager = SessionManager.open(originalSourceFile, dir, source.workspacePath);
|
|
1450
1509
|
const restoredMcpTools = await resolveMcpCustomTools(source.projectId, source.workspacePath);
|
|
1510
|
+
const restoredToolEnv = (await readSandboxSettings()).toolEnv;
|
|
1451
1511
|
const restoredAskTool = createAskUserQuestionTool(restoredManager.getSessionId());
|
|
1452
1512
|
const restoredTodoTool = createTodoTool(restoredManager.getSessionId(), restoredManager);
|
|
1453
|
-
const restoredProcessTool = createProcessTool(restoredManager.getSessionId(), source.workspacePath);
|
|
1513
|
+
const restoredProcessTool = createProcessTool(restoredManager.getSessionId(), source.workspacePath, restoredToolEnv);
|
|
1454
1514
|
const restoredOrchestrationTools = await resolveOrchestrationTools(restoredManager.getSessionId());
|
|
1455
1515
|
const restoredCustomTools = [
|
|
1456
1516
|
...restoredMcpTools,
|
|
@@ -1459,6 +1519,7 @@ async function forkSessionLocked(sessionId, entryId) {
|
|
|
1459
1519
|
restoredProcessTool,
|
|
1460
1520
|
...restoredOrchestrationTools,
|
|
1461
1521
|
];
|
|
1522
|
+
const restoredEffectiveCustomTools = applyAgentToolSandbox(source.workspacePath, restoredCustomTools, restoredToolEnv);
|
|
1462
1523
|
// Re-derive the original source's todo cache from the (now
|
|
1463
1524
|
// un-mutated) source JSONL — the SDK's fork machinery left
|
|
1464
1525
|
// the cache pointing at fork state.
|
|
@@ -1471,8 +1532,8 @@ async function forkSessionLocked(sessionId, entryId) {
|
|
|
1471
1532
|
settingsManager: restoredSettingsManager,
|
|
1472
1533
|
resourceLoader: restoredResourceLoader,
|
|
1473
1534
|
agentDir: config.piConfigDir,
|
|
1474
|
-
customTools:
|
|
1475
|
-
tools: await buildToolsAllowlist(
|
|
1535
|
+
customTools: restoredEffectiveCustomTools,
|
|
1536
|
+
tools: await buildToolsAllowlist(restoredEffectiveCustomTools, source.projectId, source.workspacePath),
|
|
1476
1537
|
});
|
|
1477
1538
|
// Mutate the existing LiveSession in place rather than
|
|
1478
1539
|
// replacing the registry entry — any SSE client holding a
|
|
@@ -1568,9 +1629,10 @@ export async function rebuildAgentSessionForTools(sessionId) {
|
|
|
1568
1629
|
// file the SessionManager points at.
|
|
1569
1630
|
const sessionManager = live.session.sessionManager;
|
|
1570
1631
|
const mcpTools = await resolveMcpCustomTools(live.projectId, live.workspacePath);
|
|
1632
|
+
const toolEnv = (await readSandboxSettings()).toolEnv;
|
|
1571
1633
|
const askTool = createAskUserQuestionTool(sessionManager.getSessionId());
|
|
1572
1634
|
const todoTool = createTodoTool(sessionManager.getSessionId(), sessionManager);
|
|
1573
|
-
const processTool = createProcessTool(sessionManager.getSessionId(), live.workspacePath);
|
|
1635
|
+
const processTool = createProcessTool(sessionManager.getSessionId(), live.workspacePath, toolEnv);
|
|
1574
1636
|
const orchestrationTools = await resolveOrchestrationTools(sessionManager.getSessionId());
|
|
1575
1637
|
const customTools = [
|
|
1576
1638
|
...mcpTools,
|
|
@@ -1579,6 +1641,7 @@ export async function rebuildAgentSessionForTools(sessionId) {
|
|
|
1579
1641
|
processTool,
|
|
1580
1642
|
...orchestrationTools,
|
|
1581
1643
|
];
|
|
1644
|
+
const effectiveCustomTools = applyAgentToolSandbox(live.workspacePath, customTools, toolEnv);
|
|
1582
1645
|
const settingsManager = await buildSessionSettingsManager(live.workspacePath, live.projectId);
|
|
1583
1646
|
const resourceLoader = await buildForgeResourceLoader(live.workspacePath, config.piConfigDir, settingsManager, live.projectId);
|
|
1584
1647
|
const { session: newSession } = await createAgentSession({
|
|
@@ -1587,8 +1650,8 @@ export async function rebuildAgentSessionForTools(sessionId) {
|
|
|
1587
1650
|
settingsManager,
|
|
1588
1651
|
resourceLoader,
|
|
1589
1652
|
agentDir: config.piConfigDir,
|
|
1590
|
-
customTools,
|
|
1591
|
-
tools: await buildToolsAllowlist(
|
|
1653
|
+
customTools: effectiveCustomTools,
|
|
1654
|
+
tools: await buildToolsAllowlist(effectiveCustomTools, live.projectId, live.workspacePath),
|
|
1592
1655
|
});
|
|
1593
1656
|
// Drop the old AgentSession only AFTER the new one is constructed
|
|
1594
1657
|
// — if createAgentSession throws, we still have a working session.
|
|
@@ -1642,13 +1705,32 @@ export async function disposeAllSessions() {
|
|
|
1642
1705
|
* patterns to the user skills dir and project patterns to the project
|
|
1643
1706
|
* skills dir; injecting into one would only filter half the discovery.
|
|
1644
1707
|
*/
|
|
1708
|
+
function isPiSubagentsPackageSource(source) {
|
|
1709
|
+
return source.includes("pi-subagents");
|
|
1710
|
+
}
|
|
1711
|
+
function packageSourceValue(pkg) {
|
|
1712
|
+
return typeof pkg === "string" ? pkg : pkg.source;
|
|
1713
|
+
}
|
|
1714
|
+
function filterSandboxDisabledPackages(packages) {
|
|
1715
|
+
const current = packages ?? [];
|
|
1716
|
+
if (!config.agentToolSandbox.enabled)
|
|
1717
|
+
return current;
|
|
1718
|
+
return current.filter((pkg) => !isPiSubagentsPackageSource(packageSourceValue(pkg)));
|
|
1719
|
+
}
|
|
1720
|
+
function filterSandboxDisabledExtensions(extensions) {
|
|
1721
|
+
const current = extensions ?? [];
|
|
1722
|
+
if (!config.agentToolSandbox.enabled)
|
|
1723
|
+
return current;
|
|
1724
|
+
return current.filter((ext) => !isPiSubagentsPackageSource(ext));
|
|
1725
|
+
}
|
|
1645
1726
|
async function buildSessionSettingsManager(workspacePath, projectId) {
|
|
1646
1727
|
const sm = SettingsManager.create(workspacePath, config.piConfigDir);
|
|
1647
1728
|
const [skillPatterns, promptPatterns] = await Promise.all([
|
|
1648
1729
|
effectiveSkillsForProject(projectId),
|
|
1649
1730
|
effectivePromptsForProject(projectId),
|
|
1650
1731
|
]);
|
|
1651
|
-
|
|
1732
|
+
const shouldPatch = skillPatterns.length > 0 || promptPatterns.length > 0 || config.agentToolSandbox.enabled;
|
|
1733
|
+
if (!shouldPatch)
|
|
1652
1734
|
return sm;
|
|
1653
1735
|
const origGlobal = sm.getGlobalSettings.bind(sm);
|
|
1654
1736
|
const origProject = sm.getProjectSettings.bind(sm);
|
|
@@ -1658,12 +1740,17 @@ async function buildSessionSettingsManager(workspacePath, projectId) {
|
|
|
1658
1740
|
const mergePrompts = (existing) => promptPatterns.length === 0
|
|
1659
1741
|
? (existing ?? [])
|
|
1660
1742
|
: Array.from(new Set([...(existing ?? []), ...promptPatterns]));
|
|
1743
|
+
const applySandboxPackageFilters = (s) => ({
|
|
1744
|
+
...s,
|
|
1745
|
+
packages: filterSandboxDisabledPackages(s.packages),
|
|
1746
|
+
extensions: filterSandboxDisabledExtensions(s.extensions),
|
|
1747
|
+
});
|
|
1661
1748
|
sm.getGlobalSettings = () => {
|
|
1662
|
-
const s = origGlobal();
|
|
1749
|
+
const s = applySandboxPackageFilters(origGlobal());
|
|
1663
1750
|
return { ...s, skills: mergeSkills(s.skills), prompts: mergePrompts(s.prompts) };
|
|
1664
1751
|
};
|
|
1665
1752
|
sm.getProjectSettings = () => {
|
|
1666
|
-
const s = origProject();
|
|
1753
|
+
const s = applySandboxPackageFilters(origProject());
|
|
1667
1754
|
return { ...s, skills: mergeSkills(s.skills), prompts: mergePrompts(s.prompts) };
|
|
1668
1755
|
};
|
|
1669
1756
|
return sm;
|