@worldlabsai/client 0.2.0 → 0.4.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.
Files changed (39) hide show
  1. package/README.md +18 -8
  2. package/dist/core/assets.d.ts +9 -0
  3. package/dist/core/assets.d.ts.map +1 -1
  4. package/dist/core/index.d.ts +1 -0
  5. package/dist/core/index.d.ts.map +1 -1
  6. package/dist/core/index.js +1 -0
  7. package/dist/core/index.js.map +1 -1
  8. package/dist/core/network-error.d.ts +6 -0
  9. package/dist/core/network-error.d.ts.map +1 -0
  10. package/dist/core/network-error.js +8 -0
  11. package/dist/core/network-error.js.map +1 -0
  12. package/dist/core/operations.d.ts +3 -0
  13. package/dist/core/operations.d.ts.map +1 -1
  14. package/dist/core/operations.js +5 -0
  15. package/dist/core/operations.js.map +1 -1
  16. package/dist/core/tasks.d.ts +6 -6
  17. package/dist/core/tasks.d.ts.map +1 -1
  18. package/dist/core/tasks.js +5 -5
  19. package/dist/core/tasks.js.map +1 -1
  20. package/dist/core/transport.d.ts +1 -1
  21. package/dist/core/transport.d.ts.map +1 -1
  22. package/dist/core/transport.js +44 -21
  23. package/dist/core/transport.js.map +1 -1
  24. package/dist/generated/developer-api.gen.d.ts +513 -83
  25. package/dist/generated/developer-api.gen.d.ts.map +1 -1
  26. package/dist/generated/tasks.gen.d.ts +6 -6
  27. package/dist/generated/tasks.gen.d.ts.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/core/index.ts +1 -0
  34. package/src/core/network-error.ts +8 -0
  35. package/src/core/operations.ts +6 -0
  36. package/src/core/tasks.ts +7 -7
  37. package/src/core/transport.ts +61 -24
  38. package/src/generated/developer-api.gen.ts +513 -83
  39. package/src/index.ts +1 -0
@@ -191,6 +191,23 @@ export interface paths {
191
191
  patch?: never;
192
192
  trace?: never;
193
193
  };
194
+ "/api/v2/operations/{operation}/webhookDelivery": {
195
+ parameters: {
196
+ query?: never;
197
+ header?: never;
198
+ path?: never;
199
+ cookie?: never;
200
+ };
201
+ /** Get the webhook delivery record for an operation */
202
+ get: operations["get_webhook_delivery_api_v2_operations__operation__webhookDelivery_get"];
203
+ put?: never;
204
+ post?: never;
205
+ delete?: never;
206
+ options?: never;
207
+ head?: never;
208
+ patch?: never;
209
+ trace?: never;
210
+ };
194
211
  "/api/v2/operations/{operation}": {
195
212
  parameters: {
196
213
  query?: never;
@@ -400,13 +417,24 @@ export interface components {
400
417
  structure?: {
401
418
  [key: string]: unknown;
402
419
  } | null;
403
- /** @description Set when a task produced the asset. */
420
+ /** @description How the asset came to exist, when that was recorded. */
404
421
  producedBy?: components["schemas"]["ProducedBy"] | null;
422
+ /**
423
+ * Transient
424
+ * @description True when the bytes are not retained: an upload made while the account does not retain content, or an output of an operation that purges. Both are deleted an hour after the last operation that names them finishes; an upload no operation consumes is deleted by age instead. ``contentPath`` is null for such an asset; read it through ``:createReadUrl``.
425
+ * @default false
426
+ */
427
+ transient?: boolean;
405
428
  /**
406
429
  * Contentpath
407
430
  * @description Already percent-encoded path for the asset. Append it unchanged to ``baseUrl`` before ``?`` and ``signedQuery``. This path does not grant access by itself. Null until the asset is ``READY`` or when unavailable; use ``assets/{asset}:createReadUrl`` as a fallback.
408
431
  */
409
432
  contentPath?: string | null;
433
+ /**
434
+ * Url
435
+ * @description Unsigned content URL for the asset, ``baseUrl + contentPath``. It does not grant access by itself: the web app's read-prefix cookie authorizes it, and an API client appends ``?`` and a read prefix's ``signedQuery`` or uses ``assets/{asset}:createReadUrl`` instead. Null whenever ``contentPath`` is.
436
+ */
437
+ url?: string | null;
410
438
  };
411
439
  /**
412
440
  * AssetCreate
@@ -418,6 +446,11 @@ export interface components {
418
446
  * @description User-visible label.
419
447
  */
420
448
  displayName?: string | null;
449
+ /**
450
+ * Session
451
+ * @description The Web API session this upload belongs to. The session must be in the same project; the asset inherits its applet.
452
+ */
453
+ session?: string | null;
421
454
  /**
422
455
  * Type
423
456
  * @description Asset type, e.g. ``image``. Decides which part roles the asset may carry and what each may hold. Omit for a single untyped object uploaded through ``:createUploadUrl``.
@@ -446,6 +479,40 @@ export interface components {
446
479
  */
447
480
  url?: string | null;
448
481
  };
482
+ /**
483
+ * AssetGroup
484
+ * @description The assets one Operation produced, in the page's order.
485
+ */
486
+ AssetGroup: {
487
+ /**
488
+ * Operation
489
+ * @description The Operation that produced them.
490
+ */
491
+ operation: string;
492
+ /**
493
+ * Task
494
+ * @description The task that produced them, e.g. ``atlasGenerate``.
495
+ */
496
+ task?: string | null;
497
+ /** Assets */
498
+ assets?: components["schemas"]["Asset"][];
499
+ };
500
+ /**
501
+ * AssetGrouping
502
+ * @description What a listing collects its assets under.
503
+ * @enum {string}
504
+ */
505
+ AssetGrouping: "OPERATION";
506
+ /**
507
+ * AssetOrder
508
+ * @description How a listing orders its page.
509
+ *
510
+ * A grouped page orders on each group's leading asset -- its newest running
511
+ * newest-first, its oldest running the other way -- so a group sorts where
512
+ * its nearest asset would have in the flat listing.
513
+ * @enum {string}
514
+ */
515
+ AssetOrder: "CREATE_TIME_DESC" | "CREATE_TIME_ASC";
449
516
  /**
450
517
  * AssetPart
451
518
  * @description One media file belonging to an asset.
@@ -514,7 +581,7 @@ export interface components {
514
581
  contentType: string;
515
582
  /**
516
583
  * Contentlength
517
- * @description Upload size in bytes, serialized on the wire as a string.
584
+ * @description Upload size in bytes, serialized on the wire as a string. Capped at 1 GiB.
518
585
  */
519
586
  contentLength: number;
520
587
  /**
@@ -525,6 +592,16 @@ export interface components {
525
592
  [key: string]: unknown;
526
593
  } | null;
527
594
  };
595
+ /**
596
+ * AssetProducer
597
+ * @description The act that produced an asset.
598
+ *
599
+ * A customer's own bytes are an UPLOAD however they arrived; bytes we
600
+ * fetched from an address they gave us are an IMPORT; a task's output is a
601
+ * TASK.
602
+ * @enum {string}
603
+ */
604
+ AssetProducer: "UPLOAD" | "IMPORT" | "TASK";
528
605
  /**
529
606
  * AssetState
530
607
  * @enum {string}
@@ -541,16 +618,9 @@ export interface components {
541
618
  * @default 42
542
619
  */
543
620
  seed?: number | null;
544
- /**
545
- * Cfg
546
- * @description Classifier-free guidance scale.
547
- * @default 2.5
548
- */
549
- cfg?: number | null;
550
621
  /**
551
622
  * Numsteps
552
- * @description Diffusion step count.
553
- * @default 50
623
+ * @description Diffusion step count. Unset uses the served model's own sampler.
554
624
  */
555
625
  numSteps?: number | null;
556
626
  };
