oc-go-usage-display 1.1.0 → 2.1.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.
Files changed (42) hide show
  1. package/README.md +246 -93
  2. package/bin/lib.js +395 -37
  3. package/bin/oc-go-usage-display-init.js +42 -13
  4. package/bin/oc-go-usage-display-remove.js +22 -17
  5. package/bin/oc-go-usage-display-show.js +47 -39
  6. package/bin/oc-go-usage-display-status.js +31 -52
  7. package/bin/oc-go-usage-display-update.js +27 -14
  8. package/dist/helpers.d.ts +117 -0
  9. package/dist/helpers.d.ts.map +1 -0
  10. package/dist/helpers.js +582 -0
  11. package/dist/helpers.js.map +1 -0
  12. package/dist/index.d.ts +5 -13
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +249 -159
  15. package/dist/index.js.map +1 -1
  16. package/dist/plugins/oc-go-usage-display.kilo.ts +699 -0
  17. package/dist/plugins/oc-go-usage-display.kilo.tsx +1364 -0
  18. package/dist/plugins/oc-go-usage-display.ts +699 -0
  19. package/dist/plugins/oc-go-usage-display.tsx +1108 -0
  20. package/dist/shared.d.ts +87 -8
  21. package/dist/shared.d.ts.map +1 -1
  22. package/dist/shared.js +596 -31
  23. package/dist/shared.js.map +1 -1
  24. package/dist/tui-shared.d.ts +109 -0
  25. package/dist/tui-shared.d.ts.map +1 -0
  26. package/dist/tui-shared.js +408 -0
  27. package/dist/tui-shared.js.map +1 -0
  28. package/dist/tui.d.ts +0 -17
  29. package/dist/tui.d.ts.map +1 -1
  30. package/dist/tui.js +229 -282
  31. package/dist/tui.js.map +1 -1
  32. package/dist/tui.kilo.d.ts +8 -0
  33. package/dist/tui.kilo.d.ts.map +1 -0
  34. package/dist/tui.kilo.js +502 -0
  35. package/dist/tui.kilo.js.map +1 -0
  36. package/package.json +49 -15
  37. package/src/helpers.ts +749 -0
  38. package/src/index.ts +316 -175
  39. package/src/shared.ts +693 -32
  40. package/src/tui-shared.tsx +755 -0
  41. package/src/tui.kilo.tsx +817 -0
  42. package/src/tui.tsx +352 -366
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wEAAwE;AACxE,qDAAqD;AACrD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAE1E,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAEzE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AACnE,CAAC;AAuBD,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAuB;IACzD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,CAAC;IAC7C,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACtC,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB;IAChC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,EAAE,CAAC;QACvC,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,SAAkB;IAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,CAC5B,SAAS,CAAC,OAAO;QACf,SAAS,CAAC,YAAY;QACtB,SAAS,CAAC,WAAW;QACrB,SAAS,CAAC,KAAK;QACf,SAAS,CAAC,KAAK,CAClB,CAAC;IACF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IACnF,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,UAAU,GAAc,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,SAAS;QACnC,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/F,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO;gBACL,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;QAC7E,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;QAC5E,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;QAC7E,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAAkC,aAAa;IAE/C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /** @jsxImportSource @opentui/solid */
2
+ import type { JSX } from "@opentui/solid/jsx-runtime";
3
+ import type { TuiTheme } from "@opencode-ai/plugin/tui";
4
+ import type { PlanRow, ProviderSource, ResetCountdown, SurfaceSelection, UsageMeterSeverity, UsageRow } from "./helpers.js";
5
+ import type { UsageHost, UsageSnapshot } from "./shared.js";
6
+ export declare const POLL_INTERVAL_MS = 60000;
7
+ export declare const EVENT_TTL_MS = 15000;
8
+ export declare const KV_DISPLAY_KEY = "display";
9
+ export declare const KV_COLLAPSED_SIDEBAR_KEY = "collapsed_sidebar";
10
+ export declare const KV_COLLAPSED_STATUSLINE_KEY = "collapsed_statusline";
11
+ export type UsagePanelApi = {
12
+ kv: {
13
+ get<Value = unknown>(key: string, fallback?: Value): Value;
14
+ set(key: string, value: unknown): void;
15
+ };
16
+ client: {
17
+ app: {
18
+ log(entry: {
19
+ service: string;
20
+ level: "error";
21
+ message: string;
22
+ }): Promise<unknown>;
23
+ };
24
+ };
25
+ };
26
+ export declare function reactiveChild(accessor: () => unknown): JSX.Element;
27
+ export declare function meterColor(theme: TuiTheme, severity: UsageMeterSeverity): import("@opentui/core").RGBA;
28
+ export declare function logUsageError(api: UsagePanelApi, message: string): Promise<void>;
29
+ export type UsageStore = {
30
+ snapshot: () => UsageSnapshot | null;
31
+ refresh: () => Promise<void>;
32
+ refreshSafely: (ttlOverride?: number) => void;
33
+ };
34
+ export declare function createUsageStore(api: UsagePanelApi, host: UsageHost): UsageStore;
35
+ export type DisplayOptions = {
36
+ sidebar?: unknown;
37
+ statusline?: unknown;
38
+ display?: unknown;
39
+ };
40
+ export declare function resolveSurfaceSelection(options: DisplayOptions | undefined, api: UsagePanelApi, host: UsageHost): SurfaceSelection;
41
+ export type CollapseState = {
42
+ isSidebarCollapsed: () => boolean;
43
+ isStatuslineCollapsed: () => boolean;
44
+ toggleSidebar: () => void;
45
+ toggleStatusline: () => void;
46
+ };
47
+ export declare function createCollapseState(api: UsagePanelApi): CollapseState;
48
+ export declare function isGoUsageProvider(providerId: string | undefined): boolean;
49
+ export declare function makeProviderResolver(state: ProviderSource | undefined, fallback: () => string | undefined): (sessionId: string) => string | undefined;
50
+ export type ProviderCatalogSource = {
51
+ state?: {
52
+ provider?: ReadonlyArray<{
53
+ id?: unknown;
54
+ name?: unknown;
55
+ models?: Readonly<Record<string, {
56
+ name?: unknown;
57
+ } | undefined>>;
58
+ }>;
59
+ };
60
+ };
61
+ export declare function readProviderDisplayNames(source: ProviderCatalogSource): ReadonlyMap<string, string>;
62
+ export declare function readModelDisplayName(source: ProviderCatalogSource, providerID: string, modelID: string): string | null;
63
+ export declare function LabeledValueRow(props: {
64
+ theme: TuiTheme;
65
+ row: UsageRow;
66
+ }): import("solid-js").JSX.Element;
67
+ export declare const MIN_METER_WIDTH = 6;
68
+ export declare function MeterBar(props: {
69
+ theme: TuiTheme;
70
+ percent: number;
71
+ severity: UsageMeterSeverity;
72
+ }): import("solid-js").JSX.Element;
73
+ export declare function GoPlanRow(props: {
74
+ theme: TuiTheme;
75
+ row: PlanRow;
76
+ }): import("solid-js").JSX.Element;
77
+ export declare function GoPlanSection(props: {
78
+ theme: TuiTheme;
79
+ rows: PlanRow[];
80
+ }): import("solid-js").JSX.Element;
81
+ export declare function SectionHeader(props: {
82
+ theme: TuiTheme;
83
+ label: string;
84
+ expanded: () => boolean;
85
+ count: () => number | null;
86
+ onToggle: () => void;
87
+ }): import("solid-js").JSX.Element;
88
+ export declare function CollapsibleSection(props: {
89
+ theme: TuiTheme;
90
+ label: string;
91
+ count: () => number | null;
92
+ expanded: () => boolean;
93
+ onToggle: () => void;
94
+ body: () => JSX.Element;
95
+ }): import("solid-js").JSX.Element;
96
+ export declare function GoShareRow(props: {
97
+ theme: TuiTheme;
98
+ percent: number;
99
+ }): import("solid-js").JSX.Element;
100
+ export declare function GoUsageBlock(props: {
101
+ api: UsagePanelApi;
102
+ theme: TuiTheme;
103
+ snapshot: () => UsageSnapshot | null;
104
+ resetLine?: () => ResetCountdown | null;
105
+ }): import("solid-js").JSX.Element;
106
+ export declare function GoStatusline(props: {
107
+ snapshot: () => UsageSnapshot | null;
108
+ }): import("solid-js").JSX.Element;
109
+ //# sourceMappingURL=tui-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-shared.d.ts","sourceRoot":"","sources":["../src/tui-shared.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,408 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
2
+ import { For, Show, createEffect, createMemo, createSignal } from "solid-js";
3
+ import { GO_SHARE_LABEL_WIDTH, PLAN_LABEL_WIDTH, buildPlanRows, formatPercentCell, formatStatusline, isDisplayMode, isSnapshotEmpty, meterFillPercent, meterSeverityForPercent, parseBooleanFlag, resolveProviderId, surfaceSelectionFromDisplayMode, } from "./helpers.js";
4
+ import { extractSnapshotFromApiPayload, hostEnv, isRecord, mockSnapshot, parseMockLimited, parseMockPercents, parseMockResets, readAuthJsonApiKey, toNonEmptyString, unavailableSnapshot, GO_PLAN_HEADING, GO_PROVIDER_ID, INTEGRATED_GO_SHARE_LABEL, SIDEBAR_COLLAPSED_GLYPH, SIDEBAR_EXPANDED_GLYPH, } from "./shared.js";
5
+ // ---------------------------------------------------------------------------
6
+ // Constants
7
+ // ---------------------------------------------------------------------------
8
+ const API_USAGE_URL = "https://opencode.ai/zen/go/v1/usage";
9
+ // One refresh policy for both hosts, so the numbers on a host's sidebar and its
10
+ // statusline can never come from two different cadences: the background poll,
11
+ // the event TTL and the debounce below are the same numbers as the ones each
12
+ // entry passes to `refreshSafely`.
13
+ export const POLL_INTERVAL_MS = 60_000;
14
+ export const EVENT_TTL_MS = 15_000;
15
+ const DEBOUNCE_MS = 5_000;
16
+ const FETCH_TIMEOUT_MS = 10_000;
17
+ const LOG_SERVICE = "oc-go-usage-display";
18
+ // Persisted `api.kv` keys. Each host keeps its own store, so the same names
19
+ // never collide across hosts.
20
+ export const KV_DISPLAY_KEY = "display";
21
+ export const KV_COLLAPSED_SIDEBAR_KEY = "collapsed_sidebar";
22
+ export const KV_COLLAPSED_STATUSLINE_KEY = "collapsed_statusline";
23
+ const KV_COLLAPSED_LEGACY_KEY = "collapsed";
24
+ export function reactiveChild(accessor) {
25
+ return accessor;
26
+ }
27
+ export function meterColor(theme, severity) {
28
+ if (severity === "error")
29
+ return theme.current.error;
30
+ if (severity === "warning")
31
+ return theme.current.warning;
32
+ return theme.current.textMuted;
33
+ }
34
+ // ---------------------------------------------------------------------------
35
+ // Failure boundary (api.client.app.log, never console; secrets never logged)
36
+ // ---------------------------------------------------------------------------
37
+ export async function logUsageError(api, message) {
38
+ try {
39
+ await api.client.app.log({ service: LOG_SERVICE, level: "error", message });
40
+ }
41
+ catch {
42
+ // Logging is best-effort; the usage display must never break the host.
43
+ }
44
+ }
45
+ // ---------------------------------------------------------------------------
46
+ // Data boundary (auth.json -> Bearer usage fetch; throws nothing)
47
+ // ---------------------------------------------------------------------------
48
+ async function fetchJsonWithTimeout(url, apiKey) {
49
+ const controller = new AbortController();
50
+ const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
51
+ try {
52
+ const response = await fetch(url, {
53
+ signal: controller.signal,
54
+ headers: { Authorization: `Bearer ${apiKey}`, Accept: "application/json" },
55
+ });
56
+ if (response.status === 401 || response.status === 403)
57
+ return { __rejected: true };
58
+ if (!response.ok)
59
+ return null;
60
+ try {
61
+ return (await response.json());
62
+ }
63
+ catch {
64
+ return null;
65
+ }
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ finally {
71
+ clearTimeout(timer);
72
+ }
73
+ }
74
+ async function loadUsageSnapshot(host) {
75
+ if (hostEnv(host, "MOCK") === "1") {
76
+ const overrides = {};
77
+ const percents = parseMockPercents(hostEnv(host, "MOCK_PERCENTS"));
78
+ if (percents !== null)
79
+ overrides.percents = percents;
80
+ const resets = parseMockResets(hostEnv(host, "MOCK_RESETS"));
81
+ if (resets !== null)
82
+ overrides.resets = resets;
83
+ const limited = parseMockLimited(hostEnv(host, "MOCK_LIMITED"));
84
+ if (limited !== null)
85
+ overrides.limited = limited;
86
+ return mockSnapshot(overrides);
87
+ }
88
+ const apiKey = toNonEmptyString(hostEnv(host, "API_KEY")) ?? readAuthJsonApiKey(host);
89
+ if (apiKey === null)
90
+ return null;
91
+ const payload = await fetchJsonWithTimeout(API_USAGE_URL, apiKey);
92
+ if (payload === null)
93
+ return null;
94
+ // Mirror the server: a rejected key is a distinct unavailable snapshot
95
+ // (surfaced via `apiError`) rather than a silent null.
96
+ if (isRecord(payload) && payload.__rejected === true) {
97
+ return unavailableSnapshot("API key rejected (401/403)");
98
+ }
99
+ return extractSnapshotFromApiPayload(payload);
100
+ }
101
+ export function createUsageStore(api, host) {
102
+ const [snapshot, setSnapshot] = createSignal(null);
103
+ let cachedAt = 0;
104
+ let lastFetchAt = 0;
105
+ let refreshInFlight = false;
106
+ async function refresh(ttlOverride) {
107
+ if (refreshInFlight)
108
+ return;
109
+ const effectiveTtl = ttlOverride ?? POLL_INTERVAL_MS;
110
+ if (ttlOverride !== undefined) {
111
+ if (Date.now() - lastFetchAt < DEBOUNCE_MS)
112
+ return;
113
+ if (Date.now() - cachedAt < effectiveTtl && snapshot() !== null)
114
+ return;
115
+ }
116
+ else if (Date.now() - cachedAt < POLL_INTERVAL_MS && snapshot() !== null) {
117
+ return;
118
+ }
119
+ refreshInFlight = true;
120
+ try {
121
+ const next = await loadUsageSnapshot(host);
122
+ if (next === null) {
123
+ if (snapshot() === null) {
124
+ await logUsageError(api, "Go usage unavailable (not configured or request failed)");
125
+ }
126
+ return;
127
+ }
128
+ cachedAt = Date.now();
129
+ setSnapshot(next);
130
+ }
131
+ catch {
132
+ // Keep stale data; the panel simply shows the last known snapshot.
133
+ }
134
+ finally {
135
+ lastFetchAt = Date.now();
136
+ refreshInFlight = false;
137
+ }
138
+ }
139
+ return {
140
+ snapshot,
141
+ refresh: () => refresh(),
142
+ refreshSafely: (ttlOverride) => {
143
+ void refresh(ttlOverride).catch(() => {
144
+ // refresh already swallows failures; this guards a regression.
145
+ });
146
+ },
147
+ };
148
+ }
149
+ export function resolveSurfaceSelection(options, api, host) {
150
+ if (options !== undefined) {
151
+ const sidebarOption = parseBooleanFlag(options.sidebar);
152
+ const statuslineOption = parseBooleanFlag(options.statusline);
153
+ if (sidebarOption !== null || statuslineOption !== null) {
154
+ return { sidebar: sidebarOption ?? true, statusline: statuslineOption ?? true };
155
+ }
156
+ if (isDisplayMode(options.display))
157
+ return surfaceSelectionFromDisplayMode(options.display);
158
+ }
159
+ const sidebarEnv = parseBooleanFlag(hostEnv(host, "SIDEBAR"));
160
+ const statuslineEnv = parseBooleanFlag(hostEnv(host, "STATUSLINE"));
161
+ if (sidebarEnv !== null || statuslineEnv !== null) {
162
+ return { sidebar: sidebarEnv ?? true, statusline: statuslineEnv ?? true };
163
+ }
164
+ const displayEnv = toNonEmptyString(hostEnv(host, "DISPLAY"));
165
+ if (displayEnv !== null && isDisplayMode(displayEnv)) {
166
+ return surfaceSelectionFromDisplayMode(displayEnv);
167
+ }
168
+ try {
169
+ const stored = api.kv.get(KV_DISPLAY_KEY, "both");
170
+ if (isDisplayMode(stored))
171
+ return surfaceSelectionFromDisplayMode(stored);
172
+ }
173
+ catch {
174
+ // Persisted settings are best-effort; fall through to the default.
175
+ }
176
+ return { sidebar: true, statusline: true };
177
+ }
178
+ function readCollapsedFlag(api, key) {
179
+ try {
180
+ return api.kv.get(key, false) === true;
181
+ }
182
+ catch {
183
+ return false;
184
+ }
185
+ }
186
+ function migrateLegacyCollapsedFlag(api) {
187
+ let legacyCollapsed = false;
188
+ try {
189
+ legacyCollapsed = api.kv.get(KV_COLLAPSED_LEGACY_KEY, false) === true;
190
+ }
191
+ catch {
192
+ return;
193
+ }
194
+ if (!legacyCollapsed)
195
+ return;
196
+ try {
197
+ api.kv.set(KV_COLLAPSED_SIDEBAR_KEY, true);
198
+ api.kv.set(KV_COLLAPSED_STATUSLINE_KEY, true);
199
+ api.kv.set(KV_COLLAPSED_LEGACY_KEY, false);
200
+ }
201
+ catch {
202
+ // Collapse state is best-effort persistence only.
203
+ }
204
+ }
205
+ export function createCollapseState(api) {
206
+ migrateLegacyCollapsedFlag(api);
207
+ const [isSidebarCollapsed, setIsSidebarCollapsed] = createSignal(readCollapsedFlag(api, KV_COLLAPSED_SIDEBAR_KEY));
208
+ const [isStatuslineCollapsed, setIsStatuslineCollapsed] = createSignal(readCollapsedFlag(api, KV_COLLAPSED_STATUSLINE_KEY));
209
+ return {
210
+ isSidebarCollapsed,
211
+ isStatuslineCollapsed,
212
+ toggleSidebar() {
213
+ try {
214
+ const next = !isSidebarCollapsed();
215
+ setIsSidebarCollapsed(next);
216
+ api.kv.set(KV_COLLAPSED_SIDEBAR_KEY, next);
217
+ }
218
+ catch {
219
+ // Collapse state is best-effort persistence only.
220
+ }
221
+ },
222
+ toggleStatusline() {
223
+ try {
224
+ const next = !isStatuslineCollapsed();
225
+ setIsStatuslineCollapsed(next);
226
+ api.kv.set(KV_COLLAPSED_STATUSLINE_KEY, next);
227
+ }
228
+ catch {
229
+ // Collapse state is best-effort persistence only.
230
+ }
231
+ },
232
+ };
233
+ }
234
+ // ---------------------------------------------------------------------------
235
+ // Provider gate
236
+ // ---------------------------------------------------------------------------
237
+ export function isGoUsageProvider(providerId) {
238
+ return providerId === GO_PROVIDER_ID;
239
+ }
240
+ // Which provider is in use, read live on every render rather than latched at
241
+ // init. Latching left the gate closed for anyone without a config-level model,
242
+ // and `session.updated` only fires on a server-side change, so opening a
243
+ // session or switching model in the picker never re-armed it -- the plugin
244
+ // loaded, showed as `active` in the Plugins menu, and rendered nothing.
245
+ export function makeProviderResolver(state, fallback) {
246
+ return (sessionId) => resolveProviderId(state, sessionId, fallback());
247
+ }
248
+ export function readProviderDisplayNames(source) {
249
+ const names = new Map();
250
+ try {
251
+ for (const provider of source.state?.provider ?? []) {
252
+ const id = toNonEmptyString(provider.id);
253
+ if (id === null)
254
+ continue;
255
+ names.set(id, toNonEmptyString(provider.name) ?? id);
256
+ }
257
+ }
258
+ catch {
259
+ // The catalog is optional: a group falls back to its raw provider id.
260
+ }
261
+ return names;
262
+ }
263
+ export function readModelDisplayName(source, providerID, modelID) {
264
+ try {
265
+ const provider = source.state?.provider?.find((entry) => entry.id === providerID);
266
+ return toNonEmptyString(provider?.models?.[modelID]?.name);
267
+ }
268
+ catch {
269
+ return null;
270
+ }
271
+ }
272
+ // ---------------------------------------------------------------------------
273
+ // Row grammar
274
+ // ---------------------------------------------------------------------------
275
+ // A `space-between` label/value row, the grammar the hosts' own panels use.
276
+ export function LabeledValueRow(props) {
277
+ return (_jsxs("box", { flexDirection: "row", justifyContent: "space-between", children: [_jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: props.row.label }), _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: props.row.value })] }));
278
+ }
279
+ // The narrowest a meter may become before it stops being a meter: enough to read
280
+ // a filled-vs-empty split at a glance.
281
+ export const MIN_METER_WIDTH = 6;
282
+ // The meter's two parts, as a SPLIT rather than as two flexible boxes.
283
+ //
284
+ // The FILL and the TRACK are flex WEIGHTS that sum to 100, on a zero basis, and a
285
+ // part that comes out at zero is not rendered at all. That is the whole point, and
286
+ // each of the two obvious alternatives moved the block:
287
+ //
288
+ // - two `flexGrow` parts on their default basis: the track keeps a one-cell
289
+ // basis that flex will not shrink away, so at 100% the fill wants the whole
290
+ // meter and the track still claims a cell. It paints itself into the padding
291
+ // beside the percent -- the cell of the wrong color to the right of a full bar
292
+ // -- and makes the meter a cell wider at 100% than anywhere else.
293
+ // - both parts as `width: "<n>%"`: no overflow, but two independent
294
+ // percentage-to-cell roundings that need not agree. At 50% of a 27-cell meter
295
+ // the fill took 13 and the track 13, so the pair was 26 and the bar sat a cell
296
+ // short. A percentage cannot express "the rest of this box".
297
+ //
298
+ // A zero basis makes each part's width purely its share of the space the row gave
299
+ // the meter, so the two add up to the meter at every reading.
300
+ //
301
+ // The meter is two BOXES rather than a string of block glyphs. A glyph string has a
302
+ // fixed cell count, and a plugin cannot measure the sidebar it renders into
303
+ // (opentui resolves a text node's `width` as a wrapping bound, and no layout
304
+ // callback reaches a plugin), so a glyph meter is either too short for a wide
305
+ // sidebar or clipped by a narrow one. Boxes fill whatever the row gives them,
306
+ // which is why the meter reaches the sidebar's right edge on any host at any width.
307
+ //
308
+ // The track is a surface tone rather than the severity colour, so an empty meter
309
+ // reads as an empty track instead of blank space.
310
+ export function MeterBar(props) {
311
+ const fill = createMemo(() => meterFillPercent(props.percent));
312
+ const track = createMemo(() => 100 - fill());
313
+ return (_jsxs("box", { flexDirection: "row", flexGrow: 1, flexShrink: 1, minWidth: MIN_METER_WIDTH, children: [_jsx(Show, { when: fill() > 0, children: _jsx("box", { flexGrow: fill(), flexBasis: 0, flexShrink: 0, backgroundColor: meterColor(props.theme, props.severity) }) }), _jsx(Show, { when: track() > 0, children: _jsx("box", { flexGrow: track(), flexBasis: 0, flexShrink: 0, backgroundColor: props.theme.current.backgroundElement }) })] }));
314
+ }
315
+ // One plan window as a row of three FIXED-WIDTH columns: label, bar, percent.
316
+ //
317
+ // Not `justifyContent="space-between"` on a label plus a bar: that lets the bar
318
+ // start wherever the label happened to end, so the three meters only look
319
+ // stacked when every label is the same width -- and a terminal font that draws
320
+ // the empty meter glyph narrower than the full one shifts the bar of a 0% row
321
+ // against a 100% one (seen at 30d 100% next to 5h 0%). Fixed columns make the
322
+ // meters stack whatever the font does, and the percentages right-align on one
323
+ // edge.
324
+ export function GoPlanRow(props) {
325
+ return (_jsxs("box", { flexDirection: "column", children: [_jsxs("box", { flexDirection: "row", children: [_jsx("box", { width: PLAN_LABEL_WIDTH, marginRight: 1, flexShrink: 0, flexDirection: "row", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: props.row.label }) }), _jsx(MeterBar, { theme: props.theme, percent: props.row.percent, severity: props.row.severity }), _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, children: formatPercentCell(props.row.percent) })] }), _jsx(Show, { when: props.row.reset, children: (reset) => (_jsxs("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: ["resets in ", reset()] })) })] }));
326
+ }
327
+ export function GoPlanSection(props) {
328
+ return (_jsxs("box", { flexDirection: "column", children: [_jsx("text", { fg: props.theme.current.text, wrapMode: "none", children: _jsx("b", { children: GO_PLAN_HEADING }) }), _jsx("box", { flexDirection: "column", paddingLeft: 1, children: _jsx(For, { each: props.rows, children: (row) => _jsx(GoPlanRow, { theme: props.theme, row: row }) }) })] }));
329
+ }
330
+ export function SectionHeader(props) {
331
+ return (_jsxs("box", { flexDirection: "row", gap: 1, flexShrink: 0, onMouseDown: props.onToggle, children: [_jsx("text", { fg: props.theme.current.text, wrapMode: "none", flexShrink: 0, children: reactiveChild(() => (props.expanded() ? SIDEBAR_EXPANDED_GLYPH : SIDEBAR_COLLAPSED_GLYPH)) }), _jsx("text", { fg: props.theme.current.text, wrapMode: "none", children: _jsx("b", { children: reactiveChild(() => {
332
+ const count = props.count();
333
+ return count === null ? props.label : `${props.label} (${count})`;
334
+ }) }) })] }));
335
+ }
336
+ // A collapsible region: the header reacts to its own state, and the body is a
337
+ // memo so an unchanged subtree keeps the very same element instead of being
338
+ // rebuilt on every unrelated signal write.
339
+ export function CollapsibleSection(props) {
340
+ return (_jsxs("box", { flexDirection: "column", children: [_jsx(SectionHeader, { theme: props.theme, label: props.label, count: props.count, expanded: props.expanded, onToggle: props.onToggle }), _jsx("box", { flexDirection: "column", gap: 1, children: reactiveChild(() => (props.expanded() ? props.body() : null)) })] }));
341
+ }
342
+ // A model's Go share: the bar and the percent pinned to the RIGHT edge of the row,
343
+ // so they line up with the Steps/Cost columns of the table above instead of
344
+ // trailing the label wherever it happens to end.
345
+ //
346
+ // The label sits in a FIXED-width cell and only the meter grows -- the same shape
347
+ // as `GoPlanRow`, and deliberately not a `flexGrow` label with a `gap`. Two
348
+ // flexible children divide the slack between them, and the share meter was doing
349
+ // exactly that: 18 cells wide at 50% and 20 at 100%, with its percent sliding a
350
+ // column each time. This row's number is a share of tokens, not of the plan, so
351
+ // its bar is not comparable with the plan meters' -- but its own geometry must
352
+ // still not depend on its own value.
353
+ export function GoShareRow(props) {
354
+ const rounded = Math.round(props.percent);
355
+ return (_jsxs("box", { flexDirection: "row", children: [_jsx("box", { width: GO_SHARE_LABEL_WIDTH, marginRight: 1, flexShrink: 0, flexDirection: "row", children: _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: INTEGRATED_GO_SHARE_LABEL }) }), _jsx(MeterBar, { theme: props.theme, percent: rounded, severity: meterSeverityForPercent(rounded) }), _jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", flexShrink: 0, children: formatPercentCell(rounded) })] }));
356
+ }
357
+ // ---------------------------------------------------------------------------
358
+ // The compact `Go Usage` block both hosts lead the sidebar with
359
+ // ---------------------------------------------------------------------------
360
+ // The `Go Usage` block both hosts lead their sidebar with: the next reset on one
361
+ // line, then the plan as the meters themselves, one row per window, stacked in
362
+ // fixed-width columns.
363
+ //
364
+ // One shape for both hosts, on purpose. Kilo's standalone band and opencode's
365
+ // whole sidebar used to be different layouts (label/value rows with a separate
366
+ // `Go Plan` heading, versus meters inline), which meant the plan looked like a
367
+ // different feature depending on where it was drawn. Kilo's integrated mode does
368
+ // not use this block at all -- the plan is drawn once, inside its Models table
369
+ // where it belongs to the provider it meters.
370
+ //
371
+ // There is no meter width in here to tune: `MeterBar` fills the row.
372
+ export function GoUsageBlock(props) {
373
+ createEffect(() => {
374
+ const snapshot = props.snapshot();
375
+ if (snapshot !== null && snapshot.source === "unavailable") {
376
+ void logUsageError(props.api, snapshot.apiError ? `Go usage unavailable (${snapshot.apiError})` : "Go usage snapshot unavailable");
377
+ }
378
+ });
379
+ const body = createMemo(() => {
380
+ const snapshot = props.snapshot();
381
+ if (snapshot === null) {
382
+ return (_jsx("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: "Go loading\u2026" }));
383
+ }
384
+ // Rejected keys (and other unavailable snapshots) must surface a row
385
+ // instead of a bare header with zero rows. The statusline stays hidden for
386
+ // unavailable (isSnapshotEmpty -> null).
387
+ if (snapshot.source === "unavailable") {
388
+ return (_jsxs("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: ["Go n/a (", snapshot.apiError ?? "unavailable", ")"] }));
389
+ }
390
+ // The per-row `resets in` suffix is dropped here: `resetLine` already prints
391
+ // the plan's countdown under the header, and printing one countdown twice in
392
+ // a single block is noise rather than emphasis. Both that line and the
393
+ // statusline read `relevantReset`, so the block and the statusline can only
394
+ // ever be counting down to the same window.
395
+ const planRows = buildPlanRows(snapshot).map((row) => ({ ...row, reset: null }));
396
+ return (_jsxs("box", { flexDirection: "column", children: [_jsx(Show, { when: props.resetLine === undefined ? null : props.resetLine(), children: (reset) => (_jsxs("text", { fg: props.theme.current.textMuted, wrapMode: "none", children: [reset().label, " resets in ", reset().text] })) }), _jsx(For, { each: planRows, children: (row) => _jsx(GoPlanRow, { theme: props.theme, row: row }) })] }));
397
+ });
398
+ return (_jsxs("box", { flexDirection: "column", children: [_jsx("text", { fg: props.theme.current.text, children: _jsx("b", { children: "Go Usage" }) }), reactiveChild(body)] }));
399
+ }
400
+ // The compact statusline: one muted line next to the host's context readout.
401
+ export function GoStatusline(props) {
402
+ return (_jsx(Show, { when: props.snapshot(), fallback: null, children: (snapshot) => {
403
+ if (isSnapshotEmpty(snapshot()))
404
+ return null;
405
+ return _jsx("text", { children: formatStatusline(snapshot()) });
406
+ } }));
407
+ }
408
+ //# sourceMappingURL=tui-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-shared.js","sourceRoot":"","sources":["../src/tui-shared.tsx"],"names":[],"mappings":";AAmDA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,cAAc,CAAC;AAStB,OAAO,EACL,6BAA6B,EAC7B,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAE5D,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,mCAAmC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,4EAA4E;AAC5E,8BAA8B;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAClE,MAAM,uBAAuB,GAAG,WAAW,CAAC;AAqB5C,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,OAAO,QAAkC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,QAA4B;IACtE,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACzD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAkB,EAAE,OAAe;IACrE,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAE9E,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,MAAc;IAC7D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SAC3E,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAe;IAC9C,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;QACnE,IAAI,QAAQ,KAAK,IAAI;YAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAClD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtF,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,uEAAuE;IACvE,uDAAuD;IACvD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACrD,OAAO,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAiBD,MAAM,UAAU,gBAAgB,CAAC,GAAkB,EAAE,IAAe;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,YAAY,CAAuB,IAAI,CAAC,CAAC;IACzE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,UAAU,OAAO,CAAC,WAAoB;QACzC,IAAI,eAAe;YAAE,OAAO;QAC5B,MAAM,YAAY,GAAG,WAAW,IAAI,gBAAgB,CAAC;QACrD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,WAAW;gBAAE,OAAO;YACnD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,YAAY,IAAI,QAAQ,EAAE,KAAK,IAAI;gBAAE,OAAO;QAC1E,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,gBAAgB,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,eAAe,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,aAAa,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;gBAAS,CAAC;YACT,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;QACxB,aAAa,EAAE,CAAC,WAAoB,EAAE,EAAE;YACtC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,+DAA+D;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAeD,MAAM,UAAU,uBAAuB,CACrC,OAAmC,EACnC,GAAkB,EAClB,IAAe;IAEf,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,aAAa,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,UAAU,EAAE,gBAAgB,IAAI,IAAI,EAAE,CAAC;QAClF,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,+BAA+B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,UAAU,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,IAAI,UAAU,KAAK,IAAI,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,OAAO,+BAA+B,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAeD,SAAS,iBAAiB,CAAC,GAAkB,EAAE,GAAW;IACxD,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAU,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAkB;IACpD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAU,uBAAuB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAC3C,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;QAC9C,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAkB;IACpD,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,YAAY,CAC9D,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CACjD,CAAC;IACF,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,YAAY,CACpE,iBAAiB,CAAC,GAAG,EAAE,2BAA2B,CAAC,CACpD,CAAC;IACF,OAAO;QACL,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;YACX,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBACnC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC5B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;QACD,gBAAgB;YACd,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;gBACtC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAC/B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,UAA8B;IAC9D,OAAO,UAAU,KAAK,cAAc,CAAC;AACvC,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,yEAAyE;AACzE,2EAA2E;AAC3E,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,KAAiC,EACjC,QAAkC;IAElC,OAAO,CAAC,SAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChF,CAAC;AAoBD,MAAM,UAAU,wBAAwB,CAAC,MAA6B;IACpE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,CAAC;QACH,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,KAAK,IAAI;gBAAE,SAAS;YAC1B,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA6B,EAC7B,UAAkB,EAClB,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAClF,OAAO,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,KAAyC;IACvE,OAAO,CACL,eAAK,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,aACrD,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YACrD,KAAK,CAAC,GAAG,CAAC,KAAK,GACX,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YACrD,KAAK,CAAC,GAAG,CAAC,KAAK,GACX,IACH,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,uEAAuE;AACvE,EAAE;AACF,kFAAkF;AAClF,mFAAmF;AACnF,wDAAwD;AACxD,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,iFAAiF;AACjF,mFAAmF;AACnF,sEAAsE;AACtE,sEAAsE;AACtE,kFAAkF;AAClF,mFAAmF;AACnF,iEAAiE;AACjE,EAAE;AACF,kFAAkF;AAClF,8DAA8D;AAC9D,EAAE;AACF,oFAAoF;AACpF,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,oFAAoF;AACpF,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,MAAM,UAAU,QAAQ,CAAC,KAAyE;IAChG,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,CACL,eAAK,aAAa,EAAC,KAAK,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,aAC5E,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,YACpB,cACE,QAAQ,EAAE,IAAI,EAAE,EAChB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxD,GACG,EACP,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,YACrB,cACE,QAAQ,EAAE,KAAK,EAAE,EACjB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,GACtD,GACG,IACH,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,QAAQ;AACR,MAAM,UAAU,SAAS,CAAC,KAAwC;IAChE,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,eAAK,aAAa,EAAC,KAAK,aAWtB,cAAK,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,YAC9E,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YACrD,KAAK,CAAC,GAAG,CAAC,KAAK,GACX,GACH,EACN,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAI,EAC1F,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,EAAC,UAAU,EAAE,CAAC,YACnE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAChC,IACH,EACN,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,YACxB,CAAC,KAAK,EAAE,EAAE,CAAC,CACV,gBAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,2BAC3C,KAAK,EAAE,IACb,CACR,GACI,IACH,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA2C;IACvE,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,YACjD,sBAAI,eAAe,GAAK,GACnB,EACP,cAAK,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,YACxC,KAAC,GAAG,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAClB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,GACjD,GACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAM7B;IACC,OAAO,CACL,eAAK,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,aACzE,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,UAAU,EAAE,CAAC,YAC9D,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GACtF,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,YACjD,sBACG,aAAa,CAAC,GAAG,EAAE;wBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC5B,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;oBACpE,CAAC,CAAC,GACA,GACC,IACH,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,2CAA2C;AAC3C,MAAM,UAAU,kBAAkB,CAAC,KAOlC;IACC,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,GACxB,EACF,cAAK,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YAC/B,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAC1D,IACF,CACP,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,4EAA4E;AAC5E,iDAAiD;AACjD,EAAE;AACF,kFAAkF;AAClF,4EAA4E;AAC5E,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,qCAAqC;AACrC,MAAM,UAAU,UAAU,CAAC,KAA2C;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CACL,eAAK,aAAa,EAAC,KAAK,aACtB,cAAK,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,YAClF,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YACrD,yBAAyB,GACrB,GACH,EACN,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAAI,EAC9F,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,EAAC,UAAU,EAAE,CAAC,YACnE,iBAAiB,CAAC,OAAO,CAAC,GACtB,IACH,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,iFAAiF;AACjF,+EAA+E;AAC/E,uBAAuB;AACvB,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAC/E,8CAA8C;AAC9C,EAAE;AACF,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,KAK5B;IACC,YAAY,CAAC,GAAG,EAAE;QAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC3D,KAAK,aAAa,CAChB,KAAK,CAAC,GAAG,EACT,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,+BAA+B,CACpG,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CACL,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,iCAEjD,CACR,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,2EAA2E;QAC3E,yCAAyC;QACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACtC,OAAO,CACL,gBAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,yBAC7C,QAAQ,CAAC,QAAQ,IAAI,aAAa,SACtC,CACR,CAAC;QACJ,CAAC;QACD,6EAA6E;QAC7E,6EAA6E;QAC7E,uEAAuE;QACvE,4EAA4E;QAC5E,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,YACjE,CAAC,KAAK,EAAE,EAAE,CAAC,CACV,gBAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,aACrD,KAAK,EAAE,CAAC,KAAK,iBAAa,KAAK,EAAE,CAAC,IAAI,IAClC,CACR,GACI,EACP,KAAC,GAAG,IAAC,IAAI,EAAE,QAAQ,YAAG,CAAC,GAAG,EAAE,EAAE,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,GAAO,IAC7E,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,aAAa,EAAC,QAAQ,aACzB,eAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,YAChC,mCAAe,GACV,EACN,aAAa,CAAC,IAAI,CAAC,IAChB,CACP,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,KAA+C;IAC1E,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,YACzC,CAAC,QAAQ,EAAE,EAAE;YACZ,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,OAAO,yBAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAQ,CAAC;QACrD,CAAC,GACI,CACR,CAAC;AACJ,CAAC"}
package/dist/tui.d.ts CHANGED
@@ -1,22 +1,5 @@
1
1
  /** @jsxImportSource @opentui/solid */
2
2
  import type { TuiPlugin } from "@opencode-ai/plugin/tui";
3
- import { formatResetDuration } from "./shared.js";
4
- import type { UsageSnapshot } from "./shared.js";
5
- export { formatResetDuration };
6
- type DisplayMode = "sidebar" | "statusline" | "both";
7
- type SurfaceSelection = {
8
- sidebar: boolean;
9
- statusline: boolean;
10
- };
11
- type UsageRow = {
12
- label: string;
13
- value: string;
14
- };
15
- export declare function surfaceSelectionFromDisplayMode(mode: DisplayMode): SurfaceSelection;
16
- export declare function parseBooleanFlag(value: unknown): boolean | null;
17
- export declare function isSnapshotEmpty(snapshot: UsageSnapshot): boolean;
18
- export declare function formatCompactLine(snapshot: UsageSnapshot): string;
19
- export declare function buildUsageRows(snapshot: UsageSnapshot): UsageRow[];
20
3
  declare const _default: {
21
4
  id: string;
22
5
  tui: TuiPlugin;