reasonix 0.48.1 → 0.49.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 (123) hide show
  1. package/dashboard/dist/app.js +123 -16
  2. package/dashboard/dist/app.js.map +1 -1
  3. package/dist/cli/{acp-QJGGHQLA.js → acp-WFQIC6SO.js} +18 -18
  4. package/dist/cli/chat-D32JGNVH.js +51 -0
  5. package/dist/cli/{chunk-TIJ4ZHD6.js → chunk-23ZPCIPR.js} +12 -9
  6. package/dist/cli/chunk-23ZPCIPR.js.map +1 -0
  7. package/dist/cli/{chunk-TKVXTQ3T.js → chunk-3ZZXQ3CZ.js} +27 -27
  8. package/dist/cli/chunk-3ZZXQ3CZ.js.map +1 -0
  9. package/dist/cli/{chunk-H2F4LDNH.js → chunk-7AST3QQ3.js} +2 -2
  10. package/dist/cli/{chunk-XMR2VCGT.js → chunk-7JTKBJ2G.js} +3 -3
  11. package/dist/cli/{chunk-X53B3JIX.js → chunk-7X4JJOO7.js} +2 -61
  12. package/dist/cli/{chunk-X53B3JIX.js.map → chunk-7X4JJOO7.js.map} +1 -1
  13. package/dist/cli/{chunk-WKOXKCF3.js → chunk-ASOLXV67.js} +3 -3
  14. package/dist/cli/{chunk-43ROGEX2.js → chunk-AWEULQG6.js} +10 -9
  15. package/dist/cli/{chunk-43ROGEX2.js.map → chunk-AWEULQG6.js.map} +1 -1
  16. package/dist/cli/{chunk-5AW6NIHU.js → chunk-DFX5ZH5L.js} +2 -2
  17. package/dist/cli/{chunk-4E2BHJU4.js → chunk-GNS7BAT2.js} +2 -2
  18. package/dist/cli/{chunk-5U5LMMFF.js → chunk-J2IHQGPQ.js} +12 -6
  19. package/dist/cli/chunk-J2IHQGPQ.js.map +1 -0
  20. package/dist/cli/{chunk-O3AGYTG2.js → chunk-JGTX4RRQ.js} +3 -3
  21. package/dist/cli/{chunk-SLAFMXAZ.js → chunk-JNTMOX7G.js} +2 -2
  22. package/dist/cli/{chunk-RCLS63KE.js → chunk-MGTBP7GG.js} +2 -2
  23. package/dist/cli/{chunk-JFBGSWQB.js → chunk-MQWO32ZD.js} +323 -159
  24. package/dist/cli/chunk-MQWO32ZD.js.map +1 -0
  25. package/dist/cli/{chunk-FD7SNDWW.js → chunk-O5LIHAMP.js} +8 -4
  26. package/dist/cli/chunk-O5LIHAMP.js.map +1 -0
  27. package/dist/cli/{chunk-PJIQIYTV.js → chunk-PB3MAFEI.js} +3 -3
  28. package/dist/cli/{chunk-NQZ5U37J.js → chunk-PEMG6CUB.js} +2 -2
  29. package/dist/cli/{chunk-KH5JIJJD.js → chunk-PXBQ6IZ7.js} +3 -3
  30. package/dist/cli/{chunk-J2TQAWOM.js → chunk-Q46B3Z7H.js} +25 -10
  31. package/dist/cli/{chunk-J2TQAWOM.js.map → chunk-Q46B3Z7H.js.map} +1 -1
  32. package/dist/cli/{chunk-DABAOQSV.js → chunk-QF32ROX2.js} +1260 -1754
  33. package/dist/cli/chunk-QF32ROX2.js.map +1 -0
  34. package/dist/cli/{chunk-IKSYVBBZ.js → chunk-QX5TWXRZ.js} +2 -2
  35. package/dist/cli/{chunk-R7U44O3Y.js → chunk-TAIKVL35.js} +2 -2
  36. package/dist/cli/{chunk-B5CZL2SE.js → chunk-TEDWJKEI.js} +4 -9
  37. package/dist/cli/chunk-TEDWJKEI.js.map +1 -0
  38. package/dist/cli/{chunk-EO6RPTJG.js → chunk-U5XQDCK7.js} +5 -5
  39. package/dist/cli/{chunk-SWUMD2LX.js → chunk-W46ZMNKO.js} +3 -3
  40. package/dist/cli/{chunk-FPME5QOO.js → chunk-WMTMMSXU.js} +166 -5
  41. package/dist/cli/chunk-WMTMMSXU.js.map +1 -0
  42. package/dist/cli/{chunk-PIC5HJRD.js → chunk-YEF7C4XI.js} +154 -86
  43. package/dist/cli/chunk-YEF7C4XI.js.map +1 -0
  44. package/dist/cli/{chunk-3FULTFRB.js → chunk-ZAEJWKXB.js} +2 -2
  45. package/dist/cli/chunk-ZWHSHFDP.js +6173 -0
  46. package/dist/cli/chunk-ZWHSHFDP.js.map +1 -0
  47. package/dist/cli/{code-OKA5YPOH.js → code-R4IHI7SR.js} +30 -30
  48. package/dist/cli/{commands-3U6PUVSS.js → commands-DRHFCYMO.js} +4 -4
  49. package/dist/cli/{commit-HFB7SRBU.js → commit-AG5KB4YP.js} +3 -3
  50. package/dist/cli/{desktop-G7UMW3CJ.js → desktop-JGL6GORA.js} +19 -19
  51. package/dist/cli/{diff-PGXW4YZD.js → diff-4Z7ETWZO.js} +9 -9
  52. package/dist/cli/{doctor-WWJFLVCB.js → doctor-VA3RHQLB.js} +9 -9
  53. package/dist/cli/index.js +37 -36
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/cli/{mcp-Y3VKIK3T.js → mcp-LZO4HXFA.js} +34 -23
  56. package/dist/cli/mcp-LZO4HXFA.js.map +1 -0
  57. package/dist/cli/{mcp-browse-4IN2QIFR.js → mcp-browse-C3GXVMYZ.js} +3 -3
  58. package/dist/cli/{mcp-inspect-BUXFXDHB.js → mcp-inspect-ZMYUNFDS.js} +2 -2
  59. package/dist/cli/{prompt-US57R6BA.js → prompt-MC3U5KRP.js} +5 -5
  60. package/dist/cli/{prune-sessions-SEWX7GP6.js → prune-sessions-OEPFH4N6.js} +11 -7
  61. package/dist/cli/prune-sessions-OEPFH4N6.js.map +1 -0
  62. package/dist/cli/{replay-EQJMZRB3.js → replay-4TP7ZUMZ.js} +10 -10
  63. package/dist/cli/{run-KVEI66TR.js → run-6MXQYBOE.js} +16 -15
  64. package/dist/cli/run-6MXQYBOE.js.map +1 -0
  65. package/dist/cli/{server-D6C4GHWN.js → server-Z3IMJNNI.js} +63 -12
  66. package/dist/cli/server-Z3IMJNNI.js.map +1 -0
  67. package/dist/cli/{sessions-TGVS2RQZ.js → sessions-NXQ5SAV7.js} +18 -18
  68. package/dist/cli/sessions-NXQ5SAV7.js.map +1 -0
  69. package/dist/cli/{setup-WLKX6GGG.js → setup-LHZELI6I.js} +6 -6
  70. package/dist/cli/{stats-TCD7Q6MB.js → stats-SUIJ3QWY.js} +6 -6
  71. package/dist/cli/{version-BCWWS2OU.js → version-BIFONEUB.js} +13 -13
  72. package/dist/index.d.ts +63 -15
  73. package/dist/index.js +855 -360
  74. package/dist/index.js.map +1 -1
  75. package/package.json +2 -1
  76. package/dist/cli/chat-ZXF227MP.js +0 -51
  77. package/dist/cli/chunk-5U5LMMFF.js.map +0 -1
  78. package/dist/cli/chunk-6FRNXWDZ.js +0 -2265
  79. package/dist/cli/chunk-6FRNXWDZ.js.map +0 -1
  80. package/dist/cli/chunk-B5CZL2SE.js.map +0 -1
  81. package/dist/cli/chunk-DABAOQSV.js.map +0 -1
  82. package/dist/cli/chunk-FD7SNDWW.js.map +0 -1
  83. package/dist/cli/chunk-FPME5QOO.js.map +0 -1
  84. package/dist/cli/chunk-JFBGSWQB.js.map +0 -1
  85. package/dist/cli/chunk-PIC5HJRD.js.map +0 -1
  86. package/dist/cli/chunk-TIJ4ZHD6.js.map +0 -1
  87. package/dist/cli/chunk-TKVXTQ3T.js.map +0 -1
  88. package/dist/cli/mcp-Y3VKIK3T.js.map +0 -1
  89. package/dist/cli/prune-sessions-SEWX7GP6.js.map +0 -1
  90. package/dist/cli/run-KVEI66TR.js.map +0 -1
  91. package/dist/cli/server-D6C4GHWN.js.map +0 -1
  92. package/dist/cli/sessions-TGVS2RQZ.js.map +0 -1
  93. /package/dist/cli/{acp-QJGGHQLA.js.map → acp-WFQIC6SO.js.map} +0 -0
  94. /package/dist/cli/{chat-ZXF227MP.js.map → chat-D32JGNVH.js.map} +0 -0
  95. /package/dist/cli/{chunk-H2F4LDNH.js.map → chunk-7AST3QQ3.js.map} +0 -0
  96. /package/dist/cli/{chunk-XMR2VCGT.js.map → chunk-7JTKBJ2G.js.map} +0 -0
  97. /package/dist/cli/{chunk-WKOXKCF3.js.map → chunk-ASOLXV67.js.map} +0 -0
  98. /package/dist/cli/{chunk-5AW6NIHU.js.map → chunk-DFX5ZH5L.js.map} +0 -0
  99. /package/dist/cli/{chunk-4E2BHJU4.js.map → chunk-GNS7BAT2.js.map} +0 -0
  100. /package/dist/cli/{chunk-O3AGYTG2.js.map → chunk-JGTX4RRQ.js.map} +0 -0
  101. /package/dist/cli/{chunk-SLAFMXAZ.js.map → chunk-JNTMOX7G.js.map} +0 -0
  102. /package/dist/cli/{chunk-RCLS63KE.js.map → chunk-MGTBP7GG.js.map} +0 -0
  103. /package/dist/cli/{chunk-PJIQIYTV.js.map → chunk-PB3MAFEI.js.map} +0 -0
  104. /package/dist/cli/{chunk-NQZ5U37J.js.map → chunk-PEMG6CUB.js.map} +0 -0
  105. /package/dist/cli/{chunk-KH5JIJJD.js.map → chunk-PXBQ6IZ7.js.map} +0 -0
  106. /package/dist/cli/{chunk-IKSYVBBZ.js.map → chunk-QX5TWXRZ.js.map} +0 -0
  107. /package/dist/cli/{chunk-R7U44O3Y.js.map → chunk-TAIKVL35.js.map} +0 -0
  108. /package/dist/cli/{chunk-EO6RPTJG.js.map → chunk-U5XQDCK7.js.map} +0 -0
  109. /package/dist/cli/{chunk-SWUMD2LX.js.map → chunk-W46ZMNKO.js.map} +0 -0
  110. /package/dist/cli/{chunk-3FULTFRB.js.map → chunk-ZAEJWKXB.js.map} +0 -0
  111. /package/dist/cli/{code-OKA5YPOH.js.map → code-R4IHI7SR.js.map} +0 -0
  112. /package/dist/cli/{commands-3U6PUVSS.js.map → commands-DRHFCYMO.js.map} +0 -0
  113. /package/dist/cli/{commit-HFB7SRBU.js.map → commit-AG5KB4YP.js.map} +0 -0
  114. /package/dist/cli/{desktop-G7UMW3CJ.js.map → desktop-JGL6GORA.js.map} +0 -0
  115. /package/dist/cli/{diff-PGXW4YZD.js.map → diff-4Z7ETWZO.js.map} +0 -0
  116. /package/dist/cli/{doctor-WWJFLVCB.js.map → doctor-VA3RHQLB.js.map} +0 -0
  117. /package/dist/cli/{mcp-browse-4IN2QIFR.js.map → mcp-browse-C3GXVMYZ.js.map} +0 -0
  118. /package/dist/cli/{mcp-inspect-BUXFXDHB.js.map → mcp-inspect-ZMYUNFDS.js.map} +0 -0
  119. /package/dist/cli/{prompt-US57R6BA.js.map → prompt-MC3U5KRP.js.map} +0 -0
  120. /package/dist/cli/{replay-EQJMZRB3.js.map → replay-4TP7ZUMZ.js.map} +0 -0
  121. /package/dist/cli/{setup-WLKX6GGG.js.map → setup-LHZELI6I.js.map} +0 -0
  122. /package/dist/cli/{stats-TCD7Q6MB.js.map → stats-SUIJ3QWY.js.map} +0 -0
  123. /package/dist/cli/{version-BCWWS2OU.js.map → version-BIFONEUB.js.map} +0 -0
