reasonix 0.46.1 → 0.47.1

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 (139) 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-GEOAKSTU.js} +26 -54
  6. package/dist/cli/acp-GEOAKSTU.js.map +1 -0
  7. package/dist/cli/chat-YTPATMMG.js +51 -0
  8. package/dist/cli/{chunk-R2ASNSEO.js → chunk-2XY77LW7.js} +8 -8
  9. package/dist/cli/{chunk-SE7C5ZSI.js → chunk-4MFCAZ2W.js} +3 -3
  10. package/dist/cli/{chunk-DGA5QYFM.js → chunk-6CRPCJAU.js} +55 -13
  11. package/dist/cli/chunk-6CRPCJAU.js.map +1 -0
  12. package/dist/cli/{chunk-TDSBASOF.js → chunk-6QC5RQLE.js} +2 -2
  13. package/dist/cli/chunk-BQ6HC66J.js +530 -0
  14. package/dist/cli/chunk-BQ6HC66J.js.map +1 -0
  15. package/dist/cli/{chunk-7SGGXNB2.js → chunk-CCJAP7G3.js} +2 -2
  16. package/dist/cli/{chunk-3AAG2CUT.js → chunk-CNG32VAB.js} +2 -2
  17. package/dist/cli/{chunk-WRONKNIH.js → chunk-DN4B5S6Y.js} +2 -2
  18. package/dist/cli/{chunk-NCBP5D6E.js → chunk-DQ6K5ZQ7.js} +2 -2
  19. package/dist/cli/{chunk-MIIZJD5O.js → chunk-DWPAKZTY.js} +14 -3
  20. package/dist/cli/chunk-DWPAKZTY.js.map +1 -0
  21. package/dist/cli/{chunk-IYQ325V7.js → chunk-E5WCLUIU.js} +2 -2
  22. package/dist/cli/{chunk-YRLC2EDF.js → chunk-EQATK2L2.js} +2 -2
  23. package/dist/cli/{chunk-TEUDEGX2.js → chunk-FY4S7TJZ.js} +19 -5
  24. package/dist/cli/chunk-FY4S7TJZ.js.map +1 -0
  25. package/dist/cli/{chunk-C72TNHDE.js → chunk-GH7DC2Y5.js} +2 -2
  26. package/dist/cli/{chunk-WQ6ZRDQM.js → chunk-HIYTRCSW.js} +16 -12
  27. package/dist/cli/chunk-HIYTRCSW.js.map +1 -0
  28. package/dist/cli/{chunk-EAOL43HB.js → chunk-HUILPCYX.js} +3 -3
  29. package/dist/cli/{chunk-ZOQHVQON.js → chunk-JBH5RM7X.js} +473 -87
  30. package/dist/cli/chunk-JBH5RM7X.js.map +1 -0
  31. package/dist/cli/{chunk-XPAUNFOL.js → chunk-KVZZ5U75.js} +3 -2
  32. package/dist/cli/chunk-KVZZ5U75.js.map +1 -0
  33. package/dist/cli/{chunk-2AASOSD5.js → chunk-KYQVQ5X4.js} +85 -10
  34. package/dist/cli/chunk-KYQVQ5X4.js.map +1 -0
  35. package/dist/cli/{chunk-2425HK6U.js → chunk-LGEKVMMV.js} +7 -2
  36. package/dist/cli/{chunk-2425HK6U.js.map → chunk-LGEKVMMV.js.map} +1 -1
  37. package/dist/cli/{chunk-6VANO7KB.js → chunk-NRQ5UP5T.js} +165 -24
  38. package/dist/cli/chunk-NRQ5UP5T.js.map +1 -0
  39. package/dist/cli/{chunk-M4E5JK6S.js → chunk-QCFLPSPH.js} +2 -2
  40. package/dist/cli/{chunk-E7TAHQ4A.js → chunk-RRXUIPWG.js} +19 -18
  41. package/dist/cli/chunk-RRXUIPWG.js.map +1 -0
  42. package/dist/cli/{chunk-JLQDNLZF.js → chunk-T5A7EY6B.js} +26 -14
  43. package/dist/cli/chunk-T5A7EY6B.js.map +1 -0
  44. package/dist/cli/{chunk-7LOJS3LV.js → chunk-TDHXB2ER.js} +2 -2
  45. package/dist/cli/{chunk-CXVWUPA3.js → chunk-TKVXTQ3T.js} +26 -26
  46. package/dist/cli/chunk-TKVXTQ3T.js.map +1 -0
  47. package/dist/cli/{chunk-JVFEJAJX.js → chunk-TRSAHHCL.js} +107 -11
  48. package/dist/cli/chunk-TRSAHHCL.js.map +1 -0
  49. package/dist/cli/{chunk-K3AIFMI6.js → chunk-TRWHTFG7.js} +2 -2
  50. package/dist/cli/{chunk-7YW6TPXK.js → chunk-XD6P7AFH.js} +28 -31
  51. package/dist/cli/chunk-XD6P7AFH.js.map +1 -0
  52. package/dist/cli/{chunk-SPXN5JIT.js → chunk-XMHP7BEE.js} +1787 -1081
  53. package/dist/cli/chunk-XMHP7BEE.js.map +1 -0
  54. package/dist/cli/{chunk-JVQT5IYP.js → chunk-YFP3MYMY.js} +19 -9
  55. package/dist/cli/chunk-YFP3MYMY.js.map +1 -0
  56. package/dist/cli/{chunk-HNXDZGC6.js → chunk-ZXSCAODE.js} +9 -9
  57. package/dist/cli/{chunk-HNXDZGC6.js.map → chunk-ZXSCAODE.js.map} +1 -1
  58. package/dist/cli/{code-2JIHL5M2.js → code-Q4NRVEDG.js} +42 -35
  59. package/dist/cli/code-Q4NRVEDG.js.map +1 -0
  60. package/dist/cli/{commands-OPT5AJNH.js → commands-4CDI4GFM.js} +4 -4
  61. package/dist/cli/{commit-KA37H6GM.js → commit-GW7LDQP5.js} +3 -3
  62. package/dist/cli/{desktop-5ONTRU3C.js → desktop-EG6P5SF2.js} +321 -36
  63. package/dist/cli/desktop-EG6P5SF2.js.map +1 -0
  64. package/dist/cli/{diff-SOIA7AKH.js → diff-VI2YX4FN.js} +8 -8
  65. package/dist/cli/{doctor-RCUP4XRV.js → doctor-CQTTZP27.js} +9 -9
  66. package/dist/cli/{events-6KHITNX4.js → events-VRYXOSKI.js} +3 -3
  67. package/dist/cli/index.js +94 -45
  68. package/dist/cli/index.js.map +1 -1
  69. package/dist/cli/{mcp-JP5OWD6R.js → mcp-J2UCD4RZ.js} +2 -2
  70. package/dist/cli/{mcp-browse-ONCJJPJN.js → mcp-browse-GSX34JEK.js} +2 -2
  71. package/dist/cli/{mcp-inspect-TPLHW5JA.js → mcp-inspect-RRFYF4ZV.js} +4 -4
  72. package/dist/cli/{prompt-RJDNCQAP.js → prompt-5TQPIVHV.js} +4 -4
  73. package/dist/cli/{prune-sessions-MKEATRVL.js → prune-sessions-SEWX7GP6.js} +2 -2
  74. package/dist/cli/{replay-4NILJG4U.js → replay-MJCEMODU.js} +9 -9
  75. package/dist/cli/{run-WFGXB4SB.js → run-P4D5VDYE.js} +17 -17
  76. package/dist/cli/{server-5VFQP3PV.js → server-C25JNNZV.js} +82 -34
  77. package/dist/cli/server-C25JNNZV.js.map +1 -0
  78. package/dist/cli/{sessions-5XDJDALO.js → sessions-QIONZJQ6.js} +15 -15
  79. package/dist/cli/{setup-F6XSWLRA.js → setup-NLQ6G5G4.js} +7 -7
  80. package/dist/cli/setup-NLQ6G5G4.js.map +1 -0
  81. package/dist/cli/{stats-ALHBZICE.js → stats-DFZEXHP4.js} +6 -6
  82. package/dist/cli/{version-JVRAHBMM.js → version-GR3X3MPI.js} +15 -15
  83. package/dist/index.d.ts +69 -56
  84. package/dist/index.js +791 -303
  85. package/dist/index.js.map +1 -1
  86. package/package.json +3 -1
  87. package/dist/cli/acp-LKJU5DZX.js.map +0 -1
  88. package/dist/cli/chat-W7LAWEN6.js +0 -51
  89. package/dist/cli/chunk-2AASOSD5.js.map +0 -1
  90. package/dist/cli/chunk-6VANO7KB.js.map +0 -1
  91. package/dist/cli/chunk-7YW6TPXK.js.map +0 -1
  92. package/dist/cli/chunk-CXVWUPA3.js.map +0 -1
  93. package/dist/cli/chunk-DGA5QYFM.js.map +0 -1
  94. package/dist/cli/chunk-DHRVZJ2D.js +0 -642
  95. package/dist/cli/chunk-DHRVZJ2D.js.map +0 -1
  96. package/dist/cli/chunk-E7TAHQ4A.js.map +0 -1
  97. package/dist/cli/chunk-JLQDNLZF.js.map +0 -1
  98. package/dist/cli/chunk-JVFEJAJX.js.map +0 -1
  99. package/dist/cli/chunk-JVQT5IYP.js.map +0 -1
  100. package/dist/cli/chunk-MIIZJD5O.js.map +0 -1
  101. package/dist/cli/chunk-SPXN5JIT.js.map +0 -1
  102. package/dist/cli/chunk-TEUDEGX2.js.map +0 -1
  103. package/dist/cli/chunk-WQ6ZRDQM.js.map +0 -1
  104. package/dist/cli/chunk-XPAUNFOL.js.map +0 -1
  105. package/dist/cli/chunk-ZOQHVQON.js.map +0 -1
  106. package/dist/cli/code-2JIHL5M2.js.map +0 -1
  107. package/dist/cli/desktop-5ONTRU3C.js.map +0 -1
  108. package/dist/cli/server-5VFQP3PV.js.map +0 -1
  109. package/dist/cli/setup-F6XSWLRA.js.map +0 -1
  110. /package/dist/cli/{chat-W7LAWEN6.js.map → chat-YTPATMMG.js.map} +0 -0
  111. /package/dist/cli/{chunk-R2ASNSEO.js.map → chunk-2XY77LW7.js.map} +0 -0
  112. /package/dist/cli/{chunk-SE7C5ZSI.js.map → chunk-4MFCAZ2W.js.map} +0 -0
  113. /package/dist/cli/{chunk-TDSBASOF.js.map → chunk-6QC5RQLE.js.map} +0 -0
  114. /package/dist/cli/{chunk-7SGGXNB2.js.map → chunk-CCJAP7G3.js.map} +0 -0
  115. /package/dist/cli/{chunk-3AAG2CUT.js.map → chunk-CNG32VAB.js.map} +0 -0
  116. /package/dist/cli/{chunk-WRONKNIH.js.map → chunk-DN4B5S6Y.js.map} +0 -0
  117. /package/dist/cli/{chunk-NCBP5D6E.js.map → chunk-DQ6K5ZQ7.js.map} +0 -0
  118. /package/dist/cli/{chunk-IYQ325V7.js.map → chunk-E5WCLUIU.js.map} +0 -0
  119. /package/dist/cli/{chunk-YRLC2EDF.js.map → chunk-EQATK2L2.js.map} +0 -0
  120. /package/dist/cli/{chunk-C72TNHDE.js.map → chunk-GH7DC2Y5.js.map} +0 -0
  121. /package/dist/cli/{chunk-EAOL43HB.js.map → chunk-HUILPCYX.js.map} +0 -0
  122. /package/dist/cli/{chunk-M4E5JK6S.js.map → chunk-QCFLPSPH.js.map} +0 -0
  123. /package/dist/cli/{chunk-7LOJS3LV.js.map → chunk-TDHXB2ER.js.map} +0 -0
  124. /package/dist/cli/{chunk-K3AIFMI6.js.map → chunk-TRWHTFG7.js.map} +0 -0
  125. /package/dist/cli/{commands-OPT5AJNH.js.map → commands-4CDI4GFM.js.map} +0 -0
  126. /package/dist/cli/{commit-KA37H6GM.js.map → commit-GW7LDQP5.js.map} +0 -0
  127. /package/dist/cli/{diff-SOIA7AKH.js.map → diff-VI2YX4FN.js.map} +0 -0
  128. /package/dist/cli/{doctor-RCUP4XRV.js.map → doctor-CQTTZP27.js.map} +0 -0
  129. /package/dist/cli/{events-6KHITNX4.js.map → events-VRYXOSKI.js.map} +0 -0
  130. /package/dist/cli/{mcp-JP5OWD6R.js.map → mcp-J2UCD4RZ.js.map} +0 -0
  131. /package/dist/cli/{mcp-browse-ONCJJPJN.js.map → mcp-browse-GSX34JEK.js.map} +0 -0
  132. /package/dist/cli/{mcp-inspect-TPLHW5JA.js.map → mcp-inspect-RRFYF4ZV.js.map} +0 -0
  133. /package/dist/cli/{prompt-RJDNCQAP.js.map → prompt-5TQPIVHV.js.map} +0 -0
  134. /package/dist/cli/{prune-sessions-MKEATRVL.js.map → prune-sessions-SEWX7GP6.js.map} +0 -0
  135. /package/dist/cli/{replay-4NILJG4U.js.map → replay-MJCEMODU.js.map} +0 -0
  136. /package/dist/cli/{run-WFGXB4SB.js.map → run-P4D5VDYE.js.map} +0 -0
  137. /package/dist/cli/{sessions-5XDJDALO.js.map → sessions-QIONZJQ6.js.map} +0 -0
  138. /package/dist/cli/{stats-ALHBZICE.js.map → stats-DFZEXHP4.js.map} +0 -0
  139. /package/dist/cli/{version-JVRAHBMM.js.map → version-GR3X3MPI.js.map} +0 -0
