reasonix 0.35.0 → 0.36.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 (80) hide show
  1. package/dashboard/dist/app.js +42 -3
  2. package/dashboard/dist/app.js.map +1 -1
  3. package/dist/cli/{chat-AB5D7I3V.js → chat-RGMYAOY2.js} +16 -15
  4. package/dist/cli/{chunk-RJ5GUVS2.js → chunk-2MCYGFLK.js} +10 -10
  5. package/dist/cli/chunk-2MCYGFLK.js.map +1 -0
  6. package/dist/cli/{chunk-SW3CCXEV.js → chunk-4Q3GRJIU.js} +2 -2
  7. package/dist/cli/{chunk-5JXXEPDM.js → chunk-BHLHOS5Y.js} +8 -2
  8. package/dist/cli/chunk-BHLHOS5Y.js.map +1 -0
  9. package/dist/cli/{chunk-IDP65VCC.js → chunk-BJ376EN3.js} +9 -8
  10. package/dist/cli/chunk-BJ376EN3.js.map +1 -0
  11. package/dist/cli/{chunk-2AWTGJ2C.js → chunk-CRPQUBP6.js} +26 -9
  12. package/dist/cli/{chunk-2AWTGJ2C.js.map → chunk-CRPQUBP6.js.map} +1 -1
  13. package/dist/cli/{chunk-GPHBJWCV.js → chunk-EN4LAZW5.js} +297 -171
  14. package/dist/cli/chunk-EN4LAZW5.js.map +1 -0
  15. package/dist/cli/{chunk-JJTOZPM3.js → chunk-IPCPEZWQ.js} +2 -2
  16. package/dist/cli/{chunk-SN7YH6FC.js → chunk-MLXUGPJE.js} +168 -35
  17. package/dist/cli/chunk-MLXUGPJE.js.map +1 -0
  18. package/dist/cli/{chunk-SX6L4HZZ.js → chunk-QPNZWUZF.js} +53 -6
  19. package/dist/cli/chunk-QPNZWUZF.js.map +1 -0
  20. package/dist/cli/{chunk-N2IC4XDL.js → chunk-QRUQ2BFT.js} +13 -8
  21. package/dist/cli/{chunk-N2IC4XDL.js.map → chunk-QRUQ2BFT.js.map} +1 -1
  22. package/dist/cli/{chunk-KZHMKOJH.js → chunk-T52GAWPP.js} +25 -3
  23. package/dist/cli/chunk-T52GAWPP.js.map +1 -0
  24. package/dist/cli/{chunk-I6YIAK6C.js → chunk-UNMYFZPZ.js} +2 -2
  25. package/dist/cli/{update-4TJWRUIN.js → chunk-WJ3YX4PZ.js} +51 -12
  26. package/dist/cli/chunk-WJ3YX4PZ.js.map +1 -0
  27. package/dist/cli/{chunk-RXGEGA7K.js → chunk-XQIFIB3U.js} +18 -7
  28. package/dist/cli/{chunk-RXGEGA7K.js.map → chunk-XQIFIB3U.js.map} +1 -1
  29. package/dist/cli/{chunk-2EBODRRO.js → chunk-ZJR4QLXB.js} +5 -1
  30. package/dist/cli/{chunk-2EBODRRO.js.map → chunk-ZJR4QLXB.js.map} +1 -1
  31. package/dist/cli/{code-XBEFHXVM.js → code-KJB3WDU6.js} +19 -17
  32. package/dist/cli/code-KJB3WDU6.js.map +1 -0
  33. package/dist/cli/{commands-MEZPSEHV.js → commands-FE2UDFBC.js} +3 -3
  34. package/dist/cli/{commit-CE4EFTUQ.js → commit-3IAGB22T.js} +5 -4
  35. package/dist/cli/commit-3IAGB22T.js.map +1 -0
  36. package/dist/cli/{doctor-A565GMWD.js → doctor-DKD34EFD.js} +7 -7
  37. package/dist/cli/index.js +33 -31
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/cli/{mcp-LDFK5QJI.js → mcp-2RDEQST6.js} +2 -2
  40. package/dist/cli/{mcp-browse-FYHEITCM.js → mcp-browse-VM5GLRBQ.js} +2 -2
  41. package/dist/cli/{mcp-inspect-T2HBR22P.js → mcp-inspect-CWSVCZUQ.js} +3 -3
  42. package/dist/cli/{replay-P2WC5N5X.js → replay-D7RT2DR7.js} +2 -2
  43. package/dist/cli/{run-QBWJETS3.js → run-FK5UBIIM.js} +11 -10
  44. package/dist/cli/run-FK5UBIIM.js.map +1 -0
  45. package/dist/cli/{server-SMLVXIW4.js → server-W4XJK4GX.js} +16 -16
  46. package/dist/cli/{server-SMLVXIW4.js.map → server-W4XJK4GX.js.map} +1 -1
  47. package/dist/cli/{sessions-55RIZVWG.js → sessions-YZXWMIWW.js} +8 -8
  48. package/dist/cli/{setup-QXMONZ4P.js → setup-IIAJXHP4.js} +196 -130
  49. package/dist/cli/setup-IIAJXHP4.js.map +1 -0
  50. package/dist/cli/update-GUCWB4UN.js +13 -0
  51. package/dist/cli/update-GUCWB4UN.js.map +1 -0
  52. package/dist/cli/{version-Q2HA3AAC.js → version-DWD6RLIU.js} +10 -10
  53. package/dist/index.d.ts +14 -2
  54. package/dist/index.js +270 -47
  55. package/dist/index.js.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/cli/chunk-5JXXEPDM.js.map +0 -1
  58. package/dist/cli/chunk-GPHBJWCV.js.map +0 -1
  59. package/dist/cli/chunk-IDP65VCC.js.map +0 -1
  60. package/dist/cli/chunk-KZHMKOJH.js.map +0 -1
  61. package/dist/cli/chunk-RJ5GUVS2.js.map +0 -1
  62. package/dist/cli/chunk-SN7YH6FC.js.map +0 -1
  63. package/dist/cli/chunk-SX6L4HZZ.js.map +0 -1
  64. package/dist/cli/code-XBEFHXVM.js.map +0 -1
  65. package/dist/cli/commit-CE4EFTUQ.js.map +0 -1
  66. package/dist/cli/run-QBWJETS3.js.map +0 -1
  67. package/dist/cli/setup-QXMONZ4P.js.map +0 -1
  68. package/dist/cli/update-4TJWRUIN.js.map +0 -1
  69. /package/dist/cli/{chat-AB5D7I3V.js.map → chat-RGMYAOY2.js.map} +0 -0
  70. /package/dist/cli/{chunk-SW3CCXEV.js.map → chunk-4Q3GRJIU.js.map} +0 -0
  71. /package/dist/cli/{chunk-JJTOZPM3.js.map → chunk-IPCPEZWQ.js.map} +0 -0
  72. /package/dist/cli/{chunk-I6YIAK6C.js.map → chunk-UNMYFZPZ.js.map} +0 -0
  73. /package/dist/cli/{commands-MEZPSEHV.js.map → commands-FE2UDFBC.js.map} +0 -0
  74. /package/dist/cli/{doctor-A565GMWD.js.map → doctor-DKD34EFD.js.map} +0 -0
  75. /package/dist/cli/{mcp-LDFK5QJI.js.map → mcp-2RDEQST6.js.map} +0 -0
  76. /package/dist/cli/{mcp-browse-FYHEITCM.js.map → mcp-browse-VM5GLRBQ.js.map} +0 -0
  77. /package/dist/cli/{mcp-inspect-T2HBR22P.js.map → mcp-inspect-CWSVCZUQ.js.map} +0 -0
  78. /package/dist/cli/{replay-P2WC5N5X.js.map → replay-D7RT2DR7.js.map} +0 -0
  79. /package/dist/cli/{sessions-55RIZVWG.js.map → sessions-YZXWMIWW.js.map} +0 -0
  80. /package/dist/cli/{version-Q2HA3AAC.js.map → version-DWD6RLIU.js.map} +0 -0