@@ -13,7 +13,7 @@ import {
13
13
  listCheckpoints,
14
14
  loadCheckpoint,
15
15
  restoreCheckpoint
16
- } from "./chunk-B5CZL2SE.js";
16
+ } from "./chunk-TEDWJKEI.js";
17
17
  import "./chunk-E5WCLUIU.js";
18
18
  import {
19
19
  fetchSmitheryDetail,
@@ -24,11 +24,11 @@ import {
24
24
  } from "./chunk-XJXDHAES.js";
25
25
  import {
26
26
  registerSemanticSearchTool
27
- } from "./chunk-R7U44O3Y.js";
27
+ } from "./chunk-TAIKVL35.js";
28
28
  import {
29
29
  BUILTIN_ALLOWLIST,
30
30
  lineDiff
31
- } from "./chunk-6FRNXWDZ.js";
31
+ } from "./chunk-ZWHSHFDP.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-SLAFMXAZ.js";
41
+ } from "./chunk-JNTMOX7G.js";
42
42
  import "./chunk-PLHAZOLZ.js";
43
43
  import {
44
44
  checkOllamaStatus,
45
45
  pullOllamaModel,
46
46
  startOllamaDaemon
47
- } from "./chunk-NQZ5U37J.js";
47
+ } from "./chunk-PEMG6CUB.js";
48
48
  import {
49
49
  INDEX_DIR_NAME,
50
50
  buildIndex,
@@ -53,13 +53,13 @@ import {
53
53
  querySemantic,
54
54
  readIndexMeta,
55
55
  walkChunks
56
- } from "./chunk-5AW6NIHU.js";
56
+ } from "./chunk-DFX5ZH5L.js";
57
57
  import {
58
58
  HOOK_EVENTS,
59
59
  globalSettingsPath,
60
60
  loadHooks,
61
61
  projectSettingsPath
62
- } from "./chunk-PJIQIYTV.js";
62
+ } from "./chunk-PB3MAFEI.js";
63
63
  import "./chunk-S4XVGLRW.js";
