@weftlabs/sdk 0.32.1 → 0.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/facilitator/middleware/index.js +1 -1
- package/dist/facilitator/middleware/index.js.map +1 -1
- package/dist/facilitator/middleware/index.mjs +1 -1
- package/dist/facilitator/middleware/index.mjs.map +1 -1
- package/dist/index.d.mts +315 -211
- package/dist/index.d.ts +315 -211
- package/dist/index.js +228 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +228 -0
- package/dist/index.mjs.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +1 -1
- package/dist/server.mjs.map +1 -1
- package/docs/APIKeysApi.md +3 -1
- package/docs/AuthApi.md +3 -0
- package/docs/PaymentsApi.md +3 -1
- package/docs/WebhooksApi.md +435 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/generated/runtime.ts","../src/generated/models/AccountBootstrapApproval.ts","../src/generated/models/AccountBootstrapCreatedApproval.ts","../src/generated/models/AccountBootstrapCreated.ts","../src/generated/models/AccountBootstrapCreatedResponse.ts","../src/generated/models/AccountBootstrapRequest.ts","../src/generated/models/AccountBootstrapStatus.ts","../src/generated/models/AccountBootstrapStatusResponse.ts","../src/generated/models/MeApiKeyCreator.ts","../src/generated/models/MeApiKey.ts","../src/generated/models/AccountDetails.ts","../src/generated/models/ApiKey.ts","../src/generated/models/ApiKeyCreated.ts","../src/generated/models/ApiKeyCreatedResponse.ts","../src/generated/models/Pagination.ts","../src/generated/models/ApiKeyListResponse.ts","../src/generated/models/User.ts","../src/generated/models/AuthResponseData.ts","../src/generated/models/AuthResponse.ts","../src/generated/models/Wallet.ts","../src/generated/models/PromoBalance.ts","../src/generated/models/SpendingPolicy.ts","../src/generated/models/BalanceResponse.ts","../src/generated/models/ConfirmRequest.ts","../src/generated/models/CreateApiKeyRequest.ts","../src/generated/models/ResourceStats.ts","../src/generated/models/EnrolledResource.ts","../src/generated/models/ErrorResponse.ts","../src/generated/models/FetchBalanceSnapshot.ts","../src/generated/models/FetchErrorResponse.ts","../src/generated/models/InsufficientScopeResponse.ts","../src/generated/models/Fetch403Response.ts","../src/generated/models/FetchRequestBody.ts","../src/generated/models/FetchRequest.ts","../src/generated/models/FetchResponse.ts","../src/generated/models/GetPurchaseIdParameter.ts","../src/generated/models/PrincipalWallet.ts","../src/generated/models/UserPrincipal.ts","../src/generated/models/MeResponseData.ts","../src/generated/models/MeResponse.ts","../src/generated/models/MessageResponseData.ts","../src/generated/models/MessageResponse.ts","../src/generated/models/ModelError.ts","../src/generated/models/PasswordResetRequest.ts","../src/generated/models/PasswordUpdateRequest.ts","../src/generated/models/Payment.ts","../src/generated/models/PaymentListResponse.ts","../src/generated/models/PaymentResponse.ts","../src/generated/models/PurchaseArtifact.ts","../src/generated/models/Purchase.ts","../src/generated/models/PurchaseListResponse.ts","../src/generated/models/PurchaseResponse.ts","../src/generated/models/RateLimitResponse.ts","../src/generated/models/ResendConfirmationRequest.ts","../src/generated/models/ResourceEnrollmentRequest.ts","../src/generated/models/ResourceEnrollmentResponse.ts","../src/generated/models/SearchWeftFetchCompatibility.ts","../src/generated/models/SearchAccessMethod.ts","../src/generated/models/SearchCapabilityRef.ts","../src/generated/models/SearchCompactAccessPrice.ts","../src/generated/models/SearchCompactAccess.ts","../src/generated/models/SearchCompactNextCall.ts","../src/generated/models/SearchCompactResultBlockedScopesInner.ts","../src/generated/models/SearchCompactResultOperation.ts","../src/generated/models/SearchHelperDocs.ts","../src/generated/models/SearchCompactResultAttribution.ts","../src/generated/models/SearchCompactResultProvider.ts","../src/generated/models/SearchCompactResult.ts","../src/generated/models/SearchCuratedCallability.ts","../src/generated/models/SearchCuratedExecution.ts","../src/generated/models/SearchCuratedOperation.ts","../src/generated/models/SearchCuratedService.ts","../src/generated/models/SearchCuratedSource.ts","../src/generated/models/SearchEndpointCallInputSchema.ts","../src/generated/models/SearchEndpointCall.ts","../src/generated/models/SearchPaymentOffer.ts","../src/generated/models/SearchEndpointPrice.ts","../src/generated/models/SearchEndpointHit.ts","../src/generated/models/SearchErrorResponse.ts","../src/generated/models/SearchExecutionModeFilter.ts","../src/generated/models/SearchProtocolFilter.ts","../src/generated/models/SearchMethodFilter.ts","../src/generated/models/SearchResourceTypeFilter.ts","../src/generated/models/SearchPriceUsdFilter.ts","../src/generated/models/SearchPriceAtomicFilter.ts","../src/generated/models/SearchStringSetFilter.ts","../src/generated/models/SearchFilterSpec.ts","../src/generated/models/SearchProviderRef.ts","../src/generated/models/SearchRequest.ts","../src/generated/models/SearchResult.ts","../src/generated/models/SearchResponseWarningsInner.ts","../src/generated/models/SearchResponse.ts","../src/generated/models/SignInRequest.ts","../src/generated/models/SignUpRequest.ts","../src/generated/apis/APIKeysApi.ts","../src/generated/apis/AccountApi.ts","../src/generated/apis/AgentBootstrapApi.ts","../src/generated/apis/AuthApi.ts","../src/generated/apis/BalanceApi.ts","../src/generated/apis/DocumentationApi.ts","../src/generated/apis/FetchApi.ts","../src/generated/apis/PaymentsApi.ts","../src/generated/apis/PurchasesApi.ts","../src/generated/apis/ResourcesApi.ts","../src/generated/apis/SearchApi.ts","../src/error.ts","../src/client.ts","../src/facilitator/index.ts","../src/facilitator/client.ts","../src/facilitator/fee.ts"],"sourcesContent":["export * from \"./generated\";\nexport * from \"./generated/apis\";\nexport * from \"./generated/models\";\n\nexport * from \"./client\";\nexport * from \"./error\";\nexport * from \"./facilitator\";\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://weft.network\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | Promise<string> | ((name: string) => string | Promise<string>); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string | Promise<string>) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n let body: any;\n if (isFormData(overriddenInit.body)\n || (overriddenInit.body instanceof URLSearchParams)\n || isBlob(overriddenInit.body)) {\n body = overriddenInit.body;\n } else if (this.isJsonMime(headers['Content-Type'])) {\n body = JSON.stringify(overriddenInit.body);\n } else {\n body = overriddenInit.body;\n }\n\n const init: RequestInit = {\n ...overriddenInit,\n body\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n const result: { [key: string]: any } = {};\n for (const key of Object.keys(data)) {\n result[key] = fn(data[key]);\n }\n return result;\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface AccountBootstrapApproval\n */\nexport interface AccountBootstrapApproval {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapApproval\n */\n method: AccountBootstrapApprovalMethodEnum;\n /**\n *\n * @type {number}\n * @memberof AccountBootstrapApproval\n */\n expiresIn: number;\n /**\n * Minimum status polling interval in seconds.\n * @type {number}\n * @memberof AccountBootstrapApproval\n */\n interval: number;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapApprovalMethodEnum = {\n EmailLink: 'email_link'\n} as const;\nexport type AccountBootstrapApprovalMethodEnum = typeof AccountBootstrapApprovalMethodEnum[keyof typeof AccountBootstrapApprovalMethodEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapApproval interface.\n */\nexport function instanceOfAccountBootstrapApproval(value: object): value is AccountBootstrapApproval {\n if (!('method' in value) || value['method'] === undefined) return false;\n if (!('expiresIn' in value) || value['expiresIn'] === undefined) return false;\n if (!('interval' in value) || value['interval'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapApprovalFromJSON(json: any): AccountBootstrapApproval {\n return AccountBootstrapApprovalFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapApprovalFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapApproval {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'],\n 'expiresIn': json['expires_in'],\n 'interval': json['interval'],\n };\n}\n\nexport function AccountBootstrapApprovalToJSON(json: any): AccountBootstrapApproval {\n return AccountBootstrapApprovalToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapApprovalToJSONTyped(value?: AccountBootstrapApproval | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'expires_in': value['expiresIn'],\n 'interval': value['interval'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface AccountBootstrapCreatedApproval\n */\nexport interface AccountBootstrapCreatedApproval {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapCreatedApproval\n */\n method: AccountBootstrapCreatedApprovalMethodEnum;\n /**\n *\n * @type {number}\n * @memberof AccountBootstrapCreatedApproval\n */\n expiresIn: number;\n /**\n * Minimum status polling interval in seconds.\n * @type {number}\n * @memberof AccountBootstrapCreatedApproval\n */\n interval: number;\n /**\n * Show this code to the human; approval requires a matching normalized code.\n * @type {string}\n * @memberof AccountBootstrapCreatedApproval\n */\n userCode: string;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapCreatedApprovalMethodEnum = {\n EmailLink: 'email_link'\n} as const;\nexport type AccountBootstrapCreatedApprovalMethodEnum = typeof AccountBootstrapCreatedApprovalMethodEnum[keyof typeof AccountBootstrapCreatedApprovalMethodEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapCreatedApproval interface.\n */\nexport function instanceOfAccountBootstrapCreatedApproval(value: object): value is AccountBootstrapCreatedApproval {\n if (!('method' in value) || value['method'] === undefined) return false;\n if (!('expiresIn' in value) || value['expiresIn'] === undefined) return false;\n if (!('interval' in value) || value['interval'] === undefined) return false;\n if (!('userCode' in value) || value['userCode'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapCreatedApprovalFromJSON(json: any): AccountBootstrapCreatedApproval {\n return AccountBootstrapCreatedApprovalFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedApprovalFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapCreatedApproval {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'],\n 'expiresIn': json['expires_in'],\n 'interval': json['interval'],\n 'userCode': json['user_code'],\n };\n}\n\nexport function AccountBootstrapCreatedApprovalToJSON(json: any): AccountBootstrapCreatedApproval {\n return AccountBootstrapCreatedApprovalToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedApprovalToJSONTyped(value?: AccountBootstrapCreatedApproval | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'expires_in': value['expiresIn'],\n 'interval': value['interval'],\n 'user_code': value['userCode'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapCreatedApproval } from './AccountBootstrapCreatedApproval';\nimport {\n AccountBootstrapCreatedApprovalFromJSON,\n AccountBootstrapCreatedApprovalFromJSONTyped,\n AccountBootstrapCreatedApprovalToJSON,\n AccountBootstrapCreatedApprovalToJSONTyped,\n} from './AccountBootstrapCreatedApproval';\n\n/**\n *\n * @export\n * @interface AccountBootstrapCreated\n */\nexport interface AccountBootstrapCreated {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapCreated\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapCreated\n */\n status: AccountBootstrapCreatedStatusEnum;\n /**\n *\n * @type {Set<string>}\n * @memberof AccountBootstrapCreated\n */\n capabilities: Set<AccountBootstrapCreatedCapabilitiesEnum>;\n /**\n * Claim-window expiry. Null after the credential is promoted.\n * @type {Date}\n * @memberof AccountBootstrapCreated\n */\n expiresAt: Date | null;\n /**\n *\n * @type {AccountBootstrapCreatedApproval}\n * @memberof AccountBootstrapCreated\n */\n approval: AccountBootstrapCreatedApproval;\n /**\n * Returned once. Store as a secret; it cannot be recovered.\n * @type {string}\n * @memberof AccountBootstrapCreated\n */\n temporaryApiKey: string;\n /**\n * Transitional response field for older CLI releases that use OAuth device exchange.\n * @type {string}\n * @memberof AccountBootstrapCreated\n * @deprecated\n */\n deviceCode?: string;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapCreatedStatusEnum = {\n Pending: 'pending',\n Claimed: 'claimed',\n Rejected: 'rejected',\n Expired: 'expired',\n Consumed: 'consumed',\n Revoked: 'revoked'\n} as const;\nexport type AccountBootstrapCreatedStatusEnum = typeof AccountBootstrapCreatedStatusEnum[keyof typeof AccountBootstrapCreatedStatusEnum];\n\n/**\n * @export\n */\nexport const AccountBootstrapCreatedCapabilitiesEnum = {\n Identity: 'identity',\n Search: 'search',\n Balance: 'balance',\n Fetch: 'fetch',\n Purchases: 'purchases',\n Status: 'status',\n Cancel: 'cancel',\n Revoke: 'revoke'\n} as const;\nexport type AccountBootstrapCreatedCapabilitiesEnum = typeof AccountBootstrapCreatedCapabilitiesEnum[keyof typeof AccountBootstrapCreatedCapabilitiesEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapCreated interface.\n */\nexport function instanceOfAccountBootstrapCreated(value: object): value is AccountBootstrapCreated {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('capabilities' in value) || value['capabilities'] === undefined) return false;\n if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;\n if (!('approval' in value) || value['approval'] === undefined) return false;\n if (!('temporaryApiKey' in value) || value['temporaryApiKey'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapCreatedFromJSON(json: any): AccountBootstrapCreated {\n return AccountBootstrapCreatedFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapCreated {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'status': json['status'],\n 'capabilities': new Set(json['capabilities']),\n 'expiresAt': (json['expires_at'] == null ? null : new Date(json['expires_at'])),\n 'approval': AccountBootstrapCreatedApprovalFromJSON(json['approval']),\n 'temporaryApiKey': json['temporary_api_key'],\n 'deviceCode': json['device_code'] == null ? undefined : json['device_code'],\n };\n}\n\nexport function AccountBootstrapCreatedToJSON(json: any): AccountBootstrapCreated {\n return AccountBootstrapCreatedToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedToJSONTyped(value?: AccountBootstrapCreated | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'status': value['status'],\n 'capabilities': Array.from(value['capabilities'] as Set<any>),\n 'expires_at': value['expiresAt'] == null ? value['expiresAt'] : value['expiresAt'].toISOString(),\n 'approval': AccountBootstrapCreatedApprovalToJSON(value['approval']),\n 'temporary_api_key': value['temporaryApiKey'],\n 'device_code': value['deviceCode'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapCreated } from './AccountBootstrapCreated';\nimport {\n AccountBootstrapCreatedFromJSON,\n AccountBootstrapCreatedFromJSONTyped,\n AccountBootstrapCreatedToJSON,\n AccountBootstrapCreatedToJSONTyped,\n} from './AccountBootstrapCreated';\n\n/**\n *\n * @export\n * @interface AccountBootstrapCreatedResponse\n */\nexport interface AccountBootstrapCreatedResponse {\n /**\n *\n * @type {AccountBootstrapCreated}\n * @memberof AccountBootstrapCreatedResponse\n */\n data: AccountBootstrapCreated;\n}\n\n/**\n * Check if a given object implements the AccountBootstrapCreatedResponse interface.\n */\nexport function instanceOfAccountBootstrapCreatedResponse(value: object): value is AccountBootstrapCreatedResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapCreatedResponseFromJSON(json: any): AccountBootstrapCreatedResponse {\n return AccountBootstrapCreatedResponseFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapCreatedResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': AccountBootstrapCreatedFromJSON(json['data']),\n };\n}\n\nexport function AccountBootstrapCreatedResponseToJSON(json: any): AccountBootstrapCreatedResponse {\n return AccountBootstrapCreatedResponseToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedResponseToJSONTyped(value?: AccountBootstrapCreatedResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': AccountBootstrapCreatedToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface AccountBootstrapRequest\n */\nexport interface AccountBootstrapRequest {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n agentName: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n hostName?: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n reason?: string;\n /**\n * Transitional compatibility for older CLI releases that use OAuth device exchange.\n * @type {string}\n * @memberof AccountBootstrapRequest\n * @deprecated\n */\n oauthClientId?: string;\n /**\n * Transitional compatibility for older CLI releases that use OAuth device exchange.\n * @type {Set<string>}\n * @memberof AccountBootstrapRequest\n */\n requestedScopes?: Set<AccountBootstrapRequestRequestedScopesEnum>;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapRequestRequestedScopesEnum = {\n Balance: 'balance',\n Fetch: 'fetch',\n Search: 'search'\n} as const;\nexport type AccountBootstrapRequestRequestedScopesEnum = typeof AccountBootstrapRequestRequestedScopesEnum[keyof typeof AccountBootstrapRequestRequestedScopesEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapRequest interface.\n */\nexport function instanceOfAccountBootstrapRequest(value: object): value is AccountBootstrapRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('agentName' in value) || value['agentName'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapRequestFromJSON(json: any): AccountBootstrapRequest {\n return AccountBootstrapRequestFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n 'agentName': json['agent_name'],\n 'hostName': json['host_name'] == null ? undefined : json['host_name'],\n 'reason': json['reason'] == null ? undefined : json['reason'],\n 'oauthClientId': json['oauth_client_id'] == null ? undefined : json['oauth_client_id'],\n 'requestedScopes': json['requested_scopes'] == null ? undefined : new Set(json['requested_scopes']),\n };\n}\n\nexport function AccountBootstrapRequestToJSON(json: any): AccountBootstrapRequest {\n return AccountBootstrapRequestToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapRequestToJSONTyped(value?: AccountBootstrapRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n 'agent_name': value['agentName'],\n 'host_name': value['hostName'],\n 'reason': value['reason'],\n 'oauth_client_id': value['oauthClientId'],\n 'requested_scopes': value['requestedScopes'] == null ? undefined : Array.from(value['requestedScopes'] as Set<any>),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapApproval } from './AccountBootstrapApproval';\nimport {\n AccountBootstrapApprovalFromJSON,\n AccountBootstrapApprovalFromJSONTyped,\n AccountBootstrapApprovalToJSON,\n AccountBootstrapApprovalToJSONTyped,\n} from './AccountBootstrapApproval';\n\n/**\n *\n * @export\n * @interface AccountBootstrapStatus\n */\nexport interface AccountBootstrapStatus {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapStatus\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapStatus\n */\n status: AccountBootstrapStatusStatusEnum;\n /**\n *\n * @type {Set<string>}\n * @memberof AccountBootstrapStatus\n */\n capabilities: Set<AccountBootstrapStatusCapabilitiesEnum>;\n /**\n * Claim-window expiry. Null after the credential is promoted.\n * @type {Date}\n * @memberof AccountBootstrapStatus\n */\n expiresAt: Date | null;\n /**\n *\n * @type {AccountBootstrapApproval}\n * @memberof AccountBootstrapStatus\n */\n approval: AccountBootstrapApproval;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapStatusStatusEnum = {\n Pending: 'pending',\n Claimed: 'claimed',\n Rejected: 'rejected',\n Expired: 'expired',\n Consumed: 'consumed',\n Revoked: 'revoked'\n} as const;\nexport type AccountBootstrapStatusStatusEnum = typeof AccountBootstrapStatusStatusEnum[keyof typeof AccountBootstrapStatusStatusEnum];\n\n/**\n * @export\n */\nexport const AccountBootstrapStatusCapabilitiesEnum = {\n Identity: 'identity',\n Search: 'search',\n Balance: 'balance',\n Fetch: 'fetch',\n Purchases: 'purchases',\n Status: 'status',\n Cancel: 'cancel',\n Revoke: 'revoke'\n} as const;\nexport type AccountBootstrapStatusCapabilitiesEnum = typeof AccountBootstrapStatusCapabilitiesEnum[keyof typeof AccountBootstrapStatusCapabilitiesEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapStatus interface.\n */\nexport function instanceOfAccountBootstrapStatus(value: object): value is AccountBootstrapStatus {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('capabilities' in value) || value['capabilities'] === undefined) return false;\n if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;\n if (!('approval' in value) || value['approval'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapStatusFromJSON(json: any): AccountBootstrapStatus {\n return AccountBootstrapStatusFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapStatus {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'status': json['status'],\n 'capabilities': new Set(json['capabilities']),\n 'expiresAt': (json['expires_at'] == null ? null : new Date(json['expires_at'])),\n 'approval': AccountBootstrapApprovalFromJSON(json['approval']),\n };\n}\n\nexport function AccountBootstrapStatusToJSON(json: any): AccountBootstrapStatus {\n return AccountBootstrapStatusToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusToJSONTyped(value?: AccountBootstrapStatus | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'status': value['status'],\n 'capabilities': Array.from(value['capabilities'] as Set<any>),\n 'expires_at': value['expiresAt'] == null ? value['expiresAt'] : value['expiresAt'].toISOString(),\n 'approval': AccountBootstrapApprovalToJSON(value['approval']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapStatus } from './AccountBootstrapStatus';\nimport {\n AccountBootstrapStatusFromJSON,\n AccountBootstrapStatusFromJSONTyped,\n AccountBootstrapStatusToJSON,\n AccountBootstrapStatusToJSONTyped,\n} from './AccountBootstrapStatus';\n\n/**\n *\n * @export\n * @interface AccountBootstrapStatusResponse\n */\nexport interface AccountBootstrapStatusResponse {\n /**\n *\n * @type {AccountBootstrapStatus}\n * @memberof AccountBootstrapStatusResponse\n */\n data: AccountBootstrapStatus;\n}\n\n/**\n * Check if a given object implements the AccountBootstrapStatusResponse interface.\n */\nexport function instanceOfAccountBootstrapStatusResponse(value: object): value is AccountBootstrapStatusResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapStatusResponseFromJSON(json: any): AccountBootstrapStatusResponse {\n return AccountBootstrapStatusResponseFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapStatusResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': AccountBootstrapStatusFromJSON(json['data']),\n };\n}\n\nexport function AccountBootstrapStatusResponseToJSON(json: any): AccountBootstrapStatusResponse {\n return AccountBootstrapStatusResponseToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusResponseToJSONTyped(value?: AccountBootstrapStatusResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': AccountBootstrapStatusToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * The user who minted this API key, surfaced for audit rendering only.\n * `null` if that user has since left the Organization. NEVER use for\n * authorization.\n *\n * @export\n * @interface MeApiKeyCreator\n */\nexport interface MeApiKeyCreator {\n /**\n *\n * @type {number}\n * @memberof MeApiKeyCreator\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof MeApiKeyCreator\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof MeApiKeyCreator\n */\n displayName?: string;\n}\n\n/**\n * Check if a given object implements the MeApiKeyCreator interface.\n */\nexport function instanceOfMeApiKeyCreator(value: object): value is MeApiKeyCreator {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function MeApiKeyCreatorFromJSON(json: any): MeApiKeyCreator {\n return MeApiKeyCreatorFromJSONTyped(json, false);\n}\n\nexport function MeApiKeyCreatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeApiKeyCreator {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'email': json['email'],\n 'displayName': json['display_name'] == null ? undefined : json['display_name'],\n };\n}\n\nexport function MeApiKeyCreatorToJSON(json: any): MeApiKeyCreator {\n return MeApiKeyCreatorToJSONTyped(json, false);\n}\n\nexport function MeApiKeyCreatorToJSONTyped(value?: MeApiKeyCreator | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'email': value['email'],\n 'display_name': value['displayName'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MeApiKeyCreator } from './MeApiKeyCreator';\nimport {\n MeApiKeyCreatorFromJSON,\n MeApiKeyCreatorFromJSONTyped,\n MeApiKeyCreatorToJSON,\n MeApiKeyCreatorToJSONTyped,\n} from './MeApiKeyCreator';\n\n/**\n *\n * @export\n * @interface MeApiKey\n */\nexport interface MeApiKey {\n /**\n *\n * @type {number}\n * @memberof MeApiKey\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof MeApiKey\n */\n name?: string;\n /**\n *\n * @type {Date}\n * @memberof MeApiKey\n */\n createdAt: Date;\n /**\n *\n * @type {Date}\n * @memberof MeApiKey\n */\n lastUsedAt?: Date;\n /**\n *\n * @type {MeApiKeyCreator}\n * @memberof MeApiKey\n */\n createdBy?: MeApiKeyCreator;\n}\n\n/**\n * Check if a given object implements the MeApiKey interface.\n */\nexport function instanceOfMeApiKey(value: object): value is MeApiKey {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n return true;\n}\n\nexport function MeApiKeyFromJSON(json: any): MeApiKey {\n return MeApiKeyFromJSONTyped(json, false);\n}\n\nexport function MeApiKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeApiKey {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'createdAt': (new Date(json['created_at'])),\n 'lastUsedAt': json['last_used_at'] == null ? undefined : (new Date(json['last_used_at'])),\n 'createdBy': json['created_by'] == null ? undefined : MeApiKeyCreatorFromJSON(json['created_by']),\n };\n}\n\nexport function MeApiKeyToJSON(json: any): MeApiKey {\n return MeApiKeyToJSONTyped(json, false);\n}\n\nexport function MeApiKeyToJSONTyped(value?: MeApiKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'created_at': value['createdAt'].toISOString(),\n 'last_used_at': value['lastUsedAt'] == null ? value['lastUsedAt'] : value['lastUsedAt'].toISOString(),\n 'created_by': MeApiKeyCreatorToJSON(value['createdBy']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MeApiKey } from './MeApiKey';\nimport {\n MeApiKeyFromJSON,\n MeApiKeyFromJSONTyped,\n MeApiKeyToJSON,\n MeApiKeyToJSONTyped,\n} from './MeApiKey';\n\n/**\n * The Organization that owns the authenticated API key — the principal\n * in API v1 (the key represents an Org, not a person). `api_key` carries\n * audit info about the key itself, including the user who minted it\n * (`created_by`, which may be `null` if that user has left the Org).\n *\n * @export\n * @interface AccountDetails\n */\nexport interface AccountDetails {\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n principalType: AccountDetailsPrincipalTypeEnum;\n /**\n *\n * @type {number}\n * @memberof AccountDetails\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n slug: string;\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n kind: string;\n /**\n *\n * @type {MeApiKey}\n * @memberof AccountDetails\n */\n apiKey: MeApiKey;\n}\n\n\n/**\n * @export\n */\nexport const AccountDetailsPrincipalTypeEnum = {\n Organization: 'organization'\n} as const;\nexport type AccountDetailsPrincipalTypeEnum = typeof AccountDetailsPrincipalTypeEnum[keyof typeof AccountDetailsPrincipalTypeEnum];\n\n\n/**\n * Check if a given object implements the AccountDetails interface.\n */\nexport function instanceOfAccountDetails(value: object): value is AccountDetails {\n if (!('principalType' in value) || value['principalType'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('slug' in value) || value['slug'] === undefined) return false;\n if (!('kind' in value) || value['kind'] === undefined) return false;\n if (!('apiKey' in value) || value['apiKey'] === undefined) return false;\n return true;\n}\n\nexport function AccountDetailsFromJSON(json: any): AccountDetails {\n return AccountDetailsFromJSONTyped(json, false);\n}\n\nexport function AccountDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountDetails {\n if (json == null) {\n return json;\n }\n return {\n\n 'principalType': json['principal_type'],\n 'id': json['id'],\n 'name': json['name'],\n 'slug': json['slug'],\n 'kind': json['kind'],\n 'apiKey': MeApiKeyFromJSON(json['api_key']),\n };\n}\n\nexport function AccountDetailsToJSON(json: any): AccountDetails {\n return AccountDetailsToJSONTyped(json, false);\n}\n\nexport function AccountDetailsToJSONTyped(value?: AccountDetails | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'principal_type': value['principalType'],\n 'id': value['id'],\n 'name': value['name'],\n 'slug': value['slug'],\n 'kind': value['kind'],\n 'api_key': MeApiKeyToJSON(value['apiKey']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ApiKey\n */\nexport interface ApiKey {\n /**\n *\n * @type {number}\n * @memberof ApiKey\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof ApiKey\n */\n name?: string;\n /**\n * First 16 characters of the key for identification\n * @type {string}\n * @memberof ApiKey\n */\n keyPrefix: string;\n /**\n *\n * @type {Date}\n * @memberof ApiKey\n */\n lastUsedAt?: Date;\n /**\n *\n * @type {Date}\n * @memberof ApiKey\n */\n revokedAt?: Date;\n /**\n *\n * @type {Date}\n * @memberof ApiKey\n */\n createdAt: Date;\n}\n\n/**\n * Check if a given object implements the ApiKey interface.\n */\nexport function instanceOfApiKey(value: object): value is ApiKey {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('keyPrefix' in value) || value['keyPrefix'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyFromJSON(json: any): ApiKey {\n return ApiKeyFromJSONTyped(json, false);\n}\n\nexport function ApiKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKey {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'keyPrefix': json['key_prefix'],\n 'lastUsedAt': json['last_used_at'] == null ? undefined : (new Date(json['last_used_at'])),\n 'revokedAt': json['revoked_at'] == null ? undefined : (new Date(json['revoked_at'])),\n 'createdAt': (new Date(json['created_at'])),\n };\n}\n\nexport function ApiKeyToJSON(json: any): ApiKey {\n return ApiKeyToJSONTyped(json, false);\n}\n\nexport function ApiKeyToJSONTyped(value?: ApiKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'key_prefix': value['keyPrefix'],\n 'last_used_at': value['lastUsedAt'] == null ? value['lastUsedAt'] : value['lastUsedAt'].toISOString(),\n 'revoked_at': value['revokedAt'] == null ? value['revokedAt'] : value['revokedAt'].toISOString(),\n 'created_at': value['createdAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ApiKeyCreated\n */\nexport interface ApiKeyCreated {\n /**\n *\n * @type {number}\n * @memberof ApiKeyCreated\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof ApiKeyCreated\n */\n name?: string;\n /**\n *\n * @type {string}\n * @memberof ApiKeyCreated\n */\n keyPrefix: string;\n /**\n * Full API key (shown only once at creation)\n * @type {string}\n * @memberof ApiKeyCreated\n */\n rawKey: string;\n /**\n *\n * @type {Date}\n * @memberof ApiKeyCreated\n */\n createdAt: Date;\n}\n\n/**\n * Check if a given object implements the ApiKeyCreated interface.\n */\nexport function instanceOfApiKeyCreated(value: object): value is ApiKeyCreated {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('keyPrefix' in value) || value['keyPrefix'] === undefined) return false;\n if (!('rawKey' in value) || value['rawKey'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyCreatedFromJSON(json: any): ApiKeyCreated {\n return ApiKeyCreatedFromJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKeyCreated {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'keyPrefix': json['key_prefix'],\n 'rawKey': json['raw_key'],\n 'createdAt': (new Date(json['created_at'])),\n };\n}\n\nexport function ApiKeyCreatedToJSON(json: any): ApiKeyCreated {\n return ApiKeyCreatedToJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedToJSONTyped(value?: ApiKeyCreated | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'key_prefix': value['keyPrefix'],\n 'raw_key': value['rawKey'],\n 'created_at': value['createdAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApiKeyCreated } from './ApiKeyCreated';\nimport {\n ApiKeyCreatedFromJSON,\n ApiKeyCreatedFromJSONTyped,\n ApiKeyCreatedToJSON,\n ApiKeyCreatedToJSONTyped,\n} from './ApiKeyCreated';\n\n/**\n *\n * @export\n * @interface ApiKeyCreatedResponse\n */\nexport interface ApiKeyCreatedResponse {\n /**\n *\n * @type {ApiKeyCreated}\n * @memberof ApiKeyCreatedResponse\n */\n data: ApiKeyCreated;\n}\n\n/**\n * Check if a given object implements the ApiKeyCreatedResponse interface.\n */\nexport function instanceOfApiKeyCreatedResponse(value: object): value is ApiKeyCreatedResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyCreatedResponseFromJSON(json: any): ApiKeyCreatedResponse {\n return ApiKeyCreatedResponseFromJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKeyCreatedResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ApiKeyCreatedFromJSON(json['data']),\n };\n}\n\nexport function ApiKeyCreatedResponseToJSON(json: any): ApiKeyCreatedResponse {\n return ApiKeyCreatedResponseToJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedResponseToJSONTyped(value?: ApiKeyCreatedResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ApiKeyCreatedToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface Pagination\n */\nexport interface Pagination {\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n page: number;\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n perPage: number;\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n total: number;\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n totalPages: number;\n}\n\n/**\n * Check if a given object implements the Pagination interface.\n */\nexport function instanceOfPagination(value: object): value is Pagination {\n if (!('page' in value) || value['page'] === undefined) return false;\n if (!('perPage' in value) || value['perPage'] === undefined) return false;\n if (!('total' in value) || value['total'] === undefined) return false;\n if (!('totalPages' in value) || value['totalPages'] === undefined) return false;\n return true;\n}\n\nexport function PaginationFromJSON(json: any): Pagination {\n return PaginationFromJSONTyped(json, false);\n}\n\nexport function PaginationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pagination {\n if (json == null) {\n return json;\n }\n return {\n\n 'page': json['page'],\n 'perPage': json['per_page'],\n 'total': json['total'],\n 'totalPages': json['total_pages'],\n };\n}\n\nexport function PaginationToJSON(json: any): Pagination {\n return PaginationToJSONTyped(json, false);\n}\n\nexport function PaginationToJSONTyped(value?: Pagination | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'page': value['page'],\n 'per_page': value['perPage'],\n 'total': value['total'],\n 'total_pages': value['totalPages'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Pagination } from './Pagination';\nimport {\n PaginationFromJSON,\n PaginationFromJSONTyped,\n PaginationToJSON,\n PaginationToJSONTyped,\n} from './Pagination';\nimport type { ApiKey } from './ApiKey';\nimport {\n ApiKeyFromJSON,\n ApiKeyFromJSONTyped,\n ApiKeyToJSON,\n ApiKeyToJSONTyped,\n} from './ApiKey';\n\n/**\n *\n * @export\n * @interface ApiKeyListResponse\n */\nexport interface ApiKeyListResponse {\n /**\n *\n * @type {Array<ApiKey>}\n * @memberof ApiKeyListResponse\n */\n data: Array<ApiKey>;\n /**\n *\n * @type {Pagination}\n * @memberof ApiKeyListResponse\n */\n pagination: Pagination;\n}\n\n/**\n * Check if a given object implements the ApiKeyListResponse interface.\n */\nexport function instanceOfApiKeyListResponse(value: object): value is ApiKeyListResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n if (!('pagination' in value) || value['pagination'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyListResponseFromJSON(json: any): ApiKeyListResponse {\n return ApiKeyListResponseFromJSONTyped(json, false);\n}\n\nexport function ApiKeyListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKeyListResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ((json['data'] as Array<any>).map(ApiKeyFromJSON)),\n 'pagination': PaginationFromJSON(json['pagination']),\n };\n}\n\nexport function ApiKeyListResponseToJSON(json: any): ApiKeyListResponse {\n return ApiKeyListResponseToJSONTyped(json, false);\n}\n\nexport function ApiKeyListResponseToJSONTyped(value?: ApiKeyListResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ((value['data'] as Array<any>).map(ApiKeyToJSON)),\n 'pagination': PaginationToJSON(value['pagination']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface User\n */\nexport interface User {\n /**\n *\n * @type {number}\n * @memberof User\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof User\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof User\n */\n status?: string;\n}\n\n/**\n * Check if a given object implements the User interface.\n */\nexport function instanceOfUser(value: object): value is User {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function UserFromJSON(json: any): User {\n return UserFromJSONTyped(json, false);\n}\n\nexport function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'email': json['email'],\n 'status': json['status'] == null ? undefined : json['status'],\n };\n}\n\nexport function UserToJSON(json: any): User {\n return UserToJSONTyped(json, false);\n}\n\nexport function UserToJSONTyped(value?: User | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'email': value['email'],\n 'status': value['status'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { User } from './User';\nimport {\n UserFromJSON,\n UserFromJSONTyped,\n UserToJSON,\n UserToJSONTyped,\n} from './User';\n\n/**\n *\n * @export\n * @interface AuthResponseData\n */\nexport interface AuthResponseData {\n /**\n *\n * @type {User}\n * @memberof AuthResponseData\n */\n user: User;\n /**\n *\n * @type {string}\n * @memberof AuthResponseData\n */\n token?: string;\n /**\n *\n * @type {boolean}\n * @memberof AuthResponseData\n */\n confirmationRequired: boolean;\n}\n\n/**\n * Check if a given object implements the AuthResponseData interface.\n */\nexport function instanceOfAuthResponseData(value: object): value is AuthResponseData {\n if (!('user' in value) || value['user'] === undefined) return false;\n if (!('confirmationRequired' in value) || value['confirmationRequired'] === undefined) return false;\n return true;\n}\n\nexport function AuthResponseDataFromJSON(json: any): AuthResponseData {\n return AuthResponseDataFromJSONTyped(json, false);\n}\n\nexport function AuthResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthResponseData {\n if (json == null) {\n return json;\n }\n return {\n\n 'user': UserFromJSON(json['user']),\n 'token': json['token'] == null ? undefined : json['token'],\n 'confirmationRequired': json['confirmation_required'],\n };\n}\n\nexport function AuthResponseDataToJSON(json: any): AuthResponseData {\n return AuthResponseDataToJSONTyped(json, false);\n}\n\nexport function AuthResponseDataToJSONTyped(value?: AuthResponseData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'user': UserToJSON(value['user']),\n 'token': value['token'],\n 'confirmation_required': value['confirmationRequired'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AuthResponseData } from './AuthResponseData';\nimport {\n AuthResponseDataFromJSON,\n AuthResponseDataFromJSONTyped,\n AuthResponseDataToJSON,\n AuthResponseDataToJSONTyped,\n} from './AuthResponseData';\n\n/**\n *\n * @export\n * @interface AuthResponse\n */\nexport interface AuthResponse {\n /**\n *\n * @type {AuthResponseData}\n * @memberof AuthResponse\n */\n data: AuthResponseData;\n}\n\n/**\n * Check if a given object implements the AuthResponse interface.\n */\nexport function instanceOfAuthResponse(value: object): value is AuthResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function AuthResponseFromJSON(json: any): AuthResponse {\n return AuthResponseFromJSONTyped(json, false);\n}\n\nexport function AuthResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': AuthResponseDataFromJSON(json['data']),\n };\n}\n\nexport function AuthResponseToJSON(json: any): AuthResponse {\n return AuthResponseToJSONTyped(json, false);\n}\n\nexport function AuthResponseToJSONTyped(value?: AuthResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': AuthResponseDataToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface Wallet\n */\nexport interface Wallet {\n /**\n * Crossmint is the only buyer-wallet provider.\n * @type {string}\n * @memberof Wallet\n */\n provider: WalletProviderEnum;\n /**\n * Base smart-wallet address. Null only when Crossmint is unavailable.\n * @type {string}\n * @memberof Wallet\n */\n address: string;\n /**\n * Live Base USDC balance, exact to the micro-dollar (up to 6 decimals, minimum 2). Null when Crossmint is unreachable; consumers must not interpret null as zero.\n *\n * @type {string}\n * @memberof Wallet\n */\n balanceUsdc: string;\n /**\n * Live aggregate Tempo dollar-token balance, exact to the micro-dollar (up to 6 decimals, minimum 2). Null when Crossmint is unreachable; consumers must not interpret null as zero.\n *\n * @type {string}\n * @memberof Wallet\n */\n balanceTempoUsd: string;\n /**\n * Single aggregated USD balance across Base USDC and Tempo dollar tokens, exact to the micro-dollar. Null when either pocket is unreachable, because the surface never claims zero for a component it could not read.\n *\n * @type {string}\n * @memberof Wallet\n */\n totalUsd: string;\n /**\n * Selected Crossmint environment (`base_sepolia` or `base_mainnet`).\n *\n * @type {string}\n * @memberof Wallet\n */\n network: string;\n}\n\n\n/**\n * @export\n */\nexport const WalletProviderEnum = {\n Crossmint: 'crossmint'\n} as const;\nexport type WalletProviderEnum = typeof WalletProviderEnum[keyof typeof WalletProviderEnum];\n\n\n/**\n * Check if a given object implements the Wallet interface.\n */\nexport function instanceOfWallet(value: object): value is Wallet {\n if (!('provider' in value) || value['provider'] === undefined) return false;\n if (!('address' in value) || value['address'] === undefined) return false;\n if (!('balanceUsdc' in value) || value['balanceUsdc'] === undefined) return false;\n if (!('balanceTempoUsd' in value) || value['balanceTempoUsd'] === undefined) return false;\n if (!('totalUsd' in value) || value['totalUsd'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n return true;\n}\n\nexport function WalletFromJSON(json: any): Wallet {\n return WalletFromJSONTyped(json, false);\n}\n\nexport function WalletFromJSONTyped(json: any, ignoreDiscriminator: boolean): Wallet {\n if (json == null) {\n return json;\n }\n return {\n\n 'provider': json['provider'],\n 'address': json['address'],\n 'balanceUsdc': json['balance_usdc'],\n 'balanceTempoUsd': json['balance_tempo_usd'],\n 'totalUsd': json['total_usd'],\n 'network': json['network'],\n };\n}\n\nexport function WalletToJSON(json: any): Wallet {\n return WalletToJSONTyped(json, false);\n}\n\nexport function WalletToJSONTyped(value?: Wallet | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider': value['provider'],\n 'address': value['address'],\n 'balance_usdc': value['balanceUsdc'],\n 'balance_tempo_usd': value['balanceTempoUsd'],\n 'total_usd': value['totalUsd'],\n 'network': value['network'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Freemium promo credit. v1 returns zero values; once the promo\n * ledger ships (deferred from spec 10), real balances appear here\n * without a shape change.\n *\n * @export\n * @interface PromoBalance\n */\nexport interface PromoBalance {\n /**\n *\n * @type {string}\n * @memberof PromoBalance\n */\n balanceUsd: string;\n /**\n * Where the promo can be spent.\n * @type {string}\n * @memberof PromoBalance\n */\n scope: string;\n /**\n *\n * @type {Date}\n * @memberof PromoBalance\n */\n expiresAt: Date;\n}\n\n/**\n * Check if a given object implements the PromoBalance interface.\n */\nexport function instanceOfPromoBalance(value: object): value is PromoBalance {\n if (!('balanceUsd' in value) || value['balanceUsd'] === undefined) return false;\n if (!('scope' in value) || value['scope'] === undefined) return false;\n if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;\n return true;\n}\n\nexport function PromoBalanceFromJSON(json: any): PromoBalance {\n return PromoBalanceFromJSONTyped(json, false);\n}\n\nexport function PromoBalanceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PromoBalance {\n if (json == null) {\n return json;\n }\n return {\n\n 'balanceUsd': json['balance_usd'],\n 'scope': json['scope'],\n 'expiresAt': (new Date(json['expires_at'])),\n };\n}\n\nexport function PromoBalanceToJSON(json: any): PromoBalance {\n return PromoBalanceToJSONTyped(json, false);\n}\n\nexport function PromoBalanceToJSONTyped(value?: PromoBalance | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'balance_usd': value['balanceUsd'],\n 'scope': value['scope'],\n 'expires_at': value['expiresAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SpendingPolicy\n */\nexport interface SpendingPolicy {\n /**\n * Maximum USD per single transaction.\n * @type {string}\n * @memberof SpendingPolicy\n */\n maxTxUsd: string;\n /**\n * Maximum USD spent in a 24-hour window.\n * @type {string}\n * @memberof SpendingPolicy\n */\n dailyLimitUsd: string;\n /**\n * Maximum USD spent in a 7-day window.\n * @type {string}\n * @memberof SpendingPolicy\n */\n weeklyLimitUsd: string;\n}\n\n/**\n * Check if a given object implements the SpendingPolicy interface.\n */\nexport function instanceOfSpendingPolicy(value: object): value is SpendingPolicy {\n if (!('maxTxUsd' in value) || value['maxTxUsd'] === undefined) return false;\n if (!('dailyLimitUsd' in value) || value['dailyLimitUsd'] === undefined) return false;\n if (!('weeklyLimitUsd' in value) || value['weeklyLimitUsd'] === undefined) return false;\n return true;\n}\n\nexport function SpendingPolicyFromJSON(json: any): SpendingPolicy {\n return SpendingPolicyFromJSONTyped(json, false);\n}\n\nexport function SpendingPolicyFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpendingPolicy {\n if (json == null) {\n return json;\n }\n return {\n\n 'maxTxUsd': json['max_tx_usd'],\n 'dailyLimitUsd': json['daily_limit_usd'],\n 'weeklyLimitUsd': json['weekly_limit_usd'],\n };\n}\n\nexport function SpendingPolicyToJSON(json: any): SpendingPolicy {\n return SpendingPolicyToJSONTyped(json, false);\n}\n\nexport function SpendingPolicyToJSONTyped(value?: SpendingPolicy | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'max_tx_usd': value['maxTxUsd'],\n 'daily_limit_usd': value['dailyLimitUsd'],\n 'weekly_limit_usd': value['weeklyLimitUsd'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Wallet } from './Wallet';\nimport {\n WalletFromJSON,\n WalletFromJSONTyped,\n WalletToJSON,\n WalletToJSONTyped,\n} from './Wallet';\nimport type { PromoBalance } from './PromoBalance';\nimport {\n PromoBalanceFromJSON,\n PromoBalanceFromJSONTyped,\n PromoBalanceToJSON,\n PromoBalanceToJSONTyped,\n} from './PromoBalance';\nimport type { SpendingPolicy } from './SpendingPolicy';\nimport {\n SpendingPolicyFromJSON,\n SpendingPolicyFromJSONTyped,\n SpendingPolicyToJSON,\n SpendingPolicyToJSONTyped,\n} from './SpendingPolicy';\n\n/**\n * Buyer's wallet snapshot. Note: unlike `/me` / `/payments` / `/api_keys`,\n * this endpoint does NOT use a `data:` envelope — the response object\n * is the snapshot directly.\n *\n * @export\n * @interface BalanceResponse\n */\nexport interface BalanceResponse {\n /**\n *\n * @type {PromoBalance}\n * @memberof BalanceResponse\n */\n promo: PromoBalance;\n /**\n *\n * @type {Wallet}\n * @memberof BalanceResponse\n */\n wallet: Wallet;\n /**\n * USD spent in the current calendar day (UTC). Exact to the micro-dollar so sub-cent micro-payments survive (\"0.0005\", \"0.42\"), never narrower than two decimals; a zero total renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n spentTodayUsd: string;\n /**\n * USD spent in the current calendar week (UTC, Monday start). Exact to the micro-dollar (\"0.0005\", \"3.10\"), never narrower than two decimals; a zero total renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n spentWeekUsd: string;\n /**\n * USD currently counted against the daily spending limit: pending authorizations at their maximum plus settled payments at the amount that moved. Exact to the micro-dollar; zero renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n policyUsedTodayUsd: string;\n /**\n * USD currently counted against the weekly spending limit: pending authorizations at their maximum plus settled payments at the amount that moved. Exact to the micro-dollar; zero renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n policyUsedWeekUsd: string;\n /**\n *\n * @type {SpendingPolicy}\n * @memberof BalanceResponse\n */\n policy: SpendingPolicy;\n}\n\n/**\n * Check if a given object implements the BalanceResponse interface.\n */\nexport function instanceOfBalanceResponse(value: object): value is BalanceResponse {\n if (!('promo' in value) || value['promo'] === undefined) return false;\n if (!('wallet' in value) || value['wallet'] === undefined) return false;\n if (!('spentTodayUsd' in value) || value['spentTodayUsd'] === undefined) return false;\n if (!('spentWeekUsd' in value) || value['spentWeekUsd'] === undefined) return false;\n if (!('policyUsedTodayUsd' in value) || value['policyUsedTodayUsd'] === undefined) return false;\n if (!('policyUsedWeekUsd' in value) || value['policyUsedWeekUsd'] === undefined) return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n return true;\n}\n\nexport function BalanceResponseFromJSON(json: any): BalanceResponse {\n return BalanceResponseFromJSONTyped(json, false);\n}\n\nexport function BalanceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BalanceResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'promo': PromoBalanceFromJSON(json['promo']),\n 'wallet': WalletFromJSON(json['wallet']),\n 'spentTodayUsd': json['spent_today_usd'],\n 'spentWeekUsd': json['spent_week_usd'],\n 'policyUsedTodayUsd': json['policy_used_today_usd'],\n 'policyUsedWeekUsd': json['policy_used_week_usd'],\n 'policy': SpendingPolicyFromJSON(json['policy']),\n };\n}\n\nexport function BalanceResponseToJSON(json: any): BalanceResponse {\n return BalanceResponseToJSONTyped(json, false);\n}\n\nexport function BalanceResponseToJSONTyped(value?: BalanceResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'promo': PromoBalanceToJSON(value['promo']),\n 'wallet': WalletToJSON(value['wallet']),\n 'spent_today_usd': value['spentTodayUsd'],\n 'spent_week_usd': value['spentWeekUsd'],\n 'policy_used_today_usd': value['policyUsedTodayUsd'],\n 'policy_used_week_usd': value['policyUsedWeekUsd'],\n 'policy': SpendingPolicyToJSON(value['policy']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ConfirmRequest\n */\nexport interface ConfirmRequest {\n /**\n *\n * @type {string}\n * @memberof ConfirmRequest\n */\n confirmationToken: string;\n}\n\n/**\n * Check if a given object implements the ConfirmRequest interface.\n */\nexport function instanceOfConfirmRequest(value: object): value is ConfirmRequest {\n if (!('confirmationToken' in value) || value['confirmationToken'] === undefined) return false;\n return true;\n}\n\nexport function ConfirmRequestFromJSON(json: any): ConfirmRequest {\n return ConfirmRequestFromJSONTyped(json, false);\n}\n\nexport function ConfirmRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConfirmRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'confirmationToken': json['confirmation_token'],\n };\n}\n\nexport function ConfirmRequestToJSON(json: any): ConfirmRequest {\n return ConfirmRequestToJSONTyped(json, false);\n}\n\nexport function ConfirmRequestToJSONTyped(value?: ConfirmRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'confirmation_token': value['confirmationToken'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface CreateApiKeyRequest\n */\nexport interface CreateApiKeyRequest {\n /**\n * A friendly name for the API key\n * @type {string}\n * @memberof CreateApiKeyRequest\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the CreateApiKeyRequest interface.\n */\nexport function instanceOfCreateApiKeyRequest(value: object): value is CreateApiKeyRequest {\n return true;\n}\n\nexport function CreateApiKeyRequestFromJSON(json: any): CreateApiKeyRequest {\n return CreateApiKeyRequestFromJSONTyped(json, false);\n}\n\nexport function CreateApiKeyRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateApiKeyRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function CreateApiKeyRequestToJSON(json: any): CreateApiKeyRequest {\n return CreateApiKeyRequestToJSONTyped(json, false);\n}\n\nexport function CreateApiKeyRequestToJSONTyped(value?: CreateApiKeyRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'name': value['name'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Aggregate public payment stats for the resource.\n * @export\n * @interface ResourceStats\n */\nexport interface ResourceStats {\n /**\n * Total atomic units paid out by this resource.\n * @type {number}\n * @memberof ResourceStats\n */\n totalPaid: number;\n /**\n * Total atomic units received by this resource.\n * @type {number}\n * @memberof ResourceStats\n */\n totalReceived: number;\n /**\n *\n * @type {number}\n * @memberof ResourceStats\n */\n paymentsMade: number;\n /**\n *\n * @type {number}\n * @memberof ResourceStats\n */\n paymentsReceived: number;\n /**\n *\n * @type {number}\n * @memberof ResourceStats\n */\n uniqueCounterparties: number;\n /**\n *\n * @type {Date}\n * @memberof ResourceStats\n */\n firstSeen: Date;\n /**\n *\n * @type {Date}\n * @memberof ResourceStats\n */\n lastActive: Date;\n}\n\n/**\n * Check if a given object implements the ResourceStats interface.\n */\nexport function instanceOfResourceStats(value: object): value is ResourceStats {\n if (!('totalPaid' in value) || value['totalPaid'] === undefined) return false;\n if (!('totalReceived' in value) || value['totalReceived'] === undefined) return false;\n if (!('paymentsMade' in value) || value['paymentsMade'] === undefined) return false;\n if (!('paymentsReceived' in value) || value['paymentsReceived'] === undefined) return false;\n if (!('uniqueCounterparties' in value) || value['uniqueCounterparties'] === undefined) return false;\n if (!('firstSeen' in value) || value['firstSeen'] === undefined) return false;\n if (!('lastActive' in value) || value['lastActive'] === undefined) return false;\n return true;\n}\n\nexport function ResourceStatsFromJSON(json: any): ResourceStats {\n return ResourceStatsFromJSONTyped(json, false);\n}\n\nexport function ResourceStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceStats {\n if (json == null) {\n return json;\n }\n return {\n\n 'totalPaid': json['total_paid'],\n 'totalReceived': json['total_received'],\n 'paymentsMade': json['payments_made'],\n 'paymentsReceived': json['payments_received'],\n 'uniqueCounterparties': json['unique_counterparties'],\n 'firstSeen': (new Date(json['first_seen'])),\n 'lastActive': (new Date(json['last_active'])),\n };\n}\n\nexport function ResourceStatsToJSON(json: any): ResourceStats {\n return ResourceStatsToJSONTyped(json, false);\n}\n\nexport function ResourceStatsToJSONTyped(value?: ResourceStats | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'total_paid': value['totalPaid'],\n 'total_received': value['totalReceived'],\n 'payments_made': value['paymentsMade'],\n 'payments_received': value['paymentsReceived'],\n 'unique_counterparties': value['uniqueCounterparties'],\n 'first_seen': value['firstSeen'].toISOString(),\n 'last_active': value['lastActive'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ResourceStats } from './ResourceStats';\nimport {\n ResourceStatsFromJSON,\n ResourceStatsFromJSONTyped,\n ResourceStatsToJSON,\n ResourceStatsToJSONTyped,\n} from './ResourceStats';\n\n/**\n * The `:created` view of a ghost resource. Adds `stats`, the single-use\n * `claim_token`, and the `claim_url` to the base resource shape. The\n * claim fields appear ONLY on this enrollment response — never in list\n * or read views.\n *\n * @export\n * @interface EnrolledResource\n */\nexport interface EnrolledResource {\n /**\n *\n * @type {number}\n * @memberof EnrolledResource\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n slug: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n description?: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n kind: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n visibility: string;\n /**\n * Declared wallet address, or `null` if none was provided.\n * @type {string}\n * @memberof EnrolledResource\n */\n walletAddress?: string;\n /**\n * Legacy v3 taxonomy field. Returns a string only for `agent`-kind\n * resources that carry a `category` in their metadata; `null` for\n * all other kinds and for agents without one. Always `null` on\n * enrollment (category is a post-claim concern).\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n category: string;\n /**\n *\n * @type {boolean}\n * @memberof EnrolledResource\n */\n verified: boolean;\n /**\n * True once the resource has an owning provider. Always false at enrollment.\n * @type {boolean}\n * @memberof EnrolledResource\n */\n claimed: boolean;\n /**\n *\n * @type {Date}\n * @memberof EnrolledResource\n */\n createdAt: Date;\n /**\n *\n * @type {ResourceStats}\n * @memberof EnrolledResource\n */\n stats: ResourceStats;\n /**\n * Single-use token for the magic claim URL. Surfaced only on enrollment.\n * @type {string}\n * @memberof EnrolledResource\n */\n claimToken: string;\n /**\n * Dashboard path the agent hands to its human to claim the resource.\n * @type {string}\n * @memberof EnrolledResource\n */\n claimUrl: string;\n}\n\n/**\n * Check if a given object implements the EnrolledResource interface.\n */\nexport function instanceOfEnrolledResource(value: object): value is EnrolledResource {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('slug' in value) || value['slug'] === undefined) return false;\n if (!('kind' in value) || value['kind'] === undefined) return false;\n if (!('visibility' in value) || value['visibility'] === undefined) return false;\n if (!('category' in value) || value['category'] === undefined) return false;\n if (!('verified' in value) || value['verified'] === undefined) return false;\n if (!('claimed' in value) || value['claimed'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n if (!('stats' in value) || value['stats'] === undefined) return false;\n if (!('claimToken' in value) || value['claimToken'] === undefined) return false;\n if (!('claimUrl' in value) || value['claimUrl'] === undefined) return false;\n return true;\n}\n\nexport function EnrolledResourceFromJSON(json: any): EnrolledResource {\n return EnrolledResourceFromJSONTyped(json, false);\n}\n\nexport function EnrolledResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): EnrolledResource {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'],\n 'slug': json['slug'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'kind': json['kind'],\n 'visibility': json['visibility'],\n 'walletAddress': json['wallet_address'] == null ? undefined : json['wallet_address'],\n 'category': json['category'],\n 'verified': json['verified'],\n 'claimed': json['claimed'],\n 'createdAt': (new Date(json['created_at'])),\n 'stats': ResourceStatsFromJSON(json['stats']),\n 'claimToken': json['claim_token'],\n 'claimUrl': json['claim_url'],\n };\n}\n\nexport function EnrolledResourceToJSON(json: any): EnrolledResource {\n return EnrolledResourceToJSONTyped(json, false);\n}\n\nexport function EnrolledResourceToJSONTyped(value?: EnrolledResource | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'slug': value['slug'],\n 'description': value['description'],\n 'kind': value['kind'],\n 'visibility': value['visibility'],\n 'wallet_address': value['walletAddress'],\n 'category': value['category'],\n 'verified': value['verified'],\n 'claimed': value['claimed'],\n 'created_at': value['createdAt'].toISOString(),\n 'stats': ResourceStatsToJSON(value['stats']),\n 'claim_token': value['claimToken'],\n 'claim_url': value['claimUrl'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Standard error envelope returned by all `/api/v1` endpoints except\n * `/search` and `/fetch` (which use bespoke envelopes carrying\n * additional context). `error.code` is stable across releases and\n * safe to branch on; `error.message` is human-readable and may change.\n *\n * @export\n * @interface ErrorResponse\n */\nexport interface ErrorResponse {\n /**\n *\n * @type {Error}\n * @memberof ErrorResponse\n */\n error: Error;\n}\n\n/**\n * Check if a given object implements the ErrorResponse interface.\n */\nexport function instanceOfErrorResponse(value: object): value is ErrorResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n return true;\n}\n\nexport function ErrorResponseFromJSON(json: any): ErrorResponse {\n return ErrorResponseFromJSONTyped(json, false);\n}\n\nexport function ErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n };\n}\n\nexport function ErrorResponseToJSON(json: any): ErrorResponse {\n return ErrorResponseToJSONTyped(json, false);\n}\n\nexport function ErrorResponseToJSONTyped(value?: ErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Compact balance snapshot returned inside `FetchErrorResponse`. Less\n * rich than `BalanceResponse` — just the fields a CLI needs to explain\n * why a fetch failed.\n *\n * @export\n * @interface FetchBalanceSnapshot\n */\nexport interface FetchBalanceSnapshot {\n /**\n *\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n promoUsd: string;\n /**\n * Live Base USDC balance read server-side through Crossmint. Null when Crossmint is unavailable; never treat null as zero.\n *\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n walletUsdc: string;\n /**\n * Aggregated USD balance across Base USDC and Tempo dollar tokens, exact to the micro-dollar. Null when either pocket is unreachable.\n *\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n totalUsd: string;\n /**\n * Settled USD spend in the current calendar day (UTC).\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n spentTodayUsd: string;\n /**\n * USD counted against today's policy limit, including pending authorizations and settled spend.\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n policyUsedTodayUsd: string;\n}\n\n/**\n * Check if a given object implements the FetchBalanceSnapshot interface.\n */\nexport function instanceOfFetchBalanceSnapshot(value: object): value is FetchBalanceSnapshot {\n if (!('promoUsd' in value) || value['promoUsd'] === undefined) return false;\n if (!('walletUsdc' in value) || value['walletUsdc'] === undefined) return false;\n if (!('totalUsd' in value) || value['totalUsd'] === undefined) return false;\n if (!('spentTodayUsd' in value) || value['spentTodayUsd'] === undefined) return false;\n if (!('policyUsedTodayUsd' in value) || value['policyUsedTodayUsd'] === undefined) return false;\n return true;\n}\n\nexport function FetchBalanceSnapshotFromJSON(json: any): FetchBalanceSnapshot {\n return FetchBalanceSnapshotFromJSONTyped(json, false);\n}\n\nexport function FetchBalanceSnapshotFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchBalanceSnapshot {\n if (json == null) {\n return json;\n }\n return {\n\n 'promoUsd': json['promo_usd'],\n 'walletUsdc': json['wallet_usdc'],\n 'totalUsd': json['total_usd'],\n 'spentTodayUsd': json['spent_today_usd'],\n 'policyUsedTodayUsd': json['policy_used_today_usd'],\n };\n}\n\nexport function FetchBalanceSnapshotToJSON(json: any): FetchBalanceSnapshot {\n return FetchBalanceSnapshotToJSONTyped(json, false);\n}\n\nexport function FetchBalanceSnapshotToJSONTyped(value?: FetchBalanceSnapshot | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'promo_usd': value['promoUsd'],\n 'wallet_usdc': value['walletUsdc'],\n 'total_usd': value['totalUsd'],\n 'spent_today_usd': value['spentTodayUsd'],\n 'policy_used_today_usd': value['policyUsedTodayUsd'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SpendingPolicy } from './SpendingPolicy';\nimport {\n SpendingPolicyFromJSON,\n SpendingPolicyFromJSONTyped,\n SpendingPolicyToJSON,\n SpendingPolicyToJSONTyped,\n} from './SpendingPolicy';\nimport type { FetchBalanceSnapshot } from './FetchBalanceSnapshot';\nimport {\n FetchBalanceSnapshotFromJSON,\n FetchBalanceSnapshotFromJSONTyped,\n FetchBalanceSnapshotToJSON,\n FetchBalanceSnapshotToJSONTyped,\n} from './FetchBalanceSnapshot';\n\n/**\n * Bespoke error envelope for `/api/v1/fetch`. Every error carries the\n * buyer's current `policy`, `balance`, and a `dashboard_url` so a CLI\n * can render an actionable message without a second round-trip.\n *\n * `error` values include the fixed codes listed below plus the\n * `POLICY_VIOLATION_<REASON>` family, where `<REASON>` is the violated\n * policy field (`MAX_TX`, `DAILY`, or `WEEKLY` — see\n * `PolicyViolation::REASONS`).\n *\n * @export\n * @interface FetchErrorResponse\n */\nexport interface FetchErrorResponse {\n /**\n * Stable error code.\n * @type {string}\n * @memberof FetchErrorResponse\n */\n error: FetchErrorResponseErrorEnum;\n /**\n * Optional context. Shape varies by error code.\n *\n * `purchase_id` (opaque string) is present when the failure follows a\n * payment row for this request — a new, resumed, or replayed payment.\n * It is the id that `GET /api/v1/purchases/{id}` accepts: read that\n * purchase to learn whether the charge settled, instead of assuming\n * either outcome. It is absent when the request was refused before\n * any payment row existed.\n *\n * @type {{ [key: string]: any; }}\n * @memberof FetchErrorResponse\n */\n details: { [key: string]: any; };\n /**\n *\n * @type {SpendingPolicy}\n * @memberof FetchErrorResponse\n */\n policy: SpendingPolicy;\n /**\n *\n * @type {FetchBalanceSnapshot}\n * @memberof FetchErrorResponse\n */\n balance: FetchBalanceSnapshot;\n /**\n * Deep-link to the dashboard's policy page.\n * @type {string}\n * @memberof FetchErrorResponse\n */\n dashboardUrl: string;\n}\n\n\n/**\n * @export\n */\nexport const FetchErrorResponseErrorEnum = {\n InvalidRequest: 'INVALID_REQUEST',\n UnknownParameter: 'UNKNOWN_PARAMETER',\n InvalidUrl: 'INVALID_URL',\n InvalidMaxCostUsd: 'INVALID_MAX_COST_USD',\n InvalidAllowTempoRefill: 'INVALID_ALLOW_TEMPO_REFILL',\n InvalidMaxTotalCostUsd: 'INVALID_MAX_TOTAL_COST_USD',\n IncompatibleFetchControls: 'INCOMPATIBLE_FETCH_CONTROLS',\n UnsupportedMethod: 'UNSUPPORTED_METHOD',\n InvalidBody: 'INVALID_BODY',\n InvalidHeaders: 'INVALID_HEADERS',\n InvalidIdempotencyKey: 'INVALID_IDEMPOTENCY_KEY',\n IdempotencyConflict: 'IDEMPOTENCY_CONFLICT',\n AccountClosing: 'ACCOUNT_CLOSING',\n ExceededMaxCost: 'EXCEEDED_MAX_COST',\n TotalCostUnverifiable: 'TOTAL_COST_UNVERIFIABLE',\n FundingPending: 'FUNDING_PENDING',\n InsufficientBalance: 'INSUFFICIENT_BALANCE',\n PaymentAuthorizationRequired: 'PAYMENT_AUTHORIZATION_REQUIRED',\n WalletSetupIncomplete: 'WALLET_SETUP_INCOMPLETE',\n MerchantReturnedNon402: 'MERCHANT_RETURNED_NON_402',\n MerchantTimeout: 'MERCHANT_TIMEOUT',\n MerchantConnectionFailed: 'MERCHANT_CONNECTION_FAILED',\n PaidDeliveryFailed: 'PAID_DELIVERY_FAILED',\n DeliveryReplayUnavailable: 'DELIVERY_REPLAY_UNAVAILABLE',\n ArtifactTooLarge: 'ARTIFACT_TOO_LARGE',\n DenylistedRecipient: 'DENYLISTED_RECIPIENT',\n WalletEnvironmentMismatch: 'WALLET_ENVIRONMENT_MISMATCH',\n UnsupportedAsset: 'UNSUPPORTED_ASSET',\n UnsupportedPaymentMethod: 'UNSUPPORTED_PAYMENT_METHOD',\n SettlementFailed: 'SETTLEMENT_FAILED',\n SettlementPending: 'SETTLEMENT_PENDING',\n PolicyViolationMaxTx: 'POLICY_VIOLATION_MAX_TX',\n PolicyViolationDaily: 'POLICY_VIOLATION_DAILY',\n PolicyViolationWeekly: 'POLICY_VIOLATION_WEEKLY'\n} as const;\nexport type FetchErrorResponseErrorEnum = typeof FetchErrorResponseErrorEnum[keyof typeof FetchErrorResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the FetchErrorResponse interface.\n */\nexport function instanceOfFetchErrorResponse(value: object): value is FetchErrorResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n if (!('details' in value) || value['details'] === undefined) return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n if (!('balance' in value) || value['balance'] === undefined) return false;\n if (!('dashboardUrl' in value) || value['dashboardUrl'] === undefined) return false;\n return true;\n}\n\nexport function FetchErrorResponseFromJSON(json: any): FetchErrorResponse {\n return FetchErrorResponseFromJSONTyped(json, false);\n}\n\nexport function FetchErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'details': json['details'],\n 'policy': SpendingPolicyFromJSON(json['policy']),\n 'balance': FetchBalanceSnapshotFromJSON(json['balance']),\n 'dashboardUrl': json['dashboard_url'],\n };\n}\n\nexport function FetchErrorResponseToJSON(json: any): FetchErrorResponse {\n return FetchErrorResponseToJSONTyped(json, false);\n}\n\nexport function FetchErrorResponseToJSONTyped(value?: FetchErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'details': value['details'],\n 'policy': SpendingPolicyToJSON(value['policy']),\n 'balance': FetchBalanceSnapshotToJSON(value['balance']),\n 'dashboard_url': value['dashboardUrl'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * RFC 6750 §3.1 `insufficient_scope` error. Returned with HTTP 403 and\n * a `WWW-Authenticate: Bearer error=\"insufficient_scope\", scope=\"...\"`\n * header when an OAuth access token authenticates successfully but does\n * not carry the scope the endpoint requires. Only OAuth bearer tokens\n * are scope-gated; `wk_`-prefixed API keys are unscoped and never see\n * this response.\n *\n * @export\n * @interface InsufficientScopeResponse\n */\nexport interface InsufficientScopeResponse {\n /**\n *\n * @type {string}\n * @memberof InsufficientScopeResponse\n */\n error: InsufficientScopeResponseErrorEnum;\n /**\n *\n * @type {string}\n * @memberof InsufficientScopeResponse\n */\n errorDescription: string;\n /**\n * Space-delimited list of scopes the endpoint requires.\n * @type {string}\n * @memberof InsufficientScopeResponse\n */\n scope: string;\n}\n\n\n/**\n * @export\n */\nexport const InsufficientScopeResponseErrorEnum = {\n InsufficientScope: 'insufficient_scope'\n} as const;\nexport type InsufficientScopeResponseErrorEnum = typeof InsufficientScopeResponseErrorEnum[keyof typeof InsufficientScopeResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the InsufficientScopeResponse interface.\n */\nexport function instanceOfInsufficientScopeResponse(value: object): value is InsufficientScopeResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n if (!('errorDescription' in value) || value['errorDescription'] === undefined) return false;\n if (!('scope' in value) || value['scope'] === undefined) return false;\n return true;\n}\n\nexport function InsufficientScopeResponseFromJSON(json: any): InsufficientScopeResponse {\n return InsufficientScopeResponseFromJSONTyped(json, false);\n}\n\nexport function InsufficientScopeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): InsufficientScopeResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'errorDescription': json['error_description'],\n 'scope': json['scope'],\n };\n}\n\nexport function InsufficientScopeResponseToJSON(json: any): InsufficientScopeResponse {\n return InsufficientScopeResponseToJSONTyped(json, false);\n}\n\nexport function InsufficientScopeResponseToJSONTyped(value?: InsufficientScopeResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'error_description': value['errorDescription'],\n 'scope': value['scope'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { FetchErrorResponse } from './FetchErrorResponse';\nimport {\n instanceOfFetchErrorResponse,\n FetchErrorResponseFromJSON,\n FetchErrorResponseFromJSONTyped,\n FetchErrorResponseToJSON,\n} from './FetchErrorResponse';\nimport type { InsufficientScopeResponse } from './InsufficientScopeResponse';\nimport {\n instanceOfInsufficientScopeResponse,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseFromJSONTyped,\n InsufficientScopeResponseToJSON,\n} from './InsufficientScopeResponse';\n\n/**\n * @type Fetch403Response\n *\n * @export\n */\nexport type Fetch403Response = FetchErrorResponse | InsufficientScopeResponse;\n\nexport function Fetch403ResponseFromJSON(json: any): Fetch403Response {\n return Fetch403ResponseFromJSONTyped(json, false);\n}\n\nexport function Fetch403ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Fetch403Response {\n if (json == null) {\n return json;\n }\n if (typeof json !== 'object') {\n return json;\n }\n if (instanceOfFetchErrorResponse(json)) {\n return FetchErrorResponseFromJSONTyped(json, true);\n }\n if (instanceOfInsufficientScopeResponse(json)) {\n return InsufficientScopeResponseFromJSONTyped(json, true);\n }\n return {} as any;\n}\n\nexport function Fetch403ResponseToJSON(json: any): any {\n return Fetch403ResponseToJSONTyped(json, false);\n}\n\nexport function Fetch403ResponseToJSONTyped(value?: Fetch403Response | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value !== 'object') {\n return value;\n }\n if (instanceOfFetchErrorResponse(value)) {\n return FetchErrorResponseToJSON(value as FetchErrorResponse);\n }\n if (instanceOfInsufficientScopeResponse(value)) {\n return InsufficientScopeResponseToJSON(value as InsufficientScopeResponse);\n }\n return {};\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * @type FetchRequestBody\n * Request body forwarded to the upstream. Pass `null` for GET.\n * @export\n */\nexport type FetchRequestBody = object | string;\n\nexport function FetchRequestBodyFromJSON(json: any): FetchRequestBody {\n return FetchRequestBodyFromJSONTyped(json, false);\n}\n\nexport function FetchRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchRequestBody {\n if (json == null) {\n return json;\n }\n if (typeof json === 'string') {\n return json;\n }\n return {} as any;\n}\n\nexport function FetchRequestBodyToJSON(json: any): any {\n return FetchRequestBodyToJSONTyped(json, false);\n}\n\nexport function FetchRequestBodyToJSONTyped(value?: FetchRequestBody | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value === 'string') {\n return value;\n }\n return {};\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { FetchRequestBody } from './FetchRequestBody';\nimport {\n FetchRequestBodyFromJSON,\n FetchRequestBodyFromJSONTyped,\n FetchRequestBodyToJSON,\n FetchRequestBodyToJSONTyped,\n} from './FetchRequestBody';\n\n/**\n *\n * @export\n * @interface FetchRequest\n */\nexport interface FetchRequest {\n /**\n * Target URL. Must pass Weft's URL safety check (no SSRF / private IP ranges).\n * @type {string}\n * @memberof FetchRequest\n */\n url: string;\n /**\n * Merchant-principal ceiling, excluding gas, provider fees and prerequisites. Defaults to `0.10` USD; use `max_total_cost_usd` for an all-in bound.\n * @type {string}\n * @memberof FetchRequest\n */\n maxCostUsd?: string;\n /**\n * Whether this request may create, adopt, or enqueue a Base-to-Tempo\n * refill. Only JSON booleans are accepted. Omission allows legacy\n * refill behavior unless `max_total_cost_usd` is supplied, in which\n * case refill is disabled. False leaves unrelated bridges and jobs\n * unchanged and reports an unfunded Tempo pocket as\n * `INSUFFICIENT_BALANCE`. This does not select a rail or bound fees.\n *\n * @type {boolean}\n * @memberof FetchRequest\n */\n allowTempoRefill?: boolean;\n /**\n * Optional all-in buyer-debit ceiling in USD, including principal,\n * gas, provider fees and prerequisite operations. Requires a binding\n * upstream upper bound before any payment effect. Current integrations\n * have no such guarantee, so requests requiring wallet signing or\n * payment fail closed with `TOTAL_COST_UNVERIFIABLE`, including\n * recovery and replay of previous payments. No positive paid route\n * is currently admitted in this mode. Estimates, expected sponsorship\n * and receipts are not authority. Implies no refill; explicit\n * `allow_tempo_refill: true` is invalid. Omission preserves legacy behavior.\n *\n * @type {string}\n * @memberof FetchRequest\n */\n maxTotalCostUsd?: string;\n /**\n * HTTP method to use against the upstream.\n * @type {string}\n * @memberof FetchRequest\n */\n method?: FetchRequestMethodEnum;\n /**\n *\n * @type {FetchRequestBody}\n * @memberof FetchRequest\n */\n body?: FetchRequestBody | null;\n /**\n * Headers forwarded to the upstream. Up to 32 headers, 4 KB\n * total. The following are silently stripped: `host`,\n * `authorization`, `cookie`, `proxy-authorization`,\n * `x-forwarded-*`, `x-real-ip`, `x-payment`, `connection`,\n * `upgrade`.\n *\n * @type {{ [key: string]: string; }}\n * @memberof FetchRequest\n */\n headers?: { [key: string]: string; };\n /**\n * The `query_trace_id` from the `POST /api/v1/search` response that\n * surfaced this URL. Optional and advisory: it attributes the purchase\n * to the search that found it, and is used only for measurement.\n *\n * It never affects payment, authorization, idempotency, or the\n * response body — the buyer is always resolved from the credential,\n * never from this field. A value that is not a well-formed handle is\n * ignored rather than rejected, so an analytics mistake can never cost\n * a fetch.\n *\n * @type {string}\n * @memberof FetchRequest\n */\n searchId?: string;\n /**\n * Advisory operation id returned by search.\n * @type {string}\n * @memberof FetchRequest\n */\n operationId?: string;\n /**\n * Advisory access-method id returned by search; does not enforce a payment rail.\n * @type {string}\n * @memberof FetchRequest\n */\n accessMethodId?: string;\n}\n\n\n/**\n * @export\n */\nexport const FetchRequestMethodEnum = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Head: 'HEAD',\n Options: 'OPTIONS'\n} as const;\nexport type FetchRequestMethodEnum = typeof FetchRequestMethodEnum[keyof typeof FetchRequestMethodEnum];\n\n\n/**\n * Check if a given object implements the FetchRequest interface.\n */\nexport function instanceOfFetchRequest(value: object): value is FetchRequest {\n if (!('url' in value) || value['url'] === undefined) return false;\n return true;\n}\n\nexport function FetchRequestFromJSON(json: any): FetchRequest {\n return FetchRequestFromJSONTyped(json, false);\n}\n\nexport function FetchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'url': json['url'],\n 'maxCostUsd': json['max_cost_usd'] == null ? undefined : json['max_cost_usd'],\n 'allowTempoRefill': json['allow_tempo_refill'] == null ? undefined : json['allow_tempo_refill'],\n 'maxTotalCostUsd': json['max_total_cost_usd'] == null ? undefined : json['max_total_cost_usd'],\n 'method': json['method'] == null ? undefined : json['method'],\n 'body': json['body'] == null ? undefined : FetchRequestBodyFromJSON(json['body']),\n 'headers': json['headers'] == null ? undefined : json['headers'],\n 'searchId': json['search_id'] == null ? undefined : json['search_id'],\n 'operationId': json['operation_id'] == null ? undefined : json['operation_id'],\n 'accessMethodId': json['access_method_id'] == null ? undefined : json['access_method_id'],\n };\n}\n\nexport function FetchRequestToJSON(json: any): FetchRequest {\n return FetchRequestToJSONTyped(json, false);\n}\n\nexport function FetchRequestToJSONTyped(value?: FetchRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'url': value['url'],\n 'max_cost_usd': value['maxCostUsd'],\n 'allow_tempo_refill': value['allowTempoRefill'],\n 'max_total_cost_usd': value['maxTotalCostUsd'],\n 'method': value['method'],\n 'body': FetchRequestBodyToJSON(value['body']),\n 'headers': value['headers'],\n 'search_id': value['searchId'],\n 'operation_id': value['operationId'],\n 'access_method_id': value['accessMethodId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Successful fetch envelope. `body_base64` is the upstream artifact\n * bytes, base64-encoded. `paid_usd`, `held_usd`, `payment_status`,\n * `tx_hash`, and `protocol` describe the payment and settlement state.\n * `purchase_id` names the payment for a later status read.\n *\n * To retrieve a SIWX-protected result, use HTTPS GET with\n * `max_cost_usd: \"0\"`. Weft signs a fresh, resource-bound challenge with\n * the same buyer wallet. Retrieval never falls back to payment and\n * returns `not_required`, zero paid amount, and null held amount and\n * transaction hash. Polls are fresh, including with repeated idempotency\n * keys. A rejected or unsafe challenge returns `SIWX_RETRIEVAL_FAILED`.\n * Providers must support smart-wallet signatures. Auth-only challenges\n * also use this path; positive-budget purchases retain payment behavior.\n *\n * `paid_usd` is \"0.00\" (never the nominal charge amount) until the\n * charge is CONFIRMED settled on-chain — a signed-but-unsettled hold\n * reports its amount in `held_usd` instead. This is a deliberate\n * honesty fix: earlier versions of this endpoint returned the nominal\n * amount in `paid_usd` unconditionally, even when the charge never\n * settled.\n *\n * **Money string format.** Every USD amount on this surface is exact to\n * the micro-dollar and never narrower than two decimals: a whole-cent\n * amount renders \"0.50\", a sub-cent amount keeps its real precision\n * (\"0.000892\"), and zero renders \"0.00\". Amounts are never rounded — an\n * agent reconciling its own spend reads the truth, not a display value.\n * Parse these as decimals; do NOT compare them as strings against a\n * bare zero literal.\n *\n * @export\n * @interface FetchResponse\n */\nexport interface FetchResponse {\n /**\n * HTTP status returned by the upstream after the payment or SIWX authentication retry.\n * @type {number}\n * @memberof FetchResponse\n */\n status: number;\n /**\n * Response headers from the upstream.\n * @type {{ [key: string]: string; }}\n * @memberof FetchResponse\n */\n headers: { [key: string]: string; };\n /**\n * Base64-encoded response body. Empty string for empty bodies.\n * @type {string}\n * @memberof FetchResponse\n */\n bodyBase64: string;\n /**\n * USD amount actually settled on-chain. \"0.00\" for any charge that\n * hasn't (yet, or ever) settled — a signed hold is not yet spend.\n * See `held_usd` for the nominal amount in that case. Exact to the\n * micro-dollar, minimum two decimals; parse as a decimal rather than\n * string-comparing against a bare zero literal.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n paidUsd: string | null;\n /**\n * The nominal charge amount when `paid_usd` is \"0.00\" — a hold\n * awaiting settlement, or a charge that failed/expired without ever\n * settling. `null` once `paid_usd` reflects the real settlement.\n * Same format as `paid_usd`: exact to the micro-dollar, minimum two\n * decimals.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n heldUsd: string | null;\n /**\n * Agent-facing settlement status. `not_required` means SIWX wallet\n * authentication returned the response without payment. `pending` = signed, no refusal\n * signal yet (settlement may still land, e.g. x402's async\n * facilitator webhook). `declined-pending` = the merchant refused\n * but the authorization isn't provably dead yet. `declined` /\n * `expired` / `reverted` are terminal — the money never moved (or,\n * for `reverted`, moved and then reversed on-chain) and never will\n * for this charge.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n paymentStatus: FetchResponsePaymentStatusEnum;\n /**\n * Settlement transaction hash. Null until a settlement hash has been reported.\n * @type {string}\n * @memberof FetchResponse\n */\n txHash: string | null;\n /**\n * Payment protocol selected for this fetch.\n * @type {string}\n * @memberof FetchResponse\n */\n protocol: FetchResponseProtocolEnum;\n /**\n * Internal artifact identifier if the response was persisted; `null` otherwise.\n * @type {number}\n * @memberof FetchResponse\n */\n artifactId: number | null;\n /**\n * The buyer purchase that paid for this fetch: an opaque id that\n * `GET /api/v1/purchases/{id}` accepts and that purchase rows carry\n * as `purchase_id`. It is not the sequential `Purchase.id`; do not\n * parse or order by it. That purchase reports its\n * own `status`, not `payment_status`: `signed` while the payment is\n * pending, then `settled` (charged its `amount_usd`, which can be\n * less than `held_usd`) or `declined`, `locked`, `expired`, or\n * `reverted` (not charged). A `settled` purchase with\n * `failure_reason: merchant_delivery_failed` was charged, but no\n * successful paid response was delivered. An idempotent\n * replay returns the same id, so bill at most once for each id.\n * `null` when no payment was made (`payment_status: not_required`).\n *\n * The lookup needs purchase-history access: a `wk_*` key, a claimed\n * `wbt_*` bearer, or a REST OAuth token with the `balance` scope. An\n * OAuth token issued for the MCP server cannot call this endpoint.\n * Current servers always send this field. It is optional in this\n * schema so that a client also accepts a response from an older\n * server.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n purchaseId?: string | null;\n}\n\n\n/**\n * @export\n */\nexport const FetchResponsePaymentStatusEnum = {\n Settled: 'settled',\n Pending: 'pending',\n DeclinedPending: 'declined-pending',\n Declined: 'declined',\n Expired: 'expired',\n Reverted: 'reverted',\n NotRequired: 'not_required'\n} as const;\nexport type FetchResponsePaymentStatusEnum = typeof FetchResponsePaymentStatusEnum[keyof typeof FetchResponsePaymentStatusEnum];\n\n/**\n * @export\n */\nexport const FetchResponseProtocolEnum = {\n X402: 'x402',\n Mpp: 'mpp'\n} as const;\nexport type FetchResponseProtocolEnum = typeof FetchResponseProtocolEnum[keyof typeof FetchResponseProtocolEnum];\n\n\n/**\n * Check if a given object implements the FetchResponse interface.\n */\nexport function instanceOfFetchResponse(value: object): value is FetchResponse {\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('headers' in value) || value['headers'] === undefined) return false;\n if (!('bodyBase64' in value) || value['bodyBase64'] === undefined) return false;\n if (!('paidUsd' in value) || value['paidUsd'] === undefined) return false;\n if (!('heldUsd' in value) || value['heldUsd'] === undefined) return false;\n if (!('paymentStatus' in value) || value['paymentStatus'] === undefined) return false;\n if (!('txHash' in value) || value['txHash'] === undefined) return false;\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n if (!('artifactId' in value) || value['artifactId'] === undefined) return false;\n return true;\n}\n\nexport function FetchResponseFromJSON(json: any): FetchResponse {\n return FetchResponseFromJSONTyped(json, false);\n}\n\nexport function FetchResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'status': json['status'],\n 'headers': json['headers'],\n 'bodyBase64': json['body_base64'],\n 'paidUsd': json['paid_usd'],\n 'heldUsd': json['held_usd'],\n 'paymentStatus': json['payment_status'],\n 'txHash': json['tx_hash'],\n 'protocol': json['protocol'],\n 'artifactId': json['artifact_id'],\n 'purchaseId': json['purchase_id'] == null ? undefined : json['purchase_id'],\n };\n}\n\nexport function FetchResponseToJSON(json: any): FetchResponse {\n return FetchResponseToJSONTyped(json, false);\n}\n\nexport function FetchResponseToJSONTyped(value?: FetchResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'status': value['status'],\n 'headers': value['headers'],\n 'body_base64': value['bodyBase64'],\n 'paid_usd': value['paidUsd'],\n 'held_usd': value['heldUsd'],\n 'payment_status': value['paymentStatus'],\n 'tx_hash': value['txHash'],\n 'protocol': value['protocol'],\n 'artifact_id': value['artifactId'],\n 'purchase_id': value['purchaseId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * @type GetPurchaseIdParameter\n *\n * @export\n */\nexport type GetPurchaseIdParameter = number | string;\n\nexport function GetPurchaseIdParameterFromJSON(json: any): GetPurchaseIdParameter {\n return GetPurchaseIdParameterFromJSONTyped(json, false);\n}\n\nexport function GetPurchaseIdParameterFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetPurchaseIdParameter {\n if (json == null) {\n return json;\n }\n if (typeof json === 'number') {\n return json;\n }\n if (typeof json === 'string') {\n return json;\n }\n return {} as any;\n}\n\nexport function GetPurchaseIdParameterToJSON(json: any): any {\n return GetPurchaseIdParameterToJSONTyped(json, false);\n}\n\nexport function GetPurchaseIdParameterToJSONTyped(value?: GetPurchaseIdParameter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n return value;\n }\n return {};\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PrincipalWallet\n */\nexport interface PrincipalWallet {\n /**\n *\n * @type {string}\n * @memberof PrincipalWallet\n */\n address: string;\n /**\n *\n * @type {string}\n * @memberof PrincipalWallet\n */\n network: string;\n}\n\n/**\n * Check if a given object implements the PrincipalWallet interface.\n */\nexport function instanceOfPrincipalWallet(value: object): value is PrincipalWallet {\n if (!('address' in value) || value['address'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n return true;\n}\n\nexport function PrincipalWalletFromJSON(json: any): PrincipalWallet {\n return PrincipalWalletFromJSONTyped(json, false);\n}\n\nexport function PrincipalWalletFromJSONTyped(json: any, ignoreDiscriminator: boolean): PrincipalWallet {\n if (json == null) {\n return json;\n }\n return {\n\n 'address': json['address'],\n 'network': json['network'],\n };\n}\n\nexport function PrincipalWalletToJSON(json: any): PrincipalWallet {\n return PrincipalWalletToJSONTyped(json, false);\n}\n\nexport function PrincipalWalletToJSONTyped(value?: PrincipalWallet | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'address': value['address'],\n 'network': value['network'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { PrincipalWallet } from './PrincipalWallet';\nimport {\n PrincipalWalletFromJSON,\n PrincipalWalletFromJSONTyped,\n PrincipalWalletToJSON,\n PrincipalWalletToJSONTyped,\n} from './PrincipalWallet';\n\n/**\n * The buyer User represented by an account API key or OAuth token.\n * @export\n * @interface UserPrincipal\n */\nexport interface UserPrincipal {\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n principalType: UserPrincipalPrincipalTypeEnum;\n /**\n *\n * @type {number}\n * @memberof UserPrincipal\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n displayName?: string;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n status: UserPrincipalStatusEnum;\n /**\n *\n * @type {boolean}\n * @memberof UserPrincipal\n */\n buyerEnabled: boolean;\n /**\n *\n * @type {boolean}\n * @memberof UserPrincipal\n */\n sellerEnabled: boolean;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n provisioningStatus: UserPrincipalProvisioningStatusEnum;\n /**\n *\n * @type {PrincipalWallet}\n * @memberof UserPrincipal\n */\n wallet: PrincipalWallet | null;\n}\n\n\n/**\n * @export\n */\nexport const UserPrincipalPrincipalTypeEnum = {\n User: 'user'\n} as const;\nexport type UserPrincipalPrincipalTypeEnum = typeof UserPrincipalPrincipalTypeEnum[keyof typeof UserPrincipalPrincipalTypeEnum];\n\n/**\n * @export\n */\nexport const UserPrincipalStatusEnum = {\n Active: 'active',\n Blocked: 'blocked'\n} as const;\nexport type UserPrincipalStatusEnum = typeof UserPrincipalStatusEnum[keyof typeof UserPrincipalStatusEnum];\n\n/**\n * @export\n */\nexport const UserPrincipalProvisioningStatusEnum = {\n Pending: 'pending',\n Ready: 'ready',\n NotApplicable: 'not_applicable'\n} as const;\nexport type UserPrincipalProvisioningStatusEnum = typeof UserPrincipalProvisioningStatusEnum[keyof typeof UserPrincipalProvisioningStatusEnum];\n\n\n/**\n * Check if a given object implements the UserPrincipal interface.\n */\nexport function instanceOfUserPrincipal(value: object): value is UserPrincipal {\n if (!('principalType' in value) || value['principalType'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('buyerEnabled' in value) || value['buyerEnabled'] === undefined) return false;\n if (!('sellerEnabled' in value) || value['sellerEnabled'] === undefined) return false;\n if (!('provisioningStatus' in value) || value['provisioningStatus'] === undefined) return false;\n if (!('wallet' in value) || value['wallet'] === undefined) return false;\n return true;\n}\n\nexport function UserPrincipalFromJSON(json: any): UserPrincipal {\n return UserPrincipalFromJSONTyped(json, false);\n}\n\nexport function UserPrincipalFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserPrincipal {\n if (json == null) {\n return json;\n }\n return {\n\n 'principalType': json['principal_type'],\n 'id': json['id'],\n 'email': json['email'],\n 'displayName': json['display_name'] == null ? undefined : json['display_name'],\n 'status': json['status'],\n 'buyerEnabled': json['buyer_enabled'],\n 'sellerEnabled': json['seller_enabled'],\n 'provisioningStatus': json['provisioning_status'],\n 'wallet': PrincipalWalletFromJSON(json['wallet']),\n };\n}\n\nexport function UserPrincipalToJSON(json: any): UserPrincipal {\n return UserPrincipalToJSONTyped(json, false);\n}\n\nexport function UserPrincipalToJSONTyped(value?: UserPrincipal | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'principal_type': value['principalType'],\n 'id': value['id'],\n 'email': value['email'],\n 'display_name': value['displayName'],\n 'status': value['status'],\n 'buyer_enabled': value['buyerEnabled'],\n 'seller_enabled': value['sellerEnabled'],\n 'provisioning_status': value['provisioningStatus'],\n 'wallet': PrincipalWalletToJSON(value['wallet']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AccountDetails } from './AccountDetails';\nimport {\n instanceOfAccountDetails,\n AccountDetailsFromJSON,\n AccountDetailsFromJSONTyped,\n AccountDetailsToJSON,\n} from './AccountDetails';\nimport type { UserPrincipal } from './UserPrincipal';\nimport {\n instanceOfUserPrincipal,\n UserPrincipalFromJSON,\n UserPrincipalFromJSONTyped,\n UserPrincipalToJSON,\n} from './UserPrincipal';\n\n/**\n * @type MeResponseData\n *\n * @export\n */\nexport type MeResponseData = { principalType: 'organization' } & AccountDetails | { principalType: 'user' } & UserPrincipal;\n\nexport function MeResponseDataFromJSON(json: any): MeResponseData {\n return MeResponseDataFromJSONTyped(json, false);\n}\n\nexport function MeResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeResponseData {\n if (json == null) {\n return json;\n }\n switch (json['principal_type']) {\n case 'organization':\n return Object.assign({}, AccountDetailsFromJSONTyped(json, true), { principalType: 'organization' } as const);\n case 'user':\n return Object.assign({}, UserPrincipalFromJSONTyped(json, true), { principalType: 'user' } as const);\n default:\n return json;\n }\n}\n\nexport function MeResponseDataToJSON(json: any): any {\n return MeResponseDataToJSONTyped(json, false);\n}\n\nexport function MeResponseDataToJSONTyped(value?: MeResponseData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n switch (value['principalType']) {\n case 'organization':\n return Object.assign({}, AccountDetailsToJSON(value), { principalType: 'organization' } as const);\n case 'user':\n return Object.assign({}, UserPrincipalToJSON(value), { principalType: 'user' } as const);\n default:\n return value;\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MeResponseData } from './MeResponseData';\nimport {\n MeResponseDataFromJSON,\n MeResponseDataFromJSONTyped,\n MeResponseDataToJSON,\n MeResponseDataToJSONTyped,\n} from './MeResponseData';\n\n/**\n *\n * @export\n * @interface MeResponse\n */\nexport interface MeResponse {\n /**\n *\n * @type {MeResponseData}\n * @memberof MeResponse\n */\n data: MeResponseData;\n}\n\n/**\n * Check if a given object implements the MeResponse interface.\n */\nexport function instanceOfMeResponse(value: object): value is MeResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function MeResponseFromJSON(json: any): MeResponse {\n return MeResponseFromJSONTyped(json, false);\n}\n\nexport function MeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': MeResponseDataFromJSON(json['data']),\n };\n}\n\nexport function MeResponseToJSON(json: any): MeResponse {\n return MeResponseToJSONTyped(json, false);\n}\n\nexport function MeResponseToJSONTyped(value?: MeResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': MeResponseDataToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface MessageResponseData\n */\nexport interface MessageResponseData {\n /**\n *\n * @type {string}\n * @memberof MessageResponseData\n */\n message: string;\n}\n\n/**\n * Check if a given object implements the MessageResponseData interface.\n */\nexport function instanceOfMessageResponseData(value: object): value is MessageResponseData {\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function MessageResponseDataFromJSON(json: any): MessageResponseData {\n return MessageResponseDataFromJSONTyped(json, false);\n}\n\nexport function MessageResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): MessageResponseData {\n if (json == null) {\n return json;\n }\n return {\n\n 'message': json['message'],\n };\n}\n\nexport function MessageResponseDataToJSON(json: any): MessageResponseData {\n return MessageResponseDataToJSONTyped(json, false);\n}\n\nexport function MessageResponseDataToJSONTyped(value?: MessageResponseData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'message': value['message'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MessageResponseData } from './MessageResponseData';\nimport {\n MessageResponseDataFromJSON,\n MessageResponseDataFromJSONTyped,\n MessageResponseDataToJSON,\n MessageResponseDataToJSONTyped,\n} from './MessageResponseData';\n\n/**\n *\n * @export\n * @interface MessageResponse\n */\nexport interface MessageResponse {\n /**\n *\n * @type {MessageResponseData}\n * @memberof MessageResponse\n */\n data: MessageResponseData;\n}\n\n/**\n * Check if a given object implements the MessageResponse interface.\n */\nexport function instanceOfMessageResponse(value: object): value is MessageResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function MessageResponseFromJSON(json: any): MessageResponse {\n return MessageResponseFromJSONTyped(json, false);\n}\n\nexport function MessageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MessageResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': MessageResponseDataFromJSON(json['data']),\n };\n}\n\nexport function MessageResponseToJSON(json: any): MessageResponse {\n return MessageResponseToJSONTyped(json, false);\n}\n\nexport function MessageResponseToJSONTyped(value?: MessageResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': MessageResponseDataToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * A single error inside an `ErrorResponse` envelope. `code` is the\n * stable machine-readable identifier (snake_case), `message` is\n * human-readable, `details` carries optional structured context\n * (e.g. validation field breakdown), and `request_id` correlates\n * with server logs for debugging.\n *\n * @export\n * @interface ModelError\n */\nexport interface ModelError {\n /**\n * Stable machine-readable error code (snake_case).\n * @type {string}\n * @memberof ModelError\n */\n code: string;\n /**\n * Human-readable error description.\n * @type {string}\n * @memberof ModelError\n */\n message: string;\n /**\n * Optional structured context about the failure.\n * @type {object}\n * @memberof ModelError\n */\n details?: object;\n /**\n * Correlates with server logs; include when reporting bugs.\n * @type {string}\n * @memberof ModelError\n */\n requestId?: string;\n}\n\n/**\n * Check if a given object implements the ModelError interface.\n */\nexport function instanceOfModelError(value: object): value is ModelError {\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function ModelErrorFromJSON(json: any): ModelError {\n return ModelErrorFromJSONTyped(json, false);\n}\n\nexport function ModelErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelError {\n if (json == null) {\n return json;\n }\n return {\n\n 'code': json['code'],\n 'message': json['message'],\n 'details': json['details'] == null ? undefined : json['details'],\n 'requestId': json['request_id'] == null ? undefined : json['request_id'],\n };\n}\n\nexport function ModelErrorToJSON(json: any): ModelError {\n return ModelErrorToJSONTyped(json, false);\n}\n\nexport function ModelErrorToJSONTyped(value?: ModelError | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'code': value['code'],\n 'message': value['message'],\n 'details': value['details'],\n 'request_id': value['requestId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PasswordResetRequest\n */\nexport interface PasswordResetRequest {\n /**\n *\n * @type {string}\n * @memberof PasswordResetRequest\n */\n email: string;\n}\n\n/**\n * Check if a given object implements the PasswordResetRequest interface.\n */\nexport function instanceOfPasswordResetRequest(value: object): value is PasswordResetRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function PasswordResetRequestFromJSON(json: any): PasswordResetRequest {\n return PasswordResetRequestFromJSONTyped(json, false);\n}\n\nexport function PasswordResetRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PasswordResetRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n };\n}\n\nexport function PasswordResetRequestToJSON(json: any): PasswordResetRequest {\n return PasswordResetRequestToJSONTyped(json, false);\n}\n\nexport function PasswordResetRequestToJSONTyped(value?: PasswordResetRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PasswordUpdateRequest\n */\nexport interface PasswordUpdateRequest {\n /**\n *\n * @type {string}\n * @memberof PasswordUpdateRequest\n */\n resetPasswordToken: string;\n /**\n *\n * @type {string}\n * @memberof PasswordUpdateRequest\n */\n password: string;\n /**\n *\n * @type {string}\n * @memberof PasswordUpdateRequest\n */\n passwordConfirmation: string;\n}\n\n/**\n * Check if a given object implements the PasswordUpdateRequest interface.\n */\nexport function instanceOfPasswordUpdateRequest(value: object): value is PasswordUpdateRequest {\n if (!('resetPasswordToken' in value) || value['resetPasswordToken'] === undefined) return false;\n if (!('password' in value) || value['password'] === undefined) return false;\n if (!('passwordConfirmation' in value) || value['passwordConfirmation'] === undefined) return false;\n return true;\n}\n\nexport function PasswordUpdateRequestFromJSON(json: any): PasswordUpdateRequest {\n return PasswordUpdateRequestFromJSONTyped(json, false);\n}\n\nexport function PasswordUpdateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PasswordUpdateRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'resetPasswordToken': json['reset_password_token'],\n 'password': json['password'],\n 'passwordConfirmation': json['password_confirmation'],\n };\n}\n\nexport function PasswordUpdateRequestToJSON(json: any): PasswordUpdateRequest {\n return PasswordUpdateRequestToJSONTyped(json, false);\n}\n\nexport function PasswordUpdateRequestToJSONTyped(value?: PasswordUpdateRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'reset_password_token': value['resetPasswordToken'],\n 'password': value['password'],\n 'password_confirmation': value['passwordConfirmation'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface Payment\n */\nexport interface Payment {\n /**\n *\n * @type {number}\n * @memberof Payment\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n txHash: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n payerAddress: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n recipientAddress: string;\n /**\n * Amount in atomic units (1 USDC = 1,000,000)\n * @type {number}\n * @memberof Payment\n */\n amount: number;\n /**\n * Human-readable amount (e.g. \"1.00 USDC\")\n * @type {string}\n * @memberof Payment\n */\n amountFormatted: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n currency: string;\n /**\n * CAIP-2 chain identifier\n * @type {string}\n * @memberof Payment\n */\n network: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n resourceUrl?: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n resourceHost?: string;\n /**\n *\n * @type {number}\n * @memberof Payment\n */\n settlementLatencyMs?: number;\n /**\n *\n * @type {Date}\n * @memberof Payment\n */\n settledAt: Date;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n apiKeyName: string;\n}\n\n/**\n * Check if a given object implements the Payment interface.\n */\nexport function instanceOfPayment(value: object): value is Payment {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('txHash' in value) || value['txHash'] === undefined) return false;\n if (!('payerAddress' in value) || value['payerAddress'] === undefined) return false;\n if (!('recipientAddress' in value) || value['recipientAddress'] === undefined) return false;\n if (!('amount' in value) || value['amount'] === undefined) return false;\n if (!('amountFormatted' in value) || value['amountFormatted'] === undefined) return false;\n if (!('currency' in value) || value['currency'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n if (!('settledAt' in value) || value['settledAt'] === undefined) return false;\n if (!('apiKeyName' in value) || value['apiKeyName'] === undefined) return false;\n return true;\n}\n\nexport function PaymentFromJSON(json: any): Payment {\n return PaymentFromJSONTyped(json, false);\n}\n\nexport function PaymentFromJSONTyped(json: any, ignoreDiscriminator: boolean): Payment {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'txHash': json['tx_hash'],\n 'payerAddress': json['payer_address'],\n 'recipientAddress': json['recipient_address'],\n 'amount': json['amount'],\n 'amountFormatted': json['amount_formatted'],\n 'currency': json['currency'],\n 'network': json['network'],\n 'resourceUrl': json['resource_url'] == null ? undefined : json['resource_url'],\n 'resourceHost': json['resource_host'] == null ? undefined : json['resource_host'],\n 'settlementLatencyMs': json['settlement_latency_ms'] == null ? undefined : json['settlement_latency_ms'],\n 'settledAt': (new Date(json['settled_at'])),\n 'apiKeyName': json['api_key_name'],\n };\n}\n\nexport function PaymentToJSON(json: any): Payment {\n return PaymentToJSONTyped(json, false);\n}\n\nexport function PaymentToJSONTyped(value?: Payment | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'tx_hash': value['txHash'],\n 'payer_address': value['payerAddress'],\n 'recipient_address': value['recipientAddress'],\n 'amount': value['amount'],\n 'amount_formatted': value['amountFormatted'],\n 'currency': value['currency'],\n 'network': value['network'],\n 'resource_url': value['resourceUrl'],\n 'resource_host': value['resourceHost'],\n 'settlement_latency_ms': value['settlementLatencyMs'],\n 'settled_at': value['settledAt'].toISOString(),\n 'api_key_name': value['apiKeyName'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Pagination } from './Pagination';\nimport {\n PaginationFromJSON,\n PaginationFromJSONTyped,\n PaginationToJSON,\n PaginationToJSONTyped,\n} from './Pagination';\nimport type { Payment } from './Payment';\nimport {\n PaymentFromJSON,\n PaymentFromJSONTyped,\n PaymentToJSON,\n PaymentToJSONTyped,\n} from './Payment';\n\n/**\n *\n * @export\n * @interface PaymentListResponse\n */\nexport interface PaymentListResponse {\n /**\n *\n * @type {Array<Payment>}\n * @memberof PaymentListResponse\n */\n data: Array<Payment>;\n /**\n *\n * @type {Pagination}\n * @memberof PaymentListResponse\n */\n pagination: Pagination;\n}\n\n/**\n * Check if a given object implements the PaymentListResponse interface.\n */\nexport function instanceOfPaymentListResponse(value: object): value is PaymentListResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n if (!('pagination' in value) || value['pagination'] === undefined) return false;\n return true;\n}\n\nexport function PaymentListResponseFromJSON(json: any): PaymentListResponse {\n return PaymentListResponseFromJSONTyped(json, false);\n}\n\nexport function PaymentListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentListResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ((json['data'] as Array<any>).map(PaymentFromJSON)),\n 'pagination': PaginationFromJSON(json['pagination']),\n };\n}\n\nexport function PaymentListResponseToJSON(json: any): PaymentListResponse {\n return PaymentListResponseToJSONTyped(json, false);\n}\n\nexport function PaymentListResponseToJSONTyped(value?: PaymentListResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ((value['data'] as Array<any>).map(PaymentToJSON)),\n 'pagination': PaginationToJSON(value['pagination']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Payment } from './Payment';\nimport {\n PaymentFromJSON,\n PaymentFromJSONTyped,\n PaymentToJSON,\n PaymentToJSONTyped,\n} from './Payment';\n\n/**\n *\n * @export\n * @interface PaymentResponse\n */\nexport interface PaymentResponse {\n /**\n *\n * @type {Payment}\n * @memberof PaymentResponse\n */\n data: Payment;\n}\n\n/**\n * Check if a given object implements the PaymentResponse interface.\n */\nexport function instanceOfPaymentResponse(value: object): value is PaymentResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function PaymentResponseFromJSON(json: any): PaymentResponse {\n return PaymentResponseFromJSONTyped(json, false);\n}\n\nexport function PaymentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': PaymentFromJSON(json['data']),\n };\n}\n\nexport function PaymentResponseToJSON(json: any): PaymentResponse {\n return PaymentResponseToJSONTyped(json, false);\n}\n\nexport function PaymentResponseToJSONTyped(value?: PaymentResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': PaymentToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PurchaseArtifact\n */\nexport interface PurchaseArtifact {\n /**\n *\n * @type {number}\n * @memberof PurchaseArtifact\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof PurchaseArtifact\n */\n merchantUrl: string;\n /**\n *\n * @type {number}\n * @memberof PurchaseArtifact\n */\n bytes: number;\n /**\n *\n * @type {string}\n * @memberof PurchaseArtifact\n */\n mime: string | null;\n}\n\n/**\n * Check if a given object implements the PurchaseArtifact interface.\n */\nexport function instanceOfPurchaseArtifact(value: object): value is PurchaseArtifact {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('merchantUrl' in value) || value['merchantUrl'] === undefined) return false;\n if (!('bytes' in value) || value['bytes'] === undefined) return false;\n if (!('mime' in value) || value['mime'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseArtifactFromJSON(json: any): PurchaseArtifact {\n return PurchaseArtifactFromJSONTyped(json, false);\n}\n\nexport function PurchaseArtifactFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchaseArtifact {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'merchantUrl': json['merchant_url'],\n 'bytes': json['bytes'],\n 'mime': json['mime'],\n };\n}\n\nexport function PurchaseArtifactToJSON(json: any): PurchaseArtifact {\n return PurchaseArtifactToJSONTyped(json, false);\n}\n\nexport function PurchaseArtifactToJSONTyped(value?: PurchaseArtifact | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'merchant_url': value['merchantUrl'],\n 'bytes': value['bytes'],\n 'mime': value['mime'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { PurchaseArtifact } from './PurchaseArtifact';\nimport {\n PurchaseArtifactFromJSON,\n PurchaseArtifactFromJSONTyped,\n PurchaseArtifactToJSON,\n PurchaseArtifactToJSONTyped,\n} from './PurchaseArtifact';\n\n/**\n *\n * @export\n * @interface Purchase\n */\nexport interface Purchase {\n /**\n *\n * @type {number}\n * @memberof Purchase\n */\n id: number;\n /**\n * Opaque purchase id: the value fetch returns as `purchase_id` and\n * that `GET /api/v1/purchases/{id}` accepts. Prefer it over the\n * sequential `id`. Current servers always send this field; it is\n * optional in this schema so that a client also accepts a response\n * from an older server.\n *\n * @type {string}\n * @memberof Purchase\n */\n purchaseId?: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n status: PurchaseStatusEnum;\n /**\n * Exact decimal USD amount with up to six fractional digits. Settled rows report the amount that moved; pending and failed rows report their authorization amount.\n * @type {string}\n * @memberof Purchase\n */\n amountUsd: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n recipientAddress: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n network: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n protocol: PurchaseProtocolEnum | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n context: string | null;\n /**\n * Search trace ID used to attribute this purchase, when available.\n * @type {string}\n * @memberof Purchase\n */\n searchId: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n attributionStatus: PurchaseAttributionStatusEnum;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n txHash: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n rejectReason: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n failureReason: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n idempotencyKey: string | null;\n /**\n *\n * @type {Date}\n * @memberof Purchase\n */\n signedAt: Date;\n /**\n *\n * @type {Date}\n * @memberof Purchase\n */\n settledAt: Date | null;\n /**\n *\n * @type {PurchaseArtifact}\n * @memberof Purchase\n */\n artifact: PurchaseArtifact | null;\n}\n\n\n/**\n * @export\n */\nexport const PurchaseStatusEnum = {\n Signed: 'signed',\n Settled: 'settled',\n Locked: 'locked',\n Rejected: 'rejected',\n Declined: 'declined',\n Expired: 'expired',\n Reverted: 'reverted'\n} as const;\nexport type PurchaseStatusEnum = typeof PurchaseStatusEnum[keyof typeof PurchaseStatusEnum];\n\n/**\n * @export\n */\nexport const PurchaseProtocolEnum = {\n Mpp: 'mpp',\n X402: 'x402'\n} as const;\nexport type PurchaseProtocolEnum = typeof PurchaseProtocolEnum[keyof typeof PurchaseProtocolEnum];\n\n/**\n * @export\n */\nexport const PurchaseAttributionStatusEnum = {\n Attributed: 'attributed',\n Unattributed: 'unattributed'\n} as const;\nexport type PurchaseAttributionStatusEnum = typeof PurchaseAttributionStatusEnum[keyof typeof PurchaseAttributionStatusEnum];\n\n\n/**\n * Check if a given object implements the Purchase interface.\n */\nexport function instanceOfPurchase(value: object): value is Purchase {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('amountUsd' in value) || value['amountUsd'] === undefined) return false;\n if (!('recipientAddress' in value) || value['recipientAddress'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n if (!('context' in value) || value['context'] === undefined) return false;\n if (!('searchId' in value) || value['searchId'] === undefined) return false;\n if (!('attributionStatus' in value) || value['attributionStatus'] === undefined) return false;\n if (!('txHash' in value) || value['txHash'] === undefined) return false;\n if (!('rejectReason' in value) || value['rejectReason'] === undefined) return false;\n if (!('failureReason' in value) || value['failureReason'] === undefined) return false;\n if (!('idempotencyKey' in value) || value['idempotencyKey'] === undefined) return false;\n if (!('signedAt' in value) || value['signedAt'] === undefined) return false;\n if (!('settledAt' in value) || value['settledAt'] === undefined) return false;\n if (!('artifact' in value) || value['artifact'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseFromJSON(json: any): Purchase {\n return PurchaseFromJSONTyped(json, false);\n}\n\nexport function PurchaseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Purchase {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'purchaseId': json['purchase_id'] == null ? undefined : json['purchase_id'],\n 'status': json['status'],\n 'amountUsd': json['amount_usd'],\n 'recipientAddress': json['recipient_address'],\n 'network': json['network'],\n 'protocol': json['protocol'],\n 'context': json['context'],\n 'searchId': json['search_id'],\n 'attributionStatus': json['attribution_status'],\n 'txHash': json['tx_hash'],\n 'rejectReason': json['reject_reason'],\n 'failureReason': json['failure_reason'],\n 'idempotencyKey': json['idempotency_key'],\n 'signedAt': (new Date(json['signed_at'])),\n 'settledAt': (json['settled_at'] == null ? null : new Date(json['settled_at'])),\n 'artifact': PurchaseArtifactFromJSON(json['artifact']),\n };\n}\n\nexport function PurchaseToJSON(json: any): Purchase {\n return PurchaseToJSONTyped(json, false);\n}\n\nexport function PurchaseToJSONTyped(value?: Purchase | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'purchase_id': value['purchaseId'],\n 'status': value['status'],\n 'amount_usd': value['amountUsd'],\n 'recipient_address': value['recipientAddress'],\n 'network': value['network'],\n 'protocol': value['protocol'],\n 'context': value['context'],\n 'search_id': value['searchId'],\n 'attribution_status': value['attributionStatus'],\n 'tx_hash': value['txHash'],\n 'reject_reason': value['rejectReason'],\n 'failure_reason': value['failureReason'],\n 'idempotency_key': value['idempotencyKey'],\n 'signed_at': value['signedAt'].toISOString(),\n 'settled_at': value['settledAt'] == null ? value['settledAt'] : value['settledAt'].toISOString(),\n 'artifact': PurchaseArtifactToJSON(value['artifact']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Pagination } from './Pagination';\nimport {\n PaginationFromJSON,\n PaginationFromJSONTyped,\n PaginationToJSON,\n PaginationToJSONTyped,\n} from './Pagination';\nimport type { Purchase } from './Purchase';\nimport {\n PurchaseFromJSON,\n PurchaseFromJSONTyped,\n PurchaseToJSON,\n PurchaseToJSONTyped,\n} from './Purchase';\n\n/**\n *\n * @export\n * @interface PurchaseListResponse\n */\nexport interface PurchaseListResponse {\n /**\n *\n * @type {Array<Purchase>}\n * @memberof PurchaseListResponse\n */\n data: Array<Purchase>;\n /**\n *\n * @type {Pagination}\n * @memberof PurchaseListResponse\n */\n pagination: Pagination;\n}\n\n/**\n * Check if a given object implements the PurchaseListResponse interface.\n */\nexport function instanceOfPurchaseListResponse(value: object): value is PurchaseListResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n if (!('pagination' in value) || value['pagination'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseListResponseFromJSON(json: any): PurchaseListResponse {\n return PurchaseListResponseFromJSONTyped(json, false);\n}\n\nexport function PurchaseListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchaseListResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ((json['data'] as Array<any>).map(PurchaseFromJSON)),\n 'pagination': PaginationFromJSON(json['pagination']),\n };\n}\n\nexport function PurchaseListResponseToJSON(json: any): PurchaseListResponse {\n return PurchaseListResponseToJSONTyped(json, false);\n}\n\nexport function PurchaseListResponseToJSONTyped(value?: PurchaseListResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ((value['data'] as Array<any>).map(PurchaseToJSON)),\n 'pagination': PaginationToJSON(value['pagination']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Purchase } from './Purchase';\nimport {\n PurchaseFromJSON,\n PurchaseFromJSONTyped,\n PurchaseToJSON,\n PurchaseToJSONTyped,\n} from './Purchase';\n\n/**\n *\n * @export\n * @interface PurchaseResponse\n */\nexport interface PurchaseResponse {\n /**\n *\n * @type {Purchase}\n * @memberof PurchaseResponse\n */\n data: Purchase;\n}\n\n/**\n * Check if a given object implements the PurchaseResponse interface.\n */\nexport function instanceOfPurchaseResponse(value: object): value is PurchaseResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseResponseFromJSON(json: any): PurchaseResponse {\n return PurchaseResponseFromJSONTyped(json, false);\n}\n\nexport function PurchaseResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchaseResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': PurchaseFromJSON(json['data']),\n };\n}\n\nexport function PurchaseResponseToJSON(json: any): PurchaseResponse {\n return PurchaseResponseToJSONTyped(json, false);\n}\n\nexport function PurchaseResponseToJSONTyped(value?: PurchaseResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': PurchaseToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface RateLimitResponse\n */\nexport interface RateLimitResponse {\n /**\n *\n * @type {string}\n * @memberof RateLimitResponse\n */\n error: RateLimitResponseErrorEnum;\n /**\n *\n * @type {string}\n * @memberof RateLimitResponse\n */\n errorDescription: string;\n}\n\n\n/**\n * @export\n */\nexport const RateLimitResponseErrorEnum = {\n TooManyRequests: 'too_many_requests'\n} as const;\nexport type RateLimitResponseErrorEnum = typeof RateLimitResponseErrorEnum[keyof typeof RateLimitResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the RateLimitResponse interface.\n */\nexport function instanceOfRateLimitResponse(value: object): value is RateLimitResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n if (!('errorDescription' in value) || value['errorDescription'] === undefined) return false;\n return true;\n}\n\nexport function RateLimitResponseFromJSON(json: any): RateLimitResponse {\n return RateLimitResponseFromJSONTyped(json, false);\n}\n\nexport function RateLimitResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RateLimitResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'errorDescription': json['error_description'],\n };\n}\n\nexport function RateLimitResponseToJSON(json: any): RateLimitResponse {\n return RateLimitResponseToJSONTyped(json, false);\n}\n\nexport function RateLimitResponseToJSONTyped(value?: RateLimitResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'error_description': value['errorDescription'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ResendConfirmationRequest\n */\nexport interface ResendConfirmationRequest {\n /**\n *\n * @type {string}\n * @memberof ResendConfirmationRequest\n */\n email: string;\n}\n\n/**\n * Check if a given object implements the ResendConfirmationRequest interface.\n */\nexport function instanceOfResendConfirmationRequest(value: object): value is ResendConfirmationRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function ResendConfirmationRequestFromJSON(json: any): ResendConfirmationRequest {\n return ResendConfirmationRequestFromJSONTyped(json, false);\n}\n\nexport function ResendConfirmationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResendConfirmationRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n };\n}\n\nexport function ResendConfirmationRequestToJSON(json: any): ResendConfirmationRequest {\n return ResendConfirmationRequestToJSONTyped(json, false);\n}\n\nexport function ResendConfirmationRequestToJSONTyped(value?: ResendConfirmationRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * `slug` and `category` are accepted but silently ignored — the server\n * generates the slug from `name`, and category is a post-claim concern.\n *\n * @export\n * @interface ResourceEnrollmentRequest\n */\nexport interface ResourceEnrollmentRequest {\n /**\n * Resource kind. Must be one of the supported kinds (currently\n * `agent`); an unknown value is rejected with a 422.\n *\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n kind: string;\n /**\n * Human-readable name; the server derives the slug from it.\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n description?: string;\n /**\n * Declared EVM wallet address for the ghost resource. Stored as a\n * claim (unverified) until the resource is claimed.\n *\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n walletAddress?: string;\n}\n\n/**\n * Check if a given object implements the ResourceEnrollmentRequest interface.\n */\nexport function instanceOfResourceEnrollmentRequest(value: object): value is ResourceEnrollmentRequest {\n if (!('kind' in value) || value['kind'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n return true;\n}\n\nexport function ResourceEnrollmentRequestFromJSON(json: any): ResourceEnrollmentRequest {\n return ResourceEnrollmentRequestFromJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceEnrollmentRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'kind': json['kind'],\n 'name': json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'walletAddress': json['wallet_address'] == null ? undefined : json['wallet_address'],\n };\n}\n\nexport function ResourceEnrollmentRequestToJSON(json: any): ResourceEnrollmentRequest {\n return ResourceEnrollmentRequestToJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentRequestToJSONTyped(value?: ResourceEnrollmentRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'kind': value['kind'],\n 'name': value['name'],\n 'description': value['description'],\n 'wallet_address': value['walletAddress'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { EnrolledResource } from './EnrolledResource';\nimport {\n EnrolledResourceFromJSON,\n EnrolledResourceFromJSONTyped,\n EnrolledResourceToJSON,\n EnrolledResourceToJSONTyped,\n} from './EnrolledResource';\n\n/**\n *\n * @export\n * @interface ResourceEnrollmentResponse\n */\nexport interface ResourceEnrollmentResponse {\n /**\n *\n * @type {EnrolledResource}\n * @memberof ResourceEnrollmentResponse\n */\n data: EnrolledResource;\n}\n\n/**\n * Check if a given object implements the ResourceEnrollmentResponse interface.\n */\nexport function instanceOfResourceEnrollmentResponse(value: object): value is ResourceEnrollmentResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function ResourceEnrollmentResponseFromJSON(json: any): ResourceEnrollmentResponse {\n return ResourceEnrollmentResponseFromJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceEnrollmentResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': EnrolledResourceFromJSON(json['data']),\n };\n}\n\nexport function ResourceEnrollmentResponseToJSON(json: any): ResourceEnrollmentResponse {\n return ResourceEnrollmentResponseToJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentResponseToJSONTyped(value?: ResourceEnrollmentResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': EnrolledResourceToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchWeftFetchCompatibility\n */\nexport interface SearchWeftFetchCompatibility {\n /**\n *\n * @type {string}\n * @memberof SearchWeftFetchCompatibility\n */\n state: SearchWeftFetchCompatibilityStateEnum;\n /**\n *\n * @type {string}\n * @memberof SearchWeftFetchCompatibility\n */\n reason: string;\n /**\n *\n * @type {number}\n * @memberof SearchWeftFetchCompatibility\n */\n contractVersion: number;\n /**\n * Extent of the operation covered by weft_fetch. `terminal_response`\n * covers the terminal result; `submission_only` covers submission but\n * not completion or retrieval of the result; `none` means no coverage.\n * When absent, coverage is unknown, not terminal. Do not infer terminal\n * coverage from synchronous execution mode alone.\n *\n * @type {string}\n * @memberof SearchWeftFetchCompatibility\n */\n coverage?: SearchWeftFetchCompatibilityCoverageEnum;\n}\n\n\n/**\n * @export\n */\nexport const SearchWeftFetchCompatibilityStateEnum = {\n Supported: 'supported',\n Unsupported: 'unsupported',\n Unknown: 'unknown'\n} as const;\nexport type SearchWeftFetchCompatibilityStateEnum = typeof SearchWeftFetchCompatibilityStateEnum[keyof typeof SearchWeftFetchCompatibilityStateEnum];\n\n/**\n * @export\n */\nexport const SearchWeftFetchCompatibilityCoverageEnum = {\n TerminalResponse: 'terminal_response',\n SubmissionOnly: 'submission_only',\n None: 'none'\n} as const;\nexport type SearchWeftFetchCompatibilityCoverageEnum = typeof SearchWeftFetchCompatibilityCoverageEnum[keyof typeof SearchWeftFetchCompatibilityCoverageEnum];\n\n\n/**\n * Check if a given object implements the SearchWeftFetchCompatibility interface.\n */\nexport function instanceOfSearchWeftFetchCompatibility(value: object): value is SearchWeftFetchCompatibility {\n if (!('state' in value) || value['state'] === undefined) return false;\n if (!('reason' in value) || value['reason'] === undefined) return false;\n if (!('contractVersion' in value) || value['contractVersion'] === undefined) return false;\n return true;\n}\n\nexport function SearchWeftFetchCompatibilityFromJSON(json: any): SearchWeftFetchCompatibility {\n return SearchWeftFetchCompatibilityFromJSONTyped(json, false);\n}\n\nexport function SearchWeftFetchCompatibilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchWeftFetchCompatibility {\n if (json == null) {\n return json;\n }\n return {\n\n 'state': json['state'],\n 'reason': json['reason'],\n 'contractVersion': json['contract_version'],\n 'coverage': json['coverage'] == null ? undefined : json['coverage'],\n };\n}\n\nexport function SearchWeftFetchCompatibilityToJSON(json: any): SearchWeftFetchCompatibility {\n return SearchWeftFetchCompatibilityToJSONTyped(json, false);\n}\n\nexport function SearchWeftFetchCompatibilityToJSONTyped(value?: SearchWeftFetchCompatibility | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'state': value['state'],\n 'reason': value['reason'],\n 'contract_version': value['contractVersion'],\n 'coverage': value['coverage'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchWeftFetchCompatibility } from './SearchWeftFetchCompatibility';\nimport {\n SearchWeftFetchCompatibilityFromJSON,\n SearchWeftFetchCompatibilityFromJSONTyped,\n SearchWeftFetchCompatibilityToJSON,\n SearchWeftFetchCompatibilityToJSONTyped,\n} from './SearchWeftFetchCompatibility';\n\n/**\n *\n * @export\n * @interface SearchAccessMethod\n */\nexport interface SearchAccessMethod {\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n accessMethodId: string;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n protocol: SearchAccessMethodProtocolEnum;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n scheme?: string;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n network?: string;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n asset?: string;\n /**\n *\n * @type {number}\n * @memberof SearchAccessMethod\n */\n assetDecimals?: number;\n /**\n *\n * @type {object}\n * @memberof SearchAccessMethod\n */\n price: object;\n /**\n *\n * @type {object}\n * @memberof SearchAccessMethod\n */\n merchant?: object;\n /**\n *\n * @type {object}\n * @memberof SearchAccessMethod\n */\n terms?: object;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n status?: SearchAccessMethodStatusEnum;\n /**\n *\n * @type {SearchWeftFetchCompatibility}\n * @memberof SearchAccessMethod\n */\n weftFetch: SearchWeftFetchCompatibility;\n}\n\n\n/**\n * @export\n */\nexport const SearchAccessMethodProtocolEnum = {\n X402: 'x402',\n Mpp: 'mpp',\n Free: 'free'\n} as const;\nexport type SearchAccessMethodProtocolEnum = typeof SearchAccessMethodProtocolEnum[keyof typeof SearchAccessMethodProtocolEnum];\n\n/**\n * @export\n */\nexport const SearchAccessMethodStatusEnum = {\n Listed: 'listed',\n Observed: 'observed',\n Unavailable: 'unavailable'\n} as const;\nexport type SearchAccessMethodStatusEnum = typeof SearchAccessMethodStatusEnum[keyof typeof SearchAccessMethodStatusEnum];\n\n\n/**\n * Check if a given object implements the SearchAccessMethod interface.\n */\nexport function instanceOfSearchAccessMethod(value: object): value is SearchAccessMethod {\n if (!('accessMethodId' in value) || value['accessMethodId'] === undefined) return false;\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n if (!('price' in value) || value['price'] === undefined) return false;\n if (!('weftFetch' in value) || value['weftFetch'] === undefined) return false;\n return true;\n}\n\nexport function SearchAccessMethodFromJSON(json: any): SearchAccessMethod {\n return SearchAccessMethodFromJSONTyped(json, false);\n}\n\nexport function SearchAccessMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchAccessMethod {\n if (json == null) {\n return json;\n }\n return {\n\n 'accessMethodId': json['access_method_id'],\n 'protocol': json['protocol'],\n 'scheme': json['scheme'] == null ? undefined : json['scheme'],\n 'network': json['network'] == null ? undefined : json['network'],\n 'asset': json['asset'] == null ? undefined : json['asset'],\n 'assetDecimals': json['asset_decimals'] == null ? undefined : json['asset_decimals'],\n 'price': json['price'],\n 'merchant': json['merchant'] == null ? undefined : json['merchant'],\n 'terms': json['terms'] == null ? undefined : json['terms'],\n 'status': json['status'] == null ? undefined : json['status'],\n 'weftFetch': SearchWeftFetchCompatibilityFromJSON(json['weft_fetch']),\n };\n}\n\nexport function SearchAccessMethodToJSON(json: any): SearchAccessMethod {\n return SearchAccessMethodToJSONTyped(json, false);\n}\n\nexport function SearchAccessMethodToJSONTyped(value?: SearchAccessMethod | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'access_method_id': value['accessMethodId'],\n 'protocol': value['protocol'],\n 'scheme': value['scheme'],\n 'network': value['network'],\n 'asset': value['asset'],\n 'asset_decimals': value['assetDecimals'],\n 'price': value['price'],\n 'merchant': value['merchant'],\n 'terms': value['terms'],\n 'status': value['status'],\n 'weft_fetch': SearchWeftFetchCompatibilityToJSON(value['weftFetch']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCapabilityRef\n */\nexport interface SearchCapabilityRef {\n /**\n *\n * @type {string}\n * @memberof SearchCapabilityRef\n */\n capabilityId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCapabilityRef\n */\n capabilityType?: string;\n}\n\n/**\n * Check if a given object implements the SearchCapabilityRef interface.\n */\nexport function instanceOfSearchCapabilityRef(value: object): value is SearchCapabilityRef {\n return true;\n}\n\nexport function SearchCapabilityRefFromJSON(json: any): SearchCapabilityRef {\n return SearchCapabilityRefFromJSONTyped(json, false);\n}\n\nexport function SearchCapabilityRefFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCapabilityRef {\n if (json == null) {\n return json;\n }\n return {\n\n 'capabilityId': json['capability_id'] == null ? undefined : json['capability_id'],\n 'capabilityType': json['capability_type'] == null ? undefined : json['capability_type'],\n };\n}\n\nexport function SearchCapabilityRefToJSON(json: any): SearchCapabilityRef {\n return SearchCapabilityRefToJSONTyped(json, false);\n}\n\nexport function SearchCapabilityRefToJSONTyped(value?: SearchCapabilityRef | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'capability_id': value['capabilityId'],\n 'capability_type': value['capabilityType'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactAccessPrice\n */\nexport interface SearchCompactAccessPrice {\n /**\n * Price kind, such as `fixed`, `dynamic`, `free` or `unknown`.\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n kind?: string;\n /**\n * Indexed USD price. A `dynamic` price is not a cap.\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n indexedUsd?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n unit?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n hint?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactAccessPrice interface.\n */\nexport function instanceOfSearchCompactAccessPrice(value: object): value is SearchCompactAccessPrice {\n return true;\n}\n\nexport function SearchCompactAccessPriceFromJSON(json: any): SearchCompactAccessPrice {\n return SearchCompactAccessPriceFromJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessPriceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactAccessPrice {\n if (json == null) {\n return json;\n }\n return {\n\n 'kind': json['kind'] == null ? undefined : json['kind'],\n 'indexedUsd': json['indexed_usd'] == null ? undefined : json['indexed_usd'],\n 'unit': json['unit'] == null ? undefined : json['unit'],\n 'hint': json['hint'] == null ? undefined : json['hint'],\n };\n}\n\nexport function SearchCompactAccessPriceToJSON(json: any): SearchCompactAccessPrice {\n return SearchCompactAccessPriceToJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessPriceToJSONTyped(value?: SearchCompactAccessPrice | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'kind': value['kind'],\n 'indexed_usd': value['indexedUsd'],\n 'unit': value['unit'],\n 'hint': value['hint'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchCompactAccessPrice } from './SearchCompactAccessPrice';\nimport {\n SearchCompactAccessPriceFromJSON,\n SearchCompactAccessPriceFromJSONTyped,\n SearchCompactAccessPriceToJSON,\n SearchCompactAccessPriceToJSONTyped,\n} from './SearchCompactAccessPrice';\n\n/**\n * The recommended access method for this operation.\n * @export\n * @interface SearchCompactAccess\n */\nexport interface SearchCompactAccess {\n /**\n * The `access_method_id` to send to `POST /api/v1/fetch`.\n * @type {string}\n * @memberof SearchCompactAccess\n */\n id?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactAccess\n */\n protocol?: string;\n /**\n * Whether the Weft fetch runtime can pay this access method (`state`, and `reason` and `coverage` when they fit).\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactAccess\n */\n weftFetch?: { [key: string]: any; };\n /**\n *\n * @type {SearchCompactAccessPrice}\n * @memberof SearchCompactAccess\n */\n price?: SearchCompactAccessPrice;\n}\n\n/**\n * Check if a given object implements the SearchCompactAccess interface.\n */\nexport function instanceOfSearchCompactAccess(value: object): value is SearchCompactAccess {\n return true;\n}\n\nexport function SearchCompactAccessFromJSON(json: any): SearchCompactAccess {\n return SearchCompactAccessFromJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactAccess {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'] == null ? undefined : json['id'],\n 'protocol': json['protocol'] == null ? undefined : json['protocol'],\n 'weftFetch': json['weft_fetch'] == null ? undefined : json['weft_fetch'],\n 'price': json['price'] == null ? undefined : SearchCompactAccessPriceFromJSON(json['price']),\n };\n}\n\nexport function SearchCompactAccessToJSON(json: any): SearchCompactAccess {\n return SearchCompactAccessToJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessToJSONTyped(value?: SearchCompactAccess | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'protocol': value['protocol'],\n 'weft_fetch': value['weftFetch'],\n 'price': SearchCompactAccessPriceToJSON(value['price']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * A ready paid call, present when the request is determined and the\n * Weft fetch runtime can pay the access method. Replace each `{name}`\n * listed in `fill` in `body` (and add `max_cost_usd` or `body` when they\n * are listed), then send `body` as the JSON body of `POST /api/v1/fetch`\n * with an `Idempotency-Key` header. `body` uses the wire field names\n * (`max_cost_usd`, `search_id`); an SDK fetch call may name them\n * differently, so map each field and keep the attribution fields.\n *\n * @export\n * @interface SearchCompactNextCall\n */\nexport interface SearchCompactNextCall {\n /**\n *\n * @type {string}\n * @memberof SearchCompactNextCall\n */\n method: SearchCompactNextCallMethodEnum;\n /**\n *\n * @type {string}\n * @memberof SearchCompactNextCall\n */\n path: SearchCompactNextCallPathEnum;\n /**\n * A `FetchRequest` with documented example values and `{name}` placeholders.\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactNextCall\n */\n body: { [key: string]: any; };\n /**\n * Names to replace before you send the request.\n * @type {Array<string>}\n * @memberof SearchCompactNextCall\n */\n fill: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const SearchCompactNextCallMethodEnum = {\n Post: 'POST'\n} as const;\nexport type SearchCompactNextCallMethodEnum = typeof SearchCompactNextCallMethodEnum[keyof typeof SearchCompactNextCallMethodEnum];\n\n/**\n * @export\n */\nexport const SearchCompactNextCallPathEnum = {\n ApiV1Fetch: '/api/v1/fetch'\n} as const;\nexport type SearchCompactNextCallPathEnum = typeof SearchCompactNextCallPathEnum[keyof typeof SearchCompactNextCallPathEnum];\n\n\n/**\n * Check if a given object implements the SearchCompactNextCall interface.\n */\nexport function instanceOfSearchCompactNextCall(value: object): value is SearchCompactNextCall {\n if (!('method' in value) || value['method'] === undefined) return false;\n if (!('path' in value) || value['path'] === undefined) return false;\n if (!('body' in value) || value['body'] === undefined) return false;\n if (!('fill' in value) || value['fill'] === undefined) return false;\n return true;\n}\n\nexport function SearchCompactNextCallFromJSON(json: any): SearchCompactNextCall {\n return SearchCompactNextCallFromJSONTyped(json, false);\n}\n\nexport function SearchCompactNextCallFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactNextCall {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'],\n 'path': json['path'],\n 'body': json['body'],\n 'fill': json['fill'],\n };\n}\n\nexport function SearchCompactNextCallToJSON(json: any): SearchCompactNextCall {\n return SearchCompactNextCallToJSONTyped(json, false);\n}\n\nexport function SearchCompactNextCallToJSONTyped(value?: SearchCompactNextCall | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'path': value['path'],\n 'body': value['body'],\n 'fill': value['fill'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactResultBlockedScopesInner\n */\nexport interface SearchCompactResultBlockedScopesInner {\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultBlockedScopesInner\n */\n scope?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultBlockedScopesInner\n */\n state?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultBlockedScopesInner interface.\n */\nexport function instanceOfSearchCompactResultBlockedScopesInner(value: object): value is SearchCompactResultBlockedScopesInner {\n return true;\n}\n\nexport function SearchCompactResultBlockedScopesInnerFromJSON(json: any): SearchCompactResultBlockedScopesInner {\n return SearchCompactResultBlockedScopesInnerFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultBlockedScopesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultBlockedScopesInner {\n if (json == null) {\n return json;\n }\n return {\n\n 'scope': json['scope'] == null ? undefined : json['scope'],\n 'state': json['state'] == null ? undefined : json['state'],\n };\n}\n\nexport function SearchCompactResultBlockedScopesInnerToJSON(json: any): SearchCompactResultBlockedScopesInner {\n return SearchCompactResultBlockedScopesInnerToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultBlockedScopesInnerToJSONTyped(value?: SearchCompactResultBlockedScopesInner | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'scope': value['scope'],\n 'state': value['state'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactResultOperation\n */\nexport interface SearchCompactResultOperation {\n /**\n * Catalog operation id. Send it as `operation_id` to `POST /api/v1/fetch`.\n * @type {string}\n * @memberof SearchCompactResultOperation\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultOperation\n */\n name?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultOperation\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultOperation interface.\n */\nexport function instanceOfSearchCompactResultOperation(value: object): value is SearchCompactResultOperation {\n if (!('id' in value) || value['id'] === undefined) return false;\n return true;\n}\n\nexport function SearchCompactResultOperationFromJSON(json: any): SearchCompactResultOperation {\n return SearchCompactResultOperationFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultOperation {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function SearchCompactResultOperationToJSON(json: any): SearchCompactResultOperation {\n return SearchCompactResultOperationToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultOperationToJSONTyped(value?: SearchCompactResultOperation | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Free helper links for the upstream provider. GET these URLs.\n * Do not send them through `weft_fetch`.\n *\n * @export\n * @interface SearchHelperDocs\n */\nexport interface SearchHelperDocs {\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n website?: string;\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n homepage?: string;\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n api?: string;\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n llmsTxt?: string;\n}\n\n/**\n * Check if a given object implements the SearchHelperDocs interface.\n */\nexport function instanceOfSearchHelperDocs(value: object): value is SearchHelperDocs {\n return true;\n}\n\nexport function SearchHelperDocsFromJSON(json: any): SearchHelperDocs {\n return SearchHelperDocsFromJSONTyped(json, false);\n}\n\nexport function SearchHelperDocsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchHelperDocs {\n if (json == null) {\n return json;\n }\n return {\n\n 'website': json['website'] == null ? undefined : json['website'],\n 'homepage': json['homepage'] == null ? undefined : json['homepage'],\n 'api': json['api'] == null ? undefined : json['api'],\n 'llmsTxt': json['llms_txt'] == null ? undefined : json['llms_txt'],\n };\n}\n\nexport function SearchHelperDocsToJSON(json: any): SearchHelperDocs {\n return SearchHelperDocsToJSONTyped(json, false);\n}\n\nexport function SearchHelperDocsToJSONTyped(value?: SearchHelperDocs | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'website': value['website'],\n 'homepage': value['homepage'],\n 'api': value['api'],\n 'llms_txt': value['llmsTxt'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Labels to send with the paid fetch so the purchase links to this\n * search. Left out when `next_call.body` already carries them.\n *\n * @export\n * @interface SearchCompactResultAttribution\n */\nexport interface SearchCompactResultAttribution {\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultAttribution\n */\n searchId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultAttribution\n */\n operationId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultAttribution\n */\n accessMethodId?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultAttribution interface.\n */\nexport function instanceOfSearchCompactResultAttribution(value: object): value is SearchCompactResultAttribution {\n return true;\n}\n\nexport function SearchCompactResultAttributionFromJSON(json: any): SearchCompactResultAttribution {\n return SearchCompactResultAttributionFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultAttributionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultAttribution {\n if (json == null) {\n return json;\n }\n return {\n\n 'searchId': json['search_id'] == null ? undefined : json['search_id'],\n 'operationId': json['operation_id'] == null ? undefined : json['operation_id'],\n 'accessMethodId': json['access_method_id'] == null ? undefined : json['access_method_id'],\n };\n}\n\nexport function SearchCompactResultAttributionToJSON(json: any): SearchCompactResultAttribution {\n return SearchCompactResultAttributionToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultAttributionToJSONTyped(value?: SearchCompactResultAttribution | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'search_id': value['searchId'],\n 'operation_id': value['operationId'],\n 'access_method_id': value['accessMethodId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactResultProvider\n */\nexport interface SearchCompactResultProvider {\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultProvider\n */\n id?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultProvider\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultProvider interface.\n */\nexport function instanceOfSearchCompactResultProvider(value: object): value is SearchCompactResultProvider {\n return true;\n}\n\nexport function SearchCompactResultProviderFromJSON(json: any): SearchCompactResultProvider {\n return SearchCompactResultProviderFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultProvider {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function SearchCompactResultProviderToJSON(json: any): SearchCompactResultProvider {\n return SearchCompactResultProviderToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultProviderToJSONTyped(value?: SearchCompactResultProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchCompactNextCall } from './SearchCompactNextCall';\nimport {\n SearchCompactNextCallFromJSON,\n SearchCompactNextCallFromJSONTyped,\n SearchCompactNextCallToJSON,\n SearchCompactNextCallToJSONTyped,\n} from './SearchCompactNextCall';\nimport type { SearchCompactResultBlockedScopesInner } from './SearchCompactResultBlockedScopesInner';\nimport {\n SearchCompactResultBlockedScopesInnerFromJSON,\n SearchCompactResultBlockedScopesInnerFromJSONTyped,\n SearchCompactResultBlockedScopesInnerToJSON,\n SearchCompactResultBlockedScopesInnerToJSONTyped,\n} from './SearchCompactResultBlockedScopesInner';\nimport type { SearchCompactAccess } from './SearchCompactAccess';\nimport {\n SearchCompactAccessFromJSON,\n SearchCompactAccessFromJSONTyped,\n SearchCompactAccessToJSON,\n SearchCompactAccessToJSONTyped,\n} from './SearchCompactAccess';\nimport type { SearchCompactResultOperation } from './SearchCompactResultOperation';\nimport {\n SearchCompactResultOperationFromJSON,\n SearchCompactResultOperationFromJSONTyped,\n SearchCompactResultOperationToJSON,\n SearchCompactResultOperationToJSONTyped,\n} from './SearchCompactResultOperation';\nimport type { SearchHelperDocs } from './SearchHelperDocs';\nimport {\n SearchHelperDocsFromJSON,\n SearchHelperDocsFromJSONTyped,\n SearchHelperDocsToJSON,\n SearchHelperDocsToJSONTyped,\n} from './SearchHelperDocs';\nimport type { SearchCompactResultAttribution } from './SearchCompactResultAttribution';\nimport {\n SearchCompactResultAttributionFromJSON,\n SearchCompactResultAttributionFromJSONTyped,\n SearchCompactResultAttributionToJSON,\n SearchCompactResultAttributionToJSONTyped,\n} from './SearchCompactResultAttribution';\nimport type { SearchCompactResultProvider } from './SearchCompactResultProvider';\nimport {\n SearchCompactResultProviderFromJSON,\n SearchCompactResultProviderFromJSONTyped,\n SearchCompactResultProviderToJSON,\n SearchCompactResultProviderToJSONTyped,\n} from './SearchCompactResultProvider';\n\n/**\n * One row of the compact agent view: the minimum contract for the next\n * paid call, below 2,000 JSON bytes. It is the hosted MCP `weft_search`\n * projection with REST references: `contract_url` replaces the MCP\n * `weft_contract` call, and `next_call` is a `POST /api/v1/fetch`\n * request instead of an MCP `weft_fetch` call. To stay in the budget,\n * the row drops optional fields in a fixed order (optional inputs, helper\n * docs, the example, the description, then summaries) and\n * `contract_detail` says what is left out. In the last resort the row\n * keeps the operation id, readiness states, the `weft_fetch` state,\n * `contract_url` and the search id, and can lose the input names, the\n * request recipe and price. The full contract at `contract_url` is\n * always complete. The search id is the\n * envelope `query_trace_id`; each row also carries it in `attribution`\n * or in `next_call.body`.\n *\n * @export\n * @interface SearchCompactResult\n */\nexport interface SearchCompactResult {\n /**\n *\n * @type {SearchCompactResultProvider}\n * @memberof SearchCompactResult\n */\n provider?: SearchCompactResultProvider;\n /**\n *\n * @type {SearchCompactResultOperation}\n * @memberof SearchCompactResult\n */\n operation: SearchCompactResultOperation;\n /**\n * Typed business inputs (a bounded JSON schema), or the names and\n * locations of the required inputs when the full schema does not\n * fit. Read the full contract before you send an input not listed.\n *\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactResult\n */\n inputs?: { [key: string]: any; };\n /**\n * The request recipe: `method`, canonical `url`, and, when known,\n * the path, query, header and JSON body bindings of each input.\n *\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactResult\n */\n request?: { [key: string]: any; };\n /**\n *\n * @type {any}\n * @memberof SearchCompactResult\n */\n example?: any | null;\n /**\n *\n * @type {SearchCompactAccess}\n * @memberof SearchCompactResult\n */\n access: SearchCompactAccess;\n /**\n *\n * @type {SearchCompactResultAttribution}\n * @memberof SearchCompactResult\n */\n attribution?: SearchCompactResultAttribution;\n /**\n * Media type, execution mode, a bounded output summary and, for async work, the poll workflow.\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactResult\n */\n output?: { [key: string]: any; };\n /**\n *\n * @type {SearchHelperDocs}\n * @memberof SearchCompactResult\n */\n docs?: SearchHelperDocs;\n /**\n * Content-addressed full Weft contract. GET it with your Weft\n * credential (a buyer account key, an OAuth token with the `search`\n * scope, or a claimed `wbt_*` bootstrap bearer) before you build a\n * request the summary does not fully describe. A pending bootstrap\n * bearer gets `401` until a human approves the account.\n *\n * @type {string}\n * @memberof SearchCompactResult\n */\n contractUrl: string;\n /**\n * What this summary leaves out of the full contract.\n * @type {string}\n * @memberof SearchCompactResult\n */\n contractDetail: string;\n /**\n * Completion guidance when the completion rules did not fit inline.\n * @type {string}\n * @memberof SearchCompactResult\n */\n completion?: string;\n /**\n *\n * @type {Array<SearchCompactResultBlockedScopesInner>}\n * @memberof SearchCompactResult\n */\n blockedScopes?: Array<SearchCompactResultBlockedScopesInner>;\n /**\n * Contract fields that the review did not complete.\n * @type {Array<string>}\n * @memberof SearchCompactResult\n */\n contractGaps?: Array<string>;\n /**\n * Independent readiness claims (`research`, `contract`, `runtime`,\n * `paid_terminal`), each with a `state` and, when it fits, a `scope`.\n *\n * @type {{ [key: string]: SearchCompactResultBlockedScopesInner; }}\n * @memberof SearchCompactResult\n */\n readiness: { [key: string]: SearchCompactResultBlockedScopesInner; };\n /**\n *\n * @type {SearchCompactNextCall}\n * @memberof SearchCompactResult\n */\n nextCall?: SearchCompactNextCall;\n}\n\n/**\n * Check if a given object implements the SearchCompactResult interface.\n */\nexport function instanceOfSearchCompactResult(value: object): value is SearchCompactResult {\n if (!('operation' in value) || value['operation'] === undefined) return false;\n if (!('access' in value) || value['access'] === undefined) return false;\n if (!('contractUrl' in value) || value['contractUrl'] === undefined) return false;\n if (!('contractDetail' in value) || value['contractDetail'] === undefined) return false;\n if (!('readiness' in value) || value['readiness'] === undefined) return false;\n return true;\n}\n\nexport function SearchCompactResultFromJSON(json: any): SearchCompactResult {\n return SearchCompactResultFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResult {\n if (json == null) {\n return json;\n }\n return {\n\n 'provider': json['provider'] == null ? undefined : SearchCompactResultProviderFromJSON(json['provider']),\n 'operation': SearchCompactResultOperationFromJSON(json['operation']),\n 'inputs': json['inputs'] == null ? undefined : json['inputs'],\n 'request': json['request'] == null ? undefined : json['request'],\n 'example': json['example'] == null ? undefined : json['example'],\n 'access': SearchCompactAccessFromJSON(json['access']),\n 'attribution': json['attribution'] == null ? undefined : SearchCompactResultAttributionFromJSON(json['attribution']),\n 'output': json['output'] == null ? undefined : json['output'],\n 'docs': json['docs'] == null ? undefined : SearchHelperDocsFromJSON(json['docs']),\n 'contractUrl': json['contract_url'],\n 'contractDetail': json['contract_detail'],\n 'completion': json['completion'] == null ? undefined : json['completion'],\n 'blockedScopes': json['blocked_scopes'] == null ? undefined : ((json['blocked_scopes'] as Array<any>).map(SearchCompactResultBlockedScopesInnerFromJSON)),\n 'contractGaps': json['contract_gaps'] == null ? undefined : json['contract_gaps'],\n 'readiness': (mapValues(json['readiness'], SearchCompactResultBlockedScopesInnerFromJSON)),\n 'nextCall': json['next_call'] == null ? undefined : SearchCompactNextCallFromJSON(json['next_call']),\n };\n}\n\nexport function SearchCompactResultToJSON(json: any): SearchCompactResult {\n return SearchCompactResultToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultToJSONTyped(value?: SearchCompactResult | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider': SearchCompactResultProviderToJSON(value['provider']),\n 'operation': SearchCompactResultOperationToJSON(value['operation']),\n 'inputs': value['inputs'],\n 'request': value['request'],\n 'example': value['example'],\n 'access': SearchCompactAccessToJSON(value['access']),\n 'attribution': SearchCompactResultAttributionToJSON(value['attribution']),\n 'output': value['output'],\n 'docs': SearchHelperDocsToJSON(value['docs']),\n 'contract_url': value['contractUrl'],\n 'contract_detail': value['contractDetail'],\n 'completion': value['completion'],\n 'blocked_scopes': value['blockedScopes'] == null ? undefined : ((value['blockedScopes'] as Array<any>).map(SearchCompactResultBlockedScopesInnerToJSON)),\n 'contract_gaps': value['contractGaps'],\n 'readiness': (mapValues(value['readiness'], SearchCompactResultBlockedScopesInnerToJSON)),\n 'next_call': SearchCompactNextCallToJSON(value['nextCall']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedCallability\n */\nexport interface SearchCuratedCallability {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedCallability\n */\n state: SearchCuratedCallabilityStateEnum;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchCuratedCallability\n */\n missing: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const SearchCuratedCallabilityStateEnum = {\n Complete: 'complete',\n Incomplete: 'incomplete'\n} as const;\nexport type SearchCuratedCallabilityStateEnum = typeof SearchCuratedCallabilityStateEnum[keyof typeof SearchCuratedCallabilityStateEnum];\n\n\n/**\n * Check if a given object implements the SearchCuratedCallability interface.\n */\nexport function instanceOfSearchCuratedCallability(value: object): value is SearchCuratedCallability {\n if (!('state' in value) || value['state'] === undefined) return false;\n if (!('missing' in value) || value['missing'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedCallabilityFromJSON(json: any): SearchCuratedCallability {\n return SearchCuratedCallabilityFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedCallabilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedCallability {\n if (json == null) {\n return json;\n }\n return {\n\n 'state': json['state'],\n 'missing': json['missing'],\n };\n}\n\nexport function SearchCuratedCallabilityToJSON(json: any): SearchCuratedCallability {\n return SearchCuratedCallabilityToJSONTyped(json, false);\n}\n\nexport function SearchCuratedCallabilityToJSONTyped(value?: SearchCuratedCallability | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'state': value['state'],\n 'missing': value['missing'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedExecution\n */\nexport interface SearchCuratedExecution {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedExecution\n */\n mode?: SearchCuratedExecutionModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const SearchCuratedExecutionModeEnum = {\n Sync: 'sync',\n Async: 'async',\n Stream: 'stream'\n} as const;\nexport type SearchCuratedExecutionModeEnum = typeof SearchCuratedExecutionModeEnum[keyof typeof SearchCuratedExecutionModeEnum];\n\n\n/**\n * Check if a given object implements the SearchCuratedExecution interface.\n */\nexport function instanceOfSearchCuratedExecution(value: object): value is SearchCuratedExecution {\n return true;\n}\n\nexport function SearchCuratedExecutionFromJSON(json: any): SearchCuratedExecution {\n return SearchCuratedExecutionFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedExecutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedExecution {\n if (json == null) {\n return json;\n }\n return {\n\n 'mode': json['mode'] == null ? undefined : json['mode'],\n };\n}\n\nexport function SearchCuratedExecutionToJSON(json: any): SearchCuratedExecution {\n return SearchCuratedExecutionToJSONTyped(json, false);\n}\n\nexport function SearchCuratedExecutionToJSONTyped(value?: SearchCuratedExecution | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'mode': value['mode'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedOperation\n */\nexport interface SearchCuratedOperation {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedOperation\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof SearchCuratedOperation\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof SearchCuratedOperation\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the SearchCuratedOperation interface.\n */\nexport function instanceOfSearchCuratedOperation(value: object): value is SearchCuratedOperation {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedOperationFromJSON(json: any): SearchCuratedOperation {\n return SearchCuratedOperationFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedOperation {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function SearchCuratedOperationToJSON(json: any): SearchCuratedOperation {\n return SearchCuratedOperationToJSONTyped(json, false);\n}\n\nexport function SearchCuratedOperationToJSONTyped(value?: SearchCuratedOperation | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedService\n */\nexport interface SearchCuratedService {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedService\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof SearchCuratedService\n */\n name: string;\n}\n\n/**\n * Check if a given object implements the SearchCuratedService interface.\n */\nexport function instanceOfSearchCuratedService(value: object): value is SearchCuratedService {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedServiceFromJSON(json: any): SearchCuratedService {\n return SearchCuratedServiceFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedServiceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedService {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'],\n };\n}\n\nexport function SearchCuratedServiceToJSON(json: any): SearchCuratedService {\n return SearchCuratedServiceToJSONTyped(json, false);\n}\n\nexport function SearchCuratedServiceToJSONTyped(value?: SearchCuratedService | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedSource\n */\nexport interface SearchCuratedSource {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedSource\n */\n catalog: SearchCuratedSourceCatalogEnum;\n /**\n *\n * @type {number}\n * @memberof SearchCuratedSource\n */\n snapshotVersion: number;\n /**\n *\n * @type {Date}\n * @memberof SearchCuratedSource\n */\n capturedAt: Date;\n}\n\n\n/**\n * @export\n */\nexport const SearchCuratedSourceCatalogEnum = {\n CuratedMarketplace: 'curated_marketplace'\n} as const;\nexport type SearchCuratedSourceCatalogEnum = typeof SearchCuratedSourceCatalogEnum[keyof typeof SearchCuratedSourceCatalogEnum];\n\n\n/**\n * Check if a given object implements the SearchCuratedSource interface.\n */\nexport function instanceOfSearchCuratedSource(value: object): value is SearchCuratedSource {\n if (!('catalog' in value) || value['catalog'] === undefined) return false;\n if (!('snapshotVersion' in value) || value['snapshotVersion'] === undefined) return false;\n if (!('capturedAt' in value) || value['capturedAt'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedSourceFromJSON(json: any): SearchCuratedSource {\n return SearchCuratedSourceFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedSource {\n if (json == null) {\n return json;\n }\n return {\n\n 'catalog': json['catalog'],\n 'snapshotVersion': json['snapshot_version'],\n 'capturedAt': (new Date(json['captured_at'])),\n };\n}\n\nexport function SearchCuratedSourceToJSON(json: any): SearchCuratedSource {\n return SearchCuratedSourceToJSONTyped(json, false);\n}\n\nexport function SearchCuratedSourceToJSONTyped(value?: SearchCuratedSource | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'catalog': value['catalog'],\n 'snapshot_version': value['snapshotVersion'],\n 'captured_at': value['capturedAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * The request JSON Schema, including boolean true/false schemas.\n * Reviewed versioned contracts preserve the provider schema and apply\n * separately authored client scope constraints in this projection.\n * Null when no body schema is declared; query/path/header/cookie\n * bindings remain in the full contract. Retrieve contract_url before\n * constructing requests for versioned contracts.\n *\n * @export\n * @interface SearchEndpointCallInputSchema\n */\nexport interface SearchEndpointCallInputSchema {\n}\n\n/**\n * Check if a given object implements the SearchEndpointCallInputSchema interface.\n */\nexport function instanceOfSearchEndpointCallInputSchema(value: object): value is SearchEndpointCallInputSchema {\n return true;\n}\n\nexport function SearchEndpointCallInputSchemaFromJSON(json: any): SearchEndpointCallInputSchema {\n return SearchEndpointCallInputSchemaFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallInputSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointCallInputSchema {\n return json;\n}\n\nexport function SearchEndpointCallInputSchemaToJSON(json: any): SearchEndpointCallInputSchema {\n return SearchEndpointCallInputSchemaToJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallInputSchemaToJSONTyped(value?: SearchEndpointCallInputSchema | null, ignoreDiscriminator: boolean = false): any {\n return value;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchEndpointCallInputSchema } from './SearchEndpointCallInputSchema';\nimport {\n SearchEndpointCallInputSchemaFromJSON,\n SearchEndpointCallInputSchemaFromJSONTyped,\n SearchEndpointCallInputSchemaToJSON,\n SearchEndpointCallInputSchemaToJSONTyped,\n} from './SearchEndpointCallInputSchema';\n\n/**\n * The machine-readable call contract for this endpoint: the verb, the\n * provider-declared argument schema, and the worked examples. Always\n * present; an endpoint whose provider declares nothing carries an empty\n * `method` and null members rather than an absent block, so a caller can\n * always read `input_schema` without a presence check. Combine with the\n * hit's `url` to construct the request.\n *\n * @export\n * @interface SearchEndpointCall\n */\nexport interface SearchEndpointCall {\n /**\n * The HTTP verb to send. Empty string when neither the index nor the\n * provider's own 402 challenge / OpenAPI spec declares one.\n *\n * @type {string}\n * @memberof SearchEndpointCall\n */\n method?: string;\n /**\n *\n * @type {SearchEndpointCallInputSchema}\n * @memberof SearchEndpointCall\n */\n inputSchema?: SearchEndpointCallInputSchema | null;\n /**\n * A worked set of arguments grouped by slot (`query` / `body` / `path`).\n * Every value is one the PROVIDER published; never synthesized.\n *\n * @type {object}\n * @memberof SearchEndpointCall\n */\n exampleRequest?: object;\n /**\n *\n * @type {any}\n * @memberof SearchEndpointCall\n */\n exampleResponse?: any | null;\n}\n\n/**\n * Check if a given object implements the SearchEndpointCall interface.\n */\nexport function instanceOfSearchEndpointCall(value: object): value is SearchEndpointCall {\n return true;\n}\n\nexport function SearchEndpointCallFromJSON(json: any): SearchEndpointCall {\n return SearchEndpointCallFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointCall {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'] == null ? undefined : json['method'],\n 'inputSchema': json['input_schema'] == null ? undefined : SearchEndpointCallInputSchemaFromJSON(json['input_schema']),\n 'exampleRequest': json['example_request'] == null ? undefined : json['example_request'],\n 'exampleResponse': json['example_response'] == null ? undefined : json['example_response'],\n };\n}\n\nexport function SearchEndpointCallToJSON(json: any): SearchEndpointCall {\n return SearchEndpointCallToJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallToJSONTyped(value?: SearchEndpointCall | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'input_schema': SearchEndpointCallInputSchemaToJSON(value['inputSchema']),\n 'example_request': value['exampleRequest'],\n 'example_response': value['exampleResponse'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * One settlement route the endpoint's own 402 challenge published — a\n * (rail × network × asset × payee) tuple a caller can settle against\n * directly with its own SDK.\n *\n * @export\n * @interface SearchPaymentOffer\n */\nexport interface SearchPaymentOffer {\n /**\n * The payment rail (e.g. `x402`, `mpp`).\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n protocol: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n scheme?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n network?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n asset?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n amount?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n payTo?: string;\n /**\n *\n * @type {number}\n * @memberof SearchPaymentOffer\n */\n maxTimeoutSeconds?: number;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n facilitator?: string;\n}\n\n/**\n * Check if a given object implements the SearchPaymentOffer interface.\n */\nexport function instanceOfSearchPaymentOffer(value: object): value is SearchPaymentOffer {\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n return true;\n}\n\nexport function SearchPaymentOfferFromJSON(json: any): SearchPaymentOffer {\n return SearchPaymentOfferFromJSONTyped(json, false);\n}\n\nexport function SearchPaymentOfferFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchPaymentOffer {\n if (json == null) {\n return json;\n }\n return {\n\n 'protocol': json['protocol'],\n 'scheme': json['scheme'] == null ? undefined : json['scheme'],\n 'network': json['network'] == null ? undefined : json['network'],\n 'asset': json['asset'] == null ? undefined : json['asset'],\n 'amount': json['amount'] == null ? undefined : json['amount'],\n 'payTo': json['pay_to'] == null ? undefined : json['pay_to'],\n 'maxTimeoutSeconds': json['max_timeout_seconds'] == null ? undefined : json['max_timeout_seconds'],\n 'facilitator': json['facilitator'] == null ? undefined : json['facilitator'],\n };\n}\n\nexport function SearchPaymentOfferToJSON(json: any): SearchPaymentOffer {\n return SearchPaymentOfferToJSONTyped(json, false);\n}\n\nexport function SearchPaymentOfferToJSONTyped(value?: SearchPaymentOffer | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'protocol': value['protocol'],\n 'scheme': value['scheme'],\n 'network': value['network'],\n 'asset': value['asset'],\n 'amount': value['amount'],\n 'pay_to': value['payTo'],\n 'max_timeout_seconds': value['maxTimeoutSeconds'],\n 'facilitator': value['facilitator'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Price + provenance + freshness for this (endpoint × capability) pairing.\n * Always present; an unpriced endpoint carries null amounts rather than an\n * absent block, so a caller never has to distinguish \"free\" from \"we do not\n * know\".\n *\n * @export\n * @interface SearchEndpointPrice\n */\nexport interface SearchEndpointPrice {\n /**\n * The indexed price in USD as a decimal string (e.g. \"0.008\") — the\n * dollar value people and agents reason in. A decimal string, never a\n * float; trailing zeros trimmed. Null when unpriced.\n *\n * @type {string}\n * @memberof SearchEndpointPrice\n */\n indexedUsd?: string;\n /**\n * The same price in integer micro-USD — the settlement grain, exact.\n * Null exactly when `indexed_usd` is. Use this for settlement.\n *\n * @type {number}\n * @memberof SearchEndpointPrice\n */\n atomic?: number;\n /**\n * Where the amount came from. `probe` = observed live in the endpoint's\n * own 402 payment-required challenge — an observation, the strongest\n * evidence we hold. `inferred` = derived from a spec (OpenAPI) or a\n * resale edge by the extraction pipeline, so it can lag a provider's\n * re-pricing. Null when the endpoint carries no price.\n *\n * @type {string}\n * @memberof SearchEndpointPrice\n */\n source?: SearchEndpointPriceSourceEnum;\n /**\n * When the amount was observed. Null when unrecorded.\n * @type {Date}\n * @memberof SearchEndpointPrice\n */\n lastObservedAt?: Date;\n /**\n * Whether this amount was confirmed against a live 402 challenge for\n * THIS response. Search does not issue a payment-required probe at\n * query time, so this is `false` today — treat an unflagged price as\n * indexed, not verified.\n *\n * @type {boolean}\n * @memberof SearchEndpointPrice\n */\n liveVerified?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const SearchEndpointPriceSourceEnum = {\n Probe: 'probe',\n Inferred: 'inferred'\n} as const;\nexport type SearchEndpointPriceSourceEnum = typeof SearchEndpointPriceSourceEnum[keyof typeof SearchEndpointPriceSourceEnum];\n\n\n/**\n * Check if a given object implements the SearchEndpointPrice interface.\n */\nexport function instanceOfSearchEndpointPrice(value: object): value is SearchEndpointPrice {\n return true;\n}\n\nexport function SearchEndpointPriceFromJSON(json: any): SearchEndpointPrice {\n return SearchEndpointPriceFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointPriceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointPrice {\n if (json == null) {\n return json;\n }\n return {\n\n 'indexedUsd': json['indexed_usd'] == null ? undefined : json['indexed_usd'],\n 'atomic': json['atomic'] == null ? undefined : json['atomic'],\n 'source': json['source'] == null ? undefined : json['source'],\n 'lastObservedAt': json['last_observed_at'] == null ? undefined : (new Date(json['last_observed_at'])),\n 'liveVerified': json['live_verified'] == null ? undefined : json['live_verified'],\n };\n}\n\nexport function SearchEndpointPriceToJSON(json: any): SearchEndpointPrice {\n return SearchEndpointPriceToJSONTyped(json, false);\n}\n\nexport function SearchEndpointPriceToJSONTyped(value?: SearchEndpointPrice | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'indexed_usd': value['indexedUsd'],\n 'atomic': value['atomic'],\n 'source': value['source'],\n 'last_observed_at': value['lastObservedAt'] == null ? value['lastObservedAt'] : value['lastObservedAt'].toISOString(),\n 'live_verified': value['liveVerified'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchAccessMethod } from './SearchAccessMethod';\nimport {\n SearchAccessMethodFromJSON,\n SearchAccessMethodFromJSONTyped,\n SearchAccessMethodToJSON,\n SearchAccessMethodToJSONTyped,\n} from './SearchAccessMethod';\nimport type { SearchEndpointCall } from './SearchEndpointCall';\nimport {\n SearchEndpointCallFromJSON,\n SearchEndpointCallFromJSONTyped,\n SearchEndpointCallToJSON,\n SearchEndpointCallToJSONTyped,\n} from './SearchEndpointCall';\nimport type { SearchPaymentOffer } from './SearchPaymentOffer';\nimport {\n SearchPaymentOfferFromJSON,\n SearchPaymentOfferFromJSONTyped,\n SearchPaymentOfferToJSON,\n SearchPaymentOfferToJSONTyped,\n} from './SearchPaymentOffer';\nimport type { SearchCuratedSource } from './SearchCuratedSource';\nimport {\n SearchCuratedSourceFromJSON,\n SearchCuratedSourceFromJSONTyped,\n SearchCuratedSourceToJSON,\n SearchCuratedSourceToJSONTyped,\n} from './SearchCuratedSource';\nimport type { SearchCuratedCallability } from './SearchCuratedCallability';\nimport {\n SearchCuratedCallabilityFromJSON,\n SearchCuratedCallabilityFromJSONTyped,\n SearchCuratedCallabilityToJSON,\n SearchCuratedCallabilityToJSONTyped,\n} from './SearchCuratedCallability';\nimport type { SearchCuratedService } from './SearchCuratedService';\nimport {\n SearchCuratedServiceFromJSON,\n SearchCuratedServiceFromJSONTyped,\n SearchCuratedServiceToJSON,\n SearchCuratedServiceToJSONTyped,\n} from './SearchCuratedService';\nimport type { SearchCuratedOperation } from './SearchCuratedOperation';\nimport {\n SearchCuratedOperationFromJSON,\n SearchCuratedOperationFromJSONTyped,\n SearchCuratedOperationToJSON,\n SearchCuratedOperationToJSONTyped,\n} from './SearchCuratedOperation';\nimport type { SearchCuratedExecution } from './SearchCuratedExecution';\nimport {\n SearchCuratedExecutionFromJSON,\n SearchCuratedExecutionFromJSONTyped,\n SearchCuratedExecutionToJSON,\n SearchCuratedExecutionToJSONTyped,\n} from './SearchCuratedExecution';\nimport type { SearchHelperDocs } from './SearchHelperDocs';\nimport {\n SearchHelperDocsFromJSON,\n SearchHelperDocsFromJSONTyped,\n SearchHelperDocsToJSON,\n SearchHelperDocsToJSONTyped,\n} from './SearchHelperDocs';\nimport type { SearchEndpointPrice } from './SearchEndpointPrice';\nimport {\n SearchEndpointPriceFromJSON,\n SearchEndpointPriceFromJSONTyped,\n SearchEndpointPriceToJSON,\n SearchEndpointPriceToJSONTyped,\n} from './SearchEndpointPrice';\n\n/**\n *\n * @export\n * @interface SearchEndpointHit\n */\nexport interface SearchEndpointHit {\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n endpointId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n url?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n resourceType?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n primaryProtocol?: string;\n /**\n *\n * @type {SearchEndpointCall}\n * @memberof SearchEndpointHit\n */\n call?: SearchEndpointCall;\n /**\n *\n * @type {SearchEndpointPrice}\n * @memberof SearchEndpointHit\n */\n price?: SearchEndpointPrice;\n /**\n * The settlement routes this endpoint's own 402 challenge published —\n * one entry per rail × network × asset × payee it accepts. Sibling of\n * `call`: that block says how to shape the request, this says how to\n * pay for it, so a caller can settle with its OWN x402/mpp SDK instead\n * of guessing. A list because rails are irreducibly plural. Order is\n * the provider's own preference order. Honest-empty when the pipeline\n * observed no challenge.\n *\n * @type {Array<SearchPaymentOffer>}\n * @memberof SearchEndpointHit\n */\n payment?: Array<SearchPaymentOffer>;\n /**\n *\n * @type {Array<SearchAccessMethod>}\n * @memberof SearchEndpointHit\n */\n accessMethods?: Array<SearchAccessMethod>;\n /**\n *\n * @type {SearchCuratedService}\n * @memberof SearchEndpointHit\n */\n service?: SearchCuratedService;\n /**\n *\n * @type {SearchCuratedOperation}\n * @memberof SearchEndpointHit\n */\n operation?: SearchCuratedOperation;\n /**\n *\n * @type {SearchHelperDocs}\n * @memberof SearchEndpointHit\n */\n docs?: SearchHelperDocs;\n /**\n * Content-addressed Weft contract for the complete operation,\n * alternatives, evidence, and known gaps. Authenticated GET.\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n contractUrl?: string;\n /**\n *\n * @type {object}\n * @memberof SearchEndpointHit\n */\n outputSchema?: object;\n /**\n *\n * @type {object}\n * @memberof SearchEndpointHit\n */\n output?: object;\n /**\n *\n * @type {SearchCuratedExecution}\n * @memberof SearchEndpointHit\n */\n execution?: SearchCuratedExecution;\n /**\n *\n * @type {SearchCuratedCallability}\n * @memberof SearchEndpointHit\n */\n callability?: SearchCuratedCallability;\n /**\n *\n * @type {object}\n * @memberof SearchEndpointHit\n */\n compatibility?: object;\n /**\n *\n * @type {SearchCuratedSource}\n * @memberof SearchEndpointHit\n */\n source?: SearchCuratedSource;\n /**\n * Who you are actually paying. `first_party` = operated by the provider\n * that makes the capability; `reseller` = resold, so the price carries\n * someone else's margin; `gateway` = an intermediary routing the provider's\n * capability. Null until the platform resolves the operator.\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n operatorType?: SearchEndpointHitOperatorTypeEnum;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n operatedById?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n settledViaFacilitatorId?: string;\n /**\n * Count of payments observed settling against this endpoint by ANYONE\n * (chain-indexed), not just by Weft — the reliability signal a caller\n * can act on. Null when unknown.\n *\n * @type {number}\n * @memberof SearchEndpointHit\n */\n settlements?: number;\n /**\n * When Weft last CONFIRMED this endpoint answers — the most recent\n * conclusive probe. Null when never probed, or when the latest probe\n * errored: an endpoint we last failed to reach has no current\n * verification.\n *\n * @type {Date}\n * @memberof SearchEndpointHit\n */\n lastVerifiedAt?: Date;\n /**\n * Median time-to-first-byte in ms across the endpoint's probe call set.\n * First-byte latency, not full-response time. Null when unmeasured\n * (never 0).\n *\n * @type {number}\n * @memberof SearchEndpointHit\n */\n latencyP50Ms?: number;\n}\n\n\n/**\n * @export\n */\nexport const SearchEndpointHitOperatorTypeEnum = {\n FirstParty: 'first_party',\n Reseller: 'reseller',\n Gateway: 'gateway'\n} as const;\nexport type SearchEndpointHitOperatorTypeEnum = typeof SearchEndpointHitOperatorTypeEnum[keyof typeof SearchEndpointHitOperatorTypeEnum];\n\n\n/**\n * Check if a given object implements the SearchEndpointHit interface.\n */\nexport function instanceOfSearchEndpointHit(value: object): value is SearchEndpointHit {\n return true;\n}\n\nexport function SearchEndpointHitFromJSON(json: any): SearchEndpointHit {\n return SearchEndpointHitFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointHitFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointHit {\n if (json == null) {\n return json;\n }\n return {\n\n 'endpointId': json['endpoint_id'] == null ? undefined : json['endpoint_id'],\n 'url': json['url'] == null ? undefined : json['url'],\n 'resourceType': json['resource_type'] == null ? undefined : json['resource_type'],\n 'primaryProtocol': json['primary_protocol'] == null ? undefined : json['primary_protocol'],\n 'call': json['call'] == null ? undefined : SearchEndpointCallFromJSON(json['call']),\n 'price': json['price'] == null ? undefined : SearchEndpointPriceFromJSON(json['price']),\n 'payment': json['payment'] == null ? undefined : ((json['payment'] as Array<any>).map(SearchPaymentOfferFromJSON)),\n 'accessMethods': json['access_methods'] == null ? undefined : ((json['access_methods'] as Array<any>).map(SearchAccessMethodFromJSON)),\n 'service': json['service'] == null ? undefined : SearchCuratedServiceFromJSON(json['service']),\n 'operation': json['operation'] == null ? undefined : SearchCuratedOperationFromJSON(json['operation']),\n 'docs': json['docs'] == null ? undefined : SearchHelperDocsFromJSON(json['docs']),\n 'contractUrl': json['contract_url'] == null ? undefined : json['contract_url'],\n 'outputSchema': json['output_schema'] == null ? undefined : json['output_schema'],\n 'output': json['output'] == null ? undefined : json['output'],\n 'execution': json['execution'] == null ? undefined : SearchCuratedExecutionFromJSON(json['execution']),\n 'callability': json['callability'] == null ? undefined : SearchCuratedCallabilityFromJSON(json['callability']),\n 'compatibility': json['compatibility'] == null ? undefined : json['compatibility'],\n 'source': json['source'] == null ? undefined : SearchCuratedSourceFromJSON(json['source']),\n 'operatorType': json['operator_type'] == null ? undefined : json['operator_type'],\n 'operatedById': json['operated_by_id'] == null ? undefined : json['operated_by_id'],\n 'settledViaFacilitatorId': json['settled_via_facilitator_id'] == null ? undefined : json['settled_via_facilitator_id'],\n 'settlements': json['settlements'] == null ? undefined : json['settlements'],\n 'lastVerifiedAt': json['last_verified_at'] == null ? undefined : (new Date(json['last_verified_at'])),\n 'latencyP50Ms': json['latency_p50_ms'] == null ? undefined : json['latency_p50_ms'],\n };\n}\n\nexport function SearchEndpointHitToJSON(json: any): SearchEndpointHit {\n return SearchEndpointHitToJSONTyped(json, false);\n}\n\nexport function SearchEndpointHitToJSONTyped(value?: SearchEndpointHit | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'endpoint_id': value['endpointId'],\n 'url': value['url'],\n 'resource_type': value['resourceType'],\n 'primary_protocol': value['primaryProtocol'],\n 'call': SearchEndpointCallToJSON(value['call']),\n 'price': SearchEndpointPriceToJSON(value['price']),\n 'payment': value['payment'] == null ? undefined : ((value['payment'] as Array<any>).map(SearchPaymentOfferToJSON)),\n 'access_methods': value['accessMethods'] == null ? undefined : ((value['accessMethods'] as Array<any>).map(SearchAccessMethodToJSON)),\n 'service': SearchCuratedServiceToJSON(value['service']),\n 'operation': SearchCuratedOperationToJSON(value['operation']),\n 'docs': SearchHelperDocsToJSON(value['docs']),\n 'contract_url': value['contractUrl'],\n 'output_schema': value['outputSchema'],\n 'output': value['output'],\n 'execution': SearchCuratedExecutionToJSON(value['execution']),\n 'callability': SearchCuratedCallabilityToJSON(value['callability']),\n 'compatibility': value['compatibility'],\n 'source': SearchCuratedSourceToJSON(value['source']),\n 'operator_type': value['operatorType'],\n 'operated_by_id': value['operatedById'],\n 'settled_via_facilitator_id': value['settledViaFacilitatorId'],\n 'settlements': value['settlements'],\n 'last_verified_at': value['lastVerifiedAt'] == null ? value['lastVerifiedAt'] : value['lastVerifiedAt'].toISOString(),\n 'latency_p50_ms': value['latencyP50Ms'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Bespoke error envelope returned by `/api/v1/search` for `422`, `502`,\n * and `500` responses. It differs from the standard `ErrorResponse`\n * envelope (no nested `code`/`message`/`request_id`); SDK clients\n * should handle both shapes for this endpoint until the controller\n * is migrated to the standard envelope.\n *\n * @export\n * @interface SearchErrorResponse\n */\nexport interface SearchErrorResponse {\n /**\n * Stable error code.\n * @type {string}\n * @memberof SearchErrorResponse\n */\n error: SearchErrorResponseErrorEnum;\n /**\n * Optional context. Shape varies by error code.\n * @type {{ [key: string]: any; }}\n * @memberof SearchErrorResponse\n */\n details?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const SearchErrorResponseErrorEnum = {\n InvalidQuery: 'INVALID_QUERY',\n InvalidMaxResults: 'INVALID_MAX_RESULTS',\n InvalidFilters: 'INVALID_FILTERS',\n InvalidView: 'INVALID_VIEW',\n UnknownParameter: 'UNKNOWN_PARAMETER',\n SearchUpstreamError: 'SEARCH_UPSTREAM_ERROR',\n SearchBackendMisconfigured: 'SEARCH_BACKEND_MISCONFIGURED'\n} as const;\nexport type SearchErrorResponseErrorEnum = typeof SearchErrorResponseErrorEnum[keyof typeof SearchErrorResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the SearchErrorResponse interface.\n */\nexport function instanceOfSearchErrorResponse(value: object): value is SearchErrorResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n return true;\n}\n\nexport function SearchErrorResponseFromJSON(json: any): SearchErrorResponse {\n return SearchErrorResponseFromJSONTyped(json, false);\n}\n\nexport function SearchErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'details': json['details'] == null ? undefined : json['details'],\n };\n}\n\nexport function SearchErrorResponseToJSON(json: any): SearchErrorResponse {\n return SearchErrorResponseToJSONTyped(json, false);\n}\n\nexport function SearchErrorResponseToJSONTyped(value?: SearchErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'details': value['details'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchExecutionModeFilter\n */\nexport interface SearchExecutionModeFilter {\n /**\n *\n * @type {string}\n * @memberof SearchExecutionModeFilter\n */\n eq?: SearchExecutionModeFilterEqEnum;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchExecutionModeFilter\n */\n _in?: Array<SearchExecutionModeFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchExecutionModeFilterEqEnum = {\n Sync: 'sync',\n Async: 'async',\n Stream: 'stream'\n} as const;\nexport type SearchExecutionModeFilterEqEnum = typeof SearchExecutionModeFilterEqEnum[keyof typeof SearchExecutionModeFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchExecutionModeFilterInEnum = {\n Sync: 'sync',\n Async: 'async',\n Stream: 'stream'\n} as const;\nexport type SearchExecutionModeFilterInEnum = typeof SearchExecutionModeFilterInEnum[keyof typeof SearchExecutionModeFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchExecutionModeFilter interface.\n */\nexport function instanceOfSearchExecutionModeFilter(value: object): value is SearchExecutionModeFilter {\n return true;\n}\n\nexport function SearchExecutionModeFilterFromJSON(json: any): SearchExecutionModeFilter {\n return SearchExecutionModeFilterFromJSONTyped(json, false);\n}\n\nexport function SearchExecutionModeFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchExecutionModeFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchExecutionModeFilterToJSON(json: any): SearchExecutionModeFilter {\n return SearchExecutionModeFilterToJSONTyped(json, false);\n}\n\nexport function SearchExecutionModeFilterToJSONTyped(value?: SearchExecutionModeFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Payment-protocol constraint. Set exactly one of `eq` / `in`.\n * @export\n * @interface SearchProtocolFilter\n */\nexport interface SearchProtocolFilter {\n /**\n * Primary protocol is exactly this value.\n * @type {string}\n * @memberof SearchProtocolFilter\n */\n eq?: SearchProtocolFilterEqEnum;\n /**\n * Primary protocol is one of these values.\n * @type {Array<string>}\n * @memberof SearchProtocolFilter\n */\n _in?: Array<SearchProtocolFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchProtocolFilterEqEnum = {\n X402: 'x402',\n A2a: 'a2a',\n Mpp: 'mpp',\n Erc8004: 'erc_8004'\n} as const;\nexport type SearchProtocolFilterEqEnum = typeof SearchProtocolFilterEqEnum[keyof typeof SearchProtocolFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchProtocolFilterInEnum = {\n X402: 'x402',\n A2a: 'a2a',\n Mpp: 'mpp',\n Erc8004: 'erc_8004'\n} as const;\nexport type SearchProtocolFilterInEnum = typeof SearchProtocolFilterInEnum[keyof typeof SearchProtocolFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchProtocolFilter interface.\n */\nexport function instanceOfSearchProtocolFilter(value: object): value is SearchProtocolFilter {\n return true;\n}\n\nexport function SearchProtocolFilterFromJSON(json: any): SearchProtocolFilter {\n return SearchProtocolFilterFromJSONTyped(json, false);\n}\n\nexport function SearchProtocolFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchProtocolFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchProtocolFilterToJSON(json: any): SearchProtocolFilter {\n return SearchProtocolFilterToJSONTyped(json, false);\n}\n\nexport function SearchProtocolFilterToJSONTyped(value?: SearchProtocolFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchMethodFilter\n */\nexport interface SearchMethodFilter {\n /**\n *\n * @type {string}\n * @memberof SearchMethodFilter\n */\n eq?: SearchMethodFilterEqEnum;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchMethodFilter\n */\n _in?: Array<SearchMethodFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchMethodFilterEqEnum = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Head: 'HEAD',\n Options: 'OPTIONS'\n} as const;\nexport type SearchMethodFilterEqEnum = typeof SearchMethodFilterEqEnum[keyof typeof SearchMethodFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchMethodFilterInEnum = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Head: 'HEAD',\n Options: 'OPTIONS'\n} as const;\nexport type SearchMethodFilterInEnum = typeof SearchMethodFilterInEnum[keyof typeof SearchMethodFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchMethodFilter interface.\n */\nexport function instanceOfSearchMethodFilter(value: object): value is SearchMethodFilter {\n return true;\n}\n\nexport function SearchMethodFilterFromJSON(json: any): SearchMethodFilter {\n return SearchMethodFilterFromJSONTyped(json, false);\n}\n\nexport function SearchMethodFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchMethodFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchMethodFilterToJSON(json: any): SearchMethodFilter {\n return SearchMethodFilterToJSONTyped(json, false);\n}\n\nexport function SearchMethodFilterToJSONTyped(value?: SearchMethodFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Resource-type constraint. Set exactly one of `eq` / `in`.\n * @export\n * @interface SearchResourceTypeFilter\n */\nexport interface SearchResourceTypeFilter {\n /**\n * Resource type is exactly this value.\n * @type {string}\n * @memberof SearchResourceTypeFilter\n */\n eq?: SearchResourceTypeFilterEqEnum;\n /**\n * Resource type is one of these values.\n * @type {Array<string>}\n * @memberof SearchResourceTypeFilter\n */\n _in?: Array<SearchResourceTypeFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchResourceTypeFilterEqEnum = {\n Api: 'api',\n Agent: 'agent',\n McpTool: 'mcp_tool',\n Webpage: 'webpage',\n Feed: 'feed',\n Document: 'document',\n Dataset: 'dataset'\n} as const;\nexport type SearchResourceTypeFilterEqEnum = typeof SearchResourceTypeFilterEqEnum[keyof typeof SearchResourceTypeFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchResourceTypeFilterInEnum = {\n Api: 'api',\n Agent: 'agent',\n McpTool: 'mcp_tool',\n Webpage: 'webpage',\n Feed: 'feed',\n Document: 'document',\n Dataset: 'dataset'\n} as const;\nexport type SearchResourceTypeFilterInEnum = typeof SearchResourceTypeFilterInEnum[keyof typeof SearchResourceTypeFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchResourceTypeFilter interface.\n */\nexport function instanceOfSearchResourceTypeFilter(value: object): value is SearchResourceTypeFilter {\n return true;\n}\n\nexport function SearchResourceTypeFilterFromJSON(json: any): SearchResourceTypeFilter {\n return SearchResourceTypeFilterFromJSONTyped(json, false);\n}\n\nexport function SearchResourceTypeFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResourceTypeFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchResourceTypeFilterToJSON(json: any): SearchResourceTypeFilter {\n return SearchResourceTypeFilterToJSONTyped(json, false);\n}\n\nexport function SearchResourceTypeFilterToJSONTyped(value?: SearchResourceTypeFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Price constraint in USD, as decimal STRINGS (the reasoning form). Set\n * exactly one operator: a scalar (`lte` / `gte` / `eq`) OR a range\n * (`range_gte` + `range_lte` together, lower ≤ upper). Each value is a\n * string matching `^\\d+(\\.\\d{1,6})?$` (≤ 6 decimals, ≥ 0); a JSON number is\n * rejected. Mutually exclusive with `price_atomic`. An unpriced resource is\n * excluded from any price-filtered query.\n *\n * @export\n * @interface SearchPriceUsdFilter\n */\nexport interface SearchPriceUsdFilter {\n /**\n * Price ≤ this many USD (inclusive ceiling), e.g. \"0.009\".\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n lte?: string;\n /**\n * Price ≥ this many USD (inclusive floor), e.g. \"0.001\".\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n gte?: string;\n /**\n * Price exactly this many USD, e.g. \"1.5\".\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n eq?: string;\n /**\n * Range lower bound (inclusive), USD. Set with range_lte.\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n rangeGte?: string;\n /**\n * Range upper bound (inclusive), USD. Set with range_gte.\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n rangeLte?: string;\n}\n\n/**\n * Check if a given object implements the SearchPriceUsdFilter interface.\n */\nexport function instanceOfSearchPriceUsdFilter(value: object): value is SearchPriceUsdFilter {\n return true;\n}\n\nexport function SearchPriceUsdFilterFromJSON(json: any): SearchPriceUsdFilter {\n return SearchPriceUsdFilterFromJSONTyped(json, false);\n}\n\nexport function SearchPriceUsdFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchPriceUsdFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'lte': json['lte'] == null ? undefined : json['lte'],\n 'gte': json['gte'] == null ? undefined : json['gte'],\n 'eq': json['eq'] == null ? undefined : json['eq'],\n 'rangeGte': json['range_gte'] == null ? undefined : json['range_gte'],\n 'rangeLte': json['range_lte'] == null ? undefined : json['range_lte'],\n };\n}\n\nexport function SearchPriceUsdFilterToJSON(json: any): SearchPriceUsdFilter {\n return SearchPriceUsdFilterToJSONTyped(json, false);\n}\n\nexport function SearchPriceUsdFilterToJSONTyped(value?: SearchPriceUsdFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'lte': value['lte'],\n 'gte': value['gte'],\n 'eq': value['eq'],\n 'range_gte': value['rangeGte'],\n 'range_lte': value['rangeLte'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * The same price constraint in integer micro-USD (1 USDC = 1_000_000\n * micro-USD) — the settlement form. Set exactly one operator: a scalar\n * (`lte` / `gte` / `eq`) OR a range (`range_gte` + `range_lte` together,\n * lower ≤ upper). Mutually exclusive with `price`. An unpriced resource is\n * excluded from any price-filtered query.\n *\n * @export\n * @interface SearchPriceAtomicFilter\n */\nexport interface SearchPriceAtomicFilter {\n /**\n * Price ≤ this many micro-USD (inclusive ceiling).\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n lte?: number;\n /**\n * Price ≥ this many micro-USD (inclusive floor).\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n gte?: number;\n /**\n * Price exactly this many micro-USD.\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n eq?: number;\n /**\n * Range lower bound (inclusive), micro-USD. Set with range_lte.\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n rangeGte?: number;\n /**\n * Range upper bound (inclusive), micro-USD. Set with range_gte.\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n rangeLte?: number;\n}\n\n/**\n * Check if a given object implements the SearchPriceAtomicFilter interface.\n */\nexport function instanceOfSearchPriceAtomicFilter(value: object): value is SearchPriceAtomicFilter {\n return true;\n}\n\nexport function SearchPriceAtomicFilterFromJSON(json: any): SearchPriceAtomicFilter {\n return SearchPriceAtomicFilterFromJSONTyped(json, false);\n}\n\nexport function SearchPriceAtomicFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchPriceAtomicFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'lte': json['lte'] == null ? undefined : json['lte'],\n 'gte': json['gte'] == null ? undefined : json['gte'],\n 'eq': json['eq'] == null ? undefined : json['eq'],\n 'rangeGte': json['range_gte'] == null ? undefined : json['range_gte'],\n 'rangeLte': json['range_lte'] == null ? undefined : json['range_lte'],\n };\n}\n\nexport function SearchPriceAtomicFilterToJSON(json: any): SearchPriceAtomicFilter {\n return SearchPriceAtomicFilterToJSONTyped(json, false);\n}\n\nexport function SearchPriceAtomicFilterToJSONTyped(value?: SearchPriceAtomicFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'lte': value['lte'],\n 'gte': value['gte'],\n 'eq': value['eq'],\n 'range_gte': value['rangeGte'],\n 'range_lte': value['rangeLte'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchStringSetFilter\n */\nexport interface SearchStringSetFilter {\n /**\n *\n * @type {string}\n * @memberof SearchStringSetFilter\n */\n eq?: string;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchStringSetFilter\n */\n _in?: Array<string>;\n}\n\n/**\n * Check if a given object implements the SearchStringSetFilter interface.\n */\nexport function instanceOfSearchStringSetFilter(value: object): value is SearchStringSetFilter {\n return true;\n}\n\nexport function SearchStringSetFilterFromJSON(json: any): SearchStringSetFilter {\n return SearchStringSetFilterFromJSONTyped(json, false);\n}\n\nexport function SearchStringSetFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchStringSetFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchStringSetFilterToJSON(json: any): SearchStringSetFilter {\n return SearchStringSetFilterToJSONTyped(json, false);\n}\n\nexport function SearchStringSetFilterToJSONTyped(value?: SearchStringSetFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchProtocolFilter } from './SearchProtocolFilter';\nimport {\n SearchProtocolFilterFromJSON,\n SearchProtocolFilterFromJSONTyped,\n SearchProtocolFilterToJSON,\n SearchProtocolFilterToJSONTyped,\n} from './SearchProtocolFilter';\nimport type { SearchMethodFilter } from './SearchMethodFilter';\nimport {\n SearchMethodFilterFromJSON,\n SearchMethodFilterFromJSONTyped,\n SearchMethodFilterToJSON,\n SearchMethodFilterToJSONTyped,\n} from './SearchMethodFilter';\nimport type { SearchResourceTypeFilter } from './SearchResourceTypeFilter';\nimport {\n SearchResourceTypeFilterFromJSON,\n SearchResourceTypeFilterFromJSONTyped,\n SearchResourceTypeFilterToJSON,\n SearchResourceTypeFilterToJSONTyped,\n} from './SearchResourceTypeFilter';\nimport type { SearchExecutionModeFilter } from './SearchExecutionModeFilter';\nimport {\n SearchExecutionModeFilterFromJSON,\n SearchExecutionModeFilterFromJSONTyped,\n SearchExecutionModeFilterToJSON,\n SearchExecutionModeFilterToJSONTyped,\n} from './SearchExecutionModeFilter';\nimport type { SearchPriceUsdFilter } from './SearchPriceUsdFilter';\nimport {\n SearchPriceUsdFilterFromJSON,\n SearchPriceUsdFilterFromJSONTyped,\n SearchPriceUsdFilterToJSON,\n SearchPriceUsdFilterToJSONTyped,\n} from './SearchPriceUsdFilter';\nimport type { SearchPriceAtomicFilter } from './SearchPriceAtomicFilter';\nimport {\n SearchPriceAtomicFilterFromJSON,\n SearchPriceAtomicFilterFromJSONTyped,\n SearchPriceAtomicFilterToJSON,\n SearchPriceAtomicFilterToJSONTyped,\n} from './SearchPriceAtomicFilter';\nimport type { SearchStringSetFilter } from './SearchStringSetFilter';\nimport {\n SearchStringSetFilterFromJSON,\n SearchStringSetFilterFromJSONTyped,\n SearchStringSetFilterToJSON,\n SearchStringSetFilterToJSONTyped,\n} from './SearchStringSetFilter';\n\n/**\n * Structured hard constraints on the query — the weft-search-platform\n * `FilterSpec` v1 typed subset, vendored verbatim (D1 contract). Every\n * field is optional; an empty object is the no-filter query. Set fields\n * are ANDed. Each sub-filter takes exactly one operator; unknown filter\n * keys and unknown operators are rejected (`422 INVALID_FILTERS`).\n *\n * `price` (USD decimal strings) and `price_atomic` (integer micro-USD) are\n * two representations of ONE price constraint — the reasoning form and the\n * settlement form. They are MUTUALLY EXCLUSIVE: setting both is\n * `422 INVALID_FILTERS`. A JSON number in `price` is rejected (only decimal\n * strings), so `{lte: 5}` can never be mis-read as 5 micro-dollars.\n *\n * The canonical enum value sets are pinned to the platform spec by the CI\n * drift gate (`docs/contracts/search-platform.openapi.yaml`).\n *\n * @export\n * @interface SearchFilterSpec\n */\nexport interface SearchFilterSpec {\n /**\n *\n * @type {SearchPriceUsdFilter}\n * @memberof SearchFilterSpec\n */\n price?: SearchPriceUsdFilter;\n /**\n *\n * @type {SearchPriceAtomicFilter}\n * @memberof SearchFilterSpec\n */\n priceAtomic?: SearchPriceAtomicFilter;\n /**\n *\n * @type {SearchResourceTypeFilter}\n * @memberof SearchFilterSpec\n */\n type?: SearchResourceTypeFilter;\n /**\n *\n * @type {SearchProtocolFilter}\n * @memberof SearchFilterSpec\n */\n protocol?: SearchProtocolFilter;\n /**\n *\n * @type {SearchStringSetFilter}\n * @memberof SearchFilterSpec\n */\n category?: SearchStringSetFilter;\n /**\n *\n * @type {SearchMethodFilter}\n * @memberof SearchFilterSpec\n */\n method?: SearchMethodFilter;\n /**\n *\n * @type {SearchExecutionModeFilter}\n * @memberof SearchFilterSpec\n */\n executionMode?: SearchExecutionModeFilter;\n /**\n * True requires at least one access method whose paid request is supported by the current Weft fetch runtime. For async operations this can mean submission-only coverage followed by the provider workflow.\n * @type {boolean}\n * @memberof SearchFilterSpec\n */\n weftFetchCompatible?: boolean;\n /**\n * With a price constraint, also retain dynamic and unknown prices.\n * @type {boolean}\n * @memberof SearchFilterSpec\n */\n includeUnknownPrices?: boolean;\n}\n\n/**\n * Check if a given object implements the SearchFilterSpec interface.\n */\nexport function instanceOfSearchFilterSpec(value: object): value is SearchFilterSpec {\n return true;\n}\n\nexport function SearchFilterSpecFromJSON(json: any): SearchFilterSpec {\n return SearchFilterSpecFromJSONTyped(json, false);\n}\n\nexport function SearchFilterSpecFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchFilterSpec {\n if (json == null) {\n return json;\n }\n return {\n\n 'price': json['price'] == null ? undefined : SearchPriceUsdFilterFromJSON(json['price']),\n 'priceAtomic': json['price_atomic'] == null ? undefined : SearchPriceAtomicFilterFromJSON(json['price_atomic']),\n 'type': json['type'] == null ? undefined : SearchResourceTypeFilterFromJSON(json['type']),\n 'protocol': json['protocol'] == null ? undefined : SearchProtocolFilterFromJSON(json['protocol']),\n 'category': json['category'] == null ? undefined : SearchStringSetFilterFromJSON(json['category']),\n 'method': json['method'] == null ? undefined : SearchMethodFilterFromJSON(json['method']),\n 'executionMode': json['execution_mode'] == null ? undefined : SearchExecutionModeFilterFromJSON(json['execution_mode']),\n 'weftFetchCompatible': json['weft_fetch_compatible'] == null ? undefined : json['weft_fetch_compatible'],\n 'includeUnknownPrices': json['include_unknown_prices'] == null ? undefined : json['include_unknown_prices'],\n };\n}\n\nexport function SearchFilterSpecToJSON(json: any): SearchFilterSpec {\n return SearchFilterSpecToJSONTyped(json, false);\n}\n\nexport function SearchFilterSpecToJSONTyped(value?: SearchFilterSpec | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'price': SearchPriceUsdFilterToJSON(value['price']),\n 'price_atomic': SearchPriceAtomicFilterToJSON(value['priceAtomic']),\n 'type': SearchResourceTypeFilterToJSON(value['type']),\n 'protocol': SearchProtocolFilterToJSON(value['protocol']),\n 'category': SearchStringSetFilterToJSON(value['category']),\n 'method': SearchMethodFilterToJSON(value['method']),\n 'execution_mode': SearchExecutionModeFilterToJSON(value['executionMode']),\n 'weft_fetch_compatible': value['weftFetchCompatible'],\n 'include_unknown_prices': value['includeUnknownPrices'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchProviderRef\n */\nexport interface SearchProviderRef {\n /**\n *\n * @type {string}\n * @memberof SearchProviderRef\n */\n providerId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchProviderRef\n */\n displayName?: string;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchProviderRef\n */\n originDomains?: Array<string>;\n}\n\n/**\n * Check if a given object implements the SearchProviderRef interface.\n */\nexport function instanceOfSearchProviderRef(value: object): value is SearchProviderRef {\n return true;\n}\n\nexport function SearchProviderRefFromJSON(json: any): SearchProviderRef {\n return SearchProviderRefFromJSONTyped(json, false);\n}\n\nexport function SearchProviderRefFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchProviderRef {\n if (json == null) {\n return json;\n }\n return {\n\n 'providerId': json['provider_id'] == null ? undefined : json['provider_id'],\n 'displayName': json['display_name'] == null ? undefined : json['display_name'],\n 'originDomains': json['origin_domains'] == null ? undefined : json['origin_domains'],\n };\n}\n\nexport function SearchProviderRefToJSON(json: any): SearchProviderRef {\n return SearchProviderRefToJSONTyped(json, false);\n}\n\nexport function SearchProviderRefToJSONTyped(value?: SearchProviderRef | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider_id': value['providerId'],\n 'display_name': value['displayName'],\n 'origin_domains': value['originDomains'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchFilterSpec } from './SearchFilterSpec';\nimport {\n SearchFilterSpecFromJSON,\n SearchFilterSpecFromJSONTyped,\n SearchFilterSpecToJSON,\n SearchFilterSpecToJSONTyped,\n} from './SearchFilterSpec';\n\n/**\n *\n * @export\n * @interface SearchRequest\n */\nexport interface SearchRequest {\n /**\n * Free-text query. Required and non-empty.\n * @type {string}\n * @memberof SearchRequest\n */\n query: string;\n /**\n * Max number of hits to return. Invalid values are rejected, not clamped.\n * @type {number}\n * @memberof SearchRequest\n */\n maxResults?: number;\n /**\n *\n * @type {SearchFilterSpec}\n * @memberof SearchRequest\n */\n filters?: SearchFilterSpec;\n /**\n * Response view. Absent means `full`: the complete `SearchResult`\n * rows in `results`. `compact` returns the hosted MCP agent view in\n * `compact_results` (see `SearchCompactResult`). The compact view\n * applies the same selection as hosted MCP search: it leaves out\n * incomplete PayWithLocus gateway contracts. It does not add filters;\n * send `weft_fetch_compatible: true` to get only results that\n * `POST /api/v1/fetch` can pay.\n *\n * @type {string}\n * @memberof SearchRequest\n */\n view?: SearchRequestViewEnum;\n}\n\n\n/**\n * @export\n */\nexport const SearchRequestViewEnum = {\n Full: 'full',\n Compact: 'compact'\n} as const;\nexport type SearchRequestViewEnum = typeof SearchRequestViewEnum[keyof typeof SearchRequestViewEnum];\n\n\n/**\n * Check if a given object implements the SearchRequest interface.\n */\nexport function instanceOfSearchRequest(value: object): value is SearchRequest {\n if (!('query' in value) || value['query'] === undefined) return false;\n return true;\n}\n\nexport function SearchRequestFromJSON(json: any): SearchRequest {\n return SearchRequestFromJSONTyped(json, false);\n}\n\nexport function SearchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'query': json['query'],\n 'maxResults': json['max_results'] == null ? undefined : json['max_results'],\n 'filters': json['filters'] == null ? undefined : SearchFilterSpecFromJSON(json['filters']),\n 'view': json['view'] == null ? undefined : json['view'],\n };\n}\n\nexport function SearchRequestToJSON(json: any): SearchRequest {\n return SearchRequestToJSONTyped(json, false);\n}\n\nexport function SearchRequestToJSONTyped(value?: SearchRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'query': value['query'],\n 'max_results': value['maxResults'],\n 'filters': SearchFilterSpecToJSON(value['filters']),\n 'view': value['view'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchEndpointHit } from './SearchEndpointHit';\nimport {\n SearchEndpointHitFromJSON,\n SearchEndpointHitFromJSONTyped,\n SearchEndpointHitToJSON,\n SearchEndpointHitToJSONTyped,\n} from './SearchEndpointHit';\nimport type { SearchCapabilityRef } from './SearchCapabilityRef';\nimport {\n SearchCapabilityRefFromJSON,\n SearchCapabilityRefFromJSONTyped,\n SearchCapabilityRefToJSON,\n SearchCapabilityRefToJSONTyped,\n} from './SearchCapabilityRef';\nimport type { SearchProviderRef } from './SearchProviderRef';\nimport {\n SearchProviderRefFromJSON,\n SearchProviderRefFromJSONTyped,\n SearchProviderRefToJSON,\n SearchProviderRefToJSONTyped,\n} from './SearchProviderRef';\n\n/**\n *\n * @export\n * @interface SearchResult\n */\nexport interface SearchResult {\n /**\n *\n * @type {SearchProviderRef}\n * @memberof SearchResult\n */\n provider: SearchProviderRef;\n /**\n *\n * @type {SearchCapabilityRef}\n * @memberof SearchResult\n */\n capability: SearchCapabilityRef;\n /**\n *\n * @type {Array<SearchEndpointHit>}\n * @memberof SearchResult\n */\n endpoints: Array<SearchEndpointHit>;\n /**\n *\n * @type {number}\n * @memberof SearchResult\n */\n score: number;\n}\n\n/**\n * Check if a given object implements the SearchResult interface.\n */\nexport function instanceOfSearchResult(value: object): value is SearchResult {\n if (!('provider' in value) || value['provider'] === undefined) return false;\n if (!('capability' in value) || value['capability'] === undefined) return false;\n if (!('endpoints' in value) || value['endpoints'] === undefined) return false;\n if (!('score' in value) || value['score'] === undefined) return false;\n return true;\n}\n\nexport function SearchResultFromJSON(json: any): SearchResult {\n return SearchResultFromJSONTyped(json, false);\n}\n\nexport function SearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResult {\n if (json == null) {\n return json;\n }\n return {\n\n 'provider': SearchProviderRefFromJSON(json['provider']),\n 'capability': SearchCapabilityRefFromJSON(json['capability']),\n 'endpoints': ((json['endpoints'] as Array<any>).map(SearchEndpointHitFromJSON)),\n 'score': json['score'],\n };\n}\n\nexport function SearchResultToJSON(json: any): SearchResult {\n return SearchResultToJSONTyped(json, false);\n}\n\nexport function SearchResultToJSONTyped(value?: SearchResult | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider': SearchProviderRefToJSON(value['provider']),\n 'capability': SearchCapabilityRefToJSON(value['capability']),\n 'endpoints': ((value['endpoints'] as Array<any>).map(SearchEndpointHitToJSON)),\n 'score': value['score'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchResponseWarningsInner\n */\nexport interface SearchResponseWarningsInner {\n /**\n *\n * @type {string}\n * @memberof SearchResponseWarningsInner\n */\n code: string;\n /**\n *\n * @type {string}\n * @memberof SearchResponseWarningsInner\n */\n message: string;\n /**\n * Typed cause for codes that carry one. Null otherwise.\n * @type {string}\n * @memberof SearchResponseWarningsInner\n */\n cause?: string;\n /**\n * Structured context for the warning. Null when the code carries none.\n * @type {object}\n * @memberof SearchResponseWarningsInner\n */\n context?: object;\n}\n\n/**\n * Check if a given object implements the SearchResponseWarningsInner interface.\n */\nexport function instanceOfSearchResponseWarningsInner(value: object): value is SearchResponseWarningsInner {\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function SearchResponseWarningsInnerFromJSON(json: any): SearchResponseWarningsInner {\n return SearchResponseWarningsInnerFromJSONTyped(json, false);\n}\n\nexport function SearchResponseWarningsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResponseWarningsInner {\n if (json == null) {\n return json;\n }\n return {\n\n 'code': json['code'],\n 'message': json['message'],\n 'cause': json['cause'] == null ? undefined : json['cause'],\n 'context': json['context'] == null ? undefined : json['context'],\n };\n}\n\nexport function SearchResponseWarningsInnerToJSON(json: any): SearchResponseWarningsInner {\n return SearchResponseWarningsInnerToJSONTyped(json, false);\n}\n\nexport function SearchResponseWarningsInnerToJSONTyped(value?: SearchResponseWarningsInner | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'code': value['code'],\n 'message': value['message'],\n 'cause': value['cause'],\n 'context': value['context'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchFilterSpec } from './SearchFilterSpec';\nimport {\n SearchFilterSpecFromJSON,\n SearchFilterSpecFromJSONTyped,\n SearchFilterSpecToJSON,\n SearchFilterSpecToJSONTyped,\n} from './SearchFilterSpec';\nimport type { SearchCompactResult } from './SearchCompactResult';\nimport {\n SearchCompactResultFromJSON,\n SearchCompactResultFromJSONTyped,\n SearchCompactResultToJSON,\n SearchCompactResultToJSONTyped,\n} from './SearchCompactResult';\nimport type { SearchResult } from './SearchResult';\nimport {\n SearchResultFromJSON,\n SearchResultFromJSONTyped,\n SearchResultToJSON,\n SearchResultToJSONTyped,\n} from './SearchResult';\nimport type { SearchResponseWarningsInner } from './SearchResponseWarningsInner';\nimport {\n SearchResponseWarningsInnerFromJSON,\n SearchResponseWarningsInnerFromJSONTyped,\n SearchResponseWarningsInnerToJSON,\n SearchResponseWarningsInnerToJSONTyped,\n} from './SearchResponseWarningsInner';\n\n/**\n * The weft-search-platform `POST /v1/search` response envelope.\n * @export\n * @interface SearchResponse\n */\nexport interface SearchResponse {\n /**\n * Opaque trace id for the served query, matching the platform\n * `query_trace_id` — and the `search_id` that re-reads it. Deliberately\n * the same id rather than a second handle: one serve, one name.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n queryTraceId: string;\n /**\n *\n * @type {string}\n * @memberof SearchResponse\n */\n query: string;\n /**\n * Which view this response carries, echoing the requested format.\n * `json` populates `results` and leaves `markdown` null; `markdown`\n * populates `markdown` and leaves `results` empty. Exactly one is\n * populated per response, never both — returning both eagerly would\n * double the payload.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n format?: SearchResponseFormatEnum;\n /**\n * The flat comparison table, when `format` is `markdown`; null\n * otherwise. Rendered deterministically from the same stored result\n * the `json` view returns, so the two views of one search can never\n * disagree.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n markdown?: string;\n /**\n * How many `(Provider + Capability)` results the search produced. Read\n * THIS, not `results.length`, for the count: on a `markdown` response\n * `results` is empty by design, so `result_count > 0` with an empty\n * `results` is a rendered table while `result_count == 0` is a genuine\n * zero-result. On a `compact` view response it counts\n * `compact_results`; there, `result_count == 0` with\n * `omitted_results` means every ranked result was too large to show.\n *\n * @type {number}\n * @memberof SearchResponse\n */\n resultCount?: number;\n /**\n * `live` for a fresh serve; `snapshot` for an immutable replay of a\n * completed search. A re-read is a snapshot and says so — read it with\n * `as_of` and `stale`.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n servedFrom?: SearchResponseServedFromEnum;\n /**\n * When the results were produced. Now on a `live` serve; on a\n * `snapshot` the ORIGINAL serve time, because a replay returns exactly\n * what was paid for, not current truth.\n *\n * @type {Date}\n * @memberof SearchResponse\n */\n asOf?: Date;\n /**\n * Whether the active search index has changed since these results were\n * produced. `true` does not mean the results are wrong — it means they\n * are a snapshot of an index that has since moved. Always `false` on a\n * `live` serve.\n *\n * @type {boolean}\n * @memberof SearchResponse\n */\n stale?: boolean;\n /**\n * How payment works across the catalog, stated once for the whole\n * response rather than repeated in every endpoint's usage instructions.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n paymentNote?: string;\n /**\n * The `FilterSpec` actually applied to recall, echoed back so the\n * caller sees exactly what constrained the results. In the current\n * contract this is the caller's `filters` verbatim (empty object when\n * none were sent).\n *\n * @type {SearchFilterSpec}\n * @memberof SearchResponse\n */\n appliedFilters?: SearchFilterSpec;\n /**\n * Origin of `applied_filters`; always `CALLER`.\n * @type {string}\n * @memberof SearchResponse\n */\n decompositionSource?: SearchResponseDecompositionSourceEnum;\n /**\n *\n * @type {string}\n * @memberof SearchResponse\n */\n embedderModel: string;\n /**\n *\n * @type {number}\n * @memberof SearchResponse\n */\n candidatesConsidered: number;\n /**\n *\n * @type {Array<SearchResponseWarningsInner>}\n * @memberof SearchResponse\n */\n warnings: Array<SearchResponseWarningsInner>;\n /**\n * Calibrated confidence in this result set — read this instead of\n * thresholding a raw similarity score. `strong`: the top match is\n * confidently on-intent, proceed. `weak`: above the relevance floor\n * but inside the band where plausible-but-wrong matches live, verify\n * the result before paying. `none`: nothing cleared the floor —\n * `results` is empty and `reason` / `suggestion` say why. Results\n * below the floor are never returned as near-misses.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n matchQuality?: SearchResponseMatchQualityEnum;\n /**\n * Machine-readable cause of an empty result set, non-null exactly when\n * `match_quality` is `none`. `below_relevance_floor`: candidates ranked\n * but the best scored under the floor. `filter_collapsed_pool`: a caller\n * filter cut the pool before ranking and nothing relevant survived —\n * relax the filter. `no_catalog_coverage`: recall returned no candidates\n * at all on an unfiltered query. `unsupported_filter_value`: a\n * CATEGORICAL filter value (`type` / `protocol`) matches zero stored\n * values, so it could never have matched — categorical only, since a\n * continuous bound like `price` that matches nothing is reported as\n * `filter_collapsed_pool` instead (the bound needs raising, the\n * dimension is not unsupported). `index_unavailable`: no active index\n * — an operational fault, paired with the `EMPTY_INDEX` warning.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n reason?: SearchResponseReasonEnum;\n /**\n * Human/agent-readable explanation of `reason`, carrying the concrete\n * numbers behind it (pool sizes, the best discarded score against the\n * floor, the values actually stored for a filter). Non-null exactly\n * when `reason` is.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n suggestion?: string;\n /**\n * Ranked `(Provider + Capability)` results; empty when the index is\n * empty or nothing cleared the relevance floor. Results BELOW the floor\n * are never returned — an empty list plus a `reason` is the honest\n * answer, not a list of near-misses in the same shape as a genuine\n * match. Empty on a `compact` view response; read `compact_results`.\n *\n * @type {Array<SearchResult>}\n * @memberof SearchResponse\n */\n results: Array<SearchResult>;\n /**\n * The view this response carries. Present as `compact` when the\n * request asked for `view: \"compact\"`; absent means `full`.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n view?: SearchResponseViewEnum;\n /**\n * Ranked compact results, present only on a `compact` view response.\n * `result_count` is their count. They are a separate field so that\n * typed clients keep the full `SearchResult` shape for `results`.\n *\n * @type {Array<SearchCompactResult>}\n * @memberof SearchResponse\n */\n compactResults?: Array<SearchCompactResult>;\n /**\n * Compact view only: how many ranked results were left out because\n * even their minimum summary does not fit the per-result budget.\n * Absent when none were left out.\n *\n * @type {number}\n * @memberof SearchResponse\n */\n omittedResults?: number;\n}\n\n\n/**\n * @export\n */\nexport const SearchResponseFormatEnum = {\n Json: 'json',\n Markdown: 'markdown'\n} as const;\nexport type SearchResponseFormatEnum = typeof SearchResponseFormatEnum[keyof typeof SearchResponseFormatEnum];\n\n/**\n * @export\n */\nexport const SearchResponseServedFromEnum = {\n Live: 'live',\n Snapshot: 'snapshot'\n} as const;\nexport type SearchResponseServedFromEnum = typeof SearchResponseServedFromEnum[keyof typeof SearchResponseServedFromEnum];\n\n/**\n * @export\n */\nexport const SearchResponseDecompositionSourceEnum = {\n Caller: 'CALLER'\n} as const;\nexport type SearchResponseDecompositionSourceEnum = typeof SearchResponseDecompositionSourceEnum[keyof typeof SearchResponseDecompositionSourceEnum];\n\n/**\n * @export\n */\nexport const SearchResponseMatchQualityEnum = {\n Strong: 'strong',\n Weak: 'weak',\n None: 'none'\n} as const;\nexport type SearchResponseMatchQualityEnum = typeof SearchResponseMatchQualityEnum[keyof typeof SearchResponseMatchQualityEnum];\n\n/**\n * @export\n */\nexport const SearchResponseReasonEnum = {\n BelowRelevanceFloor: 'below_relevance_floor',\n FilterCollapsedPool: 'filter_collapsed_pool',\n NoCatalogCoverage: 'no_catalog_coverage',\n UnsupportedFilterValue: 'unsupported_filter_value',\n IndexUnavailable: 'index_unavailable'\n} as const;\nexport type SearchResponseReasonEnum = typeof SearchResponseReasonEnum[keyof typeof SearchResponseReasonEnum];\n\n/**\n * @export\n */\nexport const SearchResponseViewEnum = {\n Full: 'full',\n Compact: 'compact'\n} as const;\nexport type SearchResponseViewEnum = typeof SearchResponseViewEnum[keyof typeof SearchResponseViewEnum];\n\n\n/**\n * Check if a given object implements the SearchResponse interface.\n */\nexport function instanceOfSearchResponse(value: object): value is SearchResponse {\n if (!('queryTraceId' in value) || value['queryTraceId'] === undefined) return false;\n if (!('query' in value) || value['query'] === undefined) return false;\n if (!('embedderModel' in value) || value['embedderModel'] === undefined) return false;\n if (!('candidatesConsidered' in value) || value['candidatesConsidered'] === undefined) return false;\n if (!('warnings' in value) || value['warnings'] === undefined) return false;\n if (!('results' in value) || value['results'] === undefined) return false;\n return true;\n}\n\nexport function SearchResponseFromJSON(json: any): SearchResponse {\n return SearchResponseFromJSONTyped(json, false);\n}\n\nexport function SearchResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'queryTraceId': json['query_trace_id'],\n 'query': json['query'],\n 'format': json['format'] == null ? undefined : json['format'],\n 'markdown': json['markdown'] == null ? undefined : json['markdown'],\n 'resultCount': json['result_count'] == null ? undefined : json['result_count'],\n 'servedFrom': json['served_from'] == null ? undefined : json['served_from'],\n 'asOf': json['as_of'] == null ? undefined : (new Date(json['as_of'])),\n 'stale': json['stale'] == null ? undefined : json['stale'],\n 'paymentNote': json['payment_note'] == null ? undefined : json['payment_note'],\n 'appliedFilters': json['applied_filters'] == null ? undefined : SearchFilterSpecFromJSON(json['applied_filters']),\n 'decompositionSource': json['decomposition_source'] == null ? undefined : json['decomposition_source'],\n 'embedderModel': json['embedder_model'],\n 'candidatesConsidered': json['candidates_considered'],\n 'warnings': ((json['warnings'] as Array<any>).map(SearchResponseWarningsInnerFromJSON)),\n 'matchQuality': json['match_quality'] == null ? undefined : json['match_quality'],\n 'reason': json['reason'] == null ? undefined : json['reason'],\n 'suggestion': json['suggestion'] == null ? undefined : json['suggestion'],\n 'results': ((json['results'] as Array<any>).map(SearchResultFromJSON)),\n 'view': json['view'] == null ? undefined : json['view'],\n 'compactResults': json['compact_results'] == null ? undefined : ((json['compact_results'] as Array<any>).map(SearchCompactResultFromJSON)),\n 'omittedResults': json['omitted_results'] == null ? undefined : json['omitted_results'],\n };\n}\n\nexport function SearchResponseToJSON(json: any): SearchResponse {\n return SearchResponseToJSONTyped(json, false);\n}\n\nexport function SearchResponseToJSONTyped(value?: SearchResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'query_trace_id': value['queryTraceId'],\n 'query': value['query'],\n 'format': value['format'],\n 'markdown': value['markdown'],\n 'result_count': value['resultCount'],\n 'served_from': value['servedFrom'],\n 'as_of': value['asOf'] == null ? value['asOf'] : value['asOf'].toISOString(),\n 'stale': value['stale'],\n 'payment_note': value['paymentNote'],\n 'applied_filters': SearchFilterSpecToJSON(value['appliedFilters']),\n 'decomposition_source': value['decompositionSource'],\n 'embedder_model': value['embedderModel'],\n 'candidates_considered': value['candidatesConsidered'],\n 'warnings': ((value['warnings'] as Array<any>).map(SearchResponseWarningsInnerToJSON)),\n 'match_quality': value['matchQuality'],\n 'reason': value['reason'],\n 'suggestion': value['suggestion'],\n 'results': ((value['results'] as Array<any>).map(SearchResultToJSON)),\n 'view': value['view'],\n 'compact_results': value['compactResults'] == null ? undefined : ((value['compactResults'] as Array<any>).map(SearchCompactResultToJSON)),\n 'omitted_results': value['omittedResults'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SignInRequest\n */\nexport interface SignInRequest {\n /**\n *\n * @type {string}\n * @memberof SignInRequest\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof SignInRequest\n */\n password: string;\n}\n\n/**\n * Check if a given object implements the SignInRequest interface.\n */\nexport function instanceOfSignInRequest(value: object): value is SignInRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('password' in value) || value['password'] === undefined) return false;\n return true;\n}\n\nexport function SignInRequestFromJSON(json: any): SignInRequest {\n return SignInRequestFromJSONTyped(json, false);\n}\n\nexport function SignInRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignInRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n 'password': json['password'],\n };\n}\n\nexport function SignInRequestToJSON(json: any): SignInRequest {\n return SignInRequestToJSONTyped(json, false);\n}\n\nexport function SignInRequestToJSONTyped(value?: SignInRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n 'password': value['password'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SignUpRequest\n */\nexport interface SignUpRequest {\n /**\n *\n * @type {string}\n * @memberof SignUpRequest\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof SignUpRequest\n */\n password: string;\n /**\n *\n * @type {string}\n * @memberof SignUpRequest\n */\n passwordConfirmation: string;\n}\n\n/**\n * Check if a given object implements the SignUpRequest interface.\n */\nexport function instanceOfSignUpRequest(value: object): value is SignUpRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('password' in value) || value['password'] === undefined) return false;\n if (!('passwordConfirmation' in value) || value['passwordConfirmation'] === undefined) return false;\n return true;\n}\n\nexport function SignUpRequestFromJSON(json: any): SignUpRequest {\n return SignUpRequestFromJSONTyped(json, false);\n}\n\nexport function SignUpRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignUpRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n 'password': json['password'],\n 'passwordConfirmation': json['password_confirmation'],\n };\n}\n\nexport function SignUpRequestToJSON(json: any): SignUpRequest {\n return SignUpRequestToJSONTyped(json, false);\n}\n\nexport function SignUpRequestToJSONTyped(value?: SignUpRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n 'password': value['password'],\n 'password_confirmation': value['passwordConfirmation'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ApiKeyCreatedResponse,\n ApiKeyListResponse,\n CreateApiKeyRequest,\n ErrorResponse,\n MessageResponse,\n} from '../models/index';\nimport {\n ApiKeyCreatedResponseFromJSON,\n ApiKeyCreatedResponseToJSON,\n ApiKeyListResponseFromJSON,\n ApiKeyListResponseToJSON,\n CreateApiKeyRequestFromJSON,\n CreateApiKeyRequestToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n MessageResponseFromJSON,\n MessageResponseToJSON,\n} from '../models/index';\n\nexport interface CreateApiKeyOperationRequest {\n createApiKeyRequest: CreateApiKeyRequest;\n}\n\nexport interface RevokeApiKeyRequest {\n id: number;\n}\n\n/**\n *\n */\nexport class APIKeysApi extends runtime.BaseAPI {\n\n /**\n * Create an `ax_live_*` resource key for the authenticated seller Organization. Buyer `wk_*` keys are created in the buyer dashboard.\n * Create an API key\n */\n async createApiKeyRaw(requestParameters: CreateApiKeyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyCreatedResponse>> {\n if (requestParameters['createApiKeyRequest'] == null) {\n throw new runtime.RequiredError(\n 'createApiKeyRequest',\n 'Required parameter \"createApiKeyRequest\" was null or undefined when calling createApiKey().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/api_keys`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: CreateApiKeyRequestToJSON(requestParameters['createApiKeyRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyCreatedResponseFromJSON(jsonValue));\n }\n\n /**\n * Create an `ax_live_*` resource key for the authenticated seller Organization. Buyer `wk_*` keys are created in the buyer dashboard.\n * Create an API key\n */\n async createApiKey(requestParameters: CreateApiKeyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyCreatedResponse> {\n const response = await this.createApiKeyRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * List `ax_live_*` resource keys for the seller Organization.\n * List API keys\n */\n async listApiKeysRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyListResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/api_keys`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyListResponseFromJSON(jsonValue));\n }\n\n /**\n * List `ax_live_*` resource keys for the seller Organization.\n * List API keys\n */\n async listApiKeys(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyListResponse> {\n const response = await this.listApiKeysRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Revoke an API key\n */\n async revokeApiKeyRaw(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling revokeApiKey().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/api_keys/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Revoke an API key\n */\n async revokeApiKey(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.revokeApiKeyRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n MeResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n MeResponseFromJSON,\n MeResponseToJSON,\n} from '../models/index';\n\n/**\n *\n */\nexport class AccountApi extends runtime.BaseAPI {\n\n /**\n * Returns the seller Organization represented by an `ax_live_*` resource key, or the buyer User represented by a `wk_*` account key, OAuth access token, or claimed `wbt_*` bearer. Branch on `data.principal_type`.\n * Get the current credential principal\n */\n async getMeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MeResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/me`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MeResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the seller Organization represented by an `ax_live_*` resource key, or the buyer User represented by a `wk_*` account key, OAuth access token, or claimed `wbt_*` bearer. Branch on `data.principal_type`.\n * Get the current credential principal\n */\n async getMe(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MeResponse> {\n const response = await this.getMeRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AccountBootstrapCreatedResponse,\n AccountBootstrapRequest,\n AccountBootstrapStatusResponse,\n ErrorResponse,\n RateLimitResponse,\n} from '../models/index';\nimport {\n AccountBootstrapCreatedResponseFromJSON,\n AccountBootstrapCreatedResponseToJSON,\n AccountBootstrapRequestFromJSON,\n AccountBootstrapRequestToJSON,\n AccountBootstrapStatusResponseFromJSON,\n AccountBootstrapStatusResponseToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n RateLimitResponseFromJSON,\n RateLimitResponseToJSON,\n} from '../models/index';\n\nexport interface CancelAccountBootstrapRequest {\n id: string;\n}\n\nexport interface CreateAccountBootstrapRequest {\n accountBootstrapRequest: AccountBootstrapRequest;\n}\n\nexport interface GetAccountBootstrapRequest {\n id: string;\n}\n\n/**\n *\n */\nexport class AgentBootstrapApi extends runtime.BaseAPI {\n\n /**\n * A pending bootstrap becomes rejected. A claimed promoted credential becomes revoked and fails every subsequent request immediately.\n * Cancel or revoke a bootstrap credential\n */\n async cancelAccountBootstrapRaw(requestParameters: CancelAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountBootstrapStatusResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling cancelAccountBootstrap().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bootstrapAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/account_bootstraps/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountBootstrapStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * A pending bootstrap becomes rejected. A claimed promoted credential becomes revoked and fails every subsequent request immediately.\n * Cancel or revoke a bootstrap credential\n */\n async cancelAccountBootstrap(requestParameters: CancelAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountBootstrapStatusResponse> {\n const response = await this.cancelAccountBootstrapRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a 30-minute, search-only bootstrap and emails a separate claim link to the supplied address. Human approval binds the same `wbt_*` bearer to the account and promotes it to the fixed durable capability set. The response is deliberately identical for new and existing account emails and never contains the claim token. Rate limits apply per IP and normalized email; request bodies over 4 KiB are rejected before parsing. The bootstrap row and one-time credentials are committed only after the mail relay accepts the claim email. A retryable 503 leaves no bootstrap row behind.\n * Create a temporary agent bootstrap\n */\n async createAccountBootstrapRaw(requestParameters: CreateAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountBootstrapCreatedResponse>> {\n if (requestParameters['accountBootstrapRequest'] == null) {\n throw new runtime.RequiredError(\n 'accountBootstrapRequest',\n 'Required parameter \"accountBootstrapRequest\" was null or undefined when calling createAccountBootstrap().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/account_bootstraps`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: AccountBootstrapRequestToJSON(requestParameters['accountBootstrapRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountBootstrapCreatedResponseFromJSON(jsonValue));\n }\n\n /**\n * Creates a 30-minute, search-only bootstrap and emails a separate claim link to the supplied address. Human approval binds the same `wbt_*` bearer to the account and promotes it to the fixed durable capability set. The response is deliberately identical for new and existing account emails and never contains the claim token. Rate limits apply per IP and normalized email; request bodies over 4 KiB are rejected before parsing. The bootstrap row and one-time credentials are committed only after the mail relay accepts the claim email. A retryable 503 leaves no bootstrap row behind.\n * Create a temporary agent bootstrap\n */\n async createAccountBootstrap(requestParameters: CreateAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountBootstrapCreatedResponse> {\n const response = await this.createAccountBootstrapRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Read bootstrap lifecycle status\n */\n async getAccountBootstrapRaw(requestParameters: GetAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountBootstrapStatusResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getAccountBootstrap().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bootstrapAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/account_bootstraps/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountBootstrapStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * Read bootstrap lifecycle status\n */\n async getAccountBootstrap(requestParameters: GetAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountBootstrapStatusResponse> {\n const response = await this.getAccountBootstrapRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AuthResponse,\n ConfirmRequest,\n ErrorResponse,\n MessageResponse,\n PasswordResetRequest,\n PasswordUpdateRequest,\n ResendConfirmationRequest,\n SignInRequest,\n SignUpRequest,\n} from '../models/index';\nimport {\n AuthResponseFromJSON,\n AuthResponseToJSON,\n ConfirmRequestFromJSON,\n ConfirmRequestToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n MessageResponseFromJSON,\n MessageResponseToJSON,\n PasswordResetRequestFromJSON,\n PasswordResetRequestToJSON,\n PasswordUpdateRequestFromJSON,\n PasswordUpdateRequestToJSON,\n ResendConfirmationRequestFromJSON,\n ResendConfirmationRequestToJSON,\n SignInRequestFromJSON,\n SignInRequestToJSON,\n SignUpRequestFromJSON,\n SignUpRequestToJSON,\n} from '../models/index';\n\nexport interface ConfirmAccountRequest {\n confirmRequest: ConfirmRequest;\n}\n\nexport interface RequestPasswordResetRequest {\n passwordResetRequest: PasswordResetRequest;\n}\n\nexport interface ResendConfirmationOperationRequest {\n resendConfirmationRequest: ResendConfirmationRequest;\n}\n\nexport interface SignInOperationRequest {\n signInRequest: SignInRequest;\n}\n\nexport interface SignUpOperationRequest {\n signUpRequest: SignUpRequest;\n}\n\nexport interface UpdatePasswordRequest {\n passwordUpdateRequest: PasswordUpdateRequest;\n}\n\n/**\n *\n */\nexport class AuthApi extends runtime.BaseAPI {\n\n /**\n * Confirm an account\n */\n async confirmAccountRaw(requestParameters: ConfirmAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthResponse>> {\n if (requestParameters['confirmRequest'] == null) {\n throw new runtime.RequiredError(\n 'confirmRequest',\n 'Required parameter \"confirmRequest\" was null or undefined when calling confirmAccount().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/confirm`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ConfirmRequestToJSON(requestParameters['confirmRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AuthResponseFromJSON(jsonValue));\n }\n\n /**\n * Confirm an account\n */\n async confirmAccount(requestParameters: ConfirmAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthResponse> {\n const response = await this.confirmAccountRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Request password reset\n */\n async requestPasswordResetRaw(requestParameters: RequestPasswordResetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['passwordResetRequest'] == null) {\n throw new runtime.RequiredError(\n 'passwordResetRequest',\n 'Required parameter \"passwordResetRequest\" was null or undefined when calling requestPasswordReset().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/password/reset`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PasswordResetRequestToJSON(requestParameters['passwordResetRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Request password reset\n */\n async requestPasswordReset(requestParameters: RequestPasswordResetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.requestPasswordResetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Resend confirmation email\n */\n async resendConfirmationRaw(requestParameters: ResendConfirmationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['resendConfirmationRequest'] == null) {\n throw new runtime.RequiredError(\n 'resendConfirmationRequest',\n 'Required parameter \"resendConfirmationRequest\" was null or undefined when calling resendConfirmation().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/resend-confirmation`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ResendConfirmationRequestToJSON(requestParameters['resendConfirmationRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Resend confirmation email\n */\n async resendConfirmation(requestParameters: ResendConfirmationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.resendConfirmationRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sign in with email and password\n */\n async signInRaw(requestParameters: SignInOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthResponse>> {\n if (requestParameters['signInRequest'] == null) {\n throw new runtime.RequiredError(\n 'signInRequest',\n 'Required parameter \"signInRequest\" was null or undefined when calling signIn().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/sign_in`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: SignInRequestToJSON(requestParameters['signInRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AuthResponseFromJSON(jsonValue));\n }\n\n /**\n * Sign in with email and password\n */\n async signIn(requestParameters: SignInOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthResponse> {\n const response = await this.signInRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Create an account\n */\n async signUpRaw(requestParameters: SignUpOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthResponse>> {\n if (requestParameters['signUpRequest'] == null) {\n throw new runtime.RequiredError(\n 'signUpRequest',\n 'Required parameter \"signUpRequest\" was null or undefined when calling signUp().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/sign_up`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: SignUpRequestToJSON(requestParameters['signUpRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AuthResponseFromJSON(jsonValue));\n }\n\n /**\n * Create an account\n */\n async signUp(requestParameters: SignUpOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthResponse> {\n const response = await this.signUpRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Update password with reset token\n */\n async updatePasswordRaw(requestParameters: UpdatePasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['passwordUpdateRequest'] == null) {\n throw new runtime.RequiredError(\n 'passwordUpdateRequest',\n 'Required parameter \"passwordUpdateRequest\" was null or undefined when calling updatePassword().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/password/update`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PasswordUpdateRequestToJSON(requestParameters['passwordUpdateRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Update password with reset token\n */\n async updatePassword(requestParameters: UpdatePasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.updatePasswordRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n BalanceResponse,\n ErrorResponse,\n InsufficientScopeResponse,\n} from '../models/index';\nimport {\n BalanceResponseFromJSON,\n BalanceResponseToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseToJSON,\n} from '../models/index';\n\n/**\n *\n */\nexport class BalanceApi extends runtime.BaseAPI {\n\n /**\n * Read-only snapshot for the buyer behind the bearer token. The response always includes a `promo` block — values are zero in v1 and fill in once the freemium promo ledger ships, without a shape change. The Base USDC balance is fetched server-side through Crossmint. If Crossmint is unreachable, the balance fields are `null`; consumers must not interpret that as zero. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `balance`, or a claimed `wbt_*` bearer.\n * Get wallet, spending policy, and current-window spend\n */\n async getBalanceRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BalanceResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/balance`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BalanceResponseFromJSON(jsonValue));\n }\n\n /**\n * Read-only snapshot for the buyer behind the bearer token. The response always includes a `promo` block — values are zero in v1 and fill in once the freemium promo ledger ships, without a shape change. The Base USDC balance is fetched server-side through Crossmint. If Crossmint is unreachable, the balance fields are `null`; consumers must not interpret that as zero. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `balance`, or a claimed `wbt_*` bearer.\n * Get wallet, spending policy, and current-window spend\n */\n async getBalance(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BalanceResponse> {\n const response = await this.getBalanceRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\n\n/**\n *\n */\nexport class DocumentationApi extends runtime.BaseAPI {\n\n /**\n * Fetch this OpenAPI document\n */\n async getOpenApiDocumentRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n\n let urlPath = `/docs/openapi.yaml`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse<string>(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Fetch this OpenAPI document\n */\n async getOpenApiDocument(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {\n const response = await this.getOpenApiDocumentRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n Fetch403Response,\n FetchErrorResponse,\n FetchRequest,\n FetchResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n Fetch403ResponseFromJSON,\n Fetch403ResponseToJSON,\n FetchErrorResponseFromJSON,\n FetchErrorResponseToJSON,\n FetchRequestFromJSON,\n FetchRequestToJSON,\n FetchResponseFromJSON,\n FetchResponseToJSON,\n} from '../models/index';\n\nexport interface FetchOperationRequest {\n fetchRequest: FetchRequest;\n idempotencyKey?: string;\n}\n\n/**\n *\n */\nexport class FetchApi extends runtime.BaseAPI {\n\n /**\n * Universal x402/MPP fetch proxy. The caller provides a target `url`, a merchant-principal `max_cost_usd` ceiling, and optional `method` / `body` / `headers`. Weft: 1. Issues the request. 2. On `402 Payment Required`, selects a supported x402 or MPP challenge. 3. Compares the asking price to `max_cost_usd` and the buyer\\'s policy (`max_tx_usd`, daily/weekly limits). 4. If refill is allowed and an eligible mainnet MPP challenge finds its Tempo token short, creates or adopts a buyer-owned Base-to-Tempo refill and returns `409 FUNDING_PENDING` with `details.reason=funding_active`. If an overlapping payment invalidates the balance observation before a bridge is created, the same retryable response carries `details.reason=balance_changed`. The caller retries the identical fetch after `details.retry_after_seconds`; that later request obtains a fresh challenge and reruns rail selection and all payment controls. 5. Authorizes payment from the buyer\\'s wallet on the selected rail. 6. Replays the request with the protocol-specific payment credential. 7. Streams the upstream artifact back, base64-encoded under `body_base64`, with `paid_usd`, `held_usd`, `payment_status`, `tx_hash`, `protocol`, and `purchase_id`. `paid_usd` is \\\"0.00\\\" until the charge is CONFIRMED settled — a signed-but- unsettled hold (the common case for x402, which settles asynchronously) reports its amount in `held_usd` instead, never in `paid_usd`. `purchase_id` is the id that `GET /api/v1/purchases/{id}` accepts, so a caller can read how a pending charge ends. **Opt-in safety controls:** `allow_tempo_refill: false` prevents this request from creating, adopting, or enqueueing a Base-to-Tempo bridge. A Tempo shortfall returns `402 INSUFFICIENT_BALANCE`; unrelated bridges and their jobs remain unchanged. `access_method_id` is advisory and does not enforce a payment rail. `max_total_cost_usd` is an all-in ceiling covering merchant principal, network gas, provider fees, and prerequisite buyer-paid operations. It disables refill; explicitly combining it with `allow_tempo_refill: true` returns `422 INCOMPATIBLE_FETCH_CONTROLS`. Current wallet integrations provide no supported binding all-in fee guarantee. Therefore all-in requests return `402 TOTAL_COST_UNVERIFIABLE` before payment preparation, approval, reservation, or refill. This also refuses recovery of older payments and SIWX wallet signing; it admits no positive paid route. Increasing the ceiling does not resolve missing fee authority. Omitted controls preserve existing behavior. Ordinary non-402 merchant responses retain `MERCHANT_RETURNED_NON_402`. Stored-result replay is historical payment information, not a new bounded authorization. Errors are structured with a stable `error` code, and each error response carries the buyer\\'s `policy`, `balance`, and a `dashboard_url` so a CLI can render an actionable message without a second round-trip. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `fetch`, or a claimed `wbt_*` bearer. **Forwarded headers:** the caller\\'s `headers` are passed through to the upstream, except a denylist of hop-by-hop and Weft-internal headers (`host`, `authorization`, `cookie`, `proxy-authorization`, `x-forwarded-*`, `x-real-ip`, `x-payment`, `connection`, `upgrade`). Up to 32 headers, 4 KB of combined value bytes.\n * Pay-and-fetch any URL (x402/MPP proxy)\n */\n async fetchRaw(requestParameters: FetchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchResponse>> {\n if (requestParameters['fetchRequest'] == null) {\n throw new runtime.RequiredError(\n 'fetchRequest',\n 'Required parameter \"fetchRequest\" was null or undefined when calling fetch().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (requestParameters['idempotencyKey'] != null) {\n headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);\n }\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/fetch`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: FetchRequestToJSON(requestParameters['fetchRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => FetchResponseFromJSON(jsonValue));\n }\n\n /**\n * Universal x402/MPP fetch proxy. The caller provides a target `url`, a merchant-principal `max_cost_usd` ceiling, and optional `method` / `body` / `headers`. Weft: 1. Issues the request. 2. On `402 Payment Required`, selects a supported x402 or MPP challenge. 3. Compares the asking price to `max_cost_usd` and the buyer\\'s policy (`max_tx_usd`, daily/weekly limits). 4. If refill is allowed and an eligible mainnet MPP challenge finds its Tempo token short, creates or adopts a buyer-owned Base-to-Tempo refill and returns `409 FUNDING_PENDING` with `details.reason=funding_active`. If an overlapping payment invalidates the balance observation before a bridge is created, the same retryable response carries `details.reason=balance_changed`. The caller retries the identical fetch after `details.retry_after_seconds`; that later request obtains a fresh challenge and reruns rail selection and all payment controls. 5. Authorizes payment from the buyer\\'s wallet on the selected rail. 6. Replays the request with the protocol-specific payment credential. 7. Streams the upstream artifact back, base64-encoded under `body_base64`, with `paid_usd`, `held_usd`, `payment_status`, `tx_hash`, `protocol`, and `purchase_id`. `paid_usd` is \\\"0.00\\\" until the charge is CONFIRMED settled — a signed-but- unsettled hold (the common case for x402, which settles asynchronously) reports its amount in `held_usd` instead, never in `paid_usd`. `purchase_id` is the id that `GET /api/v1/purchases/{id}` accepts, so a caller can read how a pending charge ends. **Opt-in safety controls:** `allow_tempo_refill: false` prevents this request from creating, adopting, or enqueueing a Base-to-Tempo bridge. A Tempo shortfall returns `402 INSUFFICIENT_BALANCE`; unrelated bridges and their jobs remain unchanged. `access_method_id` is advisory and does not enforce a payment rail. `max_total_cost_usd` is an all-in ceiling covering merchant principal, network gas, provider fees, and prerequisite buyer-paid operations. It disables refill; explicitly combining it with `allow_tempo_refill: true` returns `422 INCOMPATIBLE_FETCH_CONTROLS`. Current wallet integrations provide no supported binding all-in fee guarantee. Therefore all-in requests return `402 TOTAL_COST_UNVERIFIABLE` before payment preparation, approval, reservation, or refill. This also refuses recovery of older payments and SIWX wallet signing; it admits no positive paid route. Increasing the ceiling does not resolve missing fee authority. Omitted controls preserve existing behavior. Ordinary non-402 merchant responses retain `MERCHANT_RETURNED_NON_402`. Stored-result replay is historical payment information, not a new bounded authorization. Errors are structured with a stable `error` code, and each error response carries the buyer\\'s `policy`, `balance`, and a `dashboard_url` so a CLI can render an actionable message without a second round-trip. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `fetch`, or a claimed `wbt_*` bearer. **Forwarded headers:** the caller\\'s `headers` are passed through to the upstream, except a denylist of hop-by-hop and Weft-internal headers (`host`, `authorization`, `cookie`, `proxy-authorization`, `x-forwarded-*`, `x-real-ip`, `x-payment`, `connection`, `upgrade`). Up to 32 headers, 4 KB of combined value bytes.\n * Pay-and-fetch any URL (x402/MPP proxy)\n */\n async fetch(requestParameters: FetchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchResponse> {\n const response = await this.fetchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n PaymentListResponse,\n PaymentResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n PaymentListResponseFromJSON,\n PaymentListResponseToJSON,\n PaymentResponseFromJSON,\n PaymentResponseToJSON,\n} from '../models/index';\n\nexport interface GetPaymentRequest {\n id: number;\n}\n\nexport interface ListPaymentsRequest {\n page?: number;\n perPage?: number;\n}\n\n/**\n *\n */\nexport class PaymentsApi extends runtime.BaseAPI {\n\n /**\n * Get payment details\n */\n async getPaymentRaw(requestParameters: GetPaymentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getPayment().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/payments/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PaymentResponseFromJSON(jsonValue));\n }\n\n /**\n * Get payment details\n */\n async getPayment(requestParameters: GetPaymentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentResponse> {\n const response = await this.getPaymentRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * List payments\n */\n async listPaymentsRaw(requestParameters: ListPaymentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['perPage'] != null) {\n queryParameters['per_page'] = requestParameters['perPage'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/payments`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PaymentListResponseFromJSON(jsonValue));\n }\n\n /**\n * List payments\n */\n async listPayments(requestParameters: ListPaymentsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentListResponse> {\n const response = await this.listPaymentsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n GetPurchaseIdParameter,\n InsufficientScopeResponse,\n PurchaseListResponse,\n PurchaseResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n GetPurchaseIdParameterFromJSON,\n GetPurchaseIdParameterToJSON,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseToJSON,\n PurchaseListResponseFromJSON,\n PurchaseListResponseToJSON,\n PurchaseResponseFromJSON,\n PurchaseResponseToJSON,\n} from '../models/index';\n\nexport interface GetPurchaseRequest {\n id: GetPurchaseIdParameter;\n}\n\nexport interface ListPurchasesRequest {\n page?: number;\n perPage?: number;\n}\n\n/**\n *\n */\nexport class PurchasesApi extends runtime.BaseAPI {\n\n /**\n * Get a buyer purchase\n */\n async getPurchaseRaw(requestParameters: GetPurchaseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PurchaseResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getPurchase().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/purchases/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PurchaseResponseFromJSON(jsonValue));\n }\n\n /**\n * Get a buyer purchase\n */\n async getPurchase(requestParameters: GetPurchaseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PurchaseResponse> {\n const response = await this.getPurchaseRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns the authenticated buyer\\'s signing and settlement ledger. Unlike `/api/v1/payments`, this endpoint is User-scoped and backed by `signed_events`, so rejected and pending attempts are included. Scoped to the buyer\\'s own merchant spend, matching the dashboard\\'s Purchases page. Internal signings are excluded: historical refill self-transfers (`rebalance`) and operator signings (`manual`) are not payments the buyer made and never appear here.\n * List buyer purchases\n */\n async listPurchasesRaw(requestParameters: ListPurchasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PurchaseListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['perPage'] != null) {\n queryParameters['per_page'] = requestParameters['perPage'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/purchases`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PurchaseListResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the authenticated buyer\\'s signing and settlement ledger. Unlike `/api/v1/payments`, this endpoint is User-scoped and backed by `signed_events`, so rejected and pending attempts are included. Scoped to the buyer\\'s own merchant spend, matching the dashboard\\'s Purchases page. Internal signings are excluded: historical refill self-transfers (`rebalance`) and operator signings (`manual`) are not payments the buyer made and never appear here.\n * List buyer purchases\n */\n async listPurchases(requestParameters: ListPurchasesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PurchaseListResponse> {\n const response = await this.listPurchasesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n ResourceEnrollmentRequest,\n ResourceEnrollmentResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n ResourceEnrollmentRequestFromJSON,\n ResourceEnrollmentRequestToJSON,\n ResourceEnrollmentResponseFromJSON,\n ResourceEnrollmentResponseToJSON,\n} from '../models/index';\n\nexport interface EnrollResourceRequest {\n resourceEnrollmentRequest: ResourceEnrollmentRequest;\n}\n\n/**\n *\n */\nexport class ResourcesApi extends runtime.BaseAPI {\n\n /**\n * Lets an unauthenticated agent (or its operator) self-enroll a Resource as a \\\"ghost\\\" (no owning provider). The server generates the `slug` and a single-use `claim_token`; the response also carries a `claim_url` the agent hands to its human controller to claim the resource from the dashboard. Client-supplied `slug` and `category` are silently ignored: slugs are server-generated from `name` (so callers cannot squat on reserved names), and `category` is a post-claim concern set by a real human. Rate-limited to 10 enrollments/hour/IP.\n * Self-enroll a ghost resource (public, no auth)\n */\n async enrollResourceRaw(requestParameters: EnrollResourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ResourceEnrollmentResponse>> {\n if (requestParameters['resourceEnrollmentRequest'] == null) {\n throw new runtime.RequiredError(\n 'resourceEnrollmentRequest',\n 'Required parameter \"resourceEnrollmentRequest\" was null or undefined when calling enrollResource().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/resources/enroll`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ResourceEnrollmentRequestToJSON(requestParameters['resourceEnrollmentRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ResourceEnrollmentResponseFromJSON(jsonValue));\n }\n\n /**\n * Lets an unauthenticated agent (or its operator) self-enroll a Resource as a \\\"ghost\\\" (no owning provider). The server generates the `slug` and a single-use `claim_token`; the response also carries a `claim_url` the agent hands to its human controller to claim the resource from the dashboard. Client-supplied `slug` and `category` are silently ignored: slugs are server-generated from `name` (so callers cannot squat on reserved names), and `category` is a post-claim concern set by a real human. Rate-limited to 10 enrollments/hour/IP.\n * Self-enroll a ghost resource (public, no auth)\n */\n async enrollResource(requestParameters: EnrollResourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ResourceEnrollmentResponse> {\n const response = await this.enrollResourceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents`, `/api/v1/webhook_endpoints`, and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.1\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n InsufficientScopeResponse,\n RateLimitResponse,\n SearchErrorResponse,\n SearchRequest,\n SearchResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseToJSON,\n RateLimitResponseFromJSON,\n RateLimitResponseToJSON,\n SearchErrorResponseFromJSON,\n SearchErrorResponseToJSON,\n SearchRequestFromJSON,\n SearchRequestToJSON,\n SearchResponseFromJSON,\n SearchResponseToJSON,\n} from '../models/index';\n\nexport interface SearchOperationRequest {\n searchRequest: SearchRequest;\n}\n\n/**\n *\n */\nexport class SearchApi extends runtime.BaseAPI {\n\n /**\n * Semantic search over the Weft index of paid agent resources. The request body is the weft-search-platform `/v1/search` contract: a free-text `query`, optional `max_results`, and optional structured `filters` (price / price_atomic / type / protocol — the canonical FilterSpec v1 vocabulary, vendored verbatim from the platform). Price is a dual representation of one constraint: `price` in USD decimal strings (the reasoning form) XOR `price_atomic` in integer micro-USD (the settlement form) — mutually exclusive, set at most one. Account-scoped: the bearer token must be a buyer-scoped API key, an OAuth token carrying `search`, or a pending or claimed `wbt_*` bootstrap bearer. Pending bootstrap access uses an anonymous bootstrap identity; after claim, the promoted bearer uses its bound User. Rejection, cancellation, expiry, and revocation end bootstrap search. Bootstrap search is limited to 60 requests per credential and 120 per IP each hour before native credential promotion. Response negotiation: `Accept: application/json` (default) returns the structured envelope; `Accept: text/markdown` returns a rendered Markdown digest of the same results — useful for piping into a chat UI or LLM prompt. Compact view: send `view: \\\"compact\\\"` to get the agent view of the hosted MCP `weft_search` tool. Each result is a small contract for the next paid call (below 2,000 JSON bytes): typed inputs, the request recipe, one access method with price, attribution, a ready `next_call` to `POST /api/v1/fetch` when the request is determined, and the authenticated `contract_url` for the full contract. Use it when you give search results to a model. The compact rows are in `compact_results`; `results` is empty. The compact view is JSON only and needs the curated search backend.\n * Search the Weft index\n */\n async searchRaw(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchResponse>> {\n if (requestParameters['searchRequest'] == null) {\n throw new runtime.RequiredError(\n 'searchRequest',\n 'Required parameter \"searchRequest\" was null or undefined when calling search().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/search`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: SearchRequestToJSON(requestParameters['searchRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => SearchResponseFromJSON(jsonValue));\n }\n\n /**\n * Semantic search over the Weft index of paid agent resources. The request body is the weft-search-platform `/v1/search` contract: a free-text `query`, optional `max_results`, and optional structured `filters` (price / price_atomic / type / protocol — the canonical FilterSpec v1 vocabulary, vendored verbatim from the platform). Price is a dual representation of one constraint: `price` in USD decimal strings (the reasoning form) XOR `price_atomic` in integer micro-USD (the settlement form) — mutually exclusive, set at most one. Account-scoped: the bearer token must be a buyer-scoped API key, an OAuth token carrying `search`, or a pending or claimed `wbt_*` bootstrap bearer. Pending bootstrap access uses an anonymous bootstrap identity; after claim, the promoted bearer uses its bound User. Rejection, cancellation, expiry, and revocation end bootstrap search. Bootstrap search is limited to 60 requests per credential and 120 per IP each hour before native credential promotion. Response negotiation: `Accept: application/json` (default) returns the structured envelope; `Accept: text/markdown` returns a rendered Markdown digest of the same results — useful for piping into a chat UI or LLM prompt. Compact view: send `view: \\\"compact\\\"` to get the agent view of the hosted MCP `weft_search` tool. Each result is a small contract for the next paid call (below 2,000 JSON bytes): typed inputs, the request recipe, one access method with price, attribution, a ready `next_call` to `POST /api/v1/fetch` when the request is determined, and the authenticated `contract_url` for the full contract. Use it when you give search results to a model. The compact rows are in `compact_results`; `results` is empty. The compact view is JSON only and needs the curated search backend.\n * Search the Weft index\n */\n async search(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchResponse> {\n const response = await this.searchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","import { FetchError, ResponseError } from \"./generated\";\n\n/**\n * Whether the failed call can have created a charge. `none` covers this call\n * only: an earlier call under the same idempotency key can still have paid.\n * After `possible`, retry only with the same idempotency key and request.\n */\nexport type WeftCharge = \"none\" | \"possible\";\n\n// Codes Weft raises before it signs a payment in that call. Owner: the\n// weft-app raise sites listed in the conformance README.\nconst PRE_SIGN_FETCH_CODES = new Set([\n \"EXCEEDED_MAX_COST\",\n \"MERCHANT_RETURNED_NON_402\",\n \"INSUFFICIENT_BALANCE\",\n \"DENYLISTED_RECIPIENT\",\n \"WALLET_ENVIRONMENT_MISMATCH\",\n \"UNSUPPORTED_ASSET\",\n \"INVALID_REQUEST\",\n \"UNKNOWN_PARAMETER\",\n \"INVALID_URL\",\n \"INVALID_MAX_COST_USD\",\n \"UNSUPPORTED_METHOD\",\n \"INVALID_BODY\",\n \"INVALID_HEADERS\",\n \"INVALID_IDEMPOTENCY_KEY\",\n]);\n\nfunction fetchCharge(status: number, code: string): WeftCharge {\n const preSign =\n PRE_SIGN_FETCH_CODES.has(code) || code.startsWith(\"POLICY_VIOLATION_\");\n return status >= 400 && status < 500 && preSign ? \"none\" : \"possible\";\n}\n\nexport interface WeftErrorOptions {\n status: number;\n code: string;\n message: string;\n requestId?: string;\n retryable: boolean;\n details?: unknown;\n charge?: WeftCharge;\n}\n\nexport class WeftError extends Error {\n readonly status: number;\n readonly code: string;\n readonly requestId?: string;\n readonly retryable: boolean;\n readonly details?: unknown;\n readonly charge: WeftCharge;\n\n constructor(options: WeftErrorOptions) {\n super(options.message);\n this.name = \"WeftError\";\n this.status = options.status;\n this.code = options.code;\n this.requestId = options.requestId;\n this.retryable = options.retryable;\n this.details = options.details;\n // Fail closed: an error built without a charge may follow a payment.\n this.charge = options.charge ?? \"possible\";\n }\n}\n\nexport async function normalizeWeftError(\n error: unknown,\n paid = false,\n): Promise<unknown> {\n if (error instanceof FetchError) {\n // No HTTP response exists, so the outcome is uncertain. Callers retry\n // with backoff and, for paid fetch, reuse the same idempotency key.\n return new WeftError({\n status: 0,\n code: \"NETWORK_ERROR\",\n message: `Network failure before a Weft API response: ${\n error.cause?.message ?? error.message\n }`,\n retryable: true,\n details: error.cause,\n charge: paid ? \"possible\" : \"none\",\n });\n }\n if (!(error instanceof ResponseError)) {\n if (!paid || error instanceof WeftError) return error;\n // Weft answered 2xx, so the fetch most likely paid, but the body did not decode.\n return new WeftError({\n status: 0,\n code: \"RESPONSE_DECODE_ERROR\",\n message: \"Weft API returned a fetch response that could not be decoded\",\n // A replay returns the same body; reconcile instead of retrying.\n retryable: false,\n details: error,\n charge: \"possible\",\n });\n }\n\n let details: unknown;\n try {\n details = await error.response.json();\n } catch {\n details = undefined;\n }\n const body = details as\n | {\n error?:\n { code?: string; message?: string; request_id?: string } | string;\n code?: string;\n message?: string;\n request_id?: string;\n }\n | undefined;\n const nested = typeof body?.error === \"object\" ? body.error : undefined;\n const status = error.response.status;\n const code =\n nested?.code ??\n body?.code ??\n (typeof body?.error === \"string\" ? body.error : `HTTP_${status}`);\n\n return new WeftError({\n status,\n code,\n message:\n nested?.message ?? body?.message ?? `Weft API returned HTTP ${status}`,\n requestId:\n nested?.request_id ??\n body?.request_id ??\n error.response.headers.get(\"x-request-id\") ??\n undefined,\n retryable: status === 429 || status >= 500,\n details,\n charge: paid ? fetchCharge(status, String(code)) : \"none\",\n });\n}\n","import {\n AccountApi,\n BalanceApi,\n Configuration,\n FetchApi,\n PurchasesApi,\n SearchApi,\n type FetchAPI,\n type FetchRequest,\n type FetchResponse,\n type MeResponse,\n type BalanceResponse,\n type PurchaseListResponse,\n type PurchaseResponse,\n type SearchRequest,\n type SearchResponse,\n} from \"./generated\";\nimport { normalizeWeftError } from \"./error\";\n\nexport interface WeftClientOptions {\n apiKey: string;\n baseUrl?: string;\n fetchApi?: FetchAPI;\n}\n\nexport interface WeftOAuthClientOptions {\n accessToken: string;\n baseUrl?: string;\n fetchApi?: FetchAPI;\n}\n\nexport type PaidFetchRequest = FetchRequest & { maxCostUsd: string };\n\nexport interface FetchOptions {\n idempotencyKey: string;\n}\n\nexport interface PurchaseListOptions {\n page?: number;\n perPage?: number;\n}\n\nfunction withoutTrailingSlashes(value: string): string {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 47) {\n end -= 1;\n }\n return value.slice(0, end);\n}\n\n/**\n * Stable buyer-facing façade over the generated API clients.\n *\n * The generated clients remain exported for advanced use; this class is the\n * small surface agents and applications should normally build against.\n */\nexport class WeftClient {\n private readonly account: AccountApi;\n private readonly balances: BalanceApi;\n private readonly searches: SearchApi;\n private readonly fetches: FetchApi;\n private readonly purchaseHistory: PurchasesApi;\n\n constructor(options: WeftClientOptions | WeftOAuthClientOptions) {\n const apiKey = \"apiKey\" in options ? options.apiKey : undefined;\n const accessToken =\n \"accessToken\" in options ? options.accessToken : undefined;\n if (apiKey !== undefined && accessToken !== undefined) {\n throw new Error(\"apiKey and accessToken are mutually exclusive\");\n }\n const credential = (apiKey ?? accessToken)?.trim();\n if (!credential) {\n throw new Error(\n apiKey !== undefined\n ? \"apiKey is required\"\n : accessToken !== undefined\n ? \"accessToken is required\"\n : \"apiKey or accessToken is required\",\n );\n }\n\n const configuration = new Configuration({\n accessToken: credential,\n basePath: withoutTrailingSlashes(\n options.baseUrl ?? \"https://weft.network\",\n ),\n fetchApi: options.fetchApi,\n });\n\n this.account = new AccountApi(configuration);\n this.balances = new BalanceApi(configuration);\n this.searches = new SearchApi(configuration);\n this.fetches = new FetchApi(configuration);\n this.purchaseHistory = new PurchasesApi(configuration);\n }\n\n private async call<T>(operation: () => Promise<T>, paid = false): Promise<T> {\n try {\n return await operation();\n } catch (error) {\n throw await normalizeWeftError(error, paid);\n }\n }\n\n me(): Promise<MeResponse> {\n return this.call(() => this.account.getMe());\n }\n\n balance(): Promise<BalanceResponse> {\n return this.call(() => this.balances.getBalance());\n }\n\n search(request: SearchRequest): Promise<SearchResponse> {\n return this.call(() => this.searches.search({ searchRequest: request }));\n }\n\n fetch(\n request: PaidFetchRequest,\n options: FetchOptions,\n ): Promise<FetchResponse> {\n if (!request.maxCostUsd.trim()) {\n throw new Error(\"maxCostUsd is required\");\n }\n if (!options.idempotencyKey.trim()) {\n throw new Error(\"idempotencyKey is required\");\n }\n // Weft's limit. Checked here so a bad key never looks like a paid failure.\n if (!/^[!-~]{1,255}$/.test(options.idempotencyKey)) {\n throw new Error(\n \"idempotencyKey must be 1-255 visible ASCII characters without spaces\",\n );\n }\n\n // Generated FetchRequestBodyToJSON replaces an object body with {}.\n // The server treats JSON.stringify(body) as the same forwarded string.\n const fetchRequest =\n request.body != null && typeof request.body === \"object\"\n ? { ...request, body: JSON.stringify(request.body) }\n : request;\n\n return this.call(\n () =>\n this.fetches.fetch({\n fetchRequest,\n idempotencyKey: options.idempotencyKey,\n }),\n true,\n ).then(async (response: FetchResponse | null) => {\n // A 2xx without a fetch result body: the fetch most likely paid.\n if (typeof response?.status !== \"number\") {\n throw await normalizeWeftError(\n new Error(\"unreadable fetch response\"),\n true,\n );\n }\n return response;\n });\n }\n\n purchases(options: PurchaseListOptions = {}): Promise<PurchaseListResponse> {\n return this.call(() => this.purchaseHistory.listPurchases(options));\n }\n\n purchase(id: number): Promise<PurchaseResponse> {\n return this.call(() => this.purchaseHistory.getPurchase({ id }));\n }\n}\n","export * from \"@x402/core\";\nexport * from \"@x402/core/types\";\n\nexport { X402_FACILITATOR_URL, createFacilitatorClient } from \"./client\";\nexport type { WeftFacilitatorConfig } from \"./client\";\n\nexport { getFeeInfo, invalidateFeeCache } from \"./fee\";\nexport type { FeeInfo, FeeCacheConfig } from \"./fee\";\n","import { HTTPFacilitatorClient, FacilitatorConfig } from \"@x402/core/server\";\nimport type {\n PaymentPayload,\n PaymentRequirements,\n SettleResponse,\n} from \"@x402/core/types\";\n\nexport const FACILITATOR_UNAVAILABLE_ERROR =\n \"weft:facilitator-settle-unavailable\";\n\nexport const X402_FACILITATOR_URL = \"https://x402.weft.network\";\nexport const X402_FACILITATOR_URL_ENV = \"X402_FACILITATOR_URL\";\n\nexport interface WeftFacilitatorConfig {\n url?: string;\n createAuthHeaders?: FacilitatorConfig[\"createAuthHeaders\"];\n}\n\nclass FacilitatorUnavailableError extends Error {\n readonly statusCode = 503;\n\n constructor() {\n super(FACILITATOR_UNAVAILABLE_ERROR);\n this.name = \"FacilitatorUnavailableError\";\n }\n}\n\nfunction isUnavailableSettleError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n const candidate = error as Error & Record<string, unknown>;\n return (\n candidate.name === \"SettleError\" &&\n candidate.statusCode === 503 &&\n \"errorReason\" in candidate &&\n \"errorMessage\" in candidate &&\n \"payer\" in candidate &&\n \"transaction\" in candidate &&\n \"network\" in candidate &&\n !(candidate.errorReason === \"settlement_pending\" && candidate.transaction)\n );\n}\n\nclass WeftHTTPFacilitatorClient extends HTTPFacilitatorClient {\n override async settle(\n paymentPayload: PaymentPayload,\n paymentRequirements: PaymentRequirements,\n ): Promise<SettleResponse> {\n try {\n return await super.settle(paymentPayload, paymentRequirements);\n } catch (error) {\n if (isUnavailableSettleError(error)) {\n throw new FacilitatorUnavailableError();\n }\n throw error;\n }\n }\n}\n\nexport function validateUrl(url: string): void {\n if (!url || url.trim() === \"\") {\n throw new Error(\"Invalid URL: URL cannot be empty\");\n }\n\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n throw new Error(\n `Invalid URL format: URL must start with http:// or https://, got: ${url}`,\n );\n }\n}\n\nexport function resolveUrl(config?: WeftFacilitatorConfig): string {\n if (config?.url) {\n return config.url;\n }\n\n if (\n typeof process !== \"undefined\" &&\n process.env?.[X402_FACILITATOR_URL_ENV]\n ) {\n return process.env[X402_FACILITATOR_URL_ENV]!;\n }\n\n return X402_FACILITATOR_URL;\n}\n\ntype AuthHeadersByPath = Awaited<\n ReturnType<NonNullable<FacilitatorConfig[\"createAuthHeaders\"]>>\n>;\n\n/**\n * Reject a flat headers object the way `@x402/core` itself would.\n *\n * Upstream's `HTTPFacilitatorClient` throws when `createAuthHeaders` returns\n * `{ Authorization: ... }` instead of `{ supported: { Authorization: ... } }`,\n * because silently dropping auth on every request is worse than failing loud.\n * Merging the handshake's own `supported` headers in would mask that check —\n * the merged object always has a path key — so the check runs here first,\n * with the same failure mode a misconfigured seller sees today.\n *\n * @param headers - What the seller's `createAuthHeaders` returned\n */\nfunction assertPathKeyedAuthHeaders(headers: AuthHeadersByPath): void {\n const isHeaderObject = (value: unknown): boolean =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\n const hasPathKey = [\"verify\", \"settle\", \"supported\", \"bazaar\"].some((key) =>\n isHeaderObject(headers[key as keyof AuthHeadersByPath]),\n );\n const looksFlat =\n !hasPathKey &&\n Object.values(headers).some((value) => !isHeaderObject(value));\n\n if (looksFlat) {\n throw new Error(\n \"createAuthHeaders must return an object keyed by facilitator path, \" +\n 'e.g. { verify: { Authorization: \"...\" }, settle: { ... }, ' +\n \"supported: { ... } }, but received a flat headers object.\",\n );\n }\n}\n\n/**\n * Merge SDK-derived headers under a seller's, case-insensitively, seller wins.\n *\n * Header names are case-insensitive, but object keys are not: a plain spread\n * would keep a derived `Authorization` and a seller `authorization` as two\n * keys, and the HTTP layer folds those into one comma-joined value — a\n * garbled credential. So a seller header replaces any derived header of the\n * same name whatever its case, and the seller's spelling is the one sent.\n *\n * @param derived - Headers the SDK derived from config for one path\n * @param seller - The seller's own headers for that path, if any\n * @returns The merged headers, the seller's winning on conflict\n */\nfunction mergeSellerWins(\n derived: Record<string, string>,\n seller: Record<string, string> | undefined,\n): Record<string, string> {\n const merged: Record<string, string> = { ...derived };\n for (const [name, value] of Object.entries(seller ?? {})) {\n for (const existing of Object.keys(merged)) {\n if (existing.toLowerCase() === name.toLowerCase()) {\n delete merged[existing];\n }\n }\n merged[name] = value;\n }\n return merged;\n}\n\nexport function createFacilitatorClient(\n config?: WeftFacilitatorConfig,\n weftAuthHeaders?: AuthHeadersByPath,\n): HTTPFacilitatorClient {\n const url = resolveUrl(config);\n validateUrl(url);\n\n const sellerCreateAuthHeaders = config?.createAuthHeaders;\n\n // Only the paths the SDK actually derived headers for — `supported` always,\n // `settle` and `verify` when an apiKey was configured. Empty paths are\n // dropped so a caller with no derived headers is byte-identical to passing\n // none.\n const derivedByPath = Object.entries(weftAuthHeaders ?? {}).filter(\n ([, headers]) => headers !== undefined && Object.keys(headers).length > 0,\n ) as Array<[keyof AuthHeadersByPath, Record<string, string>]>;\n\n const createAuthHeaders =\n derivedByPath.length > 0\n ? async (): Promise<AuthHeadersByPath> => {\n const sellerHeaders = sellerCreateAuthHeaders\n ? await sellerCreateAuthHeaders()\n : undefined;\n if (sellerHeaders) {\n assertPathKeyedAuthHeaders(sellerHeaders);\n }\n // The seller's own headers win on conflict: an explicit\n // createAuthHeaders is a more deliberate act than `apiKey`.\n const merged: AuthHeadersByPath = { ...sellerHeaders };\n for (const [path, derived] of derivedByPath) {\n merged[path] = mergeSellerWins(derived, sellerHeaders?.[path]);\n }\n return merged;\n }\n : sellerCreateAuthHeaders;\n\n return new WeftHTTPFacilitatorClient({\n url,\n createAuthHeaders,\n });\n}\n","import { createFacilitatorClient, WeftFacilitatorConfig } from \"./client\";\n\nexport interface FeeInfo {\n amount: string;\n asset: string;\n network: string;\n}\n\nexport interface FeeCacheConfig {\n ttl?: number;\n}\n\ninterface FeeCache {\n feeInfo: FeeInfo;\n fetchedAt: number;\n ttl: number;\n}\n\nconst DEFAULT_CACHE_TTL = 5 * 60 * 1000;\n\nlet feeCache: FeeCache | null = null;\n\nexport function invalidateFeeCache(): void {\n feeCache = null;\n}\n\nfunction isCacheValid(): boolean {\n if (!feeCache) return false;\n const now = Date.now();\n return now - feeCache.fetchedAt < feeCache.ttl;\n}\n\nexport async function getFeeInfo(\n config?: WeftFacilitatorConfig,\n cacheConfig?: FeeCacheConfig,\n): Promise<FeeInfo> {\n if (isCacheValid() && feeCache) {\n return feeCache.feeInfo;\n }\n\n const client = createFacilitatorClient(config);\n const supported = await client.getSupported();\n\n const fee = (supported as { fee?: FeeInfo }).fee;\n if (!fee) {\n throw new Error(\"Fee information not found in /supported response\");\n }\n\n if (typeof fee.amount !== \"string\") {\n throw new Error(\"Invalid fee structure: amount must be a string\");\n }\n if (typeof fee.asset !== \"string\") {\n throw new Error(\"Invalid fee structure: asset must be a string\");\n }\n if (typeof fee.network !== \"string\") {\n throw new Error(\"Invalid fee structure: network must be a string\");\n }\n\n const feeInfo: FeeInfo = {\n amount: fee.amount,\n asset: fee.asset,\n network: fee.network,\n };\n\n feeCache = {\n feeInfo,\n fetchedAt: Date.now(),\n ttl: cacheConfig?.ttl ?? DEFAULT_CACHE_TTL,\n };\n\n return feeInfo;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/generated/runtime.ts","../src/generated/models/AccountBootstrapApproval.ts","../src/generated/models/AccountBootstrapCreatedApproval.ts","../src/generated/models/AccountBootstrapCreated.ts","../src/generated/models/AccountBootstrapCreatedResponse.ts","../src/generated/models/AccountBootstrapRequest.ts","../src/generated/models/AccountBootstrapStatus.ts","../src/generated/models/AccountBootstrapStatusResponse.ts","../src/generated/models/MeApiKeyCreator.ts","../src/generated/models/MeApiKey.ts","../src/generated/models/AccountDetails.ts","../src/generated/models/ApiKey.ts","../src/generated/models/ApiKeyCreated.ts","../src/generated/models/ApiKeyCreatedResponse.ts","../src/generated/models/Pagination.ts","../src/generated/models/ApiKeyListResponse.ts","../src/generated/models/User.ts","../src/generated/models/AuthResponseData.ts","../src/generated/models/AuthResponse.ts","../src/generated/models/Wallet.ts","../src/generated/models/PromoBalance.ts","../src/generated/models/SpendingPolicy.ts","../src/generated/models/BalanceResponse.ts","../src/generated/models/ConfirmRequest.ts","../src/generated/models/CreateApiKeyRequest.ts","../src/generated/models/ResourceStats.ts","../src/generated/models/EnrolledResource.ts","../src/generated/models/ErrorResponse.ts","../src/generated/models/FetchBalanceSnapshot.ts","../src/generated/models/FetchErrorResponse.ts","../src/generated/models/InsufficientScopeResponse.ts","../src/generated/models/Fetch403Response.ts","../src/generated/models/FetchRequestBody.ts","../src/generated/models/FetchRequest.ts","../src/generated/models/FetchResponse.ts","../src/generated/models/GetPurchaseIdParameter.ts","../src/generated/models/PrincipalWallet.ts","../src/generated/models/UserPrincipal.ts","../src/generated/models/MeResponseData.ts","../src/generated/models/MeResponse.ts","../src/generated/models/MessageResponseData.ts","../src/generated/models/MessageResponse.ts","../src/generated/models/ModelError.ts","../src/generated/models/PasswordResetRequest.ts","../src/generated/models/PasswordUpdateRequest.ts","../src/generated/models/Payment.ts","../src/generated/models/PaymentListResponse.ts","../src/generated/models/PaymentResponse.ts","../src/generated/models/PurchaseArtifact.ts","../src/generated/models/Purchase.ts","../src/generated/models/PurchaseListResponse.ts","../src/generated/models/PurchaseResponse.ts","../src/generated/models/RateLimitResponse.ts","../src/generated/models/ResendConfirmationRequest.ts","../src/generated/models/ResourceEnrollmentRequest.ts","../src/generated/models/ResourceEnrollmentResponse.ts","../src/generated/models/SearchWeftFetchCompatibility.ts","../src/generated/models/SearchAccessMethod.ts","../src/generated/models/SearchCapabilityRef.ts","../src/generated/models/SearchCompactAccessPrice.ts","../src/generated/models/SearchCompactAccess.ts","../src/generated/models/SearchCompactNextCall.ts","../src/generated/models/SearchCompactResultBlockedScopesInner.ts","../src/generated/models/SearchCompactResultOperation.ts","../src/generated/models/SearchHelperDocs.ts","../src/generated/models/SearchCompactResultAttribution.ts","../src/generated/models/SearchCompactResultProvider.ts","../src/generated/models/SearchCompactResult.ts","../src/generated/models/SearchCuratedCallability.ts","../src/generated/models/SearchCuratedExecution.ts","../src/generated/models/SearchCuratedOperation.ts","../src/generated/models/SearchCuratedService.ts","../src/generated/models/SearchCuratedSource.ts","../src/generated/models/SearchEndpointCallInputSchema.ts","../src/generated/models/SearchEndpointCall.ts","../src/generated/models/SearchPaymentOffer.ts","../src/generated/models/SearchEndpointPrice.ts","../src/generated/models/SearchEndpointHit.ts","../src/generated/models/SearchErrorResponse.ts","../src/generated/models/SearchExecutionModeFilter.ts","../src/generated/models/SearchProtocolFilter.ts","../src/generated/models/SearchMethodFilter.ts","../src/generated/models/SearchResourceTypeFilter.ts","../src/generated/models/SearchPriceUsdFilter.ts","../src/generated/models/SearchPriceAtomicFilter.ts","../src/generated/models/SearchStringSetFilter.ts","../src/generated/models/SearchFilterSpec.ts","../src/generated/models/SearchProviderRef.ts","../src/generated/models/SearchRequest.ts","../src/generated/models/SearchResult.ts","../src/generated/models/SearchResponseWarningsInner.ts","../src/generated/models/SearchResponse.ts","../src/generated/models/SignInRequest.ts","../src/generated/models/SignUpRequest.ts","../src/generated/apis/APIKeysApi.ts","../src/generated/apis/AccountApi.ts","../src/generated/apis/AgentBootstrapApi.ts","../src/generated/apis/AuthApi.ts","../src/generated/apis/BalanceApi.ts","../src/generated/apis/DocumentationApi.ts","../src/generated/apis/FetchApi.ts","../src/generated/apis/PaymentsApi.ts","../src/generated/apis/PurchasesApi.ts","../src/generated/apis/ResourcesApi.ts","../src/generated/apis/SearchApi.ts","../src/generated/apis/WebhooksApi.ts","../src/error.ts","../src/client.ts","../src/facilitator/index.ts","../src/facilitator/client.ts","../src/facilitator/fee.ts"],"sourcesContent":["export * from \"./generated\";\nexport * from \"./generated/apis\";\nexport * from \"./generated/models\";\n\nexport * from \"./client\";\nexport * from \"./error\";\nexport * from \"./facilitator\";\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://weft.network\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | Promise<string> | ((name: string) => string | Promise<string>); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string | Promise<string>) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n let body: any;\n if (isFormData(overriddenInit.body)\n || (overriddenInit.body instanceof URLSearchParams)\n || isBlob(overriddenInit.body)) {\n body = overriddenInit.body;\n } else if (this.isJsonMime(headers['Content-Type'])) {\n body = JSON.stringify(overriddenInit.body);\n } else {\n body = overriddenInit.body;\n }\n\n const init: RequestInit = {\n ...overriddenInit,\n body\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n const result: { [key: string]: any } = {};\n for (const key of Object.keys(data)) {\n result[key] = fn(data[key]);\n }\n return result;\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface AccountBootstrapApproval\n */\nexport interface AccountBootstrapApproval {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapApproval\n */\n method: AccountBootstrapApprovalMethodEnum;\n /**\n *\n * @type {number}\n * @memberof AccountBootstrapApproval\n */\n expiresIn: number;\n /**\n * Minimum status polling interval in seconds.\n * @type {number}\n * @memberof AccountBootstrapApproval\n */\n interval: number;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapApprovalMethodEnum = {\n EmailLink: 'email_link'\n} as const;\nexport type AccountBootstrapApprovalMethodEnum = typeof AccountBootstrapApprovalMethodEnum[keyof typeof AccountBootstrapApprovalMethodEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapApproval interface.\n */\nexport function instanceOfAccountBootstrapApproval(value: object): value is AccountBootstrapApproval {\n if (!('method' in value) || value['method'] === undefined) return false;\n if (!('expiresIn' in value) || value['expiresIn'] === undefined) return false;\n if (!('interval' in value) || value['interval'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapApprovalFromJSON(json: any): AccountBootstrapApproval {\n return AccountBootstrapApprovalFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapApprovalFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapApproval {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'],\n 'expiresIn': json['expires_in'],\n 'interval': json['interval'],\n };\n}\n\nexport function AccountBootstrapApprovalToJSON(json: any): AccountBootstrapApproval {\n return AccountBootstrapApprovalToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapApprovalToJSONTyped(value?: AccountBootstrapApproval | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'expires_in': value['expiresIn'],\n 'interval': value['interval'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface AccountBootstrapCreatedApproval\n */\nexport interface AccountBootstrapCreatedApproval {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapCreatedApproval\n */\n method: AccountBootstrapCreatedApprovalMethodEnum;\n /**\n *\n * @type {number}\n * @memberof AccountBootstrapCreatedApproval\n */\n expiresIn: number;\n /**\n * Minimum status polling interval in seconds.\n * @type {number}\n * @memberof AccountBootstrapCreatedApproval\n */\n interval: number;\n /**\n * Show this code to the human; approval requires a matching normalized code.\n * @type {string}\n * @memberof AccountBootstrapCreatedApproval\n */\n userCode: string;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapCreatedApprovalMethodEnum = {\n EmailLink: 'email_link'\n} as const;\nexport type AccountBootstrapCreatedApprovalMethodEnum = typeof AccountBootstrapCreatedApprovalMethodEnum[keyof typeof AccountBootstrapCreatedApprovalMethodEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapCreatedApproval interface.\n */\nexport function instanceOfAccountBootstrapCreatedApproval(value: object): value is AccountBootstrapCreatedApproval {\n if (!('method' in value) || value['method'] === undefined) return false;\n if (!('expiresIn' in value) || value['expiresIn'] === undefined) return false;\n if (!('interval' in value) || value['interval'] === undefined) return false;\n if (!('userCode' in value) || value['userCode'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapCreatedApprovalFromJSON(json: any): AccountBootstrapCreatedApproval {\n return AccountBootstrapCreatedApprovalFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedApprovalFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapCreatedApproval {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'],\n 'expiresIn': json['expires_in'],\n 'interval': json['interval'],\n 'userCode': json['user_code'],\n };\n}\n\nexport function AccountBootstrapCreatedApprovalToJSON(json: any): AccountBootstrapCreatedApproval {\n return AccountBootstrapCreatedApprovalToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedApprovalToJSONTyped(value?: AccountBootstrapCreatedApproval | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'expires_in': value['expiresIn'],\n 'interval': value['interval'],\n 'user_code': value['userCode'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapCreatedApproval } from './AccountBootstrapCreatedApproval';\nimport {\n AccountBootstrapCreatedApprovalFromJSON,\n AccountBootstrapCreatedApprovalFromJSONTyped,\n AccountBootstrapCreatedApprovalToJSON,\n AccountBootstrapCreatedApprovalToJSONTyped,\n} from './AccountBootstrapCreatedApproval';\n\n/**\n *\n * @export\n * @interface AccountBootstrapCreated\n */\nexport interface AccountBootstrapCreated {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapCreated\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapCreated\n */\n status: AccountBootstrapCreatedStatusEnum;\n /**\n *\n * @type {Set<string>}\n * @memberof AccountBootstrapCreated\n */\n capabilities: Set<AccountBootstrapCreatedCapabilitiesEnum>;\n /**\n * Claim-window expiry. Null after the credential is promoted.\n * @type {Date}\n * @memberof AccountBootstrapCreated\n */\n expiresAt: Date | null;\n /**\n *\n * @type {AccountBootstrapCreatedApproval}\n * @memberof AccountBootstrapCreated\n */\n approval: AccountBootstrapCreatedApproval;\n /**\n * Returned once. Store as a secret; it cannot be recovered.\n * @type {string}\n * @memberof AccountBootstrapCreated\n */\n temporaryApiKey: string;\n /**\n * Transitional response field for older CLI releases that use OAuth device exchange.\n * @type {string}\n * @memberof AccountBootstrapCreated\n * @deprecated\n */\n deviceCode?: string;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapCreatedStatusEnum = {\n Pending: 'pending',\n Claimed: 'claimed',\n Rejected: 'rejected',\n Expired: 'expired',\n Consumed: 'consumed',\n Revoked: 'revoked'\n} as const;\nexport type AccountBootstrapCreatedStatusEnum = typeof AccountBootstrapCreatedStatusEnum[keyof typeof AccountBootstrapCreatedStatusEnum];\n\n/**\n * @export\n */\nexport const AccountBootstrapCreatedCapabilitiesEnum = {\n Identity: 'identity',\n Search: 'search',\n Balance: 'balance',\n Fetch: 'fetch',\n Purchases: 'purchases',\n Status: 'status',\n Cancel: 'cancel',\n Revoke: 'revoke'\n} as const;\nexport type AccountBootstrapCreatedCapabilitiesEnum = typeof AccountBootstrapCreatedCapabilitiesEnum[keyof typeof AccountBootstrapCreatedCapabilitiesEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapCreated interface.\n */\nexport function instanceOfAccountBootstrapCreated(value: object): value is AccountBootstrapCreated {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('capabilities' in value) || value['capabilities'] === undefined) return false;\n if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;\n if (!('approval' in value) || value['approval'] === undefined) return false;\n if (!('temporaryApiKey' in value) || value['temporaryApiKey'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapCreatedFromJSON(json: any): AccountBootstrapCreated {\n return AccountBootstrapCreatedFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapCreated {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'status': json['status'],\n 'capabilities': new Set(json['capabilities']),\n 'expiresAt': (json['expires_at'] == null ? null : new Date(json['expires_at'])),\n 'approval': AccountBootstrapCreatedApprovalFromJSON(json['approval']),\n 'temporaryApiKey': json['temporary_api_key'],\n 'deviceCode': json['device_code'] == null ? undefined : json['device_code'],\n };\n}\n\nexport function AccountBootstrapCreatedToJSON(json: any): AccountBootstrapCreated {\n return AccountBootstrapCreatedToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedToJSONTyped(value?: AccountBootstrapCreated | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'status': value['status'],\n 'capabilities': Array.from(value['capabilities'] as Set<any>),\n 'expires_at': value['expiresAt'] == null ? value['expiresAt'] : value['expiresAt'].toISOString(),\n 'approval': AccountBootstrapCreatedApprovalToJSON(value['approval']),\n 'temporary_api_key': value['temporaryApiKey'],\n 'device_code': value['deviceCode'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapCreated } from './AccountBootstrapCreated';\nimport {\n AccountBootstrapCreatedFromJSON,\n AccountBootstrapCreatedFromJSONTyped,\n AccountBootstrapCreatedToJSON,\n AccountBootstrapCreatedToJSONTyped,\n} from './AccountBootstrapCreated';\n\n/**\n *\n * @export\n * @interface AccountBootstrapCreatedResponse\n */\nexport interface AccountBootstrapCreatedResponse {\n /**\n *\n * @type {AccountBootstrapCreated}\n * @memberof AccountBootstrapCreatedResponse\n */\n data: AccountBootstrapCreated;\n}\n\n/**\n * Check if a given object implements the AccountBootstrapCreatedResponse interface.\n */\nexport function instanceOfAccountBootstrapCreatedResponse(value: object): value is AccountBootstrapCreatedResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapCreatedResponseFromJSON(json: any): AccountBootstrapCreatedResponse {\n return AccountBootstrapCreatedResponseFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapCreatedResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': AccountBootstrapCreatedFromJSON(json['data']),\n };\n}\n\nexport function AccountBootstrapCreatedResponseToJSON(json: any): AccountBootstrapCreatedResponse {\n return AccountBootstrapCreatedResponseToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapCreatedResponseToJSONTyped(value?: AccountBootstrapCreatedResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': AccountBootstrapCreatedToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface AccountBootstrapRequest\n */\nexport interface AccountBootstrapRequest {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n agentName: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n hostName?: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapRequest\n */\n reason?: string;\n /**\n * Transitional compatibility for older CLI releases that use OAuth device exchange.\n * @type {string}\n * @memberof AccountBootstrapRequest\n * @deprecated\n */\n oauthClientId?: string;\n /**\n * Transitional compatibility for older CLI releases that use OAuth device exchange.\n * @type {Set<string>}\n * @memberof AccountBootstrapRequest\n */\n requestedScopes?: Set<AccountBootstrapRequestRequestedScopesEnum>;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapRequestRequestedScopesEnum = {\n Balance: 'balance',\n Fetch: 'fetch',\n Search: 'search'\n} as const;\nexport type AccountBootstrapRequestRequestedScopesEnum = typeof AccountBootstrapRequestRequestedScopesEnum[keyof typeof AccountBootstrapRequestRequestedScopesEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapRequest interface.\n */\nexport function instanceOfAccountBootstrapRequest(value: object): value is AccountBootstrapRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('agentName' in value) || value['agentName'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapRequestFromJSON(json: any): AccountBootstrapRequest {\n return AccountBootstrapRequestFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n 'agentName': json['agent_name'],\n 'hostName': json['host_name'] == null ? undefined : json['host_name'],\n 'reason': json['reason'] == null ? undefined : json['reason'],\n 'oauthClientId': json['oauth_client_id'] == null ? undefined : json['oauth_client_id'],\n 'requestedScopes': json['requested_scopes'] == null ? undefined : new Set(json['requested_scopes']),\n };\n}\n\nexport function AccountBootstrapRequestToJSON(json: any): AccountBootstrapRequest {\n return AccountBootstrapRequestToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapRequestToJSONTyped(value?: AccountBootstrapRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n 'agent_name': value['agentName'],\n 'host_name': value['hostName'],\n 'reason': value['reason'],\n 'oauth_client_id': value['oauthClientId'],\n 'requested_scopes': value['requestedScopes'] == null ? undefined : Array.from(value['requestedScopes'] as Set<any>),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapApproval } from './AccountBootstrapApproval';\nimport {\n AccountBootstrapApprovalFromJSON,\n AccountBootstrapApprovalFromJSONTyped,\n AccountBootstrapApprovalToJSON,\n AccountBootstrapApprovalToJSONTyped,\n} from './AccountBootstrapApproval';\n\n/**\n *\n * @export\n * @interface AccountBootstrapStatus\n */\nexport interface AccountBootstrapStatus {\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapStatus\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof AccountBootstrapStatus\n */\n status: AccountBootstrapStatusStatusEnum;\n /**\n *\n * @type {Set<string>}\n * @memberof AccountBootstrapStatus\n */\n capabilities: Set<AccountBootstrapStatusCapabilitiesEnum>;\n /**\n * Claim-window expiry. Null after the credential is promoted.\n * @type {Date}\n * @memberof AccountBootstrapStatus\n */\n expiresAt: Date | null;\n /**\n *\n * @type {AccountBootstrapApproval}\n * @memberof AccountBootstrapStatus\n */\n approval: AccountBootstrapApproval;\n}\n\n\n/**\n * @export\n */\nexport const AccountBootstrapStatusStatusEnum = {\n Pending: 'pending',\n Claimed: 'claimed',\n Rejected: 'rejected',\n Expired: 'expired',\n Consumed: 'consumed',\n Revoked: 'revoked'\n} as const;\nexport type AccountBootstrapStatusStatusEnum = typeof AccountBootstrapStatusStatusEnum[keyof typeof AccountBootstrapStatusStatusEnum];\n\n/**\n * @export\n */\nexport const AccountBootstrapStatusCapabilitiesEnum = {\n Identity: 'identity',\n Search: 'search',\n Balance: 'balance',\n Fetch: 'fetch',\n Purchases: 'purchases',\n Status: 'status',\n Cancel: 'cancel',\n Revoke: 'revoke'\n} as const;\nexport type AccountBootstrapStatusCapabilitiesEnum = typeof AccountBootstrapStatusCapabilitiesEnum[keyof typeof AccountBootstrapStatusCapabilitiesEnum];\n\n\n/**\n * Check if a given object implements the AccountBootstrapStatus interface.\n */\nexport function instanceOfAccountBootstrapStatus(value: object): value is AccountBootstrapStatus {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('capabilities' in value) || value['capabilities'] === undefined) return false;\n if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;\n if (!('approval' in value) || value['approval'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapStatusFromJSON(json: any): AccountBootstrapStatus {\n return AccountBootstrapStatusFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapStatus {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'status': json['status'],\n 'capabilities': new Set(json['capabilities']),\n 'expiresAt': (json['expires_at'] == null ? null : new Date(json['expires_at'])),\n 'approval': AccountBootstrapApprovalFromJSON(json['approval']),\n };\n}\n\nexport function AccountBootstrapStatusToJSON(json: any): AccountBootstrapStatus {\n return AccountBootstrapStatusToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusToJSONTyped(value?: AccountBootstrapStatus | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'status': value['status'],\n 'capabilities': Array.from(value['capabilities'] as Set<any>),\n 'expires_at': value['expiresAt'] == null ? value['expiresAt'] : value['expiresAt'].toISOString(),\n 'approval': AccountBootstrapApprovalToJSON(value['approval']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AccountBootstrapStatus } from './AccountBootstrapStatus';\nimport {\n AccountBootstrapStatusFromJSON,\n AccountBootstrapStatusFromJSONTyped,\n AccountBootstrapStatusToJSON,\n AccountBootstrapStatusToJSONTyped,\n} from './AccountBootstrapStatus';\n\n/**\n *\n * @export\n * @interface AccountBootstrapStatusResponse\n */\nexport interface AccountBootstrapStatusResponse {\n /**\n *\n * @type {AccountBootstrapStatus}\n * @memberof AccountBootstrapStatusResponse\n */\n data: AccountBootstrapStatus;\n}\n\n/**\n * Check if a given object implements the AccountBootstrapStatusResponse interface.\n */\nexport function instanceOfAccountBootstrapStatusResponse(value: object): value is AccountBootstrapStatusResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function AccountBootstrapStatusResponseFromJSON(json: any): AccountBootstrapStatusResponse {\n return AccountBootstrapStatusResponseFromJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountBootstrapStatusResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': AccountBootstrapStatusFromJSON(json['data']),\n };\n}\n\nexport function AccountBootstrapStatusResponseToJSON(json: any): AccountBootstrapStatusResponse {\n return AccountBootstrapStatusResponseToJSONTyped(json, false);\n}\n\nexport function AccountBootstrapStatusResponseToJSONTyped(value?: AccountBootstrapStatusResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': AccountBootstrapStatusToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * The user who minted this API key, surfaced for audit rendering only.\n * `null` if that user has since left the Organization. NEVER use for\n * authorization.\n *\n * @export\n * @interface MeApiKeyCreator\n */\nexport interface MeApiKeyCreator {\n /**\n *\n * @type {number}\n * @memberof MeApiKeyCreator\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof MeApiKeyCreator\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof MeApiKeyCreator\n */\n displayName?: string;\n}\n\n/**\n * Check if a given object implements the MeApiKeyCreator interface.\n */\nexport function instanceOfMeApiKeyCreator(value: object): value is MeApiKeyCreator {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function MeApiKeyCreatorFromJSON(json: any): MeApiKeyCreator {\n return MeApiKeyCreatorFromJSONTyped(json, false);\n}\n\nexport function MeApiKeyCreatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeApiKeyCreator {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'email': json['email'],\n 'displayName': json['display_name'] == null ? undefined : json['display_name'],\n };\n}\n\nexport function MeApiKeyCreatorToJSON(json: any): MeApiKeyCreator {\n return MeApiKeyCreatorToJSONTyped(json, false);\n}\n\nexport function MeApiKeyCreatorToJSONTyped(value?: MeApiKeyCreator | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'email': value['email'],\n 'display_name': value['displayName'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MeApiKeyCreator } from './MeApiKeyCreator';\nimport {\n MeApiKeyCreatorFromJSON,\n MeApiKeyCreatorFromJSONTyped,\n MeApiKeyCreatorToJSON,\n MeApiKeyCreatorToJSONTyped,\n} from './MeApiKeyCreator';\n\n/**\n *\n * @export\n * @interface MeApiKey\n */\nexport interface MeApiKey {\n /**\n *\n * @type {number}\n * @memberof MeApiKey\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof MeApiKey\n */\n name?: string;\n /**\n *\n * @type {Date}\n * @memberof MeApiKey\n */\n createdAt: Date;\n /**\n *\n * @type {Date}\n * @memberof MeApiKey\n */\n lastUsedAt?: Date;\n /**\n *\n * @type {MeApiKeyCreator}\n * @memberof MeApiKey\n */\n createdBy?: MeApiKeyCreator;\n}\n\n/**\n * Check if a given object implements the MeApiKey interface.\n */\nexport function instanceOfMeApiKey(value: object): value is MeApiKey {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n return true;\n}\n\nexport function MeApiKeyFromJSON(json: any): MeApiKey {\n return MeApiKeyFromJSONTyped(json, false);\n}\n\nexport function MeApiKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeApiKey {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'createdAt': (new Date(json['created_at'])),\n 'lastUsedAt': json['last_used_at'] == null ? undefined : (new Date(json['last_used_at'])),\n 'createdBy': json['created_by'] == null ? undefined : MeApiKeyCreatorFromJSON(json['created_by']),\n };\n}\n\nexport function MeApiKeyToJSON(json: any): MeApiKey {\n return MeApiKeyToJSONTyped(json, false);\n}\n\nexport function MeApiKeyToJSONTyped(value?: MeApiKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'created_at': value['createdAt'].toISOString(),\n 'last_used_at': value['lastUsedAt'] == null ? value['lastUsedAt'] : value['lastUsedAt'].toISOString(),\n 'created_by': MeApiKeyCreatorToJSON(value['createdBy']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MeApiKey } from './MeApiKey';\nimport {\n MeApiKeyFromJSON,\n MeApiKeyFromJSONTyped,\n MeApiKeyToJSON,\n MeApiKeyToJSONTyped,\n} from './MeApiKey';\n\n/**\n * The Organization that owns the authenticated API key — the principal\n * in API v1 (the key represents an Org, not a person). `api_key` carries\n * audit info about the key itself, including the user who minted it\n * (`created_by`, which may be `null` if that user has left the Org).\n *\n * @export\n * @interface AccountDetails\n */\nexport interface AccountDetails {\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n principalType: AccountDetailsPrincipalTypeEnum;\n /**\n *\n * @type {number}\n * @memberof AccountDetails\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n slug: string;\n /**\n *\n * @type {string}\n * @memberof AccountDetails\n */\n kind: string;\n /**\n *\n * @type {MeApiKey}\n * @memberof AccountDetails\n */\n apiKey: MeApiKey;\n}\n\n\n/**\n * @export\n */\nexport const AccountDetailsPrincipalTypeEnum = {\n Organization: 'organization'\n} as const;\nexport type AccountDetailsPrincipalTypeEnum = typeof AccountDetailsPrincipalTypeEnum[keyof typeof AccountDetailsPrincipalTypeEnum];\n\n\n/**\n * Check if a given object implements the AccountDetails interface.\n */\nexport function instanceOfAccountDetails(value: object): value is AccountDetails {\n if (!('principalType' in value) || value['principalType'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('slug' in value) || value['slug'] === undefined) return false;\n if (!('kind' in value) || value['kind'] === undefined) return false;\n if (!('apiKey' in value) || value['apiKey'] === undefined) return false;\n return true;\n}\n\nexport function AccountDetailsFromJSON(json: any): AccountDetails {\n return AccountDetailsFromJSONTyped(json, false);\n}\n\nexport function AccountDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountDetails {\n if (json == null) {\n return json;\n }\n return {\n\n 'principalType': json['principal_type'],\n 'id': json['id'],\n 'name': json['name'],\n 'slug': json['slug'],\n 'kind': json['kind'],\n 'apiKey': MeApiKeyFromJSON(json['api_key']),\n };\n}\n\nexport function AccountDetailsToJSON(json: any): AccountDetails {\n return AccountDetailsToJSONTyped(json, false);\n}\n\nexport function AccountDetailsToJSONTyped(value?: AccountDetails | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'principal_type': value['principalType'],\n 'id': value['id'],\n 'name': value['name'],\n 'slug': value['slug'],\n 'kind': value['kind'],\n 'api_key': MeApiKeyToJSON(value['apiKey']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ApiKey\n */\nexport interface ApiKey {\n /**\n *\n * @type {number}\n * @memberof ApiKey\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof ApiKey\n */\n name?: string;\n /**\n * First 16 characters of the key for identification\n * @type {string}\n * @memberof ApiKey\n */\n keyPrefix: string;\n /**\n *\n * @type {Date}\n * @memberof ApiKey\n */\n lastUsedAt?: Date;\n /**\n *\n * @type {Date}\n * @memberof ApiKey\n */\n revokedAt?: Date;\n /**\n *\n * @type {Date}\n * @memberof ApiKey\n */\n createdAt: Date;\n}\n\n/**\n * Check if a given object implements the ApiKey interface.\n */\nexport function instanceOfApiKey(value: object): value is ApiKey {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('keyPrefix' in value) || value['keyPrefix'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyFromJSON(json: any): ApiKey {\n return ApiKeyFromJSONTyped(json, false);\n}\n\nexport function ApiKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKey {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'keyPrefix': json['key_prefix'],\n 'lastUsedAt': json['last_used_at'] == null ? undefined : (new Date(json['last_used_at'])),\n 'revokedAt': json['revoked_at'] == null ? undefined : (new Date(json['revoked_at'])),\n 'createdAt': (new Date(json['created_at'])),\n };\n}\n\nexport function ApiKeyToJSON(json: any): ApiKey {\n return ApiKeyToJSONTyped(json, false);\n}\n\nexport function ApiKeyToJSONTyped(value?: ApiKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'key_prefix': value['keyPrefix'],\n 'last_used_at': value['lastUsedAt'] == null ? value['lastUsedAt'] : value['lastUsedAt'].toISOString(),\n 'revoked_at': value['revokedAt'] == null ? value['revokedAt'] : value['revokedAt'].toISOString(),\n 'created_at': value['createdAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ApiKeyCreated\n */\nexport interface ApiKeyCreated {\n /**\n *\n * @type {number}\n * @memberof ApiKeyCreated\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof ApiKeyCreated\n */\n name?: string;\n /**\n *\n * @type {string}\n * @memberof ApiKeyCreated\n */\n keyPrefix: string;\n /**\n * Full API key (shown only once at creation)\n * @type {string}\n * @memberof ApiKeyCreated\n */\n rawKey: string;\n /**\n *\n * @type {Date}\n * @memberof ApiKeyCreated\n */\n createdAt: Date;\n}\n\n/**\n * Check if a given object implements the ApiKeyCreated interface.\n */\nexport function instanceOfApiKeyCreated(value: object): value is ApiKeyCreated {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('keyPrefix' in value) || value['keyPrefix'] === undefined) return false;\n if (!('rawKey' in value) || value['rawKey'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyCreatedFromJSON(json: any): ApiKeyCreated {\n return ApiKeyCreatedFromJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKeyCreated {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'keyPrefix': json['key_prefix'],\n 'rawKey': json['raw_key'],\n 'createdAt': (new Date(json['created_at'])),\n };\n}\n\nexport function ApiKeyCreatedToJSON(json: any): ApiKeyCreated {\n return ApiKeyCreatedToJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedToJSONTyped(value?: ApiKeyCreated | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'key_prefix': value['keyPrefix'],\n 'raw_key': value['rawKey'],\n 'created_at': value['createdAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApiKeyCreated } from './ApiKeyCreated';\nimport {\n ApiKeyCreatedFromJSON,\n ApiKeyCreatedFromJSONTyped,\n ApiKeyCreatedToJSON,\n ApiKeyCreatedToJSONTyped,\n} from './ApiKeyCreated';\n\n/**\n *\n * @export\n * @interface ApiKeyCreatedResponse\n */\nexport interface ApiKeyCreatedResponse {\n /**\n *\n * @type {ApiKeyCreated}\n * @memberof ApiKeyCreatedResponse\n */\n data: ApiKeyCreated;\n}\n\n/**\n * Check if a given object implements the ApiKeyCreatedResponse interface.\n */\nexport function instanceOfApiKeyCreatedResponse(value: object): value is ApiKeyCreatedResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyCreatedResponseFromJSON(json: any): ApiKeyCreatedResponse {\n return ApiKeyCreatedResponseFromJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKeyCreatedResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ApiKeyCreatedFromJSON(json['data']),\n };\n}\n\nexport function ApiKeyCreatedResponseToJSON(json: any): ApiKeyCreatedResponse {\n return ApiKeyCreatedResponseToJSONTyped(json, false);\n}\n\nexport function ApiKeyCreatedResponseToJSONTyped(value?: ApiKeyCreatedResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ApiKeyCreatedToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface Pagination\n */\nexport interface Pagination {\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n page: number;\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n perPage: number;\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n total: number;\n /**\n *\n * @type {number}\n * @memberof Pagination\n */\n totalPages: number;\n}\n\n/**\n * Check if a given object implements the Pagination interface.\n */\nexport function instanceOfPagination(value: object): value is Pagination {\n if (!('page' in value) || value['page'] === undefined) return false;\n if (!('perPage' in value) || value['perPage'] === undefined) return false;\n if (!('total' in value) || value['total'] === undefined) return false;\n if (!('totalPages' in value) || value['totalPages'] === undefined) return false;\n return true;\n}\n\nexport function PaginationFromJSON(json: any): Pagination {\n return PaginationFromJSONTyped(json, false);\n}\n\nexport function PaginationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pagination {\n if (json == null) {\n return json;\n }\n return {\n\n 'page': json['page'],\n 'perPage': json['per_page'],\n 'total': json['total'],\n 'totalPages': json['total_pages'],\n };\n}\n\nexport function PaginationToJSON(json: any): Pagination {\n return PaginationToJSONTyped(json, false);\n}\n\nexport function PaginationToJSONTyped(value?: Pagination | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'page': value['page'],\n 'per_page': value['perPage'],\n 'total': value['total'],\n 'total_pages': value['totalPages'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Pagination } from './Pagination';\nimport {\n PaginationFromJSON,\n PaginationFromJSONTyped,\n PaginationToJSON,\n PaginationToJSONTyped,\n} from './Pagination';\nimport type { ApiKey } from './ApiKey';\nimport {\n ApiKeyFromJSON,\n ApiKeyFromJSONTyped,\n ApiKeyToJSON,\n ApiKeyToJSONTyped,\n} from './ApiKey';\n\n/**\n *\n * @export\n * @interface ApiKeyListResponse\n */\nexport interface ApiKeyListResponse {\n /**\n *\n * @type {Array<ApiKey>}\n * @memberof ApiKeyListResponse\n */\n data: Array<ApiKey>;\n /**\n *\n * @type {Pagination}\n * @memberof ApiKeyListResponse\n */\n pagination: Pagination;\n}\n\n/**\n * Check if a given object implements the ApiKeyListResponse interface.\n */\nexport function instanceOfApiKeyListResponse(value: object): value is ApiKeyListResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n if (!('pagination' in value) || value['pagination'] === undefined) return false;\n return true;\n}\n\nexport function ApiKeyListResponseFromJSON(json: any): ApiKeyListResponse {\n return ApiKeyListResponseFromJSONTyped(json, false);\n}\n\nexport function ApiKeyListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiKeyListResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ((json['data'] as Array<any>).map(ApiKeyFromJSON)),\n 'pagination': PaginationFromJSON(json['pagination']),\n };\n}\n\nexport function ApiKeyListResponseToJSON(json: any): ApiKeyListResponse {\n return ApiKeyListResponseToJSONTyped(json, false);\n}\n\nexport function ApiKeyListResponseToJSONTyped(value?: ApiKeyListResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ((value['data'] as Array<any>).map(ApiKeyToJSON)),\n 'pagination': PaginationToJSON(value['pagination']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface User\n */\nexport interface User {\n /**\n *\n * @type {number}\n * @memberof User\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof User\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof User\n */\n status?: string;\n}\n\n/**\n * Check if a given object implements the User interface.\n */\nexport function instanceOfUser(value: object): value is User {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function UserFromJSON(json: any): User {\n return UserFromJSONTyped(json, false);\n}\n\nexport function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'email': json['email'],\n 'status': json['status'] == null ? undefined : json['status'],\n };\n}\n\nexport function UserToJSON(json: any): User {\n return UserToJSONTyped(json, false);\n}\n\nexport function UserToJSONTyped(value?: User | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'email': value['email'],\n 'status': value['status'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { User } from './User';\nimport {\n UserFromJSON,\n UserFromJSONTyped,\n UserToJSON,\n UserToJSONTyped,\n} from './User';\n\n/**\n *\n * @export\n * @interface AuthResponseData\n */\nexport interface AuthResponseData {\n /**\n *\n * @type {User}\n * @memberof AuthResponseData\n */\n user: User;\n /**\n *\n * @type {string}\n * @memberof AuthResponseData\n */\n token?: string;\n /**\n *\n * @type {boolean}\n * @memberof AuthResponseData\n */\n confirmationRequired: boolean;\n}\n\n/**\n * Check if a given object implements the AuthResponseData interface.\n */\nexport function instanceOfAuthResponseData(value: object): value is AuthResponseData {\n if (!('user' in value) || value['user'] === undefined) return false;\n if (!('confirmationRequired' in value) || value['confirmationRequired'] === undefined) return false;\n return true;\n}\n\nexport function AuthResponseDataFromJSON(json: any): AuthResponseData {\n return AuthResponseDataFromJSONTyped(json, false);\n}\n\nexport function AuthResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthResponseData {\n if (json == null) {\n return json;\n }\n return {\n\n 'user': UserFromJSON(json['user']),\n 'token': json['token'] == null ? undefined : json['token'],\n 'confirmationRequired': json['confirmation_required'],\n };\n}\n\nexport function AuthResponseDataToJSON(json: any): AuthResponseData {\n return AuthResponseDataToJSONTyped(json, false);\n}\n\nexport function AuthResponseDataToJSONTyped(value?: AuthResponseData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'user': UserToJSON(value['user']),\n 'token': value['token'],\n 'confirmation_required': value['confirmationRequired'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AuthResponseData } from './AuthResponseData';\nimport {\n AuthResponseDataFromJSON,\n AuthResponseDataFromJSONTyped,\n AuthResponseDataToJSON,\n AuthResponseDataToJSONTyped,\n} from './AuthResponseData';\n\n/**\n *\n * @export\n * @interface AuthResponse\n */\nexport interface AuthResponse {\n /**\n *\n * @type {AuthResponseData}\n * @memberof AuthResponse\n */\n data: AuthResponseData;\n}\n\n/**\n * Check if a given object implements the AuthResponse interface.\n */\nexport function instanceOfAuthResponse(value: object): value is AuthResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function AuthResponseFromJSON(json: any): AuthResponse {\n return AuthResponseFromJSONTyped(json, false);\n}\n\nexport function AuthResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': AuthResponseDataFromJSON(json['data']),\n };\n}\n\nexport function AuthResponseToJSON(json: any): AuthResponse {\n return AuthResponseToJSONTyped(json, false);\n}\n\nexport function AuthResponseToJSONTyped(value?: AuthResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': AuthResponseDataToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface Wallet\n */\nexport interface Wallet {\n /**\n * Crossmint is the only buyer-wallet provider.\n * @type {string}\n * @memberof Wallet\n */\n provider: WalletProviderEnum;\n /**\n * Base smart-wallet address. Null only when Crossmint is unavailable.\n * @type {string}\n * @memberof Wallet\n */\n address: string;\n /**\n * Live Base USDC balance, exact to the micro-dollar (up to 6 decimals, minimum 2). Null when Crossmint is unreachable; consumers must not interpret null as zero.\n *\n * @type {string}\n * @memberof Wallet\n */\n balanceUsdc: string;\n /**\n * Live aggregate Tempo dollar-token balance, exact to the micro-dollar (up to 6 decimals, minimum 2). Null when Crossmint is unreachable; consumers must not interpret null as zero.\n *\n * @type {string}\n * @memberof Wallet\n */\n balanceTempoUsd: string;\n /**\n * Single aggregated USD balance across Base USDC and Tempo dollar tokens, exact to the micro-dollar. Null when either pocket is unreachable, because the surface never claims zero for a component it could not read.\n *\n * @type {string}\n * @memberof Wallet\n */\n totalUsd: string;\n /**\n * Selected Crossmint environment (`base_sepolia` or `base_mainnet`).\n *\n * @type {string}\n * @memberof Wallet\n */\n network: string;\n}\n\n\n/**\n * @export\n */\nexport const WalletProviderEnum = {\n Crossmint: 'crossmint'\n} as const;\nexport type WalletProviderEnum = typeof WalletProviderEnum[keyof typeof WalletProviderEnum];\n\n\n/**\n * Check if a given object implements the Wallet interface.\n */\nexport function instanceOfWallet(value: object): value is Wallet {\n if (!('provider' in value) || value['provider'] === undefined) return false;\n if (!('address' in value) || value['address'] === undefined) return false;\n if (!('balanceUsdc' in value) || value['balanceUsdc'] === undefined) return false;\n if (!('balanceTempoUsd' in value) || value['balanceTempoUsd'] === undefined) return false;\n if (!('totalUsd' in value) || value['totalUsd'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n return true;\n}\n\nexport function WalletFromJSON(json: any): Wallet {\n return WalletFromJSONTyped(json, false);\n}\n\nexport function WalletFromJSONTyped(json: any, ignoreDiscriminator: boolean): Wallet {\n if (json == null) {\n return json;\n }\n return {\n\n 'provider': json['provider'],\n 'address': json['address'],\n 'balanceUsdc': json['balance_usdc'],\n 'balanceTempoUsd': json['balance_tempo_usd'],\n 'totalUsd': json['total_usd'],\n 'network': json['network'],\n };\n}\n\nexport function WalletToJSON(json: any): Wallet {\n return WalletToJSONTyped(json, false);\n}\n\nexport function WalletToJSONTyped(value?: Wallet | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider': value['provider'],\n 'address': value['address'],\n 'balance_usdc': value['balanceUsdc'],\n 'balance_tempo_usd': value['balanceTempoUsd'],\n 'total_usd': value['totalUsd'],\n 'network': value['network'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Freemium promo credit. v1 returns zero values; once the promo\n * ledger ships (deferred from spec 10), real balances appear here\n * without a shape change.\n *\n * @export\n * @interface PromoBalance\n */\nexport interface PromoBalance {\n /**\n *\n * @type {string}\n * @memberof PromoBalance\n */\n balanceUsd: string;\n /**\n * Where the promo can be spent.\n * @type {string}\n * @memberof PromoBalance\n */\n scope: string;\n /**\n *\n * @type {Date}\n * @memberof PromoBalance\n */\n expiresAt: Date;\n}\n\n/**\n * Check if a given object implements the PromoBalance interface.\n */\nexport function instanceOfPromoBalance(value: object): value is PromoBalance {\n if (!('balanceUsd' in value) || value['balanceUsd'] === undefined) return false;\n if (!('scope' in value) || value['scope'] === undefined) return false;\n if (!('expiresAt' in value) || value['expiresAt'] === undefined) return false;\n return true;\n}\n\nexport function PromoBalanceFromJSON(json: any): PromoBalance {\n return PromoBalanceFromJSONTyped(json, false);\n}\n\nexport function PromoBalanceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PromoBalance {\n if (json == null) {\n return json;\n }\n return {\n\n 'balanceUsd': json['balance_usd'],\n 'scope': json['scope'],\n 'expiresAt': (new Date(json['expires_at'])),\n };\n}\n\nexport function PromoBalanceToJSON(json: any): PromoBalance {\n return PromoBalanceToJSONTyped(json, false);\n}\n\nexport function PromoBalanceToJSONTyped(value?: PromoBalance | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'balance_usd': value['balanceUsd'],\n 'scope': value['scope'],\n 'expires_at': value['expiresAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SpendingPolicy\n */\nexport interface SpendingPolicy {\n /**\n * Maximum USD per single transaction.\n * @type {string}\n * @memberof SpendingPolicy\n */\n maxTxUsd: string;\n /**\n * Maximum USD spent in a 24-hour window.\n * @type {string}\n * @memberof SpendingPolicy\n */\n dailyLimitUsd: string;\n /**\n * Maximum USD spent in a 7-day window.\n * @type {string}\n * @memberof SpendingPolicy\n */\n weeklyLimitUsd: string;\n}\n\n/**\n * Check if a given object implements the SpendingPolicy interface.\n */\nexport function instanceOfSpendingPolicy(value: object): value is SpendingPolicy {\n if (!('maxTxUsd' in value) || value['maxTxUsd'] === undefined) return false;\n if (!('dailyLimitUsd' in value) || value['dailyLimitUsd'] === undefined) return false;\n if (!('weeklyLimitUsd' in value) || value['weeklyLimitUsd'] === undefined) return false;\n return true;\n}\n\nexport function SpendingPolicyFromJSON(json: any): SpendingPolicy {\n return SpendingPolicyFromJSONTyped(json, false);\n}\n\nexport function SpendingPolicyFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpendingPolicy {\n if (json == null) {\n return json;\n }\n return {\n\n 'maxTxUsd': json['max_tx_usd'],\n 'dailyLimitUsd': json['daily_limit_usd'],\n 'weeklyLimitUsd': json['weekly_limit_usd'],\n };\n}\n\nexport function SpendingPolicyToJSON(json: any): SpendingPolicy {\n return SpendingPolicyToJSONTyped(json, false);\n}\n\nexport function SpendingPolicyToJSONTyped(value?: SpendingPolicy | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'max_tx_usd': value['maxTxUsd'],\n 'daily_limit_usd': value['dailyLimitUsd'],\n 'weekly_limit_usd': value['weeklyLimitUsd'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Wallet } from './Wallet';\nimport {\n WalletFromJSON,\n WalletFromJSONTyped,\n WalletToJSON,\n WalletToJSONTyped,\n} from './Wallet';\nimport type { PromoBalance } from './PromoBalance';\nimport {\n PromoBalanceFromJSON,\n PromoBalanceFromJSONTyped,\n PromoBalanceToJSON,\n PromoBalanceToJSONTyped,\n} from './PromoBalance';\nimport type { SpendingPolicy } from './SpendingPolicy';\nimport {\n SpendingPolicyFromJSON,\n SpendingPolicyFromJSONTyped,\n SpendingPolicyToJSON,\n SpendingPolicyToJSONTyped,\n} from './SpendingPolicy';\n\n/**\n * Buyer's wallet snapshot. Note: unlike `/me` / `/payments` / `/api_keys`,\n * this endpoint does NOT use a `data:` envelope — the response object\n * is the snapshot directly.\n *\n * @export\n * @interface BalanceResponse\n */\nexport interface BalanceResponse {\n /**\n *\n * @type {PromoBalance}\n * @memberof BalanceResponse\n */\n promo: PromoBalance;\n /**\n *\n * @type {Wallet}\n * @memberof BalanceResponse\n */\n wallet: Wallet;\n /**\n * USD spent in the current calendar day (UTC). Exact to the micro-dollar so sub-cent micro-payments survive (\"0.0005\", \"0.42\"), never narrower than two decimals; a zero total renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n spentTodayUsd: string;\n /**\n * USD spent in the current calendar week (UTC, Monday start). Exact to the micro-dollar (\"0.0005\", \"3.10\"), never narrower than two decimals; a zero total renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n spentWeekUsd: string;\n /**\n * USD currently counted against the daily spending limit: pending authorizations at their maximum plus settled payments at the amount that moved. Exact to the micro-dollar; zero renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n policyUsedTodayUsd: string;\n /**\n * USD currently counted against the weekly spending limit: pending authorizations at their maximum plus settled payments at the amount that moved. Exact to the micro-dollar; zero renders as \"0.00\".\n * @type {string}\n * @memberof BalanceResponse\n */\n policyUsedWeekUsd: string;\n /**\n *\n * @type {SpendingPolicy}\n * @memberof BalanceResponse\n */\n policy: SpendingPolicy;\n}\n\n/**\n * Check if a given object implements the BalanceResponse interface.\n */\nexport function instanceOfBalanceResponse(value: object): value is BalanceResponse {\n if (!('promo' in value) || value['promo'] === undefined) return false;\n if (!('wallet' in value) || value['wallet'] === undefined) return false;\n if (!('spentTodayUsd' in value) || value['spentTodayUsd'] === undefined) return false;\n if (!('spentWeekUsd' in value) || value['spentWeekUsd'] === undefined) return false;\n if (!('policyUsedTodayUsd' in value) || value['policyUsedTodayUsd'] === undefined) return false;\n if (!('policyUsedWeekUsd' in value) || value['policyUsedWeekUsd'] === undefined) return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n return true;\n}\n\nexport function BalanceResponseFromJSON(json: any): BalanceResponse {\n return BalanceResponseFromJSONTyped(json, false);\n}\n\nexport function BalanceResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): BalanceResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'promo': PromoBalanceFromJSON(json['promo']),\n 'wallet': WalletFromJSON(json['wallet']),\n 'spentTodayUsd': json['spent_today_usd'],\n 'spentWeekUsd': json['spent_week_usd'],\n 'policyUsedTodayUsd': json['policy_used_today_usd'],\n 'policyUsedWeekUsd': json['policy_used_week_usd'],\n 'policy': SpendingPolicyFromJSON(json['policy']),\n };\n}\n\nexport function BalanceResponseToJSON(json: any): BalanceResponse {\n return BalanceResponseToJSONTyped(json, false);\n}\n\nexport function BalanceResponseToJSONTyped(value?: BalanceResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'promo': PromoBalanceToJSON(value['promo']),\n 'wallet': WalletToJSON(value['wallet']),\n 'spent_today_usd': value['spentTodayUsd'],\n 'spent_week_usd': value['spentWeekUsd'],\n 'policy_used_today_usd': value['policyUsedTodayUsd'],\n 'policy_used_week_usd': value['policyUsedWeekUsd'],\n 'policy': SpendingPolicyToJSON(value['policy']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ConfirmRequest\n */\nexport interface ConfirmRequest {\n /**\n *\n * @type {string}\n * @memberof ConfirmRequest\n */\n confirmationToken: string;\n}\n\n/**\n * Check if a given object implements the ConfirmRequest interface.\n */\nexport function instanceOfConfirmRequest(value: object): value is ConfirmRequest {\n if (!('confirmationToken' in value) || value['confirmationToken'] === undefined) return false;\n return true;\n}\n\nexport function ConfirmRequestFromJSON(json: any): ConfirmRequest {\n return ConfirmRequestFromJSONTyped(json, false);\n}\n\nexport function ConfirmRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConfirmRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'confirmationToken': json['confirmation_token'],\n };\n}\n\nexport function ConfirmRequestToJSON(json: any): ConfirmRequest {\n return ConfirmRequestToJSONTyped(json, false);\n}\n\nexport function ConfirmRequestToJSONTyped(value?: ConfirmRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'confirmation_token': value['confirmationToken'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface CreateApiKeyRequest\n */\nexport interface CreateApiKeyRequest {\n /**\n * A friendly name for the API key\n * @type {string}\n * @memberof CreateApiKeyRequest\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the CreateApiKeyRequest interface.\n */\nexport function instanceOfCreateApiKeyRequest(value: object): value is CreateApiKeyRequest {\n return true;\n}\n\nexport function CreateApiKeyRequestFromJSON(json: any): CreateApiKeyRequest {\n return CreateApiKeyRequestFromJSONTyped(json, false);\n}\n\nexport function CreateApiKeyRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateApiKeyRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function CreateApiKeyRequestToJSON(json: any): CreateApiKeyRequest {\n return CreateApiKeyRequestToJSONTyped(json, false);\n}\n\nexport function CreateApiKeyRequestToJSONTyped(value?: CreateApiKeyRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'name': value['name'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Aggregate public payment stats for the resource.\n * @export\n * @interface ResourceStats\n */\nexport interface ResourceStats {\n /**\n * Total atomic units paid out by this resource.\n * @type {number}\n * @memberof ResourceStats\n */\n totalPaid: number;\n /**\n * Total atomic units received by this resource.\n * @type {number}\n * @memberof ResourceStats\n */\n totalReceived: number;\n /**\n *\n * @type {number}\n * @memberof ResourceStats\n */\n paymentsMade: number;\n /**\n *\n * @type {number}\n * @memberof ResourceStats\n */\n paymentsReceived: number;\n /**\n *\n * @type {number}\n * @memberof ResourceStats\n */\n uniqueCounterparties: number;\n /**\n *\n * @type {Date}\n * @memberof ResourceStats\n */\n firstSeen: Date;\n /**\n *\n * @type {Date}\n * @memberof ResourceStats\n */\n lastActive: Date;\n}\n\n/**\n * Check if a given object implements the ResourceStats interface.\n */\nexport function instanceOfResourceStats(value: object): value is ResourceStats {\n if (!('totalPaid' in value) || value['totalPaid'] === undefined) return false;\n if (!('totalReceived' in value) || value['totalReceived'] === undefined) return false;\n if (!('paymentsMade' in value) || value['paymentsMade'] === undefined) return false;\n if (!('paymentsReceived' in value) || value['paymentsReceived'] === undefined) return false;\n if (!('uniqueCounterparties' in value) || value['uniqueCounterparties'] === undefined) return false;\n if (!('firstSeen' in value) || value['firstSeen'] === undefined) return false;\n if (!('lastActive' in value) || value['lastActive'] === undefined) return false;\n return true;\n}\n\nexport function ResourceStatsFromJSON(json: any): ResourceStats {\n return ResourceStatsFromJSONTyped(json, false);\n}\n\nexport function ResourceStatsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceStats {\n if (json == null) {\n return json;\n }\n return {\n\n 'totalPaid': json['total_paid'],\n 'totalReceived': json['total_received'],\n 'paymentsMade': json['payments_made'],\n 'paymentsReceived': json['payments_received'],\n 'uniqueCounterparties': json['unique_counterparties'],\n 'firstSeen': (new Date(json['first_seen'])),\n 'lastActive': (new Date(json['last_active'])),\n };\n}\n\nexport function ResourceStatsToJSON(json: any): ResourceStats {\n return ResourceStatsToJSONTyped(json, false);\n}\n\nexport function ResourceStatsToJSONTyped(value?: ResourceStats | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'total_paid': value['totalPaid'],\n 'total_received': value['totalReceived'],\n 'payments_made': value['paymentsMade'],\n 'payments_received': value['paymentsReceived'],\n 'unique_counterparties': value['uniqueCounterparties'],\n 'first_seen': value['firstSeen'].toISOString(),\n 'last_active': value['lastActive'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ResourceStats } from './ResourceStats';\nimport {\n ResourceStatsFromJSON,\n ResourceStatsFromJSONTyped,\n ResourceStatsToJSON,\n ResourceStatsToJSONTyped,\n} from './ResourceStats';\n\n/**\n * The `:created` view of a ghost resource. Adds `stats`, the single-use\n * `claim_token`, and the `claim_url` to the base resource shape. The\n * claim fields appear ONLY on this enrollment response — never in list\n * or read views.\n *\n * @export\n * @interface EnrolledResource\n */\nexport interface EnrolledResource {\n /**\n *\n * @type {number}\n * @memberof EnrolledResource\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n slug: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n description?: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n kind: string;\n /**\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n visibility: string;\n /**\n * Declared wallet address, or `null` if none was provided.\n * @type {string}\n * @memberof EnrolledResource\n */\n walletAddress?: string;\n /**\n * Legacy v3 taxonomy field. Returns a string only for `agent`-kind\n * resources that carry a `category` in their metadata; `null` for\n * all other kinds and for agents without one. Always `null` on\n * enrollment (category is a post-claim concern).\n *\n * @type {string}\n * @memberof EnrolledResource\n */\n category: string;\n /**\n *\n * @type {boolean}\n * @memberof EnrolledResource\n */\n verified: boolean;\n /**\n * True once the resource has an owning provider. Always false at enrollment.\n * @type {boolean}\n * @memberof EnrolledResource\n */\n claimed: boolean;\n /**\n *\n * @type {Date}\n * @memberof EnrolledResource\n */\n createdAt: Date;\n /**\n *\n * @type {ResourceStats}\n * @memberof EnrolledResource\n */\n stats: ResourceStats;\n /**\n * Single-use token for the magic claim URL. Surfaced only on enrollment.\n * @type {string}\n * @memberof EnrolledResource\n */\n claimToken: string;\n /**\n * Dashboard path the agent hands to its human to claim the resource.\n * @type {string}\n * @memberof EnrolledResource\n */\n claimUrl: string;\n}\n\n/**\n * Check if a given object implements the EnrolledResource interface.\n */\nexport function instanceOfEnrolledResource(value: object): value is EnrolledResource {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n if (!('slug' in value) || value['slug'] === undefined) return false;\n if (!('kind' in value) || value['kind'] === undefined) return false;\n if (!('visibility' in value) || value['visibility'] === undefined) return false;\n if (!('category' in value) || value['category'] === undefined) return false;\n if (!('verified' in value) || value['verified'] === undefined) return false;\n if (!('claimed' in value) || value['claimed'] === undefined) return false;\n if (!('createdAt' in value) || value['createdAt'] === undefined) return false;\n if (!('stats' in value) || value['stats'] === undefined) return false;\n if (!('claimToken' in value) || value['claimToken'] === undefined) return false;\n if (!('claimUrl' in value) || value['claimUrl'] === undefined) return false;\n return true;\n}\n\nexport function EnrolledResourceFromJSON(json: any): EnrolledResource {\n return EnrolledResourceFromJSONTyped(json, false);\n}\n\nexport function EnrolledResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): EnrolledResource {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'],\n 'slug': json['slug'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'kind': json['kind'],\n 'visibility': json['visibility'],\n 'walletAddress': json['wallet_address'] == null ? undefined : json['wallet_address'],\n 'category': json['category'],\n 'verified': json['verified'],\n 'claimed': json['claimed'],\n 'createdAt': (new Date(json['created_at'])),\n 'stats': ResourceStatsFromJSON(json['stats']),\n 'claimToken': json['claim_token'],\n 'claimUrl': json['claim_url'],\n };\n}\n\nexport function EnrolledResourceToJSON(json: any): EnrolledResource {\n return EnrolledResourceToJSONTyped(json, false);\n}\n\nexport function EnrolledResourceToJSONTyped(value?: EnrolledResource | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'slug': value['slug'],\n 'description': value['description'],\n 'kind': value['kind'],\n 'visibility': value['visibility'],\n 'wallet_address': value['walletAddress'],\n 'category': value['category'],\n 'verified': value['verified'],\n 'claimed': value['claimed'],\n 'created_at': value['createdAt'].toISOString(),\n 'stats': ResourceStatsToJSON(value['stats']),\n 'claim_token': value['claimToken'],\n 'claim_url': value['claimUrl'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Standard error envelope returned by all `/api/v1` endpoints except\n * `/search` and `/fetch` (which use bespoke envelopes carrying\n * additional context). `error.code` is stable across releases and\n * safe to branch on; `error.message` is human-readable and may change.\n *\n * @export\n * @interface ErrorResponse\n */\nexport interface ErrorResponse {\n /**\n *\n * @type {Error}\n * @memberof ErrorResponse\n */\n error: Error;\n}\n\n/**\n * Check if a given object implements the ErrorResponse interface.\n */\nexport function instanceOfErrorResponse(value: object): value is ErrorResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n return true;\n}\n\nexport function ErrorResponseFromJSON(json: any): ErrorResponse {\n return ErrorResponseFromJSONTyped(json, false);\n}\n\nexport function ErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n };\n}\n\nexport function ErrorResponseToJSON(json: any): ErrorResponse {\n return ErrorResponseToJSONTyped(json, false);\n}\n\nexport function ErrorResponseToJSONTyped(value?: ErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Compact balance snapshot returned inside `FetchErrorResponse`. Less\n * rich than `BalanceResponse` — just the fields a CLI needs to explain\n * why a fetch failed.\n *\n * @export\n * @interface FetchBalanceSnapshot\n */\nexport interface FetchBalanceSnapshot {\n /**\n *\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n promoUsd: string;\n /**\n * Live Base USDC balance read server-side through Crossmint. Null when Crossmint is unavailable; never treat null as zero.\n *\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n walletUsdc: string;\n /**\n * Aggregated USD balance across Base USDC and Tempo dollar tokens, exact to the micro-dollar. Null when either pocket is unreachable.\n *\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n totalUsd: string;\n /**\n * Settled USD spend in the current calendar day (UTC).\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n spentTodayUsd: string;\n /**\n * USD counted against today's policy limit, including pending authorizations and settled spend.\n * @type {string}\n * @memberof FetchBalanceSnapshot\n */\n policyUsedTodayUsd: string;\n}\n\n/**\n * Check if a given object implements the FetchBalanceSnapshot interface.\n */\nexport function instanceOfFetchBalanceSnapshot(value: object): value is FetchBalanceSnapshot {\n if (!('promoUsd' in value) || value['promoUsd'] === undefined) return false;\n if (!('walletUsdc' in value) || value['walletUsdc'] === undefined) return false;\n if (!('totalUsd' in value) || value['totalUsd'] === undefined) return false;\n if (!('spentTodayUsd' in value) || value['spentTodayUsd'] === undefined) return false;\n if (!('policyUsedTodayUsd' in value) || value['policyUsedTodayUsd'] === undefined) return false;\n return true;\n}\n\nexport function FetchBalanceSnapshotFromJSON(json: any): FetchBalanceSnapshot {\n return FetchBalanceSnapshotFromJSONTyped(json, false);\n}\n\nexport function FetchBalanceSnapshotFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchBalanceSnapshot {\n if (json == null) {\n return json;\n }\n return {\n\n 'promoUsd': json['promo_usd'],\n 'walletUsdc': json['wallet_usdc'],\n 'totalUsd': json['total_usd'],\n 'spentTodayUsd': json['spent_today_usd'],\n 'policyUsedTodayUsd': json['policy_used_today_usd'],\n };\n}\n\nexport function FetchBalanceSnapshotToJSON(json: any): FetchBalanceSnapshot {\n return FetchBalanceSnapshotToJSONTyped(json, false);\n}\n\nexport function FetchBalanceSnapshotToJSONTyped(value?: FetchBalanceSnapshot | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'promo_usd': value['promoUsd'],\n 'wallet_usdc': value['walletUsdc'],\n 'total_usd': value['totalUsd'],\n 'spent_today_usd': value['spentTodayUsd'],\n 'policy_used_today_usd': value['policyUsedTodayUsd'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SpendingPolicy } from './SpendingPolicy';\nimport {\n SpendingPolicyFromJSON,\n SpendingPolicyFromJSONTyped,\n SpendingPolicyToJSON,\n SpendingPolicyToJSONTyped,\n} from './SpendingPolicy';\nimport type { FetchBalanceSnapshot } from './FetchBalanceSnapshot';\nimport {\n FetchBalanceSnapshotFromJSON,\n FetchBalanceSnapshotFromJSONTyped,\n FetchBalanceSnapshotToJSON,\n FetchBalanceSnapshotToJSONTyped,\n} from './FetchBalanceSnapshot';\n\n/**\n * Bespoke error envelope for `/api/v1/fetch`. Every error carries the\n * buyer's current `policy`, `balance`, and a `dashboard_url` so a CLI\n * can render an actionable message without a second round-trip.\n *\n * `error` values include the fixed codes listed below plus the\n * `POLICY_VIOLATION_<REASON>` family, where `<REASON>` is the violated\n * policy field (`MAX_TX`, `DAILY`, or `WEEKLY` — see\n * `PolicyViolation::REASONS`).\n *\n * @export\n * @interface FetchErrorResponse\n */\nexport interface FetchErrorResponse {\n /**\n * Stable error code.\n * @type {string}\n * @memberof FetchErrorResponse\n */\n error: FetchErrorResponseErrorEnum;\n /**\n * Optional context. Shape varies by error code.\n *\n * `purchase_id` (opaque string) is present when the failure follows a\n * payment row for this request — a new, resumed, or replayed payment.\n * It is the id that `GET /api/v1/purchases/{id}` accepts: read that\n * purchase to learn whether the charge settled, instead of assuming\n * either outcome. It is absent when the request was refused before\n * any payment row existed.\n *\n * @type {{ [key: string]: any; }}\n * @memberof FetchErrorResponse\n */\n details: { [key: string]: any; };\n /**\n *\n * @type {SpendingPolicy}\n * @memberof FetchErrorResponse\n */\n policy: SpendingPolicy;\n /**\n *\n * @type {FetchBalanceSnapshot}\n * @memberof FetchErrorResponse\n */\n balance: FetchBalanceSnapshot;\n /**\n * Deep-link to the dashboard's policy page.\n * @type {string}\n * @memberof FetchErrorResponse\n */\n dashboardUrl: string;\n}\n\n\n/**\n * @export\n */\nexport const FetchErrorResponseErrorEnum = {\n InvalidRequest: 'INVALID_REQUEST',\n UnknownParameter: 'UNKNOWN_PARAMETER',\n InvalidUrl: 'INVALID_URL',\n InvalidMaxCostUsd: 'INVALID_MAX_COST_USD',\n InvalidAllowTempoRefill: 'INVALID_ALLOW_TEMPO_REFILL',\n InvalidMaxTotalCostUsd: 'INVALID_MAX_TOTAL_COST_USD',\n IncompatibleFetchControls: 'INCOMPATIBLE_FETCH_CONTROLS',\n UnsupportedMethod: 'UNSUPPORTED_METHOD',\n InvalidBody: 'INVALID_BODY',\n InvalidHeaders: 'INVALID_HEADERS',\n InvalidIdempotencyKey: 'INVALID_IDEMPOTENCY_KEY',\n IdempotencyConflict: 'IDEMPOTENCY_CONFLICT',\n AccountClosing: 'ACCOUNT_CLOSING',\n ExceededMaxCost: 'EXCEEDED_MAX_COST',\n TotalCostUnverifiable: 'TOTAL_COST_UNVERIFIABLE',\n FundingPending: 'FUNDING_PENDING',\n InsufficientBalance: 'INSUFFICIENT_BALANCE',\n PaymentAuthorizationRequired: 'PAYMENT_AUTHORIZATION_REQUIRED',\n WalletSetupIncomplete: 'WALLET_SETUP_INCOMPLETE',\n MerchantReturnedNon402: 'MERCHANT_RETURNED_NON_402',\n MerchantTimeout: 'MERCHANT_TIMEOUT',\n MerchantConnectionFailed: 'MERCHANT_CONNECTION_FAILED',\n PaidDeliveryFailed: 'PAID_DELIVERY_FAILED',\n DeliveryReplayUnavailable: 'DELIVERY_REPLAY_UNAVAILABLE',\n ArtifactTooLarge: 'ARTIFACT_TOO_LARGE',\n DenylistedRecipient: 'DENYLISTED_RECIPIENT',\n WalletEnvironmentMismatch: 'WALLET_ENVIRONMENT_MISMATCH',\n UnsupportedAsset: 'UNSUPPORTED_ASSET',\n UnsupportedPaymentMethod: 'UNSUPPORTED_PAYMENT_METHOD',\n SettlementFailed: 'SETTLEMENT_FAILED',\n SettlementPending: 'SETTLEMENT_PENDING',\n PolicyViolationMaxTx: 'POLICY_VIOLATION_MAX_TX',\n PolicyViolationDaily: 'POLICY_VIOLATION_DAILY',\n PolicyViolationWeekly: 'POLICY_VIOLATION_WEEKLY'\n} as const;\nexport type FetchErrorResponseErrorEnum = typeof FetchErrorResponseErrorEnum[keyof typeof FetchErrorResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the FetchErrorResponse interface.\n */\nexport function instanceOfFetchErrorResponse(value: object): value is FetchErrorResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n if (!('details' in value) || value['details'] === undefined) return false;\n if (!('policy' in value) || value['policy'] === undefined) return false;\n if (!('balance' in value) || value['balance'] === undefined) return false;\n if (!('dashboardUrl' in value) || value['dashboardUrl'] === undefined) return false;\n return true;\n}\n\nexport function FetchErrorResponseFromJSON(json: any): FetchErrorResponse {\n return FetchErrorResponseFromJSONTyped(json, false);\n}\n\nexport function FetchErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'details': json['details'],\n 'policy': SpendingPolicyFromJSON(json['policy']),\n 'balance': FetchBalanceSnapshotFromJSON(json['balance']),\n 'dashboardUrl': json['dashboard_url'],\n };\n}\n\nexport function FetchErrorResponseToJSON(json: any): FetchErrorResponse {\n return FetchErrorResponseToJSONTyped(json, false);\n}\n\nexport function FetchErrorResponseToJSONTyped(value?: FetchErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'details': value['details'],\n 'policy': SpendingPolicyToJSON(value['policy']),\n 'balance': FetchBalanceSnapshotToJSON(value['balance']),\n 'dashboard_url': value['dashboardUrl'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * RFC 6750 §3.1 `insufficient_scope` error. Returned with HTTP 403 and\n * a `WWW-Authenticate: Bearer error=\"insufficient_scope\", scope=\"...\"`\n * header when an OAuth access token authenticates successfully but does\n * not carry the scope the endpoint requires. Only OAuth bearer tokens\n * are scope-gated; `wk_`-prefixed API keys are unscoped and never see\n * this response.\n *\n * @export\n * @interface InsufficientScopeResponse\n */\nexport interface InsufficientScopeResponse {\n /**\n *\n * @type {string}\n * @memberof InsufficientScopeResponse\n */\n error: InsufficientScopeResponseErrorEnum;\n /**\n *\n * @type {string}\n * @memberof InsufficientScopeResponse\n */\n errorDescription: string;\n /**\n * Space-delimited list of scopes the endpoint requires.\n * @type {string}\n * @memberof InsufficientScopeResponse\n */\n scope: string;\n}\n\n\n/**\n * @export\n */\nexport const InsufficientScopeResponseErrorEnum = {\n InsufficientScope: 'insufficient_scope'\n} as const;\nexport type InsufficientScopeResponseErrorEnum = typeof InsufficientScopeResponseErrorEnum[keyof typeof InsufficientScopeResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the InsufficientScopeResponse interface.\n */\nexport function instanceOfInsufficientScopeResponse(value: object): value is InsufficientScopeResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n if (!('errorDescription' in value) || value['errorDescription'] === undefined) return false;\n if (!('scope' in value) || value['scope'] === undefined) return false;\n return true;\n}\n\nexport function InsufficientScopeResponseFromJSON(json: any): InsufficientScopeResponse {\n return InsufficientScopeResponseFromJSONTyped(json, false);\n}\n\nexport function InsufficientScopeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): InsufficientScopeResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'errorDescription': json['error_description'],\n 'scope': json['scope'],\n };\n}\n\nexport function InsufficientScopeResponseToJSON(json: any): InsufficientScopeResponse {\n return InsufficientScopeResponseToJSONTyped(json, false);\n}\n\nexport function InsufficientScopeResponseToJSONTyped(value?: InsufficientScopeResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'error_description': value['errorDescription'],\n 'scope': value['scope'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { FetchErrorResponse } from './FetchErrorResponse';\nimport {\n instanceOfFetchErrorResponse,\n FetchErrorResponseFromJSON,\n FetchErrorResponseFromJSONTyped,\n FetchErrorResponseToJSON,\n} from './FetchErrorResponse';\nimport type { InsufficientScopeResponse } from './InsufficientScopeResponse';\nimport {\n instanceOfInsufficientScopeResponse,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseFromJSONTyped,\n InsufficientScopeResponseToJSON,\n} from './InsufficientScopeResponse';\n\n/**\n * @type Fetch403Response\n *\n * @export\n */\nexport type Fetch403Response = FetchErrorResponse | InsufficientScopeResponse;\n\nexport function Fetch403ResponseFromJSON(json: any): Fetch403Response {\n return Fetch403ResponseFromJSONTyped(json, false);\n}\n\nexport function Fetch403ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Fetch403Response {\n if (json == null) {\n return json;\n }\n if (typeof json !== 'object') {\n return json;\n }\n if (instanceOfFetchErrorResponse(json)) {\n return FetchErrorResponseFromJSONTyped(json, true);\n }\n if (instanceOfInsufficientScopeResponse(json)) {\n return InsufficientScopeResponseFromJSONTyped(json, true);\n }\n return {} as any;\n}\n\nexport function Fetch403ResponseToJSON(json: any): any {\n return Fetch403ResponseToJSONTyped(json, false);\n}\n\nexport function Fetch403ResponseToJSONTyped(value?: Fetch403Response | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value !== 'object') {\n return value;\n }\n if (instanceOfFetchErrorResponse(value)) {\n return FetchErrorResponseToJSON(value as FetchErrorResponse);\n }\n if (instanceOfInsufficientScopeResponse(value)) {\n return InsufficientScopeResponseToJSON(value as InsufficientScopeResponse);\n }\n return {};\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * @type FetchRequestBody\n * Request body forwarded to the upstream. Pass `null` for GET.\n * @export\n */\nexport type FetchRequestBody = object | string;\n\nexport function FetchRequestBodyFromJSON(json: any): FetchRequestBody {\n return FetchRequestBodyFromJSONTyped(json, false);\n}\n\nexport function FetchRequestBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchRequestBody {\n if (json == null) {\n return json;\n }\n if (typeof json === 'string') {\n return json;\n }\n return {} as any;\n}\n\nexport function FetchRequestBodyToJSON(json: any): any {\n return FetchRequestBodyToJSONTyped(json, false);\n}\n\nexport function FetchRequestBodyToJSONTyped(value?: FetchRequestBody | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value === 'string') {\n return value;\n }\n return {};\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { FetchRequestBody } from './FetchRequestBody';\nimport {\n FetchRequestBodyFromJSON,\n FetchRequestBodyFromJSONTyped,\n FetchRequestBodyToJSON,\n FetchRequestBodyToJSONTyped,\n} from './FetchRequestBody';\n\n/**\n *\n * @export\n * @interface FetchRequest\n */\nexport interface FetchRequest {\n /**\n * Target URL. Must pass Weft's URL safety check (no SSRF / private IP ranges).\n * @type {string}\n * @memberof FetchRequest\n */\n url: string;\n /**\n * Merchant-principal ceiling, excluding gas, provider fees and prerequisites. Defaults to `0.10` USD; use `max_total_cost_usd` for an all-in bound.\n * @type {string}\n * @memberof FetchRequest\n */\n maxCostUsd?: string;\n /**\n * Whether this request may create, adopt, or enqueue a Base-to-Tempo\n * refill. Only JSON booleans are accepted. Omission allows legacy\n * refill behavior unless `max_total_cost_usd` is supplied, in which\n * case refill is disabled. False leaves unrelated bridges and jobs\n * unchanged and reports an unfunded Tempo pocket as\n * `INSUFFICIENT_BALANCE`. This does not select a rail or bound fees.\n *\n * @type {boolean}\n * @memberof FetchRequest\n */\n allowTempoRefill?: boolean;\n /**\n * Optional all-in buyer-debit ceiling in USD, including principal,\n * gas, provider fees and prerequisite operations. Requires a binding\n * upstream upper bound before any payment effect. Current integrations\n * have no such guarantee, so requests requiring wallet signing or\n * payment fail closed with `TOTAL_COST_UNVERIFIABLE`, including\n * recovery and replay of previous payments. No positive paid route\n * is currently admitted in this mode. Estimates, expected sponsorship\n * and receipts are not authority. Implies no refill; explicit\n * `allow_tempo_refill: true` is invalid. Omission preserves legacy behavior.\n *\n * @type {string}\n * @memberof FetchRequest\n */\n maxTotalCostUsd?: string;\n /**\n * HTTP method to use against the upstream.\n * @type {string}\n * @memberof FetchRequest\n */\n method?: FetchRequestMethodEnum;\n /**\n *\n * @type {FetchRequestBody}\n * @memberof FetchRequest\n */\n body?: FetchRequestBody | null;\n /**\n * Headers forwarded to the upstream. Up to 32 headers, 4 KB\n * total. The following are silently stripped: `host`,\n * `authorization`, `cookie`, `proxy-authorization`,\n * `x-forwarded-*`, `x-real-ip`, `x-payment`, `connection`,\n * `upgrade`.\n *\n * @type {{ [key: string]: string; }}\n * @memberof FetchRequest\n */\n headers?: { [key: string]: string; };\n /**\n * The `query_trace_id` from the `POST /api/v1/search` response that\n * surfaced this URL. Optional and advisory: it attributes the purchase\n * to the search that found it, and is used only for measurement.\n *\n * It never affects payment, authorization, idempotency, or the\n * response body — the buyer is always resolved from the credential,\n * never from this field. A value that is not a well-formed handle is\n * ignored rather than rejected, so an analytics mistake can never cost\n * a fetch.\n *\n * @type {string}\n * @memberof FetchRequest\n */\n searchId?: string;\n /**\n * Advisory operation id returned by search.\n * @type {string}\n * @memberof FetchRequest\n */\n operationId?: string;\n /**\n * Advisory access-method id returned by search; does not enforce a payment rail.\n * @type {string}\n * @memberof FetchRequest\n */\n accessMethodId?: string;\n}\n\n\n/**\n * @export\n */\nexport const FetchRequestMethodEnum = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Head: 'HEAD',\n Options: 'OPTIONS'\n} as const;\nexport type FetchRequestMethodEnum = typeof FetchRequestMethodEnum[keyof typeof FetchRequestMethodEnum];\n\n\n/**\n * Check if a given object implements the FetchRequest interface.\n */\nexport function instanceOfFetchRequest(value: object): value is FetchRequest {\n if (!('url' in value) || value['url'] === undefined) return false;\n return true;\n}\n\nexport function FetchRequestFromJSON(json: any): FetchRequest {\n return FetchRequestFromJSONTyped(json, false);\n}\n\nexport function FetchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'url': json['url'],\n 'maxCostUsd': json['max_cost_usd'] == null ? undefined : json['max_cost_usd'],\n 'allowTempoRefill': json['allow_tempo_refill'] == null ? undefined : json['allow_tempo_refill'],\n 'maxTotalCostUsd': json['max_total_cost_usd'] == null ? undefined : json['max_total_cost_usd'],\n 'method': json['method'] == null ? undefined : json['method'],\n 'body': json['body'] == null ? undefined : FetchRequestBodyFromJSON(json['body']),\n 'headers': json['headers'] == null ? undefined : json['headers'],\n 'searchId': json['search_id'] == null ? undefined : json['search_id'],\n 'operationId': json['operation_id'] == null ? undefined : json['operation_id'],\n 'accessMethodId': json['access_method_id'] == null ? undefined : json['access_method_id'],\n };\n}\n\nexport function FetchRequestToJSON(json: any): FetchRequest {\n return FetchRequestToJSONTyped(json, false);\n}\n\nexport function FetchRequestToJSONTyped(value?: FetchRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'url': value['url'],\n 'max_cost_usd': value['maxCostUsd'],\n 'allow_tempo_refill': value['allowTempoRefill'],\n 'max_total_cost_usd': value['maxTotalCostUsd'],\n 'method': value['method'],\n 'body': FetchRequestBodyToJSON(value['body']),\n 'headers': value['headers'],\n 'search_id': value['searchId'],\n 'operation_id': value['operationId'],\n 'access_method_id': value['accessMethodId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Successful fetch envelope. `body_base64` is the upstream artifact\n * bytes, base64-encoded. `paid_usd`, `held_usd`, `payment_status`,\n * `tx_hash`, and `protocol` describe the payment and settlement state.\n * `purchase_id` names the payment for a later status read.\n *\n * To retrieve a SIWX-protected result, use HTTPS GET with\n * `max_cost_usd: \"0\"`. Weft signs a fresh, resource-bound challenge with\n * the same buyer wallet. Retrieval never falls back to payment and\n * returns `not_required`, zero paid amount, and null held amount and\n * transaction hash. Polls are fresh, including with repeated idempotency\n * keys. A rejected or unsafe challenge returns `SIWX_RETRIEVAL_FAILED`.\n * Providers must support smart-wallet signatures. Auth-only challenges\n * also use this path; positive-budget purchases retain payment behavior.\n *\n * `paid_usd` is \"0.00\" (never the nominal charge amount) until the\n * charge is CONFIRMED settled on-chain — a signed-but-unsettled hold\n * reports its amount in `held_usd` instead. This is a deliberate\n * honesty fix: earlier versions of this endpoint returned the nominal\n * amount in `paid_usd` unconditionally, even when the charge never\n * settled.\n *\n * **Money string format.** Every USD amount on this surface is exact to\n * the micro-dollar and never narrower than two decimals: a whole-cent\n * amount renders \"0.50\", a sub-cent amount keeps its real precision\n * (\"0.000892\"), and zero renders \"0.00\". Amounts are never rounded — an\n * agent reconciling its own spend reads the truth, not a display value.\n * Parse these as decimals; do NOT compare them as strings against a\n * bare zero literal.\n *\n * @export\n * @interface FetchResponse\n */\nexport interface FetchResponse {\n /**\n * HTTP status returned by the upstream after the payment or SIWX authentication retry.\n * @type {number}\n * @memberof FetchResponse\n */\n status: number;\n /**\n * Response headers from the upstream.\n * @type {{ [key: string]: string; }}\n * @memberof FetchResponse\n */\n headers: { [key: string]: string; };\n /**\n * Base64-encoded response body. Empty string for empty bodies.\n * @type {string}\n * @memberof FetchResponse\n */\n bodyBase64: string;\n /**\n * USD amount actually settled on-chain. \"0.00\" for any charge that\n * hasn't (yet, or ever) settled — a signed hold is not yet spend.\n * See `held_usd` for the nominal amount in that case. Exact to the\n * micro-dollar, minimum two decimals; parse as a decimal rather than\n * string-comparing against a bare zero literal.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n paidUsd: string | null;\n /**\n * The nominal charge amount when `paid_usd` is \"0.00\" — a hold\n * awaiting settlement, or a charge that failed/expired without ever\n * settling. `null` once `paid_usd` reflects the real settlement.\n * Same format as `paid_usd`: exact to the micro-dollar, minimum two\n * decimals.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n heldUsd: string | null;\n /**\n * Agent-facing settlement status. `not_required` means SIWX wallet\n * authentication returned the response without payment. `pending` = signed, no refusal\n * signal yet (settlement may still land, e.g. x402's async\n * facilitator webhook). `declined-pending` = the merchant refused\n * but the authorization isn't provably dead yet. `declined` /\n * `expired` / `reverted` are terminal — the money never moved (or,\n * for `reverted`, moved and then reversed on-chain) and never will\n * for this charge.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n paymentStatus: FetchResponsePaymentStatusEnum;\n /**\n * Settlement transaction hash. Null until a settlement hash has been reported.\n * @type {string}\n * @memberof FetchResponse\n */\n txHash: string | null;\n /**\n * Payment protocol selected for this fetch.\n * @type {string}\n * @memberof FetchResponse\n */\n protocol: FetchResponseProtocolEnum;\n /**\n * Internal artifact identifier if the response was persisted; `null` otherwise.\n * @type {number}\n * @memberof FetchResponse\n */\n artifactId: number | null;\n /**\n * The buyer purchase that paid for this fetch: an opaque id that\n * `GET /api/v1/purchases/{id}` accepts and that purchase rows carry\n * as `purchase_id`. It is not the sequential `Purchase.id`; do not\n * parse or order by it. That purchase reports its\n * own `status`, not `payment_status`: `signed` while the payment is\n * pending, then `settled` (charged its `amount_usd`, which can be\n * less than `held_usd`) or `declined`, `locked`, `expired`, or\n * `reverted` (not charged). A `settled` purchase with\n * `failure_reason: merchant_delivery_failed` was charged, but no\n * successful paid response was delivered. An idempotent\n * replay returns the same id, so bill at most once for each id.\n * `null` when no payment was made (`payment_status: not_required`).\n *\n * The lookup needs purchase-history access: a `wk_*` key, a claimed\n * `wbt_*` bearer, or a REST OAuth token with the `balance` scope. An\n * OAuth token issued for the MCP server cannot call this endpoint.\n * Current servers always send this field. It is optional in this\n * schema so that a client also accepts a response from an older\n * server.\n *\n * @type {string}\n * @memberof FetchResponse\n */\n purchaseId?: string | null;\n}\n\n\n/**\n * @export\n */\nexport const FetchResponsePaymentStatusEnum = {\n Settled: 'settled',\n Pending: 'pending',\n DeclinedPending: 'declined-pending',\n Declined: 'declined',\n Expired: 'expired',\n Reverted: 'reverted',\n NotRequired: 'not_required'\n} as const;\nexport type FetchResponsePaymentStatusEnum = typeof FetchResponsePaymentStatusEnum[keyof typeof FetchResponsePaymentStatusEnum];\n\n/**\n * @export\n */\nexport const FetchResponseProtocolEnum = {\n X402: 'x402',\n Mpp: 'mpp'\n} as const;\nexport type FetchResponseProtocolEnum = typeof FetchResponseProtocolEnum[keyof typeof FetchResponseProtocolEnum];\n\n\n/**\n * Check if a given object implements the FetchResponse interface.\n */\nexport function instanceOfFetchResponse(value: object): value is FetchResponse {\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('headers' in value) || value['headers'] === undefined) return false;\n if (!('bodyBase64' in value) || value['bodyBase64'] === undefined) return false;\n if (!('paidUsd' in value) || value['paidUsd'] === undefined) return false;\n if (!('heldUsd' in value) || value['heldUsd'] === undefined) return false;\n if (!('paymentStatus' in value) || value['paymentStatus'] === undefined) return false;\n if (!('txHash' in value) || value['txHash'] === undefined) return false;\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n if (!('artifactId' in value) || value['artifactId'] === undefined) return false;\n return true;\n}\n\nexport function FetchResponseFromJSON(json: any): FetchResponse {\n return FetchResponseFromJSONTyped(json, false);\n}\n\nexport function FetchResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'status': json['status'],\n 'headers': json['headers'],\n 'bodyBase64': json['body_base64'],\n 'paidUsd': json['paid_usd'],\n 'heldUsd': json['held_usd'],\n 'paymentStatus': json['payment_status'],\n 'txHash': json['tx_hash'],\n 'protocol': json['protocol'],\n 'artifactId': json['artifact_id'],\n 'purchaseId': json['purchase_id'] == null ? undefined : json['purchase_id'],\n };\n}\n\nexport function FetchResponseToJSON(json: any): FetchResponse {\n return FetchResponseToJSONTyped(json, false);\n}\n\nexport function FetchResponseToJSONTyped(value?: FetchResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'status': value['status'],\n 'headers': value['headers'],\n 'body_base64': value['bodyBase64'],\n 'paid_usd': value['paidUsd'],\n 'held_usd': value['heldUsd'],\n 'payment_status': value['paymentStatus'],\n 'tx_hash': value['txHash'],\n 'protocol': value['protocol'],\n 'artifact_id': value['artifactId'],\n 'purchase_id': value['purchaseId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * @type GetPurchaseIdParameter\n *\n * @export\n */\nexport type GetPurchaseIdParameter = number | string;\n\nexport function GetPurchaseIdParameterFromJSON(json: any): GetPurchaseIdParameter {\n return GetPurchaseIdParameterFromJSONTyped(json, false);\n}\n\nexport function GetPurchaseIdParameterFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetPurchaseIdParameter {\n if (json == null) {\n return json;\n }\n if (typeof json === 'number') {\n return json;\n }\n if (typeof json === 'string') {\n return json;\n }\n return {} as any;\n}\n\nexport function GetPurchaseIdParameterToJSON(json: any): any {\n return GetPurchaseIdParameterToJSONTyped(json, false);\n}\n\nexport function GetPurchaseIdParameterToJSONTyped(value?: GetPurchaseIdParameter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n return value;\n }\n return {};\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PrincipalWallet\n */\nexport interface PrincipalWallet {\n /**\n *\n * @type {string}\n * @memberof PrincipalWallet\n */\n address: string;\n /**\n *\n * @type {string}\n * @memberof PrincipalWallet\n */\n network: string;\n}\n\n/**\n * Check if a given object implements the PrincipalWallet interface.\n */\nexport function instanceOfPrincipalWallet(value: object): value is PrincipalWallet {\n if (!('address' in value) || value['address'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n return true;\n}\n\nexport function PrincipalWalletFromJSON(json: any): PrincipalWallet {\n return PrincipalWalletFromJSONTyped(json, false);\n}\n\nexport function PrincipalWalletFromJSONTyped(json: any, ignoreDiscriminator: boolean): PrincipalWallet {\n if (json == null) {\n return json;\n }\n return {\n\n 'address': json['address'],\n 'network': json['network'],\n };\n}\n\nexport function PrincipalWalletToJSON(json: any): PrincipalWallet {\n return PrincipalWalletToJSONTyped(json, false);\n}\n\nexport function PrincipalWalletToJSONTyped(value?: PrincipalWallet | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'address': value['address'],\n 'network': value['network'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { PrincipalWallet } from './PrincipalWallet';\nimport {\n PrincipalWalletFromJSON,\n PrincipalWalletFromJSONTyped,\n PrincipalWalletToJSON,\n PrincipalWalletToJSONTyped,\n} from './PrincipalWallet';\n\n/**\n * The buyer User represented by an account API key or OAuth token.\n * @export\n * @interface UserPrincipal\n */\nexport interface UserPrincipal {\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n principalType: UserPrincipalPrincipalTypeEnum;\n /**\n *\n * @type {number}\n * @memberof UserPrincipal\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n displayName?: string;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n status: UserPrincipalStatusEnum;\n /**\n *\n * @type {boolean}\n * @memberof UserPrincipal\n */\n buyerEnabled: boolean;\n /**\n *\n * @type {boolean}\n * @memberof UserPrincipal\n */\n sellerEnabled: boolean;\n /**\n *\n * @type {string}\n * @memberof UserPrincipal\n */\n provisioningStatus: UserPrincipalProvisioningStatusEnum;\n /**\n *\n * @type {PrincipalWallet}\n * @memberof UserPrincipal\n */\n wallet: PrincipalWallet | null;\n}\n\n\n/**\n * @export\n */\nexport const UserPrincipalPrincipalTypeEnum = {\n User: 'user'\n} as const;\nexport type UserPrincipalPrincipalTypeEnum = typeof UserPrincipalPrincipalTypeEnum[keyof typeof UserPrincipalPrincipalTypeEnum];\n\n/**\n * @export\n */\nexport const UserPrincipalStatusEnum = {\n Active: 'active',\n Blocked: 'blocked'\n} as const;\nexport type UserPrincipalStatusEnum = typeof UserPrincipalStatusEnum[keyof typeof UserPrincipalStatusEnum];\n\n/**\n * @export\n */\nexport const UserPrincipalProvisioningStatusEnum = {\n Pending: 'pending',\n Ready: 'ready',\n NotApplicable: 'not_applicable'\n} as const;\nexport type UserPrincipalProvisioningStatusEnum = typeof UserPrincipalProvisioningStatusEnum[keyof typeof UserPrincipalProvisioningStatusEnum];\n\n\n/**\n * Check if a given object implements the UserPrincipal interface.\n */\nexport function instanceOfUserPrincipal(value: object): value is UserPrincipal {\n if (!('principalType' in value) || value['principalType'] === undefined) return false;\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('buyerEnabled' in value) || value['buyerEnabled'] === undefined) return false;\n if (!('sellerEnabled' in value) || value['sellerEnabled'] === undefined) return false;\n if (!('provisioningStatus' in value) || value['provisioningStatus'] === undefined) return false;\n if (!('wallet' in value) || value['wallet'] === undefined) return false;\n return true;\n}\n\nexport function UserPrincipalFromJSON(json: any): UserPrincipal {\n return UserPrincipalFromJSONTyped(json, false);\n}\n\nexport function UserPrincipalFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserPrincipal {\n if (json == null) {\n return json;\n }\n return {\n\n 'principalType': json['principal_type'],\n 'id': json['id'],\n 'email': json['email'],\n 'displayName': json['display_name'] == null ? undefined : json['display_name'],\n 'status': json['status'],\n 'buyerEnabled': json['buyer_enabled'],\n 'sellerEnabled': json['seller_enabled'],\n 'provisioningStatus': json['provisioning_status'],\n 'wallet': PrincipalWalletFromJSON(json['wallet']),\n };\n}\n\nexport function UserPrincipalToJSON(json: any): UserPrincipal {\n return UserPrincipalToJSONTyped(json, false);\n}\n\nexport function UserPrincipalToJSONTyped(value?: UserPrincipal | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'principal_type': value['principalType'],\n 'id': value['id'],\n 'email': value['email'],\n 'display_name': value['displayName'],\n 'status': value['status'],\n 'buyer_enabled': value['buyerEnabled'],\n 'seller_enabled': value['sellerEnabled'],\n 'provisioning_status': value['provisioningStatus'],\n 'wallet': PrincipalWalletToJSON(value['wallet']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AccountDetails } from './AccountDetails';\nimport {\n instanceOfAccountDetails,\n AccountDetailsFromJSON,\n AccountDetailsFromJSONTyped,\n AccountDetailsToJSON,\n} from './AccountDetails';\nimport type { UserPrincipal } from './UserPrincipal';\nimport {\n instanceOfUserPrincipal,\n UserPrincipalFromJSON,\n UserPrincipalFromJSONTyped,\n UserPrincipalToJSON,\n} from './UserPrincipal';\n\n/**\n * @type MeResponseData\n *\n * @export\n */\nexport type MeResponseData = { principalType: 'organization' } & AccountDetails | { principalType: 'user' } & UserPrincipal;\n\nexport function MeResponseDataFromJSON(json: any): MeResponseData {\n return MeResponseDataFromJSONTyped(json, false);\n}\n\nexport function MeResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeResponseData {\n if (json == null) {\n return json;\n }\n switch (json['principal_type']) {\n case 'organization':\n return Object.assign({}, AccountDetailsFromJSONTyped(json, true), { principalType: 'organization' } as const);\n case 'user':\n return Object.assign({}, UserPrincipalFromJSONTyped(json, true), { principalType: 'user' } as const);\n default:\n return json;\n }\n}\n\nexport function MeResponseDataToJSON(json: any): any {\n return MeResponseDataToJSONTyped(json, false);\n}\n\nexport function MeResponseDataToJSONTyped(value?: MeResponseData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n switch (value['principalType']) {\n case 'organization':\n return Object.assign({}, AccountDetailsToJSON(value), { principalType: 'organization' } as const);\n case 'user':\n return Object.assign({}, UserPrincipalToJSON(value), { principalType: 'user' } as const);\n default:\n return value;\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MeResponseData } from './MeResponseData';\nimport {\n MeResponseDataFromJSON,\n MeResponseDataFromJSONTyped,\n MeResponseDataToJSON,\n MeResponseDataToJSONTyped,\n} from './MeResponseData';\n\n/**\n *\n * @export\n * @interface MeResponse\n */\nexport interface MeResponse {\n /**\n *\n * @type {MeResponseData}\n * @memberof MeResponse\n */\n data: MeResponseData;\n}\n\n/**\n * Check if a given object implements the MeResponse interface.\n */\nexport function instanceOfMeResponse(value: object): value is MeResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function MeResponseFromJSON(json: any): MeResponse {\n return MeResponseFromJSONTyped(json, false);\n}\n\nexport function MeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MeResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': MeResponseDataFromJSON(json['data']),\n };\n}\n\nexport function MeResponseToJSON(json: any): MeResponse {\n return MeResponseToJSONTyped(json, false);\n}\n\nexport function MeResponseToJSONTyped(value?: MeResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': MeResponseDataToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface MessageResponseData\n */\nexport interface MessageResponseData {\n /**\n *\n * @type {string}\n * @memberof MessageResponseData\n */\n message: string;\n}\n\n/**\n * Check if a given object implements the MessageResponseData interface.\n */\nexport function instanceOfMessageResponseData(value: object): value is MessageResponseData {\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function MessageResponseDataFromJSON(json: any): MessageResponseData {\n return MessageResponseDataFromJSONTyped(json, false);\n}\n\nexport function MessageResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): MessageResponseData {\n if (json == null) {\n return json;\n }\n return {\n\n 'message': json['message'],\n };\n}\n\nexport function MessageResponseDataToJSON(json: any): MessageResponseData {\n return MessageResponseDataToJSONTyped(json, false);\n}\n\nexport function MessageResponseDataToJSONTyped(value?: MessageResponseData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'message': value['message'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { MessageResponseData } from './MessageResponseData';\nimport {\n MessageResponseDataFromJSON,\n MessageResponseDataFromJSONTyped,\n MessageResponseDataToJSON,\n MessageResponseDataToJSONTyped,\n} from './MessageResponseData';\n\n/**\n *\n * @export\n * @interface MessageResponse\n */\nexport interface MessageResponse {\n /**\n *\n * @type {MessageResponseData}\n * @memberof MessageResponse\n */\n data: MessageResponseData;\n}\n\n/**\n * Check if a given object implements the MessageResponse interface.\n */\nexport function instanceOfMessageResponse(value: object): value is MessageResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function MessageResponseFromJSON(json: any): MessageResponse {\n return MessageResponseFromJSONTyped(json, false);\n}\n\nexport function MessageResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MessageResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': MessageResponseDataFromJSON(json['data']),\n };\n}\n\nexport function MessageResponseToJSON(json: any): MessageResponse {\n return MessageResponseToJSONTyped(json, false);\n}\n\nexport function MessageResponseToJSONTyped(value?: MessageResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': MessageResponseDataToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * A single error inside an `ErrorResponse` envelope. `code` is the\n * stable machine-readable identifier (snake_case), `message` is\n * human-readable, `details` carries optional structured context\n * (e.g. validation field breakdown), and `request_id` correlates\n * with server logs for debugging.\n *\n * @export\n * @interface ModelError\n */\nexport interface ModelError {\n /**\n * Stable machine-readable error code (snake_case).\n * @type {string}\n * @memberof ModelError\n */\n code: string;\n /**\n * Human-readable error description.\n * @type {string}\n * @memberof ModelError\n */\n message: string;\n /**\n * Optional structured context about the failure.\n * @type {object}\n * @memberof ModelError\n */\n details?: object;\n /**\n * Correlates with server logs; include when reporting bugs.\n * @type {string}\n * @memberof ModelError\n */\n requestId?: string;\n}\n\n/**\n * Check if a given object implements the ModelError interface.\n */\nexport function instanceOfModelError(value: object): value is ModelError {\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function ModelErrorFromJSON(json: any): ModelError {\n return ModelErrorFromJSONTyped(json, false);\n}\n\nexport function ModelErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelError {\n if (json == null) {\n return json;\n }\n return {\n\n 'code': json['code'],\n 'message': json['message'],\n 'details': json['details'] == null ? undefined : json['details'],\n 'requestId': json['request_id'] == null ? undefined : json['request_id'],\n };\n}\n\nexport function ModelErrorToJSON(json: any): ModelError {\n return ModelErrorToJSONTyped(json, false);\n}\n\nexport function ModelErrorToJSONTyped(value?: ModelError | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'code': value['code'],\n 'message': value['message'],\n 'details': value['details'],\n 'request_id': value['requestId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PasswordResetRequest\n */\nexport interface PasswordResetRequest {\n /**\n *\n * @type {string}\n * @memberof PasswordResetRequest\n */\n email: string;\n}\n\n/**\n * Check if a given object implements the PasswordResetRequest interface.\n */\nexport function instanceOfPasswordResetRequest(value: object): value is PasswordResetRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function PasswordResetRequestFromJSON(json: any): PasswordResetRequest {\n return PasswordResetRequestFromJSONTyped(json, false);\n}\n\nexport function PasswordResetRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PasswordResetRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n };\n}\n\nexport function PasswordResetRequestToJSON(json: any): PasswordResetRequest {\n return PasswordResetRequestToJSONTyped(json, false);\n}\n\nexport function PasswordResetRequestToJSONTyped(value?: PasswordResetRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PasswordUpdateRequest\n */\nexport interface PasswordUpdateRequest {\n /**\n *\n * @type {string}\n * @memberof PasswordUpdateRequest\n */\n resetPasswordToken: string;\n /**\n *\n * @type {string}\n * @memberof PasswordUpdateRequest\n */\n password: string;\n /**\n *\n * @type {string}\n * @memberof PasswordUpdateRequest\n */\n passwordConfirmation: string;\n}\n\n/**\n * Check if a given object implements the PasswordUpdateRequest interface.\n */\nexport function instanceOfPasswordUpdateRequest(value: object): value is PasswordUpdateRequest {\n if (!('resetPasswordToken' in value) || value['resetPasswordToken'] === undefined) return false;\n if (!('password' in value) || value['password'] === undefined) return false;\n if (!('passwordConfirmation' in value) || value['passwordConfirmation'] === undefined) return false;\n return true;\n}\n\nexport function PasswordUpdateRequestFromJSON(json: any): PasswordUpdateRequest {\n return PasswordUpdateRequestFromJSONTyped(json, false);\n}\n\nexport function PasswordUpdateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PasswordUpdateRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'resetPasswordToken': json['reset_password_token'],\n 'password': json['password'],\n 'passwordConfirmation': json['password_confirmation'],\n };\n}\n\nexport function PasswordUpdateRequestToJSON(json: any): PasswordUpdateRequest {\n return PasswordUpdateRequestToJSONTyped(json, false);\n}\n\nexport function PasswordUpdateRequestToJSONTyped(value?: PasswordUpdateRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'reset_password_token': value['resetPasswordToken'],\n 'password': value['password'],\n 'password_confirmation': value['passwordConfirmation'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface Payment\n */\nexport interface Payment {\n /**\n *\n * @type {number}\n * @memberof Payment\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n txHash: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n payerAddress: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n recipientAddress: string;\n /**\n * Amount in atomic units (1 USDC = 1,000,000)\n * @type {number}\n * @memberof Payment\n */\n amount: number;\n /**\n * Human-readable amount (e.g. \"1.00 USDC\")\n * @type {string}\n * @memberof Payment\n */\n amountFormatted: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n currency: string;\n /**\n * CAIP-2 chain identifier\n * @type {string}\n * @memberof Payment\n */\n network: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n resourceUrl?: string;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n resourceHost?: string;\n /**\n *\n * @type {number}\n * @memberof Payment\n */\n settlementLatencyMs?: number;\n /**\n *\n * @type {Date}\n * @memberof Payment\n */\n settledAt: Date;\n /**\n *\n * @type {string}\n * @memberof Payment\n */\n apiKeyName: string;\n}\n\n/**\n * Check if a given object implements the Payment interface.\n */\nexport function instanceOfPayment(value: object): value is Payment {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('txHash' in value) || value['txHash'] === undefined) return false;\n if (!('payerAddress' in value) || value['payerAddress'] === undefined) return false;\n if (!('recipientAddress' in value) || value['recipientAddress'] === undefined) return false;\n if (!('amount' in value) || value['amount'] === undefined) return false;\n if (!('amountFormatted' in value) || value['amountFormatted'] === undefined) return false;\n if (!('currency' in value) || value['currency'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n if (!('settledAt' in value) || value['settledAt'] === undefined) return false;\n if (!('apiKeyName' in value) || value['apiKeyName'] === undefined) return false;\n return true;\n}\n\nexport function PaymentFromJSON(json: any): Payment {\n return PaymentFromJSONTyped(json, false);\n}\n\nexport function PaymentFromJSONTyped(json: any, ignoreDiscriminator: boolean): Payment {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'txHash': json['tx_hash'],\n 'payerAddress': json['payer_address'],\n 'recipientAddress': json['recipient_address'],\n 'amount': json['amount'],\n 'amountFormatted': json['amount_formatted'],\n 'currency': json['currency'],\n 'network': json['network'],\n 'resourceUrl': json['resource_url'] == null ? undefined : json['resource_url'],\n 'resourceHost': json['resource_host'] == null ? undefined : json['resource_host'],\n 'settlementLatencyMs': json['settlement_latency_ms'] == null ? undefined : json['settlement_latency_ms'],\n 'settledAt': (new Date(json['settled_at'])),\n 'apiKeyName': json['api_key_name'],\n };\n}\n\nexport function PaymentToJSON(json: any): Payment {\n return PaymentToJSONTyped(json, false);\n}\n\nexport function PaymentToJSONTyped(value?: Payment | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'tx_hash': value['txHash'],\n 'payer_address': value['payerAddress'],\n 'recipient_address': value['recipientAddress'],\n 'amount': value['amount'],\n 'amount_formatted': value['amountFormatted'],\n 'currency': value['currency'],\n 'network': value['network'],\n 'resource_url': value['resourceUrl'],\n 'resource_host': value['resourceHost'],\n 'settlement_latency_ms': value['settlementLatencyMs'],\n 'settled_at': value['settledAt'].toISOString(),\n 'api_key_name': value['apiKeyName'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Pagination } from './Pagination';\nimport {\n PaginationFromJSON,\n PaginationFromJSONTyped,\n PaginationToJSON,\n PaginationToJSONTyped,\n} from './Pagination';\nimport type { Payment } from './Payment';\nimport {\n PaymentFromJSON,\n PaymentFromJSONTyped,\n PaymentToJSON,\n PaymentToJSONTyped,\n} from './Payment';\n\n/**\n *\n * @export\n * @interface PaymentListResponse\n */\nexport interface PaymentListResponse {\n /**\n *\n * @type {Array<Payment>}\n * @memberof PaymentListResponse\n */\n data: Array<Payment>;\n /**\n *\n * @type {Pagination}\n * @memberof PaymentListResponse\n */\n pagination: Pagination;\n}\n\n/**\n * Check if a given object implements the PaymentListResponse interface.\n */\nexport function instanceOfPaymentListResponse(value: object): value is PaymentListResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n if (!('pagination' in value) || value['pagination'] === undefined) return false;\n return true;\n}\n\nexport function PaymentListResponseFromJSON(json: any): PaymentListResponse {\n return PaymentListResponseFromJSONTyped(json, false);\n}\n\nexport function PaymentListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentListResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ((json['data'] as Array<any>).map(PaymentFromJSON)),\n 'pagination': PaginationFromJSON(json['pagination']),\n };\n}\n\nexport function PaymentListResponseToJSON(json: any): PaymentListResponse {\n return PaymentListResponseToJSONTyped(json, false);\n}\n\nexport function PaymentListResponseToJSONTyped(value?: PaymentListResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ((value['data'] as Array<any>).map(PaymentToJSON)),\n 'pagination': PaginationToJSON(value['pagination']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Payment } from './Payment';\nimport {\n PaymentFromJSON,\n PaymentFromJSONTyped,\n PaymentToJSON,\n PaymentToJSONTyped,\n} from './Payment';\n\n/**\n *\n * @export\n * @interface PaymentResponse\n */\nexport interface PaymentResponse {\n /**\n *\n * @type {Payment}\n * @memberof PaymentResponse\n */\n data: Payment;\n}\n\n/**\n * Check if a given object implements the PaymentResponse interface.\n */\nexport function instanceOfPaymentResponse(value: object): value is PaymentResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function PaymentResponseFromJSON(json: any): PaymentResponse {\n return PaymentResponseFromJSONTyped(json, false);\n}\n\nexport function PaymentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': PaymentFromJSON(json['data']),\n };\n}\n\nexport function PaymentResponseToJSON(json: any): PaymentResponse {\n return PaymentResponseToJSONTyped(json, false);\n}\n\nexport function PaymentResponseToJSONTyped(value?: PaymentResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': PaymentToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface PurchaseArtifact\n */\nexport interface PurchaseArtifact {\n /**\n *\n * @type {number}\n * @memberof PurchaseArtifact\n */\n id: number;\n /**\n *\n * @type {string}\n * @memberof PurchaseArtifact\n */\n merchantUrl: string;\n /**\n *\n * @type {number}\n * @memberof PurchaseArtifact\n */\n bytes: number;\n /**\n *\n * @type {string}\n * @memberof PurchaseArtifact\n */\n mime: string | null;\n}\n\n/**\n * Check if a given object implements the PurchaseArtifact interface.\n */\nexport function instanceOfPurchaseArtifact(value: object): value is PurchaseArtifact {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('merchantUrl' in value) || value['merchantUrl'] === undefined) return false;\n if (!('bytes' in value) || value['bytes'] === undefined) return false;\n if (!('mime' in value) || value['mime'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseArtifactFromJSON(json: any): PurchaseArtifact {\n return PurchaseArtifactFromJSONTyped(json, false);\n}\n\nexport function PurchaseArtifactFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchaseArtifact {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'merchantUrl': json['merchant_url'],\n 'bytes': json['bytes'],\n 'mime': json['mime'],\n };\n}\n\nexport function PurchaseArtifactToJSON(json: any): PurchaseArtifact {\n return PurchaseArtifactToJSONTyped(json, false);\n}\n\nexport function PurchaseArtifactToJSONTyped(value?: PurchaseArtifact | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'merchant_url': value['merchantUrl'],\n 'bytes': value['bytes'],\n 'mime': value['mime'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { PurchaseArtifact } from './PurchaseArtifact';\nimport {\n PurchaseArtifactFromJSON,\n PurchaseArtifactFromJSONTyped,\n PurchaseArtifactToJSON,\n PurchaseArtifactToJSONTyped,\n} from './PurchaseArtifact';\n\n/**\n *\n * @export\n * @interface Purchase\n */\nexport interface Purchase {\n /**\n *\n * @type {number}\n * @memberof Purchase\n */\n id: number;\n /**\n * Opaque purchase id: the value fetch returns as `purchase_id` and\n * that `GET /api/v1/purchases/{id}` accepts. Prefer it over the\n * sequential `id`. Current servers always send this field; it is\n * optional in this schema so that a client also accepts a response\n * from an older server.\n *\n * @type {string}\n * @memberof Purchase\n */\n purchaseId?: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n status: PurchaseStatusEnum;\n /**\n * Exact decimal USD amount with up to six fractional digits. Settled rows report the amount that moved; pending and failed rows report their authorization amount.\n * @type {string}\n * @memberof Purchase\n */\n amountUsd: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n recipientAddress: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n network: string;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n protocol: PurchaseProtocolEnum | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n context: string | null;\n /**\n * Search trace ID used to attribute this purchase, when available.\n * @type {string}\n * @memberof Purchase\n */\n searchId: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n attributionStatus: PurchaseAttributionStatusEnum;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n txHash: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n rejectReason: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n failureReason: string | null;\n /**\n *\n * @type {string}\n * @memberof Purchase\n */\n idempotencyKey: string | null;\n /**\n *\n * @type {Date}\n * @memberof Purchase\n */\n signedAt: Date;\n /**\n *\n * @type {Date}\n * @memberof Purchase\n */\n settledAt: Date | null;\n /**\n *\n * @type {PurchaseArtifact}\n * @memberof Purchase\n */\n artifact: PurchaseArtifact | null;\n}\n\n\n/**\n * @export\n */\nexport const PurchaseStatusEnum = {\n Signed: 'signed',\n Settled: 'settled',\n Locked: 'locked',\n Rejected: 'rejected',\n Declined: 'declined',\n Expired: 'expired',\n Reverted: 'reverted'\n} as const;\nexport type PurchaseStatusEnum = typeof PurchaseStatusEnum[keyof typeof PurchaseStatusEnum];\n\n/**\n * @export\n */\nexport const PurchaseProtocolEnum = {\n Mpp: 'mpp',\n X402: 'x402'\n} as const;\nexport type PurchaseProtocolEnum = typeof PurchaseProtocolEnum[keyof typeof PurchaseProtocolEnum];\n\n/**\n * @export\n */\nexport const PurchaseAttributionStatusEnum = {\n Attributed: 'attributed',\n Unattributed: 'unattributed'\n} as const;\nexport type PurchaseAttributionStatusEnum = typeof PurchaseAttributionStatusEnum[keyof typeof PurchaseAttributionStatusEnum];\n\n\n/**\n * Check if a given object implements the Purchase interface.\n */\nexport function instanceOfPurchase(value: object): value is Purchase {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n if (!('amountUsd' in value) || value['amountUsd'] === undefined) return false;\n if (!('recipientAddress' in value) || value['recipientAddress'] === undefined) return false;\n if (!('network' in value) || value['network'] === undefined) return false;\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n if (!('context' in value) || value['context'] === undefined) return false;\n if (!('searchId' in value) || value['searchId'] === undefined) return false;\n if (!('attributionStatus' in value) || value['attributionStatus'] === undefined) return false;\n if (!('txHash' in value) || value['txHash'] === undefined) return false;\n if (!('rejectReason' in value) || value['rejectReason'] === undefined) return false;\n if (!('failureReason' in value) || value['failureReason'] === undefined) return false;\n if (!('idempotencyKey' in value) || value['idempotencyKey'] === undefined) return false;\n if (!('signedAt' in value) || value['signedAt'] === undefined) return false;\n if (!('settledAt' in value) || value['settledAt'] === undefined) return false;\n if (!('artifact' in value) || value['artifact'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseFromJSON(json: any): Purchase {\n return PurchaseFromJSONTyped(json, false);\n}\n\nexport function PurchaseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Purchase {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'purchaseId': json['purchase_id'] == null ? undefined : json['purchase_id'],\n 'status': json['status'],\n 'amountUsd': json['amount_usd'],\n 'recipientAddress': json['recipient_address'],\n 'network': json['network'],\n 'protocol': json['protocol'],\n 'context': json['context'],\n 'searchId': json['search_id'],\n 'attributionStatus': json['attribution_status'],\n 'txHash': json['tx_hash'],\n 'rejectReason': json['reject_reason'],\n 'failureReason': json['failure_reason'],\n 'idempotencyKey': json['idempotency_key'],\n 'signedAt': (new Date(json['signed_at'])),\n 'settledAt': (json['settled_at'] == null ? null : new Date(json['settled_at'])),\n 'artifact': PurchaseArtifactFromJSON(json['artifact']),\n };\n}\n\nexport function PurchaseToJSON(json: any): Purchase {\n return PurchaseToJSONTyped(json, false);\n}\n\nexport function PurchaseToJSONTyped(value?: Purchase | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'purchase_id': value['purchaseId'],\n 'status': value['status'],\n 'amount_usd': value['amountUsd'],\n 'recipient_address': value['recipientAddress'],\n 'network': value['network'],\n 'protocol': value['protocol'],\n 'context': value['context'],\n 'search_id': value['searchId'],\n 'attribution_status': value['attributionStatus'],\n 'tx_hash': value['txHash'],\n 'reject_reason': value['rejectReason'],\n 'failure_reason': value['failureReason'],\n 'idempotency_key': value['idempotencyKey'],\n 'signed_at': value['signedAt'].toISOString(),\n 'settled_at': value['settledAt'] == null ? value['settledAt'] : value['settledAt'].toISOString(),\n 'artifact': PurchaseArtifactToJSON(value['artifact']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Pagination } from './Pagination';\nimport {\n PaginationFromJSON,\n PaginationFromJSONTyped,\n PaginationToJSON,\n PaginationToJSONTyped,\n} from './Pagination';\nimport type { Purchase } from './Purchase';\nimport {\n PurchaseFromJSON,\n PurchaseFromJSONTyped,\n PurchaseToJSON,\n PurchaseToJSONTyped,\n} from './Purchase';\n\n/**\n *\n * @export\n * @interface PurchaseListResponse\n */\nexport interface PurchaseListResponse {\n /**\n *\n * @type {Array<Purchase>}\n * @memberof PurchaseListResponse\n */\n data: Array<Purchase>;\n /**\n *\n * @type {Pagination}\n * @memberof PurchaseListResponse\n */\n pagination: Pagination;\n}\n\n/**\n * Check if a given object implements the PurchaseListResponse interface.\n */\nexport function instanceOfPurchaseListResponse(value: object): value is PurchaseListResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n if (!('pagination' in value) || value['pagination'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseListResponseFromJSON(json: any): PurchaseListResponse {\n return PurchaseListResponseFromJSONTyped(json, false);\n}\n\nexport function PurchaseListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchaseListResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': ((json['data'] as Array<any>).map(PurchaseFromJSON)),\n 'pagination': PaginationFromJSON(json['pagination']),\n };\n}\n\nexport function PurchaseListResponseToJSON(json: any): PurchaseListResponse {\n return PurchaseListResponseToJSONTyped(json, false);\n}\n\nexport function PurchaseListResponseToJSONTyped(value?: PurchaseListResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': ((value['data'] as Array<any>).map(PurchaseToJSON)),\n 'pagination': PaginationToJSON(value['pagination']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Purchase } from './Purchase';\nimport {\n PurchaseFromJSON,\n PurchaseFromJSONTyped,\n PurchaseToJSON,\n PurchaseToJSONTyped,\n} from './Purchase';\n\n/**\n *\n * @export\n * @interface PurchaseResponse\n */\nexport interface PurchaseResponse {\n /**\n *\n * @type {Purchase}\n * @memberof PurchaseResponse\n */\n data: Purchase;\n}\n\n/**\n * Check if a given object implements the PurchaseResponse interface.\n */\nexport function instanceOfPurchaseResponse(value: object): value is PurchaseResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function PurchaseResponseFromJSON(json: any): PurchaseResponse {\n return PurchaseResponseFromJSONTyped(json, false);\n}\n\nexport function PurchaseResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PurchaseResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': PurchaseFromJSON(json['data']),\n };\n}\n\nexport function PurchaseResponseToJSON(json: any): PurchaseResponse {\n return PurchaseResponseToJSONTyped(json, false);\n}\n\nexport function PurchaseResponseToJSONTyped(value?: PurchaseResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': PurchaseToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface RateLimitResponse\n */\nexport interface RateLimitResponse {\n /**\n *\n * @type {string}\n * @memberof RateLimitResponse\n */\n error: RateLimitResponseErrorEnum;\n /**\n *\n * @type {string}\n * @memberof RateLimitResponse\n */\n errorDescription: string;\n}\n\n\n/**\n * @export\n */\nexport const RateLimitResponseErrorEnum = {\n TooManyRequests: 'too_many_requests'\n} as const;\nexport type RateLimitResponseErrorEnum = typeof RateLimitResponseErrorEnum[keyof typeof RateLimitResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the RateLimitResponse interface.\n */\nexport function instanceOfRateLimitResponse(value: object): value is RateLimitResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n if (!('errorDescription' in value) || value['errorDescription'] === undefined) return false;\n return true;\n}\n\nexport function RateLimitResponseFromJSON(json: any): RateLimitResponse {\n return RateLimitResponseFromJSONTyped(json, false);\n}\n\nexport function RateLimitResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RateLimitResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'errorDescription': json['error_description'],\n };\n}\n\nexport function RateLimitResponseToJSON(json: any): RateLimitResponse {\n return RateLimitResponseToJSONTyped(json, false);\n}\n\nexport function RateLimitResponseToJSONTyped(value?: RateLimitResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'error_description': value['errorDescription'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface ResendConfirmationRequest\n */\nexport interface ResendConfirmationRequest {\n /**\n *\n * @type {string}\n * @memberof ResendConfirmationRequest\n */\n email: string;\n}\n\n/**\n * Check if a given object implements the ResendConfirmationRequest interface.\n */\nexport function instanceOfResendConfirmationRequest(value: object): value is ResendConfirmationRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n return true;\n}\n\nexport function ResendConfirmationRequestFromJSON(json: any): ResendConfirmationRequest {\n return ResendConfirmationRequestFromJSONTyped(json, false);\n}\n\nexport function ResendConfirmationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResendConfirmationRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n };\n}\n\nexport function ResendConfirmationRequestToJSON(json: any): ResendConfirmationRequest {\n return ResendConfirmationRequestToJSONTyped(json, false);\n}\n\nexport function ResendConfirmationRequestToJSONTyped(value?: ResendConfirmationRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * `slug` and `category` are accepted but silently ignored — the server\n * generates the slug from `name`, and category is a post-claim concern.\n *\n * @export\n * @interface ResourceEnrollmentRequest\n */\nexport interface ResourceEnrollmentRequest {\n /**\n * Resource kind. Must be one of the supported kinds (currently\n * `agent`); an unknown value is rejected with a 422.\n *\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n kind: string;\n /**\n * Human-readable name; the server derives the slug from it.\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n description?: string;\n /**\n * Declared EVM wallet address for the ghost resource. Stored as a\n * claim (unverified) until the resource is claimed.\n *\n * @type {string}\n * @memberof ResourceEnrollmentRequest\n */\n walletAddress?: string;\n}\n\n/**\n * Check if a given object implements the ResourceEnrollmentRequest interface.\n */\nexport function instanceOfResourceEnrollmentRequest(value: object): value is ResourceEnrollmentRequest {\n if (!('kind' in value) || value['kind'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n return true;\n}\n\nexport function ResourceEnrollmentRequestFromJSON(json: any): ResourceEnrollmentRequest {\n return ResourceEnrollmentRequestFromJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceEnrollmentRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'kind': json['kind'],\n 'name': json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'walletAddress': json['wallet_address'] == null ? undefined : json['wallet_address'],\n };\n}\n\nexport function ResourceEnrollmentRequestToJSON(json: any): ResourceEnrollmentRequest {\n return ResourceEnrollmentRequestToJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentRequestToJSONTyped(value?: ResourceEnrollmentRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'kind': value['kind'],\n 'name': value['name'],\n 'description': value['description'],\n 'wallet_address': value['walletAddress'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { EnrolledResource } from './EnrolledResource';\nimport {\n EnrolledResourceFromJSON,\n EnrolledResourceFromJSONTyped,\n EnrolledResourceToJSON,\n EnrolledResourceToJSONTyped,\n} from './EnrolledResource';\n\n/**\n *\n * @export\n * @interface ResourceEnrollmentResponse\n */\nexport interface ResourceEnrollmentResponse {\n /**\n *\n * @type {EnrolledResource}\n * @memberof ResourceEnrollmentResponse\n */\n data: EnrolledResource;\n}\n\n/**\n * Check if a given object implements the ResourceEnrollmentResponse interface.\n */\nexport function instanceOfResourceEnrollmentResponse(value: object): value is ResourceEnrollmentResponse {\n if (!('data' in value) || value['data'] === undefined) return false;\n return true;\n}\n\nexport function ResourceEnrollmentResponseFromJSON(json: any): ResourceEnrollmentResponse {\n return ResourceEnrollmentResponseFromJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceEnrollmentResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'data': EnrolledResourceFromJSON(json['data']),\n };\n}\n\nexport function ResourceEnrollmentResponseToJSON(json: any): ResourceEnrollmentResponse {\n return ResourceEnrollmentResponseToJSONTyped(json, false);\n}\n\nexport function ResourceEnrollmentResponseToJSONTyped(value?: ResourceEnrollmentResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'data': EnrolledResourceToJSON(value['data']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchWeftFetchCompatibility\n */\nexport interface SearchWeftFetchCompatibility {\n /**\n *\n * @type {string}\n * @memberof SearchWeftFetchCompatibility\n */\n state: SearchWeftFetchCompatibilityStateEnum;\n /**\n *\n * @type {string}\n * @memberof SearchWeftFetchCompatibility\n */\n reason: string;\n /**\n *\n * @type {number}\n * @memberof SearchWeftFetchCompatibility\n */\n contractVersion: number;\n /**\n * Extent of the operation covered by weft_fetch. `terminal_response`\n * covers the terminal result; `submission_only` covers submission but\n * not completion or retrieval of the result; `none` means no coverage.\n * When absent, coverage is unknown, not terminal. Do not infer terminal\n * coverage from synchronous execution mode alone.\n *\n * @type {string}\n * @memberof SearchWeftFetchCompatibility\n */\n coverage?: SearchWeftFetchCompatibilityCoverageEnum;\n}\n\n\n/**\n * @export\n */\nexport const SearchWeftFetchCompatibilityStateEnum = {\n Supported: 'supported',\n Unsupported: 'unsupported',\n Unknown: 'unknown'\n} as const;\nexport type SearchWeftFetchCompatibilityStateEnum = typeof SearchWeftFetchCompatibilityStateEnum[keyof typeof SearchWeftFetchCompatibilityStateEnum];\n\n/**\n * @export\n */\nexport const SearchWeftFetchCompatibilityCoverageEnum = {\n TerminalResponse: 'terminal_response',\n SubmissionOnly: 'submission_only',\n None: 'none'\n} as const;\nexport type SearchWeftFetchCompatibilityCoverageEnum = typeof SearchWeftFetchCompatibilityCoverageEnum[keyof typeof SearchWeftFetchCompatibilityCoverageEnum];\n\n\n/**\n * Check if a given object implements the SearchWeftFetchCompatibility interface.\n */\nexport function instanceOfSearchWeftFetchCompatibility(value: object): value is SearchWeftFetchCompatibility {\n if (!('state' in value) || value['state'] === undefined) return false;\n if (!('reason' in value) || value['reason'] === undefined) return false;\n if (!('contractVersion' in value) || value['contractVersion'] === undefined) return false;\n return true;\n}\n\nexport function SearchWeftFetchCompatibilityFromJSON(json: any): SearchWeftFetchCompatibility {\n return SearchWeftFetchCompatibilityFromJSONTyped(json, false);\n}\n\nexport function SearchWeftFetchCompatibilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchWeftFetchCompatibility {\n if (json == null) {\n return json;\n }\n return {\n\n 'state': json['state'],\n 'reason': json['reason'],\n 'contractVersion': json['contract_version'],\n 'coverage': json['coverage'] == null ? undefined : json['coverage'],\n };\n}\n\nexport function SearchWeftFetchCompatibilityToJSON(json: any): SearchWeftFetchCompatibility {\n return SearchWeftFetchCompatibilityToJSONTyped(json, false);\n}\n\nexport function SearchWeftFetchCompatibilityToJSONTyped(value?: SearchWeftFetchCompatibility | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'state': value['state'],\n 'reason': value['reason'],\n 'contract_version': value['contractVersion'],\n 'coverage': value['coverage'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchWeftFetchCompatibility } from './SearchWeftFetchCompatibility';\nimport {\n SearchWeftFetchCompatibilityFromJSON,\n SearchWeftFetchCompatibilityFromJSONTyped,\n SearchWeftFetchCompatibilityToJSON,\n SearchWeftFetchCompatibilityToJSONTyped,\n} from './SearchWeftFetchCompatibility';\n\n/**\n *\n * @export\n * @interface SearchAccessMethod\n */\nexport interface SearchAccessMethod {\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n accessMethodId: string;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n protocol: SearchAccessMethodProtocolEnum;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n scheme?: string;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n network?: string;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n asset?: string;\n /**\n *\n * @type {number}\n * @memberof SearchAccessMethod\n */\n assetDecimals?: number;\n /**\n *\n * @type {object}\n * @memberof SearchAccessMethod\n */\n price: object;\n /**\n *\n * @type {object}\n * @memberof SearchAccessMethod\n */\n merchant?: object;\n /**\n *\n * @type {object}\n * @memberof SearchAccessMethod\n */\n terms?: object;\n /**\n *\n * @type {string}\n * @memberof SearchAccessMethod\n */\n status?: SearchAccessMethodStatusEnum;\n /**\n *\n * @type {SearchWeftFetchCompatibility}\n * @memberof SearchAccessMethod\n */\n weftFetch: SearchWeftFetchCompatibility;\n}\n\n\n/**\n * @export\n */\nexport const SearchAccessMethodProtocolEnum = {\n X402: 'x402',\n Mpp: 'mpp',\n Free: 'free'\n} as const;\nexport type SearchAccessMethodProtocolEnum = typeof SearchAccessMethodProtocolEnum[keyof typeof SearchAccessMethodProtocolEnum];\n\n/**\n * @export\n */\nexport const SearchAccessMethodStatusEnum = {\n Listed: 'listed',\n Observed: 'observed',\n Unavailable: 'unavailable'\n} as const;\nexport type SearchAccessMethodStatusEnum = typeof SearchAccessMethodStatusEnum[keyof typeof SearchAccessMethodStatusEnum];\n\n\n/**\n * Check if a given object implements the SearchAccessMethod interface.\n */\nexport function instanceOfSearchAccessMethod(value: object): value is SearchAccessMethod {\n if (!('accessMethodId' in value) || value['accessMethodId'] === undefined) return false;\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n if (!('price' in value) || value['price'] === undefined) return false;\n if (!('weftFetch' in value) || value['weftFetch'] === undefined) return false;\n return true;\n}\n\nexport function SearchAccessMethodFromJSON(json: any): SearchAccessMethod {\n return SearchAccessMethodFromJSONTyped(json, false);\n}\n\nexport function SearchAccessMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchAccessMethod {\n if (json == null) {\n return json;\n }\n return {\n\n 'accessMethodId': json['access_method_id'],\n 'protocol': json['protocol'],\n 'scheme': json['scheme'] == null ? undefined : json['scheme'],\n 'network': json['network'] == null ? undefined : json['network'],\n 'asset': json['asset'] == null ? undefined : json['asset'],\n 'assetDecimals': json['asset_decimals'] == null ? undefined : json['asset_decimals'],\n 'price': json['price'],\n 'merchant': json['merchant'] == null ? undefined : json['merchant'],\n 'terms': json['terms'] == null ? undefined : json['terms'],\n 'status': json['status'] == null ? undefined : json['status'],\n 'weftFetch': SearchWeftFetchCompatibilityFromJSON(json['weft_fetch']),\n };\n}\n\nexport function SearchAccessMethodToJSON(json: any): SearchAccessMethod {\n return SearchAccessMethodToJSONTyped(json, false);\n}\n\nexport function SearchAccessMethodToJSONTyped(value?: SearchAccessMethod | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'access_method_id': value['accessMethodId'],\n 'protocol': value['protocol'],\n 'scheme': value['scheme'],\n 'network': value['network'],\n 'asset': value['asset'],\n 'asset_decimals': value['assetDecimals'],\n 'price': value['price'],\n 'merchant': value['merchant'],\n 'terms': value['terms'],\n 'status': value['status'],\n 'weft_fetch': SearchWeftFetchCompatibilityToJSON(value['weftFetch']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCapabilityRef\n */\nexport interface SearchCapabilityRef {\n /**\n *\n * @type {string}\n * @memberof SearchCapabilityRef\n */\n capabilityId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCapabilityRef\n */\n capabilityType?: string;\n}\n\n/**\n * Check if a given object implements the SearchCapabilityRef interface.\n */\nexport function instanceOfSearchCapabilityRef(value: object): value is SearchCapabilityRef {\n return true;\n}\n\nexport function SearchCapabilityRefFromJSON(json: any): SearchCapabilityRef {\n return SearchCapabilityRefFromJSONTyped(json, false);\n}\n\nexport function SearchCapabilityRefFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCapabilityRef {\n if (json == null) {\n return json;\n }\n return {\n\n 'capabilityId': json['capability_id'] == null ? undefined : json['capability_id'],\n 'capabilityType': json['capability_type'] == null ? undefined : json['capability_type'],\n };\n}\n\nexport function SearchCapabilityRefToJSON(json: any): SearchCapabilityRef {\n return SearchCapabilityRefToJSONTyped(json, false);\n}\n\nexport function SearchCapabilityRefToJSONTyped(value?: SearchCapabilityRef | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'capability_id': value['capabilityId'],\n 'capability_type': value['capabilityType'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactAccessPrice\n */\nexport interface SearchCompactAccessPrice {\n /**\n * Price kind, such as `fixed`, `dynamic`, `free` or `unknown`.\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n kind?: string;\n /**\n * Indexed USD price. A `dynamic` price is not a cap.\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n indexedUsd?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n unit?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactAccessPrice\n */\n hint?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactAccessPrice interface.\n */\nexport function instanceOfSearchCompactAccessPrice(value: object): value is SearchCompactAccessPrice {\n return true;\n}\n\nexport function SearchCompactAccessPriceFromJSON(json: any): SearchCompactAccessPrice {\n return SearchCompactAccessPriceFromJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessPriceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactAccessPrice {\n if (json == null) {\n return json;\n }\n return {\n\n 'kind': json['kind'] == null ? undefined : json['kind'],\n 'indexedUsd': json['indexed_usd'] == null ? undefined : json['indexed_usd'],\n 'unit': json['unit'] == null ? undefined : json['unit'],\n 'hint': json['hint'] == null ? undefined : json['hint'],\n };\n}\n\nexport function SearchCompactAccessPriceToJSON(json: any): SearchCompactAccessPrice {\n return SearchCompactAccessPriceToJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessPriceToJSONTyped(value?: SearchCompactAccessPrice | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'kind': value['kind'],\n 'indexed_usd': value['indexedUsd'],\n 'unit': value['unit'],\n 'hint': value['hint'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchCompactAccessPrice } from './SearchCompactAccessPrice';\nimport {\n SearchCompactAccessPriceFromJSON,\n SearchCompactAccessPriceFromJSONTyped,\n SearchCompactAccessPriceToJSON,\n SearchCompactAccessPriceToJSONTyped,\n} from './SearchCompactAccessPrice';\n\n/**\n * The recommended access method for this operation.\n * @export\n * @interface SearchCompactAccess\n */\nexport interface SearchCompactAccess {\n /**\n * The `access_method_id` to send to `POST /api/v1/fetch`.\n * @type {string}\n * @memberof SearchCompactAccess\n */\n id?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactAccess\n */\n protocol?: string;\n /**\n * Whether the Weft fetch runtime can pay this access method (`state`, and `reason` and `coverage` when they fit).\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactAccess\n */\n weftFetch?: { [key: string]: any; };\n /**\n *\n * @type {SearchCompactAccessPrice}\n * @memberof SearchCompactAccess\n */\n price?: SearchCompactAccessPrice;\n}\n\n/**\n * Check if a given object implements the SearchCompactAccess interface.\n */\nexport function instanceOfSearchCompactAccess(value: object): value is SearchCompactAccess {\n return true;\n}\n\nexport function SearchCompactAccessFromJSON(json: any): SearchCompactAccess {\n return SearchCompactAccessFromJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactAccess {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'] == null ? undefined : json['id'],\n 'protocol': json['protocol'] == null ? undefined : json['protocol'],\n 'weftFetch': json['weft_fetch'] == null ? undefined : json['weft_fetch'],\n 'price': json['price'] == null ? undefined : SearchCompactAccessPriceFromJSON(json['price']),\n };\n}\n\nexport function SearchCompactAccessToJSON(json: any): SearchCompactAccess {\n return SearchCompactAccessToJSONTyped(json, false);\n}\n\nexport function SearchCompactAccessToJSONTyped(value?: SearchCompactAccess | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'protocol': value['protocol'],\n 'weft_fetch': value['weftFetch'],\n 'price': SearchCompactAccessPriceToJSON(value['price']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * A ready paid call, present when the request is determined and the\n * Weft fetch runtime can pay the access method. Replace each `{name}`\n * listed in `fill` in `body` (and add `max_cost_usd` or `body` when they\n * are listed), then send `body` as the JSON body of `POST /api/v1/fetch`\n * with an `Idempotency-Key` header. `body` uses the wire field names\n * (`max_cost_usd`, `search_id`); an SDK fetch call may name them\n * differently, so map each field and keep the attribution fields.\n *\n * @export\n * @interface SearchCompactNextCall\n */\nexport interface SearchCompactNextCall {\n /**\n *\n * @type {string}\n * @memberof SearchCompactNextCall\n */\n method: SearchCompactNextCallMethodEnum;\n /**\n *\n * @type {string}\n * @memberof SearchCompactNextCall\n */\n path: SearchCompactNextCallPathEnum;\n /**\n * A `FetchRequest` with documented example values and `{name}` placeholders.\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactNextCall\n */\n body: { [key: string]: any; };\n /**\n * Names to replace before you send the request.\n * @type {Array<string>}\n * @memberof SearchCompactNextCall\n */\n fill: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const SearchCompactNextCallMethodEnum = {\n Post: 'POST'\n} as const;\nexport type SearchCompactNextCallMethodEnum = typeof SearchCompactNextCallMethodEnum[keyof typeof SearchCompactNextCallMethodEnum];\n\n/**\n * @export\n */\nexport const SearchCompactNextCallPathEnum = {\n ApiV1Fetch: '/api/v1/fetch'\n} as const;\nexport type SearchCompactNextCallPathEnum = typeof SearchCompactNextCallPathEnum[keyof typeof SearchCompactNextCallPathEnum];\n\n\n/**\n * Check if a given object implements the SearchCompactNextCall interface.\n */\nexport function instanceOfSearchCompactNextCall(value: object): value is SearchCompactNextCall {\n if (!('method' in value) || value['method'] === undefined) return false;\n if (!('path' in value) || value['path'] === undefined) return false;\n if (!('body' in value) || value['body'] === undefined) return false;\n if (!('fill' in value) || value['fill'] === undefined) return false;\n return true;\n}\n\nexport function SearchCompactNextCallFromJSON(json: any): SearchCompactNextCall {\n return SearchCompactNextCallFromJSONTyped(json, false);\n}\n\nexport function SearchCompactNextCallFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactNextCall {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'],\n 'path': json['path'],\n 'body': json['body'],\n 'fill': json['fill'],\n };\n}\n\nexport function SearchCompactNextCallToJSON(json: any): SearchCompactNextCall {\n return SearchCompactNextCallToJSONTyped(json, false);\n}\n\nexport function SearchCompactNextCallToJSONTyped(value?: SearchCompactNextCall | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'path': value['path'],\n 'body': value['body'],\n 'fill': value['fill'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactResultBlockedScopesInner\n */\nexport interface SearchCompactResultBlockedScopesInner {\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultBlockedScopesInner\n */\n scope?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultBlockedScopesInner\n */\n state?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultBlockedScopesInner interface.\n */\nexport function instanceOfSearchCompactResultBlockedScopesInner(value: object): value is SearchCompactResultBlockedScopesInner {\n return true;\n}\n\nexport function SearchCompactResultBlockedScopesInnerFromJSON(json: any): SearchCompactResultBlockedScopesInner {\n return SearchCompactResultBlockedScopesInnerFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultBlockedScopesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultBlockedScopesInner {\n if (json == null) {\n return json;\n }\n return {\n\n 'scope': json['scope'] == null ? undefined : json['scope'],\n 'state': json['state'] == null ? undefined : json['state'],\n };\n}\n\nexport function SearchCompactResultBlockedScopesInnerToJSON(json: any): SearchCompactResultBlockedScopesInner {\n return SearchCompactResultBlockedScopesInnerToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultBlockedScopesInnerToJSONTyped(value?: SearchCompactResultBlockedScopesInner | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'scope': value['scope'],\n 'state': value['state'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactResultOperation\n */\nexport interface SearchCompactResultOperation {\n /**\n * Catalog operation id. Send it as `operation_id` to `POST /api/v1/fetch`.\n * @type {string}\n * @memberof SearchCompactResultOperation\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultOperation\n */\n name?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultOperation\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultOperation interface.\n */\nexport function instanceOfSearchCompactResultOperation(value: object): value is SearchCompactResultOperation {\n if (!('id' in value) || value['id'] === undefined) return false;\n return true;\n}\n\nexport function SearchCompactResultOperationFromJSON(json: any): SearchCompactResultOperation {\n return SearchCompactResultOperationFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultOperation {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function SearchCompactResultOperationToJSON(json: any): SearchCompactResultOperation {\n return SearchCompactResultOperationToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultOperationToJSONTyped(value?: SearchCompactResultOperation | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Free helper links for the upstream provider. GET these URLs.\n * Do not send them through `weft_fetch`.\n *\n * @export\n * @interface SearchHelperDocs\n */\nexport interface SearchHelperDocs {\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n website?: string;\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n homepage?: string;\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n api?: string;\n /**\n *\n * @type {string}\n * @memberof SearchHelperDocs\n */\n llmsTxt?: string;\n}\n\n/**\n * Check if a given object implements the SearchHelperDocs interface.\n */\nexport function instanceOfSearchHelperDocs(value: object): value is SearchHelperDocs {\n return true;\n}\n\nexport function SearchHelperDocsFromJSON(json: any): SearchHelperDocs {\n return SearchHelperDocsFromJSONTyped(json, false);\n}\n\nexport function SearchHelperDocsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchHelperDocs {\n if (json == null) {\n return json;\n }\n return {\n\n 'website': json['website'] == null ? undefined : json['website'],\n 'homepage': json['homepage'] == null ? undefined : json['homepage'],\n 'api': json['api'] == null ? undefined : json['api'],\n 'llmsTxt': json['llms_txt'] == null ? undefined : json['llms_txt'],\n };\n}\n\nexport function SearchHelperDocsToJSON(json: any): SearchHelperDocs {\n return SearchHelperDocsToJSONTyped(json, false);\n}\n\nexport function SearchHelperDocsToJSONTyped(value?: SearchHelperDocs | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'website': value['website'],\n 'homepage': value['homepage'],\n 'api': value['api'],\n 'llms_txt': value['llmsTxt'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Labels to send with the paid fetch so the purchase links to this\n * search. Left out when `next_call.body` already carries them.\n *\n * @export\n * @interface SearchCompactResultAttribution\n */\nexport interface SearchCompactResultAttribution {\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultAttribution\n */\n searchId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultAttribution\n */\n operationId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultAttribution\n */\n accessMethodId?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultAttribution interface.\n */\nexport function instanceOfSearchCompactResultAttribution(value: object): value is SearchCompactResultAttribution {\n return true;\n}\n\nexport function SearchCompactResultAttributionFromJSON(json: any): SearchCompactResultAttribution {\n return SearchCompactResultAttributionFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultAttributionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultAttribution {\n if (json == null) {\n return json;\n }\n return {\n\n 'searchId': json['search_id'] == null ? undefined : json['search_id'],\n 'operationId': json['operation_id'] == null ? undefined : json['operation_id'],\n 'accessMethodId': json['access_method_id'] == null ? undefined : json['access_method_id'],\n };\n}\n\nexport function SearchCompactResultAttributionToJSON(json: any): SearchCompactResultAttribution {\n return SearchCompactResultAttributionToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultAttributionToJSONTyped(value?: SearchCompactResultAttribution | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'search_id': value['searchId'],\n 'operation_id': value['operationId'],\n 'access_method_id': value['accessMethodId'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCompactResultProvider\n */\nexport interface SearchCompactResultProvider {\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultProvider\n */\n id?: string;\n /**\n *\n * @type {string}\n * @memberof SearchCompactResultProvider\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the SearchCompactResultProvider interface.\n */\nexport function instanceOfSearchCompactResultProvider(value: object): value is SearchCompactResultProvider {\n return true;\n}\n\nexport function SearchCompactResultProviderFromJSON(json: any): SearchCompactResultProvider {\n return SearchCompactResultProviderFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResultProvider {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function SearchCompactResultProviderToJSON(json: any): SearchCompactResultProvider {\n return SearchCompactResultProviderToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultProviderToJSONTyped(value?: SearchCompactResultProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchCompactNextCall } from './SearchCompactNextCall';\nimport {\n SearchCompactNextCallFromJSON,\n SearchCompactNextCallFromJSONTyped,\n SearchCompactNextCallToJSON,\n SearchCompactNextCallToJSONTyped,\n} from './SearchCompactNextCall';\nimport type { SearchCompactResultBlockedScopesInner } from './SearchCompactResultBlockedScopesInner';\nimport {\n SearchCompactResultBlockedScopesInnerFromJSON,\n SearchCompactResultBlockedScopesInnerFromJSONTyped,\n SearchCompactResultBlockedScopesInnerToJSON,\n SearchCompactResultBlockedScopesInnerToJSONTyped,\n} from './SearchCompactResultBlockedScopesInner';\nimport type { SearchCompactAccess } from './SearchCompactAccess';\nimport {\n SearchCompactAccessFromJSON,\n SearchCompactAccessFromJSONTyped,\n SearchCompactAccessToJSON,\n SearchCompactAccessToJSONTyped,\n} from './SearchCompactAccess';\nimport type { SearchCompactResultOperation } from './SearchCompactResultOperation';\nimport {\n SearchCompactResultOperationFromJSON,\n SearchCompactResultOperationFromJSONTyped,\n SearchCompactResultOperationToJSON,\n SearchCompactResultOperationToJSONTyped,\n} from './SearchCompactResultOperation';\nimport type { SearchHelperDocs } from './SearchHelperDocs';\nimport {\n SearchHelperDocsFromJSON,\n SearchHelperDocsFromJSONTyped,\n SearchHelperDocsToJSON,\n SearchHelperDocsToJSONTyped,\n} from './SearchHelperDocs';\nimport type { SearchCompactResultAttribution } from './SearchCompactResultAttribution';\nimport {\n SearchCompactResultAttributionFromJSON,\n SearchCompactResultAttributionFromJSONTyped,\n SearchCompactResultAttributionToJSON,\n SearchCompactResultAttributionToJSONTyped,\n} from './SearchCompactResultAttribution';\nimport type { SearchCompactResultProvider } from './SearchCompactResultProvider';\nimport {\n SearchCompactResultProviderFromJSON,\n SearchCompactResultProviderFromJSONTyped,\n SearchCompactResultProviderToJSON,\n SearchCompactResultProviderToJSONTyped,\n} from './SearchCompactResultProvider';\n\n/**\n * One row of the compact agent view: the minimum contract for the next\n * paid call, below 2,000 JSON bytes. It is the hosted MCP `weft_search`\n * projection with REST references: `contract_url` replaces the MCP\n * `weft_contract` call, and `next_call` is a `POST /api/v1/fetch`\n * request instead of an MCP `weft_fetch` call. To stay in the budget,\n * the row drops optional fields in a fixed order (optional inputs, helper\n * docs, the example, the description, then summaries) and\n * `contract_detail` says what is left out. In the last resort the row\n * keeps the operation id, readiness states, the `weft_fetch` state,\n * `contract_url` and the search id, and can lose the input names, the\n * request recipe and price. The full contract at `contract_url` is\n * always complete. The search id is the\n * envelope `query_trace_id`; each row also carries it in `attribution`\n * or in `next_call.body`.\n *\n * @export\n * @interface SearchCompactResult\n */\nexport interface SearchCompactResult {\n /**\n *\n * @type {SearchCompactResultProvider}\n * @memberof SearchCompactResult\n */\n provider?: SearchCompactResultProvider;\n /**\n *\n * @type {SearchCompactResultOperation}\n * @memberof SearchCompactResult\n */\n operation: SearchCompactResultOperation;\n /**\n * Typed business inputs (a bounded JSON schema), or the names and\n * locations of the required inputs when the full schema does not\n * fit. Read the full contract before you send an input not listed.\n *\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactResult\n */\n inputs?: { [key: string]: any; };\n /**\n * The request recipe: `method`, canonical `url`, and, when known,\n * the path, query, header and JSON body bindings of each input.\n *\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactResult\n */\n request?: { [key: string]: any; };\n /**\n *\n * @type {any}\n * @memberof SearchCompactResult\n */\n example?: any | null;\n /**\n *\n * @type {SearchCompactAccess}\n * @memberof SearchCompactResult\n */\n access: SearchCompactAccess;\n /**\n *\n * @type {SearchCompactResultAttribution}\n * @memberof SearchCompactResult\n */\n attribution?: SearchCompactResultAttribution;\n /**\n * Media type, execution mode, a bounded output summary and, for async work, the poll workflow.\n * @type {{ [key: string]: any; }}\n * @memberof SearchCompactResult\n */\n output?: { [key: string]: any; };\n /**\n *\n * @type {SearchHelperDocs}\n * @memberof SearchCompactResult\n */\n docs?: SearchHelperDocs;\n /**\n * Content-addressed full Weft contract. GET it with your Weft\n * credential (a buyer account key, an OAuth token with the `search`\n * scope, or a claimed `wbt_*` bootstrap bearer) before you build a\n * request the summary does not fully describe. A pending bootstrap\n * bearer gets `401` until a human approves the account.\n *\n * @type {string}\n * @memberof SearchCompactResult\n */\n contractUrl: string;\n /**\n * What this summary leaves out of the full contract.\n * @type {string}\n * @memberof SearchCompactResult\n */\n contractDetail: string;\n /**\n * Completion guidance when the completion rules did not fit inline.\n * @type {string}\n * @memberof SearchCompactResult\n */\n completion?: string;\n /**\n *\n * @type {Array<SearchCompactResultBlockedScopesInner>}\n * @memberof SearchCompactResult\n */\n blockedScopes?: Array<SearchCompactResultBlockedScopesInner>;\n /**\n * Contract fields that the review did not complete.\n * @type {Array<string>}\n * @memberof SearchCompactResult\n */\n contractGaps?: Array<string>;\n /**\n * Independent readiness claims (`research`, `contract`, `runtime`,\n * `paid_terminal`), each with a `state` and, when it fits, a `scope`.\n *\n * @type {{ [key: string]: SearchCompactResultBlockedScopesInner; }}\n * @memberof SearchCompactResult\n */\n readiness: { [key: string]: SearchCompactResultBlockedScopesInner; };\n /**\n *\n * @type {SearchCompactNextCall}\n * @memberof SearchCompactResult\n */\n nextCall?: SearchCompactNextCall;\n}\n\n/**\n * Check if a given object implements the SearchCompactResult interface.\n */\nexport function instanceOfSearchCompactResult(value: object): value is SearchCompactResult {\n if (!('operation' in value) || value['operation'] === undefined) return false;\n if (!('access' in value) || value['access'] === undefined) return false;\n if (!('contractUrl' in value) || value['contractUrl'] === undefined) return false;\n if (!('contractDetail' in value) || value['contractDetail'] === undefined) return false;\n if (!('readiness' in value) || value['readiness'] === undefined) return false;\n return true;\n}\n\nexport function SearchCompactResultFromJSON(json: any): SearchCompactResult {\n return SearchCompactResultFromJSONTyped(json, false);\n}\n\nexport function SearchCompactResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCompactResult {\n if (json == null) {\n return json;\n }\n return {\n\n 'provider': json['provider'] == null ? undefined : SearchCompactResultProviderFromJSON(json['provider']),\n 'operation': SearchCompactResultOperationFromJSON(json['operation']),\n 'inputs': json['inputs'] == null ? undefined : json['inputs'],\n 'request': json['request'] == null ? undefined : json['request'],\n 'example': json['example'] == null ? undefined : json['example'],\n 'access': SearchCompactAccessFromJSON(json['access']),\n 'attribution': json['attribution'] == null ? undefined : SearchCompactResultAttributionFromJSON(json['attribution']),\n 'output': json['output'] == null ? undefined : json['output'],\n 'docs': json['docs'] == null ? undefined : SearchHelperDocsFromJSON(json['docs']),\n 'contractUrl': json['contract_url'],\n 'contractDetail': json['contract_detail'],\n 'completion': json['completion'] == null ? undefined : json['completion'],\n 'blockedScopes': json['blocked_scopes'] == null ? undefined : ((json['blocked_scopes'] as Array<any>).map(SearchCompactResultBlockedScopesInnerFromJSON)),\n 'contractGaps': json['contract_gaps'] == null ? undefined : json['contract_gaps'],\n 'readiness': (mapValues(json['readiness'], SearchCompactResultBlockedScopesInnerFromJSON)),\n 'nextCall': json['next_call'] == null ? undefined : SearchCompactNextCallFromJSON(json['next_call']),\n };\n}\n\nexport function SearchCompactResultToJSON(json: any): SearchCompactResult {\n return SearchCompactResultToJSONTyped(json, false);\n}\n\nexport function SearchCompactResultToJSONTyped(value?: SearchCompactResult | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider': SearchCompactResultProviderToJSON(value['provider']),\n 'operation': SearchCompactResultOperationToJSON(value['operation']),\n 'inputs': value['inputs'],\n 'request': value['request'],\n 'example': value['example'],\n 'access': SearchCompactAccessToJSON(value['access']),\n 'attribution': SearchCompactResultAttributionToJSON(value['attribution']),\n 'output': value['output'],\n 'docs': SearchHelperDocsToJSON(value['docs']),\n 'contract_url': value['contractUrl'],\n 'contract_detail': value['contractDetail'],\n 'completion': value['completion'],\n 'blocked_scopes': value['blockedScopes'] == null ? undefined : ((value['blockedScopes'] as Array<any>).map(SearchCompactResultBlockedScopesInnerToJSON)),\n 'contract_gaps': value['contractGaps'],\n 'readiness': (mapValues(value['readiness'], SearchCompactResultBlockedScopesInnerToJSON)),\n 'next_call': SearchCompactNextCallToJSON(value['nextCall']),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedCallability\n */\nexport interface SearchCuratedCallability {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedCallability\n */\n state: SearchCuratedCallabilityStateEnum;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchCuratedCallability\n */\n missing: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const SearchCuratedCallabilityStateEnum = {\n Complete: 'complete',\n Incomplete: 'incomplete'\n} as const;\nexport type SearchCuratedCallabilityStateEnum = typeof SearchCuratedCallabilityStateEnum[keyof typeof SearchCuratedCallabilityStateEnum];\n\n\n/**\n * Check if a given object implements the SearchCuratedCallability interface.\n */\nexport function instanceOfSearchCuratedCallability(value: object): value is SearchCuratedCallability {\n if (!('state' in value) || value['state'] === undefined) return false;\n if (!('missing' in value) || value['missing'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedCallabilityFromJSON(json: any): SearchCuratedCallability {\n return SearchCuratedCallabilityFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedCallabilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedCallability {\n if (json == null) {\n return json;\n }\n return {\n\n 'state': json['state'],\n 'missing': json['missing'],\n };\n}\n\nexport function SearchCuratedCallabilityToJSON(json: any): SearchCuratedCallability {\n return SearchCuratedCallabilityToJSONTyped(json, false);\n}\n\nexport function SearchCuratedCallabilityToJSONTyped(value?: SearchCuratedCallability | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'state': value['state'],\n 'missing': value['missing'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedExecution\n */\nexport interface SearchCuratedExecution {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedExecution\n */\n mode?: SearchCuratedExecutionModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const SearchCuratedExecutionModeEnum = {\n Sync: 'sync',\n Async: 'async',\n Stream: 'stream'\n} as const;\nexport type SearchCuratedExecutionModeEnum = typeof SearchCuratedExecutionModeEnum[keyof typeof SearchCuratedExecutionModeEnum];\n\n\n/**\n * Check if a given object implements the SearchCuratedExecution interface.\n */\nexport function instanceOfSearchCuratedExecution(value: object): value is SearchCuratedExecution {\n return true;\n}\n\nexport function SearchCuratedExecutionFromJSON(json: any): SearchCuratedExecution {\n return SearchCuratedExecutionFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedExecutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedExecution {\n if (json == null) {\n return json;\n }\n return {\n\n 'mode': json['mode'] == null ? undefined : json['mode'],\n };\n}\n\nexport function SearchCuratedExecutionToJSON(json: any): SearchCuratedExecution {\n return SearchCuratedExecutionToJSONTyped(json, false);\n}\n\nexport function SearchCuratedExecutionToJSONTyped(value?: SearchCuratedExecution | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'mode': value['mode'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedOperation\n */\nexport interface SearchCuratedOperation {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedOperation\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof SearchCuratedOperation\n */\n name: string;\n /**\n *\n * @type {string}\n * @memberof SearchCuratedOperation\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the SearchCuratedOperation interface.\n */\nexport function instanceOfSearchCuratedOperation(value: object): value is SearchCuratedOperation {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedOperationFromJSON(json: any): SearchCuratedOperation {\n return SearchCuratedOperationFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedOperation {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function SearchCuratedOperationToJSON(json: any): SearchCuratedOperation {\n return SearchCuratedOperationToJSONTyped(json, false);\n}\n\nexport function SearchCuratedOperationToJSONTyped(value?: SearchCuratedOperation | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedService\n */\nexport interface SearchCuratedService {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedService\n */\n id: string;\n /**\n *\n * @type {string}\n * @memberof SearchCuratedService\n */\n name: string;\n}\n\n/**\n * Check if a given object implements the SearchCuratedService interface.\n */\nexport function instanceOfSearchCuratedService(value: object): value is SearchCuratedService {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('name' in value) || value['name'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedServiceFromJSON(json: any): SearchCuratedService {\n return SearchCuratedServiceFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedServiceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedService {\n if (json == null) {\n return json;\n }\n return {\n\n 'id': json['id'],\n 'name': json['name'],\n };\n}\n\nexport function SearchCuratedServiceToJSON(json: any): SearchCuratedService {\n return SearchCuratedServiceToJSONTyped(json, false);\n}\n\nexport function SearchCuratedServiceToJSONTyped(value?: SearchCuratedService | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'id': value['id'],\n 'name': value['name'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchCuratedSource\n */\nexport interface SearchCuratedSource {\n /**\n *\n * @type {string}\n * @memberof SearchCuratedSource\n */\n catalog: SearchCuratedSourceCatalogEnum;\n /**\n *\n * @type {number}\n * @memberof SearchCuratedSource\n */\n snapshotVersion: number;\n /**\n *\n * @type {Date}\n * @memberof SearchCuratedSource\n */\n capturedAt: Date;\n}\n\n\n/**\n * @export\n */\nexport const SearchCuratedSourceCatalogEnum = {\n CuratedMarketplace: 'curated_marketplace'\n} as const;\nexport type SearchCuratedSourceCatalogEnum = typeof SearchCuratedSourceCatalogEnum[keyof typeof SearchCuratedSourceCatalogEnum];\n\n\n/**\n * Check if a given object implements the SearchCuratedSource interface.\n */\nexport function instanceOfSearchCuratedSource(value: object): value is SearchCuratedSource {\n if (!('catalog' in value) || value['catalog'] === undefined) return false;\n if (!('snapshotVersion' in value) || value['snapshotVersion'] === undefined) return false;\n if (!('capturedAt' in value) || value['capturedAt'] === undefined) return false;\n return true;\n}\n\nexport function SearchCuratedSourceFromJSON(json: any): SearchCuratedSource {\n return SearchCuratedSourceFromJSONTyped(json, false);\n}\n\nexport function SearchCuratedSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchCuratedSource {\n if (json == null) {\n return json;\n }\n return {\n\n 'catalog': json['catalog'],\n 'snapshotVersion': json['snapshot_version'],\n 'capturedAt': (new Date(json['captured_at'])),\n };\n}\n\nexport function SearchCuratedSourceToJSON(json: any): SearchCuratedSource {\n return SearchCuratedSourceToJSONTyped(json, false);\n}\n\nexport function SearchCuratedSourceToJSONTyped(value?: SearchCuratedSource | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'catalog': value['catalog'],\n 'snapshot_version': value['snapshotVersion'],\n 'captured_at': value['capturedAt'].toISOString(),\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * The request JSON Schema, including boolean true/false schemas.\n * Reviewed versioned contracts preserve the provider schema and apply\n * separately authored client scope constraints in this projection.\n * Null when no body schema is declared; query/path/header/cookie\n * bindings remain in the full contract. Retrieve contract_url before\n * constructing requests for versioned contracts.\n *\n * @export\n * @interface SearchEndpointCallInputSchema\n */\nexport interface SearchEndpointCallInputSchema {\n}\n\n/**\n * Check if a given object implements the SearchEndpointCallInputSchema interface.\n */\nexport function instanceOfSearchEndpointCallInputSchema(value: object): value is SearchEndpointCallInputSchema {\n return true;\n}\n\nexport function SearchEndpointCallInputSchemaFromJSON(json: any): SearchEndpointCallInputSchema {\n return SearchEndpointCallInputSchemaFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallInputSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointCallInputSchema {\n return json;\n}\n\nexport function SearchEndpointCallInputSchemaToJSON(json: any): SearchEndpointCallInputSchema {\n return SearchEndpointCallInputSchemaToJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallInputSchemaToJSONTyped(value?: SearchEndpointCallInputSchema | null, ignoreDiscriminator: boolean = false): any {\n return value;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchEndpointCallInputSchema } from './SearchEndpointCallInputSchema';\nimport {\n SearchEndpointCallInputSchemaFromJSON,\n SearchEndpointCallInputSchemaFromJSONTyped,\n SearchEndpointCallInputSchemaToJSON,\n SearchEndpointCallInputSchemaToJSONTyped,\n} from './SearchEndpointCallInputSchema';\n\n/**\n * The machine-readable call contract for this endpoint: the verb, the\n * provider-declared argument schema, and the worked examples. Always\n * present; an endpoint whose provider declares nothing carries an empty\n * `method` and null members rather than an absent block, so a caller can\n * always read `input_schema` without a presence check. Combine with the\n * hit's `url` to construct the request.\n *\n * @export\n * @interface SearchEndpointCall\n */\nexport interface SearchEndpointCall {\n /**\n * The HTTP verb to send. Empty string when neither the index nor the\n * provider's own 402 challenge / OpenAPI spec declares one.\n *\n * @type {string}\n * @memberof SearchEndpointCall\n */\n method?: string;\n /**\n *\n * @type {SearchEndpointCallInputSchema}\n * @memberof SearchEndpointCall\n */\n inputSchema?: SearchEndpointCallInputSchema | null;\n /**\n * A worked set of arguments grouped by slot (`query` / `body` / `path`).\n * Every value is one the PROVIDER published; never synthesized.\n *\n * @type {object}\n * @memberof SearchEndpointCall\n */\n exampleRequest?: object;\n /**\n *\n * @type {any}\n * @memberof SearchEndpointCall\n */\n exampleResponse?: any | null;\n}\n\n/**\n * Check if a given object implements the SearchEndpointCall interface.\n */\nexport function instanceOfSearchEndpointCall(value: object): value is SearchEndpointCall {\n return true;\n}\n\nexport function SearchEndpointCallFromJSON(json: any): SearchEndpointCall {\n return SearchEndpointCallFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointCall {\n if (json == null) {\n return json;\n }\n return {\n\n 'method': json['method'] == null ? undefined : json['method'],\n 'inputSchema': json['input_schema'] == null ? undefined : SearchEndpointCallInputSchemaFromJSON(json['input_schema']),\n 'exampleRequest': json['example_request'] == null ? undefined : json['example_request'],\n 'exampleResponse': json['example_response'] == null ? undefined : json['example_response'],\n };\n}\n\nexport function SearchEndpointCallToJSON(json: any): SearchEndpointCall {\n return SearchEndpointCallToJSONTyped(json, false);\n}\n\nexport function SearchEndpointCallToJSONTyped(value?: SearchEndpointCall | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'method': value['method'],\n 'input_schema': SearchEndpointCallInputSchemaToJSON(value['inputSchema']),\n 'example_request': value['exampleRequest'],\n 'example_response': value['exampleResponse'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * One settlement route the endpoint's own 402 challenge published — a\n * (rail × network × asset × payee) tuple a caller can settle against\n * directly with its own SDK.\n *\n * @export\n * @interface SearchPaymentOffer\n */\nexport interface SearchPaymentOffer {\n /**\n * The payment rail (e.g. `x402`, `mpp`).\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n protocol: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n scheme?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n network?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n asset?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n amount?: string;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n payTo?: string;\n /**\n *\n * @type {number}\n * @memberof SearchPaymentOffer\n */\n maxTimeoutSeconds?: number;\n /**\n *\n * @type {string}\n * @memberof SearchPaymentOffer\n */\n facilitator?: string;\n}\n\n/**\n * Check if a given object implements the SearchPaymentOffer interface.\n */\nexport function instanceOfSearchPaymentOffer(value: object): value is SearchPaymentOffer {\n if (!('protocol' in value) || value['protocol'] === undefined) return false;\n return true;\n}\n\nexport function SearchPaymentOfferFromJSON(json: any): SearchPaymentOffer {\n return SearchPaymentOfferFromJSONTyped(json, false);\n}\n\nexport function SearchPaymentOfferFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchPaymentOffer {\n if (json == null) {\n return json;\n }\n return {\n\n 'protocol': json['protocol'],\n 'scheme': json['scheme'] == null ? undefined : json['scheme'],\n 'network': json['network'] == null ? undefined : json['network'],\n 'asset': json['asset'] == null ? undefined : json['asset'],\n 'amount': json['amount'] == null ? undefined : json['amount'],\n 'payTo': json['pay_to'] == null ? undefined : json['pay_to'],\n 'maxTimeoutSeconds': json['max_timeout_seconds'] == null ? undefined : json['max_timeout_seconds'],\n 'facilitator': json['facilitator'] == null ? undefined : json['facilitator'],\n };\n}\n\nexport function SearchPaymentOfferToJSON(json: any): SearchPaymentOffer {\n return SearchPaymentOfferToJSONTyped(json, false);\n}\n\nexport function SearchPaymentOfferToJSONTyped(value?: SearchPaymentOffer | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'protocol': value['protocol'],\n 'scheme': value['scheme'],\n 'network': value['network'],\n 'asset': value['asset'],\n 'amount': value['amount'],\n 'pay_to': value['payTo'],\n 'max_timeout_seconds': value['maxTimeoutSeconds'],\n 'facilitator': value['facilitator'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Price + provenance + freshness for this (endpoint × capability) pairing.\n * Always present; an unpriced endpoint carries null amounts rather than an\n * absent block, so a caller never has to distinguish \"free\" from \"we do not\n * know\".\n *\n * @export\n * @interface SearchEndpointPrice\n */\nexport interface SearchEndpointPrice {\n /**\n * The indexed price in USD as a decimal string (e.g. \"0.008\") — the\n * dollar value people and agents reason in. A decimal string, never a\n * float; trailing zeros trimmed. Null when unpriced.\n *\n * @type {string}\n * @memberof SearchEndpointPrice\n */\n indexedUsd?: string;\n /**\n * The same price in integer micro-USD — the settlement grain, exact.\n * Null exactly when `indexed_usd` is. Use this for settlement.\n *\n * @type {number}\n * @memberof SearchEndpointPrice\n */\n atomic?: number;\n /**\n * Where the amount came from. `probe` = observed live in the endpoint's\n * own 402 payment-required challenge — an observation, the strongest\n * evidence we hold. `inferred` = derived from a spec (OpenAPI) or a\n * resale edge by the extraction pipeline, so it can lag a provider's\n * re-pricing. Null when the endpoint carries no price.\n *\n * @type {string}\n * @memberof SearchEndpointPrice\n */\n source?: SearchEndpointPriceSourceEnum;\n /**\n * When the amount was observed. Null when unrecorded.\n * @type {Date}\n * @memberof SearchEndpointPrice\n */\n lastObservedAt?: Date;\n /**\n * Whether this amount was confirmed against a live 402 challenge for\n * THIS response. Search does not issue a payment-required probe at\n * query time, so this is `false` today — treat an unflagged price as\n * indexed, not verified.\n *\n * @type {boolean}\n * @memberof SearchEndpointPrice\n */\n liveVerified?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const SearchEndpointPriceSourceEnum = {\n Probe: 'probe',\n Inferred: 'inferred'\n} as const;\nexport type SearchEndpointPriceSourceEnum = typeof SearchEndpointPriceSourceEnum[keyof typeof SearchEndpointPriceSourceEnum];\n\n\n/**\n * Check if a given object implements the SearchEndpointPrice interface.\n */\nexport function instanceOfSearchEndpointPrice(value: object): value is SearchEndpointPrice {\n return true;\n}\n\nexport function SearchEndpointPriceFromJSON(json: any): SearchEndpointPrice {\n return SearchEndpointPriceFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointPriceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointPrice {\n if (json == null) {\n return json;\n }\n return {\n\n 'indexedUsd': json['indexed_usd'] == null ? undefined : json['indexed_usd'],\n 'atomic': json['atomic'] == null ? undefined : json['atomic'],\n 'source': json['source'] == null ? undefined : json['source'],\n 'lastObservedAt': json['last_observed_at'] == null ? undefined : (new Date(json['last_observed_at'])),\n 'liveVerified': json['live_verified'] == null ? undefined : json['live_verified'],\n };\n}\n\nexport function SearchEndpointPriceToJSON(json: any): SearchEndpointPrice {\n return SearchEndpointPriceToJSONTyped(json, false);\n}\n\nexport function SearchEndpointPriceToJSONTyped(value?: SearchEndpointPrice | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'indexed_usd': value['indexedUsd'],\n 'atomic': value['atomic'],\n 'source': value['source'],\n 'last_observed_at': value['lastObservedAt'] == null ? value['lastObservedAt'] : value['lastObservedAt'].toISOString(),\n 'live_verified': value['liveVerified'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchAccessMethod } from './SearchAccessMethod';\nimport {\n SearchAccessMethodFromJSON,\n SearchAccessMethodFromJSONTyped,\n SearchAccessMethodToJSON,\n SearchAccessMethodToJSONTyped,\n} from './SearchAccessMethod';\nimport type { SearchEndpointCall } from './SearchEndpointCall';\nimport {\n SearchEndpointCallFromJSON,\n SearchEndpointCallFromJSONTyped,\n SearchEndpointCallToJSON,\n SearchEndpointCallToJSONTyped,\n} from './SearchEndpointCall';\nimport type { SearchPaymentOffer } from './SearchPaymentOffer';\nimport {\n SearchPaymentOfferFromJSON,\n SearchPaymentOfferFromJSONTyped,\n SearchPaymentOfferToJSON,\n SearchPaymentOfferToJSONTyped,\n} from './SearchPaymentOffer';\nimport type { SearchCuratedSource } from './SearchCuratedSource';\nimport {\n SearchCuratedSourceFromJSON,\n SearchCuratedSourceFromJSONTyped,\n SearchCuratedSourceToJSON,\n SearchCuratedSourceToJSONTyped,\n} from './SearchCuratedSource';\nimport type { SearchCuratedCallability } from './SearchCuratedCallability';\nimport {\n SearchCuratedCallabilityFromJSON,\n SearchCuratedCallabilityFromJSONTyped,\n SearchCuratedCallabilityToJSON,\n SearchCuratedCallabilityToJSONTyped,\n} from './SearchCuratedCallability';\nimport type { SearchCuratedService } from './SearchCuratedService';\nimport {\n SearchCuratedServiceFromJSON,\n SearchCuratedServiceFromJSONTyped,\n SearchCuratedServiceToJSON,\n SearchCuratedServiceToJSONTyped,\n} from './SearchCuratedService';\nimport type { SearchCuratedOperation } from './SearchCuratedOperation';\nimport {\n SearchCuratedOperationFromJSON,\n SearchCuratedOperationFromJSONTyped,\n SearchCuratedOperationToJSON,\n SearchCuratedOperationToJSONTyped,\n} from './SearchCuratedOperation';\nimport type { SearchCuratedExecution } from './SearchCuratedExecution';\nimport {\n SearchCuratedExecutionFromJSON,\n SearchCuratedExecutionFromJSONTyped,\n SearchCuratedExecutionToJSON,\n SearchCuratedExecutionToJSONTyped,\n} from './SearchCuratedExecution';\nimport type { SearchHelperDocs } from './SearchHelperDocs';\nimport {\n SearchHelperDocsFromJSON,\n SearchHelperDocsFromJSONTyped,\n SearchHelperDocsToJSON,\n SearchHelperDocsToJSONTyped,\n} from './SearchHelperDocs';\nimport type { SearchEndpointPrice } from './SearchEndpointPrice';\nimport {\n SearchEndpointPriceFromJSON,\n SearchEndpointPriceFromJSONTyped,\n SearchEndpointPriceToJSON,\n SearchEndpointPriceToJSONTyped,\n} from './SearchEndpointPrice';\n\n/**\n *\n * @export\n * @interface SearchEndpointHit\n */\nexport interface SearchEndpointHit {\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n endpointId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n url?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n resourceType?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n primaryProtocol?: string;\n /**\n *\n * @type {SearchEndpointCall}\n * @memberof SearchEndpointHit\n */\n call?: SearchEndpointCall;\n /**\n *\n * @type {SearchEndpointPrice}\n * @memberof SearchEndpointHit\n */\n price?: SearchEndpointPrice;\n /**\n * The settlement routes this endpoint's own 402 challenge published —\n * one entry per rail × network × asset × payee it accepts. Sibling of\n * `call`: that block says how to shape the request, this says how to\n * pay for it, so a caller can settle with its OWN x402/mpp SDK instead\n * of guessing. A list because rails are irreducibly plural. Order is\n * the provider's own preference order. Honest-empty when the pipeline\n * observed no challenge.\n *\n * @type {Array<SearchPaymentOffer>}\n * @memberof SearchEndpointHit\n */\n payment?: Array<SearchPaymentOffer>;\n /**\n *\n * @type {Array<SearchAccessMethod>}\n * @memberof SearchEndpointHit\n */\n accessMethods?: Array<SearchAccessMethod>;\n /**\n *\n * @type {SearchCuratedService}\n * @memberof SearchEndpointHit\n */\n service?: SearchCuratedService;\n /**\n *\n * @type {SearchCuratedOperation}\n * @memberof SearchEndpointHit\n */\n operation?: SearchCuratedOperation;\n /**\n *\n * @type {SearchHelperDocs}\n * @memberof SearchEndpointHit\n */\n docs?: SearchHelperDocs;\n /**\n * Content-addressed Weft contract for the complete operation,\n * alternatives, evidence, and known gaps. Authenticated GET.\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n contractUrl?: string;\n /**\n *\n * @type {object}\n * @memberof SearchEndpointHit\n */\n outputSchema?: object;\n /**\n *\n * @type {object}\n * @memberof SearchEndpointHit\n */\n output?: object;\n /**\n *\n * @type {SearchCuratedExecution}\n * @memberof SearchEndpointHit\n */\n execution?: SearchCuratedExecution;\n /**\n *\n * @type {SearchCuratedCallability}\n * @memberof SearchEndpointHit\n */\n callability?: SearchCuratedCallability;\n /**\n *\n * @type {object}\n * @memberof SearchEndpointHit\n */\n compatibility?: object;\n /**\n *\n * @type {SearchCuratedSource}\n * @memberof SearchEndpointHit\n */\n source?: SearchCuratedSource;\n /**\n * Who you are actually paying. `first_party` = operated by the provider\n * that makes the capability; `reseller` = resold, so the price carries\n * someone else's margin; `gateway` = an intermediary routing the provider's\n * capability. Null until the platform resolves the operator.\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n operatorType?: SearchEndpointHitOperatorTypeEnum;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n operatedById?: string;\n /**\n *\n * @type {string}\n * @memberof SearchEndpointHit\n */\n settledViaFacilitatorId?: string;\n /**\n * Count of payments observed settling against this endpoint by ANYONE\n * (chain-indexed), not just by Weft — the reliability signal a caller\n * can act on. Null when unknown.\n *\n * @type {number}\n * @memberof SearchEndpointHit\n */\n settlements?: number;\n /**\n * When Weft last CONFIRMED this endpoint answers — the most recent\n * conclusive probe. Null when never probed, or when the latest probe\n * errored: an endpoint we last failed to reach has no current\n * verification.\n *\n * @type {Date}\n * @memberof SearchEndpointHit\n */\n lastVerifiedAt?: Date;\n /**\n * Median time-to-first-byte in ms across the endpoint's probe call set.\n * First-byte latency, not full-response time. Null when unmeasured\n * (never 0).\n *\n * @type {number}\n * @memberof SearchEndpointHit\n */\n latencyP50Ms?: number;\n}\n\n\n/**\n * @export\n */\nexport const SearchEndpointHitOperatorTypeEnum = {\n FirstParty: 'first_party',\n Reseller: 'reseller',\n Gateway: 'gateway'\n} as const;\nexport type SearchEndpointHitOperatorTypeEnum = typeof SearchEndpointHitOperatorTypeEnum[keyof typeof SearchEndpointHitOperatorTypeEnum];\n\n\n/**\n * Check if a given object implements the SearchEndpointHit interface.\n */\nexport function instanceOfSearchEndpointHit(value: object): value is SearchEndpointHit {\n return true;\n}\n\nexport function SearchEndpointHitFromJSON(json: any): SearchEndpointHit {\n return SearchEndpointHitFromJSONTyped(json, false);\n}\n\nexport function SearchEndpointHitFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchEndpointHit {\n if (json == null) {\n return json;\n }\n return {\n\n 'endpointId': json['endpoint_id'] == null ? undefined : json['endpoint_id'],\n 'url': json['url'] == null ? undefined : json['url'],\n 'resourceType': json['resource_type'] == null ? undefined : json['resource_type'],\n 'primaryProtocol': json['primary_protocol'] == null ? undefined : json['primary_protocol'],\n 'call': json['call'] == null ? undefined : SearchEndpointCallFromJSON(json['call']),\n 'price': json['price'] == null ? undefined : SearchEndpointPriceFromJSON(json['price']),\n 'payment': json['payment'] == null ? undefined : ((json['payment'] as Array<any>).map(SearchPaymentOfferFromJSON)),\n 'accessMethods': json['access_methods'] == null ? undefined : ((json['access_methods'] as Array<any>).map(SearchAccessMethodFromJSON)),\n 'service': json['service'] == null ? undefined : SearchCuratedServiceFromJSON(json['service']),\n 'operation': json['operation'] == null ? undefined : SearchCuratedOperationFromJSON(json['operation']),\n 'docs': json['docs'] == null ? undefined : SearchHelperDocsFromJSON(json['docs']),\n 'contractUrl': json['contract_url'] == null ? undefined : json['contract_url'],\n 'outputSchema': json['output_schema'] == null ? undefined : json['output_schema'],\n 'output': json['output'] == null ? undefined : json['output'],\n 'execution': json['execution'] == null ? undefined : SearchCuratedExecutionFromJSON(json['execution']),\n 'callability': json['callability'] == null ? undefined : SearchCuratedCallabilityFromJSON(json['callability']),\n 'compatibility': json['compatibility'] == null ? undefined : json['compatibility'],\n 'source': json['source'] == null ? undefined : SearchCuratedSourceFromJSON(json['source']),\n 'operatorType': json['operator_type'] == null ? undefined : json['operator_type'],\n 'operatedById': json['operated_by_id'] == null ? undefined : json['operated_by_id'],\n 'settledViaFacilitatorId': json['settled_via_facilitator_id'] == null ? undefined : json['settled_via_facilitator_id'],\n 'settlements': json['settlements'] == null ? undefined : json['settlements'],\n 'lastVerifiedAt': json['last_verified_at'] == null ? undefined : (new Date(json['last_verified_at'])),\n 'latencyP50Ms': json['latency_p50_ms'] == null ? undefined : json['latency_p50_ms'],\n };\n}\n\nexport function SearchEndpointHitToJSON(json: any): SearchEndpointHit {\n return SearchEndpointHitToJSONTyped(json, false);\n}\n\nexport function SearchEndpointHitToJSONTyped(value?: SearchEndpointHit | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'endpoint_id': value['endpointId'],\n 'url': value['url'],\n 'resource_type': value['resourceType'],\n 'primary_protocol': value['primaryProtocol'],\n 'call': SearchEndpointCallToJSON(value['call']),\n 'price': SearchEndpointPriceToJSON(value['price']),\n 'payment': value['payment'] == null ? undefined : ((value['payment'] as Array<any>).map(SearchPaymentOfferToJSON)),\n 'access_methods': value['accessMethods'] == null ? undefined : ((value['accessMethods'] as Array<any>).map(SearchAccessMethodToJSON)),\n 'service': SearchCuratedServiceToJSON(value['service']),\n 'operation': SearchCuratedOperationToJSON(value['operation']),\n 'docs': SearchHelperDocsToJSON(value['docs']),\n 'contract_url': value['contractUrl'],\n 'output_schema': value['outputSchema'],\n 'output': value['output'],\n 'execution': SearchCuratedExecutionToJSON(value['execution']),\n 'callability': SearchCuratedCallabilityToJSON(value['callability']),\n 'compatibility': value['compatibility'],\n 'source': SearchCuratedSourceToJSON(value['source']),\n 'operator_type': value['operatorType'],\n 'operated_by_id': value['operatedById'],\n 'settled_via_facilitator_id': value['settledViaFacilitatorId'],\n 'settlements': value['settlements'],\n 'last_verified_at': value['lastVerifiedAt'] == null ? value['lastVerifiedAt'] : value['lastVerifiedAt'].toISOString(),\n 'latency_p50_ms': value['latencyP50Ms'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Bespoke error envelope returned by `/api/v1/search` for `422`, `502`,\n * and `500` responses. It differs from the standard `ErrorResponse`\n * envelope (no nested `code`/`message`/`request_id`); SDK clients\n * should handle both shapes for this endpoint until the controller\n * is migrated to the standard envelope.\n *\n * @export\n * @interface SearchErrorResponse\n */\nexport interface SearchErrorResponse {\n /**\n * Stable error code.\n * @type {string}\n * @memberof SearchErrorResponse\n */\n error: SearchErrorResponseErrorEnum;\n /**\n * Optional context. Shape varies by error code.\n * @type {{ [key: string]: any; }}\n * @memberof SearchErrorResponse\n */\n details?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const SearchErrorResponseErrorEnum = {\n InvalidQuery: 'INVALID_QUERY',\n InvalidMaxResults: 'INVALID_MAX_RESULTS',\n InvalidFilters: 'INVALID_FILTERS',\n InvalidView: 'INVALID_VIEW',\n UnknownParameter: 'UNKNOWN_PARAMETER',\n SearchUpstreamError: 'SEARCH_UPSTREAM_ERROR',\n SearchBackendMisconfigured: 'SEARCH_BACKEND_MISCONFIGURED'\n} as const;\nexport type SearchErrorResponseErrorEnum = typeof SearchErrorResponseErrorEnum[keyof typeof SearchErrorResponseErrorEnum];\n\n\n/**\n * Check if a given object implements the SearchErrorResponse interface.\n */\nexport function instanceOfSearchErrorResponse(value: object): value is SearchErrorResponse {\n if (!('error' in value) || value['error'] === undefined) return false;\n return true;\n}\n\nexport function SearchErrorResponseFromJSON(json: any): SearchErrorResponse {\n return SearchErrorResponseFromJSONTyped(json, false);\n}\n\nexport function SearchErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'error': json['error'],\n 'details': json['details'] == null ? undefined : json['details'],\n };\n}\n\nexport function SearchErrorResponseToJSON(json: any): SearchErrorResponse {\n return SearchErrorResponseToJSONTyped(json, false);\n}\n\nexport function SearchErrorResponseToJSONTyped(value?: SearchErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'error': value['error'],\n 'details': value['details'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchExecutionModeFilter\n */\nexport interface SearchExecutionModeFilter {\n /**\n *\n * @type {string}\n * @memberof SearchExecutionModeFilter\n */\n eq?: SearchExecutionModeFilterEqEnum;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchExecutionModeFilter\n */\n _in?: Array<SearchExecutionModeFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchExecutionModeFilterEqEnum = {\n Sync: 'sync',\n Async: 'async',\n Stream: 'stream'\n} as const;\nexport type SearchExecutionModeFilterEqEnum = typeof SearchExecutionModeFilterEqEnum[keyof typeof SearchExecutionModeFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchExecutionModeFilterInEnum = {\n Sync: 'sync',\n Async: 'async',\n Stream: 'stream'\n} as const;\nexport type SearchExecutionModeFilterInEnum = typeof SearchExecutionModeFilterInEnum[keyof typeof SearchExecutionModeFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchExecutionModeFilter interface.\n */\nexport function instanceOfSearchExecutionModeFilter(value: object): value is SearchExecutionModeFilter {\n return true;\n}\n\nexport function SearchExecutionModeFilterFromJSON(json: any): SearchExecutionModeFilter {\n return SearchExecutionModeFilterFromJSONTyped(json, false);\n}\n\nexport function SearchExecutionModeFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchExecutionModeFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchExecutionModeFilterToJSON(json: any): SearchExecutionModeFilter {\n return SearchExecutionModeFilterToJSONTyped(json, false);\n}\n\nexport function SearchExecutionModeFilterToJSONTyped(value?: SearchExecutionModeFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Payment-protocol constraint. Set exactly one of `eq` / `in`.\n * @export\n * @interface SearchProtocolFilter\n */\nexport interface SearchProtocolFilter {\n /**\n * Primary protocol is exactly this value.\n * @type {string}\n * @memberof SearchProtocolFilter\n */\n eq?: SearchProtocolFilterEqEnum;\n /**\n * Primary protocol is one of these values.\n * @type {Array<string>}\n * @memberof SearchProtocolFilter\n */\n _in?: Array<SearchProtocolFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchProtocolFilterEqEnum = {\n X402: 'x402',\n A2a: 'a2a',\n Mpp: 'mpp',\n Erc8004: 'erc_8004'\n} as const;\nexport type SearchProtocolFilterEqEnum = typeof SearchProtocolFilterEqEnum[keyof typeof SearchProtocolFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchProtocolFilterInEnum = {\n X402: 'x402',\n A2a: 'a2a',\n Mpp: 'mpp',\n Erc8004: 'erc_8004'\n} as const;\nexport type SearchProtocolFilterInEnum = typeof SearchProtocolFilterInEnum[keyof typeof SearchProtocolFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchProtocolFilter interface.\n */\nexport function instanceOfSearchProtocolFilter(value: object): value is SearchProtocolFilter {\n return true;\n}\n\nexport function SearchProtocolFilterFromJSON(json: any): SearchProtocolFilter {\n return SearchProtocolFilterFromJSONTyped(json, false);\n}\n\nexport function SearchProtocolFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchProtocolFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchProtocolFilterToJSON(json: any): SearchProtocolFilter {\n return SearchProtocolFilterToJSONTyped(json, false);\n}\n\nexport function SearchProtocolFilterToJSONTyped(value?: SearchProtocolFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchMethodFilter\n */\nexport interface SearchMethodFilter {\n /**\n *\n * @type {string}\n * @memberof SearchMethodFilter\n */\n eq?: SearchMethodFilterEqEnum;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchMethodFilter\n */\n _in?: Array<SearchMethodFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchMethodFilterEqEnum = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Head: 'HEAD',\n Options: 'OPTIONS'\n} as const;\nexport type SearchMethodFilterEqEnum = typeof SearchMethodFilterEqEnum[keyof typeof SearchMethodFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchMethodFilterInEnum = {\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Patch: 'PATCH',\n Delete: 'DELETE',\n Head: 'HEAD',\n Options: 'OPTIONS'\n} as const;\nexport type SearchMethodFilterInEnum = typeof SearchMethodFilterInEnum[keyof typeof SearchMethodFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchMethodFilter interface.\n */\nexport function instanceOfSearchMethodFilter(value: object): value is SearchMethodFilter {\n return true;\n}\n\nexport function SearchMethodFilterFromJSON(json: any): SearchMethodFilter {\n return SearchMethodFilterFromJSONTyped(json, false);\n}\n\nexport function SearchMethodFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchMethodFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchMethodFilterToJSON(json: any): SearchMethodFilter {\n return SearchMethodFilterToJSONTyped(json, false);\n}\n\nexport function SearchMethodFilterToJSONTyped(value?: SearchMethodFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Resource-type constraint. Set exactly one of `eq` / `in`.\n * @export\n * @interface SearchResourceTypeFilter\n */\nexport interface SearchResourceTypeFilter {\n /**\n * Resource type is exactly this value.\n * @type {string}\n * @memberof SearchResourceTypeFilter\n */\n eq?: SearchResourceTypeFilterEqEnum;\n /**\n * Resource type is one of these values.\n * @type {Array<string>}\n * @memberof SearchResourceTypeFilter\n */\n _in?: Array<SearchResourceTypeFilterInEnum>;\n}\n\n\n/**\n * @export\n */\nexport const SearchResourceTypeFilterEqEnum = {\n Api: 'api',\n Agent: 'agent',\n McpTool: 'mcp_tool',\n Webpage: 'webpage',\n Feed: 'feed',\n Document: 'document',\n Dataset: 'dataset'\n} as const;\nexport type SearchResourceTypeFilterEqEnum = typeof SearchResourceTypeFilterEqEnum[keyof typeof SearchResourceTypeFilterEqEnum];\n\n/**\n * @export\n */\nexport const SearchResourceTypeFilterInEnum = {\n Api: 'api',\n Agent: 'agent',\n McpTool: 'mcp_tool',\n Webpage: 'webpage',\n Feed: 'feed',\n Document: 'document',\n Dataset: 'dataset'\n} as const;\nexport type SearchResourceTypeFilterInEnum = typeof SearchResourceTypeFilterInEnum[keyof typeof SearchResourceTypeFilterInEnum];\n\n\n/**\n * Check if a given object implements the SearchResourceTypeFilter interface.\n */\nexport function instanceOfSearchResourceTypeFilter(value: object): value is SearchResourceTypeFilter {\n return true;\n}\n\nexport function SearchResourceTypeFilterFromJSON(json: any): SearchResourceTypeFilter {\n return SearchResourceTypeFilterFromJSONTyped(json, false);\n}\n\nexport function SearchResourceTypeFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResourceTypeFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchResourceTypeFilterToJSON(json: any): SearchResourceTypeFilter {\n return SearchResourceTypeFilterToJSONTyped(json, false);\n}\n\nexport function SearchResourceTypeFilterToJSONTyped(value?: SearchResourceTypeFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Price constraint in USD, as decimal STRINGS (the reasoning form). Set\n * exactly one operator: a scalar (`lte` / `gte` / `eq`) OR a range\n * (`range_gte` + `range_lte` together, lower ≤ upper). Each value is a\n * string matching `^\\d+(\\.\\d{1,6})?$` (≤ 6 decimals, ≥ 0); a JSON number is\n * rejected. Mutually exclusive with `price_atomic`. An unpriced resource is\n * excluded from any price-filtered query.\n *\n * @export\n * @interface SearchPriceUsdFilter\n */\nexport interface SearchPriceUsdFilter {\n /**\n * Price ≤ this many USD (inclusive ceiling), e.g. \"0.009\".\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n lte?: string;\n /**\n * Price ≥ this many USD (inclusive floor), e.g. \"0.001\".\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n gte?: string;\n /**\n * Price exactly this many USD, e.g. \"1.5\".\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n eq?: string;\n /**\n * Range lower bound (inclusive), USD. Set with range_lte.\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n rangeGte?: string;\n /**\n * Range upper bound (inclusive), USD. Set with range_gte.\n * @type {string}\n * @memberof SearchPriceUsdFilter\n */\n rangeLte?: string;\n}\n\n/**\n * Check if a given object implements the SearchPriceUsdFilter interface.\n */\nexport function instanceOfSearchPriceUsdFilter(value: object): value is SearchPriceUsdFilter {\n return true;\n}\n\nexport function SearchPriceUsdFilterFromJSON(json: any): SearchPriceUsdFilter {\n return SearchPriceUsdFilterFromJSONTyped(json, false);\n}\n\nexport function SearchPriceUsdFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchPriceUsdFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'lte': json['lte'] == null ? undefined : json['lte'],\n 'gte': json['gte'] == null ? undefined : json['gte'],\n 'eq': json['eq'] == null ? undefined : json['eq'],\n 'rangeGte': json['range_gte'] == null ? undefined : json['range_gte'],\n 'rangeLte': json['range_lte'] == null ? undefined : json['range_lte'],\n };\n}\n\nexport function SearchPriceUsdFilterToJSON(json: any): SearchPriceUsdFilter {\n return SearchPriceUsdFilterToJSONTyped(json, false);\n}\n\nexport function SearchPriceUsdFilterToJSONTyped(value?: SearchPriceUsdFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'lte': value['lte'],\n 'gte': value['gte'],\n 'eq': value['eq'],\n 'range_gte': value['rangeGte'],\n 'range_lte': value['rangeLte'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * The same price constraint in integer micro-USD (1 USDC = 1_000_000\n * micro-USD) — the settlement form. Set exactly one operator: a scalar\n * (`lte` / `gte` / `eq`) OR a range (`range_gte` + `range_lte` together,\n * lower ≤ upper). Mutually exclusive with `price`. An unpriced resource is\n * excluded from any price-filtered query.\n *\n * @export\n * @interface SearchPriceAtomicFilter\n */\nexport interface SearchPriceAtomicFilter {\n /**\n * Price ≤ this many micro-USD (inclusive ceiling).\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n lte?: number;\n /**\n * Price ≥ this many micro-USD (inclusive floor).\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n gte?: number;\n /**\n * Price exactly this many micro-USD.\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n eq?: number;\n /**\n * Range lower bound (inclusive), micro-USD. Set with range_lte.\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n rangeGte?: number;\n /**\n * Range upper bound (inclusive), micro-USD. Set with range_gte.\n * @type {number}\n * @memberof SearchPriceAtomicFilter\n */\n rangeLte?: number;\n}\n\n/**\n * Check if a given object implements the SearchPriceAtomicFilter interface.\n */\nexport function instanceOfSearchPriceAtomicFilter(value: object): value is SearchPriceAtomicFilter {\n return true;\n}\n\nexport function SearchPriceAtomicFilterFromJSON(json: any): SearchPriceAtomicFilter {\n return SearchPriceAtomicFilterFromJSONTyped(json, false);\n}\n\nexport function SearchPriceAtomicFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchPriceAtomicFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'lte': json['lte'] == null ? undefined : json['lte'],\n 'gte': json['gte'] == null ? undefined : json['gte'],\n 'eq': json['eq'] == null ? undefined : json['eq'],\n 'rangeGte': json['range_gte'] == null ? undefined : json['range_gte'],\n 'rangeLte': json['range_lte'] == null ? undefined : json['range_lte'],\n };\n}\n\nexport function SearchPriceAtomicFilterToJSON(json: any): SearchPriceAtomicFilter {\n return SearchPriceAtomicFilterToJSONTyped(json, false);\n}\n\nexport function SearchPriceAtomicFilterToJSONTyped(value?: SearchPriceAtomicFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'lte': value['lte'],\n 'gte': value['gte'],\n 'eq': value['eq'],\n 'range_gte': value['rangeGte'],\n 'range_lte': value['rangeLte'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchStringSetFilter\n */\nexport interface SearchStringSetFilter {\n /**\n *\n * @type {string}\n * @memberof SearchStringSetFilter\n */\n eq?: string;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchStringSetFilter\n */\n _in?: Array<string>;\n}\n\n/**\n * Check if a given object implements the SearchStringSetFilter interface.\n */\nexport function instanceOfSearchStringSetFilter(value: object): value is SearchStringSetFilter {\n return true;\n}\n\nexport function SearchStringSetFilterFromJSON(json: any): SearchStringSetFilter {\n return SearchStringSetFilterFromJSONTyped(json, false);\n}\n\nexport function SearchStringSetFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchStringSetFilter {\n if (json == null) {\n return json;\n }\n return {\n\n 'eq': json['eq'] == null ? undefined : json['eq'],\n '_in': json['in'] == null ? undefined : json['in'],\n };\n}\n\nexport function SearchStringSetFilterToJSON(json: any): SearchStringSetFilter {\n return SearchStringSetFilterToJSONTyped(json, false);\n}\n\nexport function SearchStringSetFilterToJSONTyped(value?: SearchStringSetFilter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'eq': value['eq'],\n 'in': value['_in'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchProtocolFilter } from './SearchProtocolFilter';\nimport {\n SearchProtocolFilterFromJSON,\n SearchProtocolFilterFromJSONTyped,\n SearchProtocolFilterToJSON,\n SearchProtocolFilterToJSONTyped,\n} from './SearchProtocolFilter';\nimport type { SearchMethodFilter } from './SearchMethodFilter';\nimport {\n SearchMethodFilterFromJSON,\n SearchMethodFilterFromJSONTyped,\n SearchMethodFilterToJSON,\n SearchMethodFilterToJSONTyped,\n} from './SearchMethodFilter';\nimport type { SearchResourceTypeFilter } from './SearchResourceTypeFilter';\nimport {\n SearchResourceTypeFilterFromJSON,\n SearchResourceTypeFilterFromJSONTyped,\n SearchResourceTypeFilterToJSON,\n SearchResourceTypeFilterToJSONTyped,\n} from './SearchResourceTypeFilter';\nimport type { SearchExecutionModeFilter } from './SearchExecutionModeFilter';\nimport {\n SearchExecutionModeFilterFromJSON,\n SearchExecutionModeFilterFromJSONTyped,\n SearchExecutionModeFilterToJSON,\n SearchExecutionModeFilterToJSONTyped,\n} from './SearchExecutionModeFilter';\nimport type { SearchPriceUsdFilter } from './SearchPriceUsdFilter';\nimport {\n SearchPriceUsdFilterFromJSON,\n SearchPriceUsdFilterFromJSONTyped,\n SearchPriceUsdFilterToJSON,\n SearchPriceUsdFilterToJSONTyped,\n} from './SearchPriceUsdFilter';\nimport type { SearchPriceAtomicFilter } from './SearchPriceAtomicFilter';\nimport {\n SearchPriceAtomicFilterFromJSON,\n SearchPriceAtomicFilterFromJSONTyped,\n SearchPriceAtomicFilterToJSON,\n SearchPriceAtomicFilterToJSONTyped,\n} from './SearchPriceAtomicFilter';\nimport type { SearchStringSetFilter } from './SearchStringSetFilter';\nimport {\n SearchStringSetFilterFromJSON,\n SearchStringSetFilterFromJSONTyped,\n SearchStringSetFilterToJSON,\n SearchStringSetFilterToJSONTyped,\n} from './SearchStringSetFilter';\n\n/**\n * Structured hard constraints on the query — the weft-search-platform\n * `FilterSpec` v1 typed subset, vendored verbatim (D1 contract). Every\n * field is optional; an empty object is the no-filter query. Set fields\n * are ANDed. Each sub-filter takes exactly one operator; unknown filter\n * keys and unknown operators are rejected (`422 INVALID_FILTERS`).\n *\n * `price` (USD decimal strings) and `price_atomic` (integer micro-USD) are\n * two representations of ONE price constraint — the reasoning form and the\n * settlement form. They are MUTUALLY EXCLUSIVE: setting both is\n * `422 INVALID_FILTERS`. A JSON number in `price` is rejected (only decimal\n * strings), so `{lte: 5}` can never be mis-read as 5 micro-dollars.\n *\n * The canonical enum value sets are pinned to the platform spec by the CI\n * drift gate (`docs/contracts/search-platform.openapi.yaml`).\n *\n * @export\n * @interface SearchFilterSpec\n */\nexport interface SearchFilterSpec {\n /**\n *\n * @type {SearchPriceUsdFilter}\n * @memberof SearchFilterSpec\n */\n price?: SearchPriceUsdFilter;\n /**\n *\n * @type {SearchPriceAtomicFilter}\n * @memberof SearchFilterSpec\n */\n priceAtomic?: SearchPriceAtomicFilter;\n /**\n *\n * @type {SearchResourceTypeFilter}\n * @memberof SearchFilterSpec\n */\n type?: SearchResourceTypeFilter;\n /**\n *\n * @type {SearchProtocolFilter}\n * @memberof SearchFilterSpec\n */\n protocol?: SearchProtocolFilter;\n /**\n *\n * @type {SearchStringSetFilter}\n * @memberof SearchFilterSpec\n */\n category?: SearchStringSetFilter;\n /**\n *\n * @type {SearchMethodFilter}\n * @memberof SearchFilterSpec\n */\n method?: SearchMethodFilter;\n /**\n *\n * @type {SearchExecutionModeFilter}\n * @memberof SearchFilterSpec\n */\n executionMode?: SearchExecutionModeFilter;\n /**\n * True requires at least one access method whose paid request is supported by the current Weft fetch runtime. For async operations this can mean submission-only coverage followed by the provider workflow.\n * @type {boolean}\n * @memberof SearchFilterSpec\n */\n weftFetchCompatible?: boolean;\n /**\n * With a price constraint, also retain dynamic and unknown prices.\n * @type {boolean}\n * @memberof SearchFilterSpec\n */\n includeUnknownPrices?: boolean;\n}\n\n/**\n * Check if a given object implements the SearchFilterSpec interface.\n */\nexport function instanceOfSearchFilterSpec(value: object): value is SearchFilterSpec {\n return true;\n}\n\nexport function SearchFilterSpecFromJSON(json: any): SearchFilterSpec {\n return SearchFilterSpecFromJSONTyped(json, false);\n}\n\nexport function SearchFilterSpecFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchFilterSpec {\n if (json == null) {\n return json;\n }\n return {\n\n 'price': json['price'] == null ? undefined : SearchPriceUsdFilterFromJSON(json['price']),\n 'priceAtomic': json['price_atomic'] == null ? undefined : SearchPriceAtomicFilterFromJSON(json['price_atomic']),\n 'type': json['type'] == null ? undefined : SearchResourceTypeFilterFromJSON(json['type']),\n 'protocol': json['protocol'] == null ? undefined : SearchProtocolFilterFromJSON(json['protocol']),\n 'category': json['category'] == null ? undefined : SearchStringSetFilterFromJSON(json['category']),\n 'method': json['method'] == null ? undefined : SearchMethodFilterFromJSON(json['method']),\n 'executionMode': json['execution_mode'] == null ? undefined : SearchExecutionModeFilterFromJSON(json['execution_mode']),\n 'weftFetchCompatible': json['weft_fetch_compatible'] == null ? undefined : json['weft_fetch_compatible'],\n 'includeUnknownPrices': json['include_unknown_prices'] == null ? undefined : json['include_unknown_prices'],\n };\n}\n\nexport function SearchFilterSpecToJSON(json: any): SearchFilterSpec {\n return SearchFilterSpecToJSONTyped(json, false);\n}\n\nexport function SearchFilterSpecToJSONTyped(value?: SearchFilterSpec | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'price': SearchPriceUsdFilterToJSON(value['price']),\n 'price_atomic': SearchPriceAtomicFilterToJSON(value['priceAtomic']),\n 'type': SearchResourceTypeFilterToJSON(value['type']),\n 'protocol': SearchProtocolFilterToJSON(value['protocol']),\n 'category': SearchStringSetFilterToJSON(value['category']),\n 'method': SearchMethodFilterToJSON(value['method']),\n 'execution_mode': SearchExecutionModeFilterToJSON(value['executionMode']),\n 'weft_fetch_compatible': value['weftFetchCompatible'],\n 'include_unknown_prices': value['includeUnknownPrices'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchProviderRef\n */\nexport interface SearchProviderRef {\n /**\n *\n * @type {string}\n * @memberof SearchProviderRef\n */\n providerId?: string;\n /**\n *\n * @type {string}\n * @memberof SearchProviderRef\n */\n displayName?: string;\n /**\n *\n * @type {Array<string>}\n * @memberof SearchProviderRef\n */\n originDomains?: Array<string>;\n}\n\n/**\n * Check if a given object implements the SearchProviderRef interface.\n */\nexport function instanceOfSearchProviderRef(value: object): value is SearchProviderRef {\n return true;\n}\n\nexport function SearchProviderRefFromJSON(json: any): SearchProviderRef {\n return SearchProviderRefFromJSONTyped(json, false);\n}\n\nexport function SearchProviderRefFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchProviderRef {\n if (json == null) {\n return json;\n }\n return {\n\n 'providerId': json['provider_id'] == null ? undefined : json['provider_id'],\n 'displayName': json['display_name'] == null ? undefined : json['display_name'],\n 'originDomains': json['origin_domains'] == null ? undefined : json['origin_domains'],\n };\n}\n\nexport function SearchProviderRefToJSON(json: any): SearchProviderRef {\n return SearchProviderRefToJSONTyped(json, false);\n}\n\nexport function SearchProviderRefToJSONTyped(value?: SearchProviderRef | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider_id': value['providerId'],\n 'display_name': value['displayName'],\n 'origin_domains': value['originDomains'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchFilterSpec } from './SearchFilterSpec';\nimport {\n SearchFilterSpecFromJSON,\n SearchFilterSpecFromJSONTyped,\n SearchFilterSpecToJSON,\n SearchFilterSpecToJSONTyped,\n} from './SearchFilterSpec';\n\n/**\n *\n * @export\n * @interface SearchRequest\n */\nexport interface SearchRequest {\n /**\n * Free-text query. Required and non-empty.\n * @type {string}\n * @memberof SearchRequest\n */\n query: string;\n /**\n * Max number of hits to return. Invalid values are rejected, not clamped.\n * @type {number}\n * @memberof SearchRequest\n */\n maxResults?: number;\n /**\n *\n * @type {SearchFilterSpec}\n * @memberof SearchRequest\n */\n filters?: SearchFilterSpec;\n /**\n * Response view. Absent means `full`: the complete `SearchResult`\n * rows in `results`. `compact` returns the hosted MCP agent view in\n * `compact_results` (see `SearchCompactResult`). The compact view\n * applies the same selection as hosted MCP search: it leaves out\n * incomplete PayWithLocus gateway contracts. It does not add filters;\n * send `weft_fetch_compatible: true` to get only results that\n * `POST /api/v1/fetch` can pay.\n *\n * @type {string}\n * @memberof SearchRequest\n */\n view?: SearchRequestViewEnum;\n}\n\n\n/**\n * @export\n */\nexport const SearchRequestViewEnum = {\n Full: 'full',\n Compact: 'compact'\n} as const;\nexport type SearchRequestViewEnum = typeof SearchRequestViewEnum[keyof typeof SearchRequestViewEnum];\n\n\n/**\n * Check if a given object implements the SearchRequest interface.\n */\nexport function instanceOfSearchRequest(value: object): value is SearchRequest {\n if (!('query' in value) || value['query'] === undefined) return false;\n return true;\n}\n\nexport function SearchRequestFromJSON(json: any): SearchRequest {\n return SearchRequestFromJSONTyped(json, false);\n}\n\nexport function SearchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'query': json['query'],\n 'maxResults': json['max_results'] == null ? undefined : json['max_results'],\n 'filters': json['filters'] == null ? undefined : SearchFilterSpecFromJSON(json['filters']),\n 'view': json['view'] == null ? undefined : json['view'],\n };\n}\n\nexport function SearchRequestToJSON(json: any): SearchRequest {\n return SearchRequestToJSONTyped(json, false);\n}\n\nexport function SearchRequestToJSONTyped(value?: SearchRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'query': value['query'],\n 'max_results': value['maxResults'],\n 'filters': SearchFilterSpecToJSON(value['filters']),\n 'view': value['view'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchEndpointHit } from './SearchEndpointHit';\nimport {\n SearchEndpointHitFromJSON,\n SearchEndpointHitFromJSONTyped,\n SearchEndpointHitToJSON,\n SearchEndpointHitToJSONTyped,\n} from './SearchEndpointHit';\nimport type { SearchCapabilityRef } from './SearchCapabilityRef';\nimport {\n SearchCapabilityRefFromJSON,\n SearchCapabilityRefFromJSONTyped,\n SearchCapabilityRefToJSON,\n SearchCapabilityRefToJSONTyped,\n} from './SearchCapabilityRef';\nimport type { SearchProviderRef } from './SearchProviderRef';\nimport {\n SearchProviderRefFromJSON,\n SearchProviderRefFromJSONTyped,\n SearchProviderRefToJSON,\n SearchProviderRefToJSONTyped,\n} from './SearchProviderRef';\n\n/**\n *\n * @export\n * @interface SearchResult\n */\nexport interface SearchResult {\n /**\n *\n * @type {SearchProviderRef}\n * @memberof SearchResult\n */\n provider: SearchProviderRef;\n /**\n *\n * @type {SearchCapabilityRef}\n * @memberof SearchResult\n */\n capability: SearchCapabilityRef;\n /**\n *\n * @type {Array<SearchEndpointHit>}\n * @memberof SearchResult\n */\n endpoints: Array<SearchEndpointHit>;\n /**\n *\n * @type {number}\n * @memberof SearchResult\n */\n score: number;\n}\n\n/**\n * Check if a given object implements the SearchResult interface.\n */\nexport function instanceOfSearchResult(value: object): value is SearchResult {\n if (!('provider' in value) || value['provider'] === undefined) return false;\n if (!('capability' in value) || value['capability'] === undefined) return false;\n if (!('endpoints' in value) || value['endpoints'] === undefined) return false;\n if (!('score' in value) || value['score'] === undefined) return false;\n return true;\n}\n\nexport function SearchResultFromJSON(json: any): SearchResult {\n return SearchResultFromJSONTyped(json, false);\n}\n\nexport function SearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResult {\n if (json == null) {\n return json;\n }\n return {\n\n 'provider': SearchProviderRefFromJSON(json['provider']),\n 'capability': SearchCapabilityRefFromJSON(json['capability']),\n 'endpoints': ((json['endpoints'] as Array<any>).map(SearchEndpointHitFromJSON)),\n 'score': json['score'],\n };\n}\n\nexport function SearchResultToJSON(json: any): SearchResult {\n return SearchResultToJSONTyped(json, false);\n}\n\nexport function SearchResultToJSONTyped(value?: SearchResult | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'provider': SearchProviderRefToJSON(value['provider']),\n 'capability': SearchCapabilityRefToJSON(value['capability']),\n 'endpoints': ((value['endpoints'] as Array<any>).map(SearchEndpointHitToJSON)),\n 'score': value['score'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SearchResponseWarningsInner\n */\nexport interface SearchResponseWarningsInner {\n /**\n *\n * @type {string}\n * @memberof SearchResponseWarningsInner\n */\n code: string;\n /**\n *\n * @type {string}\n * @memberof SearchResponseWarningsInner\n */\n message: string;\n /**\n * Typed cause for codes that carry one. Null otherwise.\n * @type {string}\n * @memberof SearchResponseWarningsInner\n */\n cause?: string;\n /**\n * Structured context for the warning. Null when the code carries none.\n * @type {object}\n * @memberof SearchResponseWarningsInner\n */\n context?: object;\n}\n\n/**\n * Check if a given object implements the SearchResponseWarningsInner interface.\n */\nexport function instanceOfSearchResponseWarningsInner(value: object): value is SearchResponseWarningsInner {\n if (!('code' in value) || value['code'] === undefined) return false;\n if (!('message' in value) || value['message'] === undefined) return false;\n return true;\n}\n\nexport function SearchResponseWarningsInnerFromJSON(json: any): SearchResponseWarningsInner {\n return SearchResponseWarningsInnerFromJSONTyped(json, false);\n}\n\nexport function SearchResponseWarningsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResponseWarningsInner {\n if (json == null) {\n return json;\n }\n return {\n\n 'code': json['code'],\n 'message': json['message'],\n 'cause': json['cause'] == null ? undefined : json['cause'],\n 'context': json['context'] == null ? undefined : json['context'],\n };\n}\n\nexport function SearchResponseWarningsInnerToJSON(json: any): SearchResponseWarningsInner {\n return SearchResponseWarningsInnerToJSONTyped(json, false);\n}\n\nexport function SearchResponseWarningsInnerToJSONTyped(value?: SearchResponseWarningsInner | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'code': value['code'],\n 'message': value['message'],\n 'cause': value['cause'],\n 'context': value['context'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { SearchFilterSpec } from './SearchFilterSpec';\nimport {\n SearchFilterSpecFromJSON,\n SearchFilterSpecFromJSONTyped,\n SearchFilterSpecToJSON,\n SearchFilterSpecToJSONTyped,\n} from './SearchFilterSpec';\nimport type { SearchCompactResult } from './SearchCompactResult';\nimport {\n SearchCompactResultFromJSON,\n SearchCompactResultFromJSONTyped,\n SearchCompactResultToJSON,\n SearchCompactResultToJSONTyped,\n} from './SearchCompactResult';\nimport type { SearchResult } from './SearchResult';\nimport {\n SearchResultFromJSON,\n SearchResultFromJSONTyped,\n SearchResultToJSON,\n SearchResultToJSONTyped,\n} from './SearchResult';\nimport type { SearchResponseWarningsInner } from './SearchResponseWarningsInner';\nimport {\n SearchResponseWarningsInnerFromJSON,\n SearchResponseWarningsInnerFromJSONTyped,\n SearchResponseWarningsInnerToJSON,\n SearchResponseWarningsInnerToJSONTyped,\n} from './SearchResponseWarningsInner';\n\n/**\n * The weft-search-platform `POST /v1/search` response envelope.\n * @export\n * @interface SearchResponse\n */\nexport interface SearchResponse {\n /**\n * Opaque trace id for the served query, matching the platform\n * `query_trace_id` — and the `search_id` that re-reads it. Deliberately\n * the same id rather than a second handle: one serve, one name.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n queryTraceId: string;\n /**\n *\n * @type {string}\n * @memberof SearchResponse\n */\n query: string;\n /**\n * Which view this response carries, echoing the requested format.\n * `json` populates `results` and leaves `markdown` null; `markdown`\n * populates `markdown` and leaves `results` empty. Exactly one is\n * populated per response, never both — returning both eagerly would\n * double the payload.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n format?: SearchResponseFormatEnum;\n /**\n * The flat comparison table, when `format` is `markdown`; null\n * otherwise. Rendered deterministically from the same stored result\n * the `json` view returns, so the two views of one search can never\n * disagree.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n markdown?: string;\n /**\n * How many `(Provider + Capability)` results the search produced. Read\n * THIS, not `results.length`, for the count: on a `markdown` response\n * `results` is empty by design, so `result_count > 0` with an empty\n * `results` is a rendered table while `result_count == 0` is a genuine\n * zero-result. On a `compact` view response it counts\n * `compact_results`; there, `result_count == 0` with\n * `omitted_results` means every ranked result was too large to show.\n *\n * @type {number}\n * @memberof SearchResponse\n */\n resultCount?: number;\n /**\n * `live` for a fresh serve; `snapshot` for an immutable replay of a\n * completed search. A re-read is a snapshot and says so — read it with\n * `as_of` and `stale`.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n servedFrom?: SearchResponseServedFromEnum;\n /**\n * When the results were produced. Now on a `live` serve; on a\n * `snapshot` the ORIGINAL serve time, because a replay returns exactly\n * what was paid for, not current truth.\n *\n * @type {Date}\n * @memberof SearchResponse\n */\n asOf?: Date;\n /**\n * Whether the active search index has changed since these results were\n * produced. `true` does not mean the results are wrong — it means they\n * are a snapshot of an index that has since moved. Always `false` on a\n * `live` serve.\n *\n * @type {boolean}\n * @memberof SearchResponse\n */\n stale?: boolean;\n /**\n * How payment works across the catalog, stated once for the whole\n * response rather than repeated in every endpoint's usage instructions.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n paymentNote?: string;\n /**\n * The `FilterSpec` actually applied to recall, echoed back so the\n * caller sees exactly what constrained the results. In the current\n * contract this is the caller's `filters` verbatim (empty object when\n * none were sent).\n *\n * @type {SearchFilterSpec}\n * @memberof SearchResponse\n */\n appliedFilters?: SearchFilterSpec;\n /**\n * Origin of `applied_filters`; always `CALLER`.\n * @type {string}\n * @memberof SearchResponse\n */\n decompositionSource?: SearchResponseDecompositionSourceEnum;\n /**\n *\n * @type {string}\n * @memberof SearchResponse\n */\n embedderModel: string;\n /**\n *\n * @type {number}\n * @memberof SearchResponse\n */\n candidatesConsidered: number;\n /**\n *\n * @type {Array<SearchResponseWarningsInner>}\n * @memberof SearchResponse\n */\n warnings: Array<SearchResponseWarningsInner>;\n /**\n * Calibrated confidence in this result set — read this instead of\n * thresholding a raw similarity score. `strong`: the top match is\n * confidently on-intent, proceed. `weak`: above the relevance floor\n * but inside the band where plausible-but-wrong matches live, verify\n * the result before paying. `none`: nothing cleared the floor —\n * `results` is empty and `reason` / `suggestion` say why. Results\n * below the floor are never returned as near-misses.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n matchQuality?: SearchResponseMatchQualityEnum;\n /**\n * Machine-readable cause of an empty result set, non-null exactly when\n * `match_quality` is `none`. `below_relevance_floor`: candidates ranked\n * but the best scored under the floor. `filter_collapsed_pool`: a caller\n * filter cut the pool before ranking and nothing relevant survived —\n * relax the filter. `no_catalog_coverage`: recall returned no candidates\n * at all on an unfiltered query. `unsupported_filter_value`: a\n * CATEGORICAL filter value (`type` / `protocol`) matches zero stored\n * values, so it could never have matched — categorical only, since a\n * continuous bound like `price` that matches nothing is reported as\n * `filter_collapsed_pool` instead (the bound needs raising, the\n * dimension is not unsupported). `index_unavailable`: no active index\n * — an operational fault, paired with the `EMPTY_INDEX` warning.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n reason?: SearchResponseReasonEnum;\n /**\n * Human/agent-readable explanation of `reason`, carrying the concrete\n * numbers behind it (pool sizes, the best discarded score against the\n * floor, the values actually stored for a filter). Non-null exactly\n * when `reason` is.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n suggestion?: string;\n /**\n * Ranked `(Provider + Capability)` results; empty when the index is\n * empty or nothing cleared the relevance floor. Results BELOW the floor\n * are never returned — an empty list plus a `reason` is the honest\n * answer, not a list of near-misses in the same shape as a genuine\n * match. Empty on a `compact` view response; read `compact_results`.\n *\n * @type {Array<SearchResult>}\n * @memberof SearchResponse\n */\n results: Array<SearchResult>;\n /**\n * The view this response carries. Present as `compact` when the\n * request asked for `view: \"compact\"`; absent means `full`.\n *\n * @type {string}\n * @memberof SearchResponse\n */\n view?: SearchResponseViewEnum;\n /**\n * Ranked compact results, present only on a `compact` view response.\n * `result_count` is their count. They are a separate field so that\n * typed clients keep the full `SearchResult` shape for `results`.\n *\n * @type {Array<SearchCompactResult>}\n * @memberof SearchResponse\n */\n compactResults?: Array<SearchCompactResult>;\n /**\n * Compact view only: how many ranked results were left out because\n * even their minimum summary does not fit the per-result budget.\n * Absent when none were left out.\n *\n * @type {number}\n * @memberof SearchResponse\n */\n omittedResults?: number;\n}\n\n\n/**\n * @export\n */\nexport const SearchResponseFormatEnum = {\n Json: 'json',\n Markdown: 'markdown'\n} as const;\nexport type SearchResponseFormatEnum = typeof SearchResponseFormatEnum[keyof typeof SearchResponseFormatEnum];\n\n/**\n * @export\n */\nexport const SearchResponseServedFromEnum = {\n Live: 'live',\n Snapshot: 'snapshot'\n} as const;\nexport type SearchResponseServedFromEnum = typeof SearchResponseServedFromEnum[keyof typeof SearchResponseServedFromEnum];\n\n/**\n * @export\n */\nexport const SearchResponseDecompositionSourceEnum = {\n Caller: 'CALLER'\n} as const;\nexport type SearchResponseDecompositionSourceEnum = typeof SearchResponseDecompositionSourceEnum[keyof typeof SearchResponseDecompositionSourceEnum];\n\n/**\n * @export\n */\nexport const SearchResponseMatchQualityEnum = {\n Strong: 'strong',\n Weak: 'weak',\n None: 'none'\n} as const;\nexport type SearchResponseMatchQualityEnum = typeof SearchResponseMatchQualityEnum[keyof typeof SearchResponseMatchQualityEnum];\n\n/**\n * @export\n */\nexport const SearchResponseReasonEnum = {\n BelowRelevanceFloor: 'below_relevance_floor',\n FilterCollapsedPool: 'filter_collapsed_pool',\n NoCatalogCoverage: 'no_catalog_coverage',\n UnsupportedFilterValue: 'unsupported_filter_value',\n IndexUnavailable: 'index_unavailable'\n} as const;\nexport type SearchResponseReasonEnum = typeof SearchResponseReasonEnum[keyof typeof SearchResponseReasonEnum];\n\n/**\n * @export\n */\nexport const SearchResponseViewEnum = {\n Full: 'full',\n Compact: 'compact'\n} as const;\nexport type SearchResponseViewEnum = typeof SearchResponseViewEnum[keyof typeof SearchResponseViewEnum];\n\n\n/**\n * Check if a given object implements the SearchResponse interface.\n */\nexport function instanceOfSearchResponse(value: object): value is SearchResponse {\n if (!('queryTraceId' in value) || value['queryTraceId'] === undefined) return false;\n if (!('query' in value) || value['query'] === undefined) return false;\n if (!('embedderModel' in value) || value['embedderModel'] === undefined) return false;\n if (!('candidatesConsidered' in value) || value['candidatesConsidered'] === undefined) return false;\n if (!('warnings' in value) || value['warnings'] === undefined) return false;\n if (!('results' in value) || value['results'] === undefined) return false;\n return true;\n}\n\nexport function SearchResponseFromJSON(json: any): SearchResponse {\n return SearchResponseFromJSONTyped(json, false);\n}\n\nexport function SearchResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResponse {\n if (json == null) {\n return json;\n }\n return {\n\n 'queryTraceId': json['query_trace_id'],\n 'query': json['query'],\n 'format': json['format'] == null ? undefined : json['format'],\n 'markdown': json['markdown'] == null ? undefined : json['markdown'],\n 'resultCount': json['result_count'] == null ? undefined : json['result_count'],\n 'servedFrom': json['served_from'] == null ? undefined : json['served_from'],\n 'asOf': json['as_of'] == null ? undefined : (new Date(json['as_of'])),\n 'stale': json['stale'] == null ? undefined : json['stale'],\n 'paymentNote': json['payment_note'] == null ? undefined : json['payment_note'],\n 'appliedFilters': json['applied_filters'] == null ? undefined : SearchFilterSpecFromJSON(json['applied_filters']),\n 'decompositionSource': json['decomposition_source'] == null ? undefined : json['decomposition_source'],\n 'embedderModel': json['embedder_model'],\n 'candidatesConsidered': json['candidates_considered'],\n 'warnings': ((json['warnings'] as Array<any>).map(SearchResponseWarningsInnerFromJSON)),\n 'matchQuality': json['match_quality'] == null ? undefined : json['match_quality'],\n 'reason': json['reason'] == null ? undefined : json['reason'],\n 'suggestion': json['suggestion'] == null ? undefined : json['suggestion'],\n 'results': ((json['results'] as Array<any>).map(SearchResultFromJSON)),\n 'view': json['view'] == null ? undefined : json['view'],\n 'compactResults': json['compact_results'] == null ? undefined : ((json['compact_results'] as Array<any>).map(SearchCompactResultFromJSON)),\n 'omittedResults': json['omitted_results'] == null ? undefined : json['omitted_results'],\n };\n}\n\nexport function SearchResponseToJSON(json: any): SearchResponse {\n return SearchResponseToJSONTyped(json, false);\n}\n\nexport function SearchResponseToJSONTyped(value?: SearchResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'query_trace_id': value['queryTraceId'],\n 'query': value['query'],\n 'format': value['format'],\n 'markdown': value['markdown'],\n 'result_count': value['resultCount'],\n 'served_from': value['servedFrom'],\n 'as_of': value['asOf'] == null ? value['asOf'] : value['asOf'].toISOString(),\n 'stale': value['stale'],\n 'payment_note': value['paymentNote'],\n 'applied_filters': SearchFilterSpecToJSON(value['appliedFilters']),\n 'decomposition_source': value['decompositionSource'],\n 'embedder_model': value['embedderModel'],\n 'candidates_considered': value['candidatesConsidered'],\n 'warnings': ((value['warnings'] as Array<any>).map(SearchResponseWarningsInnerToJSON)),\n 'match_quality': value['matchQuality'],\n 'reason': value['reason'],\n 'suggestion': value['suggestion'],\n 'results': ((value['results'] as Array<any>).map(SearchResultToJSON)),\n 'view': value['view'],\n 'compact_results': value['compactResults'] == null ? undefined : ((value['compactResults'] as Array<any>).map(SearchCompactResultToJSON)),\n 'omitted_results': value['omittedResults'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SignInRequest\n */\nexport interface SignInRequest {\n /**\n *\n * @type {string}\n * @memberof SignInRequest\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof SignInRequest\n */\n password: string;\n}\n\n/**\n * Check if a given object implements the SignInRequest interface.\n */\nexport function instanceOfSignInRequest(value: object): value is SignInRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('password' in value) || value['password'] === undefined) return false;\n return true;\n}\n\nexport function SignInRequestFromJSON(json: any): SignInRequest {\n return SignInRequestFromJSONTyped(json, false);\n}\n\nexport function SignInRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignInRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n 'password': json['password'],\n };\n}\n\nexport function SignInRequestToJSON(json: any): SignInRequest {\n return SignInRequestToJSONTyped(json, false);\n}\n\nexport function SignInRequestToJSONTyped(value?: SignInRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n 'password': value['password'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n *\n * @export\n * @interface SignUpRequest\n */\nexport interface SignUpRequest {\n /**\n *\n * @type {string}\n * @memberof SignUpRequest\n */\n email: string;\n /**\n *\n * @type {string}\n * @memberof SignUpRequest\n */\n password: string;\n /**\n *\n * @type {string}\n * @memberof SignUpRequest\n */\n passwordConfirmation: string;\n}\n\n/**\n * Check if a given object implements the SignUpRequest interface.\n */\nexport function instanceOfSignUpRequest(value: object): value is SignUpRequest {\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('password' in value) || value['password'] === undefined) return false;\n if (!('passwordConfirmation' in value) || value['passwordConfirmation'] === undefined) return false;\n return true;\n}\n\nexport function SignUpRequestFromJSON(json: any): SignUpRequest {\n return SignUpRequestFromJSONTyped(json, false);\n}\n\nexport function SignUpRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignUpRequest {\n if (json == null) {\n return json;\n }\n return {\n\n 'email': json['email'],\n 'password': json['password'],\n 'passwordConfirmation': json['password_confirmation'],\n };\n}\n\nexport function SignUpRequestToJSON(json: any): SignUpRequest {\n return SignUpRequestToJSONTyped(json, false);\n}\n\nexport function SignUpRequestToJSONTyped(value?: SignUpRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n\n 'email': value['email'],\n 'password': value['password'],\n 'password_confirmation': value['passwordConfirmation'],\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ApiKeyCreatedResponse,\n ApiKeyListResponse,\n CreateApiKeyRequest,\n ErrorResponse,\n MessageResponse,\n} from '../models/index';\nimport {\n ApiKeyCreatedResponseFromJSON,\n ApiKeyCreatedResponseToJSON,\n ApiKeyListResponseFromJSON,\n ApiKeyListResponseToJSON,\n CreateApiKeyRequestFromJSON,\n CreateApiKeyRequestToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n MessageResponseFromJSON,\n MessageResponseToJSON,\n} from '../models/index';\n\nexport interface CreateApiKeyOperationRequest {\n createApiKeyRequest: CreateApiKeyRequest;\n}\n\nexport interface RevokeApiKeyRequest {\n id: number;\n}\n\n/**\n *\n */\nexport class APIKeysApi extends runtime.BaseAPI {\n\n /**\n * Create an `ax_live_*` resource key for the authenticated seller Organization. Buyer `wk_*` keys are created in the buyer dashboard.\n * Create an API key\n */\n async createApiKeyRaw(requestParameters: CreateApiKeyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyCreatedResponse>> {\n if (requestParameters['createApiKeyRequest'] == null) {\n throw new runtime.RequiredError(\n 'createApiKeyRequest',\n 'Required parameter \"createApiKeyRequest\" was null or undefined when calling createApiKey().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/api_keys`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: CreateApiKeyRequestToJSON(requestParameters['createApiKeyRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyCreatedResponseFromJSON(jsonValue));\n }\n\n /**\n * Create an `ax_live_*` resource key for the authenticated seller Organization. Buyer `wk_*` keys are created in the buyer dashboard.\n * Create an API key\n */\n async createApiKey(requestParameters: CreateApiKeyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyCreatedResponse> {\n const response = await this.createApiKeyRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * List `ax_live_*` resource keys for the seller Organization.\n * List API keys\n */\n async listApiKeysRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyListResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/api_keys`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyListResponseFromJSON(jsonValue));\n }\n\n /**\n * List `ax_live_*` resource keys for the seller Organization.\n * List API keys\n */\n async listApiKeys(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyListResponse> {\n const response = await this.listApiKeysRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Revoke an API key\n */\n async revokeApiKeyRaw(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling revokeApiKey().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/api_keys/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Revoke an API key\n */\n async revokeApiKey(requestParameters: RevokeApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.revokeApiKeyRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n MeResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n MeResponseFromJSON,\n MeResponseToJSON,\n} from '../models/index';\n\n/**\n *\n */\nexport class AccountApi extends runtime.BaseAPI {\n\n /**\n * Returns the seller Organization represented by an `ax_live_*` resource key, or the buyer User represented by a `wk_*` account key, OAuth access token, or claimed `wbt_*` bearer. Branch on `data.principal_type`.\n * Get the current credential principal\n */\n async getMeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MeResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/me`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MeResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the seller Organization represented by an `ax_live_*` resource key, or the buyer User represented by a `wk_*` account key, OAuth access token, or claimed `wbt_*` bearer. Branch on `data.principal_type`.\n * Get the current credential principal\n */\n async getMe(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MeResponse> {\n const response = await this.getMeRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AccountBootstrapCreatedResponse,\n AccountBootstrapRequest,\n AccountBootstrapStatusResponse,\n ErrorResponse,\n RateLimitResponse,\n} from '../models/index';\nimport {\n AccountBootstrapCreatedResponseFromJSON,\n AccountBootstrapCreatedResponseToJSON,\n AccountBootstrapRequestFromJSON,\n AccountBootstrapRequestToJSON,\n AccountBootstrapStatusResponseFromJSON,\n AccountBootstrapStatusResponseToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n RateLimitResponseFromJSON,\n RateLimitResponseToJSON,\n} from '../models/index';\n\nexport interface CancelAccountBootstrapRequest {\n id: string;\n}\n\nexport interface CreateAccountBootstrapRequest {\n accountBootstrapRequest: AccountBootstrapRequest;\n}\n\nexport interface GetAccountBootstrapRequest {\n id: string;\n}\n\n/**\n *\n */\nexport class AgentBootstrapApi extends runtime.BaseAPI {\n\n /**\n * A pending bootstrap becomes rejected. A claimed promoted credential becomes revoked and fails every subsequent request immediately.\n * Cancel or revoke a bootstrap credential\n */\n async cancelAccountBootstrapRaw(requestParameters: CancelAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountBootstrapStatusResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling cancelAccountBootstrap().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bootstrapAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/account_bootstraps/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountBootstrapStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * A pending bootstrap becomes rejected. A claimed promoted credential becomes revoked and fails every subsequent request immediately.\n * Cancel or revoke a bootstrap credential\n */\n async cancelAccountBootstrap(requestParameters: CancelAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountBootstrapStatusResponse> {\n const response = await this.cancelAccountBootstrapRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a 30-minute, search-only bootstrap and emails a separate claim link to the supplied address. Human approval binds the same `wbt_*` bearer to the account and promotes it to the fixed durable capability set. The response is deliberately identical for new and existing account emails and never contains the claim token. Rate limits apply per IP and normalized email; request bodies over 4 KiB are rejected before parsing. The bootstrap row and one-time credentials are committed only after the mail relay accepts the claim email. A retryable 503 leaves no bootstrap row behind.\n * Create a temporary agent bootstrap\n */\n async createAccountBootstrapRaw(requestParameters: CreateAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountBootstrapCreatedResponse>> {\n if (requestParameters['accountBootstrapRequest'] == null) {\n throw new runtime.RequiredError(\n 'accountBootstrapRequest',\n 'Required parameter \"accountBootstrapRequest\" was null or undefined when calling createAccountBootstrap().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/account_bootstraps`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: AccountBootstrapRequestToJSON(requestParameters['accountBootstrapRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountBootstrapCreatedResponseFromJSON(jsonValue));\n }\n\n /**\n * Creates a 30-minute, search-only bootstrap and emails a separate claim link to the supplied address. Human approval binds the same `wbt_*` bearer to the account and promotes it to the fixed durable capability set. The response is deliberately identical for new and existing account emails and never contains the claim token. Rate limits apply per IP and normalized email; request bodies over 4 KiB are rejected before parsing. The bootstrap row and one-time credentials are committed only after the mail relay accepts the claim email. A retryable 503 leaves no bootstrap row behind.\n * Create a temporary agent bootstrap\n */\n async createAccountBootstrap(requestParameters: CreateAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountBootstrapCreatedResponse> {\n const response = await this.createAccountBootstrapRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Read bootstrap lifecycle status\n */\n async getAccountBootstrapRaw(requestParameters: GetAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AccountBootstrapStatusResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getAccountBootstrap().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bootstrapAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/account_bootstraps/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AccountBootstrapStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * Read bootstrap lifecycle status\n */\n async getAccountBootstrap(requestParameters: GetAccountBootstrapRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AccountBootstrapStatusResponse> {\n const response = await this.getAccountBootstrapRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AuthResponse,\n ConfirmRequest,\n ErrorResponse,\n MessageResponse,\n PasswordResetRequest,\n PasswordUpdateRequest,\n ResendConfirmationRequest,\n SignInRequest,\n SignUpRequest,\n} from '../models/index';\nimport {\n AuthResponseFromJSON,\n AuthResponseToJSON,\n ConfirmRequestFromJSON,\n ConfirmRequestToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n MessageResponseFromJSON,\n MessageResponseToJSON,\n PasswordResetRequestFromJSON,\n PasswordResetRequestToJSON,\n PasswordUpdateRequestFromJSON,\n PasswordUpdateRequestToJSON,\n ResendConfirmationRequestFromJSON,\n ResendConfirmationRequestToJSON,\n SignInRequestFromJSON,\n SignInRequestToJSON,\n SignUpRequestFromJSON,\n SignUpRequestToJSON,\n} from '../models/index';\n\nexport interface ConfirmAccountRequest {\n confirmRequest: ConfirmRequest;\n}\n\nexport interface RequestPasswordResetRequest {\n passwordResetRequest: PasswordResetRequest;\n}\n\nexport interface ResendConfirmationOperationRequest {\n resendConfirmationRequest: ResendConfirmationRequest;\n}\n\nexport interface SignInOperationRequest {\n signInRequest: SignInRequest;\n}\n\nexport interface SignUpOperationRequest {\n signUpRequest: SignUpRequest;\n}\n\nexport interface UpdatePasswordRequest {\n passwordUpdateRequest: PasswordUpdateRequest;\n}\n\n/**\n *\n */\nexport class AuthApi extends runtime.BaseAPI {\n\n /**\n * Confirm an account\n */\n async confirmAccountRaw(requestParameters: ConfirmAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthResponse>> {\n if (requestParameters['confirmRequest'] == null) {\n throw new runtime.RequiredError(\n 'confirmRequest',\n 'Required parameter \"confirmRequest\" was null or undefined when calling confirmAccount().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/confirm`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ConfirmRequestToJSON(requestParameters['confirmRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AuthResponseFromJSON(jsonValue));\n }\n\n /**\n * Confirm an account\n */\n async confirmAccount(requestParameters: ConfirmAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthResponse> {\n const response = await this.confirmAccountRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Request password reset\n */\n async requestPasswordResetRaw(requestParameters: RequestPasswordResetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['passwordResetRequest'] == null) {\n throw new runtime.RequiredError(\n 'passwordResetRequest',\n 'Required parameter \"passwordResetRequest\" was null or undefined when calling requestPasswordReset().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/password/reset`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PasswordResetRequestToJSON(requestParameters['passwordResetRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Request password reset\n */\n async requestPasswordReset(requestParameters: RequestPasswordResetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.requestPasswordResetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Resend confirmation email\n */\n async resendConfirmationRaw(requestParameters: ResendConfirmationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['resendConfirmationRequest'] == null) {\n throw new runtime.RequiredError(\n 'resendConfirmationRequest',\n 'Required parameter \"resendConfirmationRequest\" was null or undefined when calling resendConfirmation().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/resend-confirmation`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ResendConfirmationRequestToJSON(requestParameters['resendConfirmationRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Resend confirmation email\n */\n async resendConfirmation(requestParameters: ResendConfirmationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.resendConfirmationRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sign in with email and password\n */\n async signInRaw(requestParameters: SignInOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthResponse>> {\n if (requestParameters['signInRequest'] == null) {\n throw new runtime.RequiredError(\n 'signInRequest',\n 'Required parameter \"signInRequest\" was null or undefined when calling signIn().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/sign_in`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: SignInRequestToJSON(requestParameters['signInRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AuthResponseFromJSON(jsonValue));\n }\n\n /**\n * Sign in with email and password\n */\n async signIn(requestParameters: SignInOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthResponse> {\n const response = await this.signInRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Create an account\n */\n async signUpRaw(requestParameters: SignUpOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthResponse>> {\n if (requestParameters['signUpRequest'] == null) {\n throw new runtime.RequiredError(\n 'signUpRequest',\n 'Required parameter \"signUpRequest\" was null or undefined when calling signUp().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/sign_up`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: SignUpRequestToJSON(requestParameters['signUpRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => AuthResponseFromJSON(jsonValue));\n }\n\n /**\n * Create an account\n */\n async signUp(requestParameters: SignUpOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthResponse> {\n const response = await this.signUpRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Update password with reset token\n */\n async updatePasswordRaw(requestParameters: UpdatePasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters['passwordUpdateRequest'] == null) {\n throw new runtime.RequiredError(\n 'passwordUpdateRequest',\n 'Required parameter \"passwordUpdateRequest\" was null or undefined when calling updatePassword().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/auth/password/update`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PasswordUpdateRequestToJSON(requestParameters['passwordUpdateRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MessageResponseFromJSON(jsonValue));\n }\n\n /**\n * Update password with reset token\n */\n async updatePassword(requestParameters: UpdatePasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.updatePasswordRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n BalanceResponse,\n ErrorResponse,\n InsufficientScopeResponse,\n} from '../models/index';\nimport {\n BalanceResponseFromJSON,\n BalanceResponseToJSON,\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseToJSON,\n} from '../models/index';\n\n/**\n *\n */\nexport class BalanceApi extends runtime.BaseAPI {\n\n /**\n * Read-only snapshot for the buyer behind the bearer token. The response always includes a `promo` block — values are zero in v1 and fill in once the freemium promo ledger ships, without a shape change. The Base USDC balance is fetched server-side through Crossmint. If Crossmint is unreachable, the balance fields are `null`; consumers must not interpret that as zero. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `balance`, or a claimed `wbt_*` bearer.\n * Get wallet, spending policy, and current-window spend\n */\n async getBalanceRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BalanceResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/balance`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => BalanceResponseFromJSON(jsonValue));\n }\n\n /**\n * Read-only snapshot for the buyer behind the bearer token. The response always includes a `promo` block — values are zero in v1 and fill in once the freemium promo ledger ships, without a shape change. The Base USDC balance is fetched server-side through Crossmint. If Crossmint is unreachable, the balance fields are `null`; consumers must not interpret that as zero. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `balance`, or a claimed `wbt_*` bearer.\n * Get wallet, spending policy, and current-window spend\n */\n async getBalance(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BalanceResponse> {\n const response = await this.getBalanceRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\n\n/**\n *\n */\nexport class DocumentationApi extends runtime.BaseAPI {\n\n /**\n * Fetch this OpenAPI document\n */\n async getOpenApiDocumentRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n\n let urlPath = `/docs/openapi.yaml`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse<string>(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Fetch this OpenAPI document\n */\n async getOpenApiDocument(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {\n const response = await this.getOpenApiDocumentRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n Fetch403Response,\n FetchErrorResponse,\n FetchRequest,\n FetchResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n Fetch403ResponseFromJSON,\n Fetch403ResponseToJSON,\n FetchErrorResponseFromJSON,\n FetchErrorResponseToJSON,\n FetchRequestFromJSON,\n FetchRequestToJSON,\n FetchResponseFromJSON,\n FetchResponseToJSON,\n} from '../models/index';\n\nexport interface FetchOperationRequest {\n fetchRequest: FetchRequest;\n idempotencyKey?: string;\n}\n\n/**\n *\n */\nexport class FetchApi extends runtime.BaseAPI {\n\n /**\n * Universal x402/MPP fetch proxy. The caller provides a target `url`, a merchant-principal `max_cost_usd` ceiling, and optional `method` / `body` / `headers`. Weft: 1. Issues the request. 2. On `402 Payment Required`, selects a supported x402 or MPP challenge. 3. Compares the asking price to `max_cost_usd` and the buyer\\'s policy (`max_tx_usd`, daily/weekly limits). 4. If refill is allowed and an eligible mainnet MPP challenge finds its Tempo token short, creates or adopts a buyer-owned Base-to-Tempo refill and returns `409 FUNDING_PENDING` with `details.reason=funding_active`. If an overlapping payment invalidates the balance observation before a bridge is created, the same retryable response carries `details.reason=balance_changed`. The caller retries the identical fetch after `details.retry_after_seconds`; that later request obtains a fresh challenge and reruns rail selection and all payment controls. 5. Authorizes payment from the buyer\\'s wallet on the selected rail. 6. Replays the request with the protocol-specific payment credential. 7. Streams the upstream artifact back, base64-encoded under `body_base64`, with `paid_usd`, `held_usd`, `payment_status`, `tx_hash`, `protocol`, and `purchase_id`. `paid_usd` is \\\"0.00\\\" until the charge is CONFIRMED settled — a signed-but- unsettled hold (the common case for x402, which settles asynchronously) reports its amount in `held_usd` instead, never in `paid_usd`. `purchase_id` is the id that `GET /api/v1/purchases/{id}` accepts, so a caller can read how a pending charge ends. **Opt-in safety controls:** `allow_tempo_refill: false` prevents this request from creating, adopting, or enqueueing a Base-to-Tempo bridge. A Tempo shortfall returns `402 INSUFFICIENT_BALANCE`; unrelated bridges and their jobs remain unchanged. `access_method_id` is advisory and does not enforce a payment rail. `max_total_cost_usd` is an all-in ceiling covering merchant principal, network gas, provider fees, and prerequisite buyer-paid operations. It disables refill; explicitly combining it with `allow_tempo_refill: true` returns `422 INCOMPATIBLE_FETCH_CONTROLS`. Current wallet integrations provide no supported binding all-in fee guarantee. Therefore all-in requests return `402 TOTAL_COST_UNVERIFIABLE` before payment preparation, approval, reservation, or refill. This also refuses recovery of older payments and SIWX wallet signing; it admits no positive paid route. Increasing the ceiling does not resolve missing fee authority. Omitted controls preserve existing behavior. Ordinary non-402 merchant responses retain `MERCHANT_RETURNED_NON_402`. Stored-result replay is historical payment information, not a new bounded authorization. Errors are structured with a stable `error` code, and each error response carries the buyer\\'s `policy`, `balance`, and a `dashboard_url` so a CLI can render an actionable message without a second round-trip. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `fetch`, or a claimed `wbt_*` bearer. **Forwarded headers:** the caller\\'s `headers` are passed through to the upstream, except a denylist of hop-by-hop and Weft-internal headers (`host`, `authorization`, `cookie`, `proxy-authorization`, `x-forwarded-*`, `x-real-ip`, `x-payment`, `connection`, `upgrade`). Up to 32 headers, 4 KB of combined value bytes.\n * Pay-and-fetch any URL (x402/MPP proxy)\n */\n async fetchRaw(requestParameters: FetchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchResponse>> {\n if (requestParameters['fetchRequest'] == null) {\n throw new runtime.RequiredError(\n 'fetchRequest',\n 'Required parameter \"fetchRequest\" was null or undefined when calling fetch().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (requestParameters['idempotencyKey'] != null) {\n headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);\n }\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/fetch`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: FetchRequestToJSON(requestParameters['fetchRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => FetchResponseFromJSON(jsonValue));\n }\n\n /**\n * Universal x402/MPP fetch proxy. The caller provides a target `url`, a merchant-principal `max_cost_usd` ceiling, and optional `method` / `body` / `headers`. Weft: 1. Issues the request. 2. On `402 Payment Required`, selects a supported x402 or MPP challenge. 3. Compares the asking price to `max_cost_usd` and the buyer\\'s policy (`max_tx_usd`, daily/weekly limits). 4. If refill is allowed and an eligible mainnet MPP challenge finds its Tempo token short, creates or adopts a buyer-owned Base-to-Tempo refill and returns `409 FUNDING_PENDING` with `details.reason=funding_active`. If an overlapping payment invalidates the balance observation before a bridge is created, the same retryable response carries `details.reason=balance_changed`. The caller retries the identical fetch after `details.retry_after_seconds`; that later request obtains a fresh challenge and reruns rail selection and all payment controls. 5. Authorizes payment from the buyer\\'s wallet on the selected rail. 6. Replays the request with the protocol-specific payment credential. 7. Streams the upstream artifact back, base64-encoded under `body_base64`, with `paid_usd`, `held_usd`, `payment_status`, `tx_hash`, `protocol`, and `purchase_id`. `paid_usd` is \\\"0.00\\\" until the charge is CONFIRMED settled — a signed-but- unsettled hold (the common case for x402, which settles asynchronously) reports its amount in `held_usd` instead, never in `paid_usd`. `purchase_id` is the id that `GET /api/v1/purchases/{id}` accepts, so a caller can read how a pending charge ends. **Opt-in safety controls:** `allow_tempo_refill: false` prevents this request from creating, adopting, or enqueueing a Base-to-Tempo bridge. A Tempo shortfall returns `402 INSUFFICIENT_BALANCE`; unrelated bridges and their jobs remain unchanged. `access_method_id` is advisory and does not enforce a payment rail. `max_total_cost_usd` is an all-in ceiling covering merchant principal, network gas, provider fees, and prerequisite buyer-paid operations. It disables refill; explicitly combining it with `allow_tempo_refill: true` returns `422 INCOMPATIBLE_FETCH_CONTROLS`. Current wallet integrations provide no supported binding all-in fee guarantee. Therefore all-in requests return `402 TOTAL_COST_UNVERIFIABLE` before payment preparation, approval, reservation, or refill. This also refuses recovery of older payments and SIWX wallet signing; it admits no positive paid route. Increasing the ceiling does not resolve missing fee authority. Omitted controls preserve existing behavior. Ordinary non-402 merchant responses retain `MERCHANT_RETURNED_NON_402`. Stored-result replay is historical payment information, not a new bounded authorization. Errors are structured with a stable `error` code, and each error response carries the buyer\\'s `policy`, `balance`, and a `dashboard_url` so a CLI can render an actionable message without a second round-trip. Account-scoped: the bearer must be a buyer-scoped API key, an OAuth access token carrying `fetch`, or a claimed `wbt_*` bearer. **Forwarded headers:** the caller\\'s `headers` are passed through to the upstream, except a denylist of hop-by-hop and Weft-internal headers (`host`, `authorization`, `cookie`, `proxy-authorization`, `x-forwarded-*`, `x-real-ip`, `x-payment`, `connection`, `upgrade`). Up to 32 headers, 4 KB of combined value bytes.\n * Pay-and-fetch any URL (x402/MPP proxy)\n */\n async fetch(requestParameters: FetchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchResponse> {\n const response = await this.fetchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n PaymentListResponse,\n PaymentResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n PaymentListResponseFromJSON,\n PaymentListResponseToJSON,\n PaymentResponseFromJSON,\n PaymentResponseToJSON,\n} from '../models/index';\n\nexport interface GetPaymentRequest {\n id: number;\n}\n\nexport interface ListPaymentsRequest {\n page?: number;\n perPage?: number;\n}\n\n/**\n *\n */\nexport class PaymentsApi extends runtime.BaseAPI {\n\n /**\n * Get payment details\n */\n async getPaymentRaw(requestParameters: GetPaymentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getPayment().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/payments/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PaymentResponseFromJSON(jsonValue));\n }\n\n /**\n * Get payment details\n */\n async getPayment(requestParameters: GetPaymentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentResponse> {\n const response = await this.getPaymentRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Seller payment receipts for the authenticated organization. A resource key with `product_id` set returns only payments whose `product_id` is that product. A resource key with `product_id` nil returns the organization. A payment outside that scope is not found.\n * List payments\n */\n async listPaymentsRaw(requestParameters: ListPaymentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaymentListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['perPage'] != null) {\n queryParameters['per_page'] = requestParameters['perPage'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/payments`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PaymentListResponseFromJSON(jsonValue));\n }\n\n /**\n * Seller payment receipts for the authenticated organization. A resource key with `product_id` set returns only payments whose `product_id` is that product. A resource key with `product_id` nil returns the organization. A payment outside that scope is not found.\n * List payments\n */\n async listPayments(requestParameters: ListPaymentsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaymentListResponse> {\n const response = await this.listPaymentsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n GetPurchaseIdParameter,\n InsufficientScopeResponse,\n PurchaseListResponse,\n PurchaseResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n GetPurchaseIdParameterFromJSON,\n GetPurchaseIdParameterToJSON,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseToJSON,\n PurchaseListResponseFromJSON,\n PurchaseListResponseToJSON,\n PurchaseResponseFromJSON,\n PurchaseResponseToJSON,\n} from '../models/index';\n\nexport interface GetPurchaseRequest {\n id: GetPurchaseIdParameter;\n}\n\nexport interface ListPurchasesRequest {\n page?: number;\n perPage?: number;\n}\n\n/**\n *\n */\nexport class PurchasesApi extends runtime.BaseAPI {\n\n /**\n * Get a buyer purchase\n */\n async getPurchaseRaw(requestParameters: GetPurchaseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PurchaseResponse>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getPurchase().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/purchases/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PurchaseResponseFromJSON(jsonValue));\n }\n\n /**\n * Get a buyer purchase\n */\n async getPurchase(requestParameters: GetPurchaseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PurchaseResponse> {\n const response = await this.getPurchaseRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns the authenticated buyer\\'s signing and settlement ledger. Unlike `/api/v1/payments`, this endpoint is User-scoped and backed by `signed_events`, so rejected and pending attempts are included. Scoped to the buyer\\'s own merchant spend, matching the dashboard\\'s Purchases page. Internal signings are excluded: historical refill self-transfers (`rebalance`) and operator signings (`manual`) are not payments the buyer made and never appear here.\n * List buyer purchases\n */\n async listPurchasesRaw(requestParameters: ListPurchasesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PurchaseListResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['perPage'] != null) {\n queryParameters['per_page'] = requestParameters['perPage'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/purchases`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PurchaseListResponseFromJSON(jsonValue));\n }\n\n /**\n * Returns the authenticated buyer\\'s signing and settlement ledger. Unlike `/api/v1/payments`, this endpoint is User-scoped and backed by `signed_events`, so rejected and pending attempts are included. Scoped to the buyer\\'s own merchant spend, matching the dashboard\\'s Purchases page. Internal signings are excluded: historical refill self-transfers (`rebalance`) and operator signings (`manual`) are not payments the buyer made and never appear here.\n * List buyer purchases\n */\n async listPurchases(requestParameters: ListPurchasesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PurchaseListResponse> {\n const response = await this.listPurchasesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n ResourceEnrollmentRequest,\n ResourceEnrollmentResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n ResourceEnrollmentRequestFromJSON,\n ResourceEnrollmentRequestToJSON,\n ResourceEnrollmentResponseFromJSON,\n ResourceEnrollmentResponseToJSON,\n} from '../models/index';\n\nexport interface EnrollResourceRequest {\n resourceEnrollmentRequest: ResourceEnrollmentRequest;\n}\n\n/**\n *\n */\nexport class ResourcesApi extends runtime.BaseAPI {\n\n /**\n * Lets an unauthenticated agent (or its operator) self-enroll a Resource as a \\\"ghost\\\" (no owning provider). The server generates the `slug` and a single-use `claim_token`; the response also carries a `claim_url` the agent hands to its human controller to claim the resource from the dashboard. Client-supplied `slug` and `category` are silently ignored: slugs are server-generated from `name` (so callers cannot squat on reserved names), and `category` is a post-claim concern set by a real human. Rate-limited to 10 enrollments/hour/IP.\n * Self-enroll a ghost resource (public, no auth)\n */\n async enrollResourceRaw(requestParameters: EnrollResourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ResourceEnrollmentResponse>> {\n if (requestParameters['resourceEnrollmentRequest'] == null) {\n throw new runtime.RequiredError(\n 'resourceEnrollmentRequest',\n 'Required parameter \"resourceEnrollmentRequest\" was null or undefined when calling enrollResource().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n\n let urlPath = `/api/v1/resources/enroll`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ResourceEnrollmentRequestToJSON(requestParameters['resourceEnrollmentRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ResourceEnrollmentResponseFromJSON(jsonValue));\n }\n\n /**\n * Lets an unauthenticated agent (or its operator) self-enroll a Resource as a \\\"ghost\\\" (no owning provider). The server generates the `slug` and a single-use `claim_token`; the response also carries a `claim_url` the agent hands to its human controller to claim the resource from the dashboard. Client-supplied `slug` and `category` are silently ignored: slugs are server-generated from `name` (so callers cannot squat on reserved names), and `category` is a post-claim concern set by a real human. Rate-limited to 10 enrollments/hour/IP.\n * Self-enroll a ghost resource (public, no auth)\n */\n async enrollResource(requestParameters: EnrollResourceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ResourceEnrollmentResponse> {\n const response = await this.enrollResourceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n InsufficientScopeResponse,\n RateLimitResponse,\n SearchErrorResponse,\n SearchRequest,\n SearchResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n InsufficientScopeResponseFromJSON,\n InsufficientScopeResponseToJSON,\n RateLimitResponseFromJSON,\n RateLimitResponseToJSON,\n SearchErrorResponseFromJSON,\n SearchErrorResponseToJSON,\n SearchRequestFromJSON,\n SearchRequestToJSON,\n SearchResponseFromJSON,\n SearchResponseToJSON,\n} from '../models/index';\n\nexport interface SearchOperationRequest {\n searchRequest: SearchRequest;\n}\n\n/**\n *\n */\nexport class SearchApi extends runtime.BaseAPI {\n\n /**\n * Semantic search over the Weft index of paid agent resources. The request body is the weft-search-platform `/v1/search` contract: a free-text `query`, optional `max_results`, and optional structured `filters` (price / price_atomic / type / protocol — the canonical FilterSpec v1 vocabulary, vendored verbatim from the platform). Price is a dual representation of one constraint: `price` in USD decimal strings (the reasoning form) XOR `price_atomic` in integer micro-USD (the settlement form) — mutually exclusive, set at most one. Account-scoped: the bearer token must be a buyer-scoped API key, an OAuth token carrying `search`, or a pending or claimed `wbt_*` bootstrap bearer. Pending bootstrap access uses an anonymous bootstrap identity; after claim, the promoted bearer uses its bound User. Rejection, cancellation, expiry, and revocation end bootstrap search. Bootstrap search is limited to 60 requests per credential and 120 per IP each hour before native credential promotion. Response negotiation: `Accept: application/json` (default) returns the structured envelope; `Accept: text/markdown` returns a rendered Markdown digest of the same results — useful for piping into a chat UI or LLM prompt. Compact view: send `view: \\\"compact\\\"` to get the agent view of the hosted MCP `weft_search` tool. Each result is a small contract for the next paid call (below 2,000 JSON bytes): typed inputs, the request recipe, one access method with price, attribution, a ready `next_call` to `POST /api/v1/fetch` when the request is determined, and the authenticated `contract_url` for the full contract. Use it when you give search results to a model. The compact rows are in `compact_results`; `results` is empty. The compact view is JSON only and needs the curated search backend.\n * Search the Weft index\n */\n async searchRaw(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchResponse>> {\n if (requestParameters['searchRequest'] == null) {\n throw new runtime.RequiredError(\n 'searchRequest',\n 'Required parameter \"searchRequest\" was null or undefined when calling search().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/search`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: SearchRequestToJSON(requestParameters['searchRequest']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => SearchResponseFromJSON(jsonValue));\n }\n\n /**\n * Semantic search over the Weft index of paid agent resources. The request body is the weft-search-platform `/v1/search` contract: a free-text `query`, optional `max_results`, and optional structured `filters` (price / price_atomic / type / protocol — the canonical FilterSpec v1 vocabulary, vendored verbatim from the platform). Price is a dual representation of one constraint: `price` in USD decimal strings (the reasoning form) XOR `price_atomic` in integer micro-USD (the settlement form) — mutually exclusive, set at most one. Account-scoped: the bearer token must be a buyer-scoped API key, an OAuth token carrying `search`, or a pending or claimed `wbt_*` bootstrap bearer. Pending bootstrap access uses an anonymous bootstrap identity; after claim, the promoted bearer uses its bound User. Rejection, cancellation, expiry, and revocation end bootstrap search. Bootstrap search is limited to 60 requests per credential and 120 per IP each hour before native credential promotion. Response negotiation: `Accept: application/json` (default) returns the structured envelope; `Accept: text/markdown` returns a rendered Markdown digest of the same results — useful for piping into a chat UI or LLM prompt. Compact view: send `view: \\\"compact\\\"` to get the agent view of the hosted MCP `weft_search` tool. Each result is a small contract for the next paid call (below 2,000 JSON bytes): typed inputs, the request recipe, one access method with price, attribution, a ready `next_call` to `POST /api/v1/fetch` when the request is determined, and the authenticated `contract_url` for the full contract. Use it when you give search results to a model. The compact rows are in `compact_results`; `results` is empty. The compact view is JSON only and needs the curated search backend.\n * Search the Weft index\n */\n async search(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchResponse> {\n const response = await this.searchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Weft API\n * The Weft API powers the `weft` CLI, the hosted MCP server (`weft.network/mcp`), and third-party applications that discover and pay for resources on Weft. The buyer runtime covers six concerns: 1. Account creation and recovery (`/api/v1/auth/_*`) 2. Credential identity (`/api/v1/me`) 3. Wallet visibility (`/api/v1/balance`) 4. Discovery (`/api/v1/search`) 5. Paid execution (`/api/v1/fetch`) 6. Purchase history (`/api/v1/purchases`) Buyer runtime calls require a dashboard-created `wk_*` account key, an OAuth access token with the relevant scope, or a claimed `wbt_*` bearer on its fixed allowlist. The organization-scoped API key and payment operations in this document are seller administration surfaces and require an `ax_live_*` resource key. These credential types are not interchangeable. This document is a deliberate subset of the `/api/v1` surface, not an inventory of it. The seller-side management endpoints — `/api/v1/agents` and `/api/v1/analytics` — are reachable with an `ax_live_*` key but are intentionally left undocumented: they are dashboard-facing and not part of the published client contract. `/api/v1/webhook_endpoints` stays routed and returns HTTP 410 with error code `gone` for index, show, create, update, and destroy. Nothing outside this document is a supported contract, and the response-validation gate in `config/environments/test.rb` enforces only what is declared here. Before claim, a `wbt_*` bearer is temporary and permits only search plus its own status/cancel operations for 30 minutes. Human approval binds it to the User and promotes the same secret to durable identity, search, balance, fetch, purchase-history, status, and revocation capabilities. It remains valid until revoked. Seller, organization, API-key administration, dashboard-session, transfer, withdrawal, and MCP surfaces always refuse it. Bootstrap lifecycle successes follow the API-standard `{ \\\"data\\\": ... }` envelope. All errors share the envelope defined by `ErrorResponse`, except the buyer-runtime endpoints (`/search`, `/fetch`) which use bespoke envelopes carrying additional context — see `SearchErrorResponse` and `FetchErrorResponse`.\n *\n * The version of the OpenAPI document: 0.32.2\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ErrorResponse,\n} from '../models/index';\nimport {\n ErrorResponseFromJSON,\n ErrorResponseToJSON,\n} from '../models/index';\n\nexport interface DeleteWebhookEndpointRequest {\n id: number;\n}\n\nexport interface GetWebhookEndpointRequest {\n id: number;\n}\n\nexport interface ReplaceWebhookEndpointRequest {\n id: number;\n}\n\nexport interface UpdateWebhookEndpointRequest {\n id: number;\n}\n\n/**\n *\n */\nexport class WebhooksApi extends runtime.BaseAPI {\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. The body is ignored.\n * Create a webhook endpoint\n * @deprecated\n */\n async createWebhookEndpointRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/webhook_endpoints`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. The body is ignored.\n * Create a webhook endpoint\n * @deprecated\n */\n async createWebhookEndpoint(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.createWebhookEndpointRaw(initOverrides);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. Stored rows are kept.\n * Delete a webhook endpoint\n * @deprecated\n */\n async deleteWebhookEndpointRaw(requestParameters: DeleteWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling deleteWebhookEndpoint().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/webhook_endpoints/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. Stored rows are kept.\n * Delete a webhook endpoint\n * @deprecated\n */\n async deleteWebhookEndpoint(requestParameters: DeleteWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.deleteWebhookEndpointRaw(requestParameters, initOverrides);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`.\n * Get a webhook endpoint\n * @deprecated\n */\n async getWebhookEndpointRaw(requestParameters: GetWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling getWebhookEndpoint().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/webhook_endpoints/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`.\n * Get a webhook endpoint\n * @deprecated\n */\n async getWebhookEndpoint(requestParameters: GetWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.getWebhookEndpointRaw(requestParameters, initOverrides);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`.\n * List webhook endpoints\n * @deprecated\n */\n async listWebhookEndpointsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/webhook_endpoints`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`.\n * List webhook endpoints\n * @deprecated\n */\n async listWebhookEndpoints(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.listWebhookEndpointsRaw(initOverrides);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. The body is ignored.\n * Replace a webhook endpoint\n * @deprecated\n */\n async replaceWebhookEndpointRaw(requestParameters: ReplaceWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling replaceWebhookEndpoint().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/webhook_endpoints/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. The body is ignored.\n * Replace a webhook endpoint\n * @deprecated\n */\n async replaceWebhookEndpoint(requestParameters: ReplaceWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.replaceWebhookEndpointRaw(requestParameters, initOverrides);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. The body is ignored.\n * Update a webhook endpoint\n * @deprecated\n */\n async updateWebhookEndpointRaw(requestParameters: UpdateWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling updateWebhookEndpoint().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n const token = this.configuration.accessToken;\n const tokenString = await token(\"bearerAuth\", []);\n\n if (tokenString) {\n headerParameters[\"Authorization\"] = `Bearer ${tokenString}`;\n }\n }\n\n let urlPath = `/api/v1/webhook_endpoints/{id}`;\n urlPath = urlPath.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Retired. Returns HTTP 410 with error code `gone`. The body is ignored.\n * Update a webhook endpoint\n * @deprecated\n */\n async updateWebhookEndpoint(requestParameters: UpdateWebhookEndpointRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n await this.updateWebhookEndpointRaw(requestParameters, initOverrides);\n }\n\n}\n","import { FetchError, ResponseError } from \"./generated\";\n\n/**\n * Whether the failed call can have created a charge. `none` covers this call\n * only: an earlier call under the same idempotency key can still have paid.\n * After `possible`, retry only with the same idempotency key and request.\n */\nexport type WeftCharge = \"none\" | \"possible\";\n\n// Codes Weft raises before it signs a payment in that call. Owner: the\n// weft-app raise sites listed in the conformance README.\nconst PRE_SIGN_FETCH_CODES = new Set([\n \"EXCEEDED_MAX_COST\",\n \"MERCHANT_RETURNED_NON_402\",\n \"INSUFFICIENT_BALANCE\",\n \"DENYLISTED_RECIPIENT\",\n \"WALLET_ENVIRONMENT_MISMATCH\",\n \"UNSUPPORTED_ASSET\",\n \"INVALID_REQUEST\",\n \"UNKNOWN_PARAMETER\",\n \"INVALID_URL\",\n \"INVALID_MAX_COST_USD\",\n \"UNSUPPORTED_METHOD\",\n \"INVALID_BODY\",\n \"INVALID_HEADERS\",\n \"INVALID_IDEMPOTENCY_KEY\",\n]);\n\nfunction fetchCharge(status: number, code: string): WeftCharge {\n const preSign =\n PRE_SIGN_FETCH_CODES.has(code) || code.startsWith(\"POLICY_VIOLATION_\");\n return status >= 400 && status < 500 && preSign ? \"none\" : \"possible\";\n}\n\nexport interface WeftErrorOptions {\n status: number;\n code: string;\n message: string;\n requestId?: string;\n retryable: boolean;\n details?: unknown;\n charge?: WeftCharge;\n}\n\nexport class WeftError extends Error {\n readonly status: number;\n readonly code: string;\n readonly requestId?: string;\n readonly retryable: boolean;\n readonly details?: unknown;\n readonly charge: WeftCharge;\n\n constructor(options: WeftErrorOptions) {\n super(options.message);\n this.name = \"WeftError\";\n this.status = options.status;\n this.code = options.code;\n this.requestId = options.requestId;\n this.retryable = options.retryable;\n this.details = options.details;\n // Fail closed: an error built without a charge may follow a payment.\n this.charge = options.charge ?? \"possible\";\n }\n}\n\nexport async function normalizeWeftError(\n error: unknown,\n paid = false,\n): Promise<unknown> {\n if (error instanceof FetchError) {\n // No HTTP response exists, so the outcome is uncertain. Callers retry\n // with backoff and, for paid fetch, reuse the same idempotency key.\n return new WeftError({\n status: 0,\n code: \"NETWORK_ERROR\",\n message: `Network failure before a Weft API response: ${\n error.cause?.message ?? error.message\n }`,\n retryable: true,\n details: error.cause,\n charge: paid ? \"possible\" : \"none\",\n });\n }\n if (!(error instanceof ResponseError)) {\n if (!paid || error instanceof WeftError) return error;\n // Weft answered 2xx, so the fetch most likely paid, but the body did not decode.\n return new WeftError({\n status: 0,\n code: \"RESPONSE_DECODE_ERROR\",\n message: \"Weft API returned a fetch response that could not be decoded\",\n // A replay returns the same body; reconcile instead of retrying.\n retryable: false,\n details: error,\n charge: \"possible\",\n });\n }\n\n let details: unknown;\n try {\n details = await error.response.json();\n } catch {\n details = undefined;\n }\n const body = details as\n | {\n error?:\n { code?: string; message?: string; request_id?: string } | string;\n code?: string;\n message?: string;\n request_id?: string;\n }\n | undefined;\n const nested = typeof body?.error === \"object\" ? body.error : undefined;\n const status = error.response.status;\n const code =\n nested?.code ??\n body?.code ??\n (typeof body?.error === \"string\" ? body.error : `HTTP_${status}`);\n\n return new WeftError({\n status,\n code,\n message:\n nested?.message ?? body?.message ?? `Weft API returned HTTP ${status}`,\n requestId:\n nested?.request_id ??\n body?.request_id ??\n error.response.headers.get(\"x-request-id\") ??\n undefined,\n retryable: status === 429 || status >= 500,\n details,\n charge: paid ? fetchCharge(status, String(code)) : \"none\",\n });\n}\n","import {\n AccountApi,\n BalanceApi,\n Configuration,\n FetchApi,\n PurchasesApi,\n SearchApi,\n type FetchAPI,\n type FetchRequest,\n type FetchResponse,\n type MeResponse,\n type BalanceResponse,\n type PurchaseListResponse,\n type PurchaseResponse,\n type SearchRequest,\n type SearchResponse,\n} from \"./generated\";\nimport { normalizeWeftError } from \"./error\";\n\nexport interface WeftClientOptions {\n apiKey: string;\n baseUrl?: string;\n fetchApi?: FetchAPI;\n}\n\nexport interface WeftOAuthClientOptions {\n accessToken: string;\n baseUrl?: string;\n fetchApi?: FetchAPI;\n}\n\nexport type PaidFetchRequest = FetchRequest & { maxCostUsd: string };\n\nexport interface FetchOptions {\n idempotencyKey: string;\n}\n\nexport interface PurchaseListOptions {\n page?: number;\n perPage?: number;\n}\n\nfunction withoutTrailingSlashes(value: string): string {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 47) {\n end -= 1;\n }\n return value.slice(0, end);\n}\n\n/**\n * Stable buyer-facing façade over the generated API clients.\n *\n * The generated clients remain exported for advanced use; this class is the\n * small surface agents and applications should normally build against.\n */\nexport class WeftClient {\n private readonly account: AccountApi;\n private readonly balances: BalanceApi;\n private readonly searches: SearchApi;\n private readonly fetches: FetchApi;\n private readonly purchaseHistory: PurchasesApi;\n\n constructor(options: WeftClientOptions | WeftOAuthClientOptions) {\n const apiKey = \"apiKey\" in options ? options.apiKey : undefined;\n const accessToken =\n \"accessToken\" in options ? options.accessToken : undefined;\n if (apiKey !== undefined && accessToken !== undefined) {\n throw new Error(\"apiKey and accessToken are mutually exclusive\");\n }\n const credential = (apiKey ?? accessToken)?.trim();\n if (!credential) {\n throw new Error(\n apiKey !== undefined\n ? \"apiKey is required\"\n : accessToken !== undefined\n ? \"accessToken is required\"\n : \"apiKey or accessToken is required\",\n );\n }\n\n const configuration = new Configuration({\n accessToken: credential,\n basePath: withoutTrailingSlashes(\n options.baseUrl ?? \"https://weft.network\",\n ),\n fetchApi: options.fetchApi,\n });\n\n this.account = new AccountApi(configuration);\n this.balances = new BalanceApi(configuration);\n this.searches = new SearchApi(configuration);\n this.fetches = new FetchApi(configuration);\n this.purchaseHistory = new PurchasesApi(configuration);\n }\n\n private async call<T>(operation: () => Promise<T>, paid = false): Promise<T> {\n try {\n return await operation();\n } catch (error) {\n throw await normalizeWeftError(error, paid);\n }\n }\n\n me(): Promise<MeResponse> {\n return this.call(() => this.account.getMe());\n }\n\n balance(): Promise<BalanceResponse> {\n return this.call(() => this.balances.getBalance());\n }\n\n search(request: SearchRequest): Promise<SearchResponse> {\n return this.call(() => this.searches.search({ searchRequest: request }));\n }\n\n fetch(\n request: PaidFetchRequest,\n options: FetchOptions,\n ): Promise<FetchResponse> {\n if (!request.maxCostUsd.trim()) {\n throw new Error(\"maxCostUsd is required\");\n }\n if (!options.idempotencyKey.trim()) {\n throw new Error(\"idempotencyKey is required\");\n }\n // Weft's limit. Checked here so a bad key never looks like a paid failure.\n if (!/^[!-~]{1,255}$/.test(options.idempotencyKey)) {\n throw new Error(\n \"idempotencyKey must be 1-255 visible ASCII characters without spaces\",\n );\n }\n\n // Generated FetchRequestBodyToJSON replaces an object body with {}.\n // The server treats JSON.stringify(body) as the same forwarded string.\n const fetchRequest =\n request.body != null && typeof request.body === \"object\"\n ? { ...request, body: JSON.stringify(request.body) }\n : request;\n\n return this.call(\n () =>\n this.fetches.fetch({\n fetchRequest,\n idempotencyKey: options.idempotencyKey,\n }),\n true,\n ).then(async (response: FetchResponse | null) => {\n // A 2xx without a fetch result body: the fetch most likely paid.\n if (typeof response?.status !== \"number\") {\n throw await normalizeWeftError(\n new Error(\"unreadable fetch response\"),\n true,\n );\n }\n return response;\n });\n }\n\n purchases(options: PurchaseListOptions = {}): Promise<PurchaseListResponse> {\n return this.call(() => this.purchaseHistory.listPurchases(options));\n }\n\n purchase(id: number): Promise<PurchaseResponse> {\n return this.call(() => this.purchaseHistory.getPurchase({ id }));\n }\n}\n","export * from \"@x402/core\";\nexport * from \"@x402/core/types\";\n\nexport { X402_FACILITATOR_URL, createFacilitatorClient } from \"./client\";\nexport type { WeftFacilitatorConfig } from \"./client\";\n\nexport { getFeeInfo, invalidateFeeCache } from \"./fee\";\nexport type { FeeInfo, FeeCacheConfig } from \"./fee\";\n","import { HTTPFacilitatorClient, FacilitatorConfig } from \"@x402/core/server\";\nimport type {\n PaymentPayload,\n PaymentRequirements,\n SettleResponse,\n} from \"@x402/core/types\";\n\nexport const FACILITATOR_UNAVAILABLE_ERROR =\n \"weft:facilitator-settle-unavailable\";\n\nexport const X402_FACILITATOR_URL = \"https://x402.weft.network\";\nexport const X402_FACILITATOR_URL_ENV = \"X402_FACILITATOR_URL\";\n\nexport interface WeftFacilitatorConfig {\n url?: string;\n createAuthHeaders?: FacilitatorConfig[\"createAuthHeaders\"];\n}\n\nclass FacilitatorUnavailableError extends Error {\n readonly statusCode = 503;\n\n constructor() {\n super(FACILITATOR_UNAVAILABLE_ERROR);\n this.name = \"FacilitatorUnavailableError\";\n }\n}\n\nfunction isUnavailableSettleError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n const candidate = error as Error & Record<string, unknown>;\n return (\n candidate.name === \"SettleError\" &&\n candidate.statusCode === 503 &&\n \"errorReason\" in candidate &&\n \"errorMessage\" in candidate &&\n \"payer\" in candidate &&\n \"transaction\" in candidate &&\n \"network\" in candidate &&\n !(candidate.errorReason === \"settlement_pending\" && candidate.transaction)\n );\n}\n\nclass WeftHTTPFacilitatorClient extends HTTPFacilitatorClient {\n override async settle(\n paymentPayload: PaymentPayload,\n paymentRequirements: PaymentRequirements,\n ): Promise<SettleResponse> {\n try {\n return await super.settle(paymentPayload, paymentRequirements);\n } catch (error) {\n if (isUnavailableSettleError(error)) {\n throw new FacilitatorUnavailableError();\n }\n throw error;\n }\n }\n}\n\nexport function validateUrl(url: string): void {\n if (!url || url.trim() === \"\") {\n throw new Error(\"Invalid URL: URL cannot be empty\");\n }\n\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n throw new Error(\n `Invalid URL format: URL must start with http:// or https://, got: ${url}`,\n );\n }\n}\n\nexport function resolveUrl(config?: WeftFacilitatorConfig): string {\n if (config?.url) {\n return config.url;\n }\n\n if (\n typeof process !== \"undefined\" &&\n process.env?.[X402_FACILITATOR_URL_ENV]\n ) {\n return process.env[X402_FACILITATOR_URL_ENV]!;\n }\n\n return X402_FACILITATOR_URL;\n}\n\ntype AuthHeadersByPath = Awaited<\n ReturnType<NonNullable<FacilitatorConfig[\"createAuthHeaders\"]>>\n>;\n\n/**\n * Reject a flat headers object the way `@x402/core` itself would.\n *\n * Upstream's `HTTPFacilitatorClient` throws when `createAuthHeaders` returns\n * `{ Authorization: ... }` instead of `{ supported: { Authorization: ... } }`,\n * because silently dropping auth on every request is worse than failing loud.\n * Merging the handshake's own `supported` headers in would mask that check —\n * the merged object always has a path key — so the check runs here first,\n * with the same failure mode a misconfigured seller sees today.\n *\n * @param headers - What the seller's `createAuthHeaders` returned\n */\nfunction assertPathKeyedAuthHeaders(headers: AuthHeadersByPath): void {\n const isHeaderObject = (value: unknown): boolean =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\n const hasPathKey = [\"verify\", \"settle\", \"supported\", \"bazaar\"].some((key) =>\n isHeaderObject(headers[key as keyof AuthHeadersByPath]),\n );\n const looksFlat =\n !hasPathKey &&\n Object.values(headers).some((value) => !isHeaderObject(value));\n\n if (looksFlat) {\n throw new Error(\n \"createAuthHeaders must return an object keyed by facilitator path, \" +\n 'e.g. { verify: { Authorization: \"...\" }, settle: { ... }, ' +\n \"supported: { ... } }, but received a flat headers object.\",\n );\n }\n}\n\n/**\n * Merge SDK-derived headers under a seller's, case-insensitively, seller wins.\n *\n * Header names are case-insensitive, but object keys are not: a plain spread\n * would keep a derived `Authorization` and a seller `authorization` as two\n * keys, and the HTTP layer folds those into one comma-joined value — a\n * garbled credential. So a seller header replaces any derived header of the\n * same name whatever its case, and the seller's spelling is the one sent.\n *\n * @param derived - Headers the SDK derived from config for one path\n * @param seller - The seller's own headers for that path, if any\n * @returns The merged headers, the seller's winning on conflict\n */\nfunction mergeSellerWins(\n derived: Record<string, string>,\n seller: Record<string, string> | undefined,\n): Record<string, string> {\n const merged: Record<string, string> = { ...derived };\n for (const [name, value] of Object.entries(seller ?? {})) {\n for (const existing of Object.keys(merged)) {\n if (existing.toLowerCase() === name.toLowerCase()) {\n delete merged[existing];\n }\n }\n merged[name] = value;\n }\n return merged;\n}\n\nexport function createFacilitatorClient(\n config?: WeftFacilitatorConfig,\n weftAuthHeaders?: AuthHeadersByPath,\n): HTTPFacilitatorClient {\n const url = resolveUrl(config);\n validateUrl(url);\n\n const sellerCreateAuthHeaders = config?.createAuthHeaders;\n\n // Only the paths the SDK actually derived headers for — `supported` always,\n // `settle` and `verify` when an apiKey was configured. Empty paths are\n // dropped so a caller with no derived headers is byte-identical to passing\n // none.\n const derivedByPath = Object.entries(weftAuthHeaders ?? {}).filter(\n ([, headers]) => headers !== undefined && Object.keys(headers).length > 0,\n ) as Array<[keyof AuthHeadersByPath, Record<string, string>]>;\n\n const createAuthHeaders =\n derivedByPath.length > 0\n ? async (): Promise<AuthHeadersByPath> => {\n const sellerHeaders = sellerCreateAuthHeaders\n ? await sellerCreateAuthHeaders()\n : undefined;\n if (sellerHeaders) {\n assertPathKeyedAuthHeaders(sellerHeaders);\n }\n // The seller's own headers win on conflict: an explicit\n // createAuthHeaders is a more deliberate act than `apiKey`.\n const merged: AuthHeadersByPath = { ...sellerHeaders };\n for (const [path, derived] of derivedByPath) {\n merged[path] = mergeSellerWins(derived, sellerHeaders?.[path]);\n }\n return merged;\n }\n : sellerCreateAuthHeaders;\n\n return new WeftHTTPFacilitatorClient({\n url,\n createAuthHeaders,\n });\n}\n","import { createFacilitatorClient, WeftFacilitatorConfig } from \"./client\";\n\nexport interface FeeInfo {\n amount: string;\n asset: string;\n network: string;\n}\n\nexport interface FeeCacheConfig {\n ttl?: number;\n}\n\ninterface FeeCache {\n feeInfo: FeeInfo;\n fetchedAt: number;\n ttl: number;\n}\n\nconst DEFAULT_CACHE_TTL = 5 * 60 * 1000;\n\nlet feeCache: FeeCache | null = null;\n\nexport function invalidateFeeCache(): void {\n feeCache = null;\n}\n\nfunction isCacheValid(): boolean {\n if (!feeCache) return false;\n const now = Date.now();\n return now - feeCache.fetchedAt < feeCache.ttl;\n}\n\nexport async function getFeeInfo(\n config?: WeftFacilitatorConfig,\n cacheConfig?: FeeCacheConfig,\n): Promise<FeeInfo> {\n if (isCacheValid() && feeCache) {\n return feeCache.feeInfo;\n }\n\n const client = createFacilitatorClient(config);\n const supported = await client.getSupported();\n\n const fee = (supported as { fee?: FeeInfo }).fee;\n if (!fee) {\n throw new Error(\"Fee information not found in /supported response\");\n }\n\n if (typeof fee.amount !== \"string\") {\n throw new Error(\"Invalid fee structure: amount must be a string\");\n }\n if (typeof fee.asset !== \"string\") {\n throw new Error(\"Invalid fee structure: asset must be a string\");\n }\n if (typeof fee.network !== \"string\") {\n throw new Error(\"Invalid fee structure: network must be a string\");\n }\n\n const feeInfo: FeeInfo = {\n amount: fee.amount,\n asset: fee.asset,\n network: fee.network,\n };\n\n feeCache = {\n feeInfo,\n fetchedAt: Date.now(),\n ttl: cacheConfig?.ttl ?? DEFAULT_CACHE_TTL,\n };\n\n return feeInfo;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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","names":[]}
|