reasonix 0.12.8 → 0.12.14
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 +194 -0
- package/dashboard/app.js +670 -41
- package/dist/cli/index.js +10804 -10418
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +38 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dashboard/app.css
CHANGED
|
@@ -543,6 +543,34 @@ body {
|
|
|
543
543
|
background: var(--bg-3);
|
|
544
544
|
color: var(--fg-2);
|
|
545
545
|
}
|
|
546
|
+
.pill-active {
|
|
547
|
+
background: rgba(103, 232, 249, 0.22);
|
|
548
|
+
color: var(--primary);
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
/* ---------- Key/value rows (compact metadata layout) ---------- */
|
|
552
|
+
.kv {
|
|
553
|
+
display: flex;
|
|
554
|
+
flex-direction: column;
|
|
555
|
+
gap: 6px;
|
|
556
|
+
font-size: 13px;
|
|
557
|
+
color: var(--fg-1);
|
|
558
|
+
font-family: var(--mono);
|
|
559
|
+
}
|
|
560
|
+
.kv > div {
|
|
561
|
+
display: flex;
|
|
562
|
+
flex-wrap: wrap;
|
|
563
|
+
align-items: baseline;
|
|
564
|
+
gap: 8px;
|
|
565
|
+
}
|
|
566
|
+
.kv-key {
|
|
567
|
+
display: inline-block;
|
|
568
|
+
min-width: 84px;
|
|
569
|
+
font-size: 11px;
|
|
570
|
+
letter-spacing: 0.06em;
|
|
571
|
+
text-transform: uppercase;
|
|
572
|
+
color: var(--fg-3);
|
|
573
|
+
}
|
|
546
574
|
|
|
547
575
|
/* ---------- Tables ---------- */
|
|
548
576
|
|
|
@@ -1193,6 +1221,108 @@ textarea:focus {
|
|
|
1193
1221
|
color: var(--fg-2);
|
|
1194
1222
|
}
|
|
1195
1223
|
|
|
1224
|
+
/* Onboarding banner that nudges new users to the Semantic panel.
|
|
1225
|
+
* Only shown when the project has no built index AND the user hasn't
|
|
1226
|
+
* explicitly dismissed it (state in localStorage). The "Build it →"
|
|
1227
|
+
* action navigates the sidebar via the appBus so the rest of the
|
|
1228
|
+
* panel state isn't disturbed. */
|
|
1229
|
+
.chat-banner {
|
|
1230
|
+
display: flex;
|
|
1231
|
+
align-items: center;
|
|
1232
|
+
gap: 12px;
|
|
1233
|
+
margin-bottom: 14px;
|
|
1234
|
+
padding: 10px 14px;
|
|
1235
|
+
background: var(--bg-1);
|
|
1236
|
+
border: 1px solid var(--border);
|
|
1237
|
+
border-left: 3px solid var(--accent);
|
|
1238
|
+
border-radius: var(--radius-md);
|
|
1239
|
+
font-size: 13px;
|
|
1240
|
+
}
|
|
1241
|
+
.chat-banner-icon {
|
|
1242
|
+
font-family: var(--mono);
|
|
1243
|
+
color: var(--accent);
|
|
1244
|
+
font-size: 18px;
|
|
1245
|
+
}
|
|
1246
|
+
.chat-banner-text {
|
|
1247
|
+
flex: 1;
|
|
1248
|
+
display: flex;
|
|
1249
|
+
flex-direction: column;
|
|
1250
|
+
gap: 2px;
|
|
1251
|
+
font-size: 13px;
|
|
1252
|
+
}
|
|
1253
|
+
.chat-banner-text strong {
|
|
1254
|
+
color: var(--fg-0);
|
|
1255
|
+
font-weight: 600;
|
|
1256
|
+
}
|
|
1257
|
+
.chat-banner-text .muted {
|
|
1258
|
+
font-size: 12px;
|
|
1259
|
+
line-height: 1.45;
|
|
1260
|
+
}
|
|
1261
|
+
.chat-banner-close {
|
|
1262
|
+
background: transparent;
|
|
1263
|
+
border: none;
|
|
1264
|
+
color: var(--fg-3);
|
|
1265
|
+
font-size: 20px;
|
|
1266
|
+
line-height: 1;
|
|
1267
|
+
padding: 0 6px;
|
|
1268
|
+
cursor: pointer;
|
|
1269
|
+
border-radius: var(--radius-sm);
|
|
1270
|
+
}
|
|
1271
|
+
.chat-banner-close:hover {
|
|
1272
|
+
background: var(--bg-3);
|
|
1273
|
+
color: var(--fg-0);
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
/* In-flight row sits just above ChatStatusBar — the user's eyes are
|
|
1277
|
+
* already at the input; this puts the spinner + elapsed + token
|
|
1278
|
+
* stream in the same visual neighborhood instead of pushing them up
|
|
1279
|
+
* to the top of the panel. Border on the bottom only so it shares the
|
|
1280
|
+
* statusbar's top divider. */
|
|
1281
|
+
.chat-inflight {
|
|
1282
|
+
display: flex;
|
|
1283
|
+
flex-wrap: wrap;
|
|
1284
|
+
align-items: center;
|
|
1285
|
+
gap: 8px;
|
|
1286
|
+
padding: 7px 8px;
|
|
1287
|
+
margin-top: 6px;
|
|
1288
|
+
background: var(--bg-1);
|
|
1289
|
+
border: 1px solid var(--border);
|
|
1290
|
+
border-radius: var(--radius-sm);
|
|
1291
|
+
font-family: var(--mono);
|
|
1292
|
+
font-size: 12px;
|
|
1293
|
+
color: var(--fg-1);
|
|
1294
|
+
flex-shrink: 0;
|
|
1295
|
+
}
|
|
1296
|
+
.chat-inflight-phase {
|
|
1297
|
+
color: var(--accent);
|
|
1298
|
+
font-weight: 600;
|
|
1299
|
+
}
|
|
1300
|
+
.chat-inflight-sep {
|
|
1301
|
+
color: var(--fg-3);
|
|
1302
|
+
}
|
|
1303
|
+
.chat-inflight-tool {
|
|
1304
|
+
color: var(--fg-1);
|
|
1305
|
+
white-space: nowrap;
|
|
1306
|
+
overflow: hidden;
|
|
1307
|
+
text-overflow: ellipsis;
|
|
1308
|
+
max-width: 480px;
|
|
1309
|
+
}
|
|
1310
|
+
.chat-inflight-abort {
|
|
1311
|
+
margin-left: auto;
|
|
1312
|
+
background: transparent;
|
|
1313
|
+
border: 1px solid var(--border);
|
|
1314
|
+
color: var(--fg-2);
|
|
1315
|
+
padding: 3px 10px;
|
|
1316
|
+
border-radius: var(--radius-sm);
|
|
1317
|
+
font-family: inherit;
|
|
1318
|
+
font-size: 11px;
|
|
1319
|
+
cursor: pointer;
|
|
1320
|
+
}
|
|
1321
|
+
.chat-inflight-abort:hover {
|
|
1322
|
+
border-color: var(--err);
|
|
1323
|
+
color: var(--err);
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1196
1326
|
/* ---------- Chat status bar ----------
|
|
1197
1327
|
*
|
|
1198
1328
|
* Compact metric strip below the input area. Mirrors the TUI's
|
|
@@ -1352,6 +1482,11 @@ textarea:focus {
|
|
|
1352
1482
|
padding: 8px 12px;
|
|
1353
1483
|
font-family: var(--mono);
|
|
1354
1484
|
font-size: 13px;
|
|
1485
|
+
overflow-x: auto;
|
|
1486
|
+
max-height: 240px;
|
|
1487
|
+
overflow-y: auto;
|
|
1488
|
+
white-space: pre-wrap;
|
|
1489
|
+
word-break: break-all;
|
|
1355
1490
|
}
|
|
1356
1491
|
.modal-cmd-prompt {
|
|
1357
1492
|
color: var(--fg-3);
|
|
@@ -1361,6 +1496,7 @@ textarea:focus {
|
|
|
1361
1496
|
color: var(--primary);
|
|
1362
1497
|
background: transparent;
|
|
1363
1498
|
padding: 0;
|
|
1499
|
+
word-break: break-all;
|
|
1364
1500
|
}
|
|
1365
1501
|
|
|
1366
1502
|
.modal-actions {
|
|
@@ -1431,6 +1567,64 @@ textarea:focus {
|
|
|
1431
1567
|
overflow-y: auto;
|
|
1432
1568
|
}
|
|
1433
1569
|
|
|
1570
|
+
/* Plan-revision modal — list of remaining steps with risk dots. */
|
|
1571
|
+
.modal-revise-reason {
|
|
1572
|
+
background: var(--bg-2);
|
|
1573
|
+
border-left: 3px solid #c4b5fd;
|
|
1574
|
+
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
1575
|
+
padding: 8px 12px;
|
|
1576
|
+
color: var(--fg-1);
|
|
1577
|
+
font-size: 13px;
|
|
1578
|
+
white-space: pre-wrap;
|
|
1579
|
+
}
|
|
1580
|
+
.modal-revise-steps {
|
|
1581
|
+
list-style: none;
|
|
1582
|
+
margin: 0;
|
|
1583
|
+
padding: 0;
|
|
1584
|
+
display: flex;
|
|
1585
|
+
flex-direction: column;
|
|
1586
|
+
gap: 6px;
|
|
1587
|
+
max-height: 280px;
|
|
1588
|
+
overflow-y: auto;
|
|
1589
|
+
}
|
|
1590
|
+
.modal-revise-steps li {
|
|
1591
|
+
display: grid;
|
|
1592
|
+
grid-template-columns: 12px 64px 1fr;
|
|
1593
|
+
grid-template-rows: auto auto;
|
|
1594
|
+
gap: 2px 10px;
|
|
1595
|
+
background: var(--bg-2);
|
|
1596
|
+
border: 1px solid var(--border);
|
|
1597
|
+
border-radius: var(--radius-sm);
|
|
1598
|
+
padding: 8px 12px;
|
|
1599
|
+
align-items: center;
|
|
1600
|
+
}
|
|
1601
|
+
.modal-revise-dot {
|
|
1602
|
+
grid-row: 1 / 3;
|
|
1603
|
+
width: 8px;
|
|
1604
|
+
height: 8px;
|
|
1605
|
+
border-radius: 50%;
|
|
1606
|
+
align-self: center;
|
|
1607
|
+
}
|
|
1608
|
+
.modal-revise-id {
|
|
1609
|
+
grid-row: 1;
|
|
1610
|
+
font-family: var(--mono);
|
|
1611
|
+
font-size: 12px;
|
|
1612
|
+
color: var(--fg-2);
|
|
1613
|
+
}
|
|
1614
|
+
.modal-revise-title {
|
|
1615
|
+
grid-row: 1;
|
|
1616
|
+
color: var(--fg-0);
|
|
1617
|
+
font-size: 13px;
|
|
1618
|
+
font-weight: 500;
|
|
1619
|
+
}
|
|
1620
|
+
.modal-revise-action {
|
|
1621
|
+
grid-column: 2 / 4;
|
|
1622
|
+
grid-row: 2;
|
|
1623
|
+
color: var(--fg-2);
|
|
1624
|
+
font-size: 12px;
|
|
1625
|
+
white-space: pre-wrap;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1434
1628
|
.modal-edit-preview {
|
|
1435
1629
|
background: var(--bg-2);
|
|
1436
1630
|
border: 1px solid var(--border);
|