@onepointfour-packs/flaredeck-agent 0.2.38 → 0.2.40
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/agent.d.ts +42 -3
- package/dist/agent.js +84 -6
- package/dist/agent.js.map +1 -1
- package/dist/automode.js +43 -3
- package/dist/automode.js.map +1 -1
- package/dist/branches.d.ts +12 -1
- package/dist/branches.js +13 -3
- package/dist/branches.js.map +1 -1
- package/dist/browser.d.ts +52 -0
- package/dist/browser.js +185 -17
- package/dist/browser.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.js +36 -2
- package/dist/config.js.map +1 -1
- package/dist/credentials.d.ts +217 -0
- package/dist/credentials.js +332 -0
- package/dist/credentials.js.map +1 -0
- package/dist/engine-antigravity.js +2 -0
- package/dist/engine-antigravity.js.map +1 -1
- package/dist/engine-claude.js +14 -2
- package/dist/engine-claude.js.map +1 -1
- package/dist/engine.d.ts +19 -0
- package/dist/engine.js.map +1 -1
- package/dist/environment.d.ts +13 -1
- package/dist/environment.js +35 -2
- package/dist/environment.js.map +1 -1
- package/dist/envtools.d.ts +58 -0
- package/dist/envtools.js +151 -0
- package/dist/envtools.js.map +1 -0
- package/dist/flaredeck.d.ts +24 -0
- package/dist/flaredeck.js +20 -0
- package/dist/flaredeck.js.map +1 -1
- package/dist/github.d.ts +2 -0
- package/dist/github.js +4 -0
- package/dist/github.js.map +1 -1
- package/dist/githubauth.d.ts +11 -1
- package/dist/githubauth.js +82 -16
- package/dist/githubauth.js.map +1 -1
- package/dist/hydrate.d.ts +114 -0
- package/dist/hydrate.js +79 -0
- package/dist/hydrate.js.map +1 -0
- package/dist/limits.d.ts +184 -0
- package/dist/limits.js +251 -0
- package/dist/limits.js.map +1 -0
- package/dist/main.js +178 -96
- package/dist/main.js.map +1 -1
- package/dist/picker.js +50 -4
- package/dist/picker.js.map +1 -1
- package/dist/preflight.d.ts +43 -0
- package/dist/preflight.js +133 -19
- package/dist/preflight.js.map +1 -1
- package/dist/providers.d.ts +10 -0
- package/dist/providers.js +23 -0
- package/dist/providers.js.map +1 -1
- package/dist/runs.d.ts +11 -3
- package/dist/runs.js +41 -4
- package/dist/runs.js.map +1 -1
- package/dist/serve.js +1061 -114
- package/dist/serve.js.map +1 -1
- package/dist/session.d.ts +51 -0
- package/dist/session.js +145 -0
- package/dist/session.js.map +1 -0
- package/dist/settle.d.ts +18 -0
- package/dist/settle.js +39 -0
- package/dist/settle.js.map +1 -0
- package/dist/signin.d.ts +47 -0
- package/dist/signin.js +331 -0
- package/dist/signin.js.map +1 -0
- package/dist/stream.d.ts +6 -0
- package/dist/stream.js +44 -3
- package/dist/stream.js.map +1 -1
- package/dist/subscriptions.d.ts +115 -0
- package/dist/subscriptions.js +140 -0
- package/dist/subscriptions.js.map +1 -0
- package/dist/ui.d.ts +11 -0
- package/dist/ui.js +6 -1
- package/dist/ui.js.map +1 -1
- package/dist/usage.d.ts +105 -0
- package/dist/usage.js +348 -0
- package/dist/usage.js.map +1 -0
- package/dist/wall.d.ts +35 -0
- package/dist/wall.js +94 -0
- package/dist/wall.js.map +1 -0
- package/dist/worktree.d.ts +19 -0
- package/dist/worktree.js +179 -4
- package/dist/worktree.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which Claude subscription this run bills against, decided by FlareDeck rather than by which
|
|
3
|
+
* account this machine happens to be logged in as.
|
|
4
|
+
*
|
|
5
|
+
* The problem this exists for, in the user's words: three subscriptions, twenty-odd agents, and
|
|
6
|
+
* separate daily and weekly caps that trip at different times. When one was spent they went
|
|
7
|
+
* round the machines logging in again with the next. `claude setup-token` mints a long-lived
|
|
8
|
+
* token once per subscription — not once per machine — so the tokens can live in the vault and
|
|
9
|
+
* the harness can be handed one per run.
|
|
10
|
+
*
|
|
11
|
+
* Two things this module is careful about, both of which would be easy to get wrong:
|
|
12
|
+
*
|
|
13
|
+
* NOT REACHING FLAREDECK IS NOT THE SAME AS HAVING NOTHING LEFT. A spent fleet should stop and
|
|
14
|
+
* say when it frees up; an unreachable vault should carry on with whatever this machine is
|
|
15
|
+
* logged in as, exactly as every agent did before any of this existed. Collapsing the two would
|
|
16
|
+
* stop every agent the moment the network hiccuped.
|
|
17
|
+
*
|
|
18
|
+
* A WARNING IS NOT A REJECTION. The SDK reports `allowed_warning` while a plan is still working.
|
|
19
|
+
* Reporting that as spent would retire all three at roughly half capacity and leave the agents
|
|
20
|
+
* with nothing while every account still had headroom — and it would present as a broken ledger
|
|
21
|
+
* rather than as a misread status.
|
|
22
|
+
*/
|
|
23
|
+
import type { CredentialStore, FlaredeckStoreConfig } from './credentials.js';
|
|
24
|
+
/**
|
|
25
|
+
* The same address, tenant and token the credential store uses.
|
|
26
|
+
*
|
|
27
|
+
* Built here rather than reaching into `FlaredeckCredentials` because the subscription routes
|
|
28
|
+
* are a sibling of the vault, not part of it — but they must never drift onto a different base
|
|
29
|
+
* URL or a different token, so they take the one config both are constructed from.
|
|
30
|
+
*/
|
|
31
|
+
export declare function callerFor(cfg: FlaredeckStoreConfig): (method: string, path: string, body?: unknown) => Promise<{
|
|
32
|
+
ok: true;
|
|
33
|
+
status: number;
|
|
34
|
+
json: Record<string, unknown> | undefined;
|
|
35
|
+
why?: undefined;
|
|
36
|
+
} | {
|
|
37
|
+
ok: false;
|
|
38
|
+
status: number;
|
|
39
|
+
json: Record<string, unknown> | undefined;
|
|
40
|
+
why: string;
|
|
41
|
+
} | {
|
|
42
|
+
ok: false;
|
|
43
|
+
status: number;
|
|
44
|
+
why: string;
|
|
45
|
+
json?: undefined;
|
|
46
|
+
}>;
|
|
47
|
+
/** What the harness needs to start a run. */
|
|
48
|
+
export type Chosen =
|
|
49
|
+
/** Use this token. `id` is what to report usage against afterwards. */
|
|
50
|
+
{
|
|
51
|
+
use: 'token';
|
|
52
|
+
id: string;
|
|
53
|
+
label: string;
|
|
54
|
+
token: string;
|
|
55
|
+
}
|
|
56
|
+
/** Every subscription is spent or paused. `availableAt` is when the soonest frees up. */
|
|
57
|
+
| {
|
|
58
|
+
use: 'none';
|
|
59
|
+
why: string;
|
|
60
|
+
availableAt?: number;
|
|
61
|
+
}
|
|
62
|
+
/** FlareDeck could not be asked. Carry on with this machine's own login. */
|
|
63
|
+
| {
|
|
64
|
+
use: 'machine';
|
|
65
|
+
why: string;
|
|
66
|
+
};
|
|
67
|
+
type SubscriptionRow = {
|
|
68
|
+
id: string;
|
|
69
|
+
label?: string;
|
|
70
|
+
enabled?: boolean;
|
|
71
|
+
blocked?: boolean;
|
|
72
|
+
available_at?: number;
|
|
73
|
+
};
|
|
74
|
+
export type SubscriptionsClient = {
|
|
75
|
+
/** `exclude`: plans this harness just watched fail, so the same one is not handed straight back. */
|
|
76
|
+
choose: (exclude?: readonly string[]) => Promise<Chosen>;
|
|
77
|
+
/** A window was hit. The ledger decides what that means; this only reports it. */
|
|
78
|
+
spent: (id: string, window?: string, resetsAt?: number, note?: string) => Promise<void>;
|
|
79
|
+
/** Every plan's token, to read its usage. Not a routing decision — it counts as no run. */
|
|
80
|
+
measure: () => Promise<{
|
|
81
|
+
id: string;
|
|
82
|
+
label: string;
|
|
83
|
+
token: string;
|
|
84
|
+
}[]>;
|
|
85
|
+
/** Utilisation seen during a run, so the ledger can route before anything trips. */
|
|
86
|
+
seen: (id: string, window: string, utilization: number, resetsAt?: number) => Promise<void>;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Talk to the ledger over the same API the credential store uses.
|
|
90
|
+
*
|
|
91
|
+
* `store` is passed rather than a URL because it already holds the base address, the token and
|
|
92
|
+
* the tenant, and because an agent with no vault has no subscriptions either — the two are
|
|
93
|
+
* unavailable together or not at all.
|
|
94
|
+
*/
|
|
95
|
+
export declare function subscriptionsFor(call: (method: string, path: string, body?: unknown) => Promise<{
|
|
96
|
+
ok: boolean;
|
|
97
|
+
status: number;
|
|
98
|
+
json?: any;
|
|
99
|
+
why?: string;
|
|
100
|
+
}>, onNote?: (text: string) => void): SubscriptionsClient;
|
|
101
|
+
/** Nothing configured and nothing reachable both mean: run as this machine is logged in. */
|
|
102
|
+
export declare const machineLogin: (why: string) => Chosen;
|
|
103
|
+
export type { SubscriptionRow, CredentialStore };
|
|
104
|
+
/**
|
|
105
|
+
* The client, built from what the harness already holds: its MCP address and its own token.
|
|
106
|
+
*
|
|
107
|
+
* Derives the tenant from the token's claims rather than from the config file, because the
|
|
108
|
+
* token is what the server will actually authorise against — and because serve.ts already uses
|
|
109
|
+
* `opts.auth()` for everything else, so this cannot drift onto a different identity. (There are
|
|
110
|
+
* already two private copies of this lookup in the codebase; a third was the thing to avoid.)
|
|
111
|
+
*
|
|
112
|
+
* Returns null when there is no usable tenant, which the caller must read as "use this
|
|
113
|
+
* machine's login", never as "no capacity".
|
|
114
|
+
*/
|
|
115
|
+
export declare function subscriptionsForAgent(mcpUrl: string, auth: () => Promise<string>, onNote?: (text: string) => void): Promise<SubscriptionsClient | null>;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The same address, tenant and token the credential store uses.
|
|
3
|
+
*
|
|
4
|
+
* Built here rather than reaching into `FlaredeckCredentials` because the subscription routes
|
|
5
|
+
* are a sibling of the vault, not part of it — but they must never drift onto a different base
|
|
6
|
+
* URL or a different token, so they take the one config both are constructed from.
|
|
7
|
+
*/
|
|
8
|
+
export function callerFor(cfg) {
|
|
9
|
+
const base = (cfg.baseUrl ?? 'https://mcp.flaredeck.app/api').replace(/\/+$/, '');
|
|
10
|
+
return async (method, path, body) => {
|
|
11
|
+
try {
|
|
12
|
+
const res = await fetch(`${base}/v1/${encodeURIComponent(cfg.tenantId)}/${path}`, {
|
|
13
|
+
method,
|
|
14
|
+
headers: {
|
|
15
|
+
authorization: `Bearer ${await cfg.auth()}`,
|
|
16
|
+
...(body === undefined ? {} : { 'content-type': 'application/json' }),
|
|
17
|
+
},
|
|
18
|
+
...(body === undefined ? {} : { body: JSON.stringify(body) }),
|
|
19
|
+
signal: AbortSignal.timeout(15_000),
|
|
20
|
+
});
|
|
21
|
+
/* A non-JSON body is normal on an error — a proxy's HTML 502, say — so it must not throw
|
|
22
|
+
here and become "the network is down" when the real answer is on the status line. */
|
|
23
|
+
const json = (await res.json().catch(() => undefined));
|
|
24
|
+
return res.ok
|
|
25
|
+
? { ok: true, status: res.status, json }
|
|
26
|
+
: { ok: false, status: res.status, json, why: String(json?.message ?? json?.error ?? `HTTP ${res.status}`) };
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return { ok: false, status: 0, why: e instanceof Error ? e.message : String(e) };
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Talk to the ledger over the same API the credential store uses.
|
|
35
|
+
*
|
|
36
|
+
* `store` is passed rather than a URL because it already holds the base address, the token and
|
|
37
|
+
* the tenant, and because an agent with no vault has no subscriptions either — the two are
|
|
38
|
+
* unavailable together or not at all.
|
|
39
|
+
*/
|
|
40
|
+
export function subscriptionsFor(call, onNote = () => { }) {
|
|
41
|
+
return {
|
|
42
|
+
async choose(exclude = []) {
|
|
43
|
+
const r = await call('POST', 'subscriptions/choose', exclude.length ? { exclude: [...exclude] } : {});
|
|
44
|
+
if (!r.ok) {
|
|
45
|
+
/* Deliberately NOT 'none'. A 404 means this deployment has no ledger yet, a 503 means it
|
|
46
|
+
is down, and either way the right thing is the behaviour that existed before: use the
|
|
47
|
+
machine's own login. Stopping would make the vault a single point of failure for work
|
|
48
|
+
that never needed it. */
|
|
49
|
+
onNote(`could not ask FlareDeck which subscription to use (${r.why ?? r.status}) — using this machine's login`);
|
|
50
|
+
return { use: 'machine', why: r.why ?? `HTTP ${r.status}` };
|
|
51
|
+
}
|
|
52
|
+
const body = r.json ?? {};
|
|
53
|
+
if (body.outcome === 'all_spent') {
|
|
54
|
+
return { use: 'none', why: 'every Claude subscription is spent or paused', ...(body.available_at ? { availableAt: Number(body.available_at) } : {}) };
|
|
55
|
+
}
|
|
56
|
+
if (body.outcome === 'no_subscriptions' || !body.token) {
|
|
57
|
+
// Nothing configured is the normal state until somebody adds one, so it is not an error.
|
|
58
|
+
onNote('no Claude subscriptions are configured in FlareDeck — using this machine\'s login');
|
|
59
|
+
return { use: 'machine', why: 'no subscriptions configured' };
|
|
60
|
+
}
|
|
61
|
+
/* A server older than `exclude` ignores it and can hand back the plan that just failed.
|
|
62
|
+
Running on it again would fail the same way, so say so and stop rotating. */
|
|
63
|
+
if (exclude.includes(String(body.id ?? ''))) {
|
|
64
|
+
return { use: 'none', why: `FlareDeck offered ${String(body.label ?? body.id)} again, which just failed` };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
use: 'token',
|
|
68
|
+
id: String(body.id ?? ''),
|
|
69
|
+
label: String(body.label ?? body.id ?? 'a subscription'),
|
|
70
|
+
token: String(body.token),
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
async spent(id, window, resetsAt, note) {
|
|
74
|
+
if (!id)
|
|
75
|
+
return;
|
|
76
|
+
/* `resets_at` is sent ONLY when the SDK gave one. A derived "now + five hours" from each
|
|
77
|
+
of twenty agents would push the window out for most of a day — a window that never
|
|
78
|
+
closes, which is worse than one that closes early. One clock, and it is the server's. */
|
|
79
|
+
const r = await call('POST', `subscriptions/${encodeURIComponent(id)}/spent`, {
|
|
80
|
+
...(window ? { window } : {}),
|
|
81
|
+
...(typeof resetsAt === 'number' ? { resets_at: resetsAt } : {}),
|
|
82
|
+
...(note ? { note } : {}),
|
|
83
|
+
});
|
|
84
|
+
if (!r.ok)
|
|
85
|
+
onNote(`could not tell FlareDeck that ${id} is spent (${r.why ?? r.status})`);
|
|
86
|
+
},
|
|
87
|
+
async measure() {
|
|
88
|
+
const r = await call('POST', 'subscriptions/measure', {});
|
|
89
|
+
// An older server has no route: nothing to measure, which is not worth a warning per start.
|
|
90
|
+
if (!r.ok)
|
|
91
|
+
return [];
|
|
92
|
+
const plans = Array.isArray(r.json?.plans) ? r.json.plans : [];
|
|
93
|
+
return plans
|
|
94
|
+
.filter((p) => p?.id && p?.token)
|
|
95
|
+
.map((p) => ({ id: String(p.id), label: String(p.label ?? p.id), token: String(p.token) }));
|
|
96
|
+
},
|
|
97
|
+
async seen(id, window, utilization, resetsAt) {
|
|
98
|
+
if (!id || !window)
|
|
99
|
+
return;
|
|
100
|
+
const r = await call('POST', `subscriptions/${encodeURIComponent(id)}/seen`, {
|
|
101
|
+
window,
|
|
102
|
+
utilization,
|
|
103
|
+
...(typeof resetsAt === 'number' ? { resets_at: resetsAt } : {}),
|
|
104
|
+
});
|
|
105
|
+
// Best effort by design: a lost utilisation reading costs a little routing accuracy, and
|
|
106
|
+
// the next run reports again. Never worth interrupting work over.
|
|
107
|
+
if (!r.ok)
|
|
108
|
+
onNote(`could not record usage for ${id} (${r.why ?? r.status})`);
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/** Nothing configured and nothing reachable both mean: run as this machine is logged in. */
|
|
113
|
+
export const machineLogin = (why) => ({ use: 'machine', why });
|
|
114
|
+
/**
|
|
115
|
+
* The client, built from what the harness already holds: its MCP address and its own token.
|
|
116
|
+
*
|
|
117
|
+
* Derives the tenant from the token's claims rather than from the config file, because the
|
|
118
|
+
* token is what the server will actually authorise against — and because serve.ts already uses
|
|
119
|
+
* `opts.auth()` for everything else, so this cannot drift onto a different identity. (There are
|
|
120
|
+
* already two private copies of this lookup in the codebase; a third was the thing to avoid.)
|
|
121
|
+
*
|
|
122
|
+
* Returns null when there is no usable tenant, which the caller must read as "use this
|
|
123
|
+
* machine's login", never as "no capacity".
|
|
124
|
+
*/
|
|
125
|
+
export async function subscriptionsForAgent(mcpUrl, auth, onNote = () => { }) {
|
|
126
|
+
let tenantId;
|
|
127
|
+
try {
|
|
128
|
+
const token = await auth();
|
|
129
|
+
const part = token.split('.')[1] ?? '';
|
|
130
|
+
tenantId = String(JSON.parse(Buffer.from(part, 'base64url').toString('utf8')).tenantId ?? '');
|
|
131
|
+
if (!tenantId)
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
const origin = new URL(mcpUrl).origin;
|
|
138
|
+
return subscriptionsFor(callerFor({ tenantId, baseUrl: `${origin}/api`, auth }), onNote);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=subscriptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.d.ts
CHANGED
|
@@ -18,6 +18,15 @@ export type Line = {
|
|
|
18
18
|
export type UiState = {
|
|
19
19
|
/** The harness's own version — the first thing anyone asks when something looks wrong. */
|
|
20
20
|
version?: string;
|
|
21
|
+
/**
|
|
22
|
+
* The Claude account this agent's runs bill against, when FlareDeck chose one.
|
|
23
|
+
*
|
|
24
|
+
* On the identity line because this is where it would be noticed being wrong: three
|
|
25
|
+
* subscriptions across twenty agents, and one quietly on the account you meant to leave alone
|
|
26
|
+
* is invisible until that account runs out. Absent means no plan was handed out and the
|
|
27
|
+
* machine's own login is in use — a different thing, and it reads as absent.
|
|
28
|
+
*/
|
|
29
|
+
claudeAccount?: string;
|
|
21
30
|
/** What the agent says it is going to do, as it last said it. Pinned, not scrolled away. */
|
|
22
31
|
plan?: {
|
|
23
32
|
text: string;
|
|
@@ -30,6 +39,8 @@ export type UiState = {
|
|
|
30
39
|
since: number;
|
|
31
40
|
queued: number;
|
|
32
41
|
connected: boolean;
|
|
42
|
+
/** Why this agent is paused, when it is — it then does no work until its lead resumes it. */
|
|
43
|
+
paused?: string;
|
|
33
44
|
lines: Line[];
|
|
34
45
|
/** The checkout this card is being worked in, and where its pull request will land. */
|
|
35
46
|
branch?: string;
|
package/dist/ui.js
CHANGED
|
@@ -192,6 +192,9 @@ export function App({ state, onSteer, onQuit, onDecide }) {
|
|
|
192
192
|
s.engine && s.engine !== 'claude' && React.createElement(Text, { color: "magenta" },
|
|
193
193
|
" \u00B7 ",
|
|
194
194
|
s.engine),
|
|
195
|
+
s.claudeAccount && React.createElement(Text, { color: "cyan" },
|
|
196
|
+
" \u00B7 ",
|
|
197
|
+
s.claudeAccount),
|
|
195
198
|
s.version && React.createElement(Text, { color: "white", dimColor: true },
|
|
196
199
|
" \u00B7 v",
|
|
197
200
|
s.version),
|
|
@@ -257,7 +260,9 @@ export function App({ state, onSteer, onQuit, onDecide }) {
|
|
|
257
260
|
React.createElement(Text, { bold: true, color: "cyan" }, s.working),
|
|
258
261
|
React.createElement(Text, { color: "white" },
|
|
259
262
|
" ",
|
|
260
|
-
elapsed(s.since)))) : (React.createElement(Text, { color: "
|
|
263
|
+
elapsed(s.since)))) : s.paused ? (React.createElement(Text, { color: "yellow" },
|
|
264
|
+
"\u23F8 paused \u2014 doing nothing until the lead resumes me \u00B7 ",
|
|
265
|
+
s.paused.slice(0, 90))) : (React.createElement(Text, { color: "white" }, "waiting for work")),
|
|
261
266
|
React.createElement(Box, { flexGrow: 1 }),
|
|
262
267
|
s.tasks && s.tasks.total > 0 && (React.createElement(React.Fragment, null,
|
|
263
268
|
React.createElement(Text, { color: "white" },
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClE,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgHzC,8FAA8F;AAC9F,8FAA8F;AAC9F,iGAAiG;AACjG,+DAA+D;AAC/D,MAAM,MAAM,GAAiC;IAC3C,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,OAAO;IACZ,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,MAAM,GAAiC;IAC3C,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,GACd,yFAAyF,CAAC;AAc5F,MAAM,UAAU,GAAc,EAAE,CAAC;AACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AACxC,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,SAAS,KAAK,CAAC,CAAO;IACpB,6FAA6F;IAC7F,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,CAAC,CAAC,IAAI;QAAE,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,CAAC,EAAkB;IAC3C,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACxB,CAAC,CAAC,IAAI,IAAI,CACT,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,QAAC,IAAI,EAAC,cAAc,IAAE,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAQ,CACvH;QAGA,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACzC,oBAAC,GAAG,IAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;YACrC,oBAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAI,CAC7C,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,cAAc;YAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACzD,CACR,CACG,CACP,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErH,kGAAkG;AAClG,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,8EAA8E;AAC9E,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,KAAK,GAAG,EAAE;IAClD,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,4FAA4F;AAC5F,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAE3C;;;;GAIG;AACH;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,GAAG,GAAG,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAMrD;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,8FAA8F;IAC9F,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,yFAAyF;IACzF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,6FAA6F;IAC7F,sFAAsF;IACtF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,OAAO,CAAC,CAAC;IAC9D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,4EAA4E;IAC5E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACpE,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,MAAM;gBAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,yFAAyF;QACzF,mDAAmD;QACnD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAChD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;;gBAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;aAC5H,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;aACrG,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACpD,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,iFAAiF,CAAC,CAAC;iBACvG,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBACrF,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM;gBAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,gHAAgH,CAAC,CAAC;;gBAClK,SAAS,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;IAClB,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzB,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QAEzB,oBAAC,MAAM,IAAC,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,IAAG,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAC,cAAc,IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAI,CAAU;QAGrF,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAQ;YAC/E,oBAAC,IAAI,IAAC,IAAI;;gBAAG,CAAC,CAAC,KAAK,CAAQ;YAC5B,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gBAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAQ;YAC/C,CAAC,CAAC,MAAM,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gBAAK,CAAC,CAAC,MAAM;gBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAQ;YAClF,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBAAK,CAAC,CAAC,MAAM,CAAQ;YAC/E,CAAC,CAAC,aAAa,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBAAK,CAAC,CAAC,aAAa,CAAQ;YACjE,CAAC,CAAC,OAAO,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,QAAQ;;gBAAM,CAAC,CAAC,OAAO,CAAQ;YAChE,CAAC,CAAC,MAAM,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;;gBAAW,CAAC,CAAC,MAAM;iDAAiC,CACjF;QAKL,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAC5B,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACpD,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gBAAS,CAAC,CAAC,IAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;;gBAAG,CAAC,CAAC,IAAK,CAAC,MAAM;2BAAgB;YAC7F,CAAC,CAAC,IAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;gBAC1C,qFAAqF;gBACrF,2CAA2C;gBAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC,CAAC,IAAI;oBACd,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAG,KAAK,CAAC,IAAI,CAAQ;oBAC9C,oBAAC,IAAI,IAAC,KAAK,EAAC,aAAa;;wBAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAQ;oBAClE,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;wBAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAQ;oBAG/E,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;wBAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAQ;oBAC/C,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAQ;oBAC9E,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;wBAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAQ;oBACnD,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAC,cAAc;wBACtE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,uBAAuB,CAAC,CAAC,CAAC,EAAE;wBAAE,IAAI,CACpE,CACH,CACP,CAAC;YACJ,CAAC,CAAC,CACE,CACP;QAGA,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACf,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;gBAChB,CAAC,CAAC,MAAM;;gBAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CACvD,CACH,CACP;QAKA,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAC5B,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACnD,CAAC,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;gBACtC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC;gBACvC,OAAO,CACL,oBAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,cAAc;oBACvG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBAAE,CAAC,CAAC,IAAI,CACnC,CACR,CAAC;YACJ,CAAC,CAAC;YACD,CAAC,CAAC,IAAK,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAC,IAAI,IAAC,QAAQ;;gBAAU,CAAC,CAAC,IAAK,CAAC,MAAM,GAAG,CAAC;wBAAa,CAC1E,CACP;QAKD,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACpD,oBAAC,GAAG;gBACD,IAAI,CAAC,CAAC,CAAC,CACN;oBACE,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;wBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;4BAAS;oBACnF,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,IAAE,CAAC,CAAC,OAAO,CAAQ;oBAC1C,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;wBAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAQ,CAC9C,CACJ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACb,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;;oBAAuD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAQ,CACzG,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAwB,CAC5C;gBACD,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;gBACnB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAC/B;oBACE,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;wBAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;4BAAS;oBAC9D,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;wBAC5D,CAAC,CAAC,KAAK,CAAC,IAAI;;wBAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CACxB,CACN,CACJ,CACG,CACF;QAIN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrH,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAG,IAAI,CAAQ;YAC1F,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,KAAK,OAAO,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EACpD,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,0CAA0C,EACnG,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,IAAI,CAAC,CAAC,IAAI,EAAE;wBAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC,GACD,CACE;QACN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAChB,KAAK,KAAK,MAAM;gBACf,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,eAAe;oBACzG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,mCAAmC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAC3I,CACH;QAIL,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;YAAG,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CACzG,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;gBACpD,oBAAC,IAAI;oBACH,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,gBAAkB;oBAC3E,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;wBAAK,SAAS,CAAC,MAAM;;wBAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,EAAE,CAAQ,CAC7M;gBACN,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACtB,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/E,MAAM,KAAK,GACT,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,wBAAwB;wBACjG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW;4BAClC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9F,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,aAAa,EAAC,QAAQ;wBAC3C,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc;4BACvB,oBAAC,IAAI,IAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAQ;4BACjE,oBAAC,IAAI,IAAC,IAAI,EAAE,GAAG,IAAG,CAAC,CAAC,KAAK,CAAQ;4BACjC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gCAAI,CAAC,CAAC,IAAI;qCAAU;4BACvC,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gCAAG,CAAC,CAAC,IAAI;;gCAAM,CAAC,CAAC,MAAM,CAAQ;4BACxG,CAAC,CAAC,OAAO,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gCAAI,CAAC,CAAC,OAAO,CAAQ;4BACtD,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;gCAAK,KAAK,CAAQ;4BACtG,IAAI,KAAK,IAAI,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gCAAI,IAAI;yCAAc,CACtD;wBACN,IAAI,IAAI,GAAG,IAAI,CACd,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;4BAGzG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,QAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,IAAE,EAAE,CAAQ,CAAC;4BAC7F,CAAC,CAAC,OAAO,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,IAAE,CAAC,CAAC,OAAO,CAAQ;4BACnD,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM;gCAAC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAa;gCAAC,CAAC,CAAC,OAAO,CAAQ;4BACnE,CAAC,CAAC,UAAU,IAAI,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM;gCAAC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAa;gCAAA,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,CAAC,CAAC,UAAU,CAAQ,CAAO,CAC/G,CACP,CACG,CACP,CAAC;gBACJ,CAAC,CAAC;gBACD,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,IAAE,MAAM,CAAQ,CAAC,CAAC,CAAC,IAAI;gBACpF,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,oBAAC,IAAI;oBACH,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;wBAAoB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;0CAAkB;oBAI9E,QAAQ,IAAI,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CACrC;wBAAE,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,QAAS;wBAAA,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAmB;wBAAA,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,KAAK,QAAS;wBAAA,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,oBAAgB,CAAG,CAC/I,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CACvC,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,2FAAkF,CACvG,CAAC,CAAC,CAAC,IAAI;oBACR,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,eAAgB,CAC9B,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,2BAAuB,CAC3C,CACG,CACP,CAAC;QAAC,CAAC,CAAC,EAAE,CACH,CACP,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAG,GAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAE1F,oEAAoE;AACpE,SAAS,IAAI,CAAC,CAAU;IACtB,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,kGAAkG;AAClG,SAAS,OAAO,CAAC,CAAU;IACzB,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC;AACxE,CAAC;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAAU;IAC7B,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC9E,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/F,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9G,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAC/H,CAAC;AAED,sFAAsF;AACtF,IAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,MAAM,UAAU,OAAO,CAAC,IAKvB;IACC,+FAA+F;IAC/F,6FAA6F;IAC7F,qBAAqB;IACrB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,GAA4B,CAAC;YACxC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAC9B,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CACvG;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CACrB,oBAAC,GAAG,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,KAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,CAC/H,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC"}
|
package/dist/usage.d.ts
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asking a Claude subscription how much of itself is left.
|
|
3
|
+
*
|
|
4
|
+
* Everything else here learns about limits by being told: `rate_limit_event` arrives mid-run,
|
|
5
|
+
* and the text paths only appear once a cap has already been hit. That is enough to ROTATE off
|
|
6
|
+
* a dead subscription, which is what the user did by hand — but not enough to route by headroom,
|
|
7
|
+
* because by the time you know, the run has already failed.
|
|
8
|
+
*
|
|
9
|
+
* `/usage` is the missing half. It is a real slash command in the CLI, it runs through the SDK
|
|
10
|
+
* the same way `/goal` already does in engine-claude.ts, and it answers on demand. So FlareDeck
|
|
11
|
+
* can ask each subscription where it stands before choosing one, instead of discovering it
|
|
12
|
+
* afterwards.
|
|
13
|
+
*
|
|
14
|
+
* WHAT IT COSTS: a turn, with no model work beyond rendering a local command — but not nothing.
|
|
15
|
+
* It is for a scheduled refresh, not for every run.
|
|
16
|
+
*
|
|
17
|
+
* STRUCTURED FIRST, PROSE ONLY AS A FALLBACK. `/usage` attaches a `usage_report` to the
|
|
18
|
+
* synthetic assistant message that carries its text, and that is what is read: server-sent rows
|
|
19
|
+
* with a `kind` ('session', 'weekly_all', 'weekly_scoped'), a percent, and an ISO `resets_at`
|
|
20
|
+
* complete with offset. The SDK's own instruction is to "classify a row on this, never on a
|
|
21
|
+
* label" — which is exactly what an earlier version of this file did, matching "Current
|
|
22
|
+
* session" and "Current week" and inferring local time and a year the text never stated.
|
|
23
|
+
*
|
|
24
|
+
* The prose parser is kept because the SDK documents the text as the canonical fallback for
|
|
25
|
+
* CLIs too old to attach the report. It is written to fail SILENTLY AND COMPLETELY rather than
|
|
26
|
+
* partially: a line it does not recognise yields nothing for that window, and nothing means
|
|
27
|
+
* "unknown", never 0. A wrong number here would route every run at the plan it misread.
|
|
28
|
+
*
|
|
29
|
+
* Not on the init message, whatever the declarations imply: measured on this CLI, init carries
|
|
30
|
+
* no rate_limits, no subscription_type and no account id. Identity comes from `accountInfo()`,
|
|
31
|
+
* which answers without spending a turn at all.
|
|
32
|
+
*/
|
|
33
|
+
/** One window as the subscription reports it. */
|
|
34
|
+
export type UsageWindow = {
|
|
35
|
+
/** The SDK's own vocabulary, so the ledger stores one set of names: see limits.ts. */
|
|
36
|
+
window: 'five_hour' | 'seven_day' | string;
|
|
37
|
+
/** 0-100. */
|
|
38
|
+
utilization: number;
|
|
39
|
+
/** Epoch ms, when it could be read. Absent when the line gave no resets-at. */
|
|
40
|
+
resetsAt?: number;
|
|
41
|
+
/** The model this window is scoped to, when it is scoped to one ("Fable"). */
|
|
42
|
+
model?: string;
|
|
43
|
+
/** The server's meter kind — 'session', 'weekly_all', 'weekly_scoped' — passed through. */
|
|
44
|
+
kind?: string;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Pull the windows out of what `/usage` printed.
|
|
48
|
+
*
|
|
49
|
+
* The shape it answers with, as measured:
|
|
50
|
+
*
|
|
51
|
+
* Current session: 15% used · resets Oct 10 at 12:10pm (Africa/Johannesburg)
|
|
52
|
+
* Current week (all models): 30% used · resets Oct 16 at 4pm (Africa/Johannesburg)
|
|
53
|
+
* Current week (Fable): 7% used · resets Oct 16 at 4pm (Africa/Johannesburg)
|
|
54
|
+
*
|
|
55
|
+
* "Current session" is the five-hour window and "Current week" the seven-day one — the labels
|
|
56
|
+
* are the product's words for them, not new concepts. A per-model week ("Fable") is kept
|
|
57
|
+
* separately rather than folded in, because it can be the one that blocks while the overall
|
|
58
|
+
* week still has room, which is precisely the case worth routing around.
|
|
59
|
+
*/
|
|
60
|
+
export declare function parseUsage(text: string, now?: number): UsageWindow[];
|
|
61
|
+
/**
|
|
62
|
+
* Run `/usage` against a subscription and read what it says.
|
|
63
|
+
*
|
|
64
|
+
* `token` picks which subscription answers — the same CLAUDE_CODE_OAUTH_TOKEN the run itself
|
|
65
|
+
* would use, so the reading is about the plan that would actually have paid. Without one it
|
|
66
|
+
* reports on whatever this machine is logged in as.
|
|
67
|
+
*/
|
|
68
|
+
export declare function readUsage(opts: {
|
|
69
|
+
token?: string;
|
|
70
|
+
/** Injected so this is testable without spending a turn. */
|
|
71
|
+
ask?: (token?: string) => Promise<{
|
|
72
|
+
report?: unknown;
|
|
73
|
+
text?: string;
|
|
74
|
+
seen?: string[];
|
|
75
|
+
getter?: UsageWindow[];
|
|
76
|
+
}>;
|
|
77
|
+
timeoutMs?: number;
|
|
78
|
+
/** Told WHY a read came back empty — the error, or what the SDK actually sent. */
|
|
79
|
+
onEmpty?: (why: string) => void;
|
|
80
|
+
}): Promise<UsageWindow[]>;
|
|
81
|
+
/**
|
|
82
|
+
* The rows `/usage` attaches, mapped onto the ledger's window names.
|
|
83
|
+
*
|
|
84
|
+
* Classified on `kind`, never on a label — the SDK says so outright, and a label is a display
|
|
85
|
+
* string that can be reworded without warning. A `weekly_scoped` row is kept separate rather
|
|
86
|
+
* than folded into the weekly total: it can block while the overall week still has room, which
|
|
87
|
+
* is the case worth routing around.
|
|
88
|
+
*/
|
|
89
|
+
export declare function windowsFromReport(report: unknown): UsageWindow[];
|
|
90
|
+
/** Who this subscription actually is, for linking a reading back to a plan. */
|
|
91
|
+
export type Account = {
|
|
92
|
+
email?: string;
|
|
93
|
+
organization?: string;
|
|
94
|
+
subscriptionType?: string;
|
|
95
|
+
apiProvider?: string;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Ask which account a token belongs to.
|
|
99
|
+
*
|
|
100
|
+
* Costs no turn — it is answered from the session handshake — so it is cheap enough to call
|
|
101
|
+
* whenever a subscription is added, and it is the only way to tell that two entries in the
|
|
102
|
+
* vault are secretly the same account. It is also what makes a run on this machine's own login
|
|
103
|
+
* attributable, which it otherwise is not.
|
|
104
|
+
*/
|
|
105
|
+
export declare function readAccount(token?: string): Promise<Account | null>;
|