turbollm 1.13.3 → 1.13.4

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 (120) hide show
  1. package/dist/{chunk-HQ76BEUS.js → chunk-FJDRILNH.js} +33 -25
  2. package/dist/cli.js +1418 -1368
  3. package/dist/code-routes.js +1 -1
  4. package/dist/code-run-manager.js +1 -1
  5. package/dist/webdist/assets/{AgentEditPage-8XwklBCN.js → AgentEditPage-B_Oyad8i.js} +1 -1
  6. package/dist/webdist/assets/{ChatScreen-BG-gWo8i.js → ChatScreen-rdVNApWK.js} +1 -1
  7. package/dist/webdist/assets/{CodeComposer-Bui_gqhF.js → CodeComposer-CbHakcaM.js} +1 -1
  8. package/dist/webdist/assets/{CodeHomeScreen-CEaCj3je.js → CodeHomeScreen-Cq8dvLJw.js} +1 -1
  9. package/dist/webdist/assets/{CodeSessionScreen-DUTkKMNW.js → CodeSessionScreen-BMWUwoOk.js} +1 -1
  10. package/dist/webdist/assets/{CustomizeScreen-ze18T4hb.js → CustomizeScreen-tG_5_KBB.js} +1 -1
  11. package/dist/webdist/assets/{EnginesScreen-CmJVhifa.js → EnginesScreen-CR_UoUaB.js} +1 -1
  12. package/dist/webdist/assets/{HardwareSection-63UUvSMO.js → HardwareSection-CpQNd_Xs.js} +1 -1
  13. package/dist/webdist/assets/ModelDetailDialog-CEnsN-3_.js +1 -0
  14. package/dist/webdist/assets/{ModelLoadMenu-D0bpk6p2.js → ModelLoadMenu-CZahEXnE.js} +1 -1
  15. package/dist/webdist/assets/{ModelsScreen-DYSvF-AP.js → ModelsScreen-Bt3A9dPj.js} +2 -2
  16. package/dist/webdist/assets/{OnboardingScreen-Bti1XKVZ.js → OnboardingScreen-C-8oeohL.js} +1 -1
  17. package/dist/webdist/assets/{RoutineEditPage-Dytik45T.js → RoutineEditPage-BFdPO8HK.js} +1 -1
  18. package/dist/webdist/assets/{RoutinesPanel-CK2_OmGj.js → RoutinesPanel-CczgDeDo.js} +1 -1
  19. package/dist/webdist/assets/{SettingsScreen-qcB-Wlhm.js → SettingsScreen-Cfir9Qv2.js} +1 -1
  20. package/dist/webdist/assets/{SidebarResizeHandle-C6DzzA0i.js → SidebarResizeHandle-C3yIrqyN.js} +1 -1
  21. package/dist/webdist/assets/{SkillEditPage-BoVodeSt.js → SkillEditPage-BjQ1GW3m.js} +1 -1
  22. package/dist/webdist/assets/{ToolApprovalBar-CkVy2BpV.js → ToolApprovalBar-Ct_AQhnn.js} +3 -3
  23. package/dist/webdist/assets/WorkspaceScreen-CX0-T_Ow.js +1 -0
  24. package/dist/webdist/assets/{abnfDiagram-N423BO3Z-BsFZfp7v.js → abnfDiagram-N423BO3Z-8mheSXfK.js} +1 -1
  25. package/dist/webdist/assets/{agent-api-CeGvce9t.js → agent-api-BM-J1Wrf.js} +1 -1
  26. package/dist/webdist/assets/{alert-dialog-Crc_A3Jz.js → alert-dialog-MwW9OeMc.js} +1 -1
  27. package/dist/webdist/assets/{arc-DBKAh_3p.js → arc-D8wGLUJm.js} +1 -1
  28. package/dist/webdist/assets/{architectureDiagram-T3A2C74G-DF2Iau9y.js → architectureDiagram-T3A2C74G-DnXEnFCT.js} +1 -1
  29. package/dist/webdist/assets/{blockDiagram-VBNYF7ZC-EIM7OH8W.js → blockDiagram-VBNYF7ZC-CjrNObWJ.js} +1 -1
  30. package/dist/webdist/assets/{c4Diagram-5PPSVZJV-DfTJQH_y.js → c4Diagram-5PPSVZJV-rOplY4oF.js} +1 -1
  31. package/dist/webdist/assets/channel-DQ5IQYoe.js +1 -0
  32. package/dist/webdist/assets/{chat-api-BspgdIew.js → chat-api-M-jb3zIo.js} +1 -1
  33. package/dist/webdist/assets/{chat-queries-dQVxfOyx.js → chat-queries-gefwNcXI.js} +1 -1
  34. package/dist/webdist/assets/{chevron-down-DNeXZ14t.js → chevron-down-CMga8iLs.js} +1 -1
  35. package/dist/webdist/assets/{chevron-left-yPpon0Zo.js → chevron-left-DoI4O7KB.js} +1 -1
  36. package/dist/webdist/assets/{chevron-right-qwzlPkv4.js → chevron-right-3lWKkk-t.js} +1 -1
  37. package/dist/webdist/assets/{chunk-2GRJ4B5K-g8WkdrcJ.js → chunk-2GRJ4B5K-C4WOz2xX.js} +1 -1
  38. package/dist/webdist/assets/{chunk-2Q5K7J3B-DiSXrpfm.js → chunk-2Q5K7J3B-mSa_Img1.js} +1 -1
  39. package/dist/webdist/assets/{chunk-5RXB4S5H--rX8NQES.js → chunk-5RXB4S5H-C7jRw5h5.js} +1 -1
  40. package/dist/webdist/assets/{chunk-5VM5RSS4-D0bbkNOA.js → chunk-5VM5RSS4-DKWm-OU6.js} +1 -1
  41. package/dist/webdist/assets/{chunk-6Q2QTUOP-CyjvDHy7.js → chunk-6Q2QTUOP-CMa2t8k1.js} +1 -1
  42. package/dist/webdist/assets/{chunk-GF5L2VYU-DBsZFyHH.js → chunk-GF5L2VYU-BC13P15T.js} +1 -1
  43. package/dist/webdist/assets/{chunk-JWPE2WC7-BJX8rZY8.js → chunk-JWPE2WC7-KFnKvup9.js} +1 -1
  44. package/dist/webdist/assets/{chunk-KBJHAD2P-CzHI537O.js → chunk-KBJHAD2P-i5P3oFwD.js} +1 -1
  45. package/dist/webdist/assets/{chunk-RYQCIY6F-DcQ5BoLP.js → chunk-RYQCIY6F-DDA4G6lG.js} +1 -1
  46. package/dist/webdist/assets/{chunk-XXDRQBXY-DwaqNMb3.js → chunk-XXDRQBXY-DJp5qHVT.js} +1 -1
  47. package/dist/webdist/assets/{circle-check-Brhy4Orf.js → circle-check-Be8IcbM3.js} +1 -1
  48. package/dist/webdist/assets/{circle-x-BvhAr_O9.js → circle-x-RTp0NMzc.js} +1 -1
  49. package/dist/webdist/assets/classDiagram-JCYQIIEL-DLmqdq0b.js +1 -0
  50. package/dist/webdist/assets/classDiagram-v2-OCEON4UE-DLmqdq0b.js +1 -0
  51. package/dist/webdist/assets/{collapsible-Bg5PA5Nz.js → collapsible-Ufi2wYVR.js} +1 -1
  52. package/dist/webdist/assets/{cose-bilkent-JH36ORCC-DT2idxjo.js → cose-bilkent-JH36ORCC-BwIdg8OQ.js} +1 -1
  53. package/dist/webdist/assets/{cynefin-VYW2F7L2-9kVBD_9a.js → cynefin-VYW2F7L2-DPPOp6Z0.js} +1 -1
  54. package/dist/webdist/assets/{cynefinDiagram-MW4NZA55-CTix7oEO.js → cynefinDiagram-MW4NZA55-CJztcIBi.js} +1 -1
  55. package/dist/webdist/assets/{dagre-VZM6K2ZE-DbRB_1Ng.js → dagre-VZM6K2ZE-CyMugmI-.js} +1 -1
  56. package/dist/webdist/assets/{diagram-7IWD3JNH-ClCpikH_.js → diagram-7IWD3JNH-BRDFU1Ve.js} +1 -1
  57. package/dist/webdist/assets/{diagram-B4RE2ZJO-wQlXyd4e.js → diagram-B4RE2ZJO-CNNoJqRt.js} +1 -1
  58. package/dist/webdist/assets/{diagram-LBJQPF4R-zgM6REwi.js → diagram-LBJQPF4R-CdKfkenV.js} +1 -1
  59. package/dist/webdist/assets/{diagram-Q27KOJAE-DvIssBlm.js → diagram-Q27KOJAE-B-PXWstV.js} +1 -1
  60. package/dist/webdist/assets/{diagram-UB23O5K3-DdQiF9NE.js → diagram-UB23O5K3-BP86wZxq.js} +1 -1
  61. package/dist/webdist/assets/{dropdown-menu-HI5N3Rmt.js → dropdown-menu-CpDtWx6l.js} +1 -1
  62. package/dist/webdist/assets/{ebnfDiagram-BXEA7PRR-CpSxEGTe.js → ebnfDiagram-BXEA7PRR-D5Eh3L4_.js} +1 -1
  63. package/dist/webdist/assets/{erDiagram-JOGREHBK-BrhRHXD4.js → erDiagram-JOGREHBK-gz0ckR6a.js} +1 -1
  64. package/dist/webdist/assets/{file-text-Cx83fgk0.js → file-text-LLb7mRJz.js} +1 -1
  65. package/dist/webdist/assets/{flowDiagram-UKHOOZJN-CIxMbmNO.js → flowDiagram-UKHOOZJN-BoO4mRIW.js} +1 -1
  66. package/dist/webdist/assets/{folder-input-BN5lzecG.js → folder-input-K6hmSR6r.js} +1 -1
  67. package/dist/webdist/assets/{folder-plus-B-imiY57.js → folder-plus-aD2Jwv9p.js} +1 -1
  68. package/dist/webdist/assets/{ganttDiagram-PKOTCBZU-CiO9YNNt.js → ganttDiagram-PKOTCBZU-BMsGQluI.js} +1 -1
  69. package/dist/webdist/assets/{git-branch-BY-pdlSo.js → git-branch-Sc-xALja.js} +1 -1
  70. package/dist/webdist/assets/{gitGraphDiagram-DS77QQ5N-Dz_fBDX6.js → gitGraphDiagram-DS77QQ5N-BVhg-gBA.js} +1 -1
  71. package/dist/webdist/assets/{globe-FB3s-Kjz.js → globe-MUKwb-dG.js} +1 -1
  72. package/dist/webdist/assets/{index-CfwXVQIu.js → index-Ds6wWiqZ.js} +3 -3
  73. package/dist/webdist/assets/{infoDiagram-6WML65LV-BP9JLl_M.js → infoDiagram-6WML65LV-CfU2f-Uu.js} +1 -1
  74. package/dist/webdist/assets/{ishikawaDiagram-WSZJBQD7-CeBpQALC.js → ishikawaDiagram-WSZJBQD7-DBINljMd.js} +1 -1
  75. package/dist/webdist/assets/{journeyDiagram-NVQOT4AX-Cnn5M1YO.js → journeyDiagram-NVQOT4AX-CPv0nvnF.js} +1 -1
  76. package/dist/webdist/assets/{kanban-definition-27J2QSJJ-BMnM-8zj.js → kanban-definition-27J2QSJJ-Bs8oqG4V.js} +1 -1
  77. package/dist/webdist/assets/{linear-ontMFf7q.js → linear-fvd8Xavw.js} +1 -1
  78. package/dist/webdist/assets/{lock-CVTYolJH.js → lock-CBkKIocw.js} +1 -1
  79. package/dist/webdist/assets/{mermaid.core-BX4U-c4C.js → mermaid.core-gqQ7djSV.js} +4 -4
  80. package/dist/webdist/assets/{mindmap-definition-FAOFIHXS-D55lobOz.js → mindmap-definition-FAOFIHXS-Uo84SPEc.js} +1 -1
  81. package/dist/webdist/assets/{monitor-BVyi9riP.js → monitor--8CDFQE2.js} +1 -1
  82. package/dist/webdist/assets/{pegDiagram-VL7TDLO6-BE11XRQ7.js → pegDiagram-VL7TDLO6-jriZE8ux.js} +1 -1
  83. package/dist/webdist/assets/{pencil-xiVy9lBH.js → pencil-CAi7QQGw.js} +1 -1
  84. package/dist/webdist/assets/{pieDiagram-7S7Q4E2Y-BMHDg8ys.js → pieDiagram-7S7Q4E2Y-BiG1Sd1C.js} +1 -1
  85. package/dist/webdist/assets/{quadrantDiagram-CIZ2JOQS-2sqR5qXm.js → quadrantDiagram-CIZ2JOQS-CONf7VBs.js} +1 -1
  86. package/dist/webdist/assets/{railroadDiagram-AXF67PYL-CrA2ZKhq.js → railroadDiagram-AXF67PYL-DnSHrg9g.js} +1 -1
  87. package/dist/webdist/assets/{refresh-cw-BGipAyiS.js → refresh-cw-C8ASJbnJ.js} +1 -1
  88. package/dist/webdist/assets/{remote-failure-CGk8OyjK.js → remote-failure-Ded7cLzQ.js} +1 -1
  89. package/dist/webdist/assets/{requirementDiagram-LRYGKXZP-RlYw_SgL.js → requirementDiagram-LRYGKXZP-Bfofmv9M.js} +1 -1
  90. package/dist/webdist/assets/{rocket-DHnkfnhQ.js → rocket-Dtd3N1ug.js} +1 -1
  91. package/dist/webdist/assets/{rotate-ccw-DmG7PkUG.js → rotate-ccw-CDwuwLJa.js} +1 -1
  92. package/dist/webdist/assets/{sankeyDiagram-W5VNT64P-B61EFr-D.js → sankeyDiagram-W5VNT64P-oPlm8mDh.js} +1 -1
  93. package/dist/webdist/assets/{sequenceDiagram-SI44F4Z6-Cj4e2tXy.js → sequenceDiagram-SI44F4Z6-BtT__Yqq.js} +1 -1
  94. package/dist/webdist/assets/{sheet-DFCO49jw.js → sheet-DjzHbzW-.js} +1 -1
  95. package/dist/webdist/assets/{sizeCapture-X5ZJPWSS-CYyUy4Qg.js → sizeCapture-X5ZJPWSS-BFILTo7Y.js} +1 -1
  96. package/dist/webdist/assets/{skeleton-DVrIPwv0.js → skeleton-BLTjOhUM.js} +1 -1
  97. package/dist/webdist/assets/{sliders-horizontal-DQYu0jQs.js → sliders-horizontal-Drc70pwd.js} +1 -1
  98. package/dist/webdist/assets/{sparkles-DKoUw0Ra.js → sparkles-DOWtXMA_.js} +1 -1
  99. package/dist/webdist/assets/{star-EY1hsb1g.js → star-BK1xduRz.js} +1 -1
  100. package/dist/webdist/assets/{stateDiagram-OKZ733FA-CIAre6fb.js → stateDiagram-OKZ733FA-i7_MQ41r.js} +1 -1
  101. package/dist/webdist/assets/stateDiagram-v2-UEYNNEHI-C2DpmYiV.js +1 -0
  102. package/dist/webdist/assets/{swimlanes-SLNWSIFB-DGZBf-GQ.js → swimlanes-SLNWSIFB-C-5GR5Xz.js} +2 -2
  103. package/dist/webdist/assets/swimlanesDiagram-ULZ7WXOC-qpyaWHDD.js +8 -0
  104. package/dist/webdist/assets/{switch-CXoaYXdG.js → switch-A6PlBbDB.js} +1 -1
  105. package/dist/webdist/assets/{terminal-BrWVclQ0.js → terminal-DbMd2MTp.js} +1 -1
  106. package/dist/webdist/assets/{timeline-definition-Z64GVDOM-mu5ti0bv.js → timeline-definition-Z64GVDOM-JBq4cqJK.js} +1 -1
  107. package/dist/webdist/assets/{trash-2-WYWL4BUK.js → trash-2-Dlh7WyjL.js} +1 -1
  108. package/dist/webdist/assets/{vennDiagram-T6HMQDX7-OxY1RaKm.js → vennDiagram-T6HMQDX7-B7KEc4eo.js} +1 -1
  109. package/dist/webdist/assets/{wardleyDiagram-T6FBY63Y-BtG14vOo.js → wardleyDiagram-T6FBY63Y-CnFAa_TS.js} +1 -1
  110. package/dist/webdist/assets/{wrench-D_MLSbdw.js → wrench-D2_hKxSu.js} +1 -1
  111. package/dist/webdist/assets/{xychartDiagram-ELKLHX3M-DeNO3ZVS.js → xychartDiagram-ELKLHX3M-CVx7qiTK.js} +1 -1
  112. package/dist/webdist/index.html +1 -1
  113. package/package.json +1 -1
  114. package/dist/webdist/assets/ModelDetailDialog-C2lnCsw6.js +0 -1
  115. package/dist/webdist/assets/WorkspaceScreen-BzYimITz.js +0 -1
  116. package/dist/webdist/assets/channel-BF2z4CLG.js +0 -1
  117. package/dist/webdist/assets/classDiagram-JCYQIIEL-D-pqoTab.js +0 -1
  118. package/dist/webdist/assets/classDiagram-v2-OCEON4UE-D-pqoTab.js +0 -1
  119. package/dist/webdist/assets/stateDiagram-v2-UEYNNEHI-c4H1EbPk.js +0 -1
  120. package/dist/webdist/assets/swimlanesDiagram-ULZ7WXOC-C9AdErpx.js +0 -8
