reasonix 0.46.1 → 0.47.0

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 (131) hide show
  1. package/README.md +62 -13
  2. package/README.zh-CN.md +52 -10
  3. package/dashboard/dist/app.js +217 -60
  4. package/dashboard/dist/app.js.map +1 -1
  5. package/dist/cli/{acp-LKJU5DZX.js → acp-QK3DMC53.js} +22 -22
  6. package/dist/cli/chat-VV5UWY4V.js +51 -0
  7. package/dist/cli/{chunk-DGA5QYFM.js → chunk-24A7FHGJ.js} +42 -13
  8. package/dist/cli/chunk-24A7FHGJ.js.map +1 -0
  9. package/dist/cli/{chunk-K3AIFMI6.js → chunk-6J6BSUCR.js} +2 -2
  10. package/dist/cli/{chunk-C72TNHDE.js → chunk-BWYVFFKR.js} +2 -2
  11. package/dist/cli/{chunk-EAOL43HB.js → chunk-BYYVYJDX.js} +3 -3
  12. package/dist/cli/{chunk-HNXDZGC6.js → chunk-CI2PF5QX.js} +2 -2
  13. package/dist/cli/{chunk-JVQT5IYP.js → chunk-COWPEX54.js} +19 -9
  14. package/dist/cli/chunk-COWPEX54.js.map +1 -0
  15. package/dist/cli/{chunk-IYQ325V7.js → chunk-E5WCLUIU.js} +2 -2
  16. package/dist/cli/{chunk-YRLC2EDF.js → chunk-EQATK2L2.js} +2 -2
  17. package/dist/cli/{chunk-R2ASNSEO.js → chunk-FDKOUJKZ.js} +8 -8
  18. package/dist/cli/{chunk-TEUDEGX2.js → chunk-FY4S7TJZ.js} +19 -5
  19. package/dist/cli/chunk-FY4S7TJZ.js.map +1 -0
  20. package/dist/cli/{chunk-JVFEJAJX.js → chunk-GDKB2PPK.js} +2 -2
  21. package/dist/cli/{chunk-WQ6ZRDQM.js → chunk-HIYTRCSW.js} +16 -12
  22. package/dist/cli/chunk-HIYTRCSW.js.map +1 -0
  23. package/dist/cli/{chunk-ZOQHVQON.js → chunk-ICAFSZHS.js} +307 -30
  24. package/dist/cli/chunk-ICAFSZHS.js.map +1 -0
  25. package/dist/cli/{chunk-SPXN5JIT.js → chunk-ICSYGIPN.js} +1386 -1021
  26. package/dist/cli/chunk-ICSYGIPN.js.map +1 -0
  27. package/dist/cli/{chunk-XPAUNFOL.js → chunk-K6GUKSXH.js} +3 -2
  28. package/dist/cli/chunk-K6GUKSXH.js.map +1 -0
  29. package/dist/cli/{chunk-6VANO7KB.js → chunk-KDRUEXII.js} +147 -20
  30. package/dist/cli/chunk-KDRUEXII.js.map +1 -0
  31. package/dist/cli/{chunk-NCBP5D6E.js → chunk-LBLR4CUZ.js} +2 -2
  32. package/dist/cli/{chunk-2425HK6U.js → chunk-LGEKVMMV.js} +7 -2
  33. package/dist/cli/{chunk-2425HK6U.js.map → chunk-LGEKVMMV.js.map} +1 -1
  34. package/dist/cli/{chunk-7SGGXNB2.js → chunk-OJVITDGB.js} +2 -2
  35. package/dist/cli/{chunk-SE7C5ZSI.js → chunk-QVDWH2A2.js} +3 -3
  36. package/dist/cli/{chunk-WRONKNIH.js → chunk-QVUFWDD2.js} +2 -2
  37. package/dist/cli/{chunk-3AAG2CUT.js → chunk-R6GQKKBW.js} +2 -2
  38. package/dist/cli/{chunk-E7TAHQ4A.js → chunk-RRXUIPWG.js} +19 -18
  39. package/dist/cli/chunk-RRXUIPWG.js.map +1 -0
  40. package/dist/cli/{chunk-CXVWUPA3.js → chunk-TKVXTQ3T.js} +26 -26
  41. package/dist/cli/chunk-TKVXTQ3T.js.map +1 -0
  42. package/dist/cli/{chunk-DHRVZJ2D.js → chunk-UDVFBEXC.js} +3 -3
  43. package/dist/cli/{chunk-7YW6TPXK.js → chunk-VC2CQA5D.js} +9 -9
  44. package/dist/cli/{chunk-M4E5JK6S.js → chunk-VJMBISEI.js} +2 -2
  45. package/dist/cli/{chunk-TDSBASOF.js → chunk-VKYSZKH2.js} +2 -2
  46. package/dist/cli/{chunk-7LOJS3LV.js → chunk-VMUUFWFF.js} +2 -2
  47. package/dist/cli/{chunk-MIIZJD5O.js → chunk-VNQGCA3Q.js} +2 -2
  48. package/dist/cli/{chunk-2AASOSD5.js → chunk-WF7TPVZM.js} +2 -2
  49. package/dist/cli/{chunk-JLQDNLZF.js → chunk-YDPLF7XR.js} +26 -14
  50. package/dist/cli/chunk-YDPLF7XR.js.map +1 -0
  51. package/dist/cli/{code-2JIHL5M2.js → code-C24TUAE5.js} +39 -34
  52. package/dist/cli/code-C24TUAE5.js.map +1 -0
  53. package/dist/cli/{commands-OPT5AJNH.js → commands-RR3GIYOK.js} +4 -4
  54. package/dist/cli/{commit-KA37H6GM.js → commit-FSHPIINM.js} +3 -3
  55. package/dist/cli/{desktop-5ONTRU3C.js → desktop-7NCHPEFB.js} +263 -36
  56. package/dist/cli/desktop-7NCHPEFB.js.map +1 -0
  57. package/dist/cli/{diff-SOIA7AKH.js → diff-RAAHHLHV.js} +8 -8
  58. package/dist/cli/{doctor-RCUP4XRV.js → doctor-PKVQIXRT.js} +9 -9
  59. package/dist/cli/{events-6KHITNX4.js → events-VRYXOSKI.js} +3 -3
  60. package/dist/cli/index.js +81 -40
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli/{mcp-JP5OWD6R.js → mcp-CRJ26PP4.js} +2 -2
  63. package/dist/cli/{mcp-browse-ONCJJPJN.js → mcp-browse-QPAOWZOP.js} +2 -2
  64. package/dist/cli/{mcp-inspect-TPLHW5JA.js → mcp-inspect-CVCLABRS.js} +4 -4
  65. package/dist/cli/{prompt-RJDNCQAP.js → prompt-SKYXERSI.js} +4 -4
  66. package/dist/cli/{prune-sessions-MKEATRVL.js → prune-sessions-SEWX7GP6.js} +2 -2
  67. package/dist/cli/{replay-4NILJG4U.js → replay-KPDW2ZMJ.js} +9 -9
  68. package/dist/cli/{run-WFGXB4SB.js → run-WIKDIXTG.js} +17 -17
  69. package/dist/cli/{server-5VFQP3PV.js → server-P6V2G3P6.js} +82 -34
  70. package/dist/cli/server-P6V2G3P6.js.map +1 -0
  71. package/dist/cli/{sessions-5XDJDALO.js → sessions-2NULRMSA.js} +15 -15
  72. package/dist/cli/{setup-F6XSWLRA.js → setup-Y5WDBQFL.js} +6 -6
  73. package/dist/cli/{stats-ALHBZICE.js → stats-T7BL2YOR.js} +6 -6
  74. package/dist/cli/{version-JVRAHBMM.js → version-3KWDNWLN.js} +15 -15
  75. package/dist/index.d.ts +31 -10
  76. package/dist/index.js +505 -66
  77. package/dist/index.js.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/cli/chat-W7LAWEN6.js +0 -51
  80. package/dist/cli/chunk-6VANO7KB.js.map +0 -1
  81. package/dist/cli/chunk-CXVWUPA3.js.map +0 -1
  82. package/dist/cli/chunk-DGA5QYFM.js.map +0 -1
  83. package/dist/cli/chunk-E7TAHQ4A.js.map +0 -1
  84. package/dist/cli/chunk-JLQDNLZF.js.map +0 -1
  85. package/dist/cli/chunk-JVQT5IYP.js.map +0 -1
  86. package/dist/cli/chunk-SPXN5JIT.js.map +0 -1
  87. package/dist/cli/chunk-TEUDEGX2.js.map +0 -1
  88. package/dist/cli/chunk-WQ6ZRDQM.js.map +0 -1
  89. package/dist/cli/chunk-XPAUNFOL.js.map +0 -1
  90. package/dist/cli/chunk-ZOQHVQON.js.map +0 -1
  91. package/dist/cli/code-2JIHL5M2.js.map +0 -1
  92. package/dist/cli/desktop-5ONTRU3C.js.map +0 -1
  93. package/dist/cli/server-5VFQP3PV.js.map +0 -1
  94. /package/dist/cli/{acp-LKJU5DZX.js.map → acp-QK3DMC53.js.map} +0 -0
  95. /package/dist/cli/{chat-W7LAWEN6.js.map → chat-VV5UWY4V.js.map} +0 -0
  96. /package/dist/cli/{chunk-K3AIFMI6.js.map → chunk-6J6BSUCR.js.map} +0 -0
  97. /package/dist/cli/{chunk-C72TNHDE.js.map → chunk-BWYVFFKR.js.map} +0 -0
  98. /package/dist/cli/{chunk-EAOL43HB.js.map → chunk-BYYVYJDX.js.map} +0 -0
  99. /package/dist/cli/{chunk-HNXDZGC6.js.map → chunk-CI2PF5QX.js.map} +0 -0
  100. /package/dist/cli/{chunk-IYQ325V7.js.map → chunk-E5WCLUIU.js.map} +0 -0
  101. /package/dist/cli/{chunk-YRLC2EDF.js.map → chunk-EQATK2L2.js.map} +0 -0
  102. /package/dist/cli/{chunk-R2ASNSEO.js.map → chunk-FDKOUJKZ.js.map} +0 -0
  103. /package/dist/cli/{chunk-JVFEJAJX.js.map → chunk-GDKB2PPK.js.map} +0 -0
  104. /package/dist/cli/{chunk-NCBP5D6E.js.map → chunk-LBLR4CUZ.js.map} +0 -0
  105. /package/dist/cli/{chunk-7SGGXNB2.js.map → chunk-OJVITDGB.js.map} +0 -0
  106. /package/dist/cli/{chunk-SE7C5ZSI.js.map → chunk-QVDWH2A2.js.map} +0 -0
  107. /package/dist/cli/{chunk-WRONKNIH.js.map → chunk-QVUFWDD2.js.map} +0 -0
  108. /package/dist/cli/{chunk-3AAG2CUT.js.map → chunk-R6GQKKBW.js.map} +0 -0
  109. /package/dist/cli/{chunk-DHRVZJ2D.js.map → chunk-UDVFBEXC.js.map} +0 -0
  110. /package/dist/cli/{chunk-7YW6TPXK.js.map → chunk-VC2CQA5D.js.map} +0 -0
  111. /package/dist/cli/{chunk-M4E5JK6S.js.map → chunk-VJMBISEI.js.map} +0 -0
  112. /package/dist/cli/{chunk-TDSBASOF.js.map → chunk-VKYSZKH2.js.map} +0 -0
  113. /package/dist/cli/{chunk-7LOJS3LV.js.map → chunk-VMUUFWFF.js.map} +0 -0
  114. /package/dist/cli/{chunk-MIIZJD5O.js.map → chunk-VNQGCA3Q.js.map} +0 -0
  115. /package/dist/cli/{chunk-2AASOSD5.js.map → chunk-WF7TPVZM.js.map} +0 -0
  116. /package/dist/cli/{commands-OPT5AJNH.js.map → commands-RR3GIYOK.js.map} +0 -0
  117. /package/dist/cli/{commit-KA37H6GM.js.map → commit-FSHPIINM.js.map} +0 -0
  118. /package/dist/cli/{diff-SOIA7AKH.js.map → diff-RAAHHLHV.js.map} +0 -0
  119. /package/dist/cli/{doctor-RCUP4XRV.js.map → doctor-PKVQIXRT.js.map} +0 -0
  120. /package/dist/cli/{events-6KHITNX4.js.map → events-VRYXOSKI.js.map} +0 -0
  121. /package/dist/cli/{mcp-JP5OWD6R.js.map → mcp-CRJ26PP4.js.map} +0 -0
  122. /package/dist/cli/{mcp-browse-ONCJJPJN.js.map → mcp-browse-QPAOWZOP.js.map} +0 -0
  123. /package/dist/cli/{mcp-inspect-TPLHW5JA.js.map → mcp-inspect-CVCLABRS.js.map} +0 -0
  124. /package/dist/cli/{prompt-RJDNCQAP.js.map → prompt-SKYXERSI.js.map} +0 -0
  125. /package/dist/cli/{prune-sessions-MKEATRVL.js.map → prune-sessions-SEWX7GP6.js.map} +0 -0
  126. /package/dist/cli/{replay-4NILJG4U.js.map → replay-KPDW2ZMJ.js.map} +0 -0
  127. /package/dist/cli/{run-WFGXB4SB.js.map → run-WIKDIXTG.js.map} +0 -0
  128. /package/dist/cli/{sessions-5XDJDALO.js.map → sessions-2NULRMSA.js.map} +0 -0
  129. /package/dist/cli/{setup-F6XSWLRA.js.map → setup-Y5WDBQFL.js.map} +0 -0
  130. /package/dist/cli/{stats-ALHBZICE.js.map → stats-T7BL2YOR.js.map} +0 -0
  131. /package/dist/cli/{version-JVRAHBMM.js.map → version-3KWDNWLN.js.map} +0 -0
