reasonix 0.46.0 → 0.46.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 (147) hide show
  1. package/README.md +3 -0
  2. package/README.zh-CN.md +3 -0
  3. package/dashboard/dist/app.js +76 -6
  4. package/dashboard/dist/app.js.map +1 -1
  5. package/dist/cli/{acp-LGBLHBKY.js → acp-LKJU5DZX.js} +19 -19
  6. package/dist/cli/chat-W7LAWEN6.js +51 -0
  7. package/dist/cli/chunk-2425HK6U.js +0 -0
  8. package/dist/cli/chunk-25T6CVUP.js +0 -0
  9. package/dist/cli/{chunk-5I2C4JEO.js → chunk-2AASOSD5.js} +6 -6
  10. package/dist/cli/{chunk-5I2C4JEO.js.map → chunk-2AASOSD5.js.map} +1 -1
  11. package/dist/cli/chunk-2UQP6H6T.js +0 -0
  12. package/dist/cli/{chunk-HVUZWNSP.js → chunk-3AAG2CUT.js} +2 -2
  13. package/dist/cli/chunk-5QCB62C4.js +0 -0
  14. package/dist/cli/chunk-6OWJV3YW.js +0 -0
  15. package/dist/cli/{chunk-IJ7JA32V.js → chunk-6VANO7KB.js} +44 -8
  16. package/dist/cli/chunk-6VANO7KB.js.map +1 -0
  17. package/dist/cli/{chunk-LIR2HBQH.js → chunk-7LOJS3LV.js} +2 -2
  18. package/dist/cli/{chunk-I4L2GTSE.js → chunk-7SGGXNB2.js} +2 -2
  19. package/dist/cli/{chunk-CBIQWMS6.js → chunk-7YW6TPXK.js} +7 -7
  20. package/dist/cli/{chunk-A3TSSDS2.js → chunk-C72TNHDE.js} +2 -2
  21. package/dist/cli/chunk-CXVWUPA3.js +0 -0
  22. package/dist/cli/{chunk-AVFXO2EZ.js → chunk-DGA5QYFM.js} +107 -4
  23. package/dist/cli/chunk-DGA5QYFM.js.map +1 -0
  24. package/dist/cli/{chunk-JNAQYELD.js → chunk-DHRVZJ2D.js} +2 -2
  25. package/dist/cli/{chunk-5ACMUK4Q.js → chunk-E7TAHQ4A.js} +2 -1
  26. package/dist/cli/{chunk-C53JQES5.js → chunk-EAOL43HB.js} +3 -3
  27. package/dist/cli/chunk-FEZK652I.js +0 -0
  28. package/dist/cli/chunk-HNXDZGC6.js +0 -0
  29. package/dist/cli/{chunk-QJDDIK3Z.js → chunk-IYQ325V7.js} +2 -2
  30. package/dist/cli/chunk-J5XJHLWM.js +0 -0
  31. package/dist/cli/{chunk-4CTDEJUF.js → chunk-JLQDNLZF.js} +2 -2
  32. package/dist/cli/chunk-JMBMLOBP.js +0 -0
  33. package/dist/cli/{chunk-RDRC3XDT.js → chunk-JVFEJAJX.js} +2 -2
  34. package/dist/cli/{chunk-GTZTQNX5.js → chunk-JVQT5IYP.js} +7 -7
  35. package/dist/cli/{chunk-YY227BIQ.js → chunk-K3AIFMI6.js} +2 -2
  36. package/dist/cli/{chunk-ZZYBBX5N.js → chunk-M4E5JK6S.js} +23 -9
  37. package/dist/cli/chunk-M4E5JK6S.js.map +1 -0
  38. package/dist/cli/{chunk-V26WPN3J.js → chunk-MIIZJD5O.js} +28 -1
  39. package/dist/cli/chunk-MIIZJD5O.js.map +1 -0
  40. package/dist/cli/{chunk-4HCP2UQW.js → chunk-NCBP5D6E.js} +2 -2
  41. package/dist/cli/chunk-PLHAZOLZ.js +0 -0
  42. package/dist/cli/{chunk-HKWSPKMU.js → chunk-R2ASNSEO.js} +8 -8
  43. package/dist/cli/chunk-S4XVGLRW.js +0 -0
  44. package/dist/cli/{chunk-W7YGWUWU.js → chunk-SE7C5ZSI.js} +3 -3
  45. package/dist/cli/{chunk-KQU2TYIL.js → chunk-SPXN5JIT.js} +1128 -675
  46. package/dist/cli/chunk-SPXN5JIT.js.map +1 -0
  47. package/dist/cli/chunk-SZ5XES2N.js +0 -0
  48. package/dist/cli/{chunk-WK3UFQY3.js → chunk-TDSBASOF.js} +2 -2
  49. package/dist/cli/chunk-TEUDEGX2.js +0 -0
  50. package/dist/cli/chunk-TUK7OWJA.js +0 -0
  51. package/dist/cli/{chunk-XSU4QVFW.js → chunk-WQ6ZRDQM.js} +12 -3
  52. package/dist/cli/chunk-WQ6ZRDQM.js.map +1 -0
  53. package/dist/cli/{chunk-R3CTO2HM.js → chunk-WRONKNIH.js} +2 -2
  54. package/dist/cli/chunk-X53B3JIX.js +0 -0
  55. package/dist/cli/chunk-XJXDHAES.js +0 -0
  56. package/dist/cli/{chunk-MJ6W5UN3.js → chunk-XPAUNFOL.js} +2 -2
  57. package/dist/cli/chunk-XXC2BYTV.js +0 -0
  58. package/dist/cli/{chunk-NVURFF27.js → chunk-YRLC2EDF.js} +2 -2
  59. package/dist/cli/{chunk-WL6SNQ5T.js → chunk-ZOQHVQON.js} +9 -93
  60. package/dist/cli/chunk-ZOQHVQON.js.map +1 -0
  61. package/dist/cli/chunk-ZZM6QJ4W.js +0 -0
  62. package/dist/cli/{code-DFHSASJ4.js → code-2JIHL5M2.js} +29 -30
  63. package/dist/cli/code-2JIHL5M2.js.map +1 -0
  64. package/dist/cli/{commands-OCU42XG4.js → commands-OPT5AJNH.js} +4 -4
  65. package/dist/cli/{commit-XCQIQCYG.js → commit-KA37H6GM.js} +3 -3
  66. package/dist/cli/{desktop-ZCUG7LMF.js → desktop-5ONTRU3C.js} +20 -20
  67. package/dist/cli/devtools-HW3WDT3Q.js +0 -0
  68. package/dist/cli/{diff-66B2KWOJ.js → diff-SOIA7AKH.js} +8 -8
  69. package/dist/cli/{doctor-Y73CPPRZ.js → doctor-RCUP4XRV.js} +9 -9
  70. package/dist/cli/{events-NGZ2OJYH.js → events-6KHITNX4.js} +3 -3
  71. package/dist/cli/index.js +39 -88
  72. package/dist/cli/index.js.map +1 -1
  73. package/dist/cli/{mcp-MPVGBBJF.js → mcp-JP5OWD6R.js} +2 -2
  74. package/dist/cli/{mcp-browse-4XOTC3FJ.js → mcp-browse-ONCJJPJN.js} +2 -2
  75. package/dist/cli/{mcp-inspect-CEMGKKAH.js → mcp-inspect-TPLHW5JA.js} +4 -4
  76. package/dist/cli/{prompt-2D7ID24X.js → prompt-RJDNCQAP.js} +3 -3
  77. package/dist/cli/{prune-sessions-OJEYYLHY.js → prune-sessions-MKEATRVL.js} +2 -2
  78. package/dist/cli/{replay-AKYQNAQJ.js → replay-4NILJG4U.js} +8 -8
  79. package/dist/cli/{run-5DPQFSP6.js → run-WFGXB4SB.js} +17 -18
  80. package/dist/cli/run-WFGXB4SB.js.map +1 -0
  81. package/dist/cli/{server-TQ2IHYQJ.js → server-5VFQP3PV.js} +13 -13
  82. package/dist/cli/{sessions-KY54NG45.js → sessions-5XDJDALO.js} +28 -14
  83. package/dist/cli/sessions-5XDJDALO.js.map +1 -0
  84. package/dist/cli/{setup-XPIOZWS7.js → setup-F6XSWLRA.js} +7 -7
  85. package/dist/cli/setup-F6XSWLRA.js.map +1 -0
  86. package/dist/cli/{stats-X2VTWKNS.js → stats-ALHBZICE.js} +6 -6
  87. package/dist/cli/update-6ITLPRDV.js +0 -0
  88. package/dist/cli/{version-7O6A5T7Q.js → version-JVRAHBMM.js} +14 -14
  89. package/dist/index.d.ts +23 -13
  90. package/dist/index.js +1112 -1090
  91. package/dist/index.js.map +1 -1
  92. package/package.json +1 -1
  93. package/dist/cli/.-3G6VX5S7.js +0 -327
  94. package/dist/cli/.-6YRPB2C7.js +0 -329
  95. package/dist/cli/.-EYSVINK3.js +0 -317
  96. package/dist/cli/chat-ECK5ZGMV.js +0 -51
  97. package/dist/cli/chunk-AVFXO2EZ.js.map +0 -1
  98. package/dist/cli/chunk-IJ7JA32V.js.map +0 -1
  99. package/dist/cli/chunk-KQU2TYIL.js.map +0 -1
  100. package/dist/cli/chunk-V26WPN3J.js.map +0 -1
  101. package/dist/cli/chunk-WL6SNQ5T.js.map +0 -1
  102. package/dist/cli/chunk-XSU4QVFW.js.map +0 -1
  103. package/dist/cli/chunk-ZZYBBX5N.js.map +0 -1
  104. package/dist/cli/code-DFHSASJ4.js.map +0 -1
  105. package/dist/cli/doctor-Y73CPPRZ.js.map +0 -1
  106. package/dist/cli/prompt-2D7ID24X.js.map +0 -1
  107. package/dist/cli/run-5DPQFSP6.js.map +0 -1
  108. package/dist/cli/sessions-KY54NG45.js.map +0 -1
  109. package/dist/cli/setup-XPIOZWS7.js.map +0 -1
  110. package/dist/cli/stats-X2VTWKNS.js.map +0 -1
  111. /package/dist/cli/{acp-LGBLHBKY.js.map → acp-LKJU5DZX.js.map} +0 -0
  112. /package/dist/cli/{.-3G6VX5S7.js.map → chat-W7LAWEN6.js.map} +0 -0
  113. /package/dist/cli/{chunk-HVUZWNSP.js.map → chunk-3AAG2CUT.js.map} +0 -0
  114. /package/dist/cli/{chunk-LIR2HBQH.js.map → chunk-7LOJS3LV.js.map} +0 -0
  115. /package/dist/cli/{chunk-I4L2GTSE.js.map → chunk-7SGGXNB2.js.map} +0 -0
  116. /package/dist/cli/{chunk-CBIQWMS6.js.map → chunk-7YW6TPXK.js.map} +0 -0
  117. /package/dist/cli/{chunk-A3TSSDS2.js.map → chunk-C72TNHDE.js.map} +0 -0
  118. /package/dist/cli/{chunk-JNAQYELD.js.map → chunk-DHRVZJ2D.js.map} +0 -0
  119. /package/dist/cli/{chunk-5ACMUK4Q.js.map → chunk-E7TAHQ4A.js.map} +0 -0
  120. /package/dist/cli/{chunk-C53JQES5.js.map → chunk-EAOL43HB.js.map} +0 -0
  121. /package/dist/cli/{chunk-QJDDIK3Z.js.map → chunk-IYQ325V7.js.map} +0 -0
  122. /package/dist/cli/{chunk-4CTDEJUF.js.map → chunk-JLQDNLZF.js.map} +0 -0
  123. /package/dist/cli/{chunk-RDRC3XDT.js.map → chunk-JVFEJAJX.js.map} +0 -0
  124. /package/dist/cli/{chunk-GTZTQNX5.js.map → chunk-JVQT5IYP.js.map} +0 -0
  125. /package/dist/cli/{chunk-YY227BIQ.js.map → chunk-K3AIFMI6.js.map} +0 -0
  126. /package/dist/cli/{chunk-4HCP2UQW.js.map → chunk-NCBP5D6E.js.map} +0 -0
  127. /package/dist/cli/{chunk-HKWSPKMU.js.map → chunk-R2ASNSEO.js.map} +0 -0
  128. /package/dist/cli/{chunk-W7YGWUWU.js.map → chunk-SE7C5ZSI.js.map} +0 -0
  129. /package/dist/cli/{chunk-WK3UFQY3.js.map → chunk-TDSBASOF.js.map} +0 -0
  130. /package/dist/cli/{chunk-R3CTO2HM.js.map → chunk-WRONKNIH.js.map} +0 -0
  131. /package/dist/cli/{chunk-MJ6W5UN3.js.map → chunk-XPAUNFOL.js.map} +0 -0
  132. /package/dist/cli/{chunk-NVURFF27.js.map → chunk-YRLC2EDF.js.map} +0 -0
  133. /package/dist/cli/{commands-OCU42XG4.js.map → commands-OPT5AJNH.js.map} +0 -0
  134. /package/dist/cli/{commit-XCQIQCYG.js.map → commit-KA37H6GM.js.map} +0 -0
  135. /package/dist/cli/{desktop-ZCUG7LMF.js.map → desktop-5ONTRU3C.js.map} +0 -0
  136. /package/dist/cli/{diff-66B2KWOJ.js.map → diff-SOIA7AKH.js.map} +0 -0
  137. /package/dist/cli/{.-6YRPB2C7.js.map → doctor-RCUP4XRV.js.map} +0 -0
  138. /package/dist/cli/{events-NGZ2OJYH.js.map → events-6KHITNX4.js.map} +0 -0
  139. /package/dist/cli/{mcp-MPVGBBJF.js.map → mcp-JP5OWD6R.js.map} +0 -0
  140. /package/dist/cli/{mcp-browse-4XOTC3FJ.js.map → mcp-browse-ONCJJPJN.js.map} +0 -0
  141. /package/dist/cli/{mcp-inspect-CEMGKKAH.js.map → mcp-inspect-TPLHW5JA.js.map} +0 -0
  142. /package/dist/cli/{.-EYSVINK3.js.map → prompt-RJDNCQAP.js.map} +0 -0
  143. /package/dist/cli/{prune-sessions-OJEYYLHY.js.map → prune-sessions-MKEATRVL.js.map} +0 -0
  144. /package/dist/cli/{replay-AKYQNAQJ.js.map → replay-4NILJG4U.js.map} +0 -0
  145. /package/dist/cli/{server-TQ2IHYQJ.js.map → server-5VFQP3PV.js.map} +0 -0
  146. /package/dist/cli/{chat-ECK5ZGMV.js.map → stats-ALHBZICE.js.map} +0 -0
  147. /package/dist/cli/{version-7O6A5T7Q.js.map → version-JVRAHBMM.js.map} +0 -0
