@rekey.dev/node 2.0.0-rc.2 → 2.0.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -135,10 +135,10 @@ if (!r.emailSent && r.resetToken) {
135
135
  ### `rekey.billing`
136
136
  | Method | Description |
137
137
  | --- | --- |
138
- | `getPlans()` | List the Application's active plans (public — render pricing pages). |
139
- | `getSubscription(accessToken)` | The user's active subscription, or `null`. |
138
+ | `getPlans(page?)` | List the Application's active plans (public — render pricing pages). Returns `{items, page}`. |
139
+ | `getSubscription(accessToken, { organizationId?, includeEnded? })` | The user's active subscription, or `null`. `includeEnded: true` falls back to their most recent CANCELED/EXPIRED subscription **only when the answer would otherwise be null** — so a billing page can say what a former subscriber was on and when it ended, instead of showing them the same blank state as somebody who never subscribed. It never replaces a live subscription; leave it off for entitlement checks. |
140
140
  | `createCheckout(accessToken, { planSlug, successUrl, cancelUrl, couponCode?, organizationId? })` | Start hosted checkout; returns the redirect URL + a PENDING subscription. Activation happens via the provider webhook. |
141
- | `cancelSubscription(accessToken, { atPeriodEnd?, organizationId? })` | Cancel the user's subscription. Defaults to **at period end** — the row stays ACTIVE with `cancelAt` set until the provider webhook terminates it, so read `cancelAt`, not `status`. Pass `atPeriodEnd: false` to end it immediately. |
141
+ | `cancelSubscription(accessToken, { atPeriodEnd?, organizationId? })` | Cancel the user's subscription. Defaults to **at period end** — the row stays ACTIVE with `cancelAt` set until the day arrives, so read `cancelAt`, not `status`. Pass `atPeriodEnd: false` to end it immediately. The default is a *request*: a PAST_DUE subscription, a PENDING checkout, or an ACTIVE row with no known period end is canceled on the spot regardless. Ask `cancelsAtPeriodEnd(sub)` (exported from this package) before showing a confirmation, so you promise the outcome the caller will actually get. |
142
142
  | `validateCoupon(accessToken, { code, planSlug })` | Price-check a coupon without applying it. |
143
143
  | `getProviders(country?)` | The geo-routed list of enabled billing providers. |
144
144
  | `getEntitlements(accessToken, { organizationId? })` | Resolve feature flags + limits + live credit balance. **Gate your app on this.** Cache it with a ~5-min TTL / stale-while-revalidate and bust on checkout success — see ["Caching entitlements" in docs/billing.md](https://github.com/rekey-dev/rekey/blob/main/docs/billing.md#caching-entitlements). |
@@ -164,7 +164,7 @@ if (!r.emailSent && r.resetToken) {
164
164
  | --- | --- |
165
165
  | `getBalance(subject)` | Spendable balance for `{ endUserId }` or `{ organizationId }`. |
166
166
  | `consume(subject & { amount, idempotencyKey? })` | Idempotent drawdown. Throws `CREDITS_INSUFFICIENT` (402) when too low. |
167
- | `listLedger(subject, limit?, offset?)` | Ledger entries, newest first (default 50, max 200). |
167
+ | `listLedger(subject, limit?, offset?)` | Ledger entries, newest first (default 50, max 200). Returns `{items, page}`. |
168
168
 
169
169
  #### `idempotencyKey` scoping & retry semantics
170
170
 
@@ -200,26 +200,43 @@ Retry semantics: a repeat with the same key (timeout retry, queue redelivery, do
200
200
  | Export | Description |
201
201
  | --- | --- |
202
202
  | `verifyWebhookSignature({ header, payload, secret, toleranceSeconds? })` | Verify the HMAC on a webhook **Rekey sends to your app** (user-lifecycle + billing events) against the **raw body bytes** + the `X-Rekey-Signature` header. Not for Stripe/PayPal webhooks — those go to Rekey, never to you (see [docs/billing.md](https://github.com/rekey-dev/rekey/blob/main/docs/billing.md)). |
203
- | `verifyAccessToken(token, { jwksUrl \| jwks })` | Verify an end-user access token **offline** (no API round-trip) against your deployment's `GET /.well-known/jwks.json`. RS256 only — the Application must opt in via `authConfig.tokenAlg: "RS256"`; default HS256 tokens still need `auth.getCurrentUser`. Fetches + caches the JWKS for 5 minutes, checks `kid`/signature/`exp`/`typ`, and returns the claims (`sub`, `applicationId`, `oid?`, …). Check `claims.applicationId` against your own app id. See [docs/jwks.md](https://github.com/rekey-dev/rekey/blob/main/docs/jwks.md). |
203
+ | `verifyAccessToken(token, { applicationId, jwksUrl \| jwks })` | Verify an end-user access token **offline** (no API round-trip) against your deployment's `GET /.well-known/jwks.json`. RS256 only — the Application must opt in via `authConfig.tokenAlg: "RS256"`; default HS256 tokens still need `auth.getCurrentUser`. Fetches + caches the JWKS for 5 minutes, checks `kid`/signature/`exp`/`typ`, and returns the claims (`sub`, `applicationId`, `oid?`, …). **`applicationId` is required** the RS256 keypair is deployment-wide, so without it a token minted for any other Application on the same deployment would verify here. (The HS256 default is unaffected: its key is derived per Application.) See [docs/jwks.md](https://github.com/rekey-dev/rekey/blob/main/docs/jwks.md). |
204
204
  | `WEBHOOK_EVENTS` / `KNOWN_WEBHOOK_EVENTS` / `isKnownWebhookEvent` | The full outbound-event registry — `{ name, description }` pairs (and just the names) for the 17 events Rekey can send: `user.created/updated/deleted/erased`, `session.revoked`, `mfa.enabled/disabled`, `password.changed`, `email.verified`, `subscription.activated/canceled/past_due`, `payment.succeeded/failed`, `dunning.case_opened/case_recovered/case_exhausted`. Mirrors the API exactly; use it for event pickers / autocompleting an endpoint's `events` array rather than hardcoding this list. See [docs/webhooks.md](https://github.com/rekey-dev/rekey/blob/main/docs/webhooks.md). |
205
205
  | `WebhookEventType` / `WebhookEventEnvelope<TData>` | Types for the event-name union and the delivery envelope (`{ eventId, occurredAt, type, applicationId, data }`). Dedupe on `eventId` — retries reuse it. |
206
206
  | `RekeyError` | The canonical error class — `instanceof`-consistent across SDK packages. |
207
207
 
208
208
  ### Pagination
209
209
 
210
- All list pagination is `{ limit, offset }`. Per-endpoint windows (server-enforced — passing a larger `limit` is clamped or rejected):
210
+ Every list method resolves to the same envelope:
211
+
212
+ ```ts
213
+ const { items, page } = await rekey.billing.getPlans();
214
+ // page → { total: 80, limit: 50, offset: 0, hasMore: true }
215
+ ```
216
+
217
+ `page.total` is the count of matching rows ignoring `limit`/`offset`, so you can
218
+ tell a complete list from a window without over-fetching. **This is a breaking
219
+ change in 2.0.0-rc.3** — these methods used to resolve to a bare array, which
220
+ could not report that it had been truncated.
221
+
222
+ Request pagination is `{ limit, offset }` everywhere. Per-endpoint windows
223
+ (server-enforced — a larger `limit` is clamped or rejected):
211
224
 
212
225
  | Method | Default `limit` | Max `limit` |
213
226
  | --- | --- | --- |
214
227
  | `organizations.listMine(accessToken, page?)` | 50 | 100 |
215
228
  | `organizations.listMembers(accessToken, orgId, page?)` | 50 | 100 |
216
229
  | `credits.listLedger(subject, limit?, offset?)` | 50 | 200 |
217
- | `auth.listSessions` / `listPasskeys` / `listOAuthIdentities` | (returns the full set; these are small, bounded lists) | |
218
- | `billing.getPlans()` | (all active plans) | |
230
+ | `auth.listSessions(accessToken, page?)` | 50 | 100 |
231
+ | `auth.listPasskeys(accessToken, page?)` | 50 | 100 |
232
+ | `billing.getPlans(page?)` | 50 | 100 |
233
+ | `auth.listOAuthIdentities` | — (bare array; one row per provider the user linked, bounded by the Application's provider list) | — |
219
234
 
220
235
  ## Errors
221
236
 
222
- Every failure is a `RekeyError` with `code`, `message`, and usually a concrete `fix` (plus optional `docs`, `statusCode`, `requestId`). **Read `error.fix` first.**
237
+ Every failure is a `RekeyError` with `code`, `message`, and usually a concrete `fix` (plus optional `docs`, `statusCode`, `requestId`, `retryAfterSeconds`). **Read `error.fix` first.**
238
+
239
+ That includes failures where no server answered. A refused connection, a DNS failure or an expired deadline is a `RekeyError` too — one `catch` covers everything:
223
240
 
224
241
  ```ts
225
242
  import { RekeyError } from '@rekey.dev/node';
@@ -232,6 +249,46 @@ try {
232
249
  }
233
250
  ```
234
251
 
252
+ Transport codes, and what each one asks you to do:
253
+
254
+ | `code` | Meaning | What to do |
255
+ | --- | --- | --- |
256
+ | `REQUEST_TIMEOUT` | The deadline expired before a response. | Retry, or raise `timeoutMs`. |
257
+ | `NETWORK_ERROR` | The request never reached a server (refused, DNS, TLS). | Check `apiUrl` and reachability. `error.cause` has the original. |
258
+ | `REQUEST_ABORTED` | An `AbortSignal` you passed fired. | Your own cancellation — usually swallow it. |
259
+ | `RATE_LIMITED` | Too many requests. | Wait `error.retryAfterSeconds`, then retry. |
260
+
261
+ ## Timeouts and cancellation
262
+
263
+ Every request carries a **10-second deadline** by default — the same one the Rekey API uses for its own outbound webhooks. Without it the effective timeout is undici's `headersTimeout`, five minutes, which is long enough for one unreachable deployment to pin a request handler.
264
+
265
+ ```ts
266
+ // Client-wide.
267
+ const rekey = new Rekey({ apiUrl, secretKey, timeoutMs: 5_000 });
268
+
269
+ // One call. `with()` returns a cheap scoped clone; it works on every method.
270
+ const plans = await rekey.with({ timeoutMs: 2_000 }).billing.getPlans();
271
+
272
+ // Tie Rekey calls to an inbound request's lifetime.
273
+ app.get('/me', async (req, res) => {
274
+ const scoped = rekey.with({ signal: AbortSignal.any([req.signal]) });
275
+ res.json(await scoped.auth.getCurrentUser(token));
276
+ });
277
+ ```
278
+
279
+ Pass `timeoutMs: 0` to opt out. `verifyAccessToken` takes its own `timeoutMs` / `signal` for the JWKS fetch.
280
+
281
+ ## Calling an endpoint the SDK does not wrap
282
+
283
+ `rekey.request()` is a supported escape hatch — you keep the auth header, the `{ success, data }` unwrapping, the `RekeyError` mapping and the deadline:
284
+
285
+ ```ts
286
+ const seats = await rekey.request<{ used: number }>('GET', '/api/v1/seats');
287
+ await rekey.request('POST', '/api/v1/seats', { body: { count: 5 }, timeoutMs: 30_000 });
288
+ ```
289
+
290
+ Prefer a namespace method wherever one exists — those carry the endpoint's real types.
291
+
235
292
  ## Gotchas
236
293
 
237
294
  - **Entitlements are resolved server-side.** Never gate features from client state — always read `rekey.billing.getEntitlements(...)` on the server.
package/dist/index.d.ts CHANGED
@@ -19,9 +19,19 @@
19
19
  * console.log(`Connected to "${me.name}" (${me.slug})`);
20
20
  * ```
21
21
  */
22
- import type { ApplicationDto, AuthResultDto, JwksDto, ChangePasswordRequest, CheckoutResultDto, ConsumeCreditsRequest, ConsumeCreditsResultDto, CreateCheckoutRequest, CreditBalanceDto, CreditLedgerEntryDto, EndUserDto, ForgotPasswordRequest, ForgotPasswordResultDto, LicenseVerifyResultDto, MfaVerifyRequest, OAuthAuthServerMetadata, OAuthIntrospectionResponse, OrganizationDto, OrganizationInvitationDto, OrganizationMemberDto, OrganizationWithRoleDto, PlanDto, ProvidersListDto, ResetPasswordRequest, SignInOutcomeDto, SignInRequest, SignUpRequest, SubscriptionDto, UsageAggregateDto, UsageRecordDto, ValidateCouponRequest, ValidateCouponResultDto } from '@rekey.dev/shared-types';
23
- import { RekeyError } from '@rekey.dev/shared-types';
22
+ import type { ApplicationDto, AuthResultDto, ListPage, Paged, JwksDto, ChangePasswordRequest, CheckoutResultDto, ConsumeCreditsRequest, ConsumeCreditsResultDto, CreateCheckoutRequest, CreditBalanceDto, CreditLedgerEntryDto, EndUserDto, ForgotPasswordRequest, ForgotPasswordResultDto, LicenseVerifyResultDto, MfaVerifyRequest, OAuthAuthServerMetadata, OAuthIntrospectionResponse, OrganizationDto, OrganizationInvitationDto, OrganizationMemberDto, OrganizationWithRoleDto, PlanDto, ProvidersListDto, ResetPasswordRequest, SignInOutcomeDto, SignInRequest, SignUpRequest, SubscriptionDto, UsageAggregateDto, UsageRecordDto, ValidateCouponRequest, ValidateCouponResultDto } from '@rekey.dev/shared-types';
23
+ import { RekeyError } from '@rekey.dev/shared-types/error';
24
24
  export type { ApplicationDto, EndUserDto, ApiKeyDto, AuthResultDto, MfaChallengeResultDto, MfaVerifyRequest, SignInOutcomeDto, SignInRequest, SignUpRequest, RefreshRequest, ForgotPasswordRequest, ForgotPasswordResultDto, ResetPasswordRequest, ChangePasswordRequest, PlanDto, SubscriptionDto, CreateCheckoutRequest, CheckoutResultDto, CouponDto, ValidateCouponRequest, ValidateCouponResultDto, CouponDiscountTypeValue, PlanIntervalType, PlanKindType, LicenseKindType, CreditReasonType, CreditBalanceDto, CreditLedgerEntryDto, ConsumeCreditsRequest, ConsumeCreditsResultDto, OrganizationDto, OrganizationWithRoleDto, OrganizationMemberDto, OrganizationInvitationDto, OrganizationRole, LicenseDto, LicenseStatusType, LicenseVerifyResultDto, UsageRecordDto, UsageAggregateDto, SubscriptionStatusType, RekeyErrorShape, AuthConfig, BillingConfig, BillingProvider, TokenAlg, JwkRsaPublic, JwksDto, OAuthIntrospectionResponse, OAuthAuthServerMetadata, } from '@rekey.dev/shared-types';
25
+ /**
26
+ * Default per-request deadline, in milliseconds. Matches the timeout the Rekey
27
+ * API itself uses when it POSTs your outbound webhooks.
28
+ *
29
+ * Without a deadline the effective timeout is undici's `headersTimeout` — five
30
+ * minutes — so a single unreachable Rekey deployment can pin one of your
31
+ * request handlers for that long. Ten seconds is long enough for any endpoint
32
+ * this SDK calls and short enough to fail a page instead of hanging it.
33
+ */
34
+ export declare const DEFAULT_TIMEOUT_MS = 10000;
25
35
  /** Configuration for a Rekey client instance. */
26
36
  export interface RekeyConfig {
27
37
  /** Base URL of the Rekey API. e.g. `https://rekey.example.com` */
@@ -30,6 +40,43 @@ export interface RekeyConfig {
30
40
  secretKey: string;
31
41
  /** Optional fetch override (test stubs, custom keep-alive agents, etc.). */
32
42
  fetch?: typeof fetch;
43
+ /**
44
+ * Deadline for every request this client makes, in milliseconds.
45
+ * Default {@link DEFAULT_TIMEOUT_MS} (10 000). Pass `0` to disable — only do
46
+ * that if something upstream of you already bounds the call.
47
+ *
48
+ * On expiry the promise rejects with a `RekeyError` whose code is
49
+ * `REQUEST_TIMEOUT`. Override per call with `timeoutMs` in the call options.
50
+ */
51
+ timeoutMs?: number | undefined;
52
+ /**
53
+ * Client-wide abort signal — aborting it cancels every in-flight request
54
+ * (server shutdown, request-scoped cancellation). Composed with, not
55
+ * replaced by, any per-call `signal`.
56
+ */
57
+ signal?: AbortSignal | undefined;
58
+ }
59
+ /**
60
+ * Per-call overrides. Deliberately an options object rather than positional
61
+ * parameters: this is the shape frozen at 2.0.0, and a new knob has to be
62
+ * addable without a new overload.
63
+ */
64
+ export interface RekeyRequestOptions {
65
+ /** JSON request body. Omit for GET/DELETE — a present body sets `Content-Type`. */
66
+ body?: unknown;
67
+ /** Extra headers, merged over the SDK's own (`Authorization`, `Content-Type`). */
68
+ headers?: Record<string, string> | undefined;
69
+ /** Deadline for this one call, in ms. Overrides the client's. `0` disables. */
70
+ timeoutMs?: number | undefined;
71
+ /** Abort signal for this one call. Composed with the client's signal and the deadline. */
72
+ signal?: AbortSignal | undefined;
73
+ }
74
+ /** The subset of {@link RekeyRequestOptions} every wrapped method accepts. */
75
+ export interface RekeyCallOptions {
76
+ /** Deadline for this one call, in ms. Overrides the client's. `0` disables. */
77
+ timeoutMs?: number | undefined;
78
+ /** Abort signal for this one call. Composed with the client's signal and the deadline. */
79
+ signal?: AbortSignal | undefined;
33
80
  }
34
81
  export { RekeyError };
35
82
  /**
@@ -50,6 +97,26 @@ export { RekeyError };
50
97
  */
51
98
  export { WEBHOOK_EVENTS, KNOWN_WEBHOOK_EVENTS, isKnownWebhookEvent } from '@rekey.dev/shared-types';
52
99
  export type { WebhookEventType, WebhookEventEnvelope } from '@rekey.dev/shared-types';
100
+ /**
101
+ * Would `cancelSubscription`'s default (`atPeriodEnd: true`) actually leave
102
+ * this subscriber the rest of the period they paid for?
103
+ *
104
+ * Exported because a cancel confirmation has to say which outcome the customer
105
+ * is about to get, and it has to say so BEFORE the call — there is no response
106
+ * to read it off. It is the same function the API decides from, not a
107
+ * description of it, so a UI built on it cannot promise a behaviour the server
108
+ * does not have. See its docblock for the cases that still end immediately.
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * const sub = await rekey.billing.getSubscription(token);
113
+ * const message = sub && cancelsAtPeriodEnd(sub)
114
+ * ? `You keep access until ${sub.currentPeriodEnd}.`
115
+ * : 'Cancelling takes effect straight away.';
116
+ * ```
117
+ */
118
+ export { cancelsAtPeriodEnd } from '@rekey.dev/shared-types';
119
+ export type { CancellationTimingInput } from '@rekey.dev/shared-types';
53
120
  /**
54
121
  * Top-level Rekey client. Auth and billing live as namespaces
55
122
  * (`rekey.applications`, `rekey.auth`, `rekey.billing`) so an agent
@@ -59,6 +126,9 @@ export declare class Rekey {
59
126
  private readonly apiUrl;
60
127
  private readonly secretKey;
61
128
  private readonly fetchImpl;
129
+ private readonly timeoutMs;
130
+ private readonly signal;
131
+ private readonly config;
62
132
  /** Operations on the calling Application itself. */
63
133
  readonly applications: ApplicationsClient;
64
134
  /** Auth operations — sign-in, sign-up, sessions, passkeys, magic-link. */
@@ -76,15 +146,57 @@ export declare class Rekey {
76
146
  /** MCP — validate Rekey-issued MCP tokens from your own MCP server. */
77
147
  readonly mcp: McpClient;
78
148
  constructor(config: RekeyConfig);
79
- /** @internal */
80
- request<T>(method: string, path: string, body?: unknown, extraHeaders?: Record<string, string>): Promise<T>;
81
149
  /**
82
- * @internal Raw request for the non-enveloped OAuth/MCP endpointsreturns
83
- * the parsed JSON as-is (those endpoints emit standard OAuth shapes, not the
84
- * `{ success, data }` envelope). Throws `RekeyError` on non-2xx, mapping
85
- * the OAuth `{ error, error_description }` body when present.
150
+ * A clone of this client with different call options the per-call knob for
151
+ * every wrapped method.
152
+ *
153
+ * Each namespace method (`billing.getPlans()`, `auth.signIn()`, …) has a
154
+ * fixed signature, so scoping one call is done by scoping the client rather
155
+ * than by threading an options argument through sixty-odd methods:
156
+ *
157
+ * @example Give one call a tighter deadline
158
+ * ```ts
159
+ * const plans = await rekey.with({ timeoutMs: 2_000 }).billing.getPlans();
160
+ * ```
161
+ *
162
+ * @example Tie every Rekey call to an inbound request's lifetime
163
+ * ```ts
164
+ * app.get('/me', async (req, res) => {
165
+ * const scoped = rekey.with({ signal: AbortSignal.any([req.signal]) });
166
+ * res.json(await scoped.auth.getCurrentUser(token));
167
+ * });
168
+ * ```
169
+ *
170
+ * Cheap — it rebuilds the namespace objects, holds no connections, and
171
+ * shares the same `fetch`.
172
+ */
173
+ with(options: RekeyCallOptions): Rekey;
174
+ /**
175
+ * Call a Rekey endpoint this SDK does not wrap yet.
176
+ *
177
+ * This is a **supported** escape hatch, not an internal: when the API grows a
178
+ * route before the SDK does, use this instead of hand-rolling `fetch` — you
179
+ * keep the auth header, the `{ success, data }` unwrapping, the `RekeyError`
180
+ * mapping (including transport failures) and the deadline. It takes an
181
+ * options object precisely so a future knob does not need a new overload.
182
+ *
183
+ * Prefer a namespace method when one exists; those carry the endpoint's real
184
+ * types, this returns whatever `T` you claim.
185
+ *
186
+ * @example
187
+ * ```ts
188
+ * const seats = await rekey.request<{ used: number }>('GET', '/api/v1/seats');
189
+ *
190
+ * await rekey.request('POST', '/api/v1/seats', {
191
+ * body: { count: 5 },
192
+ * timeoutMs: 30_000,
193
+ * });
194
+ * ```
195
+ *
196
+ * @throws {RekeyError} the server's error envelope, or `REQUEST_TIMEOUT` /
197
+ * `REQUEST_ABORTED` / `NETWORK_ERROR` when the request never got an answer.
86
198
  */
87
- requestRaw<T>(method: string, path: string, body?: unknown, auth?: boolean): Promise<T>;
199
+ request<T>(method: string, path: string, options?: RekeyRequestOptions): Promise<T>;
88
200
  }
89
201
  /**
90
202
  * MCP helpers for customers running their OWN MCP server behind Rekey auth.
@@ -251,8 +363,13 @@ declare class AuthClient {
251
363
  credentialId: string;
252
364
  deviceName: string | null;
253
365
  }>;
254
- /** List the user's registered passkeys. */
255
- listPasskeys(accessToken: string): Promise<Array<{
366
+ /**
367
+ * List the user's registered passkeys, newest first.
368
+ *
369
+ * Returns `{items, page}` — `page.total` is the number of passkeys the user
370
+ * has, independent of the window served.
371
+ */
372
+ listPasskeys(accessToken: string, page?: ListPage): Promise<Paged<{
256
373
  id: string;
257
374
  credentialId: string;
258
375
  deviceName: string | null;
@@ -441,7 +558,7 @@ declare class AuthClient {
441
558
  * first. Each carries the User-Agent + IP captured at issue time and an
442
559
  * `id` you can pass to `revokeSession(...)`.
443
560
  */
444
- listSessions(accessToken: string): Promise<Array<{
561
+ listSessions(accessToken: string, page?: ListPage): Promise<Paged<{
445
562
  id: string;
446
563
  createdAt: string;
447
564
  expiresAt: string;
@@ -525,12 +642,16 @@ declare class AuthClient {
525
642
  unlinked: boolean;
526
643
  }>;
527
644
  }
528
- /** Optional offset pagination for list endpoints. The API caps these lists
529
- * (default 50, max 100); pass `offset` to page beyond the first window. */
530
- export interface ListPage {
531
- limit?: number;
532
- offset?: number;
533
- }
645
+ /**
646
+ * Optional offset pagination for list endpoints. The API caps these lists
647
+ * (default 50, max 100); pass `offset` to page beyond the first window.
648
+ *
649
+ * Re-exported from `@rekey.dev/shared-types` so the SDK, the API and the panel
650
+ * all name one shape. Every list method returns {@link Paged}, whose `page`
651
+ * tells you whether there is another window — you no longer have to infer it
652
+ * by asking for one row more than you need.
653
+ */
654
+ export type { ListPage, PageMeta, Paged } from '@rekey.dev/shared-types';
534
655
  declare class OrganizationsClient {
535
656
  private readonly client;
536
657
  constructor(client: Rekey);
@@ -546,9 +667,13 @@ declare class OrganizationsClient {
546
667
  role: 'OWNER';
547
668
  };
548
669
  }>;
549
- /** List organizations the calling user belongs to, with their role. The
550
- * result is paginated (default 50, max 100); pass `page.offset` for more. */
551
- listMine(accessToken: string, page?: ListPage): Promise<OrganizationWithRoleDto[]>;
670
+ /**
671
+ * List organizations the calling user belongs to, with their role.
672
+ *
673
+ * Paginated (default 50, max 100). Read `page.hasMore` / `page.total` from
674
+ * the result rather than guessing from `items.length`.
675
+ */
676
+ listMine(accessToken: string, page?: ListPage): Promise<Paged<OrganizationWithRoleDto>>;
552
677
  /** Fetch one organization the caller belongs to. */
553
678
  get(accessToken: string, organizationId: string): Promise<OrganizationWithRoleDto>;
554
679
  /** Update org name / metadata. OWNER + ADMIN only. */
@@ -556,9 +681,13 @@ declare class OrganizationsClient {
556
681
  name?: string;
557
682
  metadata?: Record<string, unknown>;
558
683
  }): Promise<OrganizationDto>;
559
- /** List members of an organization the caller belongs to. Paginated
560
- * (default 50, max 100); pass `page.offset` to page beyond the first window. */
561
- listMembers(accessToken: string, organizationId: string, page?: ListPage): Promise<OrganizationMemberDto[]>;
684
+ /**
685
+ * List members of an organization the caller belongs to.
686
+ *
687
+ * Paginated (default 50, max 100). `page.total` is the org's member count,
688
+ * so you do not need a second call to render "3 of 40".
689
+ */
690
+ listMembers(accessToken: string, organizationId: string, page?: ListPage): Promise<Paged<OrganizationMemberDto>>;
562
691
  /**
563
692
  * Invite a user. Returns the raw token ONCE — surface via your own
564
693
  * email/share channel. OWNER + ADMIN only.
@@ -727,7 +856,7 @@ declare class CreditsClient {
727
856
  * through the full append-only history (the ledger grows for the life of a
728
857
  * subject); `limit` is capped at 200 server-side.
729
858
  */
730
- listLedger(subject: CreditSubject, limit?: number, offset?: number): Promise<CreditLedgerEntryDto[]>;
859
+ listLedger(subject: CreditSubject, limit?: number, offset?: number): Promise<Paged<CreditLedgerEntryDto>>;
731
860
  }
732
861
  /** What an end-user (or org) is entitled to right now — from active subs. */
733
862
  export interface EntitlementsDto {
@@ -794,6 +923,28 @@ export interface VerifiedAccessTokenClaims {
794
923
  exp: number;
795
924
  }
796
925
  export interface VerifyAccessTokenOptions {
926
+ /**
927
+ * The Application this token must belong to. **Required.**
928
+ *
929
+ * This helper verifies RS256 tokens against the deployment's JWKS, and the
930
+ * RS256 keypair is deployment-wide — `SigningKey` has no `applicationId`
931
+ * column, and `eu_access` tokens carry no `iss`/`aud`. So a token minted for
932
+ * ANY Application on the same deployment is cryptographically valid here.
933
+ * Without this, a multi-app self-host accepts another Application's end-user
934
+ * as its own.
935
+ *
936
+ * (The HS256 default path is not affected: that key is derived per
937
+ * Application as `HMAC-SHA256(JWT_SECRET, applicationId:tokenGeneration)`, so
938
+ * a foreign token fails the signature. This is the RS256 opt-in only — which
939
+ * is exactly the path this function exists for.)
940
+ *
941
+ * Required rather than optional-with-a-warning: a security check nobody is
942
+ * forced to make is one most callers will not make, and the docblock used to
943
+ * tell them to compare `claims.applicationId` afterwards — which made the
944
+ * shortest correct path the insecure one. 2.0.0 is not out yet, so this
945
+ * breaks rc callers rather than a stable contract.
946
+ */
947
+ applicationId: string;
797
948
  /**
798
949
  * URL of the deployment's JWKS — `https://<your-rekey>/.well-known/jwks.json`.
799
950
  * Fetched lazily and cached in-process for `cacheTtlMs` (default 5 minutes);
@@ -807,11 +958,19 @@ export interface VerifyAccessTokenOptions {
807
958
  fetch?: typeof fetch;
808
959
  /** JWKS cache lifetime in ms when using `jwksUrl`. Default 300 000 (5 min). */
809
960
  cacheTtlMs?: number;
961
+ /**
962
+ * Deadline for the JWKS fetch, in ms. Default {@link DEFAULT_TIMEOUT_MS}
963
+ * (10 000); `0` disables. This one matters more than most: token
964
+ * verification usually sits in a hot request path, and an unreachable JWKS
965
+ * host would otherwise stall it for undici's five-minute header timeout.
966
+ * Pass a pre-fetched `jwks` to skip the network entirely.
967
+ */
968
+ timeoutMs?: number | undefined;
969
+ /** Abort signal for the JWKS fetch. Composed with the deadline. */
970
+ signal?: AbortSignal | undefined;
810
971
  /** Clock override for tests. Returns ms since epoch. */
811
972
  now?: () => number;
812
973
  }
813
- /** @internal Test hook — drop cached JWKS responses. */
814
- export declare function _clearJwksCacheForTests(): void;
815
974
  /**
816
975
  * Verify an end-user ACCESS token **offline** — no round-trip to the Rekey
817
976
  * API. Works only for Applications that opted into RS256 tokens
@@ -838,12 +997,20 @@ export declare function _clearJwksCacheForTests(): void;
838
997
  * import { verifyAccessToken } from '@rekey.dev/node';
839
998
  *
840
999
  * const claims = await verifyAccessToken(req.headers['x-rekey-user-token'], {
1000
+ * applicationId: MY_APP_ID,
841
1001
  * jwksUrl: 'https://rekey.example.com/.well-known/jwks.json',
842
1002
  * });
843
- * if (claims.applicationId !== MY_APP_ID) throw new Error('wrong app');
844
1003
  * req.userId = claims.sub;
845
1004
  * ```
846
1005
  *
1006
+ * `applicationId` is required and checked inside this function. The RS256
1007
+ * keypair is deployment-wide and `eu_access` tokens carry no `iss`/`aud`, so
1008
+ * without it a token minted for any other Application on the same deployment
1009
+ * verifies here with a perfectly valid signature. This example used to show
1010
+ * the comparison being done by the caller afterwards, which is precisely why
1011
+ * it moved inside: the shortest correct path should not be the one nobody
1012
+ * takes.
1013
+ *
847
1014
  * @throws {RekeyError} `TOKEN_ALG_NOT_RS256` — token is HS256 (app hasn't opted in) or another alg.
848
1015
  * @throws {RekeyError} `TOKEN_KID_UNKNOWN` — `kid` not in the JWKS (forged, or key deleted).
849
1016
  * @throws {RekeyError} `USER_TOKEN_EXPIRED` — `exp` passed; refresh the session.
@@ -861,14 +1028,28 @@ declare class BillingClient {
861
1028
  * `amount` is in the smallest currency unit (cents/paise/sen) — never
862
1029
  * a float. Format on display: `${amount / 100} ${currency}`.
863
1030
  */
864
- getPlans(): Promise<PlanDto[]>;
1031
+ getPlans(page?: ListPage): Promise<Paged<PlanDto>>;
865
1032
  /**
866
1033
  * Fetch the current end-user's active subscription, or `null` if they
867
1034
  * have none. Returns the most recent ACTIVE / PENDING / PAST_DUE row.
868
1035
  *
869
1036
  * Pass the user's access token (the SDK puts it in `X-Rekey-User-Token`).
1037
+ *
1038
+ * `opts.includeEnded` falls back to the most recent CANCELED/EXPIRED
1039
+ * subscription **only when the answer would otherwise be null** — for a
1040
+ * billing page that has to tell a former subscriber what they were on and
1041
+ * when it ended, rather than showing them the same blank state as somebody
1042
+ * who never subscribed. It can never replace a live subscription, so it is
1043
+ * safe to add to an existing call; it is off by default all the same,
1044
+ * because an entitlement check wants the strict question.
1045
+ *
1046
+ * `opts.organizationId` reads an organization's subscription instead of the
1047
+ * user's own on an org-billed app. The caller must be a member.
870
1048
  */
871
- getSubscription(accessToken: string): Promise<SubscriptionDto | null>;
1049
+ getSubscription(accessToken: string, opts?: {
1050
+ organizationId?: string;
1051
+ includeEnded?: boolean;
1052
+ }): Promise<SubscriptionDto | null>;
872
1053
  /**
873
1054
  * Start a hosted-checkout session. Returns the URL to redirect the user
874
1055
  * to and the local PENDING Subscription row. Subscription activation
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EAEL,OAAO,EACP,qBAAqB,EACrB,iBAAiB,EAEjB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,OAAO,EACP,gBAAgB,EAEhB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,YAAY,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC7C,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC;AAED,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC;AAID,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACpG,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;GAIG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,oDAAoD;IACpD,SAAgB,YAAY,EAAE,kBAAkB,CAAC;IACjD,0EAA0E;IAC1E,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,oEAAoE;IACpE,SAAgB,OAAO,EAAE,aAAa,CAAC;IACvC,sEAAsE;IACtE,SAAgB,aAAa,EAAE,mBAAmB,CAAC;IACnD,6CAA6C;IAC7C,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,yDAAyD;IACzD,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,oEAAoE;IACpE,SAAgB,OAAO,EAAE,aAAa,CAAC;IACvC,uEAAuE;IACvE,SAAgB,GAAG,EAAE,SAAS,CAAC;gBAEnB,MAAM,EAAE,WAAW;IAiC/B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK;IAYtC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;CAuJpF;AA6ED;;;;;GAKG;AACH,cAAM,SAAS;IAED,OAAO,CAAC,QAAQ,CAAC,MAAM;IADnC,OAAO,CAAC,SAAS,CAAuB;gBACX,MAAM,EAAE,KAAK;YAE5B,IAAI;IAOlB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAU9D,+EAA+E;IAC/E,QAAQ,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAU7C;AAED,cAAM,kBAAkB;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C;;;;;;;;;;;;OAYG;IACH,EAAE,IAAI,OAAO,CAAC,cAAc,CAAC;CAG9B;AAED,cAAM,UAAU;IACF,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpD;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvD;;;;;;;;;;OAUG;IACH,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1D;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;IAIF;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpE;;;;;OAKG;IACH,0BAA0B,CAAC,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC9D,OAAO,EAAE,OAAO,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAIF;;;;OAIG;IACH,2BAA2B,CAAC,KAAK,EAAE;QACjC,QAAQ,EAAE,OAAO,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7B;;;;;OAKG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,OAAO,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IAMF,yBAAyB,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAM/D;;;;;OAKG;IACH,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CACR,KAAK,CAAC;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAMD,2FAA2F;IAC3F,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAe1F;;;;;;OAMG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG;QAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMlG;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,GACnD,OAAO,CAAC,UAAU,GAAG;QAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMhE;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOrD;;;;;OAKG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAI3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIpF;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAIjE;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAMxF;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IASzE;;;;;;;;OAQG;IACH,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAMpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,uBAAuB,CAAC,KAAK,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAIrE;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,UAAU,CAAA;KAAE,CAAC;IAMvF;;;;OAIG;IACH,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CACR,KAAK,CAAC;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;KACnB,CAAC,CACH;IAMD,2FAA2F;IAC3F,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBpF,iFAAiF;IACjF,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACtC,OAAO,EAAE,OAAO,CAAC;QACjB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;KACzC,CAAC;IAMF;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAMF,sEAAsE;IACtE,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAMzE;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAMzE,wCAAwC;IACxC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IAY5D;;;OAGG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlF;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQxE,2DAA2D;IAC3D,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAC/C,KAAK,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAMD,sEAAsE;IACtE,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IASxC;;;;OAIG;IACH,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IASnF;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAQnF;AAED;;;;;;;;GAQG;AACH,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAWzE,cAAM,mBAAmB;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C,kEAAkE;IAClE,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GACxE,OAAO,CAAC;QAAE,YAAY,EAAE,eAAe,CAAC;QAAC,UAAU,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IAMxF;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAMvF,oDAAoD;IACpD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IASlF,sDAAsD;IACtD,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC3D,OAAO,CAAC,eAAe,CAAC;IAS3B;;;;;OAKG;IACH,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IASxC;;;OAGG;IACH,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;KAAE,GAC3D,OAAO,CAAC;QAAE,UAAU,EAAE,yBAAyB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IASpE,mEAAmE;IACnE,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAShC;;;OAGG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;KAAE,GAC5C,OAAO,CAAC;QACT,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;KACpC,CAAC;IASF;;;;;;OAMG;IACH,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAShC;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IASjF;;;OAGG;IACH,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC;QACT,UAAU,EAAE;YACV,EAAE,EAAE,MAAM,CAAC;YACX,cAAc,EAAE,MAAM,CAAC;YACvB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;SACpC,CAAC;KACH,CAAC;IASF;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAS3E;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAQzD;AAED,cAAM,cAAc;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGpC;AAED,cAAM,WAAW;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB;mEAC2D;QAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3B;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAS/B;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAS/E;;;;;;;GAOG;AACH,cAAM,aAAa;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C,4EAA4E;IAC5E,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7D;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIvF;;;;OAIG;IACH,UAAU,CACR,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;CAMxC;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;IACpD,qDAAqD;IACrD,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;QACjD,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;CACvB;AA2CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,OAAO,CAwBV;AAMD,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,GAAG,EAAE,WAAW,CAAC;IACjB,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAqED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAsGpC;AAED,cAAM,aAAa;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK;IAE1C;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIlD;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACzD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAWlC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,qBAAqB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACrD,OAAO,CAAC,iBAAiB,CAAC;IAM7B;;;;;;;;OAQG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,uBAAuB,CAAC;IAMnC;;;;;;;;;OASG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMzD;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IASlG;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,eAAe,CAAC;CAa5B"}