@@ -2,65 +2,65 @@
2
2
  import { createRequire as __cr } from 'node:module'; if (typeof globalThis.require === 'undefined') { globalThis.require = __cr(import.meta.url); }
3
3
  import {
4
4
  buildCodeToolset
5
- } from "./chunk-7YW6TPXK.js";
5
+ } from "./chunk-VC2CQA5D.js";
6
6
  import {
7
7
  Eventizer,
8
8
  autoResolveVerdict
9
- } from "./chunk-HNXDZGC6.js";
9
+ } from "./chunk-CI2PF5QX.js";
10
10
  import {
11
11
  formatMcpLifecycleEvent,
12
12
  formatMcpSlowToast
13
- } from "./chunk-NCBP5D6E.js";
13
+ } from "./chunk-LBLR4CUZ.js";
14
14
  import {
15
15
  buildTransportFromSpec,
16
16
  preflightStdioSpec
17
- } from "./chunk-YRLC2EDF.js";
17
+ } from "./chunk-EQATK2L2.js";
18
18
  import {
19
19
  CacheFirstLoop,
20
20
  ImmutablePrefix,
21
21
  bridgeMcpTools
22
- } from "./chunk-ZOQHVQON.js";
23
- import "./chunk-TDSBASOF.js";
22
+ } from "./chunk-ICAFSZHS.js";
23
+ import "./chunk-VKYSZKH2.js";
24
24
  import {
25
25
  openTranscriptFile,
26
26
  recordFromLoopEvent,
27
27
  writeRecord
28
- } from "./chunk-EAOL43HB.js";
28
+ } from "./chunk-BYYVYJDX.js";
29
29
  import {
30
30
  McpClient
31
- } from "./chunk-WQ6ZRDQM.js";
31
+ } from "./chunk-HIYTRCSW.js";
32
32
  import {
33
33
  codeSystemPrompt
34
- } from "./chunk-DHRVZJ2D.js";
34
+ } from "./chunk-UDVFBEXC.js";
35
35
  import {
36
36
  canonicalPresetName,
37
37
  resolvePreset
38
- } from "./chunk-2425HK6U.js";
38
+ } from "./chunk-LGEKVMMV.js";
39
39
  import "./chunk-6OWJV3YW.js";