File without changes
@@ -2,67 +2,67 @@
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
  chatCommand
5
- } from "./chunk-KQU2TYIL.js";
5
+ } from "./chunk-SPXN5JIT.js";
6
6
  import "./chunk-CXVWUPA3.js";
7
7
  import "./chunk-JMBMLOBP.js";
8
- import "./chunk-GTZTQNX5.js";
8
+ import "./chunk-JVQT5IYP.js";
9
9
  import {
10
10
  buildCodeToolset
11
- } from "./chunk-CBIQWMS6.js";
11
+ } from "./chunk-7YW6TPXK.js";
12
12
  import "./chunk-HNXDZGC6.js";
13
- import "./chunk-4HCP2UQW.js";
14
- import "./chunk-NVURFF27.js";
13
+ import "./chunk-NCBP5D6E.js";
14
+ import "./chunk-YRLC2EDF.js";
15
15
  import {
16
16
  markPhase
17
17
  } from "./chunk-ZZM6QJ4W.js";
18
- import "./chunk-WL6SNQ5T.js";
19
- import "./chunk-WK3UFQY3.js";
20
- import "./chunk-C53JQES5.js";
21
- import "./chunk-XSU4QVFW.js";
22
- import "./chunk-JNAQYELD.js";
18
+ import "./chunk-ZOQHVQON.js";
19
+ import "./chunk-TDSBASOF.js";
20
+ import "./chunk-EAOL43HB.js";
21
+ import "./chunk-WQ6ZRDQM.js";
22
+ import "./chunk-DHRVZJ2D.js";
23
23
  import "./chunk-FEZK652I.js";
