@onepointfour-packs/flaredeck-agent 0.2.38 → 0.2.39

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 (84) hide show
  1. package/dist/agent.d.ts +42 -3
  2. package/dist/agent.js +84 -6
  3. package/dist/agent.js.map +1 -1
  4. package/dist/automode.js +43 -3
  5. package/dist/automode.js.map +1 -1
  6. package/dist/branches.d.ts +12 -1
  7. package/dist/branches.js +13 -3
  8. package/dist/branches.js.map +1 -1
  9. package/dist/browser.d.ts +52 -0
  10. package/dist/browser.js +185 -17
  11. package/dist/browser.js.map +1 -1
  12. package/dist/config.d.ts +6 -0
  13. package/dist/config.js +36 -2
  14. package/dist/config.js.map +1 -1
  15. package/dist/credentials.d.ts +217 -0
  16. package/dist/credentials.js +332 -0
  17. package/dist/credentials.js.map +1 -0
  18. package/dist/engine-antigravity.js +2 -0
  19. package/dist/engine-antigravity.js.map +1 -1
  20. package/dist/engine-claude.js +14 -2
  21. package/dist/engine-claude.js.map +1 -1
  22. package/dist/engine.d.ts +19 -0
  23. package/dist/engine.js.map +1 -1
  24. package/dist/environment.d.ts +13 -1
  25. package/dist/environment.js +35 -2
  26. package/dist/environment.js.map +1 -1
  27. package/dist/envtools.d.ts +58 -0
  28. package/dist/envtools.js +151 -0
  29. package/dist/envtools.js.map +1 -0
  30. package/dist/flaredeck.d.ts +24 -0
  31. package/dist/flaredeck.js +20 -0
  32. package/dist/flaredeck.js.map +1 -1
  33. package/dist/github.d.ts +2 -0
  34. package/dist/github.js +4 -0
  35. package/dist/github.js.map +1 -1
  36. package/dist/githubauth.d.ts +11 -1
  37. package/dist/githubauth.js +82 -16
  38. package/dist/githubauth.js.map +1 -1
  39. package/dist/hydrate.d.ts +76 -0
  40. package/dist/hydrate.js +77 -0
  41. package/dist/hydrate.js.map +1 -0
  42. package/dist/limits.d.ts +184 -0
  43. package/dist/limits.js +251 -0
  44. package/dist/limits.js.map +1 -0
  45. package/dist/main.js +121 -18
  46. package/dist/main.js.map +1 -1
  47. package/dist/picker.js +50 -4
  48. package/dist/picker.js.map +1 -1
  49. package/dist/preflight.d.ts +43 -0
  50. package/dist/preflight.js +133 -19
  51. package/dist/preflight.js.map +1 -1
  52. package/dist/runs.d.ts +11 -3
  53. package/dist/runs.js +41 -4
  54. package/dist/runs.js.map +1 -1
  55. package/dist/serve.js +956 -113
  56. package/dist/serve.js.map +1 -1
  57. package/dist/session.d.ts +51 -0
  58. package/dist/session.js +145 -0
  59. package/dist/session.js.map +1 -0
  60. package/dist/settle.d.ts +18 -0
  61. package/dist/settle.js +39 -0
  62. package/dist/settle.js.map +1 -0
  63. package/dist/signin.d.ts +47 -0
  64. package/dist/signin.js +331 -0
  65. package/dist/signin.js.map +1 -0
  66. package/dist/stream.d.ts +6 -0
  67. package/dist/stream.js +44 -3
  68. package/dist/stream.js.map +1 -1
  69. package/dist/subscriptions.d.ts +115 -0
  70. package/dist/subscriptions.js +140 -0
  71. package/dist/subscriptions.js.map +1 -0
  72. package/dist/ui.d.ts +11 -0
  73. package/dist/ui.js +6 -1
  74. package/dist/ui.js.map +1 -1
  75. package/dist/usage.d.ts +105 -0
  76. package/dist/usage.js +348 -0
  77. package/dist/usage.js.map +1 -0
  78. package/dist/wall.d.ts +35 -0
  79. package/dist/wall.js +94 -0
  80. package/dist/wall.js.map +1 -0
  81. package/dist/worktree.d.ts +19 -0
  82. package/dist/worktree.js +179 -4
  83. package/dist/worktree.js.map +1 -1
  84. 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: "white" }, "waiting for work")),
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"}
@@ -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>;