@@ -15,7 +15,7 @@ import {
15
15
  defaultConfigPath,
16
16
  readConfig,
17
17
  writeConfig
18
- } from "./chunk-DGA5QYFM.js";
18
+ } from "./chunk-6CRPCJAU.js";
19
19
  import "./chunk-TUK7OWJA.js";
20
20
 
21
21
  // src/cli/commands/mcp.ts
@@ -274,4 +274,4 @@ export {
274
274
  mcpListCommand,
275
275
  mcpSearchCommand
276
276
  };
277
- //# sourceMappingURL=mcp-JP5OWD6R.js.map
277
+ //# sourceMappingURL=mcp-J2UCD4RZ.js.map
@@ -23,7 +23,7 @@ import "./chunk-PLHAZOLZ.js";
23
23
  import {
24
24
  readConfig,
25
25
  writeConfig
26
- } from "./chunk-DGA5QYFM.js";
26
+ } from "./chunk-6CRPCJAU.js";
27
27
  import {
28
28
  __toESM
29
29
  } from "./chunk-TUK7OWJA.js";
@@ -175,4 +175,4 @@ async function mcpBrowseCommand(_opts = {}) {
175
175
  export {
176
176
  mcpBrowseCommand
177
177
  };
178
- //# sourceMappingURL=mcp-browse-ONCJJPJN.js.map
178
+ //# sourceMappingURL=mcp-browse-GSX34JEK.js.map
@@ -3,18 +3,18 @@ import { createRequire as __cr } from 'node:module'; if (typeof globalThis.requi
3
3
  import {
4
4
  buildTransportFromSpec,
5
5
  preflightStdioSpec
6
- } from "./chunk-YRLC2EDF.js";
6
+ } from "./chunk-EQATK2L2.js";
7
7
  import {
8
8
  McpClient,
9
9
  inspectMcpServer
10
- } from "./chunk-WQ6ZRDQM.js";
10
+ } from "./chunk-HIYTRCSW.js";
11
11
  import "./chunk-25T6CVUP.js";
