typebulb 0.19.6 → 0.20.1
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 +1 -1
- package/dist/agents/claude/client.js +187 -185
- package/dist/agents/claude/styles.css +61 -21
- package/dist/agents/pi/client.js +162 -160
- package/dist/agents/pi/styles.css +61 -21
- package/dist/index.js +178 -176
- 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
|
|
@@ -1227,12 +1224,13 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1227
1224
|
(equal specificity, later in source) and the stub actually gets its breathing room. */
|
|
1228
1225
|
.md .bulb-fold { margin: .7rem 0; }
|
|
1229
1226
|
.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
1227
|
/* Verb + summary are inline siblings sharing one line box and font, so they sit
|
|
1232
1228
|
on a common baseline. Ellipsis truncation lives on the wrapper, not the
|
|
1233
1229
|
children — overflow:hidden on the summary itself skews its baseline. */
|
|
1230
|
+
/* flex: 0 1 auto (not 1) so the pending '…' sits right after the label instead of at the row's
|
|
1231
|
+
far edge; the label shrinks with ellipsis when the row is tight. */
|
|
1234
1232
|
.tool-label {
|
|
1235
|
-
flex: 1;
|
|
1233
|
+
flex: 0 1 auto;
|
|
1236
1234
|
min-width: 0;
|
|
1237
1235
|
white-space: nowrap;
|
|
1238
1236
|
overflow: hidden;
|
|
@@ -1241,13 +1239,42 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1241
1239
|
.tool-sum {
|
|
1242
1240
|
margin-left: .5rem;
|
|
1243
1241
|
color: var(--muted);
|
|
1244
|
-
/* Re-enable selection the .tool-head blankets off: the verb/caret stay an
|
|
1245
|
-
unselectable click target, but the summary is real data (path, pattern,
|
|
1246
|
-
command) worth copying. A drag selects; a plain click still toggles. */
|
|
1247
|
-
user-select: text;
|
|
1248
1242
|
}
|
|
1249
1243
|
.tool-run { color: var(--muted); }
|
|
1250
1244
|
|
|
1245
|
+
/* The OUT line ("463 lines", the first stdout line): a tool's second row and its only toggle.
|
|
1246
|
+
Text stays selectable — a drag copies, a plain click toggles. */
|
|
1247
|
+
.tool-digest {
|
|
1248
|
+
padding: 0 0 .15rem .6rem;
|
|
1249
|
+
color: var(--muted);
|
|
1250
|
+
white-space: nowrap;
|
|
1251
|
+
overflow: hidden;
|
|
1252
|
+
text-overflow: ellipsis;
|
|
1253
|
+
cursor: pointer;
|
|
1254
|
+
user-select: text;
|
|
1255
|
+
}
|
|
1256
|
+
.tool-digest:hover { color: var(--fg); }
|
|
1257
|
+
|
|
1258
|
+
/* Expanded input/output card beneath the digest row — additive only, the rows above keep their
|
|
1259
|
+
collapsed look. First child sheds its top divider (nothing above it inside the card). */
|
|
1260
|
+
.tool-card {
|
|
1261
|
+
margin: .15rem 0 .55rem .6rem;
|
|
1262
|
+
background: var(--veil);
|
|
1263
|
+
border: 1px solid var(--border);
|
|
1264
|
+
border-radius: 8px;
|
|
1265
|
+
overflow: hidden;
|
|
1266
|
+
}
|
|
1267
|
+
.tool-card > :first-child, .tool-card > .diff:first-child > :first-child { border-top: none; }
|
|
1268
|
+
|
|
1269
|
+
/* TodoWrite checklist (CC's treatment: struck-through done, bold in-progress, plain pending). */
|
|
1270
|
+
.todo-list { padding: .45rem .7rem; display: grid; gap: .25rem; font-size: .85rem; }
|
|
1271
|
+
.todo { display: flex; gap: .5rem; align-items: baseline; }
|
|
1272
|
+
.todo-icon { flex: none; }
|
|
1273
|
+
.todo.completed .todo-icon { color: var(--diff-add); }
|
|
1274
|
+
.todo.completed .todo-text { text-decoration: line-through; color: var(--muted); }
|
|
1275
|
+
.todo.in_progress .todo-text { font-weight: 600; }
|
|
1276
|
+
.todo.in_progress .todo-icon { color: var(--accent); }
|
|
1277
|
+
|
|
1251
1278
|
/* Code-display panels inside an open tool card: raw input/output (.tool-in,
|
|
1252
1279
|
.tool-out) and per-hunk diff halves (.diff-old, .diff-new). All four share
|
|
1253
1280
|
the same monospace block geometry — padding, max-height with scroll,
|
|
@@ -1266,6 +1293,19 @@ a.server-port:hover { text-decoration: underline; }
|
|
|
1266
1293
|
overflow: auto;
|
|
1267
1294
|
}
|
|
1268
1295
|
.tool-out { color: var(--muted); }
|
|
1296
|
+
/* Structured input fields inside an open tool card (one row per input key), replacing the old raw
|
|
1297
|
+
JSON dump. The key is a muted inline label; the value keeps the shared mono geometry, flowing on
|
|
1298
|
+
the same line and wrapping/multi-lining as pre-wrap dictates. */
|
|
1299
|
+
.tool-field + .tool-field { margin-top: .5rem; }
|
|
1300
|
+
.tool-key { color: var(--muted); margin-right: .6rem; user-select: text; }
|
|
1301
|
+
.tool-val { display: inline; margin: 0; font: inherit; white-space: pre-wrap; word-break: break-word; }
|
|
1302
|
+
/* Line-banded unified-diff view (± lines only): the same add/remove band colors as
|
|
1303
|
+
.diff-new/.diff-old; a muted ⋯ row separates hunks. */
|
|
1304
|
+
.udiff { white-space: pre-wrap; word-break: break-word; }
|
|
1305
|
+
.udiff-line { padding: 0 .2rem; }
|
|
1306
|
+
.udiff-add { background: color-mix(in srgb, var(--diff-add) 24%, transparent); }
|
|
1307
|
+
.udiff-del { background: color-mix(in srgb, var(--err) 24%, transparent); }
|
|
1308
|
+
.udiff-gap { color: var(--muted); user-select: none; }
|
|
1269
1309
|
/* The band carries the add/remove signal; text stays --fg so it's readable. Colouring the text the same
|
|
1270
1310
|
hue as its fill (red-on-red) is what washes a diff out — the band alone is the convention. */
|
|
1271
1311
|
.diff-old {
|