open-agents-ai 0.103.20 → 0.103.21

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 (2) hide show
  1. package/dist/index.js +577 -421
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
39
39
  mod
40
40
  ));
41
41
 
42
- // ../packages/cli/dist/config.js
42
+ // packages/cli/dist/config.js
43
43
  import { readFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
44
44
  import { homedir } from "node:os";
45
45
  import { join } from "node:path";
@@ -126,7 +126,7 @@ function coerceConfigValue(key, value) {
126
126
  }
127
127
  var DEFAULT_CONFIG, VALID_BACKEND_TYPES;
128
128
  var init_config = __esm({
129
- "../packages/cli/dist/config.js"() {
129
+ "packages/cli/dist/config.js"() {
130
130
  "use strict";
131
131
  DEFAULT_CONFIG = Object.freeze({
132
132
  backendUrl: "http://127.0.0.1:11434",
@@ -143,7 +143,7 @@ var init_config = __esm({
143
143
  }
144
144
  });
145
145
 
146
- // ../packages/cli/dist/ui/output.js
146
+ // packages/cli/dist/ui/output.js
147
147
  function ansi(code, text, tty) {
148
148
  return tty ? `\x1B[${code}m${text}\x1B[0m` : text;
149
149
  }
@@ -222,7 +222,7 @@ function printReport(opts) {
222
222
  }
223
223
  var isTTY, isStderrTTY, c, STATUS_ICON, STATUS_COLOR;
224
224
  var init_output = __esm({
225
- "../packages/cli/dist/ui/output.js"() {
225
+ "packages/cli/dist/ui/output.js"() {
226
226
  "use strict";
227
227
  isTTY = process.stdout.isTTY;
228
228
  isStderrTTY = process.stderr.isTTY;
@@ -254,7 +254,7 @@ var init_output = __esm({
254
254
  }
255
255
  });
256
256
 
257
- // ../packages/cli/dist/updater.js
257
+ // packages/cli/dist/updater.js
258
258
  import { execSync } from "node:child_process";
259
259
  import { existsSync as existsSync2, readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
260
260
  import { join as join2 } from "node:path";
@@ -362,7 +362,7 @@ function formatUpdateBanner(info) {
362
362
  }
363
363
  var PACKAGE_NAME, CHECK_INTERVAL_MS, CACHE_DIR, CACHE_FILE;
364
364
  var init_updater = __esm({
365
- "../packages/cli/dist/updater.js"() {
365
+ "packages/cli/dist/updater.js"() {
366
366
  "use strict";
367
367
  PACKAGE_NAME = "open-agents-ai";
368
368
  CHECK_INTERVAL_MS = 60 * 60 * 1e3;
@@ -371,10 +371,10 @@ var init_updater = __esm({
371
371
  }
372
372
  });
373
373
 
374
- // ../packages/cli/dist/ui/spinner.js
374
+ // packages/cli/dist/ui/spinner.js
375
375
  var FRAMES, INTERVAL_MS, Spinner;
376
376
  var init_spinner = __esm({
377
- "../packages/cli/dist/ui/spinner.js"() {
377
+ "packages/cli/dist/ui/spinner.js"() {
378
378
  "use strict";
379
379
  FRAMES = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
380
380
  INTERVAL_MS = 80;
@@ -472,10 +472,10 @@ var init_spinner = __esm({
472
472
  }
473
473
  });
474
474
 
475
- // ../packages/backend-vllm/dist/sleep.js
475
+ // packages/backend-vllm/dist/sleep.js
476
476
  var SleepManager;
477
477
  var init_sleep = __esm({
478
- "../packages/backend-vllm/dist/sleep.js"() {
478
+ "packages/backend-vllm/dist/sleep.js"() {
479
479
  "use strict";
480
480
  SleepManager = class {
481
481
  baseUrl;
@@ -551,7 +551,7 @@ var init_sleep = __esm({
551
551
  }
552
552
  });
553
553
 
554
- // ../packages/backend-vllm/dist/normalizeUrl.js
554
+ // packages/backend-vllm/dist/normalizeUrl.js
555
555
  function normalizeBaseUrl(url) {
556
556
  let u = url.trim();
557
557
  u = u.replace(/\/+$/, "");
@@ -583,7 +583,7 @@ function detectProvider(url) {
583
583
  }
584
584
  var PROVIDERS;
585
585
  var init_normalizeUrl = __esm({
586
- "../packages/backend-vllm/dist/normalizeUrl.js"() {
586
+ "packages/backend-vllm/dist/normalizeUrl.js"() {
587
587
  "use strict";
588
588
  PROVIDERS = [
589
589
  // --- Cloud providers (specific domains) ---
@@ -652,7 +652,7 @@ var init_normalizeUrl = __esm({
652
652
  }
653
653
  });
654
654
 
655
- // ../packages/backend-vllm/dist/VllmBackend.js
655
+ // packages/backend-vllm/dist/VllmBackend.js
656
656
  function agentMessageToChatMessage(msg) {
657
657
  return {
658
658
  role: msg.role,
@@ -664,7 +664,7 @@ function buildEmptyUsage() {
664
664
  }
665
665
  var VllmBackend;
666
666
  var init_VllmBackend = __esm({
667
- "../packages/backend-vllm/dist/VllmBackend.js"() {
667
+ "packages/backend-vllm/dist/VllmBackend.js"() {
668
668
  "use strict";
669
669
  init_sleep();
670
670
  init_normalizeUrl();
@@ -807,7 +807,7 @@ var init_VllmBackend = __esm({
807
807
  }
808
808
  });
809
809
 
810
- // ../packages/backend-vllm/dist/OllamaBackend.js
810
+ // packages/backend-vllm/dist/OllamaBackend.js
811
811
  function agentMessageToChatMessage2(msg) {
812
812
  return {
813
813
  role: msg.role,
@@ -819,7 +819,7 @@ function buildEmptyUsage2() {
819
819
  }
820
820
  var OllamaBackend;
821
821
  var init_OllamaBackend = __esm({
822
- "../packages/backend-vllm/dist/OllamaBackend.js"() {
822
+ "packages/backend-vllm/dist/OllamaBackend.js"() {
823
823
  "use strict";
824
824
  init_normalizeUrl();
825
825
  OllamaBackend = class _OllamaBackend {
@@ -998,7 +998,7 @@ var init_OllamaBackend = __esm({
998
998
  }
999
999
  });
1000
1000
 
1001
- // ../packages/backend-vllm/dist/FakeBackend.js
1001
+ // packages/backend-vllm/dist/FakeBackend.js
1002
1002
  function fnv1a32(input) {
1003
1003
  const FNV_PRIME = 16777619;
1004
1004
  const FNV_OFFSET_BASIS = 2166136261;
@@ -1011,7 +1011,7 @@ function fnv1a32(input) {
1011
1011
  }
1012
1012
  var FakeBackend;
1013
1013
  var init_FakeBackend = __esm({
1014
- "../packages/backend-vllm/dist/FakeBackend.js"() {
1014
+ "packages/backend-vllm/dist/FakeBackend.js"() {
1015
1015
  "use strict";
1016
1016
  FakeBackend = class {
1017
1017
  options;
@@ -1111,7 +1111,7 @@ var init_FakeBackend = __esm({
1111
1111
  }
1112
1112
  });
1113
1113
 
1114
- // ../packages/backend-vllm/dist/backendFactory.js
1114
+ // packages/backend-vllm/dist/backendFactory.js
1115
1115
  function detectBackendType(baseUrl) {
1116
1116
  if (!baseUrl) {
1117
1117
  return "ollama";
@@ -1150,7 +1150,7 @@ function createBackend(opts) {
1150
1150
  }
1151
1151
  }
1152
1152
  var init_backendFactory = __esm({
1153
- "../packages/backend-vllm/dist/backendFactory.js"() {
1153
+ "packages/backend-vllm/dist/backendFactory.js"() {
1154
1154
  "use strict";
1155
1155
  init_OllamaBackend();
1156
1156
  init_VllmBackend();
@@ -1158,7 +1158,7 @@ var init_backendFactory = __esm({
1158
1158
  }
1159
1159
  });
1160
1160
 
1161
- // ../packages/backend-vllm/dist/metrics.js
1161
+ // packages/backend-vllm/dist/metrics.js
1162
1162
  function parseMetricValue(prometheusText, metricName) {
1163
1163
  const lines = prometheusText.split("\n");
1164
1164
  for (const line of lines) {
@@ -1179,7 +1179,7 @@ function parseMetricValue(prometheusText, metricName) {
1179
1179
  }
1180
1180
  var MetricsCollector;
1181
1181
  var init_metrics = __esm({
1182
- "../packages/backend-vllm/dist/metrics.js"() {
1182
+ "packages/backend-vllm/dist/metrics.js"() {
1183
1183
  "use strict";
1184
1184
  MetricsCollector = class {
1185
1185
  metricsUrl;
@@ -1234,16 +1234,16 @@ var init_metrics = __esm({
1234
1234
  }
1235
1235
  });
1236
1236
 
1237
- // ../packages/backend-vllm/dist/routing.js
1237
+ // packages/backend-vllm/dist/routing.js
1238
1238
  var init_routing = __esm({
1239
- "../packages/backend-vllm/dist/routing.js"() {
1239
+ "packages/backend-vllm/dist/routing.js"() {
1240
1240
  "use strict";
1241
1241
  }
1242
1242
  });
1243
1243
 
1244
- // ../packages/backend-vllm/dist/index.js
1244
+ // packages/backend-vllm/dist/index.js
1245
1245
  var init_dist = __esm({
1246
- "../packages/backend-vllm/dist/index.js"() {
1246
+ "packages/backend-vllm/dist/index.js"() {
1247
1247
  "use strict";
1248
1248
  init_VllmBackend();
1249
1249
  init_OllamaBackend();
@@ -1256,10 +1256,10 @@ var init_dist = __esm({
1256
1256
  }
1257
1257
  });
1258
1258
 
1259
- // ../packages/execution/dist/tool-executor.js
1259
+ // packages/execution/dist/tool-executor.js
1260
1260
  var DEFAULT_CONFIG2, ToolExecutor;
1261
1261
  var init_tool_executor = __esm({
1262
- "../packages/execution/dist/tool-executor.js"() {
1262
+ "packages/execution/dist/tool-executor.js"() {
1263
1263
  "use strict";
1264
1264
  DEFAULT_CONFIG2 = {
1265
1265
  workingDir: ".",
@@ -1312,11 +1312,11 @@ var init_tool_executor = __esm({
1312
1312
  }
1313
1313
  });
1314
1314
 
1315
- // ../packages/execution/dist/tools/shell.js
1315
+ // packages/execution/dist/tools/shell.js
1316
1316
  import { spawn } from "node:child_process";
1317
1317
  var PERMISSION_ERROR_RE, ShellTool;
1318
1318
  var init_shell = __esm({
1319
- "../packages/execution/dist/tools/shell.js"() {
1319
+ "packages/execution/dist/tools/shell.js"() {
1320
1320
  "use strict";
1321
1321
  PERMISSION_ERROR_RE = /Permission denied|Operation not permitted|EACCES|EPERM|PermissionError|sudo:|not permitted|password is required|authentication failure/i;
1322
1322
  ShellTool = class {
@@ -1513,7 +1513,7 @@ ${stderr}` : ""),
1513
1513
  }
1514
1514
  });
1515
1515
 
1516
- // ../packages/execution/dist/tools/file-read.js
1516
+ // packages/execution/dist/tools/file-read.js
1517
1517
  import { readFile } from "node:fs/promises";
1518
1518
  import { resolve } from "node:path";
1519
1519
  function extractPath(args) {
@@ -1542,7 +1542,7 @@ function extractPath(args) {
1542
1542
  }
1543
1543
  var FileReadTool;
1544
1544
  var init_file_read = __esm({
1545
- "../packages/execution/dist/tools/file-read.js"() {
1545
+ "packages/execution/dist/tools/file-read.js"() {
1546
1546
  "use strict";
1547
1547
  FileReadTool = class {
1548
1548
  name = "file_read";
@@ -1630,7 +1630,7 @@ var init_file_read = __esm({
1630
1630
  }
1631
1631
  });
1632
1632
 
1633
- // ../packages/execution/dist/tools/file-write.js
1633
+ // packages/execution/dist/tools/file-write.js
1634
1634
  import { writeFile, mkdir } from "node:fs/promises";
1635
1635
  import { resolve as resolve2, dirname } from "node:path";
1636
1636
  function extractWritePath(args) {
@@ -1643,7 +1643,7 @@ function extractWritePath(args) {
1643
1643
  }
1644
1644
  var FileWriteTool;
1645
1645
  var init_file_write = __esm({
1646
- "../packages/execution/dist/tools/file-write.js"() {
1646
+ "packages/execution/dist/tools/file-write.js"() {
1647
1647
  "use strict";
1648
1648
  FileWriteTool = class {
1649
1649
  name = "file_write";
@@ -1702,13 +1702,13 @@ var init_file_write = __esm({
1702
1702
  }
1703
1703
  });
1704
1704
 
1705
- // ../packages/execution/dist/tools/grep-search.js
1705
+ // packages/execution/dist/tools/grep-search.js
1706
1706
  import { execFile } from "node:child_process";
1707
1707
  import { promisify } from "node:util";
1708
1708
  import { resolve as resolve3 } from "node:path";
1709
1709
  var execFileAsync, MAX_OUTPUT_LINES, GrepSearchTool;
1710
1710
  var init_grep_search = __esm({
1711
- "../packages/execution/dist/tools/grep-search.js"() {
1711
+ "packages/execution/dist/tools/grep-search.js"() {
1712
1712
  "use strict";
1713
1713
  execFileAsync = promisify(execFile);
1714
1714
  MAX_OUTPUT_LINES = 100;
@@ -1807,13 +1807,13 @@ var init_grep_search = __esm({
1807
1807
  }
1808
1808
  });
1809
1809
 
1810
- // ../packages/execution/dist/tools/glob-find.js
1810
+ // packages/execution/dist/tools/glob-find.js
1811
1811
  import { execFile as execFile2 } from "node:child_process";
1812
1812
  import { promisify as promisify2 } from "node:util";
1813
1813
  import { resolve as resolve4 } from "node:path";
1814
1814
  var execFileAsync2, MAX_RESULTS, GlobFindTool;
1815
1815
  var init_glob_find = __esm({
1816
- "../packages/execution/dist/tools/glob-find.js"() {
1816
+ "packages/execution/dist/tools/glob-find.js"() {
1817
1817
  "use strict";
1818
1818
  execFileAsync2 = promisify2(execFile2);
1819
1819
  MAX_RESULTS = 50;
@@ -1884,10 +1884,10 @@ var init_glob_find = __esm({
1884
1884
  }
1885
1885
  });
1886
1886
 
1887
- // ../packages/execution/dist/tools/web-fetch.js
1887
+ // packages/execution/dist/tools/web-fetch.js
1888
1888
  var DEFAULT_MAX_LENGTH, WebFetchTool;
1889
1889
  var init_web_fetch = __esm({
1890
- "../packages/execution/dist/tools/web-fetch.js"() {
1890
+ "packages/execution/dist/tools/web-fetch.js"() {
1891
1891
  "use strict";
1892
1892
  DEFAULT_MAX_LENGTH = 5e3;
1893
1893
  WebFetchTool = class {
@@ -1959,7 +1959,7 @@ var init_web_fetch = __esm({
1959
1959
  }
1960
1960
  });
1961
1961
 
1962
- // ../packages/execution/dist/tools/web-search.js
1962
+ // packages/execution/dist/tools/web-search.js
1963
1963
  function detectSearchProvider() {
1964
1964
  if (process.env["TAVILY_API_KEY"])
1965
1965
  return "tavily";
@@ -1969,7 +1969,7 @@ function detectSearchProvider() {
1969
1969
  }
1970
1970
  var DEFAULT_NUM_RESULTS, DUCKDUCKGO_HTML_URL, TAVILY_API_URL, JINA_SEARCH_URL, WebSearchTool;
1971
1971
  var init_web_search = __esm({
1972
- "../packages/execution/dist/tools/web-search.js"() {
1972
+ "packages/execution/dist/tools/web-search.js"() {
1973
1973
  "use strict";
1974
1974
  DEFAULT_NUM_RESULTS = 5;
1975
1975
  DUCKDUCKGO_HTML_URL = "https://html.duckduckgo.com/html/";
@@ -2233,14 +2233,14 @@ ${formatted}`,
2233
2233
  }
2234
2234
  });
2235
2235
 
2236
- // ../packages/execution/dist/tools/web-crawl.js
2236
+ // packages/execution/dist/tools/web-crawl.js
2237
2237
  import { execFile as execFile3 } from "node:child_process";
2238
2238
  import { dirname as dirname2, join as join3 } from "node:path";
2239
2239
  import { fileURLToPath } from "node:url";
2240
2240
  import { existsSync as existsSync3 } from "node:fs";
2241
2241
  var DEFAULT_MAX_LENGTH2, WebCrawlTool;
2242
2242
  var init_web_crawl = __esm({
2243
- "../packages/execution/dist/tools/web-crawl.js"() {
2243
+ "packages/execution/dist/tools/web-crawl.js"() {
2244
2244
  "use strict";
2245
2245
  DEFAULT_MAX_LENGTH2 = 8e3;
2246
2246
  WebCrawlTool = class {
@@ -2514,7 +2514,7 @@ Meta: ${metaKeys.map((k) => `${k}="${meta[k]?.slice(0, 80)}"`).join(", ")}`);
2514
2514
  }
2515
2515
  });
2516
2516
 
2517
- // ../packages/execution/dist/tools/file-edit.js
2517
+ // packages/execution/dist/tools/file-edit.js
2518
2518
  import { readFile as readFile2, writeFile as writeFile2 } from "node:fs/promises";
2519
2519
  import { resolve as resolve5 } from "node:path";
2520
2520
  function extractEditPath(args) {
@@ -2549,7 +2549,7 @@ function replaceAllOccurrences(haystack, needle, replacement) {
2549
2549
  }
2550
2550
  var FileEditTool;
2551
2551
  var init_file_edit = __esm({
2552
- "../packages/execution/dist/tools/file-edit.js"() {
2552
+ "packages/execution/dist/tools/file-edit.js"() {
2553
2553
  "use strict";
2554
2554
  FileEditTool = class {
2555
2555
  name = "file_edit";
@@ -2659,12 +2659,12 @@ var init_file_edit = __esm({
2659
2659
  }
2660
2660
  });
2661
2661
 
2662
- // ../packages/execution/dist/tools/memory-read.js
2662
+ // packages/execution/dist/tools/memory-read.js
2663
2663
  import { readFile as readFile3 } from "node:fs/promises";
2664
2664
  import { resolve as resolve6, join as join4 } from "node:path";
2665
2665
  var MemoryReadTool;
2666
2666
  var init_memory_read = __esm({
2667
- "../packages/execution/dist/tools/memory-read.js"() {
2667
+ "packages/execution/dist/tools/memory-read.js"() {
2668
2668
  "use strict";
2669
2669
  MemoryReadTool = class {
2670
2670
  name = "memory_read";
@@ -2754,13 +2754,13 @@ ${JSON.stringify(entries, null, 2)}`,
2754
2754
  }
2755
2755
  });
2756
2756
 
2757
- // ../packages/execution/dist/tools/memory-write.js
2757
+ // packages/execution/dist/tools/memory-write.js
2758
2758
  import { readFile as readFile4, writeFile as writeFile3, mkdir as mkdir2 } from "node:fs/promises";
2759
2759
  import { resolve as resolve7, join as join5 } from "node:path";
2760
2760
  import { randomBytes } from "node:crypto";
2761
2761
  var MemoryWriteTool;
2762
2762
  var init_memory_write = __esm({
2763
- "../packages/execution/dist/tools/memory-write.js"() {
2763
+ "packages/execution/dist/tools/memory-write.js"() {
2764
2764
  "use strict";
2765
2765
  MemoryWriteTool = class {
2766
2766
  name = "memory_write";
@@ -2845,7 +2845,7 @@ var init_memory_write = __esm({
2845
2845
  }
2846
2846
  });
2847
2847
 
2848
- // ../packages/execution/dist/tools/memory-search.js
2848
+ // packages/execution/dist/tools/memory-search.js
2849
2849
  import { readFile as readFile5, readdir } from "node:fs/promises";
2850
2850
  import { resolve as resolve8, join as join6, basename } from "node:path";
2851
2851
  import { existsSync as existsSync4 } from "node:fs";
@@ -2951,7 +2951,7 @@ function tokenize(text) {
2951
2951
  }
2952
2952
  var MemorySearchTool;
2953
2953
  var init_memory_search = __esm({
2954
- "../packages/execution/dist/tools/memory-search.js"() {
2954
+ "packages/execution/dist/tools/memory-search.js"() {
2955
2955
  "use strict";
2956
2956
  MemorySearchTool = class {
2957
2957
  name = "memory_search";
@@ -3075,10 +3075,10 @@ Try broader terms or use memory_read with a specific topic.`,
3075
3075
  }
3076
3076
  });
3077
3077
 
3078
- // ../packages/execution/dist/tools/explore-tools.js
3078
+ // packages/execution/dist/tools/explore-tools.js
3079
3079
  var TOOL_CATALOG, ExploreToolsTool;
3080
3080
  var init_explore_tools = __esm({
3081
- "../packages/execution/dist/tools/explore-tools.js"() {
3081
+ "packages/execution/dist/tools/explore-tools.js"() {
3082
3082
  "use strict";
3083
3083
  TOOL_CATALOG = {
3084
3084
  grep_search: "Search file contents with regex patterns",
@@ -3242,12 +3242,12 @@ Examples:`);
3242
3242
  }
3243
3243
  });
3244
3244
 
3245
- // ../packages/execution/dist/tools/list-directory.js
3245
+ // packages/execution/dist/tools/list-directory.js
3246
3246
  import { readdirSync, statSync } from "node:fs";
3247
3247
  import { resolve as resolve9, join as join7 } from "node:path";
3248
3248
  var EXCLUDED, MAX_ENTRIES, ListDirectoryTool;
3249
3249
  var init_list_directory = __esm({
3250
- "../packages/execution/dist/tools/list-directory.js"() {
3250
+ "packages/execution/dist/tools/list-directory.js"() {
3251
3251
  "use strict";
3252
3252
  EXCLUDED = /* @__PURE__ */ new Set(["node_modules", ".git"]);
3253
3253
  MAX_ENTRIES = 100;
@@ -3329,11 +3329,11 @@ var init_list_directory = __esm({
3329
3329
  }
3330
3330
  });
3331
3331
 
3332
- // ../packages/execution/dist/tools/aiwg-setup.js
3332
+ // packages/execution/dist/tools/aiwg-setup.js
3333
3333
  import { execSync as execSync2 } from "node:child_process";
3334
3334
  var AiwgSetupTool;
3335
3335
  var init_aiwg_setup = __esm({
3336
- "../packages/execution/dist/tools/aiwg-setup.js"() {
3336
+ "packages/execution/dist/tools/aiwg-setup.js"() {
3337
3337
  "use strict";
3338
3338
  AiwgSetupTool = class {
3339
3339
  name = "aiwg_setup";
@@ -3407,13 +3407,13 @@ ${output}`,
3407
3407
  }
3408
3408
  });
3409
3409
 
3410
- // ../packages/execution/dist/tools/aiwg-health.js
3410
+ // packages/execution/dist/tools/aiwg-health.js
3411
3411
  import { execSync as execSync3 } from "node:child_process";
3412
3412
  import { existsSync as existsSync5, readdirSync as readdirSync2, readFileSync as readFileSync3, statSync as statSync2 } from "node:fs";
3413
3413
  import { join as join8 } from "node:path";
3414
3414
  var AiwgHealthTool;
3415
3415
  var init_aiwg_health = __esm({
3416
- "../packages/execution/dist/tools/aiwg-health.js"() {
3416
+ "packages/execution/dist/tools/aiwg-health.js"() {
3417
3417
  "use strict";
3418
3418
  AiwgHealthTool = class {
3419
3419
  name = "aiwg_health";
@@ -3619,11 +3619,11 @@ var init_aiwg_health = __esm({
3619
3619
  }
3620
3620
  });
3621
3621
 
3622
- // ../packages/execution/dist/tools/aiwg-workflow.js
3622
+ // packages/execution/dist/tools/aiwg-workflow.js
3623
3623
  import { execSync as execSync4 } from "node:child_process";
3624
3624
  var AiwgWorkflowTool;
3625
3625
  var init_aiwg_workflow = __esm({
3626
- "../packages/execution/dist/tools/aiwg-workflow.js"() {
3626
+ "packages/execution/dist/tools/aiwg-workflow.js"() {
3627
3627
  "use strict";
3628
3628
  AiwgWorkflowTool = class {
3629
3629
  name = "aiwg_workflow";
@@ -3704,7 +3704,7 @@ var init_aiwg_workflow = __esm({
3704
3704
  }
3705
3705
  });
3706
3706
 
3707
- // ../packages/execution/dist/tools/batch-edit.js
3707
+ // packages/execution/dist/tools/batch-edit.js
3708
3708
  import { readFile as readFile6, writeFile as writeFile4 } from "node:fs/promises";
3709
3709
  import { resolve as resolve10 } from "node:path";
3710
3710
  function countOccurrences2(haystack, needle) {
@@ -3718,7 +3718,7 @@ function countOccurrences2(haystack, needle) {
3718
3718
  }
3719
3719
  var BatchEditTool;
3720
3720
  var init_batch_edit = __esm({
3721
- "../packages/execution/dist/tools/batch-edit.js"() {
3721
+ "packages/execution/dist/tools/batch-edit.js"() {
3722
3722
  "use strict";
3723
3723
  BatchEditTool = class {
3724
3724
  name = "batch_edit";
@@ -3830,12 +3830,12 @@ ${results.join("\n")}`,
3830
3830
  }
3831
3831
  });
3832
3832
 
3833
- // ../packages/execution/dist/tools/file-patch.js
3833
+ // packages/execution/dist/tools/file-patch.js
3834
3834
  import { readFile as readFile7, writeFile as writeFile5, copyFile } from "node:fs/promises";
3835
3835
  import { resolve as resolve11 } from "node:path";
3836
3836
  var FilePatchTool;
3837
3837
  var init_file_patch = __esm({
3838
- "../packages/execution/dist/tools/file-patch.js"() {
3838
+ "packages/execution/dist/tools/file-patch.js"() {
3839
3839
  "use strict";
3840
3840
  FilePatchTool = class {
3841
3841
  name = "file_patch";
@@ -4002,12 +4002,12 @@ ${diff}`,
4002
4002
  }
4003
4003
  });
4004
4004
 
4005
- // ../packages/execution/dist/tools/codebase-map.js
4005
+ // packages/execution/dist/tools/codebase-map.js
4006
4006
  import { readdirSync as readdirSync3, statSync as statSync3, readFileSync as readFileSync4, existsSync as existsSync6 } from "node:fs";
4007
4007
  import { join as join9, relative, extname } from "node:path";
4008
4008
  var CodebaseMapTool;
4009
4009
  var init_codebase_map = __esm({
4010
- "../packages/execution/dist/tools/codebase-map.js"() {
4010
+ "packages/execution/dist/tools/codebase-map.js"() {
4011
4011
  "use strict";
4012
4012
  CodebaseMapTool = class {
4013
4013
  name = "codebase_map";
@@ -4290,13 +4290,13 @@ var init_codebase_map = __esm({
4290
4290
  }
4291
4291
  });
4292
4292
 
4293
- // ../packages/execution/dist/tools/diagnostic.js
4293
+ // packages/execution/dist/tools/diagnostic.js
4294
4294
  import { execSync as execSync5 } from "node:child_process";
4295
4295
  import { existsSync as existsSync7, readFileSync as readFileSync5 } from "node:fs";
4296
4296
  import { join as join10 } from "node:path";
4297
4297
  var DiagnosticTool;
4298
4298
  var init_diagnostic = __esm({
4299
- "../packages/execution/dist/tools/diagnostic.js"() {
4299
+ "packages/execution/dist/tools/diagnostic.js"() {
4300
4300
  "use strict";
4301
4301
  DiagnosticTool = class {
4302
4302
  name = "diagnostic";
@@ -4435,13 +4435,13 @@ ${err.stderr ?? ""}`.trim(),
4435
4435
  }
4436
4436
  });
4437
4437
 
4438
- // ../packages/execution/dist/tools/git-info.js
4438
+ // packages/execution/dist/tools/git-info.js
4439
4439
  import { execSync as execSync6 } from "node:child_process";
4440
4440
  import { existsSync as existsSync8 } from "node:fs";
4441
4441
  import { join as join11 } from "node:path";
4442
4442
  var GitInfoTool;
4443
4443
  var init_git_info = __esm({
4444
- "../packages/execution/dist/tools/git-info.js"() {
4444
+ "packages/execution/dist/tools/git-info.js"() {
4445
4445
  "use strict";
4446
4446
  GitInfoTool = class {
4447
4447
  name = "git_info";
@@ -4566,7 +4566,7 @@ var init_git_info = __esm({
4566
4566
  }
4567
4567
  });
4568
4568
 
4569
- // ../packages/execution/dist/tools/background-task.js
4569
+ // packages/execution/dist/tools/background-task.js
4570
4570
  import { spawn as spawn2 } from "node:child_process";
4571
4571
  function toInfo(entry) {
4572
4572
  return {
@@ -4582,7 +4582,7 @@ function toInfo(entry) {
4582
4582
  }
4583
4583
  var BackgroundTaskManager, BackgroundRunTool, TaskStatusTool, TaskOutputTool, TaskStopTool;
4584
4584
  var init_background_task = __esm({
4585
- "../packages/execution/dist/tools/background-task.js"() {
4585
+ "packages/execution/dist/tools/background-task.js"() {
4586
4586
  "use strict";
4587
4587
  BackgroundTaskManager = class {
4588
4588
  tasks = /* @__PURE__ */ new Map();
@@ -4854,7 +4854,7 @@ Exit code: ${task.exitCode ?? "N/A"}`,
4854
4854
  }
4855
4855
  });
4856
4856
 
4857
- // ../packages/execution/dist/system-deps.js
4857
+ // packages/execution/dist/system-deps.js
4858
4858
  import { execSync as execSync7 } from "node:child_process";
4859
4859
  function detectPackageManager() {
4860
4860
  if (_detectedPkgManager !== void 0)
@@ -5046,7 +5046,7 @@ function resetDepCache() {
5046
5046
  }
5047
5047
  var DESKTOP_DEPS, _detectedPkgManager, _cache, _sudoPassword;
5048
5048
  var init_system_deps = __esm({
5049
- "../packages/execution/dist/system-deps.js"() {
5049
+ "packages/execution/dist/system-deps.js"() {
5050
5050
  "use strict";
5051
5051
  DESKTOP_DEPS = [
5052
5052
  {
@@ -5097,7 +5097,7 @@ var init_system_deps = __esm({
5097
5097
  }
5098
5098
  });
5099
5099
 
5100
- // ../packages/execution/dist/tools/image.js
5100
+ // packages/execution/dist/tools/image.js
5101
5101
  import { existsSync as existsSync9, readFileSync as readFileSync6, statSync as statSync4 } from "node:fs";
5102
5102
  import { resolve as resolve12, extname as extname2, basename as basename2 } from "node:path";
5103
5103
  import { execSync as execSync8 } from "node:child_process";
@@ -5186,7 +5186,7 @@ function runOCR(filePath) {
5186
5186
  }
5187
5187
  var IMAGE_EXTENSIONS, ImageReadTool, ScreenshotTool, OCRTool;
5188
5188
  var init_image = __esm({
5189
- "../packages/execution/dist/tools/image.js"() {
5189
+ "packages/execution/dist/tools/image.js"() {
5190
5190
  "use strict";
5191
5191
  init_system_deps();
5192
5192
  IMAGE_EXTENSIONS = /* @__PURE__ */ new Set([
@@ -5476,7 +5476,7 @@ ${text}`,
5476
5476
  }
5477
5477
  });
5478
5478
 
5479
- // ../packages/execution/dist/tools/custom-tool.js
5479
+ // packages/execution/dist/tools/custom-tool.js
5480
5480
  var custom_tool_exports = {};
5481
5481
  __export(custom_tool_exports, {
5482
5482
  CustomTool: () => CustomTool,
@@ -5579,7 +5579,7 @@ function loadFromDirectory(dir) {
5579
5579
  }
5580
5580
  var CustomTool;
5581
5581
  var init_custom_tool = __esm({
5582
- "../packages/execution/dist/tools/custom-tool.js"() {
5582
+ "packages/execution/dist/tools/custom-tool.js"() {
5583
5583
  "use strict";
5584
5584
  CustomTool = class {
5585
5585
  name;
@@ -5688,10 +5688,10 @@ ${stderr}` : ""),
5688
5688
  }
5689
5689
  });
5690
5690
 
5691
- // ../packages/execution/dist/tools/tool-creator.js
5691
+ // packages/execution/dist/tools/tool-creator.js
5692
5692
  var CreateToolTool, ManageToolsTool;
5693
5693
  var init_tool_creator = __esm({
5694
- "../packages/execution/dist/tools/tool-creator.js"() {
5694
+ "packages/execution/dist/tools/tool-creator.js"() {
5695
5695
  "use strict";
5696
5696
  init_custom_tool();
5697
5697
  CreateToolTool = class {
@@ -5982,7 +5982,7 @@ var init_tool_creator = __esm({
5982
5982
  }
5983
5983
  });
5984
5984
 
5985
- // ../packages/execution/dist/tools/skill-tools.js
5985
+ // packages/execution/dist/tools/skill-tools.js
5986
5986
  import { existsSync as existsSync11, readdirSync as readdirSync5, readFileSync as readFileSync8 } from "node:fs";
5987
5987
  import { join as join14, basename as basename3, dirname as dirname3 } from "node:path";
5988
5988
  import { homedir as homedir5 } from "node:os";
@@ -6297,7 +6297,7 @@ function parseTriggers(filePath) {
6297
6297
  }
6298
6298
  var _cachedAiwgPkgRoot, SkillListTool, SkillExecuteTool;
6299
6299
  var init_skill_tools = __esm({
6300
- "../packages/execution/dist/tools/skill-tools.js"() {
6300
+ "packages/execution/dist/tools/skill-tools.js"() {
6301
6301
  "use strict";
6302
6302
  SkillListTool = class {
6303
6303
  name = "skill_list";
@@ -6422,7 +6422,7 @@ ${content}`,
6422
6422
  }
6423
6423
  });
6424
6424
 
6425
- // ../packages/execution/dist/tools/skill-builder.js
6425
+ // packages/execution/dist/tools/skill-builder.js
6426
6426
  import { existsSync as existsSync12, mkdirSync as mkdirSync4, readFileSync as readFileSync9, writeFileSync as writeFileSync4 } from "node:fs";
6427
6427
  import { join as join15, dirname as dirname4 } from "node:path";
6428
6428
  function loadBuilderPrompt(name, vars) {
@@ -6460,7 +6460,7 @@ function extractJSON(text) {
6460
6460
  }
6461
6461
  var SkillBuildTool;
6462
6462
  var init_skill_builder = __esm({
6463
- "../packages/execution/dist/tools/skill-builder.js"() {
6463
+ "packages/execution/dist/tools/skill-builder.js"() {
6464
6464
  "use strict";
6465
6465
  SkillBuildTool = class {
6466
6466
  name = "skill_build";
@@ -6667,7 +6667,7 @@ ${content}`
6667
6667
  }
6668
6668
  });
6669
6669
 
6670
- // ../packages/execution/dist/tools/transcribe-tool.js
6670
+ // packages/execution/dist/tools/transcribe-tool.js
6671
6671
  import { existsSync as existsSync13, mkdirSync as mkdirSync5, writeFileSync as writeFileSync5, readFileSync as readFileSync10, unlinkSync } from "node:fs";
6672
6672
  import { join as join16, basename as basename4, extname as extname3, resolve as resolve13 } from "node:path";
6673
6673
  import { homedir as homedir6 } from "node:os";
@@ -6720,7 +6720,7 @@ function formatTime(seconds) {
6720
6720
  }
6721
6721
  var AUDIO_EXTS, VIDEO_EXTS, _tcModule, _tcChecked, TranscribeFileTool, TranscribeUrlTool;
6722
6722
  var init_transcribe_tool = __esm({
6723
- "../packages/execution/dist/tools/transcribe-tool.js"() {
6723
+ "packages/execution/dist/tools/transcribe-tool.js"() {
6724
6724
  "use strict";
6725
6725
  AUDIO_EXTS = /* @__PURE__ */ new Set([
6726
6726
  ".mp3",
@@ -6961,7 +6961,7 @@ ${result.output}`,
6961
6961
  }
6962
6962
  });
6963
6963
 
6964
- // ../packages/execution/dist/tools/structured-file.js
6964
+ // packages/execution/dist/tools/structured-file.js
6965
6965
  import { writeFile as writeFile6, mkdir as mkdir3 } from "node:fs/promises";
6966
6966
  import { resolve as resolve14, dirname as dirname5, extname as extname4 } from "node:path";
6967
6967
  function jsonToCSV(data, separator = ",") {
@@ -6998,7 +6998,7 @@ function jsonToMarkdownTable(data) {
6998
6998
  }
6999
6999
  var StructuredFileTool;
7000
7000
  var init_structured_file = __esm({
7001
- "../packages/execution/dist/tools/structured-file.js"() {
7001
+ "packages/execution/dist/tools/structured-file.js"() {
7002
7002
  "use strict";
7003
7003
  StructuredFileTool = class {
7004
7004
  name = "create_structured_file";
@@ -7141,7 +7141,7 @@ var init_structured_file = __esm({
7141
7141
  }
7142
7142
  });
7143
7143
 
7144
- // ../packages/execution/dist/tools/code-sandbox.js
7144
+ // packages/execution/dist/tools/code-sandbox.js
7145
7145
  import { spawn as spawn5 } from "node:child_process";
7146
7146
  import { writeFile as writeFile7, mkdtemp, rm, readdir as readdir2, stat } from "node:fs/promises";
7147
7147
  import { join as join17 } from "node:path";
@@ -7222,7 +7222,7 @@ async function listCreatedFiles(dir) {
7222
7222
  }
7223
7223
  var LANGUAGE_CONFIG, CodeSandboxTool;
7224
7224
  var init_code_sandbox = __esm({
7225
- "../packages/execution/dist/tools/code-sandbox.js"() {
7225
+ "packages/execution/dist/tools/code-sandbox.js"() {
7226
7226
  "use strict";
7227
7227
  LANGUAGE_CONFIG = {
7228
7228
  javascript: { ext: ".js", cmd: "node", args: (f) => [f] },
@@ -7394,7 +7394,7 @@ ${result.filesCreated.join("\n")}`);
7394
7394
  }
7395
7395
  });
7396
7396
 
7397
- // ../packages/execution/dist/tools/structured-read.js
7397
+ // packages/execution/dist/tools/structured-read.js
7398
7398
  import { readFile as readFile8, stat as stat2 } from "node:fs/promises";
7399
7399
  import { resolve as resolve15, extname as extname5 } from "node:path";
7400
7400
  function parseCSV(text, separator = ",") {
@@ -7502,7 +7502,7 @@ function detectBinaryFormat(buffer) {
7502
7502
  }
7503
7503
  var StructuredReadTool;
7504
7504
  var init_structured_read = __esm({
7505
- "../packages/execution/dist/tools/structured-read.js"() {
7505
+ "packages/execution/dist/tools/structured-read.js"() {
7506
7506
  "use strict";
7507
7507
  StructuredReadTool = class {
7508
7508
  name = "read_structured_file";
@@ -7729,7 +7729,7 @@ ${parts.join("\n\n")}`,
7729
7729
  }
7730
7730
  });
7731
7731
 
7732
- // ../packages/execution/dist/tools/vision.js
7732
+ // packages/execution/dist/tools/vision.js
7733
7733
  import { readFileSync as readFileSync11, existsSync as existsSync14, statSync as statSync5 } from "node:fs";
7734
7734
  import { execSync as execSync11, spawn as spawn6 } from "node:child_process";
7735
7735
  import { resolve as resolve16, extname as extname6, basename as basename5, dirname as dirname6, join as join18 } from "node:path";
@@ -7880,7 +7880,7 @@ function loadImageBuffer(workingDir, rawPath) {
7880
7880
  }
7881
7881
  var moondreamClient, moondreamError, stationProcess, IMAGE_EXTENSIONS2, VisionTool;
7882
7882
  var init_vision = __esm({
7883
- "../packages/execution/dist/tools/vision.js"() {
7883
+ "packages/execution/dist/tools/vision.js"() {
7884
7884
  "use strict";
7885
7885
  moondreamClient = null;
7886
7886
  moondreamError = null;
@@ -8103,7 +8103,7 @@ ${response}`, durationMs: performance.now() - start };
8103
8103
  }
8104
8104
  });
8105
8105
 
8106
- // ../packages/execution/dist/tools/desktop-click.js
8106
+ // packages/execution/dist/tools/desktop-click.js
8107
8107
  import { readFileSync as readFileSync12, existsSync as existsSync15 } from "node:fs";
8108
8108
  import { execSync as execSync12 } from "node:child_process";
8109
8109
  import { tmpdir as tmpdir3 } from "node:os";
@@ -8256,7 +8256,7 @@ for i in range(${clicks}):
8256
8256
  }
8257
8257
  var __dirname2, DesktopClickTool, DesktopDescribeTool;
8258
8258
  var init_desktop_click = __esm({
8259
- "../packages/execution/dist/tools/desktop-click.js"() {
8259
+ "packages/execution/dist/tools/desktop-click.js"() {
8260
8260
  "use strict";
8261
8261
  init_system_deps();
8262
8262
  __dirname2 = dirname7(fileURLToPath3(import.meta.url));
@@ -8612,13 +8612,13 @@ Screen: ${dims.width}x${dims.height}`);
8612
8612
  }
8613
8613
  });
8614
8614
 
8615
- // ../packages/execution/dist/tools/ocr-pdf.js
8615
+ // packages/execution/dist/tools/ocr-pdf.js
8616
8616
  import { existsSync as existsSync16, statSync as statSync6 } from "node:fs";
8617
8617
  import { resolve as resolve17, basename as basename6 } from "node:path";
8618
8618
  import { execSync as execSync13 } from "node:child_process";
8619
8619
  var OcrPdfTool;
8620
8620
  var init_ocr_pdf = __esm({
8621
- "../packages/execution/dist/tools/ocr-pdf.js"() {
8621
+ "packages/execution/dist/tools/ocr-pdf.js"() {
8622
8622
  "use strict";
8623
8623
  init_system_deps();
8624
8624
  OcrPdfTool = class {
@@ -8735,14 +8735,14 @@ Language: ${language}
8735
8735
  }
8736
8736
  });
8737
8737
 
8738
- // ../packages/execution/dist/tools/pdf-to-text.js
8738
+ // packages/execution/dist/tools/pdf-to-text.js
8739
8739
  import { existsSync as existsSync17, statSync as statSync7, readFileSync as readFileSync13, unlinkSync as unlinkSync2 } from "node:fs";
8740
8740
  import { resolve as resolve18, basename as basename7, join as join20 } from "node:path";
8741
8741
  import { execSync as execSync14 } from "node:child_process";
8742
8742
  import { tmpdir as tmpdir4 } from "node:os";
8743
8743
  var PdfToTextTool;
8744
8744
  var init_pdf_to_text = __esm({
8745
- "../packages/execution/dist/tools/pdf-to-text.js"() {
8745
+ "packages/execution/dist/tools/pdf-to-text.js"() {
8746
8746
  "use strict";
8747
8747
  init_system_deps();
8748
8748
  PdfToTextTool = class {
@@ -8920,7 +8920,7 @@ ${text}`,
8920
8920
  }
8921
8921
  });
8922
8922
 
8923
- // ../packages/execution/dist/tools/ocr-image-advanced.js
8923
+ // packages/execution/dist/tools/ocr-image-advanced.js
8924
8924
  import { existsSync as existsSync18, statSync as statSync8 } from "node:fs";
8925
8925
  import { resolve as resolve19, basename as basename8, dirname as dirname8, join as join21 } from "node:path";
8926
8926
  import { execSync as execSync15 } from "node:child_process";
@@ -8963,7 +8963,7 @@ function findPython() {
8963
8963
  }
8964
8964
  var OcrImageAdvancedTool;
8965
8965
  var init_ocr_image_advanced = __esm({
8966
- "../packages/execution/dist/tools/ocr-image-advanced.js"() {
8966
+ "packages/execution/dist/tools/ocr-image-advanced.js"() {
8967
8967
  "use strict";
8968
8968
  init_system_deps();
8969
8969
  OcrImageAdvancedTool = class {
@@ -9223,7 +9223,7 @@ Note: Advanced Python pipeline not available \u2014 install pytesseract, opencv-
9223
9223
  }
9224
9224
  });
9225
9225
 
9226
- // ../packages/execution/dist/tools/browser-action.js
9226
+ // packages/execution/dist/tools/browser-action.js
9227
9227
  import { execSync as execSync16, spawn as spawn7 } from "node:child_process";
9228
9228
  import { existsSync as existsSync19, readFileSync as readFileSync14 } from "node:fs";
9229
9229
  import { join as join22, dirname as dirname9 } from "node:path";
@@ -9315,7 +9315,7 @@ async function apiCall(endpoint, method = "POST", body) {
9315
9315
  }
9316
9316
  var __dirname3, SCRAPE_SCRIPT, DEFAULT_PORT, BASE_URL, serviceProcess, activeSessionId, BrowserActionTool;
9317
9317
  var init_browser_action = __esm({
9318
- "../packages/execution/dist/tools/browser-action.js"() {
9318
+ "packages/execution/dist/tools/browser-action.js"() {
9319
9319
  "use strict";
9320
9320
  __dirname3 = dirname9(fileURLToPath5(import.meta.url));
9321
9321
  SCRAPE_SCRIPT = join22(__dirname3, "..", "..", "scripts", "web_scrape.py");
@@ -9476,7 +9476,7 @@ var init_browser_action = __esm({
9476
9476
  }
9477
9477
  });
9478
9478
 
9479
- // ../packages/execution/dist/tools/autoresearch.js
9479
+ // packages/execution/dist/tools/autoresearch.js
9480
9480
  import { execSync as execSync17, spawn as spawn8 } from "node:child_process";
9481
9481
  import { existsSync as existsSync20, readFileSync as readFileSync15, writeFileSync as writeFileSync6, mkdirSync as mkdirSync6, appendFileSync, copyFileSync } from "node:fs";
9482
9482
  import { join as join23, resolve as resolve20, dirname as dirname10 } from "node:path";
@@ -9519,7 +9519,7 @@ function parseRunLog(logContent) {
9519
9519
  }
9520
9520
  var AutoresearchTool;
9521
9521
  var init_autoresearch = __esm({
9522
- "../packages/execution/dist/tools/autoresearch.js"() {
9522
+ "packages/execution/dist/tools/autoresearch.js"() {
9523
9523
  "use strict";
9524
9524
  AutoresearchTool = class {
9525
9525
  repoRoot;
@@ -9996,7 +9996,7 @@ train.py reverted to last kept state. Ready for next experiment.`,
9996
9996
  }
9997
9997
  });
9998
9998
 
9999
- // ../packages/execution/dist/tools/scheduler.js
9999
+ // packages/execution/dist/tools/scheduler.js
10000
10000
  import { execSync as execSync18, exec as execCb } from "node:child_process";
10001
10001
  import { readFile as readFile9, writeFile as writeFile8, mkdir as mkdir4 } from "node:fs/promises";
10002
10002
  import { resolve as resolve21, join as join24 } from "node:path";
@@ -10131,7 +10131,7 @@ async function saveStore(workingDir, store) {
10131
10131
  }
10132
10132
  var SCHEDULE_PRESETS, CRON_MARKER, SchedulerTool;
10133
10133
  var init_scheduler = __esm({
10134
- "../packages/execution/dist/tools/scheduler.js"() {
10134
+ "packages/execution/dist/tools/scheduler.js"() {
10135
10135
  "use strict";
10136
10136
  SCHEDULE_PRESETS = {
10137
10137
  "every minute": "* * * * *",
@@ -10359,7 +10359,7 @@ ${truncated}`, durationMs: performance.now() - start };
10359
10359
  }
10360
10360
  });
10361
10361
 
10362
- // ../packages/execution/dist/tools/reminder.js
10362
+ // packages/execution/dist/tools/reminder.js
10363
10363
  import { readFile as readFile10, writeFile as writeFile9, mkdir as mkdir5 } from "node:fs/promises";
10364
10364
  import { resolve as resolve22, join as join25 } from "node:path";
10365
10365
  import { randomBytes as randomBytes3 } from "node:crypto";
@@ -10453,7 +10453,7 @@ async function markRemindersSeen(workingDir, ids) {
10453
10453
  }
10454
10454
  var STORE_FILE, ReminderTool;
10455
10455
  var init_reminder = __esm({
10456
- "../packages/execution/dist/tools/reminder.js"() {
10456
+ "packages/execution/dist/tools/reminder.js"() {
10457
10457
  "use strict";
10458
10458
  STORE_FILE = "reminders.json";
10459
10459
  ReminderTool = class {
@@ -10672,7 +10672,7 @@ var init_reminder = __esm({
10672
10672
  }
10673
10673
  });
10674
10674
 
10675
- // ../packages/execution/dist/tools/agenda.js
10675
+ // packages/execution/dist/tools/agenda.js
10676
10676
  import { readFile as readFile11, writeFile as writeFile10, mkdir as mkdir6 } from "node:fs/promises";
10677
10677
  import { resolve as resolve23, join as join26 } from "node:path";
10678
10678
  import { randomBytes as randomBytes4 } from "node:crypto";
@@ -10707,7 +10707,7 @@ async function getActiveAttentionItems(workingDir) {
10707
10707
  }
10708
10708
  var AgendaTool;
10709
10709
  var init_agenda = __esm({
10710
- "../packages/execution/dist/tools/agenda.js"() {
10710
+ "packages/execution/dist/tools/agenda.js"() {
10711
10711
  "use strict";
10712
10712
  init_reminder();
10713
10713
  AgendaTool = class {
@@ -10996,7 +10996,7 @@ ${sections.join("\n")}`,
10996
10996
  }
10997
10997
  });
10998
10998
 
10999
- // ../packages/execution/dist/tools/opencode.js
10999
+ // packages/execution/dist/tools/opencode.js
11000
11000
  import { execSync as execSync19, spawn as spawn9 } from "node:child_process";
11001
11001
  import { existsSync as existsSync21 } from "node:fs";
11002
11002
  import { join as join27, resolve as resolve24 } from "node:path";
@@ -11057,7 +11057,7 @@ function installOpencode() {
11057
11057
  }
11058
11058
  var OpenCodeTool;
11059
11059
  var init_opencode = __esm({
11060
- "../packages/execution/dist/tools/opencode.js"() {
11060
+ "packages/execution/dist/tools/opencode.js"() {
11061
11061
  "use strict";
11062
11062
  OpenCodeTool = class {
11063
11063
  name = "opencode";
@@ -11270,7 +11270,7 @@ var init_opencode = __esm({
11270
11270
  }
11271
11271
  });
11272
11272
 
11273
- // ../packages/execution/dist/tools/factory.js
11273
+ // packages/execution/dist/tools/factory.js
11274
11274
  import { execSync as execSync20, spawn as spawn10 } from "node:child_process";
11275
11275
  import { existsSync as existsSync22 } from "node:fs";
11276
11276
  import { join as join28 } from "node:path";
@@ -11331,7 +11331,7 @@ function installDroid() {
11331
11331
  }
11332
11332
  var FactoryTool;
11333
11333
  var init_factory = __esm({
11334
- "../packages/execution/dist/tools/factory.js"() {
11334
+ "packages/execution/dist/tools/factory.js"() {
11335
11335
  "use strict";
11336
11336
  FactoryTool = class {
11337
11337
  name = "factory";
@@ -11579,7 +11579,7 @@ var init_factory = __esm({
11579
11579
  }
11580
11580
  });
11581
11581
 
11582
- // ../packages/execution/dist/tools/cron-agent.js
11582
+ // packages/execution/dist/tools/cron-agent.js
11583
11583
  import { execSync as execSync21 } from "node:child_process";
11584
11584
  import { readFile as readFile12, writeFile as writeFile11, mkdir as mkdir7 } from "node:fs/promises";
11585
11585
  import { resolve as resolve25, join as join29 } from "node:path";
@@ -11713,7 +11713,7 @@ async function saveStore2(workingDir, store) {
11713
11713
  }
11714
11714
  var LONG_HORIZON_PRESETS, CRON_AGENT_MARKER, CronAgentTool;
11715
11715
  var init_cron_agent = __esm({
11716
- "../packages/execution/dist/tools/cron-agent.js"() {
11716
+ "packages/execution/dist/tools/cron-agent.js"() {
11717
11717
  "use strict";
11718
11718
  LONG_HORIZON_PRESETS = {
11719
11719
  "every hour": "0 * * * *",
@@ -12044,7 +12044,7 @@ ${truncated}`, durationMs: performance.now() - start };
12044
12044
  }
12045
12045
  });
12046
12046
 
12047
- // ../packages/execution/dist/tools/nexus.js
12047
+ // packages/execution/dist/tools/nexus.js
12048
12048
  import { readFile as readFile13, writeFile as writeFile12, mkdir as mkdir8, chmod, unlink, readdir as readdir3, open as fsOpen } from "node:fs/promises";
12049
12049
  import { existsSync as existsSync23, readFileSync as readFileSync16 } from "node:fs";
12050
12050
  import { resolve as resolve26, join as join30 } from "node:path";
@@ -12060,7 +12060,7 @@ function containsKeyMaterial(input) {
12060
12060
  }
12061
12061
  var DAEMON_SCRIPT, KEY_PATTERNS, NexusTool;
12062
12062
  var init_nexus = __esm({
12063
- "../packages/execution/dist/tools/nexus.js"() {
12063
+ "packages/execution/dist/tools/nexus.js"() {
12064
12064
  "use strict";
12065
12065
  DAEMON_SCRIPT = `#!/usr/bin/env node
12066
12066
  /**
@@ -14258,7 +14258,7 @@ process.on('SIGINT', () => process.emit('SIGTERM'));
14258
14258
  }
14259
14259
  });
14260
14260
 
14261
- // ../packages/execution/dist/shellRunner.js
14261
+ // packages/execution/dist/shellRunner.js
14262
14262
  import { spawn as spawn12 } from "node:child_process";
14263
14263
  async function runShell(options) {
14264
14264
  const { command, args = [], cwd: cwd4, env, timeoutMs = DEFAULT_TIMEOUT_MS } = options;
@@ -14312,13 +14312,13 @@ async function runShell(options) {
14312
14312
  }
14313
14313
  var DEFAULT_TIMEOUT_MS;
14314
14314
  var init_shellRunner = __esm({
14315
- "../packages/execution/dist/shellRunner.js"() {
14315
+ "packages/execution/dist/shellRunner.js"() {
14316
14316
  "use strict";
14317
14317
  DEFAULT_TIMEOUT_MS = 6e4;
14318
14318
  }
14319
14319
  });
14320
14320
 
14321
- // ../packages/execution/dist/gitWorktree.js
14321
+ // packages/execution/dist/gitWorktree.js
14322
14322
  async function createWorktree(options) {
14323
14323
  const { repoPath, worktreePath, branch, timeoutMs = DEFAULT_GIT_TIMEOUT_MS } = options;
14324
14324
  const result = await runShell({
@@ -14355,14 +14355,14 @@ async function removeWorktree(options) {
14355
14355
  }
14356
14356
  var DEFAULT_GIT_TIMEOUT_MS;
14357
14357
  var init_gitWorktree = __esm({
14358
- "../packages/execution/dist/gitWorktree.js"() {
14358
+ "packages/execution/dist/gitWorktree.js"() {
14359
14359
  "use strict";
14360
14360
  init_shellRunner();
14361
14361
  DEFAULT_GIT_TIMEOUT_MS = 3e4;
14362
14362
  }
14363
14363
  });
14364
14364
 
14365
- // ../packages/execution/dist/patchApplier.js
14365
+ // packages/execution/dist/patchApplier.js
14366
14366
  import { readFileSync as readFileSync17, writeFileSync as writeFileSync7, existsSync as existsSync24, mkdirSync as mkdirSync7 } from "node:fs";
14367
14367
  import { dirname as dirname11 } from "node:path";
14368
14368
  import { spawn as spawn13 } from "node:child_process";
@@ -14439,12 +14439,12 @@ function runWithStdin(options) {
14439
14439
  });
14440
14440
  }
14441
14441
  var init_patchApplier = __esm({
14442
- "../packages/execution/dist/patchApplier.js"() {
14442
+ "packages/execution/dist/patchApplier.js"() {
14443
14443
  "use strict";
14444
14444
  }
14445
14445
  });
14446
14446
 
14447
- // ../packages/execution/dist/formatterRunner.js
14447
+ // packages/execution/dist/formatterRunner.js
14448
14448
  function buildFormatterCommand(formatter, extraArgs) {
14449
14449
  switch (formatter) {
14450
14450
  case "prettier":
@@ -14495,13 +14495,13 @@ async function runFormatter(options) {
14495
14495
  };
14496
14496
  }
14497
14497
  var init_formatterRunner = __esm({
14498
- "../packages/execution/dist/formatterRunner.js"() {
14498
+ "packages/execution/dist/formatterRunner.js"() {
14499
14499
  "use strict";
14500
14500
  init_shellRunner();
14501
14501
  }
14502
14502
  });
14503
14503
 
14504
- // ../packages/execution/dist/linterRunner.js
14504
+ // packages/execution/dist/linterRunner.js
14505
14505
  function buildLinterCommand(linter, extraArgs) {
14506
14506
  switch (linter) {
14507
14507
  case "eslint":
@@ -14557,13 +14557,13 @@ async function runLinter(options) {
14557
14557
  };
14558
14558
  }
14559
14559
  var init_linterRunner = __esm({
14560
- "../packages/execution/dist/linterRunner.js"() {
14560
+ "packages/execution/dist/linterRunner.js"() {
14561
14561
  "use strict";
14562
14562
  init_shellRunner();
14563
14563
  }
14564
14564
  });
14565
14565
 
14566
- // ../packages/execution/dist/typecheckRunner.js
14566
+ // packages/execution/dist/typecheckRunner.js
14567
14567
  function buildTypecheckerCommand(typechecker, extraArgs) {
14568
14568
  switch (typechecker) {
14569
14569
  case "tsc":
@@ -14609,13 +14609,13 @@ async function runTypecheck(options) {
14609
14609
  };
14610
14610
  }
14611
14611
  var init_typecheckRunner = __esm({
14612
- "../packages/execution/dist/typecheckRunner.js"() {
14612
+ "packages/execution/dist/typecheckRunner.js"() {
14613
14613
  "use strict";
14614
14614
  init_shellRunner();
14615
14615
  }
14616
14616
  });
14617
14617
 
14618
- // ../packages/execution/dist/testRunner.js
14618
+ // packages/execution/dist/testRunner.js
14619
14619
  function buildTestRunnerCommand(testRunner, extraArgs) {
14620
14620
  switch (testRunner) {
14621
14621
  case "jest":
@@ -14671,13 +14671,13 @@ async function runTests(options) {
14671
14671
  };
14672
14672
  }
14673
14673
  var init_testRunner = __esm({
14674
- "../packages/execution/dist/testRunner.js"() {
14674
+ "packages/execution/dist/testRunner.js"() {
14675
14675
  "use strict";
14676
14676
  init_shellRunner();
14677
14677
  }
14678
14678
  });
14679
14679
 
14680
- // ../packages/execution/dist/buildRunner.js
14680
+ // packages/execution/dist/buildRunner.js
14681
14681
  function buildBuilderCommand(profile, extraArgs) {
14682
14682
  switch (profile.builder) {
14683
14683
  case "tsc":
@@ -14744,13 +14744,13 @@ async function runBuild(options) {
14744
14744
  };
14745
14745
  }
14746
14746
  var init_buildRunner = __esm({
14747
- "../packages/execution/dist/buildRunner.js"() {
14747
+ "packages/execution/dist/buildRunner.js"() {
14748
14748
  "use strict";
14749
14749
  init_shellRunner();
14750
14750
  }
14751
14751
  });
14752
14752
 
14753
- // ../packages/execution/dist/validationPipeline.js
14753
+ // packages/execution/dist/validationPipeline.js
14754
14754
  async function runValidationPipeline(config) {
14755
14755
  const { projectRoot, profile, stopOnFirstFailure = true } = config;
14756
14756
  const formatterProfile = {
@@ -14846,7 +14846,7 @@ async function runValidationPipeline(config) {
14846
14846
  };
14847
14847
  }
14848
14848
  var init_validationPipeline = __esm({
14849
- "../packages/execution/dist/validationPipeline.js"() {
14849
+ "packages/execution/dist/validationPipeline.js"() {
14850
14850
  "use strict";
14851
14851
  init_formatterRunner();
14852
14852
  init_linterRunner();
@@ -14856,7 +14856,7 @@ var init_validationPipeline = __esm({
14856
14856
  }
14857
14857
  });
14858
14858
 
14859
- // ../packages/execution/dist/index.js
14859
+ // packages/execution/dist/index.js
14860
14860
  var dist_exports = {};
14861
14861
  __export(dist_exports, {
14862
14862
  AgendaTool: () => AgendaTool,
@@ -14949,7 +14949,7 @@ __export(dist_exports, {
14949
14949
  setSudoPassword: () => setSudoPassword
14950
14950
  });
14951
14951
  var init_dist2 = __esm({
14952
- "../packages/execution/dist/index.js"() {
14952
+ "packages/execution/dist/index.js"() {
14953
14953
  "use strict";
14954
14954
  init_tool_executor();
14955
14955
  init_shell();
@@ -15011,9 +15011,9 @@ var init_dist2 = __esm({
15011
15011
  }
15012
15012
  });
15013
15013
 
15014
- // ../packages/orchestrator/dist/agent-loop.js
15014
+ // packages/orchestrator/dist/agent-loop.js
15015
15015
  var init_agent_loop = __esm({
15016
- "../packages/orchestrator/dist/agent-loop.js"() {
15016
+ "packages/orchestrator/dist/agent-loop.js"() {
15017
15017
  "use strict";
15018
15018
  init_dist();
15019
15019
  init_dist2();
@@ -15021,11 +15021,11 @@ var init_agent_loop = __esm({
15021
15021
  }
15022
15022
  });
15023
15023
 
15024
- // ../packages/schemas/dist/messages.js
15024
+ // packages/schemas/dist/messages.js
15025
15025
  import { z } from "zod";
15026
15026
  var AgentMessageSchema;
15027
15027
  var init_messages = __esm({
15028
- "../packages/schemas/dist/messages.js"() {
15028
+ "packages/schemas/dist/messages.js"() {
15029
15029
  "use strict";
15030
15030
  AgentMessageSchema = z.object({
15031
15031
  id: z.string().uuid(),
@@ -15038,11 +15038,11 @@ var init_messages = __esm({
15038
15038
  }
15039
15039
  });
15040
15040
 
15041
- // ../packages/schemas/dist/tools.js
15041
+ // packages/schemas/dist/tools.js
15042
15042
  import { z as z2 } from "zod";
15043
15043
  var ToolCallSchema;
15044
15044
  var init_tools = __esm({
15045
- "../packages/schemas/dist/tools.js"() {
15045
+ "packages/schemas/dist/tools.js"() {
15046
15046
  "use strict";
15047
15047
  ToolCallSchema = z2.object({
15048
15048
  id: z2.string().uuid(),
@@ -15056,11 +15056,11 @@ var init_tools = __esm({
15056
15056
  }
15057
15057
  });
15058
15058
 
15059
- // ../packages/schemas/dist/session.js
15059
+ // packages/schemas/dist/session.js
15060
15060
  import { z as z3 } from "zod";
15061
15061
  var SessionSchema;
15062
15062
  var init_session = __esm({
15063
- "../packages/schemas/dist/session.js"() {
15063
+ "packages/schemas/dist/session.js"() {
15064
15064
  "use strict";
15065
15065
  SessionSchema = z3.object({
15066
15066
  id: z3.string().uuid(),
@@ -15074,11 +15074,11 @@ var init_session = __esm({
15074
15074
  }
15075
15075
  });
15076
15076
 
15077
- // ../packages/schemas/dist/task.js
15077
+ // packages/schemas/dist/task.js
15078
15078
  import { z as z4 } from "zod";
15079
15079
  var TaskClassSchema, UrgencySchema, NormalizedTaskSchema, TaskStatusSchema;
15080
15080
  var init_task = __esm({
15081
- "../packages/schemas/dist/task.js"() {
15081
+ "packages/schemas/dist/task.js"() {
15082
15082
  "use strict";
15083
15083
  TaskClassSchema = z4.enum([
15084
15084
  "bugfix",
@@ -15123,11 +15123,11 @@ var init_task = __esm({
15123
15123
  }
15124
15124
  });
15125
15125
 
15126
- // ../packages/schemas/dist/plan.js
15126
+ // packages/schemas/dist/plan.js
15127
15127
  import { z as z5 } from "zod";
15128
15128
  var SubtaskKindSchema, SubtaskSchema, PlanSchema;
15129
15129
  var init_plan = __esm({
15130
- "../packages/schemas/dist/plan.js"() {
15130
+ "packages/schemas/dist/plan.js"() {
15131
15131
  "use strict";
15132
15132
  SubtaskKindSchema = z5.enum([
15133
15133
  "inspect",
@@ -15161,11 +15161,11 @@ var init_plan = __esm({
15161
15161
  }
15162
15162
  });
15163
15163
 
15164
- // ../packages/schemas/dist/patch.js
15164
+ // packages/schemas/dist/patch.js
15165
15165
  import { z as z6 } from "zod";
15166
15166
  var EditOperationSchema, FileEditSchema, NeedsMoreContextSchema, PatchProposalSchema;
15167
15167
  var init_patch = __esm({
15168
- "../packages/schemas/dist/patch.js"() {
15168
+ "packages/schemas/dist/patch.js"() {
15169
15169
  "use strict";
15170
15170
  EditOperationSchema = z6.enum([
15171
15171
  "diff",
@@ -15204,11 +15204,11 @@ var init_patch = __esm({
15204
15204
  }
15205
15205
  });
15206
15206
 
15207
- // ../packages/schemas/dist/verification.js
15207
+ // packages/schemas/dist/verification.js
15208
15208
  import { z as z7 } from "zod";
15209
15209
  var VerificationStatusSchema, VerificationNextActionSchema, VerificationDecisionSchema;
15210
15210
  var init_verification = __esm({
15211
- "../packages/schemas/dist/verification.js"() {
15211
+ "packages/schemas/dist/verification.js"() {
15212
15212
  "use strict";
15213
15213
  VerificationStatusSchema = z7.enum(["pass", "fail", "partial"]);
15214
15214
  VerificationNextActionSchema = z7.enum([
@@ -15233,11 +15233,11 @@ var init_verification = __esm({
15233
15233
  }
15234
15234
  });
15235
15235
 
15236
- // ../packages/schemas/dist/repoProfile.js
15236
+ // packages/schemas/dist/repoProfile.js
15237
15237
  import { z as z8 } from "zod";
15238
15238
  var LanguageSchema, PackageManagerSchema, BuildSystemSchema, MigrationSystemSchema, RepoProfileSchema;
15239
15239
  var init_repoProfile = __esm({
15240
- "../packages/schemas/dist/repoProfile.js"() {
15240
+ "packages/schemas/dist/repoProfile.js"() {
15241
15241
  "use strict";
15242
15242
  LanguageSchema = z8.enum([
15243
15243
  "typescript",
@@ -15315,11 +15315,11 @@ var init_repoProfile = __esm({
15315
15315
  }
15316
15316
  });
15317
15317
 
15318
- // ../packages/schemas/dist/retrieval.js
15318
+ // packages/schemas/dist/retrieval.js
15319
15319
  import { z as z9 } from "zod";
15320
15320
  var RetrievalRequestSchema, SnippetSchema, RetrievalPacketSchema;
15321
15321
  var init_retrieval = __esm({
15322
- "../packages/schemas/dist/retrieval.js"() {
15322
+ "packages/schemas/dist/retrieval.js"() {
15323
15323
  "use strict";
15324
15324
  RetrievalRequestSchema = z9.object({
15325
15325
  /** Natural language description of what information is needed */
@@ -15367,11 +15367,11 @@ var init_retrieval = __esm({
15367
15367
  }
15368
15368
  });
15369
15369
 
15370
- // ../packages/schemas/dist/dispatch.js
15370
+ // packages/schemas/dist/dispatch.js
15371
15371
  import { z as z10 } from "zod";
15372
15372
  var DispatchModeSchema, TaskComplexitySchema, AgentRoleSchema, BudgetsSchema, DispatchDecisionSchema;
15373
15373
  var init_dispatch = __esm({
15374
- "../packages/schemas/dist/dispatch.js"() {
15374
+ "packages/schemas/dist/dispatch.js"() {
15375
15375
  "use strict";
15376
15376
  DispatchModeSchema = z10.enum([
15377
15377
  "single_pass",
@@ -15405,11 +15405,11 @@ var init_dispatch = __esm({
15405
15405
  }
15406
15406
  });
15407
15407
 
15408
- // ../packages/schemas/dist/memory.js
15408
+ // packages/schemas/dist/memory.js
15409
15409
  import { z as z11 } from "zod";
15410
15410
  var RiskLevelSchema, FileSummarySchema, FailureCategorySchema, FailureFingerprintSchema, TaskMemorySchema;
15411
15411
  var init_memory = __esm({
15412
- "../packages/schemas/dist/memory.js"() {
15412
+ "packages/schemas/dist/memory.js"() {
15413
15413
  "use strict";
15414
15414
  RiskLevelSchema = z11.enum(["low", "medium", "high", "critical"]);
15415
15415
  FileSummarySchema = z11.object({
@@ -15485,11 +15485,11 @@ var init_memory = __esm({
15485
15485
  }
15486
15486
  });
15487
15487
 
15488
- // ../packages/schemas/dist/backend.js
15488
+ // packages/schemas/dist/backend.js
15489
15489
  import { z as z12 } from "zod";
15490
15490
  var MessageRoleSchema, ChatMessageSchema, CompletionRequestSchema, TokenUsageSchema, CompletionResponseSchema, StructuredCompletionRequestSchema, BackendHealthSchema, BackendMetricsSchema;
15491
15491
  var init_backend = __esm({
15492
- "../packages/schemas/dist/backend.js"() {
15492
+ "packages/schemas/dist/backend.js"() {
15493
15493
  "use strict";
15494
15494
  MessageRoleSchema = z12.enum([
15495
15495
  "system",
@@ -15574,11 +15574,11 @@ var init_backend = __esm({
15574
15574
  }
15575
15575
  });
15576
15576
 
15577
- // ../packages/schemas/dist/config.js
15577
+ // packages/schemas/dist/config.js
15578
15578
  import { z as z13 } from "zod";
15579
15579
  var AgentConfigSchema;
15580
15580
  var init_config2 = __esm({
15581
- "../packages/schemas/dist/config.js"() {
15581
+ "packages/schemas/dist/config.js"() {
15582
15582
  "use strict";
15583
15583
  AgentConfigSchema = z13.object({
15584
15584
  // -----------------------------------------------------------------------
@@ -15637,11 +15637,11 @@ var init_config2 = __esm({
15637
15637
  }
15638
15638
  });
15639
15639
 
15640
- // ../packages/schemas/dist/queue.js
15640
+ // packages/schemas/dist/queue.js
15641
15641
  import { z as z14 } from "zod";
15642
15642
  var QueueClassSchema;
15643
15643
  var init_queue = __esm({
15644
- "../packages/schemas/dist/queue.js"() {
15644
+ "packages/schemas/dist/queue.js"() {
15645
15645
  "use strict";
15646
15646
  QueueClassSchema = z14.enum([
15647
15647
  /** CLI and direct user-facing requests; lowest latency target */
@@ -15660,9 +15660,9 @@ var init_queue = __esm({
15660
15660
  }
15661
15661
  });
15662
15662
 
15663
- // ../packages/schemas/dist/index.js
15663
+ // packages/schemas/dist/index.js
15664
15664
  var init_dist3 = __esm({
15665
- "../packages/schemas/dist/index.js"() {
15665
+ "packages/schemas/dist/index.js"() {
15666
15666
  "use strict";
15667
15667
  init_messages();
15668
15668
  init_tools();
@@ -15681,7 +15681,7 @@ var init_dist3 = __esm({
15681
15681
  }
15682
15682
  });
15683
15683
 
15684
- // ../packages/orchestrator/dist/promptLoader.js
15684
+ // packages/orchestrator/dist/promptLoader.js
15685
15685
  import { readFileSync as readFileSync18, existsSync as existsSync25 } from "node:fs";
15686
15686
  import { join as join31, dirname as dirname12 } from "node:path";
15687
15687
  import { fileURLToPath as fileURLToPath7 } from "node:url";
@@ -15701,7 +15701,7 @@ function loadPrompt(promptPath, vars) {
15701
15701
  }
15702
15702
  var __filename, __dirname4, PROMPTS_DIR, cache;
15703
15703
  var init_promptLoader = __esm({
15704
- "../packages/orchestrator/dist/promptLoader.js"() {
15704
+ "packages/orchestrator/dist/promptLoader.js"() {
15705
15705
  "use strict";
15706
15706
  __filename = fileURLToPath7(import.meta.url);
15707
15707
  __dirname4 = dirname12(__filename);
@@ -15710,7 +15710,7 @@ var init_promptLoader = __esm({
15710
15710
  }
15711
15711
  });
15712
15712
 
15713
- // ../packages/orchestrator/dist/taskNormalizer.js
15713
+ // packages/orchestrator/dist/taskNormalizer.js
15714
15714
  function parseJsonFromContent(content) {
15715
15715
  const fencedMatch = content.match(/```(?:json)?\s*([\s\S]*?)```/);
15716
15716
  const raw = fencedMatch ? fencedMatch[1] : content;
@@ -15725,7 +15725,7 @@ function normalizationPrompt(rawRequest, repoRoot) {
15725
15725
  }
15726
15726
  var TaskNormalizer;
15727
15727
  var init_taskNormalizer = __esm({
15728
- "../packages/orchestrator/dist/taskNormalizer.js"() {
15728
+ "packages/orchestrator/dist/taskNormalizer.js"() {
15729
15729
  "use strict";
15730
15730
  init_dist3();
15731
15731
  init_promptLoader();
@@ -15777,7 +15777,7 @@ var init_taskNormalizer = __esm({
15777
15777
  }
15778
15778
  });
15779
15779
 
15780
- // ../packages/orchestrator/dist/dispatcher.js
15780
+ // packages/orchestrator/dist/dispatcher.js
15781
15781
  function estimateComplexity(task) {
15782
15782
  const text = `${task.goal} ${task.constraints.join(" ")} ${task.successCriteria.join(" ")}`;
15783
15783
  const wordCount = text.split(/\s+/).length;
@@ -15844,7 +15844,7 @@ function parseJsonFromContent2(content) {
15844
15844
  }
15845
15845
  var Dispatcher;
15846
15846
  var init_dispatcher = __esm({
15847
- "../packages/orchestrator/dist/dispatcher.js"() {
15847
+ "packages/orchestrator/dist/dispatcher.js"() {
15848
15848
  "use strict";
15849
15849
  init_dist3();
15850
15850
  init_promptLoader();
@@ -15904,7 +15904,7 @@ var init_dispatcher = __esm({
15904
15904
  }
15905
15905
  });
15906
15906
 
15907
- // ../packages/orchestrator/dist/plannerRunner.js
15907
+ // packages/orchestrator/dist/plannerRunner.js
15908
15908
  function plannerPrompt(task, repoProfile, retrievalPacket) {
15909
15909
  const profileSection = repoProfile ? `REPOSITORY PROFILE:
15910
15910
  ${JSON.stringify(repoProfile, null, 2)}` : "REPOSITORY PROFILE: (not available)";
@@ -15925,7 +15925,7 @@ function parseJsonFromContent3(content) {
15925
15925
  }
15926
15926
  var PlannerRunner;
15927
15927
  var init_plannerRunner = __esm({
15928
- "../packages/orchestrator/dist/plannerRunner.js"() {
15928
+ "packages/orchestrator/dist/plannerRunner.js"() {
15929
15929
  "use strict";
15930
15930
  init_dist3();
15931
15931
  init_promptLoader();
@@ -15978,12 +15978,12 @@ var init_plannerRunner = __esm({
15978
15978
  }
15979
15979
  });
15980
15980
 
15981
- // ../packages/retrieval/dist/grep-search.js
15981
+ // packages/retrieval/dist/grep-search.js
15982
15982
  import { execFile as execFile4 } from "node:child_process";
15983
15983
  import { promisify as promisify3 } from "node:util";
15984
15984
  var execFileAsync3, GrepSearch;
15985
15985
  var init_grep_search2 = __esm({
15986
- "../packages/retrieval/dist/grep-search.js"() {
15986
+ "packages/retrieval/dist/grep-search.js"() {
15987
15987
  "use strict";
15988
15988
  execFileAsync3 = promisify3(execFile4);
15989
15989
  GrepSearch = class {
@@ -16040,10 +16040,10 @@ var init_grep_search2 = __esm({
16040
16040
  }
16041
16041
  });
16042
16042
 
16043
- // ../packages/retrieval/dist/code-retriever.js
16043
+ // packages/retrieval/dist/code-retriever.js
16044
16044
  var DEFAULT_CONFIG3, CodeRetriever;
16045
16045
  var init_code_retriever = __esm({
16046
- "../packages/retrieval/dist/code-retriever.js"() {
16046
+ "packages/retrieval/dist/code-retriever.js"() {
16047
16047
  "use strict";
16048
16048
  init_grep_search2();
16049
16049
  DEFAULT_CONFIG3 = {
@@ -16081,7 +16081,7 @@ var init_code_retriever = __esm({
16081
16081
  }
16082
16082
  });
16083
16083
 
16084
- // ../packages/retrieval/dist/lexicalSearch.js
16084
+ // packages/retrieval/dist/lexicalSearch.js
16085
16085
  import { execFile as execFile5 } from "node:child_process";
16086
16086
  import { promisify as promisify4 } from "node:util";
16087
16087
  import { readFile as readFile14, readdir as readdir4, stat as stat3 } from "node:fs/promises";
@@ -16259,7 +16259,7 @@ function matchesGlob(filePath, glob2) {
16259
16259
  }
16260
16260
  var execFileAsync4, DEFAULT_INCLUDE_GLOBS, DEFAULT_EXCLUDE_GLOBS, DEFAULT_MAX_MATCHES, ALWAYS_SKIP, ALL_CODE_EXTS;
16261
16261
  var init_lexicalSearch = __esm({
16262
- "../packages/retrieval/dist/lexicalSearch.js"() {
16262
+ "packages/retrieval/dist/lexicalSearch.js"() {
16263
16263
  "use strict";
16264
16264
  execFileAsync4 = promisify4(execFile5);
16265
16265
  DEFAULT_INCLUDE_GLOBS = ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "**/*.py"];
@@ -16270,7 +16270,7 @@ var init_lexicalSearch = __esm({
16270
16270
  }
16271
16271
  });
16272
16272
 
16273
- // ../packages/retrieval/dist/semanticSearch.js
16273
+ // packages/retrieval/dist/semanticSearch.js
16274
16274
  function parseTagFilter(query) {
16275
16275
  const required = [];
16276
16276
  const anyOf = [];
@@ -16347,7 +16347,7 @@ function makePlaceholderSummary(filePath) {
16347
16347
  }
16348
16348
  var StubSemanticSearchEngine, IndexBackedSemanticSearchEngine, LazySemanticSearchEngine;
16349
16349
  var init_semanticSearch = __esm({
16350
- "../packages/retrieval/dist/semanticSearch.js"() {
16350
+ "packages/retrieval/dist/semanticSearch.js"() {
16351
16351
  "use strict";
16352
16352
  StubSemanticSearchEngine = class {
16353
16353
  isAvailable = false;
@@ -16467,7 +16467,7 @@ var init_semanticSearch = __esm({
16467
16467
  }
16468
16468
  });
16469
16469
 
16470
- // ../packages/retrieval/dist/graphExpand.js
16470
+ // packages/retrieval/dist/graphExpand.js
16471
16471
  function expandGraph(seeds, graph, opts = {}) {
16472
16472
  const { direction = "both", maxHops = 1, maxNeighbors = 20, includeSeeds = false } = opts;
16473
16473
  const seedSet = new Set(seeds);
@@ -16527,12 +16527,12 @@ function bfsExpand(seeds, adjacency, maxHops, maxNeighbors, excludeSet, result)
16527
16527
  }
16528
16528
  }
16529
16529
  var init_graphExpand = __esm({
16530
- "../packages/retrieval/dist/graphExpand.js"() {
16530
+ "packages/retrieval/dist/graphExpand.js"() {
16531
16531
  "use strict";
16532
16532
  }
16533
16533
  });
16534
16534
 
16535
- // ../packages/retrieval/dist/snippetPacker.js
16535
+ // packages/retrieval/dist/snippetPacker.js
16536
16536
  import { readFile as readFile15 } from "node:fs/promises";
16537
16537
  import { join as join33 } from "node:path";
16538
16538
  async function packSnippets(requests, opts = {}) {
@@ -16595,7 +16595,7 @@ async function packFiles(filePaths, repoRoot, maxTokens = DEFAULT_MAX_TOKENS) {
16595
16595
  }
16596
16596
  var DEFAULT_MAX_TOKENS, DEFAULT_CONTEXT_LINES, CHARS_PER_TOKEN;
16597
16597
  var init_snippetPacker = __esm({
16598
- "../packages/retrieval/dist/snippetPacker.js"() {
16598
+ "packages/retrieval/dist/snippetPacker.js"() {
16599
16599
  "use strict";
16600
16600
  DEFAULT_MAX_TOKENS = 32e3;
16601
16601
  DEFAULT_CONTEXT_LINES = 2;
@@ -16603,7 +16603,7 @@ var init_snippetPacker = __esm({
16603
16603
  }
16604
16604
  });
16605
16605
 
16606
- // ../packages/retrieval/dist/contextAssembler.js
16606
+ // packages/retrieval/dist/contextAssembler.js
16607
16607
  async function assembleContext(request, opts) {
16608
16608
  const { repoRoot, graph, semanticEngine, summaryMap, maxFiles = 8, maxSnippets = 20, maxLogs = 3, maxTokens = 24e3, expandNeighbors = true, architectureNote, priorAttemptNote } = opts;
16609
16609
  const lexOpts = {
@@ -16759,7 +16759,7 @@ function estimatePacketTokens(packet) {
16759
16759
  return fileTokens + snippetTokens;
16760
16760
  }
16761
16761
  var init_contextAssembler = __esm({
16762
- "../packages/retrieval/dist/contextAssembler.js"() {
16762
+ "packages/retrieval/dist/contextAssembler.js"() {
16763
16763
  "use strict";
16764
16764
  init_lexicalSearch();
16765
16765
  init_graphExpand();
@@ -16767,7 +16767,7 @@ var init_contextAssembler = __esm({
16767
16767
  }
16768
16768
  });
16769
16769
 
16770
- // ../packages/retrieval/dist/index.js
16770
+ // packages/retrieval/dist/index.js
16771
16771
  var dist_exports2 = {};
16772
16772
  __export(dist_exports2, {
16773
16773
  CodeRetriever: () => CodeRetriever,
@@ -16792,7 +16792,7 @@ __export(dist_exports2, {
16792
16792
  testsForFiles: () => testsForFiles
16793
16793
  });
16794
16794
  var init_dist4 = __esm({
16795
- "../packages/retrieval/dist/index.js"() {
16795
+ "packages/retrieval/dist/index.js"() {
16796
16796
  "use strict";
16797
16797
  init_code_retriever();
16798
16798
  init_grep_search2();
@@ -16804,7 +16804,7 @@ var init_dist4 = __esm({
16804
16804
  }
16805
16805
  });
16806
16806
 
16807
- // ../packages/orchestrator/dist/scoutRunner.js
16807
+ // packages/orchestrator/dist/scoutRunner.js
16808
16808
  async function loadCodeRetriever(rootDir) {
16809
16809
  const mod = await Promise.resolve().then(() => (init_dist4(), dist_exports2));
16810
16810
  return new mod.CodeRetriever({ rootDir });
@@ -16835,7 +16835,7 @@ function scoutPrompt(task, repoProfile, candidateFiles, subtasks) {
16835
16835
  }
16836
16836
  var ScoutRunner;
16837
16837
  var init_scoutRunner = __esm({
16838
- "../packages/orchestrator/dist/scoutRunner.js"() {
16838
+ "packages/orchestrator/dist/scoutRunner.js"() {
16839
16839
  "use strict";
16840
16840
  init_dist3();
16841
16841
  init_promptLoader();
@@ -16941,7 +16941,7 @@ var init_scoutRunner = __esm({
16941
16941
  }
16942
16942
  });
16943
16943
 
16944
- // ../packages/orchestrator/dist/editorRunner.js
16944
+ // packages/orchestrator/dist/editorRunner.js
16945
16945
  function editorPrompt(task, subtask, retrievalPacket, previousVerification, retryNumber) {
16946
16946
  const filesSection = Object.entries(retrievalPacket.files).map(([path, content]) => `=== ${path} ===
16947
16947
  ${content}`).join("\n\n");
@@ -16969,7 +16969,7 @@ function parseJsonFromContent5(content) {
16969
16969
  }
16970
16970
  var EditorRunner;
16971
16971
  var init_editorRunner = __esm({
16972
- "../packages/orchestrator/dist/editorRunner.js"() {
16972
+ "packages/orchestrator/dist/editorRunner.js"() {
16973
16973
  "use strict";
16974
16974
  init_dist3();
16975
16975
  init_promptLoader();
@@ -17027,7 +17027,7 @@ var init_editorRunner = __esm({
17027
17027
  }
17028
17028
  });
17029
17029
 
17030
- // ../packages/orchestrator/dist/verifierRunner.js
17030
+ // packages/orchestrator/dist/verifierRunner.js
17031
17031
  function verifierPrompt(task, subtask, patch, toolOutput) {
17032
17032
  const toolSection = toolOutput ? `TOOL EXECUTION OUTPUT:
17033
17033
  ${toolOutput}` : "TOOL EXECUTION OUTPUT: (not executed)";
@@ -17055,7 +17055,7 @@ function parseJsonFromContent6(content) {
17055
17055
  }
17056
17056
  var VerifierRunner;
17057
17057
  var init_verifierRunner = __esm({
17058
- "../packages/orchestrator/dist/verifierRunner.js"() {
17058
+ "packages/orchestrator/dist/verifierRunner.js"() {
17059
17059
  "use strict";
17060
17060
  init_dist3();
17061
17061
  init_promptLoader();
@@ -17150,10 +17150,10 @@ FAILED: ${execError.stderr ?? execError.stdout ?? execError.message ?? "unknown
17150
17150
  }
17151
17151
  });
17152
17152
 
17153
- // ../packages/orchestrator/dist/mergeRunner.js
17153
+ // packages/orchestrator/dist/mergeRunner.js
17154
17154
  var MergeRunner;
17155
17155
  var init_mergeRunner = __esm({
17156
- "../packages/orchestrator/dist/mergeRunner.js"() {
17156
+ "packages/orchestrator/dist/mergeRunner.js"() {
17157
17157
  "use strict";
17158
17158
  init_promptLoader();
17159
17159
  MergeRunner = class {
@@ -17238,10 +17238,10 @@ var init_mergeRunner = __esm({
17238
17238
  }
17239
17239
  });
17240
17240
 
17241
- // ../packages/orchestrator/dist/retryController.js
17241
+ // packages/orchestrator/dist/retryController.js
17242
17242
  var RetryController;
17243
17243
  var init_retryController = __esm({
17244
- "../packages/orchestrator/dist/retryController.js"() {
17244
+ "packages/orchestrator/dist/retryController.js"() {
17245
17245
  "use strict";
17246
17246
  RetryController = class {
17247
17247
  maxRetries;
@@ -17338,7 +17338,7 @@ var init_retryController = __esm({
17338
17338
  }
17339
17339
  });
17340
17340
 
17341
- // ../packages/orchestrator/dist/ralphLoop.js
17341
+ // packages/orchestrator/dist/ralphLoop.js
17342
17342
  function isoNow() {
17343
17343
  return (/* @__PURE__ */ new Date()).toISOString();
17344
17344
  }
@@ -17386,7 +17386,7 @@ function deriveTerminalStatus(executions) {
17386
17386
  }
17387
17387
  var RalphLoop;
17388
17388
  var init_ralphLoop = __esm({
17389
- "../packages/orchestrator/dist/ralphLoop.js"() {
17389
+ "packages/orchestrator/dist/ralphLoop.js"() {
17390
17390
  "use strict";
17391
17391
  init_taskNormalizer();
17392
17392
  init_dispatcher();
@@ -17669,7 +17669,7 @@ var init_ralphLoop = __esm({
17669
17669
  }
17670
17670
  });
17671
17671
 
17672
- // ../packages/orchestrator/dist/personality.js
17672
+ // packages/orchestrator/dist/personality.js
17673
17673
  function compilePersonalityPrompt(profile, presetName) {
17674
17674
  if (presetName === "stark") {
17675
17675
  return loadPrompt("personality/level-stark.md");
@@ -17697,7 +17697,7 @@ function getPreset(name) {
17697
17697
  }
17698
17698
  var PERSONALITY_PRESETS, PRESET_NAMES;
17699
17699
  var init_personality = __esm({
17700
- "../packages/orchestrator/dist/personality.js"() {
17700
+ "packages/orchestrator/dist/personality.js"() {
17701
17701
  "use strict";
17702
17702
  init_promptLoader();
17703
17703
  PERSONALITY_PRESETS = {
@@ -17718,7 +17718,7 @@ var init_personality = __esm({
17718
17718
  }
17719
17719
  });
17720
17720
 
17721
- // ../packages/orchestrator/dist/agenticRunner.js
17721
+ // packages/orchestrator/dist/agenticRunner.js
17722
17722
  function repairJson(raw) {
17723
17723
  if (!raw || typeof raw !== "string")
17724
17724
  return null;
@@ -17784,7 +17784,7 @@ function getSystemPromptForTier(tier) {
17784
17784
  }
17785
17785
  var SYSTEM_PROMPT, SYSTEM_PROMPT_MEDIUM, SYSTEM_PROMPT_SMALL, AgenticRunner, OllamaAgenticBackend;
17786
17786
  var init_agenticRunner = __esm({
17787
- "../packages/orchestrator/dist/agenticRunner.js"() {
17787
+ "packages/orchestrator/dist/agenticRunner.js"() {
17788
17788
  "use strict";
17789
17789
  init_dist();
17790
17790
  init_personality();
@@ -20315,10 +20315,10 @@ ${transcript}`
20315
20315
  }
20316
20316
  });
20317
20317
 
20318
- // ../packages/orchestrator/dist/nexusBackend.js
20318
+ // packages/orchestrator/dist/nexusBackend.js
20319
20319
  var NexusAgenticBackend;
20320
20320
  var init_nexusBackend = __esm({
20321
- "../packages/orchestrator/dist/nexusBackend.js"() {
20321
+ "packages/orchestrator/dist/nexusBackend.js"() {
20322
20322
  "use strict";
20323
20323
  NexusAgenticBackend = class {
20324
20324
  sendFn;
@@ -20478,10 +20478,10 @@ var init_nexusBackend = __esm({
20478
20478
  }
20479
20479
  });
20480
20480
 
20481
- // ../packages/orchestrator/dist/cascadeBackend.js
20481
+ // packages/orchestrator/dist/cascadeBackend.js
20482
20482
  var CascadeBackend;
20483
20483
  var init_cascadeBackend = __esm({
20484
- "../packages/orchestrator/dist/cascadeBackend.js"() {
20484
+ "packages/orchestrator/dist/cascadeBackend.js"() {
20485
20485
  "use strict";
20486
20486
  init_agenticRunner();
20487
20487
  init_nexusBackend();
@@ -20745,10 +20745,10 @@ var init_cascadeBackend = __esm({
20745
20745
  }
20746
20746
  });
20747
20747
 
20748
- // ../packages/orchestrator/dist/flowstatePrompt.js
20748
+ // packages/orchestrator/dist/flowstatePrompt.js
20749
20749
  var FLOWSTATE_PROMPT;
20750
20750
  var init_flowstatePrompt = __esm({
20751
- "../packages/orchestrator/dist/flowstatePrompt.js"() {
20751
+ "packages/orchestrator/dist/flowstatePrompt.js"() {
20752
20752
  "use strict";
20753
20753
  FLOWSTATE_PROMPT = `## FlowState Protocol (Active)
20754
20754
 
@@ -20799,10 +20799,10 @@ Constrain your context. Clarify your target. Focus your tools. Flow will follow.
20799
20799
  }
20800
20800
  });
20801
20801
 
20802
- // ../packages/orchestrator/dist/costTracker.js
20802
+ // packages/orchestrator/dist/costTracker.js
20803
20803
  var DEFAULT_PRICING, CostTracker;
20804
20804
  var init_costTracker = __esm({
20805
- "../packages/orchestrator/dist/costTracker.js"() {
20805
+ "packages/orchestrator/dist/costTracker.js"() {
20806
20806
  "use strict";
20807
20807
  DEFAULT_PRICING = [
20808
20808
  // Cloud providers — typical pricing tiers
@@ -20950,7 +20950,7 @@ var init_costTracker = __esm({
20950
20950
  }
20951
20951
  });
20952
20952
 
20953
- // ../packages/orchestrator/dist/workEvaluator.js
20953
+ // packages/orchestrator/dist/workEvaluator.js
20954
20954
  function detectTaskType(taskDescription) {
20955
20955
  let bestType = "general";
20956
20956
  let bestScore = 0;
@@ -20985,7 +20985,7 @@ function buildEvaluationPrompt(task, summary, rubric) {
20985
20985
  }
20986
20986
  var RUBRICS, TASK_TYPE_PATTERNS, WorkEvaluator;
20987
20987
  var init_workEvaluator = __esm({
20988
- "../packages/orchestrator/dist/workEvaluator.js"() {
20988
+ "packages/orchestrator/dist/workEvaluator.js"() {
20989
20989
  "use strict";
20990
20990
  init_promptLoader();
20991
20991
  RUBRICS = {
@@ -21156,10 +21156,10 @@ var init_workEvaluator = __esm({
21156
21156
  }
21157
21157
  });
21158
21158
 
21159
- // ../packages/orchestrator/dist/sessionMetrics.js
21159
+ // packages/orchestrator/dist/sessionMetrics.js
21160
21160
  var SessionMetrics;
21161
21161
  var init_sessionMetrics = __esm({
21162
- "../packages/orchestrator/dist/sessionMetrics.js"() {
21162
+ "packages/orchestrator/dist/sessionMetrics.js"() {
21163
21163
  "use strict";
21164
21164
  SessionMetrics = class {
21165
21165
  sessionStart;
@@ -21256,16 +21256,16 @@ var init_sessionMetrics = __esm({
21256
21256
  }
21257
21257
  });
21258
21258
 
21259
- // ../packages/orchestrator/dist/taskLearning.js
21259
+ // packages/orchestrator/dist/taskLearning.js
21260
21260
  var init_taskLearning = __esm({
21261
- "../packages/orchestrator/dist/taskLearning.js"() {
21261
+ "packages/orchestrator/dist/taskLearning.js"() {
21262
21262
  "use strict";
21263
21263
  }
21264
21264
  });
21265
21265
 
21266
- // ../packages/orchestrator/dist/index.js
21266
+ // packages/orchestrator/dist/index.js
21267
21267
  var init_dist5 = __esm({
21268
- "../packages/orchestrator/dist/index.js"() {
21268
+ "packages/orchestrator/dist/index.js"() {
21269
21269
  "use strict";
21270
21270
  init_agent_loop();
21271
21271
  init_ralphLoop();
@@ -21289,7 +21289,7 @@ var init_dist5 = __esm({
21289
21289
  }
21290
21290
  });
21291
21291
 
21292
- // ../packages/cli/dist/tui/listen.js
21292
+ // packages/cli/dist/tui/listen.js
21293
21293
  var listen_exports = {};
21294
21294
  __export(listen_exports, {
21295
21295
  ListenEngine: () => ListenEngine,
@@ -21469,7 +21469,7 @@ function getListenEngine(config) {
21469
21469
  }
21470
21470
  var AUDIO_EXTENSIONS, VIDEO_EXTENSIONS, WhisperFallbackTranscriber, ListenEngine, _bgInstallPromise, _engine;
21471
21471
  var init_listen = __esm({
21472
- "../packages/cli/dist/tui/listen.js"() {
21472
+ "packages/cli/dist/tui/listen.js"() {
21473
21473
  "use strict";
21474
21474
  AUDIO_EXTENSIONS = /* @__PURE__ */ new Set([
21475
21475
  ".mp3",
@@ -22008,9 +22008,9 @@ transcribe-cli error: ${transcribeCliError}` : "";
22008
22008
  }
22009
22009
  });
22010
22010
 
22011
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/constants.js
22011
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/constants.js
22012
22012
  var require_constants = __commonJS({
22013
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/constants.js"(exports, module) {
22013
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/constants.js"(exports, module) {
22014
22014
  "use strict";
22015
22015
  var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
22016
22016
  var hasBlob = typeof Blob !== "undefined";
@@ -22031,9 +22031,9 @@ var require_constants = __commonJS({
22031
22031
  }
22032
22032
  });
22033
22033
 
22034
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/buffer-util.js
22034
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/buffer-util.js
22035
22035
  var require_buffer_util = __commonJS({
22036
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/buffer-util.js"(exports, module) {
22036
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/buffer-util.js"(exports, module) {
22037
22037
  "use strict";
22038
22038
  var { EMPTY_BUFFER } = require_constants();
22039
22039
  var FastBuffer = Buffer[Symbol.species];
@@ -22106,9 +22106,9 @@ var require_buffer_util = __commonJS({
22106
22106
  }
22107
22107
  });
22108
22108
 
22109
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/limiter.js
22109
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/limiter.js
22110
22110
  var require_limiter = __commonJS({
22111
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/limiter.js"(exports, module) {
22111
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/limiter.js"(exports, module) {
22112
22112
  "use strict";
22113
22113
  var kDone = /* @__PURE__ */ Symbol("kDone");
22114
22114
  var kRun = /* @__PURE__ */ Symbol("kRun");
@@ -22156,9 +22156,9 @@ var require_limiter = __commonJS({
22156
22156
  }
22157
22157
  });
22158
22158
 
22159
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/permessage-deflate.js
22159
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/permessage-deflate.js
22160
22160
  var require_permessage_deflate = __commonJS({
22161
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
22161
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
22162
22162
  "use strict";
22163
22163
  var zlib = __require("zlib");
22164
22164
  var bufferUtil = require_buffer_util();
@@ -22539,9 +22539,9 @@ var require_permessage_deflate = __commonJS({
22539
22539
  }
22540
22540
  });
22541
22541
 
22542
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/validation.js
22542
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/validation.js
22543
22543
  var require_validation = __commonJS({
22544
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/validation.js"(exports, module) {
22544
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/validation.js"(exports, module) {
22545
22545
  "use strict";
22546
22546
  var { isUtf8 } = __require("buffer");
22547
22547
  var { hasBlob } = require_constants();
@@ -22740,9 +22740,9 @@ var require_validation = __commonJS({
22740
22740
  }
22741
22741
  });
22742
22742
 
22743
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/receiver.js
22743
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/receiver.js
22744
22744
  var require_receiver = __commonJS({
22745
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/receiver.js"(exports, module) {
22745
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/receiver.js"(exports, module) {
22746
22746
  "use strict";
22747
22747
  var { Writable: Writable2 } = __require("stream");
22748
22748
  var PerMessageDeflate = require_permessage_deflate();
@@ -23332,9 +23332,9 @@ var require_receiver = __commonJS({
23332
23332
  }
23333
23333
  });
23334
23334
 
23335
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/sender.js
23335
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/sender.js
23336
23336
  var require_sender = __commonJS({
23337
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/sender.js"(exports, module) {
23337
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/sender.js"(exports, module) {
23338
23338
  "use strict";
23339
23339
  var { Duplex } = __require("stream");
23340
23340
  var { randomFillSync } = __require("crypto");
@@ -23820,9 +23820,9 @@ var require_sender = __commonJS({
23820
23820
  }
23821
23821
  });
23822
23822
 
23823
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/event-target.js
23823
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/event-target.js
23824
23824
  var require_event_target = __commonJS({
23825
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/event-target.js"(exports, module) {
23825
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/event-target.js"(exports, module) {
23826
23826
  "use strict";
23827
23827
  var { kForOnEventAttribute, kListener } = require_constants();
23828
23828
  var kCode = /* @__PURE__ */ Symbol("kCode");
@@ -24049,9 +24049,9 @@ var require_event_target = __commonJS({
24049
24049
  }
24050
24050
  });
24051
24051
 
24052
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/extension.js
24052
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/extension.js
24053
24053
  var require_extension = __commonJS({
24054
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/extension.js"(exports, module) {
24054
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/extension.js"(exports, module) {
24055
24055
  "use strict";
24056
24056
  var { tokenChars } = require_validation();
24057
24057
  function push(dest, name, elem) {
@@ -24202,9 +24202,9 @@ var require_extension = __commonJS({
24202
24202
  }
24203
24203
  });
24204
24204
 
24205
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket.js
24205
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket.js
24206
24206
  var require_websocket = __commonJS({
24207
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket.js"(exports, module) {
24207
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket.js"(exports, module) {
24208
24208
  "use strict";
24209
24209
  var EventEmitter7 = __require("events");
24210
24210
  var https = __require("https");
@@ -25088,9 +25088,9 @@ var require_websocket = __commonJS({
25088
25088
  }
25089
25089
  });
25090
25090
 
25091
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/stream.js
25091
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/stream.js
25092
25092
  var require_stream = __commonJS({
25093
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/stream.js"(exports, module) {
25093
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/stream.js"(exports, module) {
25094
25094
  "use strict";
25095
25095
  var WebSocket2 = require_websocket();
25096
25096
  var { Duplex } = __require("stream");
@@ -25186,9 +25186,9 @@ var require_stream = __commonJS({
25186
25186
  }
25187
25187
  });
25188
25188
 
25189
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/subprotocol.js
25189
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/subprotocol.js
25190
25190
  var require_subprotocol = __commonJS({
25191
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/subprotocol.js"(exports, module) {
25191
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/subprotocol.js"(exports, module) {
25192
25192
  "use strict";
25193
25193
  var { tokenChars } = require_validation();
25194
25194
  function parse(header) {
@@ -25231,9 +25231,9 @@ var require_subprotocol = __commonJS({
25231
25231
  }
25232
25232
  });
25233
25233
 
25234
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket-server.js
25234
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket-server.js
25235
25235
  var require_websocket_server = __commonJS({
25236
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket-server.js"(exports, module) {
25236
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/lib/websocket-server.js"(exports, module) {
25237
25237
  "use strict";
25238
25238
  var EventEmitter7 = __require("events");
25239
25239
  var http = __require("http");
@@ -25624,10 +25624,10 @@ var require_websocket_server = __commonJS({
25624
25624
  }
25625
25625
  });
25626
25626
 
25627
- // ../node_modules/.pnpm/ws@8.19.0/node_modules/ws/wrapper.mjs
25627
+ // node_modules/.pnpm/ws@8.19.0/node_modules/ws/wrapper.mjs
25628
25628
  var import_stream, import_receiver, import_sender, import_websocket, import_websocket_server;
25629
25629
  var init_wrapper = __esm({
25630
- "../node_modules/.pnpm/ws@8.19.0/node_modules/ws/wrapper.mjs"() {
25630
+ "node_modules/.pnpm/ws@8.19.0/node_modules/ws/wrapper.mjs"() {
25631
25631
  import_stream = __toESM(require_stream(), 1);
25632
25632
  import_receiver = __toESM(require_receiver(), 1);
25633
25633
  import_sender = __toESM(require_sender(), 1);
@@ -25636,7 +25636,7 @@ var init_wrapper = __esm({
25636
25636
  }
25637
25637
  });
25638
25638
 
25639
- // ../packages/cli/dist/tui/render.js
25639
+ // packages/cli/dist/tui/render.js
25640
25640
  function ansi2(code, text) {
25641
25641
  return isTTY2 ? `\x1B[${code}m${text}\x1B[0m` : text;
25642
25642
  }
@@ -26325,7 +26325,7 @@ function formatDuration2(ms) {
26325
26325
  }
26326
26326
  var isTTY2, c2, pastel, _emojisEnabled, _colorsEnabled, MD, TOOL_ICONS, TOOL_LABELS, TOOL_COLORS, _contentWriteHook, HINTS, TOOL_NAMES, COMMAND_NAMES;
26327
26327
  var init_render = __esm({
26328
- "../packages/cli/dist/tui/render.js"() {
26328
+ "packages/cli/dist/tui/render.js"() {
26329
26329
  "use strict";
26330
26330
  isTTY2 = process.stdout.isTTY ?? false;
26331
26331
  c2 = {
@@ -26550,7 +26550,7 @@ var init_render = __esm({
26550
26550
  }
26551
26551
  });
26552
26552
 
26553
- // ../packages/cli/dist/tui/voice-session.js
26553
+ // packages/cli/dist/tui/voice-session.js
26554
26554
  import { createServer } from "node:http";
26555
26555
  import { spawn as spawn15, execSync as execSync24 } from "node:child_process";
26556
26556
  import { EventEmitter as EventEmitter2 } from "node:events";
@@ -26931,7 +26931,7 @@ function renderVoiceSessionTranscript(speaker, text) {
26931
26931
  }
26932
26932
  var VoiceSession;
26933
26933
  var init_voice_session = __esm({
26934
- "../packages/cli/dist/tui/voice-session.js"() {
26934
+ "packages/cli/dist/tui/voice-session.js"() {
26935
26935
  "use strict";
26936
26936
  init_wrapper();
26937
26937
  init_render();
@@ -27278,7 +27278,7 @@ var init_voice_session = __esm({
27278
27278
  }
27279
27279
  });
27280
27280
 
27281
- // ../packages/cli/dist/tui/expose.js
27281
+ // packages/cli/dist/tui/expose.js
27282
27282
  import { createServer as createServer2, request as httpRequest } from "node:http";
27283
27283
  import { spawn as spawn16, exec } from "node:child_process";
27284
27284
  import { EventEmitter as EventEmitter3 } from "node:events";
@@ -27395,9 +27395,36 @@ async function collectSystemMetricsAsync() {
27395
27395
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
27396
27396
  };
27397
27397
  }
27398
- var HOP_BY_HOP_HEADERS, CF_HEADERS_PREFIX, DEFAULT_TARGETS, STATE_FILE_NAME, ExposeGateway, ExposeP2PGateway;
27398
+ function readP2PExposeState(stateDir) {
27399
+ try {
27400
+ const path = join35(stateDir, P2P_STATE_FILE_NAME);
27401
+ if (!existsSync27(path))
27402
+ return null;
27403
+ const raw = readFileSync19(path, "utf8");
27404
+ const data = JSON.parse(raw);
27405
+ if (!data.peerId || !data.authKey)
27406
+ return null;
27407
+ return data;
27408
+ } catch {
27409
+ return null;
27410
+ }
27411
+ }
27412
+ function writeP2PExposeState(stateDir, state) {
27413
+ try {
27414
+ mkdirSync9(stateDir, { recursive: true });
27415
+ writeFileSync9(join35(stateDir, P2P_STATE_FILE_NAME), JSON.stringify(state, null, 2));
27416
+ } catch {
27417
+ }
27418
+ }
27419
+ function removeP2PExposeState(stateDir) {
27420
+ try {
27421
+ unlinkSync3(join35(stateDir, P2P_STATE_FILE_NAME));
27422
+ } catch {
27423
+ }
27424
+ }
27425
+ var HOP_BY_HOP_HEADERS, CF_HEADERS_PREFIX, DEFAULT_TARGETS, STATE_FILE_NAME, ExposeGateway, P2P_STATE_FILE_NAME, ExposeP2PGateway;
27399
27426
  var init_expose = __esm({
27400
- "../packages/cli/dist/tui/expose.js"() {
27427
+ "packages/cli/dist/tui/expose.js"() {
27401
27428
  "use strict";
27402
27429
  init_render();
27403
27430
  HOP_BY_HOP_HEADERS = /* @__PURE__ */ new Set([
@@ -28047,7 +28074,8 @@ ${this.formatConnectionInfo()}`);
28047
28074
  return lines.join("\n");
28048
28075
  }
28049
28076
  };
28050
- ExposeP2PGateway = class extends EventEmitter3 {
28077
+ P2P_STATE_FILE_NAME = "expose-p2p-state.json";
28078
+ ExposeP2PGateway = class _ExposeP2PGateway extends EventEmitter3 {
28051
28079
  _nexusTool;
28052
28080
  // NexusTool instance
28053
28081
  _kind;
@@ -28156,6 +28184,16 @@ ${this.formatConnectionInfo()}`);
28156
28184
  this._stats.status = "active";
28157
28185
  this._stats.startedAt = Date.now();
28158
28186
  this.emitStats();
28187
+ if (this._stateDir && this._peerId) {
28188
+ writeP2PExposeState(this._stateDir, {
28189
+ peerId: this._peerId,
28190
+ authKey: this._authKey,
28191
+ kind: this._kind,
28192
+ targetUrl: this._targetUrl,
28193
+ margin: this._margin,
28194
+ startedAt: (/* @__PURE__ */ new Date()).toISOString()
28195
+ });
28196
+ }
28159
28197
  this.startMeteringPoll(nexusDir);
28160
28198
  return this._peerId ?? "connected (peer ID pending)";
28161
28199
  }
@@ -28164,6 +28202,54 @@ ${this.formatConnectionInfo()}`);
28164
28202
  this._stats.status = "standby";
28165
28203
  this._stats.activeConnections = 0;
28166
28204
  this.emitStats();
28205
+ if (this._stateDir)
28206
+ removeP2PExposeState(this._stateDir);
28207
+ }
28208
+ /**
28209
+ * Check for and reconnect to a surviving P2P expose from a previous session.
28210
+ * Verifies the nexus daemon is still running and the peer ID is valid,
28211
+ * then resumes metering poll without re-registering capabilities
28212
+ * (the daemon keeps them registered across OA restarts).
28213
+ */
28214
+ static async checkAndReconnect(stateDir, nexusTool, options) {
28215
+ const state = readP2PExposeState(stateDir);
28216
+ if (!state)
28217
+ return null;
28218
+ const nexusDir = nexusTool.getNexusDir();
28219
+ const statusPath = join35(nexusDir, "status.json");
28220
+ try {
28221
+ if (!existsSync27(statusPath)) {
28222
+ removeP2PExposeState(stateDir);
28223
+ return null;
28224
+ }
28225
+ const status = JSON.parse(readFileSync19(statusPath, "utf8"));
28226
+ if (!status.connected || !status.peerId) {
28227
+ removeP2PExposeState(stateDir);
28228
+ return null;
28229
+ }
28230
+ if (status.peerId !== state.peerId) {
28231
+ removeP2PExposeState(stateDir);
28232
+ return null;
28233
+ }
28234
+ } catch {
28235
+ removeP2PExposeState(stateDir);
28236
+ return null;
28237
+ }
28238
+ const gateway = new _ExposeP2PGateway({
28239
+ kind: state.kind,
28240
+ targetUrl: state.targetUrl,
28241
+ authKey: state.authKey,
28242
+ stateDir,
28243
+ margin: state.margin,
28244
+ ...options
28245
+ }, nexusTool);
28246
+ gateway._peerId = state.peerId;
28247
+ gateway._stats.status = "active";
28248
+ gateway._stats.startedAt = new Date(state.startedAt).getTime();
28249
+ gateway.emitStats();
28250
+ gateway.startMeteringPoll(nexusDir);
28251
+ options.onInfo?.(`P2P expose reconnected: ${state.peerId}`);
28252
+ return gateway;
28167
28253
  }
28168
28254
  /** Poll the daemon's metering.jsonl and status.json for stats */
28169
28255
  startMeteringPoll(nexusDir) {
@@ -28357,25 +28443,25 @@ ${this.formatConnectionInfo()}`);
28357
28443
  }
28358
28444
  });
28359
28445
 
28360
- // ../packages/cli/dist/tui/p2p/types.js
28446
+ // packages/cli/dist/tui/p2p/types.js
28361
28447
  function trustLevel(tier) {
28362
28448
  return TRUST_ORDER.indexOf(tier);
28363
28449
  }
28364
28450
  var TRUST_ORDER;
28365
28451
  var init_types = __esm({
28366
- "../packages/cli/dist/tui/p2p/types.js"() {
28452
+ "packages/cli/dist/tui/p2p/types.js"() {
28367
28453
  "use strict";
28368
28454
  TRUST_ORDER = ["public", "verified", "tee", "local"];
28369
28455
  }
28370
28456
  });
28371
28457
 
28372
- // ../packages/cli/dist/tui/p2p/secret-vault.js
28458
+ // packages/cli/dist/tui/p2p/secret-vault.js
28373
28459
  import { createCipheriv as createCipheriv2, createDecipheriv as createDecipheriv2, randomBytes as randomBytes8, scryptSync as scryptSync2, createHash as createHash2 } from "node:crypto";
28374
28460
  import { readFileSync as readFileSync20, writeFileSync as writeFileSync10, existsSync as existsSync28, mkdirSync as mkdirSync10 } from "node:fs";
28375
28461
  import { join as join36, dirname as dirname14 } from "node:path";
28376
28462
  var PLACEHOLDER_PREFIX, PLACEHOLDER_SUFFIX, CIPHER_ALGO, SALT_LEN, IV_LEN, KEY_LEN, SecretVault;
28377
28463
  var init_secret_vault = __esm({
28378
- "../packages/cli/dist/tui/p2p/secret-vault.js"() {
28464
+ "packages/cli/dist/tui/p2p/secret-vault.js"() {
28379
28465
  "use strict";
28380
28466
  init_types();
28381
28467
  PLACEHOLDER_PREFIX = "{{OA_VAR_";
@@ -28633,13 +28719,13 @@ var init_secret_vault = __esm({
28633
28719
  }
28634
28720
  });
28635
28721
 
28636
- // ../packages/cli/dist/tui/p2p/peer-mesh.js
28722
+ // packages/cli/dist/tui/p2p/peer-mesh.js
28637
28723
  import { EventEmitter as EventEmitter4 } from "node:events";
28638
28724
  import { createServer as createServer3 } from "node:http";
28639
28725
  import { randomBytes as randomBytes9, createHash as createHash3, generateKeyPairSync } from "node:crypto";
28640
28726
  var PING_INTERVAL_MS, PEER_TIMEOUT_MS, GOSSIP_INTERVAL_MS, MAX_PEERS, PeerMesh;
28641
28727
  var init_peer_mesh = __esm({
28642
- "../packages/cli/dist/tui/p2p/peer-mesh.js"() {
28728
+ "packages/cli/dist/tui/p2p/peer-mesh.js"() {
28643
28729
  "use strict";
28644
28730
  init_wrapper();
28645
28731
  PING_INTERVAL_MS = 3e4;
@@ -29098,11 +29184,11 @@ var init_peer_mesh = __esm({
29098
29184
  }
29099
29185
  });
29100
29186
 
29101
- // ../packages/cli/dist/tui/p2p/inference-router.js
29187
+ // packages/cli/dist/tui/p2p/inference-router.js
29102
29188
  import { EventEmitter as EventEmitter5 } from "node:events";
29103
29189
  var TRUST_WEIGHTS, InferenceRouter;
29104
29190
  var init_inference_router = __esm({
29105
- "../packages/cli/dist/tui/p2p/inference-router.js"() {
29191
+ "packages/cli/dist/tui/p2p/inference-router.js"() {
29106
29192
  "use strict";
29107
29193
  init_types();
29108
29194
  TRUST_WEIGHTS = {
@@ -29296,9 +29382,9 @@ var init_inference_router = __esm({
29296
29382
  }
29297
29383
  });
29298
29384
 
29299
- // ../packages/cli/dist/tui/p2p/index.js
29385
+ // packages/cli/dist/tui/p2p/index.js
29300
29386
  var init_p2p = __esm({
29301
- "../packages/cli/dist/tui/p2p/index.js"() {
29387
+ "packages/cli/dist/tui/p2p/index.js"() {
29302
29388
  "use strict";
29303
29389
  init_secret_vault();
29304
29390
  init_peer_mesh();
@@ -29307,7 +29393,7 @@ var init_p2p = __esm({
29307
29393
  }
29308
29394
  });
29309
29395
 
29310
- // ../packages/cli/dist/tui/call-agent.js
29396
+ // packages/cli/dist/tui/call-agent.js
29311
29397
  import { EventEmitter as EventEmitter6 } from "node:events";
29312
29398
  import crypto2 from "node:crypto";
29313
29399
  function adaptTool(tool) {
@@ -29331,7 +29417,7 @@ function generateSessionKey() {
29331
29417
  }
29332
29418
  var ActivityFeed, _globalFeed, CallSubAgent;
29333
29419
  var init_call_agent = __esm({
29334
- "../packages/cli/dist/tui/call-agent.js"() {
29420
+ "packages/cli/dist/tui/call-agent.js"() {
29335
29421
  "use strict";
29336
29422
  init_dist5();
29337
29423
  init_dist2();
@@ -29589,7 +29675,7 @@ ${activitySummary}
29589
29675
  }
29590
29676
  });
29591
29677
 
29592
- // ../packages/cli/dist/tui/model-picker.js
29678
+ // packages/cli/dist/tui/model-picker.js
29593
29679
  async function fetchOllamaModels(baseUrl) {
29594
29680
  const url = `${normalizeBaseUrl(baseUrl)}/api/tags`;
29595
29681
  const resp = await fetch(url, {
@@ -29853,27 +29939,27 @@ function formatRelativeTime(iso) {
29853
29939
  return `${months}mo ago`;
29854
29940
  }
29855
29941
  var init_model_picker = __esm({
29856
- "../packages/cli/dist/tui/model-picker.js"() {
29942
+ "packages/cli/dist/tui/model-picker.js"() {
29857
29943
  "use strict";
29858
29944
  init_dist();
29859
29945
  }
29860
29946
  });
29861
29947
 
29862
- // ../packages/prompts/dist/loader.js
29948
+ // packages/prompts/dist/loader.js
29863
29949
  var init_loader = __esm({
29864
- "../packages/prompts/dist/loader.js"() {
29950
+ "packages/prompts/dist/loader.js"() {
29865
29951
  "use strict";
29866
29952
  }
29867
29953
  });
29868
29954
 
29869
- // ../packages/prompts/dist/render.js
29955
+ // packages/prompts/dist/render.js
29870
29956
  var init_render2 = __esm({
29871
- "../packages/prompts/dist/render.js"() {
29957
+ "packages/prompts/dist/render.js"() {
29872
29958
  "use strict";
29873
29959
  }
29874
29960
  });
29875
29961
 
29876
- // ../packages/prompts/dist/promptLoader.js
29962
+ // packages/prompts/dist/promptLoader.js
29877
29963
  import { readFileSync as readFileSync21, existsSync as existsSync29 } from "node:fs";
29878
29964
  import { join as join37, dirname as dirname15 } from "node:path";
29879
29965
  import { fileURLToPath as fileURLToPath9 } from "node:url";
@@ -29893,7 +29979,7 @@ function loadPrompt2(promptPath, vars) {
29893
29979
  }
29894
29980
  var __filename2, __dirname5, devPath, publishedPath, PROMPTS_DIR2, cache2;
29895
29981
  var init_promptLoader2 = __esm({
29896
- "../packages/prompts/dist/promptLoader.js"() {
29982
+ "packages/prompts/dist/promptLoader.js"() {
29897
29983
  "use strict";
29898
29984
  __filename2 = fileURLToPath9(import.meta.url);
29899
29985
  __dirname5 = dirname15(__filename2);
@@ -29904,7 +29990,7 @@ var init_promptLoader2 = __esm({
29904
29990
  }
29905
29991
  });
29906
29992
 
29907
- // ../packages/prompts/dist/task-templates.js
29993
+ // packages/prompts/dist/task-templates.js
29908
29994
  function getTaskTemplate(type) {
29909
29995
  return TEMPLATES[type];
29910
29996
  }
@@ -29920,7 +30006,7 @@ ${template.outputGuidance}`;
29920
30006
  }
29921
30007
  var TEMPLATES;
29922
30008
  var init_task_templates = __esm({
29923
- "../packages/prompts/dist/task-templates.js"() {
30009
+ "packages/prompts/dist/task-templates.js"() {
29924
30010
  "use strict";
29925
30011
  init_promptLoader2();
29926
30012
  TEMPLATES = {
@@ -30009,12 +30095,12 @@ var init_task_templates = __esm({
30009
30095
  }
30010
30096
  });
30011
30097
 
30012
- // ../packages/prompts/dist/index.js
30098
+ // packages/prompts/dist/index.js
30013
30099
  import { join as join38, dirname as dirname16 } from "node:path";
30014
30100
  import { fileURLToPath as fileURLToPath10 } from "node:url";
30015
30101
  var _dir, _packageRoot;
30016
30102
  var init_dist6 = __esm({
30017
- "../packages/prompts/dist/index.js"() {
30103
+ "packages/prompts/dist/index.js"() {
30018
30104
  "use strict";
30019
30105
  init_loader();
30020
30106
  init_render2();
@@ -30025,7 +30111,7 @@ var init_dist6 = __esm({
30025
30111
  }
30026
30112
  });
30027
30113
 
30028
- // ../packages/cli/dist/tui/oa-directory.js
30114
+ // packages/cli/dist/tui/oa-directory.js
30029
30115
  import { existsSync as existsSync30, mkdirSync as mkdirSync11, readFileSync as readFileSync22, writeFileSync as writeFileSync11, readdirSync as readdirSync8, statSync as statSync9, unlinkSync as unlinkSync4 } from "node:fs";
30030
30116
  import { join as join39, relative as relative2, basename as basename9, extname as extname8 } from "node:path";
30031
30117
  import { homedir as homedir9 } from "node:os";
@@ -30473,7 +30559,7 @@ function loadUsageHistory(kind, repoRoot) {
30473
30559
  }
30474
30560
  var OA_DIR, SUBDIRS, CONTEXT_FILES, PENDING_TASK_FILE, CONTEXT_SAVE_FILE, MAX_CONTEXT_ENTRIES, SKIP_DIRS, USAGE_HISTORY_FILE, MAX_HISTORY_RECORDS;
30475
30561
  var init_oa_directory = __esm({
30476
- "../packages/cli/dist/tui/oa-directory.js"() {
30562
+ "packages/cli/dist/tui/oa-directory.js"() {
30477
30563
  "use strict";
30478
30564
  OA_DIR = ".oa";
30479
30565
  SUBDIRS = ["memory", "index", "context", "history", "notes", "embedded", "provenance", "tools", "dreams"];
@@ -30514,7 +30600,7 @@ var init_oa_directory = __esm({
30514
30600
  }
30515
30601
  });
30516
30602
 
30517
- // ../packages/cli/dist/tui/setup.js
30603
+ // packages/cli/dist/tui/setup.js
30518
30604
  import * as readline from "node:readline";
30519
30605
  import { execSync as execSync25, spawn as spawn17, exec as exec2 } from "node:child_process";
30520
30606
  import { promisify as promisify5 } from "node:util";
@@ -32043,7 +32129,7 @@ async function ensureExpandedContext(modelName, backendUrl) {
32043
32129
  }
32044
32130
  var execAsync, QWEN_VARIANTS, TOOL_CALLING_MODELS, _cloudflaredInstallPromise;
32045
32131
  var init_setup = __esm({
32046
- "../packages/cli/dist/tui/setup.js"() {
32132
+ "packages/cli/dist/tui/setup.js"() {
32047
32133
  "use strict";
32048
32134
  init_model_picker();
32049
32135
  init_render();
@@ -32078,7 +32164,7 @@ var init_setup = __esm({
32078
32164
  }
32079
32165
  });
32080
32166
 
32081
- // ../packages/cli/dist/tui/tui-select.js
32167
+ // packages/cli/dist/tui/tui-select.js
32082
32168
  function ansi3(code, text) {
32083
32169
  return isTTY3 ? `\x1B[${code}m${text}\x1B[0m` : text;
32084
32170
  }
@@ -32388,7 +32474,7 @@ function tuiSelect(opts) {
32388
32474
  }
32389
32475
  var isTTY3, selectColors;
32390
32476
  var init_tui_select = __esm({
32391
- "../packages/cli/dist/tui/tui-select.js"() {
32477
+ "packages/cli/dist/tui/tui-select.js"() {
32392
32478
  "use strict";
32393
32479
  isTTY3 = process.stdout.isTTY ?? false;
32394
32480
  selectColors = {
@@ -32405,7 +32491,7 @@ var init_tui_select = __esm({
32405
32491
  }
32406
32492
  });
32407
32493
 
32408
- // ../packages/cli/dist/tui/commands.js
32494
+ // packages/cli/dist/tui/commands.js
32409
32495
  async function handleSlashCommand(input, ctx) {
32410
32496
  const trimmed = input.trim();
32411
32497
  if (!trimmed.startsWith("/"))
@@ -32979,10 +33065,20 @@ async function handleSlashCommand(input, ctx) {
32979
33065
  renderWarning("Expose gateway not available in this context.");
32980
33066
  return "handled";
32981
33067
  }
32982
- if (arg === "stop" || arg === "off") {
33068
+ if (arg?.startsWith("stop") || arg === "off") {
33069
+ const stopParts = (arg ?? "").split(/\s+/);
33070
+ let stopWhich;
33071
+ if (stopParts.includes("--tunnel"))
33072
+ stopWhich = "tunnel";
33073
+ else if (stopParts.includes("--libp2p"))
33074
+ stopWhich = "libp2p";
32983
33075
  if (ctx.isExposeActive?.()) {
32984
- await ctx.exposeStop?.();
32985
- renderInfo("Expose gateway stopped.");
33076
+ await ctx.exposeStop?.(stopWhich);
33077
+ if (stopWhich) {
33078
+ renderInfo(`Expose ${stopWhich} gateway stopped.`);
33079
+ } else {
33080
+ renderInfo("All expose gateways stopped.");
33081
+ }
32986
33082
  } else {
32987
33083
  renderWarning("No active expose gateway.");
32988
33084
  }
@@ -33009,7 +33105,9 @@ async function handleSlashCommand(input, ctx) {
33009
33105
  renderInfo(" /expose vllm Expose local vLLM (8000)");
33010
33106
  renderInfo(" /expose llvm Expose local LLVM (8080)");
33011
33107
  renderInfo(" /expose host:port Expose custom address");
33012
- renderInfo(" /expose stop Stop the gateway");
33108
+ renderInfo(" /expose stop Stop all gateways");
33109
+ renderInfo(" /expose stop --tunnel Stop tunnel only");
33110
+ renderInfo(" /expose stop --libp2p Stop libp2p only");
33013
33111
  renderInfo(" /expose status Show usage stats");
33014
33112
  renderInfo(" --key <key> Use specific auth key (tunnel mode)");
33015
33113
  renderInfo(" --key Auto-generate auth key (tunnel mode)");
@@ -33017,9 +33115,6 @@ async function handleSlashCommand(input, ctx) {
33017
33115
  }
33018
33116
  return "handled";
33019
33117
  }
33020
- if (ctx.isExposeActive?.()) {
33021
- await ctx.exposeStop?.();
33022
- }
33023
33118
  const exposeParts = arg.split(/\s+/);
33024
33119
  const kindOrUrl = exposeParts[0];
33025
33120
  let exposeAuthKey;
@@ -34323,7 +34418,7 @@ async function switchModel(query, ctx, local = false) {
34323
34418
  }
34324
34419
  }
34325
34420
  var init_commands = __esm({
34326
- "../packages/cli/dist/tui/commands.js"() {
34421
+ "packages/cli/dist/tui/commands.js"() {
34327
34422
  "use strict";
34328
34423
  init_model_picker();
34329
34424
  init_render();
@@ -34340,7 +34435,7 @@ var init_commands = __esm({
34340
34435
  }
34341
34436
  });
34342
34437
 
34343
- // ../packages/cli/dist/tui/project-context.js
34438
+ // packages/cli/dist/tui/project-context.js
34344
34439
  import { existsSync as existsSync32, readFileSync as readFileSync23, readdirSync as readdirSync9 } from "node:fs";
34345
34440
  import { join as join41, basename as basename10 } from "node:path";
34346
34441
  import { execSync as execSync26 } from "node:child_process";
@@ -34645,14 +34740,14 @@ These patterns have been repeated 3+ times. Consider using create_tool to automa
34645
34740
  return sections.join("\n\n");
34646
34741
  }
34647
34742
  var init_project_context = __esm({
34648
- "../packages/cli/dist/tui/project-context.js"() {
34743
+ "packages/cli/dist/tui/project-context.js"() {
34649
34744
  "use strict";
34650
34745
  init_oa_directory();
34651
34746
  init_dist2();
34652
34747
  }
34653
34748
  });
34654
34749
 
34655
- // ../packages/memory/dist/db.js
34750
+ // packages/memory/dist/db.js
34656
34751
  import Database from "better-sqlite3";
34657
34752
  function initDb(dbPath) {
34658
34753
  const db = new Database(dbPath);
@@ -34807,26 +34902,26 @@ function runMigrations(db) {
34807
34902
  `);
34808
34903
  }
34809
34904
  var init_db = __esm({
34810
- "../packages/memory/dist/db.js"() {
34905
+ "packages/memory/dist/db.js"() {
34811
34906
  "use strict";
34812
34907
  }
34813
34908
  });
34814
34909
 
34815
- // ../packages/memory/dist/repoProfileStore.js
34910
+ // packages/memory/dist/repoProfileStore.js
34816
34911
  var init_repoProfileStore = __esm({
34817
- "../packages/memory/dist/repoProfileStore.js"() {
34912
+ "packages/memory/dist/repoProfileStore.js"() {
34818
34913
  "use strict";
34819
34914
  }
34820
34915
  });
34821
34916
 
34822
- // ../packages/memory/dist/fileSummaryStore.js
34917
+ // packages/memory/dist/fileSummaryStore.js
34823
34918
  var init_fileSummaryStore = __esm({
34824
- "../packages/memory/dist/fileSummaryStore.js"() {
34919
+ "packages/memory/dist/fileSummaryStore.js"() {
34825
34920
  "use strict";
34826
34921
  }
34827
34922
  });
34828
34923
 
34829
- // ../packages/memory/dist/taskMemoryStore.js
34924
+ // packages/memory/dist/taskMemoryStore.js
34830
34925
  import { randomUUID } from "node:crypto";
34831
34926
  function rowToTask(row) {
34832
34927
  return {
@@ -34845,7 +34940,7 @@ function rowToTask(row) {
34845
34940
  }
34846
34941
  var TaskMemoryStore;
34847
34942
  var init_taskMemoryStore = __esm({
34848
- "../packages/memory/dist/taskMemoryStore.js"() {
34943
+ "packages/memory/dist/taskMemoryStore.js"() {
34849
34944
  "use strict";
34850
34945
  TaskMemoryStore = class {
34851
34946
  db;
@@ -34896,14 +34991,14 @@ var init_taskMemoryStore = __esm({
34896
34991
  }
34897
34992
  });
34898
34993
 
34899
- // ../packages/memory/dist/patchHistoryStore.js
34994
+ // packages/memory/dist/patchHistoryStore.js
34900
34995
  var init_patchHistoryStore = __esm({
34901
- "../packages/memory/dist/patchHistoryStore.js"() {
34996
+ "packages/memory/dist/patchHistoryStore.js"() {
34902
34997
  "use strict";
34903
34998
  }
34904
34999
  });
34905
35000
 
34906
- // ../packages/memory/dist/failureStore.js
35001
+ // packages/memory/dist/failureStore.js
34907
35002
  import { randomUUID as randomUUID2 } from "node:crypto";
34908
35003
  function rowToFailure(row) {
34909
35004
  return {
@@ -34924,7 +35019,7 @@ function rowToFailure(row) {
34924
35019
  }
34925
35020
  var FailureStore;
34926
35021
  var init_failureStore = __esm({
34927
- "../packages/memory/dist/failureStore.js"() {
35022
+ "packages/memory/dist/failureStore.js"() {
34928
35023
  "use strict";
34929
35024
  FailureStore = class {
34930
35025
  db;
@@ -34979,18 +35074,18 @@ var init_failureStore = __esm({
34979
35074
  }
34980
35075
  });
34981
35076
 
34982
- // ../packages/memory/dist/validationStore.js
35077
+ // packages/memory/dist/validationStore.js
34983
35078
  var init_validationStore = __esm({
34984
- "../packages/memory/dist/validationStore.js"() {
35079
+ "packages/memory/dist/validationStore.js"() {
34985
35080
  "use strict";
34986
35081
  }
34987
35082
  });
34988
35083
 
34989
- // ../packages/memory/dist/toolPatternStore.js
35084
+ // packages/memory/dist/toolPatternStore.js
34990
35085
  import { randomUUID as randomUUID3 } from "node:crypto";
34991
35086
  var ToolPatternStore;
34992
35087
  var init_toolPatternStore = __esm({
34993
- "../packages/memory/dist/toolPatternStore.js"() {
35088
+ "packages/memory/dist/toolPatternStore.js"() {
34994
35089
  "use strict";
34995
35090
  ToolPatternStore = class {
34996
35091
  db;
@@ -35169,9 +35264,9 @@ var init_toolPatternStore = __esm({
35169
35264
  }
35170
35265
  });
35171
35266
 
35172
- // ../packages/memory/dist/index.js
35267
+ // packages/memory/dist/index.js
35173
35268
  var init_dist7 = __esm({
35174
- "../packages/memory/dist/index.js"() {
35269
+ "packages/memory/dist/index.js"() {
35175
35270
  "use strict";
35176
35271
  init_db();
35177
35272
  init_repoProfileStore();
@@ -35184,7 +35279,7 @@ var init_dist7 = __esm({
35184
35279
  }
35185
35280
  });
35186
35281
 
35187
- // ../packages/cli/dist/tui/carousel.js
35282
+ // packages/cli/dist/tui/carousel.js
35188
35283
  function fg(code, text) {
35189
35284
  return isTTY4 ? `\x1B[38;5;${code}m${text}\x1B[0m` : text;
35190
35285
  }
@@ -35226,7 +35321,7 @@ function createRow(phraseIndices, speed, direction, bank) {
35226
35321
  }
35227
35322
  var isTTY4, PHRASES, Carousel;
35228
35323
  var init_carousel = __esm({
35229
- "../packages/cli/dist/tui/carousel.js"() {
35324
+ "packages/cli/dist/tui/carousel.js"() {
35230
35325
  "use strict";
35231
35326
  isTTY4 = process.stdout.isTTY ?? false;
35232
35327
  PHRASES = [
@@ -35467,7 +35562,7 @@ var init_carousel = __esm({
35467
35562
  }
35468
35563
  });
35469
35564
 
35470
- // ../packages/cli/dist/tui/carousel-descriptors.js
35565
+ // packages/cli/dist/tui/carousel-descriptors.js
35471
35566
  import { existsSync as existsSync33, readFileSync as readFileSync24, writeFileSync as writeFileSync13, mkdirSync as mkdirSync13, readdirSync as readdirSync10 } from "node:fs";
35472
35567
  import { join as join42, basename as basename11 } from "node:path";
35473
35568
  function loadToolProfile(repoRoot) {
@@ -35714,7 +35809,7 @@ function extractFromToolProfile(profile, tags) {
35714
35809
  }
35715
35810
  var TOOL_CATEGORIES, TOOL_PROFILE_FILE, DESCRIPTOR_FILE, CATEGORY_LABELS, STOP_WORDS;
35716
35811
  var init_carousel_descriptors = __esm({
35717
- "../packages/cli/dist/tui/carousel-descriptors.js"() {
35812
+ "packages/cli/dist/tui/carousel-descriptors.js"() {
35718
35813
  "use strict";
35719
35814
  init_oa_directory();
35720
35815
  TOOL_CATEGORIES = [
@@ -35820,7 +35915,7 @@ var init_carousel_descriptors = __esm({
35820
35915
  }
35821
35916
  });
35822
35917
 
35823
- // ../packages/cli/dist/tui/voice.js
35918
+ // packages/cli/dist/tui/voice.js
35824
35919
  import { existsSync as existsSync34, mkdirSync as mkdirSync14, writeFileSync as writeFileSync14, readFileSync as readFileSync25, unlinkSync as unlinkSync5 } from "node:fs";
35825
35920
  import { join as join43 } from "node:path";
35826
35921
  import { homedir as homedir12, tmpdir as tmpdir6, platform as platform3 } from "node:os";
@@ -36291,7 +36386,7 @@ function formatBytes2(bytes) {
36291
36386
  }
36292
36387
  var VOICE_MODELS, VoiceEngine, narration, FILE_READ_VARIANTS, FILE_WRITE_VARIANTS, FILE_EDIT_VARIANTS, GREP_VARIANTS, WEB_SEARCH_VARIANTS, WEB_FETCH_VARIANTS, MEMORY_READ_VARIANTS, MEMORY_WRITE_VARIANTS, SUB_AGENT_VARIANTS, SHELL_VARIANTS, RESULT_SUCCESS_VARIANTS, RESULT_FAIL_VARIANTS, RESULT_MULTI_FAIL_VARIANTS, TASK_COMPLETE_VARIANTS, TASK_INCOMPLETE_VARIANTS;
36293
36388
  var init_voice = __esm({
36294
- "../packages/cli/dist/tui/voice.js"() {
36389
+ "packages/cli/dist/tui/voice.js"() {
36295
36390
  "use strict";
36296
36391
  init_render();
36297
36392
  VOICE_MODELS = {
@@ -37608,7 +37703,7 @@ Error: ${err instanceof Error ? err.message : String(err)}`);
37608
37703
  }
37609
37704
  });
37610
37705
 
37611
- // ../packages/cli/dist/tui/stream-renderer.js
37706
+ // packages/cli/dist/tui/stream-renderer.js
37612
37707
  function fg2563(code, text) {
37613
37708
  return isTTY5 ? `\x1B[38;5;${code}m${text}\x1B[0m` : text;
37614
37709
  }
@@ -37626,7 +37721,7 @@ function boldText(text) {
37626
37721
  }
37627
37722
  var isTTY5, PASTEL, StreamRenderer;
37628
37723
  var init_stream_renderer = __esm({
37629
- "../packages/cli/dist/tui/stream-renderer.js"() {
37724
+ "packages/cli/dist/tui/stream-renderer.js"() {
37630
37725
  "use strict";
37631
37726
  isTTY5 = process.stdout.isTTY ?? false;
37632
37727
  PASTEL = {
@@ -38095,7 +38190,7 @@ var init_stream_renderer = __esm({
38095
38190
  }
38096
38191
  });
38097
38192
 
38098
- // ../packages/cli/dist/tui/edit-history.js
38193
+ // packages/cli/dist/tui/edit-history.js
38099
38194
  import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync15 } from "node:fs";
38100
38195
  import { join as join44 } from "node:path";
38101
38196
  function createEditHistoryLogger(repoRoot, sessionId) {
@@ -38199,7 +38294,7 @@ function sanitizeArgs(tool, args) {
38199
38294
  }
38200
38295
  var EDIT_TOOLS;
38201
38296
  var init_edit_history = __esm({
38202
- "../packages/cli/dist/tui/edit-history.js"() {
38297
+ "packages/cli/dist/tui/edit-history.js"() {
38203
38298
  "use strict";
38204
38299
  EDIT_TOOLS = /* @__PURE__ */ new Set([
38205
38300
  "file_edit",
@@ -38210,7 +38305,7 @@ var init_edit_history = __esm({
38210
38305
  }
38211
38306
  });
38212
38307
 
38213
- // ../packages/cli/dist/tui/promptLoader.js
38308
+ // packages/cli/dist/tui/promptLoader.js
38214
38309
  import { readFileSync as readFileSync26, existsSync as existsSync35 } from "node:fs";
38215
38310
  import { join as join45, dirname as dirname17 } from "node:path";
38216
38311
  import { fileURLToPath as fileURLToPath11 } from "node:url";
@@ -38230,7 +38325,7 @@ function loadPrompt3(promptPath, vars) {
38230
38325
  }
38231
38326
  var __filename3, __dirname6, devPath2, publishedPath2, PROMPTS_DIR3, cache3;
38232
38327
  var init_promptLoader3 = __esm({
38233
- "../packages/cli/dist/tui/promptLoader.js"() {
38328
+ "packages/cli/dist/tui/promptLoader.js"() {
38234
38329
  "use strict";
38235
38330
  __filename3 = fileURLToPath11(import.meta.url);
38236
38331
  __dirname6 = dirname17(__filename3);
@@ -38241,7 +38336,7 @@ var init_promptLoader3 = __esm({
38241
38336
  }
38242
38337
  });
38243
38338
 
38244
- // ../packages/cli/dist/tui/dream-engine.js
38339
+ // packages/cli/dist/tui/dream-engine.js
38245
38340
  import { mkdirSync as mkdirSync16, writeFileSync as writeFileSync15, readFileSync as readFileSync27, existsSync as existsSync36, cpSync, rmSync, readdirSync as readdirSync11 } from "node:fs";
38246
38341
  import { join as join46, basename as basename12 } from "node:path";
38247
38342
  import { execSync as execSync28 } from "node:child_process";
@@ -38404,7 +38499,7 @@ function renderSwarmComplete(workspace) {
38404
38499
  }
38405
38500
  var SWARM_ROLE_CONFIG, AutoresearchFileWriteTool, AutoresearchFileEditTool, AUTORESEARCH_MEMORY_KEYS, SLEEP_STAGES, DreamFileWriteTool, DreamFileEditTool, DreamShellTool, DreamEngine;
38406
38501
  var init_dream_engine = __esm({
38407
- "../packages/cli/dist/tui/dream-engine.js"() {
38502
+ "packages/cli/dist/tui/dream-engine.js"() {
38408
38503
  "use strict";
38409
38504
  init_dist5();
38410
38505
  init_dist2();
@@ -39484,7 +39579,7 @@ ${files.map((f) => `- [\`${f}\`](./${f})`).join("\n")}
39484
39579
  }
39485
39580
  });
39486
39581
 
39487
- // ../packages/cli/dist/tui/priority-ingress.js
39582
+ // packages/cli/dist/tui/priority-ingress.js
39488
39583
  function classifyPriority(prompt, source, origin) {
39489
39584
  for (const rule of CLASSIFICATION_RULES) {
39490
39585
  if (rule.sourceType !== "any" && rule.sourceType !== source)
@@ -39509,7 +39604,7 @@ function classifyPriority(prompt, source, origin) {
39509
39604
  }
39510
39605
  var PRIORITY_WEIGHT, PRIORITY_POLICIES, CLASSIFICATION_RULES, PriorityIngressEngine;
39511
39606
  var init_priority_ingress = __esm({
39512
- "../packages/cli/dist/tui/priority-ingress.js"() {
39607
+ "packages/cli/dist/tui/priority-ingress.js"() {
39513
39608
  "use strict";
39514
39609
  PRIORITY_WEIGHT = {
39515
39610
  critical: 100,
@@ -39694,7 +39789,7 @@ var init_priority_ingress = __esm({
39694
39789
  }
39695
39790
  });
39696
39791
 
39697
- // ../packages/cli/dist/tui/bless-engine.js
39792
+ // packages/cli/dist/tui/bless-engine.js
39698
39793
  function renderBlessStart() {
39699
39794
  process.stdout.write(`
39700
39795
  ${c2.green("\u26A1")} ${c2.bold("BLESSED")} \u2014 Infinite warm loop activated
@@ -39718,7 +39813,7 @@ function renderBlessStop(state) {
39718
39813
  }
39719
39814
  var BlessEngine;
39720
39815
  var init_bless_engine = __esm({
39721
- "../packages/cli/dist/tui/bless-engine.js"() {
39816
+ "packages/cli/dist/tui/bless-engine.js"() {
39722
39817
  "use strict";
39723
39818
  init_render();
39724
39819
  init_dist2();
@@ -39849,7 +39944,7 @@ var init_bless_engine = __esm({
39849
39944
  }
39850
39945
  });
39851
39946
 
39852
- // ../packages/cli/dist/tui/dmn-engine.js
39947
+ // packages/cli/dist/tui/dmn-engine.js
39853
39948
  import { existsSync as existsSync37, readFileSync as readFileSync28, writeFileSync as writeFileSync16, mkdirSync as mkdirSync17, readdirSync as readdirSync12, unlinkSync as unlinkSync6 } from "node:fs";
39854
39949
  import { join as join47, basename as basename13 } from "node:path";
39855
39950
  function buildDMNGatherPrompt(recentTaskSummaries, dueReminders, attentionItems, memoryTopics, capabilities, competence, reflectionBuffer) {
@@ -39937,7 +40032,7 @@ function renderDMNResting(consecutiveNulls) {
39937
40032
  }
39938
40033
  var DMNEngine;
39939
40034
  var init_dmn_engine = __esm({
39940
- "../packages/cli/dist/tui/dmn-engine.js"() {
40035
+ "packages/cli/dist/tui/dmn-engine.js"() {
39941
40036
  "use strict";
39942
40037
  init_dist5();
39943
40038
  init_dist2();
@@ -40609,7 +40704,7 @@ OUTPUT: Call task_complete with JSON:
40609
40704
  }
40610
40705
  });
40611
40706
 
40612
- // ../packages/cli/dist/tui/snr-engine.js
40707
+ // packages/cli/dist/tui/snr-engine.js
40613
40708
  import { existsSync as existsSync38, readdirSync as readdirSync13, readFileSync as readFileSync29 } from "node:fs";
40614
40709
  import { join as join48, basename as basename14 } from "node:path";
40615
40710
  function computeDPrime(signalScores, noiseScores) {
@@ -40669,7 +40764,7 @@ function adaptTool4(tool) {
40669
40764
  }
40670
40765
  var SNREngine;
40671
40766
  var init_snr_engine = __esm({
40672
- "../packages/cli/dist/tui/snr-engine.js"() {
40767
+ "packages/cli/dist/tui/snr-engine.js"() {
40673
40768
  "use strict";
40674
40769
  init_dist5();
40675
40770
  init_dist2();
@@ -40944,7 +41039,7 @@ Call task_complete with the JSON array when done.`, onEvent)
40944
41039
  }
40945
41040
  });
40946
41041
 
40947
- // ../packages/cli/dist/tui/emotion-engine.js
41042
+ // packages/cli/dist/tui/emotion-engine.js
40948
41043
  function labelFromCoordinates(valence, arousal) {
40949
41044
  if (valence > 0.6 && arousal > 0.6)
40950
41045
  return { label: "exhilarated", emoji: "\u{1F929}" };
@@ -41005,7 +41100,7 @@ function clamp(value, min, max) {
41005
41100
  }
41006
41101
  var BASELINE_VALENCE, BASELINE_AROUSAL, DECAY_HALF_LIFE_MS, LABEL_UPDATE_INTERVAL_MS, EXCITEMENT_THRESHOLD, DISTRESS_THRESHOLD, OUTREACH_COOLDOWN_MS, OUTREACH_MIN_STREAK, LABEL_REGEN_THRESHOLD, EmotionEngine;
41007
41102
  var init_emotion_engine = __esm({
41008
- "../packages/cli/dist/tui/emotion-engine.js"() {
41103
+ "packages/cli/dist/tui/emotion-engine.js"() {
41009
41104
  "use strict";
41010
41105
  init_dist5();
41011
41106
  init_promptLoader3();
@@ -41351,7 +41446,7 @@ var init_emotion_engine = __esm({
41351
41446
  }
41352
41447
  });
41353
41448
 
41354
- // ../packages/cli/dist/tui/tool-policy.js
41449
+ // packages/cli/dist/tui/tool-policy.js
41355
41450
  function getDefaultPolicy(context) {
41356
41451
  switch (context) {
41357
41452
  case "terminal":
@@ -41401,7 +41496,7 @@ function applyToolPolicy(tools, context, userConfig) {
41401
41496
  }
41402
41497
  var SAFE_PUBLIC_TOOLS, SAFE_GROUP_ADMIN_TOOLS;
41403
41498
  var init_tool_policy = __esm({
41404
- "../packages/cli/dist/tui/tool-policy.js"() {
41499
+ "packages/cli/dist/tui/tool-policy.js"() {
41405
41500
  "use strict";
41406
41501
  SAFE_PUBLIC_TOOLS = /* @__PURE__ */ new Set([
41407
41502
  "memory_read",
@@ -41430,7 +41525,7 @@ var init_tool_policy = __esm({
41430
41525
  }
41431
41526
  });
41432
41527
 
41433
- // ../packages/cli/dist/tui/telegram-bridge.js
41528
+ // packages/cli/dist/tui/telegram-bridge.js
41434
41529
  import { mkdirSync as mkdirSync18, existsSync as existsSync39, unlinkSync as unlinkSync7, readdirSync as readdirSync14, statSync as statSync10 } from "node:fs";
41435
41530
  import { join as join49, resolve as resolve27 } from "node:path";
41436
41531
  import { writeFile as writeFileAsync } from "node:fs/promises";
@@ -41567,7 +41662,7 @@ function renderTelegramSubAgentError(username, error) {
41567
41662
  }
41568
41663
  var TELEGRAM_SAFETY_PROMPT, ADMIN_DM_PROMPT, ADMIN_GROUP_PROMPT, GROUP_REPLY_DISCRETION_PROMPT, MEDIA_CACHE_TTL_MS, TelegramBridge;
41569
41664
  var init_telegram_bridge = __esm({
41570
- "../packages/cli/dist/tui/telegram-bridge.js"() {
41665
+ "packages/cli/dist/tui/telegram-bridge.js"() {
41571
41666
  "use strict";
41572
41667
  init_dist5();
41573
41668
  init_dist2();
@@ -42606,7 +42701,7 @@ ${caption}\r
42606
42701
  }
42607
42702
  });
42608
42703
 
42609
- // ../packages/cli/dist/tui/braille-spinner.js
42704
+ // packages/cli/dist/tui/braille-spinner.js
42610
42705
  function buildColorRamp(ramp) {
42611
42706
  return [...ramp, ...ramp.slice(1, -1).reverse()];
42612
42707
  }
@@ -42648,7 +42743,7 @@ function themeForTool(toolName) {
42648
42743
  }
42649
42744
  var DENSITY, WAVE, THEME_DEFAULT, THEME_FILE, THEME_SHELL, THEME_WEB, THEME_SEARCH, THEME_MEMORY, THEME_SKILL, THEME_TOOL_CREATE, THEME_DREAM, DEFAULT_METRICS, BrailleSpinner;
42650
42745
  var init_braille_spinner = __esm({
42651
- "../packages/cli/dist/tui/braille-spinner.js"() {
42746
+ "packages/cli/dist/tui/braille-spinner.js"() {
42652
42747
  "use strict";
42653
42748
  DENSITY = [
42654
42749
  "\u2800",
@@ -42845,10 +42940,10 @@ var init_braille_spinner = __esm({
42845
42940
  }
42846
42941
  });
42847
42942
 
42848
- // ../packages/cli/dist/tui/status-bar.js
42943
+ // packages/cli/dist/tui/status-bar.js
42849
42944
  var EXPERT_TOOL_BASELINES, CONTEXT_SWITCH_OVERHEAD, TURN_PLANNING_OVERHEAD, DEFAULT_TOOL_BASELINE, CODE_READ_CHARS_PER_SEC, PROSE_READ_CHARS_PER_SEC, MIN_CONTENT_FOR_READING, CODE_CONTENT_TOOLS, PROSE_CONTENT_TOOLS, HumanSpeedTracker, StatusBar;
42850
42945
  var init_status_bar = __esm({
42851
- "../packages/cli/dist/tui/status-bar.js"() {
42946
+ "packages/cli/dist/tui/status-bar.js"() {
42852
42947
  "use strict";
42853
42948
  init_render();
42854
42949
  init_braille_spinner();
@@ -44076,7 +44171,7 @@ var init_status_bar = __esm({
44076
44171
  }
44077
44172
  });
44078
44173
 
44079
- // ../packages/cli/dist/tui/interactive.js
44174
+ // packages/cli/dist/tui/interactive.js
44080
44175
  import * as readline2 from "node:readline";
44081
44176
  import { Writable } from "node:stream";
44082
44177
  import { cwd } from "node:process";
@@ -44437,11 +44532,15 @@ function startTask(task, config, repoRoot, voice, stream, taskStores, bruteForce
44437
44532
  }
44438
44533
  try {
44439
44534
  const endpointHistory = loadUsageHistory("endpoint", repoRoot);
44535
+ const primaryIsNexus = config.backendType === "nexus";
44440
44536
  const fallbackEndpoints = [];
44441
44537
  for (const entry of endpointHistory) {
44442
44538
  if (entry.value === config.backendUrl)
44443
44539
  continue;
44444
44540
  const bt = entry.meta?.backendType ?? "ollama";
44541
+ const entryIsNexus = bt === "nexus";
44542
+ if (primaryIsNexus !== entryIsNexus)
44543
+ continue;
44445
44544
  const ep = {
44446
44545
  url: entry.value,
44447
44546
  backendType: bt,
@@ -45104,7 +45203,8 @@ async function startInteractive(config, repoPath) {
45104
45203
  autoUpdateTimer.unref();
45105
45204
  const voiceEngine = new VoiceEngine();
45106
45205
  let voiceSession = null;
45107
- let exposeGateway = null;
45206
+ let tunnelGateway = null;
45207
+ let p2pGateway = null;
45108
45208
  let peerMesh = null;
45109
45209
  let inferenceRouter = null;
45110
45210
  const secretVault = new SecretVault(join50(repoRoot, ".oa", "vault.enc"));
@@ -45456,7 +45556,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
45456
45556
  onError: (msg) => writeContent(() => renderWarning(msg))
45457
45557
  });
45458
45558
  if (reconnected) {
45459
- exposeGateway = reconnected;
45559
+ tunnelGateway = reconnected;
45460
45560
  reconnected.on("stats", (stats) => {
45461
45561
  statusBar.setExposeStatus({
45462
45562
  status: stats.status,
@@ -45471,6 +45571,28 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
45471
45571
  }
45472
45572
  } catch {
45473
45573
  }
45574
+ try {
45575
+ const oaDir = join50(repoRoot, ".oa");
45576
+ const reconnectedP2P = await ExposeP2PGateway.checkAndReconnect(oaDir, new NexusTool(repoRoot), {
45577
+ onInfo: (msg) => writeContent(() => renderInfo(msg)),
45578
+ onError: (msg) => writeContent(() => renderWarning(msg))
45579
+ });
45580
+ if (reconnectedP2P) {
45581
+ p2pGateway = reconnectedP2P;
45582
+ reconnectedP2P.on("stats", (stats) => {
45583
+ statusBar.setExposeStatus({
45584
+ status: stats.status,
45585
+ totalRequests: stats.totalRequests,
45586
+ activeConnections: stats.activeConnections,
45587
+ modelUsage: stats.modelUsage
45588
+ });
45589
+ });
45590
+ writeContent(() => {
45591
+ renderInfo(`Reconnected to existing P2P expose: ${reconnectedP2P.peerId}`);
45592
+ });
45593
+ }
45594
+ } catch {
45595
+ }
45474
45596
  try {
45475
45597
  const isPeer = currentConfig.backendUrl.startsWith("peer://");
45476
45598
  const isRemote = !currentConfig.backendUrl.includes("127.0.0.1") && !currentConfig.backendUrl.includes("localhost") && !isPeer;
@@ -46123,14 +46245,18 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
46123
46245
  }
46124
46246
  const effectiveTransport = transport ?? "libp2p";
46125
46247
  if (effectiveTransport === "libp2p") {
46248
+ if (p2pGateway?.isActive) {
46249
+ await p2pGateway.stop();
46250
+ p2pGateway = null;
46251
+ }
46126
46252
  const nexusTool = new NexusTool(repoRoot);
46127
- const p2pGateway = new ExposeP2PGateway({
46253
+ const newP2P = new ExposeP2PGateway({
46128
46254
  kind,
46129
46255
  targetUrl,
46130
46256
  authKey,
46131
46257
  stateDir: join50(repoRoot, ".oa")
46132
46258
  }, nexusTool);
46133
- p2pGateway.on("stats", (stats) => {
46259
+ newP2P.on("stats", (stats) => {
46134
46260
  statusBar.setExposeStatus({
46135
46261
  status: stats.status,
46136
46262
  totalRequests: stats.totalRequests,
@@ -46139,10 +46265,10 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
46139
46265
  });
46140
46266
  });
46141
46267
  try {
46142
- const peerId = await p2pGateway.start();
46143
- exposeGateway = p2pGateway;
46268
+ const peerId = await newP2P.start();
46269
+ p2pGateway = newP2P;
46144
46270
  writeContent(() => {
46145
- process.stdout.write("\n" + p2pGateway.formatConnectionInfo() + "\n\n");
46271
+ process.stdout.write("\n" + newP2P.formatConnectionInfo() + "\n\n");
46146
46272
  });
46147
46273
  return peerId;
46148
46274
  } catch (err) {
@@ -46156,8 +46282,12 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
46156
46282
  }
46157
46283
  }
46158
46284
  }
46159
- const tunnelGateway = new ExposeGateway({ kind, targetUrl, authKey, fullAccess, stateDir: join50(repoRoot, ".oa") });
46160
- tunnelGateway.on("stats", (stats) => {
46285
+ if (tunnelGateway?.isActive) {
46286
+ await tunnelGateway.stop();
46287
+ tunnelGateway = null;
46288
+ }
46289
+ const newTunnel = new ExposeGateway({ kind, targetUrl, authKey, fullAccess, stateDir: join50(repoRoot, ".oa") });
46290
+ newTunnel.on("stats", (stats) => {
46161
46291
  statusBar.setExposeStatus({
46162
46292
  status: stats.status,
46163
46293
  totalRequests: stats.totalRequests,
@@ -46166,41 +46296,67 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
46166
46296
  });
46167
46297
  });
46168
46298
  try {
46169
- const url = await tunnelGateway.start();
46170
- exposeGateway = tunnelGateway;
46299
+ const url = await newTunnel.start();
46300
+ tunnelGateway = newTunnel;
46171
46301
  writeContent(() => {
46172
- process.stdout.write("\n" + tunnelGateway.formatConnectionInfo() + "\n\n");
46302
+ process.stdout.write("\n" + newTunnel.formatConnectionInfo() + "\n\n");
46173
46303
  });
46174
46304
  return url;
46175
46305
  } catch (err) {
46176
- exposeGateway = null;
46177
46306
  throw err;
46178
46307
  }
46179
46308
  },
46180
- async exposeStop() {
46181
- if (exposeGateway) {
46182
- await exposeGateway.stop();
46309
+ async exposeStop(which) {
46310
+ if (!which || which === "tunnel") {
46311
+ if (tunnelGateway) {
46312
+ await tunnelGateway.stop();
46313
+ tunnelGateway = null;
46314
+ }
46315
+ }
46316
+ if (!which || which === "libp2p") {
46317
+ if (p2pGateway) {
46318
+ await p2pGateway.stop();
46319
+ p2pGateway = null;
46320
+ }
46321
+ }
46322
+ if (!tunnelGateway?.isActive && !p2pGateway?.isActive) {
46183
46323
  statusBar.clearExposeStatus();
46184
- exposeGateway = null;
46185
46324
  }
46186
46325
  },
46187
46326
  isExposeActive() {
46188
- return exposeGateway?.isActive ?? false;
46327
+ return (tunnelGateway?.isActive ?? false) || (p2pGateway?.isActive ?? false);
46189
46328
  },
46190
46329
  getExposeInfo() {
46191
- if (!exposeGateway)
46330
+ const infos = [];
46331
+ if (tunnelGateway?.isActive) {
46332
+ infos.push({
46333
+ tunnelUrl: tunnelGateway.tunnelUrl,
46334
+ authKey: tunnelGateway.authKey,
46335
+ stats: tunnelGateway.formatStats(),
46336
+ transport: "tunnel"
46337
+ });
46338
+ }
46339
+ if (p2pGateway?.isActive) {
46340
+ infos.push({
46341
+ tunnelUrl: p2pGateway.peerId,
46342
+ authKey: p2pGateway.authKey,
46343
+ stats: p2pGateway.formatStats(),
46344
+ transport: "libp2p"
46345
+ });
46346
+ }
46347
+ if (infos.length === 0)
46192
46348
  return null;
46193
- if (exposeGateway instanceof ExposeP2PGateway) {
46349
+ if (infos.length === 2) {
46194
46350
  return {
46195
- tunnelUrl: exposeGateway.peerId,
46196
- authKey: exposeGateway.authKey,
46197
- stats: exposeGateway.formatStats()
46351
+ tunnelUrl: infos[0].tunnelUrl,
46352
+ authKey: infos[0].authKey,
46353
+ stats: infos[0].stats + "\n\n" + infos[1].stats
46198
46354
  };
46199
46355
  }
46200
46356
  return {
46201
- tunnelUrl: exposeGateway.tunnelUrl,
46202
- authKey: exposeGateway.authKey,
46203
- stats: exposeGateway.formatStats()
46357
+ tunnelUrl: infos[0].tunnelUrl,
46358
+ authKey: infos[0].authKey,
46359
+ stats: infos[0].stats
46204
46360
  };
46205
46361
  },
46206
46362
  // ── Nexus daemon connect ──────────────────────────────────────────────
@@ -47143,7 +47299,7 @@ async function runWithTUI(task, config, repoPath) {
47143
47299
  }
47144
47300
  var taskManager;
47145
47301
  var init_interactive = __esm({
47146
- "../packages/cli/dist/tui/interactive.js"() {
47302
+ "packages/cli/dist/tui/interactive.js"() {
47147
47303
  "use strict";
47148
47304
  init_dist5();
47149
47305
  init_dist5();
@@ -47180,7 +47336,7 @@ var init_interactive = __esm({
47180
47336
  }
47181
47337
  });
47182
47338
 
47183
- // ../packages/cli/dist/commands/run.js
47339
+ // packages/cli/dist/commands/run.js
47184
47340
  var run_exports = {};
47185
47341
  __export(run_exports, {
47186
47342
  runCommand: () => runCommand
@@ -47200,13 +47356,13 @@ async function runCommand(opts, config) {
47200
47356
  }
47201
47357
  }
47202
47358
  var init_run = __esm({
47203
- "../packages/cli/dist/commands/run.js"() {
47359
+ "packages/cli/dist/commands/run.js"() {
47204
47360
  "use strict";
47205
47361
  init_interactive();
47206
47362
  }
47207
47363
  });
47208
47364
 
47209
- // ../packages/indexer/dist/codebase-indexer.js
47365
+ // packages/indexer/dist/codebase-indexer.js
47210
47366
  import { glob } from "glob";
47211
47367
  import ignore from "ignore";
47212
47368
  import { readFile as readFile16, stat as stat4 } from "node:fs/promises";
@@ -47214,7 +47370,7 @@ import { createHash as createHash4 } from "node:crypto";
47214
47370
  import { join as join51, relative as relative3, extname as extname10, basename as basename15 } from "node:path";
47215
47371
  var DEFAULT_EXCLUDE, LANGUAGE_MAP, CodebaseIndexer;
47216
47372
  var init_codebase_indexer = __esm({
47217
- "../packages/indexer/dist/codebase-indexer.js"() {
47373
+ "packages/indexer/dist/codebase-indexer.js"() {
47218
47374
  "use strict";
47219
47375
  DEFAULT_EXCLUDE = [
47220
47376
  "node_modules",
@@ -47332,25 +47488,25 @@ var init_codebase_indexer = __esm({
47332
47488
  }
47333
47489
  });
47334
47490
 
47335
- // ../packages/indexer/dist/repoScanner.js
47491
+ // packages/indexer/dist/repoScanner.js
47336
47492
  import ignore2 from "ignore";
47337
47493
  var init_repoScanner = __esm({
47338
- "../packages/indexer/dist/repoScanner.js"() {
47494
+ "packages/indexer/dist/repoScanner.js"() {
47339
47495
  "use strict";
47340
47496
  }
47341
47497
  });
47342
47498
 
47343
- // ../packages/indexer/dist/symbolExtractor.js
47499
+ // packages/indexer/dist/symbolExtractor.js
47344
47500
  var init_symbolExtractor = __esm({
47345
- "../packages/indexer/dist/symbolExtractor.js"() {
47501
+ "packages/indexer/dist/symbolExtractor.js"() {
47346
47502
  "use strict";
47347
47503
  }
47348
47504
  });
47349
47505
 
47350
- // ../packages/indexer/dist/graphBuilder.js
47506
+ // packages/indexer/dist/graphBuilder.js
47351
47507
  var TS_EXTENSIONS, JS_EXTENSIONS, ALL_EXTENSIONS;
47352
47508
  var init_graphBuilder = __esm({
47353
- "../packages/indexer/dist/graphBuilder.js"() {
47509
+ "packages/indexer/dist/graphBuilder.js"() {
47354
47510
  "use strict";
47355
47511
  TS_EXTENSIONS = [".ts", ".tsx", ".mts", ".cts"];
47356
47512
  JS_EXTENSIONS = [".js", ".jsx", ".mjs", ".cjs"];
@@ -47358,30 +47514,30 @@ var init_graphBuilder = __esm({
47358
47514
  }
47359
47515
  });
47360
47516
 
47361
- // ../packages/indexer/dist/fileSummarizer.js
47517
+ // packages/indexer/dist/fileSummarizer.js
47362
47518
  var init_fileSummarizer = __esm({
47363
- "../packages/indexer/dist/fileSummarizer.js"() {
47519
+ "packages/indexer/dist/fileSummarizer.js"() {
47364
47520
  "use strict";
47365
47521
  }
47366
47522
  });
47367
47523
 
47368
- // ../packages/indexer/dist/embeddings.js
47524
+ // packages/indexer/dist/embeddings.js
47369
47525
  var init_embeddings = __esm({
47370
- "../packages/indexer/dist/embeddings.js"() {
47526
+ "packages/indexer/dist/embeddings.js"() {
47371
47527
  "use strict";
47372
47528
  }
47373
47529
  });
47374
47530
 
47375
- // ../packages/indexer/dist/ollamaEmbeddings.js
47531
+ // packages/indexer/dist/ollamaEmbeddings.js
47376
47532
  var init_ollamaEmbeddings = __esm({
47377
- "../packages/indexer/dist/ollamaEmbeddings.js"() {
47533
+ "packages/indexer/dist/ollamaEmbeddings.js"() {
47378
47534
  "use strict";
47379
47535
  }
47380
47536
  });
47381
47537
 
47382
- // ../packages/indexer/dist/index.js
47538
+ // packages/indexer/dist/index.js
47383
47539
  var init_dist8 = __esm({
47384
- "../packages/indexer/dist/index.js"() {
47540
+ "packages/indexer/dist/index.js"() {
47385
47541
  "use strict";
47386
47542
  init_codebase_indexer();
47387
47543
  init_repoScanner();
@@ -47393,7 +47549,7 @@ var init_dist8 = __esm({
47393
47549
  }
47394
47550
  });
47395
47551
 
47396
- // ../packages/cli/dist/commands/index-repo.js
47552
+ // packages/cli/dist/commands/index-repo.js
47397
47553
  var index_repo_exports = {};
47398
47554
  __export(index_repo_exports, {
47399
47555
  indexRepoCommand: () => indexRepoCommand
@@ -47486,7 +47642,7 @@ async function indexRepoCommand(opts, _config) {
47486
47642
  printSuccess("Repository indexed successfully");
47487
47643
  }
47488
47644
  var init_index_repo = __esm({
47489
- "../packages/cli/dist/commands/index-repo.js"() {
47645
+ "packages/cli/dist/commands/index-repo.js"() {
47490
47646
  "use strict";
47491
47647
  init_dist8();
47492
47648
  init_spinner();
@@ -47494,7 +47650,7 @@ var init_index_repo = __esm({
47494
47650
  }
47495
47651
  });
47496
47652
 
47497
- // ../packages/cli/dist/commands/status.js
47653
+ // packages/cli/dist/commands/status.js
47498
47654
  var status_exports = {};
47499
47655
  __export(status_exports, {
47500
47656
  statusCommand: () => statusCommand
@@ -47644,7 +47800,7 @@ async function statusVllm(opts, config) {
47644
47800
  printSuccess("vLLM backend is operational");
47645
47801
  }
47646
47802
  var init_status = __esm({
47647
- "../packages/cli/dist/commands/status.js"() {
47803
+ "packages/cli/dist/commands/status.js"() {
47648
47804
  "use strict";
47649
47805
  init_dist();
47650
47806
  init_spinner();
@@ -47652,7 +47808,7 @@ var init_status = __esm({
47652
47808
  }
47653
47809
  });
47654
47810
 
47655
- // ../packages/cli/dist/commands/config.js
47811
+ // packages/cli/dist/commands/config.js
47656
47812
  var config_exports = {};
47657
47813
  __export(config_exports, {
47658
47814
  configCommand: () => configCommand
@@ -47827,7 +47983,7 @@ function handleKeys() {
47827
47983
  }
47828
47984
  var CONFIG_KEYS, SENSITIVE_KEYS, INT_KEYS, BOOL_KEYS, ENUM_KEYS;
47829
47985
  var init_config3 = __esm({
47830
- "../packages/cli/dist/commands/config.js"() {
47986
+ "packages/cli/dist/commands/config.js"() {
47831
47987
  "use strict";
47832
47988
  init_config();
47833
47989
  init_oa_directory();
@@ -47874,7 +48030,7 @@ var init_config3 = __esm({
47874
48030
  }
47875
48031
  });
47876
48032
 
47877
- // ../packages/cli/dist/commands/serve.js
48033
+ // packages/cli/dist/commands/serve.js
47878
48034
  var serve_exports = {};
47879
48035
  __export(serve_exports, {
47880
48036
  serveCommand: () => serveCommand
@@ -48024,14 +48180,14 @@ async function runVllmServer(args, verbose) {
48024
48180
  });
48025
48181
  }
48026
48182
  var init_serve = __esm({
48027
- "../packages/cli/dist/commands/serve.js"() {
48183
+ "packages/cli/dist/commands/serve.js"() {
48028
48184
  "use strict";
48029
48185
  init_dist();
48030
48186
  init_output();
48031
48187
  }
48032
48188
  });
48033
48189
 
48034
- // ../packages/cli/dist/commands/eval.js
48190
+ // packages/cli/dist/commands/eval.js
48035
48191
  var eval_exports = {};
48036
48192
  __export(eval_exports, {
48037
48193
  evalCommand: () => evalCommand
@@ -48170,7 +48326,7 @@ function createTempEvalRepo() {
48170
48326
  }
48171
48327
  var BASIC_SUITE, FULL_SUITE, SUITES;
48172
48328
  var init_eval = __esm({
48173
- "../packages/cli/dist/commands/eval.js"() {
48329
+ "packages/cli/dist/commands/eval.js"() {
48174
48330
  "use strict";
48175
48331
  init_dist5();
48176
48332
  init_dist();
@@ -48218,7 +48374,7 @@ var init_eval = __esm({
48218
48374
  }
48219
48375
  });
48220
48376
 
48221
- // ../packages/cli/dist/index.js
48377
+ // packages/cli/dist/index.js
48222
48378
  init_config();
48223
48379
  init_output();
48224
48380
  init_updater();
@@ -48227,7 +48383,7 @@ import { createRequire as createRequire3 } from "node:module";
48227
48383
  import { fileURLToPath as fileURLToPath13 } from "node:url";
48228
48384
  import { dirname as dirname19, join as join54 } from "node:path";
48229
48385
 
48230
- // ../packages/cli/dist/cli.js
48386
+ // packages/cli/dist/cli.js
48231
48387
  import { createInterface } from "node:readline";
48232
48388
  function createCli(options) {
48233
48389
  return {
@@ -48266,10 +48422,10 @@ function createCli(options) {
48266
48422
  };
48267
48423
  }
48268
48424
 
48269
- // ../packages/cli/dist/args.js
48425
+ // packages/cli/dist/args.js
48270
48426
  import { parseArgs as nodeParseArgs } from "node:util";
48271
48427
 
48272
- // ../packages/cli/dist/types.js
48428
+ // packages/cli/dist/types.js
48273
48429
  var DEFAULT_OPTIONS = {
48274
48430
  model: "qwen-2.5-coder-32b",
48275
48431
  backendUrl: "http://localhost:8000/v1",
@@ -48279,7 +48435,7 @@ var DEFAULT_OPTIONS = {
48279
48435
  verbose: false
48280
48436
  };
48281
48437
 
48282
- // ../packages/cli/dist/args.js
48438
+ // packages/cli/dist/args.js
48283
48439
  function parseArgs(argv) {
48284
48440
  const { values } = nodeParseArgs({
48285
48441
  args: argv.slice(2),
@@ -48325,7 +48481,7 @@ Options:
48325
48481
  console.log(help.trim());
48326
48482
  }
48327
48483
 
48328
- // ../packages/cli/dist/index.js
48484
+ // packages/cli/dist/index.js
48329
48485
  init_config();
48330
48486
  init_spinner();
48331
48487
  init_output();