typebulb 0.20.0 → 0.20.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/agents/claude/client.js +188 -188
- package/dist/agents/claude/styles.css +43 -28
- package/dist/agents/pi/client.js +162 -162
- package/dist/agents/pi/styles.css +43 -28
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -1153,29 +1153,25 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1153
1153
|
.tool {
|
|
1154
1154
|
font-size: .85rem;
|
|
1155
1155
|
}
|
|
1156
|
-
/*
|
|
1157
|
-
|
|
1158
|
-
against the label box (verb↔summary alignment is handled inside .tool-label). */
|
|
1156
|
+
/* Row shape shared by tool heads and the collapsed-turn summary; only the latter is a click
|
|
1157
|
+
target (a tool's toggle is its digest row). */
|
|
1159
1158
|
.tool-head, .turn-summary {
|
|
1160
1159
|
display: flex;
|
|
1161
1160
|
align-items: center;
|
|
1162
1161
|
gap: .5rem;
|
|
1163
1162
|
padding: .15rem 0;
|
|
1163
|
+
}
|
|
1164
|
+
.turn-summary {
|
|
1164
1165
|
cursor: pointer;
|
|
1165
1166
|
user-select: none;
|
|
1166
1167
|
}
|
|
1167
|
-
.
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
.tool
|
|
1174
|
-
padding: .4rem .6rem;
|
|
1175
|
-
}
|
|
1176
|
-
/* line-height: 1 keeps the oversized caret's box from inflating the row height. */
|
|
1177
|
-
.tool-caret { color: var(--muted); font-size: 1.4rem; line-height: 1; width: 1ch; }
|
|
1178
|
-
.tool-name { font-weight: 600; color: var(--accent); }
|
|
1168
|
+
/* The shared disclosure triangle (caret() in messageList.ts). flex:none so a squeezed row can't
|
|
1169
|
+
crush it; the digest row has no flex gap, so its spacing rides the marker. */
|
|
1170
|
+
.caret-tri { flex: none; transition: transform .15s ease; }
|
|
1171
|
+
.caret-tri.open { transform: rotate(90deg); }
|
|
1172
|
+
.tool-digest .caret-tri { margin-right: .5rem; }
|
|
1173
|
+
/* Plain bold — an accent verb reads as a hyperlink; accent is reserved for the file-path link. */
|
|
1174
|
+
.tool-name { font-weight: 600; }
|
|
1179
1175
|
/* Errors here are routine (a first-read miss the retry fixes), so a failed tool
|
|
1180
1176
|
recolors just its verb rather than boxing the whole row — a quiet signal. */
|
|
1181
1177
|
.tool.err .tool-name { color: var(--err); }
|
|
@@ -1184,6 +1180,7 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1184
1180
|
answer). Same caret/row shape as a tool head, italic muted label. */
|
|
1185
1181
|
.turn-summary { color: var(--muted); font-size: .85rem; }
|
|
1186
1182
|
.turn-summary-text { font-style: italic; }
|
|
1183
|
+
.fork-icon { vertical-align: -1px; margin-right: .15rem; }
|
|
1187
1184
|
.turn-summary:hover .turn-summary-text { color: var(--fg); }
|
|
1188
1185
|
|
|
1189
1186
|
/* An expanded abandoned-branch (fork) stub renders its orphan messages here — set apart from the live
|
|
@@ -1194,6 +1191,10 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1194
1191
|
padding-left: .6rem;
|
|
1195
1192
|
border-left: 2px solid color-mix(in srgb, var(--fg) 18%, transparent);
|
|
1196
1193
|
opacity: .82;
|
|
1194
|
+
/* Same column geometry as .messages — the tools-only negative-margin rule assumes a 1rem gap. */
|
|
1195
|
+
display: flex;
|
|
1196
|
+
flex-direction: column;
|
|
1197
|
+
gap: 1rem;
|
|
1197
1198
|
/* --turn-color is a custom property and INHERITS — the stub's own .bubble.turn-N sets it, so without
|
|
1198
1199
|
this reset every nested orphan bubble inherits the parent turn's color and redraws the stripe
|
|
1199
1200
|
(the recursive-line bug). Reset to transparent so .bubble::before falls back to no stripe here. */
|
|
@@ -1227,7 +1228,6 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1227
1228
|
(equal specificity, later in source) and the stub actually gets its breathing room. */
|
|
1228
1229
|
.md .bulb-fold { margin: .7rem 0; }
|
|
1229
1230
|
.bulb-fold:hover { background: color-mix(in srgb, var(--fg) 8%, var(--panel)); }
|
|
1230
|
-
.bulb-fold .tool-caret { color: inherit; } /* follow the accent row color */
|
|
1231
1231
|
/* Verb + summary are inline siblings sharing one line box and font, so they sit
|
|
1232
1232
|
on a common baseline. Ellipsis truncation lives on the wrapper, not the
|
|
1233
1233
|
children — overflow:hidden on the summary itself skews its baseline. */
|
|
@@ -1243,18 +1243,13 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1243
1243
|
.tool-sum {
|
|
1244
1244
|
margin-left: .5rem;
|
|
1245
1245
|
color: var(--muted);
|
|
1246
|
-
/* Re-enable selection the .tool-head blankets off: the verb/caret stay an
|
|
1247
|
-
unselectable click target, but the summary is real data (path, pattern,
|
|
1248
|
-
command) worth copying. A drag selects; a plain click still toggles. */
|
|
1249
|
-
user-select: text;
|
|
1250
1246
|
}
|
|
1251
1247
|
.tool-run { color: var(--muted); }
|
|
1252
1248
|
|
|
1253
|
-
/* The OUT line ("463 lines",
|
|
1254
|
-
|
|
1255
|
-
like the head (it's part of the row); the text itself stays selectable, same deal as .tool-sum. */
|
|
1249
|
+
/* The OUT line ("463 lines", the first stdout line): a tool's second row and its only toggle.
|
|
1250
|
+
Text stays selectable — a drag copies, a plain click toggles. */
|
|
1256
1251
|
.tool-digest {
|
|
1257
|
-
padding: 0 0 .15rem
|
|
1252
|
+
padding: 0 0 .15rem .6rem;
|
|
1258
1253
|
color: var(--muted);
|
|
1259
1254
|
white-space: nowrap;
|
|
1260
1255
|
overflow: hidden;
|
|
@@ -1262,7 +1257,27 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1262
1257
|
cursor: pointer;
|
|
1263
1258
|
user-select: text;
|
|
1264
1259
|
}
|
|
1265
|
-
.tool-digest
|
|
1260
|
+
.tool-digest:hover { color: var(--fg); }
|
|
1261
|
+
|
|
1262
|
+
/* Expanded input/output card beneath the digest row — additive only, the rows above keep their
|
|
1263
|
+
collapsed look. First child sheds its top divider (nothing above it inside the card). */
|
|
1264
|
+
.tool-card {
|
|
1265
|
+
margin: .15rem 0 .55rem .6rem;
|
|
1266
|
+
background: var(--veil);
|
|
1267
|
+
border: 1px solid var(--border);
|
|
1268
|
+
border-radius: 8px;
|
|
1269
|
+
overflow: hidden;
|
|
1270
|
+
}
|
|
1271
|
+
.tool-card > :first-child, .tool-card > .diff:first-child > :first-child { border-top: none; }
|
|
1272
|
+
|
|
1273
|
+
/* TodoWrite checklist (CC's treatment: struck-through done, bold in-progress, plain pending). */
|
|
1274
|
+
.todo-list { padding: .45rem .7rem; display: grid; gap: .25rem; font-size: .85rem; }
|
|
1275
|
+
.todo { display: flex; gap: .5rem; align-items: baseline; }
|
|
1276
|
+
.todo-icon { flex: none; }
|
|
1277
|
+
.todo.completed .todo-icon { color: var(--diff-add); }
|
|
1278
|
+
.todo.completed .todo-text { text-decoration: line-through; color: var(--muted); }
|
|
1279
|
+
.todo.in_progress .todo-text { font-weight: 600; }
|
|
1280
|
+
.todo.in_progress .todo-icon { color: var(--accent); }
|
|
1266
1281
|
|
|
1267
1282
|
/* Code-display panels inside an open tool card: raw input/output (.tool-in,
|
|
1268
1283
|
.tool-out) and per-hunk diff halves (.diff-old, .diff-new). All four share
|
|
@@ -1288,13 +1303,13 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1288
1303
|
.tool-field + .tool-field { margin-top: .5rem; }
|
|
1289
1304
|
.tool-key { color: var(--muted); margin-right: .6rem; user-select: text; }
|
|
1290
1305
|
.tool-val { display: inline; margin: 0; font: inherit; white-space: pre-wrap; word-break: break-word; }
|
|
1291
|
-
/* Line-banded unified-diff view
|
|
1292
|
-
|
|
1306
|
+
/* Line-banded unified-diff view (± lines only): the same add/remove band colors as
|
|
1307
|
+
.diff-new/.diff-old; a muted ⋯ row separates hunks. */
|
|
1293
1308
|
.udiff { white-space: pre-wrap; word-break: break-word; }
|
|
1294
1309
|
.udiff-line { padding: 0 .2rem; }
|
|
1295
1310
|
.udiff-add { background: color-mix(in srgb, var(--diff-add) 24%, transparent); }
|
|
1296
1311
|
.udiff-del { background: color-mix(in srgb, var(--err) 24%, transparent); }
|
|
1297
|
-
.udiff-
|
|
1312
|
+
.udiff-gap { color: var(--muted); user-select: none; }
|
|
1298
1313
|
/* The band carries the add/remove signal; text stays --fg so it's readable. Colouring the text the same
|
|
1299
1314
|
hue as its fill (red-on-red) is what washes a diff out — the band alone is the convention. */
|
|
1300
1315
|
.diff-old {
|