@@ -559,11 +629,26 @@ export interface components {
559
629
  * @description Body of ``POST /api/v2/tasks:atlasChisel``.
560
630
  */
561
631
  AtlasChiselRequest: {
632
+ /**
633
+ * Webhookurl
634
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
635
+ */
636
+ webhookUrl?: string | null;
637
+ /**
638
+ * Purgecontentonoperationcompletion
639
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
640
+ */
641
+ purgeContentOnOperationCompletion?: boolean | null;
562
642
  /**
563
643
  * Contextframes
564
- * @description Posed depth frames, one per target camera and posed at it, in target order; each camera is 1280x720. Depth only: frames carry no imageAsset, maskAsset, or depth confidenceAsset. Leave empty to generate from the prompt alone.
644
+ * @description Posed depth frames, one per target camera and posed at it, in target order; each camera is 1280x720. Frames may also carry an imageAsset (the view's known pixels) and a maskAsset (8-bit grayscale, white where the frame's image and depth are known), each on every frame or on none: the model keeps the image where the mask is set and generates the rest, takes frames without masks as fully known, and conditions on the depth alone for frames without an image. Frames carry no depth confidenceAsset. Leave empty to generate from the prompt alone.
565
645
  */
566
646
  contextFrames?: components["schemas"]["PosedDepthAsset"][];
647
+ /**
648
+ * Sourceframes
649
+ * @description Posed RGB photographs of the scene, each an image and its camera in the targets' coordinate convention and scale. The generated views stay consistent with them: the servable feeds them to the model as views it has already committed, so a target that sees the same surfaces keeps their materials, colors, and lighting. Any cameras and any resolution; each is cover-resized and center-cropped onto 1280x720. Frames carry no maskAsset or depth. Together with contextFrames and targetCameras they fill at most 128 views of the servable's rollout, where a context frame costs 3 and a photograph or target one.
650
+ */
651
+ sourceFrames?: components["schemas"]["PosedRGBAsset"][];
567
652
  /**
568
653
  * Targetcameras
569
654
  * @description Pinhole cameras at 1280x720 for the views to generate, in output order, returned in `frames`. At most 32.
@@ -594,7 +679,7 @@ export interface components {
594
679
  modelParameters?: components["schemas"]["AtlasChiselModelParameters"];
595
680
  /**
596
681
  * Returndepth
597
- * @description Return the generated frames as posed RGBD: they are reconstructed together so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The contextFrames' own depth is not reconstructed or returned. Needs at least two target cameras. Limitation: the depth scale is recovered from the target cameras' centres, so targets that share one centre (a pure-rotation rig) come back with a 0.0 or NaN scale and a success status.
682
+ * @description Return the generated frames as posed RGBD: they are reconstructed together so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The contextFrames' own depth is not reconstructed or returned. A source photograph joins the reconstruction as an anchor, and gets no depth back, only when its image is at the generated resolution and its camera's principal point is centered. Needs at least two target cameras. Limitation: the depth scale is recovered from the camera centers that joined, so targets that share one center (a pure-rotation rig) and no anchor come back with a 0.0 or NaN scale and a success status.
598
683
  * @default false
599
684
  */
600
685
  returnDepth?: boolean;
@@ -644,13 +729,11 @@ export interface components {
644
729
  } | null;
645
730
  /**
646
731
  * Done
647
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
732
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
648
733
  */
649
734
  done: boolean;
650
735
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
651
736
  error?: components["schemas"]["OperationError"] | null;
652
- /** @description ``AtlasChiselResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
653
- response?: components["schemas"]["AtlasChiselResponse"] | null;
654
737
  /**
655
738
  * Expiresatsecs
656
739
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -661,6 +744,8 @@ export interface components {
661
744
  * @description Unix seconds when the operation was accepted.
662
745
  */
663
746
  createdAtSecs?: number | null;
747
+ /** @description ``AtlasChiselResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
748
+ response?: components["schemas"]["AtlasChiselResponse"] | null;
664
749
  /**
665
750
  * Name
666
751
  * @description Full resource name for the operation.
@@ -682,16 +767,9 @@ export interface components {
682
767
  * @default 42
683
768
  */
684
769
  seed?: number | null;
685
- /**
686
- * Cfg
687
- * @description Classifier-free guidance scale.
688
- * @default 2.5
689
- */
690
- cfg?: number | null;
691
770
  /**
692
771
  * Numsteps
693
- * @description Diffusion step count.
694
- * @default 50
772
+ * @description Diffusion step-count override.
695
773
  */
696
774
  numSteps?: number | null;
697
775
  };
@@ -700,9 +778,25 @@ export interface components {
700
778
  * @description Body of ``POST /api/v2/tasks:atlasGenerate``.
701
779
  */
702
780
  AtlasGenerateRequest: {
781
+ /**
782
+ * Webhookurl
783
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
784
+ */
785
+ webhookUrl?: string | null;
786
+ /**
787
+ * Purgecontentonoperationcompletion
788
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
789
+ */
790
+ purgeContentOnOperationCompletion?: boolean | null;
791
+ /**
792
+ * Base64Outputs
793
+ * @description When a ?wait=true submission is answered inline, return each output file as base64 in that response rather than by assetId and url. This skips storing the files before the answer and the caller's download after it. Any other submission, and every later read of the operation, names the outputs by assetId and url.
794
+ * @default false
795
+ */
796
+ base64Outputs?: boolean;
703
797
  /**
704
798
  * Contextframes
705
- * @description Posed RGBD context views: each an image, its depth buffer, and its camera, all required. On the reference-context warp route the depth conditions the generation geometrically, so the generated views stay consistent with the provided scene; the hero base checkpoint conditions on the posed images only and does not consume the depth.
799
+ * @description Posed RGBD context views: each an image, its depth buffer, and its camera, all required. All context cameras must declare the same width and height. On the reference-context warp route the depth conditions the generation geometrically, so the generated views stay consistent with the provided scene; the hero base checkpoint conditions on the posed images only and does not consume the depth.
706
800
  */
707
801
  contextFrames: components["schemas"]["PosedRGBDAsset"][];
708
802
  /**
@@ -723,7 +817,7 @@ export interface components {
723
817
  enhancePrompt?: boolean;
724
818
  /**
725
819
  * Returndepth
726
- * @description Return the generated frames as posed RGBD: they are reconstructed together with the context frames so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. A context frame joins that reconstruction only when its image is at the generated resolution and its camera's principal point is centered. The scale is recovered from the camera centres that joined, so a request whose joined cameras all share one centre (a pure-rotation rig) is rejected.
820
+ * @description Return the generated frames as posed RGBD: they are reconstructed together with the context frames so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The scale is recovered from camera centres, so a request whose cameras all share one centre (a pure-rotation rig) is rejected. On the hero base route, with more than 19 context frames, or with a masked context frame, a context frame joins the reconstruction only when its image is at the generated resolution and its camera's principal point is centered.
727
821
  * @default false
728
822
  */
729
823
  returnDepth?: boolean;
@@ -775,13 +869,11 @@ export interface components {
775
869
  } | null;
776
870
  /**
777
871
  * Done
778
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
872
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
779
873
  */
780
874
  done: boolean;
781
875
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
782
876
  error?: components["schemas"]["OperationError"] | null;
783
- /** @description ``AtlasGenerateResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
784
- response?: components["schemas"]["AtlasGenerateResponse"] | null;
785
877
  /**
786
878
  * Expiresatsecs
787
879
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -792,6 +884,8 @@ export interface components {
792
884
  * @description Unix seconds when the operation was accepted.
793
885
  */
794
886
  createdAtSecs?: number | null;
887
+ /** @description ``AtlasGenerateResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
888
+ response?: components["schemas"]["AtlasGenerateResponse"] | null;
795
889
  /**
796
890
  * Name
797
891
  * @description Full resource name for the operation.
@@ -813,12 +907,6 @@ export interface components {
813
907
  * @default 42
814
908
  */
815
909
  seed?: number | null;
816
- /**
817
- * Cfg
818
- * @description Classifier-free guidance scale.
819
- * @default 2.5
820
- */
821
- cfg?: number | null;
822
910
  /**
823
911
  * Numsteps
824
912
  * @description Diffusion step count.
@@ -831,6 +919,16 @@ export interface components {
831
919
  * @description Body of ``POST /api/v2/tasks:atlasMasked``.
832
920
  */
833
921
  AtlasMaskedRequest: {
922
+ /**
923
+ * Webhookurl
924
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
925
+ */
926
+ webhookUrl?: string | null;
927
+ /**
928
+ * Purgecontentonoperationcompletion
929
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
930
+ */
931
+ purgeContentOnOperationCompletion?: boolean | null;
834
932
  /**
835
933
  * Contextframes
836
934
  * @description The views to complete, in output order: each an image, its alpha mask, and its camera. The mask is an 8-bit grayscale PNG on the image grid where 1 is kept -- those pixels are the observed image -- and 0 is what the model fills in. Each view is completed at its targetCameras entry of the same index.
@@ -843,13 +941,13 @@ export interface components {
843
941
  targetCameras: components["schemas"]["PinholeCamera"][];
844
942
  /**
845
943
  * Prompt
846
- * @description Text prompt describing what belongs in the masked region.
944
+ * @description The edit to make. With enhancePrompt on (the default), write an instruction that names what to add, remove, replace, or restyle and where, such as 'replace the yellow car with a stone fountain in the middle of the courtyard'. The enhancer reads it with the original context images but not the masks. Without a prompt it describes the images as they are, which tends to restore masked objects, so state removals explicitly. With enhancePrompt false the model receives the text unchanged as a caption of the finished image, so describe the whole finished scene instead.
847
945
  */
848
946
  prompt?: string | null;
849
947
  /**
850
948
  * Enhanceprompt
851
- * @description Enhance the prompt with the ViewGen preset before inference. Off by default: the observed pixels already describe the scene, so a completion usually wants the prompt it was given.
852
- * @default false
949
+ * @description Rewrite the prompt before inference: the edit instruction and the context images become a detailed description of the finished scene, returned as promptUsed. Set false to send the prompt exactly as given.
950
+ * @default true
853
951
  */
854
952
  enhancePrompt?: boolean;
855
953
  /**
@@ -906,13 +1004,11 @@ export interface components {
906
1004
  } | null;
907
1005
  /**
908
1006
  * Done
909
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1007
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
910
1008
  */
911
1009
  done: boolean;
912
1010
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
913
1011
  error?: components["schemas"]["OperationError"] | null;
914
- /** @description ``AtlasMaskedResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
915
- response?: components["schemas"]["AtlasMaskedResponse"] | null;
916
1012
  /**
917
1013
  * Expiresatsecs
918
1014
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -923,6 +1019,8 @@ export interface components {
923
1019
  * @description Unix seconds when the operation was accepted.
924
1020
  */
925
1021
  createdAtSecs?: number | null;
1022
+ /** @description ``AtlasMaskedResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1023
+ response?: components["schemas"]["AtlasMaskedResponse"] | null;
926
1024
  /**
927
1025
  * Name
928
1026
  * @description Full resource name for the operation.
@@ -938,6 +1036,16 @@ export interface components {
938
1036
  * @description Body of ``POST /api/v2/tasks:atlasTextToImage``.
939
1037
  */
940
1038
  AtlasTextToImageRequest: {
1039
+ /**
1040
+ * Webhookurl
1041
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
1042
+ */
1043
+ webhookUrl?: string | null;
1044
+ /**
1045
+ * Purgecontentonoperationcompletion
1046
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
1047
+ */
1048
+ purgeContentOnOperationCompletion?: boolean | null;
941
1049
  /**
942
1050
  * Prompt
943
1051
  * @description Text prompt to generate from.
@@ -959,11 +1067,6 @@ export interface components {
959
1067
  * @description Optional RNG seed.
960
1068
  */
961
1069
  seed?: number | null;
962
- /**
963
- * Cfg
964
- * @description Classifier-free guidance scale.
965
- */
966
- cfg?: number | null;
967
1070
  /**
968
1071
  * Numsteps
969
1072
  * @description Diffusion step count.
@@ -1026,13 +1129,11 @@ export interface components {
1026
1129
  } | null;
1027
1130
  /**
1028
1131
  * Done
1029
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1132
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1030
1133
  */
1031
1134
  done: boolean;
1032
1135
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1033
1136
  error?: components["schemas"]["OperationError"] | null;
1034
- /** @description ``AtlasTextToImageResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1035
- response?: components["schemas"]["AtlasTextToImageResponse"] | null;
1036
1137
  /**
1037
1138
  * Expiresatsecs
1038
1139
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1043,6 +1144,8 @@ export interface components {
1043
1144
  * @description Unix seconds when the operation was accepted.
1044
1145
  */
1045
1146
  createdAtSecs?: number | null;
1147
+ /** @description ``AtlasTextToImageResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1148
+ response?: components["schemas"]["AtlasTextToImageResponse"] | null;
1046
1149
  /**
1047
1150
  * Name
1048
1151
  * @description Full resource name for the operation.
@@ -1255,13 +1358,24 @@ export interface components {
1255
1358
  structure?: {
1256
1359
  [key: string]: unknown;
1257
1360
  } | null;
1258
- /** @description Set when a task produced the asset. */
1361
+ /** @description How the asset came to exist, when that was recorded. */
1259
1362
  producedBy?: components["schemas"]["ProducedBy"] | null;
1363
+ /**
1364
+ * Transient
1365
+ * @description True when the bytes are not retained: an upload made while the account does not retain content, or an output of an operation that purges. Both are deleted an hour after the last operation that names them finishes; an upload no operation consumes is deleted by age instead. ``contentPath`` is null for such an asset; read it through ``:createReadUrl``.
1366
+ * @default false
1367
+ */
1368
+ transient?: boolean;
1260
1369
  /**
1261
1370
  * Contentpath
1262
1371
  * @description Already percent-encoded path for the asset. Append it unchanged to ``baseUrl`` before ``?`` and ``signedQuery``. This path does not grant access by itself. Null until the asset is ``READY`` or when unavailable; use ``assets/{asset}:createReadUrl`` as a fallback.
1263
1372
  */
1264
1373
  contentPath?: string | null;
1374
+ /**
1375
+ * Url
1376
+ * @description Unsigned content URL for the asset, ``baseUrl + contentPath``. It does not grant access by itself: the web app's read-prefix cookie authorizes it, and an API client appends ``?`` and a read prefix's ``signedQuery`` or uses ``assets/{asset}:createReadUrl`` instead. Null whenever ``contentPath`` is.
1377
+ */
1378
+ url?: string | null;
1265
1379
  /**
1266
1380
  * Uploads
1267
1381
  * @description One grant per declared part; empty for URL or inline ingestion.
@@ -1324,7 +1438,7 @@ export interface components {
1324
1438
  contentType: string;
1325
1439
  /**
1326
1440
  * Contentlength
1327
- * @description Expected upload size in bytes, serialized on the wire as a string.
1441
+ * @description Expected upload size in bytes, serialized on the wire as a string. Capped at 1 GiB.
1328
1442
  */
1329
1443
  contentLength: number;
1330
1444
  };
@@ -1439,6 +1553,22 @@ export interface components {
1439
1553
  * @description Body of ``POST /api/v2/tasks:images2PosedRGBD``.
1440
1554
  */
1441
1555
  Images2PosedRGBDRequest: {
1556
+ /**
1557
+ * Webhookurl
1558
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
1559
+ */
1560
+ webhookUrl?: string | null;
1561
+ /**
1562
+ * Purgecontentonoperationcompletion
1563
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
1564
+ */
1565
+ purgeContentOnOperationCompletion?: boolean | null;
1566
+ /**
1567
+ * Base64Outputs
1568
+ * @description When a ?wait=true submission is answered inline, return each output file as base64 in that response rather than by assetId and url. This skips storing the files before the answer and the caller's download after it. Any other submission, and every later read of the operation, names the outputs by assetId and url.
1569
+ * @default false
1570
+ */
1571
+ base64Outputs?: boolean;
1442
1572
  /**
1443
1573
  * Frames
1444
1574
  * @description Ordered image inputs (min 1). A frame that carries a camera, a depth buffer or a mask is rejected rather than quietly ignored: none of them reaches the reconstruction.
@@ -1462,6 +1592,12 @@ export interface components {
1462
1592
  number,
1463
1593
  number
1464
1594
  ] | null;
1595
+ /**
1596
+ * Refineposes
1597
+ * @description Bundle-adjust the estimated cameras against dense matches before answering. The backbone's poses are good to about half a degree, which is enough to reconstruct from and not enough to refine against: the residual shows up as blur wherever two views disagree. The solve anchors on the depth this task has just produced, so it costs a matcher pass and a solve rather than another reconstruction, and it needs two or more frames. A solve that moves the cameras further than the guards allow is thrown away and the unrefined reconstruction is returned, which is a success rather than an error.
1598
+ * @default false
1599
+ */
1600
+ refinePoses?: boolean;
1465
1601
  };
1466
1602
  /**
1467
1603
  * Images2PosedRGBDResponse
@@ -1473,6 +1609,11 @@ export interface components {
1473
1609
  * @description One reconstructed frame per input image, in request order.
1474
1610
  */
1475
1611
  frames: components["schemas"]["Images2PosedRGBDPerImageResult"][];
1612
+ /**
1613
+ * Poserefinementaccepted
1614
+ * @description When refinePoses was requested, whether the refined cameras were kept. False means the original reconstruction was returned; null means refinement was not requested.
1615
+ */
1616
+ poseRefinementAccepted?: boolean | null;
1476
1617
  };
1477
1618
  /**
1478
1619
  * Images2PosedRGBDResponseOperation
@@ -1498,13 +1639,11 @@ export interface components {
1498
1639
  } | null;
1499
1640
  /**
1500
1641
  * Done
1501
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1642
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1502
1643
  */
1503
1644
  done: boolean;
1504
1645
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1505
1646
  error?: components["schemas"]["OperationError"] | null;
1506
- /** @description ``Images2PosedRGBDResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1507
- response?: components["schemas"]["Images2PosedRGBDResponse"] | null;
1508
1647
  /**
1509
1648
  * Expiresatsecs
1510
1649
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1515,6 +1654,8 @@ export interface components {
1515
1654
  * @description Unix seconds when the operation was accepted.
1516
1655
  */
1517
1656
  createdAtSecs?: number | null;
1657
+ /** @description ``Images2PosedRGBDResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1658
+ response?: components["schemas"]["Images2PosedRGBDResponse"] | null;
1518
1659
  /**
1519
1660
  * Name
1520
1661
  * @description Full resource name for the operation.
@@ -1537,14 +1678,24 @@ export interface components {
1537
1678
  };
1538
1679
  /**
1539
1680
  * ListAssetsResponse
1540
- * @description One page of non-deleted project assets.
1681
+ * @description One page of a project's assets, flat or grouped.
1682
+ *
1683
+ * ``assets`` and ``groups`` are alternatives rather than a pair: a request
1684
+ * that named no ``groupBy`` fills the first and leaves the second empty, and
1685
+ * one that named a grouping does the reverse. The page token pages whichever
1686
+ * of the two was filled, so a grouped page counts groups.
1541
1687
  */
1542
1688
  ListAssetsResponse: {
1543
1689
  /**
1544
1690
  * Assets
1545
- * @description Assets in the selected page.
1691
+ * @description Assets in the selected page. Empty when the request named a grouping.
1546
1692
  */
1547
1693
  assets?: components["schemas"]["Asset"][];
1694
+ /**
1695
+ * Groups
1696
+ * @description Set only when the request named a grouping. An asset the grouping cannot place is absent - uploads and imports have no producing task - so list without a grouping to reach those.
1697
+ */
1698
+ groups?: components["schemas"]["AssetGroup"][];
1548
1699
  /**
1549
1700
  * Nextpagetoken
1550
1701
  * @description Opaque token for the next page; empty on the final page.
@@ -1553,15 +1704,66 @@ export interface components {
1553
1704
  nextPageToken?: string;
1554
1705
  };
1555
1706
  /**
1556
- * ListOperationsResponse
1707
+ * ListedOperation
1708
+ * @description An operation summary with callback progress; GET it for the result.
1709
+ */
1710
+ ListedOperation: {
1711
+ /**
1712
+ * Id
1713
+ * @description Short operation id used in ``/operations/{operation}`` paths.
1714
+ */
1715
+ id: string;
1716
+ /**
1717
+ * Ownerid
1718
+ * @description Account that owns the operation.
1719
+ */
1720
+ ownerId: string;
1721
+ /**
1722
+ * Metadata
1723
+ * @description Task information and optional progress details. Use ``metadata.task`` to interpret a generic operation response, and use ``done`` to determine completion.
1724
+ */
1725
+ metadata?: {
1726
+ [key: string]: unknown;
1727
+ } | null;
1728
+ /**
1729
+ * Done
1730
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1731
+ */
1732
+ done: boolean;
1733
+ /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1734
+ error?: components["schemas"]["OperationError"] | null;
1735
+ /**
1736
+ * Expiresatsecs
1737
+ * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
1738
+ */
1739
+ expiresAtSecs?: number | null;
1740
+ /**
1741
+ * Createdatsecs
1742
+ * @description Unix seconds when the operation was accepted.
1743
+ */
1744
+ createdAtSecs?: number | null;
1745
+ /** @description Set for an operation that asked for a callback (webhookUrl). Absent on a cancelled operation, which sends no event, and when the webhook service could not be read. GET the operation's webhookDelivery for the full record. */
1746
+ webhookDelivery?: components["schemas"]["WebhookDeliverySummary"] | null;
1747
+ /**
1748
+ * Name
1749
+ * @description Full resource name for the operation.
1750
+ *
1751
+ * For project operations:
1752
+ * ``accounts/{account}/projects/{project}/operations/{operation}``.
1753
+ * Operation paths accept the short ``id``.
1754
+ */
1755
+ readonly name: string;
1756
+ };
1757
+ /**
1758
+ * ListedOperationsResponse
1557
1759
  * @description A page of operations, newest first.
1558
1760
  */
1559
- ListOperationsResponse: {
1761
+ ListedOperationsResponse: {
1560
1762
  /**
1561
1763
  * Operations
1562
1764
  * @description Operations ordered from newest to oldest.
1563
1765
  */
1564
- operations: components["schemas"]["Operation"][];
1766
+ operations: components["schemas"]["ListedOperation"][];
1565
1767
  /**
1566
1768
  * Nextpagetoken
1567
1769
  * @description Token for the next page; absent when there are no more.
@@ -1590,7 +1792,7 @@ export interface components {
1590
1792
  };
1591
1793
  /**
1592
1794
  * Operation
1593
- * @description The common envelope used to track an asynchronous task.
1795
+ * @description An operation with its result, available through singular reads.
1594
1796
  */
1595
1797
  Operation: {
1596
1798
  /**
@@ -1612,18 +1814,11 @@ export interface components {
1612
1814
  } | null;
1613
1815
  /**
1614
1816
  * Done
1615
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1817
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1616
1818
  */
1617
1819
  done: boolean;
1618
1820
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1619
1821
  error?: components["schemas"]["OperationError"] | null;
1620
- /**
1621
- * Response
1622
- * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1623
- */
1624
- response?: {
1625
- [key: string]: unknown;
1626
- } | null;
1627
1822
  /**
1628
1823
  * Expiresatsecs
1629
1824
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1634,6 +1829,13 @@ export interface components {
1634
1829
  * @description Unix seconds when the operation was accepted.
1635
1830
  */
1636
1831
  createdAtSecs?: number | null;
1832
+ /**
1833
+ * Response
1834
+ * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1835
+ */
1836
+ response?: {
1837
+ [key: string]: unknown;
1838
+ } | null;
1637
1839
  /**
1638
1840
  * Name
1639
1841
  * @description Full resource name for the operation.
@@ -1667,9 +1869,19 @@ export interface components {
1667
1869
  [key: string]: unknown;
1668
1870
  }[];
1669
1871
  };
1872
+ /**
1873
+ * OperationStatus
1874
+ * @description Coarse outcome filter derived from ``done`` and ``error``.
1875
+ *
1876
+ * FAILED is every done operation carrying an error, so cancelled and expired
1877
+ * operations count as failed; ``metadata.state`` keeps the finer lifecycle
1878
+ * value.
1879
+ * @enum {string}
1880
+ */
1881
+ OperationStatus: "RUNNING" | "SUCCEEDED" | "FAILED";
1670
1882
  /**
1671
1883
  * OperationTrace
1672
- * @description Public request/response data without the internal task record or raw LRO.
1884
+ * @description The caller's recorded request beside the Operation's own response and error.
1673
1885
  */
1674
1886
  OperationTrace: {
1675
1887
  /** Operationid */
@@ -1678,14 +1890,22 @@ export interface components {
1678
1890
  taskName: string;
1679
1891
  /** Taskversion */
1680
1892
  taskVersion: string;
1681
- /** Request */
1682
- request: {
1893
+ /**
1894
+ * Request
1895
+ * @description The request as the caller sent it, projected through the task's current public schema when that schema still accepts it and as recorded otherwise. Null only for early operations that retained no caller-shaped request.
1896
+ */
1897
+ request?: {
1683
1898
  [key: string]: unknown;
1684
- };
1685
- /** Response */
1899
+ } | null;
1900
+ /**
1901
+ * Response
1902
+ * @description The Operation's ``response``, served the same way.
1903
+ */
1686
1904
  response?: {
1687
1905
  [key: string]: unknown;
1688
1906
  } | null;
1907
+ /** @description The Operation's ``error``, served the same way. */
1908
+ error?: components["schemas"]["OperationError"] | null;
1689
1909
  };
1690
1910
  /**
1691
1911
  * PinholeCamera
@@ -1791,12 +2011,31 @@ export interface components {
1791
2011
  };
1792
2012
  /**
1793
2013
  * ProducedBy
1794
- * @description The task that produced this asset. Absent on an upload or import.
2014
+ * @description How the asset came to exist.
2015
+ *
2016
+ * Present on every asset whose provenance was recorded. ``producer`` says
2017
+ * which act made it, and the rest qualify that act: ``task`` and
2018
+ * ``operation`` are set only for ``TASK``, and ``applet`` and ``session``
2019
+ * only for work done through the Web API.
1795
2020
  */
1796
2021
  ProducedBy: {
2022
+ /** @description The act that made the asset. */
2023
+ producer: components["schemas"]["AssetProducer"];
2024
+ /** @description The product surface the act came through. */
2025
+ origin?: components["schemas"]["ResourceOrigin"] | null;
2026
+ /**
2027
+ * Applet
2028
+ * @description The applet the asset came from, e.g. ``turntable``. Set for Web API work whose session named one.
2029
+ */
2030
+ applet?: string | null;
2031
+ /**
2032
+ * Session
2033
+ * @description The Web API session the asset was made inside.
2034
+ */
2035
+ session?: string | null;
1797
2036
  /**
1798
2037
  * Task
1799
- * @description The task that produced it, e.g. ``image2DraftSplats``.
2038
+ * @description The task that produced it, e.g. ``atlasGenerate``.
1800
2039
  */
1801
2040
  task?: string | null;
1802
2041
  /**
@@ -1824,8 +2063,8 @@ export interface components {
1824
2063
  renderHw?: number;
1825
2064
  /**
1826
2065
  * Renderhwsecondary
1827
- * @description Height and width of the secondary views, in pixels. The anchor strategies sample extra cameras around each anchor and render them here, covering what the main views miss. `exterior_sphere` and a supplied camera list render no secondary views and ignore this.
1828
- * @default 640
2066
+ * @description Height and width of the secondary views, in pixels. The anchor strategies place extra cameras from the anchors and render them here, covering what the main views miss. `exterior_sphere` and a supplied camera list render no secondary views and ignore this.
2067
+ * @default 256
1829
2068
  */
1830
2069
  renderHwSecondary?: number;
1831
2070
  /**
@@ -1835,6 +2074,13 @@ export interface components {
1835
2074
  * @enum {string}
1836
2075
  */
1837
2076
  normalSource?: "depth" | "render";
2077
+ /**
2078
+ * Depthsource
2079
+ * @description Depth of the main views. `render` uses the splats' rendered depth; `stereo` measures it by stereo matching each view against a second render from a camera shifted sideways, which is sharper where the splats are fuzzy and slower to compute. Pixels stereo cannot match keep the rendered depth.
2080
+ * @default render
2081
+ * @enum {string}
2082
+ */
2083
+ depthSource?: "render" | "stereo";
1838
2084
  /**
1839
2085
  * Resolution
1840
2086
  * @description Resolution of the grid the implicit surface is built on, across the region's longest side. Powers of two only. This sets the finest detail the mesh can carry.
@@ -1887,6 +2133,16 @@ export interface components {
1887
2133
  * @description Body of a splats2Mesh request.
1888
2134
  */
1889
2135
  Splats2MeshRequest: {
2136
+ /**
2137
+ * Webhookurl
2138
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
2139
+ */
2140
+ webhookUrl?: string | null;
2141
+ /**
2142
+ * Purgecontentonoperationcompletion
2143
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
2144
+ */
2145
+ purgeContentOnOperationCompletion?: boolean | null;
1890
2146
  /**
1891
2147
  * Cameras
1892
2148
  * @description Cameras the splats are rendered from. The surface is reconstructed from those renders, so geometry no camera sees is not meshed. Name a strategy -- `auto_anchors` (the default) finds viewpoints in the scene's free space, `manual_anchors` takes them from the request, `exterior_sphere` rings the scene from outside for an object or turntable capture -- or pass a list of cameras to render as given, at most 512, sharing one width and height between 64 and 1024 that becomes the render resolution.
@@ -1966,13 +2222,11 @@ export interface components {
1966
2222
  } | null;
1967
2223
  /**
1968
2224
  * Done
1969
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
2225
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1970
2226
  */
1971
2227
  done: boolean;
1972
2228
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1973
2229
  error?: components["schemas"]["OperationError"] | null;
1974
- /** @description ``Splats2MeshResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1975
- response?: components["schemas"]["Splats2MeshResponse"] | null;
1976
2230
  /**
1977
2231
  * Expiresatsecs
1978
2232
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1983,6 +2237,8 @@ export interface components {
1983
2237
  * @description Unix seconds when the operation was accepted.
1984
2238
  */
1985
2239
  createdAtSecs?: number | null;
2240
+ /** @description ``Splats2MeshResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
2241
+ response?: components["schemas"]["Splats2MeshResponse"] | null;
1986
2242
  /**
1987
2243
  * Name
1988
2244
  * @description Full resource name for the operation.
@@ -2000,7 +2256,9 @@ export interface components {
2000
2256
  * A task response names each output by id and url together: the url expires,
2001
2257
  * the id does not. The pair is accepted as input as well, so a response can
2002
2258
  * be handed straight back to the next task; the id names the media and the
2003
- * url is ignored. Inline base64 is an input form only, and stands alone.
2259
+ * url is ignored. Inline base64 stands alone. A response returns it only
2260
+ * when a task is answered at submission; the stored operation names the
2261
+ * same output by id and url.
2004
2262
  */
2005
2263
  TaskAsset: {
2006
2264
  /**
@@ -2010,7 +2268,7 @@ export interface components {
2010
2268
  assetId?: string | null;
2011
2269
  /**
2012
2270
  * Base64
2013
- * @description Base64-encoded media bytes, with or without a data URL prefix. Decoded size must be less than 10 MiB. Input only: a task response never carries inline bytes.
2271
+ * @description Base64-encoded media bytes, with or without a data URL prefix. Decoded size must be less than 10 MiB. A task response carries inline bytes only when it is returned from the submission; the stored operation names the same output by `assetId` and `url`.
2014
2272
  */
2015
2273
  base64?: string | null;
2016
2274
  /**
@@ -2077,6 +2335,114 @@ export interface components {
2077
2335
  */
2078
2336
  timeoutSecs?: number | null;
2079
2337
  };
2338
+ /**
2339
+ * WebhookDelivery
2340
+ * @description The callback record for one operation.
2341
+ */
2342
+ WebhookDelivery: {
2343
+ /**
2344
+ * Name
2345
+ * @description `accounts/{account}/projects/{project}/operations/{operation}/webhookDelivery`.
2346
+ */
2347
+ name: string;
2348
+ /**
2349
+ * Deliveryid
2350
+ * @description The value sent in the `webhook-id` header; absent while SCHEDULED or PUBLISH_FAILED.
2351
+ */
2352
+ deliveryId?: string | null;
2353
+ /**
2354
+ * Webhookurl
2355
+ * @description The accepted webhookUrl; absent once the operation's content was purged, while the delivery record itself stays.
2356
+ */
2357
+ webhookUrl?: string | null;
2358
+ /**
2359
+ * State
2360
+ * @description SCHEDULED until the operation is terminal and handed over; PUBLISH_FAILED when Marble could not hand the completion to its webhook service (poll the operation instead); then the delivery's own state: PENDING (waiting for the next attempt), IN_FLIGHT, DELIVERED, SUPPRESSED (the receiver answered 410), EXHAUSTED (the 24-hour window closed, or after one attempt when the webhookUrl host resolves to a private address). A cancelled operation sends no event and answers 404.
2361
+ */
2362
+ state: ("SCHEDULED" | "PUBLISH_FAILED") | ("PENDING" | "IN_FLIGHT" | "DELIVERED" | "SUPPRESSED" | "EXHAUSTED");
2363
+ /**
2364
+ * Event
2365
+ * @description The exact event body sent, once the delivery exists.
2366
+ */
2367
+ event?: {
2368
+ [key: string]: unknown;
2369
+ } | null;
2370
+ /**
2371
+ * Attemptcount
2372
+ * @description Sends attempted so far; a claim counts before its outcome.
2373
+ * @default 0
2374
+ */
2375
+ attemptCount?: number;
2376
+ /** Lastattempttime */
2377
+ lastAttemptTime?: string | null;
2378
+ lastAttempt?: components["schemas"]["WebhookDeliveryAttempt"] | null;
2379
+ /**
2380
+ * Nextattempttime
2381
+ * @description Scheduled time of the next attempt while PENDING.
2382
+ */
2383
+ nextAttemptTime?: string | null;
2384
+ /**
2385
+ * Expiretime
2386
+ * @description End of the 24-hour window.
2387
+ */
2388
+ expireTime?: string | null;
2389
+ /**
2390
+ * Finishtime
2391
+ * @description Set when terminal.
2392
+ */
2393
+ finishTime?: string | null;
2394
+ /**
2395
+ * Purgetime
2396
+ * @description Expires 90 days after the webhook service accepted the delivery.
2397
+ */
2398
+ purgeTime?: string | null;
2399
+ /**
2400
+ * Createtime
2401
+ * Format: date-time
2402
+ */
2403
+ createTime: string;
2404
+ /**
2405
+ * Updatetime
2406
+ * Format: date-time
2407
+ */
2408
+ updateTime: string;
2409
+ };
2410
+ /**
2411
+ * WebhookDeliveryAttempt
2412
+ * @description The latest send's outcome; never the receiver's body.
2413
+ */
2414
+ WebhookDeliveryAttempt: {
2415
+ /**
2416
+ * Httpstatus
2417
+ * @description The receiver's status, if it answered.
2418
+ */
2419
+ httpStatus?: number | null;
2420
+ /**
2421
+ * Errorcategory
2422
+ * @description Why the attempt did not get a status: a send that failed (timeout, connect_error, tls_error, internal, proxy_rejected:<reason> such as dns_error or private_address), or a close with no send (expired, purged, account_deleted); `publish_failed` while PUBLISH_FAILED.
2423
+ */
2424
+ errorCategory?: string | null;
2425
+ };
2426
+ /**
2427
+ * WebhookDeliverySummary
2428
+ * @description A listed operation's callback at a glance; its webhookDelivery has the
2429
+ * full record.
2430
+ */
2431
+ WebhookDeliverySummary: {
2432
+ /**
2433
+ * State
2434
+ * @description The state its webhookDelivery answers.
2435
+ */
2436
+ state: ("SCHEDULED" | "PUBLISH_FAILED") | ("PENDING" | "IN_FLIGHT" | "DELIVERED" | "SUPPRESSED" | "EXHAUSTED");
2437
+ /**
2438
+ * Attemptcount
2439
+ * @description Sends attempted so far; a claim counts before its outcome.
2440
+ * @default 0
2441
+ */
2442
+ attemptCount?: number;
2443
+ /** Lastattempttime */
2444
+ lastAttemptTime?: string | null;
2445
+ };
2080
2446
  };
2081
2447
  responses: never;
2082
2448
  parameters: never;
@@ -2086,8 +2452,12 @@ export interface components {
2086
2452
  }
2087
2453
  export type Asset = components['schemas']['Asset'];
2088
2454
  export type AssetCreate = components['schemas']['AssetCreate'];
2455
+ export type AssetGroup = components['schemas']['AssetGroup'];
2456
+ export type AssetGrouping = components['schemas']['AssetGrouping'];
2457
+ export type AssetOrder = components['schemas']['AssetOrder'];
2089
2458
  export type AssetPart = components['schemas']['AssetPart'];
2090
2459
  export type AssetPartDeclaration = components['schemas']['AssetPartDeclaration'];
2460
+ export type AssetProducer = components['schemas']['AssetProducer'];
2091
2461
  export type AssetState = components['schemas']['AssetState'];
2092
2462
  export type AtlasChiselModelParameters = components['schemas']['AtlasChiselModelParameters'];
2093
2463
  export type AtlasChiselRequest = components['schemas']['AtlasChiselRequest'];
@@ -2127,10 +2497,12 @@ export type Images2PosedRGBDResponse = components['schemas']['Images2PosedRGBDRe
2127
2497
  export type Images2PosedRGBDResponseOperation = components['schemas']['Images2PosedRGBDResponseOperation'];
2128
2498
  export type LinearDepthBufferAsset = components['schemas']['LinearDepthBufferAsset'];
2129
2499
  export type ListAssetsResponse = components['schemas']['ListAssetsResponse'];
2130
- export type ListOperationsResponse = components['schemas']['ListOperationsResponse'];
2500
+ export type ListedOperation = components['schemas']['ListedOperation'];
2501
+ export type ListedOperationsResponse = components['schemas']['ListedOperationsResponse'];
2131
2502
  export type LogDepthBufferAsset = components['schemas']['LogDepthBufferAsset'];
2132
2503
  export type Operation = components['schemas']['Operation'];
2133
2504
  export type OperationError = components['schemas']['OperationError'];
2505
+ export type OperationStatus = components['schemas']['OperationStatus'];
2134
2506
  export type OperationTrace = components['schemas']['OperationTrace'];
2135
2507
  export type PinholeCamera = components['schemas']['PinholeCamera'];
2136
2508
  export type PinholeCameraIntrinsics = components['schemas']['PinholeCameraIntrinsics'];
@@ -2149,6 +2521,9 @@ export type TaskAsset = components['schemas']['TaskAsset'];
2149
2521
  export type UploadGrant = components['schemas']['UploadGrant'];
2150
2522
  export type ValidationError = components['schemas']['ValidationError'];
2151
2523
  export type WaitOperationRequest = components['schemas']['WaitOperationRequest'];
2524
+ export type WebhookDelivery = components['schemas']['WebhookDelivery'];
2525
+ export type WebhookDeliveryAttempt = components['schemas']['WebhookDeliveryAttempt'];
2526
+ export type WebhookDeliverySummary = components['schemas']['WebhookDeliverySummary'];
2152
2527
  export type $defs = Record<string, never>;
2153
2528
  export interface operations {
2154
2529
  api_health_api_v2_health_get: {
@@ -2411,6 +2786,14 @@ export interface operations {
2411
2786
  parameters: {
2412
2787
  query?: {
2413
2788
  origin?: components["schemas"]["ResourceOrigin"] | null;
2789
+ /** @description Only operations of this task, as named in metadata.task. */
2790
+ task?: string | null;
2791
+ /** @description Only operations with this outcome. FAILED is every done operation carrying an error, including cancelled and expired ones. */
2792
+ status?: components["schemas"]["OperationStatus"] | null;
2793
+ /** @description Unix seconds; only operations accepted at or after this time. */
2794
+ createdAfter?: number | null;
2795
+ /** @description Unix seconds; only operations accepted before this time. */
2796
+ createdBefore?: number | null;
2414
2797
  pageSize?: number;
2415
2798
  pageToken?: string | null;
2416
2799
  };
@@ -2426,7 +2809,7 @@ export interface operations {
2426
2809
  [name: string]: unknown;
2427
2810
  };
2428
2811
  content: {
2429
- "application/json": components["schemas"]["ListOperationsResponse"];
2812
+ "application/json": components["schemas"]["ListedOperationsResponse"];
2430
2813
  };
2431
2814
  };
2432
2815
  /** @description Validation Error */
@@ -2541,6 +2924,37 @@ export interface operations {
2541
2924
  };
2542
2925
  };
2543
2926
  };
2927
+ get_webhook_delivery_api_v2_operations__operation__webhookDelivery_get: {
2928
+ parameters: {
2929
+ query?: never;
2930
+ header?: never;
2931
+ path: {
2932
+ operation: string;
2933
+ };
2934
+ cookie?: never;
2935
+ };
2936
+ requestBody?: never;
2937
+ responses: {
2938
+ /** @description Successful Response */
2939
+ 200: {
2940
+ headers: {
2941
+ [name: string]: unknown;
2942
+ };
2943
+ content: {
2944
+ "application/json": components["schemas"]["WebhookDelivery"];
2945
+ };
2946
+ };
2947
+ /** @description Validation Error */
2948
+ 422: {
2949
+ headers: {
2950
+ [name: string]: unknown;
2951
+ };
2952
+ content: {
2953
+ "application/json": components["schemas"]["HTTPValidationError"];
2954
+ };
2955
+ };
2956
+ };
2957
+ };
2544
2958
  get_operation_api_v2_operations__operation__get: {
2545
2959
  parameters: {
2546
2960
  query?: {
@@ -2581,6 +2995,22 @@ export interface operations {
2581
2995
  origin?: components["schemas"]["ResourceOrigin"] | null;
2582
2996
  /** @description Filter by state. Omit for all non-deleted states. */
2583
2997
  state?: components["schemas"]["AssetState"] | null;
2998
+ /** @description Only assets made inside this Web API session. */
2999
+ session?: string | null;
3000
+ /** @description Only assets that came from this applet. */
3001
+ applet?: string | null;
3002
+ /** @description Only assets of this media type. A trailing `/*`, as in `image/*`, matches every type in the family. */
3003
+ mimeType?: string | null;
3004
+ /** @description Only assets this Operation produced. */
3005
+ operation?: string | null;
3006
+ /** @description Only assets this task produced, e.g. `atlasGenerate`. */
3007
+ task?: string | null;
3008
+ /** @description Only assets made this way, e.g. `UPLOAD` for the customer's own bytes. Assets recorded before the producer was stored match no value. */
3009
+ producer?: components["schemas"]["AssetProducer"] | null;
3010
+ /** @description Collect the assets under what produced them. The page then counts groups rather than assets. */
3011
+ groupBy?: components["schemas"]["AssetGrouping"] | null;
3012
+ /** @description Order of the page. A grouped page orders each group by its leading asset: its newest one descending, its oldest ascending. */
3013
+ orderBy?: components["schemas"]["AssetOrder"];
2584
3014
  pageSize?: number;
2585
3015
  pageToken?: string | null;
2586
3016
  };