pi-forge 1.3.6 → 1.4.0

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.
Files changed (91) hide show
  1. package/README.md +1 -1
  2. package/dist/client/assets/{CodeMirrorEditor-BH6J6WhM.js → CodeMirrorEditor-UkZexOVi.js} +2 -2
  3. package/dist/client/assets/{CodeMirrorEditor-BH6J6WhM.js.map → CodeMirrorEditor-UkZexOVi.js.map} +1 -1
  4. package/dist/client/assets/index-BIo72Bz6.css +1 -0
  5. package/dist/client/assets/{index-bJJrpg1R.js → index-BnOWCOqe.js} +83 -82
  6. package/dist/client/assets/index-BnOWCOqe.js.map +1 -0
  7. package/dist/client/index.html +2 -2
  8. package/dist/client/sw.js +1 -1
  9. package/dist/client/sw.js.map +1 -1
  10. package/dist/server/agent-bash-operations.js +49 -0
  11. package/dist/server/agent-bash-operations.js.map +1 -0
  12. package/dist/server/agent-tool-overrides.js +98 -0
  13. package/dist/server/agent-tool-overrides.js.map +1 -0
  14. package/dist/server/agent-tool-policy.js +104 -0
  15. package/dist/server/agent-tool-policy.js.map +1 -0
  16. package/dist/server/cli.js +168 -2
  17. package/dist/server/cli.js.map +1 -1
  18. package/dist/server/config.js +99 -5
  19. package/dist/server/config.js.map +1 -1
  20. package/dist/server/extensions-discovery.js +7 -0
  21. package/dist/server/extensions-discovery.js.map +1 -1
  22. package/dist/server/file-references.js +11 -5
  23. package/dist/server/file-references.js.map +1 -1
  24. package/dist/server/git-clone.js +17 -2
  25. package/dist/server/git-clone.js.map +1 -1
  26. package/dist/server/git-runner.js +58 -3
  27. package/dist/server/git-runner.js.map +1 -1
  28. package/dist/server/index.js +2 -0
  29. package/dist/server/index.js.map +1 -1
  30. package/dist/server/ldap-auth.js +103 -0
  31. package/dist/server/ldap-auth.js.map +1 -0
  32. package/dist/server/lifecycle-notifications.js +44 -0
  33. package/dist/server/lifecycle-notifications.js.map +1 -0
  34. package/dist/server/mcp/manager.js +20 -0
  35. package/dist/server/mcp/manager.js.map +1 -1
  36. package/dist/server/mcp/tool-bridge.js +48 -13
  37. package/dist/server/mcp/tool-bridge.js.map +1 -1
  38. package/dist/server/orchestration/config.js +10 -36
  39. package/dist/server/orchestration/config.js.map +1 -1
  40. package/dist/server/orchestration/event-bridge.js +69 -28
  41. package/dist/server/orchestration/event-bridge.js.map +1 -1
  42. package/dist/server/orchestration/inbox.js +157 -124
  43. package/dist/server/orchestration/inbox.js.map +1 -1
  44. package/dist/server/orchestration/init.js +1 -1
  45. package/dist/server/orchestration/store.js +44 -4
  46. package/dist/server/orchestration/store.js.map +1 -1
  47. package/dist/server/orchestration/tools.js +35 -118
  48. package/dist/server/orchestration/tools.js.map +1 -1
  49. package/dist/server/orchestration/types.js +8 -4
  50. package/dist/server/orchestration/types.js.map +1 -1
  51. package/dist/server/orchestration/worker-lifecycle.js +1 -1
  52. package/dist/server/orchestration/worker-lifecycle.js.map +1 -1
  53. package/dist/server/processes/manager.js +2 -0
  54. package/dist/server/processes/manager.js.map +1 -1
  55. package/dist/server/processes/tool.js +4 -1
  56. package/dist/server/processes/tool.js.map +1 -1
  57. package/dist/server/pty-manager.js +4 -0
  58. package/dist/server/pty-manager.js.map +1 -1
  59. package/dist/server/routes/_schemas.js +6 -0
  60. package/dist/server/routes/_schemas.js.map +1 -1
  61. package/dist/server/routes/auth.js +31 -9
  62. package/dist/server/routes/auth.js.map +1 -1
  63. package/dist/server/routes/control.js +52 -13
  64. package/dist/server/routes/control.js.map +1 -1
  65. package/dist/server/routes/exec.js +2 -56
  66. package/dist/server/routes/exec.js.map +1 -1
  67. package/dist/server/routes/git.js +38 -4
  68. package/dist/server/routes/git.js.map +1 -1
  69. package/dist/server/routes/health.js +3 -4
  70. package/dist/server/routes/health.js.map +1 -1
  71. package/dist/server/routes/orchestration.js +31 -7
  72. package/dist/server/routes/orchestration.js.map +1 -1
  73. package/dist/server/routes/projects.js +3 -1
  74. package/dist/server/routes/projects.js.map +1 -1
  75. package/dist/server/routes/prompt.js +40 -2
  76. package/dist/server/routes/prompt.js.map +1 -1
  77. package/dist/server/routes/quick-actions.js +2 -0
  78. package/dist/server/routes/quick-actions.js.map +1 -1
  79. package/dist/server/routes/sessions.js +110 -5
  80. package/dist/server/routes/sessions.js.map +1 -1
  81. package/dist/server/routes/stream.js +77 -2
  82. package/dist/server/routes/stream.js.map +1 -1
  83. package/dist/server/session-registry.js +173 -41
  84. package/dist/server/session-registry.js.map +1 -1
  85. package/dist/server/sse-bridge.js +39 -29
  86. package/dist/server/sse-bridge.js.map +1 -1
  87. package/dist/server/subagents-external.js +319 -0
  88. package/dist/server/subagents-external.js.map +1 -0
  89. package/package.json +2 -1
  90. package/dist/client/assets/index-BszHzUYE.css +0 -1
  91. package/dist/client/assets/index-bJJrpg1R.js.map +0 -1