24
- import "./chunk-YY227BIQ.js";
25
- import "./chunk-I4L2GTSE.js";
24
+ import "./chunk-K3AIFMI6.js";
25
+ import "./chunk-7SGGXNB2.js";
26
26
  import "./chunk-X53B3JIX.js";
27
27
  import {
28
28
  resolvePreset
29
29
  } from "./chunk-2425HK6U.js";
30
- import "./chunk-HKWSPKMU.js";
30
+ import "./chunk-R2ASNSEO.js";
31
31
  import "./chunk-5QCB62C4.js";
32
32
  import "./chunk-6OWJV3YW.js";
33
- import "./chunk-V26WPN3J.js";
33
+ import "./chunk-MIIZJD5O.js";
34
34
  import "./chunk-25T6CVUP.js";
35
35
  import {
36
36
  loadDotenv
37
37
  } from "./chunk-2UQP6H6T.js";
38
- import "./chunk-W7YGWUWU.js";
38
+ import "./chunk-SE7C5ZSI.js";
39
39
  import "./chunk-SZ5XES2N.js";
40
- import "./chunk-5I2C4JEO.js";
41
- import "./chunk-QJDDIK3Z.js";
40
+ import "./chunk-2AASOSD5.js";
41
+ import "./chunk-IYQ325V7.js";
42
42
  import "./chunk-XJXDHAES.js";