40
40
  import {
41
41
  DeepSeekClient
42
- } from "./chunk-MIIZJD5O.js";
42
+ } from "./chunk-VNQGCA3Q.js";
43
43
  import "./chunk-25T6CVUP.js";
44
44
  import {
45
45
  loadDotenv
46
46
  } from "./chunk-2UQP6H6T.js";
47
- import "./chunk-XPAUNFOL.js";
47
+ import "./chunk-K6GUKSXH.js";
48
48
  import {
49
49
  pauseGate
50
- } from "./chunk-JVFEJAJX.js";
51
- import "./chunk-TEUDEGX2.js";
50
+ } from "./chunk-GDKB2PPK.js";
51
+ import "./chunk-FY4S7TJZ.js";
52
52
  import "./chunk-PLHAZOLZ.js";
53
- import "./chunk-JLQDNLZF.js";
54
- import "./chunk-C72TNHDE.js";
53
+ import "./chunk-YDPLF7XR.js";
54
+ import "./chunk-BWYVFFKR.js";
55
55
  import "./chunk-S4XVGLRW.js";
56
56
  import {
57
57
  timestampSuffix
58
- } from "./chunk-E7TAHQ4A.js";
59
- import "./chunk-WRONKNIH.js";
60
- import "./chunk-M4E5JK6S.js";
58
+ } from "./chunk-RRXUIPWG.js";
59
+ import "./chunk-QVUFWDD2.js";
60
+ import "./chunk-VJMBISEI.js";
61
61
  import {
62
62
  t
63
- } from "./chunk-6VANO7KB.js";
63
+ } from "./chunk-KDRUEXII.js";
64
64
  import {
65
65
  loadApiKey,
66
66
  loadBaseUrl,
@@ -69,7 +69,7 @@ import {
69
69
  loadReasoningEffort,
70
70
  normalizeMcpConfig,
71
71
  readConfig
72
- } from "./chunk-DGA5QYFM.js";
72
+ } from "./chunk-24A7FHGJ.js";
73
73
  import {
74
74
  VERSION
75
75
  } from "./chunk-XXC2BYTV.js";
