@wakata-dev/api-client 0.3.3 → 0.5.0
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/index.cjs +384 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2754 -489
- package/dist/index.d.ts +2754 -489
- package/dist/index.js +384 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors.ts","../src/idempotency.ts","../src/generated/client.gen.ts","../src/generated/sdk.gen.ts","../src/client.ts","../src/index.ts"],"names":["createClient","createConfig","client","PACKAGE_VERSION","DEFAULT_BASE_URL"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Typed error hierarchy for the Wakata API client.\n *\n * The Wakata Public API always returns a standardized error envelope on\n * non-2xx responses (see the portal's API Quickstart page,\n * Settings → API Keys → Quickstart § 5 \"Handling errors\"):\n *\n * ```json\n * {\n * \"error\": {\n * \"code\": \"validation_error\",\n * \"message\": \"Request validation failed.\",\n * \"request_id\": \"req_01HX...\",\n * \"docs_url\": \"https://docs.wakata.ai/errors/validation_error\",\n * \"param\": \"site_id\",\n * \"details\": [ { \"field\": \"site_id\", \"code\": \"isUuid\", \"message\": \"...\" } ]\n * }\n * }\n * ```\n *\n * The client maps each non-2xx response to the most specific subclass below.\n * Use `instanceof` checks to branch on the error type ergonomically:\n *\n * ```ts\n * try {\n * const asset = await wakata.assets.get('abc-123');\n * } catch (err) {\n * if (err instanceof WakataNotFoundError) { ... }\n * if (err instanceof WakataRateLimitError) {\n * await sleep((err.retryAfterSeconds ?? 60) * 1000);\n * }\n * throw err;\n * }\n * ```\n */\n\n/**\n * A single validation detail emitted by class-validator on `400` responses.\n */\nexport interface ErrorDetail {\n field: string;\n code: string;\n message: string;\n}\n\n/**\n * Raw shape of the error envelope returned by the API.\n *\n * Mirrors {@link https://docs.wakata.ai/errors} — kept loose because new\n * canonical codes may be added without breaking the SDK.\n */\nexport interface WakataErrorEnvelope {\n code: string;\n message: string;\n request_id: string;\n docs_url?: string;\n param?: string;\n details?: ErrorDetail[];\n}\n\n/**\n * Base error class for everything thrown by the Wakata API client when the\n * server responds with a non-2xx status. Network failures and unparseable\n * responses also surface as this base class with `code === 'unknown_error'`.\n */\nexport class WakataApiError extends Error {\n /** Canonical error code from `error.code` in the response envelope. */\n public readonly code: string;\n /** HTTP status code from the response. */\n public readonly statusCode: number;\n /** Server-assigned request ID (`X-Request-Id` / `error.request_id`). */\n public readonly requestId: string;\n /** Optional URL pointing at the docs page for this error code. */\n public readonly docsUrl: string | undefined;\n /** For validation-style errors, the offending parameter name. */\n public readonly param: string | undefined;\n /** For validation-style errors, the full field-level breakdown. */\n public readonly details: ErrorDetail[] | undefined;\n\n public constructor(args: {\n code: string;\n statusCode: number;\n requestId: string;\n docsUrl?: string | undefined;\n param?: string | undefined;\n details?: ErrorDetail[] | undefined;\n message: string;\n }) {\n super(args.message);\n this.name = 'WakataApiError';\n this.code = args.code;\n this.statusCode = args.statusCode;\n this.requestId = args.requestId;\n this.docsUrl = args.docsUrl;\n this.param = args.param;\n this.details = args.details;\n // Maintain the prototype chain for `instanceof` across compiled targets.\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/**\n * 4xx with `details` (typically 400 `validation_error` from class-validator).\n * `details` is guaranteed populated.\n */\nexport class WakataValidationError extends WakataApiError {\n public override readonly name = 'WakataValidationError';\n}\n\n/** 401 — missing, malformed, revoked or expired API key. */\nexport class WakataAuthError extends WakataApiError {\n public override readonly name = 'WakataAuthError';\n}\n\n/** 403 — authenticated key lacks the required permission / role. */\nexport class WakataPermissionError extends WakataApiError {\n public override readonly name = 'WakataPermissionError';\n}\n\n/** 404 — resource not found, or not visible to this API key. */\nexport class WakataNotFoundError extends WakataApiError {\n public override readonly name = 'WakataNotFoundError';\n}\n\n/** 409 — conflict, e.g. unique constraint violation or idempotency-key reuse with a different body. */\nexport class WakataConflictError extends WakataApiError {\n public override readonly name = 'WakataConflictError';\n}\n\n/**\n * 429 — rate limited. `retryAfterSeconds` is derived from the\n * `X-RateLimit-Reset` header (seconds until the window resets) where present.\n */\nexport class WakataRateLimitError extends WakataApiError {\n public override readonly name = 'WakataRateLimitError';\n public readonly retryAfterSeconds: number | undefined;\n\n public constructor(args: {\n code: string;\n statusCode: number;\n requestId: string;\n docsUrl?: string | undefined;\n param?: string | undefined;\n details?: ErrorDetail[] | undefined;\n message: string;\n retryAfterSeconds?: number | undefined;\n }) {\n super(args);\n this.retryAfterSeconds = args.retryAfterSeconds;\n }\n}\n\n/** 5xx — server error. Safe to retry with exponential backoff. */\nexport class WakataServerError extends WakataApiError {\n public override readonly name = 'WakataServerError';\n}\n\n/**\n * Map an HTTP status + response envelope to the most specific error subclass.\n *\n * Exported so callers can build their own retry/error layers on top.\n */\nexport function mapApiError(\n statusCode: number,\n envelope: WakataErrorEnvelope | undefined,\n fallbackRequestId: string,\n retryAfterSeconds?: number,\n): WakataApiError {\n const code = envelope?.code ?? 'unknown_error';\n const message =\n envelope?.message ?? `Wakata API returned HTTP ${statusCode}`;\n const requestId = envelope?.request_id ?? fallbackRequestId;\n const docsUrl = envelope?.docs_url;\n const param = envelope?.param;\n const details = envelope?.details;\n const base = {\n code,\n statusCode,\n requestId,\n docsUrl,\n param,\n details,\n message,\n };\n\n if (statusCode === 429) {\n return new WakataRateLimitError({\n ...base,\n retryAfterSeconds,\n });\n }\n if (statusCode === 401) return new WakataAuthError(base);\n if (statusCode === 403) return new WakataPermissionError(base);\n if (statusCode === 404) return new WakataNotFoundError(base);\n if (statusCode === 409) return new WakataConflictError(base);\n if (statusCode >= 500) return new WakataServerError(base);\n if (statusCode >= 400 && details && details.length > 0) {\n return new WakataValidationError(base);\n }\n return new WakataApiError(base);\n}\n","/**\n * Idempotency helpers.\n *\n * The Wakata Public API accepts an optional `Idempotency-Key` header on every\n * `POST` and `PATCH` write endpoint. Sending the same key with the same body\n * within 24h returns the cached original response instead of re-executing the\n * write — making it safe to retry network failures.\n *\n * This SDK auto-attaches a freshly-generated key on every POST/PATCH if the\n * caller hasn't provided one. Callers who want true cross-attempt idempotency\n * (i.e. the same logical operation across multiple retry attempts) should\n * generate their own key once and pass it via `headers: { 'Idempotency-Key': ... }`.\n *\n * See the Wakata portal's API Quickstart page (Settings → API Keys →\n * Quickstart) § 7 \"Safe retries with Idempotency-Key\" for the full contract.\n */\n\n/**\n * Generate an idempotency key prefixed with `wak_idem_`. Uses Web Crypto's\n * `randomUUID` where available, falling back to a v4-style UUID built from\n * `getRandomValues` for older Node runtimes.\n */\nexport function generateIdempotencyKey(): string {\n const c: Crypto | undefined =\n typeof globalThis !== 'undefined'\n ? (globalThis as { crypto?: Crypto }).crypto\n : undefined;\n let uuid: string;\n if (c && typeof c.randomUUID === 'function') {\n uuid = c.randomUUID();\n } else if (c && typeof c.getRandomValues === 'function') {\n const bytes = new Uint8Array(16);\n c.getRandomValues(bytes);\n // RFC 4122 v4 fixups\n bytes[6] = ((bytes[6] ?? 0) & 0x0f) | 0x40;\n bytes[8] = ((bytes[8] ?? 0) & 0x3f) | 0x80;\n const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join(\n '',\n );\n uuid = `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;\n } else {\n // Last-ditch fallback. Not cryptographically strong but rare enough we\n // don't bring in a dep just for this; logging the runtime helps debug.\n uuid =\n Date.now().toString(16) +\n '-' +\n Math.random().toString(16).slice(2, 14).padEnd(12, '0');\n }\n return `wak_idem_${uuid.replace(/-/g, '')}`;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://api.wakata.ai'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from '@hey-api/client-fetch';\nimport type { AssetControllerCreateAssetPublicData, AssetControllerCreateAssetPublicResponse, AssetControllerCreateAssetPublicError, AssetControllerListAssetsData, AssetControllerListAssetsResponse, AssetControllerListAssetsError, AssetControllerGetAssetData, AssetControllerGetAssetResponse, AssetControllerGetAssetError, AssetControllerUpdateAssetData, AssetControllerUpdateAssetResponse, AssetControllerUpdateAssetError, UserControllerListUsersData, UserControllerListUsersResponse, UserControllerListUsersError, UserControllerGetUserData, UserControllerGetUserResponse, UserControllerGetUserError, UserControllerUpdateUserData, UserControllerUpdateUserResponse, UserControllerUpdateUserError, UserControllerCreateUserData, UserControllerCreateUserResponse, UserControllerCreateUserError, InspectionControllerListInspectionsData, InspectionControllerListInspectionsResponse, InspectionControllerListInspectionsError, InspectionControllerGetPublicInspectionData, InspectionControllerGetPublicInspectionResponse, InspectionControllerGetPublicInspectionError, IssueControllerListIssuesData, IssueControllerListIssuesResponse, IssueControllerListIssuesError, IssueControllerGetIssuePublicData, IssueControllerGetIssuePublicResponse, IssueControllerGetIssuePublicError, IssueControllerUpdateIssuePublicData, IssueControllerUpdateIssuePublicResponse, IssueControllerUpdateIssuePublicError, IssueControllerGetIssueHistoryPublicData, IssueControllerGetIssueHistoryPublicResponse, IssueControllerGetIssueHistoryPublicError, UserPropertyControllerDeleteUserPropertyData, UserPropertyControllerDeleteUserPropertyResponse, UserPropertyControllerDeleteUserPropertyError, UserPropertyControllerUpdateUserPropertyData, UserPropertyControllerUpdateUserPropertyResponse, UserPropertyControllerUpdateUserPropertyError, AssetPropertyControllerDeleteAssetPropertyData, AssetPropertyControllerDeleteAssetPropertyResponse, AssetPropertyControllerDeleteAssetPropertyError, AssetPropertyControllerUpdateAssetPropertyData, AssetPropertyControllerUpdateAssetPropertyResponse, AssetPropertyControllerUpdateAssetPropertyError, AssetClassControllerGetAssetClassListData, AssetClassControllerGetAssetClassListResponse, AssetClassControllerGetAssetClassListError, AssetClassControllerCreateAssetClassData, AssetClassControllerCreateAssetClassResponse, AssetClassControllerCreateAssetClassError, AssetClassControllerUpdateAssetClassData, AssetClassControllerUpdateAssetClassResponse, AssetClassControllerUpdateAssetClassError, ChecklistControllerListChecklistsData, ChecklistControllerListChecklistsResponse, ChecklistControllerListChecklistsError, ChecklistControllerGetChecklistData, ChecklistControllerGetChecklistResponse, ChecklistControllerGetChecklistError, PublicConfigControllerListConfigTablesData, PublicConfigControllerListConfigTablesResponse, PublicConfigControllerListConfigTablesError, PublicConfigControllerListConfigItemsData, PublicConfigControllerListConfigItemsResponse, PublicConfigControllerListConfigItemsError, PublicConfigControllerDeleteConfigItemData, PublicConfigControllerDeleteConfigItemResponse, PublicConfigControllerDeleteConfigItemError, PublicConfigControllerGetConfigItemData, PublicConfigControllerGetConfigItemResponse, PublicConfigControllerGetConfigItemError, PublicConfigControllerUpdateConfigItemData, PublicConfigControllerUpdateConfigItemResponse, PublicConfigControllerUpdateConfigItemError, PublicConfigControllerCreateConfigItemData, PublicConfigControllerCreateConfigItemResponse, PublicConfigControllerCreateConfigItemError, AssetClassPropertyControllerRemoveData, AssetClassPropertyControllerRemoveResponse, AssetClassPropertyControllerRemoveError, AssetClassPropertyControllerUpdateData, AssetClassPropertyControllerUpdateResponse, AssetClassPropertyControllerUpdateError, DocumentUploadControllerUploadUrlData, DocumentUploadControllerUploadUrlResponse, DocumentUploadControllerUploadUrlError, AssetDocumentControllerListData, AssetDocumentControllerListResponse, AssetDocumentControllerListError, AssetDocumentControllerRemoveData, AssetDocumentControllerRemoveResponse, AssetDocumentControllerRemoveError, AssetDocumentControllerGetData, AssetDocumentControllerGetResponse, AssetDocumentControllerGetError, AssetDocumentControllerUpdateData, AssetDocumentControllerUpdateResponse, AssetDocumentControllerUpdateError, AssetDocumentControllerCreateData, AssetDocumentControllerCreateResponse, AssetDocumentControllerCreateError, AssetClassDocumentControllerListData, AssetClassDocumentControllerListResponse, AssetClassDocumentControllerListError, AssetClassDocumentControllerRemoveData, AssetClassDocumentControllerRemoveResponse, AssetClassDocumentControllerRemoveError, AssetClassDocumentControllerGetData, AssetClassDocumentControllerGetResponse, AssetClassDocumentControllerGetError, AssetClassDocumentControllerUpdateData, AssetClassDocumentControllerUpdateResponse, AssetClassDocumentControllerUpdateError, AssetClassDocumentControllerCreateData, AssetClassDocumentControllerCreateResponse, AssetClassDocumentControllerCreateError, UserDocumentControllerListData, UserDocumentControllerListResponse, UserDocumentControllerListError, UserDocumentControllerRemoveData, UserDocumentControllerRemoveResponse, UserDocumentControllerRemoveError, UserDocumentControllerGetData, UserDocumentControllerGetResponse, UserDocumentControllerGetError, UserDocumentControllerUpdateData, UserDocumentControllerUpdateResponse, UserDocumentControllerUpdateError, UserDocumentControllerCreateData, UserDocumentControllerCreateResponse, UserDocumentControllerCreateError, SiteDocumentControllerListData, SiteDocumentControllerListResponse, SiteDocumentControllerListError, SiteDocumentControllerRemoveData, SiteDocumentControllerRemoveResponse, SiteDocumentControllerRemoveError, SiteDocumentControllerGetData, SiteDocumentControllerGetResponse, SiteDocumentControllerGetError, SiteDocumentControllerUpdateData, SiteDocumentControllerUpdateResponse, SiteDocumentControllerUpdateError, SiteDocumentControllerCreateData, SiteDocumentControllerCreateResponse, SiteDocumentControllerCreateError, CustomerDocumentControllerListData, CustomerDocumentControllerListResponse, CustomerDocumentControllerListError, CustomerDocumentControllerRemoveData, CustomerDocumentControllerRemoveResponse, CustomerDocumentControllerRemoveError, CustomerDocumentControllerGetData, CustomerDocumentControllerGetResponse, CustomerDocumentControllerGetError, CustomerDocumentControllerUpdateData, CustomerDocumentControllerUpdateResponse, CustomerDocumentControllerUpdateError, CustomerDocumentControllerCreateData, CustomerDocumentControllerCreateResponse, CustomerDocumentControllerCreateError, ProjectDocumentControllerListData, ProjectDocumentControllerListResponse, ProjectDocumentControllerListError, ProjectDocumentControllerRemoveData, ProjectDocumentControllerRemoveResponse, ProjectDocumentControllerRemoveError, ProjectDocumentControllerGetData, ProjectDocumentControllerGetResponse, ProjectDocumentControllerGetError, ProjectDocumentControllerUpdateData, ProjectDocumentControllerUpdateResponse, ProjectDocumentControllerUpdateError, ProjectDocumentControllerCreateData, ProjectDocumentControllerCreateResponse, ProjectDocumentControllerCreateError, JobDocumentControllerListData, JobDocumentControllerListResponse, JobDocumentControllerListError, JobDocumentControllerRemoveData, JobDocumentControllerRemoveResponse, JobDocumentControllerRemoveError, JobDocumentControllerGetData, JobDocumentControllerGetResponse, JobDocumentControllerGetError, JobDocumentControllerUpdateData, JobDocumentControllerUpdateResponse, JobDocumentControllerUpdateError, JobDocumentControllerCreateData, JobDocumentControllerCreateResponse, JobDocumentControllerCreateError, CompanyDocumentControllerListData, CompanyDocumentControllerListResponse, CompanyDocumentControllerListError, CompanyDocumentControllerRemoveData, CompanyDocumentControllerRemoveResponse, CompanyDocumentControllerRemoveError, CompanyDocumentControllerGetData, CompanyDocumentControllerGetResponse, CompanyDocumentControllerGetError, CompanyDocumentControllerUpdateData, CompanyDocumentControllerUpdateResponse, CompanyDocumentControllerUpdateError, CompanyDocumentControllerCreateData, CompanyDocumentControllerCreateResponse, CompanyDocumentControllerCreateError, SiteControllerListSitesData, SiteControllerListSitesResponse, SiteControllerListSitesError, SiteControllerCreateSiteData, SiteControllerCreateSiteResponse, SiteControllerCreateSiteError, SiteControllerDeleteSiteData, SiteControllerDeleteSiteResponse, SiteControllerDeleteSiteError, SiteControllerUpdateSiteData, SiteControllerUpdateSiteResponse, SiteControllerUpdateSiteError } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Create a new asset (Public API)\n * Creates a new asset entry in the database via public API. Requires Bearer token authentication. Validates all entity references by their public_id and ensures they belong to the authenticated company. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetControllerCreateAssetPublic = <ThrowOnError extends boolean = false>(options: Options<AssetControllerCreateAssetPublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetControllerCreateAssetPublicResponse, AssetControllerCreateAssetPublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/asset',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List assets with filters\n * Returns a paginated list of assets. Supports filtering by asset_class_name, created_by (user public_id), asset_number, and site_name. Also supports sorting and pagination. Requires Bearer token authentication.\n */\nexport const assetControllerListAssets = <ThrowOnError extends boolean = false>(options?: Options<AssetControllerListAssetsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetControllerListAssetsResponse, AssetControllerListAssetsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset/list',\n ...options\n });\n};\n\n/**\n * Get asset by public ID\n * Retrieves an asset by its public_id. Returns complete asset information. Requires Bearer token authentication.\n */\nexport const assetControllerGetAsset = <ThrowOnError extends boolean = false>(options: Options<AssetControllerGetAssetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<AssetControllerGetAssetResponse, AssetControllerGetAssetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset/{id}',\n ...options\n });\n};\n\n/**\n * Update asset by public ID\n * Partially updates an asset by its public_id. All fields are optional. Requires Bearer token authentication with asset:update permission. Validates asset_class and site_id references by public_id and ensures they belong to the same company as the asset. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetControllerUpdateAsset = <ThrowOnError extends boolean = false>(options: Options<AssetControllerUpdateAssetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetControllerUpdateAssetResponse, AssetControllerUpdateAssetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List users\n * Returns a paginated list of users for the authenticated company. Supports filtering by various fields and sorting. Requires Bearer token authentication with user:list permission.\n */\nexport const userControllerListUsers = <ThrowOnError extends boolean = false>(options?: Options<UserControllerListUsersData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<UserControllerListUsersResponse, UserControllerListUsersError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user/list',\n ...options\n });\n};\n\n/**\n * Get user by public ID\n * Returns detailed information about a specific user including their properties. Requires Bearer token authentication with user:read permission.\n */\nexport const userControllerGetUser = <ThrowOnError extends boolean = false>(options: Options<UserControllerGetUserData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<UserControllerGetUserResponse, UserControllerGetUserError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user/{id}',\n ...options\n });\n};\n\n/**\n * Update user information\n * Updates user fields including first name, last name, email, contact number, and profile photo. Photo is uploaded to S3 at :company_id/user-profile-photos/:filename. Requires Bearer token authentication with user:update permission for public API. Supports `Idempotency-Key` for safe retries.\n */\nexport const userControllerUpdateUser = <ThrowOnError extends boolean = false>(options: Options<UserControllerUpdateUserData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UserControllerUpdateUserResponse, UserControllerUpdateUserError, ThrowOnError>({\n ...formDataBodySerializer,\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user/{id}',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a new user\n * Creates a new user entry in the database along with associated relationships (user_site, user_company, user_role). Validates all entity references by their public_id. Supports optional profile photo upload. Duplicate detection: returns 409 if phone number already exists in the company (hard block) or if same name exists at the site (soft block, override with force=true). Requires Bearer token authentication with user:create permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const userControllerCreateUser = <ThrowOnError extends boolean = false>(options: Options<UserControllerCreateUserData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UserControllerCreateUserResponse, UserControllerCreateUserError, ThrowOnError>({\n ...formDataBodySerializer,\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n};\n\n/**\n * List inspections\n * Returns a paginated list of inspections for the authenticated company. Supports filtering by various fields and sorting. Requires Bearer token authentication with inspection:read permission.\n */\nexport const inspectionControllerListInspections = <ThrowOnError extends boolean = false>(options?: Options<InspectionControllerListInspectionsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<InspectionControllerListInspectionsResponse, InspectionControllerListInspectionsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/inspection/list',\n ...options\n });\n};\n\n/**\n * Get inspection detail with responses\n * Returns a single inspection for the authenticated company, including its responses, response options, response media (exposed as signed CloudFront URLs in `media_url`), response extra info, history, and embedded custom properties (`inspection_properties[]`). Read-only — inspections are created only by the Wakata app. Requires Bearer token authentication with inspection:read permission.\n */\nexport const inspectionControllerGetPublicInspection = <ThrowOnError extends boolean = false>(options: Options<InspectionControllerGetPublicInspectionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<InspectionControllerGetPublicInspectionResponse, InspectionControllerGetPublicInspectionError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/inspection/{public_id}',\n ...options\n });\n};\n\n/**\n * List issues\n * Returns a paginated list of issues for the authenticated company. Supports filtering by various fields and sorting. Requires Bearer token authentication with issue:read permission.\n */\nexport const issueControllerListIssues = <ThrowOnError extends boolean = false>(options?: Options<IssueControllerListIssuesData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<IssueControllerListIssuesResponse, IssueControllerListIssuesError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/list',\n ...options\n });\n};\n\n/**\n * Get issue by public ID\n * Returns detailed information about a specific issue. Requires Bearer token authentication with issue:read permission.\n */\nexport const issueControllerGetIssuePublic = <ThrowOnError extends boolean = false>(options: Options<IssueControllerGetIssuePublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<IssueControllerGetIssuePublicResponse, IssueControllerGetIssuePublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/{public_id}',\n ...options\n });\n};\n\n/**\n * Update an issue\n * Updates an issue by its public_id. Requires Bearer token authentication with issue:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const issueControllerUpdateIssuePublic = <ThrowOnError extends boolean = false>(options: Options<IssueControllerUpdateIssuePublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<IssueControllerUpdateIssuePublicResponse, IssueControllerUpdateIssuePublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/{public_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get issue history by public ID\n * Returns all history entries for an issue identified by its public_id. History entries are ordered by changed_at timestamp in descending order (most recent first). Requires Bearer token authentication with issue:read permission.\n */\nexport const issueControllerGetIssueHistoryPublic = <ThrowOnError extends boolean = false>(options: Options<IssueControllerGetIssueHistoryPublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<IssueControllerGetIssueHistoryPublicResponse, IssueControllerGetIssueHistoryPublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/{public_id}/history',\n ...options\n });\n};\n\n/**\n * Delete user property by ID\n * Performs a soft delete on a user property by its ID. Sets deletedAt and deletedById fields instead of permanently removing the record. Also creates a history record of the deletion. Requires Bearer token authentication with user:update permission.\n */\nexport const userPropertyControllerDeleteUserProperty = <ThrowOnError extends boolean = false>(options: Options<UserPropertyControllerDeleteUserPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<UserPropertyControllerDeleteUserPropertyResponse, UserPropertyControllerDeleteUserPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-property/{id}',\n ...options\n });\n};\n\n/**\n * Update user property value by ID\n * Partially updates the value of a user property by its ID. The value is stored in the appropriate column (text_value, numeric_value, or date_value) based on the property type defined in config_items. Also creates a history record of the change. Requires Bearer token authentication with user:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const userPropertyControllerUpdateUserProperty = <ThrowOnError extends boolean = false>(options: Options<UserPropertyControllerUpdateUserPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UserPropertyControllerUpdateUserPropertyResponse, UserPropertyControllerUpdateUserPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-property/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete asset property by ID\n * Performs a soft delete on an asset property by its ID. Sets deletedAt and deletedById fields instead of permanently removing the record. Also creates a history record of the deletion. Requires Bearer token authentication with asset:update permission.\n */\nexport const assetPropertyControllerDeleteAssetProperty = <ThrowOnError extends boolean = false>(options: Options<AssetPropertyControllerDeleteAssetPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetPropertyControllerDeleteAssetPropertyResponse, AssetPropertyControllerDeleteAssetPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-property/{id}',\n ...options\n });\n};\n\n/**\n * Update asset property value by ID\n * Partially updates the value of an asset property by its ID. The value is stored in the appropriate column (text_value, numeric_value, or date_value) based on the property type defined in config_items. Also creates a history record of the change. Requires Bearer token authentication with asset:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetPropertyControllerUpdateAssetProperty = <ThrowOnError extends boolean = false>(options: Options<AssetPropertyControllerUpdateAssetPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetPropertyControllerUpdateAssetPropertyResponse, AssetPropertyControllerUpdateAssetPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-property/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get paginated list of asset classes\n * Returns a paginated list of asset classes with optional filters for asset class name (make), sub-class name (model), category, and date range. Requires Bearer token authentication with asset-class:read permission.\n */\nexport const assetClassControllerGetAssetClassList = <ThrowOnError extends boolean = false>(options?: Options<AssetClassControllerGetAssetClassListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetClassControllerGetAssetClassListResponse, AssetClassControllerGetAssetClassListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class/list',\n ...options\n });\n};\n\n/**\n * Create a new asset class\n * Creates a new asset class record. Requires Bearer token authentication with asset-class:create permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetClassControllerCreateAssetClass = <ThrowOnError extends boolean = false>(options: Options<AssetClassControllerCreateAssetClassData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetClassControllerCreateAssetClassResponse, AssetClassControllerCreateAssetClassError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Update an asset class\n * Partially updates an asset class by its public ID (UUID). Only provided fields will be updated. Requires Bearer token authentication with asset-class:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetClassControllerUpdateAssetClass = <ThrowOnError extends boolean = false>(options: Options<AssetClassControllerUpdateAssetClassData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetClassControllerUpdateAssetClassResponse, AssetClassControllerUpdateAssetClassError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List checklists (inspection templates)\n * Returns a paginated list of the latest published version of each checklist for the authenticated company. Read-only — checklists are created in-system only. Supports incremental sync via `checklist_date_updated_from`/`_to` (the `updated_at` watermark). Requires Bearer token authentication with checklist:read permission.\n */\nexport const checklistControllerListChecklists = <ThrowOnError extends boolean = false>(options?: Options<ChecklistControllerListChecklistsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<ChecklistControllerListChecklistsResponse, ChecklistControllerListChecklistsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/checklist/list',\n ...options\n });\n};\n\n/**\n * Get checklist detail with items\n * Returns a single published checklist for the authenticated company, including its items (the question/folder tree, with left/right nested-set bounds). Read-only — checklists are created in-system only. Checklists have no public_id; use the numeric `id` from the list. Requires Bearer token authentication with checklist:read permission.\n */\nexport const checklistControllerGetChecklist = <ThrowOnError extends boolean = false>(options: Options<ChecklistControllerGetChecklistData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ChecklistControllerGetChecklistResponse, ChecklistControllerGetChecklistError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/checklist/{id}',\n ...options\n });\n};\n\n/**\n * List config tables (lookup groupings)\n * Read-only list of the company’s config tables (e.g. \"Asset Category\"). Use the returned id/class to list or create items in a table. Requires company:settings:tables.\n */\nexport const publicConfigControllerListConfigTables = <ThrowOnError extends boolean = false>(options?: Options<PublicConfigControllerListConfigTablesData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<PublicConfigControllerListConfigTablesResponse, PublicConfigControllerListConfigTablesError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-table/list',\n ...options\n });\n};\n\n/**\n * List config items (lookup values)\n * Lists the company’s config items (e.g. asset categories). Filter by config_table_id or config_table_class to scope to one table. Supports incremental sync via config_item_date_updated_from/_to. Requires company:settings:tables.\n */\nexport const publicConfigControllerListConfigItems = <ThrowOnError extends boolean = false>(options?: Options<PublicConfigControllerListConfigItemsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<PublicConfigControllerListConfigItemsResponse, PublicConfigControllerListConfigItemsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/list',\n ...options\n });\n};\n\n/**\n * Delete a config item\n * Soft-deletes a config item. Company-scoped. Requires company:settings:tables.\n */\nexport const publicConfigControllerDeleteConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerDeleteConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<PublicConfigControllerDeleteConfigItemResponse, PublicConfigControllerDeleteConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/{id}',\n ...options\n });\n};\n\n/**\n * Get a config item\n * Returns a single config item for the authenticated company. Config items have no public_id; use the numeric id. Requires company:settings:tables.\n */\nexport const publicConfigControllerGetConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerGetConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<PublicConfigControllerGetConfigItemResponse, PublicConfigControllerGetConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/{id}',\n ...options\n });\n};\n\n/**\n * Update a config item\n * Updates a config item’s name/description. Company-scoped. Requires company:settings:tables. Supports `Idempotency-Key`.\n */\nexport const publicConfigControllerUpdateConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerUpdateConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<PublicConfigControllerUpdateConfigItemResponse, PublicConfigControllerUpdateConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a config item\n * Creates a config item (e.g. a new asset category) under the given config_table_id, which must belong to the authenticated company. Requires company:settings:tables. Supports `Idempotency-Key`.\n */\nexport const publicConfigControllerCreateConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerCreateConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<PublicConfigControllerCreateConfigItemResponse, PublicConfigControllerCreateConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete an asset class property by ID\n * Soft-deletes an asset class custom property value (writes a history record). Company-scoped. Requires asset-class:update.\n */\nexport const assetClassPropertyControllerRemove = <ThrowOnError extends boolean = false>(options: Options<AssetClassPropertyControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetClassPropertyControllerRemoveResponse, AssetClassPropertyControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-property/{id}',\n ...options\n });\n};\n\n/**\n * Update an asset class property value by ID\n * Updates the value of an asset class custom property. The value is stored in text_value, numeric_value, or date_value based on the property type in config_items, and a history record is written. Company-scoped. Requires asset-class:update. Supports `Idempotency-Key`.\n */\nexport const assetClassPropertyControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<AssetClassPropertyControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetClassPropertyControllerUpdateResponse, AssetClassPropertyControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-property/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get a presigned URL to upload a document file\n * Returns a short-lived presigned S3 PUT URL and the resulting key. Upload the file with PUT, then create/update a document referencing the key as `attachment_file`. Any valid API key may request one (the key is scoped to your company folder; creating the document still needs the per-type create permission).\n */\nexport const documentUploadControllerUploadUrl = <ThrowOnError extends boolean = false>(options: Options<DocumentUploadControllerUploadUrlData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<DocumentUploadControllerUploadUrlResponse, DocumentUploadControllerUploadUrlError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/document/upload-url',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List asset documents\n */\nexport const assetDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<AssetDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetDocumentControllerListResponse, AssetDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/list',\n ...options\n });\n};\n\n/**\n * Delete an asset document\n */\nexport const assetDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetDocumentControllerRemoveResponse, AssetDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/{id}',\n ...options\n });\n};\n\n/**\n * Get an asset document\n */\nexport const assetDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<AssetDocumentControllerGetResponse, AssetDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/{id}',\n ...options\n });\n};\n\n/**\n * Update an asset document\n */\nexport const assetDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetDocumentControllerUpdateResponse, AssetDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create an asset document\n */\nexport const assetDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetDocumentControllerCreateResponse, AssetDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List asset class documents\n */\nexport const assetClassDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<AssetClassDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetClassDocumentControllerListResponse, AssetClassDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/list',\n ...options\n });\n};\n\n/**\n * Delete an asset class document\n */\nexport const assetClassDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetClassDocumentControllerRemoveResponse, AssetClassDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/{id}',\n ...options\n });\n};\n\n/**\n * Get an asset class document\n */\nexport const assetClassDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<AssetClassDocumentControllerGetResponse, AssetClassDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/{id}',\n ...options\n });\n};\n\n/**\n * Update an asset class document\n */\nexport const assetClassDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetClassDocumentControllerUpdateResponse, AssetClassDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create an asset class document\n */\nexport const assetClassDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetClassDocumentControllerCreateResponse, AssetClassDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List user documents\n */\nexport const userDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<UserDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<UserDocumentControllerListResponse, UserDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/list',\n ...options\n });\n};\n\n/**\n * Delete a user document\n */\nexport const userDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<UserDocumentControllerRemoveResponse, UserDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a user document\n */\nexport const userDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<UserDocumentControllerGetResponse, UserDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a user document\n */\nexport const userDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UserDocumentControllerUpdateResponse, UserDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a user document\n */\nexport const userDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UserDocumentControllerCreateResponse, UserDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List site documents\n */\nexport const siteDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<SiteDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<SiteDocumentControllerListResponse, SiteDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/list',\n ...options\n });\n};\n\n/**\n * Delete a site document\n */\nexport const siteDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<SiteDocumentControllerRemoveResponse, SiteDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a site document\n */\nexport const siteDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<SiteDocumentControllerGetResponse, SiteDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a site document\n */\nexport const siteDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<SiteDocumentControllerUpdateResponse, SiteDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a site document\n */\nexport const siteDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<SiteDocumentControllerCreateResponse, SiteDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List customer documents\n */\nexport const customerDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<CustomerDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<CustomerDocumentControllerListResponse, CustomerDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/list',\n ...options\n });\n};\n\n/**\n * Delete a customer document\n */\nexport const customerDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<CustomerDocumentControllerRemoveResponse, CustomerDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a customer document\n */\nexport const customerDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<CustomerDocumentControllerGetResponse, CustomerDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a customer document\n */\nexport const customerDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CustomerDocumentControllerUpdateResponse, CustomerDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a customer document\n */\nexport const customerDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CustomerDocumentControllerCreateResponse, CustomerDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List project documents\n */\nexport const projectDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<ProjectDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<ProjectDocumentControllerListResponse, ProjectDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/list',\n ...options\n });\n};\n\n/**\n * Delete a project document\n */\nexport const projectDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<ProjectDocumentControllerRemoveResponse, ProjectDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a project document\n */\nexport const projectDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ProjectDocumentControllerGetResponse, ProjectDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a project document\n */\nexport const projectDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<ProjectDocumentControllerUpdateResponse, ProjectDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a project document\n */\nexport const projectDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<ProjectDocumentControllerCreateResponse, ProjectDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List job documents\n */\nexport const jobDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<JobDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<JobDocumentControllerListResponse, JobDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/list',\n ...options\n });\n};\n\n/**\n * Delete a job document\n */\nexport const jobDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<JobDocumentControllerRemoveResponse, JobDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a job document\n */\nexport const jobDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<JobDocumentControllerGetResponse, JobDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a job document\n */\nexport const jobDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<JobDocumentControllerUpdateResponse, JobDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a job document\n */\nexport const jobDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<JobDocumentControllerCreateResponse, JobDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List company documents\n */\nexport const companyDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<CompanyDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<CompanyDocumentControllerListResponse, CompanyDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/list',\n ...options\n });\n};\n\n/**\n * Delete a company document\n */\nexport const companyDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<CompanyDocumentControllerRemoveResponse, CompanyDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a company document\n */\nexport const companyDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<CompanyDocumentControllerGetResponse, CompanyDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a company document\n */\nexport const companyDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CompanyDocumentControllerUpdateResponse, CompanyDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a company document\n * Company documents are scoped to your company; parent_id is not required.\n */\nexport const companyDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CompanyDocumentControllerCreateResponse, CompanyDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List sites\n * Returns a paginated list of sites for the authenticated company. Supports filtering by name, category, and date modified. Requires Bearer token authentication with site:read permission.\n */\nexport const siteControllerListSites = <ThrowOnError extends boolean = false>(options?: Options<SiteControllerListSitesData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<SiteControllerListSitesResponse, SiteControllerListSitesError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site/list',\n ...options\n });\n};\n\n/**\n * Create a new site\n * Creates a new site for the authenticated company. Requires Bearer token authentication with site:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const siteControllerCreateSite = <ThrowOnError extends boolean = false>(options: Options<SiteControllerCreateSiteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<SiteControllerCreateSiteResponse, SiteControllerCreateSiteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete site by public ID\n * Performs a soft delete on a site by its public_id (UUID). Sets deletedAt and deletedById fields instead of permanently removing the record. Requires Bearer token authentication with site:update permission.\n */\nexport const siteControllerDeleteSite = <ThrowOnError extends boolean = false>(options: Options<SiteControllerDeleteSiteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<SiteControllerDeleteSiteResponse, SiteControllerDeleteSiteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site/{id}',\n ...options\n });\n};\n\n/**\n * Update site by public ID\n * Updates a site by its public_id (UUID). Only provided fields will be updated. Requires Bearer token authentication with site:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const siteControllerUpdateSite = <ThrowOnError extends boolean = false>(options: Options<SiteControllerUpdateSiteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<SiteControllerUpdateSiteResponse, SiteControllerUpdateSiteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};","/**\n * WakataClient — the hand-written ergonomic wrapper on top of the generated\n * `@hey-api/openapi-ts` output.\n *\n * Responsibilities:\n * - Hold the API key and base URL.\n * - Attach `Authorization`, `User-Agent`, and (on POST/PATCH) `Idempotency-Key`\n * headers via fetch interceptors.\n * - Map non-2xx responses to the typed error hierarchy in `./errors.ts`.\n * - Expose every generated operation under a per-tag namespace\n * (`client.assets.list(...)`, `client.users.list(...)`, etc.).\n *\n * Consumers who need the unwrapped generated operations can import them\n * directly from `@wakata-dev/api-client/generated`.\n */\nimport { createClient, createConfig, type Client } from '@hey-api/client-fetch';\n\nimport {\n mapApiError,\n WakataApiError,\n type WakataErrorEnvelope,\n} from './errors.js';\nimport { generateIdempotencyKey } from './idempotency.js';\n\nimport {\n // asset\n assetControllerCreateAssetPublic,\n assetControllerListAssets,\n assetControllerGetAsset,\n assetControllerUpdateAsset,\n // user\n userControllerListUsers,\n userControllerGetUser,\n userControllerUpdateUser,\n userControllerCreateUser,\n // inspection\n inspectionControllerListInspections,\n inspectionControllerGetPublicInspection,\n // issue\n issueControllerListIssues,\n issueControllerGetIssuePublic,\n issueControllerUpdateIssuePublic,\n issueControllerGetIssueHistoryPublic,\n // user-property\n userPropertyControllerDeleteUserProperty,\n userPropertyControllerUpdateUserProperty,\n // asset-class-property\n assetClassPropertyControllerUpdate,\n assetClassPropertyControllerRemove,\n // documents\n documentUploadControllerUploadUrl,\n assetDocumentControllerList,\n assetDocumentControllerGet,\n assetDocumentControllerCreate,\n assetDocumentControllerUpdate,\n assetDocumentControllerRemove,\n assetClassDocumentControllerList,\n assetClassDocumentControllerGet,\n assetClassDocumentControllerCreate,\n assetClassDocumentControllerUpdate,\n assetClassDocumentControllerRemove,\n userDocumentControllerList,\n userDocumentControllerGet,\n userDocumentControllerCreate,\n userDocumentControllerUpdate,\n userDocumentControllerRemove,\n siteDocumentControllerList,\n siteDocumentControllerGet,\n siteDocumentControllerCreate,\n siteDocumentControllerUpdate,\n siteDocumentControllerRemove,\n customerDocumentControllerList,\n customerDocumentControllerGet,\n customerDocumentControllerCreate,\n customerDocumentControllerUpdate,\n customerDocumentControllerRemove,\n projectDocumentControllerList,\n projectDocumentControllerGet,\n projectDocumentControllerCreate,\n projectDocumentControllerUpdate,\n projectDocumentControllerRemove,\n jobDocumentControllerList,\n jobDocumentControllerGet,\n jobDocumentControllerCreate,\n jobDocumentControllerUpdate,\n jobDocumentControllerRemove,\n companyDocumentControllerList,\n companyDocumentControllerGet,\n companyDocumentControllerCreate,\n companyDocumentControllerUpdate,\n companyDocumentControllerRemove,\n // site\n siteControllerListSites,\n siteControllerCreateSite,\n siteControllerDeleteSite,\n siteControllerUpdateSite,\n // checklist\n checklistControllerListChecklists,\n checklistControllerGetChecklist,\n // config\n publicConfigControllerListConfigTables,\n publicConfigControllerListConfigItems,\n publicConfigControllerGetConfigItem,\n publicConfigControllerCreateConfigItem,\n publicConfigControllerUpdateConfigItem,\n publicConfigControllerDeleteConfigItem,\n} from './generated/sdk.gen.js';\n\n/** Default base URL — production. Override for dev / sandbox. */\nconst DEFAULT_BASE_URL = 'https://api.wakata.ai/api/v1';\n\n/** Package version baked in at build time. Synced with `package.json`. */\nconst PACKAGE_VERSION = '0.3.3';\n\nexport interface WakataClientOptions {\n /** Wakata API key (`wk_...`). Required. */\n apiKey: string;\n /** Override base URL. Defaults to `https://api.wakata.ai/api/v1`. */\n baseUrl?: string;\n /**\n * Custom `fetch` implementation. Defaults to `globalThis.fetch`. Useful\n * for tests or Node <18 polyfills.\n */\n fetch?: typeof fetch;\n}\n\n/**\n * The wrapper takes Options from the generated `sdk.gen` but reshapes them so\n * the consumer doesn't have to think about the underlying client.\n *\n * We strip the generated `client` and `throwOnError` fields and tell the\n * generated function to throw via our interceptor instead.\n */\ntype WakataMethodOptions<T> = Omit<T, 'client' | 'throwOnError'>;\n\nfunction unwrap<TData>(\n result: { data: TData | undefined; error?: unknown; response: Response },\n): TData {\n // When `throwOnError: false` (our default), the result is a tagged union.\n // Our response interceptor converts non-2xx to a thrown error before this\n // point, so `data` is always defined here.\n if (result.data === undefined) {\n throw new WakataApiError({\n code: 'unknown_error',\n statusCode: result.response.status,\n requestId: result.response.headers.get('X-Request-Id') ?? '',\n message: 'Empty response body where data was expected.',\n });\n }\n return result.data;\n}\n\n/** Resource namespaces — one per OpenAPI tag, mirroring the spec. */\nexport interface AssetsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof assetControllerListAssets>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetControllerListAssets>>['data']\n >;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof assetControllerCreateAssetPublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetControllerCreateAssetPublic>>['data']\n >;\n get: (\n options: WakataMethodOptions<Parameters<typeof assetControllerGetAsset>[0]>,\n ) => Promise<Awaited<ReturnType<typeof assetControllerGetAsset>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof assetControllerUpdateAsset>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetControllerUpdateAsset>>['data']>;\n}\n\nexport interface UsersResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof userControllerListUsers>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof userControllerListUsers>>['data']>;\n get: (\n options: WakataMethodOptions<Parameters<typeof userControllerGetUser>[0]>,\n ) => Promise<Awaited<ReturnType<typeof userControllerGetUser>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof userControllerCreateUser>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof userControllerCreateUser>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof userControllerUpdateUser>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof userControllerUpdateUser>>['data']>;\n}\n\nexport interface SitesResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof siteControllerListSites>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerListSites>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof siteControllerCreateSite>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerCreateSite>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof siteControllerUpdateSite>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerUpdateSite>>['data']>;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof siteControllerDeleteSite>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerDeleteSite>>['data']>;\n}\n\nexport interface InspectionsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof inspectionControllerListInspections>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof inspectionControllerListInspections>>['data']\n >;\n getDetail: (\n options: WakataMethodOptions<\n Parameters<typeof inspectionControllerGetPublicInspection>[0]\n >,\n ) => Promise<\n Awaited<\n ReturnType<typeof inspectionControllerGetPublicInspection>\n >['data']\n >;\n}\n\nexport interface ChecklistsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof checklistControllerListChecklists>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof checklistControllerListChecklists>>['data']\n >;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof checklistControllerGetChecklist>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof checklistControllerGetChecklist>>['data']\n >;\n}\n\nexport interface ConfigResource {\n listTables: (\n options?: WakataMethodOptions<\n Parameters<typeof publicConfigControllerListConfigTables>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerListConfigTables>>['data']\n >;\n listItems: (\n options?: WakataMethodOptions<\n Parameters<typeof publicConfigControllerListConfigItems>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerListConfigItems>>['data']\n >;\n getItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerGetConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerGetConfigItem>>['data']\n >;\n createItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerCreateConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerCreateConfigItem>>['data']\n >;\n updateItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerUpdateConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerUpdateConfigItem>>['data']\n >;\n deleteItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerDeleteConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerDeleteConfigItem>>['data']\n >;\n}\n\nexport interface IssuesResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof issueControllerListIssues>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof issueControllerListIssues>>['data']>;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof issueControllerGetIssuePublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof issueControllerGetIssuePublic>>['data']\n >;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof issueControllerUpdateIssuePublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof issueControllerUpdateIssuePublic>>['data']\n >;\n getHistory: (\n options: WakataMethodOptions<\n Parameters<typeof issueControllerGetIssueHistoryPublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof issueControllerGetIssueHistoryPublic>>['data']\n >;\n}\n\nexport interface UserPropertiesResource {\n update: (\n options: WakataMethodOptions<\n Parameters<typeof userPropertyControllerUpdateUserProperty>[0]\n >,\n ) => Promise<\n Awaited<\n ReturnType<typeof userPropertyControllerUpdateUserProperty>\n >['data']\n >;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof userPropertyControllerDeleteUserProperty>[0]\n >,\n ) => Promise<\n Awaited<\n ReturnType<typeof userPropertyControllerDeleteUserProperty>\n >['data']\n >;\n}\n\nexport interface AssetClassPropertiesResource {\n update: (\n options: WakataMethodOptions<\n Parameters<typeof assetClassPropertyControllerUpdate>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetClassPropertyControllerUpdate>>['data']\n >;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof assetClassPropertyControllerRemove>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetClassPropertyControllerRemove>>['data']\n >;\n}\n\n/**\n * One entity-document type's CRUD. All document types share the same DTOs, so\n * the shape is typed against the asset-document operations (structurally\n * identical across types).\n */\nexport interface DocumentTypeResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerList>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetDocumentControllerList>>['data']\n >;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerGet>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerGet>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerCreate>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerCreate>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerUpdate>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerUpdate>>['data']>;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerRemove>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerRemove>>['data']>;\n}\n\nexport interface DocumentsResource {\n /** Presigned S3 PUT URL + key; upload then create a document with the key. */\n uploadUrl: (\n options: WakataMethodOptions<\n Parameters<typeof documentUploadControllerUploadUrl>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof documentUploadControllerUploadUrl>>['data']\n >;\n asset: DocumentTypeResource;\n assetClass: DocumentTypeResource;\n user: DocumentTypeResource;\n site: DocumentTypeResource;\n customer: DocumentTypeResource;\n project: DocumentTypeResource;\n job: DocumentTypeResource;\n company: DocumentTypeResource;\n}\n\n/**\n * The main entry point for the Wakata API client.\n *\n * ```ts\n * import { WakataClient, WakataNotFoundError } from '@wakata-dev/api-client';\n *\n * const wakata = new WakataClient({ apiKey: process.env.WAKATA_API_KEY! });\n *\n * try {\n * const { items } = await wakata.assets.list({ query: { page: 1, page_size: 50 } });\n * console.log(items);\n * } catch (err) {\n * if (err instanceof WakataNotFoundError) console.error('not found:', err.message);\n * throw err;\n * }\n * ```\n */\nexport class WakataClient {\n /** Underlying generated fetch client. Exposed for advanced customisation. */\n public readonly raw: Client;\n\n public readonly assets: AssetsResource;\n public readonly users: UsersResource;\n public readonly sites: SitesResource;\n public readonly inspections: InspectionsResource;\n public readonly issues: IssuesResource;\n public readonly userProperties: UserPropertiesResource;\n public readonly checklists: ChecklistsResource;\n public readonly config: ConfigResource;\n public readonly assetClassProperties: AssetClassPropertiesResource;\n public readonly documents: DocumentsResource;\n\n public constructor(options: WakataClientOptions) {\n if (!options.apiKey) {\n throw new Error('WakataClient: `apiKey` is required.');\n }\n\n const baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;\n\n this.raw = createClient(\n createConfig({\n baseUrl,\n // Inject the apiKey into the Authorization header via the `auth` hook\n // so the generated `security: [{ scheme: 'bearer' }]` machinery picks\n // it up on every operation.\n auth: options.apiKey,\n ...(options.fetch ? { fetch: options.fetch } : {}),\n }),\n );\n\n // ---- request interceptor: User-Agent + Idempotency-Key on POST/PATCH ----\n this.raw.interceptors.request.use((request) => {\n // User-Agent. Some browser environments forbid setting this header — if\n // so, the underlying fetch will silently drop it, which is fine.\n try {\n request.headers.set('User-Agent', `@wakata-dev/api-client/${PACKAGE_VERSION}`);\n } catch {\n // ignore — browsers may guard User-Agent.\n }\n\n const method = request.method.toUpperCase();\n if (method === 'POST' || method === 'PATCH') {\n if (!request.headers.has('Idempotency-Key')) {\n request.headers.set('Idempotency-Key', generateIdempotencyKey());\n }\n }\n return request;\n });\n\n // ---- response interceptor: map non-2xx envelopes to typed errors ----\n this.raw.interceptors.response.use(async (response) => {\n if (response.ok) return response;\n\n // Read the body once. The generated client doesn't try to consume the\n // body when we throw, so we have to clone before parsing.\n let envelope: WakataErrorEnvelope | undefined;\n try {\n const cloned = response.clone();\n const json = (await cloned.json()) as\n | { error?: WakataErrorEnvelope }\n | undefined;\n envelope = json?.error;\n } catch {\n // Body wasn't JSON (HTML 502 page, etc.) — fall through with undefined.\n }\n\n const fallbackRequestId = response.headers.get('X-Request-Id') ?? '';\n\n // 429: derive retryAfterSeconds from headers. Prefer Retry-After (RFC\n // 7231) when present, then fall back to X-RateLimit-Reset (unix epoch\n // seconds) minus now.\n let retryAfterSeconds: number | undefined;\n if (response.status === 429) {\n const retryAfter = response.headers.get('Retry-After');\n if (retryAfter) {\n const n = Number(retryAfter);\n if (Number.isFinite(n)) retryAfterSeconds = n;\n }\n if (retryAfterSeconds === undefined) {\n const reset = response.headers.get('X-RateLimit-Reset');\n if (reset) {\n const resetEpoch = Number(reset);\n if (Number.isFinite(resetEpoch)) {\n retryAfterSeconds = Math.max(\n 0,\n Math.ceil(resetEpoch - Date.now() / 1000),\n );\n }\n }\n }\n }\n\n throw mapApiError(\n response.status,\n envelope,\n fallbackRequestId,\n retryAfterSeconds,\n );\n });\n\n // ---- per-tag namespaces ------------------------------------------------\n const client = this.raw;\n\n this.assets = {\n list: async (opts) =>\n unwrap(await assetControllerListAssets({ ...(opts ?? {}), client })),\n create: async (opts) =>\n unwrap(await assetControllerCreateAssetPublic({ ...opts, client })),\n get: async (opts) =>\n unwrap(await assetControllerGetAsset({ ...opts, client })),\n update: async (opts) =>\n unwrap(await assetControllerUpdateAsset({ ...opts, client })),\n };\n\n this.users = {\n list: async (opts) =>\n unwrap(await userControllerListUsers({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await userControllerGetUser({ ...opts, client })),\n create: async (opts) =>\n unwrap(await userControllerCreateUser({ ...opts, client })),\n update: async (opts) =>\n unwrap(await userControllerUpdateUser({ ...opts, client })),\n };\n\n this.sites = {\n list: async (opts) =>\n unwrap(await siteControllerListSites({ ...(opts ?? {}), client })),\n create: async (opts) =>\n unwrap(await siteControllerCreateSite({ ...opts, client })),\n update: async (opts) =>\n unwrap(await siteControllerUpdateSite({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await siteControllerDeleteSite({ ...opts, client })),\n };\n\n this.inspections = {\n list: async (opts) =>\n unwrap(\n await inspectionControllerListInspections({\n ...(opts ?? {}),\n client,\n }),\n ),\n getDetail: async (opts) =>\n unwrap(\n await inspectionControllerGetPublicInspection({ ...opts, client }),\n ),\n };\n\n this.issues = {\n list: async (opts) =>\n unwrap(await issueControllerListIssues({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await issueControllerGetIssuePublic({ ...opts, client })),\n update: async (opts) =>\n unwrap(await issueControllerUpdateIssuePublic({ ...opts, client })),\n getHistory: async (opts) =>\n unwrap(\n await issueControllerGetIssueHistoryPublic({ ...opts, client }),\n ),\n };\n\n this.userProperties = {\n update: async (opts) =>\n unwrap(\n await userPropertyControllerUpdateUserProperty({ ...opts, client }),\n ),\n delete: async (opts) =>\n unwrap(\n await userPropertyControllerDeleteUserProperty({ ...opts, client }),\n ),\n };\n\n this.checklists = {\n list: async (opts) =>\n unwrap(\n await checklistControllerListChecklists({ ...(opts ?? {}), client }),\n ),\n get: async (opts) =>\n unwrap(await checklistControllerGetChecklist({ ...opts, client })),\n };\n\n this.config = {\n listTables: async (opts) =>\n unwrap(\n await publicConfigControllerListConfigTables({\n ...(opts ?? {}),\n client,\n }),\n ),\n listItems: async (opts) =>\n unwrap(\n await publicConfigControllerListConfigItems({\n ...(opts ?? {}),\n client,\n }),\n ),\n getItem: async (opts) =>\n unwrap(await publicConfigControllerGetConfigItem({ ...opts, client })),\n createItem: async (opts) =>\n unwrap(\n await publicConfigControllerCreateConfigItem({ ...opts, client }),\n ),\n updateItem: async (opts) =>\n unwrap(\n await publicConfigControllerUpdateConfigItem({ ...opts, client }),\n ),\n deleteItem: async (opts) =>\n unwrap(\n await publicConfigControllerDeleteConfigItem({ ...opts, client }),\n ),\n };\n\n this.assetClassProperties = {\n update: async (opts) =>\n unwrap(await assetClassPropertyControllerUpdate({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await assetClassPropertyControllerRemove({ ...opts, client })),\n };\n\n // All document types share DTOs, so one factory builds each per-type\n // resource from its five generated operations.\n const docResource = (fns: {\n list: typeof assetDocumentControllerList;\n get: typeof assetDocumentControllerGet;\n create: typeof assetDocumentControllerCreate;\n update: typeof assetDocumentControllerUpdate;\n remove: typeof assetDocumentControllerRemove;\n }): DocumentTypeResource => ({\n list: async (opts) => unwrap(await fns.list({ ...(opts ?? {}), client })),\n get: async (opts) => unwrap(await fns.get({ ...opts, client })),\n create: async (opts) => unwrap(await fns.create({ ...opts, client })),\n update: async (opts) => unwrap(await fns.update({ ...opts, client })),\n delete: async (opts) => unwrap(await fns.remove({ ...opts, client })),\n });\n\n this.documents = {\n uploadUrl: async (opts) =>\n unwrap(await documentUploadControllerUploadUrl({ ...opts, client })),\n asset: docResource({\n list: assetDocumentControllerList,\n get: assetDocumentControllerGet,\n create: assetDocumentControllerCreate,\n update: assetDocumentControllerUpdate,\n remove: assetDocumentControllerRemove,\n }),\n assetClass: docResource({\n list: assetClassDocumentControllerList,\n get: assetClassDocumentControllerGet,\n create: assetClassDocumentControllerCreate,\n update: assetClassDocumentControllerUpdate,\n remove: assetClassDocumentControllerRemove,\n }),\n user: docResource({\n list: userDocumentControllerList,\n get: userDocumentControllerGet,\n create: userDocumentControllerCreate,\n update: userDocumentControllerUpdate,\n remove: userDocumentControllerRemove,\n }),\n site: docResource({\n list: siteDocumentControllerList,\n get: siteDocumentControllerGet,\n create: siteDocumentControllerCreate,\n update: siteDocumentControllerUpdate,\n remove: siteDocumentControllerRemove,\n }),\n customer: docResource({\n list: customerDocumentControllerList,\n get: customerDocumentControllerGet,\n create: customerDocumentControllerCreate,\n update: customerDocumentControllerUpdate,\n remove: customerDocumentControllerRemove,\n }),\n project: docResource({\n list: projectDocumentControllerList,\n get: projectDocumentControllerGet,\n create: projectDocumentControllerCreate,\n update: projectDocumentControllerUpdate,\n remove: projectDocumentControllerRemove,\n }),\n job: docResource({\n list: jobDocumentControllerList,\n get: jobDocumentControllerGet,\n create: jobDocumentControllerCreate,\n update: jobDocumentControllerUpdate,\n remove: jobDocumentControllerRemove,\n }),\n company: docResource({\n list: companyDocumentControllerList,\n get: companyDocumentControllerGet,\n create: companyDocumentControllerCreate,\n update: companyDocumentControllerUpdate,\n remove: companyDocumentControllerRemove,\n }),\n };\n }\n}\n","/**\n * `@wakata-dev/api-client` — the official TypeScript SDK for the Wakata Public API.\n *\n * See README.md for usage.\n */\n\nexport const PACKAGE_NAME = '@wakata-dev/api-client';\nexport const PACKAGE_VERSION = '0.3.3';\n\n/** Default base URL for the Wakata Public API (production). */\nexport const DEFAULT_BASE_URL = 'https://api.wakata.ai/api/v1';\n\n// Wrapper layer — the recommended public surface.\nexport { WakataClient } from './client.js';\nexport type {\n WakataClientOptions,\n AssetsResource,\n UsersResource,\n SitesResource,\n InspectionsResource,\n IssuesResource,\n UserPropertiesResource,\n} from './client.js';\n\n// Error hierarchy.\nexport {\n WakataApiError,\n WakataValidationError,\n WakataAuthError,\n WakataPermissionError,\n WakataNotFoundError,\n WakataConflictError,\n WakataRateLimitError,\n WakataServerError,\n mapApiError,\n} from './errors.js';\nexport type { ErrorDetail, WakataErrorEnvelope } from './errors.js';\n\n// Idempotency helper — exposed in case callers want to mint keys themselves\n// (e.g. to retry the same logical operation across processes).\nexport { generateIdempotencyKey } from './idempotency.js';\n\n// Re-export the generated types + raw operations for advanced consumers who\n// want to drop down past the wrapper. Avoid collisions with the wrapper's\n// exported names.\nexport * from './generated/types.gen.js';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts","../src/idempotency.ts","../src/generated/client.gen.ts","../src/generated/sdk.gen.ts","../src/client.ts","../src/index.ts"],"names":["createClient","createConfig","client","PACKAGE_VERSION","DEFAULT_BASE_URL"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Typed error hierarchy for the Wakata API client.\n *\n * The Wakata Public API always returns a standardized error envelope on\n * non-2xx responses (see the portal's API Quickstart page,\n * Settings → API Keys → Quickstart § 5 \"Handling errors\"):\n *\n * ```json\n * {\n * \"error\": {\n * \"code\": \"validation_error\",\n * \"message\": \"Request validation failed.\",\n * \"request_id\": \"req_01HX...\",\n * \"docs_url\": \"https://docs.wakata.ai/errors/validation_error\",\n * \"param\": \"site_id\",\n * \"details\": [ { \"field\": \"site_id\", \"code\": \"isUuid\", \"message\": \"...\" } ]\n * }\n * }\n * ```\n *\n * The client maps each non-2xx response to the most specific subclass below.\n * Use `instanceof` checks to branch on the error type ergonomically:\n *\n * ```ts\n * try {\n * const asset = await wakata.assets.get('abc-123');\n * } catch (err) {\n * if (err instanceof WakataNotFoundError) { ... }\n * if (err instanceof WakataRateLimitError) {\n * await sleep((err.retryAfterSeconds ?? 60) * 1000);\n * }\n * throw err;\n * }\n * ```\n */\n\n/**\n * A single validation detail emitted by class-validator on `400` responses.\n */\nexport interface ErrorDetail {\n field: string;\n code: string;\n message: string;\n}\n\n/**\n * Raw shape of the error envelope returned by the API.\n *\n * Mirrors {@link https://docs.wakata.ai/errors} — kept loose because new\n * canonical codes may be added without breaking the SDK.\n */\nexport interface WakataErrorEnvelope {\n code: string;\n message: string;\n request_id: string;\n docs_url?: string;\n param?: string;\n details?: ErrorDetail[];\n}\n\n/**\n * Base error class for everything thrown by the Wakata API client when the\n * server responds with a non-2xx status. Network failures and unparseable\n * responses also surface as this base class with `code === 'unknown_error'`.\n */\nexport class WakataApiError extends Error {\n /** Canonical error code from `error.code` in the response envelope. */\n public readonly code: string;\n /** HTTP status code from the response. */\n public readonly statusCode: number;\n /** Server-assigned request ID (`X-Request-Id` / `error.request_id`). */\n public readonly requestId: string;\n /** Optional URL pointing at the docs page for this error code. */\n public readonly docsUrl: string | undefined;\n /** For validation-style errors, the offending parameter name. */\n public readonly param: string | undefined;\n /** For validation-style errors, the full field-level breakdown. */\n public readonly details: ErrorDetail[] | undefined;\n\n public constructor(args: {\n code: string;\n statusCode: number;\n requestId: string;\n docsUrl?: string | undefined;\n param?: string | undefined;\n details?: ErrorDetail[] | undefined;\n message: string;\n }) {\n super(args.message);\n this.name = 'WakataApiError';\n this.code = args.code;\n this.statusCode = args.statusCode;\n this.requestId = args.requestId;\n this.docsUrl = args.docsUrl;\n this.param = args.param;\n this.details = args.details;\n // Maintain the prototype chain for `instanceof` across compiled targets.\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/**\n * 4xx with `details` (typically 400 `validation_error` from class-validator).\n * `details` is guaranteed populated.\n */\nexport class WakataValidationError extends WakataApiError {\n public override readonly name = 'WakataValidationError';\n}\n\n/** 401 — missing, malformed, revoked or expired API key. */\nexport class WakataAuthError extends WakataApiError {\n public override readonly name = 'WakataAuthError';\n}\n\n/** 403 — authenticated key lacks the required permission / role. */\nexport class WakataPermissionError extends WakataApiError {\n public override readonly name = 'WakataPermissionError';\n}\n\n/** 404 — resource not found, or not visible to this API key. */\nexport class WakataNotFoundError extends WakataApiError {\n public override readonly name = 'WakataNotFoundError';\n}\n\n/** 409 — conflict, e.g. unique constraint violation or idempotency-key reuse with a different body. */\nexport class WakataConflictError extends WakataApiError {\n public override readonly name = 'WakataConflictError';\n}\n\n/**\n * 429 — rate limited. `retryAfterSeconds` is derived from the\n * `X-RateLimit-Reset` header (seconds until the window resets) where present.\n */\nexport class WakataRateLimitError extends WakataApiError {\n public override readonly name = 'WakataRateLimitError';\n public readonly retryAfterSeconds: number | undefined;\n\n public constructor(args: {\n code: string;\n statusCode: number;\n requestId: string;\n docsUrl?: string | undefined;\n param?: string | undefined;\n details?: ErrorDetail[] | undefined;\n message: string;\n retryAfterSeconds?: number | undefined;\n }) {\n super(args);\n this.retryAfterSeconds = args.retryAfterSeconds;\n }\n}\n\n/** 5xx — server error. Safe to retry with exponential backoff. */\nexport class WakataServerError extends WakataApiError {\n public override readonly name = 'WakataServerError';\n}\n\n/**\n * Map an HTTP status + response envelope to the most specific error subclass.\n *\n * Exported so callers can build their own retry/error layers on top.\n */\nexport function mapApiError(\n statusCode: number,\n envelope: WakataErrorEnvelope | undefined,\n fallbackRequestId: string,\n retryAfterSeconds?: number,\n): WakataApiError {\n const code = envelope?.code ?? 'unknown_error';\n const message =\n envelope?.message ?? `Wakata API returned HTTP ${statusCode}`;\n const requestId = envelope?.request_id ?? fallbackRequestId;\n const docsUrl = envelope?.docs_url;\n const param = envelope?.param;\n const details = envelope?.details;\n const base = {\n code,\n statusCode,\n requestId,\n docsUrl,\n param,\n details,\n message,\n };\n\n if (statusCode === 429) {\n return new WakataRateLimitError({\n ...base,\n retryAfterSeconds,\n });\n }\n if (statusCode === 401) return new WakataAuthError(base);\n if (statusCode === 403) return new WakataPermissionError(base);\n if (statusCode === 404) return new WakataNotFoundError(base);\n if (statusCode === 409) return new WakataConflictError(base);\n if (statusCode >= 500) return new WakataServerError(base);\n if (statusCode >= 400 && details && details.length > 0) {\n return new WakataValidationError(base);\n }\n return new WakataApiError(base);\n}\n","/**\n * Idempotency helpers.\n *\n * The Wakata Public API accepts an optional `Idempotency-Key` header on every\n * `POST` and `PATCH` write endpoint. Sending the same key with the same body\n * within 24h returns the cached original response instead of re-executing the\n * write — making it safe to retry network failures.\n *\n * This SDK auto-attaches a freshly-generated key on every POST/PATCH if the\n * caller hasn't provided one. Callers who want true cross-attempt idempotency\n * (i.e. the same logical operation across multiple retry attempts) should\n * generate their own key once and pass it via `headers: { 'Idempotency-Key': ... }`.\n *\n * See the Wakata portal's API Quickstart page (Settings → API Keys →\n * Quickstart) § 7 \"Safe retries with Idempotency-Key\" for the full contract.\n */\n\n/**\n * Generate an idempotency key prefixed with `wak_idem_`. Uses Web Crypto's\n * `randomUUID` where available, falling back to a v4-style UUID built from\n * `getRandomValues` for older Node runtimes.\n */\nexport function generateIdempotencyKey(): string {\n const c: Crypto | undefined =\n typeof globalThis !== 'undefined'\n ? (globalThis as { crypto?: Crypto }).crypto\n : undefined;\n let uuid: string;\n if (c && typeof c.randomUUID === 'function') {\n uuid = c.randomUUID();\n } else if (c && typeof c.getRandomValues === 'function') {\n const bytes = new Uint8Array(16);\n c.getRandomValues(bytes);\n // RFC 4122 v4 fixups\n bytes[6] = ((bytes[6] ?? 0) & 0x0f) | 0x40;\n bytes[8] = ((bytes[8] ?? 0) & 0x3f) | 0x80;\n const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join(\n '',\n );\n uuid = `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;\n } else {\n // Last-ditch fallback. Not cryptographically strong but rare enough we\n // don't bring in a dep just for this; logging the runtime helps debug.\n uuid =\n Date.now().toString(16) +\n '-' +\n Math.random().toString(16).slice(2, 14).padEnd(12, '0');\n }\n return `wak_idem_${uuid.replace(/-/g, '')}`;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://dev-api.wakata.ai'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from '@hey-api/client-fetch';\nimport type { AssetControllerCreateAssetPublicData, AssetControllerCreateAssetPublicResponse, AssetControllerCreateAssetPublicError, AssetControllerListAssetsData, AssetControllerListAssetsResponse, AssetControllerListAssetsError, AssetControllerGetAssetData, AssetControllerGetAssetResponse, AssetControllerGetAssetError, AssetControllerUpdateAssetData, AssetControllerUpdateAssetResponse, AssetControllerUpdateAssetError, UserControllerListUsersData, UserControllerListUsersResponse, UserControllerListUsersError, UserControllerGetUserData, UserControllerGetUserResponse, UserControllerGetUserError, UserControllerUpdateUserData, UserControllerUpdateUserResponse, UserControllerUpdateUserError, UserControllerCreateUserData, UserControllerCreateUserResponse, UserControllerCreateUserError, InspectionControllerListInspectionsData, InspectionControllerListInspectionsResponse, InspectionControllerListInspectionsError, InspectionControllerGetPublicInspectionData, InspectionControllerGetPublicInspectionResponse, InspectionControllerGetPublicInspectionError, IssueControllerListIssuesData, IssueControllerListIssuesResponse, IssueControllerListIssuesError, IssueControllerGetIssuePublicData, IssueControllerGetIssuePublicResponse, IssueControllerGetIssuePublicError, IssueControllerUpdateIssuePublicData, IssueControllerUpdateIssuePublicResponse, IssueControllerUpdateIssuePublicError, IssueControllerGetIssueHistoryPublicData, IssueControllerGetIssueHistoryPublicResponse, IssueControllerGetIssueHistoryPublicError, UserPropertyControllerDeleteUserPropertyData, UserPropertyControllerDeleteUserPropertyResponse, UserPropertyControllerDeleteUserPropertyError, UserPropertyControllerUpdateUserPropertyData, UserPropertyControllerUpdateUserPropertyResponse, UserPropertyControllerUpdateUserPropertyError, AssetPropertyControllerDeleteAssetPropertyData, AssetPropertyControllerDeleteAssetPropertyResponse, AssetPropertyControllerDeleteAssetPropertyError, AssetPropertyControllerUpdateAssetPropertyData, AssetPropertyControllerUpdateAssetPropertyResponse, AssetPropertyControllerUpdateAssetPropertyError, AssetClassControllerGetAssetClassListData, AssetClassControllerGetAssetClassListResponse, AssetClassControllerGetAssetClassListError, AssetClassControllerCreateAssetClassData, AssetClassControllerCreateAssetClassResponse, AssetClassControllerCreateAssetClassError, AssetClassControllerUpdateAssetClassData, AssetClassControllerUpdateAssetClassResponse, AssetClassControllerUpdateAssetClassError, ChecklistControllerListChecklistsData, ChecklistControllerListChecklistsResponse, ChecklistControllerListChecklistsError, ChecklistControllerGetChecklistData, ChecklistControllerGetChecklistResponse, ChecklistControllerGetChecklistError, PublicConfigControllerListConfigTablesData, PublicConfigControllerListConfigTablesResponse, PublicConfigControllerListConfigTablesError, PublicConfigControllerListConfigItemsData, PublicConfigControllerListConfigItemsResponse, PublicConfigControllerListConfigItemsError, PublicConfigControllerDeleteConfigItemData, PublicConfigControllerDeleteConfigItemResponse, PublicConfigControllerDeleteConfigItemError, PublicConfigControllerGetConfigItemData, PublicConfigControllerGetConfigItemResponse, PublicConfigControllerGetConfigItemError, PublicConfigControllerUpdateConfigItemData, PublicConfigControllerUpdateConfigItemResponse, PublicConfigControllerUpdateConfigItemError, PublicConfigControllerCreateConfigItemData, PublicConfigControllerCreateConfigItemResponse, PublicConfigControllerCreateConfigItemError, AssetClassPropertyControllerRemoveData, AssetClassPropertyControllerRemoveResponse, AssetClassPropertyControllerRemoveError, AssetClassPropertyControllerUpdateData, AssetClassPropertyControllerUpdateResponse, AssetClassPropertyControllerUpdateError, DocumentUploadControllerUploadUrlData, DocumentUploadControllerUploadUrlResponse, DocumentUploadControllerUploadUrlError, AssetDocumentControllerListData, AssetDocumentControllerListResponse, AssetDocumentControllerListError, AssetDocumentControllerRemoveData, AssetDocumentControllerRemoveResponse, AssetDocumentControllerRemoveError, AssetDocumentControllerGetData, AssetDocumentControllerGetResponse, AssetDocumentControllerGetError, AssetDocumentControllerUpdateData, AssetDocumentControllerUpdateResponse, AssetDocumentControllerUpdateError, AssetDocumentControllerCreateData, AssetDocumentControllerCreateResponse, AssetDocumentControllerCreateError, AssetClassDocumentControllerListData, AssetClassDocumentControllerListResponse, AssetClassDocumentControllerListError, AssetClassDocumentControllerRemoveData, AssetClassDocumentControllerRemoveResponse, AssetClassDocumentControllerRemoveError, AssetClassDocumentControllerGetData, AssetClassDocumentControllerGetResponse, AssetClassDocumentControllerGetError, AssetClassDocumentControllerUpdateData, AssetClassDocumentControllerUpdateResponse, AssetClassDocumentControllerUpdateError, AssetClassDocumentControllerCreateData, AssetClassDocumentControllerCreateResponse, AssetClassDocumentControllerCreateError, UserDocumentControllerListData, UserDocumentControllerListResponse, UserDocumentControllerListError, UserDocumentControllerRemoveData, UserDocumentControllerRemoveResponse, UserDocumentControllerRemoveError, UserDocumentControllerGetData, UserDocumentControllerGetResponse, UserDocumentControllerGetError, UserDocumentControllerUpdateData, UserDocumentControllerUpdateResponse, UserDocumentControllerUpdateError, UserDocumentControllerCreateData, UserDocumentControllerCreateResponse, UserDocumentControllerCreateError, SiteDocumentControllerListData, SiteDocumentControllerListResponse, SiteDocumentControllerListError, SiteDocumentControllerRemoveData, SiteDocumentControllerRemoveResponse, SiteDocumentControllerRemoveError, SiteDocumentControllerGetData, SiteDocumentControllerGetResponse, SiteDocumentControllerGetError, SiteDocumentControllerUpdateData, SiteDocumentControllerUpdateResponse, SiteDocumentControllerUpdateError, SiteDocumentControllerCreateData, SiteDocumentControllerCreateResponse, SiteDocumentControllerCreateError, CustomerDocumentControllerListData, CustomerDocumentControllerListResponse, CustomerDocumentControllerListError, CustomerDocumentControllerRemoveData, CustomerDocumentControllerRemoveResponse, CustomerDocumentControllerRemoveError, CustomerDocumentControllerGetData, CustomerDocumentControllerGetResponse, CustomerDocumentControllerGetError, CustomerDocumentControllerUpdateData, CustomerDocumentControllerUpdateResponse, CustomerDocumentControllerUpdateError, CustomerDocumentControllerCreateData, CustomerDocumentControllerCreateResponse, CustomerDocumentControllerCreateError, ProjectDocumentControllerListData, ProjectDocumentControllerListResponse, ProjectDocumentControllerListError, ProjectDocumentControllerRemoveData, ProjectDocumentControllerRemoveResponse, ProjectDocumentControllerRemoveError, ProjectDocumentControllerGetData, ProjectDocumentControllerGetResponse, ProjectDocumentControllerGetError, ProjectDocumentControllerUpdateData, ProjectDocumentControllerUpdateResponse, ProjectDocumentControllerUpdateError, ProjectDocumentControllerCreateData, ProjectDocumentControllerCreateResponse, ProjectDocumentControllerCreateError, JobDocumentControllerListData, JobDocumentControllerListResponse, JobDocumentControllerListError, JobDocumentControllerRemoveData, JobDocumentControllerRemoveResponse, JobDocumentControllerRemoveError, JobDocumentControllerGetData, JobDocumentControllerGetResponse, JobDocumentControllerGetError, JobDocumentControllerUpdateData, JobDocumentControllerUpdateResponse, JobDocumentControllerUpdateError, JobDocumentControllerCreateData, JobDocumentControllerCreateResponse, JobDocumentControllerCreateError, CompanyDocumentControllerListData, CompanyDocumentControllerListResponse, CompanyDocumentControllerListError, CompanyDocumentControllerRemoveData, CompanyDocumentControllerRemoveResponse, CompanyDocumentControllerRemoveError, CompanyDocumentControllerGetData, CompanyDocumentControllerGetResponse, CompanyDocumentControllerGetError, CompanyDocumentControllerUpdateData, CompanyDocumentControllerUpdateResponse, CompanyDocumentControllerUpdateError, CompanyDocumentControllerCreateData, CompanyDocumentControllerCreateResponse, CompanyDocumentControllerCreateError, ProjectControllerListData, ProjectControllerListResponse, ProjectControllerListError, ProjectControllerDeleteData, ProjectControllerDeleteResponse, ProjectControllerDeleteError, ProjectControllerGetData, ProjectControllerGetResponse, ProjectControllerGetError, ProjectControllerUpdateData, ProjectControllerUpdateResponse, ProjectControllerUpdateError, ProjectControllerListAssetsData, ProjectControllerListAssetsResponse, ProjectControllerListAssetsError, ProjectControllerListUsersData, ProjectControllerListUsersResponse, ProjectControllerListUsersError, ProjectControllerCreateData, ProjectControllerCreateResponse, ProjectControllerCreateError, CustomerControllerListData, CustomerControllerListResponse, CustomerControllerListError, CustomerControllerDeleteData, CustomerControllerDeleteResponse, CustomerControllerDeleteError, CustomerControllerGetData, CustomerControllerGetResponse, CustomerControllerGetError, CustomerControllerUpdateData, CustomerControllerUpdateResponse, CustomerControllerUpdateError, CustomerControllerCreateData, CustomerControllerCreateResponse, CustomerControllerCreateError, ZoneControllerListData, ZoneControllerListResponse, ZoneControllerListError, ZoneControllerDeleteData, ZoneControllerDeleteResponse, ZoneControllerDeleteError, ZoneControllerGetData, ZoneControllerGetResponse, ZoneControllerGetError, ZoneControllerUpdateData, ZoneControllerUpdateResponse, ZoneControllerUpdateError, ZoneControllerCreateData, ZoneControllerCreateResponse, ZoneControllerCreateError, GroupControllerListData, GroupControllerListResponse, GroupControllerListError, GroupControllerDeleteData, GroupControllerDeleteResponse, GroupControllerDeleteError, GroupControllerGetData, GroupControllerGetResponse, GroupControllerGetError, GroupControllerUpdateData, GroupControllerUpdateResponse, GroupControllerUpdateError, GroupControllerCreateData, GroupControllerCreateResponse, GroupControllerCreateError, DevicePublicControllerListData, DevicePublicControllerListResponse, DevicePublicControllerListError, DevicePublicControllerGetData, DevicePublicControllerGetResponse, DevicePublicControllerGetError, TimesheetPublicControllerListData, TimesheetPublicControllerListResponse, TimesheetPublicControllerListError, TimesheetPublicControllerGetData, TimesheetPublicControllerGetResponse, TimesheetPublicControllerGetError, SiteControllerListSitesData, SiteControllerListSitesResponse, SiteControllerListSitesError, SiteControllerCreateSiteData, SiteControllerCreateSiteResponse, SiteControllerCreateSiteError, SiteControllerDeleteSiteData, SiteControllerDeleteSiteResponse, SiteControllerDeleteSiteError, SiteControllerUpdateSiteData, SiteControllerUpdateSiteResponse, SiteControllerUpdateSiteError } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\n/**\n * Create a new asset (Public API)\n * Creates a new asset entry in the database via public API. Requires Bearer token authentication. Validates all entity references by their public_id and ensures they belong to the authenticated company. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetControllerCreateAssetPublic = <ThrowOnError extends boolean = false>(options: Options<AssetControllerCreateAssetPublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetControllerCreateAssetPublicResponse, AssetControllerCreateAssetPublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/asset',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List assets with filters\n * Returns a paginated list of assets. Supports filtering by asset_class_name, created_by (user public_id), asset_number, and site_name. Also supports sorting and pagination. Requires Bearer token authentication.\n */\nexport const assetControllerListAssets = <ThrowOnError extends boolean = false>(options?: Options<AssetControllerListAssetsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetControllerListAssetsResponse, AssetControllerListAssetsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset/list',\n ...options\n });\n};\n\n/**\n * Get asset by public ID\n * Retrieves an asset by its public_id. Returns complete asset information. Requires Bearer token authentication.\n */\nexport const assetControllerGetAsset = <ThrowOnError extends boolean = false>(options: Options<AssetControllerGetAssetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<AssetControllerGetAssetResponse, AssetControllerGetAssetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset/{id}',\n ...options\n });\n};\n\n/**\n * Update asset by public ID\n * Partially updates an asset by its public_id. All fields are optional. Requires Bearer token authentication with asset:update permission. Validates asset_class and site_id references by public_id and ensures they belong to the same company as the asset. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetControllerUpdateAsset = <ThrowOnError extends boolean = false>(options: Options<AssetControllerUpdateAssetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetControllerUpdateAssetResponse, AssetControllerUpdateAssetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List users\n * Returns a paginated list of users for the authenticated company. Supports filtering by various fields and sorting. Requires Bearer token authentication with user:list permission.\n */\nexport const userControllerListUsers = <ThrowOnError extends boolean = false>(options?: Options<UserControllerListUsersData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<UserControllerListUsersResponse, UserControllerListUsersError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user/list',\n ...options\n });\n};\n\n/**\n * Get user by public ID\n * Returns detailed information about a specific user including their properties. Requires Bearer token authentication with user:read permission.\n */\nexport const userControllerGetUser = <ThrowOnError extends boolean = false>(options: Options<UserControllerGetUserData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<UserControllerGetUserResponse, UserControllerGetUserError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user/{id}',\n ...options\n });\n};\n\n/**\n * Update user information\n * Updates user fields including first name, last name, email, contact number, and profile photo. Photo is uploaded to S3 at :company_id/user-profile-photos/:filename. Requires Bearer token authentication with user:update permission for public API. Supports `Idempotency-Key` for safe retries.\n */\nexport const userControllerUpdateUser = <ThrowOnError extends boolean = false>(options: Options<UserControllerUpdateUserData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UserControllerUpdateUserResponse, UserControllerUpdateUserError, ThrowOnError>({\n ...formDataBodySerializer,\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user/{id}',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a new user\n * Creates a new user entry in the database along with associated relationships (user_site, user_company, user_role). Validates all entity references by their public_id. Supports optional profile photo upload. Duplicate detection: returns 409 if phone number already exists in the company (hard block) or if same name exists at the site (soft block, override with force=true). Requires Bearer token authentication with user:create permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const userControllerCreateUser = <ThrowOnError extends boolean = false>(options: Options<UserControllerCreateUserData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UserControllerCreateUserResponse, UserControllerCreateUserError, ThrowOnError>({\n ...formDataBodySerializer,\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n};\n\n/**\n * List inspections\n * Returns a paginated list of inspections for the authenticated company. Supports filtering by various fields and sorting. Requires Bearer token authentication with inspection:read permission.\n */\nexport const inspectionControllerListInspections = <ThrowOnError extends boolean = false>(options?: Options<InspectionControllerListInspectionsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<InspectionControllerListInspectionsResponse, InspectionControllerListInspectionsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/inspection/list',\n ...options\n });\n};\n\n/**\n * Get inspection detail with responses\n * Returns a single inspection for the authenticated company, including its responses, response options, response media (exposed as signed CloudFront URLs in `media_url`), response extra info, history, and embedded custom properties (`inspection_properties[]`). Read-only — inspections are created only by the Wakata app. Requires Bearer token authentication with inspection:read permission.\n */\nexport const inspectionControllerGetPublicInspection = <ThrowOnError extends boolean = false>(options: Options<InspectionControllerGetPublicInspectionData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<InspectionControllerGetPublicInspectionResponse, InspectionControllerGetPublicInspectionError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/inspection/{public_id}',\n ...options\n });\n};\n\n/**\n * List issues\n * Returns a paginated list of issues for the authenticated company. Supports filtering by various fields and sorting. Requires Bearer token authentication with issue:read permission.\n */\nexport const issueControllerListIssues = <ThrowOnError extends boolean = false>(options?: Options<IssueControllerListIssuesData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<IssueControllerListIssuesResponse, IssueControllerListIssuesError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/list',\n ...options\n });\n};\n\n/**\n * Get issue by public ID\n * Returns detailed information about a specific issue. Requires Bearer token authentication with issue:read permission.\n */\nexport const issueControllerGetIssuePublic = <ThrowOnError extends boolean = false>(options: Options<IssueControllerGetIssuePublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<IssueControllerGetIssuePublicResponse, IssueControllerGetIssuePublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/{public_id}',\n ...options\n });\n};\n\n/**\n * Update an issue\n * Updates an issue by its public_id. Requires Bearer token authentication with issue:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const issueControllerUpdateIssuePublic = <ThrowOnError extends boolean = false>(options: Options<IssueControllerUpdateIssuePublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<IssueControllerUpdateIssuePublicResponse, IssueControllerUpdateIssuePublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/{public_id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get issue history by public ID\n * Returns all history entries for an issue identified by its public_id. History entries are ordered by changed_at timestamp in descending order (most recent first). Requires Bearer token authentication with issue:read permission.\n */\nexport const issueControllerGetIssueHistoryPublic = <ThrowOnError extends boolean = false>(options: Options<IssueControllerGetIssueHistoryPublicData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<IssueControllerGetIssueHistoryPublicResponse, IssueControllerGetIssueHistoryPublicError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/issue/{public_id}/history',\n ...options\n });\n};\n\n/**\n * Delete user property by ID\n * Performs a soft delete on a user property by its ID. Sets deletedAt and deletedById fields instead of permanently removing the record. Also creates a history record of the deletion. Requires Bearer token authentication with user:update permission.\n */\nexport const userPropertyControllerDeleteUserProperty = <ThrowOnError extends boolean = false>(options: Options<UserPropertyControllerDeleteUserPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<UserPropertyControllerDeleteUserPropertyResponse, UserPropertyControllerDeleteUserPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-property/{id}',\n ...options\n });\n};\n\n/**\n * Update user property value by ID\n * Partially updates the value of a user property by its ID. The value is stored in the appropriate column (text_value, numeric_value, or date_value) based on the property type defined in config_items. Also creates a history record of the change. Requires Bearer token authentication with user:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const userPropertyControllerUpdateUserProperty = <ThrowOnError extends boolean = false>(options: Options<UserPropertyControllerUpdateUserPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UserPropertyControllerUpdateUserPropertyResponse, UserPropertyControllerUpdateUserPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-property/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete asset property by ID\n * Performs a soft delete on an asset property by its ID. Sets deletedAt and deletedById fields instead of permanently removing the record. Also creates a history record of the deletion. Requires Bearer token authentication with asset:update permission.\n */\nexport const assetPropertyControllerDeleteAssetProperty = <ThrowOnError extends boolean = false>(options: Options<AssetPropertyControllerDeleteAssetPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetPropertyControllerDeleteAssetPropertyResponse, AssetPropertyControllerDeleteAssetPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-property/{id}',\n ...options\n });\n};\n\n/**\n * Update asset property value by ID\n * Partially updates the value of an asset property by its ID. The value is stored in the appropriate column (text_value, numeric_value, or date_value) based on the property type defined in config_items. Also creates a history record of the change. Requires Bearer token authentication with asset:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetPropertyControllerUpdateAssetProperty = <ThrowOnError extends boolean = false>(options: Options<AssetPropertyControllerUpdateAssetPropertyData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetPropertyControllerUpdateAssetPropertyResponse, AssetPropertyControllerUpdateAssetPropertyError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-property/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get paginated list of asset classes\n * Returns a paginated list of asset classes with optional filters for asset class name (make), sub-class name (model), category, and date range. Requires Bearer token authentication with asset-class:read permission.\n */\nexport const assetClassControllerGetAssetClassList = <ThrowOnError extends boolean = false>(options?: Options<AssetClassControllerGetAssetClassListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetClassControllerGetAssetClassListResponse, AssetClassControllerGetAssetClassListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class/list',\n ...options\n });\n};\n\n/**\n * Create a new asset class\n * Creates a new asset class record. Requires Bearer token authentication with asset-class:create permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetClassControllerCreateAssetClass = <ThrowOnError extends boolean = false>(options: Options<AssetClassControllerCreateAssetClassData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetClassControllerCreateAssetClassResponse, AssetClassControllerCreateAssetClassError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Update an asset class\n * Partially updates an asset class by its public ID (UUID). Only provided fields will be updated. Requires Bearer token authentication with asset-class:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const assetClassControllerUpdateAssetClass = <ThrowOnError extends boolean = false>(options: Options<AssetClassControllerUpdateAssetClassData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetClassControllerUpdateAssetClassResponse, AssetClassControllerUpdateAssetClassError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List checklists (inspection templates)\n * Returns a paginated list of the latest published version of each checklist for the authenticated company. Read-only — checklists are created in-system only. Supports incremental sync via `checklist_date_updated_from`/`_to` (the `updated_at` watermark). Requires Bearer token authentication with checklist:read permission.\n */\nexport const checklistControllerListChecklists = <ThrowOnError extends boolean = false>(options?: Options<ChecklistControllerListChecklistsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<ChecklistControllerListChecklistsResponse, ChecklistControllerListChecklistsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/checklist/list',\n ...options\n });\n};\n\n/**\n * Get checklist detail with items\n * Returns a single published checklist for the authenticated company, including its items (the question/folder tree, with left/right nested-set bounds). Read-only — checklists are created in-system only. Checklists have no public_id; use the numeric `id` from the list. Requires Bearer token authentication with checklist:read permission.\n */\nexport const checklistControllerGetChecklist = <ThrowOnError extends boolean = false>(options: Options<ChecklistControllerGetChecklistData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ChecklistControllerGetChecklistResponse, ChecklistControllerGetChecklistError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/checklist/{id}',\n ...options\n });\n};\n\n/**\n * List config tables (lookup groupings)\n * Read-only list of the company’s config tables (e.g. \"Asset Category\"). Use the returned id/class to list or create items in a table. Requires company:settings:tables.\n */\nexport const publicConfigControllerListConfigTables = <ThrowOnError extends boolean = false>(options?: Options<PublicConfigControllerListConfigTablesData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<PublicConfigControllerListConfigTablesResponse, PublicConfigControllerListConfigTablesError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-table/list',\n ...options\n });\n};\n\n/**\n * List config items (lookup values)\n * Lists the company’s config items (e.g. asset categories). Filter by config_table_id or config_table_class to scope to one table. Supports incremental sync via config_item_date_updated_from/_to. Requires company:settings:tables.\n */\nexport const publicConfigControllerListConfigItems = <ThrowOnError extends boolean = false>(options?: Options<PublicConfigControllerListConfigItemsData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<PublicConfigControllerListConfigItemsResponse, PublicConfigControllerListConfigItemsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/list',\n ...options\n });\n};\n\n/**\n * Delete a config item\n * Soft-deletes a config item. Company-scoped. Requires company:settings:tables.\n */\nexport const publicConfigControllerDeleteConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerDeleteConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<PublicConfigControllerDeleteConfigItemResponse, PublicConfigControllerDeleteConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/{id}',\n ...options\n });\n};\n\n/**\n * Get a config item\n * Returns a single config item for the authenticated company. Config items have no public_id; use the numeric id. Requires company:settings:tables.\n */\nexport const publicConfigControllerGetConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerGetConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<PublicConfigControllerGetConfigItemResponse, PublicConfigControllerGetConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/{id}',\n ...options\n });\n};\n\n/**\n * Update a config item\n * Updates a config item’s name/description. Company-scoped. Requires company:settings:tables. Supports `Idempotency-Key`.\n */\nexport const publicConfigControllerUpdateConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerUpdateConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<PublicConfigControllerUpdateConfigItemResponse, PublicConfigControllerUpdateConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a config item\n * Creates a config item (e.g. a new asset category) under the given config_table_id, which must belong to the authenticated company. Requires company:settings:tables. Supports `Idempotency-Key`.\n */\nexport const publicConfigControllerCreateConfigItem = <ThrowOnError extends boolean = false>(options: Options<PublicConfigControllerCreateConfigItemData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<PublicConfigControllerCreateConfigItemResponse, PublicConfigControllerCreateConfigItemError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/public/config-item',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete an asset class property by ID\n * Soft-deletes an asset class custom property value (writes a history record). Company-scoped. Requires asset-class:update.\n */\nexport const assetClassPropertyControllerRemove = <ThrowOnError extends boolean = false>(options: Options<AssetClassPropertyControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetClassPropertyControllerRemoveResponse, AssetClassPropertyControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-property/{id}',\n ...options\n });\n};\n\n/**\n * Update an asset class property value by ID\n * Updates the value of an asset class custom property. The value is stored in text_value, numeric_value, or date_value based on the property type in config_items, and a history record is written. Company-scoped. Requires asset-class:update. Supports `Idempotency-Key`.\n */\nexport const assetClassPropertyControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<AssetClassPropertyControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetClassPropertyControllerUpdateResponse, AssetClassPropertyControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-property/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get a presigned URL to upload a document file\n * Returns a short-lived presigned S3 PUT URL and the resulting key. Upload the file with PUT, then create/update a document referencing the key as `attachment_file`. Any valid API key may request one (the key is scoped to your company folder; creating the document still needs the per-type create permission).\n */\nexport const documentUploadControllerUploadUrl = <ThrowOnError extends boolean = false>(options: Options<DocumentUploadControllerUploadUrlData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<DocumentUploadControllerUploadUrlResponse, DocumentUploadControllerUploadUrlError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/document/upload-url',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List asset documents\n */\nexport const assetDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<AssetDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetDocumentControllerListResponse, AssetDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/list',\n ...options\n });\n};\n\n/**\n * Delete an asset document\n */\nexport const assetDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetDocumentControllerRemoveResponse, AssetDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/{id}',\n ...options\n });\n};\n\n/**\n * Get an asset document\n */\nexport const assetDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<AssetDocumentControllerGetResponse, AssetDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/{id}',\n ...options\n });\n};\n\n/**\n * Update an asset document\n */\nexport const assetDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetDocumentControllerUpdateResponse, AssetDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create an asset document\n */\nexport const assetDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<AssetDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetDocumentControllerCreateResponse, AssetDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List asset class documents\n */\nexport const assetClassDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<AssetClassDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<AssetClassDocumentControllerListResponse, AssetClassDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/list',\n ...options\n });\n};\n\n/**\n * Delete an asset class document\n */\nexport const assetClassDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<AssetClassDocumentControllerRemoveResponse, AssetClassDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/{id}',\n ...options\n });\n};\n\n/**\n * Get an asset class document\n */\nexport const assetClassDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<AssetClassDocumentControllerGetResponse, AssetClassDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/{id}',\n ...options\n });\n};\n\n/**\n * Update an asset class document\n */\nexport const assetClassDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<AssetClassDocumentControllerUpdateResponse, AssetClassDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create an asset class document\n */\nexport const assetClassDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<AssetClassDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<AssetClassDocumentControllerCreateResponse, AssetClassDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/asset-class-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List user documents\n */\nexport const userDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<UserDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<UserDocumentControllerListResponse, UserDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/list',\n ...options\n });\n};\n\n/**\n * Delete a user document\n */\nexport const userDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<UserDocumentControllerRemoveResponse, UserDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a user document\n */\nexport const userDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<UserDocumentControllerGetResponse, UserDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a user document\n */\nexport const userDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<UserDocumentControllerUpdateResponse, UserDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a user document\n */\nexport const userDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<UserDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<UserDocumentControllerCreateResponse, UserDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/user-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List site documents\n */\nexport const siteDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<SiteDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<SiteDocumentControllerListResponse, SiteDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/list',\n ...options\n });\n};\n\n/**\n * Delete a site document\n */\nexport const siteDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<SiteDocumentControllerRemoveResponse, SiteDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a site document\n */\nexport const siteDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<SiteDocumentControllerGetResponse, SiteDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a site document\n */\nexport const siteDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<SiteDocumentControllerUpdateResponse, SiteDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a site document\n */\nexport const siteDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<SiteDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<SiteDocumentControllerCreateResponse, SiteDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List customer documents\n */\nexport const customerDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<CustomerDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<CustomerDocumentControllerListResponse, CustomerDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/list',\n ...options\n });\n};\n\n/**\n * Delete a customer document\n */\nexport const customerDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<CustomerDocumentControllerRemoveResponse, CustomerDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a customer document\n */\nexport const customerDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<CustomerDocumentControllerGetResponse, CustomerDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a customer document\n */\nexport const customerDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CustomerDocumentControllerUpdateResponse, CustomerDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a customer document\n */\nexport const customerDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<CustomerDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CustomerDocumentControllerCreateResponse, CustomerDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List project documents\n */\nexport const projectDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<ProjectDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<ProjectDocumentControllerListResponse, ProjectDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/list',\n ...options\n });\n};\n\n/**\n * Delete a project document\n */\nexport const projectDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<ProjectDocumentControllerRemoveResponse, ProjectDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a project document\n */\nexport const projectDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ProjectDocumentControllerGetResponse, ProjectDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a project document\n */\nexport const projectDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<ProjectDocumentControllerUpdateResponse, ProjectDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a project document\n */\nexport const projectDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<ProjectDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<ProjectDocumentControllerCreateResponse, ProjectDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List job documents\n */\nexport const jobDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<JobDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<JobDocumentControllerListResponse, JobDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/list',\n ...options\n });\n};\n\n/**\n * Delete a job document\n */\nexport const jobDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<JobDocumentControllerRemoveResponse, JobDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a job document\n */\nexport const jobDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<JobDocumentControllerGetResponse, JobDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a job document\n */\nexport const jobDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<JobDocumentControllerUpdateResponse, JobDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a job document\n */\nexport const jobDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<JobDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<JobDocumentControllerCreateResponse, JobDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/job-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List company documents\n */\nexport const companyDocumentControllerList = <ThrowOnError extends boolean = false>(options?: Options<CompanyDocumentControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<CompanyDocumentControllerListResponse, CompanyDocumentControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/list',\n ...options\n });\n};\n\n/**\n * Delete a company document\n */\nexport const companyDocumentControllerRemove = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerRemoveData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<CompanyDocumentControllerRemoveResponse, CompanyDocumentControllerRemoveError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/{id}',\n ...options\n });\n};\n\n/**\n * Get a company document\n */\nexport const companyDocumentControllerGet = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<CompanyDocumentControllerGetResponse, CompanyDocumentControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/{id}',\n ...options\n });\n};\n\n/**\n * Update a company document\n */\nexport const companyDocumentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CompanyDocumentControllerUpdateResponse, CompanyDocumentControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a company document\n * Company documents are scoped to your company; parent_id is not required.\n */\nexport const companyDocumentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<CompanyDocumentControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CompanyDocumentControllerCreateResponse, CompanyDocumentControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/company-document',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List projects\n * Returns a paginated list of projects for the authenticated company. Filter by name, project_code, status, site (publicId), and an incremental `updated_at` watermark. Each row includes approved asset_count / user_count. Requires project:read.\n */\nexport const projectControllerList = <ThrowOnError extends boolean = false>(options?: Options<ProjectControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<ProjectControllerListResponse, ProjectControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project/list',\n ...options\n });\n};\n\n/**\n * Delete a project\n * Soft-deletes a project by its public_id (UUID). Requires project:delete.\n */\nexport const projectControllerDelete = <ThrowOnError extends boolean = false>(options: Options<ProjectControllerDeleteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<ProjectControllerDeleteResponse, ProjectControllerDeleteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project/{id}',\n ...options\n });\n};\n\n/**\n * Get a project by public ID\n * Returns one project (with embedded project_properties[] and approved asset/user counts) by its public_id (UUID). Requires project:read.\n */\nexport const projectControllerGet = <ThrowOnError extends boolean = false>(options: Options<ProjectControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ProjectControllerGetResponse, ProjectControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project/{id}',\n ...options\n });\n};\n\n/**\n * Update a project\n * Updates a project by its public_id (UUID). Only provided fields are changed. Requires project:update. Supports `Idempotency-Key`.\n */\nexport const projectControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<ProjectControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<ProjectControllerUpdateResponse, ProjectControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List assets assigned to a project\n * Returns the asset assignments for a project (read-only). Each row is an approval record carrying approval_status, approval_number, approval_date and expiry_date. Filter by approval_status (e.g. approved). The assign/approve workflow happens in the app. Requires project_asset_approval:read.\n */\nexport const projectControllerListAssets = <ThrowOnError extends boolean = false>(options: Options<ProjectControllerListAssetsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ProjectControllerListAssetsResponse, ProjectControllerListAssetsError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project/{id}/assets',\n ...options\n });\n};\n\n/**\n * List users assigned to a project\n * Returns the user assignments for a project (read-only). Each row is an approval record carrying approval_status, approval_number, approval_date and expiry_date. Filter by approval_status (e.g. approved). The assign/approve workflow happens in the app. Requires project_user_approval:read.\n */\nexport const projectControllerListUsers = <ThrowOnError extends boolean = false>(options: Options<ProjectControllerListUsersData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ProjectControllerListUsersResponse, ProjectControllerListUsersError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project/{id}/users',\n ...options\n });\n};\n\n/**\n * Create a project\n * Creates a project under a site (by publicId) for the authenticated company. project_code is unique per company — a duplicate returns 409. Requires project:create. Supports `Idempotency-Key`.\n */\nexport const projectControllerCreate = <ThrowOnError extends boolean = false>(options: Options<ProjectControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<ProjectControllerCreateResponse, ProjectControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/project',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List customers\n * Returns a paginated list of customers for the authenticated company. Supports name/status filters and an incremental `updated_at` watermark. Requires customer:read.\n */\nexport const customerControllerList = <ThrowOnError extends boolean = false>(options?: Options<CustomerControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<CustomerControllerListResponse, CustomerControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer/list',\n ...options\n });\n};\n\n/**\n * Delete a customer\n * Soft-deletes a customer by its public_id (UUID). Requires customer:delete.\n */\nexport const customerControllerDelete = <ThrowOnError extends boolean = false>(options: Options<CustomerControllerDeleteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<CustomerControllerDeleteResponse, CustomerControllerDeleteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer/{id}',\n ...options\n });\n};\n\n/**\n * Get a customer by public ID\n * Returns one customer (with embedded customer_properties[]) by its public_id (UUID). Requires customer:read.\n */\nexport const customerControllerGet = <ThrowOnError extends boolean = false>(options: Options<CustomerControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<CustomerControllerGetResponse, CustomerControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer/{id}',\n ...options\n });\n};\n\n/**\n * Update a customer\n * Updates a customer by its public_id (UUID). Only provided fields are changed. Requires customer:update. Supports `Idempotency-Key`.\n */\nexport const customerControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<CustomerControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<CustomerControllerUpdateResponse, CustomerControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a customer\n * Creates a customer for the authenticated company. Requires customer:create. Customer names are unique per company (case-insensitive) — a duplicate returns 409. Supports `Idempotency-Key`.\n */\nexport const customerControllerCreate = <ThrowOnError extends boolean = false>(options: Options<CustomerControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<CustomerControllerCreateResponse, CustomerControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/customer',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List zones\n * Returns a paginated list of zones for the authenticated company. Filter by site (publicId), name, and an incremental `updated_at` watermark. Requires zone:read.\n */\nexport const zoneControllerList = <ThrowOnError extends boolean = false>(options?: Options<ZoneControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<ZoneControllerListResponse, ZoneControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/zone/list',\n ...options\n });\n};\n\n/**\n * Delete a zone\n * Soft-deletes a zone by its public_id (UUID). Requires zone:delete.\n */\nexport const zoneControllerDelete = <ThrowOnError extends boolean = false>(options: Options<ZoneControllerDeleteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<ZoneControllerDeleteResponse, ZoneControllerDeleteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/zone/{id}',\n ...options\n });\n};\n\n/**\n * Get a zone by public ID\n * Returns one zone by its public_id (UUID). Requires zone:read.\n */\nexport const zoneControllerGet = <ThrowOnError extends boolean = false>(options: Options<ZoneControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<ZoneControllerGetResponse, ZoneControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/zone/{id}',\n ...options\n });\n};\n\n/**\n * Update a zone\n * Updates a zone by its public_id (UUID). Only provided fields are changed; set parent_zone_id to null to make a zone top-level. Requires zone:update. Supports `Idempotency-Key`.\n */\nexport const zoneControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<ZoneControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<ZoneControllerUpdateResponse, ZoneControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/zone/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a zone\n * Creates a zone under a site for the authenticated company. Reference the site (required) and optional parent zone by their publicId. Zone names are unique per site — a duplicate returns 409. Requires zone:create. Supports `Idempotency-Key`.\n */\nexport const zoneControllerCreate = <ThrowOnError extends boolean = false>(options: Options<ZoneControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<ZoneControllerCreateResponse, ZoneControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/zone',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List groups\n * Returns a paginated list of groups (containers) for the authenticated company. Filter by site (publicId), name, and an incremental `updated_at` watermark. Membership is not included — see the group membership endpoints (coming soon). Requires group:read.\n */\nexport const groupControllerList = <ThrowOnError extends boolean = false>(options?: Options<GroupControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<GroupControllerListResponse, GroupControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/group/list',\n ...options\n });\n};\n\n/**\n * Delete a group\n * Soft-deletes a group container by its public_id (UUID). Requires group:delete.\n */\nexport const groupControllerDelete = <ThrowOnError extends boolean = false>(options: Options<GroupControllerDeleteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<GroupControllerDeleteResponse, GroupControllerDeleteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/group/{id}',\n ...options\n });\n};\n\n/**\n * Get a group by public ID\n * Returns one group container by its public_id (UUID). Membership is not included. Requires group:read.\n */\nexport const groupControllerGet = <ThrowOnError extends boolean = false>(options: Options<GroupControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GroupControllerGetResponse, GroupControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/group/{id}',\n ...options\n });\n};\n\n/**\n * Update a group\n * Updates a group container by its public_id (UUID). Only provided fields are changed; set site_id to null to make it company-wide. Requires group:update. Supports `Idempotency-Key`.\n */\nexport const groupControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<GroupControllerUpdateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<GroupControllerUpdateResponse, GroupControllerUpdateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/group/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a group\n * Creates a group container for the authenticated company. Optionally scope it to a site (by publicId). Requires group:create. Supports `Idempotency-Key`.\n */\nexport const groupControllerCreate = <ThrowOnError extends boolean = false>(options: Options<GroupControllerCreateData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<GroupControllerCreateResponse, GroupControllerCreateError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/group',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * List devices\n * Returns a paginated inventory of devices for the authenticated company (name, status, last sync, app/OS version, battery, location). Devices are created only via the in-app pairing flow — this endpoint is read-only. Requires device:read.\n */\nexport const devicePublicControllerList = <ThrowOnError extends boolean = false>(options?: Options<DevicePublicControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<DevicePublicControllerListResponse, DevicePublicControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/device/list',\n ...options\n });\n};\n\n/**\n * Get a device by public ID\n * Returns one device by its public_id (UUID). Read-only. Requires device:read.\n */\nexport const devicePublicControllerGet = <ThrowOnError extends boolean = false>(options: Options<DevicePublicControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<DevicePublicControllerGetResponse, DevicePublicControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/device/{id}',\n ...options\n });\n};\n\n/**\n * List timesheets\n * Returns a paginated list of timesheet summaries for the authenticated company. Filter by status, user (publicId), period range, and an incremental `updated_at` watermark. Read-only — timesheets are created in the Wakata app. Requires timesheet:read.\n */\nexport const timesheetPublicControllerList = <ThrowOnError extends boolean = false>(options?: Options<TimesheetPublicControllerListData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<TimesheetPublicControllerListResponse, TimesheetPublicControllerListError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/timesheet/list',\n ...options\n });\n};\n\n/**\n * Get a timesheet by public ID\n * Returns one timesheet (header + line-level rows: date, activity, duration, site/asset/project/customer allocation) by its public_id (UUID). Read-only. Requires timesheet:read.\n */\nexport const timesheetPublicControllerGet = <ThrowOnError extends boolean = false>(options: Options<TimesheetPublicControllerGetData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<TimesheetPublicControllerGetResponse, TimesheetPublicControllerGetError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/timesheet/{id}',\n ...options\n });\n};\n\n/**\n * List sites\n * Returns a paginated list of sites for the authenticated company. Supports filtering by name, category, and date modified. Requires Bearer token authentication with site:read permission.\n */\nexport const siteControllerListSites = <ThrowOnError extends boolean = false>(options?: Options<SiteControllerListSitesData, ThrowOnError>) => {\n return (options?.client ?? _heyApiClient).get<SiteControllerListSitesResponse, SiteControllerListSitesError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site/list',\n ...options\n });\n};\n\n/**\n * Create a new site\n * Creates a new site for the authenticated company. Requires Bearer token authentication with site:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const siteControllerCreateSite = <ThrowOnError extends boolean = false>(options: Options<SiteControllerCreateSiteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).post<SiteControllerCreateSiteResponse, SiteControllerCreateSiteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete site by public ID\n * Performs a soft delete on a site by its public_id (UUID). Sets deletedAt and deletedById fields instead of permanently removing the record. Requires Bearer token authentication with site:update permission.\n */\nexport const siteControllerDeleteSite = <ThrowOnError extends boolean = false>(options: Options<SiteControllerDeleteSiteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).delete<SiteControllerDeleteSiteResponse, SiteControllerDeleteSiteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site/{id}',\n ...options\n });\n};\n\n/**\n * Update site by public ID\n * Updates a site by its public_id (UUID). Only provided fields will be updated. Requires Bearer token authentication with site:update permission. Supports `Idempotency-Key` for safe retries.\n */\nexport const siteControllerUpdateSite = <ThrowOnError extends boolean = false>(options: Options<SiteControllerUpdateSiteData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).patch<SiteControllerUpdateSiteResponse, SiteControllerUpdateSiteError, ThrowOnError>({\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/site/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};","/**\n * WakataClient — the hand-written ergonomic wrapper on top of the generated\n * `@hey-api/openapi-ts` output.\n *\n * Responsibilities:\n * - Hold the API key and base URL.\n * - Attach `Authorization`, `User-Agent`, and (on POST/PATCH) `Idempotency-Key`\n * headers via fetch interceptors.\n * - Map non-2xx responses to the typed error hierarchy in `./errors.ts`.\n * - Expose every generated operation under a per-tag namespace\n * (`client.assets.list(...)`, `client.users.list(...)`, etc.).\n *\n * Consumers who need the unwrapped generated operations can import them\n * directly from `@wakata-dev/api-client/generated`.\n */\nimport { createClient, createConfig, type Client } from '@hey-api/client-fetch';\n\nimport {\n mapApiError,\n WakataApiError,\n type WakataErrorEnvelope,\n} from './errors.js';\nimport { generateIdempotencyKey } from './idempotency.js';\n\nimport {\n // asset\n assetControllerCreateAssetPublic,\n assetControllerListAssets,\n assetControllerGetAsset,\n assetControllerUpdateAsset,\n // user\n userControllerListUsers,\n userControllerGetUser,\n userControllerUpdateUser,\n userControllerCreateUser,\n // inspection\n inspectionControllerListInspections,\n inspectionControllerGetPublicInspection,\n // issue\n issueControllerListIssues,\n issueControllerGetIssuePublic,\n issueControllerUpdateIssuePublic,\n issueControllerGetIssueHistoryPublic,\n // user-property\n userPropertyControllerDeleteUserProperty,\n userPropertyControllerUpdateUserProperty,\n // asset-class-property\n assetClassPropertyControllerUpdate,\n assetClassPropertyControllerRemove,\n // documents\n documentUploadControllerUploadUrl,\n assetDocumentControllerList,\n assetDocumentControllerGet,\n assetDocumentControllerCreate,\n assetDocumentControllerUpdate,\n assetDocumentControllerRemove,\n assetClassDocumentControllerList,\n assetClassDocumentControllerGet,\n assetClassDocumentControllerCreate,\n assetClassDocumentControllerUpdate,\n assetClassDocumentControllerRemove,\n userDocumentControllerList,\n userDocumentControllerGet,\n userDocumentControllerCreate,\n userDocumentControllerUpdate,\n userDocumentControllerRemove,\n siteDocumentControllerList,\n siteDocumentControllerGet,\n siteDocumentControllerCreate,\n siteDocumentControllerUpdate,\n siteDocumentControllerRemove,\n customerDocumentControllerList,\n customerDocumentControllerGet,\n customerDocumentControllerCreate,\n customerDocumentControllerUpdate,\n customerDocumentControllerRemove,\n projectDocumentControllerList,\n projectDocumentControllerGet,\n projectDocumentControllerCreate,\n projectDocumentControllerUpdate,\n projectDocumentControllerRemove,\n jobDocumentControllerList,\n jobDocumentControllerGet,\n jobDocumentControllerCreate,\n jobDocumentControllerUpdate,\n jobDocumentControllerRemove,\n companyDocumentControllerList,\n companyDocumentControllerGet,\n companyDocumentControllerCreate,\n companyDocumentControllerUpdate,\n companyDocumentControllerRemove,\n // site\n siteControllerListSites,\n siteControllerCreateSite,\n siteControllerDeleteSite,\n siteControllerUpdateSite,\n // checklist\n checklistControllerListChecklists,\n checklistControllerGetChecklist,\n // config\n publicConfigControllerListConfigTables,\n publicConfigControllerListConfigItems,\n publicConfigControllerGetConfigItem,\n publicConfigControllerCreateConfigItem,\n publicConfigControllerUpdateConfigItem,\n publicConfigControllerDeleteConfigItem,\n // customer\n customerControllerList,\n customerControllerGet,\n customerControllerCreate,\n customerControllerUpdate,\n customerControllerDelete,\n // zone\n zoneControllerList,\n zoneControllerGet,\n zoneControllerCreate,\n zoneControllerUpdate,\n zoneControllerDelete,\n // group\n groupControllerList,\n groupControllerGet,\n groupControllerCreate,\n groupControllerUpdate,\n groupControllerDelete,\n // device (read-only)\n devicePublicControllerList,\n devicePublicControllerGet,\n // timesheet (read-only)\n timesheetPublicControllerList,\n timesheetPublicControllerGet,\n // project\n projectControllerList,\n projectControllerGet,\n projectControllerCreate,\n projectControllerUpdate,\n projectControllerDelete,\n projectControllerListAssets,\n projectControllerListUsers,\n} from './generated/sdk.gen.js';\n\n/** Default base URL — production. Override for dev / sandbox. */\nconst DEFAULT_BASE_URL = 'https://api.wakata.ai/api/v1';\n\n/** Package version baked in at build time. Synced with `package.json`. */\nconst PACKAGE_VERSION = '0.5.0';\n\nexport interface WakataClientOptions {\n /** Wakata API key (`wk_...`). Required. */\n apiKey: string;\n /** Override base URL. Defaults to `https://api.wakata.ai/api/v1`. */\n baseUrl?: string;\n /**\n * Custom `fetch` implementation. Defaults to `globalThis.fetch`. Useful\n * for tests or Node <18 polyfills.\n */\n fetch?: typeof fetch;\n}\n\n/**\n * The wrapper takes Options from the generated `sdk.gen` but reshapes them so\n * the consumer doesn't have to think about the underlying client.\n *\n * We strip the generated `client` and `throwOnError` fields and tell the\n * generated function to throw via our interceptor instead.\n */\ntype WakataMethodOptions<T> = Omit<T, 'client' | 'throwOnError'>;\n\nfunction unwrap<TData>(\n result: { data: TData | undefined; error?: unknown; response: Response },\n): TData {\n // When `throwOnError: false` (our default), the result is a tagged union.\n // Our response interceptor converts non-2xx to a thrown error before this\n // point, so `data` is always defined here.\n if (result.data === undefined) {\n throw new WakataApiError({\n code: 'unknown_error',\n statusCode: result.response.status,\n requestId: result.response.headers.get('X-Request-Id') ?? '',\n message: 'Empty response body where data was expected.',\n });\n }\n return result.data;\n}\n\n/** Resource namespaces — one per OpenAPI tag, mirroring the spec. */\nexport interface AssetsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof assetControllerListAssets>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetControllerListAssets>>['data']\n >;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof assetControllerCreateAssetPublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetControllerCreateAssetPublic>>['data']\n >;\n get: (\n options: WakataMethodOptions<Parameters<typeof assetControllerGetAsset>[0]>,\n ) => Promise<Awaited<ReturnType<typeof assetControllerGetAsset>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof assetControllerUpdateAsset>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetControllerUpdateAsset>>['data']>;\n}\n\nexport interface UsersResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof userControllerListUsers>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof userControllerListUsers>>['data']>;\n get: (\n options: WakataMethodOptions<Parameters<typeof userControllerGetUser>[0]>,\n ) => Promise<Awaited<ReturnType<typeof userControllerGetUser>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof userControllerCreateUser>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof userControllerCreateUser>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof userControllerUpdateUser>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof userControllerUpdateUser>>['data']>;\n}\n\nexport interface SitesResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof siteControllerListSites>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerListSites>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof siteControllerCreateSite>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerCreateSite>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof siteControllerUpdateSite>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerUpdateSite>>['data']>;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof siteControllerDeleteSite>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof siteControllerDeleteSite>>['data']>;\n}\n\nexport interface InspectionsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof inspectionControllerListInspections>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof inspectionControllerListInspections>>['data']\n >;\n getDetail: (\n options: WakataMethodOptions<\n Parameters<typeof inspectionControllerGetPublicInspection>[0]\n >,\n ) => Promise<\n Awaited<\n ReturnType<typeof inspectionControllerGetPublicInspection>\n >['data']\n >;\n}\n\nexport interface ChecklistsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof checklistControllerListChecklists>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof checklistControllerListChecklists>>['data']\n >;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof checklistControllerGetChecklist>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof checklistControllerGetChecklist>>['data']\n >;\n}\n\nexport interface ConfigResource {\n listTables: (\n options?: WakataMethodOptions<\n Parameters<typeof publicConfigControllerListConfigTables>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerListConfigTables>>['data']\n >;\n listItems: (\n options?: WakataMethodOptions<\n Parameters<typeof publicConfigControllerListConfigItems>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerListConfigItems>>['data']\n >;\n getItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerGetConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerGetConfigItem>>['data']\n >;\n createItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerCreateConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerCreateConfigItem>>['data']\n >;\n updateItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerUpdateConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerUpdateConfigItem>>['data']\n >;\n deleteItem: (\n options: WakataMethodOptions<\n Parameters<typeof publicConfigControllerDeleteConfigItem>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof publicConfigControllerDeleteConfigItem>>['data']\n >;\n}\n\nexport interface IssuesResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof issueControllerListIssues>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof issueControllerListIssues>>['data']>;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof issueControllerGetIssuePublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof issueControllerGetIssuePublic>>['data']\n >;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof issueControllerUpdateIssuePublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof issueControllerUpdateIssuePublic>>['data']\n >;\n getHistory: (\n options: WakataMethodOptions<\n Parameters<typeof issueControllerGetIssueHistoryPublic>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof issueControllerGetIssueHistoryPublic>>['data']\n >;\n}\n\nexport interface UserPropertiesResource {\n update: (\n options: WakataMethodOptions<\n Parameters<typeof userPropertyControllerUpdateUserProperty>[0]\n >,\n ) => Promise<\n Awaited<\n ReturnType<typeof userPropertyControllerUpdateUserProperty>\n >['data']\n >;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof userPropertyControllerDeleteUserProperty>[0]\n >,\n ) => Promise<\n Awaited<\n ReturnType<typeof userPropertyControllerDeleteUserProperty>\n >['data']\n >;\n}\n\nexport interface AssetClassPropertiesResource {\n update: (\n options: WakataMethodOptions<\n Parameters<typeof assetClassPropertyControllerUpdate>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetClassPropertyControllerUpdate>>['data']\n >;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof assetClassPropertyControllerRemove>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetClassPropertyControllerRemove>>['data']\n >;\n}\n\nexport interface CustomersResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof customerControllerList>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof customerControllerList>>['data']>;\n get: (\n options: WakataMethodOptions<Parameters<typeof customerControllerGet>[0]>,\n ) => Promise<Awaited<ReturnType<typeof customerControllerGet>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof customerControllerCreate>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof customerControllerCreate>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof customerControllerUpdate>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof customerControllerUpdate>>['data']>;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof customerControllerDelete>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof customerControllerDelete>>['data']>;\n}\n\nexport interface ZonesResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof zoneControllerList>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof zoneControllerList>>['data']>;\n get: (\n options: WakataMethodOptions<Parameters<typeof zoneControllerGet>[0]>,\n ) => Promise<Awaited<ReturnType<typeof zoneControllerGet>>['data']>;\n create: (\n options: WakataMethodOptions<Parameters<typeof zoneControllerCreate>[0]>,\n ) => Promise<Awaited<ReturnType<typeof zoneControllerCreate>>['data']>;\n update: (\n options: WakataMethodOptions<Parameters<typeof zoneControllerUpdate>[0]>,\n ) => Promise<Awaited<ReturnType<typeof zoneControllerUpdate>>['data']>;\n delete: (\n options: WakataMethodOptions<Parameters<typeof zoneControllerDelete>[0]>,\n ) => Promise<Awaited<ReturnType<typeof zoneControllerDelete>>['data']>;\n}\n\nexport interface GroupsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof groupControllerList>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof groupControllerList>>['data']>;\n get: (\n options: WakataMethodOptions<Parameters<typeof groupControllerGet>[0]>,\n ) => Promise<Awaited<ReturnType<typeof groupControllerGet>>['data']>;\n create: (\n options: WakataMethodOptions<Parameters<typeof groupControllerCreate>[0]>,\n ) => Promise<Awaited<ReturnType<typeof groupControllerCreate>>['data']>;\n update: (\n options: WakataMethodOptions<Parameters<typeof groupControllerUpdate>[0]>,\n ) => Promise<Awaited<ReturnType<typeof groupControllerUpdate>>['data']>;\n delete: (\n options: WakataMethodOptions<Parameters<typeof groupControllerDelete>[0]>,\n ) => Promise<Awaited<ReturnType<typeof groupControllerDelete>>['data']>;\n}\n\n/** Device inventory — read-only (devices are paired in-app). */\nexport interface DevicesResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof devicePublicControllerList>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<Awaited<ReturnType<typeof devicePublicControllerList>>['data']>;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof devicePublicControllerGet>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof devicePublicControllerGet>>['data']>;\n}\n\n/** Timesheets — read-only (created in the Wakata app). */\nexport interface TimesheetsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof timesheetPublicControllerList>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof timesheetPublicControllerList>>['data']\n >;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof timesheetPublicControllerGet>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof timesheetPublicControllerGet>>['data']>;\n}\n\nexport interface ProjectsResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof projectControllerList>[0] extends infer O ? O : never\n >,\n ) => Promise<Awaited<ReturnType<typeof projectControllerList>>['data']>;\n get: (\n options: WakataMethodOptions<Parameters<typeof projectControllerGet>[0]>,\n ) => Promise<Awaited<ReturnType<typeof projectControllerGet>>['data']>;\n create: (\n options: WakataMethodOptions<Parameters<typeof projectControllerCreate>[0]>,\n ) => Promise<Awaited<ReturnType<typeof projectControllerCreate>>['data']>;\n update: (\n options: WakataMethodOptions<Parameters<typeof projectControllerUpdate>[0]>,\n ) => Promise<Awaited<ReturnType<typeof projectControllerUpdate>>['data']>;\n delete: (\n options: WakataMethodOptions<Parameters<typeof projectControllerDelete>[0]>,\n ) => Promise<Awaited<ReturnType<typeof projectControllerDelete>>['data']>;\n /** Read the asset assignments for a project (filter by approval_status). */\n assets: (\n options: WakataMethodOptions<\n Parameters<typeof projectControllerListAssets>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof projectControllerListAssets>>['data']>;\n /** Read the user assignments for a project (filter by approval_status). */\n users: (\n options: WakataMethodOptions<\n Parameters<typeof projectControllerListUsers>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof projectControllerListUsers>>['data']>;\n}\n\n/**\n * One entity-document type's CRUD. All document types share the same DTOs, so\n * the shape is typed against the asset-document operations (structurally\n * identical across types).\n */\nexport interface DocumentTypeResource {\n list: (\n options?: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerList>[0] extends infer O\n ? O\n : never\n >,\n ) => Promise<\n Awaited<ReturnType<typeof assetDocumentControllerList>>['data']\n >;\n get: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerGet>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerGet>>['data']>;\n create: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerCreate>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerCreate>>['data']>;\n update: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerUpdate>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerUpdate>>['data']>;\n delete: (\n options: WakataMethodOptions<\n Parameters<typeof assetDocumentControllerRemove>[0]\n >,\n ) => Promise<Awaited<ReturnType<typeof assetDocumentControllerRemove>>['data']>;\n}\n\nexport interface DocumentsResource {\n /** Presigned S3 PUT URL + key; upload then create a document with the key. */\n uploadUrl: (\n options: WakataMethodOptions<\n Parameters<typeof documentUploadControllerUploadUrl>[0]\n >,\n ) => Promise<\n Awaited<ReturnType<typeof documentUploadControllerUploadUrl>>['data']\n >;\n asset: DocumentTypeResource;\n assetClass: DocumentTypeResource;\n user: DocumentTypeResource;\n site: DocumentTypeResource;\n customer: DocumentTypeResource;\n project: DocumentTypeResource;\n job: DocumentTypeResource;\n company: DocumentTypeResource;\n}\n\n/**\n * The main entry point for the Wakata API client.\n *\n * ```ts\n * import { WakataClient, WakataNotFoundError } from '@wakata-dev/api-client';\n *\n * const wakata = new WakataClient({ apiKey: process.env.WAKATA_API_KEY! });\n *\n * try {\n * const { items } = await wakata.assets.list({ query: { page: 1, page_size: 50 } });\n * console.log(items);\n * } catch (err) {\n * if (err instanceof WakataNotFoundError) console.error('not found:', err.message);\n * throw err;\n * }\n * ```\n */\nexport class WakataClient {\n /** Underlying generated fetch client. Exposed for advanced customisation. */\n public readonly raw: Client;\n\n public readonly assets: AssetsResource;\n public readonly users: UsersResource;\n public readonly sites: SitesResource;\n public readonly inspections: InspectionsResource;\n public readonly issues: IssuesResource;\n public readonly userProperties: UserPropertiesResource;\n public readonly checklists: ChecklistsResource;\n public readonly config: ConfigResource;\n public readonly assetClassProperties: AssetClassPropertiesResource;\n public readonly documents: DocumentsResource;\n public readonly customers: CustomersResource;\n public readonly zones: ZonesResource;\n public readonly groups: GroupsResource;\n public readonly devices: DevicesResource;\n public readonly timesheets: TimesheetsResource;\n public readonly projects: ProjectsResource;\n\n public constructor(options: WakataClientOptions) {\n if (!options.apiKey) {\n throw new Error('WakataClient: `apiKey` is required.');\n }\n\n const baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;\n\n this.raw = createClient(\n createConfig({\n baseUrl,\n // Inject the apiKey into the Authorization header via the `auth` hook\n // so the generated `security: [{ scheme: 'bearer' }]` machinery picks\n // it up on every operation.\n auth: options.apiKey,\n ...(options.fetch ? { fetch: options.fetch } : {}),\n }),\n );\n\n // ---- request interceptor: User-Agent + Idempotency-Key on POST/PATCH ----\n this.raw.interceptors.request.use((request) => {\n // User-Agent. Some browser environments forbid setting this header — if\n // so, the underlying fetch will silently drop it, which is fine.\n try {\n request.headers.set('User-Agent', `@wakata-dev/api-client/${PACKAGE_VERSION}`);\n } catch {\n // ignore — browsers may guard User-Agent.\n }\n\n const method = request.method.toUpperCase();\n if (method === 'POST' || method === 'PATCH') {\n if (!request.headers.has('Idempotency-Key')) {\n request.headers.set('Idempotency-Key', generateIdempotencyKey());\n }\n }\n return request;\n });\n\n // ---- response interceptor: map non-2xx envelopes to typed errors ----\n this.raw.interceptors.response.use(async (response) => {\n if (response.ok) return response;\n\n // Read the body once. The generated client doesn't try to consume the\n // body when we throw, so we have to clone before parsing.\n let envelope: WakataErrorEnvelope | undefined;\n try {\n const cloned = response.clone();\n const json = (await cloned.json()) as\n | { error?: WakataErrorEnvelope }\n | undefined;\n envelope = json?.error;\n } catch {\n // Body wasn't JSON (HTML 502 page, etc.) — fall through with undefined.\n }\n\n const fallbackRequestId = response.headers.get('X-Request-Id') ?? '';\n\n // 429: derive retryAfterSeconds from headers. Prefer Retry-After (RFC\n // 7231) when present, then fall back to X-RateLimit-Reset (unix epoch\n // seconds) minus now.\n let retryAfterSeconds: number | undefined;\n if (response.status === 429) {\n const retryAfter = response.headers.get('Retry-After');\n if (retryAfter) {\n const n = Number(retryAfter);\n if (Number.isFinite(n)) retryAfterSeconds = n;\n }\n if (retryAfterSeconds === undefined) {\n const reset = response.headers.get('X-RateLimit-Reset');\n if (reset) {\n const resetEpoch = Number(reset);\n if (Number.isFinite(resetEpoch)) {\n retryAfterSeconds = Math.max(\n 0,\n Math.ceil(resetEpoch - Date.now() / 1000),\n );\n }\n }\n }\n }\n\n throw mapApiError(\n response.status,\n envelope,\n fallbackRequestId,\n retryAfterSeconds,\n );\n });\n\n // ---- per-tag namespaces ------------------------------------------------\n const client = this.raw;\n\n this.assets = {\n list: async (opts) =>\n unwrap(await assetControllerListAssets({ ...(opts ?? {}), client })),\n create: async (opts) =>\n unwrap(await assetControllerCreateAssetPublic({ ...opts, client })),\n get: async (opts) =>\n unwrap(await assetControllerGetAsset({ ...opts, client })),\n update: async (opts) =>\n unwrap(await assetControllerUpdateAsset({ ...opts, client })),\n };\n\n this.users = {\n list: async (opts) =>\n unwrap(await userControllerListUsers({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await userControllerGetUser({ ...opts, client })),\n create: async (opts) =>\n unwrap(await userControllerCreateUser({ ...opts, client })),\n update: async (opts) =>\n unwrap(await userControllerUpdateUser({ ...opts, client })),\n };\n\n this.sites = {\n list: async (opts) =>\n unwrap(await siteControllerListSites({ ...(opts ?? {}), client })),\n create: async (opts) =>\n unwrap(await siteControllerCreateSite({ ...opts, client })),\n update: async (opts) =>\n unwrap(await siteControllerUpdateSite({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await siteControllerDeleteSite({ ...opts, client })),\n };\n\n this.inspections = {\n list: async (opts) =>\n unwrap(\n await inspectionControllerListInspections({\n ...(opts ?? {}),\n client,\n }),\n ),\n getDetail: async (opts) =>\n unwrap(\n await inspectionControllerGetPublicInspection({ ...opts, client }),\n ),\n };\n\n this.issues = {\n list: async (opts) =>\n unwrap(await issueControllerListIssues({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await issueControllerGetIssuePublic({ ...opts, client })),\n update: async (opts) =>\n unwrap(await issueControllerUpdateIssuePublic({ ...opts, client })),\n getHistory: async (opts) =>\n unwrap(\n await issueControllerGetIssueHistoryPublic({ ...opts, client }),\n ),\n };\n\n this.userProperties = {\n update: async (opts) =>\n unwrap(\n await userPropertyControllerUpdateUserProperty({ ...opts, client }),\n ),\n delete: async (opts) =>\n unwrap(\n await userPropertyControllerDeleteUserProperty({ ...opts, client }),\n ),\n };\n\n this.checklists = {\n list: async (opts) =>\n unwrap(\n await checklistControllerListChecklists({ ...(opts ?? {}), client }),\n ),\n get: async (opts) =>\n unwrap(await checklistControllerGetChecklist({ ...opts, client })),\n };\n\n this.config = {\n listTables: async (opts) =>\n unwrap(\n await publicConfigControllerListConfigTables({\n ...(opts ?? {}),\n client,\n }),\n ),\n listItems: async (opts) =>\n unwrap(\n await publicConfigControllerListConfigItems({\n ...(opts ?? {}),\n client,\n }),\n ),\n getItem: async (opts) =>\n unwrap(await publicConfigControllerGetConfigItem({ ...opts, client })),\n createItem: async (opts) =>\n unwrap(\n await publicConfigControllerCreateConfigItem({ ...opts, client }),\n ),\n updateItem: async (opts) =>\n unwrap(\n await publicConfigControllerUpdateConfigItem({ ...opts, client }),\n ),\n deleteItem: async (opts) =>\n unwrap(\n await publicConfigControllerDeleteConfigItem({ ...opts, client }),\n ),\n };\n\n this.assetClassProperties = {\n update: async (opts) =>\n unwrap(await assetClassPropertyControllerUpdate({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await assetClassPropertyControllerRemove({ ...opts, client })),\n };\n\n // All document types share DTOs, so one factory builds each per-type\n // resource from its five generated operations.\n const docResource = (fns: {\n list: typeof assetDocumentControllerList;\n get: typeof assetDocumentControllerGet;\n create: typeof assetDocumentControllerCreate;\n update: typeof assetDocumentControllerUpdate;\n remove: typeof assetDocumentControllerRemove;\n }): DocumentTypeResource => ({\n list: async (opts) => unwrap(await fns.list({ ...(opts ?? {}), client })),\n get: async (opts) => unwrap(await fns.get({ ...opts, client })),\n create: async (opts) => unwrap(await fns.create({ ...opts, client })),\n update: async (opts) => unwrap(await fns.update({ ...opts, client })),\n delete: async (opts) => unwrap(await fns.remove({ ...opts, client })),\n });\n\n this.documents = {\n uploadUrl: async (opts) =>\n unwrap(await documentUploadControllerUploadUrl({ ...opts, client })),\n asset: docResource({\n list: assetDocumentControllerList,\n get: assetDocumentControllerGet,\n create: assetDocumentControllerCreate,\n update: assetDocumentControllerUpdate,\n remove: assetDocumentControllerRemove,\n }),\n assetClass: docResource({\n list: assetClassDocumentControllerList,\n get: assetClassDocumentControllerGet,\n create: assetClassDocumentControllerCreate,\n update: assetClassDocumentControllerUpdate,\n remove: assetClassDocumentControllerRemove,\n }),\n user: docResource({\n list: userDocumentControllerList,\n get: userDocumentControllerGet,\n create: userDocumentControllerCreate,\n update: userDocumentControllerUpdate,\n remove: userDocumentControllerRemove,\n }),\n site: docResource({\n list: siteDocumentControllerList,\n get: siteDocumentControllerGet,\n create: siteDocumentControllerCreate,\n update: siteDocumentControllerUpdate,\n remove: siteDocumentControllerRemove,\n }),\n customer: docResource({\n list: customerDocumentControllerList,\n get: customerDocumentControllerGet,\n create: customerDocumentControllerCreate,\n update: customerDocumentControllerUpdate,\n remove: customerDocumentControllerRemove,\n }),\n project: docResource({\n list: projectDocumentControllerList,\n get: projectDocumentControllerGet,\n create: projectDocumentControllerCreate,\n update: projectDocumentControllerUpdate,\n remove: projectDocumentControllerRemove,\n }),\n job: docResource({\n list: jobDocumentControllerList,\n get: jobDocumentControllerGet,\n create: jobDocumentControllerCreate,\n update: jobDocumentControllerUpdate,\n remove: jobDocumentControllerRemove,\n }),\n company: docResource({\n list: companyDocumentControllerList,\n get: companyDocumentControllerGet,\n create: companyDocumentControllerCreate,\n update: companyDocumentControllerUpdate,\n remove: companyDocumentControllerRemove,\n }),\n };\n\n this.customers = {\n list: async (opts) =>\n unwrap(await customerControllerList({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await customerControllerGet({ ...opts, client })),\n create: async (opts) =>\n unwrap(await customerControllerCreate({ ...opts, client })),\n update: async (opts) =>\n unwrap(await customerControllerUpdate({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await customerControllerDelete({ ...opts, client })),\n };\n\n this.zones = {\n list: async (opts) =>\n unwrap(await zoneControllerList({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await zoneControllerGet({ ...opts, client })),\n create: async (opts) =>\n unwrap(await zoneControllerCreate({ ...opts, client })),\n update: async (opts) =>\n unwrap(await zoneControllerUpdate({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await zoneControllerDelete({ ...opts, client })),\n };\n\n this.groups = {\n list: async (opts) =>\n unwrap(await groupControllerList({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await groupControllerGet({ ...opts, client })),\n create: async (opts) =>\n unwrap(await groupControllerCreate({ ...opts, client })),\n update: async (opts) =>\n unwrap(await groupControllerUpdate({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await groupControllerDelete({ ...opts, client })),\n };\n\n this.devices = {\n list: async (opts) =>\n unwrap(await devicePublicControllerList({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await devicePublicControllerGet({ ...opts, client })),\n };\n\n this.timesheets = {\n list: async (opts) =>\n unwrap(await timesheetPublicControllerList({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await timesheetPublicControllerGet({ ...opts, client })),\n };\n\n this.projects = {\n list: async (opts) =>\n unwrap(await projectControllerList({ ...(opts ?? {}), client })),\n get: async (opts) =>\n unwrap(await projectControllerGet({ ...opts, client })),\n create: async (opts) =>\n unwrap(await projectControllerCreate({ ...opts, client })),\n update: async (opts) =>\n unwrap(await projectControllerUpdate({ ...opts, client })),\n delete: async (opts) =>\n unwrap(await projectControllerDelete({ ...opts, client })),\n assets: async (opts) =>\n unwrap(await projectControllerListAssets({ ...opts, client })),\n users: async (opts) =>\n unwrap(await projectControllerListUsers({ ...opts, client })),\n };\n }\n}\n","/**\n * `@wakata-dev/api-client` — the official TypeScript SDK for the Wakata Public API.\n *\n * See README.md for usage.\n */\n\nexport const PACKAGE_NAME = '@wakata-dev/api-client';\nexport const PACKAGE_VERSION = '0.3.3';\n\n/** Default base URL for the Wakata Public API (production). */\nexport const DEFAULT_BASE_URL = 'https://api.wakata.ai/api/v1';\n\n// Wrapper layer — the recommended public surface.\nexport { WakataClient } from './client.js';\nexport type {\n WakataClientOptions,\n AssetsResource,\n UsersResource,\n SitesResource,\n InspectionsResource,\n IssuesResource,\n UserPropertiesResource,\n} from './client.js';\n\n// Error hierarchy.\nexport {\n WakataApiError,\n WakataValidationError,\n WakataAuthError,\n WakataPermissionError,\n WakataNotFoundError,\n WakataConflictError,\n WakataRateLimitError,\n WakataServerError,\n mapApiError,\n} from './errors.js';\nexport type { ErrorDetail, WakataErrorEnvelope } from './errors.js';\n\n// Idempotency helper — exposed in case callers want to mint keys themselves\n// (e.g. to retry the same logical operation across processes).\nexport { generateIdempotencyKey } from './idempotency.js';\n\n// Re-export the generated types + raw operations for advanced consumers who\n// want to drop down past the wrapper. Avoid collisions with the wrapper's\n// exported names.\nexport * from './generated/types.gen.js';\n"]}
|