@cortexkit/opencode-openai-auth 1.3.0 → 1.5.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/dist/bin.js +8 -8
- package/dist/{codex-request-B9D0e97Q.d.ts → codex-request-BjGT9yWg.d.ts} +36 -28
- package/dist/index-2p3gcjsa.js +69 -0
- package/dist/{index-m3ctrabv.js → index-2rw81dtm.js} +1 -1
- package/dist/index-2yszc75z.js +2 -0
- package/dist/{index-gn2b097f.js → index-3y453wg4.js} +7 -7
- package/dist/{index-bc89akak.js → index-4w0nsq5s.js} +1 -1
- package/dist/index-6fdmqk6p.js +90 -0
- package/dist/{index-xwvze96g.js → index-7vkn2e46.js} +1 -1
- package/dist/{index-2pgkrebq.js → index-djnfq652.js} +2 -2
- package/dist/{index-tddr876f.js → index-e416r885.js} +2 -2
- package/dist/index-fztcacjr.js +65 -0
- package/dist/index-gmmakhbt.js +2 -0
- package/dist/{index-ftkhhr6d.js → index-krcqvyqf.js} +1 -1
- package/dist/index-mhfja8yr.js +2 -0
- package/dist/index.d.ts +11 -3
- package/dist/index.js +1 -1
- package/dist/{model-BdITTmeb.d.ts → model-BMq5SCUB.d.ts} +1 -1
- package/dist/{port-file-DbHIVC9a.d.ts → port-file-CjMFUWcX.d.ts} +1 -1
- package/dist/{protocol-MysYPAho.d.ts → protocol-BC3ndToM.d.ts} +1 -1
- package/dist/rpc/port-file.d.ts +1 -1
- package/dist/rpc/port-file.js +1 -1
- package/dist/rpc/protocol.d.ts +1 -1
- package/dist/rpc/protocol.js +1 -1
- package/dist/rpc/rpc-client.d.ts +3 -3
- package/dist/rpc/rpc-client.js +1 -1
- package/dist/rpc/rpc-dir.js +1 -1
- package/dist/{sidebar-state-CVSok7zv.d.ts → sidebar-state-DfYyqiOH.d.ts} +55 -7
- package/dist/sidebar-state.d.ts +2 -2
- package/dist/sidebar-state.js +1 -1
- package/dist/token-util-ed4az5gg.js +1 -0
- package/dist/{token-z6qq7a1d.js → token-ycw7dyev.js} +1 -1
- package/dist/tui-preferences.js +1 -1
- package/dist/tui.d.ts +30 -3
- package/dist/v2/server.d.ts +2 -2
- package/dist/v2/server.js +2 -2
- package/package.json +5 -5
- package/src/tui-compiled/raw/shared/0332701351b3eeec-format.js +50 -5
- package/src/tui-compiled/raw/shared/0f77ebc3c914c9c6-custody.js +70 -1
- package/src/tui-compiled/raw/shared/169b2b4bf30909bc-consumer.js +104 -62
- package/src/tui-compiled/raw/shared/2577ec69f9973ae9-quota-normalize.js +45 -1
- package/src/tui-compiled/raw/shared/30f5bc480f31f51c-roster.js +172 -43
- package/src/tui-compiled/raw/shared/375d9cca2def037d-private-files.js +49 -3
- package/src/tui-compiled/raw/shared/39c3cb05738fcf6d-projection.js +3 -1
- package/src/tui-compiled/raw/shared/42ae93ab554fcec2-open-url.js +7 -9
- package/src/tui-compiled/raw/shared/4825e03209d6ae3e-with-lock.js +2 -0
- package/src/tui-compiled/raw/shared/4f36d333d081d040-merge.js +17 -3
- package/src/tui-compiled/raw/shared/754d6017f8e419cf-builtins.js +95 -13
- package/src/tui-compiled/raw/shared/81dddd203f1b92a3-quota-writer.js +253 -0
- package/src/tui-compiled/raw/shared/905bffc0220f43d0-map.js +31 -6
- package/src/tui-compiled/raw/shared/abd062d633e29fd2-pool-routing.js +116 -12
- package/src/tui-compiled/raw/shared/b9588ad4725c1d10-enrollment.js +27 -0
- package/src/tui-compiled/raw/shared/bfbdd0f9aae56b47-pool-quota.js +15 -3
- package/src/tui-compiled/raw/shared/d0f0b6be200311af-insula.js +64 -2
- package/src/tui-compiled/raw/shared/d5a8f1061ee2f114-index.js +2 -2
- package/src/tui-compiled/raw/shared/dbc61cd405941828-accounts.js +5 -4
- package/src/tui-compiled/raw/shared/dc9290c2a7552ba6-watch.js +2 -1
- package/src/tui-compiled/raw/shared/e8d3c8da776ef9cd-index.js +2 -1
- package/src/tui-compiled/raw/sidebar-state.js +32 -3
- package/src/tui-compiled/raw/tui/v2-dialog.js +2 -1
- package/src/tui-compiled/raw/tui.tsx +170 -26
- package/src/tui-compiled/runtime/shared/0332701351b3eeec-format.js +50 -5
- package/src/tui-compiled/runtime/shared/0f77ebc3c914c9c6-custody.js +70 -1
- package/src/tui-compiled/runtime/shared/169b2b4bf30909bc-consumer.js +104 -62
- package/src/tui-compiled/runtime/shared/2577ec69f9973ae9-quota-normalize.js +45 -1
- package/src/tui-compiled/runtime/shared/30f5bc480f31f51c-roster.js +172 -43
- package/src/tui-compiled/runtime/shared/375d9cca2def037d-private-files.js +49 -3
- package/src/tui-compiled/runtime/shared/39c3cb05738fcf6d-projection.js +3 -1
- package/src/tui-compiled/runtime/shared/42ae93ab554fcec2-open-url.js +7 -9
- package/src/tui-compiled/runtime/shared/4825e03209d6ae3e-with-lock.js +2 -0
- package/src/tui-compiled/runtime/shared/4f36d333d081d040-merge.js +17 -3
- package/src/tui-compiled/runtime/shared/754d6017f8e419cf-builtins.js +95 -13
- package/src/tui-compiled/runtime/shared/81dddd203f1b92a3-quota-writer.js +253 -0
- package/src/tui-compiled/runtime/shared/905bffc0220f43d0-map.js +31 -6
- package/src/tui-compiled/runtime/shared/abd062d633e29fd2-pool-routing.js +116 -12
- package/src/tui-compiled/runtime/shared/b9588ad4725c1d10-enrollment.js +27 -0
- package/src/tui-compiled/runtime/shared/bfbdd0f9aae56b47-pool-quota.js +15 -3
- package/src/tui-compiled/runtime/shared/d0f0b6be200311af-insula.js +64 -2
- package/src/tui-compiled/runtime/shared/d5a8f1061ee2f114-index.js +2 -2
- package/src/tui-compiled/runtime/shared/dbc61cd405941828-accounts.js +5 -4
- package/src/tui-compiled/runtime/shared/dc9290c2a7552ba6-watch.js +2 -1
- package/src/tui-compiled/runtime/shared/e8d3c8da776ef9cd-index.js +2 -1
- package/src/tui-compiled/runtime/sidebar-state.js +32 -3
- package/src/tui-compiled/runtime/tui/v2-dialog.js +2 -1
- package/src/tui-compiled/runtime/tui.js +350 -219
- package/dist/index-1mbgsxsr.js +0 -2
- package/dist/index-4v2fs42x.js +0 -65
- package/dist/index-8x1aj7q3.js +0 -2
- package/dist/index-ex6nx3mq.js +0 -2
- package/dist/index-psjyexj3.js +0 -69
- package/dist/index-tn8x5tz8.js +0 -90
- package/dist/token-util-cf0nyh7n.js +0 -1
|
@@ -13,12 +13,12 @@ import { readFileSync } from "node:fs";
|
|
|
13
13
|
import { dirname, join } from "node:path";
|
|
14
14
|
import { fileURLToPath } from "node:url";
|
|
15
15
|
import { formatQuota, quotaTextParts, quotaWindowParts } from "./shared/d5a8f1061ee2f114-index.js";
|
|
16
|
-
import { createEffect, createSignal, For, Index, onCleanup, Show } from "opentui:runtime-module:solid-js";
|
|
16
|
+
import { createEffect, createMemo, createSignal, For, Index, onCleanup, Show } from "opentui:runtime-module:solid-js";
|
|
17
17
|
import { createLogger } from "./logger.js";
|
|
18
18
|
import { isNotifyPayload } from "./rpc/protocol.js";
|
|
19
19
|
import { createRpcClient } from "./rpc/rpc-client.js";
|
|
20
20
|
import { resolveRpcDir } from "./rpc/rpc-dir.js";
|
|
21
|
-
import { computeQuotaPacing, DEFAULT_SIDEBAR_STATE, displayWidth, fitCollapsedLabel, getCollapsedAccountLines, getCollapsedQuotaSummary, getPresentQuotaWindows, getSidebarState, resolveActiveAccount, resolveSessionSidebarRouting, resolveSessionStickyAccount, sidebarQuotaProjection } from "./sidebar-state.js";
|
|
21
|
+
import { accountCreditsText, accountServesOnCredits, computeQuotaPacing, DEFAULT_SIDEBAR_STATE, displayWidth, fitCollapsedLabel, getCollapsedAccountLines, getCollapsedQuotaSummary, getPresentQuotaWindows, getSidebarState, resolveActiveAccount, resolveSessionSidebarRouting, resolveSessionStickyAccount, sidebarQuotaProjection } from "./sidebar-state.js";
|
|
22
22
|
import { openCommandDialog } from "./tui/command-dialogs.js";
|
|
23
23
|
import { setupTui } from "./tui/v2.js";
|
|
24
24
|
import { computeEffectiveOrder, DEFAULT_SLOT_ORDER, PLUGIN_KEY, queueTuiPreferenceUpdate, readTuiPreferencesFile, resolveOpenaiAuthPrefs, watchTuiPreferences } from "./tui-preferences.js";
|
|
@@ -204,6 +204,53 @@ function StatRow(props) {
|
|
|
204
204
|
})();
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
+
// One of an account's own rows under its quota bars (budget amounts, prepaid
|
|
208
|
+
// credits, reset credits): muted label left, value right. Like the quota rows
|
|
209
|
+
// it stays on one line: it measures its own width and, when both do not fit,
|
|
210
|
+
// cuts only the label (with …), keeping one blank cell before the value.
|
|
211
|
+
function AccountMetaRow(props) {
|
|
212
|
+
const [width, setWidth] = createSignal(0);
|
|
213
|
+
let row;
|
|
214
|
+
const label = () => {
|
|
215
|
+
const columns = width();
|
|
216
|
+
if (columns <= 0) return props.label;
|
|
217
|
+
return fitCollapsedLabel(props.label, columns - displayWidth(props.value) - 1);
|
|
218
|
+
};
|
|
219
|
+
return (() => {
|
|
220
|
+
var _el$8 = _$createElement("box"),
|
|
221
|
+
_el$9 = _$createElement("text"),
|
|
222
|
+
_el$0 = _$createElement("text"),
|
|
223
|
+
_el$1 = _$createElement("b");
|
|
224
|
+
_$insertNode(_el$8, _el$9);
|
|
225
|
+
_$insertNode(_el$8, _el$0);
|
|
226
|
+
_$use(element => {
|
|
227
|
+
row = element;
|
|
228
|
+
}, _el$8);
|
|
229
|
+
_$setProp(_el$8, "onSizeChange", () => setWidth(row?.width ?? 0));
|
|
230
|
+
_$setProp(_el$8, "width", '100%');
|
|
231
|
+
_$setProp(_el$8, "flexDirection", 'row');
|
|
232
|
+
_$setProp(_el$8, "justifyContent", 'space-between');
|
|
233
|
+
_$setProp(_el$9, "wrapMode", 'none');
|
|
234
|
+
_$setProp(_el$9, "flexShrink", 1);
|
|
235
|
+
_$insert(_el$9, label);
|
|
236
|
+
_$insertNode(_el$0, _el$1);
|
|
237
|
+
_$setProp(_el$0, "wrapMode", 'none');
|
|
238
|
+
_$setProp(_el$0, "flexShrink", 0);
|
|
239
|
+
_$insert(_el$1, () => props.value);
|
|
240
|
+
_$effect(_p$ => {
|
|
241
|
+
var _v$5 = props.theme.textMuted,
|
|
242
|
+
_v$6 = props.theme.text;
|
|
243
|
+
_v$5 !== _p$.e && (_p$.e = _$setProp(_el$9, "fg", _v$5, _p$.e));
|
|
244
|
+
_v$6 !== _p$.t && (_p$.t = _$setProp(_el$0, "fg", _v$6, _p$.t));
|
|
245
|
+
return _p$;
|
|
246
|
+
}, {
|
|
247
|
+
e: undefined,
|
|
248
|
+
t: undefined
|
|
249
|
+
});
|
|
250
|
+
return _el$8;
|
|
251
|
+
})();
|
|
252
|
+
}
|
|
253
|
+
|
|
207
254
|
// One account in the collapsed view: label left; narrow quota text and the
|
|
208
255
|
// status dot right (red ⊘ when killed). The session's account keeps the
|
|
209
256
|
// usage tone; other accounts, and any account whose reading is stale, are
|
|
@@ -222,65 +269,65 @@ function CollapsedAccountRow(props) {
|
|
|
222
269
|
return fitCollapsedLabel(props.line.name, columns - value - 1);
|
|
223
270
|
};
|
|
224
271
|
return (() => {
|
|
225
|
-
var _el$
|
|
226
|
-
_el$
|
|
227
|
-
_$insertNode(_el$
|
|
272
|
+
var _el$10 = _$createElement("box"),
|
|
273
|
+
_el$11 = _$createElement("text");
|
|
274
|
+
_$insertNode(_el$10, _el$11);
|
|
228
275
|
_$use(element => {
|
|
229
276
|
row = element;
|
|
230
|
-
}, _el$
|
|
231
|
-
_$setProp(_el$
|
|
232
|
-
_$setProp(_el$
|
|
233
|
-
_$setProp(_el$
|
|
234
|
-
_$setProp(_el$
|
|
235
|
-
_$setProp(_el$
|
|
236
|
-
_$setProp(_el$
|
|
237
|
-
_$insert(_el$
|
|
238
|
-
_$insert(_el$
|
|
277
|
+
}, _el$10);
|
|
278
|
+
_$setProp(_el$10, "onSizeChange", () => setWidth(row?.width ?? 0));
|
|
279
|
+
_$setProp(_el$10, "width", '100%');
|
|
280
|
+
_$setProp(_el$10, "flexDirection", 'row');
|
|
281
|
+
_$setProp(_el$10, "justifyContent", 'space-between');
|
|
282
|
+
_$setProp(_el$11, "wrapMode", 'none');
|
|
283
|
+
_$setProp(_el$11, "flexShrink", 1);
|
|
284
|
+
_$insert(_el$11, label);
|
|
285
|
+
_$insert(_el$10, _$createComponent(Show, {
|
|
239
286
|
get when() {
|
|
240
287
|
return props.line.text !== null;
|
|
241
288
|
},
|
|
242
289
|
get fallback() {
|
|
243
290
|
return (() => {
|
|
244
|
-
var _el$
|
|
245
|
-
_$insertNode(_el$
|
|
246
|
-
_$effect(_$p => _$setProp(_el$
|
|
247
|
-
return _el$
|
|
291
|
+
var _el$16 = _$createElement("text");
|
|
292
|
+
_$insertNode(_el$16, _$createTextNode(`—`));
|
|
293
|
+
_$effect(_$p => _$setProp(_el$16, "fg", props.theme.textMuted, _$p));
|
|
294
|
+
return _el$16;
|
|
248
295
|
})();
|
|
249
296
|
},
|
|
250
297
|
get children() {
|
|
251
|
-
var _el$
|
|
252
|
-
_el$
|
|
253
|
-
_$insertNode(_el$
|
|
254
|
-
_$setProp(_el$
|
|
255
|
-
_$setProp(_el$
|
|
256
|
-
_$insert(_el$
|
|
298
|
+
var _el$12 = _$createElement("box"),
|
|
299
|
+
_el$15 = _$createElement("text");
|
|
300
|
+
_$insertNode(_el$12, _el$15);
|
|
301
|
+
_$setProp(_el$12, "flexDirection", 'row');
|
|
302
|
+
_$setProp(_el$12, "flexShrink", 0);
|
|
303
|
+
_$insert(_el$12, _$createComponent(Show, {
|
|
257
304
|
get when() {
|
|
258
305
|
return !dim();
|
|
259
306
|
},
|
|
260
307
|
get fallback() {
|
|
261
308
|
return (() => {
|
|
262
|
-
var _el$
|
|
263
|
-
_$insert(_el$
|
|
264
|
-
_$effect(_$p => _$setProp(_el$
|
|
265
|
-
return _el$
|
|
309
|
+
var _el$18 = _$createElement("text");
|
|
310
|
+
_$insert(_el$18, () => props.line.text);
|
|
311
|
+
_$effect(_$p => _$setProp(_el$18, "fg", toneColor(props.theme, 'muted'), _$p));
|
|
312
|
+
return _el$18;
|
|
266
313
|
})();
|
|
267
314
|
},
|
|
268
315
|
get children() {
|
|
269
|
-
var _el$
|
|
270
|
-
_el$
|
|
271
|
-
_$insertNode(_el$
|
|
272
|
-
_$insert(_el$
|
|
273
|
-
_$effect(_$p => _$setProp(_el$
|
|
274
|
-
return _el$
|
|
316
|
+
var _el$13 = _$createElement("text"),
|
|
317
|
+
_el$14 = _$createElement("b");
|
|
318
|
+
_$insertNode(_el$13, _el$14);
|
|
319
|
+
_$insert(_el$14, () => props.line.text);
|
|
320
|
+
_$effect(_$p => _$setProp(_el$13, "fg", toneColor(props.theme, props.tone), _$p));
|
|
321
|
+
return _el$13;
|
|
275
322
|
}
|
|
276
|
-
}), _el$
|
|
277
|
-
_$insert(_el$
|
|
278
|
-
_$effect(_$p => _$setProp(_el$
|
|
279
|
-
return _el$
|
|
323
|
+
}), _el$15);
|
|
324
|
+
_$insert(_el$15, () => props.line.killed ? ' \u2298' : ' \u25cf');
|
|
325
|
+
_$effect(_$p => _$setProp(_el$15, "fg", toneColor(props.theme, props.line.killed ? 'err' : dim() ? 'muted' : props.tone), _$p));
|
|
326
|
+
return _el$12;
|
|
280
327
|
}
|
|
281
328
|
}), null);
|
|
282
|
-
_$effect(_$p => _$setProp(_el$
|
|
283
|
-
return _el$
|
|
329
|
+
_$effect(_$p => _$setProp(_el$11, "fg", toneColor(props.theme, dim() ? 'muted' : 'text'), _$p));
|
|
330
|
+
return _el$10;
|
|
284
331
|
})();
|
|
285
332
|
}
|
|
286
333
|
const SPEND_CONTROL_LABEL = 'credits';
|
|
@@ -399,12 +446,6 @@ export function getQuotaMetadataRows(state) {
|
|
|
399
446
|
label: 'Plan',
|
|
400
447
|
value: state.planType
|
|
401
448
|
});
|
|
402
|
-
if (state.credits !== undefined) {
|
|
403
|
-
rows.push({
|
|
404
|
-
label: 'Credits',
|
|
405
|
-
value: String(state.credits)
|
|
406
|
-
});
|
|
407
|
-
}
|
|
408
449
|
return rows;
|
|
409
450
|
}
|
|
410
451
|
function formatGroupedAmount(value) {
|
|
@@ -421,7 +462,15 @@ export function formatSpendControlAmounts(spendControl) {
|
|
|
421
462
|
const unit = pluralizeUnit(spendControl.unit ?? 'unit', spendControl.limit);
|
|
422
463
|
return `${formatGroupedAmount(spendControl.used)} / ${formatGroupedAmount(spendControl.limit)} ${unit}`;
|
|
423
464
|
}
|
|
424
|
-
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* The account's own rows under its quota bars: the workspace budget's amounts
|
|
468
|
+
* (`credits`), the prepaid credits (`prepaid`, worded by `accountCreditsText`)
|
|
469
|
+
* and the reset-credit count (`resets`), each only when known. While the
|
|
470
|
+
* account is serving the session on its prepaid credits (its free quota is
|
|
471
|
+
* used up), the prepaid row says so in place of its `prepaid` label.
|
|
472
|
+
*/
|
|
473
|
+
export function getAccountMetadataRows(resetCredits, spendControl, prepaidCredits, servingOnCredits = false) {
|
|
425
474
|
const rows = [];
|
|
426
475
|
if (spendControl) {
|
|
427
476
|
rows.push({
|
|
@@ -429,6 +478,12 @@ export function getAccountMetadataRows(resetCredits, spendControl) {
|
|
|
429
478
|
value: formatSpendControlAmounts(spendControl)
|
|
430
479
|
});
|
|
431
480
|
}
|
|
481
|
+
if (prepaidCredits !== undefined) {
|
|
482
|
+
rows.push({
|
|
483
|
+
label: servingOnCredits ? 'serving on credits' : 'prepaid',
|
|
484
|
+
value: prepaidCredits
|
|
485
|
+
});
|
|
486
|
+
}
|
|
432
487
|
if (resetCredits !== undefined) {
|
|
433
488
|
rows.push({
|
|
434
489
|
label: 'resets',
|
|
@@ -438,12 +493,74 @@ export function getAccountMetadataRows(resetCredits, spendControl) {
|
|
|
438
493
|
return rows;
|
|
439
494
|
}
|
|
440
495
|
|
|
496
|
+
/** The fewest cells a shortened quota bar keeps; below this it is dropped. */
|
|
497
|
+
const MIN_QUOTA_BAR_CELLS = 3;
|
|
498
|
+
/**
|
|
499
|
+
* How an expanded quota row fits on one line `columns` cells wide. The row is
|
|
500
|
+
* the padded label, the bar, the " N% left" figure and, at the right edge, the
|
|
501
|
+
* reset time. When it does not fit, the reset time goes first, then the bar
|
|
502
|
+
* shrinks (to no fewer than MIN_QUOTA_BAR_CELLS cells, else it is dropped).
|
|
503
|
+
* The label and the figure are never cut. `columns` of 0 means the row has not
|
|
504
|
+
* been measured yet, and everything is drawn.
|
|
505
|
+
*/
|
|
506
|
+
export function fitQuotaRow(input) {
|
|
507
|
+
const {
|
|
508
|
+
columns,
|
|
509
|
+
barWidth
|
|
510
|
+
} = input;
|
|
511
|
+
const reset = input.resetText ? displayWidth(input.resetText) : 0;
|
|
512
|
+
if (columns <= 0) return {
|
|
513
|
+
barCells: barWidth,
|
|
514
|
+
showReset: reset > 0
|
|
515
|
+
};
|
|
516
|
+
const fixed = displayWidth(input.label) + displayWidth(input.figure);
|
|
517
|
+
// The reset sits at the right edge with at least one blank cell before it,
|
|
518
|
+
// so it never runs into the figure.
|
|
519
|
+
if (reset > 0 && fixed + barWidth + 1 + reset <= columns) return {
|
|
520
|
+
barCells: barWidth,
|
|
521
|
+
showReset: true
|
|
522
|
+
};
|
|
523
|
+
const room = columns - fixed;
|
|
524
|
+
if (room >= barWidth) return {
|
|
525
|
+
barCells: barWidth,
|
|
526
|
+
showReset: false
|
|
527
|
+
};
|
|
528
|
+
return {
|
|
529
|
+
barCells: room >= MIN_QUOTA_BAR_CELLS ? room : 0,
|
|
530
|
+
showReset: false
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
|
|
441
534
|
// Quota window row: muted label left, tone-colored usage bar and shared quota text.
|
|
442
535
|
// When pacing data is present, the bar
|
|
443
536
|
// gains a pace segment and an off-pace window adds a muted subline with the
|
|
444
537
|
// reserve/deficit delta and the projected runout.
|
|
538
|
+
// The row measures its own width and never wraps: fitQuotaRow decides what is
|
|
539
|
+
// left out when it is too narrow, and the pacing subline is cut with ….
|
|
445
540
|
function QuotaRow(props) {
|
|
446
541
|
const used = () => props.window?.usedPercent ?? 0;
|
|
542
|
+
const [columns, setColumns] = createSignal(0);
|
|
543
|
+
let row;
|
|
544
|
+
const label = () => props.label.padEnd(props.labelWidth);
|
|
545
|
+
const figure = () => ` ${props.text.slice(props.label.length + 1)}`;
|
|
546
|
+
const fit = () => fitQuotaRow({
|
|
547
|
+
columns: columns(),
|
|
548
|
+
label: label(),
|
|
549
|
+
barWidth: props.appearance.barWidth,
|
|
550
|
+
figure: figure(),
|
|
551
|
+
resetText: props.resetText
|
|
552
|
+
});
|
|
553
|
+
// Memos, so a new measured width that leaves the fit unchanged (as the
|
|
554
|
+
// first measurement usually does) does not rebuild the bar's text nodes:
|
|
555
|
+
// rebuilt nodes are blank until the next frame is drawn.
|
|
556
|
+
const barCells = createMemo(() => fit().barCells);
|
|
557
|
+
const showReset = createMemo(() => fit().showReset);
|
|
558
|
+
const fittedPaceLine = () => {
|
|
559
|
+
const line = paceLine();
|
|
560
|
+
if (line === null || columns() <= 0) return line;
|
|
561
|
+
// The subline is indented by the label column; cut it to the rest.
|
|
562
|
+
return fitCollapsedLabel(line, columns() - props.labelWidth);
|
|
563
|
+
};
|
|
447
564
|
const paceLine = () => {
|
|
448
565
|
const pacing = props.pacing;
|
|
449
566
|
if (!pacing || pacing.state === 'on-pace') return null;
|
|
@@ -457,102 +574,117 @@ function QuotaRow(props) {
|
|
|
457
574
|
},
|
|
458
575
|
get fallback() {
|
|
459
576
|
return (() => {
|
|
460
|
-
var _el$
|
|
461
|
-
_el$
|
|
462
|
-
_el$
|
|
463
|
-
_$insertNode(_el$
|
|
464
|
-
_$insertNode(_el$
|
|
465
|
-
_$setProp(_el$
|
|
466
|
-
_$setProp(_el$
|
|
467
|
-
_$insert(_el$
|
|
468
|
-
_$insertNode(_el$
|
|
577
|
+
var _el$24 = _$createElement("box"),
|
|
578
|
+
_el$25 = _$createElement("text"),
|
|
579
|
+
_el$26 = _$createElement("text");
|
|
580
|
+
_$insertNode(_el$24, _el$25);
|
|
581
|
+
_$insertNode(_el$24, _el$26);
|
|
582
|
+
_$setProp(_el$24, "width", '100%');
|
|
583
|
+
_$setProp(_el$24, "flexDirection", 'row');
|
|
584
|
+
_$insert(_el$25, () => props.label.padEnd(props.labelWidth));
|
|
585
|
+
_$insertNode(_el$26, _$createTextNode(`—`));
|
|
469
586
|
_$effect(_p$ => {
|
|
470
587
|
var _v$9 = props.theme.textMuted,
|
|
471
588
|
_v$0 = props.theme.textMuted;
|
|
472
|
-
_v$9 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
473
|
-
_v$0 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
589
|
+
_v$9 !== _p$.e && (_p$.e = _$setProp(_el$25, "fg", _v$9, _p$.e));
|
|
590
|
+
_v$0 !== _p$.t && (_p$.t = _$setProp(_el$26, "fg", _v$0, _p$.t));
|
|
474
591
|
return _p$;
|
|
475
592
|
}, {
|
|
476
593
|
e: undefined,
|
|
477
594
|
t: undefined
|
|
478
595
|
});
|
|
479
|
-
return _el$
|
|
596
|
+
return _el$24;
|
|
480
597
|
})();
|
|
481
598
|
},
|
|
482
599
|
get children() {
|
|
483
600
|
return [(() => {
|
|
484
|
-
var _el$
|
|
485
|
-
_el$
|
|
486
|
-
_el$
|
|
487
|
-
_el$
|
|
488
|
-
_$insertNode(_el$
|
|
489
|
-
_$
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
_$
|
|
493
|
-
_$
|
|
494
|
-
_$setProp(_el$
|
|
495
|
-
_$
|
|
496
|
-
_$
|
|
601
|
+
var _el$19 = _$createElement("box"),
|
|
602
|
+
_el$20 = _$createElement("box"),
|
|
603
|
+
_el$21 = _$createElement("text"),
|
|
604
|
+
_el$22 = _$createElement("text");
|
|
605
|
+
_$insertNode(_el$19, _el$20);
|
|
606
|
+
_$use(element => {
|
|
607
|
+
row = element;
|
|
608
|
+
}, _el$19);
|
|
609
|
+
_$setProp(_el$19, "onSizeChange", () => setColumns(row?.width ?? 0));
|
|
610
|
+
_$setProp(_el$19, "width", '100%');
|
|
611
|
+
_$setProp(_el$19, "flexDirection", 'row');
|
|
612
|
+
_$setProp(_el$19, "justifyContent", 'space-between');
|
|
613
|
+
_$insertNode(_el$20, _el$21);
|
|
614
|
+
_$insertNode(_el$20, _el$22);
|
|
615
|
+
_$setProp(_el$20, "flexDirection", 'row');
|
|
616
|
+
_$setProp(_el$20, "flexShrink", 0);
|
|
617
|
+
_$setProp(_el$21, "wrapMode", 'none');
|
|
618
|
+
_$insert(_el$21, label);
|
|
619
|
+
_$insert(_el$20, _$createComponent(For, {
|
|
497
620
|
get each() {
|
|
498
|
-
return quotaBarSegments(used(),
|
|
621
|
+
return quotaBarSegments(used(), {
|
|
622
|
+
...props.appearance,
|
|
623
|
+
barWidth: barCells()
|
|
624
|
+
}, props.pacing);
|
|
499
625
|
},
|
|
500
626
|
children: segment => (() => {
|
|
501
|
-
var _el$
|
|
502
|
-
_$
|
|
503
|
-
_$
|
|
504
|
-
|
|
627
|
+
var _el$28 = _$createElement("text");
|
|
628
|
+
_$setProp(_el$28, "wrapMode", 'none');
|
|
629
|
+
_$insert(_el$28, () => segment.text);
|
|
630
|
+
_$effect(_$p => _$setProp(_el$28, "fg", toneColor(props.theme, segment.tone), _$p));
|
|
631
|
+
return _el$28;
|
|
505
632
|
})()
|
|
506
|
-
}), _el$
|
|
507
|
-
_$
|
|
508
|
-
_$insert(_el$
|
|
633
|
+
}), _el$22);
|
|
634
|
+
_$setProp(_el$22, "wrapMode", 'none');
|
|
635
|
+
_$insert(_el$22, figure);
|
|
636
|
+
_$insert(_el$19, _$createComponent(Show, {
|
|
509
637
|
get when() {
|
|
510
|
-
return
|
|
638
|
+
return showReset();
|
|
511
639
|
},
|
|
512
640
|
get children() {
|
|
513
|
-
var _el$
|
|
514
|
-
_$
|
|
515
|
-
_$
|
|
516
|
-
|
|
641
|
+
var _el$23 = _$createElement("text");
|
|
642
|
+
_$setProp(_el$23, "wrapMode", 'none');
|
|
643
|
+
_$setProp(_el$23, "flexShrink", 0);
|
|
644
|
+
_$insert(_el$23, () => props.resetText);
|
|
645
|
+
_$effect(_$p => _$setProp(_el$23, "fg", props.theme.textMuted, _$p));
|
|
646
|
+
return _el$23;
|
|
517
647
|
}
|
|
518
648
|
}), null);
|
|
519
649
|
_$effect(_p$ => {
|
|
520
|
-
var _v$
|
|
521
|
-
_v$
|
|
522
|
-
_v$
|
|
523
|
-
_v$
|
|
650
|
+
var _v$7 = props.theme.textMuted,
|
|
651
|
+
_v$8 = toneColor(props.theme, usageTone(used(), props.appearance));
|
|
652
|
+
_v$7 !== _p$.e && (_p$.e = _$setProp(_el$21, "fg", _v$7, _p$.e));
|
|
653
|
+
_v$8 !== _p$.t && (_p$.t = _$setProp(_el$22, "fg", _v$8, _p$.t));
|
|
524
654
|
return _p$;
|
|
525
655
|
}, {
|
|
526
656
|
e: undefined,
|
|
527
657
|
t: undefined
|
|
528
658
|
});
|
|
529
|
-
return _el$
|
|
659
|
+
return _el$19;
|
|
530
660
|
})(), _$createComponent(Show, {
|
|
531
661
|
get when() {
|
|
532
|
-
return
|
|
662
|
+
return fittedPaceLine();
|
|
533
663
|
},
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
_el$
|
|
538
|
-
|
|
539
|
-
_$insertNode(_el$
|
|
540
|
-
_$
|
|
541
|
-
_$setProp(_el$
|
|
542
|
-
_$
|
|
543
|
-
_$insert(_el$
|
|
664
|
+
keyed: true,
|
|
665
|
+
children: line => (() => {
|
|
666
|
+
var _el$29 = _$createElement("box"),
|
|
667
|
+
_el$30 = _$createElement("text"),
|
|
668
|
+
_el$31 = _$createElement("text");
|
|
669
|
+
_$insertNode(_el$29, _el$30);
|
|
670
|
+
_$insertNode(_el$29, _el$31);
|
|
671
|
+
_$setProp(_el$29, "width", '100%');
|
|
672
|
+
_$setProp(_el$29, "flexDirection", 'row');
|
|
673
|
+
_$insert(_el$30, () => ''.padEnd(props.labelWidth));
|
|
674
|
+
_$setProp(_el$31, "wrapMode", 'none');
|
|
675
|
+
_$insert(_el$31, line);
|
|
544
676
|
_$effect(_p$ => {
|
|
545
|
-
var _v$
|
|
546
|
-
_v$
|
|
547
|
-
_v$
|
|
548
|
-
_v$
|
|
677
|
+
var _v$1 = props.theme.textMuted,
|
|
678
|
+
_v$10 = toneColor(props.theme, props.pacing?.state === 'deficit' ? 'warn' : 'muted');
|
|
679
|
+
_v$1 !== _p$.e && (_p$.e = _$setProp(_el$30, "fg", _v$1, _p$.e));
|
|
680
|
+
_v$10 !== _p$.t && (_p$.t = _$setProp(_el$31, "fg", _v$10, _p$.t));
|
|
549
681
|
return _p$;
|
|
550
682
|
}, {
|
|
551
683
|
e: undefined,
|
|
552
684
|
t: undefined
|
|
553
685
|
});
|
|
554
|
-
return _el$
|
|
555
|
-
}
|
|
686
|
+
return _el$29;
|
|
687
|
+
})()
|
|
556
688
|
})];
|
|
557
689
|
}
|
|
558
690
|
});
|
|
@@ -566,56 +698,56 @@ function AccountBlock(props) {
|
|
|
566
698
|
const statusTone = () => props.killed ? 'err' : props.active ? 'ok' : 'muted';
|
|
567
699
|
const rows = () => buildQuotaRowsForDisplay(props.quota, Date.now(), props.pacingEnabled, props.labelWidth);
|
|
568
700
|
return (() => {
|
|
569
|
-
var _el$
|
|
570
|
-
_el$
|
|
571
|
-
_el$
|
|
572
|
-
_el$
|
|
573
|
-
_el$
|
|
574
|
-
_el$
|
|
575
|
-
_$insertNode(_el$28, _el$29);
|
|
576
|
-
_$setProp(_el$28, "width", '100%');
|
|
577
|
-
_$setProp(_el$28, "flexDirection", 'column');
|
|
578
|
-
_$insertNode(_el$29, _el$30);
|
|
579
|
-
_$insertNode(_el$29, _el$32);
|
|
580
|
-
_$setProp(_el$29, "width", '100%');
|
|
581
|
-
_$setProp(_el$29, "flexDirection", 'row');
|
|
582
|
-
_$setProp(_el$29, "justifyContent", 'space-between');
|
|
583
|
-
_$insertNode(_el$30, _el$31);
|
|
584
|
-
_$insert(_el$31, () => props.name);
|
|
701
|
+
var _el$32 = _$createElement("box"),
|
|
702
|
+
_el$33 = _$createElement("box"),
|
|
703
|
+
_el$34 = _$createElement("text"),
|
|
704
|
+
_el$35 = _$createElement("b"),
|
|
705
|
+
_el$36 = _$createElement("text"),
|
|
706
|
+
_el$37 = _$createElement("b");
|
|
585
707
|
_$insertNode(_el$32, _el$33);
|
|
586
|
-
_$
|
|
587
|
-
_$
|
|
708
|
+
_$setProp(_el$32, "width", '100%');
|
|
709
|
+
_$setProp(_el$32, "flexDirection", 'column');
|
|
710
|
+
_$insertNode(_el$33, _el$34);
|
|
711
|
+
_$insertNode(_el$33, _el$36);
|
|
712
|
+
_$setProp(_el$33, "width", '100%');
|
|
713
|
+
_$setProp(_el$33, "flexDirection", 'row');
|
|
714
|
+
_$setProp(_el$33, "justifyContent", 'space-between');
|
|
715
|
+
_$insertNode(_el$34, _el$35);
|
|
716
|
+
_$insert(_el$35, () => props.name);
|
|
717
|
+
_$insertNode(_el$36, _el$37);
|
|
718
|
+
_$insert(_el$37, statusWord);
|
|
719
|
+
_$insert(_el$32, _$createComponent(Show, {
|
|
588
720
|
get when() {
|
|
589
721
|
return props.vaultState;
|
|
590
722
|
},
|
|
591
723
|
get children() {
|
|
592
|
-
var _el$
|
|
593
|
-
_$insert(_el$
|
|
594
|
-
_$effect(_$p => _$setProp(_el$
|
|
595
|
-
return _el$
|
|
724
|
+
var _el$38 = _$createElement("text");
|
|
725
|
+
_$insert(_el$38, () => props.vaultState);
|
|
726
|
+
_$effect(_$p => _$setProp(_el$38, "fg", props.theme.warning, _$p));
|
|
727
|
+
return _el$38;
|
|
596
728
|
}
|
|
597
729
|
}), null);
|
|
598
|
-
_$insert(_el$
|
|
730
|
+
_$insert(_el$32, _$createComponent(Show, {
|
|
599
731
|
get when() {
|
|
600
732
|
return props.hostDisabled;
|
|
601
733
|
},
|
|
602
734
|
get children() {
|
|
603
|
-
var _el$
|
|
604
|
-
_$insertNode(_el$
|
|
605
|
-
_$effect(_$p => _$setProp(_el$
|
|
606
|
-
return _el$
|
|
735
|
+
var _el$39 = _$createElement("text");
|
|
736
|
+
_$insertNode(_el$39, _$createTextNode(`off in /openai`));
|
|
737
|
+
_$effect(_$p => _$setProp(_el$39, "fg", props.theme.textMuted, _$p));
|
|
738
|
+
return _el$39;
|
|
607
739
|
}
|
|
608
740
|
}), null);
|
|
609
|
-
_$insert(_el$
|
|
741
|
+
_$insert(_el$32, _$createComponent(Show, {
|
|
610
742
|
get when() {
|
|
611
743
|
return isQuotaLoaded(props.quota);
|
|
612
744
|
},
|
|
613
745
|
get fallback() {
|
|
614
746
|
return (() => {
|
|
615
|
-
var _el$
|
|
616
|
-
_$insertNode(_el$
|
|
617
|
-
_$effect(_$p => _$setProp(_el$
|
|
618
|
-
return _el$
|
|
747
|
+
var _el$41 = _$createElement("text");
|
|
748
|
+
_$insertNode(_el$41, _$createTextNode(`checking…`));
|
|
749
|
+
_$effect(_$p => _$setProp(_el$41, "fg", props.theme.textMuted, _$p));
|
|
750
|
+
return _el$41;
|
|
619
751
|
})();
|
|
620
752
|
},
|
|
621
753
|
get children() {
|
|
@@ -625,10 +757,10 @@ function AccountBlock(props) {
|
|
|
625
757
|
},
|
|
626
758
|
get fallback() {
|
|
627
759
|
return (() => {
|
|
628
|
-
var _el$
|
|
629
|
-
_$insertNode(_el$
|
|
630
|
-
_$effect(_$p => _$setProp(_el$
|
|
631
|
-
return _el$
|
|
760
|
+
var _el$43 = _$createElement("text");
|
|
761
|
+
_$insertNode(_el$43, _$createTextNode(`—`));
|
|
762
|
+
_$effect(_$p => _$setProp(_el$43, "fg", props.theme.textMuted, _$p));
|
|
763
|
+
return _el$43;
|
|
632
764
|
})();
|
|
633
765
|
},
|
|
634
766
|
get children() {
|
|
@@ -667,7 +799,7 @@ function AccountBlock(props) {
|
|
|
667
799
|
});
|
|
668
800
|
}
|
|
669
801
|
}), null);
|
|
670
|
-
_$insert(_el$
|
|
802
|
+
_$insert(_el$32, _$createComponent(For, {
|
|
671
803
|
get each() {
|
|
672
804
|
return quotaTextParts(sidebarQuotaProjection(props.quota, Date.now()), {
|
|
673
805
|
now: Date.now(),
|
|
@@ -675,17 +807,17 @@ function AccountBlock(props) {
|
|
|
675
807
|
}).filter(part => part.startsWith('checked '));
|
|
676
808
|
},
|
|
677
809
|
children: age => (() => {
|
|
678
|
-
var _el$
|
|
679
|
-
_$insert(_el$
|
|
680
|
-
_$effect(_$p => _$setProp(_el$
|
|
681
|
-
return _el$
|
|
810
|
+
var _el$45 = _$createElement("text");
|
|
811
|
+
_$insert(_el$45, age);
|
|
812
|
+
_$effect(_$p => _$setProp(_el$45, "fg", props.theme.textMuted, _$p));
|
|
813
|
+
return _el$45;
|
|
682
814
|
})()
|
|
683
815
|
}), null);
|
|
684
|
-
_$insert(_el$
|
|
816
|
+
_$insert(_el$32, _$createComponent(For, {
|
|
685
817
|
get each() {
|
|
686
|
-
return getAccountMetadataRows(props.resetCredits, props.quota?.spendControl);
|
|
818
|
+
return getAccountMetadataRows(props.resetCredits, props.quota?.spendControl, accountCreditsText(props.quota), props.active && accountServesOnCredits(props.quota, Date.now()));
|
|
687
819
|
},
|
|
688
|
-
children: row => _$createComponent(
|
|
820
|
+
children: row => _$createComponent(AccountMetaRow, {
|
|
689
821
|
get theme() {
|
|
690
822
|
return props.theme;
|
|
691
823
|
},
|
|
@@ -694,24 +826,23 @@ function AccountBlock(props) {
|
|
|
694
826
|
},
|
|
695
827
|
get value() {
|
|
696
828
|
return row.value;
|
|
697
|
-
}
|
|
698
|
-
tone: "text"
|
|
829
|
+
}
|
|
699
830
|
})
|
|
700
831
|
}), null);
|
|
701
832
|
_$effect(_p$ => {
|
|
702
|
-
var _v$
|
|
703
|
-
_v$
|
|
704
|
-
_v$
|
|
705
|
-
_v$
|
|
706
|
-
_v$
|
|
707
|
-
_v$
|
|
833
|
+
var _v$11 = props.marginTop ?? 0,
|
|
834
|
+
_v$12 = props.theme.text,
|
|
835
|
+
_v$13 = toneColor(props.theme, statusTone());
|
|
836
|
+
_v$11 !== _p$.e && (_p$.e = _$setProp(_el$32, "marginTop", _v$11, _p$.e));
|
|
837
|
+
_v$12 !== _p$.t && (_p$.t = _$setProp(_el$34, "fg", _v$12, _p$.t));
|
|
838
|
+
_v$13 !== _p$.a && (_p$.a = _$setProp(_el$36, "fg", _v$13, _p$.a));
|
|
708
839
|
return _p$;
|
|
709
840
|
}, {
|
|
710
841
|
e: undefined,
|
|
711
842
|
t: undefined,
|
|
712
843
|
a: undefined
|
|
713
844
|
});
|
|
714
|
-
return _el$
|
|
845
|
+
return _el$32;
|
|
715
846
|
})();
|
|
716
847
|
}
|
|
717
848
|
|
|
@@ -874,33 +1005,33 @@ function QuotaSidebar(props) {
|
|
|
874
1005
|
const refreshBackedOff = () => state().main?.refreshBackedOff === true;
|
|
875
1006
|
const degraded = () => killedNames().length > 0 || quotaBackedOff() || refreshBackedOff();
|
|
876
1007
|
return (() => {
|
|
877
|
-
var _el$
|
|
878
|
-
_el$
|
|
879
|
-
_el$
|
|
880
|
-
_el$
|
|
881
|
-
_el$
|
|
882
|
-
_$insertNode(_el$
|
|
883
|
-
_$setProp(_el$
|
|
884
|
-
_$setProp(_el$
|
|
885
|
-
_$setProp(_el$
|
|
886
|
-
_$setProp(_el$
|
|
887
|
-
_$setProp(_el$
|
|
888
|
-
_$setProp(_el$
|
|
889
|
-
_$setProp(_el$
|
|
890
|
-
_$insertNode(_el$
|
|
891
|
-
_$setProp(_el$
|
|
892
|
-
_$setProp(_el$
|
|
893
|
-
_$setProp(_el$
|
|
894
|
-
_$setProp(_el$
|
|
895
|
-
_$setProp(_el$
|
|
1008
|
+
var _el$46 = _$createElement("box"),
|
|
1009
|
+
_el$47 = _$createElement("box"),
|
|
1010
|
+
_el$48 = _$createElement("box"),
|
|
1011
|
+
_el$49 = _$createElement("text"),
|
|
1012
|
+
_el$50 = _$createElement("b");
|
|
1013
|
+
_$insertNode(_el$46, _el$47);
|
|
1014
|
+
_$setProp(_el$46, "width", '100%');
|
|
1015
|
+
_$setProp(_el$46, "flexDirection", 'column');
|
|
1016
|
+
_$setProp(_el$46, "border", SINGLE_BORDER);
|
|
1017
|
+
_$setProp(_el$46, "paddingTop", 1);
|
|
1018
|
+
_$setProp(_el$46, "paddingBottom", 1);
|
|
1019
|
+
_$setProp(_el$46, "paddingLeft", 1);
|
|
1020
|
+
_$setProp(_el$46, "paddingRight", 1);
|
|
1021
|
+
_$insertNode(_el$47, _el$48);
|
|
1022
|
+
_$setProp(_el$47, "width", '100%');
|
|
1023
|
+
_$setProp(_el$47, "flexDirection", 'row');
|
|
1024
|
+
_$setProp(_el$47, "justifyContent", 'space-between');
|
|
1025
|
+
_$setProp(_el$47, "alignItems", 'center');
|
|
1026
|
+
_$setProp(_el$47, "onMouseDown", () => {
|
|
896
1027
|
if (hasData()) props.controller.toggleCollapsed();
|
|
897
1028
|
});
|
|
898
|
-
_$insertNode(_el$
|
|
899
|
-
_$setProp(_el$
|
|
900
|
-
_$setProp(_el$
|
|
901
|
-
_$insertNode(_el$
|
|
902
|
-
_$insert(_el$
|
|
903
|
-
_$insert(_el$
|
|
1029
|
+
_$insertNode(_el$48, _el$49);
|
|
1030
|
+
_$setProp(_el$48, "paddingLeft", 1);
|
|
1031
|
+
_$setProp(_el$48, "paddingRight", 1);
|
|
1032
|
+
_$insertNode(_el$49, _el$50);
|
|
1033
|
+
_$insert(_el$50, headerLabel);
|
|
1034
|
+
_$insert(_el$47, _$createComponent(Show, {
|
|
904
1035
|
get when() {
|
|
905
1036
|
return degraded();
|
|
906
1037
|
},
|
|
@@ -910,36 +1041,36 @@ function QuotaSidebar(props) {
|
|
|
910
1041
|
return prefs().header.showVersion && PLUGIN_VERSION !== '';
|
|
911
1042
|
},
|
|
912
1043
|
get children() {
|
|
913
|
-
var _el$
|
|
914
|
-
_$insert(_el$
|
|
915
|
-
_$effect(_$p => _$setProp(_el$
|
|
916
|
-
return _el$
|
|
1044
|
+
var _el$55 = _$createElement("text");
|
|
1045
|
+
_$insert(_el$55, `v${PLUGIN_VERSION}`);
|
|
1046
|
+
_$effect(_$p => _$setProp(_el$55, "fg", theme().textMuted, _$p));
|
|
1047
|
+
return _el$55;
|
|
917
1048
|
}
|
|
918
1049
|
});
|
|
919
1050
|
},
|
|
920
1051
|
get children() {
|
|
921
|
-
var _el$
|
|
922
|
-
_el$
|
|
923
|
-
_el$
|
|
924
|
-
_$insertNode(_el$
|
|
925
|
-
_$setProp(_el$
|
|
926
|
-
_$setProp(_el$
|
|
927
|
-
_$insertNode(_el$
|
|
928
|
-
_$insertNode(_el$
|
|
1052
|
+
var _el$51 = _$createElement("box"),
|
|
1053
|
+
_el$52 = _$createElement("text"),
|
|
1054
|
+
_el$53 = _$createElement("b");
|
|
1055
|
+
_$insertNode(_el$51, _el$52);
|
|
1056
|
+
_$setProp(_el$51, "paddingLeft", 1);
|
|
1057
|
+
_$setProp(_el$51, "paddingRight", 1);
|
|
1058
|
+
_$insertNode(_el$52, _el$53);
|
|
1059
|
+
_$insertNode(_el$53, _$createTextNode(`LIMITED`));
|
|
929
1060
|
_$effect(_p$ => {
|
|
930
|
-
var _v$
|
|
931
|
-
_v$
|
|
932
|
-
_v$
|
|
933
|
-
_v$
|
|
1061
|
+
var _v$14 = theme().warning,
|
|
1062
|
+
_v$15 = theme().background;
|
|
1063
|
+
_v$14 !== _p$.e && (_p$.e = _$setProp(_el$51, "backgroundColor", _v$14, _p$.e));
|
|
1064
|
+
_v$15 !== _p$.t && (_p$.t = _$setProp(_el$52, "fg", _v$15, _p$.t));
|
|
934
1065
|
return _p$;
|
|
935
1066
|
}, {
|
|
936
1067
|
e: undefined,
|
|
937
1068
|
t: undefined
|
|
938
1069
|
});
|
|
939
|
-
return _el$
|
|
1070
|
+
return _el$51;
|
|
940
1071
|
}
|
|
941
1072
|
}), null);
|
|
942
|
-
_$insert(_el$
|
|
1073
|
+
_$insert(_el$46, _$createComponent(Show, {
|
|
943
1074
|
get when() {
|
|
944
1075
|
return _$memo(() => !!collapsed())() && hasData();
|
|
945
1076
|
},
|
|
@@ -962,7 +1093,7 @@ function QuotaSidebar(props) {
|
|
|
962
1093
|
});
|
|
963
1094
|
}
|
|
964
1095
|
}), null);
|
|
965
|
-
_$insert(_el$
|
|
1096
|
+
_$insert(_el$46, _$createComponent(Show, {
|
|
966
1097
|
get when() {
|
|
967
1098
|
return !collapsed() || !hasData();
|
|
968
1099
|
},
|
|
@@ -973,14 +1104,14 @@ function QuotaSidebar(props) {
|
|
|
973
1104
|
},
|
|
974
1105
|
get fallback() {
|
|
975
1106
|
return (() => {
|
|
976
|
-
var _el$
|
|
977
|
-
_el$
|
|
978
|
-
_$insertNode(_el$
|
|
979
|
-
_$setProp(_el$
|
|
980
|
-
_$setProp(_el$
|
|
981
|
-
_$insertNode(_el$
|
|
982
|
-
_$effect(_$p => _$setProp(_el$
|
|
983
|
-
return _el$
|
|
1107
|
+
var _el$56 = _$createElement("box"),
|
|
1108
|
+
_el$57 = _$createElement("text");
|
|
1109
|
+
_$insertNode(_el$56, _el$57);
|
|
1110
|
+
_$setProp(_el$56, "marginTop", 1);
|
|
1111
|
+
_$setProp(_el$56, "width", '100%');
|
|
1112
|
+
_$insertNode(_el$57, _$createTextNode(`Waiting for quota…`));
|
|
1113
|
+
_$effect(_$p => _$setProp(_el$57, "fg", theme().textMuted, _$p));
|
|
1114
|
+
return _el$56;
|
|
984
1115
|
})();
|
|
985
1116
|
},
|
|
986
1117
|
get children() {
|
|
@@ -1227,19 +1358,19 @@ function QuotaSidebar(props) {
|
|
|
1227
1358
|
}
|
|
1228
1359
|
}), null);
|
|
1229
1360
|
_$effect(_p$ => {
|
|
1230
|
-
var _v$
|
|
1231
|
-
_v$
|
|
1232
|
-
_v$
|
|
1233
|
-
_v$
|
|
1234
|
-
_v$
|
|
1235
|
-
_v$
|
|
1361
|
+
var _v$16 = theme().borderActive,
|
|
1362
|
+
_v$17 = theme().accent,
|
|
1363
|
+
_v$18 = theme().background;
|
|
1364
|
+
_v$16 !== _p$.e && (_p$.e = _$setProp(_el$46, "borderColor", _v$16, _p$.e));
|
|
1365
|
+
_v$17 !== _p$.t && (_p$.t = _$setProp(_el$48, "backgroundColor", _v$17, _p$.t));
|
|
1366
|
+
_v$18 !== _p$.a && (_p$.a = _$setProp(_el$49, "fg", _v$18, _p$.a));
|
|
1236
1367
|
return _p$;
|
|
1237
1368
|
}, {
|
|
1238
1369
|
e: undefined,
|
|
1239
1370
|
t: undefined,
|
|
1240
1371
|
a: undefined
|
|
1241
1372
|
});
|
|
1242
|
-
return _el$
|
|
1373
|
+
return _el$46;
|
|
1243
1374
|
})();
|
|
1244
1375
|
}
|
|
1245
1376
|
const tui = async api => {
|