64
64
  import {
65
65
  deleteSession,
@@ -72,16 +72,16 @@ import {
72
72
  bucketCacheHitRatio,
73
73
  formatLogSize,
74
74
  readUsageLog
75
- } from "./chunk-3FULTFRB.js";
75
+ } from "./chunk-ZAEJWKXB.js";
76
76
  import {
77
77
  DEEPSEEK_PRICING,
78
78
  cacheSavingsUsd
79
- } from "./chunk-IKSYVBBZ.js";
79
+ } from "./chunk-QX5TWXRZ.js";
80
80
  import {
81
81
  getLanguage,
82
82
  getSupportedLanguages,
83
83
  setLanguage
84
- } from "./chunk-PIC5HJRD.js";
84
+ } from "./chunk-YEF7C4XI.js";
85
85
  import {
86
86
  DEFAULT_INDEX_EXCLUDES,
87
87
  DEFAULT_MAX_FILE_BYTES,
@@ -104,8 +104,9 @@ import {
104
104
  resolveSemanticEmbeddingConfig,
105
105
  saveSemanticEmbeddingConfig,
106
106
  trustProjectHooks,
107
+ webSearchEngine,
107
108
  writeConfig
108
- } from "./chunk-FPME5QOO.js";
109
+ } from "./chunk-WMTMMSXU.js";
109
110
  import {
110
111
  VERSION
111
112
  } from "./chunk-XXC2BYTV.js";
