@shapeshift-labs/frontier-loom-ui 0.1.0 → 0.1.2
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/dist/client.js +319 -40
- package/dist/client.js.map +1 -1
- package/dist/public/styles.css +272 -12
- package/dist/server.d.ts +5 -2
- package/dist/server.js +2113 -93
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
package/dist/public/styles.css
CHANGED
|
@@ -559,10 +559,10 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
559
559
|
padding: 10px;
|
|
560
560
|
}
|
|
561
561
|
.agent-work-layout {
|
|
562
|
-
gap:
|
|
562
|
+
gap: 10px;
|
|
563
563
|
padding: 8px;
|
|
564
|
-
overflow:
|
|
565
|
-
grid-template-rows: minmax(0, 1fr);
|
|
564
|
+
overflow: auto;
|
|
565
|
+
grid-template-rows: auto minmax(0, 1fr);
|
|
566
566
|
}
|
|
567
567
|
.goal-card {
|
|
568
568
|
min-width: 0;
|
|
@@ -647,6 +647,12 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
647
647
|
.goal-status small {
|
|
648
648
|
color: var(--muted);
|
|
649
649
|
}
|
|
650
|
+
.goal-reliability {
|
|
651
|
+
display: block;
|
|
652
|
+
margin-top: 6px;
|
|
653
|
+
color: var(--muted);
|
|
654
|
+
text-align: right;
|
|
655
|
+
}
|
|
650
656
|
.work-kpis,
|
|
651
657
|
.performance-summary,
|
|
652
658
|
.testing-summary,
|
|
@@ -1225,6 +1231,235 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
1225
1231
|
margin-top: 4px;
|
|
1226
1232
|
color: var(--muted);
|
|
1227
1233
|
}
|
|
1234
|
+
.swarm-capacity-panel {
|
|
1235
|
+
min-width: 0;
|
|
1236
|
+
display: grid;
|
|
1237
|
+
gap: 8px;
|
|
1238
|
+
border: 1px solid var(--line);
|
|
1239
|
+
border-radius: 7px;
|
|
1240
|
+
background: #0d0f10;
|
|
1241
|
+
padding: 10px;
|
|
1242
|
+
}
|
|
1243
|
+
.swarm-capacity-summary {
|
|
1244
|
+
min-width: 0;
|
|
1245
|
+
display: grid;
|
|
1246
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
1247
|
+
gap: 8px;
|
|
1248
|
+
}
|
|
1249
|
+
.swarm-capacity-summary > div {
|
|
1250
|
+
min-width: 0;
|
|
1251
|
+
display: grid;
|
|
1252
|
+
gap: 2px;
|
|
1253
|
+
border: 1px solid var(--line);
|
|
1254
|
+
border-radius: 6px;
|
|
1255
|
+
background: #090a0b;
|
|
1256
|
+
padding: 8px;
|
|
1257
|
+
}
|
|
1258
|
+
.swarm-capacity-summary span,
|
|
1259
|
+
.swarm-capacity-summary small,
|
|
1260
|
+
.swarm-lane-main small,
|
|
1261
|
+
.swarm-lane-numbers span,
|
|
1262
|
+
.swarm-lane-agents span {
|
|
1263
|
+
min-width: 0;
|
|
1264
|
+
overflow: hidden;
|
|
1265
|
+
text-overflow: ellipsis;
|
|
1266
|
+
white-space: nowrap;
|
|
1267
|
+
color: var(--muted);
|
|
1268
|
+
}
|
|
1269
|
+
.swarm-capacity-summary span {
|
|
1270
|
+
font-size: 10px;
|
|
1271
|
+
font-weight: 700;
|
|
1272
|
+
text-transform: uppercase;
|
|
1273
|
+
}
|
|
1274
|
+
.swarm-capacity-summary b {
|
|
1275
|
+
min-width: 0;
|
|
1276
|
+
overflow: hidden;
|
|
1277
|
+
text-overflow: ellipsis;
|
|
1278
|
+
white-space: nowrap;
|
|
1279
|
+
color: var(--text);
|
|
1280
|
+
font-size: 18px;
|
|
1281
|
+
line-height: 1.1;
|
|
1282
|
+
}
|
|
1283
|
+
.swarm-capacity-summary small,
|
|
1284
|
+
.swarm-lane-main small,
|
|
1285
|
+
.swarm-lane-numbers span,
|
|
1286
|
+
.swarm-lane-agents span {
|
|
1287
|
+
font-size: 11px;
|
|
1288
|
+
}
|
|
1289
|
+
.swarm-lane-strip {
|
|
1290
|
+
min-width: 0;
|
|
1291
|
+
display: grid;
|
|
1292
|
+
gap: 6px;
|
|
1293
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1294
|
+
}
|
|
1295
|
+
.swarm-lane-row {
|
|
1296
|
+
min-width: 0;
|
|
1297
|
+
display: grid;
|
|
1298
|
+
grid-template-columns: minmax(150px, 1.2fr) minmax(126px, .8fr) minmax(126px, .9fr);
|
|
1299
|
+
gap: 8px;
|
|
1300
|
+
align-items: center;
|
|
1301
|
+
border: 1px solid var(--line);
|
|
1302
|
+
border-radius: 6px;
|
|
1303
|
+
background: #090a0b;
|
|
1304
|
+
padding: 7px 8px;
|
|
1305
|
+
}
|
|
1306
|
+
.swarm-lane-main,
|
|
1307
|
+
.swarm-lane-numbers,
|
|
1308
|
+
.swarm-lane-agents {
|
|
1309
|
+
min-width: 0;
|
|
1310
|
+
display: grid;
|
|
1311
|
+
gap: 2px;
|
|
1312
|
+
}
|
|
1313
|
+
.swarm-lane-main b {
|
|
1314
|
+
min-width: 0;
|
|
1315
|
+
overflow: hidden;
|
|
1316
|
+
text-overflow: ellipsis;
|
|
1317
|
+
white-space: nowrap;
|
|
1318
|
+
color: var(--text);
|
|
1319
|
+
font-size: 13px;
|
|
1320
|
+
}
|
|
1321
|
+
.swarm-lane-agents {
|
|
1322
|
+
display: flex;
|
|
1323
|
+
flex-wrap: wrap;
|
|
1324
|
+
justify-content: flex-end;
|
|
1325
|
+
gap: 4px;
|
|
1326
|
+
}
|
|
1327
|
+
.swarm-lane-agents code {
|
|
1328
|
+
max-width: 100%;
|
|
1329
|
+
overflow: hidden;
|
|
1330
|
+
text-overflow: ellipsis;
|
|
1331
|
+
white-space: nowrap;
|
|
1332
|
+
border: 1px solid var(--line);
|
|
1333
|
+
border-radius: 999px;
|
|
1334
|
+
background: #0d0f10;
|
|
1335
|
+
color: var(--muted);
|
|
1336
|
+
padding: 2px 6px;
|
|
1337
|
+
font-size: 10px;
|
|
1338
|
+
}
|
|
1339
|
+
.swarm-lane-empty,
|
|
1340
|
+
.swarm-lane-more {
|
|
1341
|
+
margin: 0;
|
|
1342
|
+
color: var(--muted);
|
|
1343
|
+
font-size: 12px;
|
|
1344
|
+
}
|
|
1345
|
+
.lane-work-layout {
|
|
1346
|
+
min-width: 0;
|
|
1347
|
+
min-height: 0;
|
|
1348
|
+
max-height: 100%;
|
|
1349
|
+
display: grid;
|
|
1350
|
+
grid-template-rows: auto minmax(0, 1fr);
|
|
1351
|
+
gap: 10px;
|
|
1352
|
+
padding: 8px;
|
|
1353
|
+
overflow: auto;
|
|
1354
|
+
scrollbar-gutter: stable;
|
|
1355
|
+
}
|
|
1356
|
+
.lane-roster-panel {
|
|
1357
|
+
--lane-roster-columns: minmax(180px, 1.1fr) minmax(210px, 1.2fr) minmax(116px, .55fr) minmax(260px, 1.4fr);
|
|
1358
|
+
min-width: 0;
|
|
1359
|
+
min-height: 0;
|
|
1360
|
+
max-height: 100%;
|
|
1361
|
+
display: grid;
|
|
1362
|
+
grid-template-rows: auto minmax(0, 1fr);
|
|
1363
|
+
border: 1px solid var(--line);
|
|
1364
|
+
border-radius: 7px;
|
|
1365
|
+
background: #0d0f10;
|
|
1366
|
+
overflow: hidden;
|
|
1367
|
+
}
|
|
1368
|
+
.lane-roster-head,
|
|
1369
|
+
.lane-roster-row {
|
|
1370
|
+
min-width: 0;
|
|
1371
|
+
display: grid;
|
|
1372
|
+
grid-template-columns: var(--lane-roster-columns);
|
|
1373
|
+
gap: 10px;
|
|
1374
|
+
align-items: center;
|
|
1375
|
+
}
|
|
1376
|
+
.lane-roster-head {
|
|
1377
|
+
border-bottom: 1px solid var(--line);
|
|
1378
|
+
background: #101214;
|
|
1379
|
+
padding: 7px 10px;
|
|
1380
|
+
}
|
|
1381
|
+
.lane-roster-head span {
|
|
1382
|
+
min-width: 0;
|
|
1383
|
+
overflow: hidden;
|
|
1384
|
+
text-overflow: ellipsis;
|
|
1385
|
+
white-space: nowrap;
|
|
1386
|
+
color: var(--muted);
|
|
1387
|
+
font-size: 10px;
|
|
1388
|
+
font-weight: 700;
|
|
1389
|
+
letter-spacing: 0;
|
|
1390
|
+
text-transform: uppercase;
|
|
1391
|
+
}
|
|
1392
|
+
.lane-roster-list {
|
|
1393
|
+
min-width: 0;
|
|
1394
|
+
min-height: 0;
|
|
1395
|
+
display: grid;
|
|
1396
|
+
align-content: start;
|
|
1397
|
+
overflow: auto;
|
|
1398
|
+
overscroll-behavior: contain;
|
|
1399
|
+
scrollbar-gutter: stable;
|
|
1400
|
+
}
|
|
1401
|
+
.lane-roster-row {
|
|
1402
|
+
border-bottom: 1px solid var(--line);
|
|
1403
|
+
background: #0d0f10;
|
|
1404
|
+
padding: 7px 10px;
|
|
1405
|
+
}
|
|
1406
|
+
.lane-roster-row:last-child {
|
|
1407
|
+
border-bottom: 0;
|
|
1408
|
+
}
|
|
1409
|
+
.lane-roster-row:hover {
|
|
1410
|
+
background: #111315;
|
|
1411
|
+
}
|
|
1412
|
+
.lane-cell {
|
|
1413
|
+
min-width: 0;
|
|
1414
|
+
display: grid;
|
|
1415
|
+
gap: 2px;
|
|
1416
|
+
}
|
|
1417
|
+
.lane-cell b,
|
|
1418
|
+
.lane-cell small,
|
|
1419
|
+
.lane-cell span {
|
|
1420
|
+
min-width: 0;
|
|
1421
|
+
overflow: hidden;
|
|
1422
|
+
text-overflow: ellipsis;
|
|
1423
|
+
white-space: nowrap;
|
|
1424
|
+
}
|
|
1425
|
+
.lane-cell b {
|
|
1426
|
+
color: var(--text);
|
|
1427
|
+
font-size: 13px;
|
|
1428
|
+
line-height: 1.2;
|
|
1429
|
+
}
|
|
1430
|
+
.lane-cell small,
|
|
1431
|
+
.lane-cell span {
|
|
1432
|
+
color: var(--muted);
|
|
1433
|
+
font-size: 11px;
|
|
1434
|
+
line-height: 1.2;
|
|
1435
|
+
}
|
|
1436
|
+
.lane-cell-agents {
|
|
1437
|
+
display: flex;
|
|
1438
|
+
flex-wrap: wrap;
|
|
1439
|
+
justify-content: flex-start;
|
|
1440
|
+
gap: 5px;
|
|
1441
|
+
}
|
|
1442
|
+
.lane-cell-agents code {
|
|
1443
|
+
max-width: 100%;
|
|
1444
|
+
overflow: hidden;
|
|
1445
|
+
text-overflow: ellipsis;
|
|
1446
|
+
white-space: nowrap;
|
|
1447
|
+
border: 1px solid var(--line);
|
|
1448
|
+
border-radius: 999px;
|
|
1449
|
+
background: #090a0b;
|
|
1450
|
+
color: var(--muted);
|
|
1451
|
+
padding: 2px 6px;
|
|
1452
|
+
font-size: 11px;
|
|
1453
|
+
line-height: 1.2;
|
|
1454
|
+
}
|
|
1455
|
+
.lane-roster-empty {
|
|
1456
|
+
margin: 0;
|
|
1457
|
+
min-height: 96px;
|
|
1458
|
+
display: grid;
|
|
1459
|
+
align-items: center;
|
|
1460
|
+
color: var(--muted);
|
|
1461
|
+
padding: 18px 14px;
|
|
1462
|
+
}
|
|
1228
1463
|
.agent-roster-panel {
|
|
1229
1464
|
--agent-roster-columns: minmax(128px, .72fr) minmax(300px, 2.1fr) minmax(96px, .54fr) minmax(88px, .5fr) minmax(96px, .54fr) minmax(168px, .92fr);
|
|
1230
1465
|
min-width: 0;
|
|
@@ -3095,6 +3330,24 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
3095
3330
|
max-height: clamp(190px, 34vh, 300px);
|
|
3096
3331
|
overflow: hidden;
|
|
3097
3332
|
}
|
|
3333
|
+
.swarm-capacity-summary,
|
|
3334
|
+
.swarm-lane-strip {
|
|
3335
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3336
|
+
}
|
|
3337
|
+
.swarm-lane-row {
|
|
3338
|
+
grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
|
|
3339
|
+
}
|
|
3340
|
+
.swarm-lane-agents {
|
|
3341
|
+
grid-column: 1 / -1;
|
|
3342
|
+
justify-content: flex-start;
|
|
3343
|
+
}
|
|
3344
|
+
.lane-roster-panel {
|
|
3345
|
+
--lane-roster-columns: minmax(160px, 1fr) minmax(180px, 1fr) minmax(98px, auto);
|
|
3346
|
+
}
|
|
3347
|
+
.lane-roster-head span:last-child,
|
|
3348
|
+
.lane-cell-agents {
|
|
3349
|
+
grid-column: 1 / -1;
|
|
3350
|
+
}
|
|
3098
3351
|
.overview-card-scroll {
|
|
3099
3352
|
min-height: 0;
|
|
3100
3353
|
flex: 1 1 auto;
|
|
@@ -3118,13 +3371,15 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
3118
3371
|
.success-summary,
|
|
3119
3372
|
.work-kpis,
|
|
3120
3373
|
.work-cost-metrics,
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3374
|
+
.performance-summary,
|
|
3375
|
+
.optimization-signal-grid,
|
|
3376
|
+
.optimization-behavior-grid,
|
|
3377
|
+
.efficiency-summary,
|
|
3378
|
+
.swarm-capacity-summary,
|
|
3379
|
+
.swarm-lane-strip,
|
|
3380
|
+
.epic-grid,
|
|
3381
|
+
.merge-flow,
|
|
3382
|
+
.chart-grid,
|
|
3128
3383
|
.stat-grid,
|
|
3129
3384
|
.bottleneck-list,
|
|
3130
3385
|
.contribution-summary,
|
|
@@ -3142,8 +3397,10 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
3142
3397
|
.testing-split,
|
|
3143
3398
|
.history-branch,
|
|
3144
3399
|
.history-event,
|
|
3145
|
-
|
|
3146
|
-
|
|
3400
|
+
.testing-row,
|
|
3401
|
+
.lane-roster-row,
|
|
3402
|
+
.swarm-lane-row,
|
|
3403
|
+
.task-dialog-head,
|
|
3147
3404
|
.task-dialog-section.split,
|
|
3148
3405
|
.simple-row,
|
|
3149
3406
|
.optimization-behavior-row,
|
|
@@ -3170,6 +3427,9 @@ tr.risk-review td:first-child { color: var(--review); }
|
|
|
3170
3427
|
.agent-roster-head {
|
|
3171
3428
|
display: none;
|
|
3172
3429
|
}
|
|
3430
|
+
.lane-roster-head {
|
|
3431
|
+
display: none;
|
|
3432
|
+
}
|
|
3173
3433
|
.agent-worker-card {
|
|
3174
3434
|
grid-template-columns: 1fr;
|
|
3175
3435
|
gap: 7px;
|
package/dist/server.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import http from 'node:http';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export interface FrontierLoomUiServerOptions {
|
|
3
|
+
cwd?: string;
|
|
4
|
+
run?: string;
|
|
5
|
+
collection?: string;
|
|
6
|
+
continuation?: string;
|
|
4
7
|
host?: string;
|
|
5
8
|
port?: number;
|
|
6
9
|
staticDir?: string;
|