reasonix 0.29.0 → 0.30.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 +3 -0
- package/dashboard/dist/app.js +61 -26
- package/dashboard/dist/app.js.map +1 -1
- package/dist/cli/{chunk-COFBA5FV.js → chunk-RPP24CUB.js} +7 -1
- package/dist/cli/{chunk-COFBA5FV.js.map → chunk-RPP24CUB.js.map} +1 -1
- package/dist/cli/index.js +5782 -5386
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/{prompt-VF7B6BWR.js → prompt-5GLHSLO2.js} +2 -2
- package/dist/index.d.ts +9 -0
- package/dist/index.js +22 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- /package/dist/cli/{prompt-VF7B6BWR.js.map → prompt-5GLHSLO2.js.map} +0 -0
package/dashboard/app.css
CHANGED
|
@@ -812,6 +812,9 @@ main { padding: 32px 40px 60px 32px; min-width: 0; }
|
|
|
812
812
|
}
|
|
813
813
|
.chip-f:hover { background: var(--bg-hover); color: var(--fg-1); }
|
|
814
814
|
.chip-f.active { color: var(--c-brand); border-color: var(--c-brand); background: rgba(121,192,255,.08); }
|
|
815
|
+
.chip-f.static { cursor: default; }
|
|
816
|
+
.chip-f.static:hover { background: var(--bg-elev); color: var(--fg-2); }
|
|
817
|
+
.chip-f.static.active:hover { color: var(--c-brand); background: rgba(121,192,255,.08); }
|
|
815
818
|
.chip-f .ct { color: var(--fg-4); font-size: 10px; }
|
|
816
819
|
.chip-f.active .ct { color: var(--c-brand); }
|
|
817
820
|
.chip-f .x { color: var(--fg-4); padding: 0 2px; }
|
package/dashboard/dist/app.js
CHANGED
|
@@ -22978,7 +22978,7 @@ function ChatPanel() {
|
|
|
22978
22978
|
<div class="chat-shell">
|
|
22979
22979
|
<div style="display:flex;align-items:center;gap:12px;margin-bottom:10px">
|
|
22980
22980
|
<div class="chips" style="padding:0">
|
|
22981
|
-
<span class="chip-f active">${MODE === "attached" ? t4("chat.modeMirror") : t4("chat.modeView")}</span>
|
|
22981
|
+
<span class="chip-f static active">${MODE === "attached" ? t4("chat.modeMirror") : t4("chat.modeView")}</span>
|
|
22982
22982
|
</div>
|
|
22983
22983
|
<div class="header-pickers" style="margin-left:auto">
|
|
22984
22984
|
${effort ? html4`
|
|
@@ -23329,6 +23329,7 @@ function HooksPanel() {
|
|
|
23329
23329
|
const [drafts, setDrafts] = p2({});
|
|
23330
23330
|
const [busy, setBusy] = p2(false);
|
|
23331
23331
|
const [info, setInfo] = p2(null);
|
|
23332
|
+
const [eventFilter, setEventFilter] = p2("all");
|
|
23332
23333
|
const load = x2(async () => {
|
|
23333
23334
|
try {
|
|
23334
23335
|
const r3 = await api("/hooks");
|
|
@@ -23381,17 +23382,26 @@ function HooksPanel() {
|
|
|
23381
23382
|
`;
|
|
23382
23383
|
const matrixRows = buildMatrix(data);
|
|
23383
23384
|
const events = data.events.length > 0 ? data.events : Array.from(new Set(matrixRows.flatMap((r3) => Object.keys(r3.cells))));
|
|
23385
|
+
const visibleRows = eventFilter === "all" ? matrixRows : matrixRows.filter((r3) => r3.cells[eventFilter]?.on);
|
|
23384
23386
|
const gridCols = `220px repeat(${Math.max(events.length, 1)}, minmax(0, 1fr))`;
|
|
23385
23387
|
return html4`
|
|
23386
23388
|
<div style="display:flex;flex-direction:column;gap:6px">
|
|
23387
23389
|
<div class="chips">
|
|
23388
|
-
<span
|
|
23389
|
-
|
|
23390
|
+
<span
|
|
23391
|
+
class=${`chip-f ${eventFilter === "all" ? "active" : ""}`}
|
|
23392
|
+
onClick=${() => setEventFilter("all")}
|
|
23393
|
+
>${t4("hooks.resolved")} <span class="ct">${data.resolved.length}</span></span>
|
|
23394
|
+
${data.events.map(
|
|
23395
|
+
(ev) => html4`<span
|
|
23396
|
+
class=${`chip-f ${eventFilter === ev ? "active" : ""}`}
|
|
23397
|
+
onClick=${() => setEventFilter(ev)}
|
|
23398
|
+
>${ev}</span>`
|
|
23399
|
+
)}
|
|
23390
23400
|
</div>
|
|
23391
23401
|
${info ? html4`<div><span class="pill ok">${info}</span></div>` : null}
|
|
23392
23402
|
${error ? html4`<div class="card accent-err">${error}</div>` : null}
|
|
23393
23403
|
|
|
23394
|
-
${sectionH3(t4("hooks.eventMatrix"), t4("hooks.matrixSub", { scripts: matrixRows.length, s: matrixRows.length === 1 ? "" : "s", events: events.length }))}${
|
|
23404
|
+
${sectionH3(t4("hooks.eventMatrix"), t4("hooks.matrixSub", { scripts: matrixRows.length, s: matrixRows.length === 1 ? "" : "s", events: events.length }))}${visibleRows.length === 0 ? html4`<div class="card" style="color:var(--fg-3)">
|
|
23395
23405
|
${t4("hooks.noHooks")}
|
|
23396
23406
|
</div>` : html4`
|
|
23397
23407
|
<div class="card" style="padding:10px 14px;overflow-x:auto">
|
|
@@ -23400,7 +23410,7 @@ function HooksPanel() {
|
|
|
23400
23410
|
<div>${t4("hooks.colScript")}</div>
|
|
23401
23411
|
${events.map((ev) => html4`<div>${ev}</div>`)}
|
|
23402
23412
|
</div>
|
|
23403
|
-
${
|
|
23413
|
+
${visibleRows.map(
|
|
23404
23414
|
(r3) => html4`
|
|
23405
23415
|
<div class="row" style=${`grid-template-columns:${gridCols}`}>
|
|
23406
23416
|
<div class="cell" title=${r3.command}>
|
|
@@ -24432,8 +24442,8 @@ function PermissionsPanel() {
|
|
|
24432
24442
|
</div>` : null}
|
|
24433
24443
|
|
|
24434
24444
|
<div class="chips">
|
|
24435
|
-
<span class="chip-f active">${t4("permissions.project")} <span class="ct">${p3.project.length}</span></span>
|
|
24436
|
-
<span class="chip-f">${t4("permissions.builtin")} <span class="ct">${p3.builtin.length}</span></span>
|
|
24445
|
+
<span class="chip-f static active">${t4("permissions.project")} <span class="ct">${p3.project.length}</span></span>
|
|
24446
|
+
<span class="chip-f static">${t4("permissions.builtin")} <span class="ct">${p3.builtin.length}</span></span>
|
|
24437
24447
|
</div>
|
|
24438
24448
|
|
|
24439
24449
|
${p3.currentCwd ? html4`
|
|
@@ -24533,6 +24543,7 @@ function PlansPanel() {
|
|
|
24533
24543
|
const { data, error, loading } = usePoll("/plans", 8e3);
|
|
24534
24544
|
const [openIdx, setOpenIdx] = p2(null);
|
|
24535
24545
|
const [filter, setFilter] = p2("");
|
|
24546
|
+
const [statusFilter, setStatusFilter] = p2("all");
|
|
24536
24547
|
if (loading && !data)
|
|
24537
24548
|
return html4`<div class="card" style="color:var(--fg-3)">${t4("plans.loading")}</div>`;
|
|
24538
24549
|
if (error) return html4`<div class="card accent-err">${t4("common.loadingFailed", { name: "plans", error: error.message })}</div>`;
|
|
@@ -24541,9 +24552,10 @@ function PlansPanel() {
|
|
|
24541
24552
|
return html4`<div class="card" style="color:var(--fg-3)">
|
|
24542
24553
|
${t4("plans.noPlans")}
|
|
24543
24554
|
</div>`;
|
|
24544
|
-
const
|
|
24555
|
+
const statusFiltered = statusFilter === "all" ? plans : statusFilter === "active" ? plans.filter((p3) => p3.completionRatio > 0 && p3.completionRatio < 1) : plans.filter((p3) => p3.completionRatio >= 1);
|
|
24556
|
+
const filtered = filter.trim() ? statusFiltered.filter(
|
|
24545
24557
|
(p3) => p3.session.toLowerCase().includes(filter.toLowerCase()) || (p3.summary ?? "").toLowerCase().includes(filter.toLowerCase())
|
|
24546
|
-
) :
|
|
24558
|
+
) : statusFiltered;
|
|
24547
24559
|
const open = openIdx !== null ? plans[openIdx] : null;
|
|
24548
24560
|
return html4`
|
|
24549
24561
|
<div class="sessions-grid">
|
|
@@ -24558,12 +24570,21 @@ function PlansPanel() {
|
|
|
24558
24570
|
/>
|
|
24559
24571
|
</div>
|
|
24560
24572
|
<div class="chips" style="padding:0 12px 8px">
|
|
24561
|
-
<span
|
|
24562
|
-
|
|
24573
|
+
<span
|
|
24574
|
+
class=${`chip-f ${statusFilter === "all" ? "active" : ""}`}
|
|
24575
|
+
onClick=${() => setStatusFilter("all")}
|
|
24576
|
+
>${t4("common.all")} <span class="ct">${plans.length}</span></span>
|
|
24577
|
+
<span
|
|
24578
|
+
class=${`chip-f ${statusFilter === "active" ? "active" : ""}`}
|
|
24579
|
+
onClick=${() => setStatusFilter("active")}
|
|
24580
|
+
>
|
|
24563
24581
|
${t4("plans.active")}
|
|
24564
24582
|
<span class="ct">${plans.filter((p3) => p3.completionRatio > 0 && p3.completionRatio < 1).length}</span>
|
|
24565
24583
|
</span>
|
|
24566
|
-
<span
|
|
24584
|
+
<span
|
|
24585
|
+
class=${`chip-f ${statusFilter === "done" ? "active" : ""}`}
|
|
24586
|
+
onClick=${() => setStatusFilter("done")}
|
|
24587
|
+
>
|
|
24567
24588
|
${t4("plans.done")} <span class="ct">${plans.filter((p3) => p3.completionRatio >= 1).length}</span>
|
|
24568
24589
|
</span>
|
|
24569
24590
|
</div>
|
|
@@ -24742,10 +24763,10 @@ function SemanticPanel() {
|
|
|
24742
24763
|
<div style="display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start">
|
|
24743
24764
|
<div style="display:flex;flex-direction:column;gap:10px;min-width:0">
|
|
24744
24765
|
<div class="chips">
|
|
24745
|
-
<span class=${`chip-f ${idx?.exists ? "active" : ""}`}>
|
|
24766
|
+
<span class=${`chip-f static ${idx?.exists ? "active" : ""}`}>
|
|
24746
24767
|
${idx?.exists ? t4("semantic.indexBuilt") : t4("semantic.noIndex")}
|
|
24747
24768
|
</span>
|
|
24748
|
-
${ready ? html4`<span class="chip-f" style="border-color:var(--c-ok);color:var(--c-ok)">${t4("semantic.ready")}</span>` : html4`<span class="chip-f" style="border-color:var(--c-warn);color:var(--c-warn)">${t4("semantic.setupNeeded")}</span>`}
|
|
24769
|
+
${ready ? html4`<span class="chip-f static" style="border-color:var(--c-ok);color:var(--c-ok)">${t4("semantic.ready")}</span>` : html4`<span class="chip-f static" style="border-color:var(--c-warn);color:var(--c-warn)">${t4("semantic.setupNeeded")}</span>`}
|
|
24749
24770
|
</div>
|
|
24750
24771
|
${info ? html4`<div><span class="pill info">${info}</span></div>` : null}
|
|
24751
24772
|
${error ? html4`<div class="card accent-err">${error}</div>` : null}
|
|
@@ -25163,7 +25184,7 @@ function ChipFormRow({
|
|
|
25163
25184
|
<div style="display:flex;flex-wrap:wrap;gap:4px">
|
|
25164
25185
|
${value.map(
|
|
25165
25186
|
(e3) => html4`
|
|
25166
|
-
<span class="chip-f">
|
|
25187
|
+
<span class="chip-f static">
|
|
25167
25188
|
<span>${e3}</span>
|
|
25168
25189
|
<span class="x" style="cursor:pointer" onClick=${() => remove(e3)} title="remove">×</span>
|
|
25169
25190
|
</span>
|
|
@@ -25279,7 +25300,7 @@ function SessionsPanel() {
|
|
|
25279
25300
|
/>
|
|
25280
25301
|
</div>
|
|
25281
25302
|
<div class="chips" style="padding:0 12px 8px">
|
|
25282
|
-
<span class="chip-f active">${t4("common.all")} <span class="ct">${sessions.length}</span></span>
|
|
25303
|
+
<span class="chip-f static active">${t4("common.all")} <span class="ct">${sessions.length}</span></span>
|
|
25283
25304
|
</div>
|
|
25284
25305
|
<div class="ssl-rows">
|
|
25285
25306
|
${filtered.map(
|
|
@@ -25533,6 +25554,7 @@ function SkillsPanel() {
|
|
|
25533
25554
|
const [newName, setNewName] = p2("");
|
|
25534
25555
|
const [newScope, setNewScope] = p2("global");
|
|
25535
25556
|
const [filter, setFilter] = p2("");
|
|
25557
|
+
const [scopeFilter, setScopeFilter] = p2("all");
|
|
25536
25558
|
const load = x2(async () => {
|
|
25537
25559
|
try {
|
|
25538
25560
|
setData(await api("/skills"));
|
|
@@ -25624,9 +25646,10 @@ description: TODO \u2014 one-line description that helps the model match this sk
|
|
|
25624
25646
|
...data.global.map((s3) => ({ scope: "global", ...s3 })),
|
|
25625
25647
|
...data.builtin.map((s3) => ({ scope: "builtin", ...s3 }))
|
|
25626
25648
|
];
|
|
25627
|
-
const
|
|
25649
|
+
const scopeFiltered = scopeFilter === "all" ? allWith : allWith.filter((s3) => s3.scope === scopeFilter);
|
|
25650
|
+
const filtered = filter.trim() ? scopeFiltered.filter(
|
|
25628
25651
|
(s3) => s3.name.toLowerCase().includes(filter.toLowerCase()) || (s3.description ?? "").toLowerCase().includes(filter.toLowerCase())
|
|
25629
|
-
) :
|
|
25652
|
+
) : scopeFiltered;
|
|
25630
25653
|
return html4`
|
|
25631
25654
|
<div class="sessions-grid">
|
|
25632
25655
|
<div class="sessions-list">
|
|
@@ -25640,10 +25663,22 @@ description: TODO \u2014 one-line description that helps the model match this sk
|
|
|
25640
25663
|
/>
|
|
25641
25664
|
</div>
|
|
25642
25665
|
<div class="chips" style="padding:0 12px 8px">
|
|
25643
|
-
<span
|
|
25644
|
-
|
|
25645
|
-
|
|
25646
|
-
|
|
25666
|
+
<span
|
|
25667
|
+
class=${`chip-f ${scopeFilter === "all" ? "active" : ""}`}
|
|
25668
|
+
onClick=${() => setScopeFilter("all")}
|
|
25669
|
+
>${t4("common.all")} <span class="ct">${allWith.length}</span></span>
|
|
25670
|
+
<span
|
|
25671
|
+
class=${`chip-f ${scopeFilter === "project" ? "active" : ""}`}
|
|
25672
|
+
onClick=${() => setScopeFilter("project")}
|
|
25673
|
+
>${t4("skills.project")} <span class="ct">${data.project.length}</span></span>
|
|
25674
|
+
<span
|
|
25675
|
+
class=${`chip-f ${scopeFilter === "global" ? "active" : ""}`}
|
|
25676
|
+
onClick=${() => setScopeFilter("global")}
|
|
25677
|
+
>${t4("skills.global")} <span class="ct">${data.global.length}</span></span>
|
|
25678
|
+
<span
|
|
25679
|
+
class=${`chip-f ${scopeFilter === "builtin" ? "active" : ""}`}
|
|
25680
|
+
onClick=${() => setScopeFilter("builtin")}
|
|
25681
|
+
>${t4("skills.builtin")} <span class="ct">${data.builtin.length}</span></span>
|
|
25647
25682
|
</div>
|
|
25648
25683
|
|
|
25649
25684
|
<div style="padding:0 12px 8px;display:flex;gap:6px;flex-wrap:wrap">
|
|
@@ -25832,8 +25867,8 @@ function ToolsPanel() {
|
|
|
25832
25867
|
return html4`
|
|
25833
25868
|
<div style="display:flex;flex-direction:column;gap:14px">
|
|
25834
25869
|
<div class="chips">
|
|
25835
|
-
<span class="chip-f active">${t4("common.all")} <span class="ct">${d3.total}</span></span>
|
|
25836
|
-
${d3.planMode ? html4`<span class="chip-f" style="border-color:var(--c-warn);color:var(--c-warn)">${t4("tools.planMode")}</span>` : null}
|
|
25870
|
+
<span class="chip-f static active">${t4("common.all")} <span class="ct">${d3.total}</span></span>
|
|
25871
|
+
${d3.planMode ? html4`<span class="chip-f static" style="border-color:var(--c-warn);color:var(--c-warn)">${t4("tools.planMode")}</span>` : null}
|
|
25837
25872
|
</div>
|
|
25838
25873
|
|
|
25839
25874
|
${d3.tools.length === 0 ? html4`<div class="card" style="color:var(--fg-3)">${t4("tools.noTools")}</div>` : html4`
|
|
@@ -25989,8 +26024,8 @@ function UsagePanel() {
|
|
|
25989
26024
|
return html4`
|
|
25990
26025
|
<div style="display:flex;flex-direction:column;gap:6px">
|
|
25991
26026
|
<div class="chips">
|
|
25992
|
-
<span class="chip-f active">${t4("usage.records", { count: u3.recordCount.toLocaleString() })}</span>
|
|
25993
|
-
<span class="chip-f">${u3.logSize}</span>
|
|
26027
|
+
<span class="chip-f static active">${t4("usage.records", { count: u3.recordCount.toLocaleString() })}</span>
|
|
26028
|
+
<span class="chip-f static">${u3.logSize}</span>
|
|
25994
26029
|
</div>
|
|
25995
26030
|
|
|
25996
26031
|
${series && series.length > 0 ? html4`
|