@loompad/cli 1.2.0 → 1.2.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/CHANGELOG.md +72 -0
- package/README.md +13 -7
- package/dist/adapters/antigravity-cli.js +7 -3
- package/dist/adapters/antigravity-cli.js.map +1 -1
- package/dist/adapters/opencode.d.ts +6 -0
- package/dist/adapters/opencode.js +27 -2
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/cli/doctor.d.ts +9 -1
- package/dist/cli/doctor.js +48 -5
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +144 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui.js +3 -2
- package/dist/cli/ui.js.map +1 -1
- package/dist/core/brain-index.d.ts +0 -18
- package/dist/core/brain-index.js +10 -2
- package/dist/core/brain-index.js.map +1 -1
- package/dist/core/council.d.ts +3 -3
- package/dist/core/council.js +6 -4
- package/dist/core/council.js.map +1 -1
- package/dist/core/crew-protocol.js +4 -1
- package/dist/core/crew-protocol.js.map +1 -1
- package/dist/core/crew.d.ts +23 -1
- package/dist/core/crew.js +80 -9
- package/dist/core/crew.js.map +1 -1
- package/dist/core/digest.d.ts +2 -0
- package/dist/core/digest.js +9 -0
- package/dist/core/digest.js.map +1 -1
- package/dist/core/loops.js +22 -2
- package/dist/core/loops.js.map +1 -1
- package/dist/core/orchestra.d.ts +16 -0
- package/dist/core/orchestra.js +45 -2
- package/dist/core/orchestra.js.map +1 -1
- package/dist/core/prices.d.ts +27 -0
- package/dist/core/prices.js +38 -0
- package/dist/core/prices.js.map +1 -1
- package/dist/core/proof.d.ts +11 -1
- package/dist/core/proof.js +56 -7
- package/dist/core/proof.js.map +1 -1
- package/dist/core/registry.d.ts +7 -0
- package/dist/core/registry.js.map +1 -1
- package/dist/core/replay.js +3 -1
- package/dist/core/replay.js.map +1 -1
- package/dist/core/routes.js +14 -0
- package/dist/core/routes.js.map +1 -1
- package/dist/core/setup.d.ts +14 -0
- package/dist/core/setup.js +22 -6
- package/dist/core/setup.js.map +1 -1
- package/dist/core/shield.js +7 -3
- package/dist/core/shield.js.map +1 -1
- package/dist/core/shift.d.ts +2 -0
- package/dist/core/shift.js +14 -2
- package/dist/core/shift.js.map +1 -1
- package/dist/daemon/auth.d.ts +7 -1
- package/dist/daemon/auth.js +19 -3
- package/dist/daemon/auth.js.map +1 -1
- package/dist/daemon/client.d.ts +29 -1
- package/dist/daemon/client.js +37 -1
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/council.d.ts +8 -0
- package/dist/daemon/council.js +121 -36
- package/dist/daemon/council.js.map +1 -1
- package/dist/daemon/proof.js +11 -7
- package/dist/daemon/proof.js.map +1 -1
- package/dist/daemon/review.d.ts +10 -0
- package/dist/daemon/review.js +41 -3
- package/dist/daemon/review.js.map +1 -1
- package/dist/daemon/routes/brain.js +4 -0
- package/dist/daemon/routes/brain.js.map +1 -1
- package/dist/daemon/routes/council.js +9 -0
- package/dist/daemon/routes/council.js.map +1 -1
- package/dist/daemon/routes/crews.js +4 -0
- package/dist/daemon/routes/crews.js.map +1 -1
- package/dist/daemon/routes/messages.js +8 -2
- package/dist/daemon/routes/messages.js.map +1 -1
- package/dist/daemon/routes/pairing.js +6 -1
- package/dist/daemon/routes/pairing.js.map +1 -1
- package/dist/daemon/routes/setup.js +9 -1
- package/dist/daemon/routes/setup.js.map +1 -1
- package/dist/daemon/routes/team.js +2 -0
- package/dist/daemon/routes/team.js.map +1 -1
- package/dist/daemon/runtime/accounting.js +7 -3
- package/dist/daemon/runtime/accounting.js.map +1 -1
- package/dist/daemon/runtime/queue.d.ts +9 -0
- package/dist/daemon/runtime/queue.js +27 -1
- package/dist/daemon/runtime/queue.js.map +1 -1
- package/dist/daemon/runtime/relay.d.ts +2 -0
- package/dist/daemon/runtime/relay.js +7 -0
- package/dist/daemon/runtime/relay.js.map +1 -1
- package/dist/daemon/runtime/turns.d.ts +4 -0
- package/dist/daemon/runtime/turns.js +29 -0
- package/dist/daemon/runtime/turns.js.map +1 -1
- package/dist/daemon/runtime-support.d.ts +5 -1
- package/dist/daemon/runtime-support.js +9 -3
- package/dist/daemon/runtime-support.js.map +1 -1
- package/dist/daemon/runtime.d.ts +46 -2
- package/dist/daemon/runtime.js +158 -6
- package/dist/daemon/runtime.js.map +1 -1
- package/dist/daemon/server.js +4 -0
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/shift.d.ts +6 -0
- package/dist/daemon/shift.js +11 -2
- package/dist/daemon/shift.js.map +1 -1
- package/dist/daemon/team.d.ts +6 -0
- package/dist/daemon/team.js +15 -0
- package/dist/daemon/team.js.map +1 -1
- package/dist/providers/agent.js +3 -0
- package/dist/providers/agent.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.js.map +1 -1
- package/dist/web/app.css +72 -0
- package/dist/web/app.js +9834 -9635
- package/dist/web/app.js.map +4 -4
- package/docs/release-notes/v1.2.1.md +40 -0
- package/docs/release-notes/v1.2.2.md +39 -0
- package/package.json +1 -1
package/dist/web/app.css
CHANGED
|
@@ -167,6 +167,11 @@
|
|
|
167
167
|
.dot.hot{background:var(--live)}
|
|
168
168
|
.dot.hot::after{content:"";position:absolute;inset:-4px;border-radius:50%;
|
|
169
169
|
border:1px solid var(--live);opacity:.5;animation:pulse 1.8s ease-out infinite}
|
|
170
|
+
.dot.work{background:var(--primary)}
|
|
171
|
+
.dot.work::after{content:"";position:absolute;inset:-4px;border-radius:50%;
|
|
172
|
+
border:1px solid var(--primary);opacity:.5;animation:pulse 1.8s ease-out infinite}
|
|
173
|
+
.card .workingtxt{color:var(--primary)}
|
|
174
|
+
@media (prefers-reduced-motion:reduce){.dot.hot::after,.dot.work::after{animation:none}}
|
|
170
175
|
@keyframes pulse{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.7);opacity:0}}
|
|
171
176
|
.badge{display:inline-flex;align-items:center;gap:5px;flex:none;
|
|
172
177
|
font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;
|
|
@@ -508,6 +513,25 @@
|
|
|
508
513
|
padding:9px 15px;font-size:13px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:86%;
|
|
509
514
|
box-shadow:0 10px 24px rgb(0 0 0 / .18), inset 0 1px 0 var(--glass-highlight)}
|
|
510
515
|
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
|
|
516
|
+
/* ── Desktop sign-in (signin.js) ─────────────────────────── */
|
|
517
|
+
.signwrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:28px;position:relative}
|
|
518
|
+
.signwrap::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
|
|
519
|
+
background-image:radial-gradient(circle, color-mix(in srgb, var(--foreground) 7%, transparent) 1px, transparent 1.2px);
|
|
520
|
+
background-size:5px 5px;mask-image:radial-gradient(60% 50% at 50% 45%, #000, transparent);
|
|
521
|
+
-webkit-mask-image:radial-gradient(60% 50% at 50% 45%, #000, transparent)}
|
|
522
|
+
.signcard{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
|
|
523
|
+
.signcard .biglogo{font-size:40px;font-weight:650;letter-spacing:-.02em;color:var(--foreground);margin-bottom:6px}
|
|
524
|
+
.signt{font-size:18px;font-weight:650;color:var(--foreground)}
|
|
525
|
+
.signd{font-size:13px;line-height:1.55;color:var(--muted-foreground);max-width:340px}
|
|
526
|
+
.signgh{width:100%;height:42px;font-size:14px;gap:9px;margin-top:8px}
|
|
527
|
+
.signgh svg{width:17px;height:17px}
|
|
528
|
+
.signst{font-size:12px;color:var(--muted-foreground);min-height:16px}
|
|
529
|
+
.signst a{color:var(--foreground)}
|
|
530
|
+
.signerr{color:var(--err)}
|
|
531
|
+
.signskip{background:none;border:0;color:var(--muted-foreground);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;
|
|
532
|
+
text-decoration-color:var(--border);text-underline-offset:3px;padding:4px}
|
|
533
|
+
.signskip:hover{color:var(--foreground)}
|
|
534
|
+
.signfoot{font-size:11.5px;color:var(--muted-foreground);opacity:.8}
|
|
511
535
|
/* ── Pair screen ──────────────────────────────────────── */
|
|
512
536
|
.pairwrap{display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;
|
|
513
537
|
min-height:92dvh;padding:28px;text-align:center;max-width:420px;margin:0 auto;position:relative}
|
|
@@ -888,6 +912,9 @@
|
|
|
888
912
|
.shiftcard .shwhyl{flex-basis:100%;color:var(--muted-foreground);padding-left:2px}
|
|
889
913
|
.shiftcard .shbits{font-family:var(--font-mono);font-size:11px;color:var(--muted-foreground)}
|
|
890
914
|
.shiftline .btn{margin-left:6px}
|
|
915
|
+
.reviewline .rvwarn{color:var(--warn)}
|
|
916
|
+
.sys.warnline{color:var(--warn)}
|
|
917
|
+
.cwbacts{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--muted-foreground)}
|
|
891
918
|
.reviewcard{max-width:92%;margin:8px 0;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);padding:9px 11px;font-size:12.5px}
|
|
892
919
|
.reviewcard .rvh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
|
|
893
920
|
.reviewcard .rvh b{font-weight:650}
|
|
@@ -927,6 +954,7 @@
|
|
|
927
954
|
.councilcard .cs-running .csm{color:var(--primary)}
|
|
928
955
|
.councilcard .cs-done .csm{color:var(--ok)}
|
|
929
956
|
.councilcard .cs-failed .csm,.councilcard .cs-failed .csd{color:var(--err)}
|
|
957
|
+
.councilcard .cs-unverified .csm{color:var(--warn);font-weight:650}
|
|
930
958
|
.councilcard .ccsum{margin-top:6px;font-weight:550}
|
|
931
959
|
.councilcard .ccsum:empty{display:none}
|
|
932
960
|
.shiftpick .shbody{padding:4px 12px 8px;display:flex;flex-direction:column;gap:8px}
|
|
@@ -1373,6 +1401,7 @@
|
|
|
1373
1401
|
.dgrow[data-dgchat]{cursor:pointer}
|
|
1374
1402
|
.dgrow[data-dgchat]:hover{background:var(--sidebar-accent)}
|
|
1375
1403
|
.dgrow .dgt{flex:none;font-family:var(--font-mono);font-size:10.5px;color:var(--muted-foreground)}
|
|
1404
|
+
.dgrow .dgn{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-foreground)}
|
|
1376
1405
|
.dgrow.question{color:var(--warn)}
|
|
1377
1406
|
.dgrow.answered{color:var(--muted-foreground)}
|
|
1378
1407
|
.dgrow.failed,.dgrow.server{color:var(--err)}
|
|
@@ -2762,6 +2791,45 @@
|
|
|
2762
2791
|
.tav{width:20px;height:20px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
2763
2792
|
font-size:10px;font-weight:700;text-transform:uppercase;line-height:1}
|
|
2764
2793
|
.tav.lg{width:24px;height:24px;font-size:11px}
|
|
2794
|
+
.tav{position:relative;overflow:hidden}
|
|
2795
|
+
.tav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
|
|
2796
|
+
/* the Team tab: its own page, not a block under Fleet */
|
|
2797
|
+
.teampane{display:flex;flex-direction:column;gap:14px;max-width:1080px;margin:0 auto;padding:18px 22px 40px}
|
|
2798
|
+
.teampane .tmh{margin-top:0;padding-top:0;border-top:0}
|
|
2799
|
+
.teampane.insheet{padding:14px 0 0;margin-top:14px;border-top:1px solid var(--border);max-width:none}
|
|
2800
|
+
.tmwho{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted-foreground);font-family:var(--font-mono);
|
|
2801
|
+
background:none;border:1px solid transparent;border-radius:99px;padding:2px 8px 2px 3px;cursor:pointer}
|
|
2802
|
+
.tmwho:hover{border-color:var(--border);color:var(--foreground)}
|
|
2803
|
+
.tmwho .tav{width:18px;height:18px}
|
|
2804
|
+
/* signed out: what Teams is, and one button */
|
|
2805
|
+
.thero{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);overflow:hidden}
|
|
2806
|
+
.thhead{display:flex;gap:14px;align-items:center;padding:22px 22px 6px}
|
|
2807
|
+
.thlogo{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex:none;
|
|
2808
|
+
background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}
|
|
2809
|
+
.thlogo svg{width:22px;height:22px}
|
|
2810
|
+
.tht{font-size:20px;font-weight:700;letter-spacing:-.015em;color:var(--foreground)}
|
|
2811
|
+
.thsub{font-size:13.5px;color:var(--muted-foreground);margin-top:2px;line-height:1.45}
|
|
2812
|
+
.thpts{list-style:none;margin:10px 0 0;padding:6px 22px 4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
|
|
2813
|
+
.thpts li{display:flex;flex-direction:column;gap:2px;padding-left:14px;position:relative}
|
|
2814
|
+
.thpts li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--primary)}
|
|
2815
|
+
.thpts b{font-size:13px;font-weight:650;color:var(--foreground)}
|
|
2816
|
+
.thpts span{font-size:12px;color:var(--muted-foreground);line-height:1.45}
|
|
2817
|
+
.thcta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 22px 6px}
|
|
2818
|
+
.thcta .btn.primary{height:38px;padding:0 16px;font-size:13.5px;gap:8px}
|
|
2819
|
+
.thcta .btn.primary svg{width:16px;height:16px}
|
|
2820
|
+
.thnote{font-size:11.5px;color:var(--muted-foreground)}
|
|
2821
|
+
.thjoin{display:flex;align-items:flex-end;gap:8px;padding:10px 22px 4px}
|
|
2822
|
+
.thjoin .field{flex:1;min-width:0}
|
|
2823
|
+
.thjoin .field input{height:34px;font-family:var(--font-mono);font-size:12px}
|
|
2824
|
+
.thjoin .field label{font-size:10px}
|
|
2825
|
+
.thjoin .btn{height:34px;flex:none}
|
|
2826
|
+
.thself{margin:8px 22px 14px;font-size:12px;color:var(--muted-foreground)}
|
|
2827
|
+
.thself summary{cursor:pointer;width:max-content}
|
|
2828
|
+
.thselfb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;align-items:end}
|
|
2829
|
+
.thselfb .tjgo{grid-column:1 / -1}
|
|
2830
|
+
.thme{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;color:var(--foreground)}
|
|
2831
|
+
.thme .tav{width:26px;height:26px;font-size:11px}
|
|
2832
|
+
.thme .spacer{margin-left:auto}
|
|
2765
2833
|
.tmem{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 2px;border-radius:99px;border:1px solid var(--border);
|
|
2766
2834
|
font-size:12px;color:var(--foreground);max-width:220px}
|
|
2767
2835
|
.tmem span.tml{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
@@ -2934,6 +3002,10 @@
|
|
|
2934
3002
|
.tsplit > .tsec + .tsec{border-left:0;border-top:1px solid var(--border)}
|
|
2935
3003
|
.tjoin{grid-template-columns:minmax(0,1fr)}
|
|
2936
3004
|
.tjoin > div + div{border-left:0;border-top:1px solid var(--border)}
|
|
3005
|
+
.teampane{padding:14px 14px 32px}
|
|
3006
|
+
.thpts{grid-template-columns:minmax(0,1fr)}
|
|
3007
|
+
.thselfb{grid-template-columns:minmax(0,1fr)}
|
|
3008
|
+
.thjoin{flex-wrap:wrap}
|
|
2937
3009
|
.tshare .seg{flex:none}
|
|
2938
3010
|
}
|
|
2939
3011
|
/* ── Git delivery (status bar) + the orchestra's delivery lines ── */
|