@tekmidian/pai 1.0.5 → 1.0.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.
Files changed (239) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/{aibroker-client-CQPGqLxL.mjs → aibroker-client-CXsyC7A8.mjs} +2 -2
  3. package/dist/aibroker-client-ChB7gSxV.mjs +3 -0
  4. package/dist/auto-route-Bc8xP6TQ.mjs +11 -0
  5. package/dist/{auto-route-DUYr57rs.mjs → auto-route-YaEGVrFl.mjs} +2 -2
  6. package/dist/budget-DEiebT2A.mjs +15 -0
  7. package/dist/{caller-identity-Bim8JT-D.mjs → caller-identity-C6Nc96iM.mjs} +4 -4
  8. package/dist/{capacity-CsZMkVyg.mjs → capacity-B2PgKAg4.mjs} +65 -5
  9. package/dist/{chain-Dzz6xcKH.mjs → chain-CtK49-Ma.mjs} +5 -5
  10. package/dist/cli/index.mjs +2102 -282
  11. package/dist/{cockpit-actions-BgsiNcUY.mjs → cockpit-actions-C73mJAJ8.mjs} +18 -18
  12. package/dist/{cockpit-actions-BTA1njMO.mjs → cockpit-actions-D1OPP6Es.mjs} +26 -26
  13. package/dist/cockpit-memory-CLHZD64W.mjs +20 -0
  14. package/dist/config/defaults/config.yaml +18 -1
  15. package/dist/{config-CST2uq1v.mjs → config-Bz8pAU5Q.mjs} +3 -3
  16. package/dist/{config-Dv3t7xnT.mjs → config-DHgPx3ER.mjs} +1 -1
  17. package/dist/{config-h5qK3fst.mjs → config-DLmyEK2q.mjs} +2 -2
  18. package/dist/{config-DYbyEe4-.mjs → config-SlZ-Z52i.mjs} +3 -2
  19. package/dist/{controls-OiVVbe-f.mjs → controls-rIItFeIJ.mjs} +59 -66
  20. package/dist/daemon/index.mjs +40 -40
  21. package/dist/daemon-176qA79N.mjs +46 -0
  22. package/dist/{daemon-C1dycZ3W.mjs → daemon-SoUvPUOf.mjs} +79 -31
  23. package/dist/daemon-mcp/index.mjs +49 -38
  24. package/dist/detect-C8nFP-kR.mjs +10 -0
  25. package/dist/{detect-CHuxFrLy.mjs → detect-DLjeYwnt.mjs} +2 -2
  26. package/dist/{embed-pass-DtVF2fOV.mjs → embed-pass-CN1D8MXl.mjs} +5 -5
  27. package/dist/{embedding-gate-B98PK_wz.mjs → embedding-gate-BVQvUmox.mjs} +2 -2
  28. package/dist/{embedding-gate-CTAk8STe.mjs → embedding-gate-iq0oQEkF.mjs} +3 -3
  29. package/dist/{endreason-BqyyU7BH.mjs → endreason-C2-hYK0_.mjs} +4 -4
  30. package/dist/{factory-BV0MQA3T.mjs → factory-CYwa0jYj.mjs} +6 -6
  31. package/dist/factory-DFwez99M.mjs +9 -0
  32. package/dist/{fallback-Bj2cyVk_.mjs → fallback-CwPSCrX8.mjs} +9 -231
  33. package/dist/{health-kufVIf6i.mjs → health-D0mUAVdw.mjs} +5 -5
  34. package/dist/{helpers-CvbYEKoD.mjs → helpers-Dj2nY56t.mjs} +2 -2
  35. package/dist/{helpers-WV8tdQHM.mjs → helpers-DyHKAwrW.mjs} +6 -6
  36. package/dist/hooks/capture-all-events.mjs +68 -3
  37. package/dist/hooks/capture-tool-output.mjs +68 -3
  38. package/dist/hooks/handoff-link.mjs +128 -0
  39. package/dist/hooks/load-project-context.mjs +1 -1
  40. package/dist/hooks/security-validator.mjs +840 -88
  41. package/dist/hooks/supervision-banner.mjs +186 -48
  42. package/dist/hooks/worker-guard.mjs +57 -1
  43. package/dist/hooks/worker-note.mjs +68 -3
  44. package/dist/hooks/worker-pool-host.mjs +1417 -224
  45. package/dist/hooks/worker-status-line.mjs +209 -70
  46. package/dist/index.mjs +9 -9
  47. package/dist/{ipc-client-CnYEF31R.mjs → ipc-client-CmagIFLh.mjs} +2 -2
  48. package/dist/{ipc-client-DN7EvoVo.mjs → ipc-client-DmbSIBUK.mjs} +1 -1
  49. package/dist/{kill-tree-CcpsRLCZ.mjs → kill-tree-DPiMscaY.mjs} +8 -8
  50. package/dist/kill-tree-Dxei6qlR.mjs +10 -0
  51. package/dist/{launch-UPQBoW2q.mjs → launch-BZT3JDoZ.mjs} +3 -3
  52. package/dist/{launch-DpQPZGsT.mjs → launch-Bn2Zf90h.mjs} +3 -3
  53. package/dist/{indexer-backend-B2vtFl38.mjs → lessons-CFVU0cwA.mjs} +262 -43
  54. package/dist/{local-candidate-Cp_bw4kK.mjs → local-candidate-DFd4pp-w.mjs} +3 -3
  55. package/dist/{local-instances-bdCNNSsL.mjs → local-instances-DhF4_sV2.mjs} +2 -2
  56. package/dist/{local-instances-B-c-CxzP.mjs → local-instances-KTh8IeOT.mjs} +4 -4
  57. package/dist/{local-tiers-BtdEEe5n.mjs → local-tiers-CqwGUcEn.mjs} +3 -3
  58. package/dist/{local-tiers-OBqAAfOg.mjs → local-tiers-DSlIYvvm.mjs} +3 -3
  59. package/dist/{main-config-ops-BYsK3BxM.mjs → main-config-ops-rda08BCD.mjs} +3 -3
  60. package/dist/{main-resolver-CAC3xfZM.mjs → main-resolver-BKwI0I6H.mjs} +18 -18
  61. package/dist/{migrate-DrA_OwlZ.mjs → migrate-C2z1YmWC.mjs} +2 -2
  62. package/dist/{model-inventory-BuTpi9a6.mjs → model-inventory-BXv15B0d.mjs} +13 -13
  63. package/dist/{models-add-CJx2YAwh.mjs → models-add-5yXTyz3g.mjs} +38 -38
  64. package/dist/operator-Bmv5tiHQ.mjs +7 -0
  65. package/dist/{operator-DrwWItVt.mjs → operator-Br6GeswF.mjs} +2 -2
  66. package/dist/{pai-marker-DLKJ9Yr5.mjs → pai-marker-D6OoVbM_.mjs} +2 -2
  67. package/dist/{pane-audit-wv9UkyCe.mjs → pane-audit-DLYy9-4g.mjs} +13 -23
  68. package/dist/{paths-DS5VQKoR.mjs → paths-CypxFTfn.mjs} +4 -4
  69. package/dist/{paths-DBd78I7Z.mjs → paths-DIOwNcj-.mjs} +3 -3
  70. package/dist/{planner-K0mFrCpL.mjs → planner-BzZ_2lc-.mjs} +29 -29
  71. package/dist/{pool-BZ94nFuq.mjs → pool-9EsbKD-U.mjs} +2 -2
  72. package/dist/{pool-cli-BjYQDfx6.mjs → pool-cli-Cy5mlycP.mjs} +6 -6
  73. package/dist/{pool-cli-B1eKySeN.mjs → pool-cli-Db0uDwB9.mjs} +5 -5
  74. package/dist/{postgres-CBHY5PIi.mjs → postgres-B1B80bcj.mjs} +3 -3
  75. package/dist/{postgres-C-T5OWer.mjs → postgres-BL5oBBgY.mjs} +3 -3
  76. package/dist/{project-setup-pIPHZaXf.mjs → project-setup-DHxdJjEc.mjs} +24 -25
  77. package/dist/providers-BH6hQYbU.mjs +16 -0
  78. package/dist/{providers-Dzx5GAUI.mjs → providers-BNV7CzC-.mjs} +6 -6
  79. package/dist/{query-feedback-DN52N9C5.mjs → query-feedback-BWl2HRwN.mjs} +2 -2
  80. package/dist/registrable-BwFiqazy.mjs +9 -0
  81. package/dist/{registrable-CXBBpUcz.mjs → registrable-Dxs4oKIj.mjs} +4 -4
  82. package/dist/render-DVGXpfaT.mjs +13 -0
  83. package/dist/render-jPpMrudf.mjs +2240 -0
  84. package/dist/root-C8cxhdn9.mjs +36 -0
  85. package/dist/{root-bG48WVpW.mjs → root-DmOzMeSv.mjs} +10 -10
  86. package/dist/route-table-COAmc1nB.mjs +15 -0
  87. package/dist/{router-CQSc3lk3.mjs → router-D2476pOp.mjs} +2 -2
  88. package/dist/{router-DwHJRgG9.mjs → router-ghujlEFb.mjs} +1 -1
  89. package/dist/{routing-D27jxj9x.mjs → routing-B_cg1_Xx.mjs} +13 -13
  90. package/dist/{routing-BlD_tKjW.mjs → routing-aJKMIagQ.mjs} +15 -15
  91. package/dist/{run-AZVwceiU.mjs → run-DE9Q0ldN.mjs} +47 -31
  92. package/dist/{runtime-paths-WsO9sJFc.mjs → runtime-paths-twfV23YL.mjs} +2 -2
  93. package/dist/{scan-C3uotg_f.mjs → scan-CNMcltOX.mjs} +7 -7
  94. package/dist/{scope-D8HK6vU7.mjs → scope-BTWstJ1B.mjs} +4 -4
  95. package/dist/session-DgZifjLx.mjs +35 -0
  96. package/dist/{session-BAfypQb9.mjs → session-HBYOABWU.mjs} +28 -28
  97. package/dist/session-scan-BZxnYN1v.mjs +9 -0
  98. package/dist/{session-scan-BmnjSReu.mjs → session-scan-CX3MKCNg.mjs} +6 -6
  99. package/dist/{session-usage-oycSdiD3.mjs → session-usage-CCmPFFa6.mjs} +3 -3
  100. package/dist/{status-COtzewKV.mjs → status-Cecau8Ps.mjs} +9 -5
  101. package/dist/status-D52xC_i0.mjs +6 -0
  102. package/dist/{tool-errors-DXJ70-sr.mjs → tool-errors-BFw1gv-z.mjs} +2 -2
  103. package/dist/{tool-errors-B2LnIqR0.mjs → tool-errors-COM2JGEr.mjs} +6 -6
  104. package/dist/viewer-Ce-Xa9L3.mjs +22 -0
  105. package/dist/{viewer-BgGRqXfD.mjs → viewer-DvBg6N22.mjs} +16 -14
  106. package/dist/{wait-ChpHKJZV.mjs → wait-C5iWILj_.mjs} +3 -3
  107. package/dist/worker-config-BmcJ9R0U.mjs +42 -0
  108. package/dist/{worker-config-DgdT0iTB.mjs → worker-config-DkONNk_H.mjs} +54 -103
  109. package/dist/{workers-config-BhZBrR-Q.mjs → workers-config-DwzrtdYu.mjs} +2 -2
  110. package/dist/{worktree-BY--Rgmy.mjs → worktree-O_kU6Q3y.mjs} +164 -8
  111. package/dist/{zettelkasten-BHVx5zj-.mjs → zettelkasten-BH8AdNh8.mjs} +4 -4
  112. package/dist/{zettelkasten-LoH9RBiN.mjs → zettelkasten-FFhQFESJ.mjs} +2 -2
  113. package/docs/commands/README.md +32 -2
  114. package/docs/commands/audit.md +34 -3
  115. package/docs/commands/backup.md +1 -1
  116. package/docs/commands/build.md +4 -4
  117. package/docs/commands/cd.md +1 -1
  118. package/docs/commands/clear-names.md +1 -1
  119. package/docs/commands/cockpit.md +1 -1
  120. package/docs/commands/config.md +1 -1
  121. package/docs/commands/daemon.md +1 -1
  122. package/docs/commands/db.md +1 -1
  123. package/docs/commands/doc.md +1 -1
  124. package/docs/commands/end.md +1 -1
  125. package/docs/commands/find.md +1 -1
  126. package/docs/commands/git.md +110 -0
  127. package/docs/commands/handoff.md +70 -0
  128. package/docs/commands/harness.md +74 -0
  129. package/docs/commands/help.md +1 -1
  130. package/docs/commands/home.md +1 -1
  131. package/docs/commands/hooks-db.md +1 -1
  132. package/docs/commands/identity.md +1 -1
  133. package/docs/commands/install.md +1 -1
  134. package/docs/commands/issue.md +1 -1
  135. package/docs/commands/kg.md +1 -1
  136. package/docs/commands/launch.md +1 -1
  137. package/docs/commands/lessons.md +201 -0
  138. package/docs/commands/list.md +1 -1
  139. package/docs/commands/ls.md +1 -1
  140. package/docs/commands/mcp.md +1 -1
  141. package/docs/commands/memory.md +1 -1
  142. package/docs/commands/models.md +1 -1
  143. package/docs/commands/more.md +1 -1
  144. package/docs/commands/new.md +1 -1
  145. package/docs/commands/notes.md +1 -1
  146. package/docs/commands/notify.md +1 -1
  147. package/docs/commands/observation.md +1 -1
  148. package/docs/commands/obsidian.md +1 -1
  149. package/docs/commands/open.md +1 -1
  150. package/docs/commands/pane.md +1 -1
  151. package/docs/commands/pause.md +1 -1
  152. package/docs/commands/plan.md +1 -1
  153. package/docs/commands/project.md +1 -1
  154. package/docs/commands/projects.md +1 -1
  155. package/docs/commands/providers.md +1 -1
  156. package/docs/commands/queue.md +1 -1
  157. package/docs/commands/registry.md +1 -1
  158. package/docs/commands/reload.md +1 -1
  159. package/docs/commands/rename.md +1 -1
  160. package/docs/commands/restore.md +1 -1
  161. package/docs/commands/resume.md +1 -1
  162. package/docs/commands/router.md +1 -1
  163. package/docs/commands/rules.md +70 -0
  164. package/docs/commands/session.md +1 -1
  165. package/docs/commands/sessions.md +1 -1
  166. package/docs/commands/setup.md +1 -1
  167. package/docs/commands/setups.md +1 -1
  168. package/docs/commands/shell-init.md +1 -1
  169. package/docs/commands/skill.md +1 -1
  170. package/docs/commands/task.md +1 -1
  171. package/docs/commands/tasks.md +1 -1
  172. package/docs/commands/topic.md +1 -1
  173. package/docs/commands/update.md +1 -1
  174. package/docs/commands/worker.md +1 -1
  175. package/docs/commands/zettel.md +1 -1
  176. package/docs/concepts/panes.md +3 -2
  177. package/gemini-extension.json +1 -1
  178. package/package.json +2 -2
  179. package/pai-plugin.json +1 -1
  180. package/plugins/context-preservation/plugin.json +1 -1
  181. package/plugins/core/plugin.json +1 -1
  182. package/plugins/creative/plugin.json +1 -1
  183. package/plugins/observability/plugin.json +1 -1
  184. package/plugins/productivity/plugin.json +1 -1
  185. package/plugins/semantic-search/plugin.json +1 -1
  186. package/plugins/ui/plugin.json +1 -1
  187. package/plugins/zettelkasten/plugin.json +1 -1
  188. package/src/hooks/ts/lib/loop-guard.ts +3 -5
  189. package/src/hooks/ts/lib/rules/builtin/base64-decode-to-shell.rule.yaml +13 -0
  190. package/src/hooks/ts/lib/rules/builtin/chmod-world-writable.rule.yaml +13 -0
  191. package/src/hooks/ts/lib/rules/builtin/chmod-zero.rule.yaml +11 -0
  192. package/src/hooks/ts/lib/rules/builtin/credential-file-read.rule.yaml +13 -0
  193. package/src/hooks/ts/lib/rules/builtin/credential-read-then-network.rule.yaml +29 -0
  194. package/src/hooks/ts/lib/rules/builtin/crontab-persistence.rule.yaml +10 -0
  195. package/src/hooks/ts/lib/rules/builtin/curl-piped-to-shell.rule.yaml +15 -0
  196. package/src/hooks/ts/lib/rules/builtin/download-then-execute.rule.yaml +30 -0
  197. package/src/hooks/ts/lib/rules/builtin/find-root-delete.rule.yaml +11 -0
  198. package/src/hooks/ts/lib/rules/builtin/git-push-force.rule.yaml +24 -0
  199. package/src/hooks/ts/lib/rules/builtin/git-push-plus-refspec.rule.yaml +12 -0
  200. package/src/hooks/ts/lib/rules/builtin/git-reset-hard.rule.yaml +12 -0
  201. package/src/hooks/ts/lib/rules/builtin/injection-then-tool.rule.yaml +30 -0
  202. package/src/hooks/ts/lib/rules/builtin/instruction-override-disregard.rule.yaml +12 -0
  203. package/src/hooks/ts/lib/rules/builtin/instruction-override-ignore.rule.yaml +13 -0
  204. package/src/hooks/ts/lib/rules/builtin/launchagents-write-persistence.rule.yaml +12 -0
  205. package/src/hooks/ts/lib/rules/builtin/launchctl-load-persistence.rule.yaml +10 -0
  206. package/src/hooks/ts/lib/rules/builtin/reverse-shell-dev-tcp.rule.yaml +11 -0
  207. package/src/hooks/ts/lib/rules/builtin/reverse-shell-interactive-bash.rule.yaml +11 -0
  208. package/src/hooks/ts/lib/rules/builtin/rm-recursive-parent.rule.yaml +11 -0
  209. package/src/hooks/ts/lib/rules/builtin/rm-recursive-relative.rule.yaml +11 -0
  210. package/src/hooks/ts/lib/rules/builtin/rm-recursive-root.rule.yaml +24 -0
  211. package/src/hooks/ts/lib/rules/builtin/rm-trailing-tilde.rule.yaml +11 -0
  212. package/src/hooks/ts/lib/rules/builtin/sudoers-nopasswd.rule.yaml +15 -0
  213. package/src/hooks/ts/lib/rules/builtin.generated.ts +530 -0
  214. package/src/hooks/ts/lib/rules/eval.ts +74 -0
  215. package/src/hooks/ts/lib/rules/lint.ts +102 -0
  216. package/src/hooks/ts/lib/rules/load.ts +229 -0
  217. package/src/hooks/ts/lib/rules/types.ts +56 -0
  218. package/src/hooks/ts/pre-tool-use/security-validator.ts +27 -96
  219. package/src/hooks/ts/user-prompt/handoff-link.ts +34 -0
  220. package/dist/aibroker-client-BxzeEHPF.mjs +0 -3
  221. package/dist/auto-route-DWYK_0i0.mjs +0 -11
  222. package/dist/budget-DX-VIWGf.mjs +0 -15
  223. package/dist/cockpit-memory-DIrNs4xr.mjs +0 -20
  224. package/dist/daemon-ieo0lnpq.mjs +0 -46
  225. package/dist/detect-C0ZBXqDL.mjs +0 -10
  226. package/dist/factory-DeASMV7Z.mjs +0 -9
  227. package/dist/kill-tree-CXZ0WfVf.mjs +0 -10
  228. package/dist/operator-Bpxq_WB5.mjs +0 -7
  229. package/dist/providers-QJzpaNhX.mjs +0 -16
  230. package/dist/registrable-Drn8wIDO.mjs +0 -9
  231. package/dist/render-C4KR8qQ8.mjs +0 -13
  232. package/dist/render-Cz3BWIBO.mjs +0 -903
  233. package/dist/root-Bfb1zgwE.mjs +0 -36
  234. package/dist/route-table-ZVMNBsy7.mjs +0 -15
  235. package/dist/session-BcnhepLZ.mjs +0 -35
  236. package/dist/session-scan-CqUQdCac.mjs +0 -9
  237. package/dist/status-D_SWmOlH.mjs +0 -6
  238. package/dist/viewer-CbGN2Ri4.mjs +0 -22
  239. package/dist/worker-config-D1KVAMp4.mjs +0 -42
