@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
@@ -190,6 +190,23 @@ export interface paths {
190
190
  patch?: never;
191
191
  trace?: never;
192
192
  };
193
+ "/api/v2/operations/{operation}/webhookDelivery": {
194
+ parameters: {
195
+ query?: never;
196
+ header?: never;
197
+ path?: never;
198
+ cookie?: never;
199
+ };
200
+ /** Get the webhook delivery record for an operation */
201
+ get: operations["get_webhook_delivery_api_v2_operations__operation__webhookDelivery_get"];
202
+ put?: never;
203
+ post?: never;
204
+ delete?: never;
205
+ options?: never;
206
+ head?: never;
207
+ patch?: never;
208
+ trace?: never;
209
+ };
193
210
  "/api/v2/operations/{operation}": {
194
211
  parameters: {
195
212
  query?: never;
@@ -399,13 +416,24 @@ export interface components {
399
416
  structure?: {
400
417
  [key: string]: unknown;
401
418
  } | null;
402
- /** @description Set when a task produced the asset. */
419
+ /** @description How the asset came to exist, when that was recorded. */
403
420
  producedBy?: components["schemas"]["ProducedBy"] | null;
421
+ /**
422
+ * Transient
423
+ * @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``.
424
+ * @default false
425
+ */
426
+ transient?: boolean;
404
427
  /**
405
428
  * Contentpath
406
429
  * @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.
407
430
  */
408
431
  contentPath?: string | null;
432
+ /**
433
+ * Url
434
+ * @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.
435
+ */
436
+ url?: string | null;
409
437
  };
410
438
  /**
411
439
  * AssetCreate
@@ -417,6 +445,11 @@ export interface components {
417
445
  * @description User-visible label.
418
446
  */
419
447
  displayName?: string | null;
448
+ /**
449
+ * Session
450
+ * @description The Web API session this upload belongs to. The session must be in the same project; the asset inherits its applet.
451
+ */
452
+ session?: string | null;
420
453
  /**
421
454
  * Type
422
455
  * @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``.
@@ -445,6 +478,40 @@ export interface components {
445
478
  */
446
479
  url?: string | null;
447
480
  };
481
+ /**
482
+ * AssetGroup
483
+ * @description The assets one Operation produced, in the page's order.
484
+ */
485
+ AssetGroup: {
486
+ /**
487
+ * Operation
488
+ * @description The Operation that produced them.
489
+ */
490
+ operation: string;
491
+ /**
492
+ * Task
493
+ * @description The task that produced them, e.g. ``atlasGenerate``.
494
+ */
495
+ task?: string | null;
496
+ /** Assets */
497
+ assets?: components["schemas"]["Asset"][];
498
+ };
499
+ /**
500
+ * AssetGrouping
501
+ * @description What a listing collects its assets under.
502
+ * @enum {string}
503
+ */
504
+ AssetGrouping: "OPERATION";
505
+ /**
506
+ * AssetOrder
507
+ * @description How a listing orders its page.
508
+ *
509
+ * A grouped page orders on each group's leading asset -- its newest running
510
+ * newest-first, its oldest running the other way -- so a group sorts where
511
+ * its nearest asset would have in the flat listing.
512
+ * @enum {string}
513
+ */
514
+ AssetOrder: "CREATE_TIME_DESC" | "CREATE_TIME_ASC";
448
515
  /**
449
516
  * AssetPart
450
517
  * @description One media file belonging to an asset.
@@ -513,7 +580,7 @@ export interface components {
513
580
  contentType: string;
514
581
  /**
515
582
  * Contentlength
516
- * @description Upload size in bytes, serialized on the wire as a string.
583
+ * @description Upload size in bytes, serialized on the wire as a string. Capped at 1 GiB.
517
584
  */
518
585
  contentLength: number;
519
586
  /**
@@ -524,6 +591,16 @@ export interface components {
524
591
  [key: string]: unknown;
525
592
  } | null;
526
593
  };
594
+ /**
595
+ * AssetProducer
596
+ * @description The act that produced an asset.
597
+ *
598
+ * A customer's own bytes are an UPLOAD however they arrived; bytes we
599
+ * fetched from an address they gave us are an IMPORT; a task's output is a
600
+ * TASK.
601
+ * @enum {string}
602
+ */
603
+ AssetProducer: "UPLOAD" | "IMPORT" | "TASK";
527
604
  /**
528
605
  * AssetState
529
606
  * @enum {string}
@@ -540,16 +617,9 @@ export interface components {
540
617
  * @default 42
541
618
  */
542
619
  seed?: number | null;
543
- /**
544
- * Cfg
545
- * @description Classifier-free guidance scale.
546
- * @default 2.5
547
- */
548
- cfg?: number | null;
549
620
  /**
550
621
  * Numsteps
551
- * @description Diffusion step count.
552
- * @default 50
622
+ * @description Diffusion step count. Unset uses the served model's own sampler.
553
623
  */
554
624
  numSteps?: number | null;
555
625
  };