@@ -708,4 +708,4 @@ export {
708
708
  acpCommand,
709
709
  loadMcpServers
710
710
  };
711
- //# sourceMappingURL=acp-LKJU5DZX.js.map
711
+ //# sourceMappingURL=acp-QK3DMC53.js.map
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __cr } from 'node:module'; if (typeof globalThis.require === 'undefined') { globalThis.require = __cr(import.meta.url); }
3
+ import {
4
+ chatCommand
5
+ } from "./chunk-ICSYGIPN.js";
6
+ import "./chunk-TKVXTQ3T.js";
7
+ import "./chunk-JMBMLOBP.js";
8
+ import "./chunk-COWPEX54.js";
9
+ import "./chunk-CI2PF5QX.js";
10
+ import "./chunk-LBLR4CUZ.js";
11
+ import "./chunk-EQATK2L2.js";
12
+ import "./chunk-ZZM6QJ4W.js";
13
+ import "./chunk-ICAFSZHS.js";
14
+ import "./chunk-VKYSZKH2.js";
15
+ import "./chunk-BYYVYJDX.js";
16
+ import "./chunk-HIYTRCSW.js";
17
+ import "./chunk-UDVFBEXC.js";
18
+ import "./chunk-FEZK652I.js";
19
+ import "./chunk-6J6BSUCR.js";
20
+ import "./chunk-OJVITDGB.js";
21
+ import "./chunk-X53B3JIX.js";
22
+ import "./chunk-LGEKVMMV.js";
23
+ import "./chunk-FDKOUJKZ.js";
24
+ import "./chunk-5QCB62C4.js";
25
+ import "./chunk-6OWJV3YW.js";
26
+ import "./chunk-VNQGCA3Q.js";
27
+ import "./chunk-25T6CVUP.js";
28
+ import "./chunk-2UQP6H6T.js";
29
+ import "./chunk-QVDWH2A2.js";
30
+ import "./chunk-SZ5XES2N.js";
31
+ import "./chunk-WF7TPVZM.js";
32
+ import "./chunk-E5WCLUIU.js";
33
+ import "./chunk-XJXDHAES.js";
34
+ import "./chunk-GDKB2PPK.js";
35
+ import "./chunk-FY4S7TJZ.js";
36
+ import "./chunk-PLHAZOLZ.js";
37
+ import "./chunk-VMUUFWFF.js";
38
+ import "./chunk-YDPLF7XR.js";
39
+ import "./chunk-BWYVFFKR.js";
40
+ import "./chunk-S4XVGLRW.js";
41
+ import "./chunk-RRXUIPWG.js";
42
+ import "./chunk-QVUFWDD2.js";
43
+ import "./chunk-VJMBISEI.js";
44
+ import "./chunk-KDRUEXII.js";
45
+ import "./chunk-24A7FHGJ.js";
46
+ import "./chunk-XXC2BYTV.js";
47
+ import "./chunk-TUK7OWJA.js";
48
+ export {
49
+ chatCommand
50
+ };
51
+ //# sourceMappingURL=chat-VV5UWY4V.js.map
@@ -2397,9 +2397,16 @@ function loadMetasoApiKey(path = defaultConfigPath()) {
2397
2397
  if (cfg && typeof cfg === "string" && cfg.trim()) return cfg.trim();
2398
2398
  return DEFAULT_METASO_API_KEY;
2399
2399
  }
