@tekmidian/pai 1.0.6 → 1.0.7

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 (130) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/auto-route-CAlZ5p-h.mjs +11 -0
  3. package/dist/{auto-route-YaEGVrFl.mjs → auto-route-PDOAYszN.mjs} +2 -2
  4. package/dist/{budget-DEiebT2A.mjs → budget-BXmsSBLI.mjs} +10 -10
  5. package/dist/{caller-identity-C6Nc96iM.mjs → caller-identity-DPDSrZE2.mjs} +2 -2
  6. package/dist/{capacity-B2PgKAg4.mjs → capacity-CThSydrd.mjs} +25 -13
  7. package/dist/{chain-CtK49-Ma.mjs → chain-BvdKqRiZ.mjs} +5 -5
  8. package/dist/cli/index.mjs +182 -111
  9. package/dist/{cockpit-actions-D1OPP6Es.mjs → cockpit-actions-BgdKB9G3.mjs} +19 -19
  10. package/dist/{cockpit-actions-C73mJAJ8.mjs → cockpit-actions-DNl0rKfW.mjs} +14 -14
  11. package/dist/cockpit-memory-CqLPjcWe.mjs +20 -0
  12. package/dist/config/defaults/config.yaml +6 -0
  13. package/dist/config/defaults/workers.yaml +2 -0
  14. package/dist/{config-DLmyEK2q.mjs → config-C2dd2SXS.mjs} +1 -1
  15. package/dist/{config-Bz8pAU5Q.mjs → config-DGV64YJa.mjs} +9 -1
  16. package/dist/{controls-rIItFeIJ.mjs → controls-ByrcupcA.mjs} +14 -14
  17. package/dist/daemon/index.mjs +29 -29
  18. package/dist/{daemon-SoUvPUOf.mjs → daemon-BjgJyJMP.mjs} +22 -22
  19. package/dist/daemon-iymy18Ie.mjs +46 -0
  20. package/dist/daemon-mcp/index.mjs +27 -27
  21. package/dist/{embed-pass-CN1D8MXl.mjs → embed-pass-DdTMn4DH.mjs} +4 -4
  22. package/dist/{endreason-C2-hYK0_.mjs → endreason-BjPom527.mjs} +4 -4
  23. package/dist/{fallback-CwPSCrX8.mjs → fallback-CQ8_CuVu.mjs} +4 -4
  24. package/dist/{health-D0mUAVdw.mjs → health-Bb2U4PNK.mjs} +4 -4
  25. package/dist/hooks/block-sleep-poll.mjs +9 -0
  26. package/dist/hooks/capture-all-events.mjs +38 -7
  27. package/dist/hooks/capture-tool-output.mjs +38 -7
  28. package/dist/hooks/handoff-link.mjs +37 -6
  29. package/dist/hooks/load-project-context.mjs +9 -0
  30. package/dist/hooks/local-model-hint.mjs +9 -0
  31. package/dist/hooks/route-agents-to-worker.mjs +9 -0
  32. package/dist/hooks/security-validator.mjs +124 -28
  33. package/dist/hooks/supervision-banner.mjs +40 -7
  34. package/dist/hooks/worker-edit-repair.mjs +9 -0
  35. package/dist/hooks/worker-guard.mjs +46 -6
  36. package/dist/hooks/worker-note.mjs +47 -7
  37. package/dist/hooks/worker-pool-host.mjs +308 -146
  38. package/dist/hooks/worker-proxy.mjs +9 -0
  39. package/dist/hooks/worker-status-line.mjs +49 -7
  40. package/dist/hooks/worker-supervision.mjs +9 -0
  41. package/dist/hooks/worker-tool-name-repair.mjs +9 -0
  42. package/dist/index.mjs +7 -7
  43. package/dist/kill-tree-BlPw1vaU.mjs +10 -0
  44. package/dist/{kill-tree-DPiMscaY.mjs → kill-tree-DTmiEb3T.mjs} +7 -7
  45. package/dist/{launch-Bn2Zf90h.mjs → launch-CV6oPHI2.mjs} +3 -3
  46. package/dist/{launch-BZT3JDoZ.mjs → launch-Dy8qQnSD.mjs} +3 -3
  47. package/dist/{lessons-CFVU0cwA.mjs → lessons-CdmqZD0G.mjs} +21 -21
  48. package/dist/{local-candidate-DFd4pp-w.mjs → local-candidate-C2FGhf54.mjs} +2 -2
  49. package/dist/{local-instances-KTh8IeOT.mjs → local-instances-GgXydQ2P.mjs} +1 -1
  50. package/dist/{local-tiers-DSlIYvvm.mjs → local-tiers-X_dQfI4Q.mjs} +1 -1
  51. package/dist/{main-config-ops-rda08BCD.mjs → main-config-ops-C_fkINDv.mjs} +2 -2
  52. package/dist/{main-resolver-BKwI0I6H.mjs → main-resolver-CN_sfG1R.mjs} +13 -13
  53. package/dist/{model-inventory-BXv15B0d.mjs → model-inventory-BYNrSTaY.mjs} +10 -10
  54. package/dist/{models-add-5yXTyz3g.mjs → models-add-Dc7VXmcu.mjs} +30 -30
  55. package/dist/operator-IrLbk8hy.mjs +7 -0
  56. package/dist/{operator-Br6GeswF.mjs → operator-lRGvYr3D.mjs} +2 -2
  57. package/dist/{pai-marker-D6OoVbM_.mjs → pai-marker-kA0iM7rP.mjs} +2 -2
  58. package/dist/{pane-audit-DLYy9-4g.mjs → pane-audit-DUuilP1V.mjs} +8 -8
  59. package/dist/{paths-CypxFTfn.mjs → paths-BwfwHOvN.mjs} +2 -2
  60. package/dist/{paths-DIOwNcj-.mjs → paths-CKGYM0Lb.mjs} +2 -2
  61. package/dist/{planner-BzZ_2lc-.mjs → planner-BDHVUkIM.mjs} +22 -22
  62. package/dist/{pool-9EsbKD-U.mjs → pool-CFeHGX7q.mjs} +2 -2
  63. package/dist/{pool-cli-Cy5mlycP.mjs → pool-cli-Bj2TeA-d.mjs} +5 -5
  64. package/dist/{pool-cli-Db0uDwB9.mjs → pool-cli-DOLgPgOM.mjs} +5 -5
  65. package/dist/{project-setup-DHxdJjEc.mjs → project-setup-i5D0xkTn.mjs} +21 -21
  66. package/dist/{providers-BNV7CzC-.mjs → providers-BC2Myo_O.mjs} +5 -5
  67. package/dist/{providers-BH6hQYbU.mjs → providers-C-mnlH1b.mjs} +11 -11
  68. package/dist/{registrable-BwFiqazy.mjs → registrable-Ct0DKNKS.mjs} +6 -6
  69. package/dist/{registrable-Dxs4oKIj.mjs → registrable-D_4qXCnq.mjs} +4 -4
  70. package/dist/{render-jPpMrudf.mjs → render-CbifCwTb.mjs} +175 -65
  71. package/dist/{render-DVGXpfaT.mjs → render-FB4Fv_fi.mjs} +10 -10
  72. package/dist/{root-C8cxhdn9.mjs → root-80ESg6b7.mjs} +21 -21
  73. package/dist/{root-DmOzMeSv.mjs → root-B-ZYiEgi.mjs} +10 -10
  74. package/dist/{route-table-COAmc1nB.mjs → route-table-DcBZCuco.mjs} +10 -10
  75. package/dist/{routing-aJKMIagQ.mjs → routing-CF0wlR-_.mjs} +10 -10
  76. package/dist/{routing-B_cg1_Xx.mjs → routing-CJ8ioPl2.mjs} +10 -10
  77. package/dist/{run-DE9Q0ldN.mjs → run-CAjfKBQV.mjs} +53 -26
  78. package/dist/{scan-CNMcltOX.mjs → scan-ew8M6tTH.mjs} +3 -3
  79. package/dist/{scope-BTWstJ1B.mjs → scope-BRcaPw5D.mjs} +4 -4
  80. package/dist/session-BmQsXF_a.mjs +35 -0
  81. package/dist/{session-HBYOABWU.mjs → session-C1JnDXvP.mjs} +14 -14
  82. package/dist/{session-scan-BZxnYN1v.mjs → session-scan-DWCUKhDM.mjs} +5 -5
  83. package/dist/{session-scan-CX3MKCNg.mjs → session-scan-DihMibI-.mjs} +4 -4
  84. package/dist/{session-usage-CCmPFFa6.mjs → session-usage-BRIWFYPS.mjs} +2 -2
  85. package/dist/{status-D52xC_i0.mjs → status-Bj4yVKj0.mjs} +3 -3
  86. package/dist/{status-Cecau8Ps.mjs → status-DTMT5lyn.mjs} +2 -2
  87. package/dist/{tool-errors-BFw1gv-z.mjs → tool-errors-BOW2n882.mjs} +2 -2
  88. package/dist/{tool-errors-COM2JGEr.mjs → tool-errors-jNJj3Gzm.mjs} +5 -5
  89. package/dist/{viewer-DvBg6N22.mjs → viewer-4BU8w_gK.mjs} +14 -14
  90. package/dist/viewer-D3VEdqhC.mjs +22 -0
  91. package/dist/{wait-C5iWILj_.mjs → wait-BindDA5w.mjs} +3 -3
  92. package/dist/{worker-config-DkONNk_H.mjs → worker-config-CdPmb4_2.mjs} +25 -25
  93. package/dist/{worker-config-BmcJ9R0U.mjs → worker-config-CfV2dgSb.mjs} +29 -29
  94. package/dist/{workers-config-DwzrtdYu.mjs → workers-config-2VipVOYk.mjs} +1 -1
  95. package/dist/{worktree-O_kU6Q3y.mjs → worktree-7ZS3RBf8.mjs} +21 -11
  96. package/gemini-extension.json +1 -1
  97. package/package.json +1 -1
  98. package/pai-plugin.json +1 -1
  99. package/plugins/context-preservation/plugin.json +1 -1
  100. package/plugins/core/plugin.json +1 -1
  101. package/plugins/creative/plugin.json +1 -1
  102. package/plugins/observability/plugin.json +1 -1
  103. package/plugins/productivity/plugin.json +1 -1
  104. package/plugins/semantic-search/plugin.json +1 -1
  105. package/plugins/ui/plugin.json +1 -1
  106. package/plugins/zettelkasten/plugin.json +1 -1
  107. package/src/hooks/ts/lib/rules/builtin/base64-decode-to-shell.rule.yaml +3 -1
  108. package/src/hooks/ts/lib/rules/builtin/chmod-zero.rule.yaml +2 -0
  109. package/src/hooks/ts/lib/rules/builtin/curl-piped-to-shell.rule.yaml +8 -1
  110. package/src/hooks/ts/lib/rules/builtin/find-root-delete.rule.yaml +4 -1
  111. package/src/hooks/ts/lib/rules/builtin/instruction-override-disregard.rule.yaml +2 -0
  112. package/src/hooks/ts/lib/rules/builtin/reverse-shell-dev-tcp.rule.yaml +3 -0
  113. package/src/hooks/ts/lib/rules/builtin/reverse-shell-interactive-bash.rule.yaml +1 -0
  114. package/src/hooks/ts/lib/rules/builtin/rm-recursive-parent.rule.yaml +3 -1
  115. package/src/hooks/ts/lib/rules/builtin/rm-recursive-relative.rule.yaml +2 -1
  116. package/src/hooks/ts/lib/rules/builtin/rm-recursive-root.rule.yaml +4 -1
  117. package/src/hooks/ts/lib/rules/builtin/rm-trailing-tilde.rule.yaml +2 -1
  118. package/src/hooks/ts/lib/rules/builtin.generated.ts +34 -7
  119. package/src/hooks/ts/lib/rules/eval.ts +6 -4
  120. package/src/hooks/ts/lib/rules/lint.ts +7 -1
  121. package/src/hooks/ts/lib/rules/load.ts +55 -20
  122. package/src/hooks/ts/lib/rules/types.ts +2 -0
  123. package/src/hooks/ts/pre-tool-use/security-validator.ts +10 -2
  124. package/dist/auto-route-Bc8xP6TQ.mjs +0 -11
  125. package/dist/cockpit-memory-CLHZD64W.mjs +0 -20
  126. package/dist/daemon-176qA79N.mjs +0 -46
  127. package/dist/kill-tree-Dxei6qlR.mjs +0 -10
  128. package/dist/operator-Bmv5tiHQ.mjs +0 -7
  129. package/dist/session-DgZifjLx.mjs +0 -35
  130. package/dist/viewer-Ce-Xa9L3.mjs +0 -22