@@ -23361,8 +23361,31 @@ function ChatPanel() {
23361
23361
  cancelled = true;
23362
23362
  };
23363
23363
  }, []);
23364
+ const refetchCanonicalState = q2(async () => {
23365
+ try {
23366
+ const data = await api("/messages");
23367
+ setMessages(data.messages ?? []);
23368
+ setBusy(Boolean(data.busy));
23369
+ setStreaming(null);
23370
+ setActiveTool(null);
23371
+ } catch {
23372
+ }
23373
+ try {
23374
+ const m3 = await api("/modal");
23375
+ setModal(m3.modal ?? null);
23376
+ } catch {
23377
+ }
23378
+ }, []);
23364
23379
  y2(() => {
23365
23380
  const es = new EventSource(`/api/events?token=${TOKEN}`);
23381
+ let firstOpen = true;
23382
+ es.onopen = () => {
23383
+ if (firstOpen) {
23384
+ firstOpen = false;
23385
+ return;
23386
+ }
23387
+ void refetchCanonicalState();
23388
+ };
23366
23389
  es.onmessage = (ev) => {
23367
23390
  let dash;
23368
23391
  try {
@@ -23444,7 +23467,7 @@ function ChatPanel() {
23444
23467
  setTimeout(() => setError(null), 3e3);
23445
23468
  };
23446
23469
  return () => es.close();
23447
- }, []);
23470
+ }, [refetchCanonicalState]);
23448
23471
  const send = q2(async () => {
23449
23472
  const text = input.trim();
23450
23473
  if (!text || busy) return;
@@ -24892,6 +24915,22 @@ function usePoll(path, intervalMs = 2e3) {
24892
24915
  return { data, error, loading, refresh };
24893
24916
  }
24894
24917
 
24918
+ // dashboard/src/lib/version.ts
24919
+ function compareVersions(a3, b2) {
24920
+ const [aCore = "0", aPre = ""] = a3.split("-", 2);
24921
+ const [bCore = "0", bPre = ""] = b2.split("-", 2);
24922
+ const aParts = aCore.split(".").map((p3) => Number.parseInt(p3, 10) || 0);
24923
+ const bParts = bCore.split(".").map((p3) => Number.parseInt(p3, 10) || 0);
24924
+ for (let i3 = 0; i3 < 3; i3++) {
24925
+ const diff = (aParts[i3] ?? 0) - (bParts[i3] ?? 0);
24926
+ if (diff !== 0) return diff;
24927
+ }
24928
+ if (!aPre && !bPre) return 0;
24929
+ if (!aPre) return 1;
24930
+ if (!bPre) return -1;
24931
+ return aPre < bPre ? -1 : aPre > bPre ? 1 : 0;
24932
+ }
24933
+
24895
24934
  // dashboard/src/panels/overview.ts
24896
24935
  function kpi(label, value, delta, deltaTone) {
24897
24936
  const muted = value === "\u2014" || value === null || value === void 0;
@@ -25074,7 +25113,7 @@ function OverviewPanel() {
25074
25113
  recentPlans: null,
25075
25114
  toolActivity: null
25076
25115
  };
25077
- const upToDate = o3.latestVersion ? o3.latestVersion === o3.version : null;
25116
+ const upToDate = o3.latestVersion && o3.version ? compareVersions(o3.version, o3.latestVersion) >= 0 : null;
25078
25117
  const versionDelta = upToDate === null ? t4("overview.checking") : upToDate ? t4("overview.latest") : `latest: ${o3.latestVersion}`;
25079
25118
  const versionTone = upToDate === false ? "down" : "flat";
25080
25119
  return html4`
@@ -27190,7 +27229,7 @@ function SystemPanel() {
27190
27229
  if (error) return html4`<div class="card accent-err">${t4("common.loadingFailed", { name: "health", error: error.message })}</div>`;
27191
27230
  if (!data) return null;
27192
27231
  const h3 = data;
27193
- const upToDate = h3.latestVersion ? h3.latestVersion === h3.version : null;
27232
+ const upToDate = h3.latestVersion ? compareVersions(h3.version, h3.latestVersion) >= 0 : null;
27194
27233
  return html4`
27195
27234
  <div style="display:flex;flex-direction:column;gap:14px">
27196
27235
  <h3 style="margin:0;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.1em">${t4("system.healthChecks")}</h3>