@tanstack/ai-worldlabs 0.0.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -2
  3. package/dist/esm/adapters/world.d.ts +38 -0
  4. package/dist/esm/adapters/world.js +314 -0
  5. package/dist/esm/adapters/world.js.map +1 -0
  6. package/dist/esm/byok.d.ts +1 -0
  7. package/dist/esm/byok.js +11 -0
  8. package/dist/esm/byok.js.map +1 -0
  9. package/dist/esm/generated/client/client.gen.d.ts +2 -0
  10. package/dist/esm/generated/client/client.gen.js +174 -0
  11. package/dist/esm/generated/client/client.gen.js.map +1 -0
  12. package/dist/esm/generated/client/index.d.ts +10 -0
  13. package/dist/esm/generated/client/index.js +5 -0
  14. package/dist/esm/generated/client/types.gen.d.ts +120 -0
  15. package/dist/esm/generated/client/utils.gen.d.ts +37 -0
  16. package/dist/esm/generated/client/utils.gen.js +177 -0
  17. package/dist/esm/generated/client/utils.gen.js.map +1 -0
  18. package/dist/esm/generated/client.d.ts +1 -0
  19. package/dist/esm/generated/client.gen.d.ts +12 -0
  20. package/dist/esm/generated/client.gen.js +9 -0
  21. package/dist/esm/generated/client.gen.js.map +1 -0
  22. package/dist/esm/generated/client.js +5 -0
  23. package/dist/esm/generated/core/auth.gen.d.ts +25 -0
  24. package/dist/esm/generated/core/auth.gen.js +12 -0
  25. package/dist/esm/generated/core/auth.gen.js.map +1 -0
  26. package/dist/esm/generated/core/bodySerializer.gen.d.ts +25 -0
  27. package/dist/esm/generated/core/bodySerializer.gen.js +6 -0
  28. package/dist/esm/generated/core/bodySerializer.gen.js.map +1 -0
  29. package/dist/esm/generated/core/params.gen.d.ts +43 -0
  30. package/dist/esm/generated/core/params.gen.js +9 -0
  31. package/dist/esm/generated/core/params.gen.js.map +1 -0
  32. package/dist/esm/generated/core/pathSerializer.gen.d.ts +33 -0
  33. package/dist/esm/generated/core/pathSerializer.gen.js +82 -0
  34. package/dist/esm/generated/core/pathSerializer.gen.js.map +1 -0
  35. package/dist/esm/generated/core/queryKeySerializer.gen.d.ts +18 -0
  36. package/dist/esm/generated/core/serverSentEvents.gen.d.ts +71 -0
  37. package/dist/esm/generated/core/serverSentEvents.gen.js +96 -0
  38. package/dist/esm/generated/core/serverSentEvents.gen.js.map +1 -0
  39. package/dist/esm/generated/core/types.gen.d.ts +83 -0
  40. package/dist/esm/generated/core/utils.gen.d.ts +19 -0
  41. package/dist/esm/generated/core/utils.gen.js +78 -0
  42. package/dist/esm/generated/core/utils.gen.js.map +1 -0
  43. package/dist/esm/generated/index.d.ts +2 -0
  44. package/dist/esm/generated/sdk.gen.d.ts +275 -0
  45. package/dist/esm/generated/sdk.gen.js +79 -0
  46. package/dist/esm/generated/sdk.gen.js.map +1 -0
  47. package/dist/esm/generated/types.gen.d.ts +1610 -0
  48. package/dist/esm/index.d.ts +5 -0
  49. package/dist/esm/index.js +4 -0
  50. package/dist/esm/model-meta.d.ts +63 -0
  51. package/dist/esm/model-meta.js +17 -0
  52. package/dist/esm/model-meta.js.map +1 -0
  53. package/dist/esm/utils/client.d.ts +16 -0
  54. package/dist/esm/utils/client.js +35 -0
  55. package/dist/esm/utils/client.js.map +1 -0
  56. package/package.json +55 -6
  57. package/src/adapters/world.ts +535 -0
  58. package/src/byok.ts +7 -0
  59. package/src/generated/client/client.gen.ts +301 -0
  60. package/src/generated/client/index.ts +27 -0
  61. package/src/generated/client/types.gen.ts +247 -0
  62. package/src/generated/client/utils.gen.ts +332 -0
  63. package/src/generated/client.gen.ts +26 -0
  64. package/src/generated/client.ts +3 -0
  65. package/src/generated/core/auth.gen.ts +48 -0
  66. package/src/generated/core/bodySerializer.gen.ts +96 -0
  67. package/src/generated/core/params.gen.ts +186 -0
  68. package/src/generated/core/pathSerializer.gen.ts +186 -0
  69. package/src/generated/core/queryKeySerializer.gen.ts +139 -0
  70. package/src/generated/core/serverSentEvents.gen.ts +265 -0
  71. package/src/generated/core/types.gen.ts +124 -0
  72. package/src/generated/core/utils.gen.ts +146 -0
  73. package/src/generated/index.ts +113 -0
  74. package/src/generated/sdk.gen.ts +531 -0
  75. package/src/generated/types.gen.ts +1767 -0
  76. package/src/index.ts +20 -0
  77. package/src/model-meta.ts +79 -0
  78. package/src/utils/client.ts +50 -0