43
- import "./chunk-MJ6W5UN3.js";
44
- import "./chunk-RDRC3XDT.js";
43
+ import "./chunk-XPAUNFOL.js";
44
+ import "./chunk-JVFEJAJX.js";
45
45
  import {
46
46
  detectForeignAgentPlatform
47
47
  } from "./chunk-TEUDEGX2.js";
48
48
  import "./chunk-PLHAZOLZ.js";
49
- import "./chunk-LIR2HBQH.js";
50
- import "./chunk-4CTDEJUF.js";
51
- import "./chunk-A3TSSDS2.js";
49
+ import "./chunk-7LOJS3LV.js";
50
+ import "./chunk-JLQDNLZF.js";
51
+ import "./chunk-C72TNHDE.js";
52
52
  import "./chunk-S4XVGLRW.js";
53
53
  import {
54
54
  sanitizeName
55
- } from "./chunk-5ACMUK4Q.js";
56
- import "./chunk-R3CTO2HM.js";
57
- import "./chunk-ZZYBBX5N.js";
55
+ } from "./chunk-E7TAHQ4A.js";
56
+ import "./chunk-WRONKNIH.js";
57
+ import "./chunk-M4E5JK6S.js";
58
58
  import {
59
59
  t
60
- } from "./chunk-IJ7JA32V.js";
60
+ } from "./chunk-6VANO7KB.js";
61
61
  import {
62
62
  loadApiKey,
63
63
  loadPreset,
64
64
  readConfig
65
- } from "./chunk-AVFXO2EZ.js";
65
+ } from "./chunk-DGA5QYFM.js";
66
66
  import "./chunk-XXC2BYTV.js";
67
67
  import "./chunk-TUK7OWJA.js";
68
68
 
