reasonix 0.50.0 → 0.51.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 (147) hide show
  1. package/dashboard/dist/app.css +1 -1
  2. package/dashboard/dist/app.js +24 -22
  3. package/dashboard/dist/app.js.map +1 -1
  4. package/dist/cli/{acp-6B25WIFF.js → acp-XEUHGG7X.js} +34 -31
  5. package/dist/cli/acp-XEUHGG7X.js.map +1 -0
  6. package/dist/cli/chat-NJ2Q5KHG.js +50 -0
  7. package/dist/cli/{chunk-OPGWCKKU.js → chunk-2HVTBFCI.js} +3 -3
  8. package/dist/cli/{chunk-AJIZ5KFK.js → chunk-2WUEAI2I.js} +3 -3
  9. package/dist/cli/{chunk-I4Q3QT4W.js → chunk-36BM7INR.js} +2 -2
  10. package/dist/cli/{chunk-3RNFYDDM.js → chunk-3BTK5BHI.js} +11 -7
  11. package/dist/cli/chunk-3BTK5BHI.js.map +1 -0
  12. package/dist/cli/{chunk-GMSAB2TC.js → chunk-3YRTIWFX.js} +2 -2
  13. package/dist/cli/{chunk-NLRC3DWQ.js → chunk-544J4PXD.js} +5 -5
  14. package/dist/cli/{chunk-7WITYWKN.js → chunk-5AIDYVH2.js} +2 -2
  15. package/dist/cli/{chunk-ALCOQP6R.js → chunk-5BBC6YMV.js} +5 -5
  16. package/dist/cli/{chunk-S4XVGLRW.js → chunk-6UNHNVJR.js} +72 -5
  17. package/dist/cli/chunk-6UNHNVJR.js.map +1 -0
  18. package/dist/cli/{chunk-IK6WWRIX.js → chunk-6XWXIVQ3.js} +38 -22
  19. package/dist/cli/chunk-6XWXIVQ3.js.map +1 -0
  20. package/dist/cli/{chunk-AAHB2PFX.js → chunk-7YB26OQO.js} +4 -4
  21. package/dist/cli/chunk-7YB26OQO.js.map +1 -0
  22. package/dist/cli/{chunk-MXWPAPZW.js → chunk-A5PBEIJ7.js} +53 -10
  23. package/dist/cli/chunk-A5PBEIJ7.js.map +1 -0
  24. package/dist/cli/{chunk-FQSQFCBI.js → chunk-BA5R6BAE.js} +2 -2
  25. package/dist/cli/{chunk-XWPZHWC2.js → chunk-BM6BBFAV.js} +2 -2
  26. package/dist/cli/{chunk-CAGKEGNE.js → chunk-BOWSNGQC.js} +52 -140
  27. package/dist/cli/chunk-BOWSNGQC.js.map +1 -0
  28. package/dist/cli/{chunk-EZ57UEZQ.js → chunk-C2MRSJTV.js} +2 -2
  29. package/dist/cli/{chunk-PYIZZAVQ.js → chunk-DVD67FXQ.js} +1716 -4
  30. package/dist/cli/chunk-DVD67FXQ.js.map +1 -0
  31. package/dist/cli/{chunk-ZAXMJANP.js → chunk-EAMXOWUW.js} +3 -3
  32. package/dist/cli/{chunk-TX652NBA.js → chunk-EWVFGYT6.js} +2 -2
  33. package/dist/cli/{chunk-IBRTU5WO.js → chunk-FP7IOWBQ.js} +18 -1182
  34. package/dist/cli/chunk-FP7IOWBQ.js.map +1 -0
  35. package/dist/cli/{chunk-I6FBSTTR.js → chunk-HGK57NBN.js} +9 -353
  36. package/dist/cli/chunk-HGK57NBN.js.map +1 -0
  37. package/dist/cli/chunk-JHWQDJZA.js +80 -0
  38. package/dist/cli/chunk-JHWQDJZA.js.map +1 -0
  39. package/dist/cli/{chunk-X2BQZQEE.js → chunk-K3QJ3GKI.js} +3 -3
  40. package/dist/cli/{chunk-GPUH2BNM.js → chunk-K4YQFULP.js} +612 -254
  41. package/dist/cli/chunk-K4YQFULP.js.map +1 -0
  42. package/dist/cli/chunk-L3VPEESB.js +31 -0
  43. package/dist/cli/chunk-L3VPEESB.js.map +1 -0
  44. package/dist/cli/{chunk-ENFBF6HI.js → chunk-N4SEBLU4.js} +383 -5
  45. package/dist/cli/chunk-N4SEBLU4.js.map +1 -0
  46. package/dist/cli/chunk-NRROJXXT.js +879 -0
  47. package/dist/cli/chunk-NRROJXXT.js.map +1 -0
  48. package/dist/cli/{chunk-3KRRTLC5.js → chunk-R6KIHEF3.js} +1619 -1036
  49. package/dist/cli/chunk-R6KIHEF3.js.map +1 -0
  50. package/dist/cli/{chunk-VVMY4M7J.js → chunk-SBHF5NWD.js} +27 -4
  51. package/dist/cli/chunk-SBHF5NWD.js.map +1 -0
  52. package/dist/cli/{chunk-OWA42BKS.js → chunk-SXSAWOB7.js} +14 -14
  53. package/dist/cli/{chunk-6IUMTRFP.js → chunk-UMZ6KHTS.js} +2 -2
  54. package/dist/cli/{chunk-7X4JJOO7.js → chunk-UO6E7FN3.js} +69 -5
  55. package/dist/cli/{chunk-7X4JJOO7.js.map → chunk-UO6E7FN3.js.map} +1 -1
  56. package/dist/cli/{chunk-3ZZXQ3CZ.js → chunk-UPW544V3.js} +2 -2
  57. package/dist/cli/{chunk-XJZWMU5P.js → chunk-WPOKBW5E.js} +2 -2
  58. package/dist/cli/{chunk-WSBFVOCO.js → chunk-Z3MKG7MQ.js} +2 -2
  59. package/dist/cli/{code-TBK2TASK.js → code-BMXLBC7D.js} +37 -36
  60. package/dist/cli/{code-TBK2TASK.js.map → code-BMXLBC7D.js.map} +1 -1
  61. package/dist/cli/{commands-NXTKSQTN.js → commands-E4RZXMF6.js} +5 -5
  62. package/dist/cli/{commit-IR5SPP7A.js → commit-KSRQ64IL.js} +3 -3
  63. package/dist/cli/{config-XK5WQGTS.js → config-QNDONOTU.js} +4 -2
  64. package/dist/cli/{desktop-5NTQBADL.js → desktop-H3ZHIMDA.js} +83 -37
  65. package/dist/cli/desktop-H3ZHIMDA.js.map +1 -0
  66. package/dist/cli/{diff-JNYX5BSZ.js → diff-I4PYI43W.js} +9 -9
  67. package/dist/cli/{doctor-IKYLUFXX.js → doctor-Y2E4MY2F.js} +12 -12
  68. package/dist/cli/{events-HSC57ONU.js → events-47HOT7ZA.js} +5 -5
  69. package/dist/cli/find-in-code-YLEIK5FK.js +145 -0
  70. package/dist/cli/find-in-code-YLEIK5FK.js.map +1 -0
  71. package/dist/cli/index.js +95 -44
  72. package/dist/cli/index.js.map +1 -1
  73. package/dist/cli/{mcp-BDJJWOCD.js → mcp-76DK63ZB.js} +3 -3
  74. package/dist/cli/{mcp-browse-NJRZDI6V.js → mcp-browse-SDNUGO74.js} +3 -3
  75. package/dist/cli/{mcp-inspect-Y62NWZQL.js → mcp-inspect-BL5DEO5M.js} +3 -3
  76. package/dist/cli/{prompt-UTOIFUQC.js → prompt-JLATI3P7.js} +5 -5
  77. package/dist/cli/{prune-sessions-UCUD4XAP.js → prune-sessions-WHZDFUKD.js} +4 -4
  78. package/dist/cli/{replay-VVIN64MN.js → replay-MHXS7C7Z.js} +10 -10
  79. package/dist/cli/{run-76OBDZFB.js → run-SXNCPRJE.js} +22 -22
  80. package/dist/cli/{server-SZZDKTH2.js → server-GEHOE6CO.js} +61 -35
  81. package/dist/cli/server-GEHOE6CO.js.map +1 -0
  82. package/dist/cli/{sessions-FZTGRCM5.js → sessions-EPBFYISL.js} +18 -18
  83. package/dist/cli/{setup-4UNENGOE.js → setup-IW2XR5XI.js} +8 -7
  84. package/dist/cli/setup-IW2XR5XI.js.map +1 -0
  85. package/dist/cli/{stats-F4NDOD7D.js → stats-4WB4XHBP.js} +6 -6
  86. package/dist/cli/symbols-UQ274IOB.js +167 -0
  87. package/dist/cli/symbols-UQ274IOB.js.map +1 -0
  88. package/dist/cli/version-4SP3DLLH.js +33 -0
  89. package/dist/index.d.ts +25 -6
  90. package/dist/index.js +2700 -578
  91. package/dist/index.js.map +1 -1
  92. package/package.json +6 -3
  93. package/scripts/postinstall.mjs +10 -0
  94. package/dist/cli/acp-6B25WIFF.js.map +0 -1
  95. package/dist/cli/chat-7WASPB4O.js +0 -50
  96. package/dist/cli/chunk-3KRRTLC5.js.map +0 -1
  97. package/dist/cli/chunk-3RNFYDDM.js.map +0 -1
  98. package/dist/cli/chunk-AAHB2PFX.js.map +0 -1
  99. package/dist/cli/chunk-CAGKEGNE.js.map +0 -1
  100. package/dist/cli/chunk-ENFBF6HI.js.map +0 -1
  101. package/dist/cli/chunk-GPUH2BNM.js.map +0 -1
  102. package/dist/cli/chunk-I6FBSTTR.js.map +0 -1
  103. package/dist/cli/chunk-IBRTU5WO.js.map +0 -1
  104. package/dist/cli/chunk-IK6WWRIX.js.map +0 -1
  105. package/dist/cli/chunk-MXWPAPZW.js.map +0 -1
  106. package/dist/cli/chunk-PYIZZAVQ.js.map +0 -1
  107. package/dist/cli/chunk-S4XVGLRW.js.map +0 -1
  108. package/dist/cli/chunk-VVMY4M7J.js.map +0 -1
  109. package/dist/cli/desktop-5NTQBADL.js.map +0 -1
  110. package/dist/cli/server-SZZDKTH2.js.map +0 -1
  111. package/dist/cli/setup-4UNENGOE.js.map +0 -1
  112. package/dist/cli/version-LUVTWHLL.js +0 -33
  113. /package/dist/cli/{chat-7WASPB4O.js.map → chat-NJ2Q5KHG.js.map} +0 -0
  114. /package/dist/cli/{chunk-OPGWCKKU.js.map → chunk-2HVTBFCI.js.map} +0 -0
  115. /package/dist/cli/{chunk-AJIZ5KFK.js.map → chunk-2WUEAI2I.js.map} +0 -0
  116. /package/dist/cli/{chunk-I4Q3QT4W.js.map → chunk-36BM7INR.js.map} +0 -0
  117. /package/dist/cli/{chunk-GMSAB2TC.js.map → chunk-3YRTIWFX.js.map} +0 -0
  118. /package/dist/cli/{chunk-NLRC3DWQ.js.map → chunk-544J4PXD.js.map} +0 -0
  119. /package/dist/cli/{chunk-7WITYWKN.js.map → chunk-5AIDYVH2.js.map} +0 -0
  120. /package/dist/cli/{chunk-ALCOQP6R.js.map → chunk-5BBC6YMV.js.map} +0 -0
  121. /package/dist/cli/{chunk-FQSQFCBI.js.map → chunk-BA5R6BAE.js.map} +0 -0
  122. /package/dist/cli/{chunk-XWPZHWC2.js.map → chunk-BM6BBFAV.js.map} +0 -0
  123. /package/dist/cli/{chunk-EZ57UEZQ.js.map → chunk-C2MRSJTV.js.map} +0 -0
  124. /package/dist/cli/{chunk-ZAXMJANP.js.map → chunk-EAMXOWUW.js.map} +0 -0
  125. /package/dist/cli/{chunk-TX652NBA.js.map → chunk-EWVFGYT6.js.map} +0 -0
  126. /package/dist/cli/{chunk-X2BQZQEE.js.map → chunk-K3QJ3GKI.js.map} +0 -0
  127. /package/dist/cli/{chunk-OWA42BKS.js.map → chunk-SXSAWOB7.js.map} +0 -0
  128. /package/dist/cli/{chunk-6IUMTRFP.js.map → chunk-UMZ6KHTS.js.map} +0 -0
  129. /package/dist/cli/{chunk-3ZZXQ3CZ.js.map → chunk-UPW544V3.js.map} +0 -0
  130. /package/dist/cli/{chunk-XJZWMU5P.js.map → chunk-WPOKBW5E.js.map} +0 -0
  131. /package/dist/cli/{chunk-WSBFVOCO.js.map → chunk-Z3MKG7MQ.js.map} +0 -0
  132. /package/dist/cli/{commands-NXTKSQTN.js.map → commands-E4RZXMF6.js.map} +0 -0
  133. /package/dist/cli/{commit-IR5SPP7A.js.map → commit-KSRQ64IL.js.map} +0 -0
  134. /package/dist/cli/{config-XK5WQGTS.js.map → config-QNDONOTU.js.map} +0 -0
  135. /package/dist/cli/{diff-JNYX5BSZ.js.map → diff-I4PYI43W.js.map} +0 -0
  136. /package/dist/cli/{doctor-IKYLUFXX.js.map → doctor-Y2E4MY2F.js.map} +0 -0
  137. /package/dist/cli/{events-HSC57ONU.js.map → events-47HOT7ZA.js.map} +0 -0
  138. /package/dist/cli/{mcp-BDJJWOCD.js.map → mcp-76DK63ZB.js.map} +0 -0
  139. /package/dist/cli/{mcp-browse-NJRZDI6V.js.map → mcp-browse-SDNUGO74.js.map} +0 -0
  140. /package/dist/cli/{mcp-inspect-Y62NWZQL.js.map → mcp-inspect-BL5DEO5M.js.map} +0 -0
  141. /package/dist/cli/{prompt-UTOIFUQC.js.map → prompt-JLATI3P7.js.map} +0 -0
  142. /package/dist/cli/{prune-sessions-UCUD4XAP.js.map → prune-sessions-WHZDFUKD.js.map} +0 -0
  143. /package/dist/cli/{replay-VVIN64MN.js.map → replay-MHXS7C7Z.js.map} +0 -0
  144. /package/dist/cli/{run-76OBDZFB.js.map → run-SXNCPRJE.js.map} +0 -0
  145. /package/dist/cli/{sessions-FZTGRCM5.js.map → sessions-EPBFYISL.js.map} +0 -0
  146. /package/dist/cli/{stats-F4NDOD7D.js.map → stats-4WB4XHBP.js.map} +0 -0
  147. /package/dist/cli/{version-LUVTWHLL.js.map → version-4SP3DLLH.js.map} +0 -0