@@ -0,0 +1,275 @@
1
+ import { Client, ClientMeta, Options as Options2, RequestResult, TDataShape } from './client.js';
2
+ import { DeleteWorldMarbleV1WorldsWorldIdDeleteData, DeleteWorldMarbleV1WorldsWorldIdDeleteErrors, DeleteWorldMarbleV1WorldsWorldIdDeleteResponses, ExportWorldMarbleV1WorldsWorldIdExportPostData, ExportWorldMarbleV1WorldsWorldIdExportPostErrors, ExportWorldMarbleV1WorldsWorldIdExportPostResponses, GenerateWorldMarbleV1WorldsGeneratePostData, GenerateWorldMarbleV1WorldsGeneratePostErrors, GenerateWorldMarbleV1WorldsGeneratePostResponses, GetCreditsMarbleV1CreditsGetData, GetCreditsMarbleV1CreditsGetResponses, GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetData, GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors, GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses, GetOperationMarbleV1OperationsOperationIdGetData, GetOperationMarbleV1OperationsOperationIdGetErrors, GetOperationMarbleV1OperationsOperationIdGetResponses, GetWorldMarbleV1WorldsWorldIdGetData, GetWorldMarbleV1WorldsWorldIdGetErrors, GetWorldMarbleV1WorldsWorldIdGetResponses, ListWorldsMarbleV1WorldsListPostData, ListWorldsMarbleV1WorldsListPostErrors, ListWorldsMarbleV1WorldsListPostResponses, PanoDepthToRgbMarbleV1PanoDepthToRgbPostData, PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors, PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses, PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostData, PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors, PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses } from './types.gen';
3
+ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
4
+ /**
5
+ * You can provide a client instance returned by `createClient()` instead of
6
+ * individual options. This might be also useful if you want to implement a
7
+ * custom client.
8
+ */
9
+ client?: Client;
10
+ /**
11
+ * You can pass arbitrary values through the `meta` object. This can be
12
+ * used to access values that aren't defined as part of the SDK function.
13
+ */
14
+ meta?: keyof ClientMeta extends never ? Record<string, unknown> : ClientMeta;
15
+ };
16
+ /**
17
+ * Get Credits
18
+ *
19
+ * Get remaining API credits for the authenticated user.
20
+ *
21
+ * Returns:
22
+ * CreditsResponse with the current aggregate API credit balance.
23
+ *
24
+ * Raises:
25
+ * HTTPException: 404 if the caller is not an API-enabled user
26
+ * HTTPException: 503 if the billing backend is unavailable
27
+ */
28
+ export declare const getCreditsMarbleV1CreditsGet: <ThrowOnError extends boolean = false>(options?: Options<GetCreditsMarbleV1CreditsGetData, ThrowOnError>) => RequestResult<GetCreditsMarbleV1CreditsGetResponses, unknown, ThrowOnError>;
29
+ /**
30
+ * Get Media Asset
31
+ *
32
+ * Get a media asset by ID.
33
+ *
34
+ * Retrieves metadata for a previously created media asset.
35
+ *
36
+ * Args:
37
+ * media_asset_id: The media asset identifier.
38
+ *
39
+ * Returns:
40
+ * MediaAsset object with media_asset_id, file_name, extension, kind,
41
+ * metadata, created_at, and updated_at.
42
+ *
43
+ * Raises:
44
+ * HTTPException: 404 if not found
45
+ */
46
+ export declare const getMediaAssetMarbleV1MediaAssetsMediaAssetIdGet: <ThrowOnError extends boolean = false>(options: Options<GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetData, ThrowOnError>) => RequestResult<GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses, GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors, ThrowOnError>;
47
+ /**
48
+ * Prepare a media asset upload
49
+ *
50
+ * Prepare a media asset upload for use in world generation.
51
+ *
52
+ * This API endpoint creates a media asset record and returns a signed upload URL.
53
+ * Use this workflow to upload images or videos that you want to reference in world
54
+ * generation requests.
55
+ *
56
+ * ## Workflow
57
+ *
58
+ * 1. **Prepare Upload** (this endpoint): Get a `media_asset_id` and `upload_url`
59
+ * 2. **Upload File**: Use the signed URL to upload your file
60
+ * 3. **Generate World**: Reference the `media_asset_id` in `/worlds:generate` with
61
+ * source type "media_asset"
62
+ *
63
+ * ## Request Parameters
64
+ *
65
+ * - `file_name`: Your file's name (e.g., "landscape.jpg")
66
+ * - `extension`: File extension without dot (e.g., "jpg", "png", "mp4")
67
+ * - `kind`: Either "image" or "video"
68
+ * - `metadata`: Optional custom metadata object
69
+ *
70
+ * ## Response
71
+ *
72
+ * Returns a `MediaAssetPrepareUploadResponse` containing:
73
+ *
74
+ * - `media_asset`: Object with `media_asset_id` (use this in world generation)
75
+ * - `upload_info`: Object with `upload_url`, `required_headers`, and `curl_example`
76
+ *
77
+ * ## Uploading Your File
78
+ *
79
+ * Use the returned `upload_url` and `required_headers` to upload your file:
80
+ *
81
+ * ```bash
82
+ * curl --request PUT \
83
+ * --url <upload_url> \
84
+ * --header "Content-Type: <content-type>" \
85
+ * --header "<header-name>: <header-value>" \
86
+ * --upload-file /path/to/your/file
87
+ * ```
88
+ *
89
+ * Replace:
90
+ * - `<upload_url>`: The `upload_url` from the response
91
+ * - `<content-type>`: MIME type (e.g., `image/png`, `image/jpeg`, `video/mp4`)
92
+ * - `<header-name>: <header-value>`: Each header from `required_headers`
93
+ * - `/path/to/your/file`: Path to your local file
94
+ *
95
+ * ## Example Usage in World Generation
96
+ *
97
+ * After uploading, use the `media_asset_id` in a world generation request:
98
+ *
99
+ * ```json
100
+ * {
101
+ * "world_prompt": {
102
+ * "type": "image",
103
+ * "image_prompt": {
104
+ * "source": "media_asset",
105
+ * "media_asset_id": "<your-media-asset-id>"
106
+ * }
107
+ * }
108
+ * }
109
+ * ```
110
+ */
111
+ export declare const prepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPost: <ThrowOnError extends boolean = false>(options: Options<PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostData, ThrowOnError>) => RequestResult<PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses, PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors, ThrowOnError>;
112
+ /**
113
+ * Get Operation
114
+ *
115
+ * Get an operation by ID.
116
+ *
117
+ * Poll this endpoint to check the status of a long-running operation.
118
+ * When done=true, the response field contains the generated world.
119
+ *
120
+ * Args:
121
+ * operation_id: The operation identifier from /worlds:generate.
122
+ *
123
+ * Returns:
124
+ * GetOperationResponse[World] with:
125
+ * - operation_id: Operation identifier
126
+ * - created_at: Creation timestamp
127
+ * - updated_at: Last update timestamp
128
+ * - expires_at: Expiration timestamp
129
+ * - done: true when complete, false while in progress
130
+ * - error: Error details if failed, null otherwise
131
+ * - metadata: Progress information and world_id
132
+ * - response: Generated World if done=true, null otherwise
133
+ * - cost: Settled credit cost breakdown; populated only when the
134
+ * operation completed successfully (done=true with no error)
135
+ * and a public price is known for its operation type. Failed
136
+ * or in-progress operations return null.
137
+ *
138
+ * Raises:
139
+ * HTTPException: 401 if unauthorized
140
+ * HTTPException: 404 if operation not found
141
+ * HTTPException: 500 if request fails
142
+ */
143
+ export declare const getOperationMarbleV1OperationsOperationIdGet: <ThrowOnError extends boolean = false>(options: Options<GetOperationMarbleV1OperationsOperationIdGetData, ThrowOnError>) => RequestResult<GetOperationMarbleV1OperationsOperationIdGetResponses, GetOperationMarbleV1OperationsOperationIdGetErrors, ThrowOnError>;
144
+ /**
145
+ * Pano Depth To Rgb
146
+ *
147
+ * Generate an RGB panorama from a depth panorama.
148
+ *
149
+ * Provide a depth panorama and a text prompt
150
+ * describing the desired appearance. The depth map
151
+ * supplies the scene geometry; the model synthesizes
152
+ * textures that match that geometry and returns a
153
+ * panoramic RGB image.
154
+ *
155
+ * Accepted depth inputs:
156
+ *
157
+ * * **EXR**: float depth values. Omit
158
+ * ``z_min`` and ``z_max``.
159
+ * * **PNG**: depth values normalized to [0, 1].
160
+ * Provide both ``z_min`` and ``z_max`` so the
161
+ * service can decode the PNG correctly.
162
+ *
163
+ * For a complete PNG-based workflow, see the
164
+ * [web-chisel-depth-png example](https://github.com/worldlabsai/worldlabs-api-examples/tree/main/web-chisel-depth-png).
165
+ *
166
+ * Returns a long-running ``Operation``. Poll
167
+ * ``GET /operations/{operation_id}`` until
168
+ * ``done`` is ``true``, then read the generated
169
+ * panorama URL from ``response.pano_url``.
170
+ *
171
+ * Raises:
172
+ * HTTPException: 400 if invalid request
173
+ * HTTPException: 402 if insufficient credits
174
+ * HTTPException: 500 if generation could not start
175
+ */
176
+ export declare const panoDepthToRgbMarbleV1PanoDepthToRgbPost: <ThrowOnError extends boolean = false>(options: Options<PanoDepthToRgbMarbleV1PanoDepthToRgbPostData, ThrowOnError>) => RequestResult<PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses, PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors, ThrowOnError>;
177
+ /**
178
+ * Delete World
179
+ *
180
+ * Delete a world by ID.
181
+ *
182
+ * Permanently deletes a world and its associated assets.
183
+ * Only the world owner can delete a world.
184
+ *
185
+ * Args:
186
+ * world_id: The unique identifier of the world to delete.
187
+ *
188
+ * Returns:
189
+ * DeleteWorldResponse confirming the deletion.
190
+ *
191
+ * Raises:
192
+ * HTTPException: 403 if user is not the world owner
193
+ * HTTPException: 404 if world not found
194
+ * HTTPException: 500 if deletion fails
195
+ */
196
+ export declare const deleteWorldMarbleV1WorldsWorldIdDelete: <ThrowOnError extends boolean = false>(options: Options<DeleteWorldMarbleV1WorldsWorldIdDeleteData, ThrowOnError>) => RequestResult<DeleteWorldMarbleV1WorldsWorldIdDeleteResponses, DeleteWorldMarbleV1WorldsWorldIdDeleteErrors, ThrowOnError>;
197
+ /**
198
+ * Get World
199
+ *
200
+ * Get a world by ID.
201
+ *
202
+ * Retrieves a world's details including generated assets if available.
203
+ * Only the world owner or users with access to public worlds can retrieve them.
204
+ *
205
+ * Args:
206
+ * world_id: The unique identifier of the world.
207
+ *
208
+ * Returns:
209
+ * World object with world_id, display_name, tags, assets, created_at,
210
+ * updated_at, permission, model, world_prompt, and world_marble_url.
211
+ *
212
+ * Raises:
213
+ * HTTPException: 404 if world not found or access denied
214
+ */
215
+ export declare const getWorldMarbleV1WorldsWorldIdGet: <ThrowOnError extends boolean = false>(options: Options<GetWorldMarbleV1WorldsWorldIdGetData, ThrowOnError>) => RequestResult<GetWorldMarbleV1WorldsWorldIdGetResponses, GetWorldMarbleV1WorldsWorldIdGetErrors, ThrowOnError>;
216
+ /**
217
+ * Export World
218
+ *
219
+ * Export a generated world asset.
220
+ *
221
+ * PLY splat exports are converted synchronously, cached in GCS, and returned
222
+ * as completed operations. HQ mesh exports reuse the existing async mesh
223
+ * export service and return an in-progress operation.
224
+ */
225
+ export declare const exportWorldMarbleV1WorldsWorldIdExportPost: <ThrowOnError extends boolean = false>(options: Options<ExportWorldMarbleV1WorldsWorldIdExportPostData, ThrowOnError>) => RequestResult<ExportWorldMarbleV1WorldsWorldIdExportPostResponses, ExportWorldMarbleV1WorldsWorldIdExportPostErrors, ThrowOnError>;
226
+ /**
227
+ * Generate World
228
+ *
229
+ * Start world generation.
230
+ *
231
+ * Creates a new world generation job and returns a long-running operation.
232
+ * Poll the /operations/{operation_id} endpoint to check generation status
233
+ * and retrieve the generated world when complete.
234
+ *
235
+ * Args:
236
+ * request: The world generation request containing world_prompt, display_name,
237
+ * tags, model, seed, and permission settings.
238
+ *
239
+ * Returns:
240
+ * GenerateWorldResponse with operation_id and timestamps. Use the operation_id
241
+ * to poll for completion.
242
+ *
243
+ * Raises:
244
+ * HTTPException: 400 if invalid request or content violates policies
245
+ * HTTPException: 402 if insufficient credits
246
+ * HTTPException: 500 if generation could not be started
247
+ */
248
+ export declare const generateWorldMarbleV1WorldsGeneratePost: <ThrowOnError extends boolean = false>(options: Options<GenerateWorldMarbleV1WorldsGeneratePostData, ThrowOnError>) => RequestResult<GenerateWorldMarbleV1WorldsGeneratePostResponses, GenerateWorldMarbleV1WorldsGeneratePostErrors, ThrowOnError>;
249
+ /**
250
+ * List Worlds
251
+ *
252
+ * List worlds with optional filters.
253
+ *
254
+ * Returns worlds created through the API with optional filtering and pagination.
255
+ *
256
+ * Args:
257
+ * request: List request with optional filters:
258
+ * - page_size: Number of results per page (default: 10)
259
+ * - page_token: Pagination token from previous response
260
+ * - status: Filter by status (e.g., "COMPLETED")
261
+ * - model: Filter by model name (e.g., "marble-1.0-plus")
262
+ * - tags: Filter by tags (matches worlds with any tag)
263
+ * - is_public: Filter by visibility (true=public, false=private, null=all)
264
+ * - created_after: Filter by creation time (after timestamp)
265
+ * - created_before: Filter by creation time (before timestamp)
266
+ * - sort_by: Sort order ("created_at" or "updated_at")
267
+ *
268
+ * Returns:
269
+ * ListWorldsResponse with worlds list and next_page_token for pagination.
270
+ *
271
+ * Raises:
272
+ * HTTPException: 400 if invalid parameters
273
+ * HTTPException: 500 if request fails
274
+ */
275
+ export declare const listWorldsMarbleV1WorldsListPost: <ThrowOnError extends boolean = false>(options: Options<ListWorldsMarbleV1WorldsListPostData, ThrowOnError>) => RequestResult<ListWorldsMarbleV1WorldsListPostResponses, ListWorldsMarbleV1WorldsListPostErrors, ThrowOnError>;
@@ -0,0 +1,79 @@
1
+ import { client } from "./client.gen.js";
2
+ //#region src/generated/sdk.gen.ts
3
+ /**
4
+ * Get Operation
5
+ *
6
+ * Get an operation by ID.
7
+ *
8
+ * Poll this endpoint to check the status of a long-running operation.
9
+ * When done=true, the response field contains the generated world.
10
+ *
11
+ * Args:
12
+ * operation_id: The operation identifier from /worlds:generate.
13
+ *
14
+ * Returns:
15
+ * GetOperationResponse[World] with:
16
+ * - operation_id: Operation identifier
17
+ * - created_at: Creation timestamp
18
+ * - updated_at: Last update timestamp
19
+ * - expires_at: Expiration timestamp
20
+ * - done: true when complete, false while in progress
21
+ * - error: Error details if failed, null otherwise
22
+ * - metadata: Progress information and world_id
23
+ * - response: Generated World if done=true, null otherwise
24
+ * - cost: Settled credit cost breakdown; populated only when the
25
+ * operation completed successfully (done=true with no error)
26
+ * and a public price is known for its operation type. Failed
27
+ * or in-progress operations return null.
28
+ *
29
+ * Raises:
30
+ * HTTPException: 401 if unauthorized
31
+ * HTTPException: 404 if operation not found
32
+ * HTTPException: 500 if request fails
33
+ */
34
+ var getOperationMarbleV1OperationsOperationIdGet = (options) => (options.client ?? client).get({
35
+ security: [{
36
+ name: "WLT-Api-Key",
37
+ type: "apiKey"
38
+ }],
39
+ url: "/marble/v1/operations/{operation_id}",
40
+ ...options
41
+ });
42
+ /**
43
+ * Generate World
44
+ *
45
+ * Start world generation.
46
+ *
47
+ * Creates a new world generation job and returns a long-running operation.
48
+ * Poll the /operations/{operation_id} endpoint to check generation status
49
+ * and retrieve the generated world when complete.
50
+ *
51
+ * Args:
52
+ * request: The world generation request containing world_prompt, display_name,
53
+ * tags, model, seed, and permission settings.
54
+ *
55
+ * Returns:
56
+ * GenerateWorldResponse with operation_id and timestamps. Use the operation_id
57
+ * to poll for completion.
58
+ *
59
+ * Raises:
60
+ * HTTPException: 400 if invalid request or content violates policies
61
+ * HTTPException: 402 if insufficient credits
62
+ * HTTPException: 500 if generation could not be started
63
+ */
64
+ var generateWorldMarbleV1WorldsGeneratePost = (options) => (options.client ?? client).post({
65
+ security: [{
66
+ name: "WLT-Api-Key",
67
+ type: "apiKey"
68
+ }],
69
+ url: "/marble/v1/worlds:generate",
70
+ ...options,
71
+ headers: {
72
+ "Content-Type": "application/json",
73
+ ...options.headers
74
+ }
75
+ });
76
+ //#endregion
77
+ export { generateWorldMarbleV1WorldsGeneratePost, getOperationMarbleV1OperationsOperationIdGet };
78
+
79
+ //# sourceMappingURL=sdk.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.gen.js","names":[],"sources":["../../../src/generated/sdk.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n Client,\n ClientMeta,\n Options as Options2,\n RequestResult,\n TDataShape,\n} from './client'\nimport { client } from './client.gen'\nimport type {\n DeleteWorldMarbleV1WorldsWorldIdDeleteData,\n DeleteWorldMarbleV1WorldsWorldIdDeleteErrors,\n DeleteWorldMarbleV1WorldsWorldIdDeleteResponses,\n ExportWorldMarbleV1WorldsWorldIdExportPostData,\n ExportWorldMarbleV1WorldsWorldIdExportPostErrors,\n ExportWorldMarbleV1WorldsWorldIdExportPostResponses,\n GenerateWorldMarbleV1WorldsGeneratePostData,\n GenerateWorldMarbleV1WorldsGeneratePostErrors,\n GenerateWorldMarbleV1WorldsGeneratePostResponses,\n GetCreditsMarbleV1CreditsGetData,\n GetCreditsMarbleV1CreditsGetResponses,\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetData,\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors,\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses,\n GetOperationMarbleV1OperationsOperationIdGetData,\n GetOperationMarbleV1OperationsOperationIdGetErrors,\n GetOperationMarbleV1OperationsOperationIdGetResponses,\n GetWorldMarbleV1WorldsWorldIdGetData,\n GetWorldMarbleV1WorldsWorldIdGetErrors,\n GetWorldMarbleV1WorldsWorldIdGetResponses,\n ListWorldsMarbleV1WorldsListPostData,\n ListWorldsMarbleV1WorldsListPostErrors,\n ListWorldsMarbleV1WorldsListPostResponses,\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostData,\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors,\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses,\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostData,\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors,\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses,\n} from './types.gen'\n\nexport type Options<\n TData extends TDataShape = TDataShape,\n ThrowOnError extends boolean = boolean,\n TResponse = unknown,\n> = Options2<TData, ThrowOnError, TResponse> & {\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?: keyof ClientMeta extends never ? Record<string, unknown> : ClientMeta\n}\n\n/**\n * Get Credits\n *\n * Get remaining API credits for the authenticated user.\n *\n * Returns:\n * CreditsResponse with the current aggregate API credit balance.\n *\n * Raises:\n * HTTPException: 404 if the caller is not an API-enabled user\n * HTTPException: 503 if the billing backend is unavailable\n */\nexport const getCreditsMarbleV1CreditsGet = <\n ThrowOnError extends boolean = false,\n>(\n options?: Options<GetCreditsMarbleV1CreditsGetData, ThrowOnError>,\n): RequestResult<\n GetCreditsMarbleV1CreditsGetResponses,\n unknown,\n ThrowOnError\n> =>\n (options?.client ?? client).get<\n GetCreditsMarbleV1CreditsGetResponses,\n unknown,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/credits',\n ...options,\n })\n\n/**\n * Get Media Asset\n *\n * Get a media asset by ID.\n *\n * Retrieves metadata for a previously created media asset.\n *\n * Args:\n * media_asset_id: The media asset identifier.\n *\n * Returns:\n * MediaAsset object with media_asset_id, file_name, extension, kind,\n * metadata, created_at, and updated_at.\n *\n * Raises:\n * HTTPException: 404 if not found\n */\nexport const getMediaAssetMarbleV1MediaAssetsMediaAssetIdGet = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetData,\n ThrowOnError\n >,\n): RequestResult<\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses,\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors,\n ThrowOnError\n> =>\n (options.client ?? client).get<\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses,\n GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/media-assets/{media_asset_id}',\n ...options,\n })\n\n/**\n * Prepare a media asset upload\n *\n * Prepare a media asset upload for use in world generation.\n *\n * This API endpoint creates a media asset record and returns a signed upload URL.\n * Use this workflow to upload images or videos that you want to reference in world\n * generation requests.\n *\n * ## Workflow\n *\n * 1. **Prepare Upload** (this endpoint): Get a `media_asset_id` and `upload_url`\n * 2. **Upload File**: Use the signed URL to upload your file\n * 3. **Generate World**: Reference the `media_asset_id` in `/worlds:generate` with\n * source type \"media_asset\"\n *\n * ## Request Parameters\n *\n * - `file_name`: Your file's name (e.g., \"landscape.jpg\")\n * - `extension`: File extension without dot (e.g., \"jpg\", \"png\", \"mp4\")\n * - `kind`: Either \"image\" or \"video\"\n * - `metadata`: Optional custom metadata object\n *\n * ## Response\n *\n * Returns a `MediaAssetPrepareUploadResponse` containing:\n *\n * - `media_asset`: Object with `media_asset_id` (use this in world generation)\n * - `upload_info`: Object with `upload_url`, `required_headers`, and `curl_example`\n *\n * ## Uploading Your File\n *\n * Use the returned `upload_url` and `required_headers` to upload your file:\n *\n * ```bash\n * curl --request PUT \\\n * --url <upload_url> \\\n * --header \"Content-Type: <content-type>\" \\\n * --header \"<header-name>: <header-value>\" \\\n * --upload-file /path/to/your/file\n * ```\n *\n * Replace:\n * - `<upload_url>`: The `upload_url` from the response\n * - `<content-type>`: MIME type (e.g., `image/png`, `image/jpeg`, `video/mp4`)\n * - `<header-name>: <header-value>`: Each header from `required_headers`\n * - `/path/to/your/file`: Path to your local file\n *\n * ## Example Usage in World Generation\n *\n * After uploading, use the `media_asset_id` in a world generation request:\n *\n * ```json\n * {\n * \"world_prompt\": {\n * \"type\": \"image\",\n * \"image_prompt\": {\n * \"source\": \"media_asset\",\n * \"media_asset_id\": \"<your-media-asset-id>\"\n * }\n * }\n * }\n * ```\n */\nexport const prepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPost = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostData,\n ThrowOnError\n >,\n): RequestResult<\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses,\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors,\n ThrowOnError\n> =>\n (options.client ?? client).post<\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses,\n PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/media-assets:prepare_upload',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Get Operation\n *\n * Get an operation by ID.\n *\n * Poll this endpoint to check the status of a long-running operation.\n * When done=true, the response field contains the generated world.\n *\n * Args:\n * operation_id: The operation identifier from /worlds:generate.\n *\n * Returns:\n * GetOperationResponse[World] with:\n * - operation_id: Operation identifier\n * - created_at: Creation timestamp\n * - updated_at: Last update timestamp\n * - expires_at: Expiration timestamp\n * - done: true when complete, false while in progress\n * - error: Error details if failed, null otherwise\n * - metadata: Progress information and world_id\n * - response: Generated World if done=true, null otherwise\n * - cost: Settled credit cost breakdown; populated only when the\n * operation completed successfully (done=true with no error)\n * and a public price is known for its operation type. Failed\n * or in-progress operations return null.\n *\n * Raises:\n * HTTPException: 401 if unauthorized\n * HTTPException: 404 if operation not found\n * HTTPException: 500 if request fails\n */\nexport const getOperationMarbleV1OperationsOperationIdGet = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<\n GetOperationMarbleV1OperationsOperationIdGetData,\n ThrowOnError\n >,\n): RequestResult<\n GetOperationMarbleV1OperationsOperationIdGetResponses,\n GetOperationMarbleV1OperationsOperationIdGetErrors,\n ThrowOnError\n> =>\n (options.client ?? client).get<\n GetOperationMarbleV1OperationsOperationIdGetResponses,\n GetOperationMarbleV1OperationsOperationIdGetErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/operations/{operation_id}',\n ...options,\n })\n\n/**\n * Pano Depth To Rgb\n *\n * Generate an RGB panorama from a depth panorama.\n *\n * Provide a depth panorama and a text prompt\n * describing the desired appearance. The depth map\n * supplies the scene geometry; the model synthesizes\n * textures that match that geometry and returns a\n * panoramic RGB image.\n *\n * Accepted depth inputs:\n *\n * * **EXR**: float depth values. Omit\n * ``z_min`` and ``z_max``.\n * * **PNG**: depth values normalized to [0, 1].\n * Provide both ``z_min`` and ``z_max`` so the\n * service can decode the PNG correctly.\n *\n * For a complete PNG-based workflow, see the\n * [web-chisel-depth-png example](https://github.com/worldlabsai/worldlabs-api-examples/tree/main/web-chisel-depth-png).\n *\n * Returns a long-running ``Operation``. Poll\n * ``GET /operations/{operation_id}`` until\n * ``done`` is ``true``, then read the generated\n * panorama URL from ``response.pano_url``.\n *\n * Raises:\n * HTTPException: 400 if invalid request\n * HTTPException: 402 if insufficient credits\n * HTTPException: 500 if generation could not start\n */\nexport const panoDepthToRgbMarbleV1PanoDepthToRgbPost = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<PanoDepthToRgbMarbleV1PanoDepthToRgbPostData, ThrowOnError>,\n): RequestResult<\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses,\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors,\n ThrowOnError\n> =>\n (options.client ?? client).post<\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses,\n PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/pano:depth_to_rgb',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Delete World\n *\n * Delete a world by ID.\n *\n * Permanently deletes a world and its associated assets.\n * Only the world owner can delete a world.\n *\n * Args:\n * world_id: The unique identifier of the world to delete.\n *\n * Returns:\n * DeleteWorldResponse confirming the deletion.\n *\n * Raises:\n * HTTPException: 403 if user is not the world owner\n * HTTPException: 404 if world not found\n * HTTPException: 500 if deletion fails\n */\nexport const deleteWorldMarbleV1WorldsWorldIdDelete = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<DeleteWorldMarbleV1WorldsWorldIdDeleteData, ThrowOnError>,\n): RequestResult<\n DeleteWorldMarbleV1WorldsWorldIdDeleteResponses,\n DeleteWorldMarbleV1WorldsWorldIdDeleteErrors,\n ThrowOnError\n> =>\n (options.client ?? client).delete<\n DeleteWorldMarbleV1WorldsWorldIdDeleteResponses,\n DeleteWorldMarbleV1WorldsWorldIdDeleteErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/worlds/{world_id}',\n ...options,\n })\n\n/**\n * Get World\n *\n * Get a world by ID.\n *\n * Retrieves a world's details including generated assets if available.\n * Only the world owner or users with access to public worlds can retrieve them.\n *\n * Args:\n * world_id: The unique identifier of the world.\n *\n * Returns:\n * World object with world_id, display_name, tags, assets, created_at,\n * updated_at, permission, model, world_prompt, and world_marble_url.\n *\n * Raises:\n * HTTPException: 404 if world not found or access denied\n */\nexport const getWorldMarbleV1WorldsWorldIdGet = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GetWorldMarbleV1WorldsWorldIdGetData, ThrowOnError>,\n): RequestResult<\n GetWorldMarbleV1WorldsWorldIdGetResponses,\n GetWorldMarbleV1WorldsWorldIdGetErrors,\n ThrowOnError\n> =>\n (options.client ?? client).get<\n GetWorldMarbleV1WorldsWorldIdGetResponses,\n GetWorldMarbleV1WorldsWorldIdGetErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/worlds/{world_id}',\n ...options,\n })\n\n/**\n * Export World\n *\n * Export a generated world asset.\n *\n * PLY splat exports are converted synchronously, cached in GCS, and returned\n * as completed operations. HQ mesh exports reuse the existing async mesh\n * export service and return an in-progress operation.\n */\nexport const exportWorldMarbleV1WorldsWorldIdExportPost = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<\n ExportWorldMarbleV1WorldsWorldIdExportPostData,\n ThrowOnError\n >,\n): RequestResult<\n ExportWorldMarbleV1WorldsWorldIdExportPostResponses,\n ExportWorldMarbleV1WorldsWorldIdExportPostErrors,\n ThrowOnError\n> =>\n (options.client ?? client).post<\n ExportWorldMarbleV1WorldsWorldIdExportPostResponses,\n ExportWorldMarbleV1WorldsWorldIdExportPostErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/worlds/{world_id}:export',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * Generate World\n *\n * Start world generation.\n *\n * Creates a new world generation job and returns a long-running operation.\n * Poll the /operations/{operation_id} endpoint to check generation status\n * and retrieve the generated world when complete.\n *\n * Args:\n * request: The world generation request containing world_prompt, display_name,\n * tags, model, seed, and permission settings.\n *\n * Returns:\n * GenerateWorldResponse with operation_id and timestamps. Use the operation_id\n * to poll for completion.\n *\n * Raises:\n * HTTPException: 400 if invalid request or content violates policies\n * HTTPException: 402 if insufficient credits\n * HTTPException: 500 if generation could not be started\n */\nexport const generateWorldMarbleV1WorldsGeneratePost = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<GenerateWorldMarbleV1WorldsGeneratePostData, ThrowOnError>,\n): RequestResult<\n GenerateWorldMarbleV1WorldsGeneratePostResponses,\n GenerateWorldMarbleV1WorldsGeneratePostErrors,\n ThrowOnError\n> =>\n (options.client ?? client).post<\n GenerateWorldMarbleV1WorldsGeneratePostResponses,\n GenerateWorldMarbleV1WorldsGeneratePostErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/worlds:generate',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n\n/**\n * List Worlds\n *\n * List worlds with optional filters.\n *\n * Returns worlds created through the API with optional filtering and pagination.\n *\n * Args:\n * request: List request with optional filters:\n * - page_size: Number of results per page (default: 10)\n * - page_token: Pagination token from previous response\n * - status: Filter by status (e.g., \"COMPLETED\")\n * - model: Filter by model name (e.g., \"marble-1.0-plus\")\n * - tags: Filter by tags (matches worlds with any tag)\n * - is_public: Filter by visibility (true=public, false=private, null=all)\n * - created_after: Filter by creation time (after timestamp)\n * - created_before: Filter by creation time (before timestamp)\n * - sort_by: Sort order (\"created_at\" or \"updated_at\")\n *\n * Returns:\n * ListWorldsResponse with worlds list and next_page_token for pagination.\n *\n * Raises:\n * HTTPException: 400 if invalid parameters\n * HTTPException: 500 if request fails\n */\nexport const listWorldsMarbleV1WorldsListPost = <\n ThrowOnError extends boolean = false,\n>(\n options: Options<ListWorldsMarbleV1WorldsListPostData, ThrowOnError>,\n): RequestResult<\n ListWorldsMarbleV1WorldsListPostResponses,\n ListWorldsMarbleV1WorldsListPostErrors,\n ThrowOnError\n> =>\n (options.client ?? client).post<\n ListWorldsMarbleV1WorldsListPostResponses,\n ListWorldsMarbleV1WorldsListPostErrors,\n ThrowOnError\n >({\n security: [{ name: 'WLT-Api-Key', type: 'apiKey' }],\n url: '/marble/v1/worlds:list',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers,\n },\n })\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2PA,IAAa,gDAGX,aASC,QAAQ,UAAU,OAAA,CAAQ,IAIzB;CACA,UAAU,CAAC;EAAE,MAAM;EAAe,MAAM;CAAS,CAAC;CAClD,KAAK;CACL,GAAG;AACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;AA6LH,IAAa,2CAGX,aAMC,QAAQ,UAAU,OAAA,CAAQ,KAIzB;CACA,UAAU,CAAC;EAAE,MAAM;EAAe,MAAM;CAAS,CAAC;CAClD,KAAK;CACL,GAAG;CACH,SAAS;EACP,gBAAgB;EAChB,GAAG,QAAQ;CACb;AACF,CAAC"}