12
12
  import {
13
13
  normalizeMcpConfig,
14
14
  overlayMatchedSpec,
15
15
  parseMcpSpec,
16
16
  readConfig
17
- } from "./chunk-DGA5QYFM.js";
17
+ } from "./chunk-6CRPCJAU.js";
18
18
  import "./chunk-XXC2BYTV.js";
19
19
  import "./chunk-TUK7OWJA.js";
20
20
 
@@ -145,4 +145,4 @@ export {
145
145
  formatMcpInspectFailure,
146
146
  mcpInspectCommand
147
147
  };
148
- //# sourceMappingURL=mcp-inspect-TPLHW5JA.js.map
148
+ //# sourceMappingURL=mcp-inspect-RRFYF4ZV.js.map
@@ -4,13 +4,13 @@ import {
4
4
  CODE_SYSTEM_PROMPT,
5
5
  codeSystemBase,
6
6
  codeSystemPrompt
7
- } from "./chunk-DHRVZJ2D.js";
8
- import "./chunk-TEUDEGX2.js";
9
- import "./chunk-DGA5QYFM.js";
7
+ } from "./chunk-BQ6HC66J.js";
8
+ import "./chunk-FY4S7TJZ.js";
9
+ import "./chunk-6CRPCJAU.js";
10
10
  import "./chunk-TUK7OWJA.js";