@@ -1628,6 +1629,19 @@ async function handleModal(method, rest, body, ctx) {
1628
1629
  ctx.resolveShellConfirm(choice);
1629
1630
  return { status: 200, body: { resolved: true } };
1630
1631
  }
1632
+ if (kind === "path") {
1633
+ if (!ctx.resolvePathConfirm) {
1634
+ return { status: 503, body: { error: "path modal resolution not wired" } };
1635
+ }
1636
+ if (choice !== "run_once" && choice !== "always_allow" && choice !== "deny") {
1637
+ return {
1638
+ status: 400,
1639
+ body: { error: "path choice must be run_once / always_allow / deny" }
1640
+ };
1641
+ }
1642
+ ctx.resolvePathConfirm(choice);
1643
+ return { status: 200, body: { resolved: true } };
1644
+ }
1631
1645
  if (kind === "choice") {
1632
1646
  if (!ctx.resolveChoiceConfirm) {
1633
1647
  return { status: 503, body: { error: "choice modal resolution not wired" } };
@@ -2761,6 +2775,7 @@ async function handleSessions(method, rest, _body, ctx) {
2761
2775
  }
2762
2776
 
2763
2777
  // src/server/api/settings.ts
2778
+ import { appendFileSync } from "fs";
2764
2779
  function parseBody9(raw) {
2765
2780
  if (!raw) return {};
2766
2781
  try {
@@ -2772,6 +2787,27 @@ function parseBody9(raw) {
2772
2787
  }
2773
2788
  var VALID_PRESETS = /* @__PURE__ */ new Set(["auto", "flash", "pro", "fast", "smart", "max"]);
2774
2789
  var VALID_EFFORTS = /* @__PURE__ */ new Set(["high", "max"]);
2790
+ var VALID_WEB_SEARCH_ENGINES = /* @__PURE__ */ new Set([
2791
+ "bing",
2792
+ "searxng",
2793
+ "metaso",
2794
+ "tavily",
2795
+ "perplexity",
2796
+ "exa"
2797
+ ]);
2798
+ function debugLogPresetWriteFromDashboard(preset) {
2799
+ const debugPath = process.env.REASONIX_DEBUG_PRESET;
2800
+ if (!debugPath) return;
2801
+ try {
2802
+ const stack = new Error("trace").stack ?? "";
2803
+ const line = `${(/* @__PURE__ */ new Date()).toISOString()} dashboard PATCH /api/settings { preset: ${JSON.stringify(preset)} }
2804
+ ${stack.split("\n").slice(1, 8).map((l) => ` ${l.trim()}`).join("\n")}
2805
+
2806
+ `;
2807
+ appendFileSync(debugPath, line);
2808
+ } catch {
2809
+ }
2810
+ }
2775
2811
  async function handleSettings(method, _rest, body, ctx) {
2776
2812
  if (method === "GET") {
2777
2813
  const cfg = readConfig(ctx.configPath);
@@ -2790,6 +2826,7 @@ async function handleSettings(method, _rest, body, ctx) {
2790
2826
  preset: cfg.preset ?? "auto",
2791
2827
  reasoningEffort: cfg.reasoningEffort ?? "max",
2792
2828
  search: cfg.search !== false,
2829
+ webSearchEngine: webSearchEngine(ctx.configPath),
2793
2830
  editMode: cfg.editMode ?? "review",
2794
2831
  session: cfg.session ?? null,
2795
2832
  model: live?.model ?? null,
@@ -2811,6 +2848,7 @@ async function handleSettings(method, _rest, body, ctx) {
2811
2848
  preset: "next-session",
2812
2849
  reasoningEffort: "next-turn",
2813
2850
  search: "next-session",
2851
+ webSearchEngine: "next-turn",
2814
2852
  model: "next-turn",
2815
2853
  proNext: "next-turn",
2816
2854
  budgetUsd: "live",
@@ -2856,6 +2894,7 @@ async function handleSettings(method, _rest, body, ctx) {
2856
2894
  if (typeof fields.preset !== "string" || !VALID_PRESETS.has(fields.preset)) {
2857
2895
  return { status: 400, body: { error: "preset must be auto | flash | pro" } };
2858
2896
  }
2897
+ debugLogPresetWriteFromDashboard(fields.preset);
2859
2898
  cfg.preset = fields.preset;
2860
2899
  presetPendingLive = fields.preset;
2861
2900
  changed.push("preset");
@@ -2875,6 +2914,18 @@ async function handleSettings(method, _rest, body, ctx) {
2875
2914
  cfg.search = fields.search;
2876
2915
  changed.push("search");
2877
2916
  }
2917
+ if (fields.webSearchEngine !== void 0) {
2918
+ if (typeof fields.webSearchEngine !== "string" || !VALID_WEB_SEARCH_ENGINES.has(fields.webSearchEngine)) {
2919
+ return {
2920
+ status: 400,
2921
+ body: {
2922
+ error: "webSearchEngine must be bing | searxng | metaso | tavily | perplexity | exa"
2923
+ }
2924
+ };
2925
+ }
2926
+ cfg.webSearchEngine = fields.webSearchEngine;
2927
+ changed.push("webSearchEngine");
2928
+ }
2878
2929
  let modelPendingLive = null;
2879
2930
  let proNextPending = null;
2880
2931
  let budgetPending;
@@ -3551,4 +3602,4 @@ export {
3551
3602
  readBody,
3552
3603
  startDashboardServer
3553
3604
  };
3554
- //# sourceMappingURL=server-D6C4GHWN.js.map
3605
+ //# sourceMappingURL=server-Z3IMJNNI.js.map