@tekmidian/pai 0.65.2 → 0.66.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 (54) hide show
  1. package/dist/{chain-CT3SI-3z.mjs → chain-D4PuQ2c-.mjs} +4 -4
  2. package/dist/{chain-CT3SI-3z.mjs.map → chain-D4PuQ2c-.mjs.map} +1 -1
  3. package/dist/cli/index.mjs +9 -9
  4. package/dist/cli/program.mjs +9 -9
  5. package/dist/{context-handover-cache-CRSFdkNi.mjs → context-handover-cache-pkHzmL3c.mjs} +3 -3
  6. package/dist/{context-handover-cache-CRSFdkNi.mjs.map → context-handover-cache-pkHzmL3c.mjs.map} +1 -1
  7. package/dist/daemon/index.mjs +7 -7
  8. package/dist/{daemon-SaPnmoyg.mjs → daemon-BEoVgVfJ.mjs} +9 -9
  9. package/dist/{daemon-SaPnmoyg.mjs.map → daemon-BEoVgVfJ.mjs.map} +1 -1
  10. package/dist/{daemon-DoTVK9z6.mjs → daemon-DPAYU9hp.mjs} +7 -7
  11. package/dist/daemon-mcp/index.mjs +6 -6
  12. package/dist/daemon-mcp/index.mjs.map +1 -1
  13. package/dist/{fallback-vHjFZP0Y.mjs → fallback-B5svk75f.mjs} +15 -7
  14. package/dist/fallback-B5svk75f.mjs.map +1 -0
  15. package/dist/hooks/block-sleep-poll.mjs.map +2 -2
  16. package/dist/hooks/load-project-context.mjs +16 -0
  17. package/dist/hooks/load-project-context.mjs.map +2 -2
  18. package/dist/hooks/route-agents-to-worker.mjs +16 -0
  19. package/dist/hooks/route-agents-to-worker.mjs.map +2 -2
  20. package/dist/hooks/security-validator.mjs +16 -0
  21. package/dist/hooks/security-validator.mjs.map +2 -2
  22. package/dist/hooks/worker-guard.mjs +10 -0
  23. package/dist/hooks/worker-guard.mjs.map +3 -3
  24. package/dist/hooks/worker-proxy.mjs +16 -0
  25. package/dist/hooks/worker-proxy.mjs.map +2 -2
  26. package/dist/hooks/worker-status-line.mjs +16 -0
  27. package/dist/hooks/worker-status-line.mjs.map +2 -2
  28. package/dist/hooks/worker-supervision.mjs +16 -0
  29. package/dist/hooks/worker-supervision.mjs.map +2 -2
  30. package/dist/{main-resolver-VSM5ytnA.mjs → main-resolver-BKz_OuEh.mjs} +2 -2
  31. package/dist/{main-resolver-CKNGux1B.mjs → main-resolver-DPPwHNtn.mjs} +2 -2
  32. package/dist/{main-resolver-CKNGux1B.mjs.map → main-resolver-DPPwHNtn.mjs.map} +1 -1
  33. package/dist/{planner-Dzs9-8AS.mjs → planner-EJPZnnif.mjs} +5 -5
  34. package/dist/{planner-Dzs9-8AS.mjs.map → planner-EJPZnnif.mjs.map} +1 -1
  35. package/dist/{program-DK0mRRlf.mjs → program-DSETzrWg.mjs} +56 -16
  36. package/dist/{program-DK0mRRlf.mjs.map → program-DSETzrWg.mjs.map} +1 -1
  37. package/dist/{run-DMaCpvMW.mjs → run-Z4akoa8G.mjs} +325 -23
  38. package/dist/run-Z4akoa8G.mjs.map +1 -0
  39. package/dist/{run-env-BHWnXqle.mjs → run-env-DRcp7A8K.mjs} +16 -2
  40. package/dist/run-env-DRcp7A8K.mjs.map +1 -0
  41. package/dist/{server-DlL1QI2k.mjs → server-DgmAHyFK.mjs} +2 -2
  42. package/dist/{server-DlL1QI2k.mjs.map → server-DgmAHyFK.mjs.map} +1 -1
  43. package/dist/{session-keepalive-DVZ9-7qg.mjs → session-keepalive-BDhytXEo.mjs} +4 -4
  44. package/dist/{session-keepalive-DVZ9-7qg.mjs.map → session-keepalive-BDhytXEo.mjs.map} +1 -1
  45. package/dist/{work-queue-worker-DZiEMvBQ.mjs → work-queue-worker-4tLa5gpQ.mjs} +2 -2
  46. package/dist/{work-queue-worker-DZiEMvBQ.mjs.map → work-queue-worker-4tLa5gpQ.mjs.map} +1 -1
  47. package/dist/{work-queue-worker-D7GHuj2I.mjs → work-queue-worker-rFZvTO3p.mjs} +4 -4
  48. package/docs/commands/README.md +1 -0
  49. package/docs/commands/worker.md +30 -0
  50. package/package.json +1 -1
  51. package/src/hooks/ts/lib/worker-guard.ts +4 -0
  52. package/dist/fallback-vHjFZP0Y.mjs.map +0 -1
  53. package/dist/run-DMaCpvMW.mjs.map +0 -1
  54. package/dist/run-env-BHWnXqle.mjs.map +0 -1
@@ -7584,6 +7584,13 @@ function decideWorkerGitGuard(command, isWorker, cwd, worktreesRoot) {
7584
7584
  return { blocked: false };
7585
7585
  }
7586
7586
 
7587
+ // src/workers/browser-tools.ts
7588
+ var BROWSER_SERVER = /chrome|browsr|browser|playwright|puppeteer/i;
7589
+ function isBrowserTool(name) {
7590
+ const server = /^mcp__(.+?)(__|$)/.exec(name)?.[1] ?? name;
7591
+ return BROWSER_SERVER.test(server) && (name.startsWith("mcp__") || !name.includes("__"));
7592
+ }
7593
+
7587
7594
  // src/hooks/ts/lib/worker-guard.ts
7588
7595
  var deny = (reason) => ({ decision: "deny", reason });
7589
7596
  var ALLOW = { decision: "allow" };
@@ -7795,6 +7802,9 @@ function decideWorkerGuard(input, env, ctx) {
7795
7802
  if (env.PAI_WORKER !== "1") return ALLOW;
7796
7803
  const tool = input.tool_name;
7797
7804
  const ti = input.tool_input ?? {};
7805
+ if (env.PAI_WORKER_NO_BROWSER === "1" && tool?.startsWith("mcp__") && isBrowserTool(tool)) {
7806
+ return deny(`${tool} blocked: this worker runs with --no-browser`);
7807
+ }
7798
7808
  if (tool === "Bash") {
7799
7809
  return typeof ti.command === "string" ? decideCommand(ti.command, ctx()) : ALLOW;
7800
7810
  }