11
11
  export {
12
12
  CODE_SYSTEM_PROMPT,
13
13
  codeSystemBase,
14
14
  codeSystemPrompt
15
15
  };
16
- //# sourceMappingURL=prompt-RJDNCQAP.js.map
16
+ //# sourceMappingURL=prompt-5TQPIVHV.js.map
@@ -3,7 +3,7 @@ import { createRequire as __cr } from 'node:module'; if (typeof globalThis.requi
3
3
  import {
4
4
  listSessions,
5
5
  pruneStaleSessions
6
- } from "./chunk-E7TAHQ4A.js";
6
+ } from "./chunk-RRXUIPWG.js";
7
7
  import "./chunk-TUK7OWJA.js";
8
8
 
9
9
  // src/cli/commands/prune-sessions.ts
@@ -41,4 +41,4 @@ function pruneSessionsCommand(opts) {
41
41
  export {
42
42
  pruneSessionsCommand
43
43
  };
44
- //# sourceMappingURL=prune-sessions-MKEATRVL.js.map
44
+ //# sourceMappingURL=prune-sessions-SEWX7GP6.js.map
@@ -2,21 +2,21 @@
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
  RecordView
5
- } from "./chunk-3AAG2CUT.js";
5
+ } from "./chunk-CNG32VAB.js";
6
6
  import {
7
7
  Bar,
8
8
  ChromeRule,
9
9
  stringWidth
10
- } from "./chunk-CXVWUPA3.js";
10
+ } from "./chunk-TKVXTQ3T.js";
11
11
  import {
12
12
  computeCumulativeStats,
13
13
  groupRecordsByTurn,
14
14
  replayFromFile
15
- } from "./chunk-EAOL43HB.js";
15
+ } from "./chunk-HUILPCYX.js";
16
16
  import {
17
17
  COLOR,
18
18
  GRADIENT
19
- } from "./chunk-7SGGXNB2.js";
19
+ } from "./chunk-CCJAP7G3.js";
20
20
  import {
21
21
  Box_default,
22
22
  Static,
@@ -27,16 +27,16 @@ import {
27
27
  use_input_default,
28
28
  use_stdout_default
29
29
  } from "./chunk-X53B3JIX.js";
30
- import "./chunk-MIIZJD5O.js";
30
+ import "./chunk-DWPAKZTY.js";
31
31
  import "./chunk-25T6CVUP.js";
32
- import "./chunk-M4E5JK6S.js";
32
+ import "./chunk-QCFLPSPH.js";
33
33
  import {
34
34
  t
35
- } from "./chunk-6VANO7KB.js";
35
+ } from "./chunk-NRQ5UP5T.js";
36
36
  import {
37
37
  formatBalance,
38
38
  formatCost
39
- } from "./chunk-DGA5QYFM.js";
39
+ } from "./chunk-6CRPCJAU.js";
40
40
  import {
41
41
  __toESM
42
42
  } from "./chunk-TUK7OWJA.js";
