@reclaimprotocol/client 0.1.34 → 0.1.35

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.
@@ -3,6 +3,10 @@ export declare const ROUTES: {
3
3
  readonly method: "post";
4
4
  readonly path: "/orgs/{orgId}/invite";
5
5
  };
6
+ readonly AcknowledgeCallbackEvents: {
7
+ readonly method: "post";
8
+ readonly path: "/verifications/callback-events/acknowledge";
9
+ };
6
10
  readonly AddOrgMember: {
7
11
  readonly method: "post";
8
12
  readonly path: "/orgs/{orgId}/members";
@@ -91,6 +95,10 @@ export declare const ROUTES: {
91
95
  readonly method: "post";
92
96
  readonly path: "/admin/orgs/{orgId}/credits/{grantId}/void";
93
97
  };
98
+ readonly AgentInstallationMarkdown: {
99
+ readonly method: "get";
100
+ readonly path: "/docs/agent-installation.md";
101
+ };
94
102
  readonly AppleAppSiteAssociation: {
95
103
  readonly method: "get";
96
104
  readonly path: "/.well-known/apple-app-site-association";
@@ -391,6 +399,10 @@ export declare const ROUTES: {
391
399
  readonly method: "get";
392
400
  readonly path: "/verifications/callback-dlq";
393
401
  };
402
+ readonly ListCallbackEvents: {
403
+ readonly method: "get";
404
+ readonly path: "/verifications/callback-events";
405
+ };
394
406
  readonly ListCallbackSubscriptions: {
395
407
  readonly method: "get";
396
408
  readonly path: "/verifications/callback-subscriptions";
@@ -495,6 +507,10 @@ export declare const ROUTES: {
495
507
  readonly method: "post";
496
508
  readonly path: "/admin/billing/transactions/{txId}/refund";
497
509
  };
510
+ readonly ReleaseCallbackListener: {
511
+ readonly method: "post";
512
+ readonly path: "/verifications/callback-listener/release";
513
+ };
498
514
  readonly RemoveOrgMember: {
499
515
  readonly method: "delete";
500
516
  readonly path: "/orgs/{orgId}/members/{memberId}";
package/lib/routes.gen.js CHANGED
@@ -1,10 +1,11 @@
1
1
  // AUTO-GENERATED by packages/app/scripts/mcp-tools-gen.ts
2
- // from packages/app/openapi.yaml (spec v0.1.0, source sha256:e2db795ab15c).
2
+ // from packages/app/openapi.yaml (spec v0.1.0, source sha256:de7373741e35).
3
3
  // The hash catches drift the version misses (a spec can change without a
4
4
  // version bump) — do not remove it as "redundant" with the version.
5
5
  // Run `npm run openapi:gen --workspace=packages/app` to regenerate. Do not edit by hand.
6
6
  export const ROUTES = {
7
7
  "AcceptOrgInvite": { "method": "post", "path": "/orgs/{orgId}/invite" },
8
+ "AcknowledgeCallbackEvents": { "method": "post", "path": "/verifications/callback-events/acknowledge" },
8
9
  "AddOrgMember": { "method": "post", "path": "/orgs/{orgId}/members" },
9
10
  "AddProviderContributionComment": { "method": "post", "path": "/providers/{providerId}/contributions/{campaignId}/comments" },
10
11
  "AddStaffMember": { "method": "post", "path": "/admin/staff" },
@@ -27,6 +28,7 @@ export const ROUTES = {
27
28
  "AdminUsers": { "method": "get", "path": "/admin/users" },
28
29
  "AdminVerificationClients": { "method": "get", "path": "/admin/verification-clients" },
29
30
  "AdminVoidOrgCredit": { "method": "post", "path": "/admin/orgs/{orgId}/credits/{grantId}/void" },
31
+ "AgentInstallationMarkdown": { "method": "get", "path": "/docs/agent-installation.md" },
30
32
  "AppleAppSiteAssociation": { "method": "get", "path": "/.well-known/apple-app-site-association" },
31
33
  "AssetLinksJson": { "method": "get", "path": "/.well-known/assetlinks.json" },
32
34
  "BindVerificationSessionTeeNonce": { "method": "put", "path": "/verifications/sessions/{sessionId}/tee-nonce" },
@@ -102,6 +104,7 @@ export const ROUTES = {
102
104
  "JwksJson": { "method": "get", "path": "/.well-known/jwks.json" },
103
105
  "ListBillingPlans": { "method": "get", "path": "/billing/plans" },
104
106
  "ListCallbackDlq": { "method": "get", "path": "/verifications/callback-dlq" },
107
+ "ListCallbackEvents": { "method": "get", "path": "/verifications/callback-events" },
105
108
  "ListCallbackSubscriptions": { "method": "get", "path": "/verifications/callback-subscriptions" },
106
109
  "ListFeatureFlagRevisions": { "method": "get", "path": "/admin/feature-flags/{flagKey}/revisions" },
107
110
  "ListOrgCallbackSubscriptions": { "method": "get", "path": "/orgs/{orgId}/callback-subscriptions" },
@@ -128,6 +131,7 @@ export const ROUTES = {
128
131
  "PublishProviderVersion": { "method": "post", "path": "/providers/{providerId}/versions/{version}/publish" },
129
132
  "RefreshBillingPlans": { "method": "post", "path": "/admin/billing/plans/refresh" },
130
133
  "RefundTransaction": { "method": "post", "path": "/admin/billing/transactions/{txId}/refund" },
134
+ "ReleaseCallbackListener": { "method": "post", "path": "/verifications/callback-listener/release" },
131
135
  "RemoveOrgMember": { "method": "delete", "path": "/orgs/{orgId}/members/{memberId}" },
132
136
  "RemoveStaffMember": { "method": "delete", "path": "/admin/staff/{email}" },
133
137
  "ReportClaimant": { "method": "post", "path": "/v/{sessionId}/claimant" },
@@ -1347,6 +1347,26 @@ export interface paths {
1347
1347
  patch?: never;
1348
1348
  trace?: never;
1349
1349
  };
1350
+ "/docs/agent-installation.md": {
1351
+ parameters: {
1352
+ query?: never;
1353
+ header?: never;
1354
+ path?: never;
1355
+ cookie?: never;
1356
+ };
1357
+ /**
1358
+ * Agent installation instructions
1359
+ * @description How to install the Reclaim MCP server in each supported coding agent, as Markdown for a coding agent to read: the exact commands or configuration per agent, how to verify the installation, and troubleshooting. It tells the agent to follow only the section for the client it runs in. Public.
1360
+ */
1361
+ get: operations["AgentInstallationMarkdown"];
1362
+ put?: never;
1363
+ post?: never;
1364
+ delete?: never;
1365
+ options?: never;
1366
+ head?: never;
1367
+ patch?: never;
1368
+ trace?: never;
1369
+ };
1350
1370
  "/login": {
1351
1371
  parameters: {
1352
1372
  query?: never;
@@ -2492,12 +2512,26 @@ export interface paths {
2492
2512
  /**
2493
2513
  * Register a callback subscription
2494
2514
  * @description Registers a destination for verification results on the organization
2495
- * the presented `OrgToken` resolves to. The body is just `callbackUrl`
2496
- * and `events`. At least one subscription must exist for the org before a
2497
- * verification session can be created. Delivery is scoped by org: terminal
2498
- * results are ECIES-encrypted to the org's eth public key when its
2499
- * `canEncryptResult` is enabled (see `PUT /orgs/{orgId}/keypair`), else
2500
- * delivered as plaintext.
2515
+ * the presented `OrgToken` resolves to. At least one subscription must
2516
+ * exist for the org before you can create a verification session.
2517
+ * Delivery is scoped by org: terminal results are ECIES-encrypted to the
2518
+ * org's eth public key when its `canEncryptResult` is enabled (see
2519
+ * `PUT /orgs/{orgId}/keypair`), else delivered as plaintext.
2520
+ *
2521
+ * To receive results at a URL, send `callbackUrl` and `events`. Builder
2522
+ * POSTs each delivery to that URL.
2523
+ *
2524
+ * To read results without a public URL during local development, send
2525
+ * `deliveryMode: "pull"`. Builder keeps the deliveries and you read them
2526
+ * with `GET /verifications/callback-events`. A pull subscription is a
2527
+ * 90-second lease: it receives events and satisfies the session-creation
2528
+ * check only while the lease is unexpired. Send the same request about
2529
+ * every 30 seconds to renew it, and call
2530
+ * `POST /verifications/callback-listener/release` when you stop. Production
2531
+ * needs a webhook subscription. An org has at most one pull subscription.
2532
+ * If it already exists, Builder renews it and returns it with status 200.
2533
+ * If the body includes `events`, they replace the subscription's events;
2534
+ * if it omits them, the existing events are kept.
2501
2535
  */
2502
2536
  post: operations["CreateCallbackSubscription"];
2503
2537
  delete?: never;
@@ -2506,6 +2540,86 @@ export interface paths {
2506
2540
  patch?: never;
2507
2541
  trace?: never;
2508
2542
  };
2543
+ "/verifications/callback-listener/release": {
2544
+ parameters: {
2545
+ query?: never;
2546
+ header?: never;
2547
+ path?: never;
2548
+ cookie?: never;
2549
+ };
2550
+ get?: never;
2551
+ put?: never;
2552
+ /**
2553
+ * Release the pull listener
2554
+ * @description Expires the organization's pull subscription lease immediately, so it stops receiving events and no longer satisfies the session-creation check. Stored events stay readable. Call it when the coding agent stops. It succeeds when no pull subscription exists or the lease has already expired.
2555
+ */
2556
+ post: operations["ReleaseCallbackListener"];
2557
+ delete?: never;
2558
+ options?: never;
2559
+ head?: never;
2560
+ patch?: never;
2561
+ trace?: never;
2562
+ };
2563
+ "/verifications/callback-events": {
2564
+ parameters: {
2565
+ query?: never;
2566
+ header?: never;
2567
+ path?: never;
2568
+ cookie?: never;
2569
+ };
2570
+ /**
2571
+ * List events from the pull subscription
2572
+ * @description Lists the deliveries of the organization's pull subscription, oldest
2573
+ * first. Use it to read verification results without a public URL.
2574
+ * Create the pull subscription with `POST /verifications/callback-subscriptions`
2575
+ * and `deliveryMode: "pull"`.
2576
+ *
2577
+ * Each item's `envelope` is the body that Builder POSTs to a webhook
2578
+ * subscription, so you handle both the same way. For a pull
2579
+ * subscription, `envelope.timestamp` is the time Builder created the
2580
+ * delivery.
2581
+ *
2582
+ * To poll, pass the previous response's `next` as `after`. `next` is
2583
+ * always set, and equals `after` when no new events exist. Treat cursors
2584
+ * as opaque. A cursor read is not complete: a delivery that commits after
2585
+ * a later one can be missed, because the cursor has already moved past
2586
+ * it. The reliable path is `pending=true` plus
2587
+ * `POST /verifications/callback-events/acknowledge`: acknowledge each
2588
+ * event you handled, and read `pending=true` without `after` so anything
2589
+ * missed shows up on the next read.
2590
+ *
2591
+ * Builder keeps result payloads for seven days. Acknowledged events stay
2592
+ * readable until then.
2593
+ */
2594
+ get: operations["ListCallbackEvents"];
2595
+ put?: never;
2596
+ post?: never;
2597
+ delete?: never;
2598
+ options?: never;
2599
+ head?: never;
2600
+ patch?: never;
2601
+ trace?: never;
2602
+ };
2603
+ "/verifications/callback-events/acknowledge": {
2604
+ parameters: {
2605
+ query?: never;
2606
+ header?: never;
2607
+ path?: never;
2608
+ cookie?: never;
2609
+ };
2610
+ get?: never;
2611
+ put?: never;
2612
+ /**
2613
+ * Acknowledge events from the pull subscription
2614
+ * @description Marks pull deliveries as `delivered` so `GET /verifications/callback-events` with `pending=true` stops returning them. Builder keeps the payloads until the seven-day retention limit. Ids that are unknown, belong to another organization, or are already acknowledged are ignored.
2615
+ */
2616
+ post: operations["AcknowledgeCallbackEvents"];
2617
+ delete?: never;
2618
+ options?: never;
2619
+ head?: never;
2620
+ patch?: never;
2621
+ trace?: never;
2622
+ };
2509
2623
  "/verifications/callback-subscriptions/{subscriptionId}": {
2510
2624
  parameters: {
2511
2625
  query?: never;
@@ -2541,7 +2655,8 @@ export interface paths {
2541
2655
  put?: never;
2542
2656
  /**
2543
2657
  * Register a callback subscription on an organization
2544
- * @description Registers a destination for verification results on the organization. Caller must be an active member of the org. The body is just `callbackUrl` and `events`; delivery is scoped to the org and encrypted as an ECIES ciphertext (base64url) to the org's encryption credential when set, else delivered as plaintext.
2658
+ * @description Registers a destination for verification results on the organization. Caller must be an active member of the org. Delivery is scoped to the org and encrypted as an ECIES ciphertext (base64url) to the org's encryption credential when set, else delivered as plaintext.
2659
+ * Send `callbackUrl` and `events` to receive results at a URL. Send `deliveryMode: "pull"` to keep results for reading with `GET /verifications/callback-events`. A pull subscription works only while its 90-second lease is unexpired, and each repeated request renews it. An org has at most one pull subscription. If it already exists, Builder returns it with status 200.
2545
2660
  */
2546
2661
  post: operations["CreateOrgCallbackSubscription"];
2547
2662
  delete?: never;
@@ -5798,24 +5913,59 @@ export interface components {
5798
5913
  * @description The organization that owns this callback subscription.
5799
5914
  */
5800
5915
  orgId: string;
5801
- /** @description HTTP(S) endpoint that receives the event. It may contain `{{sessionId}}` and top-level session-context placeholders such as `{{orderId}}`. The Builder URI-encodes each value and stores the expanded URL when it creates the delivery. */
5802
- callbackUrl: string;
5916
+ deliveryMode: components["schemas"]["CallbackDeliveryMode"];
5917
+ /** @description HTTP(S) endpoint that receives the event. It may contain `{{sessionId}}` and top-level session-context placeholders such as `{{orderId}}`. The Builder URI-encodes each value and stores the expanded URL when it creates the delivery. Absent when `deliveryMode` is `pull`. */
5918
+ callbackUrl?: string;
5919
+ /** @description Present when `deliveryMode` is `pull`. The pull subscription receives events and satisfies the session-creation check only until this time. Renew it by repeating the create request. */
5920
+ listenerExpiresAt?: components["schemas"]["Timestamp"];
5803
5921
  /** @description Events this subscription wants delivered — any subset of `VerificationEvent`. Builder terminal events are `verification_success`, `verification_rejected`, `verification_error`, `verification_cancelled`, and `session_expired`. Terminal result deliveries contain the signed result when one is available; non-terminal events deliver a plaintext notification. */
5804
5922
  events: components["schemas"]["VerificationEvent"][];
5805
5923
  createdAt: components["schemas"]["Timestamp"];
5806
5924
  updatedAt: components["schemas"]["Timestamp"];
5807
5925
  };
5808
- /** @description Body for `POST /verifications/callback-subscriptions`. The owning organization is resolved from the presented `OrgToken`; delivery is scoped to that org and encrypted to its credential when set. */
5809
- CreateCallbackSubscriptionRequest: {
5926
+ /**
5927
+ * @description How Builder delivers events. `webhook` POSTs each one to `callbackUrl`. `pull` keeps them for you to read with `GET /verifications/callback-events`.
5928
+ * @enum {string}
5929
+ */
5930
+ CallbackDeliveryMode: "webhook" | "pull";
5931
+ /** @description A subscription that Builder POSTs each delivery to. */
5932
+ WebhookCallbackSubscriptionRequest: {
5933
+ /**
5934
+ * @description Omit it or send `webhook`.
5935
+ * @enum {string}
5936
+ */
5937
+ deliveryMode?: "webhook";
5810
5938
  /** @description Callback URL or template. Supported placeholders are `{{sessionId}}` and top-level scalar context keys. */
5811
5939
  callbackUrl: string;
5812
5940
  events: components["schemas"]["VerificationEvent"][];
5813
5941
  };
5814
- /** @description Body for `POST /orgs/{orgId}/callback-subscriptions`. The owning organization comes from the path; bearer-authenticated and gated on org membership. Delivery is scoped to the org and encrypted to its credential when set. */
5815
- CreateOrgCallbackSubscriptionRequest: {
5816
- /** @description Callback URL or template. Supported placeholders are `{{sessionId}}` and top-level scalar context keys. */
5817
- callbackUrl: string;
5818
- events: components["schemas"]["VerificationEvent"][];
5942
+ /** @description A subscription whose deliveries wait for you to read them. It has no URL. An org has at most one. */
5943
+ PullCallbackSubscriptionRequest: {
5944
+ /** @enum {string} */
5945
+ deliveryMode: "pull";
5946
+ /** @description Not allowed. A pull subscription has no URL. */
5947
+ callbackUrl?: unknown;
5948
+ /** @description Events to keep. Defaults to every event. */
5949
+ events?: components["schemas"]["VerificationEvent"][];
5950
+ };
5951
+ /** @description Body for `POST /verifications/callback-subscriptions`. The owning organization is resolved from the presented `OrgToken`; delivery is scoped to that org and encrypted to its credential when set. Send `callbackUrl` for a webhook, or `deliveryMode: "pull"` for a subscription you read. */
5952
+ CreateCallbackSubscriptionRequest: components["schemas"]["WebhookCallbackSubscriptionRequest"] | components["schemas"]["PullCallbackSubscriptionRequest"];
5953
+ /** @description Body for `POST /orgs/{orgId}/callback-subscriptions`. The owning organization comes from the path; bearer-authenticated and gated on org membership. Delivery is scoped to the org and encrypted to its credential when set. Send `callbackUrl` for a webhook, or `deliveryMode: "pull"` for a subscription you read. */
5954
+ CreateOrgCallbackSubscriptionRequest: components["schemas"]["WebhookCallbackSubscriptionRequest"] | components["schemas"]["PullCallbackSubscriptionRequest"];
5955
+ /** @description One delivery waiting on the organization's pull subscription. */
5956
+ CallbackEvent: {
5957
+ /**
5958
+ * Format: uuid
5959
+ * @description Pass it to `POST /verifications/callback-events/acknowledge`.
5960
+ */
5961
+ id: string;
5962
+ subscriptionId: components["schemas"]["SubscriptionID"];
5963
+ sessionId: components["schemas"]["SessionID"];
5964
+ event: components["schemas"]["VerificationEvent"];
5965
+ /** @description `pending` until you acknowledge the event, then `delivered`. */
5966
+ deliveryStatus: components["schemas"]["CallbackDeliveryStatus"];
5967
+ createdAt: components["schemas"]["Timestamp"];
5968
+ envelope: components["schemas"]["VerificationResultDelivery"];
5819
5969
  };
5820
5970
  /** @description Present only when the session's `mode` is `SANDBOX`. */
5821
5971
  SandboxLimits: {
@@ -6216,7 +6366,7 @@ export interface components {
6216
6366
  signature: string;
6217
6367
  }[];
6218
6368
  };
6219
- /** @description The JSON envelope POSTed to a callback subscription's `callbackUrl` (see the `verificationResult` webhook). `sessionId`, `event` and `timestamp` are unauthenticated plaintext routing hints; branch on `event` for the shape of `data`. **Terminal result events** carry the signed result — an ECIES ciphertext (base64url, secp256k1 + AES-256-GCM) wrapping the signed JWS when the org has an encryption credential, else the plaintext signed JWS — act only on the signature-verified contents. **Non-terminal events** carry a plaintext, **unsigned** progress notification — advisory only; the signed terminal result is the source of truth. */
6369
+ /** @description The JSON envelope POSTed to a callback subscription's `callbackUrl` (see the `verificationResult` webhook), and returned as `envelope` by `GET /verifications/callback-events` for a pull subscription. `sessionId`, `event` and `timestamp` are unauthenticated plaintext routing hints; branch on `event` for the shape of `data`. **Terminal result events** carry the signed result — an ECIES ciphertext (base64url, secp256k1 + AES-256-GCM) wrapping the signed JWS when the org has an encryption credential, else the plaintext signed JWS — act only on the signature-verified contents. **Non-terminal events** carry a plaintext, **unsigned** progress notification — advisory only; the signed terminal result is the source of truth. */
6220
6370
  VerificationResultDelivery: {
6221
6371
  sessionId: components["schemas"]["SessionID"];
6222
6372
  /** @description The event that produced this delivery. */
@@ -6364,8 +6514,11 @@ export interface components {
6364
6514
  VerificationDelivery: {
6365
6515
  subscriptionId: components["schemas"]["SubscriptionID"];
6366
6516
  event: components["schemas"]["VerificationEvent"];
6367
- /** Format: uri */
6368
- callbackUrl: string;
6517
+ /**
6518
+ * Format: uri
6519
+ * @description Absent for deliveries to a pull subscription.
6520
+ */
6521
+ callbackUrl?: string;
6369
6522
  deliveryStatus: components["schemas"]["CallbackDeliveryStatus"];
6370
6523
  attempts: number;
6371
6524
  lastAttemptAt?: components["schemas"]["Timestamp"];
@@ -8515,6 +8668,27 @@ export interface operations {
8515
8668
  default: components["responses"]["ProblemResponse"];
8516
8669
  };
8517
8670
  };
8671
+ AgentInstallationMarkdown: {
8672
+ parameters: {
8673
+ query?: never;
8674
+ header?: never;
8675
+ path?: never;
8676
+ cookie?: never;
8677
+ };
8678
+ requestBody?: never;
8679
+ responses: {
8680
+ /** @description The guide as Markdown. */
8681
+ 200: {
8682
+ headers: {
8683
+ [name: string]: unknown;
8684
+ };
8685
+ content: {
8686
+ "text/markdown": string;
8687
+ };
8688
+ };
8689
+ default: components["responses"]["ProblemResponse"];
8690
+ };
8691
+ };
8518
8692
  LoginPage: {
8519
8693
  parameters: {
8520
8694
  query?: {
@@ -8860,9 +9034,12 @@ export interface operations {
8860
9034
  tab?: "overview" | "connect" | "integrate" | "providers" | "members" | "themes" | "settings" | "sessions" | "billing";
8861
9035
  /** @description Integrate tab only. Which integration path to show: a coding agent over MCP, the client package, or plain HTTP. */
8862
9036
  track?: "agent" | "sdk" | "http";
8863
- /** @description Integrate tab, agent track only. Which coding agent's install command to show. */
9037
+ /**
9038
+ * @deprecated
9039
+ * @description Ignored.
9040
+ */
8864
9041
  agent?: "claude" | "copilot" | "cursor" | "omp" | "opencode" | "codex" | "antigravity" | "others";
8865
- /** @description Integrate tab, agent track only. What users prove, as typed into the prompt's goal field; kept when another agent is picked. */
9042
+ /** @description Integrate tab, agent track only. What users prove, as typed into the prompt's goal field. */
8866
9043
  goal?: string;
8867
9044
  /** @description Integrate tab: the providers to show in the examples in place of placeholder ids, for example when arriving from a provider page or a build page. Repeat to pass several. Dashboard tab: scopes the report to sessions that ran this provider (the first one); options come from `GET /orgs/{orgId}/providers/used`. */
8868
9045
  providerId?: components["schemas"]["ProviderID"][];
@@ -10677,6 +10854,15 @@ export interface operations {
10677
10854
  };
10678
10855
  };
10679
10856
  responses: {
10857
+ /** @description The org's existing pull subscription */
10858
+ 200: {
10859
+ headers: {
10860
+ [name: string]: unknown;
10861
+ };
10862
+ content: {
10863
+ "application/json": components["schemas"]["CallbackSubscription"];
10864
+ };
10865
+ };
10680
10866
  /** @description Subscription created */
10681
10867
  201: {
10682
10868
  headers: {
@@ -10689,6 +10875,85 @@ export interface operations {
10689
10875
  default: components["responses"]["ProblemResponse"];
10690
10876
  };
10691
10877
  };
10878
+ ReleaseCallbackListener: {
10879
+ parameters: {
10880
+ query?: never;
10881
+ header?: never;
10882
+ path?: never;
10883
+ cookie?: never;
10884
+ };
10885
+ requestBody?: never;
10886
+ responses: {
10887
+ /** @description Released */
10888
+ 204: {
10889
+ headers: {
10890
+ [name: string]: unknown;
10891
+ };
10892
+ content?: never;
10893
+ };
10894
+ default: components["responses"]["ProblemResponse"];
10895
+ };
10896
+ };
10897
+ ListCallbackEvents: {
10898
+ parameters: {
10899
+ query?: {
10900
+ /** @description Cursor from the `next` field of a previous response. Returns only events after it. Omit it to start from the oldest event. */
10901
+ after?: string;
10902
+ /** @description Maximum number of events to return. Defaults to 50. */
10903
+ limit?: number;
10904
+ /** @description Returns only events of this verification session. */
10905
+ sessionId?: components["schemas"]["SessionID"];
10906
+ /** @description When `true`, returns only events you have not acknowledged. Defaults to `false`. */
10907
+ pending?: boolean;
10908
+ };
10909
+ header?: never;
10910
+ path?: never;
10911
+ cookie?: never;
10912
+ };
10913
+ requestBody?: never;
10914
+ responses: {
10915
+ /** @description Ok */
10916
+ 200: {
10917
+ headers: {
10918
+ [name: string]: unknown;
10919
+ };
10920
+ content: {
10921
+ "application/json": {
10922
+ items: components["schemas"]["CallbackEvent"][];
10923
+ /** @description Cursor to pass as `after` on the next request. Equals `after` when `items` is empty, and `0` when you passed no `after`. */
10924
+ next: string;
10925
+ };
10926
+ };
10927
+ };
10928
+ default: components["responses"]["ProblemResponse"];
10929
+ };
10930
+ };
10931
+ AcknowledgeCallbackEvents: {
10932
+ parameters: {
10933
+ query?: never;
10934
+ header?: never;
10935
+ path?: never;
10936
+ cookie?: never;
10937
+ };
10938
+ requestBody: {
10939
+ content: {
10940
+ "application/json": {
10941
+ /** @description The `id` of each `CallbackEvent` to acknowledge. */
10942
+ ids: string[];
10943
+ };
10944
+ };
10945
+ };
10946
+ responses: {
10947
+ /** @description Acknowledged */
10948
+ 204: {
10949
+ headers: {
10950
+ [name: string]: unknown;
10951
+ };
10952
+ content?: never;
10953
+ };
10954
+ default: components["responses"]["ProblemResponse"];
10955
+ };
10956
+ };
10692
10957
  DeleteCallbackSubscription: {
10693
10958
  parameters: {
10694
10959
  query?: never;
@@ -10753,6 +11018,15 @@ export interface operations {
10753
11018
  };
10754
11019
  };
10755
11020
  responses: {
11021
+ /** @description The org's existing pull subscription */
11022
+ 200: {
11023
+ headers: {
11024
+ [name: string]: unknown;
11025
+ };
11026
+ content: {
11027
+ "application/json": components["schemas"]["CallbackSubscription"];
11028
+ };
11029
+ };
10756
11030
  /** @description Subscription created */
10757
11031
  201: {
10758
11032
  headers: {
@@ -11027,7 +11301,7 @@ export interface operations {
11027
11301
  "application/problem+json": components["schemas"]["Problem"];
11028
11302
  };
11029
11303
  };
11030
- /** @description No callback subscription exists for the organization. Register one first via `POST /verifications/callback-subscriptions` (or `POST /orgs/{orgId}/callback-subscriptions`). */
11304
+ /** @description No callback subscription exists for the organization. Register one first via `POST /verifications/callback-subscriptions` (or `POST /orgs/{orgId}/callback-subscriptions`). A pull subscription satisfies this check only while its listener lease is unexpired. */
11031
11305
  409: {
11032
11306
  headers: {
11033
11307
  [name: string]: unknown;
@@ -1,5 +1,5 @@
1
1
  // AUTO-GENERATED by packages/app/scripts/openapi-typegen.ts
2
- // from packages/app/openapi.yaml (spec v0.1.0, source sha256:e2db795ab15c).
2
+ // from packages/app/openapi.yaml (spec v0.1.0, source sha256:de7373741e35).
3
3
  // The hash catches drift the version misses (a spec can change without a
4
4
  // version bump) — do not remove it as "redundant" with the version.
5
5
  // Run `npm run openapi:gen --workspace=packages/app` to regenerate. Do not edit by hand.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reclaimprotocol/client",
3
3
  "title": "Reclaim Client",
4
- "version": "0.1.34",
4
+ "version": "0.1.35",
5
5
  "description": "Typed SDK/HTTP client SDK for the Reclaim Protocol — the programmatic way to use Reclaim Protocol to verify **data points** about your users (a follower count, an account balance, an order). Can be directly integrated by apps to request verification for their users using Reclaim Protocol and verify the results.",
6
6
  "type": "module",
7
7
  "sideEffects": false,
package/src/routes.gen.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  // AUTO-GENERATED by packages/app/scripts/mcp-tools-gen.ts
2
- // from packages/app/openapi.yaml (spec v0.1.0, source sha256:e2db795ab15c).
2
+ // from packages/app/openapi.yaml (spec v0.1.0, source sha256:de7373741e35).
3
3
  // The hash catches drift the version misses (a spec can change without a
4
4
  // version bump) — do not remove it as "redundant" with the version.
5
5
  // Run `npm run openapi:gen --workspace=packages/app` to regenerate. Do not edit by hand.
6
6
 
7
7
  export const ROUTES = {
8
8
  "AcceptOrgInvite": {"method":"post","path":"/orgs/{orgId}/invite"},
9
+ "AcknowledgeCallbackEvents": {"method":"post","path":"/verifications/callback-events/acknowledge"},
9
10
  "AddOrgMember": {"method":"post","path":"/orgs/{orgId}/members"},
10
11
  "AddProviderContributionComment": {"method":"post","path":"/providers/{providerId}/contributions/{campaignId}/comments"},
11
12
  "AddStaffMember": {"method":"post","path":"/admin/staff"},
@@ -28,6 +29,7 @@ export const ROUTES = {
28
29
  "AdminUsers": {"method":"get","path":"/admin/users"},
29
30
  "AdminVerificationClients": {"method":"get","path":"/admin/verification-clients"},
30
31
  "AdminVoidOrgCredit": {"method":"post","path":"/admin/orgs/{orgId}/credits/{grantId}/void"},
32
+ "AgentInstallationMarkdown": {"method":"get","path":"/docs/agent-installation.md"},
31
33
  "AppleAppSiteAssociation": {"method":"get","path":"/.well-known/apple-app-site-association"},
32
34
  "AssetLinksJson": {"method":"get","path":"/.well-known/assetlinks.json"},
33
35
  "BindVerificationSessionTeeNonce": {"method":"put","path":"/verifications/sessions/{sessionId}/tee-nonce"},
@@ -103,6 +105,7 @@ export const ROUTES = {
103
105
  "JwksJson": {"method":"get","path":"/.well-known/jwks.json"},
104
106
  "ListBillingPlans": {"method":"get","path":"/billing/plans"},
105
107
  "ListCallbackDlq": {"method":"get","path":"/verifications/callback-dlq"},
108
+ "ListCallbackEvents": {"method":"get","path":"/verifications/callback-events"},
106
109
  "ListCallbackSubscriptions": {"method":"get","path":"/verifications/callback-subscriptions"},
107
110
  "ListFeatureFlagRevisions": {"method":"get","path":"/admin/feature-flags/{flagKey}/revisions"},
108
111
  "ListOrgCallbackSubscriptions": {"method":"get","path":"/orgs/{orgId}/callback-subscriptions"},
@@ -129,6 +132,7 @@ export const ROUTES = {
129
132
  "PublishProviderVersion": {"method":"post","path":"/providers/{providerId}/versions/{version}/publish"},
130
133
  "RefreshBillingPlans": {"method":"post","path":"/admin/billing/plans/refresh"},
131
134
  "RefundTransaction": {"method":"post","path":"/admin/billing/transactions/{txId}/refund"},
135
+ "ReleaseCallbackListener": {"method":"post","path":"/verifications/callback-listener/release"},
132
136
  "RemoveOrgMember": {"method":"delete","path":"/orgs/{orgId}/members/{memberId}"},
133
137
  "RemoveStaffMember": {"method":"delete","path":"/admin/staff/{email}"},
134
138
  "ReportClaimant": {"method":"post","path":"/v/{sessionId}/claimant"},
@@ -1,5 +1,5 @@
1
1
  // AUTO-GENERATED by packages/app/scripts/openapi-typegen.ts
2
- // from packages/app/openapi.yaml (spec v0.1.0, source sha256:e2db795ab15c).
2
+ // from packages/app/openapi.yaml (spec v0.1.0, source sha256:de7373741e35).
3
3
  // The hash catches drift the version misses (a spec can change without a
4
4
  // version bump) — do not remove it as "redundant" with the version.
5
5
  // Run `npm run openapi:gen --workspace=packages/app` to regenerate. Do not edit by hand.
@@ -1353,6 +1353,26 @@ export interface paths {
1353
1353
  patch?: never;
1354
1354
  trace?: never;
1355
1355
  };
1356
+ "/docs/agent-installation.md": {
1357
+ parameters: {
1358
+ query?: never;
1359
+ header?: never;
1360
+ path?: never;
1361
+ cookie?: never;
1362
+ };
1363
+ /**
1364
+ * Agent installation instructions
1365
+ * @description How to install the Reclaim MCP server in each supported coding agent, as Markdown for a coding agent to read: the exact commands or configuration per agent, how to verify the installation, and troubleshooting. It tells the agent to follow only the section for the client it runs in. Public.
1366
+ */
1367
+ get: operations["AgentInstallationMarkdown"];
1368
+ put?: never;
1369
+ post?: never;
1370
+ delete?: never;
1371
+ options?: never;
1372
+ head?: never;
1373
+ patch?: never;
1374
+ trace?: never;
1375
+ };
1356
1376
  "/login": {
1357
1377
  parameters: {
1358
1378
  query?: never;
@@ -2498,12 +2518,26 @@ export interface paths {
2498
2518
  /**
2499
2519
  * Register a callback subscription
2500
2520
  * @description Registers a destination for verification results on the organization
2501
- * the presented `OrgToken` resolves to. The body is just `callbackUrl`
2502
- * and `events`. At least one subscription must exist for the org before a
2503
- * verification session can be created. Delivery is scoped by org: terminal
2504
- * results are ECIES-encrypted to the org's eth public key when its
2505
- * `canEncryptResult` is enabled (see `PUT /orgs/{orgId}/keypair`), else
2506
- * delivered as plaintext.
2521
+ * the presented `OrgToken` resolves to. At least one subscription must
2522
+ * exist for the org before you can create a verification session.
2523
+ * Delivery is scoped by org: terminal results are ECIES-encrypted to the
2524
+ * org's eth public key when its `canEncryptResult` is enabled (see
2525
+ * `PUT /orgs/{orgId}/keypair`), else delivered as plaintext.
2526
+ *
2527
+ * To receive results at a URL, send `callbackUrl` and `events`. Builder
2528
+ * POSTs each delivery to that URL.
2529
+ *
2530
+ * To read results without a public URL during local development, send
2531
+ * `deliveryMode: "pull"`. Builder keeps the deliveries and you read them
2532
+ * with `GET /verifications/callback-events`. A pull subscription is a
2533
+ * 90-second lease: it receives events and satisfies the session-creation
2534
+ * check only while the lease is unexpired. Send the same request about
2535
+ * every 30 seconds to renew it, and call
2536
+ * `POST /verifications/callback-listener/release` when you stop. Production
2537
+ * needs a webhook subscription. An org has at most one pull subscription.
2538
+ * If it already exists, Builder renews it and returns it with status 200.
2539
+ * If the body includes `events`, they replace the subscription's events;
2540
+ * if it omits them, the existing events are kept.
2507
2541
  */
2508
2542
  post: operations["CreateCallbackSubscription"];
2509
2543
  delete?: never;
@@ -2512,6 +2546,86 @@ export interface paths {
2512
2546
  patch?: never;
2513
2547
  trace?: never;
2514
2548
  };
2549
+ "/verifications/callback-listener/release": {
2550
+ parameters: {
2551
+ query?: never;
2552
+ header?: never;
2553
+ path?: never;
2554
+ cookie?: never;
2555
+ };
2556
+ get?: never;
2557
+ put?: never;
2558
+ /**
2559
+ * Release the pull listener
2560
+ * @description Expires the organization's pull subscription lease immediately, so it stops receiving events and no longer satisfies the session-creation check. Stored events stay readable. Call it when the coding agent stops. It succeeds when no pull subscription exists or the lease has already expired.
2561
+ */
2562
+ post: operations["ReleaseCallbackListener"];
2563
+ delete?: never;
2564
+ options?: never;
2565
+ head?: never;
2566
+ patch?: never;
2567
+ trace?: never;
2568
+ };
2569
+ "/verifications/callback-events": {
2570
+ parameters: {
2571
+ query?: never;
2572
+ header?: never;
2573
+ path?: never;
2574
+ cookie?: never;
2575
+ };
2576
+ /**
2577
+ * List events from the pull subscription
2578
+ * @description Lists the deliveries of the organization's pull subscription, oldest
2579
+ * first. Use it to read verification results without a public URL.
2580
+ * Create the pull subscription with `POST /verifications/callback-subscriptions`
2581
+ * and `deliveryMode: "pull"`.
2582
+ *
2583
+ * Each item's `envelope` is the body that Builder POSTs to a webhook
2584
+ * subscription, so you handle both the same way. For a pull
2585
+ * subscription, `envelope.timestamp` is the time Builder created the
2586
+ * delivery.
2587
+ *
2588
+ * To poll, pass the previous response's `next` as `after`. `next` is
2589
+ * always set, and equals `after` when no new events exist. Treat cursors
2590
+ * as opaque. A cursor read is not complete: a delivery that commits after
2591
+ * a later one can be missed, because the cursor has already moved past
2592
+ * it. The reliable path is `pending=true` plus
2593
+ * `POST /verifications/callback-events/acknowledge`: acknowledge each
2594
+ * event you handled, and read `pending=true` without `after` so anything
2595
+ * missed shows up on the next read.
2596
+ *
2597
+ * Builder keeps result payloads for seven days. Acknowledged events stay
2598
+ * readable until then.
2599
+ */
2600
+ get: operations["ListCallbackEvents"];
2601
+ put?: never;
2602
+ post?: never;
2603
+ delete?: never;
2604
+ options?: never;
2605
+ head?: never;
2606
+ patch?: never;
2607
+ trace?: never;
2608
+ };
2609
+ "/verifications/callback-events/acknowledge": {
2610
+ parameters: {
2611
+ query?: never;
2612
+ header?: never;
2613
+ path?: never;
2614
+ cookie?: never;
2615
+ };
2616
+ get?: never;
2617
+ put?: never;
2618
+ /**
2619
+ * Acknowledge events from the pull subscription
2620
+ * @description Marks pull deliveries as `delivered` so `GET /verifications/callback-events` with `pending=true` stops returning them. Builder keeps the payloads until the seven-day retention limit. Ids that are unknown, belong to another organization, or are already acknowledged are ignored.
2621
+ */
2622
+ post: operations["AcknowledgeCallbackEvents"];
2623
+ delete?: never;
2624
+ options?: never;
2625
+ head?: never;
2626
+ patch?: never;
2627
+ trace?: never;
2628
+ };
2515
2629
  "/verifications/callback-subscriptions/{subscriptionId}": {
2516
2630
  parameters: {
2517
2631
  query?: never;
@@ -2547,7 +2661,8 @@ export interface paths {
2547
2661
  put?: never;
2548
2662
  /**
2549
2663
  * Register a callback subscription on an organization
2550
- * @description Registers a destination for verification results on the organization. Caller must be an active member of the org. The body is just `callbackUrl` and `events`; delivery is scoped to the org and encrypted as an ECIES ciphertext (base64url) to the org's encryption credential when set, else delivered as plaintext.
2664
+ * @description Registers a destination for verification results on the organization. Caller must be an active member of the org. Delivery is scoped to the org and encrypted as an ECIES ciphertext (base64url) to the org's encryption credential when set, else delivered as plaintext.
2665
+ * Send `callbackUrl` and `events` to receive results at a URL. Send `deliveryMode: "pull"` to keep results for reading with `GET /verifications/callback-events`. A pull subscription works only while its 90-second lease is unexpired, and each repeated request renews it. An org has at most one pull subscription. If it already exists, Builder returns it with status 200.
2551
2666
  */
2552
2667
  post: operations["CreateOrgCallbackSubscription"];
2553
2668
  delete?: never;
@@ -5804,24 +5919,59 @@ export interface components {
5804
5919
  * @description The organization that owns this callback subscription.
5805
5920
  */
5806
5921
  orgId: string;
5807
- /** @description HTTP(S) endpoint that receives the event. It may contain `{{sessionId}}` and top-level session-context placeholders such as `{{orderId}}`. The Builder URI-encodes each value and stores the expanded URL when it creates the delivery. */
5808
- callbackUrl: string;
5922
+ deliveryMode: components["schemas"]["CallbackDeliveryMode"];
5923
+ /** @description HTTP(S) endpoint that receives the event. It may contain `{{sessionId}}` and top-level session-context placeholders such as `{{orderId}}`. The Builder URI-encodes each value and stores the expanded URL when it creates the delivery. Absent when `deliveryMode` is `pull`. */
5924
+ callbackUrl?: string;
5925
+ /** @description Present when `deliveryMode` is `pull`. The pull subscription receives events and satisfies the session-creation check only until this time. Renew it by repeating the create request. */
5926
+ listenerExpiresAt?: components["schemas"]["Timestamp"];
5809
5927
  /** @description Events this subscription wants delivered — any subset of `VerificationEvent`. Builder terminal events are `verification_success`, `verification_rejected`, `verification_error`, `verification_cancelled`, and `session_expired`. Terminal result deliveries contain the signed result when one is available; non-terminal events deliver a plaintext notification. */
5810
5928
  events: components["schemas"]["VerificationEvent"][];
5811
5929
  createdAt: components["schemas"]["Timestamp"];
5812
5930
  updatedAt: components["schemas"]["Timestamp"];
5813
5931
  };
5814
- /** @description Body for `POST /verifications/callback-subscriptions`. The owning organization is resolved from the presented `OrgToken`; delivery is scoped to that org and encrypted to its credential when set. */
5815
- CreateCallbackSubscriptionRequest: {
5932
+ /**
5933
+ * @description How Builder delivers events. `webhook` POSTs each one to `callbackUrl`. `pull` keeps them for you to read with `GET /verifications/callback-events`.
5934
+ * @enum {string}
5935
+ */
5936
+ CallbackDeliveryMode: "webhook" | "pull";
5937
+ /** @description A subscription that Builder POSTs each delivery to. */
5938
+ WebhookCallbackSubscriptionRequest: {
5939
+ /**
5940
+ * @description Omit it or send `webhook`.
5941
+ * @enum {string}
5942
+ */
5943
+ deliveryMode?: "webhook";
5816
5944
  /** @description Callback URL or template. Supported placeholders are `{{sessionId}}` and top-level scalar context keys. */
5817
5945
  callbackUrl: string;
5818
5946
  events: components["schemas"]["VerificationEvent"][];
5819
5947
  };
5820
- /** @description Body for `POST /orgs/{orgId}/callback-subscriptions`. The owning organization comes from the path; bearer-authenticated and gated on org membership. Delivery is scoped to the org and encrypted to its credential when set. */
5821
- CreateOrgCallbackSubscriptionRequest: {
5822
- /** @description Callback URL or template. Supported placeholders are `{{sessionId}}` and top-level scalar context keys. */
5823
- callbackUrl: string;
5824
- events: components["schemas"]["VerificationEvent"][];
5948
+ /** @description A subscription whose deliveries wait for you to read them. It has no URL. An org has at most one. */
5949
+ PullCallbackSubscriptionRequest: {
5950
+ /** @enum {string} */
5951
+ deliveryMode: "pull";
5952
+ /** @description Not allowed. A pull subscription has no URL. */
5953
+ callbackUrl?: unknown;
5954
+ /** @description Events to keep. Defaults to every event. */
5955
+ events?: components["schemas"]["VerificationEvent"][];
5956
+ };
5957
+ /** @description Body for `POST /verifications/callback-subscriptions`. The owning organization is resolved from the presented `OrgToken`; delivery is scoped to that org and encrypted to its credential when set. Send `callbackUrl` for a webhook, or `deliveryMode: "pull"` for a subscription you read. */
5958
+ CreateCallbackSubscriptionRequest: components["schemas"]["WebhookCallbackSubscriptionRequest"] | components["schemas"]["PullCallbackSubscriptionRequest"];
5959
+ /** @description Body for `POST /orgs/{orgId}/callback-subscriptions`. The owning organization comes from the path; bearer-authenticated and gated on org membership. Delivery is scoped to the org and encrypted to its credential when set. Send `callbackUrl` for a webhook, or `deliveryMode: "pull"` for a subscription you read. */
5960
+ CreateOrgCallbackSubscriptionRequest: components["schemas"]["WebhookCallbackSubscriptionRequest"] | components["schemas"]["PullCallbackSubscriptionRequest"];
5961
+ /** @description One delivery waiting on the organization's pull subscription. */
5962
+ CallbackEvent: {
5963
+ /**
5964
+ * Format: uuid
5965
+ * @description Pass it to `POST /verifications/callback-events/acknowledge`.
5966
+ */
5967
+ id: string;
5968
+ subscriptionId: components["schemas"]["SubscriptionID"];
5969
+ sessionId: components["schemas"]["SessionID"];
5970
+ event: components["schemas"]["VerificationEvent"];
5971
+ /** @description `pending` until you acknowledge the event, then `delivered`. */
5972
+ deliveryStatus: components["schemas"]["CallbackDeliveryStatus"];
5973
+ createdAt: components["schemas"]["Timestamp"];
5974
+ envelope: components["schemas"]["VerificationResultDelivery"];
5825
5975
  };
5826
5976
  /** @description Present only when the session's `mode` is `SANDBOX`. */
5827
5977
  SandboxLimits: {
@@ -6222,7 +6372,7 @@ export interface components {
6222
6372
  signature: string;
6223
6373
  }[];
6224
6374
  };
6225
- /** @description The JSON envelope POSTed to a callback subscription's `callbackUrl` (see the `verificationResult` webhook). `sessionId`, `event` and `timestamp` are unauthenticated plaintext routing hints; branch on `event` for the shape of `data`. **Terminal result events** carry the signed result — an ECIES ciphertext (base64url, secp256k1 + AES-256-GCM) wrapping the signed JWS when the org has an encryption credential, else the plaintext signed JWS — act only on the signature-verified contents. **Non-terminal events** carry a plaintext, **unsigned** progress notification — advisory only; the signed terminal result is the source of truth. */
6375
+ /** @description The JSON envelope POSTed to a callback subscription's `callbackUrl` (see the `verificationResult` webhook), and returned as `envelope` by `GET /verifications/callback-events` for a pull subscription. `sessionId`, `event` and `timestamp` are unauthenticated plaintext routing hints; branch on `event` for the shape of `data`. **Terminal result events** carry the signed result — an ECIES ciphertext (base64url, secp256k1 + AES-256-GCM) wrapping the signed JWS when the org has an encryption credential, else the plaintext signed JWS — act only on the signature-verified contents. **Non-terminal events** carry a plaintext, **unsigned** progress notification — advisory only; the signed terminal result is the source of truth. */
6226
6376
  VerificationResultDelivery: {
6227
6377
  sessionId: components["schemas"]["SessionID"];
6228
6378
  /** @description The event that produced this delivery. */
@@ -6370,8 +6520,11 @@ export interface components {
6370
6520
  VerificationDelivery: {
6371
6521
  subscriptionId: components["schemas"]["SubscriptionID"];
6372
6522
  event: components["schemas"]["VerificationEvent"];
6373
- /** Format: uri */
6374
- callbackUrl: string;
6523
+ /**
6524
+ * Format: uri
6525
+ * @description Absent for deliveries to a pull subscription.
6526
+ */
6527
+ callbackUrl?: string;
6375
6528
  deliveryStatus: components["schemas"]["CallbackDeliveryStatus"];
6376
6529
  attempts: number;
6377
6530
  lastAttemptAt?: components["schemas"]["Timestamp"];
@@ -8521,6 +8674,27 @@ export interface operations {
8521
8674
  default: components["responses"]["ProblemResponse"];
8522
8675
  };
8523
8676
  };
8677
+ AgentInstallationMarkdown: {
8678
+ parameters: {
8679
+ query?: never;
8680
+ header?: never;
8681
+ path?: never;
8682
+ cookie?: never;
8683
+ };
8684
+ requestBody?: never;
8685
+ responses: {
8686
+ /** @description The guide as Markdown. */
8687
+ 200: {
8688
+ headers: {
8689
+ [name: string]: unknown;
8690
+ };
8691
+ content: {
8692
+ "text/markdown": string;
8693
+ };
8694
+ };
8695
+ default: components["responses"]["ProblemResponse"];
8696
+ };
8697
+ };
8524
8698
  LoginPage: {
8525
8699
  parameters: {
8526
8700
  query?: {
@@ -8866,9 +9040,12 @@ export interface operations {
8866
9040
  tab?: "overview" | "connect" | "integrate" | "providers" | "members" | "themes" | "settings" | "sessions" | "billing";
8867
9041
  /** @description Integrate tab only. Which integration path to show: a coding agent over MCP, the client package, or plain HTTP. */
8868
9042
  track?: "agent" | "sdk" | "http";
8869
- /** @description Integrate tab, agent track only. Which coding agent's install command to show. */
9043
+ /**
9044
+ * @deprecated
9045
+ * @description Ignored.
9046
+ */
8870
9047
  agent?: "claude" | "copilot" | "cursor" | "omp" | "opencode" | "codex" | "antigravity" | "others";
8871
- /** @description Integrate tab, agent track only. What users prove, as typed into the prompt's goal field; kept when another agent is picked. */
9048
+ /** @description Integrate tab, agent track only. What users prove, as typed into the prompt's goal field. */
8872
9049
  goal?: string;
8873
9050
  /** @description Integrate tab: the providers to show in the examples in place of placeholder ids, for example when arriving from a provider page or a build page. Repeat to pass several. Dashboard tab: scopes the report to sessions that ran this provider (the first one); options come from `GET /orgs/{orgId}/providers/used`. */
8874
9051
  providerId?: components["schemas"]["ProviderID"][];
@@ -10683,6 +10860,15 @@ export interface operations {
10683
10860
  };
10684
10861
  };
10685
10862
  responses: {
10863
+ /** @description The org's existing pull subscription */
10864
+ 200: {
10865
+ headers: {
10866
+ [name: string]: unknown;
10867
+ };
10868
+ content: {
10869
+ "application/json": components["schemas"]["CallbackSubscription"];
10870
+ };
10871
+ };
10686
10872
  /** @description Subscription created */
10687
10873
  201: {
10688
10874
  headers: {
@@ -10695,6 +10881,85 @@ export interface operations {
10695
10881
  default: components["responses"]["ProblemResponse"];
10696
10882
  };
10697
10883
  };
10884
+ ReleaseCallbackListener: {
10885
+ parameters: {
10886
+ query?: never;
10887
+ header?: never;
10888
+ path?: never;
10889
+ cookie?: never;
10890
+ };
10891
+ requestBody?: never;
10892
+ responses: {
10893
+ /** @description Released */
10894
+ 204: {
10895
+ headers: {
10896
+ [name: string]: unknown;
10897
+ };
10898
+ content?: never;
10899
+ };
10900
+ default: components["responses"]["ProblemResponse"];
10901
+ };
10902
+ };
10903
+ ListCallbackEvents: {
10904
+ parameters: {
10905
+ query?: {
10906
+ /** @description Cursor from the `next` field of a previous response. Returns only events after it. Omit it to start from the oldest event. */
10907
+ after?: string;
10908
+ /** @description Maximum number of events to return. Defaults to 50. */
10909
+ limit?: number;
10910
+ /** @description Returns only events of this verification session. */
10911
+ sessionId?: components["schemas"]["SessionID"];
10912
+ /** @description When `true`, returns only events you have not acknowledged. Defaults to `false`. */
10913
+ pending?: boolean;
10914
+ };
10915
+ header?: never;
10916
+ path?: never;
10917
+ cookie?: never;
10918
+ };
10919
+ requestBody?: never;
10920
+ responses: {
10921
+ /** @description Ok */
10922
+ 200: {
10923
+ headers: {
10924
+ [name: string]: unknown;
10925
+ };
10926
+ content: {
10927
+ "application/json": {
10928
+ items: components["schemas"]["CallbackEvent"][];
10929
+ /** @description Cursor to pass as `after` on the next request. Equals `after` when `items` is empty, and `0` when you passed no `after`. */
10930
+ next: string;
10931
+ };
10932
+ };
10933
+ };
10934
+ default: components["responses"]["ProblemResponse"];
10935
+ };
10936
+ };
10937
+ AcknowledgeCallbackEvents: {
10938
+ parameters: {
10939
+ query?: never;
10940
+ header?: never;
10941
+ path?: never;
10942
+ cookie?: never;
10943
+ };
10944
+ requestBody: {
10945
+ content: {
10946
+ "application/json": {
10947
+ /** @description The `id` of each `CallbackEvent` to acknowledge. */
10948
+ ids: string[];
10949
+ };
10950
+ };
10951
+ };
10952
+ responses: {
10953
+ /** @description Acknowledged */
10954
+ 204: {
10955
+ headers: {
10956
+ [name: string]: unknown;
10957
+ };
10958
+ content?: never;
10959
+ };
10960
+ default: components["responses"]["ProblemResponse"];
10961
+ };
10962
+ };
10698
10963
  DeleteCallbackSubscription: {
10699
10964
  parameters: {
10700
10965
  query?: never;
@@ -10759,6 +11024,15 @@ export interface operations {
10759
11024
  };
10760
11025
  };
10761
11026
  responses: {
11027
+ /** @description The org's existing pull subscription */
11028
+ 200: {
11029
+ headers: {
11030
+ [name: string]: unknown;
11031
+ };
11032
+ content: {
11033
+ "application/json": components["schemas"]["CallbackSubscription"];
11034
+ };
11035
+ };
10762
11036
  /** @description Subscription created */
10763
11037
  201: {
10764
11038
  headers: {
@@ -11033,7 +11307,7 @@ export interface operations {
11033
11307
  "application/problem+json": components["schemas"]["Problem"];
11034
11308
  };
11035
11309
  };
11036
- /** @description No callback subscription exists for the organization. Register one first via `POST /verifications/callback-subscriptions` (or `POST /orgs/{orgId}/callback-subscriptions`). */
11310
+ /** @description No callback subscription exists for the organization. Register one first via `POST /verifications/callback-subscriptions` (or `POST /orgs/{orgId}/callback-subscriptions`). A pull subscription satisfies this check only while its listener lease is unexpired. */
11037
11311
  409: {
11038
11312
  headers: {
11039
11313
  [name: string]: unknown;