@@ -1,12 +1,12 @@
1
- import { M as readWorkersSection, b as nativeOrchestratorModel, p as getProviderOrNative, t as ANTHROPIC_NATIVE } from "./config-Bz8pAU5Q.mjs";
2
- import { u as workersLogDir } from "./paths-CypxFTfn.mjs";
3
- import { d as terminalHasName } from "./scope-BTWstJ1B.mjs";
4
- import { An as httpModelsCheck, Cn as resolveLocalProvider, Dn as allSetups, Fn as setupWorkersLabel, Ln as shortModel, Mn as orchestratorLabel, On as downLocalProviders, Pn as setupProfile, Rn as workersLabel, dn as getProfile, jn as loadSaved, kn as findSetup, mn as updateProfile, o as cooldownRemaining, un as SESSION_NAME_ENV, x as SESSION_WORKER_PROVIDER_ENV } from "./routing-aJKMIagQ.mjs";
1
+ import { M as readWorkersSection, b as nativeOrchestratorModel, p as getProviderOrNative, t as ANTHROPIC_NATIVE } from "./config-DGV64YJa.mjs";
2
+ import { u as workersLogDir } from "./paths-BwfwHOvN.mjs";
3
+ import { d as terminalHasName } from "./scope-BRcaPw5D.mjs";
4
+ import { An as httpModelsCheck, Cn as resolveLocalProvider, Dn as allSetups, Fn as setupWorkersLabel, Ln as shortModel, Mn as orchestratorLabel, On as downLocalProviders, Pn as setupProfile, Rn as workersLabel, dn as getProfile, jn as loadSaved, kn as findSetup, mn as updateProfile, o as cooldownRemaining, un as SESSION_NAME_ENV, x as SESSION_WORKER_PROVIDER_ENV } from "./routing-CF0wlR-_.mjs";
5
5
  import { n as OPT, t as CliError } from "./define-CjJsmq-6.mjs";
6
- import { C as assertAvailable, D as execHarness, E as dryRunText, O as looksLikePath, T as buildHarness, k as prepareDir, r as collectView, w as modelFor } from "./session-HBYOABWU.mjs";
7
- import { o as launchableProviderNames, t as LaunchError } from "./launch-Bn2Zf90h.mjs";
8
- import { a as colorEnabled, f as renderTable, n as readBudget, o as makeStyle, p as suggest, t as providerHealth } from "./health-D0mUAVdw.mjs";
9
- import { i as probeResume } from "./launch-BZT3JDoZ.mjs";
6
+ import { C as assertAvailable, D as execHarness, E as dryRunText, O as looksLikePath, T as buildHarness, k as prepareDir, r as collectView, w as modelFor } from "./session-C1JnDXvP.mjs";
7
+ import { o as launchableProviderNames, t as LaunchError } from "./launch-CV6oPHI2.mjs";
8
+ import { a as colorEnabled, f as renderTable, n as readBudget, o as makeStyle, p as suggest, t as providerHealth } from "./health-Bb2U4PNK.mjs";
9
+ import { i as probeResume } from "./launch-Dy8qQnSD.mjs";
10
10
  import { writeFileSync } from "node:fs";
11
11
  import { basename } from "node:path";
12
12
  import { emitKeypressEvents } from "node:readline";
@@ -683,7 +683,7 @@ async function runRoot(args, term = systemTerm()) {
683
683
  with: args.with,
684
684
  dryRun: args.dryRun
685
685
  }, term);