@@ -7445,7 +7445,7 @@ var require_public_api = __commonJS({
7445
7445
  }
7446
7446
  return doc;
7447
7447
  }
7448
- function parse4(src, reviver, options) {
7448
+ function parse5(src, reviver, options) {
7449
7449
  let _reviver = void 0;
7450
7450
  if (typeof reviver === "function") {
7451
7451
  _reviver = reviver;
@@ -7486,7 +7486,7 @@ var require_public_api = __commonJS({
7486
7486
  return value.toString(options);
7487
7487
  return new Document5.Document(value, _replacer, options).toString(options);
7488
7488
  }
7489
- exports.parse = parse4;
7489
+ exports.parse = parse5;
7490
7490
  exports.parseAllDocuments = parseAllDocuments;
7491
7491
  exports.parseDocument = parseDocument5;
7492
7492
  exports.stringify = stringify2;
@@ -9560,7 +9560,7 @@ function ownsPid(status) {
9560
9560
  env: { ...process.env, LC_ALL: "C" }
9561
9561
  }).trim();
9562
9562
  const psStart = Date.parse(out);
9563
- const started = spawnTimeOf(status) ?? Date.parse(status.started.replace(" ", "T"));
9563
+ const started = status.procStart ?? spawnTimeOf(status) ?? Date.parse(status.started.replace(" ", "T"));
9564
9564
  if (Number.isNaN(psStart) || Number.isNaN(started)) return alive(status.pid);
9565
9565
  return Math.abs(psStart - started) <= 12e4;
9566
9566
  } catch {
@@ -9813,6 +9813,7 @@ var init_worktree = __esm({
9813
9813
  init_paths();
9814
9814
  init_pending();
9815
9815
  init_pool();
9816
+ init_config2();
9816
9817
  }
9817
9818
  });
9818
9819
 
@@ -9958,27 +9959,6 @@ var init_pane_title = __esm({
9958
9959
  }
9959
9960
  });
9960
9961
 
9961
- // src/workers/chatui.ts
9962
- var init_chatui = __esm({
9963
- "src/workers/chatui.ts"() {
9964
- "use strict";
9965
- }
9966
- });
9967
-
9968
- // src/workers/deadline.ts
9969
- var init_deadline = __esm({
9970
- "src/workers/deadline.ts"() {
9971
- "use strict";
9972
- }
9973
- });
9974
-
9975
- // src/workers/active-time.ts
9976
- var init_active_time = __esm({
9977
- "src/workers/active-time.ts"() {
9978
- "use strict";
9979
- }
9980
- });
9981
-
9982
9962
  // src/workers/stagger.ts
9983
9963
  var init_stagger = __esm({
9984
9964
  "src/workers/stagger.ts"() {
@@ -9987,6 +9967,14 @@ var init_stagger = __esm({
9987
9967
  }
9988
9968
  });
9989
9969
 
9970
+ // src/workers/waiting.ts
9971
+ var init_waiting = __esm({
9972
+ "src/workers/waiting.ts"() {
9973
+ "use strict";
9974
+ init_args();
9975
+ }
9976
+ });
9977
+
9990
9978
  // src/workers/capacity.ts
9991
9979
  function resolveCap(maxConcurrent, local, localDefaultCap = DEFAULT_CAPACITY.localDefaultCap) {
9992
9980
  return maxConcurrent ?? (local ? localDefaultCap : void 0);
@@ -9997,23 +9985,37 @@ var init_capacity = __esm({
9997
9985
  "use strict";
9998
9986
  init_stagger();
9999
9987
  init_config3();
9988
+ init_waiting();
10000
9989
  init_status();
10001
9990
  DEFAULT_CAPACITY = { enabled: true, localDefaultCap: 1, uncappedQueueCap: 3, maxTotalWaitMs: 2 * 36e5, heartbeatMs: 6e4, agingMs: 15 * 6e4 };
10002
9991
  }
10003
9992
  });
10004
9993
 
10005
- // src/workers/denials.ts
10006
- var init_denials = __esm({
10007
- "src/workers/denials.ts"() {
9994
+ // src/workers/chatui.ts
9995
+ var init_chatui = __esm({
9996
+ "src/workers/chatui.ts"() {
10008
9997
  "use strict";
10009
9998
  }
10010
9999
  });
10011
10000
 
10012
- // src/workers/waiting.ts
10013
- var init_waiting = __esm({
10014
- "src/workers/waiting.ts"() {
10001
+ // src/workers/deadline.ts
10002
+ var init_deadline = __esm({
10003
+ "src/workers/deadline.ts"() {
10004
+ "use strict";
10005
+ }
10006
+ });
10007
+
10008
+ // src/workers/active-time.ts
10009
+ var init_active_time = __esm({
10010
+ "src/workers/active-time.ts"() {
10011
+ "use strict";
10012
+ }
10013
+ });
10014
+
10015
+ // src/workers/denials.ts
10016
+ var init_denials = __esm({
10017
+ "src/workers/denials.ts"() {
10015
10018
  "use strict";
10016
- init_args();
10017
10019
  }
10018
10020
  });
10019
10021
 
@@ -10195,6 +10197,147 @@ var init_endreason = __esm({
10195
10197
  }
10196
10198
  });
10197
10199
 
10200
+ // src/workers/ps-table.ts
10201
+ var PS_MAX_BUFFER;
10202
+ var init_ps_table = __esm({
10203
+ "src/workers/ps-table.ts"() {
10204
+ "use strict";
10205
+ PS_MAX_BUFFER = 64 * 1024 * 1024;
10206
+ }
10207
+ });
10208
+
10209
+ // src/workers/hang-probe.ts
10210
+ var init_hang_probe = __esm({
10211
+ "src/workers/hang-probe.ts"() {
10212
+ "use strict";
10213
+ init_ps_table();
10214
+ }
10215
+ });
10216
+
10217
+ // src/utils/redact.ts
10218
+ var REDACTED, REDACTED_RE, KEY_WORDS, VAL, REDACT_RULES, LINE_RULES, LONG_RUN, KEY_LINE;
10219
+ var init_redact = __esm({
10220
+ "src/utils/redact.ts"() {
10221
+ "use strict";
10222
+ REDACTED = "[REDACTED]";
10223
+ REDACTED_RE = String.raw`\[REDACTED\]`;
10224
+ KEY_WORDS = "password|passwd|secret|token|api[_-]?key|credential|auth(?:orization)?|bearer";
10225
+ VAL = String.raw`(?:"[^"]*"|'[^']*'|[^\s'"]+)`;
10226
+ REDACT_RULES = [
10227
+ {
10228
+ // `Authorization: Bearer xxx` / `Authorization: Basic xxx` — keep the scheme
10229
+ id: "authorization",
10230
+ re: /(Authorization\s*:\s*)(Bearer|Basic)\s+(\S+)/gi,
10231
+ replace: (_m, head, scheme) => `${head}${scheme} ${REDACTED}`
10232
+ },
10233
+ {
10234
+ // `key=value`, `key: value`, `"key": "value"` — key carries a secret-ish word;
10235
+ // the word must be a whole key segment, so `monkeys=` stays untouched
10236
+ id: "key-value",
10237
+ re: new RegExp(String.raw`(?<![A-Za-z0-9])((?:[A-Za-z0-9]+[_-])?(?:${KEY_WORDS})(?![A-Za-z0-9])[A-Za-z0-9_-]*)(\s*[:=]\s*)(?!(?:Bearer|Basic) ${REDACTED_RE})(${VAL})`, "gi"),
10238
+ replace: (_m, key, sep) => `${key}${sep}${REDACTED}`
10239
+ },
10240
+ {
10241
+ // `export FOO_TOKEN=...` / `FOO_KEY=...` — SCREAMING_SNAKE env style
10242
+ id: "env-style",
10243
+ re: new RegExp(String.raw`(?<![A-Za-z0-9])((?:export\s+)?[A-Z][A-Z0-9]*_(?:KEY|SECRET|TOKEN|PASS\w*|CRED\w*|AUTH\w*)\s*=\s*)(${VAL})`, "g"),
10244
+ replace: (_m, head) => `${head}${REDACTED}`
10245
+ },
10246
+ {
10247
+ // long CLI flags only: `--password X`, `--token X`, `--api-key X`, `--secret X`, `--passwd X`
10248
+ id: "cli-flag",
10249
+ re: new RegExp(String.raw`(--(?:password|token|api-key|secret|passwd)(?:\s*=\s*|\s+))(${VAL})`, "gi"),
10250
+ replace: (_m, head) => `${head}${REDACTED}`
10251
+ },
10252
+ {
10253
+ // `scheme://user:pass@host` — redact the password, keep user and host
10254
+ id: "url-credentials",
10255
+ re: /((?<![a-z0-9+.-])[a-z][a-z0-9+.-]*:\/\/[^\s/@:]+:)([^\s/@]+)(@)/gi,
10256
+ replace: (_m, head, _pass, at) => `${head}${REDACTED}${at}`
10257
+ },
10258
+ {
10259
+ // provider token prefixes: sk-ant-, sk-, ghp_/gho_/ghu_/ghs_/ghr_, github_pat_,
10260
+ // glpat-, xoxb-/xoxp-/xoxa-, AKIA/ASIA + 16 chars, AIza + 35 chars, JWT (eyJ… three segments)
10261
+ id: "token-prefix",
10262
+ re: /\b(?:sk-ant-[A-Za-z0-9_-]{20,}|sk-[A-Za-z0-9_-]{20,}|gh[pousr]_[A-Za-z0-9]{30,}|github_pat_[A-Za-z0-9_]{22,}|glpat-[A-Za-z0-9_-]{20,}|xox[bap]-[A-Za-z0-9-]{10,}|(?:AKIA|ASIA)[A-Z0-9]{16}|AIza[A-Za-z0-9_-]{35}(?![A-Za-z0-9_-])|eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+)(?![A-Za-z0-9_-])/g,
10263
+ replace: REDACTED
10264
+ },
10265
+ {
10266
+ // 40+ char opaque base64/hex run, only on a line that also has a secret-ish key word
10267
+ id: "long-run",
10268
+ re: /\b[A-Za-z0-9+/]{40,}={0,2}(?![\w/])/g,
10269
+ // a bare 40-hex git SHA stays; it is only redacted as the value of a secret key
10270
+ replace: (m) => /^[0-9a-f]{40}$/i.test(m) ? m : REDACTED
10271
+ }
10272
+ ];
10273
+ LINE_RULES = REDACT_RULES.filter((r) => r.id !== "long-run");
10274
+ LONG_RUN = REDACT_RULES.find((r) => r.id === "long-run");
10275
+ KEY_LINE = new RegExp(`(?:${KEY_WORDS})`, "i");
10276
+ }
10277
+ });
10278
+
10279
+ // src/hooks/ts/lib/build-gate.ts
10280
+ var init_build_gate = __esm({
10281
+ "src/hooks/ts/lib/build-gate.ts"() {
10282
+ "use strict";
10283
+ }
10284
+ });
10285
+
10286
+ // src/hooks/ts/lib/loop-guard.ts
10287
+ var LOOP_MAX_REPEATS, LOOP_READ_STREAK, SELF, LOOP_DENY_REASON, WAIT_CAP_MS, FP_FULL_READ_BYTES, FP_TOTAL_BYTES;
10288
+ var init_loop_guard = __esm({
10289
+ "src/hooks/ts/lib/loop-guard.ts"() {
10290
+ "use strict";
10291
+ init_hang_probe();
10292
+ init_redact();
10293
+ init_build_gate();
10294
+ LOOP_MAX_REPEATS = 4;
10295
+ LOOP_READ_STREAK = Number(process.env.PAI_LOOP_READ_STREAK) > 0 ? Number(process.env.PAI_LOOP_READ_STREAK) : 15;
10296
+ SELF = "If your part is done, commit and write your R report. If you are stuck, report the blocker in R x= (or use pai worker help if available).";
10297
+ LOOP_DENY_REASON = `loop guard: you ran this command ${LOOP_MAX_REPEATS} times with the same result and nothing changed. Stop repeating it. ${SELF}`;
10298
+ WAIT_CAP_MS = 45 * 6e4;
10299
+ FP_FULL_READ_BYTES = 256 * 1024;
10300
+ FP_TOTAL_BYTES = 4 * 1024 * 1024;
10301
+ }
10302
+ });
10303
+
10304
+ // src/audit/scan.ts
10305
+ var init_scan = __esm({
10306
+ "src/audit/scan.ts"() {
10307
+ "use strict";
10308
+ init_loop_guard();
10309
+ }
10310
+ });
10311
+
10312
+ // src/hooks/ts/lib/rules/builtin.generated.ts
10313
+ var init_builtin_generated = __esm({
10314
+ "src/hooks/ts/lib/rules/builtin.generated.ts"() {
10315
+ "use strict";
10316
+ }
10317
+ });
10318
+
10319
+ // src/hooks/ts/lib/rules/load.ts
10320
+ var import_yaml6;
10321
+ var init_load = __esm({
10322
+ "src/hooks/ts/lib/rules/load.ts"() {
10323
+ "use strict";
10324
+ import_yaml6 = __toESM(require_dist(), 1);
10325
+ init_pai_home();
10326
+ init_builtin_generated();
10327
+ }
10328
+ });
10329
+
10330
+ // src/workers/scan.ts
10331
+ var init_scan2 = __esm({
10332
+ "src/workers/scan.ts"() {
10333
+ "use strict";
10334
+ init_scan();
10335
+ init_load();
10336
+ init_paths();
10337
+ init_status();
10338
+ }
10339
+ });
10340
+
10198
10341
  // src/workers/render.ts
10199
10342
  function shortModel(model) {
10200
10343
  const raw = String(model ?? "").trim();
@@ -10257,6 +10400,7 @@ var init_render = __esm({
10257
10400
  init_scope();
10258
10401
  init_endreason();
10259
10402
  init_report();
10403
+ init_scan2();
10260
10404
  }
10261
10405
  });
10262
10406
 
@@ -10266,6 +10410,8 @@ var init_pane_bar = __esm({
10266
10410
  "use strict";
10267
10411
  init_chatui();
10268
10412
  init_render();
10413
+ init_capacity();
10414
+ init_pane_exec();
10269
10415
  init_pane_policy();
10270
10416
  }
10271
10417
  });
@@ -10275,20 +10421,12 @@ var init_pane_exec = __esm({
10275
10421
  "src/workers/pane-exec.ts"() {
10276
10422
  "use strict";
10277
10423
  init_pai_home();
10424
+ init_capacity();
10278
10425
  init_pane_bar();
10279
10426
  init_pane_policy();
10280
10427
  }
10281
10428
  });
10282
10429
 
10283
- // src/workers/ps-table.ts
10284
- var PS_MAX_BUFFER;
10285
- var init_ps_table = __esm({
10286
- "src/workers/ps-table.ts"() {
10287
- "use strict";
10288
- PS_MAX_BUFFER = 64 * 1024 * 1024;
10289
- }
10290
- });
10291
-
10292
10430
  // src/workers/pane.ts
10293
10431
  var FIND_SESSION, CAPTURE_ACTIVE, RESTORE_ACTIVE, REBALANCE, TAB_SIZES_SCRIPT, WORKER_SPLIT_SCRIPT, TAB_TTYS_SCRIPT, WINDOW_BOUNDS_SCRIPT, SPLIT_SCRIPT, SESSION_TTY_SCRIPT, END_SESSION_SCRIPT, REBALANCE_SCRIPT, VERIFY_PANE_SCRIPT, HOST_TAB_SCRIPT;
10294
10432
  var init_pane = __esm({
@@ -10591,11 +10729,11 @@ var init_run_lock = __esm({
10591
10729
  });
10592
10730
 
10593
10731
  // src/workers/plan.ts
10594
- var import_yaml6;
10732
+ var import_yaml7;
10595
10733
  var init_plan = __esm({
10596
10734
  "src/workers/plan.ts"() {
10597
10735
  "use strict";
10598
- import_yaml6 = __toESM(require_dist(), 1);
10736
+ import_yaml7 = __toESM(require_dist(), 1);
10599
10737
  }
10600
10738
  });
10601
10739
 
@@ -10653,11 +10791,11 @@ var init_run_events = __esm({
10653
10791
  });
10654
10792
 
10655
10793
  // src/workers/local-tiers.ts
10656
- var import_yaml7, VLLM_READY_MS, STRATA_READY_MS;
10794
+ var import_yaml8, VLLM_READY_MS, STRATA_READY_MS;
10657
10795
  var init_local_tiers = __esm({
10658
10796
  "src/workers/local-tiers.ts"() {
10659
10797
  "use strict";
10660
- import_yaml7 = __toESM(require_dist(), 1);
10798
+ import_yaml8 = __toESM(require_dist(), 1);
10661
10799
  init_pai_home();
10662
10800
  init_config3();
10663
10801
  VLLM_READY_MS = 10 * 60 * 1e3;
@@ -10816,6 +10954,7 @@ var init_viewer = __esm({
10816
10954
  init_render();
10817
10955
  init_waiting();
10818
10956
  init_denials();
10957
+ init_scan2();
10819
10958
  init_tool_errors();
10820
10959
  init_wait();
10821
10960
  init_ps_table();
@@ -10904,11 +11043,11 @@ var init_timeouts = __esm({
10904
11043
  });
10905
11044
 
10906
11045
  // src/workers/local-provider.ts
10907
- var import_yaml8;
11046
+ var import_yaml9;
10908
11047
  var init_local_provider = __esm({
10909
11048
  "src/workers/local-provider.ts"() {
10910
11049
  "use strict";
10911
- import_yaml8 = __toESM(require_dist(), 1);
11050
+ import_yaml9 = __toESM(require_dist(), 1);
10912
11051
  init_config3();
10913
11052
  init_run_env();
10914
11053
  init_status();
@@ -10964,7 +11103,7 @@ function cleanProfile(v) {
10964
11103
  function writeAtomic(path, profiles) {
10965
11104
  mkdirSync8(dirname7(path), { recursive: true });
10966
11105
  const tmp = `${path}.tmp-${process.pid}`;
10967
- writeFileSync8(tmp, (0, import_yaml9.stringify)(profiles));
11106
+ writeFileSync8(tmp, (0, import_yaml10.stringify)(profiles));
10968
11107
  renameSync7(tmp, path);
10969
11108
  }
10970
11109
  function migrateLegacy(path, profiles) {
@@ -10989,7 +11128,7 @@ function readProfiles(path = profilesPath()) {
10989
11128
  const profiles = {};
10990
11129
  if (existsSync13(path)) {
10991
11130
  try {
10992
- const raw = (0, import_yaml9.parse)(readFileSync14(path, "utf8"));
11131
+ const raw = (0, import_yaml10.parse)(readFileSync14(path, "utf8"));
10993
11132
  for (const [name, v] of Object.entries(raw ?? {})) profiles[name] = cleanProfile(v);
10994
11133
  } catch {
10995
11134
  return {};
@@ -11008,11 +11147,11 @@ function getProfile(name, path = profilesPath()) {
11008
11147
  function currentSessionName(env = process.env) {
11009
11148
  return env[SESSION_NAME_ENV]?.trim() || void 0;
11010
11149
  }
11011
- var import_yaml9, SESSION_NAME_ENV, profilesPath, legacyWorkersPath;
11150
+ var import_yaml10, SESSION_NAME_ENV, profilesPath, legacyWorkersPath;
11012
11151
  var init_session_profile_store = __esm({
11013
11152
  "src/workers/session-profile-store.ts"() {
11014
11153
  "use strict";
11015
- import_yaml9 = __toESM(require_dist(), 1);
11154
+ import_yaml10 = __toESM(require_dist(), 1);
11016
11155
  init_pai_home();
11017
11156
  init_route_lists();
11018
11157
  SESSION_NAME_ENV = "PAI_SESSION_NAME";
@@ -11262,7 +11401,7 @@ var require_postgres_interval = __commonJS({
11262
11401
  if (!(this instanceof PostgresInterval)) {
11263
11402
  return new PostgresInterval(raw);
11264
11403
  }
11265
- extend(this, parse4(raw));
11404
+ extend(this, parse5(raw));
11266
11405
  }
11267
11406
  var properties = ["seconds", "minutes", "hours", "days", "months", "years"];
11268
11407
  PostgresInterval.prototype.toPostgres = function() {
@@ -11323,7 +11462,7 @@ var require_postgres_interval = __commonJS({
11323
11462
  var microseconds = fraction + "000000".slice(fraction.length);
11324
11463
  return parseInt(microseconds, 10) / 1e3;
11325
11464
  }
11326
- function parse4(interval) {
11465
+ function parse5(interval) {
11327
11466
  if (!interval) return {};
11328
11467
  var matches = INTERVAL.exec(interval);
11329
11468
  var isNegative = matches[8] === "-";
@@ -11810,13 +11949,13 @@ var require_binaryParsers = __commonJS({
11810
11949
  console.log("ERROR: ElementType not implemented: " + elementType2);
11811
11950
  }
11812
11951
  };
11813
- var parse4 = function(dimension, elementType2) {
11952
+ var parse5 = function(dimension, elementType2) {
11814
11953
  var array = [];
11815
11954
  var i2;
11816
11955
  if (dimension.length > 1) {
11817
11956
  var count = dimension.shift();
11818
11957
  for (i2 = 0; i2 < count; i2++) {
11819
- array[i2] = parse4(dimension, elementType2);
11958
+ array[i2] = parse5(dimension, elementType2);
11820
11959
  }
11821
11960
  dimension.unshift(count);
11822
11961
  } else {
@@ -11826,7 +11965,7 @@ var require_binaryParsers = __commonJS({
11826
11965
  }
11827
11966
  return array;
11828
11967
  };
11829
- return parse4(dims, elementType);
11968
+ return parse5(dims, elementType);
11830
11969
  };
11831
11970
  var parseText = function(value) {
11832
11971
  return value.toString("utf8");
@@ -12614,7 +12753,7 @@ var require_type_overrides = __commonJS({
12614
12753
  var require_pg_connection_string = __commonJS({
12615
12754
  "node_modules/pg-connection-string/index.js"(exports, module) {
12616
12755
  "use strict";
12617
- function parse4(str2, options = {}) {
12756
+ function parse5(str2, options = {}) {
12618
12757
  if (str2.charAt(0) === "/") {
12619
12758
  const config2 = str2.split(" ");
12620
12759
  return { host: config2[0], database: config2[1] };
@@ -12773,7 +12912,7 @@ var require_pg_connection_string = __commonJS({
12773
12912
  return poolConfig;
12774
12913
  }
12775
12914
  function parseIntoClientConfig(str2) {
12776
- return toClientConfig(parse4(str2));
12915
+ return toClientConfig(parse5(str2));
12777
12916
  }
12778
12917
  function deprecatedSslModeWarning(sslmode) {
12779
12918
  if (!deprecatedSslModeWarning.warned && typeof process !== "undefined" && process.emitWarning) {
@@ -12788,10 +12927,10 @@ To prepare for this change:
12788
12927
  See https://www.postgresql.org/docs/current/libpq-ssl.html for libpq SSL mode definitions.`);
12789
12928
  }
12790
12929
  }
12791
- module.exports = parse4;
12792
- parse4.parse = parse4;
12793
- parse4.toClientConfig = toClientConfig;
12794
- parse4.parseIntoClientConfig = parseIntoClientConfig;
12930
+ module.exports = parse5;
12931
+ parse5.parse = parse5;
12932
+ parse5.toClientConfig = toClientConfig;
12933
+ parse5.parseIntoClientConfig = parseIntoClientConfig;
12795
12934
  }
12796
12935
  });
12797
12936
 
@@ -12801,7 +12940,7 @@ var require_connection_parameters = __commonJS({
12801
12940
  "use strict";
12802
12941
  var dns = __require("dns");
12803
12942
  var defaults3 = require_defaults();
12804
- var parse4 = require_pg_connection_string().parse;
12943
+ var parse5 = require_pg_connection_string().parse;
12805
12944
  var val = function(key, config, envVar) {
12806
12945
  if (config[key]) {
12807
12946
  return config[key];
@@ -12839,9 +12978,9 @@ var require_connection_parameters = __commonJS({
12839
12978
  };
12840
12979
  var ConnectionParameters = class {
12841
12980
  constructor(config) {
12842
- config = typeof config === "string" ? parse4(config) : config || {};
12981
+ config = typeof config === "string" ? parse5(config) : config || {};
12843
12982
  if (config.connectionString) {
12844
- config = Object.assign({}, config, parse4(config.connectionString));
12983
+ config = Object.assign({}, config, parse5(config.connectionString));
12845
12984
  }
12846
12985
  this.user = val("user", config);
12847
12986
  this.database = val("database", config);
@@ -13520,7 +13659,7 @@ var require_serializer = __commonJS({
13520
13659
  );
13521
13660
  };
13522
13661
  var emptyArray = [];
13523
- var parse4 = (query2) => {
13662
+ var parse5 = (query2) => {
13524
13663
  const name = query2.name || "";
13525
13664
  if (name.length > 63) {
13526
13665
  console.error("Warning! Postgres only supports 63 characters for query names.");
@@ -13670,7 +13809,7 @@ var require_serializer = __commonJS({
13670
13809
  sendSASLInitialResponseMessage,
13671
13810
  sendSCRAMClientFinalMessage,
13672
13811
  query,
13673
- parse: parse4,
13812
+ parse: parse5,
13674
13813
  bind,
13675
13814
  execute,
13676
13815
  describe,
@@ -14069,12 +14208,12 @@ var require_dist2 = __commonJS({
14069
14208
  return serializer_1.serialize;
14070
14209
  } });
14071
14210
  var parser_1 = require_parser2();
14072
- function parse4(stream, callback) {
14211
+ function parse5(stream, callback) {
14073
14212
  const parser = new parser_1.Parser();
14074
14213
  stream.on("data", (buffer) => parser.parse(buffer, callback));
14075
14214
  return new Promise((resolve4) => stream.on("end", () => resolve4()));
14076
14215
  }
14077
- exports.parse = parse4;
14216
+ exports.parse = parse5;
14078
14217
  }
14079
14218
  });
14080
14219
 
@@ -14158,7 +14297,7 @@ var require_connection = __commonJS({
14158
14297
  "node_modules/pg/lib/connection.js"(exports, module) {
14159
14298
  "use strict";
14160
14299
  var EventEmitter = __require("events").EventEmitter;
14161
- var { parse: parse4, serialize } = require_dist2();
14300
+ var { parse: parse5, serialize } = require_dist2();
14162
14301
  var { getStream, getSecureStream } = require_stream();
14163
14302
  var flushBuffer = serialize.flush();
14164
14303
  var syncBuffer = serialize.sync();
@@ -14244,7 +14383,7 @@ var require_connection = __commonJS({
14244
14383
  });
14245
14384
  }
14246
14385
  attachListeners(stream) {
14247
- parse4(stream, (msg) => {
14386
+ parse5(stream, (msg) => {
14248
14387
  const eventName = msg.name === "error" ? "errorMessage" : msg.name;
14249
14388
  if (this._emitMessage) {
14250
14389
  this.emit("message", msg);
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import "./utils-J2b9y8PC.mjs";
2
- import { a as slugify, i as parseSessionFilename, n as decodeEncodedDir, r as migrateFromJson } from "./migrate-DrA_OwlZ.mjs";
3
- import "./config-CST2uq1v.mjs";
4
- import "./config-DYbyEe4-.mjs";
5
- import "./paths-DS5VQKoR.mjs";
6
- import "./worktree-BY--Rgmy.mjs";
7
- import "./status-COtzewKV.mjs";
8
- import "./pool-BZ94nFuq.mjs";
9
- import "./registrable-CXBBpUcz.mjs";
10
- import { n as ensurePaiMarker, r as readPaiMarker, t as discoverPaiMarkers } from "./pai-marker-DLKJ9Yr5.mjs";
2
+ import { a as slugify, i as parseSessionFilename, n as decodeEncodedDir, r as migrateFromJson } from "./migrate-C2z1YmWC.mjs";
3
+ import "./config-Bz8pAU5Q.mjs";
4
+ import "./config-SlZ-Z52i.mjs";
5
+ import "./paths-CypxFTfn.mjs";
6
+ import "./worktree-O_kU6Q3y.mjs";
7
+ import "./status-Cecau8Ps.mjs";
8
+ import "./pool-9EsbKD-U.mjs";
9
+ import "./registrable-Dxs4oKIj.mjs";
10
+ import { n as ensurePaiMarker, r as readPaiMarker, t as discoverPaiMarkers } from "./pai-marker-D6OoVbM_.mjs";
11
11
  import { d as estimateTokens, l as buildOutline, p as parseHeadings, r as detectTier, u as chunkMarkdown } from "./helpers-CRuBUas3.mjs";
12
12
  import { i as populateSlugs, n as buildFtsQuery } from "./search-RSyeQqj1.mjs";
13
13
  import { n as rerankResults, t as configureRerankerModel } from "./reranker-CqCbpGnX.mjs";
@@ -1,4 +1,4 @@
1
- import { o as paiSocketPath } from "./runtime-paths-WsO9sJFc.mjs";
1
+ import { o as paiSocketPath } from "./runtime-paths-twfV23YL.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { connect } from "node:net";
4
4
 
@@ -155,4 +155,4 @@ var PaiClient = class {
155
155
 
156
156
  //#endregion
157
157
  export { PaiClient as n, IPC_SOCKET_PATH as t };
158
- //# sourceMappingURL=ipc-client-CnYEF31R.mjs.map
158
+ //# sourceMappingURL=ipc-client-CmagIFLh.mjs.map
@@ -1,3 +1,3 @@
1
- import { n as PaiClient, t as IPC_SOCKET_PATH } from "./ipc-client-CnYEF31R.mjs";
1
+ import { n as PaiClient, t as IPC_SOCKET_PATH } from "./ipc-client-CmagIFLh.mjs";
2
2
 
3
3
  export { IPC_SOCKET_PATH, PaiClient };
@@ -1,9 +1,9 @@
1
- import { Et as appendLedger } from "./config-CST2uq1v.mjs";
2
- import { i as ledgerPath } from "./paths-DS5VQKoR.mjs";
3
- import { D as pidAlive, P as waitForTerminalStatus, k as saveStatus, v as loadStatus, w as ownsPid, y as loadStatuses } from "./status-COtzewKV.mjs";
4
- import { i as itermUuid } from "./scope-D8HK6vU7.mjs";
5
- import { a as buildsDir, d as releaseBuildsOf, t as callerIdentity } from "./caller-identity-Bim8JT-D.mjs";
6
- import { n as callerDescription, s as requestKill, t as appendStopEvent } from "./endreason-BqyyU7BH.mjs";
1
+ import { Et as appendLedger } from "./config-Bz8pAU5Q.mjs";
2
+ import { i as ledgerPath } from "./paths-CypxFTfn.mjs";
3
+ import { D as pidAlive, F as waitForTerminalStatus, k as saveStatus, v as loadStatus, w as ownsPid, y as loadStatuses } from "./status-Cecau8Ps.mjs";
4
+ import { i as itermUuid } from "./scope-BTWstJ1B.mjs";
5
+ import { a as buildsDir, d as releaseBuildsOf, t as callerIdentity } from "./caller-identity-C6Nc96iM.mjs";
6
+ import { n as callerDescription, s as requestKill, t as appendStopEvent } from "./endreason-C2-hYK0_.mjs";
7
7
  import { readFileSync } from "node:fs";
8
8
  import { join } from "node:path";
9
9
  import { homedir } from "node:os";
@@ -25,7 +25,7 @@ const defaultDeps = () => ({
25
25
  waitTerminal: (dir, id) => waitForTerminalStatus(dir, id),
26
26
  request: (dir, ledger, id, forced, by, reason) => requestKill(dir, ledger, id, by ?? callerDescription(), forced === true, reason),
27
27
  notifyOwner: async (session, text) => {
28
- const { sendToSession } = await import("./aibroker-client-BxzeEHPF.mjs");
28
+ const { sendToSession } = await import("./aibroker-client-ChB7gSxV.mjs");
29
29
  await sendToSession(session, text, void 0, { noReply: true });
30
30
  },
31
31
  graceMs: 1e3
@@ -257,4 +257,4 @@ async function killTree(logDir, id, opts = {}) {
257
257
 
258
258
  //#endregion
259
259
  export { killTree as i, isOwner as n, killRefusal as r, descendantsLeavesFirst as t };
260
- //# sourceMappingURL=kill-tree-CcpsRLCZ.mjs.map
260
+ //# sourceMappingURL=kill-tree-DPiMscaY.mjs.map
@@ -0,0 +1,10 @@
1
+ import "./config-Bz8pAU5Q.mjs";
2
+ import "./config-SlZ-Z52i.mjs";
3
+ import "./paths-CypxFTfn.mjs";
4
+ import "./status-Cecau8Ps.mjs";
5
+ import "./scope-BTWstJ1B.mjs";
6
+ import "./caller-identity-C6Nc96iM.mjs";
7
+ import "./endreason-C2-hYK0_.mjs";
8
+ import { i as killTree, n as isOwner, r as killRefusal, t as descendantsLeavesFirst } from "./kill-tree-DPiMscaY.mjs";
9
+
10
+ export { killTree };
@@ -1,6 +1,6 @@
1
1
  import { i as err } from "./utils-J2b9y8PC.mjs";
2
- import { M as readWorkersSection, bt as stripModelVariant, t as ANTHROPIC_NATIVE } from "./config-CST2uq1v.mjs";
3
- import { _t as nativeRoutePreflight, b as SESSION_PROVIDER_ENV, dt as claudeCommand, gt as nativeLaunchSettingsArgs, ht as nativeLaunchEnv, ut as buildRunEnv, xt as routeVerdictLine, yt as pinnedSettingsArgs } from "./routing-BlD_tKjW.mjs";
2
+ import { M as readWorkersSection, bt as stripModelVariant, t as ANTHROPIC_NATIVE } from "./config-Bz8pAU5Q.mjs";
3
+ import { _t as nativeRoutePreflight, b as SESSION_PROVIDER_ENV, dt as claudeCommand, gt as nativeLaunchSettingsArgs, ht as nativeLaunchEnv, ut as buildRunEnv, xt as routeVerdictLine, yt as pinnedSettingsArgs } from "./routing-aJKMIagQ.mjs";
4
4
  import { closeSync, copyFileSync, existsSync, fstatSync, linkSync, openSync, readSync, realpathSync } from "node:fs";
5
5
  import { join } from "node:path";
6
6
  import chalk from "chalk";
@@ -740,4 +740,4 @@ function launchInDir(dir, name, opts = {}) {
740
740
 
741
741
  //#endregion
742
742
  export { providerResumePlan as a, resumeOfferBlock as c, printExitDir as d, probeResume as i, resumeRouteFor as l, launchInDir as n, restoreTopLevel as o, launchPrompt as r, resumeArgvText as s, hasConversation as t, transcriptModelFor as u };
743
- //# sourceMappingURL=launch-UPQBoW2q.mjs.map
743
+ //# sourceMappingURL=launch-BZT3JDoZ.mjs.map
@@ -1,5 +1,5 @@
1
- import { M as readWorkersSection, R as LOOPBACK_HOST, _ as maskKey, a as MODEL_CAPABILITIES, b as nativeOrchestratorModel, c as WorkersConfigError, p as getProviderOrNative, t as ANTHROPIC_NATIVE, y as nativeAnthropicProvider } from "./config-CST2uq1v.mjs";
2
- import { _t as nativeRoutePreflight, b as SESSION_PROVIDER_ENV, ut as buildRunEnv, yt as pinnedSettingsArgs } from "./routing-BlD_tKjW.mjs";
1
+ import { M as readWorkersSection, R as LOOPBACK_HOST, _ as maskKey, a as MODEL_CAPABILITIES, b as nativeOrchestratorModel, c as WorkersConfigError, p as getProviderOrNative, t as ANTHROPIC_NATIVE, y as nativeAnthropicProvider } from "./config-Bz8pAU5Q.mjs";
2
+ import { _t as nativeRoutePreflight, b as SESSION_PROVIDER_ENV, ut as buildRunEnv, yt as pinnedSettingsArgs } from "./routing-aJKMIagQ.mjs";
3
3
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
4
4
  import { dirname, join } from "node:path";
5
5
  import { spawn } from "node:child_process";
@@ -258,4 +258,4 @@ function maskLaunchEnv(env) {
258
258
 
259
259
  //#endregion
260
260
  export { detectCurrentProviderName as a, ensureProxyRunning as c, detectCurrentModel as i, proxyPort as l, buildLaunchPlan as n, launchableProviderNames as o, buildLaunchRows as r, maskLaunchEnv as s, LaunchError as t, stopProxy as u };
261
- //# sourceMappingURL=launch-DpQPZGsT.mjs.map
261
+ //# sourceMappingURL=launch-Bn2Zf90h.mjs.map