@worldlabsai/client 0.2.0 → 0.3.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.
@@ -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,8 +417,14 @@ 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.
@@ -418,6 +441,11 @@ export interface components {
418
441
  * @description User-visible label.
419
442
  */
420
443
  displayName?: string | null;
444
+ /**
445
+ * Session
446
+ * @description The Web API session this upload belongs to. The session must be in the same project; the asset inherits its applet.
447
+ */
448
+ session?: string | null;
421
449
  /**
422
450
  * Type
423
451
  * @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 +474,40 @@ export interface components {
446
474
  */
447
475
  url?: string | null;
448
476
  };
477
+ /**
478
+ * AssetGroup
479
+ * @description The assets one Operation produced, in the page's order.
480
+ */
481
+ AssetGroup: {
482
+ /**
483
+ * Operation
484
+ * @description The Operation that produced them.
485
+ */
486
+ operation: string;
487
+ /**
488
+ * Task
489
+ * @description The task that produced them, e.g. ``image2DraftSplats``.
490
+ */
491
+ task?: string | null;
492
+ /** Assets */
493
+ assets?: components["schemas"]["Asset"][];
494
+ };
495
+ /**
496
+ * AssetGrouping
497
+ * @description What a listing collects its assets under.
498
+ * @enum {string}
499
+ */
500
+ AssetGrouping: "OPERATION";
501
+ /**
502
+ * AssetOrder
503
+ * @description How a listing orders its page.
504
+ *
505
+ * A grouped page orders on each group's leading asset -- its newest running
506
+ * newest-first, its oldest running the other way -- so a group sorts where
507
+ * its nearest asset would have in the flat listing.
508
+ * @enum {string}
509
+ */
510
+ AssetOrder: "CREATE_TIME_DESC" | "CREATE_TIME_ASC";
449
511
  /**
450
512
  * AssetPart
451
513
  * @description One media file belonging to an asset.
@@ -514,7 +576,7 @@ export interface components {
514
576
  contentType: string;
515
577
  /**
516
578
  * Contentlength
517
- * @description Upload size in bytes, serialized on the wire as a string.
579
+ * @description Upload size in bytes, serialized on the wire as a string. Capped at 1 GiB.
518
580
  */
519
581
  contentLength: number;
520
582
  /**
@@ -525,6 +587,16 @@ export interface components {
525
587
  [key: string]: unknown;
526
588
  } | null;
527
589
  };
590
+ /**
591
+ * AssetProducer
592
+ * @description The act that produced an asset.
593
+ *
594
+ * A customer's own bytes are an UPLOAD however they arrived; bytes we
595
+ * fetched from an address they gave us are an IMPORT; a task's output is a
596
+ * TASK.
597
+ * @enum {string}
598
+ */
599
+ AssetProducer: "UPLOAD" | "IMPORT" | "TASK";
528
600
  /**
529
601
  * AssetState
530
602
  * @enum {string}
@@ -541,16 +613,9 @@ export interface components {
541
613
  * @default 42
542
614
  */
543
615
  seed?: number | null;
544
- /**
545
- * Cfg
546
- * @description Classifier-free guidance scale.
547
- * @default 2.5
548
- */
549
- cfg?: number | null;
550
616
  /**
551
617
  * Numsteps
552
- * @description Diffusion step count.
553
- * @default 50
618
+ * @description Diffusion step count. Unset uses the served model's own sampler.
554
619
  */
555
620
  numSteps?: number | null;
556
621
  };
