@eyepop.ai/eyepop 3.26.0-rc.2 → 3.27.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.
@@ -64,6 +64,13 @@ interface Prediction extends StreamTime {
64
64
  source_url?: string;
65
65
  source_type?: string;
66
66
  system_timestamp?: number;
67
+ /**
68
+ * Compute units the frame's remote calls (a VLM ability's calls to vlm-server) used, in whole units. Absent
69
+ * when they used none, as for a local model.
70
+ */
71
+ compute_units?: number;
72
+ /** The same in milli compute units; from prediction version 4. */
73
+ milli_compute_units?: number;
67
74
  objects?: Array<PredictedObject>;
68
75
  classes?: Array<PredictedClass>;
69
76
  texts?: Array<PredictedText>;
@@ -665,6 +672,16 @@ interface InferRequest {
665
672
  refresh?: boolean;
666
673
  transform_into?: TransformInto;
667
674
  response_schema?: ResponseSchema;
675
+ /**
676
+ * Auto-label task. The worker derives the prompt and output schema from the task and
677
+ * `prompts`, so `text_prompt`, `transform_into` and `response_schema` must be unset.
678
+ * Object detection returns `objects`, image classification `classes`, each labeled with a
679
+ * prompt's label. A task takes one image. Leave `config.max_new_tokens` unset to use the
680
+ * worker's default, which leaves room for a detection answer.
681
+ */
682
+ task?: AutoAnnotateTask;
683
+ /** Labels and what each one means, for `task`; required with a task. */
684
+ prompts?: AutoAnnotatePrompt[];
668
685
  }
669
686
  interface EvaluateFilter {
670
687
  partitions?: string[];
@@ -742,17 +759,45 @@ declare enum VlmAbilityStatus {
742
759
  draft = "draft",
743
760
  published = "published"
744
761
  }
762
+ /**
763
+ * The model a user-defined VLM ability runs on. `qwen3` (the default when neither `model` nor
764
+ * `worker_release` is set) runs on EyePop's GPUs; `gpt_6_astra` and `gemini_4_argon` call a remote model.
765
+ */
766
+ type VlmModel = 'qwen3' | 'gpt_6_astra' | 'gemini_4_argon';
767
+ /** The VLM worker release each {@link VlmModel} runs on. */
768
+ declare const VLM_MODEL_WORKER_RELEASES: Readonly<Record<VlmModel, string>>;
745
769
  interface AbilityAliasEntry {
746
770
  alias: string;
747
771
  tag: string;
748
772
  }
773
+ /**
774
+ * A VLM ability runs in one of two modes:
775
+ * - free-form: `text_prompt`, optionally with `transform_into` and `response_schema`;
776
+ * - task: `task` with a non-empty `prompts`. The worker derives the prompt and output schema
777
+ * from them, as for {@link InferRequest.task}, so `text_prompt`, `transform_into` and
778
+ * `response_schema` must be unset.
779
+ *
780
+ * `DataEndpoint.createVlmAbility` refuses a create that mixes the two or has neither.
781
+ */
749
782
  interface VlmAbilityCreate {
750
783
  name: string;
751
784
  description: string;
752
- worker_release: string;
753
- text_prompt: string;
754
- transform_into: TransformInto;
785
+ /**
786
+ * @deprecated Use `model`. Still accepted when it names the release of a {@link VlmModel}
787
+ * (`qwen3_instruct`, `gpt-6-astra` or `gemini-4-argon`, compared lowercase with `_` as `-`),
788
+ * and it must then agree with `model` if both are set.
789
+ */
790
+ worker_release?: string;
791
+ /** The model the ability runs on; the Dataset API defaults to `qwen3`. */
792
+ model?: VlmModel;
793
+ /** The prompt of a free-form ability; required unless `task` is set. */
794
+ text_prompt?: string;
795
+ transform_into?: TransformInto;
755
796
  response_schema?: ResponseSchema;
797
+ /** Auto-label task; see {@link InferRequest.task}. Excludes `text_prompt`, `transform_into` and `response_schema`. */
798
+ task?: AutoAnnotateTask;
799
+ /** Labels and what each one means, for `task`; required and non-empty with a task. */
800
+ prompts?: AutoAnnotatePrompt[];
756
801
  config: InferRuntimeConfig;
757
802
  is_public: boolean;
758
803
  video_chunk_length_ns?: number;
@@ -761,10 +806,19 @@ interface VlmAbilityCreate {
761
806
  interface VlmAbilityUpdate {
762
807
  name?: string;
763
808
  description?: string;
809
+ /**
810
+ * @deprecated Use `model`. Still accepted when it names the release of a {@link VlmModel}
811
+ * (`qwen3_instruct`, `gpt-6-astra` or `gemini-4-argon`, compared lowercase with `_` as `-`),
812
+ * and it must then agree with `model` if both are set.
813
+ */
764
814
  worker_release?: string;
815
+ /** The model the ability runs on; left out, the stored model is kept. */
816
+ model?: VlmModel;
765
817
  text_prompt?: string;
766
818
  transform_into?: TransformInto;
767
819
  response_schema?: ResponseSchema;
820
+ task?: AutoAnnotateTask;
821
+ prompts?: AutoAnnotatePrompt[];
768
822
  config?: InferRuntimeConfig;
769
823
  is_public?: boolean;
770
824
  video_chunk_length_ns?: number;
@@ -780,10 +834,19 @@ interface VlmAbility {
780
834
  name: string;
781
835
  description: string;
782
836
  vlm_ability_group_uuid?: string;
837
+ /** @deprecated Use `model`. The worker release the ability runs on, as stored. */
783
838
  worker_release?: string;
839
+ /**
840
+ * The model the ability runs on; `null` for a legacy worker release that is none of the
841
+ * {@link VlmModel}s. `DataEndpoint` derives it from `worker_release` when the Dataset API does not
842
+ * send it (`qwen3` when the release is unset), and reads a model this SDK does not know as `null`.
843
+ */
844
+ model?: VlmModel | null;
784
845
  text_prompt?: string;
785
846
  transform_into?: TransformInto;
786
847
  response_schema?: ResponseSchema;
848
+ task?: AutoAnnotateTask;
849
+ prompts?: AutoAnnotatePrompt[];
787
850
  config?: InferRuntimeConfig;
788
851
  video_chunk_length_ns?: number;
789
852
  video_chunk_overlap?: number;
@@ -990,6 +1053,12 @@ interface AssetUuidSource {
990
1053
  type Source = FileSource | StreamSource | PathSource | UrlSource | AssetUuidSource | MediaStreamSource;
991
1054
  interface ResultStream extends AsyncIterable<Prediction> {
992
1055
  cancel(): void;
1056
+ /**
1057
+ * What the stream's remote calls (a VLM ability's calls to vlm-server) used so far, in milli compute units:
1058
+ * a running total while it runs, its total once it ended. Undefined until reported, and where a backend does
1059
+ * not report it; a local model reports none. Informational: the called API bills its calls itself.
1060
+ */
1061
+ readonly milliComputeUnits?: number | undefined;
993
1062
  }
994
1063
  declare enum PopComponentType {
995
1064
  FORWARD = "forward",
@@ -1315,9 +1384,15 @@ interface Options {
1315
1384
  */
1316
1385
  apiKey?: string | undefined;
1317
1386
  /**
1318
- * Bearer token accepted by the compute API.
1387
+ * Bearer token accepted by the compute API: a login token, which the SDK exchanges at the
1388
+ * compute API, or an already exchanged token, which it uses as is.
1319
1389
  */
1320
1390
  accessToken?: string | undefined;
1391
+ /**
1392
+ * The account a login token (`accessToken` or `oAuth2`) is exchanged for, sent to the compute API
1393
+ * as `account_uuid`. Needed when the user has no single account to pick.
1394
+ */
1395
+ accountId?: string | undefined;
1321
1396
  /**
1322
1397
  * Temporary authentication token for client side execution.
1323
1398
  */
@@ -1415,6 +1490,7 @@ declare class Endpoint<T extends Endpoint<T>> {
1415
1490
  protected _options: Options;
1416
1491
  private _token;
1417
1492
  private _expire_token_time;
1493
+ private _exchanging;
1418
1494
  protected _client: HttpClient | null;
1419
1495
  private _statusRetryHandlers;
1420
1496
  protected _limit: Semaphore;
@@ -1435,11 +1511,19 @@ declare class Endpoint<T extends Endpoint<T>> {
1435
1511
  connect(): Promise<T>;
1436
1512
  disconnect(wait?: boolean): Promise<void>;
1437
1513
  session(): Promise<Session>;
1438
- protected statusHandler401(_statusCode: number): void;
1514
+ protected statusHandler401(_statusCode: number, failedToken?: string | null): void;
1439
1515
  protected fetchWithRetry(fetcher: () => Promise<Response>, retries?: number): Promise<Response>;
1440
1516
  protected reconnect(): Promise<T>;
1441
1517
  protected authorizationHeader(): Promise<string>;
1518
+ private exchange;
1519
+ private storeExchangedToken;
1520
+ /**
1521
+ * A token that already carries an account, or that the compute API refuses to exchange
1522
+ * (see NOT_EXCHANGEABLE), is used as is. Any other refusal is raised.
1523
+ */
1524
+ private exchangeLoginToken;
1442
1525
  private currentAccessToken;
1526
+ private authenticate;
1443
1527
  }
1444
1528
 
1445
1529
  /**
@@ -1625,9 +1709,15 @@ declare class InferAssetJob implements ResultStream {
1625
1709
  protected _inferRequest: InferRequest;
1626
1710
  protected _response: Promise<Prediction[]> | null;
1627
1711
  protected _runInfo: InferRunInfo | null;
1712
+ protected _milliComputeUnits: number | undefined;
1628
1713
  protected _controller: AbortController;
1629
1714
  protected _requestLogger: Logger;
1630
1715
  [Symbol.asyncIterator](): AsyncIterator<Prediction>;
1716
+ /**
1717
+ * The milli compute units vlm-server billed for the inference, 0 on a cache hit; undefined before it answered
1718
+ * or when it reported none.
1719
+ */
1720
+ get milliComputeUnits(): number | undefined;
1631
1721
  constructor(assetUrl: string, inferRequest: InferRequest, vlmFetch: VlmFetch, requestLogger: Logger);
1632
1722
  start(done: () => void): InferAssetJob;
1633
1723
  cancel(): void;
@@ -1651,6 +1741,60 @@ declare class EyePopDataWebSocketError extends Error {
1651
1741
  readonly sourceError: unknown;
1652
1742
  constructor(url: string, event: unknown);
1653
1743
  }
1744
+ /** Why `createVlmAbility` or `updateVlmAbility` refused an ability's mode fields. */
1745
+ declare enum VlmAbilityModeErrorReason {
1746
+ /** Neither a non-empty `text_prompt` nor `task` is set (create only). */
1747
+ missing_mode = "missing_mode",
1748
+ /** `task` is not an `AutoAnnotateTask`. */
1749
+ unknown_task = "unknown_task",
1750
+ /** `task` or `prompts` is set together with `text_prompt`, `transform_into` or `response_schema`. */
1751
+ task_excludes_free_form = "task_excludes_free_form",
1752
+ /** `task` is set without `prompts` (create only). */
1753
+ task_without_prompts = "task_without_prompts",
1754
+ /** `prompts` is set without `task` (create only). */
1755
+ prompts_without_task = "prompts_without_task",
1756
+ /** `prompts` is empty or not a list. */
1757
+ empty_prompts = "empty_prompts",
1758
+ /** An entry of `prompts` lacks a non-empty `label` or `prompt`. */
1759
+ invalid_prompt = "invalid_prompt"
1760
+ }
1761
+ /** Thrown, before any request, for a VLM ability that is neither free-form nor a task, or mixes them. */
1762
+ declare class VlmAbilityModeError extends Error {
1763
+ readonly reason: VlmAbilityModeErrorReason;
1764
+ /** The fields at fault, for example the free-form fields set next to a task, or `prompts[0]`. */
1765
+ readonly fields: string[];
1766
+ constructor(reason: VlmAbilityModeErrorReason, message: string, fields?: string[]);
1767
+ }
1768
+ /** Why `createVlmAbility` or `updateVlmAbility` refused an ability's `model` or `worker_release`. */
1769
+ declare enum VlmAbilityModelErrorReason {
1770
+ /** `model` is not a {@link VlmModel}. */
1771
+ unknown_model = "unknown_model",
1772
+ /** `worker_release` is not the release of a {@link VlmModel}. */
1773
+ unknown_worker_release = "unknown_worker_release",
1774
+ /** `model` and `worker_release` are both set and name different models. */
1775
+ model_conflict = "model_conflict"
1776
+ }
1777
+ /** Thrown, before any request, for a VLM ability whose `model` or deprecated `worker_release` the Dataset API would refuse. */
1778
+ declare class VlmAbilityModelError extends Error {
1779
+ readonly reason: VlmAbilityModelErrorReason;
1780
+ /** The fields at fault: `model`, `worker_release` or both. */
1781
+ readonly fields: string[];
1782
+ constructor(reason: VlmAbilityModelErrorReason, message: string, fields?: string[]);
1783
+ }
1784
+ /** The model of an ability that names neither `model` nor `worker_release`. */
1785
+ declare const DEFAULT_VLM_MODEL: VlmModel;
1786
+ /**
1787
+ * The comparable form of a worker release name: lowercase, `_` replaced by `-`.
1788
+ * `qwen3_instruct` and `Qwen3-Instruct` both normalize to `qwen3-instruct`.
1789
+ */
1790
+ declare function normalizeWorkerRelease(workerRelease: string): string;
1791
+ /** The model a worker release runs: `qwen3` for `null` or `undefined`, `null` for a release that is no model's. */
1792
+ declare function modelForWorkerRelease(workerRelease: string | null | undefined): VlmModel | null;
1793
+ /**
1794
+ * The worker release to store for an ability: the canonical release of the model the fields name,
1795
+ * `qwen3_instruct` when neither is set. Throws a {@link VlmAbilityModelError} like `createVlmAbility` does.
1796
+ */
1797
+ declare function resolveWorkerRelease(model: VlmModel | null | undefined, workerRelease: string | null | undefined): string;
1654
1798
  declare class DataEndpoint extends Endpoint<DataEndpoint> {
1655
1799
  private datasetApiUrl;
1656
1800
  private vlmApiUrl;
@@ -2101,8 +2245,13 @@ declare class PipelineJob implements ResultStream {
2101
2245
  readonly whenCancelled: Promise<void>;
2102
2246
  openSource: OpenSource | null;
2103
2247
  stopOnPipeline: (() => void) | null;
2248
+ private _milliComputeUnits;
2104
2249
  constructor(source: Message, media: Media[], live: boolean, params: ProcessParams, mediaStream?: MediaStream | undefined);
2105
2250
  get cancelled(): boolean;
2251
+ /** The source's milli compute units: the latest total of its `usage` messages and its `end`. */
2252
+ get milliComputeUnits(): number | undefined;
2253
+ /** Keep a usage's or an end's milliComputeUnits: each carries the source's total so far. */
2254
+ noteMilliComputeUnits(message: Message): void;
2106
2255
  command(id: string): Message;
2107
2256
  predicted(prediction: Prediction): void;
2108
2257
  finish(error?: Error | null): void;
@@ -2315,4 +2464,4 @@ declare namespace EyePop {
2315
2464
  function dataEndpoint(opts?: DataOptions): DataEndpoint;
2316
2465
  }
2317
2466
 
2318
- export { type AbilityAliasEntry, AbstractJob, type AccessTokenAuth, type AliasResolution, type Annotation, AnnotationInclusionMode, AnnotationType, type ApiKeyAuth, type Area, AreaType, ArtifactType, type Asset, type AssetImport, AssetInclusionMode, AssetStatus, AssetUrlType, type AssetUuidSource, type Auth0Options, type Authentication, type AutoAnnotate, type AutoAnnotateParams, type AutoAnnotatePrompt, AutoAnnotateStatus, AutoAnnotateTask, type AutoPromptConfig, type AutoTask, type BaseArea, type BaseComponent, type BaseTask, type Box, COMBINED_UPLOAD_MAX_BYTES, type Camera, type CameraDistortion, type CameraExtrinsics, type CameraIntrinsics, type ChangeEvent, ChangeType, type ClassificationTask, type CloudBounds, type CloudBox, type ComponentFinderComponent, type ComponentParams, ComputeAccountMismatchError, ComputeApiError, type Contour, type ContourArea, type ContourFinderComponent, ContourType, type CreateWorkflow, type CreateWorkflowConfig, DEFAULT_PREDICTION_VERSION, DataApiType, DataEndpoint, type DataOptions, type DataSession, type Dataset, type DatasetAutoAnnotate, type DatasetAutoAnnotateCreate, type DatasetAutoAnnotateUpdate, type DatasetCreate, type DatasetHeroAssetUpdate, type DatasetParent, type DatasetUpdate, type DatasetVersion, type DatasetVersionAssetStats, type Depth, DepthMap, type DepthSemantic, type DownloadResponse, Endpoint, EndpointState, type EvaluateConfig, type EvaluateFilter, type EvaluateRequest, type EvaluateResponse, type EvaluateRunInfo, EvaluationStatus, ExportedBy, EyePop, EyePopDataWebSocketError, EyepopLineDecoder, type FileSource, type ForwardComponent, ForwardOperatorType, type HttpClient, type InferRequest, type InferRunInfo, type InferRuntimeConfig, type InferenceComponent, InferenceType, type ListWorkFlowItem, type ListWorkFlowItemMetadata, type ListWorkflowItemMetadataLabels, LoadFromAssetUuidJob, LoadFromGroupJob, LoadFromJob, LoadMediaStreamJob, type LocalAuth, MAX_OPEN_SOURCES, type Mask, type MediaStreamSource, type Model, type ModelCreate, type ModelExport, ModelExportStatus, ModelFormat, type ModelMetrics, ModelPrecisionType, type ModelSample, ModelStatus, ModelTask, type ModelTrainingProgress, ModelTrainingStage, ModelType, type ModelUpdate, type MotionDetectConfig, MotionModel, type MultipartContent, type MultipartPart, type OAuth2Auth, type OnChangeEvent, type Options, PIPELINE_PATH, PIPELINE_SOCKETS, type PathSource, PipelineBackend, PipelineCommandError, PipelineConfigurationError, type PipelineConfigurationProblem, PipelineJob, PipelineSocketClosedError, PipelineSourceError, type PlatformSupport, type Point2d, type Point3d, PointCloud, type Pop, type PopComponent, PopComponentType, type PopCrop, type PopDepthMap, type PopForward, type PopForwardOperator, type PopSelect, type PredictedClass, type PredictedEmbedding, type PredictedKeyPoint, type PredictedKeyPoints, type PredictedMesh, type PredictedMotion, type PredictedObject, type PredictedText, type Prediction, PredictionVersion, type ProcessParams, type ProcessRequest, QUATERNION_TOLERANCE, type QcAiHubExportParams, type Quaternion, type RectangleArea, type ResponseSchema, type ResultStream, type Roi, SUBPROTOCOL, SelectMode, Semaphore, type Session, type SessionAuth, SessionBackend, type Source, type SourceDefaults, Stream, type StreamEvent, type StreamSource, type StreamTime, TaskMode, TaskType, type TimeSpan, type TrackingComponent, TranscodeMode, type TransformInto, TransientPopId, UploadGroupJob, UploadJob, type UploadSource, type UrlSource, UserReview, type Vector3, type Vector3d, VideoMode, type VlmAbility, type VlmAbilityCreate, type VlmAbilityGroup, type VlmAbilityGroupCreate, type VlmAbilityGroupUpdate, VlmAbilityStatus, type VlmAbilityUpdate, WebrtcBase, WebrtcWhep, WebrtcWhip, type WorkerBackend, type WorkerContext, WorkerEndpoint, type WorkerOptions, type WorkerSession, type WorkerWork, type Workflow, WorkflowPhase, accessTokenCredential, apiKeyCredential, cloudOfDepth, cloudOfObject, cloudsOfPrediction, decodeDepthMap, decodePointCloud, EyePop as default, encodeMultipartFormData, getBaseUrl, isSelectOperator, popSelects, randomMultipartBoundary, readableStreamFromString, resolveAuth, validateCamera, validatePop };
2467
+ export { type AbilityAliasEntry, AbstractJob, type AccessTokenAuth, type AliasResolution, type Annotation, AnnotationInclusionMode, AnnotationType, type ApiKeyAuth, type Area, AreaType, ArtifactType, type Asset, type AssetImport, AssetInclusionMode, AssetStatus, AssetUrlType, type AssetUuidSource, type Auth0Options, type Authentication, type AutoAnnotate, type AutoAnnotateParams, type AutoAnnotatePrompt, AutoAnnotateStatus, AutoAnnotateTask, type AutoPromptConfig, type AutoTask, type BaseArea, type BaseComponent, type BaseTask, type Box, COMBINED_UPLOAD_MAX_BYTES, type Camera, type CameraDistortion, type CameraExtrinsics, type CameraIntrinsics, type ChangeEvent, ChangeType, type ClassificationTask, type CloudBounds, type CloudBox, type ComponentFinderComponent, type ComponentParams, ComputeAccountMismatchError, ComputeApiError, type Contour, type ContourArea, type ContourFinderComponent, ContourType, type CreateWorkflow, type CreateWorkflowConfig, DEFAULT_PREDICTION_VERSION, DEFAULT_VLM_MODEL, DataApiType, DataEndpoint, type DataOptions, type DataSession, type Dataset, type DatasetAutoAnnotate, type DatasetAutoAnnotateCreate, type DatasetAutoAnnotateUpdate, type DatasetCreate, type DatasetHeroAssetUpdate, type DatasetParent, type DatasetUpdate, type DatasetVersion, type DatasetVersionAssetStats, type Depth, DepthMap, type DepthSemantic, type DownloadResponse, Endpoint, EndpointState, type EvaluateConfig, type EvaluateFilter, type EvaluateRequest, type EvaluateResponse, type EvaluateRunInfo, EvaluationStatus, ExportedBy, EyePop, EyePopDataWebSocketError, EyepopLineDecoder, type FileSource, type ForwardComponent, ForwardOperatorType, type HttpClient, type InferRequest, type InferRunInfo, type InferRuntimeConfig, type InferenceComponent, InferenceType, type ListWorkFlowItem, type ListWorkFlowItemMetadata, type ListWorkflowItemMetadataLabels, LoadFromAssetUuidJob, LoadFromGroupJob, LoadFromJob, LoadMediaStreamJob, type LocalAuth, MAX_OPEN_SOURCES, type Mask, type MediaStreamSource, type Model, type ModelCreate, type ModelExport, ModelExportStatus, ModelFormat, type ModelMetrics, ModelPrecisionType, type ModelSample, ModelStatus, ModelTask, type ModelTrainingProgress, ModelTrainingStage, ModelType, type ModelUpdate, type MotionDetectConfig, MotionModel, type MultipartContent, type MultipartPart, type OAuth2Auth, type OnChangeEvent, type Options, PIPELINE_PATH, PIPELINE_SOCKETS, type PathSource, PipelineBackend, PipelineCommandError, PipelineConfigurationError, type PipelineConfigurationProblem, PipelineJob, PipelineSocketClosedError, PipelineSourceError, type PlatformSupport, type Point2d, type Point3d, PointCloud, type Pop, type PopComponent, PopComponentType, type PopCrop, type PopDepthMap, type PopForward, type PopForwardOperator, type PopSelect, type PredictedClass, type PredictedEmbedding, type PredictedKeyPoint, type PredictedKeyPoints, type PredictedMesh, type PredictedMotion, type PredictedObject, type PredictedText, type Prediction, PredictionVersion, type ProcessParams, type ProcessRequest, QUATERNION_TOLERANCE, type QcAiHubExportParams, type Quaternion, type RectangleArea, type ResponseSchema, type ResultStream, type Roi, SUBPROTOCOL, SelectMode, Semaphore, type Session, type SessionAuth, SessionBackend, type Source, type SourceDefaults, Stream, type StreamEvent, type StreamSource, type StreamTime, TaskMode, TaskType, type TimeSpan, type TrackingComponent, TranscodeMode, type TransformInto, TransientPopId, UploadGroupJob, UploadJob, type UploadSource, type UrlSource, UserReview, VLM_MODEL_WORKER_RELEASES, type Vector3, type Vector3d, VideoMode, type VlmAbility, type VlmAbilityCreate, type VlmAbilityGroup, type VlmAbilityGroupCreate, type VlmAbilityGroupUpdate, VlmAbilityModeError, VlmAbilityModeErrorReason, VlmAbilityModelError, VlmAbilityModelErrorReason, VlmAbilityStatus, type VlmAbilityUpdate, type VlmModel, WebrtcBase, WebrtcWhep, WebrtcWhip, type WorkerBackend, type WorkerContext, WorkerEndpoint, type WorkerOptions, type WorkerSession, type WorkerWork, type Workflow, WorkflowPhase, accessTokenCredential, apiKeyCredential, cloudOfDepth, cloudOfObject, cloudsOfPrediction, decodeDepthMap, decodePointCloud, EyePop as default, encodeMultipartFormData, getBaseUrl, isSelectOperator, modelForWorkerRelease, normalizeWorkerRelease, popSelects, randomMultipartBoundary, readableStreamFromString, resolveAuth, resolveWorkerRelease, validateCamera, validatePop };
@@ -64,6 +64,13 @@ interface Prediction extends StreamTime {
64
64
  source_url?: string;
65
65
  source_type?: string;
66
66
  system_timestamp?: number;
67
+ /**
68
+ * Compute units the frame's remote calls (a VLM ability's calls to vlm-server) used, in whole units. Absent
69
+ * when they used none, as for a local model.
70
+ */
71
+ compute_units?: number;
72
+ /** The same in milli compute units; from prediction version 4. */
73
+ milli_compute_units?: number;
67
74
  objects?: Array<PredictedObject>;
68
75
  classes?: Array<PredictedClass>;
69
76
  texts?: Array<PredictedText>;
@@ -665,6 +672,16 @@ interface InferRequest {
665
672
  refresh?: boolean;
666
673
  transform_into?: TransformInto;
667
674
  response_schema?: ResponseSchema;
675
+ /**
676
+ * Auto-label task. The worker derives the prompt and output schema from the task and
677
+ * `prompts`, so `text_prompt`, `transform_into` and `response_schema` must be unset.
678
+ * Object detection returns `objects`, image classification `classes`, each labeled with a
679
+ * prompt's label. A task takes one image. Leave `config.max_new_tokens` unset to use the
680
+ * worker's default, which leaves room for a detection answer.
681
+ */
682
+ task?: AutoAnnotateTask;
683
+ /** Labels and what each one means, for `task`; required with a task. */
684
+ prompts?: AutoAnnotatePrompt[];
668
685
  }
669
686
  interface EvaluateFilter {
670
687
  partitions?: string[];
@@ -742,17 +759,45 @@ declare enum VlmAbilityStatus {
742
759
  draft = "draft",
743
760
  published = "published"
744
761
  }
762
+ /**
763
+ * The model a user-defined VLM ability runs on. `qwen3` (the default when neither `model` nor
764
+ * `worker_release` is set) runs on EyePop's GPUs; `gpt_6_astra` and `gemini_4_argon` call a remote model.
765
+ */
766
+ type VlmModel = 'qwen3' | 'gpt_6_astra' | 'gemini_4_argon';
767
+ /** The VLM worker release each {@link VlmModel} runs on. */
768
+ declare const VLM_MODEL_WORKER_RELEASES: Readonly<Record<VlmModel, string>>;
745
769
  interface AbilityAliasEntry {
746
770
  alias: string;
747
771
  tag: string;
748
772
  }
773
+ /**
774
+ * A VLM ability runs in one of two modes:
775
+ * - free-form: `text_prompt`, optionally with `transform_into` and `response_schema`;
776
+ * - task: `task` with a non-empty `prompts`. The worker derives the prompt and output schema
777
+ * from them, as for {@link InferRequest.task}, so `text_prompt`, `transform_into` and
778
+ * `response_schema` must be unset.
779
+ *
780
+ * `DataEndpoint.createVlmAbility` refuses a create that mixes the two or has neither.
781
+ */
749
782
  interface VlmAbilityCreate {
750
783
  name: string;
751
784
  description: string;
752
- worker_release: string;
753
- text_prompt: string;
754
- transform_into: TransformInto;
785
+ /**
786
+ * @deprecated Use `model`. Still accepted when it names the release of a {@link VlmModel}
787
+ * (`qwen3_instruct`, `gpt-6-astra` or `gemini-4-argon`, compared lowercase with `_` as `-`),
788
+ * and it must then agree with `model` if both are set.
789
+ */
790
+ worker_release?: string;
791
+ /** The model the ability runs on; the Dataset API defaults to `qwen3`. */
792
+ model?: VlmModel;
793
+ /** The prompt of a free-form ability; required unless `task` is set. */
794
+ text_prompt?: string;
795
+ transform_into?: TransformInto;
755
796
  response_schema?: ResponseSchema;
797
+ /** Auto-label task; see {@link InferRequest.task}. Excludes `text_prompt`, `transform_into` and `response_schema`. */
798
+ task?: AutoAnnotateTask;
799
+ /** Labels and what each one means, for `task`; required and non-empty with a task. */
800
+ prompts?: AutoAnnotatePrompt[];
756
801
  config: InferRuntimeConfig;
757
802
  is_public: boolean;
758
803
  video_chunk_length_ns?: number;
@@ -761,10 +806,19 @@ interface VlmAbilityCreate {
761
806
  interface VlmAbilityUpdate {
762
807
  name?: string;
763
808
  description?: string;
809
+ /**
810
+ * @deprecated Use `model`. Still accepted when it names the release of a {@link VlmModel}
811
+ * (`qwen3_instruct`, `gpt-6-astra` or `gemini-4-argon`, compared lowercase with `_` as `-`),
812
+ * and it must then agree with `model` if both are set.
813
+ */
764
814
  worker_release?: string;
815
+ /** The model the ability runs on; left out, the stored model is kept. */
816
+ model?: VlmModel;
765
817
  text_prompt?: string;
766
818
  transform_into?: TransformInto;
767
819
  response_schema?: ResponseSchema;
820
+ task?: AutoAnnotateTask;
821
+ prompts?: AutoAnnotatePrompt[];
768
822
  config?: InferRuntimeConfig;
769
823
  is_public?: boolean;
770
824
  video_chunk_length_ns?: number;
@@ -780,10 +834,19 @@ interface VlmAbility {
780
834
  name: string;
781
835
  description: string;
782
836
  vlm_ability_group_uuid?: string;
837
+ /** @deprecated Use `model`. The worker release the ability runs on, as stored. */
783
838
  worker_release?: string;
839
+ /**
840
+ * The model the ability runs on; `null` for a legacy worker release that is none of the
841
+ * {@link VlmModel}s. `DataEndpoint` derives it from `worker_release` when the Dataset API does not
842
+ * send it (`qwen3` when the release is unset), and reads a model this SDK does not know as `null`.
843
+ */
844
+ model?: VlmModel | null;
784
845
  text_prompt?: string;
785
846
  transform_into?: TransformInto;
786
847
  response_schema?: ResponseSchema;
848
+ task?: AutoAnnotateTask;
849
+ prompts?: AutoAnnotatePrompt[];
787
850
  config?: InferRuntimeConfig;
788
851
  video_chunk_length_ns?: number;
789
852
  video_chunk_overlap?: number;
@@ -990,6 +1053,12 @@ interface AssetUuidSource {
990
1053
  type Source = FileSource | StreamSource | PathSource | UrlSource | AssetUuidSource | MediaStreamSource;
991
1054
  interface ResultStream extends AsyncIterable<Prediction> {
992
1055
  cancel(): void;
1056
+ /**
1057
+ * What the stream's remote calls (a VLM ability's calls to vlm-server) used so far, in milli compute units:
1058
+ * a running total while it runs, its total once it ended. Undefined until reported, and where a backend does
1059
+ * not report it; a local model reports none. Informational: the called API bills its calls itself.
1060
+ */
1061
+ readonly milliComputeUnits?: number | undefined;
993
1062
  }
994
1063
  declare enum PopComponentType {
995
1064
  FORWARD = "forward",
@@ -1315,9 +1384,15 @@ interface Options {
1315
1384
  */
1316
1385
  apiKey?: string | undefined;
1317
1386
  /**
1318
- * Bearer token accepted by the compute API.
1387
+ * Bearer token accepted by the compute API: a login token, which the SDK exchanges at the
1388
+ * compute API, or an already exchanged token, which it uses as is.
1319
1389
  */
1320
1390
  accessToken?: string | undefined;
1391
+ /**
1392
+ * The account a login token (`accessToken` or `oAuth2`) is exchanged for, sent to the compute API
1393
+ * as `account_uuid`. Needed when the user has no single account to pick.
1394
+ */
1395
+ accountId?: string | undefined;
1321
1396
  /**
1322
1397
  * Temporary authentication token for client side execution.
1323
1398
  */
@@ -1415,6 +1490,7 @@ declare class Endpoint<T extends Endpoint<T>> {
1415
1490
  protected _options: Options;
1416
1491
  private _token;
1417
1492
  private _expire_token_time;
1493
+ private _exchanging;
1418
1494
  protected _client: HttpClient | null;
1419
1495
  private _statusRetryHandlers;
1420
1496
  protected _limit: Semaphore;
@@ -1435,11 +1511,19 @@ declare class Endpoint<T extends Endpoint<T>> {
1435
1511
  connect(): Promise<T>;
1436
1512
  disconnect(wait?: boolean): Promise<void>;
1437
1513
  session(): Promise<Session>;
1438
- protected statusHandler401(_statusCode: number): void;
1514
+ protected statusHandler401(_statusCode: number, failedToken?: string | null): void;
1439
1515
  protected fetchWithRetry(fetcher: () => Promise<Response>, retries?: number): Promise<Response>;
1440
1516
  protected reconnect(): Promise<T>;
1441
1517
  protected authorizationHeader(): Promise<string>;
1518
+ private exchange;
1519
+ private storeExchangedToken;
1520
+ /**
1521
+ * A token that already carries an account, or that the compute API refuses to exchange
1522
+ * (see NOT_EXCHANGEABLE), is used as is. Any other refusal is raised.
1523
+ */
1524
+ private exchangeLoginToken;
1442
1525
  private currentAccessToken;
1526
+ private authenticate;
1443
1527
  }
1444
1528
 
1445
1529
  /**
@@ -1625,9 +1709,15 @@ declare class InferAssetJob implements ResultStream {
1625
1709
  protected _inferRequest: InferRequest;
1626
1710
  protected _response: Promise<Prediction[]> | null;
1627
1711
  protected _runInfo: InferRunInfo | null;
1712
+ protected _milliComputeUnits: number | undefined;
1628
1713
  protected _controller: AbortController;
1629
1714
  protected _requestLogger: Logger;
1630
1715
  [Symbol.asyncIterator](): AsyncIterator<Prediction>;
1716
+ /**
1717
+ * The milli compute units vlm-server billed for the inference, 0 on a cache hit; undefined before it answered
1718
+ * or when it reported none.
1719
+ */
1720
+ get milliComputeUnits(): number | undefined;
1631
1721
  constructor(assetUrl: string, inferRequest: InferRequest, vlmFetch: VlmFetch, requestLogger: Logger);
1632
1722
  start(done: () => void): InferAssetJob;
1633
1723
  cancel(): void;
@@ -1651,6 +1741,60 @@ declare class EyePopDataWebSocketError extends Error {
1651
1741
  readonly sourceError: unknown;
1652
1742
  constructor(url: string, event: unknown);
1653
1743
  }
1744
+ /** Why `createVlmAbility` or `updateVlmAbility` refused an ability's mode fields. */
1745
+ declare enum VlmAbilityModeErrorReason {
1746
+ /** Neither a non-empty `text_prompt` nor `task` is set (create only). */
1747
+ missing_mode = "missing_mode",
1748
+ /** `task` is not an `AutoAnnotateTask`. */
1749
+ unknown_task = "unknown_task",
1750
+ /** `task` or `prompts` is set together with `text_prompt`, `transform_into` or `response_schema`. */
1751
+ task_excludes_free_form = "task_excludes_free_form",
1752
+ /** `task` is set without `prompts` (create only). */
1753
+ task_without_prompts = "task_without_prompts",
1754
+ /** `prompts` is set without `task` (create only). */
1755
+ prompts_without_task = "prompts_without_task",
1756
+ /** `prompts` is empty or not a list. */
1757
+ empty_prompts = "empty_prompts",
1758
+ /** An entry of `prompts` lacks a non-empty `label` or `prompt`. */
1759
+ invalid_prompt = "invalid_prompt"
1760
+ }
1761
+ /** Thrown, before any request, for a VLM ability that is neither free-form nor a task, or mixes them. */
1762
+ declare class VlmAbilityModeError extends Error {
1763
+ readonly reason: VlmAbilityModeErrorReason;
1764
+ /** The fields at fault, for example the free-form fields set next to a task, or `prompts[0]`. */
1765
+ readonly fields: string[];
1766
+ constructor(reason: VlmAbilityModeErrorReason, message: string, fields?: string[]);
1767
+ }
1768
+ /** Why `createVlmAbility` or `updateVlmAbility` refused an ability's `model` or `worker_release`. */
1769
+ declare enum VlmAbilityModelErrorReason {
1770
+ /** `model` is not a {@link VlmModel}. */
1771
+ unknown_model = "unknown_model",
1772
+ /** `worker_release` is not the release of a {@link VlmModel}. */
1773
+ unknown_worker_release = "unknown_worker_release",
1774
+ /** `model` and `worker_release` are both set and name different models. */
1775
+ model_conflict = "model_conflict"
1776
+ }
1777
+ /** Thrown, before any request, for a VLM ability whose `model` or deprecated `worker_release` the Dataset API would refuse. */
1778
+ declare class VlmAbilityModelError extends Error {
1779
+ readonly reason: VlmAbilityModelErrorReason;
1780
+ /** The fields at fault: `model`, `worker_release` or both. */
1781
+ readonly fields: string[];
1782
+ constructor(reason: VlmAbilityModelErrorReason, message: string, fields?: string[]);
1783
+ }
1784
+ /** The model of an ability that names neither `model` nor `worker_release`. */
1785
+ declare const DEFAULT_VLM_MODEL: VlmModel;
1786
+ /**
1787
+ * The comparable form of a worker release name: lowercase, `_` replaced by `-`.
1788
+ * `qwen3_instruct` and `Qwen3-Instruct` both normalize to `qwen3-instruct`.
1789
+ */
1790
+ declare function normalizeWorkerRelease(workerRelease: string): string;
1791
+ /** The model a worker release runs: `qwen3` for `null` or `undefined`, `null` for a release that is no model's. */
1792
+ declare function modelForWorkerRelease(workerRelease: string | null | undefined): VlmModel | null;
1793
+ /**
1794
+ * The worker release to store for an ability: the canonical release of the model the fields name,
1795
+ * `qwen3_instruct` when neither is set. Throws a {@link VlmAbilityModelError} like `createVlmAbility` does.
1796
+ */
1797
+ declare function resolveWorkerRelease(model: VlmModel | null | undefined, workerRelease: string | null | undefined): string;
1654
1798
  declare class DataEndpoint extends Endpoint<DataEndpoint> {
1655
1799
  private datasetApiUrl;
1656
1800
  private vlmApiUrl;
@@ -2101,8 +2245,13 @@ declare class PipelineJob implements ResultStream {
2101
2245
  readonly whenCancelled: Promise<void>;
2102
2246
  openSource: OpenSource | null;
2103
2247
  stopOnPipeline: (() => void) | null;
2248
+ private _milliComputeUnits;
2104
2249
  constructor(source: Message, media: Media[], live: boolean, params: ProcessParams, mediaStream?: MediaStream | undefined);
2105
2250
  get cancelled(): boolean;
2251
+ /** The source's milli compute units: the latest total of its `usage` messages and its `end`. */
2252
+ get milliComputeUnits(): number | undefined;
2253
+ /** Keep a usage's or an end's milliComputeUnits: each carries the source's total so far. */
2254
+ noteMilliComputeUnits(message: Message): void;
2106
2255
  command(id: string): Message;
2107
2256
  predicted(prediction: Prediction): void;
2108
2257
  finish(error?: Error | null): void;
@@ -2315,4 +2464,4 @@ declare namespace EyePop {
2315
2464
  function dataEndpoint(opts?: DataOptions): DataEndpoint;
2316
2465
  }
2317
2466
 
2318
- export { type AbilityAliasEntry, AbstractJob, type AccessTokenAuth, type AliasResolution, type Annotation, AnnotationInclusionMode, AnnotationType, type ApiKeyAuth, type Area, AreaType, ArtifactType, type Asset, type AssetImport, AssetInclusionMode, AssetStatus, AssetUrlType, type AssetUuidSource, type Auth0Options, type Authentication, type AutoAnnotate, type AutoAnnotateParams, type AutoAnnotatePrompt, AutoAnnotateStatus, AutoAnnotateTask, type AutoPromptConfig, type AutoTask, type BaseArea, type BaseComponent, type BaseTask, type Box, COMBINED_UPLOAD_MAX_BYTES, type Camera, type CameraDistortion, type CameraExtrinsics, type CameraIntrinsics, type ChangeEvent, ChangeType, type ClassificationTask, type CloudBounds, type CloudBox, type ComponentFinderComponent, type ComponentParams, ComputeAccountMismatchError, ComputeApiError, type Contour, type ContourArea, type ContourFinderComponent, ContourType, type CreateWorkflow, type CreateWorkflowConfig, DEFAULT_PREDICTION_VERSION, DataApiType, DataEndpoint, type DataOptions, type DataSession, type Dataset, type DatasetAutoAnnotate, type DatasetAutoAnnotateCreate, type DatasetAutoAnnotateUpdate, type DatasetCreate, type DatasetHeroAssetUpdate, type DatasetParent, type DatasetUpdate, type DatasetVersion, type DatasetVersionAssetStats, type Depth, DepthMap, type DepthSemantic, type DownloadResponse, Endpoint, EndpointState, type EvaluateConfig, type EvaluateFilter, type EvaluateRequest, type EvaluateResponse, type EvaluateRunInfo, EvaluationStatus, ExportedBy, EyePop, EyePopDataWebSocketError, EyepopLineDecoder, type FileSource, type ForwardComponent, ForwardOperatorType, type HttpClient, type InferRequest, type InferRunInfo, type InferRuntimeConfig, type InferenceComponent, InferenceType, type ListWorkFlowItem, type ListWorkFlowItemMetadata, type ListWorkflowItemMetadataLabels, LoadFromAssetUuidJob, LoadFromGroupJob, LoadFromJob, LoadMediaStreamJob, type LocalAuth, MAX_OPEN_SOURCES, type Mask, type MediaStreamSource, type Model, type ModelCreate, type ModelExport, ModelExportStatus, ModelFormat, type ModelMetrics, ModelPrecisionType, type ModelSample, ModelStatus, ModelTask, type ModelTrainingProgress, ModelTrainingStage, ModelType, type ModelUpdate, type MotionDetectConfig, MotionModel, type MultipartContent, type MultipartPart, type OAuth2Auth, type OnChangeEvent, type Options, PIPELINE_PATH, PIPELINE_SOCKETS, type PathSource, PipelineBackend, PipelineCommandError, PipelineConfigurationError, type PipelineConfigurationProblem, PipelineJob, PipelineSocketClosedError, PipelineSourceError, type PlatformSupport, type Point2d, type Point3d, PointCloud, type Pop, type PopComponent, PopComponentType, type PopCrop, type PopDepthMap, type PopForward, type PopForwardOperator, type PopSelect, type PredictedClass, type PredictedEmbedding, type PredictedKeyPoint, type PredictedKeyPoints, type PredictedMesh, type PredictedMotion, type PredictedObject, type PredictedText, type Prediction, PredictionVersion, type ProcessParams, type ProcessRequest, QUATERNION_TOLERANCE, type QcAiHubExportParams, type Quaternion, type RectangleArea, type ResponseSchema, type ResultStream, type Roi, SUBPROTOCOL, SelectMode, Semaphore, type Session, type SessionAuth, SessionBackend, type Source, type SourceDefaults, Stream, type StreamEvent, type StreamSource, type StreamTime, TaskMode, TaskType, type TimeSpan, type TrackingComponent, TranscodeMode, type TransformInto, TransientPopId, UploadGroupJob, UploadJob, type UploadSource, type UrlSource, UserReview, type Vector3, type Vector3d, VideoMode, type VlmAbility, type VlmAbilityCreate, type VlmAbilityGroup, type VlmAbilityGroupCreate, type VlmAbilityGroupUpdate, VlmAbilityStatus, type VlmAbilityUpdate, WebrtcBase, WebrtcWhep, WebrtcWhip, type WorkerBackend, type WorkerContext, WorkerEndpoint, type WorkerOptions, type WorkerSession, type WorkerWork, type Workflow, WorkflowPhase, accessTokenCredential, apiKeyCredential, cloudOfDepth, cloudOfObject, cloudsOfPrediction, decodeDepthMap, decodePointCloud, EyePop as default, encodeMultipartFormData, getBaseUrl, isSelectOperator, popSelects, randomMultipartBoundary, readableStreamFromString, resolveAuth, validateCamera, validatePop };
2467
+ export { type AbilityAliasEntry, AbstractJob, type AccessTokenAuth, type AliasResolution, type Annotation, AnnotationInclusionMode, AnnotationType, type ApiKeyAuth, type Area, AreaType, ArtifactType, type Asset, type AssetImport, AssetInclusionMode, AssetStatus, AssetUrlType, type AssetUuidSource, type Auth0Options, type Authentication, type AutoAnnotate, type AutoAnnotateParams, type AutoAnnotatePrompt, AutoAnnotateStatus, AutoAnnotateTask, type AutoPromptConfig, type AutoTask, type BaseArea, type BaseComponent, type BaseTask, type Box, COMBINED_UPLOAD_MAX_BYTES, type Camera, type CameraDistortion, type CameraExtrinsics, type CameraIntrinsics, type ChangeEvent, ChangeType, type ClassificationTask, type CloudBounds, type CloudBox, type ComponentFinderComponent, type ComponentParams, ComputeAccountMismatchError, ComputeApiError, type Contour, type ContourArea, type ContourFinderComponent, ContourType, type CreateWorkflow, type CreateWorkflowConfig, DEFAULT_PREDICTION_VERSION, DEFAULT_VLM_MODEL, DataApiType, DataEndpoint, type DataOptions, type DataSession, type Dataset, type DatasetAutoAnnotate, type DatasetAutoAnnotateCreate, type DatasetAutoAnnotateUpdate, type DatasetCreate, type DatasetHeroAssetUpdate, type DatasetParent, type DatasetUpdate, type DatasetVersion, type DatasetVersionAssetStats, type Depth, DepthMap, type DepthSemantic, type DownloadResponse, Endpoint, EndpointState, type EvaluateConfig, type EvaluateFilter, type EvaluateRequest, type EvaluateResponse, type EvaluateRunInfo, EvaluationStatus, ExportedBy, EyePop, EyePopDataWebSocketError, EyepopLineDecoder, type FileSource, type ForwardComponent, ForwardOperatorType, type HttpClient, type InferRequest, type InferRunInfo, type InferRuntimeConfig, type InferenceComponent, InferenceType, type ListWorkFlowItem, type ListWorkFlowItemMetadata, type ListWorkflowItemMetadataLabels, LoadFromAssetUuidJob, LoadFromGroupJob, LoadFromJob, LoadMediaStreamJob, type LocalAuth, MAX_OPEN_SOURCES, type Mask, type MediaStreamSource, type Model, type ModelCreate, type ModelExport, ModelExportStatus, ModelFormat, type ModelMetrics, ModelPrecisionType, type ModelSample, ModelStatus, ModelTask, type ModelTrainingProgress, ModelTrainingStage, ModelType, type ModelUpdate, type MotionDetectConfig, MotionModel, type MultipartContent, type MultipartPart, type OAuth2Auth, type OnChangeEvent, type Options, PIPELINE_PATH, PIPELINE_SOCKETS, type PathSource, PipelineBackend, PipelineCommandError, PipelineConfigurationError, type PipelineConfigurationProblem, PipelineJob, PipelineSocketClosedError, PipelineSourceError, type PlatformSupport, type Point2d, type Point3d, PointCloud, type Pop, type PopComponent, PopComponentType, type PopCrop, type PopDepthMap, type PopForward, type PopForwardOperator, type PopSelect, type PredictedClass, type PredictedEmbedding, type PredictedKeyPoint, type PredictedKeyPoints, type PredictedMesh, type PredictedMotion, type PredictedObject, type PredictedText, type Prediction, PredictionVersion, type ProcessParams, type ProcessRequest, QUATERNION_TOLERANCE, type QcAiHubExportParams, type Quaternion, type RectangleArea, type ResponseSchema, type ResultStream, type Roi, SUBPROTOCOL, SelectMode, Semaphore, type Session, type SessionAuth, SessionBackend, type Source, type SourceDefaults, Stream, type StreamEvent, type StreamSource, type StreamTime, TaskMode, TaskType, type TimeSpan, type TrackingComponent, TranscodeMode, type TransformInto, TransientPopId, UploadGroupJob, UploadJob, type UploadSource, type UrlSource, UserReview, VLM_MODEL_WORKER_RELEASES, type Vector3, type Vector3d, VideoMode, type VlmAbility, type VlmAbilityCreate, type VlmAbilityGroup, type VlmAbilityGroupCreate, type VlmAbilityGroupUpdate, VlmAbilityModeError, VlmAbilityModeErrorReason, VlmAbilityModelError, VlmAbilityModelErrorReason, VlmAbilityStatus, type VlmAbilityUpdate, type VlmModel, WebrtcBase, WebrtcWhep, WebrtcWhip, type WorkerBackend, type WorkerContext, WorkerEndpoint, type WorkerOptions, type WorkerSession, type WorkerWork, type Workflow, WorkflowPhase, accessTokenCredential, apiKeyCredential, cloudOfDepth, cloudOfObject, cloudsOfPrediction, decodeDepthMap, decodePointCloud, EyePop as default, encodeMultipartFormData, getBaseUrl, isSelectOperator, modelForWorkerRelease, normalizeWorkerRelease, popSelects, randomMultipartBoundary, readableStreamFromString, resolveAuth, resolveWorkerRelease, validateCamera, validatePop };