@@ -288,4 +288,4 @@ function oneLine(s, max = 200) {
288
288
  export {
289
289
  replayCommand
290
290
  };
291
- //# sourceMappingURL=replay-4NILJG4U.js.map
291
+ //# sourceMappingURL=replay-MJCEMODU.js.map
@@ -3,47 +3,47 @@ import { createRequire as __cr } from 'node:module'; if (typeof globalThis.requi
3
3
  import {
4
4
  formatMcpLifecycleEvent,
5
5
  formatMcpSlowToast
6
- } from "./chunk-NCBP5D6E.js";
6
+ } from "./chunk-DQ6K5ZQ7.js";
7
7
  import {
8
8
  buildTransportFromSpec,
9
9
  preflightStdioSpec
10
- } from "./chunk-YRLC2EDF.js";
10
+ } from "./chunk-EQATK2L2.js";
11
11
  import {
12
12
  CacheFirstLoop,
13
13
  ImmutablePrefix,
14
14
  ToolRegistry,
15
15
  bridgeMcpTools
16
- } from "./chunk-ZOQHVQON.js";
17
- import "./chunk-TDSBASOF.js";
16
+ } from "./chunk-JBH5RM7X.js";
17
+ import "./chunk-6QC5RQLE.js";
18
18
  import {
19
19
  openTranscriptFile,
20
20
  recordFromLoopEvent,
21
21
  writeRecord
22
- } from "./chunk-EAOL43HB.js";
22
+ } from "./chunk-HUILPCYX.js";
23
23
  import {
24
24
  McpClient
25
- } from "./chunk-WQ6ZRDQM.js";
26
- import "./chunk-DHRVZJ2D.js";
25
+ } from "./chunk-HIYTRCSW.js";
26
+ import "./chunk-BQ6HC66J.js";
27
27
  import "./chunk-6OWJV3YW.js";
