reasonix 0.34.1 → 0.35.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.
- package/dashboard/app.css +16 -14
- package/dashboard/dist/app.js +35 -15
- package/dashboard/dist/app.js.map +1 -1
- package/dist/cli/{chat-TD6GR3QK.js → chat-AB5D7I3V.js} +9 -9
- package/dist/cli/{chunk-EINEIIIW.js → chunk-GPHBJWCV.js} +278 -91
- package/dist/cli/chunk-GPHBJWCV.js.map +1 -0
- package/dist/cli/{chunk-F3ILWP2L.js → chunk-IDP65VCC.js} +2 -2
- package/dist/cli/{chunk-OERAGRJX.js → chunk-JJTOZPM3.js} +2 -2
- package/dist/cli/{chunk-U3V2ZQ5J.js → chunk-KJQIA4US.js} +6 -2
- package/dist/cli/chunk-KJQIA4US.js.map +1 -0
- package/dist/cli/{chunk-LNTORE5K.js → chunk-N2IC4XDL.js} +149 -35
- package/dist/cli/chunk-N2IC4XDL.js.map +1 -0
- package/dist/cli/{chunk-SA4UGZPG.js → chunk-RJ5GUVS2.js} +6 -1
- package/dist/cli/chunk-RJ5GUVS2.js.map +1 -0
- package/dist/cli/{chunk-Q36KBLSU.js → chunk-SN7YH6FC.js} +125 -1
- package/dist/cli/chunk-SN7YH6FC.js.map +1 -0
- package/dist/cli/{chunk-6TMHAK5D.js → chunk-ZU45XW3P.js} +2 -2
- package/dist/cli/code-XBEFHXVM.js +433 -0
- package/dist/cli/code-XBEFHXVM.js.map +1 -0
- package/dist/cli/{doctor-YASM64X6.js → doctor-A565GMWD.js} +4 -4
- package/dist/cli/index.js +15 -15
- package/dist/cli/{prompt-V47QKSAR.js → prompt-YEKXMNNV.js} +3 -3
- package/dist/cli/{replay-JEDLU7F2.js → replay-P2WC5N5X.js} +2 -2
- package/dist/cli/replay-P2WC5N5X.js.map +1 -0
- package/dist/cli/{run-NHD2RSTD.js → run-QBWJETS3.js} +6 -6
- package/dist/cli/{server-MC4A4WAJ.js → server-SMLVXIW4.js} +5 -5
- package/dist/cli/{sessions-ZHWJEW4L.js → sessions-55RIZVWG.js} +6 -6
- package/dist/cli/{setup-DK43MT47.js → setup-QXMONZ4P.js} +2 -2
- package/dist/cli/{version-O362UKPM.js → version-Q2HA3AAC.js} +6 -6
- package/dist/index.d.ts +5 -0
- package/dist/index.js +273 -31
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/chunk-EINEIIIW.js.map +0 -1
- package/dist/cli/chunk-LNTORE5K.js.map +0 -1
- package/dist/cli/chunk-Q36KBLSU.js.map +0 -1
- package/dist/cli/chunk-SA4UGZPG.js.map +0 -1
- package/dist/cli/chunk-U3V2ZQ5J.js.map +0 -1
- package/dist/cli/code-TGUOQBRJ.js +0 -153
- package/dist/cli/code-TGUOQBRJ.js.map +0 -1
- package/dist/cli/replay-JEDLU7F2.js.map +0 -1
- /package/dist/cli/{chat-TD6GR3QK.js.map → chat-AB5D7I3V.js.map} +0 -0
- /package/dist/cli/{chunk-F3ILWP2L.js.map → chunk-IDP65VCC.js.map} +0 -0
- /package/dist/cli/{chunk-OERAGRJX.js.map → chunk-JJTOZPM3.js.map} +0 -0
- /package/dist/cli/{chunk-6TMHAK5D.js.map → chunk-ZU45XW3P.js.map} +0 -0
- /package/dist/cli/{doctor-YASM64X6.js.map → doctor-A565GMWD.js.map} +0 -0
- /package/dist/cli/{prompt-V47QKSAR.js.map → prompt-YEKXMNNV.js.map} +0 -0
- /package/dist/cli/{run-NHD2RSTD.js.map → run-QBWJETS3.js.map} +0 -0
- /package/dist/cli/{server-MC4A4WAJ.js.map → server-SMLVXIW4.js.map} +0 -0
- /package/dist/cli/{sessions-ZHWJEW4L.js.map → sessions-55RIZVWG.js.map} +0 -0
- /package/dist/cli/{setup-DK43MT47.js.map → setup-QXMONZ4P.js.map} +0 -0
- /package/dist/cli/{version-O362UKPM.js.map → version-Q2HA3AAC.js.map} +0 -0
package/dashboard/app.css
CHANGED
|
@@ -85,7 +85,7 @@ a:hover { text-decoration: underline; }
|
|
|
85
85
|
/* ── Doc chrome ─────────────────────────────────────────────────────────── */
|
|
86
86
|
.page {
|
|
87
87
|
display: grid;
|
|
88
|
-
grid-template-columns:
|
|
88
|
+
grid-template-columns: 260px minmax(0, 1fr);
|
|
89
89
|
max-width: 1320px;
|
|
90
90
|
margin: 0 auto;
|
|
91
91
|
min-height: 100vh;
|
|
@@ -94,18 +94,19 @@ a:hover { text-decoration: underline; }
|
|
|
94
94
|
position: sticky; top: 0; align-self: start;
|
|
95
95
|
height: 100vh; overflow-y: auto;
|
|
96
96
|
border-right: 1px solid var(--bd);
|
|
97
|
-
padding: 28px
|
|
97
|
+
padding: 28px 16px;
|
|
98
98
|
background: var(--bg);
|
|
99
99
|
}
|
|
100
|
-
.toc h1 { font-size:
|
|
100
|
+
.toc h1 { font-size: 15px; font-weight: 700; margin: 0 0 4px; color: var(--fg-0); letter-spacing: .03em; font-family: var(--font-mono); }
|
|
101
101
|
.toc h1 .dot { color: var(--c-brand); margin-right: 8px; }
|
|
102
|
-
.toc .sub { font-size:
|
|
103
|
-
.toc-section { font-size:
|
|
102
|
+
.toc .sub { font-size: 12px; color: var(--fg-3); margin: 0 0 18px; letter-spacing: .04em; }
|
|
103
|
+
.toc-section { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--fg-4); margin: 22px 0 6px; font-weight: 700; }
|
|
104
104
|
.toc-section:first-of-type { margin-top: 0; }
|
|
105
105
|
.toc ul { list-style: none; padding: 0; margin: 0; }
|
|
106
106
|
.toc li a {
|
|
107
|
-
display: block; padding:
|
|
108
|
-
color: var(--fg-2); font-size:
|
|
107
|
+
display: block; padding: 4px 10px; margin: 1px 0;
|
|
108
|
+
color: var(--fg-2); font-size: 14px; line-height: 1.4;
|
|
109
|
+
border-radius: var(--r); overflow-wrap: anywhere;
|
|
109
110
|
}
|
|
110
111
|
.toc li a:hover { color: var(--fg-0); background: var(--bg-elev); text-decoration: none; }
|
|
111
112
|
|
|
@@ -118,7 +119,7 @@ main { padding: 32px 40px 60px 32px; min-width: 0; }
|
|
|
118
119
|
}
|
|
119
120
|
.section > h2 .num { color: var(--fg-4); margin-right: 10px; font-weight: 500; }
|
|
120
121
|
.section > .lede {
|
|
121
|
-
color: var(--fg-2); margin: 0 0 22px; font-size:
|
|
122
|
+
color: var(--fg-2); margin: 0 0 22px; font-size: 15px; max-width: 720px; line-height: 1.6;
|
|
122
123
|
}
|
|
123
124
|
.subsec { margin-bottom: 22px; }
|
|
124
125
|
.subsec > h3 {
|
|
@@ -126,8 +127,8 @@ main { padding: 32px 40px 60px 32px; min-width: 0; }
|
|
|
126
127
|
margin: 24px 0 4px; letter-spacing: .04em; text-transform: uppercase;
|
|
127
128
|
font-family: var(--font-mono);
|
|
128
129
|
}
|
|
129
|
-
.subsec > h3 .desc { color: var(--fg-3); font-weight: 400; margin-left: 10px; font-size:
|
|
130
|
-
.subsec > p { color: var(--fg-3); font-size:
|
|
130
|
+
.subsec > h3 .desc { color: var(--fg-3); font-weight: 400; margin-left: 10px; font-size: 13px; text-transform: none; letter-spacing: 0; }
|
|
131
|
+
.subsec > p { color: var(--fg-3); font-size: 15px; margin: 0 0 12px; max-width: 720px; line-height: 1.6; }
|
|
131
132
|
|
|
132
133
|
/* "Mock" — a faux-window frame to display dashboard pieces inside the design doc */
|
|
133
134
|
.mock {
|
|
@@ -155,11 +156,11 @@ main { padding: 32px 40px 60px 32px; min-width: 0; }
|
|
|
155
156
|
.swatch .chip { width: 22px; height: 22px; border-radius: var(--r); flex-shrink: 0; border: 1px solid rgba(255,255,255,.04); }
|
|
156
157
|
.swatch .meta { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
|
|
157
158
|
.swatch .name { color: var(--fg-1); font-size: 11.5px; }
|
|
158
|
-
.swatch .hex { color: var(--fg-3); font-size:
|
|
159
|
+
.swatch .hex { color: var(--fg-3); font-size: 11.5px; }
|
|
159
160
|
|
|
160
161
|
.scale-row { display: flex; align-items: baseline; gap: 16px; padding: 6px 0; border-bottom: 1px dashed #181b22; }
|
|
161
162
|
.scale-row:last-child { border-bottom: none; }
|
|
162
|
-
.scale-row .lbl { font-family: var(--font-mono); font-size:
|
|
163
|
+
.scale-row .lbl { font-family: var(--font-mono); font-size: 11.5px; color: var(--fg-3); width: 76px; flex-shrink: 0; }
|
|
163
164
|
.scale-row .ex { color: var(--fg-1); }
|
|
164
165
|
|
|
165
166
|
.glyph-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 6px; }
|
|
@@ -311,12 +312,13 @@ main { padding: 32px 40px 60px 32px; min-width: 0; }
|
|
|
311
312
|
.pill.acc { color: var(--c-accent); background: rgba(210,168,255,.10); }
|
|
312
313
|
|
|
313
314
|
/* Table */
|
|
314
|
-
.tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; }
|
|
315
|
+
.tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; table-layout: auto; }
|
|
315
316
|
.tbl th, .tbl td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--bd); }
|
|
316
317
|
.tbl th { font-family: var(--font-mono); font-size: 10.5px; font-weight: 600; color: var(--fg-3); text-transform: uppercase; letter-spacing: .08em; background: var(--bg-elev); }
|
|
318
|
+
.tbl th.num, .tbl td.num { font-family: var(--font-mono); text-align: right; font-variant-numeric: tabular-nums; }
|
|
317
319
|
.tbl td { color: var(--fg-1); }
|
|
318
320
|
.tbl tbody tr:hover { background: var(--bg-hover); }
|
|
319
|
-
.tbl td.num {
|
|
321
|
+
.tbl td.num { color: var(--fg-0); }
|
|
320
322
|
.tbl td.dim { color: var(--fg-3); }
|
|
321
323
|
.tbl td.path { font-family: var(--font-mono); font-size: 11.5px; color: var(--fg-2); }
|
|
322
324
|
|
package/dashboard/dist/app.js
CHANGED
|
@@ -19392,12 +19392,19 @@ var en = {
|
|
|
19392
19392
|
dailyMeta: "cost \xB7 cache saved \xB7 turns",
|
|
19393
19393
|
noData: "No usage data yet \u2014 run a turn in reasonix chat / code / run and refresh.",
|
|
19394
19394
|
windows: "Rolling windows",
|
|
19395
|
+
colWindow: "window",
|
|
19395
19396
|
colTurns: "turns",
|
|
19396
19397
|
colCacheHit: "cache hit",
|
|
19397
19398
|
colCost: "cost (USD)",
|
|
19398
19399
|
colCacheSaved: "cache saved",
|
|
19399
19400
|
colVsClaude: "vs Claude",
|
|
19400
19401
|
colSaved: "saved",
|
|
19402
|
+
axisTime: "time",
|
|
19403
|
+
axisUsd: "USD",
|
|
19404
|
+
axisTurns: "turns",
|
|
19405
|
+
seriesCost: "cost",
|
|
19406
|
+
seriesCacheSaved: "cache saved",
|
|
19407
|
+
seriesTurns: "turns",
|
|
19401
19408
|
mostUsed: "Most used models",
|
|
19402
19409
|
colModel: "model"
|
|
19403
19410
|
},
|
|
@@ -19966,12 +19973,19 @@ var zhCN = {
|
|
|
19966
19973
|
dailyMeta: "\u8D39\u7528 \xB7 \u7F13\u5B58\u8282\u7701 \xB7 \u8F6E\u6B21",
|
|
19967
19974
|
noData: "\u6682\u65E0\u7528\u91CF\u6570\u636E \u2014 \u5728 reasonix chat / code / run \u4E2D\u6267\u884C\u4E00\u8F6E\uFF0C\u7136\u540E\u5237\u65B0\u3002",
|
|
19968
19975
|
windows: "\u6EDA\u52A8\u7A97\u53E3",
|
|
19976
|
+
colWindow: "\u65F6\u95F4\u8303\u56F4",
|
|
19969
19977
|
colTurns: "\u8F6E\u6B21",
|
|
19970
19978
|
colCacheHit: "\u7F13\u5B58\u547D\u4E2D",
|
|
19971
19979
|
colCost: "\u8D39\u7528 (USD)",
|
|
19972
19980
|
colCacheSaved: "\u7F13\u5B58\u8282\u7701",
|
|
19973
19981
|
colVsClaude: "\u5BF9\u6BD4 Claude",
|
|
19974
19982
|
colSaved: "\u8282\u7701",
|
|
19983
|
+
axisTime: "\u65F6\u95F4",
|
|
19984
|
+
axisUsd: "\u7F8E\u5143",
|
|
19985
|
+
axisTurns: "\u8F6E\u6B21",
|
|
19986
|
+
seriesCost: "\u8D39\u7528",
|
|
19987
|
+
seriesCacheSaved: "\u7F13\u5B58\u8282\u7701",
|
|
19988
|
+
seriesTurns: "\u8F6E\u6B21",
|
|
19975
19989
|
mostUsed: "\u6700\u5E38\u7528\u6A21\u578B",
|
|
19976
19990
|
colModel: "\u6A21\u578B"
|
|
19977
19991
|
},
|
|
@@ -23846,7 +23860,7 @@ function ChatPanel() {
|
|
|
23846
23860
|
function SideRail({ stats, budgetUsd, activePlan }) {
|
|
23847
23861
|
useLang();
|
|
23848
23862
|
if (!stats && !activePlan) return html4`<aside class="chat-rail"></aside>`;
|
|
23849
|
-
const cachePct = stats ?
|
|
23863
|
+
const cachePct = stats ? stats.cacheHitRatio * 100 : 0;
|
|
23850
23864
|
const cacheTone = cachePct >= 80 ? "ok" : cachePct >= 50 ? "" : "warn";
|
|
23851
23865
|
const showBudget = stats != null && typeof budgetUsd === "number" && budgetUsd > 0;
|
|
23852
23866
|
const budgetPct = showBudget ? Math.min(120, stats.totalCostUsd / budgetUsd * 100) : 0;
|
|
@@ -23864,7 +23878,7 @@ function SideRail({ stats, budgetUsd, activePlan }) {
|
|
|
23864
23878
|
<div class="progress-row" style="margin-top:8px">
|
|
23865
23879
|
<span class="lbl">${t4("chat.railCacheHit")}</span>
|
|
23866
23880
|
<div class=${`progress ${cacheTone}`}><div class="progress-fill" style=${`width:${cachePct}%`}></div></div>
|
|
23867
|
-
<span class="v">${cachePct}%</span>
|
|
23881
|
+
<span class="v">${cachePct.toFixed(1)}%</span>
|
|
23868
23882
|
</div>
|
|
23869
23883
|
</div>
|
|
23870
23884
|
` : null}
|
|
@@ -27311,6 +27325,7 @@ function loadUPlot() {
|
|
|
27311
27325
|
function UsageChart({ days: days2 }) {
|
|
27312
27326
|
const containerRef = A2(null);
|
|
27313
27327
|
const plotRef = A2(null);
|
|
27328
|
+
useLang();
|
|
27314
27329
|
y2(() => {
|
|
27315
27330
|
let cancelled = false;
|
|
27316
27331
|
loadUPlot().then((uPlot2) => {
|
|
@@ -27338,7 +27353,7 @@ function UsageChart({ days: days2 }) {
|
|
|
27338
27353
|
{ stroke: "#94a3b8", grid: { stroke: "rgba(148, 163, 184, 0.08)" } },
|
|
27339
27354
|
{
|
|
27340
27355
|
scale: "y",
|
|
27341
|
-
label: "
|
|
27356
|
+
label: t4("usage.axisUsd"),
|
|
27342
27357
|
stroke: "#94a3b8",
|
|
27343
27358
|
grid: { stroke: "rgba(148, 163, 184, 0.08)" },
|
|
27344
27359
|
values: (_u, v3) => v3.map((n3) => `$${n3.toFixed(4)}`)
|
|
@@ -27346,17 +27361,22 @@ function UsageChart({ days: days2 }) {
|
|
|
27346
27361
|
{
|
|
27347
27362
|
scale: "turns",
|
|
27348
27363
|
side: 1,
|
|
27349
|
-
label: "
|
|
27364
|
+
label: t4("usage.axisTurns"),
|
|
27350
27365
|
stroke: "#94a3b8",
|
|
27351
27366
|
grid: { show: false }
|
|
27352
27367
|
}
|
|
27353
27368
|
],
|
|
27354
27369
|
series: [
|
|
27355
|
-
{},
|
|
27356
|
-
{
|
|
27357
|
-
|
|
27370
|
+
{ label: t4("usage.axisTime") },
|
|
27371
|
+
{
|
|
27372
|
+
label: t4("usage.seriesCost"),
|
|
27373
|
+
stroke: "#67e8f9",
|
|
27374
|
+
width: 2,
|
|
27375
|
+
fill: "rgba(103, 232, 249, 0.10)"
|
|
27376
|
+
},
|
|
27377
|
+
{ label: t4("usage.seriesCacheSaved"), stroke: "#5eead4", width: 2, dash: [4, 4] },
|
|
27358
27378
|
{
|
|
27359
|
-
label: "
|
|
27379
|
+
label: t4("usage.seriesTurns"),
|
|
27360
27380
|
stroke: "#c4b5fd",
|
|
27361
27381
|
scale: "turns",
|
|
27362
27382
|
width: 1.5,
|
|
@@ -27442,13 +27462,13 @@ function UsagePanel() {
|
|
|
27442
27462
|
<table class="tbl">
|
|
27443
27463
|
<thead>
|
|
27444
27464
|
<tr>
|
|
27445
|
-
<th
|
|
27446
|
-
<th>${t4("usage.colTurns")}</th>
|
|
27447
|
-
<th>${t4("usage.colCacheHit")}</th>
|
|
27448
|
-
<th>${t4("usage.colCost")}</th>
|
|
27449
|
-
<th>${t4("usage.colCacheSaved")}</th>
|
|
27450
|
-
<th>${t4("usage.colVsClaude")}</th>
|
|
27451
|
-
<th>${t4("usage.colSaved")}</th>
|
|
27465
|
+
<th>${t4("usage.colWindow")}</th>
|
|
27466
|
+
<th class="num">${t4("usage.colTurns")}</th>
|
|
27467
|
+
<th class="num">${t4("usage.colCacheHit")}</th>
|
|
27468
|
+
<th class="num">${t4("usage.colCost")}</th>
|
|
27469
|
+
<th class="num">${t4("usage.colCacheSaved")}</th>
|
|
27470
|
+
<th class="num">${t4("usage.colVsClaude")}</th>
|
|
27471
|
+
<th class="num">${t4("usage.colSaved")}</th>
|
|
27452
27472
|
</tr>
|
|
27453
27473
|
</thead>
|
|
27454
27474
|
<tbody>
|