@azure-id/orc 1.4.1 → 1.4.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 +3043 -2907
- package/README-id.md +39 -2
- package/README.md +647 -631
- package/bin/cli.js +36977 -36866
- package/bin/webui/api.js +1288 -1283
- package/bin/webui/css/04-motion.css +18 -0
- package/bin/webui/css/06-responsive.css +3 -1
- package/bin/webui/css/panels/hookui.css +220 -41
- package/bin/webui/i18n/en/hookui.json +17 -3
- package/bin/webui/i18n/en/tour.json +1 -1
- package/bin/webui/i18n/id/hookui.json +17 -3
- package/bin/webui/i18n/id/tour.json +1 -1
- package/bin/webui/js/panels/hookui.js +586 -208
- package/package.json +1 -1
- package/templates/hooks/README.md +8 -1
- package/templates/hooks/orc-statusline.js +15 -4
- package/templates/hooks/orc-subagent-line.js +5 -2
|
@@ -74,6 +74,24 @@
|
|
|
74
74
|
}
|
|
75
75
|
button.hk-pick-row:hover { transform: translateX(3px); }
|
|
76
76
|
|
|
77
|
+
/* NOTHING ARRIVES ON A REPAINT (v1.4.2). The CLI Hook Interface rebuilds its
|
|
78
|
+
whole panel when a change is STAGED — no request, no navigation, the same
|
|
79
|
+
cards with one value different — and the entrance animations above replayed
|
|
80
|
+
every time, on a 30ms stagger. With the network tab empty it read exactly
|
|
81
|
+
like the page reloading, on every keystroke.
|
|
82
|
+
|
|
83
|
+
`hk-quiet` is added by `hkPaint` from the SECOND paint onward and by the part
|
|
84
|
+
editor before every rebuild. It removes the ENTRANCES only: the transitions
|
|
85
|
+
further up are about the pointer rather than about arriving, so hover, the
|
|
86
|
+
drop marker and the staged edge are untouched. It must load after the rules
|
|
87
|
+
it switches off, which is why it is here and not in the panel's own file. */
|
|
88
|
+
.hk-quiet > *,
|
|
89
|
+
.hk-quiet .hk-chip,
|
|
90
|
+
.hk-quiet .hk-chip-new,
|
|
91
|
+
.hk-quiet .hk-pick-row {
|
|
92
|
+
animation: none;
|
|
93
|
+
}
|
|
94
|
+
|
|
77
95
|
/* ---------------------------------------------------------- REDUCED MOTION */
|
|
78
96
|
/* Non-negotiable: every animation and transition above is off. */
|
|
79
97
|
|
|
@@ -124,12 +124,14 @@
|
|
|
124
124
|
way. The PREVIEW never collapses: it is a monospaced grid and squeezing it
|
|
125
125
|
would misreport the width the user is deciding. It scrolls instead. */
|
|
126
126
|
.hk-degrade-row,
|
|
127
|
+
.hk-compare-row,
|
|
127
128
|
.hk-field,
|
|
128
129
|
.hk-check {
|
|
129
130
|
grid-template-columns: 1fr;
|
|
130
131
|
gap: 4px;
|
|
131
132
|
}
|
|
132
|
-
.hk-degrade-label
|
|
133
|
+
.hk-degrade-label,
|
|
134
|
+
.hk-compare-label {
|
|
133
135
|
text-align: left;
|
|
134
136
|
}
|
|
135
137
|
.hk-gallery {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
margin: 0;
|
|
21
21
|
padding: 10px 12px;
|
|
22
22
|
border-radius: 8px;
|
|
23
|
-
background: var(--
|
|
23
|
+
background: var(--surface-2);
|
|
24
24
|
border: 1px solid var(--line);
|
|
25
25
|
/* A wide line SCROLLS inside its own box. The page body must never scroll
|
|
26
26
|
sideways — and squeezing a status line to fit would misreport its width,
|
|
@@ -57,22 +57,184 @@
|
|
|
57
57
|
margin-bottom: 10px;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
.
|
|
60
|
+
/* ── the terminal window (v1.4.2) ──────────────────────────────────────── */
|
|
61
|
+
/* The preview is a claim about what a terminal will print, so it is drawn as a
|
|
62
|
+
terminal. The chrome is not decoration: the title bar states the width the
|
|
63
|
+
picture was rendered at, and the ruler under it shows where that width falls.
|
|
64
|
+
Everything inside stays on the same monospaced grid - anything proportional
|
|
65
|
+
here would misrepresent every width decision the user makes. */
|
|
66
|
+
.hk-term {
|
|
67
|
+
border: 1px solid var(--line);
|
|
68
|
+
border-radius: 10px;
|
|
69
|
+
overflow: hidden;
|
|
70
|
+
background: var(--surface-2);
|
|
71
|
+
}
|
|
72
|
+
.hk-term-bar {
|
|
73
|
+
display: flex;
|
|
74
|
+
align-items: center;
|
|
75
|
+
gap: 10px;
|
|
76
|
+
padding: 6px 10px;
|
|
77
|
+
border-bottom: 1px solid var(--line);
|
|
78
|
+
background: var(--surface-3);
|
|
79
|
+
}
|
|
80
|
+
.hk-term-dots {
|
|
81
|
+
display: flex;
|
|
82
|
+
gap: 5px;
|
|
83
|
+
flex: 0 0 auto;
|
|
84
|
+
}
|
|
85
|
+
.hk-term-dot {
|
|
86
|
+
width: 9px;
|
|
87
|
+
height: 9px;
|
|
88
|
+
border-radius: 50%;
|
|
89
|
+
background: var(--line);
|
|
90
|
+
}
|
|
91
|
+
.hk-term-title {
|
|
92
|
+
font-size: 11px;
|
|
93
|
+
color: var(--text-dim);
|
|
94
|
+
flex: 1 1 auto;
|
|
95
|
+
min-width: 0;
|
|
96
|
+
overflow: hidden;
|
|
97
|
+
text-overflow: ellipsis;
|
|
98
|
+
white-space: nowrap;
|
|
99
|
+
}
|
|
100
|
+
.hk-term-tags {
|
|
101
|
+
display: flex;
|
|
102
|
+
gap: 6px;
|
|
103
|
+
flex: 0 0 auto;
|
|
104
|
+
}
|
|
105
|
+
/* The colour set and the symbol set the picture was drawn with. The words are
|
|
106
|
+
the CLI's own and are printed verbatim. */
|
|
107
|
+
.hk-term-tag {
|
|
108
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
109
|
+
font-size: 10px;
|
|
110
|
+
color: var(--text-dim);
|
|
111
|
+
border: 1px solid var(--line);
|
|
112
|
+
border-radius: 999px;
|
|
113
|
+
padding: 1px 7px;
|
|
114
|
+
}
|
|
115
|
+
.hk-term-screen {
|
|
116
|
+
padding: 10px 12px;
|
|
117
|
+
overflow-x: auto;
|
|
118
|
+
scrollbar-width: thin;
|
|
119
|
+
scrollbar-color: var(--line) transparent;
|
|
120
|
+
}
|
|
121
|
+
.hk-term-screen::-webkit-scrollbar {
|
|
122
|
+
height: 8px;
|
|
123
|
+
}
|
|
124
|
+
.hk-term-screen::-webkit-scrollbar-track {
|
|
125
|
+
background: transparent;
|
|
126
|
+
}
|
|
127
|
+
.hk-term-screen::-webkit-scrollbar-thumb {
|
|
128
|
+
background: var(--line);
|
|
129
|
+
border-radius: 4px;
|
|
130
|
+
}
|
|
131
|
+
/* The line inside a window has no box of its own: the window IS the box, and a
|
|
132
|
+
second border around the same string reads as a second thing. */
|
|
133
|
+
.hk-preview-flat {
|
|
134
|
+
border: none;
|
|
135
|
+
background: transparent;
|
|
136
|
+
padding: 0;
|
|
137
|
+
overflow-x: visible;
|
|
138
|
+
}
|
|
139
|
+
.hk-term-sm .hk-term-screen {
|
|
140
|
+
padding: 7px 10px;
|
|
141
|
+
}
|
|
142
|
+
.hk-term-sm .hk-preview {
|
|
143
|
+
font-size: 12px;
|
|
144
|
+
}
|
|
145
|
+
.hk-ruler {
|
|
146
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
147
|
+
font-size: 13px;
|
|
148
|
+
line-height: 1.55;
|
|
149
|
+
white-space: pre;
|
|
150
|
+
color: var(--text-dim);
|
|
151
|
+
opacity: 0.55;
|
|
152
|
+
border-bottom: 1px solid var(--line);
|
|
153
|
+
margin-bottom: 6px;
|
|
154
|
+
padding-bottom: 2px;
|
|
155
|
+
}
|
|
156
|
+
.hk-widths {
|
|
157
|
+
margin-top: 8px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* ── the comparison drawer ─────────────────────────────────────────────── */
|
|
161
|
+
/* Eleven more terminals is a wall of them, and it pushed the board off the
|
|
162
|
+
screen. One drawer, closed by default, fetched on the first open. */
|
|
163
|
+
.hk-compare {
|
|
61
164
|
margin-top: 14px;
|
|
165
|
+
border: 1px solid var(--line);
|
|
166
|
+
border-radius: 10px;
|
|
167
|
+
overflow: hidden;
|
|
168
|
+
}
|
|
169
|
+
.hk-compare-head {
|
|
170
|
+
display: flex;
|
|
171
|
+
align-items: center;
|
|
172
|
+
gap: 10px;
|
|
173
|
+
width: 100%;
|
|
174
|
+
text-align: left;
|
|
175
|
+
padding: 9px 12px;
|
|
176
|
+
border: none;
|
|
177
|
+
background: var(--surface-3);
|
|
178
|
+
color: var(--text);
|
|
179
|
+
cursor: pointer;
|
|
180
|
+
font: inherit;
|
|
181
|
+
}
|
|
182
|
+
.hk-compare-head .tier-caret {
|
|
183
|
+
color: var(--text-dim);
|
|
184
|
+
}
|
|
185
|
+
.hk-compare-open .hk-compare-head .tier-caret {
|
|
186
|
+
transform: rotate(90deg);
|
|
187
|
+
}
|
|
188
|
+
.hk-compare-title {
|
|
189
|
+
font-weight: 600;
|
|
190
|
+
font-size: 13px;
|
|
191
|
+
}
|
|
192
|
+
.hk-compare-body {
|
|
193
|
+
display: none;
|
|
194
|
+
padding: 12px;
|
|
195
|
+
gap: 10px;
|
|
196
|
+
}
|
|
197
|
+
.hk-compare-open .hk-compare-body {
|
|
62
198
|
display: grid;
|
|
63
|
-
gap: 6px;
|
|
64
199
|
}
|
|
65
|
-
.hk-
|
|
200
|
+
.hk-compare-group {
|
|
201
|
+
font-size: 11px;
|
|
202
|
+
letter-spacing: 0.06em;
|
|
203
|
+
text-transform: uppercase;
|
|
204
|
+
color: var(--text-dim);
|
|
205
|
+
margin-top: 4px;
|
|
206
|
+
}
|
|
207
|
+
.hk-compare-row {
|
|
66
208
|
display: grid;
|
|
67
|
-
grid-template-columns:
|
|
209
|
+
grid-template-columns: 110px 1fr;
|
|
68
210
|
gap: 10px;
|
|
69
211
|
align-items: center;
|
|
212
|
+
min-width: 0;
|
|
70
213
|
}
|
|
71
|
-
.hk-
|
|
214
|
+
.hk-compare-label {
|
|
215
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
72
216
|
font-size: 11px;
|
|
73
|
-
color: var(--
|
|
217
|
+
color: var(--text-dim);
|
|
74
218
|
text-align: right;
|
|
75
219
|
}
|
|
220
|
+
.hk-compare-row .hk-term-bar {
|
|
221
|
+
display: none;
|
|
222
|
+
}
|
|
223
|
+
/* A control this SHAPE cannot use. It keeps its slot and carries the reason —
|
|
224
|
+
"this shape cannot use it" and "we forgot to offer it" must never look the
|
|
225
|
+
same, and a value already set has to stay readable. */
|
|
226
|
+
.hk-inert {
|
|
227
|
+
display: grid;
|
|
228
|
+
gap: 4px;
|
|
229
|
+
}
|
|
230
|
+
.hk-inert > :first-child {
|
|
231
|
+
opacity: 0.45;
|
|
232
|
+
pointer-events: none;
|
|
233
|
+
}
|
|
234
|
+
.hk-editor-live {
|
|
235
|
+
display: grid;
|
|
236
|
+
gap: 6px;
|
|
237
|
+
}
|
|
76
238
|
|
|
77
239
|
/* ── cautions ──────────────────────────────────────────────────────────── */
|
|
78
240
|
.hk-caution {
|
|
@@ -110,11 +272,11 @@
|
|
|
110
272
|
.hk-line-name {
|
|
111
273
|
font-size: 12px;
|
|
112
274
|
font-weight: 600;
|
|
113
|
-
color: var(--
|
|
275
|
+
color: var(--text-dim);
|
|
114
276
|
}
|
|
115
277
|
.hk-line-count {
|
|
116
278
|
font-size: 11px;
|
|
117
|
-
color: var(--
|
|
279
|
+
color: var(--text-dim);
|
|
118
280
|
}
|
|
119
281
|
.hk-full {
|
|
120
282
|
color: var(--warn);
|
|
@@ -135,7 +297,7 @@
|
|
|
135
297
|
.hk-zone-hot {
|
|
136
298
|
border-color: var(--accent);
|
|
137
299
|
border-style: solid;
|
|
138
|
-
background: var(--
|
|
300
|
+
background: var(--surface-2);
|
|
139
301
|
}
|
|
140
302
|
.hk-zone-why {
|
|
141
303
|
flex-basis: 100%;
|
|
@@ -149,8 +311,8 @@
|
|
|
149
311
|
45deg,
|
|
150
312
|
transparent,
|
|
151
313
|
transparent 6px,
|
|
152
|
-
var(--
|
|
153
|
-
var(--
|
|
314
|
+
var(--surface-2) 6px,
|
|
315
|
+
var(--surface-2) 12px
|
|
154
316
|
);
|
|
155
317
|
}
|
|
156
318
|
.hk-blocked {
|
|
@@ -158,7 +320,7 @@
|
|
|
158
320
|
gap: 8px;
|
|
159
321
|
align-items: center;
|
|
160
322
|
font-size: 12px;
|
|
161
|
-
color: var(--
|
|
323
|
+
color: var(--text-dim);
|
|
162
324
|
padding: 8px;
|
|
163
325
|
}
|
|
164
326
|
|
|
@@ -173,7 +335,7 @@
|
|
|
173
335
|
padding: 9px 10px;
|
|
174
336
|
border: 1px solid var(--line);
|
|
175
337
|
border-radius: 9px;
|
|
176
|
-
background: var(--
|
|
338
|
+
background: var(--surface-3);
|
|
177
339
|
min-width: 150px;
|
|
178
340
|
max-width: 280px;
|
|
179
341
|
cursor: grab;
|
|
@@ -214,7 +376,7 @@
|
|
|
214
376
|
min-height: 24px;
|
|
215
377
|
}
|
|
216
378
|
.hk-grip {
|
|
217
|
-
color: var(--
|
|
379
|
+
color: var(--text-dim);
|
|
218
380
|
font-size: 14px;
|
|
219
381
|
line-height: 1;
|
|
220
382
|
cursor: grab;
|
|
@@ -223,14 +385,14 @@
|
|
|
223
385
|
.hk-chip-id {
|
|
224
386
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
225
387
|
font-size: 11px;
|
|
226
|
-
color: var(--
|
|
388
|
+
color: var(--text-dim);
|
|
227
389
|
}
|
|
228
390
|
/* "What is this thing" is the first question anybody asks of a bar full of
|
|
229
391
|
symbols, and until v1.4.1 the answer lived only in a tooltip. */
|
|
230
392
|
.hk-chip-desc {
|
|
231
393
|
font-size: 11px;
|
|
232
394
|
line-height: 1.45;
|
|
233
|
-
color: var(--
|
|
395
|
+
color: var(--text-dim);
|
|
234
396
|
}
|
|
235
397
|
.hk-chip-acts {
|
|
236
398
|
display: flex;
|
|
@@ -243,13 +405,13 @@
|
|
|
243
405
|
padding: 3px 8px;
|
|
244
406
|
border: 1px solid var(--line);
|
|
245
407
|
border-radius: 5px;
|
|
246
|
-
background: var(--
|
|
247
|
-
color: var(--
|
|
408
|
+
background: var(--surface-2);
|
|
409
|
+
color: var(--text-dim);
|
|
248
410
|
cursor: pointer;
|
|
249
411
|
}
|
|
250
412
|
.hk-act:hover {
|
|
251
413
|
border-color: var(--accent);
|
|
252
|
-
color: var(--
|
|
414
|
+
color: var(--text);
|
|
253
415
|
}
|
|
254
416
|
.hk-act-remove:hover {
|
|
255
417
|
border-color: var(--bad);
|
|
@@ -259,7 +421,7 @@
|
|
|
259
421
|
.hk-add {
|
|
260
422
|
border: 1px dashed var(--line);
|
|
261
423
|
background: none;
|
|
262
|
-
color: var(--
|
|
424
|
+
color: var(--text-dim);
|
|
263
425
|
border-radius: 9px;
|
|
264
426
|
padding: 10px 18px;
|
|
265
427
|
cursor: pointer;
|
|
@@ -268,7 +430,7 @@
|
|
|
268
430
|
}
|
|
269
431
|
.hk-add:hover:not(:disabled) {
|
|
270
432
|
border-color: var(--accent);
|
|
271
|
-
color: var(--
|
|
433
|
+
color: var(--text);
|
|
272
434
|
}
|
|
273
435
|
.hk-add:disabled {
|
|
274
436
|
cursor: not-allowed;
|
|
@@ -287,10 +449,27 @@
|
|
|
287
449
|
padding: 4px 8px;
|
|
288
450
|
border: 1px solid var(--line);
|
|
289
451
|
border-radius: 6px;
|
|
290
|
-
background: var(--
|
|
291
|
-
color: var(--
|
|
452
|
+
background: var(--surface-2);
|
|
453
|
+
color: var(--text);
|
|
292
454
|
max-width: 260px;
|
|
293
455
|
}
|
|
456
|
+
/* THE OPEN LIST IS NOT THE CLOSED BOX (v1.4.2). A native <select> popup is
|
|
457
|
+
drawn by the platform, and it inherits the control's `color` while taking its
|
|
458
|
+
background from the system - so a light `--fg` on a dark panel arrived as
|
|
459
|
+
near-white text on the platform's near-white menu, and the values could not
|
|
460
|
+
be read at all. `color-scheme` tells the platform which menu to draw, and the
|
|
461
|
+
option rule states both halves rather than leaving one of them to chance. */
|
|
462
|
+
.hk-select {
|
|
463
|
+
color-scheme: light dark;
|
|
464
|
+
}
|
|
465
|
+
.hk-select option,
|
|
466
|
+
.hk-select optgroup {
|
|
467
|
+
background: var(--surface-3);
|
|
468
|
+
color: var(--text);
|
|
469
|
+
}
|
|
470
|
+
.hk-select option:disabled {
|
|
471
|
+
color: var(--text-dim);
|
|
472
|
+
}
|
|
294
473
|
|
|
295
474
|
/* ── the part picker ───────────────────────────────────────────────────── */
|
|
296
475
|
.hk-picker {
|
|
@@ -339,14 +518,14 @@
|
|
|
339
518
|
padding: 9px 11px;
|
|
340
519
|
border: 1px solid var(--line);
|
|
341
520
|
border-radius: 8px;
|
|
342
|
-
background: var(--
|
|
521
|
+
background: var(--surface-3);
|
|
343
522
|
text-align: left;
|
|
344
523
|
cursor: pointer;
|
|
345
524
|
color: inherit;
|
|
346
525
|
}
|
|
347
526
|
button.hk-pick-row:hover {
|
|
348
527
|
border-color: var(--accent);
|
|
349
|
-
background: var(--
|
|
528
|
+
background: var(--surface-2);
|
|
350
529
|
}
|
|
351
530
|
.hk-pick-row-off {
|
|
352
531
|
cursor: default;
|
|
@@ -362,7 +541,7 @@ button.hk-pick-row:hover {
|
|
|
362
541
|
.hk-pick-desc {
|
|
363
542
|
font-size: 12px;
|
|
364
543
|
line-height: 1.5;
|
|
365
|
-
color: var(--
|
|
544
|
+
color: var(--text-dim);
|
|
366
545
|
}
|
|
367
546
|
|
|
368
547
|
/* ── move ──────────────────────────────────────────────────────────────── */
|
|
@@ -390,7 +569,7 @@ button.hk-pick-row:hover {
|
|
|
390
569
|
position: sticky;
|
|
391
570
|
top: 0;
|
|
392
571
|
z-index: 1;
|
|
393
|
-
background: var(--
|
|
572
|
+
background: var(--surface-3);
|
|
394
573
|
padding-bottom: 4px;
|
|
395
574
|
}
|
|
396
575
|
/* The editor is a flex COLUMN that stretches its children, which turned a small
|
|
@@ -408,7 +587,7 @@ button.hk-pick-row:hover {
|
|
|
408
587
|
font-size: 11px;
|
|
409
588
|
text-transform: uppercase;
|
|
410
589
|
letter-spacing: 0.06em;
|
|
411
|
-
color: var(--
|
|
590
|
+
color: var(--text-dim);
|
|
412
591
|
border-bottom: 1px solid var(--line);
|
|
413
592
|
padding-bottom: 3px;
|
|
414
593
|
}
|
|
@@ -428,7 +607,7 @@ button.hk-pick-row:hover {
|
|
|
428
607
|
padding: 6px 8px;
|
|
429
608
|
border: 1px solid var(--line);
|
|
430
609
|
border-radius: 6px;
|
|
431
|
-
background: var(--
|
|
610
|
+
background: var(--surface-2);
|
|
432
611
|
cursor: pointer;
|
|
433
612
|
text-align: left;
|
|
434
613
|
}
|
|
@@ -437,12 +616,12 @@ button.hk-pick-row:hover {
|
|
|
437
616
|
}
|
|
438
617
|
.hk-sample-on {
|
|
439
618
|
border-color: var(--accent);
|
|
440
|
-
background: var(--
|
|
619
|
+
background: var(--surface-3);
|
|
441
620
|
}
|
|
442
621
|
.hk-sample-id {
|
|
443
622
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
444
623
|
font-size: 10px;
|
|
445
|
-
color: var(--
|
|
624
|
+
color: var(--text-dim);
|
|
446
625
|
}
|
|
447
626
|
|
|
448
627
|
/* A control, its name, and the sentence that says what it does. The sentence is
|
|
@@ -462,7 +641,7 @@ button.hk-pick-row:hover {
|
|
|
462
641
|
.hk-field-name {
|
|
463
642
|
font-size: 12px;
|
|
464
643
|
font-weight: 600;
|
|
465
|
-
color: var(--
|
|
644
|
+
color: var(--text);
|
|
466
645
|
}
|
|
467
646
|
.hk-picks {
|
|
468
647
|
display: flex;
|
|
@@ -475,8 +654,8 @@ button.hk-pick-row:hover {
|
|
|
475
654
|
padding: 3px 7px;
|
|
476
655
|
border: 1px solid var(--line);
|
|
477
656
|
border-radius: 5px;
|
|
478
|
-
background: var(--
|
|
479
|
-
color: var(--
|
|
657
|
+
background: var(--surface-2);
|
|
658
|
+
color: var(--text-dim);
|
|
480
659
|
cursor: pointer;
|
|
481
660
|
}
|
|
482
661
|
.hk-pick:hover {
|
|
@@ -484,8 +663,8 @@ button.hk-pick-row:hover {
|
|
|
484
663
|
}
|
|
485
664
|
.hk-pick-on {
|
|
486
665
|
border-color: var(--accent);
|
|
487
|
-
color: var(--
|
|
488
|
-
background: var(--
|
|
666
|
+
color: var(--text);
|
|
667
|
+
background: var(--surface-3);
|
|
489
668
|
}
|
|
490
669
|
.hk-checks {
|
|
491
670
|
display: grid;
|
|
@@ -525,7 +704,7 @@ button.hk-pick-row:hover {
|
|
|
525
704
|
.hk-prow-desc {
|
|
526
705
|
font-size: 12px;
|
|
527
706
|
line-height: 1.5;
|
|
528
|
-
color: var(--
|
|
707
|
+
color: var(--text-dim);
|
|
529
708
|
}
|
|
530
709
|
.hk-prow-why {
|
|
531
710
|
flex-basis: 100%;
|
|
@@ -562,7 +741,7 @@ button.hk-pick-row:hover {
|
|
|
562
741
|
padding: 8px 10px;
|
|
563
742
|
border: 1px solid var(--line);
|
|
564
743
|
border-radius: 8px;
|
|
565
|
-
background: var(--
|
|
744
|
+
background: var(--surface-2);
|
|
566
745
|
cursor: pointer;
|
|
567
746
|
text-align: left;
|
|
568
747
|
color: inherit;
|
|
@@ -572,13 +751,13 @@ button.hk-pick-row:hover {
|
|
|
572
751
|
}
|
|
573
752
|
.hk-theme-on {
|
|
574
753
|
border-color: var(--accent);
|
|
575
|
-
background: var(--
|
|
754
|
+
background: var(--surface-3);
|
|
576
755
|
}
|
|
577
756
|
.hk-theme-name {
|
|
578
757
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
579
758
|
font-size: 12px;
|
|
580
759
|
font-weight: 600;
|
|
581
|
-
color: var(--
|
|
760
|
+
color: var(--text);
|
|
582
761
|
}
|
|
583
762
|
|
|
584
763
|
/* A number field is a NUMBER field: wide enough for three digits and its
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"hookui.title": "CLI Hook Interface",
|
|
3
|
-
"hookui.sub": "Build the ORC status line. Three lines. Each line holds up to
|
|
3
|
+
"hookui.sub": "Build the ORC status line. Three lines. Each line holds up to six parts.",
|
|
4
4
|
"hookui.noData": "The status line cannot be read.",
|
|
5
5
|
"hookui.gate": "Status",
|
|
6
6
|
"hookui.on": "on",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
|
|
78
78
|
"hookui.unknownComponent": "This ORC version does not have this part.",
|
|
79
79
|
"hookui.shape": "Shape",
|
|
80
|
-
"hookui.shapeAbout": "How this part is drawn. Every option below is drawn with this part's real value, so you can see it before you choose. Picking one
|
|
80
|
+
"hookui.shapeAbout": "How this part is drawn. Every option below is drawn with this part's real value, so you can see it before you choose. Picking one marks it here and redraws the sample above; the window stays open.",
|
|
81
81
|
"hookui.shapeChange": "{id} shape = {r}",
|
|
82
82
|
"hookui.glyphs": "Symbols",
|
|
83
83
|
"hookui.glyphsAbout": "Which set of symbols the bars and marks are drawn from. Some terminals and fonts cannot draw all of them.",
|
|
@@ -176,5 +176,19 @@
|
|
|
176
176
|
"hookui.boardStatus": "The status line",
|
|
177
177
|
"hookui.boardSubagent": "One row per agent",
|
|
178
178
|
"hookui.boardStatusSub": "The two lines at the bottom of your terminal.",
|
|
179
|
-
"hookui.boardSubagentSub": "The row Claude Code draws for each subagent in the agent panel. One line, and it shows what that agent is running at and what it has cost so far."
|
|
179
|
+
"hookui.boardSubagentSub": "The row Claude Code draws for each subagent in the agent panel. One line, and it shows what that agent is running at and what it has cost so far.",
|
|
180
|
+
|
|
181
|
+
"hookui.previewStaleN": "One change is staged and is NOT in this picture. This window shows the layout that is saved on disk. Press Apply at the bottom of the page to write your change and redraw it.",
|
|
182
|
+
"hookui.previewStaleNPlural": "{n} changes are staged and are NOT in this picture. This window shows the layout that is saved on disk. Press Apply at the bottom of the page to write them and redraw it.",
|
|
183
|
+
"hookui.termTitle": "terminal, {n} cell wide",
|
|
184
|
+
"hookui.termTitlePlural": "terminal, {n} cells wide",
|
|
185
|
+
"hookui.compare": "See it in other setups",
|
|
186
|
+
"hookui.compareAbout": "The same bar under every colour set and every symbol set. It opens when you ask, because each row is a real render.",
|
|
187
|
+
"hookui.compareThemes": "Colour sets",
|
|
188
|
+
"hookui.compareGlyphs": "Symbol sets",
|
|
189
|
+
"hookui.editorLive": "The shape this part will take. It shows the shape only — never the words or the numbers it will carry when it runs.",
|
|
190
|
+
"hookui.editorStaged": "Nothing here is written until you press Apply at the bottom of the page. A dot next to a control name means the value is yours, not an inherited one.",
|
|
191
|
+
"hookui.shapeIgnores": "The shape you picked above does not use this. It is here so you can see what is set, and it is switched off because it would do nothing.",
|
|
192
|
+
"hookui.shapeIgnoresLabel": "The shape you picked above does not draw a name. These shapes do: {shapes}.",
|
|
193
|
+
"hookui.shapeDecides": "The shape decides which of the settings below do anything. Only these shapes draw a name: {shapes}. A bar, an icon or a bare value has no room for one, so the Name box is switched off for them."
|
|
180
194
|
}
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"tour.14.title": "Work that runs somewhere else",
|
|
32
32
|
"tour.14.text": "One line from nothing to a hundred: how hard a task scored. Every part of it shows where that work actually runs — Claude in blue, a provider you connected in green. A range you have not connected keeps its slot, so \"I left the hard work on Claude on purpose\" never looks like \"there is no hard work\". Nothing leaves this machine until you connect something, test it, and press Apply.",
|
|
33
33
|
"tour.15.title": "Build your own status line",
|
|
34
|
-
"tour.15.text": "Three lines, each holding up to
|
|
34
|
+
"tour.15.text": "Three lines, each holding up to six parts. Line 1 must have something before line 2 can. The preview at the top is exactly what your terminal will show — it is drawn by the same code the bar runs."
|
|
35
35
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"hookui.title": "Antarmuka CLI Hook",
|
|
3
|
-
"hookui.sub": "Bangun baris status ORC. Tiga baris. Tiap baris memuat sampai
|
|
3
|
+
"hookui.sub": "Bangun baris status ORC. Tiga baris. Tiap baris memuat sampai enam bagian.",
|
|
4
4
|
"hookui.noData": "Baris status tidak dapat dibaca.",
|
|
5
5
|
"hookui.gate": "Status",
|
|
6
6
|
"hookui.on": "hidup",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
|
|
78
78
|
"hookui.unknownComponent": "Versi ORC ini tidak memiliki bagian tersebut.",
|
|
79
79
|
"hookui.shape": "Bentuk",
|
|
80
|
-
"hookui.shapeAbout": "Bagaimana bagian ini digambar. Setiap pilihan di bawah digambar dengan nilai asli bagian ini, jadi Anda bisa melihatnya sebelum memilih. Memilih satu akan
|
|
80
|
+
"hookui.shapeAbout": "Bagaimana bagian ini digambar. Setiap pilihan di bawah digambar dengan nilai asli bagian ini, jadi Anda bisa melihatnya sebelum memilih. Memilih satu akan menandainya di sini dan menggambar ulang contoh di atas; jendela tetap terbuka.",
|
|
81
81
|
"hookui.shapeChange": "bentuk {id} = {r}",
|
|
82
82
|
"hookui.glyphs": "Simbol",
|
|
83
83
|
"hookui.glyphsAbout": "Dari kumpulan simbol mana batang dan tanda digambar. Sebagian terminal dan huruf tidak dapat menggambar semuanya.",
|
|
@@ -176,5 +176,19 @@
|
|
|
176
176
|
"hookui.boardStatus": "Baris status",
|
|
177
177
|
"hookui.boardSubagent": "Satu baris per agen",
|
|
178
178
|
"hookui.boardStatusSub": "Dua baris di bagian bawah terminal Anda.",
|
|
179
|
-
"hookui.boardSubagentSub": "Baris yang digambar Claude Code untuk setiap subagen di panel agen. Satu baris, dan ia menunjukkan agen itu berjalan pada apa dan sudah menghabiskan berapa."
|
|
179
|
+
"hookui.boardSubagentSub": "Baris yang digambar Claude Code untuk setiap subagen di panel agen. Satu baris, dan ia menunjukkan agen itu berjalan pada apa dan sudah menghabiskan berapa.",
|
|
180
|
+
|
|
181
|
+
"hookui.previewStaleN": "Satu perubahan sudah disiapkan dan BELUM ada di gambar ini. Jendela ini menampilkan tata letak yang tersimpan di disk. Tekan Terapkan di bagian bawah halaman untuk menuliskannya dan menggambar ulang.",
|
|
182
|
+
"hookui.previewStaleNPlural": "{n} perubahan sudah disiapkan dan BELUM ada di gambar ini. Jendela ini menampilkan tata letak yang tersimpan di disk. Tekan Terapkan di bagian bawah halaman untuk menuliskannya dan menggambar ulang.",
|
|
183
|
+
"hookui.termTitle": "terminal, lebar {n} sel",
|
|
184
|
+
"hookui.termTitlePlural": "terminal, lebar {n} sel",
|
|
185
|
+
"hookui.compare": "Lihat dalam pengaturan lain",
|
|
186
|
+
"hookui.compareAbout": "Bar yang sama di bawah setiap set warna dan setiap set simbol. Terbuka saat Anda meminta, karena setiap baris adalah render sungguhan.",
|
|
187
|
+
"hookui.compareThemes": "Set warna",
|
|
188
|
+
"hookui.compareGlyphs": "Set simbol",
|
|
189
|
+
"hookui.editorLive": "Bentuk yang akan diambil bagian ini. Hanya bentuknya — bukan kata atau angka yang akan dibawanya saat berjalan.",
|
|
190
|
+
"hookui.editorStaged": "Tidak ada yang ditulis di sini sampai Anda menekan Terapkan di bagian bawah halaman. Titik di samping nama kontrol berarti nilai itu milik Anda, bukan warisan.",
|
|
191
|
+
"hookui.shapeIgnores": "Bentuk yang Anda pilih di atas tidak memakai ini. Ini tetap ditampilkan agar Anda bisa melihat nilainya, dan dimatikan karena tidak akan berpengaruh.",
|
|
192
|
+
"hookui.shapeIgnoresLabel": "Bentuk yang Anda pilih di atas tidak menggambar nama. Bentuk berikut menggambarnya: {shapes}.",
|
|
193
|
+
"hookui.shapeDecides": "Bentuk menentukan pengaturan mana di bawah ini yang berpengaruh. Hanya bentuk berikut yang menggambar nama: {shapes}. Bar, ikon, atau nilai polos tidak punya ruang untuk itu, jadi kotak Nama dimatikan untuk mereka."
|
|
180
194
|
}
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"tour.14.title": "Pekerjaan yang berjalan di tempat lain",
|
|
32
32
|
"tour.14.text": "Satu garis dari nol sampai seratus: seberapa berat skor sebuah tugas. Setiap bagiannya menunjukkan di mana pekerjaan itu benar-benar berjalan — Claude berwarna biru, penyedia yang Anda hubungkan berwarna hijau. Rentang yang belum Anda hubungkan tetap punya tempatnya, jadi \"saya sengaja meninggalkan pekerjaan berat di Claude\" tidak pernah terlihat seperti \"tidak ada pekerjaan berat\". Tidak ada yang keluar dari mesin ini sampai Anda menghubungkan sesuatu, mengujinya, dan menekan Apply.",
|
|
33
33
|
"tour.15.title": "Bangun baris status Anda sendiri",
|
|
34
|
-
"tour.15.text": "Tiga baris, tiap baris memuat sampai
|
|
34
|
+
"tour.15.text": "Tiga baris, tiap baris memuat sampai enam bagian. Baris 1 harus terisi sebelum baris 2 bisa. Pratinjau di atas persis seperti yang akan tampil di terminal Anda - digambar oleh kode yang sama dengan yang dijalankan bilah itu."
|
|
35
35
|
}
|