28
28
  import {
29
29
  DeepSeekClient
30
- } from "./chunk-MIIZJD5O.js";
30
+ } from "./chunk-DWPAKZTY.js";
31
31
  import "./chunk-25T6CVUP.js";
32
32
  import {
33
33
  loadDotenv
34
34
  } from "./chunk-2UQP6H6T.js";
35
- import "./chunk-JVFEJAJX.js";
36
- import "./chunk-TEUDEGX2.js";
37
- import "./chunk-C72TNHDE.js";
35
+ import "./chunk-TRSAHHCL.js";
36
+ import "./chunk-FY4S7TJZ.js";
37
+ import "./chunk-GH7DC2Y5.js";
38
38
  import "./chunk-S4XVGLRW.js";
39
- import "./chunk-E7TAHQ4A.js";
39
+ import "./chunk-RRXUIPWG.js";
40
40
  import {
41
41
  appendUsage
42
- } from "./chunk-WRONKNIH.js";
43
- import "./chunk-M4E5JK6S.js";
42
+ } from "./chunk-DN4B5S6Y.js";
43
+ import "./chunk-QCFLPSPH.js";
44
44
  import {
45
45
  t
46
- } from "./chunk-6VANO7KB.js";
46
+ } from "./chunk-NRQ5UP5T.js";
47
47
  import {
48
48
  defaultConfigPath,
49
49
  isPlausibleKey,
@@ -52,7 +52,7 @@ import {
52
52
  normalizeMcpConfig,
53
53
  readConfig,
54
54
  saveApiKey
55
- } from "./chunk-DGA5QYFM.js";
55
+ } from "./chunk-6CRPCJAU.js";
56
56
  import "./chunk-XXC2BYTV.js";
57
57
  import "./chunk-TUK7OWJA.js";
58
58
 
@@ -217,4 +217,4 @@ transcript: ${opts.transcript}
217
217
  export {
218
218
  runCommand
219
219
  };
220
- //# sourceMappingURL=run-WFGXB4SB.js.map
220
+ //# sourceMappingURL=run-P4D5VDYE.js.map
@@ -13,8 +13,8 @@ import {
13
13
  listCheckpoints,
14
14
  loadCheckpoint,
15
15
  restoreCheckpoint
16
- } from "./chunk-2AASOSD5.js";
17
- import "./chunk-IYQ325V7.js";
16
+ } from "./chunk-KYQVQ5X4.js";
17
+ import "./chunk-E5WCLUIU.js";
18
18
  import {
19
19
  fetchSmitheryDetail,
20
20
  handleToFetchResult,
@@ -24,11 +24,11 @@ import {
24
24
  } from "./chunk-XJXDHAES.js";
25
25
  import {
26
26
  registerSemanticSearchTool
27
- } from "./chunk-XPAUNFOL.js";
27
+ } from "./chunk-KVZZ5U75.js";
28
28
  import {
29
29
  BUILTIN_ALLOWLIST,
30
30
  lineDiff
31
- } from "./chunk-JVFEJAJX.js";
31
+ } from "./chunk-TRSAHHCL.js";
32
32
  import {
33
33
  PROJECT_MEMORY_FILE,
34
34
  SKILLS_DIRNAME,
@@ -38,13 +38,13 @@ import {
38
38
  parseFrontmatter,
39
39
  resolveProjectMemoryWritePath,
40
40
  validateSkillFrontmatter
41
- } from "./chunk-TEUDEGX2.js";
41
+ } from "./chunk-FY4S7TJZ.js";
42
42
  import "./chunk-PLHAZOLZ.js";
43
43
  import {
44
44
  checkOllamaStatus,
45
45
  pullOllamaModel,
46
46
  startOllamaDaemon
47
- } from "./chunk-7LOJS3LV.js";
47
+ } from "./chunk-TDHXB2ER.js";
48
48
  import {
49
49
  INDEX_DIR_NAME,
50
50
  buildIndex,
@@ -53,34 +53,35 @@ import {
53
53
  querySemantic,
54
54
  readIndexMeta,
55
55
  walkChunks
56
- } from "./chunk-JLQDNLZF.js";
56
+ } from "./chunk-T5A7EY6B.js";
57
57
  import {
58
58
  HOOK_EVENTS,
59
59
  globalSettingsPath,
60
60
  loadHooks,
61
61
  projectSettingsPath
62
- } from "./chunk-C72TNHDE.js";
62
+ } from "./chunk-GH7DC2Y5.js";
63
63
  import "./chunk-S4XVGLRW.js";