@@ -77,7 +77,7 @@ async function codeCommand(opts = {}) {
77
77
  if (cfgKey && !process.env.DEEPSEEK_API_KEY) {
78
78
  process.env.DEEPSEEK_API_KEY = cfgKey;
79
79
  }
80
- const { codeSystemPrompt } = await import("./prompt-2D7ID24X.js");
80
+ const { codeSystemPrompt } = await import("./prompt-RJDNCQAP.js");
81
81
  const rootDir = resolve(opts.dir ?? process.cwd());
82
82
  const session = opts.noSession ? void 0 : `code-${sanitizeName(basename(rootDir))}`;
83
83
  markPhase("semantic_bootstrap_start");
@@ -129,7 +129,6 @@ async function codeCommand(opts = {}) {
129
129
  await chatCommand({
130
130
  model: resolvedModel,
131
131
  budgetUsd: opts.budgetUsd,
132
- failureThreshold: opts.failureThreshold,
133
132
  system: codeRebuildSystem(),
134
133
  rebuildSystem: codeRebuildSystem,
135
134
  transcript: opts.transcript,
@@ -161,4 +160,4 @@ async function codeCommand(opts = {}) {
161
160
  export {
162
161
  codeCommand
163
162
  };
164
- //# sourceMappingURL=code-DFHSASJ4.js.map
163
+ //# sourceMappingURL=code-2JIHL5M2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cli/commands/code.tsx"],"sourcesContent":["/**\n * `reasonix code [dir]` — opinionated wrapper around `reasonix chat` for\n * code-editing workflows.\n *\n * What it does differently from plain chat:\n * - Registers native filesystem tools rooted at the given directory\n * (CWD by default). No subprocess, no `npx install` step, R1-\n * friendly schemas. Replaced the old `@modelcontextprotocol/server-filesystem`\n * subprocess in 0.4.9 because its `edit_file` argv shape was the\n * biggest driver of R1 DSML hallucinations.\n * - Uses a coding-focused system prompt (src/code/prompt.ts) that\n * teaches the model to propose edits as SEARCH/REPLACE blocks.\n * - Defaults to the `smart` preset (reasoner + harvest) because\n * coding tasks pay back R1 thinking.\n * - Scopes its session to the directory so projects don't share\n * conversation history.\n * - Hooks `codeMode` into the TUI so assistant replies get parsed\n * for SEARCH/REPLACE blocks and applied on disk after each turn.\n */\n\nimport { readFileSync } from \"node:fs\";\nimport { basename, resolve } from \"node:path\";\nimport { buildCodeToolset } from \"../../code/setup.js\";\nimport { loadApiKey, loadPreset, readConfig } from \"../../config.js\";\nimport { loadDotenv } from \"../../env.js\";\nimport { t } from \"../../i18n/index.js\";\nimport { detectForeignAgentPlatform } from \"../../memory/project.js\";\nimport { sanitizeName } from \"../../memory/session.js\";\nimport { markPhase } from \"../startup-profile.js\";\nimport { resolvePreset } from \"../ui/presets.js\";\nimport { chatCommand } from \"./chat.js\";\n\nexport interface CodeOptions {\n /** Directory to root the filesystem tools at. Defaults to process.cwd(). */\n dir?: string;\n /** Override the default `smart` model. */\n model?: string;\n /** Disable session persistence. */\n noSession?: boolean;\n /** Transcript file for replay/diff. */\n transcript?: string;\n /** Skip the session picker — always resume prior messages. */\n forceResume?: boolean;\n /** Skip the session picker — always wipe prior messages and start fresh. */\n forceNew?: boolean;\n /**\n * Soft USD spend cap. Off by default. Same semantics as `chat`:\n * warns at 80%, refuses next turn at 100%. Mid-session adjustable\n * via `/budget <usd>` slash command.\n */\n budgetUsd?: number;\n /** Suppress the auto-launched embedded web dashboard. */\n noDashboard?: boolean;\n /** When true and the dashboard is enabled, open its URL in the system default browser as soon as the server is ready. */\n openDashboard?: boolean;\n /** Pin the dashboard to a fixed port. `undefined` keeps ephemeral assignment. */\n dashboardPort?: number;\n /** Dashboard bind address (#968). `undefined` keeps the default 127.0.0.1. */\n dashboardHost?: string;\n /** Stable dashboard URL token (#968). `undefined` mints a fresh per-boot token. */\n dashboardToken?: string;\n /** Inline string appended to the code system prompt after the generated base prompt. */\n systemAppend?: string;\n /** Path to a UTF-8 text file whose contents are appended to the code system prompt. */\n systemAppendFile?: string;\n}\n\nexport async function codeCommand(opts: CodeOptions = {}): Promise<void> {\n markPhase(\"code_command_enter\");\n const resolvedModel = opts.model ?? resolvePreset(loadPreset()).model;\n // Bridge .env + ~/.reasonix/config.json into process.env so buildCodeToolset's\n // eager DeepSeekClient constructions (subagent client; semantic embedder) can\n // pick up a key the user already configured via `reasonix setup`. chatCommand\n // does the same dance — code.tsx wraps chatCommand but must also seed env\n // before buildCodeToolset runs, which is BEFORE chatCommand.\n loadDotenv();\n const cfgKey = loadApiKey();\n if (cfgKey && !process.env.DEEPSEEK_API_KEY) {\n process.env.DEEPSEEK_API_KEY = cfgKey;\n }\n const { codeSystemPrompt } = await import(\"../../code/prompt.js\");\n const rootDir = resolve(opts.dir ?? process.cwd());\n // Per-directory session so switching projects doesn't mix histories.\n // `code-<sanitized-basename>` fits the session name rules without\n // truncating most project names.\n const session = opts.noSession ? undefined : `code-${sanitizeName(basename(rootDir))}`;\n\n markPhase(\"semantic_bootstrap_start\");\n const { tools, jobs, registerRooted, reBootstrapSemantic, semantic } = await buildCodeToolset({\n rootDir,\n });\n markPhase(\n semantic.enabled ? \"semantic_bootstrap_done_enabled\" : \"semantic_bootstrap_done_skipped\",\n );\n\n process.stderr.write(\n `${t(\"startup.codeRooted\", {\n rootDir,\n session: session ?? t(\"startup.ephemeral\"),\n tools: tools.size,\n semantic: semantic.enabled ? t(\"startup.semanticOn\") : \"\",\n })}\\n`,\n );\n\n const foreign = detectForeignAgentPlatform(rootDir);\n if (foreign) {\n process.stderr.write(t(\"code.workspaceConflict\", { platforms: foreign.join(\", \") }));\n }\n\n // Belt-and-suspenders cleanup: even though spawn(detached:false)\n // should tie child processes to the parent's lifetime, Windows cmd.exe\n // wrappers occasionally leak. We DON'T install SIGINT/SIGTERM\n // handlers here — that overrode Node's default \"exit on Ctrl+C\" with\n // a silent no-op, which made Ctrl+C feel broken in the TUI. App.tsx\n // owns the SIGINT path now (it shows the quit-armed banner and calls\n // exit() on confirmation); this 'exit' hook just guarantees the job\n // registry is drained on the way out, regardless of which exit path\n // fired.\n process.once(\"exit\", () => {\n void jobs.shutdown();\n });\n\n let systemAppendFileContents: string | undefined;\n if (opts.systemAppend !== undefined && opts.systemAppend.trim().length === 0) {\n process.stderr.write(t(\"code.systemAppendEmpty\"));\n }\n if (opts.systemAppendFile) {\n const filePath = resolve(opts.systemAppendFile);\n try {\n systemAppendFileContents = readFileSync(filePath, \"utf8\");\n } catch (err) {\n const e = err as NodeJS.ErrnoException;\n const errorDetails = e.code ? `[${e.code}] ${e.message}` : e.message;\n process.stderr.write(t(\"code.systemAppendFileReadError\", { filePath, errorDetails }));\n process.exit(1);\n }\n }\n\n // The rebuilder is re-invoked on `/new` and `/cwd`. `currentRoot` is the live\n // pointer; `/cwd` updates it via `onRootChange` so the rebuild picks up the\n // new workspace's REASONIX.md / memory without restarting the loop.\n let currentRoot = rootDir;\n let semanticEnabled = semantic.enabled;\n const codeRebuildSystem = () =>\n codeSystemPrompt(currentRoot, {\n hasSemanticSearch: semanticEnabled,\n systemAppend: opts.systemAppend,\n systemAppendFile: systemAppendFileContents,\n modelId: resolvedModel,\n });\n await chatCommand({\n model: resolvedModel,\n budgetUsd: opts.budgetUsd,\n system: codeRebuildSystem(),\n rebuildSystem: codeRebuildSystem,\n transcript: opts.transcript,\n session,\n seedTools: tools,\n codeMode: {\n rootDir,\n jobs,\n reregisterTools: registerRooted,\n reBootstrapSemantic: async (root: string) => {\n const r = await reBootstrapSemantic(root);\n semanticEnabled = r.enabled;\n return r;\n },\n onRootChange: (newRoot: string) => {\n currentRoot = newRoot;\n },\n },\n mcp: readConfig().mcp,\n forceResume: opts.forceResume,\n forceNew: opts.forceNew,\n noDashboard: opts.noDashboard,\n openDashboard: opts.openDashboard,\n dashboardPort: opts.dashboardPort,\n dashboardHost: opts.dashboardHost,\n dashboardToken: opts.dashboardToken,\n });\n}\n"],"mappings":"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","names":[]}
@@ -4,15 +4,15 @@ import {
4
4
  checkOllamaStatus,
5
5
  pullOllamaModel,
6
6
  startOllamaDaemon
7
- } from "./chunk-LIR2HBQH.js";
7
+ } from "./chunk-7LOJS3LV.js";
8
8
  import {
9
9
  buildIndex
10
- } from "./chunk-4CTDEJUF.js";
10
+ } from "./chunk-JLQDNLZF.js";
11
11
  import "./chunk-S4XVGLRW.js";
12
12
  import {
13
13
  loadIndexConfig,
14
14
  resolveSemanticEmbeddingConfig
15
- } from "./chunk-AVFXO2EZ.js";
15
+ } from "./chunk-DGA5QYFM.js";
16
16
  import "./chunk-TUK7OWJA.js";
17
17
 
18
18
  // src/cli/commands/index.ts
@@ -353,4 +353,4 @@ function makeTtyWriter() {
353
353
  export {
354
354
  indexCommand
355
355
  };
356
- //# sourceMappingURL=commands-OCU42XG4.js.map
356
+ //# sourceMappingURL=commands-OPT5AJNH.js.map
@@ -2,7 +2,7 @@
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
  DeepSeekClient
5
- } from "./chunk-V26WPN3J.js";
5
+ } from "./chunk-MIIZJD5O.js";
6
6
  import "./chunk-25T6CVUP.js";
7
7
  import {
8
8
  loadDotenv
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  loadApiKey,
12
12
  loadBaseUrl
13
- } from "./chunk-AVFXO2EZ.js";
13
+ } from "./chunk-DGA5QYFM.js";
14
14
  import "./chunk-TUK7OWJA.js";
