@cortexkit/opencode-anthropic-auth 2.4.2 → 2.4.4
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/cli.js +44 -44
- package/dist/fable-fallback.d.ts +55 -1
- package/dist/index-61bbefpq.js +2 -0
- package/dist/index-j2cv839v.js +2 -0
- package/dist/index-j3mytf5r.js +45 -0
- package/dist/index.js +1 -1
- package/dist/plugin-test-handles.d.ts +2 -0
- package/dist/sidebar-state.d.ts +1 -0
- package/dist/sidebar-state.js +1 -1
- package/dist/transform.d.ts +9 -0
- package/dist/v2/cachekeep.d.ts +6 -1
- package/dist/v2/server.js +10 -10
- package/dist/v2/sidebar.d.ts +1 -1
- package/dist/v2/source.d.ts +9 -2
- package/dist/v2/tui.js +1 -1
- package/package.json +3 -3
- package/src/sidebar-state.ts +11 -2
- package/src/tui/claude-sidebar.tsx +22 -32
- package/src/tui-compiled/sidebar-state.ts +11 -2
- package/src/tui-compiled/tui/claude-sidebar.tsx +155 -184
- package/dist/index-12km9x91.js +0 -2
- package/dist/index-a1k6z503.js +0 -2
- package/dist/index-nbwx1dph.js +0 -45
|
@@ -39,11 +39,6 @@ const PLUGIN_VERSION = (() => {
|
|
|
39
39
|
return '';
|
|
40
40
|
})();
|
|
41
41
|
|
|
42
|
-
// biome-ignore lint/suspicious/noExplicitAny: opentui border prop not typed in plugin tui surface
|
|
43
|
-
const SINGLE_BORDER = {
|
|
44
|
-
type: 'single'
|
|
45
|
-
};
|
|
46
|
-
|
|
47
42
|
/** The flat theme tokens the sidebar draws with; OpenCode 1's `theme.current` has them all. */
|
|
48
43
|
|
|
49
44
|
// Tone -> theme token. Theme tokens only — never hardcoded colors. Fallbacks
|
|
@@ -208,14 +203,17 @@ function CollapsedAccountRow(props) {
|
|
|
208
203
|
let row;
|
|
209
204
|
const summary = () => getCollapsedQuotaSummary(props.account.quota, props.now);
|
|
210
205
|
const value = () => summary().text ?? '—';
|
|
211
|
-
|
|
206
|
+
// Keep the quota and its two-cell status suffix intact; only the label shrinks.
|
|
207
|
+
const labelWidth = () => Math.max(0, width() - 1 - Bun.stringWidth(value()) - 2);
|
|
212
208
|
const dim = () => !props.account.active || props.account.quotaDated || summary().stale;
|
|
213
209
|
const attributes = () => dim() ? TextAttributes.DIM : TextAttributes.BOLD;
|
|
214
210
|
const color = () => dim() ? props.theme.textMuted : toneColor(props.theme, props.tone);
|
|
215
211
|
return (() => {
|
|
216
212
|
var _el$0 = _$createElement("box"),
|
|
217
|
-
_el$12 = _$createElement("text")
|
|
213
|
+
_el$12 = _$createElement("text"),
|
|
214
|
+
_el$13 = _$createElement("text");
|
|
218
215
|
_$insertNode(_el$0, _el$12);
|
|
216
|
+
_$insertNode(_el$0, _el$13);
|
|
219
217
|
_$use(element => {
|
|
220
218
|
row = element;
|
|
221
219
|
setWidth(element.width || 40);
|
|
@@ -260,18 +258,27 @@ function CollapsedAccountRow(props) {
|
|
|
260
258
|
_$setProp(_el$12, "flexShrink", 0);
|
|
261
259
|
_$setProp(_el$12, "wrapMode", 'none');
|
|
262
260
|
_$insert(_el$12, value);
|
|
261
|
+
_$setProp(_el$13, "width", 2);
|
|
262
|
+
_$setProp(_el$13, "flexShrink", 0);
|
|
263
|
+
_$insert(_el$13, () => props.account.blocked ? ' ⊘' : ' ●');
|
|
263
264
|
_$effect(_p$ => {
|
|
264
265
|
var _v$8 = Bun.stringWidth(value()),
|
|
265
266
|
_v$9 = color(),
|
|
266
|
-
_v$0 = attributes()
|
|
267
|
+
_v$0 = attributes(),
|
|
268
|
+
_v$1 = toneColor(props.theme, props.account.blocked ? 'warn' : props.account.active ? 'ok' : 'muted'),
|
|
269
|
+
_v$10 = attributes();
|
|
267
270
|
_v$8 !== _p$.e && (_p$.e = _$setProp(_el$12, "width", _v$8, _p$.e));
|
|
268
271
|
_v$9 !== _p$.t && (_p$.t = _$setProp(_el$12, "fg", _v$9, _p$.t));
|
|
269
272
|
_v$0 !== _p$.a && (_p$.a = _$setProp(_el$12, "attributes", _v$0, _p$.a));
|
|
273
|
+
_v$1 !== _p$.o && (_p$.o = _$setProp(_el$13, "fg", _v$1, _p$.o));
|
|
274
|
+
_v$10 !== _p$.i && (_p$.i = _$setProp(_el$13, "attributes", _v$10, _p$.i));
|
|
270
275
|
return _p$;
|
|
271
276
|
}, {
|
|
272
277
|
e: undefined,
|
|
273
278
|
t: undefined,
|
|
274
|
-
a: undefined
|
|
279
|
+
a: undefined,
|
|
280
|
+
o: undefined,
|
|
281
|
+
i: undefined
|
|
275
282
|
});
|
|
276
283
|
return _el$0;
|
|
277
284
|
})();
|
|
@@ -281,21 +288,21 @@ function CollapsedAccountRow(props) {
|
|
|
281
288
|
// never wrapped, so the row's layout is exactly what `fitQuotaRow` measured.
|
|
282
289
|
function Cell(props) {
|
|
283
290
|
return (() => {
|
|
284
|
-
var _el$
|
|
285
|
-
_$setProp(_el$
|
|
286
|
-
_$setProp(_el$
|
|
287
|
-
_$insert(_el$
|
|
291
|
+
var _el$14 = _$createElement("text");
|
|
292
|
+
_$setProp(_el$14, "flexShrink", 0);
|
|
293
|
+
_$setProp(_el$14, "wrapMode", 'none');
|
|
294
|
+
_$insert(_el$14, () => props.text);
|
|
288
295
|
_$effect(_p$ => {
|
|
289
|
-
var _v$
|
|
290
|
-
_v$
|
|
291
|
-
_v$
|
|
292
|
-
_v$
|
|
296
|
+
var _v$11 = Bun.stringWidth(props.text),
|
|
297
|
+
_v$12 = props.fg;
|
|
298
|
+
_v$11 !== _p$.e && (_p$.e = _$setProp(_el$14, "width", _v$11, _p$.e));
|
|
299
|
+
_v$12 !== _p$.t && (_p$.t = _$setProp(_el$14, "fg", _v$12, _p$.t));
|
|
293
300
|
return _p$;
|
|
294
301
|
}, {
|
|
295
302
|
e: undefined,
|
|
296
303
|
t: undefined
|
|
297
304
|
});
|
|
298
|
-
return _el$
|
|
305
|
+
return _el$14;
|
|
299
306
|
})();
|
|
300
307
|
}
|
|
301
308
|
|
|
@@ -325,11 +332,11 @@ function QuotaRow(props) {
|
|
|
325
332
|
},
|
|
326
333
|
get fallback() {
|
|
327
334
|
return (() => {
|
|
328
|
-
var _el$
|
|
329
|
-
_$setProp(_el$
|
|
330
|
-
_$setProp(_el$
|
|
331
|
-
_$setProp(_el$
|
|
332
|
-
_$insert(_el$
|
|
335
|
+
var _el$17 = _$createElement("box");
|
|
336
|
+
_$setProp(_el$17, "width", '100%');
|
|
337
|
+
_$setProp(_el$17, "height", 1);
|
|
338
|
+
_$setProp(_el$17, "flexDirection", 'row');
|
|
339
|
+
_$insert(_el$17, _$createComponent(Cell, {
|
|
333
340
|
get fg() {
|
|
334
341
|
return props.theme.textMuted;
|
|
335
342
|
},
|
|
@@ -337,26 +344,26 @@ function QuotaRow(props) {
|
|
|
337
344
|
return `${labelCell()}\u2014`;
|
|
338
345
|
}
|
|
339
346
|
}));
|
|
340
|
-
return _el$
|
|
347
|
+
return _el$17;
|
|
341
348
|
})();
|
|
342
349
|
},
|
|
343
350
|
get children() {
|
|
344
351
|
return [(() => {
|
|
345
|
-
var _el$
|
|
346
|
-
_el$
|
|
347
|
-
_$insertNode(_el$
|
|
348
|
-
_$setProp(_el$
|
|
349
|
-
_$setProp(_el$
|
|
350
|
-
_$setProp(_el$
|
|
351
|
-
_$insert(_el$
|
|
352
|
+
var _el$15 = _$createElement("box"),
|
|
353
|
+
_el$16 = _$createElement("box");
|
|
354
|
+
_$insertNode(_el$15, _el$16);
|
|
355
|
+
_$setProp(_el$15, "width", '100%');
|
|
356
|
+
_$setProp(_el$15, "height", 1);
|
|
357
|
+
_$setProp(_el$15, "flexDirection", 'row');
|
|
358
|
+
_$insert(_el$15, _$createComponent(Cell, {
|
|
352
359
|
get fg() {
|
|
353
360
|
return props.theme.textMuted;
|
|
354
361
|
},
|
|
355
362
|
get text() {
|
|
356
363
|
return labelCell();
|
|
357
364
|
}
|
|
358
|
-
}), _el$
|
|
359
|
-
_$insert(_el$
|
|
365
|
+
}), _el$16);
|
|
366
|
+
_$insert(_el$15, _$createComponent(Index, {
|
|
360
367
|
get each() {
|
|
361
368
|
return quotaBarSegments(used(), props.appearance, props.pacing, fit().barCells);
|
|
362
369
|
},
|
|
@@ -368,17 +375,17 @@ function QuotaRow(props) {
|
|
|
368
375
|
return segment().text;
|
|
369
376
|
}
|
|
370
377
|
})
|
|
371
|
-
}), _el$
|
|
372
|
-
_$insert(_el$
|
|
378
|
+
}), _el$16);
|
|
379
|
+
_$insert(_el$15, _$createComponent(Cell, {
|
|
373
380
|
get fg() {
|
|
374
381
|
return toneColor(props.theme, usageTone(used(), props.appearance));
|
|
375
382
|
},
|
|
376
383
|
get text() {
|
|
377
384
|
return `${fit().barCells > 0 ? ' ' : ''}${figure()}`;
|
|
378
385
|
}
|
|
379
|
-
}), _el$
|
|
380
|
-
_$setProp(_el$
|
|
381
|
-
_$insert(_el$
|
|
386
|
+
}), _el$16);
|
|
387
|
+
_$setProp(_el$16, "flexGrow", 1);
|
|
388
|
+
_$insert(_el$15, _$createComponent(Show, {
|
|
382
389
|
get when() {
|
|
383
390
|
return fit().reset;
|
|
384
391
|
},
|
|
@@ -391,17 +398,17 @@ function QuotaRow(props) {
|
|
|
391
398
|
}
|
|
392
399
|
})
|
|
393
400
|
}), null);
|
|
394
|
-
return _el$
|
|
401
|
+
return _el$15;
|
|
395
402
|
})(), _$createComponent(Show, {
|
|
396
403
|
get when() {
|
|
397
404
|
return paceLine();
|
|
398
405
|
},
|
|
399
406
|
children: line => (() => {
|
|
400
|
-
var _el$
|
|
401
|
-
_$setProp(_el$
|
|
402
|
-
_$setProp(_el$
|
|
403
|
-
_$setProp(_el$
|
|
404
|
-
_$insert(_el$
|
|
407
|
+
var _el$18 = _$createElement("box");
|
|
408
|
+
_$setProp(_el$18, "width", '100%');
|
|
409
|
+
_$setProp(_el$18, "height", 1);
|
|
410
|
+
_$setProp(_el$18, "flexDirection", 'row');
|
|
411
|
+
_$insert(_el$18, _$createComponent(Cell, {
|
|
405
412
|
get fg() {
|
|
406
413
|
return props.theme.textMuted;
|
|
407
414
|
},
|
|
@@ -409,7 +416,7 @@ function QuotaRow(props) {
|
|
|
409
416
|
return ' '.repeat(props.labelWidth + 1);
|
|
410
417
|
}
|
|
411
418
|
}), null);
|
|
412
|
-
_$insert(_el$
|
|
419
|
+
_$insert(_el$18, _$createComponent(Cell, {
|
|
413
420
|
get fg() {
|
|
414
421
|
return toneColor(props.theme, props.pacing?.state === 'deficit' ? 'warn' : 'muted');
|
|
415
422
|
},
|
|
@@ -417,7 +424,7 @@ function QuotaRow(props) {
|
|
|
417
424
|
return line();
|
|
418
425
|
}
|
|
419
426
|
}), null);
|
|
420
|
-
return _el$
|
|
427
|
+
return _el$18;
|
|
421
428
|
})()
|
|
422
429
|
})];
|
|
423
430
|
}
|
|
@@ -457,50 +464,50 @@ export function AccountBlock(props) {
|
|
|
457
464
|
const [width, setWidth] = createSignal();
|
|
458
465
|
let block;
|
|
459
466
|
return (() => {
|
|
460
|
-
var _el$
|
|
461
|
-
_el$
|
|
462
|
-
_el$
|
|
463
|
-
_el$
|
|
464
|
-
_el$
|
|
465
|
-
_el$
|
|
466
|
-
_$insertNode(_el$
|
|
467
|
+
var _el$19 = _$createElement("box"),
|
|
468
|
+
_el$20 = _$createElement("box"),
|
|
469
|
+
_el$21 = _$createElement("text"),
|
|
470
|
+
_el$22 = _$createElement("b"),
|
|
471
|
+
_el$23 = _$createElement("text"),
|
|
472
|
+
_el$24 = _$createElement("b");
|
|
473
|
+
_$insertNode(_el$19, _el$20);
|
|
467
474
|
_$use(element => {
|
|
468
475
|
block = element;
|
|
469
476
|
setWidth(element.width || undefined);
|
|
470
|
-
}, _el$
|
|
471
|
-
_$setProp(_el$18, "width", '100%');
|
|
472
|
-
_$setProp(_el$18, "flexDirection", 'column');
|
|
473
|
-
_$setProp(_el$18, "onSizeChange", () => setWidth(block?.width || undefined));
|
|
474
|
-
_$insertNode(_el$19, _el$20);
|
|
475
|
-
_$insertNode(_el$19, _el$22);
|
|
477
|
+
}, _el$19);
|
|
476
478
|
_$setProp(_el$19, "width", '100%');
|
|
477
|
-
_$setProp(_el$19, "flexDirection", '
|
|
478
|
-
_$setProp(_el$19, "
|
|
479
|
+
_$setProp(_el$19, "flexDirection", 'column');
|
|
480
|
+
_$setProp(_el$19, "onSizeChange", () => setWidth(block?.width || undefined));
|
|
479
481
|
_$insertNode(_el$20, _el$21);
|
|
480
|
-
_$
|
|
481
|
-
_$
|
|
482
|
-
_$
|
|
483
|
-
_$
|
|
482
|
+
_$insertNode(_el$20, _el$23);
|
|
483
|
+
_$setProp(_el$20, "width", '100%');
|
|
484
|
+
_$setProp(_el$20, "flexDirection", 'row');
|
|
485
|
+
_$setProp(_el$20, "justifyContent", 'space-between');
|
|
486
|
+
_$insertNode(_el$21, _el$22);
|
|
487
|
+
_$insert(_el$22, () => `${props.name}${props.tierLabel ? ` · ${props.tierLabel}` : ''}`);
|
|
488
|
+
_$insertNode(_el$23, _el$24);
|
|
489
|
+
_$insert(_el$24, statusWord);
|
|
490
|
+
_$insert(_el$19, _$createComponent(Show, {
|
|
484
491
|
get when() {
|
|
485
492
|
return props.stateLine;
|
|
486
493
|
},
|
|
487
494
|
get children() {
|
|
488
|
-
var _el$
|
|
489
|
-
_$insert(_el$
|
|
490
|
-
_$effect(_$p => _$setProp(_el$
|
|
491
|
-
return _el$
|
|
495
|
+
var _el$25 = _$createElement("text");
|
|
496
|
+
_$insert(_el$25, () => props.stateLine);
|
|
497
|
+
_$effect(_$p => _$setProp(_el$25, "fg", props.theme.textMuted, _$p));
|
|
498
|
+
return _el$25;
|
|
492
499
|
}
|
|
493
500
|
}), null);
|
|
494
|
-
_$insert(_el$
|
|
501
|
+
_$insert(_el$19, _$createComponent(Show, {
|
|
495
502
|
get when() {
|
|
496
503
|
return props.quota;
|
|
497
504
|
},
|
|
498
505
|
get fallback() {
|
|
499
506
|
return (() => {
|
|
500
|
-
var _el$
|
|
501
|
-
_$insertNode(_el$
|
|
502
|
-
_$effect(_$p => _$setProp(_el$
|
|
503
|
-
return _el$
|
|
507
|
+
var _el$29 = _$createElement("text");
|
|
508
|
+
_$insertNode(_el$29, _$createTextNode(`checking…`));
|
|
509
|
+
_$effect(_$p => _$setProp(_el$29, "fg", props.theme.textMuted, _$p));
|
|
510
|
+
return _el$29;
|
|
504
511
|
})();
|
|
505
512
|
},
|
|
506
513
|
get children() {
|
|
@@ -605,54 +612,54 @@ export function AccountBlock(props) {
|
|
|
605
612
|
children: budget => // One line in the block's width: amounts drop their cents rather
|
|
606
613
|
// than wrap, and keep them until the first layout.
|
|
607
614
|
(() => {
|
|
608
|
-
var _el$
|
|
609
|
-
_el$
|
|
610
|
-
_$insertNode(_el$
|
|
611
|
-
_$setProp(_el$
|
|
612
|
-
_$setProp(_el$
|
|
613
|
-
_$setProp(_el$
|
|
614
|
-
_$setProp(_el$
|
|
615
|
-
_$insert(_el$
|
|
616
|
-
_$effect(_$p => _$setProp(_el$
|
|
617
|
-
return _el$
|
|
615
|
+
var _el$31 = _$createElement("box"),
|
|
616
|
+
_el$32 = _$createElement("text");
|
|
617
|
+
_$insertNode(_el$31, _el$32);
|
|
618
|
+
_$setProp(_el$31, "width", '100%');
|
|
619
|
+
_$setProp(_el$31, "height", 1);
|
|
620
|
+
_$setProp(_el$31, "flexDirection", 'row');
|
|
621
|
+
_$setProp(_el$32, "wrapMode", 'none');
|
|
622
|
+
_$insert(_el$32, () => creditLine(budget().figure, props.quota?.extraUsage, width()));
|
|
623
|
+
_$effect(_$p => _$setProp(_el$32, "fg", toneColor(props.theme, props.quota?.extraUsage?.severity === 'critical' ? 'err' : props.quota?.extraUsage?.severity === 'warning' || props.quota?.extraUsage?.exhausted ? 'warn' : 'muted'), _$p));
|
|
624
|
+
return _el$31;
|
|
618
625
|
})()
|
|
619
626
|
}), _$createComponent(Show, {
|
|
620
627
|
get when() {
|
|
621
628
|
return parts().age;
|
|
622
629
|
},
|
|
623
630
|
get children() {
|
|
624
|
-
var _el$
|
|
625
|
-
_$insert(_el$
|
|
626
|
-
_$effect(_$p => _$setProp(_el$
|
|
627
|
-
return _el$
|
|
631
|
+
var _el$26 = _$createElement("text");
|
|
632
|
+
_$insert(_el$26, () => parts().age);
|
|
633
|
+
_$effect(_$p => _$setProp(_el$26, "fg", props.theme.textMuted, _$p));
|
|
634
|
+
return _el$26;
|
|
628
635
|
}
|
|
629
636
|
}), _$createComponent(Show, {
|
|
630
637
|
get when() {
|
|
631
638
|
return props.quota?.fallbackAdvised === true;
|
|
632
639
|
},
|
|
633
640
|
get children() {
|
|
634
|
-
var _el$
|
|
635
|
-
_$insertNode(_el$
|
|
636
|
-
_$effect(_$p => _$setProp(_el$
|
|
637
|
-
return _el$
|
|
641
|
+
var _el$27 = _$createElement("text");
|
|
642
|
+
_$insertNode(_el$27, _$createTextNode(`→ fallback advised`));
|
|
643
|
+
_$effect(_$p => _$setProp(_el$27, "fg", props.theme.textMuted, _$p));
|
|
644
|
+
return _el$27;
|
|
638
645
|
}
|
|
639
646
|
})];
|
|
640
647
|
}
|
|
641
648
|
}), null);
|
|
642
649
|
_$effect(_p$ => {
|
|
643
|
-
var _v$
|
|
644
|
-
_v$
|
|
645
|
-
_v$
|
|
646
|
-
_v$
|
|
647
|
-
_v$
|
|
648
|
-
_v$
|
|
650
|
+
var _v$13 = props.marginTop ?? 0,
|
|
651
|
+
_v$14 = props.theme.text,
|
|
652
|
+
_v$15 = toneColor(props.theme, statusTone());
|
|
653
|
+
_v$13 !== _p$.e && (_p$.e = _$setProp(_el$19, "marginTop", _v$13, _p$.e));
|
|
654
|
+
_v$14 !== _p$.t && (_p$.t = _$setProp(_el$21, "fg", _v$14, _p$.t));
|
|
655
|
+
_v$15 !== _p$.a && (_p$.a = _$setProp(_el$23, "fg", _v$15, _p$.a));
|
|
649
656
|
return _p$;
|
|
650
657
|
}, {
|
|
651
658
|
e: undefined,
|
|
652
659
|
t: undefined,
|
|
653
660
|
a: undefined
|
|
654
661
|
});
|
|
655
|
-
return _el$
|
|
662
|
+
return _el$19;
|
|
656
663
|
})();
|
|
657
664
|
}
|
|
658
665
|
// The TUI may unmount and remount sidebar_content when the user switches
|
|
@@ -770,72 +777,39 @@ export function ClaudeSidebar(props) {
|
|
|
770
777
|
return `${r.transport} \u00b7 ${r.enabled ? 'on' : 'off'}`;
|
|
771
778
|
};
|
|
772
779
|
return (() => {
|
|
773
|
-
var _el$
|
|
774
|
-
_el$33 = _$createElement("box"),
|
|
780
|
+
var _el$33 = _$createElement("box"),
|
|
775
781
|
_el$34 = _$createElement("box"),
|
|
776
|
-
_el$35 = _$createElement("
|
|
777
|
-
_el$36 = _$createElement("
|
|
778
|
-
|
|
779
|
-
_$setProp(_el$32, "width", '100%');
|
|
780
|
-
_$setProp(_el$32, "flexDirection", 'column');
|
|
781
|
-
_$setProp(_el$32, "border", SINGLE_BORDER);
|
|
782
|
-
_$setProp(_el$32, "paddingTop", 1);
|
|
783
|
-
_$setProp(_el$32, "paddingBottom", 1);
|
|
784
|
-
_$setProp(_el$32, "paddingLeft", 1);
|
|
785
|
-
_$setProp(_el$32, "paddingRight", 1);
|
|
782
|
+
_el$35 = _$createElement("box"),
|
|
783
|
+
_el$36 = _$createElement("text"),
|
|
784
|
+
_el$37 = _$createElement("b");
|
|
786
785
|
_$insertNode(_el$33, _el$34);
|
|
787
786
|
_$setProp(_el$33, "width", '100%');
|
|
788
|
-
_$setProp(_el$33, "flexDirection", '
|
|
789
|
-
_$
|
|
790
|
-
_$setProp(_el$
|
|
791
|
-
_$setProp(_el$
|
|
787
|
+
_$setProp(_el$33, "flexDirection", 'column');
|
|
788
|
+
_$insertNode(_el$34, _el$35);
|
|
789
|
+
_$setProp(_el$34, "width", '100%');
|
|
790
|
+
_$setProp(_el$34, "flexDirection", 'row');
|
|
791
|
+
_$setProp(_el$34, "justifyContent", 'space-between');
|
|
792
|
+
_$setProp(_el$34, "alignItems", 'center');
|
|
793
|
+
_$setProp(_el$34, "onMouseDown", () => {
|
|
792
794
|
if (hasData()) props.controller.toggleCollapsed();
|
|
793
795
|
});
|
|
794
|
-
_$insertNode(_el$34, _el$35);
|
|
795
|
-
_$setProp(_el$34, "paddingLeft", 1);
|
|
796
|
-
_$setProp(_el$34, "paddingRight", 1);
|
|
797
796
|
_$insertNode(_el$35, _el$36);
|
|
798
|
-
_$
|
|
799
|
-
_$
|
|
797
|
+
_$setProp(_el$35, "paddingLeft", 1);
|
|
798
|
+
_$setProp(_el$35, "paddingRight", 1);
|
|
799
|
+
_$insertNode(_el$36, _el$37);
|
|
800
|
+
_$insert(_el$37, headerLabel);
|
|
801
|
+
_$insert(_el$34, _$createComponent(Show, {
|
|
800
802
|
get when() {
|
|
801
|
-
return
|
|
802
|
-
},
|
|
803
|
-
get fallback() {
|
|
804
|
-
return _$createComponent(Show, {
|
|
805
|
-
get when() {
|
|
806
|
-
return prefs().header.showVersion && PLUGIN_VERSION !== '';
|
|
807
|
-
},
|
|
808
|
-
get children() {
|
|
809
|
-
var _el$44 = _$createElement("text");
|
|
810
|
-
_$insert(_el$44, `v${PLUGIN_VERSION}`);
|
|
811
|
-
_$effect(_$p => _$setProp(_el$44, "fg", theme().textMuted, _$p));
|
|
812
|
-
return _el$44;
|
|
813
|
-
}
|
|
814
|
-
});
|
|
803
|
+
return prefs().header.showVersion && PLUGIN_VERSION !== '';
|
|
815
804
|
},
|
|
816
805
|
get children() {
|
|
817
|
-
var _el$
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
_$setProp(_el$37, "paddingLeft", 1);
|
|
822
|
-
_$setProp(_el$37, "paddingRight", 1);
|
|
823
|
-
_$insertNode(_el$38, _el$39);
|
|
824
|
-
_$insertNode(_el$39, _$createTextNode(`LIMITED`));
|
|
825
|
-
_$effect(_p$ => {
|
|
826
|
-
var _v$14 = theme().warning,
|
|
827
|
-
_v$15 = theme().background;
|
|
828
|
-
_v$14 !== _p$.e && (_p$.e = _$setProp(_el$37, "backgroundColor", _v$14, _p$.e));
|
|
829
|
-
_v$15 !== _p$.t && (_p$.t = _$setProp(_el$38, "fg", _v$15, _p$.t));
|
|
830
|
-
return _p$;
|
|
831
|
-
}, {
|
|
832
|
-
e: undefined,
|
|
833
|
-
t: undefined
|
|
834
|
-
});
|
|
835
|
-
return _el$37;
|
|
806
|
+
var _el$38 = _$createElement("text");
|
|
807
|
+
_$insert(_el$38, `v${PLUGIN_VERSION}`);
|
|
808
|
+
_$effect(_$p => _$setProp(_el$38, "fg", theme().textMuted, _$p));
|
|
809
|
+
return _el$38;
|
|
836
810
|
}
|
|
837
811
|
}), null);
|
|
838
|
-
_$insert(_el$
|
|
812
|
+
_$insert(_el$33, _$createComponent(Show, {
|
|
839
813
|
get when() {
|
|
840
814
|
return _$memo(() => !!collapsed())() && hasData();
|
|
841
815
|
},
|
|
@@ -869,12 +843,12 @@ export function ClaudeSidebar(props) {
|
|
|
869
843
|
},
|
|
870
844
|
label: "Mode",
|
|
871
845
|
get children() {
|
|
872
|
-
var _el$
|
|
873
|
-
_el$
|
|
874
|
-
_$insertNode(_el$
|
|
875
|
-
_$insertNode(_el$
|
|
876
|
-
_$effect(_$p => _$setProp(_el$
|
|
877
|
-
return _el$
|
|
846
|
+
var _el$39 = _$createElement("text"),
|
|
847
|
+
_el$40 = _$createElement("b");
|
|
848
|
+
_$insertNode(_el$39, _el$40);
|
|
849
|
+
_$insertNode(_el$40, _$createTextNode(`fast`));
|
|
850
|
+
_$effect(_$p => _$setProp(_el$39, "fg", toneColor(theme(), 'accent'), _$p));
|
|
851
|
+
return _el$39;
|
|
878
852
|
}
|
|
879
853
|
});
|
|
880
854
|
}
|
|
@@ -888,18 +862,18 @@ export function ClaudeSidebar(props) {
|
|
|
888
862
|
},
|
|
889
863
|
label: "Recovery",
|
|
890
864
|
get children() {
|
|
891
|
-
var _el$
|
|
892
|
-
_el$
|
|
893
|
-
_$insertNode(_el$
|
|
894
|
-
_$insert(_el$
|
|
895
|
-
_$effect(_$p => _$setProp(_el$
|
|
896
|
-
return _el$
|
|
865
|
+
var _el$42 = _$createElement("text"),
|
|
866
|
+
_el$43 = _$createElement("b");
|
|
867
|
+
_$insertNode(_el$42, _el$43);
|
|
868
|
+
_$insert(_el$43, summary);
|
|
869
|
+
_$effect(_$p => _$setProp(_el$42, "fg", toneColor(theme(), fableRecoveryTone()), _$p));
|
|
870
|
+
return _el$42;
|
|
897
871
|
}
|
|
898
872
|
})
|
|
899
873
|
})];
|
|
900
874
|
}
|
|
901
875
|
}), null);
|
|
902
|
-
_$insert(_el$
|
|
876
|
+
_$insert(_el$33, _$createComponent(Show, {
|
|
903
877
|
get when() {
|
|
904
878
|
return !collapsed() || !hasData();
|
|
905
879
|
},
|
|
@@ -910,14 +884,14 @@ export function ClaudeSidebar(props) {
|
|
|
910
884
|
},
|
|
911
885
|
get fallback() {
|
|
912
886
|
return (() => {
|
|
913
|
-
var _el$
|
|
914
|
-
_el$
|
|
915
|
-
_$insertNode(_el$
|
|
916
|
-
_$setProp(_el$
|
|
917
|
-
_$setProp(_el$
|
|
918
|
-
_$insertNode(_el$
|
|
919
|
-
_$effect(_$p => _$setProp(_el$
|
|
920
|
-
return _el$
|
|
887
|
+
var _el$44 = _$createElement("box"),
|
|
888
|
+
_el$45 = _$createElement("text");
|
|
889
|
+
_$insertNode(_el$44, _el$45);
|
|
890
|
+
_$setProp(_el$44, "marginTop", 1);
|
|
891
|
+
_$setProp(_el$44, "width", '100%');
|
|
892
|
+
_$insertNode(_el$45, _$createTextNode(`Waiting for quota…`));
|
|
893
|
+
_$effect(_$p => _$setProp(_el$45, "fg", theme().textMuted, _$p));
|
|
894
|
+
return _el$44;
|
|
921
895
|
})();
|
|
922
896
|
},
|
|
923
897
|
get children() {
|
|
@@ -1205,19 +1179,16 @@ export function ClaudeSidebar(props) {
|
|
|
1205
1179
|
}
|
|
1206
1180
|
}), null);
|
|
1207
1181
|
_$effect(_p$ => {
|
|
1208
|
-
var _v$16 = theme().
|
|
1209
|
-
_v$17 = theme().
|
|
1210
|
-
|
|
1211
|
-
_v$
|
|
1212
|
-
_v$17 !== _p$.t && (_p$.t = _$setProp(_el$34, "backgroundColor", _v$17, _p$.t));
|
|
1213
|
-
_v$18 !== _p$.a && (_p$.a = _$setProp(_el$35, "fg", _v$18, _p$.a));
|
|
1182
|
+
var _v$16 = theme().accent,
|
|
1183
|
+
_v$17 = theme().background;
|
|
1184
|
+
_v$16 !== _p$.e && (_p$.e = _$setProp(_el$35, "backgroundColor", _v$16, _p$.e));
|
|
1185
|
+
_v$17 !== _p$.t && (_p$.t = _$setProp(_el$36, "fg", _v$17, _p$.t));
|
|
1214
1186
|
return _p$;
|
|
1215
1187
|
}, {
|
|
1216
1188
|
e: undefined,
|
|
1217
|
-
t: undefined
|
|
1218
|
-
a: undefined
|
|
1189
|
+
t: undefined
|
|
1219
1190
|
});
|
|
1220
|
-
return _el$
|
|
1191
|
+
return _el$33;
|
|
1221
1192
|
})();
|
|
1222
1193
|
}
|
|
1223
1194
|
|
package/dist/index-12km9x91.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{randomUUID as E}from"node:crypto";import{mkdir as g,readFile as y,rename as S,rm as O,rmdir as w,stat as D,unlink as m,writeFile as b}from"node:fs/promises";import{tmpdir as d}from"node:os";import{dirname as v,join as f}from"node:path";import{formatQuota as c,isQuotaStale as u,logger as C,quotaDisplayProjection as I,quotaWindowParts as s}from"@cortexkit/anthropic-auth-core";var n="OPENCODE_ANTHROPIC_AUTH_SIDEBAR_STATE_FILE",i=f(d(),"opencode-anthropic-auth"),l=f(i,"sidebar-state.json");function P(){return process.env[n]||l}var H={main:{quota:null},fallbacks:[],route:"main",relay:null,fastMode:!1,lastUpdated:0};function Q(J){return J!==null&&typeof J==="object"&&!Array.isArray(J)}function z(J){return typeof J==="number"&&Number.isFinite(J)}function o(J){if(!Q(J))return;let Z=Number(J.count),V=Number(J.inputTokens),X=Number(J.outputTokens),x=Number(J.since);if(![Z,V,X,x].every(Number.isFinite)||Z<0||V<0||X<0||x<0)return;return{count:Math.floor(Z),inputTokens:Math.floor(V),outputTokens:Math.floor(X),since:Math.floor(x)}}function r(J){if(!Q(J))return;if(typeof J.id!=="string"||!J.id.trim())return;if(typeof J.label!=="string"||!J.label.trim())return;let Z={id:J.id.trim(),label:J.label.trim()};if(J.nextDueAt===null)Z.nextDueAt=null;else if(z(J.nextDueAt))Z.nextDueAt=J.nextDueAt;if(J.lastPrimedAt===null)Z.lastPrimedAt=null;else if(z(J.lastPrimedAt))Z.lastPrimedAt=J.lastPrimedAt;if(J.lastResult==="ok"||J.lastResult==="error"||J.lastResult==="skipped")Z.lastResult=J.lastResult;let V=o(J.usage);if(V)Z.usage=V;if(z(J.estimatedCostUsd))Z.estimatedCostUsd=J.estimatedCostUsd;return Z}function a(J){if(!Q(J))return;if(typeof J.enabled!=="boolean")return;let Z=Array.isArray(J.accounts)?J.accounts.map(r).filter((V)=>V!=null):[];return{enabled:J.enabled,accounts:Z}}function q(J){if(!Q(J))return;let Z=Number(J.usedPercent),V=Number(J.remainingPercent);if(!Number.isFinite(Z)||!Number.isFinite(V))return;return{usedPercent:Z,remainingPercent:V,resetsAt:typeof J.resetsAt==="string"?J.resetsAt:void 0,...z(J.checkedAt)&&{checkedAt:J.checkedAt}}}function R(J){if(!Q(J))return null;let Z={};if(z(J.checkedAt))Z.checkedAt=J.checkedAt;let V=q(J.five_hour),X=q(J.seven_day);if(V)Z.five_hour=V;if(X)Z.seven_day=X;if(Array.isArray(J.scoped)){let x=J.scoped.map((Y)=>{if(!Q(Y))return;let G=q(Y);if(!G)return;if(typeof Y.id!=="string"||!Y.id.trim())return;if(typeof Y.title!=="string"||!Y.title.trim())return;if(typeof Y.modelName!=="string"||!Y.modelName.trim())return;let $=typeof Y.modelId==="string"&&Y.modelId.trim()?Y.modelId.trim():void 0;return{...G,id:Y.id.trim(),title:Y.title.trim(),...$&&{modelId:$},modelName:Y.modelName.trim()}}).filter((Y)=>Y!=null);Z.scoped=x}if(Q(J.extraUsage)){let x=A(J.extraUsage.used),Y=A(J.extraUsage.limit);if(x&&Y&&typeof J.extraUsage.exhausted==="boolean")Z.extraUsage={used:x,limit:Y,...typeof J.extraUsage.utilizationPercent==="number"&&Number.isFinite(J.extraUsage.utilizationPercent)&&{utilizationPercent:J.extraUsage.utilizationPercent},...typeof J.extraUsage.severity==="string"&&{severity:J.extraUsage.severity},exhausted:J.extraUsage.exhausted}}if(typeof J.bindingWindow==="string"&&J.bindingWindow.trim())Z.bindingWindow=J.bindingWindow.trim();if(typeof J.fallbackAdvised==="boolean")Z.fallbackAdvised=J.fallbackAdvised;return Object.keys(Z).length?Z:null}function A(J){if(!Q(J))return;if(!Number.isInteger(J.amountMinor)||typeof J.currency!=="string"||!/^[A-Za-z]{3}$/.test(J.currency.trim())||!Number.isInteger(J.exponent)||J.exponent<0||J.exponent>20)return;return{amountMinor:J.amountMinor,currency:J.currency.trim(),exponent:J.exponent}}function k(J){if(!Q(J))return{...H};let Z={quota:null};if(Q(J.main)){let $=J.main;if(Z.quota=R($.quota),typeof $.enabled==="boolean")Z.enabled=$.enabled;if(typeof $.stateLine==="string")Z.stateLine=$.stateLine;if($.quotaDated===!0)Z.quotaDated=!0;if(typeof $.tierLabel==="string"&&$.tierLabel.trim())Z.tierLabel=$.tierLabel.trim();if(typeof $.quotaBackedOff==="boolean")Z.quotaBackedOff=$.quotaBackedOff;if(z($.quotaBackoffUntil))Z.quotaBackoffUntil=$.quotaBackoffUntil;if(typeof $.refreshBackedOff==="boolean")Z.refreshBackedOff=$.refreshBackedOff;if(z($.refreshBackoffUntil))Z.refreshBackoffUntil=$.refreshBackoffUntil}let V=Array.isArray(J.fallbacks)?J.fallbacks.filter(Q).filter(($)=>typeof $.id==="string").map(($)=>({id:$.id,...typeof $.label==="string"&&{label:$.label},quota:R($.quota),enabled:typeof $.enabled==="boolean"?$.enabled:!1,...typeof $.stateLine==="string"&&{stateLine:$.stateLine},...$.quotaDated===!0&&{quotaDated:!0},needsReauth:typeof $.needsReauth==="boolean"?$.needsReauth:!1,...$.vaultReauth===!0&&{vaultReauth:!0},...$.vaultServed===!0&&{vaultServed:!0},...typeof $.custodyState==="string"&&{custodyState:$.custodyState},...typeof $.tierLabel==="string"&&$.tierLabel.trim()&&{tierLabel:$.tierLabel.trim()}})):[],X=null;if(Q(J.relay)){let $=J.relay;if(typeof $.enabled==="boolean"&&typeof $.transport==="string")X={enabled:$.enabled,transport:$.transport}}let x;if(Q(J.cacheKeep)){let $=J.cacheKeep;if(typeof $.enabled==="boolean")x={enabled:$.enabled,...typeof $.window==="string"&&{window:$.window},...z($.trackedSessions)&&{trackedSessions:$.trackedSessions}}}let Y=Array.isArray(J.fableRecoveries)?J.fableRecoveries.filter(Q).flatMap(($)=>{if(typeof $.sessionId!=="string"||$.mode!=="opus"&&$.mode!=="fable"&&$.mode!=="server"||typeof $.remaining!=="number"||!Number.isFinite($.remaining)||typeof $.changedAt!=="number"||!Number.isFinite($.changedAt))return[];return[{sessionId:$.sessionId,mode:$.mode,remaining:Math.max(0,Math.floor($.remaining)),changedAt:$.changedAt,...typeof $.requestedModelId==="string"&&{requestedModelId:$.requestedModelId},...typeof $.targetModelId==="string"&&{targetModelId:$.targetModelId}}]}):[],G=a(J.prime);return{main:Z,fallbacks:V,...typeof J.activeId==="string"&&{activeId:J.activeId},route:typeof J.route==="string"?J.route:H.route,relay:X,fastMode:typeof J.fastMode==="boolean"?J.fastMode:H.fastMode,cacheKeep:x,...G&&{prime:G},...Y.length>0&&{fableRecoveries:Y},lastUpdated:z(J.lastUpdated)?J.lastUpdated:0}}var W=Promise.resolve(),t=1000,e=2000,JJ=5,ZJ=15,M=new Map;function HJ(J,Z=P()){if(J)M.set(Z,J);else M.delete(Z)}function U(J){return M.get(J)}var p=null;function WJ(J){p=J}function UJ(){return p}function $J(J){return new Promise((Z)=>setTimeout(Z,J))}async function F(J){let Z=`${J}.lock`,V=U(J),X=V?.lockBudgetMs??t,x=V?.lockRetryMinMs??JJ,Y=V?.lockRetryMaxMs??ZJ,G=Date.now()+X;while(!0){try{await g(Z);let K=E(),j=f(Z,K);return await b(j,"",{encoding:"utf8",mode:384,flag:"wx"}),await V?.onLockAcquired?.(Z),{ownsLock:async()=>{try{return await D(j),!0}catch{return!1}},release:async()=>{try{await m(j)}catch{return}await V?.beforeReleaseDirectoryRemoval?.(Z),await w(Z).catch(()=>{})}}}catch(K){if(K.code!=="EEXIST")return C.trace("sidebar","state lock unavailable; write skipped",{stateFile:J,error:K instanceof Error?K.message:String(K)}),null}try{let K=await D(Z);if(Date.now()-K.mtimeMs>e){await V?.afterStaleLockStat?.(Z);let j=`${Z}.evict-${process.pid}-${E()}`;try{await S(Z,j)}catch(N){if(N.code==="ENOENT")continue;throw N}await V?.onStaleLockClaimed?.(Z),await O(j,{recursive:!0,force:!0}).catch(()=>{});continue}}catch(K){if(K.code==="ENOENT")continue;return C.trace("sidebar","state lock inspection failed; write skipped",{stateFile:J,error:K instanceof Error?K.message:String(K)}),null}let $=G-Date.now();if($<=0)return C.warn("sidebar","lock budget exhausted, write skipped",{stateFile:J,budgetMs:X}),null;let B=x+Math.floor(Math.random()*(Y-x+1));await $J(Math.min(B,$))}}async function qJ(J){return(await F(J))?.release??null}async function VJ(J,Z,V){let X=U(J),x=`${J}.${process.pid}.${E()}.tmp`;await b(x,JSON.stringify(Z),{encoding:"utf8",mode:384});try{if(!await V())return C.trace("sidebar","state lock lost before rename; write aborted",{stateFile:J}),await O(x,{force:!0}).catch(()=>{}),"lock-lost-before-rename";if(await X?.beforeRename?.(J,x),!await V())return C.trace("sidebar","state lock lost before rename; write aborted",{stateFile:J}),await O(x,{force:!0}).catch(()=>{}),"lock-lost-before-rename";if(await S(x,J),await U(J)?.afterRename?.(J),!await V())return"lock-lost-after-rename";return"written"}catch(Y){throw await O(x,{force:!0}).catch(()=>{}),Y}}async function T(J=P()){try{let Z=await y(J,"utf8");return k(JSON.parse(Z))}catch{return H}}async function LJ(J,Z=P(),V={}){return W=W.then(async()=>{await g(v(Z),{recursive:!0});for(let X=0;X<2;X++){let x=X===1,Y=await F(Z);if(!Y){if(x)C.warn("sidebar","post-rename repair lock unavailable; write skipped",{stateFile:Z});return}let G=J,$;try{if(V.routingAuthoritative===!1){let B=await T(Z),K=await V.resolvePreservedRouting?.(B);if(K){let j=K.state??J;G={...j,activeId:K.activeId,route:K.route,lastUpdated:Math.max(j.lastUpdated,B.lastUpdated)}}await U(Z)?.afterMergeRead?.(Z)}else if(x){let B=await T(Z);G={...B,activeId:J.activeId,route:J.route,relay:J.relay,fastMode:J.fastMode,cacheKeep:J.cacheKeep,lastUpdated:Math.max(B.lastUpdated,J.lastUpdated)}}G=k(G),$=await VJ(Z,G,Y.ownsLock)}finally{await Y.release()}if($==="lock-lost-after-rename"){if(x){C.warn("sidebar","post-rename repair lost lock; write skipped",{stateFile:Z});return}C.warn("sidebar","state lock lost after rename; repairing write",{stateFile:Z});continue}if($==="lock-lost-before-rename")return;V.onRoutingResolved?.({activeId:G.activeId,route:G.route});return}}).catch(()=>{}),W}async function EJ(){return W}function XJ(J){let Z=J.activeId;if(Z&&Z!=="main"){let V=J.fallbacks?.find((X)=>X.enabled&&X.id===Z);if(V)return{id:V.id,name:V.label??V.id,quota:V.quota,...V.stateLine&&{stateLine:V.stateLine,quotaDated:V.quotaDated}}}return{id:"main",name:"main",quota:J.main?.quota??null,...J.main?.stateLine&&{stateLine:J.main.stateLine,quotaDated:J.main.quotaDated}}}function L(J){if(J==="claude-mythos-5-1"||J?.startsWith("claude-mythos-5-1-"))return"Mythos 5.1";if(J==="claude-fable-5-1"||J?.startsWith("claude-fable-5-1-"))return"Fable 5.1";if(J==="claude-fable-5"||J?.startsWith("claude-fable-5-"))return"Fable 5";if(J==="claude-opus-5-5"||J?.startsWith("claude-opus-5-5-"))return"Opus 5.5";if(J==="claude-opus-5"||J?.startsWith("claude-opus-5-"))return"Opus 5";if(J==="claude-opus-4-8"||J?.startsWith("claude-opus-4-8-"))return"Opus 4.8";return J??"Fable 5"}function h(J){return new Date(J).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function YJ(J){if(J===0)return"0";if(J<0.0001)return J.toExponential(2);return J.toFixed(Math.min(6,Math.max(0,4)))}function MJ(J,Z=Date.now()){if(J.lastResult==="error")return{text:"err",hasError:!0};if(J.lastResult==="skipped")return{text:"skip",hasError:!1};if(J.nextDueAt&&J.nextDueAt>Z)return{text:h(J.nextDueAt),hasError:!1};if(J.lastPrimedAt)return{text:`primed ${h(J.lastPrimedAt)} ✓`,hasError:!1};if(J.usage?.count)return{text:`✓ ${J.usage.count} ≈ $${YJ(J.estimatedCostUsd??0)}`,hasError:!1};return{text:"—",hasError:!1}}function fJ(J,Z){let V=J.fableRecoveries?.find((X)=>X.sessionId===Z);if(!V)return;if(V.mode==="fable")return`${L(V.requestedModelId)} · restored`;if(V.mode==="server")return`${L(V.requestedModelId)}→${L(V.targetModelId)} · safety`;return`Opus 4.8 · ${V.remaining} left`}function PJ(J,Z=10){if(Z<=0)return"";let V=J;if(Bun.stringWidth(V)>Z){V="";for(let X of J){if(Bun.stringWidth(V+X)>Z-1)break;V+=X}V+="…"}return V+" ".repeat(Math.max(0,Z-Bun.stringWidth(V)))}function xJ(J,Z=Date.now()){let V=J?.scoped??[];if(!V.length)return[];let{windows:X}=s(I({scoped:V},Z),{now:Z});return V.map((x)=>X.find((Y)=>Y.kind==="window"&&Y.name===x.title)?.short||x.title)}function _J(J,Z=Date.now()){return Math.max(2,...J.flatMap((V)=>xJ(V,Z).map((X)=>Bun.stringWidth(X))))}var GJ=3;function DJ(J){let{width:Z,labelWidth:V,barWidth:X,figure:x,reset:Y}=J,G={barCells:X,reset:Y||void 0};if(Z===void 0)return G;let $=(j)=>V+1+(j.barCells>0?j.barCells+1:0)+Bun.stringWidth(x)+(j.reset?1+Bun.stringWidth(j.reset):0),B=Math.min(GJ,X),K=[G];for(let j=X;j>=B;j--)K.push({barCells:j});return K.find((j)=>$(j)<=Z)??{barCells:B}}function RJ(J,Z,V,X,x){if(!J||J.state==="on-pace")return null;let Y=x!==void 0&&x<=0,G=V==="now"||V==="0m"?"<1m":V,$=`${J.state} ${Math.round(Math.abs(J.deltaPercent))}%`,B=Y?X?`used up · resets in ${X}`:"used up":G?`${$} · out in ${G}`:`${$} · lasts to reset`;if(Z===void 0||Bun.stringWidth(B)<=Z)return B;if(Z<=0)return"";let K="";for(let j of B){if(Bun.stringWidth(K+j)>Z-1)break;K+=j}return`${K.trimEnd()}…`}function AJ(J,Z=Date.now()){let V=J?.five_hour?.usedPercent??null,X=J?.seven_day?.usedPercent??null,x=J?.scoped??[],Y=x.map(($)=>$.usedPercent);if(!J||V==null&&X==null&&x.length===0&&!J.extraUsage)return{fiveHourUsedPercent:V,sevenDayUsedPercent:X,scopedUsedPercents:Y,text:null,stale:!1};let G=I(J,Z);return{fiveHourUsedPercent:V,sevenDayUsedPercent:X,scopedUsedPercents:Y,text:c(G,{now:Z,form:"narrow"}),stale:u(G,{now:Z})}}function TJ(J,Z=!0){let V=J.activeId===void 0?void 0:XJ(J).id;return[{id:"main",name:"main",quota:J.main?.quota??null,quotaDated:J.main?.quotaDated,active:V==="main"},...Z?(J.fallbacks??[]).filter((X)=>X.enabled||X.custodyState&&X.custodyState!=="off").map((X)=>({id:X.id,name:X.label??X.id,quota:X.quota,quotaDated:X.quotaDated,active:V===X.id})):[]]}var hJ=18000000,gJ=604800000,KJ=300000,jJ=0.01,BJ=1;function SJ(J,Z,V){if(!J.resetsAt)return null;let X=new Date(J.resetsAt).getTime();if(!Number.isFinite(X))return null;let x=X-Z,Y=V-x;if(Y<KJ)return null;if(Y<Z*jJ)return null;if(Y>=Z)return null;let G=J.usedPercent,$=Math.min(Math.max(Y/Z*100,0),100),B=G-$,K=Math.abs(B)<BJ?"on-pace":B>0?"deficit":"reserve",j=null;if(G>0){let N=Y*100/G,_=x+N;if(_<X)j=new Date(_).toISOString()}return{pacePercent:$,deltaPercent:B,state:K,runsOutAt:j}}
|
|
2
|
-
export{P as H,H as I,k as J,HJ as K,WJ as L,UJ as M,qJ as N,T as O,LJ as P,EJ as Q,XJ as R,L as S,h as T,YJ as U,MJ as V,fJ as W,PJ as X,xJ as Y,_J as Z,GJ as _,DJ as $,RJ as aa,AJ as ba,TJ as ca,hJ as da,gJ as ea,SJ as fa};
|
package/dist/index-a1k6z503.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{I as P,J as k}from"./index-12km9x91.js";var G=(f)=>f!==null&&typeof f==="object"&&!Array.isArray(f),K=(f)=>G(f)&&typeof f.sessionId==="string"&&f.sessionId.length>0,D=(f)=>{if(!K(f)||!G(f)||f.command!=="claude"||typeof f.sectionId!=="string"||typeof f.actionId!=="string")return!1;if(f.itemId!==void 0&&typeof f.itemId!=="string")return!1;if(f.confirmed!==void 0&&typeof f.confirmed!=="boolean")return!1;if(f.values!==void 0&&(!G(f.values)||!Object.values(f.values).every((q)=>q===null||typeof q==="string"||typeof q==="boolean"||typeof q==="number"&&Number.isFinite(q))))return!1;return!0};function H(f){return{"~standard":{version:1,vendor:"cortexkit-native",validate:(q)=>f(q)?{value:q}:{issues:[{message:"Invalid native menu payload"}]}}}}var M=(f)=>G(f)&&f.command==="claude"&&G(f.menu)&&f.menu.command==="claude"&&typeof f.menu.title==="string"&&Array.isArray(f.menu.sections),L=(f)=>G(f)&&f.command==="claude"&&typeof f.ok==="boolean"&&typeof f.text==="string"&&(f.authorizationUrl===void 0||typeof f.authorizationUrl==="string")&&G(f.menu)&&Array.isArray(f.menu.sections),Z=(f)=>{if(f===null||typeof f==="string"||typeof f==="boolean")return!0;if(typeof f==="number")return Number.isFinite(f);if(Array.isArray(f))return f.every(Z);if(G(f))return Object.values(f).every(Z);return!1},N={"~standard":{version:1,vendor:"cortexkit-native",validate:(f)=>{let q=k(f);return{value:Z(q)?q:{...P}}}}},O={id:"cortexkit-anthropic-native",methods:{open:{input:H(K),output:H(M)},apply:{input:H(D),output:H(L)},sidebar:{input:H(K),output:N}},events:{opened:{schema:H((f)=>K(f)&&M(f.payload))},notification:{schema:H((f)=>K(f)&&typeof f.message==="string"&&["info","warning","error"].includes(String(f.kind)))}}};async function U(f,q,$){let z=new AbortController,X=(j)=>({sessionId:j,notify(W,Y="info"){Q.events.emit("notification",{sessionId:j,message:W,kind:Y}).catch(()=>{})}}),Q=await f.rpc.register(O,{open:(j)=>q.open(X(j.sessionId)),apply:(j)=>q.apply(j,X(j.sessionId)),sidebar:(j)=>$.readSidebar(j.sessionId)}),B;try{B=await f.command.transform((j)=>j.add({name:"claude",description:"Native Claude accounts and settings",async execute(W){let Y=await q.open(X(W.sessionID));await Q.events.emit("opened",{sessionId:W.sessionID,payload:Y})}}))}catch(j){throw await Q.dispose(),j}let w=(async()=>{try{for await(let j of f.event.subscribe({signal:z.signal}))if(j.type==="session.deleted")$.forgetSession(j.data.sessionID)}catch{}})(),F=!1;return{async dispose(){if(F)return;F=!0,z.abort(),await Promise.all([Q.dispose(),B.dispose(),w])}}}
|
|
2
|
-
export{O as u,U as v};
|