2400
+ function loadTavilyApiKey(path = defaultConfigPath()) {
2401
+ if (process.env.TAVILY_API_KEY) return process.env.TAVILY_API_KEY.trim();
2402
+ const cfg = readConfig(path).tavilyApiKey;
2403
+ if (cfg && typeof cfg === "string" && cfg.trim()) return cfg.trim();
2404
+ return void 0;
2405
+ }
2400
2406
  var DEFAULT_OLLAMA_URL = "http://localhost:11434";
2401
2407
  var DEFAULT_EMBED_MODEL = "nomic-embed-text";
2402
2408
  var DEFAULT_TIMEOUT_MS = 3e4;
2409
+ var DEFAULT_BATCH_SIZE = 10;
2403
2410
  function defaultConfigPath() {
2404
2411
  return join(homedir(), ".reasonix", "config.json");
2405
2412
  }
@@ -2424,7 +2431,9 @@ function loadLanguage(path = defaultConfigPath()) {
2424
2431
  return readConfig(path).lang;
2425
2432
  }
2426
2433
  function inferMcpTransport(cfg) {
2427
- if (cfg.transport) return cfg.transport;
2434
+ const declared = cfg.transport ?? cfg.type;
2435
+ if (declared === "http") return "streamable-http";
2436
+ if (declared) return declared;
2428
2437
  const url = cfg.url?.trim() ?? "";
2429
2438
  if (/^streamable\+https?:\/\//i.test(url)) return "streamable-http";
2430
2439
  if (/^https?:\/\//i.test(url)) return "sse";
@@ -2828,16 +2837,27 @@ function pushRecentWorkspace(dir, path = defaultConfigPath()) {
2828
2837
  }
2829
2838
  function loadDesktopOpenTabs(path = defaultConfigPath()) {
2830
2839
  const v = readConfig(path).desktopOpenTabs;
2831
- return Array.isArray(v) ? v.filter((s) => typeof s === "string" && s.length > 0) : [];
2840
+ if (!Array.isArray(v)) return [];
2841
+ const out = [];
2842
+ for (const entry of v) {
2843
+ if (typeof entry === "string") {
2844
+ if (entry) out.push({ dir: entry });
2845
+ } else if (entry && typeof entry === "object" && typeof entry.dir === "string" && entry.dir.length > 0) {
2846
+ const e = entry;
2847
+ out.push({ dir: e.dir, session: e.session, active: e.active });
2848
+ }
2849
+ }
2850
+ return out;
2832
2851
  }
2833
- function saveDesktopOpenTabs(dirs, path = defaultConfigPath()) {
2852
+ function saveDesktopOpenTabs(tabs, path = defaultConfigPath()) {
2834
2853
  const cfg = readConfig(path);
2835
- const cleaned = dirs.filter((s) => typeof s === "string" && s.length > 0);
2836
- if (cleaned.length === 0) {
2837
- cfg.desktopOpenTabs = void 0;
2838
- } else {
2839
- cfg.desktopOpenTabs = cleaned;
2840
- }
2854
+ const cleaned = tabs.filter((t) => t && typeof t.dir === "string" && t.dir.length > 0).map((t) => {
2855
+ const e = { dir: t.dir };
2856
+ if (t.session) e.session = t.session;
2857
+ if (t.active) e.active = true;
2858
+ return e;
2859
+ });
2860
+ cfg.desktopOpenTabs = cleaned.length === 0 ? void 0 : cleaned;
2841
2861
  writeConfig(cfg, path);
2842
2862
  }
2843
2863
  function loadPreset(path = defaultConfigPath()) {
@@ -2879,7 +2899,8 @@ function resolveSemanticEmbeddingConfig(path = defaultConfigPath()) {
2879
2899
  apiKey,
2880
2900
  model,
2881
2901
  extraBody: normalizeExtraBody(user.openaiCompat?.extraBody),
2882
- timeoutMs: DEFAULT_TIMEOUT_MS
2902
+ timeoutMs: DEFAULT_TIMEOUT_MS,
2903
+ batchSize: user.openaiCompat?.batchSize ?? DEFAULT_BATCH_SIZE
2883
2904
  };
2884
2905
  }
2885
2906
  return {
@@ -2902,7 +2923,8 @@ function redactSemanticEmbeddingConfig(user) {
2902
2923
  apiKey: normalized.openaiCompat?.apiKey ? redactKey(normalized.openaiCompat.apiKey) : "",
2903
2924
  apiKeySet: Boolean(normalized.openaiCompat?.apiKey?.trim()),
2904
2925
  model: normalized.openaiCompat?.model?.trim() ?? "",
2905
- extraBody: normalizeExtraBody(normalized.openaiCompat?.extraBody)
2926
+ extraBody: normalizeExtraBody(normalized.openaiCompat?.extraBody),
2927
+ batchSize: normalized.openaiCompat?.batchSize ?? DEFAULT_BATCH_SIZE
2906
2928
  }
2907
2929
  };
2908
2930
  }
@@ -2939,7 +2961,8 @@ function normalizeSemanticEmbeddingUserConfig(cfg) {
2939
2961
  baseUrl: normalizeOptionalString(cfg?.openaiCompat?.baseUrl),
2940
2962
  apiKey: normalizeOptionalString(cfg?.openaiCompat?.apiKey),
2941
2963
  model: normalizeOptionalString(cfg?.openaiCompat?.model),
2942
- extraBody: normalizeExtraBody(cfg?.openaiCompat?.extraBody)
2964
+ extraBody: normalizeExtraBody(cfg?.openaiCompat?.extraBody),
2965
+ batchSize: normalizePositiveInt(cfg?.openaiCompat?.batchSize)
2943
2966
  }
2944
2967
  };
2945
2968
  }
@@ -2947,6 +2970,9 @@ function normalizeOptionalString(value) {
2947
2970
  const trimmed = value?.trim();
2948
2971
  return trimmed ? trimmed : void 0;
2949
2972
  }
2973
+ function normalizePositiveInt(value) {
2974
+ return value !== void 0 && Number.isInteger(value) && value > 0 ? value : void 0;
2975
+ }
2950
2976
  function normalizeExtraBody(value) {
2951
2977
  if (value === void 0) return {};
2952
2978
  if (!isPlainObject(value)) {
@@ -3030,12 +3056,15 @@ export {
3030
3056
  overlayMatchedSpec,
3031
3057
  specToRaw,
3032
3058
  parseMcpSpec,
3059
+ normalizeQQOpenId,
3060
+ normalizeQQAllowlist,
3033
3061
  redactQQOpenId,
3034
3062
  decideQQAccess,
3035
3063
  describeQQAccess,
3036
3064
  loadMemoryTypeRegistry,
3037
3065
  memoryTypeDefaults,
3038
3066
  loadMetasoApiKey,
3067
+ loadTavilyApiKey,
3039
3068
  defaultConfigPath,
3040
3069
  readConfig,
3041
3070
  writeConfig,
@@ -3096,4 +3125,4 @@ export {
3096
3125
  loadQQConfig,
3097
3126
  saveQQConfig
3098
3127
  };
3099
- //# sourceMappingURL=chunk-DGA5QYFM.js.map
3128
+ //# sourceMappingURL=chunk-24A7FHGJ.js.map