@@ -1162,11 +1162,11 @@ async function buildOpencodeConfigContent(base, apiKey, modelKey, modelName, mcp
1162
1162
  function piArgs(ctx) {
1163
1163
  return ["--provider", "turbollm", "--model", ctx.pinnedModel, "--api-key", ctx.authToken];
1164
1164
  }
1165
- var realRunCommand = (bin, args) => new Promise((resolve3) => {
1165
+ var realRunCommand = (bin, args) => new Promise((resolve4) => {
1166
1166
  const resolved = resolveExecutable(bin);
1167
1167
  const child = requiresShell(resolved) ? spawn2(buildShellCommand(bin, args), { shell: true, stdio: "ignore" }) : spawn2(resolved ?? bin, args, { stdio: "ignore" });
1168
- child.on("error", () => resolve3(false));
1169
- child.on("exit", (code) => resolve3(code === 0));
1168
+ child.on("error", () => resolve4(false));
1169
+ child.on("exit", (code) => resolve4(code === 0));
1170
1170
  });
1171
1171
  async function prepareHermes(base, _apiKey, modelKey, _modelName, run = realRunCommand) {
1172
1172
  const sets = [
@@ -1285,14 +1285,14 @@ var WORKTREES_SUBDIR = join9(".turbollm", "worktrees");
1285
1285
  var EXCLUDE_LINE = "/.turbollm/";
1286
1286
  var MAX_BRANCH_SUFFIX = 20;
1287
1287
  function runGit(cwd, args, timeoutMs = 3e4) {
1288
- return new Promise((resolve3) => {
1288
+ return new Promise((resolve4) => {
1289
1289
  let stdout = "";
1290
1290
  let stderr = "";
1291
1291
  let settled = false;
1292
1292
  const done = (r) => {
1293
1293
  if (!settled) {
1294
1294
  settled = true;
1295
- resolve3(r);
1295
+ resolve4(r);
1296
1296
  }
1297
1297
  };
1298
1298
  try {
@@ -1519,6 +1519,14 @@ import { readFileSync as readFileSync6, writeFileSync as writeFileSync5, mkdirSy
1519
1519
  import { join as join10 } from "path";
1520
1520
  var BENCH_RATE_LIMIT_MS = 60 * 60 * 1e3;
1521
1521
 
1522
+ // src/models/scanner.ts
1523
+ import { existsSync as existsSync7, lstatSync, readdirSync as readdirSync5, readFileSync as readFileSync7, realpathSync as realpathSync2, rmSync as rmSync4, writeFileSync as writeFileSync6 } from "fs";
1524
+ import { readdir, realpath, stat } from "fs/promises";
1525
+ import { basename as basename2, dirname as dirname4, isAbsolute, join as join11, relative, resolve as resolve2, sep as sep2 } from "path";
1526
+
1527
+ // src/gguf/gguf.ts
1528
+ import { closeSync, openSync, readSync } from "fs";
1529
+
1522
1530
  // src/models/profile.ts
1523
1531
  var ROCM_APU_NOMMAP_MIN_BYTES = 30 * 1024 ** 3;
1524
1532
 
@@ -1588,7 +1596,7 @@ async function autoTitleFromConversation(d, convId) {
1588
1596
  }
1589
1597
 
1590
1598
  // src/code/code-session.ts
1591
- import { join as join11, resolve as resolve2 } from "path";
1599
+ import { join as join12, resolve as resolve3 } from "path";
1592
1600
  import { readFile as readFile3 } from "fs/promises";
1593
1601
  import { Type, Unsafe } from "typebox";
1594
1602
  import {
@@ -1610,7 +1618,7 @@ import { spawn as spawn4 } from "child_process";
1610
1618
  import { getShellConfig } from "@earendil-works/pi-coding-agent";
1611
1619
  var EXIT_STDIO_GRACE_MS = 100;
1612
1620
  function waitForChildProcess(child) {
1613
- return new Promise((resolve3, reject) => {
1621
+ return new Promise((resolve4, reject) => {
1614
1622
  let settled = false;
1615
1623
  let exited = false;
1616
1624
  let exitCode = null;
@@ -1636,7 +1644,7 @@ function waitForChildProcess(child) {
1636
1644
  cleanup();
1637
1645
  child.stdout?.destroy();
1638
1646
  child.stderr?.destroy();
1639
- resolve3(code);
1647
+ resolve4(code);
1640
1648
  };
1641
1649
  const maybeFinalizeAfterExit = () => {
1642
1650
  if (!exited || settled) return;
@@ -1688,11 +1696,11 @@ function isAlive(pid) {
1688
1696
  }
1689
1697
  }
1690
1698
  function sleep(ms) {
1691
- return new Promise((resolve3) => setTimeout(resolve3, ms));
1699
+ return new Promise((resolve4) => setTimeout(resolve4, ms));
1692
1700
  }
1693
1701
  async function killDescendantsViaWmi(rootPid) {
1694
1702
  const psScript = `$all = Get-CimInstance Win32_Process | Select-Object ProcessId,ParentProcessId; $ids = @(${rootPid}); $frontier = @(${rootPid}); for ($i = 0; $i -lt 8; $i++) { $children = $all | Where-Object { $frontier -contains $_.ParentProcessId } | Select-Object -ExpandProperty ProcessId; if (-not $children) { break }; $ids += $children; $frontier = $children }; $ids | Select-Object -Unique | ForEach-Object { Write-Output $_ }`;
1695
- const pids = await new Promise((resolve3) => {
1703
+ const pids = await new Promise((resolve4) => {
1696
1704
  const proc = spawn4("powershell", ["-NoProfile", "-NonInteractive", "-Command", psScript], {
1697
1705
  stdio: ["ignore", "pipe", "ignore"],
1698
1706
  windowsHide: true
@@ -1703,9 +1711,9 @@ async function killDescendantsViaWmi(rootPid) {
1703
1711
  });
1704
1712
  proc.on("close", () => {
1705
1713
  const found = out.split(/\r?\n/).map((l) => Number(l.trim())).filter((n) => Number.isInteger(n) && n > 0);
1706
- resolve3([...new Set(found)]);
1714
+ resolve4([...new Set(found)]);
1707
1715
  });
1708
- proc.on("error", () => resolve3([]));
1716
+ proc.on("error", () => resolve4([]));
1709
1717
  });
1710
1718
  for (const pid of pids) {
1711
1719
  try {
@@ -2038,10 +2046,10 @@ var LspClient = class {
2038
2046
  const npxCmd = process.platform === "win32" ? "npx.cmd" : "npx";
2039
2047
  const proc = spawn5(npxCmd, this.spec.npxArgs, npxSpawnOptions(this.rootDir));
2040
2048
  this.proc = proc;
2041
- const spawnFailure = new Promise((resolve3) => {
2042
- proc.once("error", (e) => resolve3(e instanceof Error ? e.message : String(e)));
2049
+ const spawnFailure = new Promise((resolve4) => {
2050
+ proc.once("error", (e) => resolve4(e instanceof Error ? e.message : String(e)));
2043
2051
  proc.once("exit", (code) => {
2044
- if (!this.ready) resolve3(`server exited early (code ${code})`);
2052
+ if (!this.ready) resolve4(`server exited early (code ${code})`);
2045
2053
  });
2046
2054
  });
2047
2055
  const conn = createMessageConnection(new StreamMessageReader(proc.stdout), new StreamMessageWriter(proc.stdin));
@@ -2073,7 +2081,7 @@ var LspClient = class {
2073
2081
  // repo doesn't have typescript installed yet, e.g. a brand-new project.
2074
2082
  ...fallbackTsserverPath ? { initializationOptions: { tsserver: { path: fallbackTsserverPath } } } : {}
2075
2083
  });
2076
- const timeout = new Promise((resolve3) => setTimeout(() => resolve3("timeout"), INITIALIZE_TIMEOUT_MS));
2084
+ const timeout = new Promise((resolve4) => setTimeout(() => resolve4("timeout"), INITIALIZE_TIMEOUT_MS));
2077
2085
  const result = await Promise.race([initialize.then(() => "ok"), spawnFailure.then((e) => `error:${e}`), timeout]);
2078
2086
  if (result === "timeout") throw new Error(`${this.spec.language} language server did not initialize within ${INITIALIZE_TIMEOUT_MS}ms`);
2079
2087
  if (result.startsWith("error:")) throw new Error(result.slice("error:".length));
@@ -2098,9 +2106,9 @@ var LspClient = class {
2098
2106
  const uri = toFileUri(path);
2099
2107
  const version = (this.docVersionByUri.get(uri) ?? 0) + 1;
2100
2108
  this.docVersionByUri.set(uri, version);
2101
- const waitForPush = new Promise((resolve3) => {
2109
+ const waitForPush = new Promise((resolve4) => {
2102
2110
  const list = this.waitersByUri.get(uri) ?? [];
2103
- list.push(resolve3);
2111
+ list.push(resolve4);
2104
2112
  this.waitersByUri.set(uri, list);
2105
2113
  });
2106
2114
  if (version === 1) {
@@ -2110,7 +2118,7 @@ var LspClient = class {
2110
2118
  this.conn.sendNotification("textDocument/didChange", { textDocument: { uri, version }, contentChanges: [{ text }] }).catch(() => {
2111
2119
  });
2112
2120
  }
2113
- await Promise.race([waitForPush, new Promise((resolve3) => setTimeout(resolve3, DIAGNOSTICS_WAIT_MS))]);
2121
+ await Promise.race([waitForPush, new Promise((resolve4) => setTimeout(resolve4, DIAGNOSTICS_WAIT_MS))]);
2114
2122
  return this.diagnosticsByUri.get(uri) ?? [];
2115
2123
  }
2116
2124
  dispose() {
@@ -2410,7 +2418,7 @@ async function runCodeSession(params) {
2410
2418
  console.warn(`[code-session] history seed for session ${sessionId} produced ${sessionManager.getEntries().length}/${expectedEntries} expected entries \u2014 falling back to a plain-text history prefix on this turn's prompt`);
2411
2419
  task = `${HISTORY_FALLBACK_PREFIX}${renderHistoryFallbackText(summaryText, priorMessages)}${HISTORY_FALLBACK_SUFFIX}${rawTask}`;
2412
2420
  }
2413
- const agentDir = join11(d.store.dir(), "pi-agent");
2421
+ const agentDir = join12(d.store.dir(), "pi-agent");
2414
2422
  modelRegistry.registerProvider("local", {
2415
2423
  ...upstream.provider,
2416
2424
  api: "openai-completions",
@@ -2537,7 +2545,7 @@ async function runCodeSession(params) {
2537
2545
  await sink({ event: "tool_call", data });
2538
2546
  });
2539
2547
  };
2540
- const skillAgentDir = join11(d.store.dir(), "pi-agent");
2548
+ const skillAgentDir = join12(d.store.dir(), "pi-agent");
2541
2549
  const skillResourceLoader = new DefaultResourceLoader({
2542
2550
  cwd: repoRoot,
2543
2551
  agentDir: skillAgentDir,
@@ -2678,7 +2686,7 @@ async function runCodeSession(params) {
2678
2686
  await sink({ event: "tool_call", data });
2679
2687
  });
2680
2688
  };
2681
- const subAgentDir = join11(d.store.dir(), "pi-agent");
2689
+ const subAgentDir = join12(d.store.dir(), "pi-agent");
2682
2690
  const subResourceLoader = new DefaultResourceLoader({
2683
2691
  cwd: repoRoot,
2684
2692
  agentDir: subAgentDir,
@@ -2893,7 +2901,7 @@ async function runCodeSession(params) {
2893
2901
  const spec = relPath ? lspSpecForPath(relPath) : null;
2894
2902
  if (spec) {
2895
2903
  try {
2896
- const absPath = resolve2(repoRoot, relPath);
2904
+ const absPath = resolve3(repoRoot, relPath);
2897
2905
  const content = await readFile3(absPath, "utf8");
2898
2906
  const diagnostics = await getLspClient(spec).getDiagnostics(absPath, content);
2899
2907
  if (diagnostics.length > 0) {
@@ -3333,7 +3341,7 @@ async function compactCodeSession(params) {
3333
3341
  return payload;
3334
3342
  });
3335
3343
  };
3336
- const compactAgentDir = join11(d.store.dir(), "pi-agent");
3344
+ const compactAgentDir = join12(d.store.dir(), "pi-agent");
3337
3345
  const compactResourceLoader = new DefaultResourceLoader({
3338
3346
  cwd: repoRoot,
3339
3347
  agentDir: compactAgentDir,
@@ -3432,7 +3440,7 @@ async function lookbackPreCompactionHistory(params) {
3432
3440
  return payload;
3433
3441
  });
3434
3442
  };
3435
- const lookbackAgentDir = join11(d.store.dir(), "pi-agent");
3443
+ const lookbackAgentDir = join12(d.store.dir(), "pi-agent");
3436
3444
  const lookbackResourceLoader = new DefaultResourceLoader({
3437
3445
  cwd: repoRoot,
3438
3446
  agentDir: lookbackAgentDir,