@indexable/sdk 0.0.4 → 0.2.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.
@@ -0,0 +1,4507 @@
1
+ // This file was autogenerated by uniffi-bindgen
2
+ // Do not edit manually.
3
+
4
+ // @ts-nocheck
5
+ import koffi from 'koffi';
6
+ import { existsSync } from 'node:fs';
7
+ import path from 'node:path';
8
+ import { fileURLToPath } from 'node:url';
9
+
10
+ // ---- Rust buffer types ----
11
+
12
+ const RustBufferByValue = koffi.struct('RustBuffer', {
13
+ capacity: 'int32',
14
+ len: 'int32',
15
+ data: 'uint8 *',
16
+ });
17
+
18
+ const ForeignBytesByValue = koffi.struct('ForeignBytes', {
19
+ len: 'int32',
20
+ data: 'const uint8 *',
21
+ });
22
+
23
+ const RustCallStatus = koffi.struct('RustCallStatus', {
24
+ code: 'int8',
25
+ errorBuf: RustBufferByValue,
26
+ });
27
+
28
+ // ---- Load native library ----
29
+
30
+ const __filename = fileURLToPath(import.meta.url);
31
+ const __dirname = path.dirname(__filename);
32
+
33
+ function libFileName(): string {
34
+ const libName = 'ix_sdk_ffi';
35
+ if (process.platform === 'darwin') return `lib${libName}.dylib`;
36
+ if (process.platform === 'win32') return `${libName}.dll`;
37
+ return `lib${libName}.so`;
38
+ }
39
+
40
+ function findLibrary(): string {
41
+ const name = libFileName();
42
+
43
+ // 1. Explicit env var override
44
+ const envPath = process.env.UNIFFI_LIB_PATH;
45
+ if (envPath) return envPath;
46
+
47
+ // 2. Adjacent to this file (npm package distribution)
48
+ const adjacent = path.join(__dirname, name);
49
+ if (existsSync(adjacent)) return adjacent;
50
+
51
+ // 3. Package root npm/ platform dir
52
+ const pkgRoot = path.resolve(__dirname, '..', '..');
53
+ const npmDir = path.join(pkgRoot, 'npm', `${process.platform}-${process.arch}`, name);
54
+ if (existsSync(npmDir)) return npmDir;
55
+
56
+ // 4. Cargo target/release (development)
57
+ const cargoRelease = path.resolve(pkgRoot, '..', '..', 'target', 'release', name);
58
+ if (existsSync(cargoRelease)) return cargoRelease;
59
+
60
+ // 5. Fall back to bare name (let dlopen search LD_LIBRARY_PATH/DYLD_LIBRARY_PATH)
61
+ return name;
62
+ }
63
+
64
+ const lib = koffi.load(findLibrary());
65
+
66
+ // ---- FFI function registrations ----
67
+ const uniffiIxSdkFfiFnCloneIxsdkclient = lib.func('uniffi_ix_sdk_ffi_fn_clone_ixsdkclient', 'uint64', [
68
+ 'uint64',
69
+ koffi.out(koffi.pointer(RustCallStatus)),
70
+ ]);
71
+ const uniffiIxSdkFfiFnFreeIxsdkclient = lib.func('uniffi_ix_sdk_ffi_fn_free_ixsdkclient', 'void', [
72
+ 'uint64',
73
+ koffi.out(koffi.pointer(RustCallStatus)),
74
+ ]);
75
+ const uniffiIxSdkFfiFnConstructorIxsdkclientNew = lib.func('uniffi_ix_sdk_ffi_fn_constructor_ixsdkclient_new', 'uint64', [
76
+ RustBufferByValue,
77
+ RustBufferByValue,
78
+ koffi.out(koffi.pointer(RustCallStatus)),
79
+ ]);
80
+ const uniffiIxSdkFfiFnMethodIxsdkclientBillingStatus = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_billing_status', 'uint64', [
81
+ 'uint64',
82
+ ]);
83
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateApiToken = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_api_token', 'uint64', [
84
+ 'uint64',
85
+ RustBufferByValue,
86
+ ]);
87
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateCheckoutSession = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_checkout_session', 'uint64', [
88
+ 'uint64',
89
+ RustBufferByValue,
90
+ ]);
91
+ const uniffiIxSdkFfiFnMethodIxsdkclientListApiTokens = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_api_tokens', 'uint64', [
92
+ 'uint64',
93
+ ]);
94
+ const uniffiIxSdkFfiFnMethodIxsdkclientMe = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_me', 'uint64', [
95
+ 'uint64',
96
+ ]);
97
+ const uniffiIxSdkFfiFnMethodIxsdkclientRevokeApiToken = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_revoke_api_token', 'uint64', [
98
+ 'uint64',
99
+ RustBufferByValue,
100
+ ]);
101
+ const uniffiIxSdkFfiFnMethodIxsdkclientUsageEvents = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_usage_events', 'uint64', [
102
+ 'uint64',
103
+ RustBufferByValue,
104
+ RustBufferByValue,
105
+ RustBufferByValue,
106
+ RustBufferByValue,
107
+ 'int64',
108
+ ]);
109
+ const uniffiIxSdkFfiFnMethodIxsdkclientComputeBySubdomain = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_compute_by_subdomain', 'uint64', [
110
+ 'uint64',
111
+ RustBufferByValue,
112
+ ]);
113
+ const uniffiIxSdkFfiFnMethodIxsdkclientComputeEnvVars = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_compute_env_vars', 'uint64', [
114
+ 'uint64',
115
+ RustBufferByValue,
116
+ ]);
117
+ const uniffiIxSdkFfiFnMethodIxsdkclientComputeInstances = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_compute_instances', 'uint64', [
118
+ 'uint64',
119
+ RustBufferByValue,
120
+ ]);
121
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_compute', 'uint64', [
122
+ 'uint64',
123
+ RustBufferByValue,
124
+ ]);
125
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateComputeAndWait = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_compute_and_wait', 'uint64', [
126
+ 'uint64',
127
+ RustBufferByValue,
128
+ ]);
129
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeleteCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_delete_compute', 'uint64', [
130
+ 'uint64',
131
+ RustBufferByValue,
132
+ ]);
133
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeleteComputeEnv = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_delete_compute_env', 'uint64', [
134
+ 'uint64',
135
+ RustBufferByValue,
136
+ RustBufferByValue,
137
+ ]);
138
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeployCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_deploy_compute', 'uint64', [
139
+ 'uint64',
140
+ RustBufferByValue,
141
+ ]);
142
+ const uniffiIxSdkFfiFnMethodIxsdkclientExecCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_exec_compute', 'uint64', [
143
+ 'uint64',
144
+ RustBufferByValue,
145
+ RustBufferByValue,
146
+ RustBufferByValue,
147
+ ]);
148
+ const uniffiIxSdkFfiFnMethodIxsdkclientListComputes = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_computes', 'uint64', [
149
+ 'uint64',
150
+ ]);
151
+ const uniffiIxSdkFfiFnMethodIxsdkclientPauseCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_pause_compute', 'uint64', [
152
+ 'uint64',
153
+ RustBufferByValue,
154
+ ]);
155
+ const uniffiIxSdkFfiFnMethodIxsdkclientResumeCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_resume_compute', 'uint64', [
156
+ 'uint64',
157
+ RustBufferByValue,
158
+ ]);
159
+ const uniffiIxSdkFfiFnMethodIxsdkclientSetComputeEnv = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_set_compute_env', 'uint64', [
160
+ 'uint64',
161
+ RustBufferByValue,
162
+ RustBufferByValue,
163
+ RustBufferByValue,
164
+ ]);
165
+ const uniffiIxSdkFfiFnMethodIxsdkclientShellAttachInfo = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_shell_attach_info', 'uint64', [
166
+ 'uint64',
167
+ RustBufferByValue,
168
+ ]);
169
+ const uniffiIxSdkFfiFnMethodIxsdkclientUpdateCompute = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_update_compute', 'uint64', [
170
+ 'uint64',
171
+ RustBufferByValue,
172
+ ]);
173
+ const uniffiIxSdkFfiFnMethodIxsdkclientAddVmToGroup = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_add_vm_to_group', 'uint64', [
174
+ 'uint64',
175
+ RustBufferByValue,
176
+ RustBufferByValue,
177
+ ]);
178
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateVmGroup = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_vm_group', 'uint64', [
179
+ 'uint64',
180
+ RustBufferByValue,
181
+ ]);
182
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeleteVmGroup = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_delete_vm_group', 'uint64', [
183
+ 'uint64',
184
+ RustBufferByValue,
185
+ ]);
186
+ const uniffiIxSdkFfiFnMethodIxsdkclientListVmGroups = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_vm_groups', 'uint64', [
187
+ 'uint64',
188
+ ]);
189
+ const uniffiIxSdkFfiFnMethodIxsdkclientRemoveVmFromGroup = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_remove_vm_from_group', 'uint64', [
190
+ 'uint64',
191
+ RustBufferByValue,
192
+ RustBufferByValue,
193
+ ]);
194
+ const uniffiIxSdkFfiFnMethodIxsdkclientDescribe = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_describe', 'void', [
195
+ 'uint64',
196
+ RustBufferByValue,
197
+ RustBufferByValue,
198
+ koffi.out(koffi.pointer(RustCallStatus)),
199
+ ]);
200
+ const uniffiIxSdkFfiFnMethodIxsdkclientExec = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_exec', 'uint64', [
201
+ 'uint64',
202
+ RustBufferByValue,
203
+ RustBufferByValue,
204
+ RustBufferByValue,
205
+ ]);
206
+ const uniffiIxSdkFfiFnMethodIxsdkclientFilter = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_filter', RustBufferByValue, [
207
+ 'uint64',
208
+ RustBufferByValue,
209
+ RustBufferByValue,
210
+ koffi.out(koffi.pointer(RustCallStatus)),
211
+ ]);
212
+ const uniffiIxSdkFfiFnMethodIxsdkclientForkAt = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_fork_at', 'uint64', [
213
+ 'uint64',
214
+ RustBufferByValue,
215
+ 'int64',
216
+ ]);
217
+ const uniffiIxSdkFfiFnMethodIxsdkclientForkBranch = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_fork_branch', 'uint64', [
218
+ 'uint64',
219
+ RustBufferByValue,
220
+ ]);
221
+ const uniffiIxSdkFfiFnMethodIxsdkclientGetFs = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_get_fs', RustBufferByValue, [
222
+ 'uint64',
223
+ RustBufferByValue,
224
+ koffi.out(koffi.pointer(RustCallStatus)),
225
+ ]);
226
+ const uniffiIxSdkFfiFnMethodIxsdkclientHead = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_head', 'uint64', [
227
+ 'uint64',
228
+ RustBufferByValue,
229
+ ]);
230
+ const uniffiIxSdkFfiFnMethodIxsdkclientListDirAt = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_dir_at', 'uint64', [
231
+ 'uint64',
232
+ RustBufferByValue,
233
+ RustBufferByValue,
234
+ 'int64',
235
+ ]);
236
+ const uniffiIxSdkFfiFnMethodIxsdkclientReadFileAt = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_read_file_at', 'uint64', [
237
+ 'uint64',
238
+ RustBufferByValue,
239
+ RustBufferByValue,
240
+ 'int64',
241
+ ]);
242
+ const uniffiIxSdkFfiFnMethodIxsdkclientSnapshots = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_snapshots', 'uint64', [
243
+ 'uint64',
244
+ RustBufferByValue,
245
+ ]);
246
+ const uniffiIxSdkFfiFnMethodIxsdkclientSpawn = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_spawn', 'uint64', [
247
+ 'uint64',
248
+ RustBufferByValue,
249
+ RustBufferByValue,
250
+ ]);
251
+ const uniffiIxSdkFfiFnMethodIxsdkclientCancelMigration = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_cancel_migration', 'uint64', [
252
+ 'uint64',
253
+ RustBufferByValue,
254
+ ]);
255
+ const uniffiIxSdkFfiFnMethodIxsdkclientMigrateVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_migrate_vm', 'uint64', [
256
+ 'uint64',
257
+ RustBufferByValue,
258
+ RustBufferByValue,
259
+ ]);
260
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmMigration = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_migration', 'uint64', [
261
+ 'uint64',
262
+ RustBufferByValue,
263
+ ]);
264
+ const uniffiIxSdkFfiFnMethodIxsdkclientAddMountTarget = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_add_mount_target', 'void', [
265
+ 'uint64',
266
+ RustBufferByValue,
267
+ RustBufferByValue,
268
+ koffi.out(koffi.pointer(RustCallStatus)),
269
+ ]);
270
+ const uniffiIxSdkFfiFnMethodIxsdkclientListMountTargets = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_mount_targets', RustBufferByValue, [
271
+ 'uint64',
272
+ koffi.out(koffi.pointer(RustCallStatus)),
273
+ ]);
274
+ const uniffiIxSdkFfiFnMethodIxsdkclientMountStatus = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_mount_status', RustBufferByValue, [
275
+ 'uint64',
276
+ koffi.out(koffi.pointer(RustCallStatus)),
277
+ ]);
278
+ const uniffiIxSdkFfiFnMethodIxsdkclientRemoveMountTarget = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_remove_mount_target', 'void', [
279
+ 'uint64',
280
+ RustBufferByValue,
281
+ koffi.out(koffi.pointer(RustCallStatus)),
282
+ ]);
283
+ const uniffiIxSdkFfiFnMethodIxsdkclientSyncMountTarget = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_sync_mount_target', 'uint64', [
284
+ 'uint64',
285
+ RustBufferByValue,
286
+ ]);
287
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreatePreview = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_preview', 'uint64', [
288
+ 'uint64',
289
+ RustBufferByValue,
290
+ ]);
291
+ const uniffiIxSdkFfiFnMethodIxsdkclientListPreviews = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_previews', 'uint64', [
292
+ 'uint64',
293
+ ]);
294
+ const uniffiIxSdkFfiFnMethodIxsdkclientPreviewStatus = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_preview_status', 'uint64', [
295
+ 'uint64',
296
+ RustBufferByValue,
297
+ ]);
298
+ const uniffiIxSdkFfiFnMethodIxsdkclientPromotePreview = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_promote_preview', 'uint64', [
299
+ 'uint64',
300
+ RustBufferByValue,
301
+ ]);
302
+ const uniffiIxSdkFfiFnMethodIxsdkclientStopPreview = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_stop_preview', 'uint64', [
303
+ 'uint64',
304
+ RustBufferByValue,
305
+ ]);
306
+ const uniffiIxSdkFfiFnMethodIxsdkclientListRegions = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_regions', 'uint64', [
307
+ 'uint64',
308
+ ]);
309
+ const uniffiIxSdkFfiFnMethodIxsdkclientCheckpointVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_checkpoint_vm', 'uint64', [
310
+ 'uint64',
311
+ RustBufferByValue,
312
+ ]);
313
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_vm', 'uint64', [
314
+ 'uint64',
315
+ RustBufferByValue,
316
+ RustBufferByValue,
317
+ RustBufferByValue,
318
+ RustBufferByValue,
319
+ RustBufferByValue,
320
+ RustBufferByValue,
321
+ RustBufferByValue,
322
+ RustBufferByValue,
323
+ ]);
324
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeleteVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_delete_vm', 'uint64', [
325
+ 'uint64',
326
+ RustBufferByValue,
327
+ ]);
328
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeleteVmSecret = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_delete_vm_secret', 'uint64', [
329
+ 'uint64',
330
+ RustBufferByValue,
331
+ RustBufferByValue,
332
+ ]);
333
+ const uniffiIxSdkFfiFnMethodIxsdkclientExecVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_exec_vm', 'uint64', [
334
+ 'uint64',
335
+ RustBufferByValue,
336
+ RustBufferByValue,
337
+ RustBufferByValue,
338
+ ]);
339
+ const uniffiIxSdkFfiFnMethodIxsdkclientForkVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_fork_vm', 'uint64', [
340
+ 'uint64',
341
+ RustBufferByValue,
342
+ RustBufferByValue,
343
+ RustBufferByValue,
344
+ ]);
345
+ const uniffiIxSdkFfiFnMethodIxsdkclientForkVmAtTimestampMs = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_fork_vm_at_timestamp_ms', 'uint64', [
346
+ 'uint64',
347
+ RustBufferByValue,
348
+ 'int64',
349
+ RustBufferByValue,
350
+ RustBufferByValue,
351
+ ]);
352
+ const uniffiIxSdkFfiFnMethodIxsdkclientGetVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_get_vm', 'uint64', [
353
+ 'uint64',
354
+ RustBufferByValue,
355
+ ]);
356
+ const uniffiIxSdkFfiFnMethodIxsdkclientGetVmByName = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_get_vm_by_name', 'uint64', [
357
+ 'uint64',
358
+ RustBufferByValue,
359
+ ]);
360
+ const uniffiIxSdkFfiFnMethodIxsdkclientListVmSnapshotBranches = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_vm_snapshot_branches', 'uint64', [
361
+ 'uint64',
362
+ RustBufferByValue,
363
+ ]);
364
+ const uniffiIxSdkFfiFnMethodIxsdkclientListVmSnapshots = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_vm_snapshots', 'uint64', [
365
+ 'uint64',
366
+ RustBufferByValue,
367
+ ]);
368
+ const uniffiIxSdkFfiFnMethodIxsdkclientListVms = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_vms', 'uint64', [
369
+ 'uint64',
370
+ RustBufferByValue,
371
+ ]);
372
+ const uniffiIxSdkFfiFnMethodIxsdkclientMergeVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_merge_vm', 'uint64', [
373
+ 'uint64',
374
+ RustBufferByValue,
375
+ RustBufferByValue,
376
+ RustBufferByValue,
377
+ ]);
378
+ const uniffiIxSdkFfiFnMethodIxsdkclientPreviewMergeVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_preview_merge_vm', 'uint64', [
379
+ 'uint64',
380
+ RustBufferByValue,
381
+ RustBufferByValue,
382
+ ]);
383
+ const uniffiIxSdkFfiFnMethodIxsdkclientRedoVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_redo_vm', 'uint64', [
384
+ 'uint64',
385
+ RustBufferByValue,
386
+ ]);
387
+ const uniffiIxSdkFfiFnMethodIxsdkclientRestartVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_restart_vm', 'uint64', [
388
+ 'uint64',
389
+ RustBufferByValue,
390
+ ]);
391
+ const uniffiIxSdkFfiFnMethodIxsdkclientRevertVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_revert_vm', 'uint64', [
392
+ 'uint64',
393
+ RustBufferByValue,
394
+ RustBufferByValue,
395
+ ]);
396
+ const uniffiIxSdkFfiFnMethodIxsdkclientRevertVmToTimestampMs = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_revert_vm_to_timestamp_ms', 'uint64', [
397
+ 'uint64',
398
+ RustBufferByValue,
399
+ 'int64',
400
+ ]);
401
+ const uniffiIxSdkFfiFnMethodIxsdkclientSetVmSecret = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_set_vm_secret', 'uint64', [
402
+ 'uint64',
403
+ RustBufferByValue,
404
+ RustBufferByValue,
405
+ RustBufferByValue,
406
+ ]);
407
+ const uniffiIxSdkFfiFnMethodIxsdkclientStartVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_start_vm', 'uint64', [
408
+ 'uint64',
409
+ RustBufferByValue,
410
+ ]);
411
+ const uniffiIxSdkFfiFnMethodIxsdkclientStopVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_stop_vm', 'uint64', [
412
+ 'uint64',
413
+ RustBufferByValue,
414
+ ]);
415
+ const uniffiIxSdkFfiFnMethodIxsdkclientUndoVm = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_undo_vm', 'uint64', [
416
+ 'uint64',
417
+ RustBufferByValue,
418
+ ]);
419
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmAttachInfo = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_attach_info', 'uint64', [
420
+ 'uint64',
421
+ RustBufferByValue,
422
+ ]);
423
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmFsList = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_fs_list', 'uint64', [
424
+ 'uint64',
425
+ RustBufferByValue,
426
+ RustBufferByValue,
427
+ ]);
428
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmFsListAtTimestampMs = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_fs_list_at_timestamp_ms', 'uint64', [
429
+ 'uint64',
430
+ RustBufferByValue,
431
+ RustBufferByValue,
432
+ 'int64',
433
+ ]);
434
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmFsRead = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_fs_read', 'uint64', [
435
+ 'uint64',
436
+ RustBufferByValue,
437
+ RustBufferByValue,
438
+ ]);
439
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmFsReadAtTimestampMs = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_fs_read_at_timestamp_ms', 'uint64', [
440
+ 'uint64',
441
+ RustBufferByValue,
442
+ RustBufferByValue,
443
+ 'int64',
444
+ ]);
445
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmFsWrite = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_fs_write', 'uint64', [
446
+ 'uint64',
447
+ RustBufferByValue,
448
+ RustBufferByValue,
449
+ RustBufferByValue,
450
+ RustBufferByValue,
451
+ ]);
452
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmLogs = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_logs', 'uint64', [
453
+ 'uint64',
454
+ RustBufferByValue,
455
+ 'int64',
456
+ RustBufferByValue,
457
+ RustBufferByValue,
458
+ ]);
459
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmMetrics = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_metrics', 'uint64', [
460
+ 'uint64',
461
+ RustBufferByValue,
462
+ ]);
463
+ const uniffiIxSdkFfiFnMethodIxsdkclientVmSecrets = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_vm_secrets', 'uint64', [
464
+ 'uint64',
465
+ RustBufferByValue,
466
+ ]);
467
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateSnapshot = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_snapshot', 'uint64', [
468
+ 'uint64',
469
+ RustBufferByValue,
470
+ RustBufferByValue,
471
+ ]);
472
+ const uniffiIxSdkFfiFnMethodIxsdkclientCreateVolume = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_create_volume', 'uint64', [
473
+ 'uint64',
474
+ RustBufferByValue,
475
+ ]);
476
+ const uniffiIxSdkFfiFnMethodIxsdkclientDeleteVolume = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_delete_volume', 'uint64', [
477
+ 'uint64',
478
+ RustBufferByValue,
479
+ ]);
480
+ const uniffiIxSdkFfiFnMethodIxsdkclientForkVolume = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_fork_volume', 'uint64', [
481
+ 'uint64',
482
+ RustBufferByValue,
483
+ RustBufferByValue,
484
+ ]);
485
+ const uniffiIxSdkFfiFnMethodIxsdkclientListVolumes = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_list_volumes', 'uint64', [
486
+ 'uint64',
487
+ ]);
488
+ const uniffiIxSdkFfiFnMethodIxsdkclientRestoreToSnapshot = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_restore_to_snapshot', 'uint64', [
489
+ 'uint64',
490
+ RustBufferByValue,
491
+ ]);
492
+ const uniffiIxSdkFfiFnMethodIxsdkclientVolumeById = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_volume_by_id', 'uint64', [
493
+ 'uint64',
494
+ RustBufferByValue,
495
+ ]);
496
+ const uniffiIxSdkFfiFnMethodIxsdkclientVolumeSnapshots = lib.func('uniffi_ix_sdk_ffi_fn_method_ixsdkclient_volume_snapshots', 'uint64', [
497
+ 'uint64',
498
+ RustBufferByValue,
499
+ ]);
500
+ const ffiIxSdkFfiRustbufferAlloc = lib.func('ffi_ix_sdk_ffi_rustbuffer_alloc', RustBufferByValue, [
501
+ 'uint64',
502
+ koffi.out(koffi.pointer(RustCallStatus)),
503
+ ]);
504
+ const ffiIxSdkFfiRustbufferFromBytes = lib.func('ffi_ix_sdk_ffi_rustbuffer_from_bytes', RustBufferByValue, [
505
+ ForeignBytesByValue,
506
+ koffi.out(koffi.pointer(RustCallStatus)),
507
+ ]);
508
+ const ffiIxSdkFfiRustbufferFree = lib.func('ffi_ix_sdk_ffi_rustbuffer_free', 'void', [
509
+ RustBufferByValue,
510
+ koffi.out(koffi.pointer(RustCallStatus)),
511
+ ]);
512
+ const ffiIxSdkFfiRustbufferReserve = lib.func('ffi_ix_sdk_ffi_rustbuffer_reserve', RustBufferByValue, [
513
+ RustBufferByValue,
514
+ 'uint64',
515
+ koffi.out(koffi.pointer(RustCallStatus)),
516
+ ]);
517
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientBillingStatus = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_billing_status', 'uint16', [
518
+ ]);
519
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateApiToken = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_api_token', 'uint16', [
520
+ ]);
521
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateCheckoutSession = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_checkout_session', 'uint16', [
522
+ ]);
523
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListApiTokens = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_api_tokens', 'uint16', [
524
+ ]);
525
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientMe = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_me', 'uint16', [
526
+ ]);
527
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRevokeApiToken = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_revoke_api_token', 'uint16', [
528
+ ]);
529
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientUsageEvents = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_usage_events', 'uint16', [
530
+ ]);
531
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientComputeBySubdomain = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_compute_by_subdomain', 'uint16', [
532
+ ]);
533
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientComputeEnvVars = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_compute_env_vars', 'uint16', [
534
+ ]);
535
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientComputeInstances = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_compute_instances', 'uint16', [
536
+ ]);
537
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_compute', 'uint16', [
538
+ ]);
539
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateComputeAndWait = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_compute_and_wait', 'uint16', [
540
+ ]);
541
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeleteCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_delete_compute', 'uint16', [
542
+ ]);
543
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeleteComputeEnv = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_delete_compute_env', 'uint16', [
544
+ ]);
545
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeployCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_deploy_compute', 'uint16', [
546
+ ]);
547
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientExecCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_exec_compute', 'uint16', [
548
+ ]);
549
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListComputes = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_computes', 'uint16', [
550
+ ]);
551
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientPauseCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_pause_compute', 'uint16', [
552
+ ]);
553
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientResumeCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_resume_compute', 'uint16', [
554
+ ]);
555
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientSetComputeEnv = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_set_compute_env', 'uint16', [
556
+ ]);
557
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientShellAttachInfo = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_shell_attach_info', 'uint16', [
558
+ ]);
559
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientUpdateCompute = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_update_compute', 'uint16', [
560
+ ]);
561
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientAddVmToGroup = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_add_vm_to_group', 'uint16', [
562
+ ]);
563
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateVmGroup = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_vm_group', 'uint16', [
564
+ ]);
565
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeleteVmGroup = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_delete_vm_group', 'uint16', [
566
+ ]);
567
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListVmGroups = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_vm_groups', 'uint16', [
568
+ ]);
569
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRemoveVmFromGroup = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_remove_vm_from_group', 'uint16', [
570
+ ]);
571
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDescribe = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_describe', 'uint16', [
572
+ ]);
573
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientExec = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_exec', 'uint16', [
574
+ ]);
575
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientFilter = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_filter', 'uint16', [
576
+ ]);
577
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientForkAt = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_fork_at', 'uint16', [
578
+ ]);
579
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientForkBranch = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_fork_branch', 'uint16', [
580
+ ]);
581
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientGetFs = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_get_fs', 'uint16', [
582
+ ]);
583
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientHead = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_head', 'uint16', [
584
+ ]);
585
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListDirAt = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_dir_at', 'uint16', [
586
+ ]);
587
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientReadFileAt = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_read_file_at', 'uint16', [
588
+ ]);
589
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientSnapshots = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_snapshots', 'uint16', [
590
+ ]);
591
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientSpawn = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_spawn', 'uint16', [
592
+ ]);
593
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCancelMigration = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_cancel_migration', 'uint16', [
594
+ ]);
595
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientMigrateVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_migrate_vm', 'uint16', [
596
+ ]);
597
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmMigration = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_migration', 'uint16', [
598
+ ]);
599
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientAddMountTarget = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_add_mount_target', 'uint16', [
600
+ ]);
601
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListMountTargets = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_mount_targets', 'uint16', [
602
+ ]);
603
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientMountStatus = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_mount_status', 'uint16', [
604
+ ]);
605
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRemoveMountTarget = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_remove_mount_target', 'uint16', [
606
+ ]);
607
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientSyncMountTarget = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_sync_mount_target', 'uint16', [
608
+ ]);
609
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreatePreview = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_preview', 'uint16', [
610
+ ]);
611
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListPreviews = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_previews', 'uint16', [
612
+ ]);
613
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientPreviewStatus = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_preview_status', 'uint16', [
614
+ ]);
615
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientPromotePreview = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_promote_preview', 'uint16', [
616
+ ]);
617
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientStopPreview = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_stop_preview', 'uint16', [
618
+ ]);
619
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListRegions = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_regions', 'uint16', [
620
+ ]);
621
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCheckpointVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_checkpoint_vm', 'uint16', [
622
+ ]);
623
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_vm', 'uint16', [
624
+ ]);
625
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeleteVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_delete_vm', 'uint16', [
626
+ ]);
627
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeleteVmSecret = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_delete_vm_secret', 'uint16', [
628
+ ]);
629
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientExecVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_exec_vm', 'uint16', [
630
+ ]);
631
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientForkVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_fork_vm', 'uint16', [
632
+ ]);
633
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientForkVmAtTimestampMs = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_fork_vm_at_timestamp_ms', 'uint16', [
634
+ ]);
635
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientGetVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_get_vm', 'uint16', [
636
+ ]);
637
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientGetVmByName = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_get_vm_by_name', 'uint16', [
638
+ ]);
639
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListVmSnapshotBranches = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_vm_snapshot_branches', 'uint16', [
640
+ ]);
641
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListVmSnapshots = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_vm_snapshots', 'uint16', [
642
+ ]);
643
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListVms = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_vms', 'uint16', [
644
+ ]);
645
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientMergeVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_merge_vm', 'uint16', [
646
+ ]);
647
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientPreviewMergeVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_preview_merge_vm', 'uint16', [
648
+ ]);
649
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRedoVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_redo_vm', 'uint16', [
650
+ ]);
651
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRestartVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_restart_vm', 'uint16', [
652
+ ]);
653
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRevertVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_revert_vm', 'uint16', [
654
+ ]);
655
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRevertVmToTimestampMs = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_revert_vm_to_timestamp_ms', 'uint16', [
656
+ ]);
657
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientSetVmSecret = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_set_vm_secret', 'uint16', [
658
+ ]);
659
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientStartVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_start_vm', 'uint16', [
660
+ ]);
661
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientStopVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_stop_vm', 'uint16', [
662
+ ]);
663
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientUndoVm = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_undo_vm', 'uint16', [
664
+ ]);
665
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmAttachInfo = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_attach_info', 'uint16', [
666
+ ]);
667
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmFsList = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_fs_list', 'uint16', [
668
+ ]);
669
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmFsListAtTimestampMs = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_fs_list_at_timestamp_ms', 'uint16', [
670
+ ]);
671
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmFsRead = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_fs_read', 'uint16', [
672
+ ]);
673
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmFsReadAtTimestampMs = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_fs_read_at_timestamp_ms', 'uint16', [
674
+ ]);
675
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmFsWrite = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_fs_write', 'uint16', [
676
+ ]);
677
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmLogs = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_logs', 'uint16', [
678
+ ]);
679
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmMetrics = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_metrics', 'uint16', [
680
+ ]);
681
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVmSecrets = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_vm_secrets', 'uint16', [
682
+ ]);
683
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateSnapshot = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_snapshot', 'uint16', [
684
+ ]);
685
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientCreateVolume = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_create_volume', 'uint16', [
686
+ ]);
687
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientDeleteVolume = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_delete_volume', 'uint16', [
688
+ ]);
689
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientForkVolume = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_fork_volume', 'uint16', [
690
+ ]);
691
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientListVolumes = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_list_volumes', 'uint16', [
692
+ ]);
693
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientRestoreToSnapshot = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_restore_to_snapshot', 'uint16', [
694
+ ]);
695
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVolumeById = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_volume_by_id', 'uint16', [
696
+ ]);
697
+ const uniffiIxSdkFfiChecksumMethodIxsdkclientVolumeSnapshots = lib.func('uniffi_ix_sdk_ffi_checksum_method_ixsdkclient_volume_snapshots', 'uint16', [
698
+ ]);
699
+ const uniffiIxSdkFfiChecksumConstructorIxsdkclientNew = lib.func('uniffi_ix_sdk_ffi_checksum_constructor_ixsdkclient_new', 'uint16', [
700
+ ]);
701
+ const ffiIxSdkFfiUniffiContractVersion = lib.func('ffi_ix_sdk_ffi_uniffi_contract_version', 'uint32', [
702
+ ]);
703
+ // ---- Async FFI function registrations ----
704
+
705
+ const UniffiRustFutureContinuationCallback = koffi.proto('UniffiRustFutureContinuationCallback', 'void', ['uint64', 'int8']);
706
+ const ffiIxSdkFfiRustFuturePollU8 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_u8', 'void', [
707
+ 'uint64',
708
+ 'pointer',
709
+ 'uint64',
710
+ ]);
711
+ const ffiIxSdkFfiRustFutureCancelU8 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_u8', 'void', [
712
+ 'uint64',
713
+ ]);
714
+ const ffiIxSdkFfiRustFutureFreeU8 = lib.func('ffi_ix_sdk_ffi_rust_future_free_u8', 'void', [
715
+ 'uint64',
716
+ ]);
717
+ const ffiIxSdkFfiRustFutureCompleteU8 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_u8', 'uint8', [
718
+ 'uint64',
719
+ koffi.out(koffi.pointer(RustCallStatus)),
720
+ ]);
721
+ const ffiIxSdkFfiRustFuturePollI8 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_i8', 'void', [
722
+ 'uint64',
723
+ 'pointer',
724
+ 'uint64',
725
+ ]);
726
+ const ffiIxSdkFfiRustFutureCancelI8 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_i8', 'void', [
727
+ 'uint64',
728
+ ]);
729
+ const ffiIxSdkFfiRustFutureFreeI8 = lib.func('ffi_ix_sdk_ffi_rust_future_free_i8', 'void', [
730
+ 'uint64',
731
+ ]);
732
+ const ffiIxSdkFfiRustFutureCompleteI8 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_i8', 'int8', [
733
+ 'uint64',
734
+ koffi.out(koffi.pointer(RustCallStatus)),
735
+ ]);
736
+ const ffiIxSdkFfiRustFuturePollU16 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_u16', 'void', [
737
+ 'uint64',
738
+ 'pointer',
739
+ 'uint64',
740
+ ]);
741
+ const ffiIxSdkFfiRustFutureCancelU16 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_u16', 'void', [
742
+ 'uint64',
743
+ ]);
744
+ const ffiIxSdkFfiRustFutureFreeU16 = lib.func('ffi_ix_sdk_ffi_rust_future_free_u16', 'void', [
745
+ 'uint64',
746
+ ]);
747
+ const ffiIxSdkFfiRustFutureCompleteU16 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_u16', 'uint16', [
748
+ 'uint64',
749
+ koffi.out(koffi.pointer(RustCallStatus)),
750
+ ]);
751
+ const ffiIxSdkFfiRustFuturePollI16 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_i16', 'void', [
752
+ 'uint64',
753
+ 'pointer',
754
+ 'uint64',
755
+ ]);
756
+ const ffiIxSdkFfiRustFutureCancelI16 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_i16', 'void', [
757
+ 'uint64',
758
+ ]);
759
+ const ffiIxSdkFfiRustFutureFreeI16 = lib.func('ffi_ix_sdk_ffi_rust_future_free_i16', 'void', [
760
+ 'uint64',
761
+ ]);
762
+ const ffiIxSdkFfiRustFutureCompleteI16 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_i16', 'int16', [
763
+ 'uint64',
764
+ koffi.out(koffi.pointer(RustCallStatus)),
765
+ ]);
766
+ const ffiIxSdkFfiRustFuturePollU32 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_u32', 'void', [
767
+ 'uint64',
768
+ 'pointer',
769
+ 'uint64',
770
+ ]);
771
+ const ffiIxSdkFfiRustFutureCancelU32 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_u32', 'void', [
772
+ 'uint64',
773
+ ]);
774
+ const ffiIxSdkFfiRustFutureFreeU32 = lib.func('ffi_ix_sdk_ffi_rust_future_free_u32', 'void', [
775
+ 'uint64',
776
+ ]);
777
+ const ffiIxSdkFfiRustFutureCompleteU32 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_u32', 'uint32', [
778
+ 'uint64',
779
+ koffi.out(koffi.pointer(RustCallStatus)),
780
+ ]);
781
+ const ffiIxSdkFfiRustFuturePollI32 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_i32', 'void', [
782
+ 'uint64',
783
+ 'pointer',
784
+ 'uint64',
785
+ ]);
786
+ const ffiIxSdkFfiRustFutureCancelI32 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_i32', 'void', [
787
+ 'uint64',
788
+ ]);
789
+ const ffiIxSdkFfiRustFutureFreeI32 = lib.func('ffi_ix_sdk_ffi_rust_future_free_i32', 'void', [
790
+ 'uint64',
791
+ ]);
792
+ const ffiIxSdkFfiRustFutureCompleteI32 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_i32', 'int32', [
793
+ 'uint64',
794
+ koffi.out(koffi.pointer(RustCallStatus)),
795
+ ]);
796
+ const ffiIxSdkFfiRustFuturePollU64 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_u64', 'void', [
797
+ 'uint64',
798
+ 'pointer',
799
+ 'uint64',
800
+ ]);
801
+ const ffiIxSdkFfiRustFutureCancelU64 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_u64', 'void', [
802
+ 'uint64',
803
+ ]);
804
+ const ffiIxSdkFfiRustFutureFreeU64 = lib.func('ffi_ix_sdk_ffi_rust_future_free_u64', 'void', [
805
+ 'uint64',
806
+ ]);
807
+ const ffiIxSdkFfiRustFutureCompleteU64 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_u64', 'uint64', [
808
+ 'uint64',
809
+ koffi.out(koffi.pointer(RustCallStatus)),
810
+ ]);
811
+ const ffiIxSdkFfiRustFuturePollI64 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_i64', 'void', [
812
+ 'uint64',
813
+ 'pointer',
814
+ 'uint64',
815
+ ]);
816
+ const ffiIxSdkFfiRustFutureCancelI64 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_i64', 'void', [
817
+ 'uint64',
818
+ ]);
819
+ const ffiIxSdkFfiRustFutureFreeI64 = lib.func('ffi_ix_sdk_ffi_rust_future_free_i64', 'void', [
820
+ 'uint64',
821
+ ]);
822
+ const ffiIxSdkFfiRustFutureCompleteI64 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_i64', 'int64', [
823
+ 'uint64',
824
+ koffi.out(koffi.pointer(RustCallStatus)),
825
+ ]);
826
+ const ffiIxSdkFfiRustFuturePollF32 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_f32', 'void', [
827
+ 'uint64',
828
+ 'pointer',
829
+ 'uint64',
830
+ ]);
831
+ const ffiIxSdkFfiRustFutureCancelF32 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_f32', 'void', [
832
+ 'uint64',
833
+ ]);
834
+ const ffiIxSdkFfiRustFutureFreeF32 = lib.func('ffi_ix_sdk_ffi_rust_future_free_f32', 'void', [
835
+ 'uint64',
836
+ ]);
837
+ const ffiIxSdkFfiRustFutureCompleteF32 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_f32', 'float32', [
838
+ 'uint64',
839
+ koffi.out(koffi.pointer(RustCallStatus)),
840
+ ]);
841
+ const ffiIxSdkFfiRustFuturePollF64 = lib.func('ffi_ix_sdk_ffi_rust_future_poll_f64', 'void', [
842
+ 'uint64',
843
+ 'pointer',
844
+ 'uint64',
845
+ ]);
846
+ const ffiIxSdkFfiRustFutureCancelF64 = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_f64', 'void', [
847
+ 'uint64',
848
+ ]);
849
+ const ffiIxSdkFfiRustFutureFreeF64 = lib.func('ffi_ix_sdk_ffi_rust_future_free_f64', 'void', [
850
+ 'uint64',
851
+ ]);
852
+ const ffiIxSdkFfiRustFutureCompleteF64 = lib.func('ffi_ix_sdk_ffi_rust_future_complete_f64', 'float64', [
853
+ 'uint64',
854
+ koffi.out(koffi.pointer(RustCallStatus)),
855
+ ]);
856
+ const ffiIxSdkFfiRustFuturePollRustBuffer = lib.func('ffi_ix_sdk_ffi_rust_future_poll_rust_buffer', 'void', [
857
+ 'uint64',
858
+ 'pointer',
859
+ 'uint64',
860
+ ]);
861
+ const ffiIxSdkFfiRustFutureCancelRustBuffer = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_rust_buffer', 'void', [
862
+ 'uint64',
863
+ ]);
864
+ const ffiIxSdkFfiRustFutureFreeRustBuffer = lib.func('ffi_ix_sdk_ffi_rust_future_free_rust_buffer', 'void', [
865
+ 'uint64',
866
+ ]);
867
+ const ffiIxSdkFfiRustFutureCompleteRustBuffer = lib.func('ffi_ix_sdk_ffi_rust_future_complete_rust_buffer', RustBufferByValue, [
868
+ 'uint64',
869
+ koffi.out(koffi.pointer(RustCallStatus)),
870
+ ]);
871
+ const ffiIxSdkFfiRustFuturePollVoid = lib.func('ffi_ix_sdk_ffi_rust_future_poll_void', 'void', [
872
+ 'uint64',
873
+ 'pointer',
874
+ 'uint64',
875
+ ]);
876
+ const ffiIxSdkFfiRustFutureCancelVoid = lib.func('ffi_ix_sdk_ffi_rust_future_cancel_void', 'void', [
877
+ 'uint64',
878
+ ]);
879
+ const ffiIxSdkFfiRustFutureFreeVoid = lib.func('ffi_ix_sdk_ffi_rust_future_free_void', 'void', [
880
+ 'uint64',
881
+ ]);
882
+ const ffiIxSdkFfiRustFutureCompleteVoid = lib.func('ffi_ix_sdk_ffi_rust_future_complete_void', 'void', [
883
+ 'uint64',
884
+ koffi.out(koffi.pointer(RustCallStatus)),
885
+ ]);
886
+
887
+ // ---- Buffer reader/writer ----
888
+
889
+ class BufReader {
890
+ private view: DataView;
891
+ private offset: number;
892
+
893
+ constructor(buffer: ArrayBuffer) {
894
+ this.view = new DataView(buffer);
895
+ this.offset = 0;
896
+ }
897
+
898
+ readI8(): number { const v = this.view.getInt8(this.offset); this.offset += 1; return v; }
899
+ readU8(): number { const v = this.view.getUint8(this.offset); this.offset += 1; return v; }
900
+ readI16(): number { const v = this.view.getInt16(this.offset, false); this.offset += 2; return v; }
901
+ readU16(): number { const v = this.view.getUint16(this.offset, false); this.offset += 2; return v; }
902
+ readI32(): number { const v = this.view.getInt32(this.offset, false); this.offset += 4; return v; }
903
+ readU32(): number { const v = this.view.getUint32(this.offset, false); this.offset += 4; return v; }
904
+ readI64(): bigint { const v = this.view.getBigInt64(this.offset, false); this.offset += 8; return v; }
905
+ readU64(): bigint { const v = this.view.getBigUint64(this.offset, false); this.offset += 8; return v; }
906
+ readF32(): number { const v = this.view.getFloat32(this.offset, false); this.offset += 4; return v; }
907
+ readF64(): number { const v = this.view.getFloat64(this.offset, false); this.offset += 8; return v; }
908
+ readBool(): boolean { return this.readU8() !== 0; }
909
+
910
+ readString(): string {
911
+ const len = this.readI32();
912
+ const bytes = new Uint8Array(this.view.buffer, this.offset, len);
913
+ this.offset += len;
914
+ return new TextDecoder().decode(bytes);
915
+ }
916
+
917
+ readBytes(): Uint8Array {
918
+ const len = this.readI32();
919
+ const bytes = new Uint8Array(this.view.buffer.slice(this.offset, this.offset + len));
920
+ this.offset += len;
921
+ return bytes;
922
+ }
923
+
924
+ hasRemaining(): boolean {
925
+ return this.offset < this.view.byteLength;
926
+ }
927
+ }
928
+
929
+ class BufWriter {
930
+ private buf: Uint8Array;
931
+ private view: DataView;
932
+ private offset: number;
933
+
934
+ constructor(initialCapacity: number = 256) {
935
+ this.buf = new Uint8Array(initialCapacity);
936
+ this.view = new DataView(this.buf.buffer);
937
+ this.offset = 0;
938
+ }
939
+
940
+ private ensureCapacity(needed: number): void {
941
+ while (this.offset + needed > this.buf.length) {
942
+ const newBuf = new Uint8Array(this.buf.length * 2);
943
+ newBuf.set(this.buf);
944
+ this.buf = newBuf;
945
+ this.view = new DataView(this.buf.buffer);
946
+ }
947
+ }
948
+
949
+ writeI8(v: number): void { this.ensureCapacity(1); this.view.setInt8(this.offset, v); this.offset += 1; }
950
+ writeU8(v: number): void { this.ensureCapacity(1); this.view.setUint8(this.offset, v); this.offset += 1; }
951
+ writeI16(v: number): void { this.ensureCapacity(2); this.view.setInt16(this.offset, v, false); this.offset += 2; }
952
+ writeU16(v: number): void { this.ensureCapacity(2); this.view.setUint16(this.offset, v, false); this.offset += 2; }
953
+ writeI32(v: number): void { this.ensureCapacity(4); this.view.setInt32(this.offset, v, false); this.offset += 4; }
954
+ writeU32(v: number): void { this.ensureCapacity(4); this.view.setUint32(this.offset, v, false); this.offset += 4; }
955
+ writeI64(v: bigint): void { this.ensureCapacity(8); this.view.setBigInt64(this.offset, v, false); this.offset += 8; }
956
+ writeU64(v: bigint): void { this.ensureCapacity(8); this.view.setBigUint64(this.offset, v, false); this.offset += 8; }
957
+ writeF32(v: number): void { this.ensureCapacity(4); this.view.setFloat32(this.offset, v, false); this.offset += 4; }
958
+ writeF64(v: number): void { this.ensureCapacity(8); this.view.setFloat64(this.offset, v, false); this.offset += 8; }
959
+ writeBool(v: boolean): void { this.writeU8(v ? 1 : 0); }
960
+
961
+ writeString(v: string): void {
962
+ const encoded = new TextEncoder().encode(v);
963
+ this.writeI32(encoded.length);
964
+ this.ensureCapacity(encoded.length);
965
+ this.buf.set(encoded, this.offset);
966
+ this.offset += encoded.length;
967
+ }
968
+
969
+ writeBytes(v: Uint8Array): void {
970
+ this.ensureCapacity(v.length);
971
+ this.buf.set(v, this.offset);
972
+ this.offset += v.length;
973
+ }
974
+
975
+ toArrayBuffer(): ArrayBuffer {
976
+ return this.buf.buffer.slice(0, this.offset);
977
+ }
978
+ }
979
+
980
+ // ---- Helpers ----
981
+
982
+ const CALL_SUCCESS: number = 0;
983
+ const CALL_ERROR: number = 1;
984
+ const CALL_UNEXPECTED_ERROR: number = 2;
985
+
986
+ class UniffiError extends Error {
987
+ constructor(message: string) {
988
+ super(message);
989
+ this.name = 'UniffiError';
990
+ }
991
+ }
992
+
993
+ const uniffiCloneHandle = Symbol('uniffiCloneHandle');
994
+
995
+ function rustCall<T>(fn: (callStatus: any) => T): T {
996
+ const callStatus = { code: 0, errorBuf: { capacity: 0, len: 0, data: null } };
997
+ const result = fn(callStatus);
998
+ checkCallStatus(callStatus);
999
+ return result;
1000
+ }
1001
+
1002
+ function rustCallWithError<T>(errorLifter: (buf: any) => Error, fn: (callStatus: any) => T): T {
1003
+ const callStatus = { code: 0, errorBuf: { capacity: 0, len: 0, data: null } };
1004
+ const result = fn(callStatus);
1005
+ checkCallStatusWithError(callStatus, errorLifter);
1006
+ return result;
1007
+ }
1008
+
1009
+ function checkCallStatus(callStatus: any): void {
1010
+ switch (callStatus.code) {
1011
+ case CALL_SUCCESS:
1012
+ return;
1013
+ case CALL_ERROR:
1014
+ if (callStatus.errorBuf.len > 0) {
1015
+ deallocRustBuffer(callStatus.errorBuf);
1016
+ }
1017
+ throw new UniffiError('Unexpected call error');
1018
+ case CALL_UNEXPECTED_ERROR:
1019
+ if (callStatus.errorBuf.len > 0) {
1020
+ const msg = liftString(callStatus.errorBuf);
1021
+ throw new UniffiError(msg);
1022
+ }
1023
+ throw new UniffiError('Rust panic');
1024
+ default:
1025
+ throw new UniffiError(`Unexpected call status code: ${callStatus.code}`);
1026
+ }
1027
+ }
1028
+
1029
+ function checkCallStatusWithError(callStatus: any, errorLifter: (buf: any) => Error): void {
1030
+ switch (callStatus.code) {
1031
+ case CALL_SUCCESS:
1032
+ return;
1033
+ case CALL_ERROR:
1034
+ throw errorLifter(callStatus.errorBuf);
1035
+ case CALL_UNEXPECTED_ERROR:
1036
+ if (callStatus.errorBuf.len > 0) {
1037
+ const msg = liftString(callStatus.errorBuf);
1038
+ throw new UniffiError(msg);
1039
+ }
1040
+ throw new UniffiError('Rust panic');
1041
+ default:
1042
+ throw new UniffiError(`Unexpected call status code: ${callStatus.code}`);
1043
+ }
1044
+ }
1045
+
1046
+ function liftString(rustBuf: any): string {
1047
+ if (!rustBuf.data || rustBuf.len === 0) return '';
1048
+ const buf = koffi.decode(rustBuf.data, 'uint8', rustBuf.len);
1049
+ const result = new TextDecoder().decode(new Uint8Array(buf));
1050
+ deallocRustBuffer(rustBuf);
1051
+ return result;
1052
+ }
1053
+
1054
+ function lowerString(value: string): any {
1055
+ const encoded = new TextEncoder().encode(value);
1056
+ const foreignBytes = { len: encoded.length, data: encoded };
1057
+ return rustCall((cs: any) => rustBufferFromBytes(foreignBytes, cs));
1058
+ }
1059
+
1060
+ function liftBytes(rustBuf: any): Uint8Array {
1061
+ if (!rustBuf.data || rustBuf.len === 0) return new Uint8Array(0);
1062
+ const buf = koffi.decode(rustBuf.data, 'uint8', rustBuf.len);
1063
+ const result = new Uint8Array(buf);
1064
+ deallocRustBuffer(rustBuf);
1065
+ return result;
1066
+ }
1067
+
1068
+ function lowerBytes(value: Uint8Array): any {
1069
+ const foreignBytes = { len: value.length, data: value };
1070
+ return rustCall((cs: any) => rustBufferFromBytes(foreignBytes, cs));
1071
+ }
1072
+
1073
+ function liftFromBuffer<T>(rustBuf: any, readFn: (reader: BufReader) => T): T {
1074
+ if (!rustBuf.data || rustBuf.len === 0) {
1075
+ throw new UniffiError('Empty buffer');
1076
+ }
1077
+ const bytes = koffi.decode(rustBuf.data, 'uint8', rustBuf.len);
1078
+ const reader = new BufReader(new Uint8Array(bytes).buffer);
1079
+ const value = readFn(reader);
1080
+ deallocRustBuffer(rustBuf);
1081
+ return value;
1082
+ }
1083
+
1084
+ function lowerIntoBuffer<T>(value: T, writeFn: (writer: BufWriter, value: T) => void, _: boolean): any {
1085
+ const writer = new BufWriter();
1086
+ writeFn(writer, value);
1087
+ const bytes = new Uint8Array(writer.toArrayBuffer());
1088
+ const foreignBytes = { len: bytes.length, data: bytes };
1089
+ return rustCall((cs: any) => rustBufferFromBytes(foreignBytes, cs));
1090
+ }
1091
+
1092
+ function readSequence<T>(reader: BufReader, readItem: (r: BufReader) => T): T[] {
1093
+ const len = reader.readI32();
1094
+ const result: T[] = [];
1095
+ for (let i = 0; i < len; i++) {
1096
+ result.push(readItem(reader));
1097
+ }
1098
+ return result;
1099
+ }
1100
+
1101
+ function readMap<K, V>(reader: BufReader, readKey: (r: BufReader) => K, readValue: (r: BufReader) => V): Map<K, V> {
1102
+ const len = reader.readI32();
1103
+ const result = new Map<K, V>();
1104
+ for (let i = 0; i < len; i++) {
1105
+ const key = readKey(reader);
1106
+ const value = readValue(reader);
1107
+ result.set(key, value);
1108
+ }
1109
+ return result;
1110
+ }
1111
+
1112
+ function writeSequence<T>(writer: BufWriter, value: T[], writeItem: (w: BufWriter, v: T) => void): void {
1113
+ writer.writeI32(value.length);
1114
+ for (const item of value) {
1115
+ writeItem(writer, item);
1116
+ }
1117
+ }
1118
+
1119
+ function writeMap<K, V>(writer: BufWriter, value: Map<K, V>, writeKey: (w: BufWriter, k: K) => void, writeValue: (w: BufWriter, v: V) => void): void {
1120
+ writer.writeI32(value.size);
1121
+ for (const [k, v] of value) {
1122
+ writeKey(writer, k);
1123
+ writeValue(writer, v);
1124
+ }
1125
+ }
1126
+
1127
+ function readTimestamp(reader: BufReader): Date {
1128
+ const seconds = reader.readI64();
1129
+ const nanos = reader.readU32();
1130
+ return new Date(Number(seconds) * 1000 + nanos / 1_000_000);
1131
+ }
1132
+
1133
+ function writeTimestamp(writer: BufWriter, value: Date): void {
1134
+ const ms = value.getTime();
1135
+ const seconds = BigInt(Math.floor(ms / 1000));
1136
+ const nanos = (ms % 1000) * 1_000_000;
1137
+ writer.writeI64(seconds);
1138
+ writer.writeU32(nanos);
1139
+ }
1140
+
1141
+ export interface UniffiDuration {
1142
+ seconds: bigint;
1143
+ nanos: number;
1144
+ }
1145
+
1146
+ function readDuration(reader: BufReader): UniffiDuration {
1147
+ return { seconds: reader.readU64(), nanos: reader.readU32() };
1148
+ }
1149
+
1150
+ function writeDuration(writer: BufWriter, value: UniffiDuration): void {
1151
+ writer.writeU64(value.seconds);
1152
+ writer.writeU32(value.nanos);
1153
+ }
1154
+
1155
+ // RustBuffer alloc/free FFI functions
1156
+ const rustBufferFromBytes = lib.func('ffi_ix_sdk_ffi_rustbuffer_from_bytes', RustBufferByValue, [ForeignBytesByValue, koffi.out(koffi.pointer(RustCallStatus))]);
1157
+ const rustBufferFree = lib.func('ffi_ix_sdk_ffi_rustbuffer_free', 'void', [RustBufferByValue, koffi.out(koffi.pointer(RustCallStatus))]);
1158
+
1159
+ function deallocRustBuffer(buf: any): void {
1160
+ if (buf.data && buf.len > 0) {
1161
+ rustCall((cs: any) => rustBufferFree(buf, cs));
1162
+ }
1163
+ }
1164
+ // ---- Async runtime ----
1165
+
1166
+ const UNIFFI_RUST_FUTURE_POLL_READY = 0;
1167
+ const UNIFFI_RUST_FUTURE_POLL_WAKE = 1;
1168
+
1169
+ let nextContinuationHandle = BigInt(1);
1170
+ const continuationMap = new Map<bigint, (pollResult: number) => void>();
1171
+
1172
+ const uniffiContinuationCallback = koffi.register(
1173
+ (handle: bigint, pollResult: number) => {
1174
+ const resolve = continuationMap.get(handle);
1175
+ if (resolve) {
1176
+ continuationMap.delete(handle);
1177
+ resolve(pollResult);
1178
+ }
1179
+ },
1180
+ koffi.pointer(UniffiRustFutureContinuationCallback),
1181
+ );
1182
+
1183
+ async function uniffiRustCallAsync<F, T>(
1184
+ rustFutureFunc: () => bigint,
1185
+ pollFunc: (handle: bigint, cb: any, cbData: bigint) => void,
1186
+ completeFunc: (handle: bigint, cs: any) => F,
1187
+ freeFunc: (handle: bigint) => void,
1188
+ liftFunc: (result: F) => T,
1189
+ errorHandler: ((buf: any) => Error) | null,
1190
+ ): Promise<T> {
1191
+ const rustFuture = rustFutureFunc();
1192
+ try {
1193
+ let pollResult: number;
1194
+ do {
1195
+ pollResult = await new Promise<number>((resolve) => {
1196
+ const cbHandle = nextContinuationHandle++;
1197
+ continuationMap.set(cbHandle, resolve);
1198
+ pollFunc(rustFuture, uniffiContinuationCallback, cbHandle);
1199
+ });
1200
+ } while (pollResult !== UNIFFI_RUST_FUTURE_POLL_READY);
1201
+
1202
+ if (errorHandler) {
1203
+ const result = rustCallWithError(errorHandler, (cs: any) => completeFunc(rustFuture, cs));
1204
+ return liftFunc(result);
1205
+ } else {
1206
+ const result = rustCall((cs: any) => completeFunc(rustFuture, cs));
1207
+ return liftFunc(result);
1208
+ }
1209
+ } finally {
1210
+ freeFunc(rustFuture);
1211
+ }
1212
+ }
1213
+
1214
+ // ---- Record types ----
1215
+
1216
+ export interface FfiApiToken {
1217
+ id: string;
1218
+ name: string;
1219
+ tokenPrefix: string | null;
1220
+ creditLimit: bigint | null;
1221
+ rateLimitPerMinute: bigint | null;
1222
+ creditsConsumed: bigint;
1223
+ creditsRemaining: bigint | null;
1224
+ scopes: string[];
1225
+ expiresAt: string | null;
1226
+ lastUsedAt: string | null;
1227
+ revokedAt: string | null;
1228
+ createdAt: string;
1229
+ childTokens: FfiApiToken[];
1230
+ }
1231
+
1232
+ function readFfiApiToken(reader: BufReader): FfiApiToken {
1233
+ return {
1234
+ id: reader.readString(),
1235
+ name: reader.readString(),
1236
+ tokenPrefix: (reader.readU8() === 0 ? null : reader.readString()),
1237
+ creditLimit: (reader.readU8() === 0 ? null : reader.readI64()),
1238
+ rateLimitPerMinute: (reader.readU8() === 0 ? null : reader.readI64()),
1239
+ creditsConsumed: reader.readI64(),
1240
+ creditsRemaining: (reader.readU8() === 0 ? null : reader.readI64()),
1241
+ scopes: readSequence(reader, (r) => r.readString()),
1242
+ expiresAt: (reader.readU8() === 0 ? null : reader.readString()),
1243
+ lastUsedAt: (reader.readU8() === 0 ? null : reader.readString()),
1244
+ revokedAt: (reader.readU8() === 0 ? null : reader.readString()),
1245
+ createdAt: reader.readString(),
1246
+ childTokens: readSequence(reader, (r) => readFfiApiToken(r)),
1247
+ };
1248
+ }
1249
+
1250
+ function writeFfiApiToken(writer: BufWriter, value: FfiApiToken): void {
1251
+ writer.writeString(value.id);
1252
+ writer.writeString(value.name);
1253
+ if (value.tokenPrefix === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.tokenPrefix) };
1254
+ if (value.creditLimit === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.creditLimit) };
1255
+ if (value.rateLimitPerMinute === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.rateLimitPerMinute) };
1256
+ writer.writeI64(value.creditsConsumed);
1257
+ if (value.creditsRemaining === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.creditsRemaining) };
1258
+ writeSequence(writer, value.scopes, (w, v) => w.writeString(v));
1259
+ if (value.expiresAt === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.expiresAt) };
1260
+ if (value.lastUsedAt === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.lastUsedAt) };
1261
+ if (value.revokedAt === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.revokedAt) };
1262
+ writer.writeString(value.createdAt);
1263
+ writeSequence(writer, value.childTokens, (w, v) => writeFfiApiToken(w, v));
1264
+ }
1265
+
1266
+ export interface FfiBillingStatus {
1267
+ balance: bigint;
1268
+ monthlyCredits: bigint;
1269
+ totalGranted: bigint;
1270
+ totalConsumed: bigint;
1271
+ plan: string;
1272
+ periodEnd: string;
1273
+ }
1274
+
1275
+ function readFfiBillingStatus(reader: BufReader): FfiBillingStatus {
1276
+ return {
1277
+ balance: reader.readI64(),
1278
+ monthlyCredits: reader.readI64(),
1279
+ totalGranted: reader.readI64(),
1280
+ totalConsumed: reader.readI64(),
1281
+ plan: reader.readString(),
1282
+ periodEnd: reader.readString(),
1283
+ };
1284
+ }
1285
+
1286
+ function writeFfiBillingStatus(writer: BufWriter, value: FfiBillingStatus): void {
1287
+ writer.writeI64(value.balance);
1288
+ writer.writeI64(value.monthlyCredits);
1289
+ writer.writeI64(value.totalGranted);
1290
+ writer.writeI64(value.totalConsumed);
1291
+ writer.writeString(value.plan);
1292
+ writer.writeString(value.periodEnd);
1293
+ }
1294
+
1295
+ export interface FfiCheckoutSession {
1296
+ url: string;
1297
+ sessionId: string;
1298
+ }
1299
+
1300
+ function readFfiCheckoutSession(reader: BufReader): FfiCheckoutSession {
1301
+ return {
1302
+ url: reader.readString(),
1303
+ sessionId: reader.readString(),
1304
+ };
1305
+ }
1306
+
1307
+ function writeFfiCheckoutSession(writer: BufWriter, value: FfiCheckoutSession): void {
1308
+ writer.writeString(value.url);
1309
+ writer.writeString(value.sessionId);
1310
+ }
1311
+
1312
+ export interface FfiCreateApiTokenInput {
1313
+ name: string;
1314
+ scopes: string[];
1315
+ creditLimit: bigint | null;
1316
+ rateLimitPerMinute: bigint | null;
1317
+ expiresAt: string | null;
1318
+ }
1319
+
1320
+ function readFfiCreateApiTokenInput(reader: BufReader): FfiCreateApiTokenInput {
1321
+ return {
1322
+ name: reader.readString(),
1323
+ scopes: readSequence(reader, (r) => r.readString()),
1324
+ creditLimit: (reader.readU8() === 0 ? null : reader.readI64()),
1325
+ rateLimitPerMinute: (reader.readU8() === 0 ? null : reader.readI64()),
1326
+ expiresAt: (reader.readU8() === 0 ? null : reader.readString()),
1327
+ };
1328
+ }
1329
+
1330
+ function writeFfiCreateApiTokenInput(writer: BufWriter, value: FfiCreateApiTokenInput): void {
1331
+ writer.writeString(value.name);
1332
+ writeSequence(writer, value.scopes, (w, v) => w.writeString(v));
1333
+ if (value.creditLimit === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.creditLimit) };
1334
+ if (value.rateLimitPerMinute === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.rateLimitPerMinute) };
1335
+ if (value.expiresAt === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.expiresAt) };
1336
+ }
1337
+
1338
+ export interface FfiCreateApiTokenResult {
1339
+ token: FfiApiToken;
1340
+ tokenValue: string;
1341
+ }
1342
+
1343
+ function readFfiCreateApiTokenResult(reader: BufReader): FfiCreateApiTokenResult {
1344
+ return {
1345
+ token: readFfiApiToken(reader),
1346
+ tokenValue: reader.readString(),
1347
+ };
1348
+ }
1349
+
1350
+ function writeFfiCreateApiTokenResult(writer: BufWriter, value: FfiCreateApiTokenResult): void {
1351
+ writeFfiApiToken(writer, value.token);
1352
+ writer.writeString(value.tokenValue);
1353
+ }
1354
+
1355
+ export interface FfiCreateCheckoutSessionInput {
1356
+ plan: string;
1357
+ }
1358
+
1359
+ function readFfiCreateCheckoutSessionInput(reader: BufReader): FfiCreateCheckoutSessionInput {
1360
+ return {
1361
+ plan: reader.readString(),
1362
+ };
1363
+ }
1364
+
1365
+ function writeFfiCreateCheckoutSessionInput(writer: BufWriter, value: FfiCreateCheckoutSessionInput): void {
1366
+ writer.writeString(value.plan);
1367
+ }
1368
+
1369
+ export interface FfiUsageEvent {
1370
+ id: string;
1371
+ tokenId: string;
1372
+ creditPoolId: string;
1373
+ resourceType: string;
1374
+ quantity: bigint;
1375
+ unit: string;
1376
+ creditsCharged: bigint;
1377
+ resourceId: string | null;
1378
+ resourceName: string | null;
1379
+ createdAt: string;
1380
+ }
1381
+
1382
+ function readFfiUsageEvent(reader: BufReader): FfiUsageEvent {
1383
+ return {
1384
+ id: reader.readString(),
1385
+ tokenId: reader.readString(),
1386
+ creditPoolId: reader.readString(),
1387
+ resourceType: reader.readString(),
1388
+ quantity: reader.readI64(),
1389
+ unit: reader.readString(),
1390
+ creditsCharged: reader.readI64(),
1391
+ resourceId: (reader.readU8() === 0 ? null : reader.readString()),
1392
+ resourceName: (reader.readU8() === 0 ? null : reader.readString()),
1393
+ createdAt: reader.readString(),
1394
+ };
1395
+ }
1396
+
1397
+ function writeFfiUsageEvent(writer: BufWriter, value: FfiUsageEvent): void {
1398
+ writer.writeString(value.id);
1399
+ writer.writeString(value.tokenId);
1400
+ writer.writeString(value.creditPoolId);
1401
+ writer.writeString(value.resourceType);
1402
+ writer.writeI64(value.quantity);
1403
+ writer.writeString(value.unit);
1404
+ writer.writeI64(value.creditsCharged);
1405
+ if (value.resourceId === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.resourceId) };
1406
+ if (value.resourceName === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.resourceName) };
1407
+ writer.writeString(value.createdAt);
1408
+ }
1409
+
1410
+ export interface FfiCompute {
1411
+ id: string;
1412
+ name: string;
1413
+ subdomain: string | null;
1414
+ status: FfiComputeStatus;
1415
+ imageRef: string | null;
1416
+ imageSource: FfiImageSource;
1417
+ exposedPorts: bigint[];
1418
+ cpuCores: bigint;
1419
+ memoryMib: bigint;
1420
+ stateful: boolean;
1421
+ enableSnapshots: boolean;
1422
+ volumeMode: FfiVolumeMode;
1423
+ idleTimeoutSecs: bigint;
1424
+ enableIpv4: boolean;
1425
+ egressProxy: boolean;
1426
+ createdAt: string;
1427
+ updatedAt: string;
1428
+ }
1429
+
1430
+ function readFfiCompute(reader: BufReader): FfiCompute {
1431
+ return {
1432
+ id: reader.readString(),
1433
+ name: reader.readString(),
1434
+ subdomain: (reader.readU8() === 0 ? null : reader.readString()),
1435
+ status: readFfiComputeStatus(reader),
1436
+ imageRef: (reader.readU8() === 0 ? null : reader.readString()),
1437
+ imageSource: readFfiImageSource(reader),
1438
+ exposedPorts: readSequence(reader, (r) => r.readI64()),
1439
+ cpuCores: reader.readI64(),
1440
+ memoryMib: reader.readI64(),
1441
+ stateful: reader.readBool(),
1442
+ enableSnapshots: reader.readBool(),
1443
+ volumeMode: readFfiVolumeMode(reader),
1444
+ idleTimeoutSecs: reader.readI64(),
1445
+ enableIpv4: reader.readBool(),
1446
+ egressProxy: reader.readBool(),
1447
+ createdAt: reader.readString(),
1448
+ updatedAt: reader.readString(),
1449
+ };
1450
+ }
1451
+
1452
+ function writeFfiCompute(writer: BufWriter, value: FfiCompute): void {
1453
+ writer.writeString(value.id);
1454
+ writer.writeString(value.name);
1455
+ if (value.subdomain === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.subdomain) };
1456
+ writeFfiComputeStatus(writer, value.status);
1457
+ if (value.imageRef === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.imageRef) };
1458
+ writeFfiImageSource(writer, value.imageSource);
1459
+ writeSequence(writer, value.exposedPorts, (w, v) => w.writeI64(v));
1460
+ writer.writeI64(value.cpuCores);
1461
+ writer.writeI64(value.memoryMib);
1462
+ writer.writeBool(value.stateful);
1463
+ writer.writeBool(value.enableSnapshots);
1464
+ writeFfiVolumeMode(writer, value.volumeMode);
1465
+ writer.writeI64(value.idleTimeoutSecs);
1466
+ writer.writeBool(value.enableIpv4);
1467
+ writer.writeBool(value.egressProxy);
1468
+ writer.writeString(value.createdAt);
1469
+ writer.writeString(value.updatedAt);
1470
+ }
1471
+
1472
+ export interface FfiComputeInstance {
1473
+ id: string;
1474
+ name: string;
1475
+ status: FfiVmStatus;
1476
+ ipv6: string;
1477
+ ipv4: string | null;
1478
+ maxMemoryMib: bigint;
1479
+ maxCpuCores: bigint;
1480
+ startedAt: string | null;
1481
+ stoppedAt: string | null;
1482
+ failureReason: string | null;
1483
+ createdAt: string;
1484
+ }
1485
+
1486
+ function readFfiComputeInstance(reader: BufReader): FfiComputeInstance {
1487
+ return {
1488
+ id: reader.readString(),
1489
+ name: reader.readString(),
1490
+ status: readFfiVmStatus(reader),
1491
+ ipv6: reader.readString(),
1492
+ ipv4: (reader.readU8() === 0 ? null : reader.readString()),
1493
+ maxMemoryMib: reader.readI64(),
1494
+ maxCpuCores: reader.readI64(),
1495
+ startedAt: (reader.readU8() === 0 ? null : reader.readString()),
1496
+ stoppedAt: (reader.readU8() === 0 ? null : reader.readString()),
1497
+ failureReason: (reader.readU8() === 0 ? null : reader.readString()),
1498
+ createdAt: reader.readString(),
1499
+ };
1500
+ }
1501
+
1502
+ function writeFfiComputeInstance(writer: BufWriter, value: FfiComputeInstance): void {
1503
+ writer.writeString(value.id);
1504
+ writer.writeString(value.name);
1505
+ writeFfiVmStatus(writer, value.status);
1506
+ writer.writeString(value.ipv6);
1507
+ if (value.ipv4 === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.ipv4) };
1508
+ writer.writeI64(value.maxMemoryMib);
1509
+ writer.writeI64(value.maxCpuCores);
1510
+ if (value.startedAt === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.startedAt) };
1511
+ if (value.stoppedAt === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.stoppedAt) };
1512
+ if (value.failureReason === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.failureReason) };
1513
+ writer.writeString(value.createdAt);
1514
+ }
1515
+
1516
+ export interface FfiComputeWithInstances {
1517
+ compute: FfiCompute;
1518
+ instances: FfiComputeInstance[];
1519
+ }
1520
+
1521
+ function readFfiComputeWithInstances(reader: BufReader): FfiComputeWithInstances {
1522
+ return {
1523
+ compute: readFfiCompute(reader),
1524
+ instances: readSequence(reader, (r) => readFfiComputeInstance(r)),
1525
+ };
1526
+ }
1527
+
1528
+ function writeFfiComputeWithInstances(writer: BufWriter, value: FfiComputeWithInstances): void {
1529
+ writeFfiCompute(writer, value.compute);
1530
+ writeSequence(writer, value.instances, (w, v) => writeFfiComputeInstance(w, v));
1531
+ }
1532
+
1533
+ export interface FfiCreateComputeInput {
1534
+ name: string | null;
1535
+ subdomain: string | null;
1536
+ exposedPorts: bigint[];
1537
+ cpuCores: bigint;
1538
+ memoryMib: bigint;
1539
+ idleTimeoutSecs: bigint;
1540
+ enableSnapshots: boolean;
1541
+ enableIpv4: boolean;
1542
+ volumeMode: FfiVolumeMode;
1543
+ imageRef: string;
1544
+ healthCheckPath: string | null;
1545
+ healthCheckIntervalSecs: bigint;
1546
+ healthCheckTimeoutSecs: bigint;
1547
+ stateful: boolean;
1548
+ region: string | null;
1549
+ dockerfilePath: string | null;
1550
+ }
1551
+
1552
+ function readFfiCreateComputeInput(reader: BufReader): FfiCreateComputeInput {
1553
+ return {
1554
+ name: (reader.readU8() === 0 ? null : reader.readString()),
1555
+ subdomain: (reader.readU8() === 0 ? null : reader.readString()),
1556
+ exposedPorts: readSequence(reader, (r) => r.readI64()),
1557
+ cpuCores: reader.readI64(),
1558
+ memoryMib: reader.readI64(),
1559
+ idleTimeoutSecs: reader.readI64(),
1560
+ enableSnapshots: reader.readBool(),
1561
+ enableIpv4: reader.readBool(),
1562
+ volumeMode: readFfiVolumeMode(reader),
1563
+ imageRef: reader.readString(),
1564
+ healthCheckPath: (reader.readU8() === 0 ? null : reader.readString()),
1565
+ healthCheckIntervalSecs: reader.readI64(),
1566
+ healthCheckTimeoutSecs: reader.readI64(),
1567
+ stateful: reader.readBool(),
1568
+ region: (reader.readU8() === 0 ? null : reader.readString()),
1569
+ dockerfilePath: (reader.readU8() === 0 ? null : reader.readString()),
1570
+ };
1571
+ }
1572
+
1573
+ function writeFfiCreateComputeInput(writer: BufWriter, value: FfiCreateComputeInput): void {
1574
+ if (value.name === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.name) };
1575
+ if (value.subdomain === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.subdomain) };
1576
+ writeSequence(writer, value.exposedPorts, (w, v) => w.writeI64(v));
1577
+ writer.writeI64(value.cpuCores);
1578
+ writer.writeI64(value.memoryMib);
1579
+ writer.writeI64(value.idleTimeoutSecs);
1580
+ writer.writeBool(value.enableSnapshots);
1581
+ writer.writeBool(value.enableIpv4);
1582
+ writeFfiVolumeMode(writer, value.volumeMode);
1583
+ writer.writeString(value.imageRef);
1584
+ if (value.healthCheckPath === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.healthCheckPath) };
1585
+ writer.writeI64(value.healthCheckIntervalSecs);
1586
+ writer.writeI64(value.healthCheckTimeoutSecs);
1587
+ writer.writeBool(value.stateful);
1588
+ if (value.region === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.region) };
1589
+ if (value.dockerfilePath === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.dockerfilePath) };
1590
+ }
1591
+
1592
+ export interface FfiEnvVar {
1593
+ id: string;
1594
+ name: string;
1595
+ value: string;
1596
+ }
1597
+
1598
+ function readFfiEnvVar(reader: BufReader): FfiEnvVar {
1599
+ return {
1600
+ id: reader.readString(),
1601
+ name: reader.readString(),
1602
+ value: reader.readString(),
1603
+ };
1604
+ }
1605
+
1606
+ function writeFfiEnvVar(writer: BufWriter, value: FfiEnvVar): void {
1607
+ writer.writeString(value.id);
1608
+ writer.writeString(value.name);
1609
+ writer.writeString(value.value);
1610
+ }
1611
+
1612
+ export interface FfiExecResult {
1613
+ exitCode: bigint;
1614
+ stdout: string;
1615
+ stderr: string;
1616
+ }
1617
+
1618
+ function readFfiExecResult(reader: BufReader): FfiExecResult {
1619
+ return {
1620
+ exitCode: reader.readI64(),
1621
+ stdout: reader.readString(),
1622
+ stderr: reader.readString(),
1623
+ };
1624
+ }
1625
+
1626
+ function writeFfiExecResult(writer: BufWriter, value: FfiExecResult): void {
1627
+ writer.writeI64(value.exitCode);
1628
+ writer.writeString(value.stdout);
1629
+ writer.writeString(value.stderr);
1630
+ }
1631
+
1632
+ export interface FfiShellAttachInfo {
1633
+ computeId: string;
1634
+ computeName: string;
1635
+ computeSubdomain: string | null;
1636
+ computeStatus: FfiComputeStatus;
1637
+ instance: FfiShellAttachInstance | null;
1638
+ }
1639
+
1640
+ function readFfiShellAttachInfo(reader: BufReader): FfiShellAttachInfo {
1641
+ return {
1642
+ computeId: reader.readString(),
1643
+ computeName: reader.readString(),
1644
+ computeSubdomain: (reader.readU8() === 0 ? null : reader.readString()),
1645
+ computeStatus: readFfiComputeStatus(reader),
1646
+ instance: (reader.readU8() === 0 ? null : readFfiShellAttachInstance(reader)),
1647
+ };
1648
+ }
1649
+
1650
+ function writeFfiShellAttachInfo(writer: BufWriter, value: FfiShellAttachInfo): void {
1651
+ writer.writeString(value.computeId);
1652
+ writer.writeString(value.computeName);
1653
+ if (value.computeSubdomain === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.computeSubdomain) };
1654
+ writeFfiComputeStatus(writer, value.computeStatus);
1655
+ if (value.instance === null) { writer.writeU8(0); } else { writer.writeU8(1); writeFfiShellAttachInstance(writer, value.instance) };
1656
+ }
1657
+
1658
+ export interface FfiShellAttachInstance {
1659
+ vmId: string;
1660
+ attachToken: string | null;
1661
+ }
1662
+
1663
+ function readFfiShellAttachInstance(reader: BufReader): FfiShellAttachInstance {
1664
+ return {
1665
+ vmId: reader.readString(),
1666
+ attachToken: (reader.readU8() === 0 ? null : reader.readString()),
1667
+ };
1668
+ }
1669
+
1670
+ function writeFfiShellAttachInstance(writer: BufWriter, value: FfiShellAttachInstance): void {
1671
+ writer.writeString(value.vmId);
1672
+ if (value.attachToken === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.attachToken) };
1673
+ }
1674
+
1675
+ export interface FfiUpdateComputeInput {
1676
+ computeId: string;
1677
+ name: string | null;
1678
+ subdomain: string | null;
1679
+ dockerfilePath: string | null;
1680
+ exposedPorts: bigint[] | null;
1681
+ cpuCores: bigint | null;
1682
+ memoryMib: bigint | null;
1683
+ idleTimeoutSecs: bigint | null;
1684
+ enableSnapshots: boolean | null;
1685
+ enableIpv4: boolean | null;
1686
+ volumeMode: FfiVolumeMode | null;
1687
+ imageRef: string | null;
1688
+ healthCheckPath: string | null;
1689
+ healthCheckIntervalSecs: bigint | null;
1690
+ healthCheckTimeoutSecs: bigint | null;
1691
+ stateful: boolean | null;
1692
+ }
1693
+
1694
+ function readFfiUpdateComputeInput(reader: BufReader): FfiUpdateComputeInput {
1695
+ return {
1696
+ computeId: reader.readString(),
1697
+ name: (reader.readU8() === 0 ? null : reader.readString()),
1698
+ subdomain: (reader.readU8() === 0 ? null : reader.readString()),
1699
+ dockerfilePath: (reader.readU8() === 0 ? null : reader.readString()),
1700
+ exposedPorts: (reader.readU8() === 0 ? null : readSequence(reader, (r) => r.readI64())),
1701
+ cpuCores: (reader.readU8() === 0 ? null : reader.readI64()),
1702
+ memoryMib: (reader.readU8() === 0 ? null : reader.readI64()),
1703
+ idleTimeoutSecs: (reader.readU8() === 0 ? null : reader.readI64()),
1704
+ enableSnapshots: (reader.readU8() === 0 ? null : reader.readBool()),
1705
+ enableIpv4: (reader.readU8() === 0 ? null : reader.readBool()),
1706
+ volumeMode: (reader.readU8() === 0 ? null : readFfiVolumeMode(reader)),
1707
+ imageRef: (reader.readU8() === 0 ? null : reader.readString()),
1708
+ healthCheckPath: (reader.readU8() === 0 ? null : reader.readString()),
1709
+ healthCheckIntervalSecs: (reader.readU8() === 0 ? null : reader.readI64()),
1710
+ healthCheckTimeoutSecs: (reader.readU8() === 0 ? null : reader.readI64()),
1711
+ stateful: (reader.readU8() === 0 ? null : reader.readBool()),
1712
+ };
1713
+ }
1714
+
1715
+ function writeFfiUpdateComputeInput(writer: BufWriter, value: FfiUpdateComputeInput): void {
1716
+ writer.writeString(value.computeId);
1717
+ if (value.name === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.name) };
1718
+ if (value.subdomain === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.subdomain) };
1719
+ if (value.dockerfilePath === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.dockerfilePath) };
1720
+ if (value.exposedPorts === null) { writer.writeU8(0); } else { writer.writeU8(1); writeSequence(writer, value.exposedPorts, (w, v) => w.writeI64(v)) };
1721
+ if (value.cpuCores === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.cpuCores) };
1722
+ if (value.memoryMib === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.memoryMib) };
1723
+ if (value.idleTimeoutSecs === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.idleTimeoutSecs) };
1724
+ if (value.enableSnapshots === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeBool(value.enableSnapshots) };
1725
+ if (value.enableIpv4 === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeBool(value.enableIpv4) };
1726
+ if (value.volumeMode === null) { writer.writeU8(0); } else { writer.writeU8(1); writeFfiVolumeMode(writer, value.volumeMode) };
1727
+ if (value.imageRef === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.imageRef) };
1728
+ if (value.healthCheckPath === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.healthCheckPath) };
1729
+ if (value.healthCheckIntervalSecs === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.healthCheckIntervalSecs) };
1730
+ if (value.healthCheckTimeoutSecs === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.healthCheckTimeoutSecs) };
1731
+ if (value.stateful === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeBool(value.stateful) };
1732
+ }
1733
+
1734
+ export interface FfiCreateVmGroupInput {
1735
+ name: string;
1736
+ description: string | null;
1737
+ isPublic: boolean | null;
1738
+ }
1739
+
1740
+ function readFfiCreateVmGroupInput(reader: BufReader): FfiCreateVmGroupInput {
1741
+ return {
1742
+ name: reader.readString(),
1743
+ description: (reader.readU8() === 0 ? null : reader.readString()),
1744
+ isPublic: (reader.readU8() === 0 ? null : reader.readBool()),
1745
+ };
1746
+ }
1747
+
1748
+ function writeFfiCreateVmGroupInput(writer: BufWriter, value: FfiCreateVmGroupInput): void {
1749
+ writer.writeString(value.name);
1750
+ if (value.description === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.description) };
1751
+ if (value.isPublic === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeBool(value.isPublic) };
1752
+ }
1753
+
1754
+ export interface FfiVmGroup {
1755
+ id: string;
1756
+ name: string;
1757
+ description: string | null;
1758
+ isPublic: boolean;
1759
+ clusterId: bigint;
1760
+ createdAt: string;
1761
+ updatedAt: string;
1762
+ }
1763
+
1764
+ function readFfiVmGroup(reader: BufReader): FfiVmGroup {
1765
+ return {
1766
+ id: reader.readString(),
1767
+ name: reader.readString(),
1768
+ description: (reader.readU8() === 0 ? null : reader.readString()),
1769
+ isPublic: reader.readBool(),
1770
+ clusterId: reader.readI64(),
1771
+ createdAt: reader.readString(),
1772
+ updatedAt: reader.readString(),
1773
+ };
1774
+ }
1775
+
1776
+ function writeFfiVmGroup(writer: BufWriter, value: FfiVmGroup): void {
1777
+ writer.writeString(value.id);
1778
+ writer.writeString(value.name);
1779
+ if (value.description === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.description) };
1780
+ writer.writeBool(value.isPublic);
1781
+ writer.writeI64(value.clusterId);
1782
+ writer.writeString(value.createdAt);
1783
+ writer.writeString(value.updatedAt);
1784
+ }
1785
+
1786
+ export interface FfiDirEntry {
1787
+ name: string;
1788
+ size: number;
1789
+ isDir: boolean;
1790
+ }
1791
+
1792
+ function readFfiDirEntry(reader: BufReader): FfiDirEntry {
1793
+ return {
1794
+ name: reader.readString(),
1795
+ size: reader.readF64(),
1796
+ isDir: reader.readBool(),
1797
+ };
1798
+ }
1799
+
1800
+ function writeFfiDirEntry(writer: BufWriter, value: FfiDirEntry): void {
1801
+ writer.writeString(value.name);
1802
+ writer.writeF64(value.size);
1803
+ writer.writeBool(value.isDir);
1804
+ }
1805
+
1806
+ export interface FfiProc {
1807
+ exitCode: number;
1808
+ stdout: string;
1809
+ stderr: string;
1810
+ pre: string;
1811
+ post: string;
1812
+ }
1813
+
1814
+ function readFfiProc(reader: BufReader): FfiProc {
1815
+ return {
1816
+ exitCode: reader.readI32(),
1817
+ stdout: reader.readString(),
1818
+ stderr: reader.readString(),
1819
+ pre: reader.readString(),
1820
+ post: reader.readString(),
1821
+ };
1822
+ }
1823
+
1824
+ function writeFfiProc(writer: BufWriter, value: FfiProc): void {
1825
+ writer.writeI32(value.exitCode);
1826
+ writer.writeString(value.stdout);
1827
+ writer.writeString(value.stderr);
1828
+ writer.writeString(value.pre);
1829
+ writer.writeString(value.post);
1830
+ }
1831
+
1832
+ export interface FfiSpawnOptions {
1833
+ name: string | null;
1834
+ memoryMib: bigint | null;
1835
+ cpuCores: bigint | null;
1836
+ ipv4: boolean | null;
1837
+ }
1838
+
1839
+ function readFfiSpawnOptions(reader: BufReader): FfiSpawnOptions {
1840
+ return {
1841
+ name: (reader.readU8() === 0 ? null : reader.readString()),
1842
+ memoryMib: (reader.readU8() === 0 ? null : reader.readI64()),
1843
+ cpuCores: (reader.readU8() === 0 ? null : reader.readI64()),
1844
+ ipv4: (reader.readU8() === 0 ? null : reader.readBool()),
1845
+ };
1846
+ }
1847
+
1848
+ function writeFfiSpawnOptions(writer: BufWriter, value: FfiSpawnOptions): void {
1849
+ if (value.name === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.name) };
1850
+ if (value.memoryMib === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.memoryMib) };
1851
+ if (value.cpuCores === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.cpuCores) };
1852
+ if (value.ipv4 === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeBool(value.ipv4) };
1853
+ }
1854
+
1855
+ export interface FfiMountConfig {
1856
+ cacheDir: string;
1857
+ cacheMaxBytes: bigint;
1858
+ manifestDir: string;
1859
+ targetsPath: string;
1860
+ walDir: string;
1861
+ pageStoreDir: string;
1862
+ memoryMaxBytes: bigint;
1863
+ }
1864
+
1865
+ function readFfiMountConfig(reader: BufReader): FfiMountConfig {
1866
+ return {
1867
+ cacheDir: reader.readString(),
1868
+ cacheMaxBytes: reader.readU64(),
1869
+ manifestDir: reader.readString(),
1870
+ targetsPath: reader.readString(),
1871
+ walDir: reader.readString(),
1872
+ pageStoreDir: reader.readString(),
1873
+ memoryMaxBytes: reader.readU64(),
1874
+ };
1875
+ }
1876
+
1877
+ function writeFfiMountConfig(writer: BufWriter, value: FfiMountConfig): void {
1878
+ writer.writeString(value.cacheDir);
1879
+ writer.writeU64(value.cacheMaxBytes);
1880
+ writer.writeString(value.manifestDir);
1881
+ writer.writeString(value.targetsPath);
1882
+ writer.writeString(value.walDir);
1883
+ writer.writeString(value.pageStoreDir);
1884
+ writer.writeU64(value.memoryMaxBytes);
1885
+ }
1886
+
1887
+ export interface FfiMountStatus {
1888
+ config: FfiMountConfig;
1889
+ targets: FfiMountTarget[];
1890
+ }
1891
+
1892
+ function readFfiMountStatus(reader: BufReader): FfiMountStatus {
1893
+ return {
1894
+ config: readFfiMountConfig(reader),
1895
+ targets: readSequence(reader, (r) => readFfiMountTarget(r)),
1896
+ };
1897
+ }
1898
+
1899
+ function writeFfiMountStatus(writer: BufWriter, value: FfiMountStatus): void {
1900
+ writeFfiMountConfig(writer, value.config);
1901
+ writeSequence(writer, value.targets, (w, v) => writeFfiMountTarget(w, v));
1902
+ }
1903
+
1904
+ export interface FfiMountTarget {
1905
+ name: string;
1906
+ computeId: string;
1907
+ manifestHash: string | null;
1908
+ lastSyncedNs: bigint;
1909
+ }
1910
+
1911
+ function readFfiMountTarget(reader: BufReader): FfiMountTarget {
1912
+ return {
1913
+ name: reader.readString(),
1914
+ computeId: reader.readString(),
1915
+ manifestHash: (reader.readU8() === 0 ? null : reader.readString()),
1916
+ lastSyncedNs: reader.readU64(),
1917
+ };
1918
+ }
1919
+
1920
+ function writeFfiMountTarget(writer: BufWriter, value: FfiMountTarget): void {
1921
+ writer.writeString(value.name);
1922
+ writer.writeString(value.computeId);
1923
+ if (value.manifestHash === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.manifestHash) };
1924
+ writer.writeU64(value.lastSyncedNs);
1925
+ }
1926
+
1927
+ export interface FfiSyncResult {
1928
+ targetName: string;
1929
+ hash: string;
1930
+ }
1931
+
1932
+ function readFfiSyncResult(reader: BufReader): FfiSyncResult {
1933
+ return {
1934
+ targetName: reader.readString(),
1935
+ hash: reader.readString(),
1936
+ };
1937
+ }
1938
+
1939
+ function writeFfiSyncResult(writer: BufWriter, value: FfiSyncResult): void {
1940
+ writer.writeString(value.targetName);
1941
+ writer.writeString(value.hash);
1942
+ }
1943
+
1944
+ export interface FfiCreatePreviewInput {
1945
+ imageTag: string | null;
1946
+ forkVolumes: boolean | null;
1947
+ }
1948
+
1949
+ function readFfiCreatePreviewInput(reader: BufReader): FfiCreatePreviewInput {
1950
+ return {
1951
+ imageTag: (reader.readU8() === 0 ? null : reader.readString()),
1952
+ forkVolumes: (reader.readU8() === 0 ? null : reader.readBool()),
1953
+ };
1954
+ }
1955
+
1956
+ function writeFfiCreatePreviewInput(writer: BufWriter, value: FfiCreatePreviewInput): void {
1957
+ if (value.imageTag === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.imageTag) };
1958
+ if (value.forkVolumes === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeBool(value.forkVolumes) };
1959
+ }
1960
+
1961
+ export interface FfiPreview {
1962
+ id: string;
1963
+ imageTag: string;
1964
+ status: string;
1965
+ createdAt: string;
1966
+ serviceCount: bigint;
1967
+ healthyCount: bigint;
1968
+ }
1969
+
1970
+ function readFfiPreview(reader: BufReader): FfiPreview {
1971
+ return {
1972
+ id: reader.readString(),
1973
+ imageTag: reader.readString(),
1974
+ status: reader.readString(),
1975
+ createdAt: reader.readString(),
1976
+ serviceCount: reader.readI64(),
1977
+ healthyCount: reader.readI64(),
1978
+ };
1979
+ }
1980
+
1981
+ function writeFfiPreview(writer: BufWriter, value: FfiPreview): void {
1982
+ writer.writeString(value.id);
1983
+ writer.writeString(value.imageTag);
1984
+ writer.writeString(value.status);
1985
+ writer.writeString(value.createdAt);
1986
+ writer.writeI64(value.serviceCount);
1987
+ writer.writeI64(value.healthyCount);
1988
+ }
1989
+
1990
+ export interface FfiPreviewDetail {
1991
+ id: string;
1992
+ imageTag: string;
1993
+ status: string;
1994
+ createdAt: string;
1995
+ services: FfiPreviewService[];
1996
+ }
1997
+
1998
+ function readFfiPreviewDetail(reader: BufReader): FfiPreviewDetail {
1999
+ return {
2000
+ id: reader.readString(),
2001
+ imageTag: reader.readString(),
2002
+ status: reader.readString(),
2003
+ createdAt: reader.readString(),
2004
+ services: readSequence(reader, (r) => readFfiPreviewService(r)),
2005
+ };
2006
+ }
2007
+
2008
+ function writeFfiPreviewDetail(writer: BufWriter, value: FfiPreviewDetail): void {
2009
+ writer.writeString(value.id);
2010
+ writer.writeString(value.imageTag);
2011
+ writer.writeString(value.status);
2012
+ writer.writeString(value.createdAt);
2013
+ writeSequence(writer, value.services, (w, v) => writeFfiPreviewService(w, v));
2014
+ }
2015
+
2016
+ export interface FfiPreviewService {
2017
+ serviceName: string;
2018
+ status: string;
2019
+ }
2020
+
2021
+ function readFfiPreviewService(reader: BufReader): FfiPreviewService {
2022
+ return {
2023
+ serviceName: reader.readString(),
2024
+ status: reader.readString(),
2025
+ };
2026
+ }
2027
+
2028
+ function writeFfiPreviewService(writer: BufWriter, value: FfiPreviewService): void {
2029
+ writer.writeString(value.serviceName);
2030
+ writer.writeString(value.status);
2031
+ }
2032
+
2033
+ export interface FfiRegion {
2034
+ id: string;
2035
+ slug: string;
2036
+ displayName: string;
2037
+ status: string;
2038
+ }
2039
+
2040
+ function readFfiRegion(reader: BufReader): FfiRegion {
2041
+ return {
2042
+ id: reader.readString(),
2043
+ slug: reader.readString(),
2044
+ displayName: reader.readString(),
2045
+ status: reader.readString(),
2046
+ };
2047
+ }
2048
+
2049
+ function writeFfiRegion(writer: BufWriter, value: FfiRegion): void {
2050
+ writer.writeString(value.id);
2051
+ writer.writeString(value.slug);
2052
+ writer.writeString(value.displayName);
2053
+ writer.writeString(value.status);
2054
+ }
2055
+
2056
+ export interface FfiUser {
2057
+ id: string;
2058
+ username: string;
2059
+ displayName: string | null;
2060
+ email: string;
2061
+ }
2062
+
2063
+ function readFfiUser(reader: BufReader): FfiUser {
2064
+ return {
2065
+ id: reader.readString(),
2066
+ username: reader.readString(),
2067
+ displayName: (reader.readU8() === 0 ? null : reader.readString()),
2068
+ email: reader.readString(),
2069
+ };
2070
+ }
2071
+
2072
+ function writeFfiUser(writer: BufWriter, value: FfiUser): void {
2073
+ writer.writeString(value.id);
2074
+ writer.writeString(value.username);
2075
+ if (value.displayName === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.displayName) };
2076
+ writer.writeString(value.email);
2077
+ }
2078
+
2079
+ export interface FfiVm {
2080
+ id: string;
2081
+ name: string;
2082
+ image: string;
2083
+ status: FfiVmStatus;
2084
+ ipv6: string;
2085
+ ipv4: string | null;
2086
+ subdomain: string | null;
2087
+ maxMemoryMib: bigint;
2088
+ maxCpuCores: bigint;
2089
+ volumeMode: FfiVolumeMode;
2090
+ forkParentVmId: string | null;
2091
+ forkBaseLsnNs: string | null;
2092
+ createdAt: string;
2093
+ }
2094
+
2095
+ function readFfiVm(reader: BufReader): FfiVm {
2096
+ return {
2097
+ id: reader.readString(),
2098
+ name: reader.readString(),
2099
+ image: reader.readString(),
2100
+ status: readFfiVmStatus(reader),
2101
+ ipv6: reader.readString(),
2102
+ ipv4: (reader.readU8() === 0 ? null : reader.readString()),
2103
+ subdomain: (reader.readU8() === 0 ? null : reader.readString()),
2104
+ maxMemoryMib: reader.readI64(),
2105
+ maxCpuCores: reader.readI64(),
2106
+ volumeMode: readFfiVolumeMode(reader),
2107
+ forkParentVmId: (reader.readU8() === 0 ? null : reader.readString()),
2108
+ forkBaseLsnNs: (reader.readU8() === 0 ? null : reader.readString()),
2109
+ createdAt: reader.readString(),
2110
+ };
2111
+ }
2112
+
2113
+ function writeFfiVm(writer: BufWriter, value: FfiVm): void {
2114
+ writer.writeString(value.id);
2115
+ writer.writeString(value.name);
2116
+ writer.writeString(value.image);
2117
+ writeFfiVmStatus(writer, value.status);
2118
+ writer.writeString(value.ipv6);
2119
+ if (value.ipv4 === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.ipv4) };
2120
+ if (value.subdomain === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.subdomain) };
2121
+ writer.writeI64(value.maxMemoryMib);
2122
+ writer.writeI64(value.maxCpuCores);
2123
+ writeFfiVolumeMode(writer, value.volumeMode);
2124
+ if (value.forkParentVmId === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.forkParentVmId) };
2125
+ if (value.forkBaseLsnNs === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.forkBaseLsnNs) };
2126
+ writer.writeString(value.createdAt);
2127
+ }
2128
+
2129
+ export interface FfiCreateVmResult {
2130
+ id: string;
2131
+ name: string;
2132
+ status: FfiVmStatus;
2133
+ image: string;
2134
+ ipv6: string;
2135
+ ipv4: string | null;
2136
+ subdomain: string | null;
2137
+ maxMemoryMib: bigint;
2138
+ maxCpuCores: bigint;
2139
+ volumeMode: FfiVolumeMode;
2140
+ createdAt: string;
2141
+ }
2142
+
2143
+ function readFfiCreateVmResult(reader: BufReader): FfiCreateVmResult {
2144
+ return {
2145
+ id: reader.readString(),
2146
+ name: reader.readString(),
2147
+ status: readFfiVmStatus(reader),
2148
+ image: reader.readString(),
2149
+ ipv6: reader.readString(),
2150
+ ipv4: (reader.readU8() === 0 ? null : reader.readString()),
2151
+ subdomain: (reader.readU8() === 0 ? null : reader.readString()),
2152
+ maxMemoryMib: reader.readI64(),
2153
+ maxCpuCores: reader.readI64(),
2154
+ volumeMode: readFfiVolumeMode(reader),
2155
+ createdAt: reader.readString(),
2156
+ };
2157
+ }
2158
+
2159
+ function writeFfiCreateVmResult(writer: BufWriter, value: FfiCreateVmResult): void {
2160
+ writer.writeString(value.id);
2161
+ writer.writeString(value.name);
2162
+ writeFfiVmStatus(writer, value.status);
2163
+ writer.writeString(value.image);
2164
+ writer.writeString(value.ipv6);
2165
+ if (value.ipv4 === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.ipv4) };
2166
+ if (value.subdomain === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.subdomain) };
2167
+ writer.writeI64(value.maxMemoryMib);
2168
+ writer.writeI64(value.maxCpuCores);
2169
+ writeFfiVolumeMode(writer, value.volumeMode);
2170
+ writer.writeString(value.createdAt);
2171
+ }
2172
+
2173
+ export interface FfiVmAttachInfo {
2174
+ vmId: string;
2175
+ attachToken: string | null;
2176
+ }
2177
+
2178
+ function readFfiVmAttachInfo(reader: BufReader): FfiVmAttachInfo {
2179
+ return {
2180
+ vmId: reader.readString(),
2181
+ attachToken: (reader.readU8() === 0 ? null : reader.readString()),
2182
+ };
2183
+ }
2184
+
2185
+ function writeFfiVmAttachInfo(writer: BufWriter, value: FfiVmAttachInfo): void {
2186
+ writer.writeString(value.vmId);
2187
+ if (value.attachToken === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.attachToken) };
2188
+ }
2189
+
2190
+ export interface FfiVmLogEntry {
2191
+ timestamp: string;
2192
+ stream: string;
2193
+ message: string;
2194
+ }
2195
+
2196
+ function readFfiVmLogEntry(reader: BufReader): FfiVmLogEntry {
2197
+ return {
2198
+ timestamp: reader.readString(),
2199
+ stream: reader.readString(),
2200
+ message: reader.readString(),
2201
+ };
2202
+ }
2203
+
2204
+ function writeFfiVmLogEntry(writer: BufWriter, value: FfiVmLogEntry): void {
2205
+ writer.writeString(value.timestamp);
2206
+ writer.writeString(value.stream);
2207
+ writer.writeString(value.message);
2208
+ }
2209
+
2210
+ export interface FfiVmMetrics {
2211
+ vmId: string;
2212
+ cpuPercent: number;
2213
+ memoryPercent: number;
2214
+ networkRxBytes: bigint;
2215
+ networkTxBytes: bigint;
2216
+ uptimeSecs: bigint;
2217
+ collectedAt: string;
2218
+ }
2219
+
2220
+ function readFfiVmMetrics(reader: BufReader): FfiVmMetrics {
2221
+ return {
2222
+ vmId: reader.readString(),
2223
+ cpuPercent: reader.readF64(),
2224
+ memoryPercent: reader.readF64(),
2225
+ networkRxBytes: reader.readI64(),
2226
+ networkTxBytes: reader.readI64(),
2227
+ uptimeSecs: reader.readI64(),
2228
+ collectedAt: reader.readString(),
2229
+ };
2230
+ }
2231
+
2232
+ function writeFfiVmMetrics(writer: BufWriter, value: FfiVmMetrics): void {
2233
+ writer.writeString(value.vmId);
2234
+ writer.writeF64(value.cpuPercent);
2235
+ writer.writeF64(value.memoryPercent);
2236
+ writer.writeI64(value.networkRxBytes);
2237
+ writer.writeI64(value.networkTxBytes);
2238
+ writer.writeI64(value.uptimeSecs);
2239
+ writer.writeString(value.collectedAt);
2240
+ }
2241
+
2242
+ export interface FfiVmMigration {
2243
+ migrationId: string;
2244
+ vmId: string;
2245
+ sourceNodeId: string;
2246
+ targetNodeId: string;
2247
+ phase: FfiMigrationPhase;
2248
+ actualPauseUs: bigint | null;
2249
+ bytesTransferred: bigint | null;
2250
+ failureReason: string | null;
2251
+ createdAt: string;
2252
+ }
2253
+
2254
+ function readFfiVmMigration(reader: BufReader): FfiVmMigration {
2255
+ return {
2256
+ migrationId: reader.readString(),
2257
+ vmId: reader.readString(),
2258
+ sourceNodeId: reader.readString(),
2259
+ targetNodeId: reader.readString(),
2260
+ phase: readFfiMigrationPhase(reader),
2261
+ actualPauseUs: (reader.readU8() === 0 ? null : reader.readI64()),
2262
+ bytesTransferred: (reader.readU8() === 0 ? null : reader.readI64()),
2263
+ failureReason: (reader.readU8() === 0 ? null : reader.readString()),
2264
+ createdAt: reader.readString(),
2265
+ };
2266
+ }
2267
+
2268
+ function writeFfiVmMigration(writer: BufWriter, value: FfiVmMigration): void {
2269
+ writer.writeString(value.migrationId);
2270
+ writer.writeString(value.vmId);
2271
+ writer.writeString(value.sourceNodeId);
2272
+ writer.writeString(value.targetNodeId);
2273
+ writeFfiMigrationPhase(writer, value.phase);
2274
+ if (value.actualPauseUs === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.actualPauseUs) };
2275
+ if (value.bytesTransferred === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeI64(value.bytesTransferred) };
2276
+ if (value.failureReason === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.failureReason) };
2277
+ writer.writeString(value.createdAt);
2278
+ }
2279
+
2280
+ export interface FfiVmSecret {
2281
+ id: string;
2282
+ name: string;
2283
+ injectAs: FfiSecretInjection;
2284
+ createdAt: string;
2285
+ }
2286
+
2287
+ function readFfiVmSecret(reader: BufReader): FfiVmSecret {
2288
+ return {
2289
+ id: reader.readString(),
2290
+ name: reader.readString(),
2291
+ injectAs: readFfiSecretInjection(reader),
2292
+ createdAt: reader.readString(),
2293
+ };
2294
+ }
2295
+
2296
+ function writeFfiVmSecret(writer: BufWriter, value: FfiVmSecret): void {
2297
+ writer.writeString(value.id);
2298
+ writer.writeString(value.name);
2299
+ writeFfiSecretInjection(writer, value.injectAs);
2300
+ writer.writeString(value.createdAt);
2301
+ }
2302
+
2303
+ export interface FfiForkVmResult {
2304
+ vmId: string;
2305
+ vmName: string;
2306
+ vmStatus: FfiVmStatus;
2307
+ forkBaseLsnNs: string;
2308
+ }
2309
+
2310
+ function readFfiForkVmResult(reader: BufReader): FfiForkVmResult {
2311
+ return {
2312
+ vmId: reader.readString(),
2313
+ vmName: reader.readString(),
2314
+ vmStatus: readFfiVmStatus(reader),
2315
+ forkBaseLsnNs: reader.readString(),
2316
+ };
2317
+ }
2318
+
2319
+ function writeFfiForkVmResult(writer: BufWriter, value: FfiForkVmResult): void {
2320
+ writer.writeString(value.vmId);
2321
+ writer.writeString(value.vmName);
2322
+ writeFfiVmStatus(writer, value.vmStatus);
2323
+ writer.writeString(value.forkBaseLsnNs);
2324
+ }
2325
+
2326
+ export interface FfiFsEntry {
2327
+ name: string;
2328
+ size: string;
2329
+ mode: bigint;
2330
+ mtimeNs: string;
2331
+ isDir: boolean;
2332
+ }
2333
+
2334
+ function readFfiFsEntry(reader: BufReader): FfiFsEntry {
2335
+ return {
2336
+ name: reader.readString(),
2337
+ size: reader.readString(),
2338
+ mode: reader.readI64(),
2339
+ mtimeNs: reader.readString(),
2340
+ isDir: reader.readBool(),
2341
+ };
2342
+ }
2343
+
2344
+ function writeFfiFsEntry(writer: BufWriter, value: FfiFsEntry): void {
2345
+ writer.writeString(value.name);
2346
+ writer.writeString(value.size);
2347
+ writer.writeI64(value.mode);
2348
+ writer.writeString(value.mtimeNs);
2349
+ writer.writeBool(value.isDir);
2350
+ }
2351
+
2352
+ export interface FfiFsReadResult {
2353
+ path: string;
2354
+ text: string;
2355
+ }
2356
+
2357
+ function readFfiFsReadResult(reader: BufReader): FfiFsReadResult {
2358
+ return {
2359
+ path: reader.readString(),
2360
+ text: reader.readString(),
2361
+ };
2362
+ }
2363
+
2364
+ function writeFfiFsReadResult(writer: BufWriter, value: FfiFsReadResult): void {
2365
+ writer.writeString(value.path);
2366
+ writer.writeString(value.text);
2367
+ }
2368
+
2369
+ export interface FfiFsWriteResult {
2370
+ bytesWritten: bigint;
2371
+ }
2372
+
2373
+ function readFfiFsWriteResult(reader: BufReader): FfiFsWriteResult {
2374
+ return {
2375
+ bytesWritten: reader.readI64(),
2376
+ };
2377
+ }
2378
+
2379
+ function writeFfiFsWriteResult(writer: BufWriter, value: FfiFsWriteResult): void {
2380
+ writer.writeI64(value.bytesWritten);
2381
+ }
2382
+
2383
+ export interface FfiMergePreview {
2384
+ totalOps: bigint;
2385
+ disjointPaths: string[];
2386
+ conflictPaths: string[];
2387
+ astMergeablePaths: string[];
2388
+ lineMergeablePaths: string[];
2389
+ contentConflictPaths: string[];
2390
+ skippedPaths: string[];
2391
+ dataViolationPaths: string[];
2392
+ }
2393
+
2394
+ function readFfiMergePreview(reader: BufReader): FfiMergePreview {
2395
+ return {
2396
+ totalOps: reader.readI64(),
2397
+ disjointPaths: readSequence(reader, (r) => r.readString()),
2398
+ conflictPaths: readSequence(reader, (r) => r.readString()),
2399
+ astMergeablePaths: readSequence(reader, (r) => r.readString()),
2400
+ lineMergeablePaths: readSequence(reader, (r) => r.readString()),
2401
+ contentConflictPaths: readSequence(reader, (r) => r.readString()),
2402
+ skippedPaths: readSequence(reader, (r) => r.readString()),
2403
+ dataViolationPaths: readSequence(reader, (r) => r.readString()),
2404
+ };
2405
+ }
2406
+
2407
+ function writeFfiMergePreview(writer: BufWriter, value: FfiMergePreview): void {
2408
+ writer.writeI64(value.totalOps);
2409
+ writeSequence(writer, value.disjointPaths, (w, v) => w.writeString(v));
2410
+ writeSequence(writer, value.conflictPaths, (w, v) => w.writeString(v));
2411
+ writeSequence(writer, value.astMergeablePaths, (w, v) => w.writeString(v));
2412
+ writeSequence(writer, value.lineMergeablePaths, (w, v) => w.writeString(v));
2413
+ writeSequence(writer, value.contentConflictPaths, (w, v) => w.writeString(v));
2414
+ writeSequence(writer, value.skippedPaths, (w, v) => w.writeString(v));
2415
+ writeSequence(writer, value.dataViolationPaths, (w, v) => w.writeString(v));
2416
+ }
2417
+
2418
+ export interface FfiMergeVmResult {
2419
+ appliedOps: bigint;
2420
+ appliedPaths: string[];
2421
+ autoMergedPaths: string[];
2422
+ autoResolvedPaths: string[];
2423
+ conflictPaths: string[];
2424
+ astMergedPaths: string[];
2425
+ lineMergedPaths: string[];
2426
+ }
2427
+
2428
+ function readFfiMergeVmResult(reader: BufReader): FfiMergeVmResult {
2429
+ return {
2430
+ appliedOps: reader.readI64(),
2431
+ appliedPaths: readSequence(reader, (r) => r.readString()),
2432
+ autoMergedPaths: readSequence(reader, (r) => r.readString()),
2433
+ autoResolvedPaths: readSequence(reader, (r) => r.readString()),
2434
+ conflictPaths: readSequence(reader, (r) => r.readString()),
2435
+ astMergedPaths: readSequence(reader, (r) => r.readString()),
2436
+ lineMergedPaths: readSequence(reader, (r) => r.readString()),
2437
+ };
2438
+ }
2439
+
2440
+ function writeFfiMergeVmResult(writer: BufWriter, value: FfiMergeVmResult): void {
2441
+ writer.writeI64(value.appliedOps);
2442
+ writeSequence(writer, value.appliedPaths, (w, v) => w.writeString(v));
2443
+ writeSequence(writer, value.autoMergedPaths, (w, v) => w.writeString(v));
2444
+ writeSequence(writer, value.autoResolvedPaths, (w, v) => w.writeString(v));
2445
+ writeSequence(writer, value.conflictPaths, (w, v) => w.writeString(v));
2446
+ writeSequence(writer, value.astMergedPaths, (w, v) => w.writeString(v));
2447
+ writeSequence(writer, value.lineMergedPaths, (w, v) => w.writeString(v));
2448
+ }
2449
+
2450
+ export interface FfiRevertVmResult {
2451
+ vmId: string;
2452
+ effectiveLsnNs: string;
2453
+ }
2454
+
2455
+ function readFfiRevertVmResult(reader: BufReader): FfiRevertVmResult {
2456
+ return {
2457
+ vmId: reader.readString(),
2458
+ effectiveLsnNs: reader.readString(),
2459
+ };
2460
+ }
2461
+
2462
+ function writeFfiRevertVmResult(writer: BufWriter, value: FfiRevertVmResult): void {
2463
+ writer.writeString(value.vmId);
2464
+ writer.writeString(value.effectiveLsnNs);
2465
+ }
2466
+
2467
+ export interface FfiUndoRedoResult {
2468
+ vmId: string;
2469
+ changed: boolean;
2470
+ effectiveLsnNs: string;
2471
+ }
2472
+
2473
+ function readFfiUndoRedoResult(reader: BufReader): FfiUndoRedoResult {
2474
+ return {
2475
+ vmId: reader.readString(),
2476
+ changed: reader.readBool(),
2477
+ effectiveLsnNs: reader.readString(),
2478
+ };
2479
+ }
2480
+
2481
+ function writeFfiUndoRedoResult(writer: BufWriter, value: FfiUndoRedoResult): void {
2482
+ writer.writeString(value.vmId);
2483
+ writer.writeBool(value.changed);
2484
+ writer.writeString(value.effectiveLsnNs);
2485
+ }
2486
+
2487
+ export interface FfiVmSnapshot {
2488
+ id: string;
2489
+ vmId: string;
2490
+ parentId: string | null;
2491
+ status: FfiSnapshotStatus;
2492
+ memoryMib: bigint;
2493
+ manifestKey: string | null;
2494
+ createdAtMillis: bigint;
2495
+ }
2496
+
2497
+ function readFfiVmSnapshot(reader: BufReader): FfiVmSnapshot {
2498
+ return {
2499
+ id: reader.readString(),
2500
+ vmId: reader.readString(),
2501
+ parentId: (reader.readU8() === 0 ? null : reader.readString()),
2502
+ status: readFfiSnapshotStatus(reader),
2503
+ memoryMib: reader.readI64(),
2504
+ manifestKey: (reader.readU8() === 0 ? null : reader.readString()),
2505
+ createdAtMillis: reader.readI64(),
2506
+ };
2507
+ }
2508
+
2509
+ function writeFfiVmSnapshot(writer: BufWriter, value: FfiVmSnapshot): void {
2510
+ writer.writeString(value.id);
2511
+ writer.writeString(value.vmId);
2512
+ if (value.parentId === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.parentId) };
2513
+ writeFfiSnapshotStatus(writer, value.status);
2514
+ writer.writeI64(value.memoryMib);
2515
+ if (value.manifestKey === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.manifestKey) };
2516
+ writer.writeI64(value.createdAtMillis);
2517
+ }
2518
+
2519
+ export interface FfiVmSnapshotBranch {
2520
+ id: string;
2521
+ vmId: string;
2522
+ name: string;
2523
+ tipId: string;
2524
+ createdAtMillis: bigint;
2525
+ updatedAtMillis: bigint;
2526
+ }
2527
+
2528
+ function readFfiVmSnapshotBranch(reader: BufReader): FfiVmSnapshotBranch {
2529
+ return {
2530
+ id: reader.readString(),
2531
+ vmId: reader.readString(),
2532
+ name: reader.readString(),
2533
+ tipId: reader.readString(),
2534
+ createdAtMillis: reader.readI64(),
2535
+ updatedAtMillis: reader.readI64(),
2536
+ };
2537
+ }
2538
+
2539
+ function writeFfiVmSnapshotBranch(writer: BufWriter, value: FfiVmSnapshotBranch): void {
2540
+ writer.writeString(value.id);
2541
+ writer.writeString(value.vmId);
2542
+ writer.writeString(value.name);
2543
+ writer.writeString(value.tipId);
2544
+ writer.writeI64(value.createdAtMillis);
2545
+ writer.writeI64(value.updatedAtMillis);
2546
+ }
2547
+
2548
+ export interface FfiCreateVolumeInput {
2549
+ name: string;
2550
+ vmId: string | null;
2551
+ }
2552
+
2553
+ function readFfiCreateVolumeInput(reader: BufReader): FfiCreateVolumeInput {
2554
+ return {
2555
+ name: reader.readString(),
2556
+ vmId: (reader.readU8() === 0 ? null : reader.readString()),
2557
+ };
2558
+ }
2559
+
2560
+ function writeFfiCreateVolumeInput(writer: BufWriter, value: FfiCreateVolumeInput): void {
2561
+ writer.writeString(value.name);
2562
+ if (value.vmId === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.vmId) };
2563
+ }
2564
+
2565
+ export interface FfiForkVolumeInput {
2566
+ sourceVolumeId: string;
2567
+ name: string;
2568
+ vmId: string | null;
2569
+ }
2570
+
2571
+ function readFfiForkVolumeInput(reader: BufReader): FfiForkVolumeInput {
2572
+ return {
2573
+ sourceVolumeId: reader.readString(),
2574
+ name: reader.readString(),
2575
+ vmId: (reader.readU8() === 0 ? null : reader.readString()),
2576
+ };
2577
+ }
2578
+
2579
+ function writeFfiForkVolumeInput(writer: BufWriter, value: FfiForkVolumeInput): void {
2580
+ writer.writeString(value.sourceVolumeId);
2581
+ writer.writeString(value.name);
2582
+ if (value.vmId === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.vmId) };
2583
+ }
2584
+
2585
+ export interface FfiVolume {
2586
+ id: string;
2587
+ name: string;
2588
+ vmId: string | null;
2589
+ currentManifestTimestamp: string | null;
2590
+ sizeBytes: bigint;
2591
+ createdAt: string;
2592
+ updatedAt: string;
2593
+ }
2594
+
2595
+ function readFfiVolume(reader: BufReader): FfiVolume {
2596
+ return {
2597
+ id: reader.readString(),
2598
+ name: reader.readString(),
2599
+ vmId: (reader.readU8() === 0 ? null : reader.readString()),
2600
+ currentManifestTimestamp: (reader.readU8() === 0 ? null : reader.readString()),
2601
+ sizeBytes: reader.readI64(),
2602
+ createdAt: reader.readString(),
2603
+ updatedAt: reader.readString(),
2604
+ };
2605
+ }
2606
+
2607
+ function writeFfiVolume(writer: BufWriter, value: FfiVolume): void {
2608
+ writer.writeString(value.id);
2609
+ writer.writeString(value.name);
2610
+ if (value.vmId === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.vmId) };
2611
+ if (value.currentManifestTimestamp === null) { writer.writeU8(0); } else { writer.writeU8(1); writer.writeString(value.currentManifestTimestamp) };
2612
+ writer.writeI64(value.sizeBytes);
2613
+ writer.writeString(value.createdAt);
2614
+ writer.writeString(value.updatedAt);
2615
+ }
2616
+
2617
+ export interface FfiVolumeSnapshot {
2618
+ id: string;
2619
+ volumeId: string;
2620
+ name: string;
2621
+ manifestTimestamp: string;
2622
+ createdAt: string;
2623
+ }
2624
+
2625
+ function readFfiVolumeSnapshot(reader: BufReader): FfiVolumeSnapshot {
2626
+ return {
2627
+ id: reader.readString(),
2628
+ volumeId: reader.readString(),
2629
+ name: reader.readString(),
2630
+ manifestTimestamp: reader.readString(),
2631
+ createdAt: reader.readString(),
2632
+ };
2633
+ }
2634
+
2635
+ function writeFfiVolumeSnapshot(writer: BufWriter, value: FfiVolumeSnapshot): void {
2636
+ writer.writeString(value.id);
2637
+ writer.writeString(value.volumeId);
2638
+ writer.writeString(value.name);
2639
+ writer.writeString(value.manifestTimestamp);
2640
+ writer.writeString(value.createdAt);
2641
+ }
2642
+
2643
+ // ---- Enum types ----
2644
+ export interface FfiMountErrorTargetNotFound {
2645
+ tag: 'TargetNotFound';
2646
+ name: string;
2647
+ }
2648
+ export interface FfiMountErrorTargetExists {
2649
+ tag: 'TargetExists';
2650
+ name: string;
2651
+ }
2652
+ export interface FfiMountErrorRegistry {
2653
+ tag: 'Registry';
2654
+ msg: string;
2655
+ }
2656
+ export interface FfiMountErrorArchived {
2657
+ tag: 'Archived';
2658
+ msg: string;
2659
+ }
2660
+ export interface FfiMountErrorIo {
2661
+ tag: 'Io';
2662
+ msg: string;
2663
+ }
2664
+
2665
+ export type FfiMountError =
2666
+ | FfiMountErrorTargetNotFound
2667
+ | FfiMountErrorTargetExists
2668
+ | FfiMountErrorRegistry
2669
+ | FfiMountErrorArchived
2670
+ | FfiMountErrorIo;
2671
+
2672
+ function readFfiMountError(reader: BufReader): FfiMountError {
2673
+ const variant = reader.readI32();
2674
+ switch (variant) {
2675
+ case 1:
2676
+ return {
2677
+ tag: 'TargetNotFound' as const,
2678
+ name: reader.readString(),
2679
+ };
2680
+ case 2:
2681
+ return {
2682
+ tag: 'TargetExists' as const,
2683
+ name: reader.readString(),
2684
+ };
2685
+ case 3:
2686
+ return {
2687
+ tag: 'Registry' as const,
2688
+ msg: reader.readString(),
2689
+ };
2690
+ case 4:
2691
+ return {
2692
+ tag: 'Archived' as const,
2693
+ msg: reader.readString(),
2694
+ };
2695
+ case 5:
2696
+ return {
2697
+ tag: 'Io' as const,
2698
+ msg: reader.readString(),
2699
+ };
2700
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
2701
+ }
2702
+ }
2703
+
2704
+ function writeFfiMountError(writer: BufWriter, value: FfiMountError): void {
2705
+ switch (value.tag) {
2706
+ case 'TargetNotFound':
2707
+ writer.writeI32(1);
2708
+ writer.writeString(value.name);
2709
+ break;
2710
+ case 'TargetExists':
2711
+ writer.writeI32(2);
2712
+ writer.writeString(value.name);
2713
+ break;
2714
+ case 'Registry':
2715
+ writer.writeI32(3);
2716
+ writer.writeString(value.msg);
2717
+ break;
2718
+ case 'Archived':
2719
+ writer.writeI32(4);
2720
+ writer.writeString(value.msg);
2721
+ break;
2722
+ case 'Io':
2723
+ writer.writeI32(5);
2724
+ writer.writeString(value.msg);
2725
+ break;
2726
+ }
2727
+ }
2728
+ export interface FfiSdkErrorPaymentRequired {
2729
+ tag: 'PaymentRequired';
2730
+ }
2731
+ export interface FfiSdkErrorUnauthorized {
2732
+ tag: 'Unauthorized';
2733
+ reason: string;
2734
+ }
2735
+ export interface FfiSdkErrorConnectionFailed {
2736
+ tag: 'ConnectionFailed';
2737
+ reason: string;
2738
+ }
2739
+ export interface FfiSdkErrorNotFound {
2740
+ tag: 'NotFound';
2741
+ kind: string;
2742
+ identifier: string;
2743
+ }
2744
+ export interface FfiSdkErrorError {
2745
+ tag: 'Error';
2746
+ summary: string;
2747
+ }
2748
+ export interface FfiSdkErrorHttpError {
2749
+ tag: 'HttpError';
2750
+ status: number;
2751
+ body: string;
2752
+ }
2753
+ export interface FfiSdkErrorRequestFailed {
2754
+ tag: 'RequestFailed';
2755
+ msg: string;
2756
+ }
2757
+ export interface FfiSdkErrorParseError {
2758
+ tag: 'ParseError';
2759
+ msg: string;
2760
+ }
2761
+ export interface FfiSdkErrorNoData {
2762
+ tag: 'NoData';
2763
+ }
2764
+ export interface FfiSdkErrorInternal {
2765
+ tag: 'Internal';
2766
+ msg: string;
2767
+ }
2768
+
2769
+ export type FfiSdkError =
2770
+ | FfiSdkErrorPaymentRequired
2771
+ | FfiSdkErrorUnauthorized
2772
+ | FfiSdkErrorConnectionFailed
2773
+ | FfiSdkErrorNotFound
2774
+ | FfiSdkErrorError
2775
+ | FfiSdkErrorHttpError
2776
+ | FfiSdkErrorRequestFailed
2777
+ | FfiSdkErrorParseError
2778
+ | FfiSdkErrorNoData
2779
+ | FfiSdkErrorInternal;
2780
+
2781
+ function readFfiSdkError(reader: BufReader): FfiSdkError {
2782
+ const variant = reader.readI32();
2783
+ switch (variant) {
2784
+ case 1:
2785
+ return {
2786
+ tag: 'PaymentRequired' as const,
2787
+ };
2788
+ case 2:
2789
+ return {
2790
+ tag: 'Unauthorized' as const,
2791
+ reason: reader.readString(),
2792
+ };
2793
+ case 3:
2794
+ return {
2795
+ tag: 'ConnectionFailed' as const,
2796
+ reason: reader.readString(),
2797
+ };
2798
+ case 4:
2799
+ return {
2800
+ tag: 'NotFound' as const,
2801
+ kind: reader.readString(),
2802
+ identifier: reader.readString(),
2803
+ };
2804
+ case 5:
2805
+ return {
2806
+ tag: 'Error' as const,
2807
+ summary: reader.readString(),
2808
+ };
2809
+ case 6:
2810
+ return {
2811
+ tag: 'HttpError' as const,
2812
+ status: reader.readU16(),
2813
+ body: reader.readString(),
2814
+ };
2815
+ case 7:
2816
+ return {
2817
+ tag: 'RequestFailed' as const,
2818
+ msg: reader.readString(),
2819
+ };
2820
+ case 8:
2821
+ return {
2822
+ tag: 'ParseError' as const,
2823
+ msg: reader.readString(),
2824
+ };
2825
+ case 9:
2826
+ return {
2827
+ tag: 'NoData' as const,
2828
+ };
2829
+ case 10:
2830
+ return {
2831
+ tag: 'Internal' as const,
2832
+ msg: reader.readString(),
2833
+ };
2834
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
2835
+ }
2836
+ }
2837
+
2838
+ function writeFfiSdkError(writer: BufWriter, value: FfiSdkError): void {
2839
+ switch (value.tag) {
2840
+ case 'PaymentRequired':
2841
+ writer.writeI32(1);
2842
+ break;
2843
+ case 'Unauthorized':
2844
+ writer.writeI32(2);
2845
+ writer.writeString(value.reason);
2846
+ break;
2847
+ case 'ConnectionFailed':
2848
+ writer.writeI32(3);
2849
+ writer.writeString(value.reason);
2850
+ break;
2851
+ case 'NotFound':
2852
+ writer.writeI32(4);
2853
+ writer.writeString(value.kind);
2854
+ writer.writeString(value.identifier);
2855
+ break;
2856
+ case 'Error':
2857
+ writer.writeI32(5);
2858
+ writer.writeString(value.summary);
2859
+ break;
2860
+ case 'HttpError':
2861
+ writer.writeI32(6);
2862
+ writer.writeU16(value.status);
2863
+ writer.writeString(value.body);
2864
+ break;
2865
+ case 'RequestFailed':
2866
+ writer.writeI32(7);
2867
+ writer.writeString(value.msg);
2868
+ break;
2869
+ case 'ParseError':
2870
+ writer.writeI32(8);
2871
+ writer.writeString(value.msg);
2872
+ break;
2873
+ case 'NoData':
2874
+ writer.writeI32(9);
2875
+ break;
2876
+ case 'Internal':
2877
+ writer.writeI32(10);
2878
+ writer.writeString(value.msg);
2879
+ break;
2880
+ }
2881
+ }
2882
+
2883
+ export enum FfiComputeStatus {
2884
+ Creating = 1,
2885
+ Deploying = 2,
2886
+ Running = 3,
2887
+ Idle = 4,
2888
+ Stopped = 5,
2889
+ Failed = 6,
2890
+ }
2891
+
2892
+ function readFfiComputeStatus(reader: BufReader): FfiComputeStatus {
2893
+ const variant = reader.readI32();
2894
+ switch (variant) {
2895
+ case 1: return FfiComputeStatus.Creating;
2896
+ case 2: return FfiComputeStatus.Deploying;
2897
+ case 3: return FfiComputeStatus.Running;
2898
+ case 4: return FfiComputeStatus.Idle;
2899
+ case 5: return FfiComputeStatus.Stopped;
2900
+ case 6: return FfiComputeStatus.Failed;
2901
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
2902
+ }
2903
+ }
2904
+
2905
+ function writeFfiComputeStatus(writer: BufWriter, value: FfiComputeStatus): void {
2906
+ writer.writeI32(value);
2907
+ }
2908
+
2909
+ export enum FfiImageSource {
2910
+ Built = 1,
2911
+ External = 2,
2912
+ System = 3,
2913
+ }
2914
+
2915
+ function readFfiImageSource(reader: BufReader): FfiImageSource {
2916
+ const variant = reader.readI32();
2917
+ switch (variant) {
2918
+ case 1: return FfiImageSource.Built;
2919
+ case 2: return FfiImageSource.External;
2920
+ case 3: return FfiImageSource.System;
2921
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
2922
+ }
2923
+ }
2924
+
2925
+ function writeFfiImageSource(writer: BufWriter, value: FfiImageSource): void {
2926
+ writer.writeI32(value);
2927
+ }
2928
+
2929
+ export enum FfiMigrationPhase {
2930
+ Planning = 1,
2931
+ CapturingSource = 2,
2932
+ SourceCaptured = 3,
2933
+ PreparingTarget = 4,
2934
+ RestoringTarget = 5,
2935
+ TargetReady = 6,
2936
+ DrainingSource = 7,
2937
+ CuttingOver = 8,
2938
+ VmResumed = 9,
2939
+ Committed = 10,
2940
+ CleaningUp = 11,
2941
+ Completed = 12,
2942
+ Failed = 13,
2943
+ Cancelled = 14,
2944
+ }
2945
+
2946
+ function readFfiMigrationPhase(reader: BufReader): FfiMigrationPhase {
2947
+ const variant = reader.readI32();
2948
+ switch (variant) {
2949
+ case 1: return FfiMigrationPhase.Planning;
2950
+ case 2: return FfiMigrationPhase.CapturingSource;
2951
+ case 3: return FfiMigrationPhase.SourceCaptured;
2952
+ case 4: return FfiMigrationPhase.PreparingTarget;
2953
+ case 5: return FfiMigrationPhase.RestoringTarget;
2954
+ case 6: return FfiMigrationPhase.TargetReady;
2955
+ case 7: return FfiMigrationPhase.DrainingSource;
2956
+ case 8: return FfiMigrationPhase.CuttingOver;
2957
+ case 9: return FfiMigrationPhase.VmResumed;
2958
+ case 10: return FfiMigrationPhase.Committed;
2959
+ case 11: return FfiMigrationPhase.CleaningUp;
2960
+ case 12: return FfiMigrationPhase.Completed;
2961
+ case 13: return FfiMigrationPhase.Failed;
2962
+ case 14: return FfiMigrationPhase.Cancelled;
2963
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
2964
+ }
2965
+ }
2966
+
2967
+ function writeFfiMigrationPhase(writer: BufWriter, value: FfiMigrationPhase): void {
2968
+ writer.writeI32(value);
2969
+ }
2970
+
2971
+ export enum FfiSecretInjection {
2972
+ Env = 1,
2973
+ File = 2,
2974
+ }
2975
+
2976
+ function readFfiSecretInjection(reader: BufReader): FfiSecretInjection {
2977
+ const variant = reader.readI32();
2978
+ switch (variant) {
2979
+ case 1: return FfiSecretInjection.Env;
2980
+ case 2: return FfiSecretInjection.File;
2981
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
2982
+ }
2983
+ }
2984
+
2985
+ function writeFfiSecretInjection(writer: BufWriter, value: FfiSecretInjection): void {
2986
+ writer.writeI32(value);
2987
+ }
2988
+
2989
+ export enum FfiSnapshotStatus {
2990
+ Capturing = 1,
2991
+ Ready = 2,
2992
+ Failed = 3,
2993
+ }
2994
+
2995
+ function readFfiSnapshotStatus(reader: BufReader): FfiSnapshotStatus {
2996
+ const variant = reader.readI32();
2997
+ switch (variant) {
2998
+ case 1: return FfiSnapshotStatus.Capturing;
2999
+ case 2: return FfiSnapshotStatus.Ready;
3000
+ case 3: return FfiSnapshotStatus.Failed;
3001
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
3002
+ }
3003
+ }
3004
+
3005
+ function writeFfiSnapshotStatus(writer: BufWriter, value: FfiSnapshotStatus): void {
3006
+ writer.writeI32(value);
3007
+ }
3008
+
3009
+ export enum FfiVmStatus {
3010
+ Creating = 1,
3011
+ Pending = 2,
3012
+ Starting = 3,
3013
+ Running = 4,
3014
+ Migrating = 5,
3015
+ Checkpointing = 6,
3016
+ Sleeping = 7,
3017
+ Waking = 8,
3018
+ Stopping = 9,
3019
+ Stopped = 10,
3020
+ Failed = 11,
3021
+ Deleted = 12,
3022
+ }
3023
+
3024
+ function readFfiVmStatus(reader: BufReader): FfiVmStatus {
3025
+ const variant = reader.readI32();
3026
+ switch (variant) {
3027
+ case 1: return FfiVmStatus.Creating;
3028
+ case 2: return FfiVmStatus.Pending;
3029
+ case 3: return FfiVmStatus.Starting;
3030
+ case 4: return FfiVmStatus.Running;
3031
+ case 5: return FfiVmStatus.Migrating;
3032
+ case 6: return FfiVmStatus.Checkpointing;
3033
+ case 7: return FfiVmStatus.Sleeping;
3034
+ case 8: return FfiVmStatus.Waking;
3035
+ case 9: return FfiVmStatus.Stopping;
3036
+ case 10: return FfiVmStatus.Stopped;
3037
+ case 11: return FfiVmStatus.Failed;
3038
+ case 12: return FfiVmStatus.Deleted;
3039
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
3040
+ }
3041
+ }
3042
+
3043
+ function writeFfiVmStatus(writer: BufWriter, value: FfiVmStatus): void {
3044
+ writer.writeI32(value);
3045
+ }
3046
+
3047
+ export enum FfiVolumeMode {
3048
+ None = 1,
3049
+ Shared = 2,
3050
+ PerReplica = 3,
3051
+ }
3052
+
3053
+ function readFfiVolumeMode(reader: BufReader): FfiVolumeMode {
3054
+ const variant = reader.readI32();
3055
+ switch (variant) {
3056
+ case 1: return FfiVolumeMode.None;
3057
+ case 2: return FfiVolumeMode.Shared;
3058
+ case 3: return FfiVolumeMode.PerReplica;
3059
+ default: throw new UniffiError(`Unexpected enum variant: ${variant}`);
3060
+ }
3061
+ }
3062
+
3063
+ function writeFfiVolumeMode(writer: BufWriter, value: FfiVolumeMode): void {
3064
+ writer.writeI32(value);
3065
+ }
3066
+
3067
+ // ---- Error types ----
3068
+
3069
+ export class FfiMountErrorError extends Error {
3070
+ readonly variant: FfiMountError;
3071
+
3072
+ constructor(variant: FfiMountError) {
3073
+ super("FfiMountError: " + variant.tag);
3074
+ this.name = 'FfiMountErrorError';
3075
+ this.variant = variant;
3076
+ }
3077
+ }
3078
+
3079
+ function liftFfiMountErrorError(rustBuf: any): FfiMountErrorError {
3080
+ const variant = liftFromBuffer(rustBuf, (r) => readFfiMountError(r));
3081
+ return new FfiMountErrorError(variant);
3082
+ }
3083
+
3084
+ export class FfiSdkErrorError extends Error {
3085
+ readonly variant: FfiSdkError;
3086
+
3087
+ constructor(variant: FfiSdkError) {
3088
+ super("FfiSdkError: " + variant.tag);
3089
+ this.name = 'FfiSdkErrorError';
3090
+ this.variant = variant;
3091
+ }
3092
+ }
3093
+
3094
+ function liftFfiSdkErrorError(rustBuf: any): FfiSdkErrorError {
3095
+ const variant = liftFromBuffer(rustBuf, (r) => readFfiSdkError(r));
3096
+ return new FfiSdkErrorError(variant);
3097
+ }
3098
+
3099
+ // ---- Object types ----
3100
+
3101
+ export class IxSdkClient {
3102
+ private readonly handle: bigint;
3103
+
3104
+ /** @internal */
3105
+ constructor(handle: bigint) {
3106
+ this.handle = handle;
3107
+ }
3108
+
3109
+ [uniffiCloneHandle](): bigint {
3110
+ return rustCall((cs: any) => uniffiIxSdkFfiFnCloneIxsdkclient(this.handle, cs));
3111
+ }
3112
+
3113
+ /** Release this object's handle. */
3114
+ close(): void {
3115
+ rustCall((cs: any) => uniffiIxSdkFfiFnFreeIxsdkclient(this.handle, cs));
3116
+ }
3117
+ static create(
3118
+ server: string,
3119
+ token: string
3120
+ ): IxSdkClient {
3121
+ const handle = rustCallWithError(
3122
+ (buf: any) => liftFfiSdkErrorError(buf),
3123
+ (cs: any) => uniffiIxSdkFfiFnConstructorIxsdkclientNew(
3124
+ lowerString(server),
3125
+ lowerString(token),
3126
+ cs
3127
+ )
3128
+ );
3129
+ return new IxSdkClient(BigInt(handle));
3130
+ }
3131
+ async billingStatus(
3132
+ ): Promise<FfiBillingStatus> {
3133
+ return await uniffiRustCallAsync(
3134
+ () => uniffiIxSdkFfiFnMethodIxsdkclientBillingStatus(this.handle,
3135
+ ),
3136
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3137
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3138
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3139
+ (result: any) => liftFromBuffer(result, (r) => readFfiBillingStatus(r)),
3140
+ (buf: any) => liftFfiSdkErrorError(buf),
3141
+ );
3142
+ }
3143
+ async createApiToken(
3144
+ input: FfiCreateApiTokenInput
3145
+ ): Promise<FfiCreateApiTokenResult> {
3146
+ return await uniffiRustCallAsync(
3147
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateApiToken(this.handle,
3148
+ lowerIntoBuffer(input, (w, v) => writeFfiCreateApiTokenInput(w, v), false),
3149
+ ),
3150
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3151
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3152
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3153
+ (result: any) => liftFromBuffer(result, (r) => readFfiCreateApiTokenResult(r)),
3154
+ (buf: any) => liftFfiSdkErrorError(buf),
3155
+ );
3156
+ }
3157
+ async createCheckoutSession(
3158
+ input: FfiCreateCheckoutSessionInput
3159
+ ): Promise<FfiCheckoutSession> {
3160
+ return await uniffiRustCallAsync(
3161
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateCheckoutSession(this.handle,
3162
+ lowerIntoBuffer(input, (w, v) => writeFfiCreateCheckoutSessionInput(w, v), false),
3163
+ ),
3164
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3165
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3166
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3167
+ (result: any) => liftFromBuffer(result, (r) => readFfiCheckoutSession(r)),
3168
+ (buf: any) => liftFfiSdkErrorError(buf),
3169
+ );
3170
+ }
3171
+ async listApiTokens(
3172
+ ): Promise<FfiApiToken[]> {
3173
+ return await uniffiRustCallAsync(
3174
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListApiTokens(this.handle,
3175
+ ),
3176
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3177
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3178
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3179
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiApiToken(r))),
3180
+ (buf: any) => liftFfiSdkErrorError(buf),
3181
+ );
3182
+ }
3183
+ async me(
3184
+ ): Promise<FfiUser> {
3185
+ return await uniffiRustCallAsync(
3186
+ () => uniffiIxSdkFfiFnMethodIxsdkclientMe(this.handle,
3187
+ ),
3188
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3189
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3190
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3191
+ (result: any) => liftFromBuffer(result, (r) => readFfiUser(r)),
3192
+ (buf: any) => liftFfiSdkErrorError(buf),
3193
+ );
3194
+ }
3195
+ async revokeApiToken(
3196
+ tokenId: string
3197
+ ): Promise<void> {
3198
+ return await uniffiRustCallAsync(
3199
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRevokeApiToken(this.handle,
3200
+ lowerString(tokenId),
3201
+ ),
3202
+ ffiIxSdkFfiRustFuturePollVoid,
3203
+ ffiIxSdkFfiRustFutureCompleteVoid,
3204
+ ffiIxSdkFfiRustFutureFreeVoid,
3205
+ (_: any) => {},
3206
+ (buf: any) => liftFfiSdkErrorError(buf),
3207
+ );
3208
+ }
3209
+ async usageEvents(
3210
+ tokenId: string,
3211
+ since: string | null,
3212
+ until: string | null,
3213
+ resourceType: string | null,
3214
+ limit: bigint
3215
+ ): Promise<FfiUsageEvent[]> {
3216
+ return await uniffiRustCallAsync(
3217
+ () => uniffiIxSdkFfiFnMethodIxsdkclientUsageEvents(this.handle,
3218
+ lowerString(tokenId),
3219
+ lowerIntoBuffer(since, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3220
+ lowerIntoBuffer(until, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3221
+ lowerIntoBuffer(resourceType, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3222
+ limit,
3223
+ ),
3224
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3225
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3226
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3227
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiUsageEvent(r))),
3228
+ (buf: any) => liftFfiSdkErrorError(buf),
3229
+ );
3230
+ }
3231
+ async computeBySubdomain(
3232
+ subdomain: string
3233
+ ): Promise<FfiCompute> {
3234
+ return await uniffiRustCallAsync(
3235
+ () => uniffiIxSdkFfiFnMethodIxsdkclientComputeBySubdomain(this.handle,
3236
+ lowerString(subdomain),
3237
+ ),
3238
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3239
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3240
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3241
+ (result: any) => liftFromBuffer(result, (r) => readFfiCompute(r)),
3242
+ (buf: any) => liftFfiSdkErrorError(buf),
3243
+ );
3244
+ }
3245
+ async computeEnvVars(
3246
+ computeId: string
3247
+ ): Promise<FfiEnvVar[]> {
3248
+ return await uniffiRustCallAsync(
3249
+ () => uniffiIxSdkFfiFnMethodIxsdkclientComputeEnvVars(this.handle,
3250
+ lowerString(computeId),
3251
+ ),
3252
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3253
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3254
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3255
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiEnvVar(r))),
3256
+ (buf: any) => liftFfiSdkErrorError(buf),
3257
+ );
3258
+ }
3259
+ async computeInstances(
3260
+ computeId: string
3261
+ ): Promise<FfiComputeInstance[]> {
3262
+ return await uniffiRustCallAsync(
3263
+ () => uniffiIxSdkFfiFnMethodIxsdkclientComputeInstances(this.handle,
3264
+ lowerString(computeId),
3265
+ ),
3266
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3267
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3268
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3269
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiComputeInstance(r))),
3270
+ (buf: any) => liftFfiSdkErrorError(buf),
3271
+ );
3272
+ }
3273
+ async createCompute(
3274
+ input: FfiCreateComputeInput
3275
+ ): Promise<FfiCompute> {
3276
+ return await uniffiRustCallAsync(
3277
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateCompute(this.handle,
3278
+ lowerIntoBuffer(input, (w, v) => writeFfiCreateComputeInput(w, v), false),
3279
+ ),
3280
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3281
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3282
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3283
+ (result: any) => liftFromBuffer(result, (r) => readFfiCompute(r)),
3284
+ (buf: any) => liftFfiSdkErrorError(buf),
3285
+ );
3286
+ }
3287
+ async createComputeAndWait(
3288
+ input: FfiCreateComputeInput
3289
+ ): Promise<FfiComputeWithInstances> {
3290
+ return await uniffiRustCallAsync(
3291
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateComputeAndWait(this.handle,
3292
+ lowerIntoBuffer(input, (w, v) => writeFfiCreateComputeInput(w, v), false),
3293
+ ),
3294
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3295
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3296
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3297
+ (result: any) => liftFromBuffer(result, (r) => readFfiComputeWithInstances(r)),
3298
+ (buf: any) => liftFfiSdkErrorError(buf),
3299
+ );
3300
+ }
3301
+ async deleteCompute(
3302
+ computeId: string
3303
+ ): Promise<void> {
3304
+ return await uniffiRustCallAsync(
3305
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeleteCompute(this.handle,
3306
+ lowerString(computeId),
3307
+ ),
3308
+ ffiIxSdkFfiRustFuturePollVoid,
3309
+ ffiIxSdkFfiRustFutureCompleteVoid,
3310
+ ffiIxSdkFfiRustFutureFreeVoid,
3311
+ (_: any) => {},
3312
+ (buf: any) => liftFfiSdkErrorError(buf),
3313
+ );
3314
+ }
3315
+ async deleteComputeEnv(
3316
+ computeId: string,
3317
+ key: string
3318
+ ): Promise<void> {
3319
+ return await uniffiRustCallAsync(
3320
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeleteComputeEnv(this.handle,
3321
+ lowerString(computeId),
3322
+ lowerString(key),
3323
+ ),
3324
+ ffiIxSdkFfiRustFuturePollVoid,
3325
+ ffiIxSdkFfiRustFutureCompleteVoid,
3326
+ ffiIxSdkFfiRustFutureFreeVoid,
3327
+ (_: any) => {},
3328
+ (buf: any) => liftFfiSdkErrorError(buf),
3329
+ );
3330
+ }
3331
+ async deployCompute(
3332
+ computeId: string
3333
+ ): Promise<void> {
3334
+ return await uniffiRustCallAsync(
3335
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeployCompute(this.handle,
3336
+ lowerString(computeId),
3337
+ ),
3338
+ ffiIxSdkFfiRustFuturePollVoid,
3339
+ ffiIxSdkFfiRustFutureCompleteVoid,
3340
+ ffiIxSdkFfiRustFutureFreeVoid,
3341
+ (_: any) => {},
3342
+ (buf: any) => liftFfiSdkErrorError(buf),
3343
+ );
3344
+ }
3345
+ async execCompute(
3346
+ computeId: string,
3347
+ command: string[],
3348
+ workingDir: string | null
3349
+ ): Promise<FfiExecResult> {
3350
+ return await uniffiRustCallAsync(
3351
+ () => uniffiIxSdkFfiFnMethodIxsdkclientExecCompute(this.handle,
3352
+ lowerString(computeId),
3353
+ lowerIntoBuffer(command, (w, v) => { w.writeI32(v.length); for (const item of v) { w.writeString(item) } }, false),
3354
+ lowerIntoBuffer(workingDir, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3355
+ ),
3356
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3357
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3358
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3359
+ (result: any) => liftFromBuffer(result, (r) => readFfiExecResult(r)),
3360
+ (buf: any) => liftFfiSdkErrorError(buf),
3361
+ );
3362
+ }
3363
+ async listComputes(
3364
+ ): Promise<FfiCompute[]> {
3365
+ return await uniffiRustCallAsync(
3366
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListComputes(this.handle,
3367
+ ),
3368
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3369
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3370
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3371
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiCompute(r))),
3372
+ (buf: any) => liftFfiSdkErrorError(buf),
3373
+ );
3374
+ }
3375
+ async pauseCompute(
3376
+ computeId: string
3377
+ ): Promise<void> {
3378
+ return await uniffiRustCallAsync(
3379
+ () => uniffiIxSdkFfiFnMethodIxsdkclientPauseCompute(this.handle,
3380
+ lowerString(computeId),
3381
+ ),
3382
+ ffiIxSdkFfiRustFuturePollVoid,
3383
+ ffiIxSdkFfiRustFutureCompleteVoid,
3384
+ ffiIxSdkFfiRustFutureFreeVoid,
3385
+ (_: any) => {},
3386
+ (buf: any) => liftFfiSdkErrorError(buf),
3387
+ );
3388
+ }
3389
+ async resumeCompute(
3390
+ computeId: string
3391
+ ): Promise<void> {
3392
+ return await uniffiRustCallAsync(
3393
+ () => uniffiIxSdkFfiFnMethodIxsdkclientResumeCompute(this.handle,
3394
+ lowerString(computeId),
3395
+ ),
3396
+ ffiIxSdkFfiRustFuturePollVoid,
3397
+ ffiIxSdkFfiRustFutureCompleteVoid,
3398
+ ffiIxSdkFfiRustFutureFreeVoid,
3399
+ (_: any) => {},
3400
+ (buf: any) => liftFfiSdkErrorError(buf),
3401
+ );
3402
+ }
3403
+ async setComputeEnv(
3404
+ computeId: string,
3405
+ key: string,
3406
+ value: string
3407
+ ): Promise<void> {
3408
+ return await uniffiRustCallAsync(
3409
+ () => uniffiIxSdkFfiFnMethodIxsdkclientSetComputeEnv(this.handle,
3410
+ lowerString(computeId),
3411
+ lowerString(key),
3412
+ lowerString(value),
3413
+ ),
3414
+ ffiIxSdkFfiRustFuturePollVoid,
3415
+ ffiIxSdkFfiRustFutureCompleteVoid,
3416
+ ffiIxSdkFfiRustFutureFreeVoid,
3417
+ (_: any) => {},
3418
+ (buf: any) => liftFfiSdkErrorError(buf),
3419
+ );
3420
+ }
3421
+ async shellAttachInfo(
3422
+ computeId: string
3423
+ ): Promise<FfiShellAttachInfo> {
3424
+ return await uniffiRustCallAsync(
3425
+ () => uniffiIxSdkFfiFnMethodIxsdkclientShellAttachInfo(this.handle,
3426
+ lowerString(computeId),
3427
+ ),
3428
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3429
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3430
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3431
+ (result: any) => liftFromBuffer(result, (r) => readFfiShellAttachInfo(r)),
3432
+ (buf: any) => liftFfiSdkErrorError(buf),
3433
+ );
3434
+ }
3435
+ async updateCompute(
3436
+ input: FfiUpdateComputeInput
3437
+ ): Promise<FfiCompute> {
3438
+ return await uniffiRustCallAsync(
3439
+ () => uniffiIxSdkFfiFnMethodIxsdkclientUpdateCompute(this.handle,
3440
+ lowerIntoBuffer(input, (w, v) => writeFfiUpdateComputeInput(w, v), false),
3441
+ ),
3442
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3443
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3444
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3445
+ (result: any) => liftFromBuffer(result, (r) => readFfiCompute(r)),
3446
+ (buf: any) => liftFfiSdkErrorError(buf),
3447
+ );
3448
+ }
3449
+ async addVmToGroup(
3450
+ groupId: string,
3451
+ vmId: string
3452
+ ): Promise<void> {
3453
+ return await uniffiRustCallAsync(
3454
+ () => uniffiIxSdkFfiFnMethodIxsdkclientAddVmToGroup(this.handle,
3455
+ lowerString(groupId),
3456
+ lowerString(vmId),
3457
+ ),
3458
+ ffiIxSdkFfiRustFuturePollVoid,
3459
+ ffiIxSdkFfiRustFutureCompleteVoid,
3460
+ ffiIxSdkFfiRustFutureFreeVoid,
3461
+ (_: any) => {},
3462
+ (buf: any) => liftFfiSdkErrorError(buf),
3463
+ );
3464
+ }
3465
+ async createVmGroup(
3466
+ input: FfiCreateVmGroupInput
3467
+ ): Promise<FfiVmGroup> {
3468
+ return await uniffiRustCallAsync(
3469
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateVmGroup(this.handle,
3470
+ lowerIntoBuffer(input, (w, v) => writeFfiCreateVmGroupInput(w, v), false),
3471
+ ),
3472
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3473
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3474
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3475
+ (result: any) => liftFromBuffer(result, (r) => readFfiVmGroup(r)),
3476
+ (buf: any) => liftFfiSdkErrorError(buf),
3477
+ );
3478
+ }
3479
+ async deleteVmGroup(
3480
+ groupId: string
3481
+ ): Promise<void> {
3482
+ return await uniffiRustCallAsync(
3483
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeleteVmGroup(this.handle,
3484
+ lowerString(groupId),
3485
+ ),
3486
+ ffiIxSdkFfiRustFuturePollVoid,
3487
+ ffiIxSdkFfiRustFutureCompleteVoid,
3488
+ ffiIxSdkFfiRustFutureFreeVoid,
3489
+ (_: any) => {},
3490
+ (buf: any) => liftFfiSdkErrorError(buf),
3491
+ );
3492
+ }
3493
+ async listVmGroups(
3494
+ ): Promise<FfiVmGroup[]> {
3495
+ return await uniffiRustCallAsync(
3496
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListVmGroups(this.handle,
3497
+ ),
3498
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3499
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3500
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3501
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVmGroup(r))),
3502
+ (buf: any) => liftFfiSdkErrorError(buf),
3503
+ );
3504
+ }
3505
+ async removeVmFromGroup(
3506
+ groupId: string,
3507
+ vmId: string
3508
+ ): Promise<void> {
3509
+ return await uniffiRustCallAsync(
3510
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRemoveVmFromGroup(this.handle,
3511
+ lowerString(groupId),
3512
+ lowerString(vmId),
3513
+ ),
3514
+ ffiIxSdkFfiRustFuturePollVoid,
3515
+ ffiIxSdkFfiRustFutureCompleteVoid,
3516
+ ffiIxSdkFfiRustFutureFreeVoid,
3517
+ (_: any) => {},
3518
+ (buf: any) => liftFfiSdkErrorError(buf),
3519
+ );
3520
+ }
3521
+ describe(
3522
+ entity: string,
3523
+ text: string
3524
+ ): void {
3525
+ rustCallWithError(
3526
+ (buf: any) => liftFfiSdkErrorError(buf),
3527
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientDescribe(this.handle,
3528
+ lowerString(entity),
3529
+ lowerString(text),
3530
+ cs
3531
+ )
3532
+ );
3533
+ }
3534
+ async exec(
3535
+ branch: string,
3536
+ cmd: string,
3537
+ cwd: string | null
3538
+ ): Promise<FfiProc> {
3539
+ return await uniffiRustCallAsync(
3540
+ () => uniffiIxSdkFfiFnMethodIxsdkclientExec(this.handle,
3541
+ lowerString(branch),
3542
+ lowerString(cmd),
3543
+ lowerIntoBuffer(cwd, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3544
+ ),
3545
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3546
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3547
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3548
+ (result: any) => liftFromBuffer(result, (r) => readFfiProc(r)),
3549
+ (buf: any) => liftFfiSdkErrorError(buf),
3550
+ );
3551
+ }
3552
+ filter(
3553
+ fs: string,
3554
+ globs: string[]
3555
+ ): string {
3556
+ const result = rustCallWithError(
3557
+ (buf: any) => liftFfiSdkErrorError(buf),
3558
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientFilter(this.handle,
3559
+ lowerString(fs),
3560
+ lowerIntoBuffer(globs, (w, v) => { w.writeI32(v.length); for (const item of v) { w.writeString(item) } }, false),
3561
+ cs
3562
+ )
3563
+ );
3564
+ return liftString(result);
3565
+ }
3566
+ async forkAt(
3567
+ branch: string,
3568
+ timestampMs: bigint
3569
+ ): Promise<string> {
3570
+ return await uniffiRustCallAsync(
3571
+ () => uniffiIxSdkFfiFnMethodIxsdkclientForkAt(this.handle,
3572
+ lowerString(branch),
3573
+ timestampMs,
3574
+ ),
3575
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3576
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3577
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3578
+ (result: any) => liftString(result),
3579
+ (buf: any) => liftFfiSdkErrorError(buf),
3580
+ );
3581
+ }
3582
+ async forkBranch(
3583
+ branch: string
3584
+ ): Promise<string> {
3585
+ return await uniffiRustCallAsync(
3586
+ () => uniffiIxSdkFfiFnMethodIxsdkclientForkBranch(this.handle,
3587
+ lowerString(branch),
3588
+ ),
3589
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3590
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3591
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3592
+ (result: any) => liftString(result),
3593
+ (buf: any) => liftFfiSdkErrorError(buf),
3594
+ );
3595
+ }
3596
+ getFs(
3597
+ commit: string
3598
+ ): string {
3599
+ const result = rustCallWithError(
3600
+ (buf: any) => liftFfiSdkErrorError(buf),
3601
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientGetFs(this.handle,
3602
+ lowerString(commit),
3603
+ cs
3604
+ )
3605
+ );
3606
+ return liftString(result);
3607
+ }
3608
+ async head(
3609
+ branch: string
3610
+ ): Promise<string> {
3611
+ return await uniffiRustCallAsync(
3612
+ () => uniffiIxSdkFfiFnMethodIxsdkclientHead(this.handle,
3613
+ lowerString(branch),
3614
+ ),
3615
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3616
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3617
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3618
+ (result: any) => liftString(result),
3619
+ (buf: any) => liftFfiSdkErrorError(buf),
3620
+ );
3621
+ }
3622
+ async listDirAt(
3623
+ branch: string,
3624
+ path: string,
3625
+ timestampMs: bigint
3626
+ ): Promise<FfiDirEntry[]> {
3627
+ return await uniffiRustCallAsync(
3628
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListDirAt(this.handle,
3629
+ lowerString(branch),
3630
+ lowerString(path),
3631
+ timestampMs,
3632
+ ),
3633
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3634
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3635
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3636
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiDirEntry(r))),
3637
+ (buf: any) => liftFfiSdkErrorError(buf),
3638
+ );
3639
+ }
3640
+ async readFileAt(
3641
+ branch: string,
3642
+ path: string,
3643
+ timestampMs: bigint
3644
+ ): Promise<string> {
3645
+ return await uniffiRustCallAsync(
3646
+ () => uniffiIxSdkFfiFnMethodIxsdkclientReadFileAt(this.handle,
3647
+ lowerString(branch),
3648
+ lowerString(path),
3649
+ timestampMs,
3650
+ ),
3651
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3652
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3653
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3654
+ (result: any) => liftString(result),
3655
+ (buf: any) => liftFfiSdkErrorError(buf),
3656
+ );
3657
+ }
3658
+ async snapshots(
3659
+ branch: string
3660
+ ): Promise<string[]> {
3661
+ return await uniffiRustCallAsync(
3662
+ () => uniffiIxSdkFfiFnMethodIxsdkclientSnapshots(this.handle,
3663
+ lowerString(branch),
3664
+ ),
3665
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3666
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3667
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3668
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => r.readString())),
3669
+ (buf: any) => liftFfiSdkErrorError(buf),
3670
+ );
3671
+ }
3672
+ async spawn(
3673
+ image: string,
3674
+ options: FfiSpawnOptions | null
3675
+ ): Promise<string> {
3676
+ return await uniffiRustCallAsync(
3677
+ () => uniffiIxSdkFfiFnMethodIxsdkclientSpawn(this.handle,
3678
+ lowerString(image),
3679
+ lowerIntoBuffer(options, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); writeFfiSpawnOptions(w, v) } }, false),
3680
+ ),
3681
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3682
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3683
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3684
+ (result: any) => liftString(result),
3685
+ (buf: any) => liftFfiSdkErrorError(buf),
3686
+ );
3687
+ }
3688
+ async cancelMigration(
3689
+ migrationId: string
3690
+ ): Promise<void> {
3691
+ return await uniffiRustCallAsync(
3692
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCancelMigration(this.handle,
3693
+ lowerString(migrationId),
3694
+ ),
3695
+ ffiIxSdkFfiRustFuturePollVoid,
3696
+ ffiIxSdkFfiRustFutureCompleteVoid,
3697
+ ffiIxSdkFfiRustFutureFreeVoid,
3698
+ (_: any) => {},
3699
+ (buf: any) => liftFfiSdkErrorError(buf),
3700
+ );
3701
+ }
3702
+ async migrateVm(
3703
+ vmId: string,
3704
+ targetNodeId: string | null
3705
+ ): Promise<string> {
3706
+ return await uniffiRustCallAsync(
3707
+ () => uniffiIxSdkFfiFnMethodIxsdkclientMigrateVm(this.handle,
3708
+ lowerString(vmId),
3709
+ lowerIntoBuffer(targetNodeId, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3710
+ ),
3711
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3712
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3713
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3714
+ (result: any) => liftString(result),
3715
+ (buf: any) => liftFfiSdkErrorError(buf),
3716
+ );
3717
+ }
3718
+ async vmMigration(
3719
+ vmId: string
3720
+ ): Promise<FfiVmMigration> {
3721
+ return await uniffiRustCallAsync(
3722
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmMigration(this.handle,
3723
+ lowerString(vmId),
3724
+ ),
3725
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3726
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3727
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3728
+ (result: any) => liftFromBuffer(result, (r) => readFfiVmMigration(r)),
3729
+ (buf: any) => liftFfiSdkErrorError(buf),
3730
+ );
3731
+ }
3732
+ addMountTarget(
3733
+ name: string,
3734
+ computeId: string
3735
+ ): void {
3736
+ rustCallWithError(
3737
+ (buf: any) => liftFfiMountErrorError(buf),
3738
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientAddMountTarget(this.handle,
3739
+ lowerString(name),
3740
+ lowerString(computeId),
3741
+ cs
3742
+ )
3743
+ );
3744
+ }
3745
+ listMountTargets(
3746
+ ): FfiMountTarget[] {
3747
+ const result = rustCallWithError(
3748
+ (buf: any) => liftFfiMountErrorError(buf),
3749
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientListMountTargets(this.handle,
3750
+ cs
3751
+ )
3752
+ );
3753
+ return liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiMountTarget(r)));
3754
+ }
3755
+ mountStatus(
3756
+ ): FfiMountStatus {
3757
+ const result = rustCallWithError(
3758
+ (buf: any) => liftFfiMountErrorError(buf),
3759
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientMountStatus(this.handle,
3760
+ cs
3761
+ )
3762
+ );
3763
+ return liftFromBuffer(result, (r) => readFfiMountStatus(r));
3764
+ }
3765
+ removeMountTarget(
3766
+ name: string
3767
+ ): void {
3768
+ rustCallWithError(
3769
+ (buf: any) => liftFfiMountErrorError(buf),
3770
+ (cs: any) => uniffiIxSdkFfiFnMethodIxsdkclientRemoveMountTarget(this.handle,
3771
+ lowerString(name),
3772
+ cs
3773
+ )
3774
+ );
3775
+ }
3776
+ async syncMountTarget(
3777
+ name: string
3778
+ ): Promise<FfiSyncResult> {
3779
+ return await uniffiRustCallAsync(
3780
+ () => uniffiIxSdkFfiFnMethodIxsdkclientSyncMountTarget(this.handle,
3781
+ lowerString(name),
3782
+ ),
3783
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3784
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3785
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3786
+ (result: any) => liftFromBuffer(result, (r) => readFfiSyncResult(r)),
3787
+ (buf: any) => liftFfiMountErrorError(buf),
3788
+ );
3789
+ }
3790
+ async createPreview(
3791
+ input: FfiCreatePreviewInput
3792
+ ): Promise<FfiPreviewDetail> {
3793
+ return await uniffiRustCallAsync(
3794
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreatePreview(this.handle,
3795
+ lowerIntoBuffer(input, (w, v) => writeFfiCreatePreviewInput(w, v), false),
3796
+ ),
3797
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3798
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3799
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3800
+ (result: any) => liftFromBuffer(result, (r) => readFfiPreviewDetail(r)),
3801
+ (buf: any) => liftFfiSdkErrorError(buf),
3802
+ );
3803
+ }
3804
+ async listPreviews(
3805
+ ): Promise<FfiPreview[]> {
3806
+ return await uniffiRustCallAsync(
3807
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListPreviews(this.handle,
3808
+ ),
3809
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3810
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3811
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3812
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiPreview(r))),
3813
+ (buf: any) => liftFfiSdkErrorError(buf),
3814
+ );
3815
+ }
3816
+ async previewStatus(
3817
+ previewId: string
3818
+ ): Promise<FfiPreviewDetail> {
3819
+ return await uniffiRustCallAsync(
3820
+ () => uniffiIxSdkFfiFnMethodIxsdkclientPreviewStatus(this.handle,
3821
+ lowerString(previewId),
3822
+ ),
3823
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3824
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3825
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3826
+ (result: any) => liftFromBuffer(result, (r) => readFfiPreviewDetail(r)),
3827
+ (buf: any) => liftFfiSdkErrorError(buf),
3828
+ );
3829
+ }
3830
+ async promotePreview(
3831
+ previewId: string
3832
+ ): Promise<void> {
3833
+ return await uniffiRustCallAsync(
3834
+ () => uniffiIxSdkFfiFnMethodIxsdkclientPromotePreview(this.handle,
3835
+ lowerString(previewId),
3836
+ ),
3837
+ ffiIxSdkFfiRustFuturePollVoid,
3838
+ ffiIxSdkFfiRustFutureCompleteVoid,
3839
+ ffiIxSdkFfiRustFutureFreeVoid,
3840
+ (_: any) => {},
3841
+ (buf: any) => liftFfiSdkErrorError(buf),
3842
+ );
3843
+ }
3844
+ async stopPreview(
3845
+ previewId: string
3846
+ ): Promise<void> {
3847
+ return await uniffiRustCallAsync(
3848
+ () => uniffiIxSdkFfiFnMethodIxsdkclientStopPreview(this.handle,
3849
+ lowerString(previewId),
3850
+ ),
3851
+ ffiIxSdkFfiRustFuturePollVoid,
3852
+ ffiIxSdkFfiRustFutureCompleteVoid,
3853
+ ffiIxSdkFfiRustFutureFreeVoid,
3854
+ (_: any) => {},
3855
+ (buf: any) => liftFfiSdkErrorError(buf),
3856
+ );
3857
+ }
3858
+ async listRegions(
3859
+ ): Promise<FfiRegion[]> {
3860
+ return await uniffiRustCallAsync(
3861
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListRegions(this.handle,
3862
+ ),
3863
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3864
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3865
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3866
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiRegion(r))),
3867
+ (buf: any) => liftFfiSdkErrorError(buf),
3868
+ );
3869
+ }
3870
+ async checkpointVm(
3871
+ vmId: string
3872
+ ): Promise<void> {
3873
+ return await uniffiRustCallAsync(
3874
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCheckpointVm(this.handle,
3875
+ lowerString(vmId),
3876
+ ),
3877
+ ffiIxSdkFfiRustFuturePollVoid,
3878
+ ffiIxSdkFfiRustFutureCompleteVoid,
3879
+ ffiIxSdkFfiRustFutureFreeVoid,
3880
+ (_: any) => {},
3881
+ (buf: any) => liftFfiSdkErrorError(buf),
3882
+ );
3883
+ }
3884
+ async createVm(
3885
+ id: string | null,
3886
+ image: string,
3887
+ name: string | null,
3888
+ maxMemoryMib: bigint | null,
3889
+ maxCpuCores: bigint | null,
3890
+ enableIpv4: boolean | null,
3891
+ waitUntilReady: boolean | null,
3892
+ region: string | null
3893
+ ): Promise<FfiCreateVmResult> {
3894
+ return await uniffiRustCallAsync(
3895
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateVm(this.handle,
3896
+ lowerIntoBuffer(id, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3897
+ lowerString(image),
3898
+ lowerIntoBuffer(name, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3899
+ lowerIntoBuffer(maxMemoryMib, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeI64(v) } }, false),
3900
+ lowerIntoBuffer(maxCpuCores, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeI64(v) } }, false),
3901
+ lowerIntoBuffer(enableIpv4, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeBool(v) } }, false),
3902
+ lowerIntoBuffer(waitUntilReady, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeBool(v) } }, false),
3903
+ lowerIntoBuffer(region, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3904
+ ),
3905
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3906
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3907
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3908
+ (result: any) => liftFromBuffer(result, (r) => readFfiCreateVmResult(r)),
3909
+ (buf: any) => liftFfiSdkErrorError(buf),
3910
+ );
3911
+ }
3912
+ async deleteVm(
3913
+ vmId: string
3914
+ ): Promise<void> {
3915
+ return await uniffiRustCallAsync(
3916
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeleteVm(this.handle,
3917
+ lowerString(vmId),
3918
+ ),
3919
+ ffiIxSdkFfiRustFuturePollVoid,
3920
+ ffiIxSdkFfiRustFutureCompleteVoid,
3921
+ ffiIxSdkFfiRustFutureFreeVoid,
3922
+ (_: any) => {},
3923
+ (buf: any) => liftFfiSdkErrorError(buf),
3924
+ );
3925
+ }
3926
+ async deleteVmSecret(
3927
+ vmId: string,
3928
+ key: string
3929
+ ): Promise<void> {
3930
+ return await uniffiRustCallAsync(
3931
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeleteVmSecret(this.handle,
3932
+ lowerString(vmId),
3933
+ lowerString(key),
3934
+ ),
3935
+ ffiIxSdkFfiRustFuturePollVoid,
3936
+ ffiIxSdkFfiRustFutureCompleteVoid,
3937
+ ffiIxSdkFfiRustFutureFreeVoid,
3938
+ (_: any) => {},
3939
+ (buf: any) => liftFfiSdkErrorError(buf),
3940
+ );
3941
+ }
3942
+ async execVm(
3943
+ vmId: string,
3944
+ command: string[],
3945
+ workingDir: string | null
3946
+ ): Promise<FfiExecResult> {
3947
+ return await uniffiRustCallAsync(
3948
+ () => uniffiIxSdkFfiFnMethodIxsdkclientExecVm(this.handle,
3949
+ lowerString(vmId),
3950
+ lowerIntoBuffer(command, (w, v) => { w.writeI32(v.length); for (const item of v) { w.writeString(item) } }, false),
3951
+ lowerIntoBuffer(workingDir, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3952
+ ),
3953
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3954
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3955
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3956
+ (result: any) => liftFromBuffer(result, (r) => readFfiExecResult(r)),
3957
+ (buf: any) => liftFfiSdkErrorError(buf),
3958
+ );
3959
+ }
3960
+ async forkVm(
3961
+ vmId: string,
3962
+ name: string | null,
3963
+ waitUntilReady: boolean | null
3964
+ ): Promise<FfiForkVmResult> {
3965
+ return await uniffiRustCallAsync(
3966
+ () => uniffiIxSdkFfiFnMethodIxsdkclientForkVm(this.handle,
3967
+ lowerString(vmId),
3968
+ lowerIntoBuffer(name, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3969
+ lowerIntoBuffer(waitUntilReady, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeBool(v) } }, false),
3970
+ ),
3971
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3972
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3973
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3974
+ (result: any) => liftFromBuffer(result, (r) => readFfiForkVmResult(r)),
3975
+ (buf: any) => liftFfiSdkErrorError(buf),
3976
+ );
3977
+ }
3978
+ async forkVmAtTimestampMs(
3979
+ vmId: string,
3980
+ timestampMs: bigint,
3981
+ name: string | null,
3982
+ waitUntilReady: boolean | null
3983
+ ): Promise<FfiForkVmResult> {
3984
+ return await uniffiRustCallAsync(
3985
+ () => uniffiIxSdkFfiFnMethodIxsdkclientForkVmAtTimestampMs(this.handle,
3986
+ lowerString(vmId),
3987
+ timestampMs,
3988
+ lowerIntoBuffer(name, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
3989
+ lowerIntoBuffer(waitUntilReady, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeBool(v) } }, false),
3990
+ ),
3991
+ ffiIxSdkFfiRustFuturePollRustBuffer,
3992
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
3993
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
3994
+ (result: any) => liftFromBuffer(result, (r) => readFfiForkVmResult(r)),
3995
+ (buf: any) => liftFfiSdkErrorError(buf),
3996
+ );
3997
+ }
3998
+ async getVm(
3999
+ vmId: string
4000
+ ): Promise<FfiVm> {
4001
+ return await uniffiRustCallAsync(
4002
+ () => uniffiIxSdkFfiFnMethodIxsdkclientGetVm(this.handle,
4003
+ lowerString(vmId),
4004
+ ),
4005
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4006
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4007
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4008
+ (result: any) => liftFromBuffer(result, (r) => readFfiVm(r)),
4009
+ (buf: any) => liftFfiSdkErrorError(buf),
4010
+ );
4011
+ }
4012
+ async getVmByName(
4013
+ name: string
4014
+ ): Promise<FfiVm> {
4015
+ return await uniffiRustCallAsync(
4016
+ () => uniffiIxSdkFfiFnMethodIxsdkclientGetVmByName(this.handle,
4017
+ lowerString(name),
4018
+ ),
4019
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4020
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4021
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4022
+ (result: any) => liftFromBuffer(result, (r) => readFfiVm(r)),
4023
+ (buf: any) => liftFfiSdkErrorError(buf),
4024
+ );
4025
+ }
4026
+ async listVmSnapshotBranches(
4027
+ vmId: string
4028
+ ): Promise<FfiVmSnapshotBranch[]> {
4029
+ return await uniffiRustCallAsync(
4030
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListVmSnapshotBranches(this.handle,
4031
+ lowerString(vmId),
4032
+ ),
4033
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4034
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4035
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4036
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVmSnapshotBranch(r))),
4037
+ (buf: any) => liftFfiSdkErrorError(buf),
4038
+ );
4039
+ }
4040
+ async listVmSnapshots(
4041
+ vmId: string
4042
+ ): Promise<FfiVmSnapshot[]> {
4043
+ return await uniffiRustCallAsync(
4044
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListVmSnapshots(this.handle,
4045
+ lowerString(vmId),
4046
+ ),
4047
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4048
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4049
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4050
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVmSnapshot(r))),
4051
+ (buf: any) => liftFfiSdkErrorError(buf),
4052
+ );
4053
+ }
4054
+ async listVms(
4055
+ status: FfiVmStatus | null
4056
+ ): Promise<FfiVm[]> {
4057
+ return await uniffiRustCallAsync(
4058
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListVms(this.handle,
4059
+ lowerIntoBuffer(status, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); writeFfiVmStatus(w, v) } }, false),
4060
+ ),
4061
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4062
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4063
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4064
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVm(r))),
4065
+ (buf: any) => liftFfiSdkErrorError(buf),
4066
+ );
4067
+ }
4068
+ async mergeVm(
4069
+ targetVmId: string,
4070
+ sourceVmId: string,
4071
+ resolutionStrategy: string | null
4072
+ ): Promise<FfiMergeVmResult> {
4073
+ return await uniffiRustCallAsync(
4074
+ () => uniffiIxSdkFfiFnMethodIxsdkclientMergeVm(this.handle,
4075
+ lowerString(targetVmId),
4076
+ lowerString(sourceVmId),
4077
+ lowerIntoBuffer(resolutionStrategy, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
4078
+ ),
4079
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4080
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4081
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4082
+ (result: any) => liftFromBuffer(result, (r) => readFfiMergeVmResult(r)),
4083
+ (buf: any) => liftFfiSdkErrorError(buf),
4084
+ );
4085
+ }
4086
+ async previewMergeVm(
4087
+ targetVmId: string,
4088
+ sourceVmId: string
4089
+ ): Promise<FfiMergePreview> {
4090
+ return await uniffiRustCallAsync(
4091
+ () => uniffiIxSdkFfiFnMethodIxsdkclientPreviewMergeVm(this.handle,
4092
+ lowerString(targetVmId),
4093
+ lowerString(sourceVmId),
4094
+ ),
4095
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4096
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4097
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4098
+ (result: any) => liftFromBuffer(result, (r) => readFfiMergePreview(r)),
4099
+ (buf: any) => liftFfiSdkErrorError(buf),
4100
+ );
4101
+ }
4102
+ async redoVm(
4103
+ vmId: string
4104
+ ): Promise<FfiUndoRedoResult> {
4105
+ return await uniffiRustCallAsync(
4106
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRedoVm(this.handle,
4107
+ lowerString(vmId),
4108
+ ),
4109
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4110
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4111
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4112
+ (result: any) => liftFromBuffer(result, (r) => readFfiUndoRedoResult(r)),
4113
+ (buf: any) => liftFfiSdkErrorError(buf),
4114
+ );
4115
+ }
4116
+ async restartVm(
4117
+ vmId: string
4118
+ ): Promise<void> {
4119
+ return await uniffiRustCallAsync(
4120
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRestartVm(this.handle,
4121
+ lowerString(vmId),
4122
+ ),
4123
+ ffiIxSdkFfiRustFuturePollVoid,
4124
+ ffiIxSdkFfiRustFutureCompleteVoid,
4125
+ ffiIxSdkFfiRustFutureFreeVoid,
4126
+ (_: any) => {},
4127
+ (buf: any) => liftFfiSdkErrorError(buf),
4128
+ );
4129
+ }
4130
+ async revertVm(
4131
+ vmId: string,
4132
+ timestampNs: string
4133
+ ): Promise<FfiRevertVmResult> {
4134
+ return await uniffiRustCallAsync(
4135
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRevertVm(this.handle,
4136
+ lowerString(vmId),
4137
+ lowerString(timestampNs),
4138
+ ),
4139
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4140
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4141
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4142
+ (result: any) => liftFromBuffer(result, (r) => readFfiRevertVmResult(r)),
4143
+ (buf: any) => liftFfiSdkErrorError(buf),
4144
+ );
4145
+ }
4146
+ async revertVmToTimestampMs(
4147
+ vmId: string,
4148
+ timestampMs: bigint
4149
+ ): Promise<FfiRevertVmResult> {
4150
+ return await uniffiRustCallAsync(
4151
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRevertVmToTimestampMs(this.handle,
4152
+ lowerString(vmId),
4153
+ timestampMs,
4154
+ ),
4155
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4156
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4157
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4158
+ (result: any) => liftFromBuffer(result, (r) => readFfiRevertVmResult(r)),
4159
+ (buf: any) => liftFfiSdkErrorError(buf),
4160
+ );
4161
+ }
4162
+ async setVmSecret(
4163
+ vmId: string,
4164
+ key: string,
4165
+ value: string
4166
+ ): Promise<void> {
4167
+ return await uniffiRustCallAsync(
4168
+ () => uniffiIxSdkFfiFnMethodIxsdkclientSetVmSecret(this.handle,
4169
+ lowerString(vmId),
4170
+ lowerString(key),
4171
+ lowerString(value),
4172
+ ),
4173
+ ffiIxSdkFfiRustFuturePollVoid,
4174
+ ffiIxSdkFfiRustFutureCompleteVoid,
4175
+ ffiIxSdkFfiRustFutureFreeVoid,
4176
+ (_: any) => {},
4177
+ (buf: any) => liftFfiSdkErrorError(buf),
4178
+ );
4179
+ }
4180
+ async startVm(
4181
+ vmId: string
4182
+ ): Promise<void> {
4183
+ return await uniffiRustCallAsync(
4184
+ () => uniffiIxSdkFfiFnMethodIxsdkclientStartVm(this.handle,
4185
+ lowerString(vmId),
4186
+ ),
4187
+ ffiIxSdkFfiRustFuturePollVoid,
4188
+ ffiIxSdkFfiRustFutureCompleteVoid,
4189
+ ffiIxSdkFfiRustFutureFreeVoid,
4190
+ (_: any) => {},
4191
+ (buf: any) => liftFfiSdkErrorError(buf),
4192
+ );
4193
+ }
4194
+ async stopVm(
4195
+ vmId: string
4196
+ ): Promise<void> {
4197
+ return await uniffiRustCallAsync(
4198
+ () => uniffiIxSdkFfiFnMethodIxsdkclientStopVm(this.handle,
4199
+ lowerString(vmId),
4200
+ ),
4201
+ ffiIxSdkFfiRustFuturePollVoid,
4202
+ ffiIxSdkFfiRustFutureCompleteVoid,
4203
+ ffiIxSdkFfiRustFutureFreeVoid,
4204
+ (_: any) => {},
4205
+ (buf: any) => liftFfiSdkErrorError(buf),
4206
+ );
4207
+ }
4208
+ async undoVm(
4209
+ vmId: string
4210
+ ): Promise<FfiUndoRedoResult> {
4211
+ return await uniffiRustCallAsync(
4212
+ () => uniffiIxSdkFfiFnMethodIxsdkclientUndoVm(this.handle,
4213
+ lowerString(vmId),
4214
+ ),
4215
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4216
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4217
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4218
+ (result: any) => liftFromBuffer(result, (r) => readFfiUndoRedoResult(r)),
4219
+ (buf: any) => liftFfiSdkErrorError(buf),
4220
+ );
4221
+ }
4222
+ async vmAttachInfo(
4223
+ vmId: string
4224
+ ): Promise<FfiVmAttachInfo> {
4225
+ return await uniffiRustCallAsync(
4226
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmAttachInfo(this.handle,
4227
+ lowerString(vmId),
4228
+ ),
4229
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4230
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4231
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4232
+ (result: any) => liftFromBuffer(result, (r) => readFfiVmAttachInfo(r)),
4233
+ (buf: any) => liftFfiSdkErrorError(buf),
4234
+ );
4235
+ }
4236
+ async vmFsList(
4237
+ vmId: string,
4238
+ path: string
4239
+ ): Promise<FfiFsEntry[]> {
4240
+ return await uniffiRustCallAsync(
4241
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmFsList(this.handle,
4242
+ lowerString(vmId),
4243
+ lowerString(path),
4244
+ ),
4245
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4246
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4247
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4248
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiFsEntry(r))),
4249
+ (buf: any) => liftFfiSdkErrorError(buf),
4250
+ );
4251
+ }
4252
+ async vmFsListAtTimestampMs(
4253
+ vmId: string,
4254
+ path: string,
4255
+ timestampMs: bigint
4256
+ ): Promise<FfiFsEntry[]> {
4257
+ return await uniffiRustCallAsync(
4258
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmFsListAtTimestampMs(this.handle,
4259
+ lowerString(vmId),
4260
+ lowerString(path),
4261
+ timestampMs,
4262
+ ),
4263
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4264
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4265
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4266
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiFsEntry(r))),
4267
+ (buf: any) => liftFfiSdkErrorError(buf),
4268
+ );
4269
+ }
4270
+ async vmFsRead(
4271
+ vmId: string,
4272
+ path: string
4273
+ ): Promise<FfiFsReadResult> {
4274
+ return await uniffiRustCallAsync(
4275
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmFsRead(this.handle,
4276
+ lowerString(vmId),
4277
+ lowerString(path),
4278
+ ),
4279
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4280
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4281
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4282
+ (result: any) => liftFromBuffer(result, (r) => readFfiFsReadResult(r)),
4283
+ (buf: any) => liftFfiSdkErrorError(buf),
4284
+ );
4285
+ }
4286
+ async vmFsReadAtTimestampMs(
4287
+ vmId: string,
4288
+ path: string,
4289
+ timestampMs: bigint
4290
+ ): Promise<FfiFsReadResult> {
4291
+ return await uniffiRustCallAsync(
4292
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmFsReadAtTimestampMs(this.handle,
4293
+ lowerString(vmId),
4294
+ lowerString(path),
4295
+ timestampMs,
4296
+ ),
4297
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4298
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4299
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4300
+ (result: any) => liftFromBuffer(result, (r) => readFfiFsReadResult(r)),
4301
+ (buf: any) => liftFfiSdkErrorError(buf),
4302
+ );
4303
+ }
4304
+ async vmFsWrite(
4305
+ vmId: string,
4306
+ path: string,
4307
+ text: string,
4308
+ mode: bigint | null
4309
+ ): Promise<FfiFsWriteResult> {
4310
+ return await uniffiRustCallAsync(
4311
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmFsWrite(this.handle,
4312
+ lowerString(vmId),
4313
+ lowerString(path),
4314
+ lowerString(text),
4315
+ lowerIntoBuffer(mode, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeI64(v) } }, false),
4316
+ ),
4317
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4318
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4319
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4320
+ (result: any) => liftFromBuffer(result, (r) => readFfiFsWriteResult(r)),
4321
+ (buf: any) => liftFfiSdkErrorError(buf),
4322
+ );
4323
+ }
4324
+ async vmLogs(
4325
+ vmId: string,
4326
+ limit: bigint,
4327
+ since: string | null,
4328
+ stream: string | null
4329
+ ): Promise<FfiVmLogEntry[]> {
4330
+ return await uniffiRustCallAsync(
4331
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmLogs(this.handle,
4332
+ lowerString(vmId),
4333
+ limit,
4334
+ lowerIntoBuffer(since, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
4335
+ lowerIntoBuffer(stream, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
4336
+ ),
4337
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4338
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4339
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4340
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVmLogEntry(r))),
4341
+ (buf: any) => liftFfiSdkErrorError(buf),
4342
+ );
4343
+ }
4344
+ async vmMetrics(
4345
+ vmId: string
4346
+ ): Promise<FfiVmMetrics> {
4347
+ return await uniffiRustCallAsync(
4348
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmMetrics(this.handle,
4349
+ lowerString(vmId),
4350
+ ),
4351
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4352
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4353
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4354
+ (result: any) => liftFromBuffer(result, (r) => readFfiVmMetrics(r)),
4355
+ (buf: any) => liftFfiSdkErrorError(buf),
4356
+ );
4357
+ }
4358
+ async vmSecrets(
4359
+ vmId: string
4360
+ ): Promise<FfiVmSecret[]> {
4361
+ return await uniffiRustCallAsync(
4362
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVmSecrets(this.handle,
4363
+ lowerString(vmId),
4364
+ ),
4365
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4366
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4367
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4368
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVmSecret(r))),
4369
+ (buf: any) => liftFfiSdkErrorError(buf),
4370
+ );
4371
+ }
4372
+ async createSnapshot(
4373
+ volumeId: string,
4374
+ description: string | null
4375
+ ): Promise<FfiVolumeSnapshot> {
4376
+ return await uniffiRustCallAsync(
4377
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateSnapshot(this.handle,
4378
+ lowerString(volumeId),
4379
+ lowerIntoBuffer(description, (w, v) => { if (v === null) { w.writeU8(0); } else { w.writeU8(1); w.writeString(v) } }, false),
4380
+ ),
4381
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4382
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4383
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4384
+ (result: any) => liftFromBuffer(result, (r) => readFfiVolumeSnapshot(r)),
4385
+ (buf: any) => liftFfiSdkErrorError(buf),
4386
+ );
4387
+ }
4388
+ async createVolume(
4389
+ input: FfiCreateVolumeInput
4390
+ ): Promise<FfiVolume> {
4391
+ return await uniffiRustCallAsync(
4392
+ () => uniffiIxSdkFfiFnMethodIxsdkclientCreateVolume(this.handle,
4393
+ lowerIntoBuffer(input, (w, v) => writeFfiCreateVolumeInput(w, v), false),
4394
+ ),
4395
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4396
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4397
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4398
+ (result: any) => liftFromBuffer(result, (r) => readFfiVolume(r)),
4399
+ (buf: any) => liftFfiSdkErrorError(buf),
4400
+ );
4401
+ }
4402
+ async deleteVolume(
4403
+ volumeId: string
4404
+ ): Promise<void> {
4405
+ return await uniffiRustCallAsync(
4406
+ () => uniffiIxSdkFfiFnMethodIxsdkclientDeleteVolume(this.handle,
4407
+ lowerString(volumeId),
4408
+ ),
4409
+ ffiIxSdkFfiRustFuturePollVoid,
4410
+ ffiIxSdkFfiRustFutureCompleteVoid,
4411
+ ffiIxSdkFfiRustFutureFreeVoid,
4412
+ (_: any) => {},
4413
+ (buf: any) => liftFfiSdkErrorError(buf),
4414
+ );
4415
+ }
4416
+ async forkVolume(
4417
+ volumeId: string,
4418
+ input: FfiForkVolumeInput
4419
+ ): Promise<FfiVolume> {
4420
+ return await uniffiRustCallAsync(
4421
+ () => uniffiIxSdkFfiFnMethodIxsdkclientForkVolume(this.handle,
4422
+ lowerString(volumeId),
4423
+ lowerIntoBuffer(input, (w, v) => writeFfiForkVolumeInput(w, v), false),
4424
+ ),
4425
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4426
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4427
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4428
+ (result: any) => liftFromBuffer(result, (r) => readFfiVolume(r)),
4429
+ (buf: any) => liftFfiSdkErrorError(buf),
4430
+ );
4431
+ }
4432
+ async listVolumes(
4433
+ ): Promise<FfiVolume[]> {
4434
+ return await uniffiRustCallAsync(
4435
+ () => uniffiIxSdkFfiFnMethodIxsdkclientListVolumes(this.handle,
4436
+ ),
4437
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4438
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4439
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4440
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVolume(r))),
4441
+ (buf: any) => liftFfiSdkErrorError(buf),
4442
+ );
4443
+ }
4444
+ async restoreToSnapshot(
4445
+ snapshotId: string
4446
+ ): Promise<FfiVolume> {
4447
+ return await uniffiRustCallAsync(
4448
+ () => uniffiIxSdkFfiFnMethodIxsdkclientRestoreToSnapshot(this.handle,
4449
+ lowerString(snapshotId),
4450
+ ),
4451
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4452
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4453
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4454
+ (result: any) => liftFromBuffer(result, (r) => readFfiVolume(r)),
4455
+ (buf: any) => liftFfiSdkErrorError(buf),
4456
+ );
4457
+ }
4458
+ async volumeById(
4459
+ id: string
4460
+ ): Promise<FfiVolume> {
4461
+ return await uniffiRustCallAsync(
4462
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVolumeById(this.handle,
4463
+ lowerString(id),
4464
+ ),
4465
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4466
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4467
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4468
+ (result: any) => liftFromBuffer(result, (r) => readFfiVolume(r)),
4469
+ (buf: any) => liftFfiSdkErrorError(buf),
4470
+ );
4471
+ }
4472
+ async volumeSnapshots(
4473
+ volumeId: string
4474
+ ): Promise<FfiVolumeSnapshot[]> {
4475
+ return await uniffiRustCallAsync(
4476
+ () => uniffiIxSdkFfiFnMethodIxsdkclientVolumeSnapshots(this.handle,
4477
+ lowerString(volumeId),
4478
+ ),
4479
+ ffiIxSdkFfiRustFuturePollRustBuffer,
4480
+ ffiIxSdkFfiRustFutureCompleteRustBuffer,
4481
+ ffiIxSdkFfiRustFutureFreeRustBuffer,
4482
+ (result: any) => liftFromBuffer(result, (r) => readSequence(r, (r) => readFfiVolumeSnapshot(r))),
4483
+ (buf: any) => liftFfiSdkErrorError(buf),
4484
+ );
4485
+ }
4486
+ }
4487
+
4488
+ function readTypeIxSdkClient(reader: BufReader): IxSdkClient {
4489
+ const handle = reader.readU64();
4490
+ return new IxSdkClient(handle);
4491
+ }
4492
+
4493
+ function writeTypeIxSdkClient(writer: BufWriter, value: IxSdkClient): void {
4494
+ writer.writeU64(value[uniffiCloneHandle]());
4495
+ }
4496
+
4497
+ // ---- Top-level functions ----
4498
+
4499
+ // ---- Contract version check ----
4500
+
4501
+ const bindingsContractVersion = 30;
4502
+ const scaffoldingContractVersion = rustCall((cs: any) => ffiIxSdkFfiUniffiContractVersion(cs));
4503
+ if (bindingsContractVersion !== scaffoldingContractVersion) {
4504
+ throw new UniffiError(
4505
+ `UniFFI contract version mismatch: bindings=${bindingsContractVersion}, scaffolding=${scaffoldingContractVersion}`
4506
+ );
4507
+ }