64
64
  import {
65
+ deleteSession,
65
66
  listSessions,
66
67
  sessionPath,
67
68
  sessionsDir
68
- } from "./chunk-E7TAHQ4A.js";
69
+ } from "./chunk-RRXUIPWG.js";
69
70
  import {
70
71
  aggregateUsage,
71
72
  bucketCacheHitRatio,
72
73
  formatLogSize,
73
74
  readUsageLog
74
- } from "./chunk-WRONKNIH.js";
75
+ } from "./chunk-DN4B5S6Y.js";
75
76
  import {
76
77
  DEEPSEEK_PRICING,
77
78
  cacheSavingsUsd
78
- } from "./chunk-M4E5JK6S.js";
79
+ } from "./chunk-QCFLPSPH.js";
79
80
  import {
80
81
  getLanguage,
81
82
  getSupportedLanguages,
82
83
  setLanguage
83
- } from "./chunk-6VANO7KB.js";
84
+ } from "./chunk-NRQ5UP5T.js";
84
85
  import {
85
86
  DEFAULT_INDEX_EXCLUDES,
86
87
  DEFAULT_MAX_FILE_BYTES,
@@ -103,7 +104,7 @@ import {
103
104
  resolveSemanticEmbeddingConfig,
104
105
  saveSemanticEmbeddingConfig,
105
106
  writeConfig
106
- } from "./chunk-DGA5QYFM.js";
107
+ } from "./chunk-6CRPCJAU.js";
107
108
  import {
108
109
  VERSION
109
110
  } from "./chunk-XXC2BYTV.js";
@@ -1196,7 +1197,10 @@ async function handleMcp(method, rest, body, ctx, query = new URLSearchParams())
1196
1197
  }
1197
1198
  if (method === "GET" && rest[0] === "specs") {
1198
1199
  const cfg = readConfig(ctx.configPath);
1199
- return { status: 200, body: { specs: cfg.mcp ?? [] } };
1200
+ return {
1201
+ status: 200,
1202
+ body: { specs: cfg.mcp ?? [], failures: ctx.getMcpFailures?.() ?? [] }
1203
+ };
1200
1204
  }
1201
1205
  if (method === "POST" && rest[0] === "specs") {
1202
1206
  const { spec } = parseBody5(body);
@@ -2582,7 +2586,8 @@ function saveSemanticConfigApi(rawBody, ctx) {
2582
2586
  baseUrl: typeof parsed.openaiCompat?.baseUrl === "string" ? parsed.openaiCompat.baseUrl : existing.openaiCompat?.baseUrl,
2583
2587
  apiKey: typeof parsed.openaiCompat?.apiKey === "string" ? parsed.openaiCompat.apiKey.trim() || existing.openaiCompat?.apiKey : existing.openaiCompat?.apiKey,
2584
2588
  model: typeof parsed.openaiCompat?.model === "string" ? parsed.openaiCompat.model : existing.openaiCompat?.model,
2585
- extraBody: parsed.openaiCompat?.extraBody === void 0 ? existing.openaiCompat?.extraBody : parsed.openaiCompat.extraBody
2589
+ extraBody: parsed.openaiCompat?.extraBody === void 0 ? existing.openaiCompat?.extraBody : parsed.openaiCompat.extraBody,
2590
+ batchSize: parsed.openaiCompat?.batchSize === void 0 ? existing.openaiCompat?.batchSize : Number.isInteger(parsed.openaiCompat.batchSize) && parsed.openaiCompat.batchSize > 0 ? parsed.openaiCompat.batchSize : void 0
2586
2591
  }
2587
2592
  };
2588
2593
  try {
@@ -2619,7 +2624,8 @@ async function getProviderStatusFromConfig(config) {
2619
2624
  baseUrl: config.openaiCompat.baseUrl,
2620
2625
  apiKeySet: config.openaiCompat.apiKeySet,
2621
2626
  model: config.openaiCompat.model,
2622
- extraBodyKeys: Object.keys(config.openaiCompat.extraBody)
2627
+ extraBodyKeys: Object.keys(config.openaiCompat.extraBody),
2628
+ batchSize: config.openaiCompat.batchSize
2623
2629
  };
2624
2630
  }
2625
2631
  const ollama = await checkOllamaStatus(config.ollama.model, config.ollama.baseUrl).catch(
@@ -2674,12 +2680,10 @@ function parseTranscript(path, maxBytes = 4 * 1024 * 1024) {
2674
2680
  }
2675
2681
  return out;
2676
2682
  }
