typebulb 0.29.3 → 0.31.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/README.md +13 -3
- package/dist/agents/claude/client.js +186 -105
- package/dist/agents/claude/styles.css +30 -7
- package/dist/agents/pi/client.js +122 -41
- package/dist/agents/pi/matchu-patchu.ts +1 -1
- package/dist/agents/pi/styles.css +30 -7
- package/dist/dts/tbTypings.d.ts +1 -1
- package/dist/dts/tbTypings.d.ts.map +1 -1
- package/dist/dts/tbTypings.js +5 -3
- package/dist/dts/tbTypings.js.map +1 -1
- package/dist/index.js +282 -213
- package/dist/render.js +100 -19
- package/package.json +1 -1
|
@@ -201,7 +201,8 @@ body {
|
|
|
201
201
|
/* ONE geometry contract for both menus — sizing policy, padding, stacking. Stating it twice is
|
|
202
202
|
how every sibling discrepancy of June '26 happened (row pitch, gaps, fixed-vs-grow). max-height,
|
|
203
203
|
not height: a menu hugs its content and caps at the 12 rows above — a fixed height left a
|
|
204
|
-
1-bulb project with a row floating atop a 400px void. Per-menu rules keep only width
|
|
204
|
+
1-bulb project with a row floating atop a 400px void. Per-menu rules keep only width and
|
|
205
|
+
alignment (.pop-center / .pop-start below). */
|
|
205
206
|
max-height: var(--menu-h);
|
|
206
207
|
overflow: hidden;
|
|
207
208
|
padding: .35rem;
|
|
@@ -217,6 +218,14 @@ body {
|
|
|
217
218
|
border-radius: 10px;
|
|
218
219
|
box-shadow: 0 8px 30px rgba(0, 0, 0, .45);
|
|
219
220
|
}
|
|
221
|
+
/* Popover alignment — which edge of the pill the menu aligns to (floating-UI's start/center/end
|
|
222
|
+
vocabulary; "end", right edges flush and growing left, is the unnamed default above). Tagged on
|
|
223
|
+
the pill's WRAP, not each popover root: a menu with several drilled-in views (the model pill's
|
|
224
|
+
list/info/diag/key modes) aligns once, and a future mode can't forget. The cluster's left-side
|
|
225
|
+
pills (diff, model) center — end-anchored, their menus run out of room growing left. No viewport
|
|
226
|
+
clamping: desktop-only; revisit if a narrow window ever clips one. */
|
|
227
|
+
.pop-center > :is(.picker, .servers-pop) { right: auto; left: 50%; transform: translateX(-50%); }
|
|
228
|
+
.pop-start > :is(.picker, .servers-pop) { right: auto; left: 0; }
|
|
220
229
|
|
|
221
230
|
/* ---- Shimmer — the one "working" cue. One gradient, one keyframes, composed via class, never
|
|
222
231
|
re-pasted (paste-drift is how each new shimmer kept landing at its own speed). `.shimmer` sweeps
|
|
@@ -985,16 +994,30 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
985
994
|
.gitdiff-counts { flex: none; display: inline-flex; gap: .35rem; font-size: .72rem; font-variant-numeric: tabular-nums; }
|
|
986
995
|
.gitdiff-counts .count-add { color: var(--diff-add); }
|
|
987
996
|
.gitdiff-counts .count-del { color: var(--err); }
|
|
997
|
+
/* The pill's viewing form: the doc's identity in place of the icon+count — status letter, path,
|
|
998
|
+
±counts, × (the doc itself is chrome-free). Width capped so a deep path can't crowd the cluster;
|
|
999
|
+
rtl clip keeps the path's tail — the filename — visible, full path in the title. */
|
|
1000
|
+
.pill.glyph.gitdiff-pill.viewing { max-width: min(30rem, 45vw); gap: .45rem; padding: 0 .35rem 0 .5rem; }
|
|
1001
|
+
/* Same text seating as the word pills (.pill's text-box note): .pill.glyph opts out of the trim
|
|
1002
|
+
(right for pure glyphs, low for letters), and the viewing form keeps flex for the path's
|
|
1003
|
+
ellipsis — so the trim rides each text item instead of the button. Flex items are block
|
|
1004
|
+
containers, so text-box applies; the × icon stays untrimmed (symmetric, flex-exact). */
|
|
1005
|
+
.gitdiff-pill.viewing :is(.gitdiff-status, .gitdiff-doc-path, .gitdiff-counts span) { text-box: trim-both cap alphabetic; }
|
|
1006
|
+
.gitdiff-doc-path { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; direction: rtl; text-align: left; font-size: var(--pill-font); color: var(--accent); }
|
|
1007
|
+
.gitdiff-doc-path:hover { text-decoration: underline; }
|
|
1008
|
+
.gitdiff-close { flex: none; display: inline-flex; padding: 0 .15rem; color: var(--muted); }
|
|
1009
|
+
.gitdiff-close .icon { width: 10px; height: 10px; }
|
|
1010
|
+
.gitdiff-close:hover { color: var(--accent); }
|
|
1011
|
+
/* Doc open ⇒ the transcript-scoped pills hide: prose toggle, model switcher, session picker all act
|
|
1012
|
+
on the conversation, which isn't on screen (the token pill stays — its shimmer says the live diff
|
|
1013
|
+
may still grow). display only, never unmount — the model pill's superSelect must keep its mount. */
|
|
1014
|
+
.statusbar-actions.doc-open :is(.prose-pill, .model-wrap, .sid-wrap) { display: none; }
|
|
988
1015
|
|
|
989
1016
|
/* The diff doc — takes the transcript's slot in .chat (same flex geometry as .messages). Full-bleed
|
|
990
1017
|
like a code surface (no --content-max column: diff lines want the width); the body is the scroll
|
|
991
1018
|
surface, its bottom padding clearing the overlaid statusbar like .messages' does. The ± markers and
|
|
992
1019
|
red/green bands are the shared .udiff-* rules the tool cards use. */
|
|
993
1020
|
.diff-doc { flex: 1; min-height: 0; display: flex; flex-direction: column; outline: none; }
|
|
994
|
-
.diff-doc-head { display: flex; align-items: center; gap: .6rem; padding: .5rem 1.75rem .4rem; font-size: .8rem; border-bottom: 1px solid var(--border); }
|
|
995
|
-
.diff-doc-path { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--accent); cursor: pointer; }
|
|
996
|
-
.diff-doc-path:hover { text-decoration: underline; }
|
|
997
|
-
.diff-doc-head .bulb-log-back { margin-left: auto; }
|
|
998
1021
|
.diff-doc-body {
|
|
999
1022
|
flex: 1; min-height: 0; overflow: auto;
|
|
1000
1023
|
scrollbar-gutter: stable both-edges;
|
|
@@ -1012,8 +1035,8 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1012
1035
|
gutter ± glyphs and at file scale by the ruler. Scoped: the tool-card hunks keep 24%, where the
|
|
1013
1036
|
unhighlighted band is the only signal. Del a touch stronger than add — red-leaning tokens
|
|
1014
1037
|
camouflage against red tint more than anything does against green. */
|
|
1015
|
-
.diff-doc-body .udiff-add { background: color-mix(in srgb, var(--diff-add)
|
|
1016
|
-
.diff-doc-body .udiff-del { background: color-mix(in srgb, var(--err)
|
|
1038
|
+
.diff-doc-body .udiff-add { background: color-mix(in srgb, var(--diff-add) 15%, transparent); }
|
|
1039
|
+
.diff-doc-body .udiff-del { background: color-mix(in srgb, var(--err) 18%, transparent); }
|
|
1017
1040
|
/* The overview ruler — VS Code's scrollbar change-marks, owned since the native scrollbar can't be
|
|
1018
1041
|
painted: a thin track beside the scrollbar (17px clears Windows Chromium's classic bar — plain px
|
|
1019
1042
|
on a desktop-only surface, the menus' own stance), red/green marks at each change run's fractional
|