@@ -559,6 +624,16 @@ export interface components {
559
624
  * @description Body of ``POST /api/v2/tasks:atlasChisel``.
560
625
  */
561
626
  AtlasChiselRequest: {
627
+ /**
628
+ * Webhookurl
629
+ * @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.
630
+ */
631
+ webhookUrl?: string | null;
632
+ /**
633
+ * Purgecontentonoperationcompletion
634
+ * @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.
635
+ */
636
+ purgeContentOnOperationCompletion?: boolean | null;
562
637
  /**
563
638
  * Contextframes
564
639
  * @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.
@@ -682,16 +757,9 @@ export interface components {
682
757
  * @default 42
683
758
  */
684
759
  seed?: number | null;
685
- /**
686
- * Cfg
687
- * @description Classifier-free guidance scale.
688
- * @default 2.5
689
- */
690
- cfg?: number | null;
691
760
  /**
692
761
  * Numsteps
693
- * @description Diffusion step count.
694
- * @default 50
762
+ * @description Diffusion step-count override.
695
763
  */
696
764
  numSteps?: number | null;
697
765
  };
@@ -700,6 +768,16 @@ export interface components {
700
768
  * @description Body of ``POST /api/v2/tasks:atlasGenerate``.
701
769
  */
702
770
  AtlasGenerateRequest: {
771
+ /**
772
+ * Webhookurl
773
+ * @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.
774
+ */
775
+ webhookUrl?: string | null;
776
+ /**
777
+ * Purgecontentonoperationcompletion
778
+ * @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.
779
+ */
780
+ purgeContentOnOperationCompletion?: boolean | null;
703
781
  /**
704
782
  * Contextframes
705
783
  * @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.
@@ -813,12 +891,6 @@ export interface components {
813
891
  * @default 42
814
892
  */
815
893
  seed?: number | null;
816
- /**
817
- * Cfg
818
- * @description Classifier-free guidance scale.
819
- * @default 2.5
820
- */
821
- cfg?: number | null;
822
894
  /**
823
895
  * Numsteps
824
896
  * @description Diffusion step count.
@@ -831,6 +903,16 @@ export interface components {
831
903
  * @description Body of ``POST /api/v2/tasks:atlasMasked``.
832
904
  */
833
905
  AtlasMaskedRequest: {
906
+ /**
907
+ * Webhookurl
908
+ * @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.
909
+ */
910
+ webhookUrl?: string | null;
911
+ /**
912
+ * Purgecontentonoperationcompletion
913
+ * @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.
914
+ */
915
+ purgeContentOnOperationCompletion?: boolean | null;
834
916
  /**
835
917
  * Contextframes
836
918
  * @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 +925,13 @@ export interface components {
843
925
  targetCameras: components["schemas"]["PinholeCamera"][];
844
926
  /**
845
927
  * Prompt
846
- * @description Text prompt describing what belongs in the masked region.
928
+ * @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
929
  */
848
930
  prompt?: string | null;
849
931
  /**
850
932
  * 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
933
+ * @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.
934
+ * @default true
853
935
  */
854
936
  enhancePrompt?: boolean;
855
937
  /**
@@ -938,6 +1020,16 @@ export interface components {
938
1020
  * @description Body of ``POST /api/v2/tasks:atlasTextToImage``.
939
1021
  */
940
1022
  AtlasTextToImageRequest: {
1023
+ /**
1024
+ * Webhookurl
1025
+ * @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.
1026
+ */
1027
+ webhookUrl?: string | null;
1028
+ /**
1029
+ * Purgecontentonoperationcompletion
1030
+ * @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.
1031
+ */
1032
+ purgeContentOnOperationCompletion?: boolean | null;
941
1033
  /**
942
1034
  * Prompt
943
1035
  * @description Text prompt to generate from.
@@ -959,11 +1051,6 @@ export interface components {
959
1051
  * @description Optional RNG seed.
960
1052
  */
961
1053
  seed?: number | null;
962
- /**
963
- * Cfg
964
- * @description Classifier-free guidance scale.
965
- */
966
- cfg?: number | null;
967
1054
  /**
968
1055
  * Numsteps
969
1056
  * @description Diffusion step count.
@@ -1255,8 +1342,14 @@ export interface components {
1255
1342
  structure?: {
1256
1343
  [key: string]: unknown;
1257
1344
  } | null;
1258
- /** @description Set when a task produced the asset. */
1345
+ /** @description How the asset came to exist, when that was recorded. */
1259
1346
  producedBy?: components["schemas"]["ProducedBy"] | null;
1347
+ /**
1348
+ * Transient
1349
+ * @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``.
1350
+ * @default false
1351
+ */
1352
+ transient?: boolean;
1260
1353
  /**
1261
1354
  * Contentpath
1262
1355
  * @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.
@@ -1324,7 +1417,7 @@ export interface components {
1324
1417
  contentType: string;
1325
1418
  /**
1326
1419
  * Contentlength
1327
- * @description Expected upload size in bytes, serialized on the wire as a string.
1420
+ * @description Expected upload size in bytes, serialized on the wire as a string. Capped at 1 GiB.
1328
1421
  */
1329
1422
  contentLength: number;
1330
1423
  };
@@ -1439,6 +1532,16 @@ export interface components {
1439
1532
  * @description Body of ``POST /api/v2/tasks:images2PosedRGBD``.
1440
1533
  */
1441
1534
  Images2PosedRGBDRequest: {
1535
+ /**
1536
+ * Webhookurl
1537
+ * @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.
1538
+ */
1539
+ webhookUrl?: string | null;
1540
+ /**
1541
+ * Purgecontentonoperationcompletion
1542
+ * @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.
1543
+ */
1544
+ purgeContentOnOperationCompletion?: boolean | null;
1442
1545
  /**
1443
1546
  * Frames
1444
1547
  * @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 +1565,12 @@ export interface components {
1462
1565
  number,
1463
1566
  number
1464
1567
  ] | null;
1568
+ /**
1569
+ * Refineposes
1570
+ * @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.
1571
+ * @default false
1572
+ */
1573
+ refinePoses?: boolean;
1465
1574
  };
1466
1575
  /**
1467
1576
  * Images2PosedRGBDResponse
@@ -1473,6 +1582,11 @@ export interface components {
1473
1582
  * @description One reconstructed frame per input image, in request order.
1474
1583
  */
1475
1584
  frames: components["schemas"]["Images2PosedRGBDPerImageResult"][];
1585
+ /**
1586
+ * Poserefinementaccepted
1587
+ * @description When refinePoses was requested, whether the refined cameras were kept. False means the original reconstruction was returned; null means refinement was not requested.
1588
+ */
1589
+ poseRefinementAccepted?: boolean | null;
1476
1590
  };
1477
1591
  /**
1478
1592
  * Images2PosedRGBDResponseOperation
@@ -1537,14 +1651,24 @@ export interface components {
1537
1651
  };
1538
1652
  /**
1539
1653
  * ListAssetsResponse
1540
- * @description One page of non-deleted project assets.
1654
+ * @description One page of a project's assets, flat or grouped.
1655
+ *
1656
+ * ``assets`` and ``groups`` are alternatives rather than a pair: a request
1657
+ * that named no ``groupBy`` fills the first and leaves the second empty, and
1658
+ * one that named a grouping does the reverse. The page token pages whichever
1659
+ * of the two was filled, so a grouped page counts groups.
1541
1660
  */
1542
1661
  ListAssetsResponse: {
1543
1662
  /**
1544
1663
  * Assets
1545
- * @description Assets in the selected page.
1664
+ * @description Assets in the selected page. Empty when the request named a grouping.
1546
1665
  */
1547
1666
  assets?: components["schemas"]["Asset"][];
1667
+ /**
1668
+ * Groups
1669
+ * @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.
1670
+ */
1671
+ groups?: components["schemas"]["AssetGroup"][];
1548
1672
  /**
1549
1673
  * Nextpagetoken
1550
1674
  * @description Opaque token for the next page; empty on the final page.
@@ -1553,15 +1677,73 @@ export interface components {
1553
1677
  nextPageToken?: string;
1554
1678
  };
1555
1679
  /**
1556
- * ListOperationsResponse
1680
+ * ListedOperation
1681
+ * @description An Operation as the Marble API lists it: with its callback's progress.
1682
+ */
1683
+ ListedOperation: {
1684
+ /**
1685
+ * Id
1686
+ * @description Short operation id used in ``/operations/{operation}`` paths.
1687
+ */
1688
+ id: string;
1689
+ /**
1690
+ * Ownerid
1691
+ * @description Account that owns the operation.
1692
+ */
1693
+ ownerId: string;
1694
+ /**
1695
+ * Metadata
1696
+ * @description Task information and optional progress details. Use ``metadata.task`` to interpret a generic operation response, and use ``done`` to determine completion.
1697
+ */
1698
+ metadata?: {
1699
+ [key: string]: unknown;
1700
+ } | null;
1701
+ /**
1702
+ * Done
1703
+ * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1704
+ */
1705
+ done: boolean;
1706
+ /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1707
+ error?: components["schemas"]["OperationError"] | null;
1708
+ /**
1709
+ * Response
1710
+ * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1711
+ */
1712
+ response?: {
1713
+ [key: string]: unknown;
1714
+ } | null;
1715
+ /**
1716
+ * Expiresatsecs
1717
+ * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
1718
+ */
1719
+ expiresAtSecs?: number | null;
1720
+ /**
1721
+ * Createdatsecs
1722
+ * @description Unix seconds when the operation was accepted.
1723
+ */
1724
+ createdAtSecs?: number | null;
1725
+ /** @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. */
1726
+ webhookDelivery?: components["schemas"]["WebhookDeliverySummary"] | null;
1727
+ /**
1728
+ * Name
1729
+ * @description Full resource name for the operation.
1730
+ *
1731
+ * For project operations:
1732
+ * ``accounts/{account}/projects/{project}/operations/{operation}``.
1733
+ * Operation paths accept the short ``id``.
1734
+ */
1735
+ readonly name: string;
1736
+ };
1737
+ /**
1738
+ * ListedOperationsResponse
1557
1739
  * @description A page of operations, newest first.
1558
1740
  */
1559
- ListOperationsResponse: {
1741
+ ListedOperationsResponse: {
1560
1742
  /**
1561
1743
  * Operations
1562
1744
  * @description Operations ordered from newest to oldest.
1563
1745
  */
1564
- operations: components["schemas"]["Operation"][];
1746
+ operations: components["schemas"]["ListedOperation"][];
1565
1747
  /**
1566
1748
  * Nextpagetoken
1567
1749
  * @description Token for the next page; absent when there are no more.
@@ -1667,9 +1849,19 @@ export interface components {
1667
1849
  [key: string]: unknown;
1668
1850
  }[];
1669
1851
  };
1852
+ /**
1853
+ * OperationStatus
1854
+ * @description Coarse outcome filter derived from ``done`` and ``error``.
1855
+ *
1856
+ * FAILED is every done operation carrying an error, so cancelled and expired
1857
+ * operations count as failed; ``metadata.state`` keeps the finer lifecycle
1858
+ * value.
1859
+ * @enum {string}
1860
+ */
1861
+ OperationStatus: "RUNNING" | "SUCCEEDED" | "FAILED";
1670
1862
  /**
1671
1863
  * OperationTrace
1672
- * @description Public request/response data without the internal task record or raw LRO.
1864
+ * @description The caller's recorded request beside the Operation's own response and error.
1673
1865
  */
1674
1866
  OperationTrace: {
1675
1867
  /** Operationid */
@@ -1678,14 +1870,22 @@ export interface components {
1678
1870
  taskName: string;
1679
1871
  /** Taskversion */
1680
1872
  taskVersion: string;
1681
- /** Request */
1682
- request: {
1873
+ /**
1874
+ * Request
1875
+ * @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.
1876
+ */
1877
+ request?: {
1683
1878
  [key: string]: unknown;
1684
- };
1685
- /** Response */
1879
+ } | null;
1880
+ /**
1881
+ * Response
1882
+ * @description The Operation's ``response``, served the same way.
1883
+ */
1686
1884
  response?: {
1687
1885
  [key: string]: unknown;
1688
1886
  } | null;
1887
+ /** @description The Operation's ``error``, served the same way. */
1888
+ error?: components["schemas"]["OperationError"] | null;
1689
1889
  };
1690
1890
  /**
1691
1891
  * PinholeCamera
@@ -1791,9 +1991,28 @@ export interface components {
1791
1991
  };
1792
1992
  /**
1793
1993
  * ProducedBy
1794
- * @description The task that produced this asset. Absent on an upload or import.
1994
+ * @description How the asset came to exist.
1995
+ *
1996
+ * Present on every asset whose provenance was recorded. ``producer`` says
1997
+ * which act made it, and the rest qualify that act: ``task`` and
1998
+ * ``operation`` are set only for ``TASK``, and ``applet`` and ``session``
1999
+ * only for work done through the Web API.
1795
2000
  */
1796
2001
  ProducedBy: {
2002
+ /** @description The act that made the asset. */
2003
+ producer: components["schemas"]["AssetProducer"];
2004
+ /** @description The product surface the act came through. */
2005
+ origin?: components["schemas"]["ResourceOrigin"] | null;
2006
+ /**
2007
+ * Applet
2008
+ * @description The applet the asset came from, e.g. ``turntable``. Set for Web API work whose session named one.
2009
+ */
2010
+ applet?: string | null;
2011
+ /**
2012
+ * Session
2013
+ * @description The Web API session the asset was made inside.
2014
+ */
2015
+ session?: string | null;
1797
2016
  /**
1798
2017
  * Task
1799
2018
  * @description The task that produced it, e.g. ``image2DraftSplats``.
@@ -1887,6 +2106,16 @@ export interface components {
1887
2106
  * @description Body of a splats2Mesh request.
1888
2107
  */
1889
2108
  Splats2MeshRequest: {
2109
+ /**
2110
+ * Webhookurl
2111
+ * @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.
2112
+ */
2113
+ webhookUrl?: string | null;
2114
+ /**
2115
+ * Purgecontentonoperationcompletion
2116
+ * @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.
2117
+ */
2118
+ purgeContentOnOperationCompletion?: boolean | null;
1890
2119
  /**
1891
2120
  * Cameras
1892
2121
  * @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.
@@ -2077,6 +2306,114 @@ export interface components {
2077
2306
  */
2078
2307
  timeoutSecs?: number | null;
2079
2308
  };
2309
+ /**
2310
+ * WebhookDelivery
2311
+ * @description The callback record for one operation.
2312
+ */
2313
+ WebhookDelivery: {
2314
+ /**
2315
+ * Name
2316
+ * @description `accounts/{account}/projects/{project}/operations/{operation}/webhookDelivery`.
2317
+ */
2318
+ name: string;
2319
+ /**
2320
+ * Deliveryid
2321
+ * @description The value sent in the `webhook-id` header; absent while SCHEDULED or PUBLISH_FAILED.
2322
+ */
2323
+ deliveryId?: string | null;
2324
+ /**
2325
+ * Webhookurl
2326
+ * @description The accepted webhookUrl; absent once the operation's content was purged, while the delivery record itself stays.
2327
+ */
2328
+ webhookUrl?: string | null;
2329
+ /**
2330
+ * State
2331
+ * @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.
2332
+ */
2333
+ state: ("SCHEDULED" | "PUBLISH_FAILED") | ("PENDING" | "IN_FLIGHT" | "DELIVERED" | "SUPPRESSED" | "EXHAUSTED");
2334
+ /**
2335
+ * Event
2336
+ * @description The exact event body sent, once the delivery exists.
2337
+ */
2338
+ event?: {
2339
+ [key: string]: unknown;
2340
+ } | null;
2341
+ /**
2342
+ * Attemptcount
2343
+ * @description Sends attempted so far; a claim counts before its outcome.
2344
+ * @default 0
2345
+ */
2346
+ attemptCount?: number;
2347
+ /** Lastattempttime */
2348
+ lastAttemptTime?: string | null;
2349
+ lastAttempt?: components["schemas"]["WebhookDeliveryAttempt"] | null;
2350
+ /**
2351
+ * Nextattempttime
2352
+ * @description Scheduled time of the next attempt while PENDING.
2353
+ */
2354
+ nextAttemptTime?: string | null;
2355
+ /**
2356
+ * Expiretime
2357
+ * @description End of the 24-hour window.
2358
+ */
2359
+ expireTime?: string | null;
2360
+ /**
2361
+ * Finishtime
2362
+ * @description Set when terminal.
2363
+ */
2364
+ finishTime?: string | null;
2365
+ /**
2366
+ * Purgetime
2367
+ * @description Expires 90 days after the webhook service accepted the delivery.
2368
+ */
2369
+ purgeTime?: string | null;
2370
+ /**
2371
+ * Createtime
2372
+ * Format: date-time
2373
+ */
2374
+ createTime: string;
2375
+ /**
2376
+ * Updatetime
2377
+ * Format: date-time
2378
+ */
2379
+ updateTime: string;
2380
+ };
2381
+ /**
2382
+ * WebhookDeliveryAttempt
2383
+ * @description The latest send's outcome; never the receiver's body.
2384
+ */
2385
+ WebhookDeliveryAttempt: {
2386
+ /**
2387
+ * Httpstatus
2388
+ * @description The receiver's status, if it answered.
2389
+ */
2390
+ httpStatus?: number | null;
2391
+ /**
2392
+ * Errorcategory
2393
+ * @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.
2394
+ */
2395
+ errorCategory?: string | null;
2396
+ };
2397
+ /**
2398
+ * WebhookDeliverySummary
2399
+ * @description A listed operation's callback at a glance; its webhookDelivery has the
2400
+ * full record.
2401
+ */
2402
+ WebhookDeliverySummary: {
2403
+ /**
2404
+ * State
2405
+ * @description The state its webhookDelivery answers.
2406
+ */
2407
+ state: ("SCHEDULED" | "PUBLISH_FAILED") | ("PENDING" | "IN_FLIGHT" | "DELIVERED" | "SUPPRESSED" | "EXHAUSTED");
2408
+ /**
2409
+ * Attemptcount
2410
+ * @description Sends attempted so far; a claim counts before its outcome.
2411
+ * @default 0
2412
+ */
2413
+ attemptCount?: number;
2414
+ /** Lastattempttime */
2415
+ lastAttemptTime?: string | null;
2416
+ };
2080
2417
  };
2081
2418
  responses: never;
2082
2419
  parameters: never;
@@ -2086,8 +2423,12 @@ export interface components {
2086
2423
  }
2087
2424
  export type Asset = components['schemas']['Asset'];
2088
2425
  export type AssetCreate = components['schemas']['AssetCreate'];
2426
+ export type AssetGroup = components['schemas']['AssetGroup'];
2427
+ export type AssetGrouping = components['schemas']['AssetGrouping'];
2428
+ export type AssetOrder = components['schemas']['AssetOrder'];
2089
2429
  export type AssetPart = components['schemas']['AssetPart'];
2090
2430
  export type AssetPartDeclaration = components['schemas']['AssetPartDeclaration'];
2431
+ export type AssetProducer = components['schemas']['AssetProducer'];
2091
2432
  export type AssetState = components['schemas']['AssetState'];
2092
2433
  export type AtlasChiselModelParameters = components['schemas']['AtlasChiselModelParameters'];
2093
2434
  export type AtlasChiselRequest = components['schemas']['AtlasChiselRequest'];
@@ -2127,10 +2468,12 @@ export type Images2PosedRGBDResponse = components['schemas']['Images2PosedRGBDRe
2127
2468
  export type Images2PosedRGBDResponseOperation = components['schemas']['Images2PosedRGBDResponseOperation'];
2128
2469
  export type LinearDepthBufferAsset = components['schemas']['LinearDepthBufferAsset'];
2129
2470
  export type ListAssetsResponse = components['schemas']['ListAssetsResponse'];
2130
- export type ListOperationsResponse = components['schemas']['ListOperationsResponse'];
2471
+ export type ListedOperation = components['schemas']['ListedOperation'];
2472
+ export type ListedOperationsResponse = components['schemas']['ListedOperationsResponse'];
2131
2473
  export type LogDepthBufferAsset = components['schemas']['LogDepthBufferAsset'];
2132
2474
  export type Operation = components['schemas']['Operation'];
2133
2475
  export type OperationError = components['schemas']['OperationError'];
2476
+ export type OperationStatus = components['schemas']['OperationStatus'];
2134
2477
  export type OperationTrace = components['schemas']['OperationTrace'];
2135
2478
  export type PinholeCamera = components['schemas']['PinholeCamera'];
2136
2479
  export type PinholeCameraIntrinsics = components['schemas']['PinholeCameraIntrinsics'];
@@ -2149,6 +2492,9 @@ export type TaskAsset = components['schemas']['TaskAsset'];
2149
2492
  export type UploadGrant = components['schemas']['UploadGrant'];
2150
2493
  export type ValidationError = components['schemas']['ValidationError'];
2151
2494
  export type WaitOperationRequest = components['schemas']['WaitOperationRequest'];
2495
+ export type WebhookDelivery = components['schemas']['WebhookDelivery'];
2496
+ export type WebhookDeliveryAttempt = components['schemas']['WebhookDeliveryAttempt'];
2497
+ export type WebhookDeliverySummary = components['schemas']['WebhookDeliverySummary'];
2152
2498
  export type $defs = Record<string, never>;
2153
2499
  export interface operations {
2154
2500
  api_health_api_v2_health_get: {
@@ -2411,6 +2757,14 @@ export interface operations {
2411
2757
  parameters: {
2412
2758
  query?: {
2413
2759
  origin?: components["schemas"]["ResourceOrigin"] | null;
2760
+ /** @description Only operations of this task, as named in metadata.task. */
2761
+ task?: string | null;
2762
+ /** @description Only operations with this outcome. FAILED is every done operation carrying an error, including cancelled and expired ones. */
2763
+ status?: components["schemas"]["OperationStatus"] | null;
2764
+ /** @description Unix seconds; only operations accepted at or after this time. */
2765
+ createdAfter?: number | null;
2766
+ /** @description Unix seconds; only operations accepted before this time. */
2767
+ createdBefore?: number | null;
2414
2768
  pageSize?: number;
2415
2769
  pageToken?: string | null;
2416
2770
  };
@@ -2426,7 +2780,7 @@ export interface operations {
2426
2780
  [name: string]: unknown;
2427
2781
  };
2428
2782
  content: {
2429
- "application/json": components["schemas"]["ListOperationsResponse"];
2783
+ "application/json": components["schemas"]["ListedOperationsResponse"];
2430
2784
  };
2431
2785
  };
2432
2786
  /** @description Validation Error */
@@ -2541,6 +2895,37 @@ export interface operations {
2541
2895
  };
2542
2896
  };
2543
2897
  };
2898
+ get_webhook_delivery_api_v2_operations__operation__webhookDelivery_get: {
2899
+ parameters: {
2900
+ query?: never;
2901
+ header?: never;
2902
+ path: {
2903
+ operation: string;
2904
+ };
2905
+ cookie?: never;
2906
+ };
2907
+ requestBody?: never;
2908
+ responses: {
2909
+ /** @description Successful Response */
2910
+ 200: {
2911
+ headers: {
2912
+ [name: string]: unknown;
2913
+ };
2914
+ content: {
2915
+ "application/json": components["schemas"]["WebhookDelivery"];
2916
+ };
2917
+ };
2918
+ /** @description Validation Error */
2919
+ 422: {
2920
+ headers: {
2921
+ [name: string]: unknown;
2922
+ };
2923
+ content: {
2924
+ "application/json": components["schemas"]["HTTPValidationError"];
2925
+ };
2926
+ };
2927
+ };
2928
+ };
2544
2929
  get_operation_api_v2_operations__operation__get: {
2545
2930
  parameters: {
2546
2931
  query?: {
@@ -2581,6 +2966,22 @@ export interface operations {
2581
2966
  origin?: components["schemas"]["ResourceOrigin"] | null;
2582
2967
  /** @description Filter by state. Omit for all non-deleted states. */
2583
2968
  state?: components["schemas"]["AssetState"] | null;
2969
+ /** @description Only assets made inside this Web API session. */
2970
+ session?: string | null;
2971
+ /** @description Only assets that came from this applet. */
2972
+ applet?: string | null;
2973
+ /** @description Only assets of this media type. A trailing `/*`, as in `image/*`, matches every type in the family. */
2974
+ mimeType?: string | null;
2975
+ /** @description Only assets this Operation produced. */
2976
+ operation?: string | null;
2977
+ /** @description Only assets this task produced, e.g. `image2DraftSplats`. */
2978
+ task?: string | null;
2979
+ /** @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. */
2980
+ producer?: components["schemas"]["AssetProducer"] | null;
2981
+ /** @description Collect the assets under what produced them. The page then counts groups rather than assets. */
2982
+ groupBy?: components["schemas"]["AssetGrouping"] | null;
2983
+ /** @description Order of the page. A grouped page orders each group by its leading asset: its newest one descending, its oldest ascending. */
2984
+ orderBy?: components["schemas"]["AssetOrder"];
2584
2985
  pageSize?: number;
2585
2986
  pageToken?: string | null;
2586
2987
  };