2677
- async function handleSessions(method, rest, _body, _ctx) {
2678
- if (method !== "GET") {
2679
- return { status: 405, body: { error: "GET only" } };
2680
- }
2681
- if (rest.length === 0) {
2683
+ async function handleSessions(method, rest, _body, ctx) {
2684
+ if (method === "GET" && rest.length === 0) {
2682
2685
  const sessions = listSessions();
2686
+ const currentName2 = ctx.getSessionName?.() ?? null;
2683
2687
  return {
2684
2688
  status: 200,
2685
2689
  body: {
@@ -2689,25 +2693,69 @@ async function handleSessions(method, rest, _body, _ctx) {
2689
2693
  size: s.size,
2690
2694
  messageCount: s.messageCount,
2691
2695
  mtime: s.mtime.getTime()
2692
- }))
2696
+ })),
2697
+ currentSession: currentName2,
2698
+ canSwitch: Boolean(ctx.switchSession)
2693
2699
  }
2694
2700
  };
2695
2701
  }
2702
+ if (method === "POST" && rest.length === 1 && rest[0] === "new") {
2703
+ if (!ctx.switchSession) {
2704
+ return {
2705
+ status: 503,
2706
+ body: { error: "live session swap requires an attached CLI session." }
2707
+ };
2708
+ }
2709
+ const result = ctx.switchSession(void 0);
2710
+ if (!result.ok) return { status: 500, body: { error: result.reason } };
2711
+ return { status: 200, body: { ok: true } };
2712
+ }
2713
+ if (rest.length === 0) {
2714
+ return { status: 405, body: { error: `method ${method} not supported on /sessions` } };
2715
+ }
2696
2716
  const name = decodeURIComponent(rest[0]);
2697
2717
  const path = sessionPath(name);
2698
- if (!existsSync8(path)) {
2699
- return { status: 404, body: { error: `no such session: ${name}` } };
2718
+ const currentName = ctx.getSessionName?.() ?? null;
2719
+ if (method === "POST" && rest[1] === "switch") {
2720
+ if (!ctx.switchSession) {
2721
+ return {
2722
+ status: 503,
2723
+ body: { error: "live session swap requires an attached CLI session." }
2724
+ };
2725
+ }
2726
+ if (!existsSync8(path)) return { status: 404, body: { error: `no such session: ${name}` } };
2727
+ const result = ctx.switchSession(name);
2728
+ if (!result.ok) return { status: 500, body: { error: result.reason } };
2729
+ return { status: 200, body: { ok: true } };
2700
2730
  }
2701
- const messages = parseTranscript(path);
2702
- return {
2703
- status: 200,
2704
- body: {
2705
- name,
2706
- path,
2707
- messages,
2708
- messageCount: messages.length
2731
+ if (method === "DELETE") {
2732
+ if (rest.length !== 1) {
2733
+ return { status: 405, body: { error: `method ${method} not supported on this path` } };
2709
2734
  }
2710
- };
2735
+ if (currentName && name === currentName) {
2736
+ return {
2737
+ status: 409,
2738
+ body: { error: "cannot delete the currently-active session \u2014 switch away first." }
2739
+ };
2740
+ }
2741
+ if (!existsSync8(path)) return { status: 404, body: { error: `no such session: ${name}` } };
2742
+ const removed = deleteSession(name);
2743
+ if (!removed) return { status: 500, body: { error: `failed to delete ${name}` } };
2744
+ ctx.audit?.({ ts: Date.now(), action: "delete-session", payload: { name } });
2745
+ return { status: 200, body: { ok: true, deleted: name } };
2746
+ }
2747
+ if (method === "GET") {
2748
+ if (rest.length !== 1) {
2749
+ return { status: 405, body: { error: `method ${method} not supported on this path` } };
2750
+ }
2751
+ if (!existsSync8(path)) return { status: 404, body: { error: `no such session: ${name}` } };
2752
+ const messages = parseTranscript(path);
2753
+ return {
2754
+ status: 200,
2755
+ body: { name, path, messages, messageCount: messages.length }
2756
+ };
2757
+ }
2758
+ return { status: 405, body: { error: `method ${method} not supported on this path` } };
2711
2759
  }
2712
2760
 
2713
2761
  // src/server/api/settings.ts
@@ -3500,4 +3548,4 @@ export {
3500
3548
  readBody,
3501
3549
  startDashboardServer
3502
3550
  };
3503
- //# sourceMappingURL=server-5VFQP3PV.js.map
3551
+ //# sourceMappingURL=server-C25JNNZV.js.map