@@ -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";
@@ -21,6 +22,7 @@ import { createOrchestrationTools } 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 { getExternalSubagentStatusForSession } from "./subagents-external.js";
24
26
  export class SessionNotFoundError extends Error {
25
27
  constructor(id) {
26
28
  super(`session not found: ${id}`);
@@ -38,6 +40,12 @@ export class EntryNotFoundError extends Error {
38
40
  this.name = "EntryNotFoundError";
39
41
  }
40
42
  }
43
+ export class ExternalSubagentActiveError extends Error {
44
+ constructor(id) {
45
+ super(`external subagent is active: ${id}`);
46
+ this.name = "ExternalSubagentActiveError";
47
+ }
48
+ }
41
49
  const registry = new Map();
42
50
  /**
43
51
  * Built-in pi tools we activate on every session. Pi's SDK ships
@@ -153,6 +161,16 @@ function logAgentEvent(level, payload) {
153
161
  // so `docker logs | jq` still works.
154
162
  process.stderr.write(`${JSON.stringify({ level, time: new Date().toISOString(), ...payload })}\n`);
155
163
  }
164
+ function isCodexProvider(provider) {
165
+ return provider === "openai-codex";
166
+ }
167
+ export function shouldSuppressCodexProviderErrorFromWebUi(provider, errorMessage) {
168
+ if (!isCodexProvider(provider))
169
+ return false;
170
+ if (errorMessage === undefined || errorMessage === "")
171
+ return false;
172
+ return /provider_transport_failure|websocket.*1006|1006.*websocket/i.test(errorMessage);
173
+ }
156
174
  /**
157
175
  * Walk the session's messages newest-to-oldest and return the first
158
176
  * assistant message that ended with `stopReason="error"` (capturing
@@ -211,20 +229,28 @@ function makeSubscribeHandler(live) {
211
229
  type: e.type,
212
230
  });
213
231
  }
232
+ let outboundEvent = event;
214
233
  if (e.type === "message_end") {
215
234
  const msg = e.message;
216
235
  if (msg?.role === "assistant" &&
217
236
  (msg.stopReason === "error" || msg.stopReason === "aborted")) {
218
237
  const modelInfo = typeof msg.model === "object" ? msg.model : undefined;
238
+ const provider = msg.provider ?? modelInfo?.provider ?? live.session.model?.provider;
219
239
  logAgentEvent("warn", {
220
240
  msg: "agent turn ended with error stopReason",
221
241
  sessionId: live.sessionId,
222
242
  projectId: live.projectId,
223
243
  stopReason: msg.stopReason,
224
244
  errorMessage: msg.errorMessage,
225
- provider: msg.provider ?? modelInfo?.provider,
226
- modelId: msg.modelId ?? modelInfo?.id,
245
+ provider,
246
+ modelId: msg.modelId ?? modelInfo?.id ?? live.session.model?.id,
227
247
  });
248
+ if (shouldSuppressCodexProviderErrorFromWebUi(provider, msg.errorMessage)) {
249
+ outboundEvent = {
250
+ ...event,
251
+ message: { ...msg, errorMessage: undefined },
252
+ };
253
+ }
228
254
  }
229
255
  }
230
256
  if (e.type === "auto_retry_start") {
@@ -252,7 +278,6 @@ function makeSubscribeHandler(live) {
252
278
  // enrichment, a context-overflow / 401 / 5xx ends up emitting an
253
279
  // `agent_end` with no detail, the chat UI hides its spinner with
254
280
  // no error banner, and the user sees an empty assistant message.
255
- let outboundEvent = event;
256
281
  if (e.type === "agent_end") {
257
282
  // Primary: session-level `errorMessage` — the SDK's
258
283
  // documented authoritative field. Most failure modes set
@@ -285,16 +310,28 @@ function makeSubscribeHandler(live) {
285
310
  errorMessage: errMsg,
286
311
  });
287
312
  }
313
+ const provider = live.session.model?.provider;
288
314
  if (errMsg !== undefined && errMsg !== "") {
289
- // Forward a merged event that includes the error detail. Cast
290
- // through unknown — the SDK's union doesn't declare an
291
- // errorMessage field on agent_end (it expects callers to read
292
- // session.errorMessage themselves), but the wire shape is what
293
- // the browser consumes and it tolerates the extra field.
294
- outboundEvent = {
295
- ...event,
296
- errorMessage: errMsg,
297
- };
315
+ if (shouldSuppressCodexProviderErrorFromWebUi(provider, errMsg)) {
316
+ logAgentEvent("warn", {
317
+ msg: "suppressing Codex provider error from web UI",
318
+ sessionId: live.sessionId,
319
+ projectId: live.projectId,
320
+ provider,
321
+ errorMessage: errMsg,
322
+ });
323
+ }
324
+ else {
325
+ // Forward a merged event that includes the error detail. Cast
326
+ // through unknown — the SDK's union doesn't declare an
327
+ // errorMessage field on agent_end (it expects callers to read
328
+ // session.errorMessage themselves), but the wire shape is what
329
+ // the browser consumes and it tolerates the extra field.
330
+ outboundEvent = {
331
+ ...event,
332
+ errorMessage: errMsg,
333
+ };
334
+ }
298
335
  }
299
336
  else if (verbose) {
300
337
  logAgentEvent("info", {
@@ -357,18 +394,16 @@ function makeSubscribeHandler(live) {
357
394
  // dispatch returns immediately after queueing the per-target
358
395
  // POSTs and retries happen in the background.
359
396
  bridgeAgentSessionEvent({ sessionId: live.sessionId, projectId: live.projectId, session: live.session }, event);
360
- // Orchestration fan-out. Filters internally for agent_end and
361
- // failed auto_retry_end; routes worker events to the owning
362
- // supervisor's inbox (no-op for non-worker sessions). Separate
363
- // call from the webhook bridge so the two systems stay
364
- // independent — disabling one doesn't affect the other.
397
+ // Orchestration fan-out. Filters internally for worker lifecycle
398
+ // events and routes them to the owning supervisor as custom
399
+ // notifications (no-op for non-worker sessions). Separate call
400
+ // from the webhook bridge so the two systems stay independent —
401
+ // disabling one doesn't affect the other.
365
402
  void bridgeWorkerAgentEvent({ sessionId: live.sessionId, session: live.session }, event);
366
- // Supervisor-side wake-up recovery: when a supervisor's own
367
- // agent_end fires (i.e. it just became idle), check whether
368
- // any inbox items piled up during the just-finished turn and
369
- // re-fire the wake-up nudge. Covers the case where the
370
- // supervisor LLM finished a turn without calling
371
- // orchestrate_read_inbox.
403
+ // Supervisor-side notification recovery: when a supervisor's own
404
+ // agent_end fires (i.e. it just became idle), check whether any
405
+ // important worker updates piled up during the just-finished turn
406
+ // and re-fire the notification nudge if needed.
372
407
  if (e.type === "agent_end") {
373
408
  void (async () => {
374
409
  try {
@@ -386,7 +421,7 @@ function makeSubscribeHandler(live) {
386
421
  /**
387
422
  * Resolve the orchestration tools for a given session. Returns the
388
423
  * empty array when:
389
- * - the instance-level orchestration flag is off (env or
424
+ * - instance-level orchestration is disabled (config or
390
425
  * MINIMAL_UI gate), OR
391
426
  * - the session isn't a registered supervisor.
392
427
  *
@@ -404,12 +439,17 @@ async function resolveOrchestrationTools(sessionId) {
404
439
  }
405
440
  catch {
406
441
  // If the store is unreadable, skip — orchestration is
407
- // experimental + opt-in; a missing/corrupt file should not
442
+ // feature-gated; a missing/corrupt file should not
408
443
  // break session creation.
409
444
  return [];
410
445
  }
411
446
  return createOrchestrationTools(sessionId);
412
447
  }
448
+ function applyAgentToolSandbox(workspacePath, customTools) {
449
+ if (!config.agentToolSandbox.enabled)
450
+ return [...customTools];
451
+ return [...customTools, ...createSandboxedToolDefinitions(workspacePath)];
452
+ }
413
453
  export async function createSession(projectId, workspacePath) {
414
454
  const dir = await ensureSessionDir(projectId);
415
455
  const sessionManager = SessionManager.create(workspacePath, dir);
@@ -436,6 +476,7 @@ export async function createSession(projectId, workspacePath) {
436
476
  processTool,
437
477
  ...orchestrationTools,
438
478
  ];
479
+ const effectiveCustomTools = applyAgentToolSandbox(workspacePath, customTools);
439
480
  const settingsManager = await buildSessionSettingsManager(workspacePath, projectId);
440
481
  const resourceLoader = await buildForgeResourceLoader(workspacePath, config.piConfigDir, settingsManager, projectId);
441
482
  const { session } = await createAgentSession({
@@ -444,8 +485,8 @@ export async function createSession(projectId, workspacePath) {
444
485
  settingsManager,
445
486
  resourceLoader,
446
487
  agentDir: config.piConfigDir,
447
- customTools,
448
- tools: await buildToolsAllowlist(customTools, projectId, workspacePath),
488
+ customTools: effectiveCustomTools,
489
+ tools: await buildToolsAllowlist(effectiveCustomTools, projectId, workspacePath),
449
490
  });
450
491
  const now = new Date();
451
492
  // Build the LiveSession in two passes so unsubscribe is the real handle by
@@ -567,7 +608,51 @@ function getForkLock(sessionId) {
567
608
  * Concurrent calls for the same sessionId share a single in-flight
568
609
  * AgentSession creation — see resumeInflight.
569
610
  */
611
+ async function externallyActiveDiscoveredSession(sessionId, projectId, workspacePath) {
612
+ const discovered = await discoverSessionsOnDisk(projectId, workspacePath);
613
+ const match = discovered.find((s) => s.sessionId === sessionId);
614
+ if (match === undefined)
615
+ return undefined;
616
+ const external = await getExternalSubagentStatusForSession({
617
+ runId: match.runId,
618
+ path: match.path,
619
+ });
620
+ return external?.isExternalLive === true ? match : undefined;
621
+ }
622
+ function detachExternallyActiveLiveSession(sessionId) {
623
+ const live = registry.get(sessionId);
624
+ if (live === undefined)
625
+ return;
626
+ // Do NOT call disposeSession(), AgentSession.abort(), AgentSession.dispose(),
627
+ // or processManager.disposeSession() here. If pi-subagents is already running
628
+ // this child externally, pi-forge must stop managing its in-memory view without
629
+ // sending any lifecycle signal that could abort/kill the external execution.
630
+ try {
631
+ live.unsubscribe();
632
+ }
633
+ catch {
634
+ // ignore
635
+ }
636
+ for (const client of live.clients) {
637
+ try {
638
+ client.close();
639
+ }
640
+ catch {
641
+ // ignore
642
+ }
643
+ }
644
+ live.clients.clear();
645
+ registry.delete(sessionId);
646
+ }
647
+ export async function rejectOrDisposeExternallyActiveSession(sessionId, projectId, workspacePath) {
648
+ const match = await externallyActiveDiscoveredSession(sessionId, projectId, workspacePath);
649
+ if (match === undefined)
650
+ return;
651
+ detachExternallyActiveLiveSession(sessionId);
652
+ throw new ExternalSubagentActiveError(sessionId);
653
+ }
570
654
  export async function resumeSession(sessionId, projectId, workspacePath) {
655
+ await rejectOrDisposeExternallyActiveSession(sessionId, projectId, workspacePath);
571
656
  const existing = registry.get(sessionId);
572
657
  if (existing)
573
658
  return existing;
@@ -579,6 +664,7 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
579
664
  return resumeInflight(sessionId, async () => {
580
665
  // Re-check after lock acquisition: another resume may have raced
581
666
  // ahead and populated the registry while we were queued.
667
+ await rejectOrDisposeExternallyActiveSession(sessionId, projectId, workspacePath);
582
668
  const raced = registry.get(sessionId);
583
669
  if (raced)
584
670
  return raced;
@@ -612,6 +698,13 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
612
698
  path: match.path,
613
699
  parentSessionId: match.parentSessionId,
614
700
  }) + "\n");
701
+ const external = await getExternalSubagentStatusForSession({
702
+ runId: match.runId,
703
+ path: match.path,
704
+ });
705
+ if (external?.isExternalLive === true) {
706
+ throw new ExternalSubagentActiveError(sessionId);
707
+ }
615
708
  // For child sessions, hand SessionManager.open the *child's* run
616
709
  // dir as the sessionDir so any subsequent file operations the SDK
617
710
  // performs land alongside the existing JSONL rather than in the
@@ -631,6 +724,7 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
631
724
  processTool,
632
725
  ...orchestrationTools,
633
726
  ];