15
15
 
16
16
  // src/cli/commands/commit.ts
@@ -289,4 +289,4 @@ async function commitCommand(opts = {}) {
289
289
  export {
290
290
  commitCommand
291
291
  };
292
- //# sourceMappingURL=commit-XCQIQCYG.js.map
292
+ //# sourceMappingURL=commit-KA37H6GM.js.map
@@ -2,16 +2,16 @@
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
  createMcpRuntime
5
- } from "./chunk-GTZTQNX5.js";
5
+ } from "./chunk-JVQT5IYP.js";
6
6
  import {
7
7
  buildCodeToolset
8
- } from "./chunk-CBIQWMS6.js";
8
+ } from "./chunk-7YW6TPXK.js";
9
9
  import {
10
10
  Eventizer,
11
11
  autoResolveVerdict
12
12
  } from "./chunk-HNXDZGC6.js";
13
- import "./chunk-4HCP2UQW.js";
14
- import "./chunk-NVURFF27.js";
13
+ import "./chunk-NCBP5D6E.js";
14
+ import "./chunk-YRLC2EDF.js";
15
15
  import {
16
16
  CacheFirstLoop,
17
17
  ImmutablePrefix,
@@ -19,14 +19,14 @@ import {
19
19
  listFilesWithStatsAsync,
20
20
  parseAtQuery,
21
21
  rankPickerCandidates
22
- } from "./chunk-WL6SNQ5T.js";
23
- import "./chunk-WK3UFQY3.js";
24
- import "./chunk-C53JQES5.js";
25
- import "./chunk-XSU4QVFW.js";
22
+ } from "./chunk-ZOQHVQON.js";
23
+ import "./chunk-TDSBASOF.js";
24
+ import "./chunk-EAOL43HB.js";
25
+ import "./chunk-WQ6ZRDQM.js";
26
26
  import {
27
27
  MemoryStore,
28
28
  codeSystemPrompt
29
- } from "./chunk-JNAQYELD.js";
29
+ } from "./chunk-DHRVZJ2D.js";
30
30
  import {
31
31
  canonicalPresetName,
32
32
  resolvePreset
@@ -37,21 +37,21 @@ import {
37
37
  import {
38
38
  DeepSeekClient,
39
39
  pickPrimaryBalance
40
- } from "./chunk-V26WPN3J.js";
40
+ } from "./chunk-MIIZJD5O.js";
41
41
  import "./chunk-25T6CVUP.js";
42
42
  import {
43
43
  loadDotenv
44
44
  } from "./chunk-2UQP6H6T.js";
45
- import "./chunk-MJ6W5UN3.js";
45
+ import "./chunk-XPAUNFOL.js";
46
46
  import {
47
47
  pauseGate
48
- } from "./chunk-RDRC3XDT.js";
48
+ } from "./chunk-JVFEJAJX.js";
49
49
  import {
50
50
  SkillStore
51
51
  } from "./chunk-TEUDEGX2.js";