@@ -1758,7 +1758,7 @@ var require_picomatch2 = __commonJS({
1758
1758
 
1759
1759
  // src/config.ts
1760
1760
  import { randomBytes } from "crypto";
1761
- import { chmodSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "fs";
1761
+ import { mkdirSync, readFileSync } from "fs";
1762
1762
  import { homedir } from "os";
1763
1763
  import { dirname, isAbsolute, join, resolve } from "path";
1764
1764
 
@@ -16544,11 +16544,52 @@ function balanceColor(amount, currency) {
16544
16544
  return TONE.brand;
16545
16545
  }
16546
16546
 
16547
+ // src/core/atomic-write.ts
16548
+ import { chmodSync, copyFileSync, renameSync, unlinkSync, writeFileSync } from "fs";
16549
+ var defaultFs = {
16550
+ writeFileSync,
16551
+ chmodSync,
16552
+ renameSync,
16553
+ copyFileSync,
16554
+ unlinkSync
16555
+ };
16556
+ function atomicWriteSync(path, body, tmp, mode = 384, fs = defaultFs) {
16557
+ try {
16558
+ fs.writeFileSync(tmp, body, "utf8");
16559
+ try {
16560
+ fs.chmodSync(tmp, mode);
16561
+ } catch {
16562
+ }
16563
+ try {
16564
+ fs.renameSync(tmp, path);
16565
+ } catch (err) {
16566
+ if (err.code !== "EXDEV") throw err;
16567
+ fs.copyFileSync(tmp, path);
16568
+ try {
16569
+ fs.chmodSync(path, mode);
16570
+ } catch {
16571
+ }
16572
+ }
16573
+ } catch (err) {
16574
+ try {
16575
+ fs.unlinkSync(tmp);
16576
+ } catch {
16577
+ }
16578
+ throw err;
16579
+ }
16580
+ try {
16581
+ fs.unlinkSync(tmp);
16582
+ } catch {
16583
+ }
16584
+ }
16585
+
16547
16586
  // src/index/config.ts
16548
16587
  var import_picomatch = __toESM(require_picomatch2(), 1);
16549
16588
  var DEFAULT_INDEX_EXCLUDES = {
16550
16589
  dirs: [
16551
16590
  "node_modules",
16591
+ ".devenv",
16592
+ ".direnv",
16552
16593
  ".git",
16553
16594
  ".hg",
16554
16595
  ".svn",
@@ -17020,7 +17061,7 @@ function loadExaApiKey(path = defaultConfigPath()) {
17020
17061
  }
17021
17062
  var DEFAULT_OLLAMA_URL = "http://localhost:11434";
17022
17063
  var DEFAULT_EMBED_MODEL = "nomic-embed-text";
17023
- var DEFAULT_TIMEOUT_MS = 3e4;
17064
+ var DEFAULT_TIMEOUT_MS = 18e4;
17024
17065
  var DEFAULT_BATCH_SIZE = 10;
17025
17066
  function defaultConfigPath() {
17026
17067
  return join(homedir(), ".reasonix", "config.json");
@@ -17104,12 +17145,7 @@ function clearDashboardToken(path = defaultConfigPath()) {
17104
17145
  function writeConfig(cfg, path = defaultConfigPath()) {
17105
17146
  mkdirSync(dirname(path), { recursive: true });
17106
17147
  const tmp = `${path}.${process.pid}.tmp`;
17107
- writeFileSync(tmp, JSON.stringify(cfg, null, 2), "utf8");
17108
- try {
17109
- chmodSync(tmp, 384);
17110
- } catch {
17111
- }
17112
- renameSync(tmp, path);
17148
+ atomicWriteSync(path, JSON.stringify(cfg, null, 2), tmp);
17113
17149
  }
17114
17150
  function loadLanguage(path = defaultConfigPath()) {
17115
17151
  return readConfig(path).lang;
@@ -17293,6 +17329,10 @@ function loadMouseWheelRows(path = defaultConfigPath()) {
17293
17329
  if (typeof raw !== "number" || !Number.isInteger(raw) || raw < 1) return void 0;
17294
17330
  return Math.min(raw, 10);
17295
17331
  }
17332
+ function loadHistoryScrollMode(path = defaultConfigPath()) {
17333
+ const raw = readConfig(path).historyScrollMode;
17334
+ return raw === "native" || raw === "app" || raw === "auto" ? raw : "auto";
17335
+ }
17296
17336
  function loadToolRateLimit(path = defaultConfigPath()) {
17297
17337
  return normalizeToolRateLimitConfig(readConfig(path).toolRateLimit);
17298
17338
  }
@@ -17729,7 +17769,7 @@ function resolveSemanticEmbeddingConfig(path = defaultConfigPath()) {
17729
17769
  apiKey,
17730
17770
  model,
17731
17771
  extraBody: normalizeExtraBody(user.openaiCompat?.extraBody),
17732
- timeoutMs: DEFAULT_TIMEOUT_MS,
17772
+ timeoutMs: user.openaiCompat?.timeoutMs ?? DEFAULT_TIMEOUT_MS,
17733
17773
  batchSize: user.openaiCompat?.batchSize ?? DEFAULT_BATCH_SIZE
17734
17774
  };
17735
17775
  }
@@ -17792,6 +17832,7 @@ function normalizeSemanticEmbeddingUserConfig(cfg) {
17792
17832
  apiKey: normalizeOptionalString(cfg?.openaiCompat?.apiKey),
17793
17833
  model: normalizeOptionalString(cfg?.openaiCompat?.model),
17794
17834
  extraBody: normalizeExtraBody(cfg?.openaiCompat?.extraBody),
17835
+ timeoutMs: normalizePositiveInt(cfg?.openaiCompat?.timeoutMs),
17795
17836
  batchSize: normalizePositiveInt(cfg?.openaiCompat?.batchSize)
17796
17837
  }
17797
17838
  };
@@ -17876,6 +17917,7 @@ export {
17876
17917
  formatBalance,
17877
17918
  formatCost,
17878
17919
  balanceColor,
17920
+ atomicWriteSync,
17879
17921
  require_picomatch2 as require_picomatch,
17880
17922
  DEFAULT_INDEX_EXCLUDES,
17881
17923
  DEFAULT_MAX_FILE_BYTES,
@@ -17922,6 +17964,7 @@ export {
17922
17964
  loadProxyConfig,
17923
17965
  loadRateLimit,
17924
17966
  loadMouseWheelRows,
17967
+ loadHistoryScrollMode,
17925
17968
  loadToolRateLimit,
17926
17969
  saveBaseUrl,
17927
17970
  resolveSkillPath,
@@ -17987,4 +18030,4 @@ export {
17987
18030
  loadQQConfig,
17988
18031
  saveQQConfig
17989
18032
  };
17990
- //# sourceMappingURL=chunk-MXWPAPZW.js.map
18033
+ //# sourceMappingURL=chunk-A5PBEIJ7.js.map