727
+ const effectiveCustomTools = applyAgentToolSandbox(workspacePath, customTools);
634
728
  // Resumed session — refresh the todo cache from the branch so
635
729
  // the UI panel sees the persisted state on first SSE connect,
636
730
  // not an empty list.
@@ -643,8 +737,8 @@ export async function resumeSession(sessionId, projectId, workspacePath) {
643
737
  settingsManager,
644
738
  resourceLoader,
645
739
  agentDir: config.piConfigDir,
646
- customTools,
647
- tools: await buildToolsAllowlist(customTools, projectId, workspacePath),
740
+ customTools: effectiveCustomTools,
741
+ tools: await buildToolsAllowlist(effectiveCustomTools, projectId, workspacePath),
648
742
  });
649
743
  const now = new Date();
650
744
  const live = {
@@ -1103,6 +1197,11 @@ export async function listSessionsForProject(projectId, workspacePath) {
1103
1197
  merged.parentSessionId = d.parentSessionId;
1104
1198
  if (d.runId !== undefined)
1105
1199
  merged.runId = d.runId;
1200
+ const external = await getExternalSubagentStatusForSession({ runId: d.runId, path: d.path });
1201
+ if (external !== undefined) {
1202
+ merged.externalState = external.state;
1203
+ merged.isExternalLive = external.isExternalLive;
1204
+ }
1106
1205
  merged.path = d.path;
1107
1206
  continue;
1108
1207
  }
@@ -1122,6 +1221,11 @@ export async function listSessionsForProject(projectId, workspacePath) {
1122
1221
  u.parentSessionId = d.parentSessionId;
1123
1222
  if (d.runId !== undefined)
1124
1223
  u.runId = d.runId;
1224
+ const external = await getExternalSubagentStatusForSession({ runId: d.runId, path: d.path });
1225
+ if (external !== undefined) {
1226
+ u.externalState = external.state;
1227
+ u.isExternalLive = external.isExternalLive;
1228
+ }
1125
1229
  liveById.set(d.sessionId, u);
1126
1230
  }
1127
1231
  // Orchestration workers are ordinary top-level pi sessions on disk, with
@@ -1202,12 +1306,13 @@ export async function findSessionLocation(sessionId) {
1202
1306
  * receive projectId in the URL (the stream route specifically).
1203
1307
  */
1204
1308
  export async function resumeSessionById(sessionId) {
1205
- const existing = registry.get(sessionId);
1206
- if (existing)
1207
- return existing;
1208
1309
  const loc = await findSessionLocation(sessionId);
1209
1310
  if (loc === undefined)
1210
1311
  throw new SessionNotFoundError(sessionId);
1312
+ await rejectOrDisposeExternallyActiveSession(sessionId, loc.projectId, loc.workspacePath);
1313
+ const existing = registry.get(sessionId);
1314
+ if (existing)
1315
+ return existing;
1211
1316
  return resumeSession(sessionId, loc.projectId, loc.workspacePath);
1212
1317
  }
1213
1318
  /**
@@ -1283,6 +1388,7 @@ async function forkSessionLocked(sessionId, entryId) {
1283
1388
  processTool,
1284
1389
  ...orchestrationTools,
1285
1390
  ];
1391
+ const effectiveCustomTools = applyAgentToolSandbox(source.workspacePath, customTools);
1286
1392
  // Forked session — replay the branch (which now belongs to the
1287
1393
  // fork) so the new session's todo cache reflects the inherited
1288
1394
  // state, not the parent's stale entry.
@@ -1295,8 +1401,8 @@ async function forkSessionLocked(sessionId, entryId) {
1295
1401
  settingsManager,
1296
1402
  resourceLoader,
1297
1403
  agentDir: config.piConfigDir,
1298
- customTools,
1299
- tools: await buildToolsAllowlist(customTools, source.projectId, source.workspacePath),
1404
+ customTools: effectiveCustomTools,
1405
+ tools: await buildToolsAllowlist(effectiveCustomTools, source.projectId, source.workspacePath),
1300
1406
  });
1301
1407
  const now = new Date();
1302
1408
  const live = {
@@ -1362,6 +1468,7 @@ async function forkSessionLocked(sessionId, entryId) {
1362
1468
  restoredProcessTool,
1363
1469
  ...restoredOrchestrationTools,
1364
1470
  ];
1471
+ const restoredEffectiveCustomTools = applyAgentToolSandbox(source.workspacePath, restoredCustomTools);
1365
1472
  // Re-derive the original source's todo cache from the (now
1366
1473
  // un-mutated) source JSONL — the SDK's fork machinery left
1367
1474
  // the cache pointing at fork state.
@@ -1374,8 +1481,8 @@ async function forkSessionLocked(sessionId, entryId) {
1374
1481
  settingsManager: restoredSettingsManager,
1375
1482
  resourceLoader: restoredResourceLoader,
1376
1483
  agentDir: config.piConfigDir,
1377
- customTools: restoredCustomTools,
1378
- tools: await buildToolsAllowlist(restoredCustomTools, source.projectId, source.workspacePath),
1484
+ customTools: restoredEffectiveCustomTools,
1485
+ tools: await buildToolsAllowlist(restoredEffectiveCustomTools, source.projectId, source.workspacePath),
1379
1486
  });
1380
1487
  // Mutate the existing LiveSession in place rather than
1381
1488
  // replacing the registry entry — any SSE client holding a
@@ -1482,6 +1589,7 @@ export async function rebuildAgentSessionForTools(sessionId) {
1482
1589
  processTool,
1483
1590
  ...orchestrationTools,
1484
1591
  ];
1592
+ const effectiveCustomTools = applyAgentToolSandbox(live.workspacePath, customTools);
1485
1593
  const settingsManager = await buildSessionSettingsManager(live.workspacePath, live.projectId);
1486
1594
  const resourceLoader = await buildForgeResourceLoader(live.workspacePath, config.piConfigDir, settingsManager, live.projectId);
1487
1595
  const { session: newSession } = await createAgentSession({
@@ -1490,8 +1598,8 @@ export async function rebuildAgentSessionForTools(sessionId) {
1490
1598
  settingsManager,
1491
1599
  resourceLoader,
1492
1600
  agentDir: config.piConfigDir,
1493
- customTools,
1494
- tools: await buildToolsAllowlist(customTools, live.projectId, live.workspacePath),
1601
+ customTools: effectiveCustomTools,
1602
+ tools: await buildToolsAllowlist(effectiveCustomTools, live.projectId, live.workspacePath),
1495
1603
  });
1496
1604
  // Drop the old AgentSession only AFTER the new one is constructed
1497
1605
  // — if createAgentSession throws, we still have a working session.
@@ -1545,13 +1653,32 @@ export async function disposeAllSessions() {
1545
1653
  * patterns to the user skills dir and project patterns to the project
1546
1654
  * skills dir; injecting into one would only filter half the discovery.
1547
1655
  */
1656
+ function isPiSubagentsPackageSource(source) {
1657
+ return source.includes("pi-subagents");
1658
+ }
1659
+ function packageSourceValue(pkg) {
1660
+ return typeof pkg === "string" ? pkg : pkg.source;
1661
+ }
1662
+ function filterSandboxDisabledPackages(packages) {
1663
+ const current = packages ?? [];
1664
+ if (!config.agentToolSandbox.enabled)
1665
+ return current;
1666
+ return current.filter((pkg) => !isPiSubagentsPackageSource(packageSourceValue(pkg)));
1667
+ }
1668
+ function filterSandboxDisabledExtensions(extensions) {
1669
+ const current = extensions ?? [];
1670
+ if (!config.agentToolSandbox.enabled)
1671
+ return current;
1672
+ return current.filter((ext) => !isPiSubagentsPackageSource(ext));
1673
+ }
1548
1674
  async function buildSessionSettingsManager(workspacePath, projectId) {
1549
1675
  const sm = SettingsManager.create(workspacePath, config.piConfigDir);
1550
1676
  const [skillPatterns, promptPatterns] = await Promise.all([
1551
1677
  effectiveSkillsForProject(projectId),
1552
1678
  effectivePromptsForProject(projectId),
1553
1679
  ]);
1554
- if (skillPatterns.length === 0 && promptPatterns.length === 0)
1680
+ const shouldPatch = skillPatterns.length > 0 || promptPatterns.length > 0 || config.agentToolSandbox.enabled;
1681
+ if (!shouldPatch)
1555
1682
  return sm;
1556
1683
  const origGlobal = sm.getGlobalSettings.bind(sm);
1557
1684
  const origProject = sm.getProjectSettings.bind(sm);
@@ -1561,12 +1688,17 @@ async function buildSessionSettingsManager(workspacePath, projectId) {
1561
1688
  const mergePrompts = (existing) => promptPatterns.length === 0
1562
1689
  ? (existing ?? [])
1563
1690
  : Array.from(new Set([...(existing ?? []), ...promptPatterns]));
1691
+ const applySandboxPackageFilters = (s) => ({
1692
+ ...s,
1693
+ packages: filterSandboxDisabledPackages(s.packages),
1694
+ extensions: filterSandboxDisabledExtensions(s.extensions),
1695
+ });
1564
1696
  sm.getGlobalSettings = () => {
1565
- const s = origGlobal();
1697
+ const s = applySandboxPackageFilters(origGlobal());
1566
1698
  return { ...s, skills: mergeSkills(s.skills), prompts: mergePrompts(s.prompts) };
1567
1699
  };
1568
1700
  sm.getProjectSettings = () => {
1569
- const s = origProject();
1701
+ const s = applySandboxPackageFilters(origProject());
1570
1702
  return { ...s, skills: mergeSkills(s.skills), prompts: mergePrompts(s.prompts) };
1571
1703
  };
1572
1704
  return sm;
@@ -1 +1 @@
1
- {"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../src/session-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../src/session-registry.ts"],"names":[],"mappings":"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"}