52
52
  import "./chunk-PLHAZOLZ.js";
53
- import "./chunk-4CTDEJUF.js";
54
- import "./chunk-A3TSSDS2.js";
53
+ import "./chunk-JLQDNLZF.js";
54
+ import "./chunk-C72TNHDE.js";
55
55
  import "./chunk-S4XVGLRW.js";
56
56
  import {
57
57
  deleteSession,
@@ -60,10 +60,10 @@ import {
60
60
  loadSessionMeta,
61
61
  patchSessionMeta,
62
62
  timestampSuffix
63
- } from "./chunk-5ACMUK4Q.js";
64
- import "./chunk-R3CTO2HM.js";
65
- import "./chunk-ZZYBBX5N.js";
66
- import "./chunk-IJ7JA32V.js";
63
+ } from "./chunk-E7TAHQ4A.js";
64
+ import "./chunk-WRONKNIH.js";
65
+ import "./chunk-M4E5JK6S.js";
66
+ import "./chunk-6VANO7KB.js";
67
67
  import {
68
68
  isPlausibleKey,
69
69
  loadApiKey,
@@ -88,7 +88,7 @@ import {
88
88
  saveReasoningEffort,
89
89
  saveWorkspaceDir,
90
90
  writeConfig
91
- } from "./chunk-AVFXO2EZ.js";
91
+ } from "./chunk-DGA5QYFM.js";
92
92
  import {
93
93
  VERSION
94
94
  } from "./chunk-XXC2BYTV.js";
