@uploadista/core 0.0.17 → 0.0.18-beta.1
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.
- package/dist/{checksum-BIlVW8bD.cjs → checksum-B1XGxTsI.cjs} +1 -1
- package/dist/{checksum-DaCqP8Qa.mjs → checksum-DsSiXsPO.mjs} +2 -2
- package/dist/{checksum-DaCqP8Qa.mjs.map → checksum-DsSiXsPO.mjs.map} +1 -1
- package/dist/errors/index.cjs +1 -1
- package/dist/errors/index.d.cts +1 -1
- package/dist/errors/index.d.mts +1 -1
- package/dist/errors/index.mjs +1 -1
- package/dist/flow/index.cjs +1 -1
- package/dist/flow/index.d.cts +5 -5
- package/dist/flow/index.d.mts +5 -5
- package/dist/flow/index.mjs +1 -1
- package/dist/flow-CAywogte.mjs +2 -0
- package/dist/flow-CAywogte.mjs.map +1 -0
- package/dist/flow-D7QeEZVs.cjs +1 -0
- package/dist/{index-DIWuZlxd.d.mts → index-C4zZWqtz.d.cts} +2 -2
- package/dist/{index-DIWuZlxd.d.mts.map → index-C4zZWqtz.d.cts.map} +1 -1
- package/dist/{index-BGi1r_fi.d.mts → index-CHQtirAp.d.mts} +2 -2
- package/dist/{index-B_SvQ0MU.d.cts.map → index-CHQtirAp.d.mts.map} +1 -1
- package/dist/{index-B_SvQ0MU.d.cts → index-CoAMCnm6.d.cts} +2 -2
- package/dist/{index-BGi1r_fi.d.mts.map → index-CoAMCnm6.d.cts.map} +1 -1
- package/dist/{index-BQ5luyME.d.cts → index-D-0Qqv6Q.d.cts} +208 -191
- package/dist/index-D-0Qqv6Q.d.cts.map +1 -0
- package/dist/{index-BtnCNLsH.d.mts → index-nnPHcllj.d.mts} +208 -191
- package/dist/index-nnPHcllj.d.mts.map +1 -0
- package/dist/{index-qIN6ULCb.d.cts → index-zQ707AXp.d.mts} +2 -2
- package/dist/{index-qIN6ULCb.d.cts.map → index-zQ707AXp.d.mts.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.mts +5 -5
- package/dist/index.mjs +1 -1
- package/dist/{stream-limiter-By0fxkAh.cjs → stream-limiter-B6CRA3Zd.cjs} +1 -1
- package/dist/{stream-limiter-D2Y8Z_Kv.mjs → stream-limiter-ByVdSC5T.mjs} +2 -2
- package/dist/{stream-limiter-D2Y8Z_Kv.mjs.map → stream-limiter-ByVdSC5T.mjs.map} +1 -1
- package/dist/streams/index.cjs +1 -1
- package/dist/streams/index.d.cts +2 -2
- package/dist/streams/index.d.mts +2 -2
- package/dist/streams/index.mjs +1 -1
- package/dist/testing/index.cjs +1 -1
- package/dist/testing/index.d.cts +4 -4
- package/dist/testing/index.d.mts +4 -4
- package/dist/testing/index.mjs +1 -1
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.d.cts +4 -4
- package/dist/types/index.d.mts +4 -4
- package/dist/types/index.mjs +1 -1
- package/dist/{types-B5I4BioZ.cjs → types-Ce7ILjFt.cjs} +1 -1
- package/dist/{types-f6w5J3UD.mjs → types-CnhCQFkg.mjs} +2 -2
- package/dist/{types-f6w5J3UD.mjs.map → types-CnhCQFkg.mjs.map} +1 -1
- package/dist/upload/index.cjs +1 -1
- package/dist/upload/index.d.cts +4 -4
- package/dist/upload/index.d.mts +4 -4
- package/dist/upload/index.mjs +1 -1
- package/dist/{upload-Bq9h95w6.mjs → upload-DPX3jSQH.mjs} +2 -2
- package/dist/{upload-Bq9h95w6.mjs.map → upload-DPX3jSQH.mjs.map} +1 -1
- package/dist/{upload-bBgM3QFI.cjs → upload-uQfkhcMj.cjs} +1 -1
- package/dist/{uploadista-error-djFxVTLh.mjs → uploadista-error-B-kFH_SE.mjs} +3 -1
- package/dist/uploadista-error-B-kFH_SE.mjs.map +1 -0
- package/dist/{uploadista-error-Bb-qIIKM.d.cts → uploadista-error-DMMrZF03.d.mts} +3 -3
- package/dist/uploadista-error-DMMrZF03.d.mts.map +1 -0
- package/dist/{uploadista-error-DCRIscEv.cjs → uploadista-error-Di9fniB1.cjs} +3 -1
- package/dist/{uploadista-error-D7Gubrr1.d.mts → uploadista-error-DigegPz2.d.cts} +3 -3
- package/dist/uploadista-error-DigegPz2.d.cts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.cts +2 -2
- package/dist/utils/index.d.mts +2 -2
- package/dist/utils/index.mjs +1 -1
- package/dist/{utils-DxLVhlLd.cjs → utils-B_unvkI4.cjs} +1 -1
- package/dist/{utils-MQUZyB9S.mjs → utils-C9dntrSe.mjs} +2 -2
- package/dist/{utils-MQUZyB9S.mjs.map → utils-C9dntrSe.mjs.map} +1 -1
- package/package.json +7 -5
- package/src/errors/uploadista-error.ts +10 -0
- package/src/flow/flow.ts +3 -3
- package/src/flow/index.ts +3 -2
- package/src/flow/input-type-registry.ts +229 -0
- package/src/flow/node-types/index.ts +26 -20
- package/src/flow/node.ts +33 -27
- package/src/flow/nodes/input-node.ts +3 -2
- package/src/flow/nodes/transform-node.ts +4 -4
- package/src/flow/output-type-registry.ts +231 -0
- package/src/flow/type-guards.ts +2 -2
- package/src/flow/types/flow-types.ts +7 -2
- package/tests/flow/type-registry.test.ts +1 -1
- package/tests/flow/type-system.test.ts +17 -14
- package/dist/flow-BiUCrFTv.cjs +0 -1
- package/dist/flow-vXXjtBBv.mjs +0 -2
- package/dist/flow-vXXjtBBv.mjs.map +0 -1
- package/dist/index-BQ5luyME.d.cts.map +0 -1
- package/dist/index-BtnCNLsH.d.mts.map +0 -1
- package/dist/uploadista-error-Bb-qIIKM.d.cts.map +0 -1
- package/dist/uploadista-error-D7Gubrr1.d.mts.map +0 -1
- package/dist/uploadista-error-djFxVTLh.mjs.map +0 -1
- package/src/flow/type-registry.ts +0 -379
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as UploadistaError } from "./uploadista-error-
|
|
2
|
-
import { l as GenerateId, p as GenerateIdShape } from "./index-
|
|
1
|
+
import { n as UploadistaError } from "./uploadista-error-DigegPz2.cjs";
|
|
2
|
+
import { l as GenerateId, p as GenerateIdShape } from "./index-CoAMCnm6.cjs";
|
|
3
3
|
import { Context, Effect, Layer, Option, Stream } from "effect";
|
|
4
4
|
import * as zod0 from "zod";
|
|
5
5
|
import z$1, { z } from "zod";
|
|
@@ -211,7 +211,8 @@ type ConditionValue = string | number;
|
|
|
211
211
|
* @param config.retry.maxRetries - Maximum number of retry attempts (default: 0)
|
|
212
212
|
* @param config.retry.retryDelay - Base delay in milliseconds between retries (default: 1000)
|
|
213
213
|
* @param config.retry.exponentialBackoff - Whether to use exponential backoff for retries (default: true)
|
|
214
|
-
* @param config.
|
|
214
|
+
* @param config.inputTypeId - Optional input type ID from inputTypeRegistry (e.g., "streaming-input-v1"). Used for input nodes to describe external interface.
|
|
215
|
+
* @param config.outputTypeId - Optional output type ID from outputTypeRegistry (e.g., "storage-output-v1"). Used for result type tagging.
|
|
215
216
|
* @param config.keepOutput - If true, preserves this node's output even if it has outgoing edges (default: false). Useful for flows where intermediate results need to be kept (e.g., preserving the original file when also running OCR on it).
|
|
216
217
|
*
|
|
217
218
|
* @returns An Effect that succeeds with the created FlowNode
|
|
@@ -259,7 +260,8 @@ declare function createFlowNode<Input, Output, TType extends NodeType = NodeType
|
|
|
259
260
|
multiOutput,
|
|
260
261
|
pausable,
|
|
261
262
|
retry,
|
|
262
|
-
|
|
263
|
+
inputTypeId,
|
|
264
|
+
outputTypeId,
|
|
263
265
|
keepOutput
|
|
264
266
|
}: {
|
|
265
267
|
id: string;
|
|
@@ -288,7 +290,10 @@ declare function createFlowNode<Input, Output, TType extends NodeType = NodeType
|
|
|
288
290
|
retryDelay?: number;
|
|
289
291
|
exponentialBackoff?: boolean;
|
|
290
292
|
};
|
|
291
|
-
|
|
293
|
+
/** Input type ID from inputTypeRegistry - for input nodes describing external interface */
|
|
294
|
+
inputTypeId?: string;
|
|
295
|
+
/** Output type ID from outputTypeRegistry - for result type tagging */
|
|
296
|
+
outputTypeId?: string;
|
|
292
297
|
keepOutput?: boolean;
|
|
293
298
|
}): Effect.Effect<FlowNode<Input, Output, UploadistaError> & {
|
|
294
299
|
type: TType;
|
|
@@ -301,7 +306,7 @@ declare function createFlowNode<Input, Output, TType extends NodeType = NodeType
|
|
|
301
306
|
* the executable run function or schemas.
|
|
302
307
|
*
|
|
303
308
|
* @param node - The flow node to extract data from
|
|
304
|
-
* @returns A plain object containing the node's metadata (id, name, description, type)
|
|
309
|
+
* @returns A plain object containing the node's metadata (id, name, description, type, inputTypeId, outputTypeId)
|
|
305
310
|
*/
|
|
306
311
|
declare const getNodeData: (node: FlowNode<any, any, UploadistaError>) => FlowNodeData;
|
|
307
312
|
//#endregion
|
|
@@ -570,6 +575,8 @@ type NodeTypeMap = Record<string, {
|
|
|
570
575
|
* @property name - Human-readable node name
|
|
571
576
|
* @property description - Explanation of what the node does
|
|
572
577
|
* @property type - Node category (input, transform, conditional, output, etc.)
|
|
578
|
+
* @property inputTypeId - Optional input type ID from inputTypeRegistry (for input nodes)
|
|
579
|
+
* @property outputTypeId - Optional output type ID from outputTypeRegistry (for result typing)
|
|
573
580
|
* @property keepOutput - If true, preserves this node's output even if it has outgoing edges (default: false)
|
|
574
581
|
*/
|
|
575
582
|
type FlowNodeData = {
|
|
@@ -577,7 +584,10 @@ type FlowNodeData = {
|
|
|
577
584
|
name: string;
|
|
578
585
|
description: string;
|
|
579
586
|
type: NodeType;
|
|
580
|
-
|
|
587
|
+
/** Input type ID from inputTypeRegistry - describes how external clients interact with this node */
|
|
588
|
+
inputTypeId?: string;
|
|
589
|
+
/** Output type ID from outputTypeRegistry - describes the data shape this node produces */
|
|
590
|
+
outputTypeId?: string;
|
|
581
591
|
keepOutput?: boolean;
|
|
582
592
|
};
|
|
583
593
|
/**
|
|
@@ -710,7 +720,7 @@ type TypedOutput<T = unknown> = BuiltInTypedOutput | CustomTypedOutput<T>;
|
|
|
710
720
|
*
|
|
711
721
|
* Results now include optional type information (`nodeType` and `nodeId`) to
|
|
712
722
|
* enable type-safe result consumption. These fields are automatically added
|
|
713
|
-
* by the node execution wrapper when a node is created with
|
|
723
|
+
* by the node execution wrapper when a node is created with an `outputTypeId`.
|
|
714
724
|
*
|
|
715
725
|
* @example
|
|
716
726
|
* ```typescript
|
|
@@ -1900,57 +1910,33 @@ type Flow<TFlowInputSchema extends z.ZodSchema<any>, TFlowOutputSchema extends z
|
|
|
1900
1910
|
*/
|
|
1901
1911
|
declare function createFlowWithSchema<TFlowInputSchema extends z.ZodSchema<any>, TFlowOutputSchema extends z.ZodSchema<any>, TRequirements = never, TNodeError = never, TNodeRequirements = never>(config: FlowConfig<TFlowInputSchema, TFlowOutputSchema, TNodeError, TNodeRequirements>): Effect.Effect<Flow<TFlowInputSchema, TFlowOutputSchema, TRequirements>, TNodeError, TNodeRequirements>;
|
|
1902
1912
|
//#endregion
|
|
1903
|
-
//#region src/flow/type-registry.d.ts
|
|
1913
|
+
//#region src/flow/input-type-registry.d.ts
|
|
1904
1914
|
/**
|
|
1905
|
-
*
|
|
1915
|
+
* Defines a registered input type with its schema and metadata.
|
|
1906
1916
|
*
|
|
1907
|
-
*
|
|
1908
|
-
*
|
|
1909
|
-
|
|
1910
|
-
type NodeTypeCategory = "input" | "output";
|
|
1911
|
-
/**
|
|
1912
|
-
* Defines a registered node type with its schema and metadata.
|
|
1913
|
-
*
|
|
1914
|
-
* Node type definitions are registered globally and used to validate and type-narrow
|
|
1915
|
-
* flow results at runtime. Each definition includes:
|
|
1916
|
-
* - A unique identifier with versioning
|
|
1917
|
-
* - A category (input or output)
|
|
1918
|
-
* - A Zod schema for runtime validation
|
|
1919
|
-
* - A semantic version for evolution
|
|
1920
|
-
* - A human-readable description
|
|
1917
|
+
* Input type definitions describe how external clients interact with input nodes.
|
|
1918
|
+
* Unlike output types, input types define the external interface (e.g., init/finalize
|
|
1919
|
+
* operations for streaming uploads).
|
|
1921
1920
|
*
|
|
1922
|
-
* @template TSchema - The Zod schema type for this
|
|
1921
|
+
* @template TSchema - The Zod schema type for this input's data
|
|
1923
1922
|
*
|
|
1924
|
-
* @property id - Unique identifier (e.g., "
|
|
1925
|
-
* @property
|
|
1926
|
-
* @property schema - Zod schema for validating data produced by this node type
|
|
1923
|
+
* @property id - Unique identifier (e.g., "streaming-input-v1")
|
|
1924
|
+
* @property schema - Zod schema for validating input data from clients
|
|
1927
1925
|
* @property version - Semantic version (e.g., "1.0.0") for tracking type evolution
|
|
1928
|
-
* @property description - Human-readable explanation of what this
|
|
1929
|
-
*
|
|
1930
|
-
* @example
|
|
1931
|
-
* ```typescript
|
|
1932
|
-
* const storageOutputDef: NodeTypeDefinition<z.infer<typeof uploadFileSchema>> = {
|
|
1933
|
-
* id: "storage-output-v1",
|
|
1934
|
-
* category: "output",
|
|
1935
|
-
* schema: uploadFileSchema,
|
|
1936
|
-
* version: "1.0.0",
|
|
1937
|
-
* description: "Storage output node that saves files to configured storage backend",
|
|
1938
|
-
* };
|
|
1939
|
-
* ```
|
|
1926
|
+
* @property description - Human-readable explanation of what this input type does
|
|
1940
1927
|
*/
|
|
1941
|
-
interface
|
|
1928
|
+
interface InputTypeDefinition<TSchema = unknown> {
|
|
1942
1929
|
id: string;
|
|
1943
|
-
category: NodeTypeCategory;
|
|
1944
1930
|
schema: z.ZodSchema<TSchema>;
|
|
1945
1931
|
version: string;
|
|
1946
1932
|
description: string;
|
|
1947
1933
|
}
|
|
1948
1934
|
/**
|
|
1949
|
-
* Result type for validation operations.
|
|
1935
|
+
* Result type for input validation operations.
|
|
1950
1936
|
*
|
|
1951
1937
|
* @template T - The expected type on successful validation
|
|
1952
1938
|
*/
|
|
1953
|
-
type
|
|
1939
|
+
type InputValidationResult<T> = {
|
|
1954
1940
|
success: true;
|
|
1955
1941
|
data: T;
|
|
1956
1942
|
} | {
|
|
@@ -1958,221 +1944,251 @@ type ValidationResult<T> = {
|
|
|
1958
1944
|
error: UploadistaError;
|
|
1959
1945
|
};
|
|
1960
1946
|
/**
|
|
1961
|
-
*
|
|
1947
|
+
* Registry for input node type definitions.
|
|
1962
1948
|
*
|
|
1963
|
-
* The
|
|
1964
|
-
* and metadata.
|
|
1965
|
-
* - Registering new node types
|
|
1966
|
-
* - Retrieving type definitions
|
|
1967
|
-
* - Listing types by category
|
|
1968
|
-
* - Validating data against registered schemas
|
|
1969
|
-
*
|
|
1970
|
-
* The registry is immutable after registration - types cannot be modified or removed
|
|
1971
|
-
* once registered to prevent runtime errors.
|
|
1949
|
+
* The InputTypeRegistry maintains a global registry of input types with their schemas
|
|
1950
|
+
* and metadata. Input types describe how data enters the flow from external sources.
|
|
1972
1951
|
*
|
|
1973
1952
|
* @remarks
|
|
1974
|
-
* -
|
|
1953
|
+
* - Use the exported `inputTypeRegistry` singleton instance
|
|
1975
1954
|
* - Types cannot be unregistered or modified after registration
|
|
1976
1955
|
* - Duplicate type IDs are rejected
|
|
1977
|
-
* - Version strings should follow semantic versioning
|
|
1978
1956
|
*
|
|
1979
1957
|
* @example
|
|
1980
1958
|
* ```typescript
|
|
1981
|
-
* // Register a new type
|
|
1982
|
-
*
|
|
1983
|
-
* id: "
|
|
1984
|
-
*
|
|
1985
|
-
* schema: webhookResponseSchema,
|
|
1959
|
+
* // Register a new input type
|
|
1960
|
+
* inputTypeRegistry.register({
|
|
1961
|
+
* id: "form-input-v1",
|
|
1962
|
+
* schema: formInputSchema,
|
|
1986
1963
|
* version: "1.0.0",
|
|
1987
|
-
* description: "
|
|
1964
|
+
* description: "Form-based file input",
|
|
1988
1965
|
* });
|
|
1989
1966
|
*
|
|
1990
|
-
* //
|
|
1991
|
-
*
|
|
1992
|
-
*
|
|
1993
|
-
* console.log(def.description);
|
|
1994
|
-
* }
|
|
1995
|
-
*
|
|
1996
|
-
* // List all output types
|
|
1997
|
-
* const outputTypes = flowTypeRegistry.listByCategory("output");
|
|
1998
|
-
* console.log(outputTypes.map(t => t.id));
|
|
1999
|
-
*
|
|
2000
|
-
* // Validate data
|
|
2001
|
-
* const result = flowTypeRegistry.validate("webhook-output-v1", data);
|
|
2002
|
-
* if (result.success) {
|
|
2003
|
-
* // data is now typed according to the schema
|
|
2004
|
-
* processWebhookResponse(result.data);
|
|
1967
|
+
* // Check if type exists
|
|
1968
|
+
* if (inputTypeRegistry.has("streaming-input-v1")) {
|
|
1969
|
+
* const def = inputTypeRegistry.get("streaming-input-v1");
|
|
2005
1970
|
* }
|
|
2006
1971
|
* ```
|
|
2007
1972
|
*/
|
|
2008
|
-
declare class
|
|
1973
|
+
declare class InputTypeRegistry {
|
|
2009
1974
|
private readonly types;
|
|
2010
1975
|
constructor();
|
|
2011
1976
|
/**
|
|
2012
|
-
* Register a new
|
|
2013
|
-
*
|
|
2014
|
-
* Once registered, a type cannot be modified or removed. Attempting to register
|
|
2015
|
-
* a type with a duplicate ID will throw an error.
|
|
1977
|
+
* Register a new input type in the registry.
|
|
2016
1978
|
*
|
|
2017
1979
|
* @template T - The TypeScript type inferred from the Zod schema
|
|
2018
1980
|
* @param definition - The complete type definition including schema and metadata
|
|
2019
1981
|
* @throws {UploadistaError} If a type with the same ID is already registered
|
|
2020
|
-
*
|
|
2021
|
-
* @example
|
|
2022
|
-
* ```typescript
|
|
2023
|
-
* import { z } from "zod";
|
|
2024
|
-
*
|
|
2025
|
-
* flowTypeRegistry.register({
|
|
2026
|
-
* id: "description-output-v1",
|
|
2027
|
-
* category: "output",
|
|
2028
|
-
* schema: z.object({
|
|
2029
|
-
* description: z.string(),
|
|
2030
|
-
* confidence: z.number().min(0).max(1),
|
|
2031
|
-
* tags: z.array(z.string()).optional(),
|
|
2032
|
-
* }),
|
|
2033
|
-
* version: "1.0.0",
|
|
2034
|
-
* description: "AI-generated image description with confidence score",
|
|
2035
|
-
* });
|
|
2036
|
-
* ```
|
|
2037
1982
|
*/
|
|
2038
|
-
register<T>(definition:
|
|
1983
|
+
register<T>(definition: InputTypeDefinition<T>): void;
|
|
2039
1984
|
/**
|
|
2040
1985
|
* Retrieve a registered type definition by its ID.
|
|
2041
1986
|
*
|
|
2042
|
-
* @param id - The unique type identifier (e.g., "
|
|
1987
|
+
* @param id - The unique type identifier (e.g., "streaming-input-v1")
|
|
2043
1988
|
* @returns The type definition if found, undefined otherwise
|
|
2044
|
-
*
|
|
2045
|
-
* @example
|
|
2046
|
-
* ```typescript
|
|
2047
|
-
* const def = flowTypeRegistry.get("storage-output-v1");
|
|
2048
|
-
* if (def) {
|
|
2049
|
-
* console.log(`Found ${def.description} (v${def.version})`);
|
|
2050
|
-
* } else {
|
|
2051
|
-
* console.warn("Type not registered");
|
|
2052
|
-
* }
|
|
2053
|
-
* ```
|
|
2054
1989
|
*/
|
|
2055
|
-
get(id: string):
|
|
1990
|
+
get(id: string): InputTypeDefinition<unknown> | undefined;
|
|
2056
1991
|
/**
|
|
2057
|
-
* List all registered types
|
|
2058
|
-
*
|
|
2059
|
-
* @param category - The node category to filter by ("input" or "output")
|
|
2060
|
-
* @returns Array of type definitions in the specified category
|
|
1992
|
+
* List all registered input types.
|
|
2061
1993
|
*
|
|
2062
|
-
* @
|
|
2063
|
-
* ```typescript
|
|
2064
|
-
* // List all registered output types
|
|
2065
|
-
* const outputTypes = flowTypeRegistry.listByCategory("output");
|
|
2066
|
-
* console.log("Available output types:");
|
|
2067
|
-
* for (const type of outputTypes) {
|
|
2068
|
-
* console.log(`- ${type.id}: ${type.description}`);
|
|
2069
|
-
* }
|
|
2070
|
-
* ```
|
|
1994
|
+
* @returns Array of all input type definitions
|
|
2071
1995
|
*/
|
|
2072
|
-
|
|
1996
|
+
list(): InputTypeDefinition<unknown>[];
|
|
2073
1997
|
/**
|
|
2074
1998
|
* Validate data against a registered type's schema.
|
|
2075
1999
|
*
|
|
2076
|
-
* This method performs runtime validation using the Zod schema associated with
|
|
2077
|
-
* the type. If validation succeeds, the data is returned with proper typing.
|
|
2078
|
-
* If validation fails, an UploadistaError is returned with details.
|
|
2079
|
-
*
|
|
2080
2000
|
* @template T - The expected TypeScript type after validation
|
|
2081
2001
|
* @param typeId - The ID of the registered type to validate against
|
|
2082
2002
|
* @param data - The data to validate
|
|
2083
2003
|
* @returns A result object with either the validated data or an error
|
|
2084
|
-
*
|
|
2085
|
-
* @example
|
|
2086
|
-
* ```typescript
|
|
2087
|
-
* const result = flowTypeRegistry.validate("storage-output-v1", unknownData);
|
|
2088
|
-
*
|
|
2089
|
-
* if (result.success) {
|
|
2090
|
-
* // TypeScript knows result.data is an UploadFile
|
|
2091
|
-
* console.log(`File stored at: ${result.data.url}`);
|
|
2092
|
-
* } else {
|
|
2093
|
-
* console.error(`Validation failed: ${result.error.body}`);
|
|
2094
|
-
* }
|
|
2095
|
-
* ```
|
|
2096
2004
|
*/
|
|
2097
|
-
validate<T>(typeId: string, data: unknown):
|
|
2005
|
+
validate<T>(typeId: string, data: unknown): InputValidationResult<T>;
|
|
2098
2006
|
/**
|
|
2099
2007
|
* Check if a type is registered.
|
|
2100
2008
|
*
|
|
2101
2009
|
* @param id - The unique type identifier to check
|
|
2102
2010
|
* @returns True if the type is registered, false otherwise
|
|
2103
|
-
*
|
|
2104
|
-
* @example
|
|
2105
|
-
* ```typescript
|
|
2106
|
-
* if (flowTypeRegistry.has("custom-output-v1")) {
|
|
2107
|
-
* console.log("Custom output type is available");
|
|
2108
|
-
* }
|
|
2109
|
-
* ```
|
|
2110
2011
|
*/
|
|
2111
2012
|
has(id: string): boolean;
|
|
2112
2013
|
/**
|
|
2113
2014
|
* Get the total number of registered types.
|
|
2114
2015
|
*
|
|
2115
2016
|
* @returns The count of registered types
|
|
2116
|
-
*
|
|
2117
|
-
* @example
|
|
2118
|
-
* ```typescript
|
|
2119
|
-
* console.log(`Registry contains ${flowTypeRegistry.size()} types`);
|
|
2120
|
-
* ```
|
|
2121
2017
|
*/
|
|
2122
2018
|
size(): number;
|
|
2123
2019
|
}
|
|
2124
2020
|
/**
|
|
2125
|
-
* Global singleton instance of the
|
|
2021
|
+
* Global singleton instance of the input type registry.
|
|
2126
2022
|
*
|
|
2127
|
-
* Use this instance to register and access node type definitions
|
|
2128
|
-
*
|
|
2023
|
+
* Use this instance to register and access input node type definitions.
|
|
2024
|
+
* Input types describe how data enters the flow from external sources.
|
|
2129
2025
|
*
|
|
2130
2026
|
* @example
|
|
2131
2027
|
* ```typescript
|
|
2132
|
-
* import {
|
|
2028
|
+
* import { inputTypeRegistry } from "@uploadista/core/flow";
|
|
2133
2029
|
*
|
|
2134
2030
|
* // Register a type
|
|
2135
|
-
*
|
|
2136
|
-
* id: "my-
|
|
2137
|
-
*
|
|
2138
|
-
* schema: mySchema,
|
|
2031
|
+
* inputTypeRegistry.register({
|
|
2032
|
+
* id: "my-input-v1",
|
|
2033
|
+
* schema: myInputSchema,
|
|
2139
2034
|
* version: "1.0.0",
|
|
2140
|
-
* description: "My custom
|
|
2035
|
+
* description: "My custom input type",
|
|
2141
2036
|
* });
|
|
2142
2037
|
*
|
|
2143
2038
|
* // Validate data
|
|
2144
|
-
* const result =
|
|
2039
|
+
* const result = inputTypeRegistry.validate("my-input-v1", data);
|
|
2145
2040
|
* ```
|
|
2146
2041
|
*/
|
|
2147
|
-
declare const
|
|
2042
|
+
declare const inputTypeRegistry: InputTypeRegistry;
|
|
2148
2043
|
/**
|
|
2149
|
-
* Validates flow input data against a registered
|
|
2150
|
-
*
|
|
2151
|
-
* This helper function looks up the node type by ID and validates the provided
|
|
2152
|
-
* data against its schema. It's specifically designed for input validation
|
|
2153
|
-
* before flow execution.
|
|
2044
|
+
* Validates flow input data against a registered input type.
|
|
2154
2045
|
*
|
|
2155
2046
|
* @param typeId - The registered type ID (e.g., "streaming-input-v1")
|
|
2156
2047
|
* @param data - The input data to validate
|
|
2157
2048
|
* @returns A validation result with either the typed data or an error
|
|
2049
|
+
*/
|
|
2050
|
+
declare function validateFlowInput<T = unknown>(typeId: string, data: unknown): InputValidationResult<T>;
|
|
2051
|
+
//#endregion
|
|
2052
|
+
//#region src/flow/output-type-registry.d.ts
|
|
2053
|
+
/**
|
|
2054
|
+
* Defines a registered output type with its schema and metadata.
|
|
2055
|
+
*
|
|
2056
|
+
* Output type definitions describe the data shapes produced by nodes. This enables
|
|
2057
|
+
* type-safe result consumption where clients can narrow types based on the
|
|
2058
|
+
* `nodeType` field in results.
|
|
2059
|
+
*
|
|
2060
|
+
* @template TSchema - The Zod schema type for this output's data
|
|
2061
|
+
*
|
|
2062
|
+
* @property id - Unique identifier (e.g., "storage-output-v1", "ocr-output-v1")
|
|
2063
|
+
* @property schema - Zod schema for validating output data
|
|
2064
|
+
* @property version - Semantic version (e.g., "1.0.0") for tracking type evolution
|
|
2065
|
+
* @property description - Human-readable explanation of what this output type contains
|
|
2066
|
+
*/
|
|
2067
|
+
interface OutputTypeDefinition<TSchema = unknown> {
|
|
2068
|
+
id: string;
|
|
2069
|
+
schema: z.ZodSchema<TSchema>;
|
|
2070
|
+
version: string;
|
|
2071
|
+
description: string;
|
|
2072
|
+
}
|
|
2073
|
+
/**
|
|
2074
|
+
* Result type for output validation operations.
|
|
2075
|
+
*
|
|
2076
|
+
* @template T - The expected type on successful validation
|
|
2077
|
+
*/
|
|
2078
|
+
type OutputValidationResult<T> = {
|
|
2079
|
+
success: true;
|
|
2080
|
+
data: T;
|
|
2081
|
+
} | {
|
|
2082
|
+
success: false;
|
|
2083
|
+
error: UploadistaError;
|
|
2084
|
+
};
|
|
2085
|
+
/**
|
|
2086
|
+
* Registry for output node type definitions.
|
|
2087
|
+
*
|
|
2088
|
+
* The OutputTypeRegistry maintains a global registry of output types with their schemas
|
|
2089
|
+
* and metadata. Output types describe the data shapes that flow through the system
|
|
2090
|
+
* and appear in results.
|
|
2091
|
+
*
|
|
2092
|
+
* @remarks
|
|
2093
|
+
* - Use the exported `outputTypeRegistry` singleton instance
|
|
2094
|
+
* - Types cannot be unregistered or modified after registration
|
|
2095
|
+
* - Duplicate type IDs are rejected
|
|
2158
2096
|
*
|
|
2159
2097
|
* @example
|
|
2160
2098
|
* ```typescript
|
|
2161
|
-
*
|
|
2162
|
-
*
|
|
2163
|
-
*
|
|
2164
|
-
*
|
|
2165
|
-
*
|
|
2099
|
+
* // Register a new output type
|
|
2100
|
+
* outputTypeRegistry.register({
|
|
2101
|
+
* id: "metadata-output-v1",
|
|
2102
|
+
* schema: metadataSchema,
|
|
2103
|
+
* version: "1.0.0",
|
|
2104
|
+
* description: "File metadata extraction output",
|
|
2166
2105
|
* });
|
|
2167
2106
|
*
|
|
2107
|
+
* // Validate result data
|
|
2108
|
+
* const result = outputTypeRegistry.validate("storage-output-v1", data);
|
|
2168
2109
|
* if (result.success) {
|
|
2169
|
-
* console.log(
|
|
2170
|
-
* } else {
|
|
2171
|
-
* console.error("Validation error:", result.error);
|
|
2110
|
+
* console.log(result.data.url);
|
|
2172
2111
|
* }
|
|
2173
2112
|
* ```
|
|
2174
2113
|
*/
|
|
2175
|
-
declare
|
|
2114
|
+
declare class OutputTypeRegistry {
|
|
2115
|
+
private readonly types;
|
|
2116
|
+
constructor();
|
|
2117
|
+
/**
|
|
2118
|
+
* Register a new output type in the registry.
|
|
2119
|
+
*
|
|
2120
|
+
* @template T - The TypeScript type inferred from the Zod schema
|
|
2121
|
+
* @param definition - The complete type definition including schema and metadata
|
|
2122
|
+
* @throws {UploadistaError} If a type with the same ID is already registered
|
|
2123
|
+
*/
|
|
2124
|
+
register<T>(definition: OutputTypeDefinition<T>): void;
|
|
2125
|
+
/**
|
|
2126
|
+
* Retrieve a registered type definition by its ID.
|
|
2127
|
+
*
|
|
2128
|
+
* @param id - The unique type identifier (e.g., "storage-output-v1")
|
|
2129
|
+
* @returns The type definition if found, undefined otherwise
|
|
2130
|
+
*/
|
|
2131
|
+
get(id: string): OutputTypeDefinition<unknown> | undefined;
|
|
2132
|
+
/**
|
|
2133
|
+
* List all registered output types.
|
|
2134
|
+
*
|
|
2135
|
+
* @returns Array of all output type definitions
|
|
2136
|
+
*/
|
|
2137
|
+
list(): OutputTypeDefinition<unknown>[];
|
|
2138
|
+
/**
|
|
2139
|
+
* Validate data against a registered type's schema.
|
|
2140
|
+
*
|
|
2141
|
+
* @template T - The expected TypeScript type after validation
|
|
2142
|
+
* @param typeId - The ID of the registered type to validate against
|
|
2143
|
+
* @param data - The data to validate
|
|
2144
|
+
* @returns A result object with either the validated data or an error
|
|
2145
|
+
*/
|
|
2146
|
+
validate<T>(typeId: string, data: unknown): OutputValidationResult<T>;
|
|
2147
|
+
/**
|
|
2148
|
+
* Check if a type is registered.
|
|
2149
|
+
*
|
|
2150
|
+
* @param id - The unique type identifier to check
|
|
2151
|
+
* @returns True if the type is registered, false otherwise
|
|
2152
|
+
*/
|
|
2153
|
+
has(id: string): boolean;
|
|
2154
|
+
/**
|
|
2155
|
+
* Get the total number of registered types.
|
|
2156
|
+
*
|
|
2157
|
+
* @returns The count of registered types
|
|
2158
|
+
*/
|
|
2159
|
+
size(): number;
|
|
2160
|
+
}
|
|
2161
|
+
/**
|
|
2162
|
+
* Global singleton instance of the output type registry.
|
|
2163
|
+
*
|
|
2164
|
+
* Use this instance to register and access output node type definitions.
|
|
2165
|
+
* Output types describe the data shapes produced by nodes and used in results.
|
|
2166
|
+
*
|
|
2167
|
+
* @example
|
|
2168
|
+
* ```typescript
|
|
2169
|
+
* import { outputTypeRegistry } from "@uploadista/core/flow";
|
|
2170
|
+
*
|
|
2171
|
+
* // Register a type
|
|
2172
|
+
* outputTypeRegistry.register({
|
|
2173
|
+
* id: "my-output-v1",
|
|
2174
|
+
* schema: myOutputSchema,
|
|
2175
|
+
* version: "1.0.0",
|
|
2176
|
+
* description: "My custom output type",
|
|
2177
|
+
* });
|
|
2178
|
+
*
|
|
2179
|
+
* // Validate result data
|
|
2180
|
+
* const result = outputTypeRegistry.validate("my-output-v1", data);
|
|
2181
|
+
* ```
|
|
2182
|
+
*/
|
|
2183
|
+
declare const outputTypeRegistry: OutputTypeRegistry;
|
|
2184
|
+
/**
|
|
2185
|
+
* Validates flow output data against a registered output type.
|
|
2186
|
+
*
|
|
2187
|
+
* @param typeId - The registered type ID (e.g., "storage-output-v1")
|
|
2188
|
+
* @param data - The output data to validate
|
|
2189
|
+
* @returns A validation result with either the typed data or an error
|
|
2190
|
+
*/
|
|
2191
|
+
declare function validateFlowOutput<T = unknown>(typeId: string, data: unknown): OutputValidationResult<T>;
|
|
2176
2192
|
//#endregion
|
|
2177
2193
|
//#region src/flow/node-types/index.d.ts
|
|
2178
2194
|
/**
|
|
@@ -2183,11 +2199,12 @@ declare function validateFlowInput<T = unknown>(typeId: string, data: unknown):
|
|
|
2183
2199
|
*
|
|
2184
2200
|
* @example
|
|
2185
2201
|
* ```typescript
|
|
2186
|
-
* import { STREAMING_INPUT_TYPE_ID } from "@uploadista/core/flow";
|
|
2202
|
+
* import { STREAMING_INPUT_TYPE_ID, STORAGE_OUTPUT_TYPE_ID } from "@uploadista/core/flow";
|
|
2187
2203
|
*
|
|
2188
2204
|
* const inputNode = createFlowNode({
|
|
2189
2205
|
* // ... other config
|
|
2190
|
-
*
|
|
2206
|
+
* inputTypeId: STREAMING_INPUT_TYPE_ID,
|
|
2207
|
+
* outputTypeId: STORAGE_OUTPUT_TYPE_ID,
|
|
2191
2208
|
* });
|
|
2192
2209
|
* ```
|
|
2193
2210
|
*/
|
|
@@ -3218,7 +3235,7 @@ declare function createUploadServer(): Effect.Effect<{
|
|
|
3218
3235
|
getCapabilities: (storageId: string, clientId: string | null) => Effect.Effect<DataStoreCapabilities, UploadistaError, never>;
|
|
3219
3236
|
subscribeToUploadEvents: (uploadId: string, connection: WebSocketConnection) => Effect.Effect<void, UploadistaError, never>;
|
|
3220
3237
|
unsubscribeFromUploadEvents: (uploadId: string) => Effect.Effect<void, UploadistaError, never>;
|
|
3221
|
-
}, never, UploadFileDataStores | UploadFileKVStore | UploadEventEmitter
|
|
3238
|
+
}, never, GenerateId | UploadFileDataStores | UploadFileKVStore | UploadEventEmitter>;
|
|
3222
3239
|
/**
|
|
3223
3240
|
* Pre-built UploadServer Effect Layer.
|
|
3224
3241
|
*
|
|
@@ -3249,7 +3266,7 @@ declare function createUploadServer(): Effect.Effect<{
|
|
|
3249
3266
|
* }).pipe(Effect.provide(fullUploadSystem));
|
|
3250
3267
|
* ```
|
|
3251
3268
|
*/
|
|
3252
|
-
declare const uploadServer: Layer.Layer<UploadServer, never, UploadFileDataStores | UploadFileKVStore | UploadEventEmitter
|
|
3269
|
+
declare const uploadServer: Layer.Layer<UploadServer, never, GenerateId | UploadFileDataStores | UploadFileKVStore | UploadEventEmitter>;
|
|
3253
3270
|
//#endregion
|
|
3254
3271
|
//#region src/upload/upload-strategy-negotiator.d.ts
|
|
3255
3272
|
/**
|
|
@@ -3804,8 +3821,8 @@ declare function createFlowServer(): Effect.Effect<{
|
|
|
3804
3821
|
cancelFlow: (jobId: string, clientId: string | null) => Effect.Effect<FlowJob, UploadistaError, never>;
|
|
3805
3822
|
subscribeToFlowEvents: (jobId: string, connection: WebSocketConnection) => Effect.Effect<void, UploadistaError, never>;
|
|
3806
3823
|
unsubscribeFromFlowEvents: (jobId: string) => Effect.Effect<void, UploadistaError, never>;
|
|
3807
|
-
}, never, UploadServer |
|
|
3808
|
-
declare const flowServer: Layer.Layer<FlowServer, never, UploadServer |
|
|
3824
|
+
}, never, UploadServer | FlowProvider | FlowJobKVStore | FlowEventEmitter>;
|
|
3825
|
+
declare const flowServer: Layer.Layer<FlowServer, never, UploadServer | FlowProvider | FlowJobKVStore | FlowEventEmitter>;
|
|
3809
3826
|
type FlowServerLayer = typeof flowServer;
|
|
3810
3827
|
//#endregion
|
|
3811
3828
|
//#region src/flow/nodes/input-node.d.ts
|
|
@@ -3946,8 +3963,8 @@ interface TransformNodeConfig {
|
|
|
3946
3963
|
name: string;
|
|
3947
3964
|
/** Description of what the node does */
|
|
3948
3965
|
description: string;
|
|
3949
|
-
/** Optional
|
|
3950
|
-
|
|
3966
|
+
/** Optional output type ID from outputTypeRegistry for result type registration */
|
|
3967
|
+
outputTypeId?: string;
|
|
3951
3968
|
/**
|
|
3952
3969
|
* Whether to keep this node's output as a flow result even if it has outgoing edges.
|
|
3953
3970
|
* When true, the node's output will be included in the final flow outputs alongside topology sinks.
|
|
@@ -4016,7 +4033,7 @@ declare function createTransformNode({
|
|
|
4016
4033
|
id,
|
|
4017
4034
|
name,
|
|
4018
4035
|
description,
|
|
4019
|
-
|
|
4036
|
+
outputTypeId,
|
|
4020
4037
|
keepOutput,
|
|
4021
4038
|
transform
|
|
4022
4039
|
}: TransformNodeConfig): Effect.Effect<FlowNodeData & {
|
|
@@ -6227,5 +6244,5 @@ type ResolvedUploadMetadata = {
|
|
|
6227
6244
|
};
|
|
6228
6245
|
declare function resolveUploadMetadata(metadata: FileMetadata): ResolvedUploadMetadata;
|
|
6229
6246
|
//#endregion
|
|
6230
|
-
export { VideoPluginShape as $, MiddlewareServiceLive as $n,
|
|
6231
|
-
//# sourceMappingURL=index-
|
|
6247
|
+
export { VideoPluginShape as $, MiddlewareServiceLive as $n, BaseKvStore as $r, DocumentPluginLayer as $t, isOcrOutput as A, FlowEventJobStart as Ai, FlowServerShape as An, outputTypeRegistry as Ar, brightnessTransformSchema as At, PluginLayer as B, NodeType as Bi, UploadStrategyNegotiator as Bn, createFlowWithSchema as Br, transformImageParamsSchema as Bt, getFirstOutputByType as C, FlowEvent as Ci, inputDataSchema as Cn, STORAGE_OUTPUT_TYPE_ID as Cr, SharpenTransform as Ct, isFinalizeOperation as D, FlowEventFlowPause as Di, FlowServer as Dn, OutputTypeDefinition as Dr, TransformationType as Dt, hasOutputOfType as E, FlowEventFlowError as Ei, FlowProviderShape as En, ocrOutputSchema as Er, Transformation as Et, RemoveBackgroundParams as F, FlowEventNodeResume as Fi, FlowJob as Fn, inputTypeRegistry as Fr, resizeTransformSchema as Ft, ZipPluginShape as G, createUploadServer as Gn, DataStoreConfig as Gr, OptimizeParams as Gt, ZipParams as H, getNodeData as Hi, UploadServer as Hn, BufferedUploadFileDataStore as Hr, watermarkTransformSchema as Ht, removeBackgroundParamsSchema as I, FlowEventNodeStart as Ii, FlowJobStatus as In, validateFlowInput as Ir, rotateTransformSchema as It, VirusScanPlugin as J, detectMimeType as Jn, UploadFileDataStores as Jr, ImageAiPlugin as Jt, ScanMetadata as K, uploadServer as Kn, DataStoreWriteOptions as Kr, optimizeParamsSchema as Kt, DescribeImageParams as L, ConditionField as Li, FlowJobTask as Ln, Flow as Lr, sepiaTransformSchema as Lt, isUploadFile as M, FlowEventNodeError as Mi, WaitUntilCallback as Mn, InputTypeDefinition as Mr, flipTransformSchema as Mt, isUploadOperation as N, FlowEventNodePause as Ni, createFlowServer as Nn, InputTypeRegistry as Nr, grayscaleTransformSchema as Nt, isImageDescriptionOutput as O, FlowEventFlowStart as Oi, FlowServerLayer as On, OutputTypeRegistry as Or, WatermarkTransform as Ot, isUrlOperation as P, FlowEventNodeResponse as Pi, flowServer as Pn, InputValidationResult as Pr, logoTransformSchema as Pt, VideoPluginLayer as Q, MiddlewareService as Qn, isDataStore as Qr, DocumentPlugin as Qt, describeImageParamsSchema as R, ConditionOperator as Ri, FlowJobTaskStatus as Rn, FlowData as Rr, sharpenTransformSchema as Rt, filterOutputsByType as S, EventType as Si, createInputNode as Sn, OcrOutput as Sr, SepiaTransform as St, getSingleOutputByType as T, FlowEventFlowEnd as Ti, FlowProvider as Tn, imageDescriptionOutputSchema as Tr, TransformImageParams as Tt, ZipPlugin as U, UploadFile as Ui, UploadServerOptions as Un, DataStore as Ur, ResizeParams as Ut, ZipInput as V, createFlowNode as Vi, UploadStrategyOptions as Vn, getFlowData as Vr, transformationSchema as Vt, ZipPluginLayer as W, uploadFileSchema as Wi, UploadServerShape as Wn, DataStoreCapabilities as Wr, resizeParamsSchema as Wt, VirusScanPluginShape as X, MiddlewareContext as Xn, UploadStrategy as Xr, ImageAiPluginShape as Xt, VirusScanPluginLayer as Y, Middleware as Yn, UploadFileDataStoresShape as Yr, ImageAiPluginLayer as Yt, VideoPlugin as Z, MiddlewareNext as Zn, createDataStoreLayer as Zr, DocumentMetadata as Zt, ExtractLayerService as _, NodeTypeMap as _i, ParallelSchedulerConfig as _n, EventBroadcaster as _r, GrayscaleTransform as _t, FlowInputMap as a, flowJobKvStore as ai, DocumentAiPlugin as an, FlowEventEmitter as ar, resizeVideoParamsSchema as at, FlowCondition as b, completeNodeExecution as bi, InputData as bn, ImageDescriptionOutput as br, ResizeTransform as bt, FlowRequirements as c, FlowEdge as ci, OcrParams as cn, eventToMessageSerializer as cr, DescribeVideoMetadata as ct, TypedFlow as d, CustomTypedOutput as di, OcrTaskType as dn, WebSocketConnection as dr, ImagePluginLayer as dt, BaseKvStoreService as ei, DocumentPluginShape as en, InputFile as er, TrimVideoParams as et, TypedFlowConfig as f, FlowConfig as fi, CredentialProvider as fn, WebSocketMessage as fr, ImagePluginShape as ft, ExtractEffectRequirements as g, NodeExecutionResult as gi, ParallelScheduler as gn, uploadEventSchema as gr, FlipTransform as gt, ExtractEffectError as h, NodeConnectionValidator as hi, ExecutionLevel as hn, UploadEventType as hr, ContrastTransform as ht, runArgsSchema as i, UploadFileKVStore as ii, DocumentAiContext as in, EventEmitter as ir, ResizeVideoParams as it, isStorageOutput as j, FlowEventNodeEnd as ji, FlowWaitUntil as jn, validateFlowOutput as jr, contrastTransformSchema as jt, isInitOperation as k, FlowEventJobEnd as ki, FlowServerOptions as kn, OutputValidationResult as kr, blurTransformSchema as kt, NodeDefinition as l, createFlowEdge as li, OcrResolution as ln, flowEventEmitter as lr, describeVideoMetadataSchema as lt, createFlow as m, FlowNodeData as mi, CredentialProviderShape as mn, UploadEvent as mr, BrightnessTransform as mt, resolveUploadMetadata as n, KvStore as ni, SplitPdfParams as nn, BaseEventEmitter as nr, TranscodeVideoParams as nt, FlowOutputMap as o, jsonSerializer as oi, DocumentAiPluginLayer as on, TypedEventEmitter as or, ExtractFrameVideoParams as ot, TypedFlowEdge as p, FlowNode as pi, CredentialProviderLayer as pn, webSocketMessageSchema as pr, BlurTransform as pt, ScanResult as q, compareMimeTypes as qn, UploadFileDataStore as qr, ImageAiContext as qt, RunArgs as r, TypedKvStore as ri, SplitPdfResult as rn, BaseEventEmitterService as rr, transcodeVideoParamsSchema as rt, FlowPluginRequirements as s, uploadFileKvStore as si, DocumentAiPluginShape as sn, UploadEventEmitter as sr, extractFrameVideoParamsSchema as st, ResolvedUploadMetadata as t, FlowJobKVStore as ti, MergePdfParams as tn, inputFileSchema as tr, trimVideoParamsSchema as tt, NodeDefinitionsRecord as u, BuiltInTypedOutput as ui, OcrResult as un, uploadEventEmitter as ur, ImagePlugin as ut, ExtractLayerServices as v, TypeCompatibilityChecker as vi, TransformNodeConfig as vn, EventBroadcasterService as vr, LogoTransform as vt, getOutputByNodeId as w, FlowEventFlowCancel as wi, inputNodeParamsSchema as wn, STREAMING_INPUT_TYPE_ID as wr, TextTransform as wt, createTypeGuard as x, waitingNodeExecution as xi, InputNodeParams as xn, OCR_OUTPUT_TYPE_ID as xr, RotateTransform as xt, ResolveEffect as y, TypedOutput as yi, createTransformNode as yn, IMAGE_DESCRIPTION_OUTPUT_TYPE_ID as yr, OverlayPosition as yt, Plugin as z, ConditionValue as zi, NegotiatedStrategy as zn, FlowExecutionResult as zr, textTransformSchema as zt };
|
|
6248
|
+
//# sourceMappingURL=index-D-0Qqv6Q.d.cts.map
|