@eyepop.ai/eyepop 3.23.0 → 3.25.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.
@@ -952,6 +952,11 @@ interface WorkerSession extends Session {
952
952
  * Transient sessions may not have a pipeline until the first source is processed.
953
953
  */
954
954
  readonly pipelineId: string | undefined;
955
+ /**
956
+ * Whether this session's endpoint runs in pipeline mode, without a worker session. A worker
957
+ * endpoint created from this session runs in pipeline mode too.
958
+ */
959
+ readonly isPipelineMode?: boolean | undefined;
955
960
  authenticationHeaders(): any;
956
961
  }
957
962
  declare enum VideoMode {
@@ -1465,32 +1470,102 @@ interface WorkerOptions extends Options {
1465
1470
  autoStart?: boolean;
1466
1471
  stopJobs?: boolean;
1467
1472
  isLocalMode?: boolean;
1473
+ /**
1474
+ * Run the endpoint's jobs on the pipeline API's socket instead of a worker session. The
1475
+ * compute API at `eyepopUrl` names the pipeline API in its `/v1/configs`; with `isLocalMode`,
1476
+ * `eyepopUrl` is the pipeline API itself. Takes no option that names a session or a pop id.
1477
+ * Defaults to process.env['EYEPOP_PIPELINE_MODE'].
1478
+ */
1479
+ isPipelineMode?: boolean;
1468
1480
  }
1469
1481
 
1482
+ /**
1483
+ * What a job runs, whatever backend runs it: one source, or a group of paths, streams or urls
1484
+ * run as one inference unit, with its parameters.
1485
+ */
1486
+ type WorkerWork = {
1487
+ readonly kind: 'source';
1488
+ readonly source: Source;
1489
+ readonly params: ProcessParams;
1490
+ } | {
1491
+ readonly kind: 'uploadGroup';
1492
+ readonly paths: string[];
1493
+ readonly params: ProcessParams;
1494
+ } | {
1495
+ readonly kind: 'uploadStreamGroup';
1496
+ readonly streams: Array<ReadableStream<Uint8Array> | Blob | BufferSource>;
1497
+ readonly mimeTypes: string[] | undefined;
1498
+ readonly params: ProcessParams;
1499
+ } | {
1500
+ readonly kind: 'loadFromGroup';
1501
+ readonly urls: string[];
1502
+ readonly params: ProcessParams;
1503
+ };
1504
+ /** What a backend may use of its endpoint: the options, the HTTP client, the credential and the job queue. */
1505
+ interface WorkerContext {
1506
+ readonly options: WorkerOptions;
1507
+ readonly logger: Logger;
1508
+ readonly requestLogger: Logger;
1509
+ client(): HttpClient | null;
1510
+ /** The job queue; a backend acquires a permit per job and releases it through `jobDone`. */
1511
+ limit(): Semaphore;
1512
+ jobDone(): void;
1513
+ updateState(state?: EndpointState, message?: string): void;
1514
+ eyepopUrl(): string;
1515
+ eyepopWebApiUrl(): string;
1516
+ /** `Bearer <token>` for the endpoint's own credential, exchanged and refreshed as needed; `Implicit` locally. */
1517
+ credentialHeader(): Promise<string>;
1518
+ /** Forget the endpoint's token, so the next `credentialHeader` authenticates again. */
1519
+ forgetCredential(): void;
1520
+ fetchWithRetry(fetcher: () => Promise<Response>, retries?: number): Promise<Response>;
1521
+ /** The endpoint's credential as a session. */
1522
+ credentialSession(): Promise<{
1523
+ eyepopUrl: string;
1524
+ accessToken: string;
1525
+ validUntil: number;
1526
+ }>;
1527
+ }
1528
+ /**
1529
+ * What runs a WorkerEndpoint's jobs: a worker session, or the pipeline API's socket. The endpoint
1530
+ * owns the public methods and their checks, the credential, the HTTP client and the job queue; it
1531
+ * hands each job to its backend as a WorkerWork.
1532
+ */
1533
+ interface WorkerBackend {
1534
+ /** Reach whatever runs jobs; called when the endpoint connects. */
1535
+ reconnect(): Promise<void>;
1536
+ /**
1537
+ * Release it when the endpoint disconnects. `closeEndpoint` waits for the endpoint's jobs (when
1538
+ * asked to) and closes its HTTP client; the backend calls it before or after releasing its own.
1539
+ */
1540
+ disconnect(closeEndpoint: () => Promise<void>): Promise<void>;
1541
+ session(): Promise<WorkerSession>;
1542
+ pop(): Pop | null;
1543
+ popName(): string | null;
1544
+ changePop(pop: Pop): Promise<void>;
1545
+ /** Start the work and return its predictions; the backend holds a job queue permit until it ends. */
1546
+ submit(work: WorkerWork): Promise<ResultStream>;
1547
+ /** A request answered with this status; a session backend forgets what it no longer reaches. */
1548
+ onStatus(statusCode: number): void;
1549
+ /** The endpoint's Authorization header for the worker's routes. */
1550
+ authorizationHeader(): Promise<string>;
1551
+ }
1552
+
1553
+ /**
1554
+ * Endpoint to an EyePop.ai worker. Its jobs run on a backend: a worker session by default, or with
1555
+ * `isPipelineMode` the pipeline API's socket. The methods are the same either way; a backend that
1556
+ * cannot honour an option says so.
1557
+ */
1470
1558
  declare class WorkerEndpoint extends Endpoint<WorkerEndpoint> {
1471
- private _baseUrl;
1472
- private _pipelineId;
1473
- private _popName;
1474
- private _sessionAccessToken;
1475
- private _sessionAccessTokenValidUntil;
1476
- private _accountId;
1477
- private _pipeline;
1478
- private _pipelineCreatePromise;
1559
+ private readonly _backend;
1479
1560
  constructor(options: WorkerOptions);
1480
1561
  private options;
1562
+ /** What runs this endpoint's jobs. */
1563
+ backend(): WorkerBackend;
1481
1564
  disconnect(wait?: boolean): Promise<void>;
1482
- protected statusHandler404(_: number): void;
1483
1565
  session(): Promise<WorkerSession>;
1484
1566
  popName(): string | null;
1485
1567
  pop(): Pop | null;
1486
- /**
1487
- * A select forward's results come only at V3. Only a Pop that selects asks
1488
- * for it, so a worker too old to know V3 - which also rejects that Pop - is
1489
- * never sent a version it would not accept.
1490
- */
1491
- private predictionVersion;
1492
1568
  changePop(pop: Pop): Promise<void>;
1493
- private _authenticationHeaders;
1494
1569
  /**
1495
1570
  * @deprecated Pop ids are only retained for backwards compatibility.
1496
1571
  * Configure transient sessions with `WorkerOptions.pop`.
@@ -1513,41 +1588,20 @@ declare class WorkerEndpoint extends Endpoint<WorkerEndpoint> {
1513
1588
  * @param roi
1514
1589
  */
1515
1590
  process({ source, componentParams, motionDetect, roi }: ProcessRequest): Promise<ResultStream>;
1516
- private processV1;
1517
1591
  /**
1518
1592
  * Reject a source's calibration before any work is started for it.
1519
1593
  *
1520
- * Called by every entry point that takes ProcessParams rather than at the
1521
- * one boundary they share, because they have none: the group methods build
1522
- * their jobs directly instead of going through processV2. It runs before
1523
- * the concurrency limit is acquired, so a request that can never be sent
1594
+ * Called by every entry point that takes ProcessParams, before the
1595
+ * concurrency limit is acquired, so a request that can never be sent
1524
1596
  * does not hold a slot.
1525
1597
  */
1526
1598
  private validateProcessParams;
1527
- private processV2;
1528
1599
  uploadGroup(paths: string[], params?: ProcessParams): Promise<ResultStream>;
1529
1600
  uploadStreamGroup(streams: Array<ReadableStream<Uint8Array> | Blob | BufferSource>, mimeTypes?: string[], params?: ProcessParams): Promise<ResultStream>;
1530
1601
  loadFromGroup(urls: string[], params?: ProcessParams): Promise<ResultStream>;
1531
- private uploadFile;
1532
- private uploadStream;
1533
- private uploadPath;
1534
- private loadFrom;
1535
- private loadFromAssetUuid;
1536
- private loadMediaStream;
1537
- private jobDone;
1538
- private jobStatus;
1602
+ private submit;
1539
1603
  protected reconnect(): Promise<WorkerEndpoint>;
1540
- private startWebApiSessionWithPopId;
1541
- private static WAIT_FOR_IS_READY;
1542
- private sessionReadyTimeoutMs;
1543
- private getComputeSession;
1544
- private startTransientPipeline;
1545
- private ensureTransientPipelineStarted;
1546
- private changeTransientPop;
1547
- private deleteTransientPipeline;
1548
1604
  protected authorizationHeader(): Promise<string>;
1549
- private computeAuthorizationHeader;
1550
- private setTransientPipelinePop;
1551
1605
  }
1552
1606
 
1553
1607
  interface DataOptions extends Options {
@@ -1905,6 +1959,203 @@ declare class ComputeAccountMismatchError extends Error {
1905
1959
  constructor(sessionUuid: string, sessionAccountId: string | undefined, accountId: string);
1906
1960
  }
1907
1961
 
1962
+ /** Runs jobs on a worker session: a compute API session, or a named pop found through its config. */
1963
+ declare class SessionBackend implements WorkerBackend {
1964
+ private readonly ctx;
1965
+ private _baseUrl;
1966
+ private _pipelineId;
1967
+ private _popName;
1968
+ private _sessionAccessToken;
1969
+ private _sessionAccessTokenValidUntil;
1970
+ private _accountId;
1971
+ private _pipeline;
1972
+ private _pipelineCreatePromise;
1973
+ constructor(ctx: WorkerContext);
1974
+ disconnect(closeEndpoint: () => Promise<void>): Promise<void>;
1975
+ private deleteOwnPipeline;
1976
+ onStatus(statusCode: number): void;
1977
+ session(): Promise<WorkerSession>;
1978
+ popName(): string | null;
1979
+ pop(): Pop | null;
1980
+ /**
1981
+ * A select forward's results come only at V3. Only a Pop that selects asks
1982
+ * for it, so a worker too old to know V3 - which also rejects that Pop - is
1983
+ * never sent a version it would not accept.
1984
+ */
1985
+ private predictionVersion;
1986
+ changePop(pop: Pop): Promise<void>;
1987
+ private _authenticationHeaders;
1988
+ submit(work: WorkerWork): Promise<ResultStream>;
1989
+ private process;
1990
+ private start;
1991
+ private uploadGroup;
1992
+ private uploadStreamGroup;
1993
+ private loadFromGroup;
1994
+ private resolvePath;
1995
+ /** Start a job once the transient pipeline runs and a queue permit is held; the permit is released if it cannot start. */
1996
+ private startConnected;
1997
+ private uploadFile;
1998
+ private uploadStream;
1999
+ private uploadPath;
2000
+ private loadFrom;
2001
+ private loadFromAssetUuid;
2002
+ private loadMediaStream;
2003
+ reconnect(): Promise<void>;
2004
+ private startWebApiSessionWithPopId;
2005
+ private static WAIT_FOR_IS_READY;
2006
+ private sessionReadyTimeoutMs;
2007
+ private getComputeSession;
2008
+ private startTransientPipeline;
2009
+ private ensureTransientPipelineStarted;
2010
+ private changeTransientPop;
2011
+ private deleteTransientPipeline;
2012
+ authorizationHeader(): Promise<string>;
2013
+ private computeAuthorizationHeader;
2014
+ private setTransientPipelinePop;
2015
+ }
2016
+
2017
+ declare const PIPELINE_PATH = "/api/v1/pipeline";
2018
+ declare const SUBPROTOCOL = "eyepop.v1";
2019
+ /** A socket may have this many open sources; one more is answered `queue_full`. */
2020
+ declare const MAX_OPEN_SOURCES = 256;
2021
+ /** Uploads up to this size go as one combined message, larger ones in chunks. */
2022
+ declare const COMBINED_UPLOAD_MAX_BYTES: number;
2023
+ /** Why pipeline mode refused its configuration. */
2024
+ type PipelineConfigurationProblem = 'session_options' | 'job_queue_length' | 'no_pipeline_api_url' | 'insecure_url';
2025
+ /** Pipeline mode cannot run as configured; `options` names the refused options for `session_options`. */
2026
+ declare class PipelineConfigurationError extends Error {
2027
+ readonly problem: PipelineConfigurationProblem;
2028
+ readonly options: string[];
2029
+ constructor(problem: PipelineConfigurationProblem, message: string, options?: string[]);
2030
+ }
2031
+ /** A job in flight when the pipeline API's socket closed; the job is not sent again. */
2032
+ declare class PipelineSocketClosedError extends Error {
2033
+ readonly code: number | undefined;
2034
+ readonly reason: string;
2035
+ constructor(code: number | undefined, reason: string);
2036
+ }
2037
+ /** The pipeline API answered a command with an error, for instance `queue_full`. */
2038
+ declare class PipelineCommandError extends Error {
2039
+ readonly error: string;
2040
+ readonly detail: string;
2041
+ constructor(error: string, detail?: string);
2042
+ }
2043
+ /** A source ended with reason `error` or `preempted` rather than at its end of stream. */
2044
+ declare class PipelineSourceError extends Error {
2045
+ readonly sourceId: string;
2046
+ readonly reason: string;
2047
+ readonly detail: string;
2048
+ constructor(sourceId: string, reason: string, detail?: string);
2049
+ }
2050
+ type Message = Record<string, any>;
2051
+ type UploadBody$1 = ReadableStream<Uint8Array> | Blob | BufferSource;
2052
+ declare const CANCELLED: unique symbol;
2053
+ type InboxItem = Message | Error | typeof CANCELLED;
2054
+ /** An unbounded queue one consumer awaits. */
2055
+ declare class Inbox<T> {
2056
+ private readonly _items;
2057
+ private _waiter;
2058
+ push(item: T): void;
2059
+ next(): Promise<T>;
2060
+ }
2061
+ /** A chunked upload's credit, granted by the server's `send` and `credit`. */
2062
+ declare class Credit {
2063
+ private _credit;
2064
+ private _ended;
2065
+ private _waiter;
2066
+ grant(n: number): void;
2067
+ end(): void;
2068
+ take(most: number): Promise<number>;
2069
+ private wake;
2070
+ }
2071
+ /** A job's source on one socket: the messages for its id, and its chunked uploads by member. */
2072
+ declare class OpenSource {
2073
+ readonly id: string;
2074
+ readonly inbox: Inbox<InboxItem>;
2075
+ readonly uploads: Map<number | null, Credit>;
2076
+ constructor(id: string);
2077
+ close(error: Error): void;
2078
+ }
2079
+ /** One upload member's bytes: a fresh body and its content type, and its size when known. */
2080
+ interface Media {
2081
+ readonly open: () => Promise<UploadBody$1>;
2082
+ readonly contentType: string;
2083
+ readonly size: number | undefined;
2084
+ }
2085
+ /** A job: one source on the endpoint's socket, its predictions read as an async iterable. */
2086
+ declare class PipelineJob implements ResultStream {
2087
+ readonly source: Message;
2088
+ readonly media: Media[];
2089
+ readonly live: boolean;
2090
+ readonly params: ProcessParams;
2091
+ readonly mediaStream: MediaStream | undefined;
2092
+ private readonly _results;
2093
+ private _consumed;
2094
+ private _cancelled;
2095
+ openSource: OpenSource | null;
2096
+ stopOnPipeline: (() => void) | null;
2097
+ constructor(source: Message, media: Media[], live: boolean, params: ProcessParams, mediaStream?: MediaStream | undefined);
2098
+ get cancelled(): boolean;
2099
+ command(id: string): Message;
2100
+ predicted(prediction: Prediction): void;
2101
+ finish(error?: Error | null): void;
2102
+ cancel(): void;
2103
+ [Symbol.asyncIterator](): AsyncIterator<Prediction>;
2104
+ }
2105
+ /** Runs jobs on one socket to the pipeline API, opened when the endpoint connects. */
2106
+ declare class PipelineBackend implements WorkerBackend {
2107
+ private readonly ctx;
2108
+ private _pipelineApiUrl;
2109
+ private _socket;
2110
+ private _connecting;
2111
+ private _sendChain;
2112
+ private _disconnecting;
2113
+ private _nextId;
2114
+ private _currentPop;
2115
+ private readonly _warned;
2116
+ private _heartbeat;
2117
+ private _reconnects;
2118
+ constructor(ctx: WorkerContext);
2119
+ reconnect(): Promise<void>;
2120
+ disconnect(closeEndpoint: () => Promise<void>): Promise<void>;
2121
+ onStatus(_statusCode: number): void;
2122
+ popName(): string | null;
2123
+ authorizationHeader(): Promise<string>;
2124
+ private inOrder;
2125
+ /** The open socket, or a new one with the last pop set on it. */
2126
+ private ensureSocket;
2127
+ private openSocket;
2128
+ private startHeartbeat;
2129
+ private socketUrl;
2130
+ private configuredPipelineApiUrl;
2131
+ private token;
2132
+ /** Open the socket, waiting through 503 with Retry-After and exchanging the API key again after a 401. */
2133
+ private upgrade;
2134
+ private closed;
2135
+ private dispatch;
2136
+ private newId;
2137
+ /** Send a command that is answered by `result` or `error` under its id. */
2138
+ private command;
2139
+ pop(): Pop | null;
2140
+ /** Set the pop on the socket's pipeline; a pop it refuses rejects, and the last pop it took stays. */
2141
+ changePop(pop: Pop): Promise<void>;
2142
+ private setPopOn;
2143
+ submit(work: WorkerWork): Promise<ResultStream>;
2144
+ private notSent;
2145
+ private jobOf;
2146
+ private sourceJob;
2147
+ private pathMedia;
2148
+ /** Run the job's source to its end; a live source refused overloaded goes once more on a new socket. */
2149
+ private run;
2150
+ /** Send the job's setSource; the caller runs it in submission order. */
2151
+ private setSource;
2152
+ /** Hand the source's predictions to the job until it ends; true when the pipeline API was overloaded. */
2153
+ private follow;
2154
+ /** Send each upload member's bytes in chunks within its credit, then its uploaded. */
2155
+ private upload;
2156
+ session(): Promise<WorkerSession>;
2157
+ }
2158
+
1908
2159
  type UploadBody = ReadableStream<Uint8Array> | Blob | BufferSource;
1909
2160
  declare class AbstractJob implements ResultStream {
1910
2161
  protected _getSession: () => Promise<WorkerSession>;
@@ -2034,4 +2285,4 @@ declare namespace EyePop {
2034
2285
  function dataEndpoint(opts?: DataOptions): DataEndpoint;
2035
2286
  }
2036
2287
 
2037
- 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, 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, 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, type PathSource, 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, SelectMode, Semaphore, type Session, type SessionAuth, 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, WorkerEndpoint, type WorkerOptions, type WorkerSession, type Workflow, WorkflowPhase, accessTokenCredential, apiKeyCredential, cloudOfDepth, cloudOfObject, cloudsOfPrediction, decodeDepthMap, decodePointCloud, EyePop as default, encodeMultipartFormData, getBaseUrl, isSelectOperator, popSelects, randomMultipartBoundary, readableStreamFromString, resolveAuth, validateCamera, validatePop };
2288
+ 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, 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 };