@@ -1252,4 +1252,4 @@ export {
1252
1252
  desktopCommand,
1253
1253
  installDesktopCrashGuards
1254
1254
  };
1255
- //# sourceMappingURL=desktop-ZCUG7LMF.js.map
1255
+ //# sourceMappingURL=desktop-5ONTRU3C.js.map
File without changes
@@ -2,17 +2,17 @@
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-HVUZWNSP.js";
5
+ } from "./chunk-3AAG2CUT.js";
6
6
  import {
7
7
  diffTranscripts,
8
8
  findNextDivergence,
9
9
  findPrevDivergence,
10
10
  renderMarkdown,
11
11
  renderSummaryTable
12
- } from "./chunk-WK3UFQY3.js";
12
+ } from "./chunk-TDSBASOF.js";
13
13
  import {
14
14
  readTranscript
15
- } from "./chunk-C53JQES5.js";
15
+ } from "./chunk-EAOL43HB.js";
16
16
  import {
17
17
  Box_default,
18
18
  Static,
@@ -22,13 +22,13 @@ import {
22
22
  use_app_default,
23
23
  use_input_default
24
24
  } from "./chunk-X53B3JIX.js";
25
- import "./chunk-V26WPN3J.js";
25
+ import "./chunk-MIIZJD5O.js";
26
26
  import "./chunk-25T6CVUP.js";
27
- import "./chunk-ZZYBBX5N.js";
27
+ import "./chunk-M4E5JK6S.js";
28
28
  import {
29
29
  t
30
- } from "./chunk-IJ7JA32V.js";
31
- import "./chunk-AVFXO2EZ.js";
30
+ } from "./chunk-6VANO7KB.js";
31
+ import "./chunk-DGA5QYFM.js";
32
32
  import {
33
33
  __toESM
34
34
  } from "./chunk-TUK7OWJA.js";
@@ -162,4 +162,4 @@ markdown report written to ${opts.mdPath}`);
162
162
  export {
163
163
  diffCommand
164
164
  };
165
- //# sourceMappingURL=diff-66B2KWOJ.js.map
165
+ //# sourceMappingURL=diff-SOIA7AKH.js.map
@@ -4,19 +4,19 @@ import {
4
4
  doctorCommand,
5
5
  formatDoctorJson,
6
6
  runDoctorChecks
7
- } from "./chunk-HKWSPKMU.js";
7
+ } from "./chunk-R2ASNSEO.js";
8
8
  import "./chunk-5QCB62C4.js";
9
9
  import "./chunk-6OWJV3YW.js";
10
- import "./chunk-V26WPN3J.js";
10
+ import "./chunk-MIIZJD5O.js";
11
11
  import "./chunk-25T6CVUP.js";
12
12
  import "./chunk-2UQP6H6T.js";
13
- import "./chunk-LIR2HBQH.js";
14
- import "./chunk-4CTDEJUF.js";
15
- import "./chunk-A3TSSDS2.js";
13
+ import "./chunk-7LOJS3LV.js";
14
+ import "./chunk-JLQDNLZF.js";
15
+ import "./chunk-C72TNHDE.js";
16
16
  import "./chunk-S4XVGLRW.js";
17
- import "./chunk-5ACMUK4Q.js";
18
- import "./chunk-IJ7JA32V.js";
19
- import "./chunk-AVFXO2EZ.js";
17
+ import "./chunk-E7TAHQ4A.js";
18
+ import "./chunk-6VANO7KB.js";
19
+ import "./chunk-DGA5QYFM.js";
20
20
  import "./chunk-XXC2BYTV.js";
21
21
  import "./chunk-TUK7OWJA.js";
22
22
  export {
@@ -24,4 +24,4 @@ export {
24
24
  formatDoctorJson,
25
25
  runDoctorChecks
26
26
  };
27
- //# sourceMappingURL=doctor-Y73CPPRZ.js.map
27
+ //# sourceMappingURL=doctor-RCUP4XRV.js.map
@@ -5,8 +5,8 @@ import {
5
5
  } from "./chunk-J5XJHLWM.js";
6
6
  import {
7
7
  eventLogPath
8
- } from "./chunk-QJDDIK3Z.js";
9
- import "./chunk-5ACMUK4Q.js";
8
+ } from "./chunk-IYQ325V7.js";
9
+ import "./chunk-E7TAHQ4A.js";
10
10
  import "./chunk-TUK7OWJA.js";
11
11
 
12
12
  // src/core/reducers.ts
@@ -337,4 +337,4 @@ function mapReplacer(_key, value) {
337
337
  export {
338
338
  eventsCommand
339
339
  };
340
- //# sourceMappingURL=events-NGZ2OJYH.js.map
340
+ //# sourceMappingURL=events-6KHITNX4.js.map