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