@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,17 +1,17 @@
1
1
  import { _ as paiHomePath, g as paiHomeDir } from "./runtime-paths-twfV23YL.mjs";
2
- import { Et as appendLedger, M as readWorkersSection, Ot as parseLedger, rt as workersYamlPath, t as ANTHROPIC_NATIVE } from "./config-Bz8pAU5Q.mjs";
2
+ import { Et as appendLedger, M as readWorkersSection, Ot as parseLedger, rt as workersYamlPath, t as ANTHROPIC_NATIVE } from "./config-DGV64YJa.mjs";
3
3
  import { c as loadConfig, f as readMainConfigRaw, h as effectiveMainConfig, m as deepMergeConfig, p as writeMainConfigRaw, u as paiConfigFilePath, y as shippedMainDefaults } from "./config-SlZ-Z52i.mjs";
4
- import { i as ledgerPath, u as workersLogDir } from "./paths-CypxFTfn.mjs";
5
- import { it as readInventory } from "./routing-aJKMIagQ.mjs";
4
+ import { i as ledgerPath, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
5
+ import { it as readInventory } from "./routing-CF0wlR-_.mjs";
6
6
  import { _ as readLocalConfig } from "./local-tiers-CqwGUcEn.mjs";
7
7
  import { f as sharedScheduler } from "./scheduler-CtUyWJ3O.mjs";
8
8
  import { r as instanceEngineKey } from "./local-instances-DhF4_sV2.mjs";
9
- import { o as primaryLocal, s as readLocalStatus } from "./local-candidate-DFd4pp-w.mjs";
9
+ import { o as primaryLocal, s as readLocalStatus } from "./local-candidate-C2FGhf54.mjs";
10
10
  import { t as LOCAL_PROBE_TIMEOUT_MS } from "./timeouts-1MLooEBB.mjs";
11
- import { f as setClass } from "./providers-BNV7CzC-.mjs";
12
- import { o as setConfigValueOp, s as unsetConfigValueOp } from "./main-config-ops-rda08BCD.mjs";
11
+ import { f as setClass } from "./providers-BC2Myo_O.mjs";
12
+ import { o as setConfigValueOp, s as unsetConfigValueOp } from "./main-config-ops-C_fkINDv.mjs";
13
13
  import { n as PaiClient } from "./ipc-client-CmagIFLh.mjs";
14
- import { l as readEmbedPasses } from "./embed-pass-CN1D8MXl.mjs";
14
+ import { l as readEmbedPasses } from "./embed-pass-DdTMn4DH.mjs";
15
15
  import { appendFileSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, rmSync, rmdirSync, statSync, writeFileSync } from "node:fs";
16
16
  import { randomBytes } from "node:crypto";
17
17
  import { dirname, join } from "node:path";
@@ -1279,23 +1279,23 @@ function defaultDeps() {
1279
1279
  const logDir = workersLogDir(workers);
1280
1280
  return {
1281
1281
  startTier: async (tierName) => {
1282
- const { startTier } = await import("./worker-config-BmcJ9R0U.mjs");
1282
+ const { startTier } = await import("./worker-config-CfV2dgSb.mjs");
1283
1283
  const cfg = readLocalConfig(workersYamlPath());
1284
1284
  const tier = cfg.tiers[tierName];
1285
1285
  if (!tier) throw new Error(`no tier "${tierName}" (configured: ${Object.keys(cfg.tiers).join(", ") || "none"})`);
1286
1286
  await startTier(cfg, tierName, tier);
1287
1287
  },
1288
1288
  stopAll: async () => {
1289
- const { stopAll } = await import("./worker-config-BmcJ9R0U.mjs");
1289
+ const { stopAll } = await import("./worker-config-CfV2dgSb.mjs");
1290
1290
  await stopAll(readLocalConfig(workersYamlPath()));
1291
1291
  },
1292
1292
  startModel: async (model) => {
1293
- const { startInstance } = await import("./worker-config-BmcJ9R0U.mjs");
1293
+ const { startInstance } = await import("./worker-config-CfV2dgSb.mjs");
1294
1294
  await startInstance(readLocalConfig(workersYamlPath()), model);
1295
1295
  },
1296
1296
  stopModel: async (target, opts) => {
1297
- const { stopInstance } = await import("./worker-config-BmcJ9R0U.mjs");
1298
- const { currentInstances } = await import("./worker-config-BmcJ9R0U.mjs");
1297
+ const { stopInstance } = await import("./worker-config-CfV2dgSb.mjs");
1298
+ const { currentInstances } = await import("./worker-config-CfV2dgSb.mjs");
1299
1299
  const cfg = readLocalConfig(workersYamlPath());
1300
1300
  const keys = new Map(currentInstances(cfg).map((r) => [r.id, instanceEngineKey(r)]));
1301
1301
  await stopInstance(cfg, target, opts, {
@@ -1304,7 +1304,7 @@ function defaultDeps() {
1304
1304
  });
1305
1305
  },
1306
1306
  runningCount: async (model) => {
1307
- const { currentInstances } = await import("./worker-config-BmcJ9R0U.mjs");
1307
+ const { currentInstances } = await import("./worker-config-CfV2dgSb.mjs");
1308
1308
  return currentInstances(readLocalConfig(workersYamlPath())).filter((r) => r.model === model && r.state !== "failed").length;
1309
1309
  },
1310
1310
  setClass: (cls, target) => void setClass(cls, target),
@@ -1588,7 +1588,7 @@ async function runCockpitAction(body, deps, hooks = {}) {
1588
1588
  if (action === "route.set") {
1589
1589
  if (!target) return fail("target (tier) required");
1590
1590
  try {
1591
- const { setRoute } = await import("./route-table-COAmc1nB.mjs");
1591
+ const { setRoute } = await import("./route-table-DcBZCuco.mjs");
1592
1592
  const models = Array.isArray(body.models) ? body.models : value !== void 0 ? value.split(",") : body.models;
1593
1593
  const change = setRoute(target, models, deps.configPath);
1594
1594
  writeLedgerLine(deps, action, change.id, `set:${change.entries.join(">")}`);
@@ -1605,7 +1605,7 @@ async function runCockpitAction(body, deps, hooks = {}) {
1605
1605
  if (value !== "on" && value !== "off") return fail(`value must be on or off, got "${value ?? ""}"`);
1606
1606
  if (!deps.workers.providers[target]?.characteristics) return fail(`"${target}" is not a registered endpoint (providers.${target}.characteristics)`);
1607
1607
  try {
1608
- const { setProviderEnabled } = await import("./providers-BH6hQYbU.mjs");
1608
+ const { setProviderEnabled } = await import("./providers-C-mnlH1b.mjs");
1609
1609
  setProviderEnabled(target, value === "on", deps.configPath);
1610
1610
  writeLedgerLine(deps, action, target, `routing ${value}`);
1611
1611
  return {
@@ -1631,7 +1631,7 @@ async function runCockpitAction(body, deps, hooks = {}) {
1631
1631
  message: `worker classes → ${provider}`
1632
1632
  };
1633
1633
  }
1634
- const { useProvider } = await import("./providers-BH6hQYbU.mjs");
1634
+ const { useProvider } = await import("./providers-C-mnlH1b.mjs");
1635
1635
  useProvider(provider);
1636
1636
  try {
1637
1637
  const raw = readMainConfigRaw();
@@ -1666,7 +1666,7 @@ async function memoryRunRefusal(deps, nowMs = Date.now()) {
1666
1666
  }
1667
1667
  /** The daemon's count of chunks without vectors; null when it does not answer. */
1668
1668
  async function daemonEmbedBacklog() {
1669
- const { fetchDaemonMemory } = await import("./cockpit-memory-CLHZD64W.mjs");
1669
+ const { fetchDaemonMemory } = await import("./cockpit-memory-CqLPjcWe.mjs");
1670
1670
  return (await fetchDaemonMemory())?.embedBacklog ?? null;
1671
1671
  }
1672
1672
  /** The daemon's in-process passes (no child, so no marker): its status says whether one runs. */
@@ -1787,7 +1787,7 @@ async function finishRuntimeJob(deps, hooks, id, runtime, op) {
1787
1787
  end(state, message);
1788
1788
  }
1789
1789
  async function defaultRefreshInventory() {
1790
- const { computeInventory, readInventoryInput, writeInventory } = await import("./model-inventory-BXv15B0d.mjs");
1790
+ const { computeInventory, readInventoryInput, writeInventory } = await import("./model-inventory-BYNrSTaY.mjs");
1791
1791
  writeInventory(workersLogDir(readWorkersSection().workers), await computeInventory(readInventoryInput()));
1792
1792
  }
1793
1793
  /** Runs the injected local job, records its outcome in the job file and ledger. */
@@ -1857,4 +1857,4 @@ function cockpitActionLedger(ledgerFile, lastN = 10) {
1857
1857
 
1858
1858
  //#endregion
1859
1859
  export { cockpitMemoryPayload as A, cockpitLayout as B, runtimeOpRefusal as C, writeLedgerLine as D, tierNames as E, memoryRunLog as F, acquireRun as H, rateSeries as I, runProgress as L, latestMemoryJob as M, liveMemoryDeps as N, embeddingRuntimeName as O, memoryJobProgress as P, runningMemoryJob as R, runtimeJobProgress as S, spawnMemoryRun as T, readRun as U, cockpitProbeSettings as V, resolveTierName as _, classesOnProvider as a, runningRuntimeJob as b, defaultDeps as c, labelPath as d, logTailSince as f, readLabels as g, readCockpitJob as h, WORKER_ROLE_CLASSES as i, fetchDaemonMemory as j, readRuntimeCommands as k, engineInflight as l, orchestratorProvider as m, RUNTIME_START_EVENT as n, cockpitActionLedger as o, memoryRunRefusal as p, RUNTIME_STOP_EVENT as r, cockpitJobFile as s, COCKPIT_ACTION_EVENT as t, labelFor as u, runCockpitAction as v, runtimeStartStop as w, runningRuntimeJobs as x, runningLocalModel as y, sameModel as z };
1860
- //# sourceMappingURL=cockpit-actions-D1OPP6Es.mjs.map
1860
+ //# sourceMappingURL=cockpit-actions-BgdKB9G3.mjs.map
@@ -1,20 +1,20 @@
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 "./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 "./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";
14
- import "./providers-BNV7CzC-.mjs";
15
- import "./main-config-ops-rda08BCD.mjs";
16
- import { C as runtimeOpRefusal, D as writeLedgerLine, E as tierNames, S as runtimeJobProgress, T as spawnMemoryRun, _ as resolveTierName, a as classesOnProvider, b as runningRuntimeJob, c as defaultDeps, d as labelPath, f as logTailSince, g as readLabels, h as readCockpitJob, i as WORKER_ROLE_CLASSES, l as engineInflight, m as orchestratorProvider, n as RUNTIME_START_EVENT, o as cockpitActionLedger, p as memoryRunRefusal, r as RUNTIME_STOP_EVENT, s as cockpitJobFile, t as COCKPIT_ACTION_EVENT, u as labelFor, v as runCockpitAction, w as runtimeStartStop, x as runningRuntimeJobs, y as runningLocalModel } from "./cockpit-actions-D1OPP6Es.mjs";
13
+ import "./local-candidate-C2FGhf54.mjs";
14
+ import "./providers-BC2Myo_O.mjs";
15
+ import "./main-config-ops-C_fkINDv.mjs";
16
+ import { C as runtimeOpRefusal, D as writeLedgerLine, E as tierNames, S as runtimeJobProgress, T as spawnMemoryRun, _ as resolveTierName, a as classesOnProvider, b as runningRuntimeJob, c as defaultDeps, d as labelPath, f as logTailSince, g as readLabels, h as readCockpitJob, i as WORKER_ROLE_CLASSES, l as engineInflight, m as orchestratorProvider, n as RUNTIME_START_EVENT, o as cockpitActionLedger, p as memoryRunRefusal, r as RUNTIME_STOP_EVENT, s as cockpitJobFile, t as COCKPIT_ACTION_EVENT, u as labelFor, v as runCockpitAction, w as runtimeStartStop, x as runningRuntimeJobs, y as runningLocalModel } from "./cockpit-actions-BgdKB9G3.mjs";
17
17
  import "./ipc-client-CmagIFLh.mjs";
18
- import "./embed-pass-CN1D8MXl.mjs";
18
+ import "./embed-pass-DdTMn4DH.mjs";
19
19
 
20
20
  export { COCKPIT_ACTION_EVENT, RUNTIME_START_EVENT, RUNTIME_STOP_EVENT, WORKER_ROLE_CLASSES, classesOnProvider, cockpitActionLedger, cockpitJobFile, defaultDeps, engineInflight, labelFor, labelPath, logTailSince, memoryRunRefusal, orchestratorProvider, readCockpitJob, readLabels, resolveTierName, runCockpitAction, runningLocalModel, runningRuntimeJob, runningRuntimeJobs, runtimeJobProgress, runtimeOpRefusal, runtimeStartStop, spawnMemoryRun, tierNames, writeLedgerLine };
@@ -0,0 +1,20 @@
1
+ import "./config-DGV64YJa.mjs";
2
+ import "./config-SlZ-Z52i.mjs";
3
+ import "./paths-BwfwHOvN.mjs";
4
+ import "./status-DTMT5lyn.mjs";
5
+ import "./scope-BRcaPw5D.mjs";
6
+ import "./routing-CF0wlR-_.mjs";
7
+ import "./tool-errors-BOW2n882.mjs";
8
+ import "./wait-BindDA5w.mjs";
9
+ import "./local-tiers-CqwGUcEn.mjs";
10
+ import "./caller-identity-DPDSrZE2.mjs";
11
+ import "./capacity-CThSydrd.mjs";
12
+ import "./local-instances-DhF4_sV2.mjs";
13
+ import "./local-candidate-C2FGhf54.mjs";
14
+ import "./providers-BC2Myo_O.mjs";
15
+ import "./main-config-ops-C_fkINDv.mjs";
16
+ import { A as cockpitMemoryPayload, F as memoryRunLog, I as rateSeries, L as runProgress, M as latestMemoryJob, N as liveMemoryDeps, P as memoryJobProgress, R as runningMemoryJob, j as fetchDaemonMemory, z as sameModel } from "./cockpit-actions-BgdKB9G3.mjs";
17
+ import "./ipc-client-CmagIFLh.mjs";
18
+ import "./embed-pass-DdTMn4DH.mjs";
19
+
20
+ export { fetchDaemonMemory };
@@ -142,6 +142,12 @@ workers:
142
142
  - "docs/commands/**"
143
143
  # Shell command, run in the target checkout, that rewrites the generated files.
144
144
  regenerate: "npm run build"
145
+ # Globs where add-only clashes on both sides are union-merged.
146
+ union:
147
+ - "docs/**"
148
+ - "*.md"
149
+ - "CHANGELOG.md"
150
+ - "src/cli/registry.ts"
145
151
  # Obsidian sync into the PAI-generated vault. Gates only writing; vault
146
152
  # indexing is vaultIndex.
147
153
  obsidian:
@@ -90,6 +90,8 @@ workers:
90
90
  defaultMaxMinutes: 60
91
91
  # Minutes a run may queue for a slot before the owner is told.
92
92
  waitAlarmMinutes: 120
93
+ # Milliseconds the end-of-run security scan may take before it is skipped.
94
+ scanBudgetMs: 5000
93
95
  # Start gate for same-provider runs.
94
96
  stagger:
95
97
  enabled: true
@@ -1,4 +1,4 @@
1
- import { A as providerQuotaSkipAt, C as parseMcpSetsValue, D as providerContextWindow, E as parseWorkersConfig, F as resolveProviderKey, I as workersConfigStamp, L as writeWorkersSection, M as readWorkersSection, N as resolveCapability, O as providerCostTier, P as resolveModelCapability, S as parseClassesValue, T as parseProvider, _ as maskKey, _t as DEFAULT_CONTEXT_WINDOW, a as MODEL_CAPABILITIES, b as nativeOrchestratorModel, c as WorkersConfigError, d as defaultWorkersConfig, f as escalationCloud, g as keysDir, h as isModelCapability, i as DEFAULT_POOL_PORT, j as readWorkersCached, k as providerKeyPath, l as assertProviderRunnable, m as isLocalProvider, n as CAPABILITY_NAME_RE, o as PROVIDER_TAGS, p as getProviderOrNative, r as DEFAULT_COST_TIER, s as WORKER_CLASSES, t as ANTHROPIC_NATIVE, u as classModelCapability, v as nativeAnthropicModels, w as parseModelsBlock, x as parseCapabilitiesValue, y as nativeAnthropicProvider } from "./config-Bz8pAU5Q.mjs";
1
+ import { A as providerQuotaSkipAt, C as parseMcpSetsValue, D as providerContextWindow, E as parseWorkersConfig, F as resolveProviderKey, I as workersConfigStamp, L as writeWorkersSection, M as readWorkersSection, N as resolveCapability, O as providerCostTier, P as resolveModelCapability, S as parseClassesValue, T as parseProvider, _ as maskKey, _t as DEFAULT_CONTEXT_WINDOW, a as MODEL_CAPABILITIES, b as nativeOrchestratorModel, c as WorkersConfigError, d as defaultWorkersConfig, f as escalationCloud, g as keysDir, h as isModelCapability, i as DEFAULT_POOL_PORT, j as readWorkersCached, k as providerKeyPath, l as assertProviderRunnable, m as isLocalProvider, n as CAPABILITY_NAME_RE, o as PROVIDER_TAGS, p as getProviderOrNative, r as DEFAULT_COST_TIER, s as WORKER_CLASSES, t as ANTHROPIC_NATIVE, u as classModelCapability, v as nativeAnthropicModels, w as parseModelsBlock, x as parseCapabilitiesValue, y as nativeAnthropicProvider } from "./config-DGV64YJa.mjs";
2
2
  import { o as expandHome, s as homeRel } from "./config-SlZ-Z52i.mjs";
3
3
 
4
4
  export { ANTHROPIC_NATIVE, CAPABILITY_NAME_RE, DEFAULT_CONTEXT_WINDOW, DEFAULT_COST_TIER, DEFAULT_POOL_PORT, MODEL_CAPABILITIES, PROVIDER_TAGS, WORKER_CLASSES, WorkersConfigError, assertProviderRunnable, classModelCapability, defaultWorkersConfig, escalationCloud, expandHome, getProviderOrNative, homeRel, isLocalProvider, isModelCapability, keysDir, maskKey, nativeAnthropicModels, nativeAnthropicProvider, nativeOrchestratorModel, parseCapabilitiesValue, parseClassesValue, parseMcpSetsValue, parseModelsBlock, parseProvider, parseWorkersConfig, providerContextWindow, providerCostTier, providerKeyPath, providerQuotaSkipAt, readWorkersCached, readWorkersSection, resolveCapability, resolveModelCapability, resolveProviderKey, workersConfigStamp, writeWorkersSection };
@@ -1614,6 +1614,7 @@ function defaultWorkersConfig() {
1614
1614
  cacheKeepaliveSecs: num(w.cacheKeepaliveSecs, 0),
1615
1615
  defaultMaxMinutes: num(w.defaultMaxMinutes, 60),
1616
1616
  waitAlarmMinutes: num(w.waitAlarmMinutes, 120),
1617
+ scanBudgetMs: num(w.scanBudgetMs, 5e3),
1617
1618
  stagger: {
1618
1619
  enabled: bool(stagger.enabled, true),
1619
1620
  localDefaultSec: num(stagger.localDefaultSec, 20),
@@ -2086,6 +2087,11 @@ function parseWorkersConfig(raw, yamlProviders = {}) {
2086
2087
  if (typeof w.waitAlarmMinutes !== "number" || !Number.isInteger(w.waitAlarmMinutes) || w.waitAlarmMinutes < 1) bad(".waitAlarmMinutes", "must be a positive integer (minutes)");
2087
2088
  waitAlarmMinutes = w.waitAlarmMinutes;
2088
2089
  }
2090
+ let scanBudgetMs = d.scanBudgetMs ?? 5e3;
2091
+ if (w.scanBudgetMs !== void 0) {
2092
+ if (typeof w.scanBudgetMs !== "number" || !Number.isInteger(w.scanBudgetMs) || w.scanBudgetMs < 1) bad(".scanBudgetMs", "must be a positive integer (milliseconds)");
2093
+ scanBudgetMs = w.scanBudgetMs;
2094
+ }
2089
2095
  const stagger = { ...d.stagger };
2090
2096
  if (w.stagger !== void 0) {
2091
2097
  if (typeof w.stagger !== "object" || w.stagger === null || Array.isArray(w.stagger)) bad(".stagger", "must be an object");
@@ -2212,6 +2218,7 @@ function parseWorkersConfig(raw, yamlProviders = {}) {
2212
2218
  cacheKeepaliveSecs,
2213
2219
  defaultMaxMinutes,
2214
2220
  waitAlarmMinutes,
2221
+ scanBudgetMs,
2215
2222
  stagger,
2216
2223
  capacity,
2217
2224
  localIdle,
@@ -2331,6 +2338,7 @@ function writeWorkersSection(raw, workers, path = CONFIG_FILE) {
2331
2338
  cacheKeepaliveSecs: workers.cacheKeepaliveSecs,
2332
2339
  defaultMaxMinutes: workers.defaultMaxMinutes,
2333
2340
  waitAlarmMinutes: workers.waitAlarmMinutes,
2341
+ scanBudgetMs: workers.scanBudgetMs,
2334
2342
  stagger: workers.stagger,
2335
2343
  capacity: workers.capacity,
2336
2344
  localIdle: workers.localIdle,
@@ -2500,4 +2508,4 @@ function escalationCloud() {
2500
2508
 
2501
2509
  //#endregion
2502
2510
  export { readWorkersYaml as $, providerQuotaSkipAt as A, isLoopbackUrl as B, parseMcpSetsValue as C, planEscalation as Ct, providerContextWindow as D, ledgerSummary as Dt, parseWorkersConfig as E, appendLedger as Et, resolveProviderKey as F, effectiveWorkersYamlData as G, WORKERS_YAML_FILENAME as H, workersConfigStamp as I, migrateWorkersToYaml as J, initWorkersYaml as K, writeWorkersSection as L, readWorkersSection as M, resolveCapability as N, providerCostTier as O, parseLedger as Ot, resolveModelCapability as P, readMergeVerify as Q, LOOPBACK_HOST as R, parseClassesValue as S, ledgerEscalate as St, parseProvider as T, withSummary as Tt, buildWorkersYamlText as U, loopbackUrl as V, defaultWorkersYamlPath as W, parseBuiltinAnthropic as X, needsWorkersYamlRelocation as Y, parseWorkersYamlDocument as Z, maskKey as _, DEFAULT_CONTEXT_WINDOW as _t, MODEL_CAPABILITIES as a, writeWorkersYamlText as at, nativeOrchestratorModel as b, stripModelVariant as bt, WorkersConfigError as c, applyRouteOverrides as ct, defaultWorkersConfig as d, findTier as dt, relocateWorkersYaml as et, escalationCloud as f, listForPolicy as ft, keysDir as g, targetList as gt, isModelCapability as h, sessionTier as ht, DEFAULT_POOL_PORT as i, writeWorkersYaml as it, readWorkersCached as j, providerKeyPath as k, assertProviderRunnable as l, classRoute as lt, isLocalProvider as m, parseEntry as mt, CAPABILITY_NAME_RE as n, workersYamlLegacyNotice as nt, PROVIDER_TAGS as o, yamlProviderToRaw as ot, getProviderOrNative as p, migrateSessionRoutes as pt, inlineWorkersYamlKeys as q, DEFAULT_COST_TIER as r, workersYamlPath as rt, WORKER_CLASSES as s, MAX_ROUTE_MODELS as st, ANTHROPIC_NATIVE as t, starterWorkersYamlText as tt, classModelCapability as u, entryProvider as ut, nativeAnthropicModels as v, certainContextWindow as vt, parseModelsBlock as w, sessionNote as wt, parseCapabilitiesValue as x, ESCALATE_FAILURES as xt, nativeAnthropicProvider as y, contextWindowFromModelId as yt, isLoopbackHostname as z };
2503
- //# sourceMappingURL=config-Bz8pAU5Q.mjs.map
2511
+ //# sourceMappingURL=config-DGV64YJa.mjs.map
@@ -1,14 +1,14 @@
1
1
  import { _ as paiHomePath } from "./runtime-paths-twfV23YL.mjs";
2
- import { Et as appendLedger, M as readWorkersSection, Ot as parseLedger, d as defaultWorkersConfig, f as escalationCloud, m as isLocalProvider, xt as ESCALATE_FAILURES } from "./config-Bz8pAU5Q.mjs";
2
+ import { Et as appendLedger, M as readWorkersSection, Ot as parseLedger, d as defaultWorkersConfig, f as escalationCloud, m as isLocalProvider, xt as ESCALATE_FAILURES } from "./config-DGV64YJa.mjs";
3
3
  import { h as effectiveMainConfig, u as paiConfigFilePath } from "./config-SlZ-Z52i.mjs";
4
- import { i as ledgerPath, l as statusPath, o as panesDir, u as workersLogDir } from "./paths-CypxFTfn.mjs";
5
- import { C as nowStamp, D as pidAlive$1, T as ownsPidCached, b as loadStatusesCached, g as isLive, h as isChatPane, k as saveStatus, v as loadStatus } from "./status-Cecau8Ps.mjs";
6
- import { c as scopeKey, i as itermUuid$1, p as currentWorkerId } from "./scope-BTWstJ1B.mjs";
7
- import { a as buildsDir, l as listBuildsSync, m as ticketKind } from "./caller-identity-C6Nc96iM.mjs";
8
- import { c as queuedFilePath, d as readQueued, f as removeQueued, l as queuedPaneLine, o as providerCap, s as queueRows, v as writeQueued } from "./capacity-B2PgKAg4.mjs";
9
- import { n as tierProviderNames, s as readLocalStatus, t as isLocalCandidate } from "./local-candidate-DFd4pp-w.mjs";
10
- import { J as psTableOrNull, d as paneRunStatusRow, f as paneStatusRow, q as psTable } from "./render-jPpMrudf.mjs";
11
- import { r as sayToWorker } from "./operator-Br6GeswF.mjs";
4
+ import { i as ledgerPath, l as statusPath, o as panesDir, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
5
+ import { C as nowStamp, D as pidAlive$1, T as ownsPidCached, b as loadStatusesCached, g as isLive, h as isChatPane, k as saveStatus, v as loadStatus } from "./status-DTMT5lyn.mjs";
6
+ import { c as scopeKey, i as itermUuid$1, p as currentWorkerId } from "./scope-BRcaPw5D.mjs";
7
+ import { a as buildsDir, l as listBuildsSync, m as ticketKind } from "./caller-identity-DPDSrZE2.mjs";
8
+ import { c as queuedFilePath, d as readQueued, f as removeQueued, l as queuedPaneLine, o as providerCap, s as queueRows, v as writeQueued } from "./capacity-CThSydrd.mjs";
9
+ import { n as tierProviderNames, s as readLocalStatus, t as isLocalCandidate } from "./local-candidate-C2FGhf54.mjs";
10
+ import { J as psTable, Y as psTableOrNull, d as paneRunStatusRow, f as paneStatusRow } from "./render-CbifCwTb.mjs";
11
+ import { r as sayToWorker } from "./operator-lRGvYr3D.mjs";
12
12
  import { appendFileSync, existsSync, mkdirSync, mkdtempSync, openSync, readFileSync, readdirSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
13
13
  import { createHash } from "node:crypto";
14
14
  import { dirname, isAbsolute, join, resolve } from "node:path";
@@ -873,8 +873,8 @@ async function runPaneExec(id, d = {}) {
873
873
  let show = out;
874
874
  let showErr = err;
875
875
  if (sp.statusLine && (d.tty ?? process.stdout.isTTY === true)) {
876
- const { loadStatus } = await import("./status-D52xC_i0.mjs");
877
- const { sayToWorker } = await import("./operator-Bmv5tiHQ.mjs");
876
+ const { loadStatus } = await import("./status-Bj4yVKj0.mjs");
877
+ const { sayToWorker } = await import("./operator-IrLbk8hy.mjs");
878
878
  const b = startPaneBar({
879
879
  spec: sp.statusLine,
880
880
  write: (x) => out(x),
@@ -981,8 +981,8 @@ async function renderer(sp, id, out, err) {
981
981
  err: (c) => err(c),
982
982
  end: () => void 0
983
983
  };
984
- const { applyEvent, initialFollowState } = await import("./viewer-Ce-Xa9L3.mjs");
985
- const { makeColor } = await import("./render-DVGXpfaT.mjs");
984
+ const { applyEvent, initialFollowState } = await import("./viewer-D3VEdqhC.mjs");
985
+ const { makeColor } = await import("./render-FB4Fv_fi.mjs");
986
986
  const c = makeColor(true);
987
987
  let state = initialFollowState("");
988
988
  let buf = "";
@@ -4701,4 +4701,4 @@ async function returnControlsIfHeld(logDir, id) {
4701
4701
 
4702
4702
  //#endregion
4703
4703
  export { checkPaneForWorker as $, tail as A, CHAT_HELP as At, loadPlanStatus as B, wrapText as Bt, readRunLog as C, openOwnedPane as Ct, resumeState as D, recordPath as Dt, requestPlanStop as E, readRecord as Et, runLogPath as F, chatPromptRow as Ft, planRunId as G, LOCAL_FAILURE_LIMIT as Gt, planLogTail as H, handoffFromInside as Ht, PlanTracker as I, chatScrollRegion as It, queueLockPath as J, routeLine as Jt, renderPlanLines as K, classifyRoute as Kt, fmtElapsed as L, chatTickerRow as Lt, dirtyConflicts as M, chatEnter as Mt, filesOverlap as N, chatInsertLine as Nt, runExitCode as O, runPaneExec as Ot, loadPlan as P, chatLeave as Pt, NoTerminalError as Q, followPlanLog as R, holdAutoExit as Rt, planStopPath as S, listRecords as St, renderStatus as T, readExit as Tt, planRows as U, isHandoffMessage as Ut, loadPlanStatuses as V, deliverHandoff as Vt, planRunEnded as W, readInbox as Wt, sinceText as X, readRunLock as Y, withRunLock as Z, troublePolicy as _, paneTitle as _t, localIdleTick as a, headlessAllowed as at, idleText as b, PANE_EXEC_PID_ENV as bt, setMuted as c, openFollowPane as ct, aibrokerMessenger as d, osascript as dt, closeEndedPanes as et, detachRun as f, paneBackend as ft, sweepRuns as g, workerEnded as gt, originFromEnv as h, resolveHostSession as ht, localIdleLine as i, followCommand as it, PlanError as j, chatBlankRow as jt, runPlan as k, panePolicy as kt, PlanReporter as l, openPaneForWorker as lt, markRunDone as m, realPaneOps as mt, markControlsHeld as n, closePaneForWorker as nt, ownerOf as o, inVisiblePane as ot, eventLine as p, paneMayClose as pt, planLockPath as q, localFailures as qt, returnControlsIfHeld as r, closeSelfPane as rt, readLocalIdle as s, loadRegistry as st, clickrControlsArgv as t, closeOwnPane as tt, QueueReporter as u, openVerifiedPane as ut, appendRunLog as v, writePaneTitle as vt, renderSchedule as w, pidAlive as wt, planStatus as x, exitFilePath as xt, blockedMessage as y, PANE_EXEC_ENV as yt, gatePhaseName as z, parseChatLine as zt };
4704
- //# sourceMappingURL=controls-rIItFeIJ.mjs.map
4704
+ //# sourceMappingURL=controls-ByrcupcA.mjs.map
@@ -1,48 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
  import "../utils-J2b9y8PC.mjs";
3
3
  import "../migrate-C2z1YmWC.mjs";
4
- import "../config-Bz8pAU5Q.mjs";
4
+ import "../config-DGV64YJa.mjs";
5
5
  import { a as ensureConfigDir, c as loadConfig } from "../config-SlZ-Z52i.mjs";
6
- import "../paths-CypxFTfn.mjs";
7
- import "../worktree-O_kU6Q3y.mjs";
8
- import "../status-Cecau8Ps.mjs";
9
- import "../pool-9EsbKD-U.mjs";
10
- import "../registrable-Dxs4oKIj.mjs";
11
- import "../pai-marker-D6OoVbM_.mjs";
6
+ import "../paths-BwfwHOvN.mjs";
7
+ import "../worktree-7ZS3RBf8.mjs";
8
+ import "../status-DTMT5lyn.mjs";
9
+ import "../pool-CFeHGX7q.mjs";
10
+ import "../registrable-D_4qXCnq.mjs";
11
+ import "../pai-marker-kA0iM7rP.mjs";
12
12
  import "../helpers-CRuBUas3.mjs";
13
13
  import "../reranker-CqCbpGnX.mjs";
14
14
  import { t as dropItermBundleId } from "../env-BE8mrsxr.mjs";
15
- import "../scope-BTWstJ1B.mjs";
16
- import "../routing-aJKMIagQ.mjs";
17
- import "../tool-errors-BFw1gv-z.mjs";
18
- import "../wait-C5iWILj_.mjs";
15
+ import "../scope-BRcaPw5D.mjs";
16
+ import "../routing-CF0wlR-_.mjs";
17
+ import "../tool-errors-BOW2n882.mjs";
18
+ import "../wait-BindDA5w.mjs";
19
19
  import "../local-tiers-CqwGUcEn.mjs";
20
- import "../caller-identity-C6Nc96iM.mjs";
21
- import "../capacity-B2PgKAg4.mjs";
20
+ import "../caller-identity-DPDSrZE2.mjs";
21
+ import "../capacity-CThSydrd.mjs";
22
22
  import "../local-instances-DhF4_sV2.mjs";
23
- import "../local-candidate-DFd4pp-w.mjs";
23
+ import "../local-candidate-C2FGhf54.mjs";
24
24
  import "../factory-CYwa0jYj.mjs";
25
25
  import "../postgres-BL5oBBgY.mjs";
26
26
  import "../embedding-gate-iq0oQEkF.mjs";
27
27
  import "../embeddings-BVq3esBF.mjs";
28
28
  import "../router-D2476pOp.mjs";
29
29
  import "../detect-DLjeYwnt.mjs";
30
- import "../scan-CNMcltOX.mjs";
31
- import "../launch-Bn2Zf90h.mjs";
32
- import "../run-DE9Q0ldN.mjs";
33
- import "../controls-rIItFeIJ.mjs";
34
- import "../endreason-C2-hYK0_.mjs";
35
- import "../render-jPpMrudf.mjs";
36
- import "../operator-Br6GeswF.mjs";
37
- import "../kill-tree-DPiMscaY.mjs";
38
- import "../pool-cli-Db0uDwB9.mjs";
39
- import "../pane-audit-DLYy9-4g.mjs";
30
+ import "../scan-ew8M6tTH.mjs";
31
+ import "../launch-CV6oPHI2.mjs";
32
+ import "../run-CAjfKBQV.mjs";
33
+ import "../controls-ByrcupcA.mjs";
34
+ import "../endreason-BjPom527.mjs";
35
+ import "../render-CbifCwTb.mjs";
36
+ import "../operator-lRGvYr3D.mjs";
37
+ import "../kill-tree-DTmiEb3T.mjs";
38
+ import "../pool-cli-DOLgPgOM.mjs";
39
+ import "../pane-audit-DUuilP1V.mjs";
40
40
  import { n as PaiClient } from "../ipc-client-CmagIFLh.mjs";
41
- import "../embed-pass-CN1D8MXl.mjs";
42
- import "../session-usage-CCmPFFa6.mjs";
43
- import "../lessons-CFVU0cwA.mjs";
44
- import { t as serve } from "../daemon-SoUvPUOf.mjs";
45
- import "../auto-route-YaEGVrFl.mjs";
41
+ import "../embed-pass-DdTMn4DH.mjs";
42
+ import "../session-usage-BRIWFYPS.mjs";
43
+ import "../lessons-CdmqZD0G.mjs";
44
+ import { t as serve } from "../daemon-BjgJyJMP.mjs";
45
+ import "../auto-route-PDOAYszN.mjs";
46
46
  import "../zettelkasten-FFhQFESJ.mjs";
47
47
 
48
48
  //#region src/daemon/index.ts
@@ -1,21 +1,21 @@
1
1
  import { _ as paiHomePath } from "./runtime-paths-twfV23YL.mjs";
2
2
  import { t as writeFileAtomic } from "./atomic-file-BorMa4T3.mjs";
3
- import { Et as appendLedger, M as readWorkersSection, t as ANTHROPIC_NATIVE } from "./config-Bz8pAU5Q.mjs";
3
+ import { Et as appendLedger, M as readWorkersSection, t as ANTHROPIC_NATIVE } from "./config-DGV64YJa.mjs";
4
4
  import { f as readMainConfigRaw, i as defaults, p as writeMainConfigRaw, u as paiConfigFilePath, y as shippedMainDefaults } from "./config-SlZ-Z52i.mjs";
5
- import { c as slotCurrentPath, i as ledgerPath, r as eventsPath, u as workersLogDir } from "./paths-CypxFTfn.mjs";
6
- import { f as gcWorktreesThrottled, w as worktreesDir } from "./worktree-O_kU6Q3y.mjs";
7
- import { B as listStale, C as nowStamp, K as writeSectionToForge, L as PROJECT_CONFIG_REL, R as formatStale, V as loadStatusConfig, b as loadStatusesCached, h as isChatPane, k as saveStatus, s as alive, v as loadStatus } from "./status-Cecau8Ps.mjs";
8
- import { a as unregistrableReason } from "./registrable-Dxs4oKIj.mjs";
5
+ import { c as slotCurrentPath, i as ledgerPath, r as eventsPath, u as workersLogDir } from "./paths-BwfwHOvN.mjs";
6
+ import { f as gcWorktreesThrottled, w as worktreesDir } from "./worktree-7ZS3RBf8.mjs";
7
+ import { B as listStale, C as nowStamp, K as writeSectionToForge, L as PROJECT_CONFIG_REL, R as formatStale, V as loadStatusConfig, b as loadStatusesCached, h as isChatPane, k as saveStatus, s as alive, v as loadStatus } from "./status-DTMT5lyn.mjs";
8
+ import { a as unregistrableReason } from "./registrable-D_4qXCnq.mjs";
9
9
  import { c as yieldToEventLoop, f as fileContentHash, l as buildOutline, n as chunkId, u as chunkMarkdown } from "./helpers-CRuBUas3.mjs";
10
10
  import { n as TITLE_STOP_WORDS, t as STOP_WORDS } from "./stop-words-DSEYQdNe.mjs";
11
11
  import { i as populateSlugs, t as applyRecencyBoost } from "./search-RSyeQqj1.mjs";
12
12
  import { n as rerankResults } from "./reranker-CqCbpGnX.mjs";
13
- import { i as itermUuid, r as itermForClaudeSession } from "./scope-BTWstJ1B.mjs";
14
- import { Tn as startLocalStatusRefresh, st as startInventoryRefresh } from "./routing-aJKMIagQ.mjs";
13
+ import { i as itermUuid, r as itermForClaudeSession } from "./scope-BRcaPw5D.mjs";
14
+ import { Tn as startLocalStatusRefresh, st as startInventoryRefresh } from "./routing-CF0wlR-_.mjs";
15
15
  import { n as minOf, t as maxOf } from "./min-max-DrSRUaWQ.mjs";
16
- import { C as toolErrorSigTag, S as summarizeToolInput, T as toolErrorText, a as SAME_WORKER_WINDOW_MS, b as readToolErrors, c as classifyToolError, d as detectToolErrors, s as benignNote, u as detectRunningWorkerErrors, w as toolErrorSummary } from "./tool-errors-BFw1gv-z.mjs";
17
- import { b as killProcessTree } from "./wait-C5iWILj_.mjs";
18
- import { a as buildsDir, b as stallMinutes, c as listBuilds, l as listBuildsSync, u as patchTicket } from "./caller-identity-C6Nc96iM.mjs";
16
+ import { C as toolErrorSigTag, S as summarizeToolInput, T as toolErrorText, a as SAME_WORKER_WINDOW_MS, b as readToolErrors, c as classifyToolError, d as detectToolErrors, s as benignNote, u as detectRunningWorkerErrors, w as toolErrorSummary } from "./tool-errors-BOW2n882.mjs";
17
+ import { b as killProcessTree } from "./wait-BindDA5w.mjs";
18
+ import { a as buildsDir, b as stallMinutes, c as listBuilds, l as listBuildsSync, u as patchTicket } from "./caller-identity-DPDSrZE2.mjs";
19
19
  import { t as LOCAL_PROBE_TIMEOUT_MS } from "./timeouts-1MLooEBB.mjs";
20
20
  import { d as getBackendOutage, n as createRegistryBackend, r as createStorageBackend } from "./factory-CYwa0jYj.mjs";
21
21
  import { c as resolveFromModule, n as embedChunksWithBackend } from "./postgres-BL5oBBgY.mjs";
@@ -23,17 +23,17 @@ import { a as requireQueryEmbedding, c as getConfiguredBackend, h as mismatchRea
23
23
  import { i as deserializeEmbedding, n as configureEmbeddingModel, r as cosineSimilarity$1 } from "./embeddings-BVq3esBF.mjs";
24
24
  import { n as routeNotification } from "./router-D2476pOp.mjs";
25
25
  import { r as formatDetectionJson, t as detectProject } from "./detect-DLjeYwnt.mjs";
26
- import { i as performScan } from "./scan-CNMcltOX.mjs";
26
+ import { i as performScan } from "./scan-ew8M6tTH.mjs";
27
27
  import { r as sendToSession, t as callAiBroker } from "./aibroker-client-CXsyC7A8.mjs";
28
- import { E as probeRouter, F as startHandover, M as routerSwapArgs, N as runRouterTick, O as routerIsStale, P as spawnRouter, j as routerRunningPid, l as runMessenger, t as runWorker } from "./run-DE9Q0ldN.mjs";
29
- import { a as localIdleTick, et as closeEndedPanes, g as sweepRuns, gt as workerEnded, pt as paneMayClose, st as loadRegistry } from "./controls-rIItFeIJ.mjs";
30
- import { Y as truncateLines } from "./render-jPpMrudf.mjs";
31
- import { l as isPaneRunId, n as auditTick, r as closeFinishedPanes } from "./pane-audit-DLYy9-4g.mjs";
32
- import { a as EMBED_PASS_BATCH_SIZE, c as liveYieldCheck, d as runEmbedCycle, i as DEFAULT_EMBED_RESUME_MINUTES, n as DEFAULT_EMBED_MAX_LOAD, r as DEFAULT_EMBED_MAX_MINUTES, t as DEFAULT_EMBED_CYCLE_MAX_MINUTES, u as recordEmbedPass } from "./embed-pass-CN1D8MXl.mjs";
33
- import { o as logWorkersConfigShadowsOnce } from "./session-usage-CCmPFFa6.mjs";
34
- import { $ as setIndexSchedulerTimer, A as getGitContext, B as lastEmbedPass, Bt as registerQuietRunner, C as hasPendingOrProcessingOfType, Dt as vaultIndexEnabled, E as markFailed, Et as obsidianEnabled, F as daemonConfig, G as notificationConfig, H as lastIndexPass, I as embedInProgress, It as deferIfQuiet, J as setCacheKeepaliveTimer, Jt as writeContextHandoverCache, K as passFailures, Kt as writeDaemonPidfile, L as embedSchedulerTimer, Mt as sweepOrphans, N as spawnSummarizer, O as contentToText$2, Ot as buildWakeupContext, P as cacheKeepaliveTimer, Pt as runSessionKeepaliveTick, Q as setIndexInProgress, R as indexInProgress, S as getStats, St as findNotesDir, T as markCompleted, Tt as lessonsIndexEnabled, U as lastIndexTime, V as lastEmbedTime, Vt as startQuietWatcher, W as lastVaultIndexTime, Wt as removeDaemonPidfile, X as setEmbedInProgress, Y as setDaemonConfig, Z as setEmbedSchedulerTimer, _ as NonRetryableError, _t as addWorkToSessionNote, a as lessonsDir, at as setNotificationConfig, b as enqueue, bt as getCurrentNotePath, ct as setStartTime, d as buildPassCommand, dt as shutdownRequested, en as restartRouter, et as setLastEmbedPass, f as cliEntry, ft as startTime, gt as updateTodoContinue, h as backfillKgFromNotes, ht as sessionIdFromTranscript, i as getLesson, it as setLastVaultIndexTime, j as handleSessionSummary, k as findLatestJsonl, lt as setStorageBackend, m as runPassChild, mt as vaultIndexInProgress, n as LESSON_STATES, nt as setLastIndexPass, o as listLessons, ot as setRegistryBackend, pt as storageBackend, q as registryBackend, qt as readContextHandoverCache, rt as setLastIndexTime, st as setShutdownRequested, tt as setLastEmbedTime, u as PassSpawnError, ut as setVaultIndexInProgress, v as cleanup, vt as appendCheckpoint, w as loadQueue, x as enqueueCoalesced, xt as archiveSessionFilesToSessionsDir, y as dequeue, yt as finalizeSessionNote, z as indexSchedulerTimer } from "./lessons-CFVU0cwA.mjs";
28
+ import { E as probeRouter, F as startHandover, M as routerSwapArgs, N as runRouterTick, O as routerIsStale, P as spawnRouter, j as routerRunningPid, l as runMessenger, t as runWorker } from "./run-CAjfKBQV.mjs";
29
+ import { a as localIdleTick, et as closeEndedPanes, g as sweepRuns, gt as workerEnded, pt as paneMayClose, st as loadRegistry } from "./controls-ByrcupcA.mjs";
30
+ import { X as truncateLines } from "./render-CbifCwTb.mjs";
31
+ import { l as isPaneRunId, n as auditTick, r as closeFinishedPanes } from "./pane-audit-DUuilP1V.mjs";
32
+ import { a as EMBED_PASS_BATCH_SIZE, c as liveYieldCheck, d as runEmbedCycle, i as DEFAULT_EMBED_RESUME_MINUTES, n as DEFAULT_EMBED_MAX_LOAD, r as DEFAULT_EMBED_MAX_MINUTES, t as DEFAULT_EMBED_CYCLE_MAX_MINUTES, u as recordEmbedPass } from "./embed-pass-DdTMn4DH.mjs";
33
+ import { o as logWorkersConfigShadowsOnce } from "./session-usage-BRIWFYPS.mjs";
34
+ import { $ as setIndexSchedulerTimer, A as getGitContext, B as lastEmbedPass, Bt as registerQuietRunner, C as hasPendingOrProcessingOfType, Dt as vaultIndexEnabled, E as markFailed, Et as obsidianEnabled, F as daemonConfig, G as notificationConfig, H as lastIndexPass, I as embedInProgress, It as deferIfQuiet, J as setCacheKeepaliveTimer, Jt as writeContextHandoverCache, K as passFailures, Kt as writeDaemonPidfile, L as embedSchedulerTimer, Mt as sweepOrphans, N as spawnSummarizer, O as contentToText$2, Ot as buildWakeupContext, P as cacheKeepaliveTimer, Pt as runSessionKeepaliveTick, Q as setIndexInProgress, R as indexInProgress, S as getStats, St as findNotesDir, T as markCompleted, Tt as lessonsIndexEnabled, U as lastIndexTime, V as lastEmbedTime, Vt as startQuietWatcher, W as lastVaultIndexTime, Wt as removeDaemonPidfile, X as setEmbedInProgress, Y as setDaemonConfig, Z as setEmbedSchedulerTimer, _ as NonRetryableError, _t as addWorkToSessionNote, a as lessonsDir, at as setNotificationConfig, b as enqueue, bt as getCurrentNotePath, ct as setStartTime, d as buildPassCommand, dt as shutdownRequested, en as restartRouter, et as setLastEmbedPass, f as cliEntry, ft as startTime, gt as updateTodoContinue, h as backfillKgFromNotes, ht as sessionIdFromTranscript, i as getLesson, it as setLastVaultIndexTime, j as handleSessionSummary, k as findLatestJsonl, lt as setStorageBackend, m as runPassChild, mt as vaultIndexInProgress, n as LESSON_STATES, nt as setLastIndexPass, o as listLessons, ot as setRegistryBackend, pt as storageBackend, q as registryBackend, qt as readContextHandoverCache, rt as setLastIndexTime, st as setShutdownRequested, tt as setLastEmbedTime, u as PassSpawnError, ut as setVaultIndexInProgress, v as cleanup, vt as appendCheckpoint, w as loadQueue, x as enqueueCoalesced, xt as archiveSessionFilesToSessionsDir, y as dequeue, yt as finalizeSessionNote, z as indexSchedulerTimer } from "./lessons-CdmqZD0G.mjs";
35
35
  import { r as saveQueryResult } from "./query-feedback-BWl2HRwN.mjs";
36
- import { n as formatAutoRouteJson, r as detectTopicShift, t as autoRoute } from "./auto-route-YaEGVrFl.mjs";
36
+ import { n as formatAutoRouteJson, r as detectTopicShift, t as autoRoute } from "./auto-route-PDOAYszN.mjs";
37
37
  import { a as zettelThemes, c as zettelExplore, i as zettelHealth, n as zettelGodNotes, o as zettelConverse, r as zettelSuggest, s as zettelSurprise, t as zettelCommunities } from "./zettelkasten-FFhQFESJ.mjs";
38
38
  import { appendFileSync, chmodSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, realpathSync, statSync, unlinkSync, utimesSync, writeFileSync } from "node:fs";
39
39
  import { basename, dirname, isAbsolute, join, normalize, relative, resolve, sep } from "node:path";
@@ -736,12 +736,12 @@ async function checkLoops(logDir, statuses, sent, deps = {}) {
736
736
  throw err;
737
737
  }
738
738
  }, say = async (logDir, id, text) => {
739
- const { sayToWorker } = await import("./operator-Bmv5tiHQ.mjs");
739
+ const { sayToWorker } = await import("./operator-IrLbk8hy.mjs");
740
740
  return sayToWorker(logDir, id, text);
741
741
  }, kill = (pid) => {
742
742
  process.kill(pid, "SIGTERM");
743
743
  }, killChildren = async (logDir, id) => {
744
- const { killTree } = await import("./kill-tree-Dxei6qlR.mjs");
744
+ const { killTree } = await import("./kill-tree-BlPw1vaU.mjs");
745
745
  return killTree(logDir, id, {
746
746
  skipRoot: true,
747
747
  by: "loop-guard",
@@ -6918,4 +6918,4 @@ async function serve(config) {
6918
6918
 
6919
6919
  //#endregion
6920
6920
  export { serve as t };
6921
- //# sourceMappingURL=daemon-SoUvPUOf.mjs.map
6921
+ //# sourceMappingURL=daemon-BjgJyJMP.mjs.map
@@ -0,0 +1,46 @@
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 "./reranker-CqCbpGnX.mjs";
13
+ import "./scope-BRcaPw5D.mjs";
14
+ import "./routing-CF0wlR-_.mjs";
15
+ import "./tool-errors-BOW2n882.mjs";
16
+ import "./wait-BindDA5w.mjs";
17
+ import "./local-tiers-CqwGUcEn.mjs";
18
+ import "./caller-identity-DPDSrZE2.mjs";
19
+ import "./capacity-CThSydrd.mjs";
20
+ import "./local-instances-DhF4_sV2.mjs";
21
+ import "./local-candidate-C2FGhf54.mjs";
22
+ import "./factory-CYwa0jYj.mjs";
23
+ import "./postgres-BL5oBBgY.mjs";
24
+ import "./embedding-gate-iq0oQEkF.mjs";
25
+ import "./embeddings-BVq3esBF.mjs";
26
+ import "./router-D2476pOp.mjs";
27
+ import "./detect-DLjeYwnt.mjs";
28
+ import "./scan-ew8M6tTH.mjs";
29
+ import "./launch-CV6oPHI2.mjs";
30
+ import "./run-CAjfKBQV.mjs";
31
+ import "./controls-ByrcupcA.mjs";
32
+ import "./endreason-BjPom527.mjs";
33
+ import "./render-CbifCwTb.mjs";
34
+ import "./operator-lRGvYr3D.mjs";
35
+ import "./kill-tree-DTmiEb3T.mjs";
36
+ import "./pool-cli-DOLgPgOM.mjs";
37
+ import "./pane-audit-DUuilP1V.mjs";
38
+ import "./ipc-client-CmagIFLh.mjs";
39
+ import "./embed-pass-DdTMn4DH.mjs";
40
+ import "./session-usage-BRIWFYPS.mjs";
41
+ import "./lessons-CdmqZD0G.mjs";
42
+ import { t as serve } from "./daemon-BjgJyJMP.mjs";
43
+ import "./auto-route-PDOAYszN.mjs";
44
+ import "./zettelkasten-FFhQFESJ.mjs";
45
+
46
+ export { serve };
@@ -1,44 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import "../utils-J2b9y8PC.mjs";
3
3
  import { _ as paiHomePath } from "../runtime-paths-twfV23YL.mjs";
4
- import { Dt as ledgerSummary, M as readWorkersSection, a as MODEL_CAPABILITIES, f as escalationCloud, m as isLocalProvider, n as CAPABILITY_NAME_RE, p as getProviderOrNative } from "../config-Bz8pAU5Q.mjs";
4
+ import { Dt as ledgerSummary, M as readWorkersSection, a as MODEL_CAPABILITIES, f as escalationCloud, m as isLocalProvider, n as CAPABILITY_NAME_RE, p as getProviderOrNative } from "../config-DGV64YJa.mjs";
5
5
  import { S as MainConfigError, c as loadConfig, n as CONFIG_FILE } from "../config-SlZ-Z52i.mjs";
6
- import { i as ledgerPath, u as workersLogDir } from "../paths-CypxFTfn.mjs";
7
- import "../worktree-O_kU6Q3y.mjs";
8
- import { C as nowStamp, O as reconcileStatuses, g as isLive, j as setWorkerLabel, o as ageOf, v as loadStatus, y as loadStatuses } from "../status-Cecau8Ps.mjs";
9
- import "../pool-9EsbKD-U.mjs";
6
+ import { i as ledgerPath, u as workersLogDir } from "../paths-BwfwHOvN.mjs";
7
+ import "../worktree-7ZS3RBf8.mjs";
8
+ import { C as nowStamp, O as reconcileStatuses, g as isLive, j as setWorkerLabel, o as ageOf, v as loadStatus, y as loadStatuses } from "../status-DTMT5lyn.mjs";
9
+ import "../pool-CFeHGX7q.mjs";
10
10
  import "../helpers-CRuBUas3.mjs";
11
11
  import { t as dropItermBundleId } from "../env-BE8mrsxr.mjs";
12
- import "../scope-BTWstJ1B.mjs";
13
- import { Ft as clearSessionRoute, J as inventoryRows, Kt as sessionRoutesPatch, W as currentInventory, _n as currentLocalStatus, cn as detectSessionName, dn as getProfile, fn as profilesPath, mn as updateProfile, xn as probeLoopback, z as INVENTORY_HEADERS } from "../routing-aJKMIagQ.mjs";
14
- import "../tool-errors-BFw1gv-z.mjs";
15
- import "../wait-C5iWILj_.mjs";
12
+ import "../scope-BRcaPw5D.mjs";
13
+ import { Ft as clearSessionRoute, J as inventoryRows, Kt as sessionRoutesPatch, W as currentInventory, _n as currentLocalStatus, cn as detectSessionName, dn as getProfile, fn as profilesPath, mn as updateProfile, xn as probeLoopback, z as INVENTORY_HEADERS } from "../routing-CF0wlR-_.mjs";
14
+ import "../tool-errors-BOW2n882.mjs";
15
+ import "../wait-BindDA5w.mjs";
16
16
  import "../local-tiers-CqwGUcEn.mjs";
17
- import { a as buildsDir, c as listBuilds, i as buildNext, p as renderBuildQueue, v as poolSlots } from "../caller-identity-C6Nc96iM.mjs";
18
- import { i as effectiveCap, p as reorderQueue, s as queueRows } from "../capacity-B2PgKAg4.mjs";
17
+ import { a as buildsDir, c as listBuilds, i as buildNext, p as renderBuildQueue, v as poolSlots } from "../caller-identity-DPDSrZE2.mjs";
18
+ import { i as effectiveCap, p as reorderQueue, s as queueRows } from "../capacity-CThSydrd.mjs";
19
19
  import "../local-instances-DhF4_sV2.mjs";
20
- import { a as localStatusReport } from "../local-candidate-DFd4pp-w.mjs";
20
+ import { a as localStatusReport } from "../local-candidate-C2FGhf54.mjs";
21
21
  import "../factory-CYwa0jYj.mjs";
22
22
  import "../postgres-BL5oBBgY.mjs";
23
23
  import "../embedding-gate-iq0oQEkF.mjs";
24
24
  import "../embeddings-BVq3esBF.mjs";
25
25
  import "../router-D2476pOp.mjs";
26
- import "../launch-Bn2Zf90h.mjs";
27
- import { H as testProvider, a as resolveWorkers, c as reportOriginWithHost, f as dirtyPaths, i as liveResolveCtx, t as runWorker, u as startDetached } from "../run-DE9Q0ldN.mjs";
28
- import { A as tail, B as loadPlanStatus, C as readRunLog, D as resumeState, E as requestPlanStop, F as runLogPath, G as planRunId, Ht as handoffFromInside, J as queueLockPath, L as fmtElapsed, M as dirtyConflicts, P as loadPlan, S as planStopPath, Wt as readInbox, X as sinceText, Y as readRunLock, b as idleText, j as PlanError, q as planLockPath, w as renderSchedule, x as planStatus } from "../controls-rIItFeIJ.mjs";
29
- import { a as endLabel } from "../endreason-C2-hYK0_.mjs";
30
- import { D as deadlineLabel } from "../render-jPpMrudf.mjs";
31
- import { r as sayToWorker } from "../operator-Br6GeswF.mjs";
32
- import "../kill-tree-DPiMscaY.mjs";
33
- import "../pool-cli-Db0uDwB9.mjs";
34
- import { t as runChain } from "../chain-CtK49-Ma.mjs";
35
- import { C as schedulerLines, E as resolveSpecPath, S as withTarget, T as readSpecPrompt, _ as issueClaims, a as branchDiff, d as loadSettings, f as move, g as issueClaim, i as projectChecks, l as QueueStore, n as initProject, o as realQueueDeps, p as queueStatePath, r as isGitProject, s as acceptItems, t as formatCheck, u as again, v as issueStale, w as schedulerView, x as resolveTarget, y as providerCaps } from "../project-setup-DHxdJjEc.mjs";
36
- import "../pane-audit-DLYy9-4g.mjs";
37
- import { d as psOutput, f as replayOutput } from "../viewer-DvBg6N22.mjs";
38
- import { _ as unsetCapabilityPreference, a as describeCapabilities, b as useProvider, c as modelPrefsText, d as setCapabilityPreference, f as setClass, g as setWorkersEnabled, h as setProviderModel, l as removeProvider, m as setProviderEnabled, o as describeModels, p as setProviderCap, r as classTargetText, s as describeProviders, t as addProvider, u as resolveProviderName, v as unsetClass, y as updateProvider } from "../providers-BNV7CzC-.mjs";
39
- import { a as listConfigOp, i as getConfigValueOp, o as setConfigValueOp, s as unsetConfigValueOp, t as MainConfigOpsError } from "../main-config-ops-rda08BCD.mjs";
26
+ import "../launch-CV6oPHI2.mjs";
27
+ import { H as testProvider, a as resolveWorkers, c as reportOriginWithHost, f as dirtyPaths, i as liveResolveCtx, t as runWorker, u as startDetached } from "../run-CAjfKBQV.mjs";
28
+ import { A as tail, B as loadPlanStatus, C as readRunLog, D as resumeState, E as requestPlanStop, F as runLogPath, G as planRunId, Ht as handoffFromInside, J as queueLockPath, L as fmtElapsed, M as dirtyConflicts, P as loadPlan, S as planStopPath, Wt as readInbox, X as sinceText, Y as readRunLock, b as idleText, j as PlanError, q as planLockPath, w as renderSchedule, x as planStatus } from "../controls-ByrcupcA.mjs";
29
+ import { a as endLabel } from "../endreason-BjPom527.mjs";
30
+ import { D as deadlineLabel } from "../render-CbifCwTb.mjs";
31
+ import { r as sayToWorker } from "../operator-lRGvYr3D.mjs";
32
+ import "../kill-tree-DTmiEb3T.mjs";
33
+ import "../pool-cli-DOLgPgOM.mjs";
34
+ import { t as runChain } from "../chain-BvdKqRiZ.mjs";
35
+ import { C as schedulerLines, E as resolveSpecPath, S as withTarget, T as readSpecPrompt, _ as issueClaims, a as branchDiff, d as loadSettings, f as move, g as issueClaim, i as projectChecks, l as QueueStore, n as initProject, o as realQueueDeps, p as queueStatePath, r as isGitProject, s as acceptItems, t as formatCheck, u as again, v as issueStale, w as schedulerView, x as resolveTarget, y as providerCaps } from "../project-setup-i5D0xkTn.mjs";
36
+ import "../pane-audit-DUuilP1V.mjs";
37
+ import { d as psOutput, f as replayOutput } from "../viewer-4BU8w_gK.mjs";
38
+ import { _ as unsetCapabilityPreference, a as describeCapabilities, b as useProvider, c as modelPrefsText, d as setCapabilityPreference, f as setClass, g as setWorkersEnabled, h as setProviderModel, l as removeProvider, m as setProviderEnabled, o as describeModels, p as setProviderCap, r as classTargetText, s as describeProviders, t as addProvider, u as resolveProviderName, v as unsetClass, y as updateProvider } from "../providers-BC2Myo_O.mjs";
39
+ import { a as listConfigOp, i as getConfigValueOp, o as setConfigValueOp, s as unsetConfigValueOp, t as MainConfigOpsError } from "../main-config-ops-C_fkINDv.mjs";
40
40
  import { n as PaiClient } from "../ipc-client-CmagIFLh.mjs";
41
- import { i as fallbackStatusText, n as fallbackOn, r as fallbackStatus, t as fallbackOff } from "../fallback-CwPSCrX8.mjs";
41
+ import { i as fallbackStatusText, n as fallbackOn, r as fallbackStatus, t as fallbackOff } from "../fallback-CQ8_CuVu.mjs";
42
42
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
43
43
  import { basename, dirname, join, resolve } from "node:path";
44
44
  import { stringify } from "yaml";