@@ -558,11 +628,26 @@ export interface components {
558
628
  * @description Body of ``POST /api/v2/tasks:atlasChisel``.
559
629
  */
560
630
  AtlasChiselRequest: {
631
+ /**
632
+ * Webhookurl
633
+ * @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.
634
+ */
635
+ webhookUrl?: string | null;
636
+ /**
637
+ * Purgecontentonoperationcompletion
638
+ * @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.
639
+ */
640
+ purgeContentOnOperationCompletion?: boolean | null;
561
641
  /**
562
642
  * Contextframes
563
- * @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.
643
+ * @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.
564
644
  */
565
645
  contextFrames?: components["schemas"]["PosedDepthAsset"][];
646
+ /**
647
+ * Sourceframes
648
+ * @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.
649
+ */
650
+ sourceFrames?: components["schemas"]["PosedRGBAsset"][];
566
651
  /**
567
652
  * Targetcameras
568
653
  * @description Pinhole cameras at 1280x720 for the views to generate, in output order, returned in `frames`. At most 32.
@@ -593,7 +678,7 @@ export interface components {
593
678
  modelParameters?: components["schemas"]["AtlasChiselModelParameters"];
594
679
  /**
595
680
  * Returndepth
596
- * @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.
681
+ * @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.
597
682
  * @default false
598
683
  */
599
684
  returnDepth?: boolean;
@@ -643,13 +728,11 @@ export interface components {
643
728
  } | null;
644
729
  /**
645
730
  * Done
646
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
731
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
647
732
  */
648
733
  done: boolean;
649
734
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
650
735
  error?: components["schemas"]["OperationError"] | null;
651
- /** @description ``AtlasChiselResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
652
- response?: components["schemas"]["AtlasChiselResponse"] | null;
653
736
  /**
654
737
  * Expiresatsecs
655
738
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -660,6 +743,8 @@ export interface components {
660
743
  * @description Unix seconds when the operation was accepted.
661
744
  */
662
745
  createdAtSecs?: number | null;
746
+ /** @description ``AtlasChiselResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
747
+ response?: components["schemas"]["AtlasChiselResponse"] | null;
663
748
  /**
664
749
  * Name
665
750
  * @description Full resource name for the operation.
@@ -681,16 +766,9 @@ export interface components {
681
766
  * @default 42
682
767
  */
683
768
  seed?: number | null;
684
- /**
685
- * Cfg
686
- * @description Classifier-free guidance scale.
687
- * @default 2.5
688
- */
689
- cfg?: number | null;
690
769
  /**
691
770
  * Numsteps
692
- * @description Diffusion step count.
693
- * @default 50
771
+ * @description Diffusion step-count override.
694
772
  */
695
773
  numSteps?: number | null;
696
774
  };
@@ -699,9 +777,25 @@ export interface components {
699
777
  * @description Body of ``POST /api/v2/tasks:atlasGenerate``.
700
778
  */
701
779
  AtlasGenerateRequest: {
780
+ /**
781
+ * Webhookurl
782
+ * @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.
783
+ */
784
+ webhookUrl?: string | null;
785
+ /**
786
+ * Purgecontentonoperationcompletion
787
+ * @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.
788
+ */
789
+ purgeContentOnOperationCompletion?: boolean | null;
790
+ /**
791
+ * Base64Outputs
792
+ * @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.
793
+ * @default false
794
+ */
795
+ base64Outputs?: boolean;
702
796
  /**
703
797
  * Contextframes
704
- * @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.
798
+ * @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.
705
799
  */
706
800
  contextFrames: components["schemas"]["PosedRGBDAsset"][];
707
801
  /**
@@ -722,7 +816,7 @@ export interface components {
722
816
  enhancePrompt?: boolean;
723
817
  /**
724
818
  * Returndepth
725
- * @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.
819
+ * @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.
726
820
  * @default false
727
821
  */
728
822
  returnDepth?: boolean;
@@ -774,13 +868,11 @@ export interface components {
774
868
  } | null;
775
869
  /**
776
870
  * Done
777
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
871
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
778
872
  */
779
873
  done: boolean;
780
874
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
781
875
  error?: components["schemas"]["OperationError"] | null;
782
- /** @description ``AtlasGenerateResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
783
- response?: components["schemas"]["AtlasGenerateResponse"] | null;
784
876
  /**
785
877
  * Expiresatsecs
786
878
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -791,6 +883,8 @@ export interface components {
791
883
  * @description Unix seconds when the operation was accepted.
792
884
  */
793
885
  createdAtSecs?: number | null;
886
+ /** @description ``AtlasGenerateResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
887
+ response?: components["schemas"]["AtlasGenerateResponse"] | null;
794
888
  /**
795
889
  * Name
796
890
  * @description Full resource name for the operation.
@@ -812,12 +906,6 @@ export interface components {
812
906
  * @default 42
813
907
  */
814
908
  seed?: number | null;
815
- /**
816
- * Cfg
817
- * @description Classifier-free guidance scale.
818
- * @default 2.5
819
- */
820
- cfg?: number | null;
821
909
  /**
822
910
  * Numsteps
823
911
  * @description Diffusion step count.
@@ -830,6 +918,16 @@ export interface components {
830
918
  * @description Body of ``POST /api/v2/tasks:atlasMasked``.
831
919
  */
832
920
  AtlasMaskedRequest: {
921
+ /**
922
+ * Webhookurl
923
+ * @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.
924
+ */
925
+ webhookUrl?: string | null;
926
+ /**
927
+ * Purgecontentonoperationcompletion
928
+ * @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.
929
+ */
930
+ purgeContentOnOperationCompletion?: boolean | null;
833
931
  /**
834
932
  * Contextframes
835
933
  * @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.
@@ -842,13 +940,13 @@ export interface components {
842
940
  targetCameras: components["schemas"]["PinholeCamera"][];
843
941
  /**
844
942
  * Prompt
845
- * @description Text prompt describing what belongs in the masked region.
943
+ * @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.
846
944
  */
847
945
  prompt?: string | null;
848
946
  /**
849
947
  * Enhanceprompt
850
- * @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.
851
- * @default false
948
+ * @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.
949
+ * @default true
852
950
  */
853
951
  enhancePrompt?: boolean;
854
952
  /**
@@ -905,13 +1003,11 @@ export interface components {
905
1003
  } | null;
906
1004
  /**
907
1005
  * Done
908
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1006
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
909
1007
  */
910
1008
  done: boolean;
911
1009
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
912
1010
  error?: components["schemas"]["OperationError"] | null;
913
- /** @description ``AtlasMaskedResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
914
- response?: components["schemas"]["AtlasMaskedResponse"] | null;
915
1011
  /**
916
1012
  * Expiresatsecs
917
1013
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -922,6 +1018,8 @@ export interface components {
922
1018
  * @description Unix seconds when the operation was accepted.
923
1019
  */
924
1020
  createdAtSecs?: number | null;
1021
+ /** @description ``AtlasMaskedResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1022
+ response?: components["schemas"]["AtlasMaskedResponse"] | null;
925
1023
  /**
926
1024
  * Name
927
1025
  * @description Full resource name for the operation.
@@ -937,6 +1035,16 @@ export interface components {
937
1035
  * @description Body of ``POST /api/v2/tasks:atlasTextToImage``.
938
1036
  */
939
1037
  AtlasTextToImageRequest: {
1038
+ /**
1039
+ * Webhookurl
1040
+ * @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.
1041
+ */
1042
+ webhookUrl?: string | null;
1043
+ /**
1044
+ * Purgecontentonoperationcompletion
1045
+ * @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.
1046
+ */
1047
+ purgeContentOnOperationCompletion?: boolean | null;
940
1048
  /**
941
1049
  * Prompt
942
1050
  * @description Text prompt to generate from.
@@ -958,11 +1066,6 @@ export interface components {
958
1066
  * @description Optional RNG seed.
959
1067
  */
960
1068
  seed?: number | null;
961
- /**
962
- * Cfg
963
- * @description Classifier-free guidance scale.
964
- */
965
- cfg?: number | null;
966
1069
  /**
967
1070
  * Numsteps
968
1071
  * @description Diffusion step count.
@@ -1025,13 +1128,11 @@ export interface components {
1025
1128
  } | null;
1026
1129
  /**
1027
1130
  * Done
1028
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1131
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1029
1132
  */
1030
1133
  done: boolean;
1031
1134
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1032
1135
  error?: components["schemas"]["OperationError"] | null;
1033
- /** @description ``AtlasTextToImageResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1034
- response?: components["schemas"]["AtlasTextToImageResponse"] | null;
1035
1136
  /**
1036
1137
  * Expiresatsecs
1037
1138
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1042,6 +1143,8 @@ export interface components {
1042
1143
  * @description Unix seconds when the operation was accepted.
1043
1144
  */
1044
1145
  createdAtSecs?: number | null;
1146
+ /** @description ``AtlasTextToImageResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1147
+ response?: components["schemas"]["AtlasTextToImageResponse"] | null;
1045
1148
  /**
1046
1149
  * Name
1047
1150
  * @description Full resource name for the operation.
@@ -1254,13 +1357,24 @@ export interface components {
1254
1357
  structure?: {
1255
1358
  [key: string]: unknown;
1256
1359
  } | null;
1257
- /** @description Set when a task produced the asset. */
1360
+ /** @description How the asset came to exist, when that was recorded. */
1258
1361
  producedBy?: components["schemas"]["ProducedBy"] | null;
1362
+ /**
1363
+ * Transient
1364
+ * @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``.
1365
+ * @default false
1366
+ */
1367
+ transient?: boolean;
1259
1368
  /**
1260
1369
  * Contentpath
1261
1370
  * @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.
1262
1371
  */
1263
1372
  contentPath?: string | null;
1373
+ /**
1374
+ * Url
1375
+ * @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.
1376
+ */
1377
+ url?: string | null;
1264
1378
  /**
1265
1379
  * Uploads
1266
1380
  * @description One grant per declared part; empty for URL or inline ingestion.
@@ -1323,7 +1437,7 @@ export interface components {
1323
1437
  contentType: string;
1324
1438
  /**
1325
1439
  * Contentlength
1326
- * @description Expected upload size in bytes, serialized on the wire as a string.
1440
+ * @description Expected upload size in bytes, serialized on the wire as a string. Capped at 1 GiB.
1327
1441
  */
1328
1442
  contentLength: number;
1329
1443
  };
@@ -1438,6 +1552,22 @@ export interface components {
1438
1552
  * @description Body of ``POST /api/v2/tasks:images2PosedRGBD``.
1439
1553
  */
1440
1554
  Images2PosedRGBDRequest: {
1555
+ /**
1556
+ * Webhookurl
1557
+ * @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.
1558
+ */
1559
+ webhookUrl?: string | null;
1560
+ /**
1561
+ * Purgecontentonoperationcompletion
1562
+ * @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.
1563
+ */
1564
+ purgeContentOnOperationCompletion?: boolean | null;
1565
+ /**
1566
+ * Base64Outputs
1567
+ * @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.
1568
+ * @default false
1569
+ */
1570
+ base64Outputs?: boolean;
1441
1571
  /**
1442
1572
  * Frames
1443
1573
  * @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.
@@ -1461,6 +1591,12 @@ export interface components {
1461
1591
  number,
1462
1592
  number
1463
1593
  ] | null;
1594
+ /**
1595
+ * Refineposes
1596
+ * @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.
1597
+ * @default false
1598
+ */
1599
+ refinePoses?: boolean;
1464
1600
  };
1465
1601
  /**
1466
1602
  * Images2PosedRGBDResponse
@@ -1472,6 +1608,11 @@ export interface components {
1472
1608
  * @description One reconstructed frame per input image, in request order.
1473
1609
  */
1474
1610
  frames: components["schemas"]["Images2PosedRGBDPerImageResult"][];
1611
+ /**
1612
+ * Poserefinementaccepted
1613
+ * @description When refinePoses was requested, whether the refined cameras were kept. False means the original reconstruction was returned; null means refinement was not requested.
1614
+ */
1615
+ poseRefinementAccepted?: boolean | null;
1475
1616
  };
1476
1617
  /**
1477
1618
  * Images2PosedRGBDResponseOperation
@@ -1497,13 +1638,11 @@ export interface components {
1497
1638
  } | null;
1498
1639
  /**
1499
1640
  * Done
1500
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1641
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1501
1642
  */
1502
1643
  done: boolean;
1503
1644
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1504
1645
  error?: components["schemas"]["OperationError"] | null;
1505
- /** @description ``Images2PosedRGBDResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1506
- response?: components["schemas"]["Images2PosedRGBDResponse"] | null;
1507
1646
  /**
1508
1647
  * Expiresatsecs
1509
1648
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1514,6 +1653,8 @@ export interface components {
1514
1653
  * @description Unix seconds when the operation was accepted.
1515
1654
  */
1516
1655
  createdAtSecs?: number | null;
1656
+ /** @description ``Images2PosedRGBDResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1657
+ response?: components["schemas"]["Images2PosedRGBDResponse"] | null;
1517
1658
  /**
1518
1659
  * Name
1519
1660
  * @description Full resource name for the operation.
@@ -1536,14 +1677,24 @@ export interface components {
1536
1677
  };
1537
1678
  /**
1538
1679
  * ListAssetsResponse
1539
- * @description One page of non-deleted project assets.
1680
+ * @description One page of a project's assets, flat or grouped.
1681
+ *
1682
+ * ``assets`` and ``groups`` are alternatives rather than a pair: a request
1683
+ * that named no ``groupBy`` fills the first and leaves the second empty, and
1684
+ * one that named a grouping does the reverse. The page token pages whichever
1685
+ * of the two was filled, so a grouped page counts groups.
1540
1686
  */
1541
1687
  ListAssetsResponse: {
1542
1688
  /**
1543
1689
  * Assets
1544
- * @description Assets in the selected page.
1690
+ * @description Assets in the selected page. Empty when the request named a grouping.
1545
1691
  */
1546
1692
  assets?: components["schemas"]["Asset"][];
1693
+ /**
1694
+ * Groups
1695
+ * @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.
1696
+ */
1697
+ groups?: components["schemas"]["AssetGroup"][];
1547
1698
  /**
1548
1699
  * Nextpagetoken
1549
1700
  * @description Opaque token for the next page; empty on the final page.
@@ -1552,15 +1703,66 @@ export interface components {
1552
1703
  nextPageToken?: string;
1553
1704
  };
1554
1705
  /**
1555
- * ListOperationsResponse
1706
+ * ListedOperation
1707
+ * @description An operation summary with callback progress; GET it for the result.
1708
+ */
1709
+ ListedOperation: {
1710
+ /**
1711
+ * Id
1712
+ * @description Short operation id used in ``/operations/{operation}`` paths.
1713
+ */
1714
+ id: string;
1715
+ /**
1716
+ * Ownerid
1717
+ * @description Account that owns the operation.
1718
+ */
1719
+ ownerId: string;
1720
+ /**
1721
+ * Metadata
1722
+ * @description Task information and optional progress details. Use ``metadata.task`` to interpret a generic operation response, and use ``done`` to determine completion.
1723
+ */
1724
+ metadata?: {
1725
+ [key: string]: unknown;
1726
+ } | null;
1727
+ /**
1728
+ * Done
1729
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1730
+ */
1731
+ done: boolean;
1732
+ /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1733
+ error?: components["schemas"]["OperationError"] | null;
1734
+ /**
1735
+ * Expiresatsecs
1736
+ * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
1737
+ */
1738
+ expiresAtSecs?: number | null;
1739
+ /**
1740
+ * Createdatsecs
1741
+ * @description Unix seconds when the operation was accepted.
1742
+ */
1743
+ createdAtSecs?: number | null;
1744
+ /** @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. */
1745
+ webhookDelivery?: components["schemas"]["WebhookDeliverySummary"] | null;
1746
+ /**
1747
+ * Name
1748
+ * @description Full resource name for the operation.
1749
+ *
1750
+ * For project operations:
1751
+ * ``accounts/{account}/projects/{project}/operations/{operation}``.
1752
+ * Operation paths accept the short ``id``.
1753
+ */
1754
+ readonly name: string;
1755
+ };
1756
+ /**
1757
+ * ListedOperationsResponse
1556
1758
  * @description A page of operations, newest first.
1557
1759
  */
1558
- ListOperationsResponse: {
1760
+ ListedOperationsResponse: {
1559
1761
  /**
1560
1762
  * Operations
1561
1763
  * @description Operations ordered from newest to oldest.
1562
1764
  */
1563
- operations: components["schemas"]["Operation"][];
1765
+ operations: components["schemas"]["ListedOperation"][];
1564
1766
  /**
1565
1767
  * Nextpagetoken
1566
1768
  * @description Token for the next page; absent when there are no more.
@@ -1589,7 +1791,7 @@ export interface components {
1589
1791
  };
1590
1792
  /**
1591
1793
  * Operation
1592
- * @description The common envelope used to track an asynchronous task.
1794
+ * @description An operation with its result, available through singular reads.
1593
1795
  */
1594
1796
  Operation: {
1595
1797
  /**
@@ -1611,18 +1813,11 @@ export interface components {
1611
1813
  } | null;
1612
1814
  /**
1613
1815
  * Done
1614
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1816
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1615
1817
  */
1616
1818
  done: boolean;
1617
1819
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1618
1820
  error?: components["schemas"]["OperationError"] | null;
1619
- /**
1620
- * Response
1621
- * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1622
- */
1623
- response?: {
1624
- [key: string]: unknown;
1625
- } | null;
1626
1821
  /**
1627
1822
  * Expiresatsecs
1628
1823
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1633,6 +1828,13 @@ export interface components {
1633
1828
  * @description Unix seconds when the operation was accepted.
1634
1829
  */
1635
1830
  createdAtSecs?: number | null;
1831
+ /**
1832
+ * Response
1833
+ * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1834
+ */
1835
+ response?: {
1836
+ [key: string]: unknown;
1837
+ } | null;
1636
1838
  /**
1637
1839
  * Name
1638
1840
  * @description Full resource name for the operation.
@@ -1666,9 +1868,19 @@ export interface components {
1666
1868
  [key: string]: unknown;
1667
1869
  }[];
1668
1870
  };
1871
+ /**
1872
+ * OperationStatus
1873
+ * @description Coarse outcome filter derived from ``done`` and ``error``.
1874
+ *
1875
+ * FAILED is every done operation carrying an error, so cancelled and expired
1876
+ * operations count as failed; ``metadata.state`` keeps the finer lifecycle
1877
+ * value.
1878
+ * @enum {string}
1879
+ */
1880
+ OperationStatus: "RUNNING" | "SUCCEEDED" | "FAILED";
1669
1881
  /**
1670
1882
  * OperationTrace
1671
- * @description Public request/response data without the internal task record or raw LRO.
1883
+ * @description The caller's recorded request beside the Operation's own response and error.
1672
1884
  */
1673
1885
  OperationTrace: {
1674
1886
  /** Operationid */
@@ -1677,14 +1889,22 @@ export interface components {
1677
1889
  taskName: string;
1678
1890
  /** Taskversion */
1679
1891
  taskVersion: string;
1680
- /** Request */
1681
- request: {
1892
+ /**
1893
+ * Request
1894
+ * @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.
1895
+ */
1896
+ request?: {
1682
1897
  [key: string]: unknown;
1683
- };
1684
- /** Response */
1898
+ } | null;
1899
+ /**
1900
+ * Response
1901
+ * @description The Operation's ``response``, served the same way.
1902
+ */
1685
1903
  response?: {
1686
1904
  [key: string]: unknown;
1687
1905
  } | null;
1906
+ /** @description The Operation's ``error``, served the same way. */
1907
+ error?: components["schemas"]["OperationError"] | null;
1688
1908
  };
1689
1909
  /**
1690
1910
  * PinholeCamera
@@ -1790,12 +2010,31 @@ export interface components {
1790
2010
  };
1791
2011
  /**
1792
2012
  * ProducedBy
1793
- * @description The task that produced this asset. Absent on an upload or import.
2013
+ * @description How the asset came to exist.
2014
+ *
2015
+ * Present on every asset whose provenance was recorded. ``producer`` says
2016
+ * which act made it, and the rest qualify that act: ``task`` and
2017
+ * ``operation`` are set only for ``TASK``, and ``applet`` and ``session``
2018
+ * only for work done through the Web API.
1794
2019
  */
1795
2020
  ProducedBy: {
2021
+ /** @description The act that made the asset. */
2022
+ producer: components["schemas"]["AssetProducer"];
2023
+ /** @description The product surface the act came through. */
2024
+ origin?: components["schemas"]["ResourceOrigin"] | null;
2025
+ /**
2026
+ * Applet
2027
+ * @description The applet the asset came from, e.g. ``turntable``. Set for Web API work whose session named one.
2028
+ */
2029
+ applet?: string | null;
2030
+ /**
2031
+ * Session
2032
+ * @description The Web API session the asset was made inside.
2033
+ */
2034
+ session?: string | null;
1796
2035
  /**
1797
2036
  * Task
1798
- * @description The task that produced it, e.g. ``image2DraftSplats``.
2037
+ * @description The task that produced it, e.g. ``atlasGenerate``.
1799
2038
  */
1800
2039
  task?: string | null;
1801
2040
  /**
@@ -1823,8 +2062,8 @@ export interface components {
1823
2062
  renderHw?: number;
1824
2063
  /**
1825
2064
  * Renderhwsecondary
1826
- * @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.
1827
- * @default 640
2065
+ * @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.
2066
+ * @default 256
1828
2067
  */
1829
2068
  renderHwSecondary?: number;
1830
2069
  /**
@@ -1834,6 +2073,13 @@ export interface components {
1834
2073
  * @enum {string}
1835
2074
  */
1836
2075
  normalSource?: "depth" | "render";
2076
+ /**
2077
+ * Depthsource
2078
+ * @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.
2079
+ * @default render
2080
+ * @enum {string}
2081
+ */
2082
+ depthSource?: "render" | "stereo";
1837
2083
  /**
1838
2084
  * Resolution
1839
2085
  * @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.
@@ -1886,6 +2132,16 @@ export interface components {
1886
2132
  * @description Body of a splats2Mesh request.
1887
2133
  */
1888
2134
  Splats2MeshRequest: {
2135
+ /**
2136
+ * Webhookurl
2137
+ * @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.
2138
+ */
2139
+ webhookUrl?: string | null;
2140
+ /**
2141
+ * Purgecontentonoperationcompletion
2142
+ * @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.
2143
+ */
2144
+ purgeContentOnOperationCompletion?: boolean | null;
1889
2145
  /**
1890
2146
  * Cameras
1891
2147
  * @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.
@@ -1965,13 +2221,11 @@ export interface components {
1965
2221
  } | null;
1966
2222
  /**
1967
2223
  * Done
1968
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
2224
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1969
2225
  */
1970
2226
  done: boolean;
1971
2227
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1972
2228
  error?: components["schemas"]["OperationError"] | null;
1973
- /** @description ``Splats2MeshResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1974
- response?: components["schemas"]["Splats2MeshResponse"] | null;
1975
2229
  /**
1976
2230
  * Expiresatsecs
1977
2231
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1982,6 +2236,8 @@ export interface components {
1982
2236
  * @description Unix seconds when the operation was accepted.
1983
2237
  */
1984
2238
  createdAtSecs?: number | null;
2239
+ /** @description ``Splats2MeshResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
2240
+ response?: components["schemas"]["Splats2MeshResponse"] | null;
1985
2241
  /**
1986
2242
  * Name
1987
2243
  * @description Full resource name for the operation.
@@ -1999,7 +2255,9 @@ export interface components {
1999
2255
  * A task response names each output by id and url together: the url expires,
2000
2256
  * the id does not. The pair is accepted as input as well, so a response can
2001
2257
  * be handed straight back to the next task; the id names the media and the
2002
- * url is ignored. Inline base64 is an input form only, and stands alone.
2258
+ * url is ignored. Inline base64 stands alone. A response returns it only
2259
+ * when a task is answered at submission; the stored operation names the
2260
+ * same output by id and url.
2003
2261
  */
2004
2262
  TaskAsset: {
2005
2263
  /**
@@ -2009,7 +2267,7 @@ export interface components {
2009
2267
  assetId?: string | null;
2010
2268
  /**
2011
2269
  * Base64
2012
- * @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.
2270
+ * @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`.
2013
2271
  */
2014
2272
  base64?: string | null;
2015
2273
  /**
@@ -2076,6 +2334,114 @@ export interface components {
2076
2334
  */
2077
2335
  timeoutSecs?: number | null;
2078
2336
  };
2337
+ /**
2338
+ * WebhookDelivery
2339
+ * @description The callback record for one operation.
2340
+ */
2341
+ WebhookDelivery: {
2342
+ /**
2343
+ * Name
2344
+ * @description `accounts/{account}/projects/{project}/operations/{operation}/webhookDelivery`.
2345
+ */
2346
+ name: string;
2347
+ /**
2348
+ * Deliveryid
2349
+ * @description The value sent in the `webhook-id` header; absent while SCHEDULED or PUBLISH_FAILED.
2350
+ */
2351
+ deliveryId?: string | null;
2352
+ /**
2353
+ * Webhookurl
2354
+ * @description The accepted webhookUrl; absent once the operation's content was purged, while the delivery record itself stays.
2355
+ */
2356
+ webhookUrl?: string | null;
2357
+ /**
2358
+ * State
2359
+ * @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.
2360
+ */
2361
+ state: ("SCHEDULED" | "PUBLISH_FAILED") | ("PENDING" | "IN_FLIGHT" | "DELIVERED" | "SUPPRESSED" | "EXHAUSTED");
2362
+ /**
2363
+ * Event
2364
+ * @description The exact event body sent, once the delivery exists.
2365
+ */
2366
+ event?: {
2367
+ [key: string]: unknown;
2368
+ } | null;
2369
+ /**
2370
+ * Attemptcount
2371
+ * @description Sends attempted so far; a claim counts before its outcome.
2372
+ * @default 0
2373
+ */
2374
+ attemptCount?: number;
2375
+ /** Lastattempttime */
2376
+ lastAttemptTime?: string | null;
2377
+ lastAttempt?: components["schemas"]["WebhookDeliveryAttempt"] | null;
2378
+ /**
2379
+ * Nextattempttime
2380
+ * @description Scheduled time of the next attempt while PENDING.
2381
+ */
2382
+ nextAttemptTime?: string | null;
2383
+ /**
2384
+ * Expiretime
2385
+ * @description End of the 24-hour window.
2386
+ */
2387
+ expireTime?: string | null;
2388
+ /**
2389
+ * Finishtime
2390
+ * @description Set when terminal.
2391
+ */
2392
+ finishTime?: string | null;
2393
+ /**
2394
+ * Purgetime
2395
+ * @description Expires 90 days after the webhook service accepted the delivery.
2396
+ */
2397
+ purgeTime?: string | null;
2398
+ /**
2399
+ * Createtime
2400
+ * Format: date-time
2401
+ */
2402
+ createTime: string;
2403
+ /**
2404
+ * Updatetime
2405
+ * Format: date-time
2406
+ */
2407
+ updateTime: string;
2408
+ };
2409
+ /**
2410
+ * WebhookDeliveryAttempt
2411
+ * @description The latest send's outcome; never the receiver's body.
2412
+ */
2413
+ WebhookDeliveryAttempt: {
2414
+ /**
2415
+ * Httpstatus
2416
+ * @description The receiver's status, if it answered.
2417
+ */
2418
+ httpStatus?: number | null;
2419
+ /**
2420
+ * Errorcategory
2421
+ * @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.
2422
+ */
2423
+ errorCategory?: string | null;
2424
+ };
2425
+ /**
2426
+ * WebhookDeliverySummary
2427
+ * @description A listed operation's callback at a glance; its webhookDelivery has the
2428
+ * full record.
2429
+ */
2430
+ WebhookDeliverySummary: {
2431
+ /**
2432
+ * State
2433
+ * @description The state its webhookDelivery answers.
2434
+ */
2435
+ state: ("SCHEDULED" | "PUBLISH_FAILED") | ("PENDING" | "IN_FLIGHT" | "DELIVERED" | "SUPPRESSED" | "EXHAUSTED");
2436
+ /**
2437
+ * Attemptcount
2438
+ * @description Sends attempted so far; a claim counts before its outcome.
2439
+ * @default 0
2440
+ */
2441
+ attemptCount?: number;
2442
+ /** Lastattempttime */
2443
+ lastAttemptTime?: string | null;
2444
+ };
2079
2445
  };
2080
2446
  responses: never;
2081
2447
  parameters: never;
@@ -2085,8 +2451,12 @@ export interface components {
2085
2451
  }
2086
2452
  export type Asset = components['schemas']['Asset'];
2087
2453
  export type AssetCreate = components['schemas']['AssetCreate'];
2454
+ export type AssetGroup = components['schemas']['AssetGroup'];
2455
+ export type AssetGrouping = components['schemas']['AssetGrouping'];
2456
+ export type AssetOrder = components['schemas']['AssetOrder'];
2088
2457
  export type AssetPart = components['schemas']['AssetPart'];
2089
2458
  export type AssetPartDeclaration = components['schemas']['AssetPartDeclaration'];
2459
+ export type AssetProducer = components['schemas']['AssetProducer'];
2090
2460
  export type AssetState = components['schemas']['AssetState'];
2091
2461
  export type AtlasChiselModelParameters = components['schemas']['AtlasChiselModelParameters'];
2092
2462
  export type AtlasChiselRequest = components['schemas']['AtlasChiselRequest'];
@@ -2126,10 +2496,12 @@ export type Images2PosedRGBDResponse = components['schemas']['Images2PosedRGBDRe
2126
2496
  export type Images2PosedRGBDResponseOperation = components['schemas']['Images2PosedRGBDResponseOperation'];
2127
2497
  export type LinearDepthBufferAsset = components['schemas']['LinearDepthBufferAsset'];
2128
2498
  export type ListAssetsResponse = components['schemas']['ListAssetsResponse'];
2129
- export type ListOperationsResponse = components['schemas']['ListOperationsResponse'];
2499
+ export type ListedOperation = components['schemas']['ListedOperation'];
2500
+ export type ListedOperationsResponse = components['schemas']['ListedOperationsResponse'];
2130
2501
  export type LogDepthBufferAsset = components['schemas']['LogDepthBufferAsset'];
2131
2502
  export type Operation = components['schemas']['Operation'];
2132
2503
  export type OperationError = components['schemas']['OperationError'];
2504
+ export type OperationStatus = components['schemas']['OperationStatus'];
2133
2505
  export type OperationTrace = components['schemas']['OperationTrace'];
2134
2506
  export type PinholeCamera = components['schemas']['PinholeCamera'];
2135
2507
  export type PinholeCameraIntrinsics = components['schemas']['PinholeCameraIntrinsics'];
@@ -2148,6 +2520,9 @@ export type TaskAsset = components['schemas']['TaskAsset'];
2148
2520
  export type UploadGrant = components['schemas']['UploadGrant'];
2149
2521
  export type ValidationError = components['schemas']['ValidationError'];
2150
2522
  export type WaitOperationRequest = components['schemas']['WaitOperationRequest'];
2523
+ export type WebhookDelivery = components['schemas']['WebhookDelivery'];
2524
+ export type WebhookDeliveryAttempt = components['schemas']['WebhookDeliveryAttempt'];
2525
+ export type WebhookDeliverySummary = components['schemas']['WebhookDeliverySummary'];
2151
2526
  export type $defs = Record<string, never>;
2152
2527
  export interface operations {
2153
2528
  api_health_api_v2_health_get: {
@@ -2410,6 +2785,14 @@ export interface operations {
2410
2785
  parameters: {
2411
2786
  query?: {
2412
2787
  origin?: components["schemas"]["ResourceOrigin"] | null;
2788
+ /** @description Only operations of this task, as named in metadata.task. */
2789
+ task?: string | null;
2790
+ /** @description Only operations with this outcome. FAILED is every done operation carrying an error, including cancelled and expired ones. */
2791
+ status?: components["schemas"]["OperationStatus"] | null;
2792
+ /** @description Unix seconds; only operations accepted at or after this time. */
2793
+ createdAfter?: number | null;
2794
+ /** @description Unix seconds; only operations accepted before this time. */
2795
+ createdBefore?: number | null;
2413
2796
  pageSize?: number;
2414
2797
  pageToken?: string | null;
2415
2798
  };
@@ -2425,7 +2808,7 @@ export interface operations {
2425
2808
  [name: string]: unknown;
2426
2809
  };
2427
2810
  content: {
2428
- "application/json": components["schemas"]["ListOperationsResponse"];
2811
+ "application/json": components["schemas"]["ListedOperationsResponse"];
2429
2812
  };
2430
2813
  };
2431
2814
  /** @description Validation Error */
@@ -2540,6 +2923,37 @@ export interface operations {
2540
2923
  };
2541
2924
  };
2542
2925
  };
2926
+ get_webhook_delivery_api_v2_operations__operation__webhookDelivery_get: {
2927
+ parameters: {
2928
+ query?: never;
2929
+ header?: never;
2930
+ path: {
2931
+ operation: string;
2932
+ };
2933
+ cookie?: never;
2934
+ };
2935
+ requestBody?: never;
2936
+ responses: {
2937
+ /** @description Successful Response */
2938
+ 200: {
2939
+ headers: {
2940
+ [name: string]: unknown;
2941
+ };
2942
+ content: {
2943
+ "application/json": components["schemas"]["WebhookDelivery"];
2944
+ };
2945
+ };
2946
+ /** @description Validation Error */
2947
+ 422: {
2948
+ headers: {
2949
+ [name: string]: unknown;
2950
+ };
2951
+ content: {
2952
+ "application/json": components["schemas"]["HTTPValidationError"];
2953
+ };
2954
+ };
2955
+ };
2956
+ };
2543
2957
  get_operation_api_v2_operations__operation__get: {
2544
2958
  parameters: {
2545
2959
  query?: {
@@ -2580,6 +2994,22 @@ export interface operations {
2580
2994
  origin?: components["schemas"]["ResourceOrigin"] | null;
2581
2995
  /** @description Filter by state. Omit for all non-deleted states. */
2582
2996
  state?: components["schemas"]["AssetState"] | null;
2997
+ /** @description Only assets made inside this Web API session. */
2998
+ session?: string | null;
2999
+ /** @description Only assets that came from this applet. */
3000
+ applet?: string | null;
3001
+ /** @description Only assets of this media type. A trailing `/*`, as in `image/*`, matches every type in the family. */
3002
+ mimeType?: string | null;
3003
+ /** @description Only assets this Operation produced. */
3004
+ operation?: string | null;
3005
+ /** @description Only assets this task produced, e.g. `atlasGenerate`. */
3006
+ task?: string | null;
3007
+ /** @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. */
3008
+ producer?: components["schemas"]["AssetProducer"] | null;
3009
+ /** @description Collect the assets under what produced them. The page then counts groups rather than assets. */
3010
+ groupBy?: components["schemas"]["AssetGrouping"] | null;
3011
+ /** @description Order of the page. A grouped page orders each group by its leading asset: its newest one descending, its oldest ascending. */
3012
+ orderBy?: components["schemas"]["AssetOrder"];
2583
3013
  pageSize?: number;
2584
3014
  pageToken?: string | null;
2585
3015
  };