686
- return (await import("./session-DgZifjLx.mjs")).runNewDefault({
686
+ return (await import("./session-BmQsXF_a.mjs")).runNewDefault({
687
687
  dir: args.name,
688
688
  dryRun: args.dryRun
689
689
  });
@@ -791,4 +791,4 @@ const rootCommand = {
791
791
 
792
792
  //#endregion
793
793
  export { setupsTable as _, lastSetup as a, truncate as b, localState as c, pickerOpts as d, plainTable as f, runRoot as g, runNewWith as h, lastOnLabel as i, matchRows as l, rootCommand as m, ago as n, launchKey as o, resolveSetup as p, finishCd as r, launchScreen as s, CANCELLED as t, pickerLayout as u, startSession as v, systemTerm as y };
794
- //# sourceMappingURL=root-DmOzMeSv.mjs.map
794
+ //# sourceMappingURL=root-B-ZYiEgi.mjs.map
@@ -1,15 +1,15 @@
1
- import "./config-Bz8pAU5Q.mjs";
1
+ import "./config-DGV64YJa.mjs";
2
2
  import "./config-SlZ-Z52i.mjs";
3
- import "./paths-CypxFTfn.mjs";
4
- import "./status-Cecau8Ps.mjs";
5
- import "./scope-BTWstJ1B.mjs";
6
- import { Bt as resolveSelector, Ft as clearSessionRoute, Gt as servingChip, Ht as routeChoices, It as configuredLocal, Jt as setRoute, Kt as sessionRoutesPatch, Lt as entryLabel, Nt as TIGHT_PERCENT, Pt as applyPolicyToRoutes, Rt as flowText, Ut as routeRows, Vt as resolveSessionArg, Wt as routeText, Xt as tierFlow, Yt as setSessionRoute, Zt as validateRoute, qt as sessionStartTarget, zt as parseSelector } from "./routing-aJKMIagQ.mjs";
7
- import "./tool-errors-BFw1gv-z.mjs";
8
- import "./wait-C5iWILj_.mjs";
3
+ import "./paths-BwfwHOvN.mjs";
4
+ import "./status-DTMT5lyn.mjs";
5
+ import "./scope-BRcaPw5D.mjs";
6
+ import { Bt as resolveSelector, Ft as clearSessionRoute, Gt as servingChip, Ht as routeChoices, It as configuredLocal, Jt as setRoute, Kt as sessionRoutesPatch, Lt as entryLabel, Nt as TIGHT_PERCENT, Pt as applyPolicyToRoutes, Rt as flowText, Ut as routeRows, Vt as resolveSessionArg, Wt as routeText, Xt as tierFlow, Yt as setSessionRoute, Zt as validateRoute, qt as sessionStartTarget, zt as parseSelector } from "./routing-CF0wlR-_.mjs";
7
+ import "./tool-errors-BOW2n882.mjs";
8
+ import "./wait-BindDA5w.mjs";
9
9
  import "./local-tiers-CqwGUcEn.mjs";
10
- import "./caller-identity-C6Nc96iM.mjs";
11
- import "./capacity-B2PgKAg4.mjs";
10
+ import "./caller-identity-DPDSrZE2.mjs";
11
+ import "./capacity-CThSydrd.mjs";
12
12
  import "./local-instances-DhF4_sV2.mjs";
13
- import "./local-candidate-DFd4pp-w.mjs";
13
+ import "./local-candidate-C2FGhf54.mjs";
14
14
 
15
15
  export { setRoute };
@@ -1,17 +1,17 @@
1
1
  import { _ as paiHomePath, g as paiHomeDir } from "./runtime-paths-twfV23YL.mjs";
2
2
  import { t as writeFileAtomic } from "./atomic-file-BorMa4T3.mjs";
3
- import { A as providerQuotaSkipAt, B as isLoopbackUrl$1, F as resolveProviderKey, L as writeWorkersSection, M as readWorkersSection, N as resolveCapability, O as providerCostTier, P as resolveModelCapability, R as LOOPBACK_HOST, V as loopbackUrl$1, b as nativeOrchestratorModel, bt as stripModelVariant, c as WorkersConfigError, dt as findTier, ft as listForPolicy, gt as targetList, ht as sessionTier, lt as classRoute, m as isLocalProvider, mt as parseEntry, p as getProviderOrNative, pt as migrateSessionRoutes, rt as workersYamlPath, s as WORKER_CLASSES, st as MAX_ROUTE_MODELS, t as ANTHROPIC_NATIVE, u as classModelCapability, ut as entryProvider, y as nativeAnthropicProvider, z as isLoopbackHostname } from "./config-Bz8pAU5Q.mjs";
3
+ import { A as providerQuotaSkipAt, B as isLoopbackUrl$1, F as resolveProviderKey, L as writeWorkersSection, M as readWorkersSection, N as resolveCapability, O as providerCostTier, P as resolveModelCapability, R as LOOPBACK_HOST, V as loopbackUrl$1, b as nativeOrchestratorModel, bt as stripModelVariant, c as WorkersConfigError, dt as findTier, ft as listForPolicy, gt as targetList, ht as sessionTier, lt as classRoute, m as isLocalProvider, mt as parseEntry, p as getProviderOrNative, pt as migrateSessionRoutes, rt as workersYamlPath, s as WORKER_CLASSES, st as MAX_ROUTE_MODELS, t as ANTHROPIC_NATIVE, u as classModelCapability, ut as entryProvider, y as nativeAnthropicProvider, z as isLoopbackHostname } from "./config-DGV64YJa.mjs";
4
4
  import { c as loadConfig, f as readMainConfigRaw } from "./config-SlZ-Z52i.mjs";
5
- import { s as routingStatePath, u as workersLogDir } from "./paths-CypxFTfn.mjs";
6
- import { g as isLive, v as loadStatus, y as loadStatuses } from "./status-Cecau8Ps.mjs";
7
- import { o as resolveSession, p as currentWorkerId, t as AIBROKER_REGISTRY } from "./scope-BTWstJ1B.mjs";
8
- import { x as recordToolError } from "./tool-errors-BFw1gv-z.mjs";
5
+ import { s as routingStatePath, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
6
+ import { g as isLive, v as loadStatus, y as loadStatuses } from "./status-DTMT5lyn.mjs";
7
+ import { o as resolveSession, p as currentWorkerId, t as AIBROKER_REGISTRY } from "./scope-BRcaPw5D.mjs";
8
+ import { x as recordToolError } from "./tool-errors-BOW2n882.mjs";
9
9
  import { _ as readLocalConfig, d as installedModelDirs, p as logPathFor } from "./local-tiers-CqwGUcEn.mjs";
10
- import { a as buildsDir, l as listBuildsSync, t as callerIdentity } from "./caller-identity-C6Nc96iM.mjs";
10
+ import { a as buildsDir, l as listBuildsSync, t as callerIdentity } from "./caller-identity-DPDSrZE2.mjs";
11
11
  import { a as newPrefill, c as schedEnabled, f as sharedScheduler } from "./scheduler-CtUyWJ3O.mjs";
12
- import { i as effectiveCap } from "./capacity-B2PgKAg4.mjs";
12
+ import { i as effectiveCap } from "./capacity-CThSydrd.mjs";
13
13
  import { i as instanceNumber, l as readInstances, r as instanceEngineKey, s as pickInstance, t as endpointRegistry, u as readLiveInstances } from "./local-instances-DhF4_sV2.mjs";
14
- import { c as writeLocalStatus, n as tierProviderNames, r as LOCAL_STATUS_REFRESH_MS, s as readLocalStatus, t as isLocalCandidate } from "./local-candidate-DFd4pp-w.mjs";
14
+ import { c as writeLocalStatus, n as tierProviderNames, r as LOCAL_STATUS_REFRESH_MS, s as readLocalStatus, t as isLocalCandidate } from "./local-candidate-C2FGhf54.mjs";
15
15
  import { n as TAILSCALE_STATUS_TIMEOUT_MS, t as LOCAL_PROBE_TIMEOUT_MS } from "./timeouts-1MLooEBB.mjs";
16
16
  import { appendFileSync, chmodSync, closeSync, existsSync, fstatSync, mkdirSync, mkdtempSync, openSync, readFileSync, readSync, readdirSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
17
17
  import { createHash, randomBytes } from "node:crypto";
@@ -1690,7 +1690,7 @@ async function detectSessionName(env = process.env, deps = {}) {
1690
1690
  let name;
1691
1691
  const registry = deps.registryPath ?? AIBROKER_REGISTRY;
1692
1692
  const claudeId = env.CLAUDE_CODE_SESSION_ID?.trim();
1693
- const { loadBrokerNames, transcriptCustomTitle } = await import("./session-scan-BZxnYN1v.mjs");
1693
+ const { loadBrokerNames, transcriptCustomTitle } = await import("./session-scan-DWCUKhDM.mjs");
1694
1694
  name = resolveSession(env.ITERM_SESSION_ID ?? "", registry)?.name ?? (claudeId ? loadBrokerNames(registry, deps.mapPath).get(claudeId) ?? transcriptCustomTitle(claudeId, deps.projectsDir) : void 0) ?? await (deps.projectName ?? registryProjectName)(cwd);
1695
1695
  cached = {
1696
1696
  key,
@@ -6026,4 +6026,4 @@ function resolveCapabilityRun(config, capability) {
6026
6026
 
6027
6027
  //#endregion
6028
6028
  export { parseFootprint as $, usageLogFile as $n, clearPolicy as $t, budgetSkipReason as A, httpModelsCheck as An, resolveBindAddress as At, MODEL_INVENTORY_MAX_AGE_MS as B, setParkConfigSource as Bn, resolveSelector as Bt, detectSessionProvider as C, resolveLocalProvider as Cn, removeRunSettings as Ct, budgetExceeded as D, allSetups as Dn, routerPort as Dt, budgetCache as E, PORT_TIMEOUT_MS as En, routerHandler as Et, LimitsCache as F, setupWorkersLabel as Fn, clearSessionRoute as Ft, fmtMem as G, appendUsage as Gn, servingChip as Gt, ProbeHold as H, recordDuration as Hn, routeChoices as Ht, buildSpeed as I, setupsPath as In, configuredLocal as It, inventoryRows as J, isTimeOrdered as Jn, setRoute as Jt, fmtMemMapped as K, formatSessionStats as Kn, sessionRoutesPatch as Kt, percentile as L, shortModel as Ln, entryLabel as Lt, budgetWall as M, orchestratorLabel as Mn, loopbackRefusal as Mt, fetchBudgetReading as N, saveSetup as Nn, TIGHT_PERCENT as Nt, budgetFresh as O, downLocalProviders as On, defaultV1Guard as Ot, pickBudgetWindow as P, setupProfile as Pn, applyPolicyToRoutes as Pt, modelLabel as Q, splitBySessionKind as Qn, POLICY_MODES as Qt, DOWN_AFTER_MISSES as R, workersLabel as Rn, flowText as Rt, applySessionProviderEnv as S, providerHostPort as Sn, gcSettingsFiles as St, BudgetCache as T, startLocalStatusRefresh as Tn, duplicateModelIds as Tt, computeInventory as U, aggregate as Un, routeRows as Ut, MODEL_INVENTORY_REFRESH_MS as V, sharedParker as Vn, resolveSessionArg as Vt, currentInventory as W, aggregateBySession as Wn, routeText as Wt, liveDeps as X, parseSince as Xn, tierFlow as Xt, inventoryText as Y, markTimeOrdered as Yn, setSessionRoute as Yt, modelKind as Z, readUsage as Zn, validateRoute as Zt, resolveTarget as _, currentLocalStatus as _n, nativeRoutePreflight as _t, clearCooldown as a, readPolicy as an, readInventoryInput as at, SESSION_PROVIDER_ENV as b, pickLocal as bn, routeLoopbackViaRouter as bt, exclusionReason as c, detectSessionName as cn, writeInventory as ct, probeQuota as d, getProfile as dn, claudeCommand as dt, committedFallThrough as en, parseSizeMb as et, quotaExceeded as f, profilesPath as fn, claudeSettingsExtra as ft, resolveCapabilityRun as g, NoLocalServerError as gn, nativeLaunchSettingsArgs as gt, recordBudgetCooldowns as h, LOCAL_MECHANISM_LINE as hn, nativeLaunchEnv as ht, capabilityForRun as i, parseDuration as in, readInventory as it, budgetUntilLabel as j, loadSaved as jn, isTailnetOrLocalName as jt, budgetFull as k, findSetup as kn, displayHost as kt, isQuotaFailure as l, BATCH_ENV as ln, addSchedulingHeaders as lt, readRoutingState as m, updateProfile as mn, loopbackRouterChoice as mt, NoProviderError as n, findLocal as nn, processTreeMemory as nt, cooldownRemaining as o, routeRun as on, readModelLabels as ot, quotaSkipThreshold as p, readProfiles as pn, isLoopbackProvider as pt, inventoryPath as q, formatStats as qn, sessionStartTarget as qt, autoOrder as r, onBattery as rn, processTreeRssMb as rt, entryModel as s, writePolicy as sn, startInventoryRefresh as st, BUDGET_COOLDOWN_MIN as t, fallThroughReason as tn, parseTable as tt, nextAutoProvider as u, SESSION_NAME_ENV as un, buildRunEnv as ut, setCooldown as v, localProviderForDelegation as vn, pinnedSettings as vt, BUDGET_TTL_MS as w, resolveRunnerProvider as wn, writePrivateFile as wt, SESSION_WORKER_PROVIDER_ENV as x, probeLoopback as xn, routeVerdictLine as xt, writeRoutingState as y, localTierOrder as yn, pinnedSettingsArgs as yt, INVENTORY_HEADERS as z, parkConfigFrom as zn, parseSelector as zt };
6029
- //# sourceMappingURL=routing-aJKMIagQ.mjs.map
6029
+ //# sourceMappingURL=routing-CF0wlR-_.mjs.map
@@ -1,15 +1,15 @@
1
- import "./config-Bz8pAU5Q.mjs";
1
+ import "./config-DGV64YJa.mjs";
2
2
  import "./config-SlZ-Z52i.mjs";
3
- import "./paths-CypxFTfn.mjs";
4
- import "./status-Cecau8Ps.mjs";
5
- import "./scope-BTWstJ1B.mjs";
6
- import { _ as resolveTarget, a as clearCooldown, c as exclusionReason, d as probeQuota, f as quotaExceeded, g as resolveCapabilityRun, h as recordBudgetCooldowns, i as capabilityForRun, l as isQuotaFailure, m as readRoutingState, n as NoProviderError, o as cooldownRemaining, p as quotaSkipThreshold, r as autoOrder, s as entryModel, t as BUDGET_COOLDOWN_MIN, u as nextAutoProvider, v as setCooldown, y as writeRoutingState } from "./routing-aJKMIagQ.mjs";
7
- import "./tool-errors-BFw1gv-z.mjs";
8
- import "./wait-C5iWILj_.mjs";
3
+ import "./paths-BwfwHOvN.mjs";
4
+ import "./status-DTMT5lyn.mjs";
5
+ import "./scope-BRcaPw5D.mjs";
6
+ import { _ as resolveTarget, a as clearCooldown, c as exclusionReason, d as probeQuota, f as quotaExceeded, g as resolveCapabilityRun, h as recordBudgetCooldowns, i as capabilityForRun, l as isQuotaFailure, m as readRoutingState, n as NoProviderError, o as cooldownRemaining, p as quotaSkipThreshold, r as autoOrder, s as entryModel, t as BUDGET_COOLDOWN_MIN, u as nextAutoProvider, v as setCooldown, y as writeRoutingState } from "./routing-CF0wlR-_.mjs";
7
+ import "./tool-errors-BOW2n882.mjs";
8
+ import "./wait-BindDA5w.mjs";
9
9
  import "./local-tiers-CqwGUcEn.mjs";
10
- import "./caller-identity-C6Nc96iM.mjs";
11
- import "./capacity-B2PgKAg4.mjs";
10
+ import "./caller-identity-DPDSrZE2.mjs";
11
+ import "./capacity-CThSydrd.mjs";
12
12
  import "./local-instances-DhF4_sV2.mjs";
13
- import "./local-candidate-DFd4pp-w.mjs";
13
+ import "./local-candidate-C2FGhf54.mjs";
14
14
 
15
15
  export { BUDGET_COOLDOWN_MIN, NoProviderError, autoOrder, capabilityForRun, clearCooldown, cooldownRemaining, entryModel, exclusionReason, isQuotaFailure, nextAutoProvider, probeQuota, quotaExceeded, quotaSkipThreshold, readRoutingState, recordBudgetCooldowns, resolveCapabilityRun, resolveTarget, setCooldown, writeRoutingState };
@@ -1,27 +1,27 @@
1
1
  import { _ as paiHomePath, l as claudeHomeDir } from "./runtime-paths-twfV23YL.mjs";
2
- import { Ct as planEscalation, Et as appendLedger, F as resolveProviderKey, M as readWorkersSection, P as resolveModelCapability, R as LOOPBACK_HOST, St as ledgerEscalate, Tt as withSummary, c as WorkersConfigError, ct as applyRouteOverrides, f as escalationCloud, h as isModelCapability, j as readWorkersCached, k as providerKeyPath, l as assertProviderRunnable, m as isLocalProvider, mt as parseEntry, p as getProviderOrNative, rt as workersYamlPath, t as ANTHROPIC_NATIVE, u as classModelCapability, v as nativeAnthropicModels, vt as certainContextWindow, wt as sessionNote } from "./config-Bz8pAU5Q.mjs";
2
+ import { Ct as planEscalation, Et as appendLedger, F as resolveProviderKey, M as readWorkersSection, P as resolveModelCapability, R as LOOPBACK_HOST, St as ledgerEscalate, Tt as withSummary, c as WorkersConfigError, ct as applyRouteOverrides, f as escalationCloud, h as isModelCapability, j as readWorkersCached, k as providerKeyPath, l as assertProviderRunnable, m as isLocalProvider, mt as parseEntry, p as getProviderOrNative, rt as workersYamlPath, t as ANTHROPIC_NATIVE, u as classModelCapability, v as nativeAnthropicModels, vt as certainContextWindow, wt as sessionNote } from "./config-DGV64YJa.mjs";
3
3
  import { _ as effectiveWorkersYamlRaw } from "./config-SlZ-Z52i.mjs";
4
- import { i as ledgerPath, n as ensureNoMcpConfig, r as eventsPath, u as workersLogDir } from "./paths-CypxFTfn.mjs";
5
- import { A as applyScratchEnv, C as worktreeWanted, S as worktreeSystemPrompt, _ as ownedTree, a as archiveEmptyResult, f as gcWorktreesThrottled, h as markResumed, i as adoptTree, j as scratchPromptLine, o as commitLines, p as inPlaceSystemPrompt, r as addWorktree, t as GATE_MARK, v as recordWorktree, w as worktreesDir, x as worktreeRefusesStart, y as salvageOnExit } from "./worktree-O_kU6Q3y.mjs";
6
- import { $ as appendSystemPromptArgs, A as selfProcStart, C as nowStamp, D as pidAlive, E as parseSleepSecs, Q as projectRoot, S as newWorkerId, X as preambleBlock, Y as loadPreamble, Z as preambleLine, a as UNLABELED, d as describeTool, g as isLive, it as stripPromptValues, k as saveStatus, nt as parseRunnerArgs, rt as shortText, v as loadStatus, x as markStartFailed, y as loadStatuses } from "./status-Cecau8Ps.mjs";
7
- import { D as readMcpServers, E as mcpServersFromToolGrants, O as writeMcpConfig, S as inputSideTokens, T as grantsChrome, d as poolIneligibleReason, g as postTaskToPool, h as poolSettings, n as SLOT_TOOLS, r as UNIT_MARKER, t as SHARED_MARKER, w as expandMcpNames, y as reloadInProgress } from "./pool-9EsbKD-U.mjs";
8
- import { i as itermUuid, o as resolveSession, s as resolveSpawnerSession } from "./scope-BTWstJ1B.mjs";
9
- import { An as httpModelsCheck, Cn as resolveLocalProvider, Ct as removeRunSettings, Dt as routerPort, E as budgetCache, En as PORT_TIMEOUT_MS, S as applySessionProviderEnv, Sn as providerHostPort, _ as resolveTarget, bt as routeLoopbackViaRouter, cn as detectSessionName, dn as getProfile, dt as claudeCommand, en as committedFallThrough, ft as claudeSettingsExtra, g as resolveCapabilityRun, gn as NoLocalServerError, h as recordBudgetCooldowns, hn as LOCAL_MECHANISM_LINE, i as capabilityForRun, k as budgetFull, l as isQuotaFailure, ln as BATCH_ENV, lt as addSchedulingHeaders, n as NoProviderError, o as cooldownRemaining, on as routeRun, pt as isLoopbackProvider, r as autoOrder, tn as fallThroughReason, u as nextAutoProvider, ut as buildRunEnv, v as setCooldown, vt as pinnedSettings, wn as resolveRunnerProvider, wt as writePrivateFile, x as SESSION_WORKER_PROVIDER_ENV, xn as probeLoopback } from "./routing-aJKMIagQ.mjs";
4
+ import { i as ledgerPath, n as ensureNoMcpConfig, r as eventsPath, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
5
+ import { A as applyScratchEnv, C as worktreeWanted, S as worktreeSystemPrompt, _ as ownedTree, a as archiveEmptyResult, f as gcWorktreesThrottled, h as markResumed, i as adoptTree, j as scratchPromptLine, o as commitLines, p as inPlaceSystemPrompt, r as addWorktree, t as GATE_MARK, v as recordWorktree, w as worktreesDir, x as worktreeRefusesStart, y as salvageOnExit } from "./worktree-7ZS3RBf8.mjs";
6
+ import { $ as appendSystemPromptArgs, A as selfProcStart, C as nowStamp, D as pidAlive, E as parseSleepSecs, Q as projectRoot, S as newWorkerId, X as preambleBlock, Y as loadPreamble, Z as preambleLine, a as UNLABELED, d as describeTool, g as isLive, it as stripPromptValues, k as saveStatus, nt as parseRunnerArgs, rt as shortText, v as loadStatus, x as markStartFailed, y as loadStatuses } from "./status-DTMT5lyn.mjs";
7
+ import { D as readMcpServers, E as mcpServersFromToolGrants, O as writeMcpConfig, S as inputSideTokens, T as grantsChrome, d as poolIneligibleReason, g as postTaskToPool, h as poolSettings, n as SLOT_TOOLS, r as UNIT_MARKER, t as SHARED_MARKER, w as expandMcpNames, y as reloadInProgress } from "./pool-CFeHGX7q.mjs";
8
+ import { i as itermUuid, o as resolveSession, s as resolveSpawnerSession } from "./scope-BRcaPw5D.mjs";
9
+ import { An as httpModelsCheck, Cn as resolveLocalProvider, Ct as removeRunSettings, Dt as routerPort, E as budgetCache, En as PORT_TIMEOUT_MS, S as applySessionProviderEnv, Sn as providerHostPort, _ as resolveTarget, bt as routeLoopbackViaRouter, cn as detectSessionName, dn as getProfile, dt as claudeCommand, en as committedFallThrough, ft as claudeSettingsExtra, g as resolveCapabilityRun, gn as NoLocalServerError, h as recordBudgetCooldowns, hn as LOCAL_MECHANISM_LINE, i as capabilityForRun, k as budgetFull, l as isQuotaFailure, ln as BATCH_ENV, lt as addSchedulingHeaders, n as NoProviderError, o as cooldownRemaining, on as routeRun, pt as isLoopbackProvider, r as autoOrder, tn as fallThroughReason, u as nextAutoProvider, ut as buildRunEnv, v as setCooldown, vt as pinnedSettings, wn as resolveRunnerProvider, wt as writePrivateFile, x as SESSION_WORKER_PROVIDER_ENV, xn as probeLoopback } from "./routing-CF0wlR-_.mjs";
10
10
  import { t as maxOf } from "./min-max-DrSRUaWQ.mjs";
11
- import { b as readToolErrors, h as harnessToolErrorTexts, p as grantedToolNames, x as recordToolError } from "./tool-errors-BFw1gv-z.mjs";
12
- import { _ as workerContractPrompt, b as killProcessTree, c as checkProof, d as parseWorkerReport, f as promptTrailer, g as verifyReportChanges, h as verifyFailNote, l as newUntracked, m as untrackedPaths, o as AG2_REASK_TEXT, s as OPERATOR_MARK, u as noteTokenSentence, v as repairAndValidateAg2, x as processTree, y as validateAg2 } from "./wait-C5iWILj_.mjs";
13
- import { a as buildsDir, d as releaseBuildsOf } from "./caller-identity-C6Nc96iM.mjs";
14
- import { _ as sessionScopeKey, b as staggerGate, h as resolveCap, n as capacityGate, r as capacityOf, t as admitCap, u as queuedText, y as recordWarmup } from "./capacity-B2PgKAg4.mjs";
15
- import { n as tierProviderNames, t as isLocalCandidate } from "./local-candidate-DFd4pp-w.mjs";
11
+ import { b as readToolErrors, h as harnessToolErrorTexts, p as grantedToolNames, x as recordToolError } from "./tool-errors-BOW2n882.mjs";
12
+ import { _ as workerContractPrompt, b as killProcessTree, c as checkProof, d as parseWorkerReport, f as promptTrailer, g as verifyReportChanges, h as verifyFailNote, l as newUntracked, m as untrackedPaths, o as AG2_REASK_TEXT, s as OPERATOR_MARK, u as noteTokenSentence, v as repairAndValidateAg2, x as processTree, y as validateAg2 } from "./wait-BindDA5w.mjs";
13
+ import { a as buildsDir, d as releaseBuildsOf } from "./caller-identity-DPDSrZE2.mjs";
14
+ import { _ as sessionScopeKey, b as staggerGate, h as resolveCap, n as capacityGate, r as capacityOf, t as admitCap, u as queuedText, y as recordWarmup } from "./capacity-CThSydrd.mjs";
15
+ import { n as tierProviderNames, t as isLocalCandidate } from "./local-candidate-C2FGhf54.mjs";
16
16
  import { t as LOCAL_PROBE_TIMEOUT_MS } from "./timeouts-1MLooEBB.mjs";
17
17
  import { i as getRegistryBackend } from "./factory-CYwa0jYj.mjs";
18
- import { c as ensureProxyRunning, i as detectCurrentModel, l as proxyPort } from "./launch-Bn2Zf90h.mjs";
19
- import { A as tail, Ct as openOwnedPane, Q as NoTerminalError, Ut as isHandoffMessage, Vt as deliverHandoff, _ as troublePolicy, _t as paneTitle, at as headlessAllowed, d as aibrokerMessenger, f as detachRun, h as originFromEnv, ht as resolveHostSession, it as followCommand, m as markRunDone, mt as realPaneOps, nt as closePaneForWorker, o as ownerOf, p as eventLine, qt as localFailures, r as returnControlsIfHeld, ut as openVerifiedPane, v as appendRunLog, z as gatePhaseName } from "./controls-rIItFeIJ.mjs";
20
- import { i as endFields, o as parentInfo, r as decideEndReason, t as appendStopEvent } from "./endreason-C2-hYK0_.mjs";
21
- import { $ as launchParent, A as resolveLimit, E as armDeadline, I as scanWorkerRun, M as blockedMsOf, O as deadlinePromptLine, Q as isWorkerId, T as recordDenial, X as assertChildAllowed, Z as checkOrphanedChildren, k as extendLimit, w as parseDenialText } from "./render-jPpMrudf.mjs";
22
- import { t as createOperatorServer } from "./operator-Br6GeswF.mjs";
23
- import { i as killTree } from "./kill-tree-DPiMscaY.mjs";
24
- import { r as ensurePoolHost } from "./pool-cli-Db0uDwB9.mjs";
18
+ import { c as ensureProxyRunning, i as detectCurrentModel, l as proxyPort } from "./launch-CV6oPHI2.mjs";
19
+ import { A as tail, Ct as openOwnedPane, Q as NoTerminalError, Ut as isHandoffMessage, Vt as deliverHandoff, _ as troublePolicy, _t as paneTitle, at as headlessAllowed, d as aibrokerMessenger, f as detachRun, h as originFromEnv, ht as resolveHostSession, it as followCommand, m as markRunDone, mt as realPaneOps, nt as closePaneForWorker, o as ownerOf, p as eventLine, qt as localFailures, r as returnControlsIfHeld, ut as openVerifiedPane, v as appendRunLog, z as gatePhaseName } from "./controls-ByrcupcA.mjs";
20
+ import { i as endFields, o as parentInfo, r as decideEndReason, t as appendStopEvent } from "./endreason-BjPom527.mjs";
21
+ import { $ as isWorkerId, A as resolveLimit, E as armDeadline, I as scanWorkerRun, M as blockedMsOf, O as deadlinePromptLine, Q as checkOrphanedChildren, T as recordDenial, Z as assertChildAllowed, et as launchParent, k as extendLimit, w as parseDenialText } from "./render-CbifCwTb.mjs";
22
+ import { t as createOperatorServer } from "./operator-lRGvYr3D.mjs";
23
+ import { i as killTree } from "./kill-tree-DTmiEb3T.mjs";
24
+ import { r as ensurePoolHost } from "./pool-cli-DOLgPgOM.mjs";
25
25
  import { closeSync, existsSync, mkdirSync, mkdtempSync, openSync, readFileSync, readdirSync, realpathSync, statSync, unlinkSync, writeFileSync, writeSync } from "node:fs";
26
26
  import { createHash, randomBytes } from "node:crypto";
27
27
  import { dirname, join, resolve, sep } from "node:path";
@@ -1013,6 +1013,33 @@ function applyLoopStop(status, loopStop, report, fallbackText, worktree) {
1013
1013
  notes: [reason, report?.notes ?? fallbackText].filter(Boolean).join("\n")
1014
1014
  };
1015
1015
  }
1016
+ /** Race the end-of-run scan against its budget (workers.scanBudgetMs, default 5000): a slow scan is skipped, not waited for. */
1017
+ async function scanWithinBudget(logDir, status, ledger) {
1018
+ let budgetMs = 5e3;
1019
+ try {
1020
+ budgetMs = readWorkersCached().scanBudgetMs ?? budgetMs;
1021
+ } catch {}
1022
+ let timer;
1023
+ const over = new Promise((resolve) => {
1024
+ timer = setTimeout(() => resolve("over"), budgetMs);
1025
+ timer.unref();
1026
+ });
1027
+ try {
1028
+ if (await Promise.race([scanWorkerRun(logDir, status).catch(() => void 0), over]) === "over") {
1029
+ appendLedger(ledger, "WORKER-SCAN-SKIPPED", {
1030
+ id: status.id,
1031
+ reason: "scan skipped: over budget",
1032
+ budgetMs
1033
+ });
1034
+ if (!status.last) {
1035
+ status.last = "scan skipped: over budget";
1036
+ saveStatus(logDir, status);
1037
+ }
1038
+ }
1039
+ } finally {
1040
+ clearTimeout(timer);
1041
+ }
1042
+ }
1016
1043
  async function finaliseRun(f) {
1017
1044
  const { logDir, ledger, ok, rc } = f;
1018
1045
  let { status, report } = f;
@@ -1087,7 +1114,7 @@ async function finaliseRun(f) {
1087
1114
  ...endFields(end)
1088
1115
  });
1089
1116
  if (f.worktree) status = recordWorktree(logDir, status, f.worktree, ok);
1090
- await scanWorkerRun(logDir, status).catch(() => void 0);
1117
+ await scanWithinBudget(logDir, status, ledger);
1091
1118
  const reviewed = f.worktree ? committedFallThrough(f.fallThroughWhy?.(status, report) ?? null, commitLines(f.worktree.dir, f.worktree.base)) : null;
1092
1119
  if (reviewed) {
1093
1120
  process.stderr.write(`pai worker: ${wid} ended badly but committed — kept for review, no cloud re-run\n`);
@@ -3430,10 +3457,10 @@ function resolveWorkers(args, ctx) {
3430
3457
  /** The live context: config, this session's profile, fresh budget readings (warmed best effort) and recorded cooldowns. */
3431
3458
  async function liveResolveCtx(env = process.env, warm = true) {
3432
3459
  const [{ readWorkersSection }, { budgetCache }, { readRoutingState }, { workersLogDir }] = await Promise.all([
3433
- import("./config-DLmyEK2q.mjs"),
3434
- import("./budget-DEiebT2A.mjs"),
3435
- import("./routing-B_cg1_Xx.mjs"),
3436
- import("./paths-DIOwNcj-.mjs")
3460
+ import("./config-C2dd2SXS.mjs"),
3461
+ import("./budget-BXmsSBLI.mjs"),
3462
+ import("./routing-CJ8ioPl2.mjs"),
3463
+ import("./paths-CKGYM0Lb.mjs")
3437
3464
  ]);
3438
3465
  const { workers } = readWorkersSection();
3439
3466
  const profile = getProfile(await detectSessionName(env));
@@ -4920,7 +4947,7 @@ async function runWorker(opts) {
4920
4947
  if (gc?.length) process.stderr.write(`pai worker: archived ${gc.length} leftover worktree(s) (pai worker gc)\n`);
4921
4948
  } catch {}
4922
4949
  if (opts.className === "plan" && !opts._planner) {
4923
- const { runPlanner } = await import("./planner-BzZ_2lc-.mjs");
4950
+ const { runPlanner } = await import("./planner-BDHVUkIM.mjs");
4924
4951
  return runPlanner(opts);
4925
4952
  }
4926
4953
  const parent = launchParent(opts.parent);
@@ -5144,4 +5171,4 @@ setRunWorker(runWorker);
5144
5171
 
5145
5172
  //#endregion
5146
5173
  export { routerPidFile as A, usageContextTokens as B, workerUsage as C, routerHandoverFile as D, probeRouter as E, startHandover as F, testProvider as H, paneWaiver as I, launchPane as L, routerSwapArgs as M, runRouterTick as N, routerIsStale as O, spawnRouter as P, noTerminalReasons as R, usageJson as S, projectLaunchConfig as T, endProcesses as U, printResult as V, findWorktreeOrphans as W, stopLaunchedWorkers as _, resolveWorkers as a, renderUsage as b, reportOriginWithHost as c, capture as d, dirtyPaths as f, realRunnerDeps as g, realCommitsAhead as h, liveResolveCtx as i, routerRunningPid as j, routerLogFile as k, runMessenger as l, mergeBranch as m, LocalProviderRefusedError as n, sessionWorkersLine as o, launchWorker as p, PoolRefusedError as r, finishDetached as s, runWorker as t, startDetached as u, parseWhen as v, pinNotices as w, transcriptUsage as x, priceTableText as y, recordSystemJobStart as z };
5147
- //# sourceMappingURL=run-DE9Q0ldN.mjs.map
5174
+ //# sourceMappingURL=run-CAjfKBQV.mjs.map
@@ -2,8 +2,8 @@ import { _ as warn, c as ok, i as err, n as dim, r as encodeDir, s as now, t as
2
2
  import { _ as paiHomePath, d as defaultPaiHomeDir, h as migratePaiFile, u as claudeProjectsDir$1, v as resolvePaiFile } from "./runtime-paths-twfV23YL.mjs";
3
3
  import { a as slugify, i as parseSessionFilename, n as decodeEncodedDir, t as buildEncodedDirMap } from "./migrate-C2z1YmWC.mjs";
4
4
  import { O as readJsonStrict, k as writeJsonAtomic, o as expandHome } from "./config-SlZ-Z52i.mjs";
5
- import { a as unregistrableReason, o as workerWorktreesRoot, r as pruneWorktreeProjects } from "./registrable-Dxs4oKIj.mjs";
6
- import { n as ensurePaiMarker, t as discoverPaiMarkers } from "./pai-marker-D6OoVbM_.mjs";
5
+ import { a as unregistrableReason, o as workerWorktreesRoot, r as pruneWorktreeProjects } from "./registrable-D_4qXCnq.mjs";
6
+ import { n as ensurePaiMarker, t as discoverPaiMarkers } from "./pai-marker-kA0iM7rP.mjs";
7
7
  import { i as getRegistryBackend } from "./factory-CYwa0jYj.mjs";
8
8
  import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, statSync, writeFileSync } from "node:fs";
9
9
  import { basename, join, resolve } from "node:path";
@@ -718,4 +718,4 @@ async function cmdScan(opts = {}) {
718
718
 
719
719
  //#endregion
720
720
  export { resolveHome as a, upsertSession as c, scanTranscriptFolders as d, transcriptFiles as f, performScan as i, claudeProjectsDir as l, loadScanConfig as n, saveScanConfig as o, migrateScanConfig as r, upsertProject as s, cmdScan as t, findMovedProjects as u };
721
- //# sourceMappingURL=scan-CNMcltOX.mjs.map
721
+ //# sourceMappingURL=scan-ew8M6tTH.mjs.map
@@ -1,6 +1,6 @@
1
- import { M as readWorkersSection } from "./config-Bz8pAU5Q.mjs";
2
- import { c as slotCurrentPath, u as workersLogDir } from "./paths-CypxFTfn.mjs";
3
- import { _ as isTerminal, v as loadStatus } from "./status-Cecau8Ps.mjs";
1
+ import { M as readWorkersSection } from "./config-DGV64YJa.mjs";
2
+ import { c as slotCurrentPath, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
3
+ import { _ as isTerminal, v as loadStatus } from "./status-DTMT5lyn.mjs";
4
4
  import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
5
5
  import { dirname, join } from "node:path";
6
6
  import { homedir } from "node:os";
@@ -221,4 +221,4 @@ function terminalHasName(name, term, registryPath = AIBROKER_REGISTRY) {
221
221
 
222
222
  //#endregion
223
223
  export { ownerSessionName as a, scopeKey as c, terminalHasName as d, workerInScope as f, itermUuid as i, sessionMapPath as l, currentTabKey as n, resolveSession as o, currentWorkerId as p, itermForClaudeSession as r, resolveSpawnerSession as s, AIBROKER_REGISTRY as t, sessionTag as u };
224
- //# sourceMappingURL=scope-BTWstJ1B.mjs.map
224
+ //# sourceMappingURL=scope-BRcaPw5D.mjs.map
@@ -0,0 +1,35 @@
1
+ import "./utils-J2b9y8PC.mjs";
2
+ import "./migrate-C2z1YmWC.mjs";
3
+ import "./config-DGV64YJa.mjs";
4
+ import "./config-SlZ-Z52i.mjs";
5
+ import "./paths-BwfwHOvN.mjs";
6
+ import "./worktree-7ZS3RBf8.mjs";
7
+ import "./status-DTMT5lyn.mjs";
8
+ import "./pool-CFeHGX7q.mjs";
9
+ import "./registrable-D_4qXCnq.mjs";
10
+ import "./pai-marker-kA0iM7rP.mjs";
11
+ import "./helpers-CRuBUas3.mjs";
12
+ import "./scope-BRcaPw5D.mjs";
13
+ import "./routing-CF0wlR-_.mjs";
14
+ import "./tool-errors-BOW2n882.mjs";
15
+ import "./wait-BindDA5w.mjs";
16
+ import "./local-tiers-CqwGUcEn.mjs";
17
+ import "./caller-identity-DPDSrZE2.mjs";
18
+ import "./capacity-CThSydrd.mjs";
19
+ import "./local-instances-DhF4_sV2.mjs";
20
+ import "./local-candidate-C2FGhf54.mjs";
21
+ import "./factory-CYwa0jYj.mjs";
22
+ import "./postgres-BL5oBBgY.mjs";
23
+ import "./embedding-gate-iq0oQEkF.mjs";
24
+ import "./embeddings-BVq3esBF.mjs";
25
+ import "./router-D2476pOp.mjs";
26
+ import "./detect-DLjeYwnt.mjs";
27
+ import "./helpers-Dj2nY56t.mjs";
28
+ import "./scan-ew8M6tTH.mjs";
29
+ import { a as newTop, c as planOpen, d as runNewDefault, f as sessionCommand, i as lsCommand, l as renameTop, n as collectRows, o as oneLine, p as sessionDir, r as collectView, s as openTop, t as applyProfileChat, u as rowsTable } from "./session-C1JnDXvP.mjs";
30
+ import "./launch-CV6oPHI2.mjs";
31
+ import "./health-Bb2U4PNK.mjs";
32
+ import "./launch-Dy8qQnSD.mjs";
33
+ import "./session-scan-DihMibI-.mjs";
34
+
35
+ export { runNewDefault };
@@ -1,22 +1,22 @@
1
1
  import { _ as warn, a as fmtDate, c as ok, d as scaffoldProjectDirs, f as shortenPath, i as err, l as renderTable, n as dim, o as header, p as slugFromPath, r as encodeDir, s as now, t as bold, u as resolvePath } from "./utils-J2b9y8PC.mjs";
2
2
  import { u as claudeProjectsDir } from "./runtime-paths-twfV23YL.mjs";
3
- import { Et as appendLedger, M as readWorkersSection, b as nativeOrchestratorModel, bt as stripModelVariant, p as getProviderOrNative, t as ANTHROPIC_NATIVE } from "./config-Bz8pAU5Q.mjs";
4
- import { i as ledgerPath, u as workersLogDir } from "./paths-CypxFTfn.mjs";
5
- import { M as trustProjectPath } from "./pool-9EsbKD-U.mjs";
6
- import { a as unregistrableReason } from "./registrable-Dxs4oKIj.mjs";
7
- import { n as ensurePaiMarker } from "./pai-marker-D6OoVbM_.mjs";
3
+ import { Et as appendLedger, M as readWorkersSection, b as nativeOrchestratorModel, bt as stripModelVariant, p as getProviderOrNative, t as ANTHROPIC_NATIVE } from "./config-DGV64YJa.mjs";
4
+ import { i as ledgerPath, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
5
+ import { M as trustProjectPath } from "./pool-CFeHGX7q.mjs";
6
+ import { a as unregistrableReason } from "./registrable-D_4qXCnq.mjs";
7
+ import { n as ensurePaiMarker } from "./pai-marker-kA0iM7rP.mjs";
8
8
  import { t as STOP_WORDS } from "./stop-words-DSEYQdNe.mjs";
9
- import { dn as getProfile, un as SESSION_NAME_ENV, x as SESSION_WORKER_PROVIDER_ENV, xt as routeVerdictLine } from "./routing-aJKMIagQ.mjs";
9
+ import { dn as getProfile, un as SESSION_NAME_ENV, x as SESSION_WORKER_PROVIDER_ENV, xt as routeVerdictLine } from "./routing-CF0wlR-_.mjs";
10
10
  import { n as OPT, t as CliError } from "./define-CjJsmq-6.mjs";
11
11
  import { i as getRegistryBackend } from "./factory-CYwa0jYj.mjs";
12
12
  import { n as formatDetection, r as formatDetectionJson, t as detectProject } from "./detect-DLjeYwnt.mjs";
13
13
  import { a as getSessionCount, c as upsertTag$1, i as getProjectTags, n as getProject$1, o as requireProject, r as getProjectAliases, s as resolveIdentifier, t as getLastSessionDate } from "./helpers-Dj2nY56t.mjs";
14
- import { a as resolveHome, n as loadScanConfig } from "./scan-CNMcltOX.mjs";
15
- import { n as buildLaunchPlan, o as launchableProviderNames, s as maskLaunchEnv, t as LaunchError } from "./launch-Bn2Zf90h.mjs";
16
- import { a as colorEnabled, f as renderTable$1, i as saveBudgetSnapshot, n as readBudget, o as makeStyle, r as readBudgetSnapshot, t as providerHealth } from "./health-D0mUAVdw.mjs";
17
- import { d as printExitDir, i as probeResume, u as transcriptModelFor } from "./launch-BZT3JDoZ.mjs";
14
+ import { a as resolveHome, n as loadScanConfig } from "./scan-ew8M6tTH.mjs";
15
+ import { n as buildLaunchPlan, o as launchableProviderNames, s as maskLaunchEnv, t as LaunchError } from "./launch-CV6oPHI2.mjs";
16
+ import { a as colorEnabled, f as renderTable$1, i as saveBudgetSnapshot, n as readBudget, o as makeStyle, r as readBudgetSnapshot, t as providerHealth } from "./health-Bb2U4PNK.mjs";
17
+ import { d as printExitDir, i as probeResume, u as transcriptModelFor } from "./launch-Dy8qQnSD.mjs";
18
18
  import { n as fetchLiveSessions } from "./aibroker-client-CXsyC7A8.mjs";
19
- import { a as resolveSessionByNameOrId, s as scanSessions, t as fmtAge } from "./session-scan-CX3MKCNg.mjs";
19
+ import { a as resolveSessionByNameOrId, s as scanSessions, t as fmtAge } from "./session-scan-DihMibI-.mjs";
20
20
  import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, statSync, writeFileSync } from "node:fs";
21
21
  import { basename, dirname, join, resolve } from "node:path";
22
22
  import chalk from "chalk";
@@ -1441,7 +1441,7 @@ async function cmdActive(opts) {
1441
1441
  ], rows));
1442
1442
  }
1443
1443
  async function cmdAutoRoute(opts) {
1444
- const { autoRoute, formatAutoRouteJson } = await import("./auto-route-Bc8xP6TQ.mjs");
1444
+ const { autoRoute, formatAutoRouteJson } = await import("./auto-route-CAlZ5p-h.mjs");
1445
1445
  const { getRegistryBackend, createStorageBackend } = await import("./factory-DFwez99M.mjs");
1446
1446
  const { loadConfig } = await import("./config-DHgPx3ER.mjs");
1447
1447
  const config = loadConfig();
@@ -1854,7 +1854,7 @@ const newCommand = {
1854
1854
  const name = ctx.opts.name;
1855
1855
  const withSetup = ctx.opts.with;
1856
1856
  if (withSetup) {
1857
- const { runNewWith } = await import("./root-C8cxhdn9.mjs");
1857
+ const { runNewWith } = await import("./root-80ESg6b7.mjs");
1858
1858
  return runNewWith({
1859
1859
  dir,
1860
1860
  with: withSetup,
@@ -1960,4 +1960,4 @@ const renameTop = {
1960
1960
 
1961
1961
  //#endregion
1962
1962
  export { cmdAdd as A, cmdRebind as B, assertAvailable as C, execHarness as D, dryRunText as E, cmdEdit as F, cmdUnarchive as H, cmdGo as I, cmdInfo$1 as L, cmdArchive as M, cmdConsolidate as N, looksLikePath as O, cmdDetect as P, cmdList$1 as R, legacy as S, buildHarness as T, findMovedPath as U, cmdTag$1 as V, cmdList as _, newTop as a, cmdSlug as b, planOpen as c, runNewDefault as d, sessionCommand as f, cmdInfo as g, cmdAutoRoute as h, lsCommand as i, cmdAlias as j, prepareDir as k, renameTop as l, cmdActive as m, collectRows as n, oneLine as o, sessionDir as p, collectView as r, openTop as s, applyProfileChat as t, rowsTable as u, cmdRename as v, modelFor as w, cmdTag as x, cmdRoute as y, cmdMove as z };
1963
- //# sourceMappingURL=session-HBYOABWU.mjs.map
1963
+ //# sourceMappingURL=session-C1JnDXvP.mjs.map
@@ -1,9 +1,9 @@
1
1
  import "./utils-J2b9y8PC.mjs";
2
- import "./config-Bz8pAU5Q.mjs";
2
+ import "./config-DGV64YJa.mjs";
3
3
  import "./config-SlZ-Z52i.mjs";
4
- import "./paths-CypxFTfn.mjs";
5
- import "./status-Cecau8Ps.mjs";
6
- import "./scope-BTWstJ1B.mjs";
7
- import { a as resolveSessionByNameOrId, c as transcriptCustomTitle, i as resolveFriendlyName, n as loadBrokerNames, o as scanCacheFilePath, r as migrateSessionScanCache, s as scanSessions, t as fmtAge } from "./session-scan-CX3MKCNg.mjs";
4
+ import "./paths-BwfwHOvN.mjs";
5
+ import "./status-DTMT5lyn.mjs";
6
+ import "./scope-BRcaPw5D.mjs";
7
+ import { a as resolveSessionByNameOrId, c as transcriptCustomTitle, i as resolveFriendlyName, n as loadBrokerNames, o as scanCacheFilePath, r as migrateSessionScanCache, s as scanSessions, t as fmtAge } from "./session-scan-DihMibI-.mjs";
8
8
 
9
9
  export { loadBrokerNames, transcriptCustomTitle };
@@ -1,9 +1,9 @@
1
1
  import { h as smartDecodeDir } from "./utils-J2b9y8PC.mjs";
2
2
  import { _ as paiHomePath, f as legacyConfigDir, h as migratePaiFile, l as claudeHomeDir, u as claudeProjectsDir, v as resolvePaiFile } from "./runtime-paths-twfV23YL.mjs";
3
- import { M as readWorkersSection } from "./config-Bz8pAU5Q.mjs";
4
- import { u as workersLogDir } from "./paths-CypxFTfn.mjs";
3
+ import { M as readWorkersSection } from "./config-DGV64YJa.mjs";
4
+ import { u as workersLogDir } from "./paths-BwfwHOvN.mjs";
5
5
  import { t as fmtAge$1 } from "./fmt-age-ByDkvkoU.mjs";
6
- import { i as itermUuid, l as sessionMapPath, t as AIBROKER_REGISTRY } from "./scope-BTWstJ1B.mjs";
6
+ import { i as itermUuid, l as sessionMapPath, t as AIBROKER_REGISTRY } from "./scope-BRcaPw5D.mjs";
7
7
  import { closeSync, existsSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, realpathSync, renameSync, statSync, writeFileSync } from "node:fs";
8
8
  import { basename, join } from "node:path";
9
9
 
@@ -870,4 +870,4 @@ function transcriptCustomTitle(claudeSessionId, projectsDir = CLAUDE_PROJECTS_DI
870
870
 
871
871
  //#endregion
872
872
  export { resolveSessionByNameOrId as a, transcriptCustomTitle as c, resolveFriendlyName as i, loadBrokerNames as n, scanCacheFilePath as o, migrateSessionScanCache as r, scanSessions as s, fmtAge as t };
873
- //# sourceMappingURL=session-scan-CX3MKCNg.mjs.map
873
+ //# sourceMappingURL=session-scan-DihMibI-.mjs.map
@@ -1,4 +1,4 @@
1
- import { rt as workersYamlPath } from "./config-Bz8pAU5Q.mjs";
1
+ import { rt as workersYamlPath } from "./config-DGV64YJa.mjs";
2
2
  import { u as paiConfigFilePath, w as readDualFormatConfigRaw, x as userWorkersYamlRaw } from "./config-SlZ-Z52i.mjs";
3
3
  import { createReadStream, existsSync, readFileSync } from "node:fs";
4
4
  import { createInterface } from "node:readline";
@@ -334,4 +334,4 @@ function totalUsageTokens(totals) {
334
334
 
335
335
  //#endregion
336
336
  export { liveWorkersConfigShadows as a, totalUsageTokens as i, isRealUserPrompt as n, logWorkersConfigShadowsOnce as o, parseSessionUsage as r, workersConfigShadows as s, extractUserPromptText as t };
337
- //# sourceMappingURL=session-usage-CCmPFFa6.mjs.map
337
+ //# sourceMappingURL=session-usage-BRIWFYPS.mjs.map
@@ -1,6 +1,6 @@
1
- import "./config-Bz8pAU5Q.mjs";
1
+ import "./config-DGV64YJa.mjs";
2
2
  import "./config-SlZ-Z52i.mjs";
3
- import "./paths-CypxFTfn.mjs";
4
- import { A as selfProcStart, C as nowStamp, D as pidAlive, E as parseSleepSecs, F as waitForTerminalStatus, M as setWorkerNote, N as spawnTimeOf, O as reconcileStatuses, P as statusTmpPath, S as newWorkerId, T as ownsPidCached, _ as isTerminal, a as UNLABELED, b as loadStatusesCached, c as contextFooter, d as describeTool, f as elapsedOf, g as isLive, h as isChatPane, i as TERMINAL_RECHECK_MS, j as setWorkerLabel, k as saveStatus, l as contextLabel, m as fmtTokens, n as OWNS_TTL_MS, o as ageOf, p as fmtContextK, r as SLEEP_FLOOR_SECS, s as alive, t as LOST_GRACE_MS, u as contextPercent, v as loadStatus, w as ownsPid, x as markStartFailed, y as loadStatuses } from "./status-Cecau8Ps.mjs";
3
+ import "./paths-BwfwHOvN.mjs";
4
+ import { A as selfProcStart, C as nowStamp, D as pidAlive, E as parseSleepSecs, F as waitForTerminalStatus, M as setWorkerNote, N as spawnTimeOf, O as reconcileStatuses, P as statusTmpPath, S as newWorkerId, T as ownsPidCached, _ as isTerminal, a as UNLABELED, b as loadStatusesCached, c as contextFooter, d as describeTool, f as elapsedOf, g as isLive, h as isChatPane, i as TERMINAL_RECHECK_MS, j as setWorkerLabel, k as saveStatus, l as contextLabel, m as fmtTokens, n as OWNS_TTL_MS, o as ageOf, p as fmtContextK, r as SLEEP_FLOOR_SECS, s as alive, t as LOST_GRACE_MS, u as contextPercent, v as loadStatus, w as ownsPid, x as markStartFailed, y as loadStatuses } from "./status-DTMT5lyn.mjs";
5
5
 
6
6
  export { loadStatus };
@@ -1,5 +1,5 @@
1
1
  import { f as readMainConfigRaw } from "./config-SlZ-Z52i.mjs";
2
- import { l as statusPath } from "./paths-CypxFTfn.mjs";
2
+ import { l as statusPath } from "./paths-BwfwHOvN.mjs";
3
3
  import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
4
4
  import { createHash } from "node:crypto";
5
5
  import { join } from "node:path";
@@ -925,4 +925,4 @@ function describeTool(name, inp) {
925
925
 
926
926
  //#endregion
927
927
  export { appendSystemPromptArgs as $, selfProcStart as A, listStale as B, nowStamp as C, pidAlive as D, parseSleepSecs as E, waitForTerminalStatus as F, writeContinueToForge as G, parseStatusConfig as H, ForgeError as I, PREAMBLE_REL as J, writeSectionToForge as K, PROJECT_CONFIG_REL as L, setWorkerNote as M, spawnTimeOf as N, reconcileStatuses as O, statusTmpPath as P, projectRoot as Q, formatStale as R, newWorkerId as S, ownsPidCached as T, setClaim as U, loadStatusConfig as V, upsertSection as W, preambleBlock as X, loadPreamble as Y, preambleLine as Z, isTerminal as _, UNLABELED as a, loadStatusesCached as b, contextFooter as c, describeTool as d, isFlagToken as et, elapsedOf as f, isLive as g, isChatPane as h, TERMINAL_RECHECK_MS as i, stripPromptValues as it, setWorkerLabel as j, saveStatus as k, contextLabel as l, fmtTokens as m, OWNS_TTL_MS as n, parseRunnerArgs as nt, ageOf as o, fmtContextK as p, PREAMBLE_MAX_BYTES as q, SLEEP_FLOOR_SECS as r, shortText as rt, alive as s, LOST_GRACE_MS as t, longInlinePromptHint as tt, contextPercent as u, loadStatus as v, ownsPid as w, markStartFailed as x, loadStatuses as y, listClaims as z };
928
- //# sourceMappingURL=status-Cecau8Ps.mjs.map
928
+ //# sourceMappingURL=status-DTMT5lyn.mjs.map
@@ -1,5 +1,5 @@
1
1
  import { t as maxOf } from "./min-max-DrSRUaWQ.mjs";
2
- import { n as bashExitCode, r as isExpectedWaitExit } from "./wait-C5iWILj_.mjs";
2
+ import { n as bashExitCode, r as isExpectedWaitExit } from "./wait-BindDA5w.mjs";
3
3
  import { appendFileSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, readSync, statSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
 
@@ -589,4 +589,4 @@ function errorsTable(groups) {
589
589
 
590
590
  //#endregion
591
591
  export { toolErrorSigTag as C, toolErrorsPath as E, summarizeToolInput as S, toolErrorText as T, lastCommand as _, SAME_WORKER_WINDOW_MS as a, readToolErrors as b, classifyToolError as c, detectToolErrors as d, errorsTable as f, isBenignBash as g, harnessToolErrorTexts as h, SAME_WORKER_MIN as i, clipRaw as l, groupToolErrors as m, CROSS_WORKER_WINDOW_MS as n, TOOL_ERRORS_FILE as o, grantedToolNames as p, RESEND_MS as r, benignNote as s, CROSS_WORKER_MIN as t, detectRunningWorkerErrors as u, normalizeError as v, toolErrorSummary as w, recordToolError as x, parseSince as y };
592
- //# sourceMappingURL=tool-errors-BFw1gv-z.mjs.map
592
+ //# sourceMappingURL=tool-errors-BOW2n882.mjs.map
@@ -1,8 +1,8 @@
1
- import "./config-Bz8pAU5Q.mjs";
1
+ import "./config-DGV64YJa.mjs";
2
2
  import "./config-SlZ-Z52i.mjs";
3
- import "./paths-CypxFTfn.mjs";
4
- import "./status-Cecau8Ps.mjs";
5
- import { C as toolErrorSigTag, E as toolErrorsPath, S as summarizeToolInput, T as toolErrorText, _ as lastCommand, a as SAME_WORKER_WINDOW_MS, b as readToolErrors, c as classifyToolError, d as detectToolErrors, f as errorsTable, g as isBenignBash, h as harnessToolErrorTexts, i as SAME_WORKER_MIN, l as clipRaw, m as groupToolErrors, n as CROSS_WORKER_WINDOW_MS, o as TOOL_ERRORS_FILE, p as grantedToolNames, r as RESEND_MS, s as benignNote, t as CROSS_WORKER_MIN, u as detectRunningWorkerErrors, v as normalizeError, w as toolErrorSummary, x as recordToolError, y as parseSince } from "./tool-errors-BFw1gv-z.mjs";
6
- import "./wait-C5iWILj_.mjs";
3
+ import "./paths-BwfwHOvN.mjs";
4
+ import "./status-DTMT5lyn.mjs";
5
+ import { C as toolErrorSigTag, E as toolErrorsPath, S as summarizeToolInput, T as toolErrorText, _ as lastCommand, a as SAME_WORKER_WINDOW_MS, b as readToolErrors, c as classifyToolError, d as detectToolErrors, f as errorsTable, g as isBenignBash, h as harnessToolErrorTexts, i as SAME_WORKER_MIN, l as clipRaw, m as groupToolErrors, n as CROSS_WORKER_WINDOW_MS, o as TOOL_ERRORS_FILE, p as grantedToolNames, r as RESEND_MS, s as benignNote, t as CROSS_WORKER_MIN, u as detectRunningWorkerErrors, v as normalizeError, w as toolErrorSummary, x as recordToolError, y as parseSince } from "./tool-errors-BOW2n882.mjs";
6
+ import "./wait-BindDA5w.mjs";
7
7
 
8
8
  export { errorsTable, groupToolErrors, parseSince, readToolErrors };
@@ -1,17 +1,17 @@
1
- import { Et as appendLedger } from "./config-Bz8pAU5Q.mjs";
2
- import { i as ledgerPath, r as eventsPath } from "./paths-CypxFTfn.mjs";
3
- import { T as worktreesStats, l as formatWorktreesStats } from "./worktree-O_kU6Q3y.mjs";
4
- import { O as reconcileStatuses, _ as isTerminal, g as isLive, h as isChatPane, v as loadStatus, w as ownsPid, y as loadStatuses } from "./status-Cecau8Ps.mjs";
5
- import { a as ownerSessionName, f as workerInScope, n as currentTabKey, o as resolveSession } from "./scope-BTWstJ1B.mjs";
6
- import { _ as lastCommand } from "./tool-errors-BFw1gv-z.mjs";
7
- import { M as waitingLine, O as parseWaitOn, i as isWaitPollCommand } from "./wait-C5iWILj_.mjs";
8
- import { a as buildsDir, l as listBuildsSync, p as renderBuildQueue, v as poolSlots } from "./caller-identity-C6Nc96iM.mjs";
1
+ import { Et as appendLedger } from "./config-DGV64YJa.mjs";
2
+ import { i as ledgerPath, r as eventsPath } from "./paths-BwfwHOvN.mjs";
3
+ import { T as worktreesStats, l as formatWorktreesStats } from "./worktree-7ZS3RBf8.mjs";
4
+ import { O as reconcileStatuses, _ as isTerminal, g as isLive, h as isChatPane, v as loadStatus, w as ownsPid, y as loadStatuses } from "./status-DTMT5lyn.mjs";
5
+ import { a as ownerSessionName, f as workerInScope, n as currentTabKey, o as resolveSession } from "./scope-BRcaPw5D.mjs";
6
+ import { _ as lastCommand } from "./tool-errors-BOW2n882.mjs";
7
+ import { M as waitingLine, O as parseWaitOn, i as isWaitPollCommand } from "./wait-BindDA5w.mjs";
8
+ import { a as buildsDir, l as listBuildsSync, p as renderBuildQueue, v as poolSlots } from "./caller-identity-DPDSrZE2.mjs";
9
9
  import { l as schedLine, o as readSchedFile } from "./scheduler-CtUyWJ3O.mjs";
10
- import { At as CHAT_HELP, Bt as wrapText, Ft as chatPromptRow, It as chatScrollRegion, K as renderPlanLines, Lt as chatTickerRow, Mt as chatEnter, Nt as chatInsertLine, Pt as chatLeave, Rt as holdAutoExit, V as loadPlanStatuses, Wt as readInbox, _t as paneTitle, i as localIdleLine, jt as chatBlankRow, n as markControlsHeld, s as readLocalIdle, t as clickrControlsArgv, tt as closeOwnPane, vt as writePaneTitle, zt as parseChatLine } from "./controls-rIItFeIJ.mjs";
11
- import { a as endLabel } from "./endreason-C2-hYK0_.mjs";
12
- import { C as denialLines, F as scanLine, _ as renderTable, b as tickerTool, c as headerLine, f as paneStatusRow, g as renderStatusLine, h as renderEvent, i as dayOf, l as intentOf, q as psTable, r as contextMeter, s as gutterFor, t as blankBetween, u as makeColor, y as tickerText } from "./render-jPpMrudf.mjs";
13
- import { r as sayToWorker } from "./operator-Br6GeswF.mjs";
14
- import { a as readAudit, d as loadPaneRunStatuses, p as renderPaneRunLines } from "./pane-audit-DLYy9-4g.mjs";
10
+ import { At as CHAT_HELP, Bt as wrapText, Ft as chatPromptRow, It as chatScrollRegion, K as renderPlanLines, Lt as chatTickerRow, Mt as chatEnter, Nt as chatInsertLine, Pt as chatLeave, Rt as holdAutoExit, V as loadPlanStatuses, Wt as readInbox, _t as paneTitle, i as localIdleLine, jt as chatBlankRow, n as markControlsHeld, s as readLocalIdle, t as clickrControlsArgv, tt as closeOwnPane, vt as writePaneTitle, zt as parseChatLine } from "./controls-ByrcupcA.mjs";
11
+ import { a as endLabel } from "./endreason-BjPom527.mjs";
12
+ import { C as denialLines, F as scanLine, J as psTable, _ as renderTable, b as tickerTool, c as headerLine, f as paneStatusRow, g as renderStatusLine, h as renderEvent, i as dayOf, l as intentOf, r as contextMeter, s as gutterFor, t as blankBetween, u as makeColor, y as tickerText } from "./render-CbifCwTb.mjs";
13
+ import { r as sayToWorker } from "./operator-lRGvYr3D.mjs";
14
+ import { a as readAudit, d as loadPaneRunStatuses, p as renderPaneRunLines } from "./pane-audit-DUuilP1V.mjs";
15
15
  import { closeSync, existsSync, openSync, readFileSync, readSync } from "node:fs";
16
16
  import { spawn } from "node:child_process";
17
17
  import { createInterface } from "node:readline";
@@ -911,4 +911,4 @@ function statusLineOutput(logDir, term, _cwd, claudeSession = "", now = /* @__PU
911
911
 
912
912
  //#endregion
913
913
  export { followTailOutput as a, inboxCounts as c, psOutput as d, replayOutput as f, workerEnded as g, strayWorkerProcesses as h, backfillLines as i, initialFollowState as l, statusLineOutput as m, FOLLOW_TAIL_ENTRIES as n, followWorkers as o, resumeArgv as p, applyEvent as r, gutterBody as s, BACKFILL_EVENTS as t, makeOperatorInput as u };
914
- //# sourceMappingURL=viewer-DvBg6N22.mjs.map
914
+ //# sourceMappingURL=viewer-4BU8w_gK.mjs.map
@@ -0,0 +1,22 @@
1
+ import "./config-DGV64YJa.mjs";
2
+ import "./config-SlZ-Z52i.mjs";
3
+ import "./paths-BwfwHOvN.mjs";
4
+ import "./worktree-7ZS3RBf8.mjs";
5
+ import "./status-DTMT5lyn.mjs";
6
+ import "./pool-CFeHGX7q.mjs";
7
+ import "./scope-BRcaPw5D.mjs";
8
+ import "./tool-errors-BOW2n882.mjs";
9
+ import "./wait-BindDA5w.mjs";
10
+ import "./local-tiers-CqwGUcEn.mjs";
11
+ import "./caller-identity-DPDSrZE2.mjs";
12
+ import "./capacity-CThSydrd.mjs";
13
+ import "./local-candidate-C2FGhf54.mjs";
14
+ import "./controls-ByrcupcA.mjs";
15
+ import "./endreason-BjPom527.mjs";
16
+ import "./render-CbifCwTb.mjs";
17
+ import "./operator-lRGvYr3D.mjs";
18
+ import "./kill-tree-DTmiEb3T.mjs";
19
+ import "./pane-audit-DUuilP1V.mjs";
20
+ import { a as followTailOutput, c as inboxCounts, d as psOutput, f as replayOutput, g as workerEnded, h as strayWorkerProcesses, i as backfillLines, l as initialFollowState, m as statusLineOutput, n as FOLLOW_TAIL_ENTRIES, o as followWorkers, p as resumeArgv, r as applyEvent, s as gutterBody, t as BACKFILL_EVENTS, u as makeOperatorInput } from "./viewer-4BU8w_gK.mjs";
21
+
22
+ export { applyEvent, initialFollowState };
@@ -1,5 +1,5 @@
1
- import { r as eventsPath } from "./paths-CypxFTfn.mjs";
2
- import { D as pidAlive, O as reconcileStatuses, k as saveStatus, rt as shortText, v as loadStatus, y as loadStatuses } from "./status-Cecau8Ps.mjs";
1
+ import { r as eventsPath } from "./paths-BwfwHOvN.mjs";
2
+ import { D as pidAlive, O as reconcileStatuses, k as saveStatus, rt as shortText, v as loadStatus, y as loadStatuses } from "./status-DTMT5lyn.mjs";
3
3
  import { existsSync, readFileSync, statSync } from "node:fs";
4
4
  import { isAbsolute, relative, resolve } from "node:path";
5
5
  import { execFileSync } from "node:child_process";
@@ -1274,4 +1274,4 @@ async function runWait(logDir, ids, o, out, errOut) {
1274
1274
 
1275
1275
  //#endregion
1276
1276
  export { waitOnCallLine as A, statusMarker as C, fmtElapsed as D, detachedLine as E, waitingLine as M, parseWaitOn as O, realDeps as S, waitOn as T, workerContractPrompt as _, runWait as a, killProcessTree as b, checkProof as c, parseWorkerReport as d, promptTrailer as f, verifyReportChanges as g, verifyFailNote as h, isWaitPollCommand as i, waitOnResultLine as j, realWaitDeps as k, newUntracked as l, untrackedPaths as m, bashExitCode as n, AG2_REASK_TEXT as o, renderReport as p, isExpectedWaitExit as r, OPERATOR_MARK as s, WAIT_EXIT_STILL_RUNNING as t, noteTokenSentence as u, repairAndValidateAg2 as v, statusQueue as w, processTree as x, validateAg2 as y };
1277
- //# sourceMappingURL=wait-C5iWILj_.mjs.map
1277
+ //# sourceMappingURL=wait-BindDA5w.mjs.map