@workglow/ai 0.0.68 → 0.0.70

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/bun.js.map CHANGED
@@ -16,18 +16,18 @@
16
16
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n DataPortSchemaNonBoolean,\n FromSchema,\n FromSchemaDefaultOptions,\n FromSchemaOptions,\n JsonSchema,\n} from \"@workglow/util\";\nimport { ModelSchema } from \"../../model/ModelSchema\";\n\nexport type TypedArray =\n | Float64Array\n | Float32Array\n | Int32Array\n | Int16Array\n | Int8Array\n | Uint32Array\n | Uint16Array\n | Uint8Array\n | Uint8ClampedArray;\n\n// Type-only value for use in deserialize patterns\nconst TypedArrayType = null as any as TypedArray;\n\nconst TypedArraySchemaOptions = {\n ...FromSchemaDefaultOptions,\n deserialize: [\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"BigInt\" | \"Float64\";\n // };\n // output: bigint;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Float64Array\";\n // };\n // output: Float64Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Float32Array\";\n // };\n // output: Float32Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Int32Array\";\n // };\n // output: Int32Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Int16Array\";\n // };\n // output: Int16Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Int8Array\";\n // };\n // output: Int8Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Uint8Array\";\n // };\n // output: Uint8Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Uint16Array\";\n // };\n // output: Uint16Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"format\": \"Uint32Array\";\n // };\n // output: Uint32Array;\n // },\n // {\n // pattern: { type: \"array\"; items: { type: \"number\" }; \"format\": \"Uint8ClampedArray\" };\n // output: Uint8ClampedArray;\n // },\n {\n pattern: { format: \"TypedArray\" },\n output: TypedArrayType,\n },\n ],\n} as const satisfies FromSchemaOptions;\n\nexport type TypedArraySchemaOptions = typeof TypedArraySchemaOptions;\n\nexport const TypedArraySchema = (annotations: Record<string, unknown> = {}) =>\n ({\n oneOf: [\n {\n type: \"array\",\n items: { type: \"number\", format: \"Float64\" },\n title: \"Float64Array\",\n description: \"A 64-bit floating point array\",\n format: \"Float64Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Float32\" },\n title: \"Float32Array\",\n description: \"A 32-bit floating point array\",\n format: \"Float32Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Int32\" },\n title: \"Int32Array\",\n description: \"A 32-bit integer array\",\n format: \"Int32Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Int16\" },\n title: \"Int16Array\",\n description: \"A 16-bit integer array\",\n format: \"Int16Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Int8\" },\n title: \"Int8Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Uint8\" },\n title: \"Uint8Array\",\n description: \"A 8-bit unsigned integer array\",\n format: \"Uint8Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Uint16\" },\n title: \"Uint16Array\",\n description: \"A 16-bit unsigned integer array\",\n format: \"Uint16Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Uint32\" },\n title: \"Uint32Array\",\n description: \"A 32-bit unsigned integer array\",\n format: \"Uint32Array\",\n },\n {\n type: \"array\",\n items: { type: \"number\", format: \"Uint8Clamped\" },\n title: \"Uint8ClampedArray\",\n description: \"A 8-bit unsigned integer array with values clamped to 0-255\",\n format: \"Uint8ClampedArray\",\n },\n ],\n format: \"TypedArray\",\n ...annotations,\n }) as const satisfies JsonSchema;\n\nexport const TypeLanguage = (annotations: Record<string, unknown> = {}) =>\n ({\n type: \"string\",\n title: \"Language\",\n description: \"The language to use\",\n maxLength: 2,\n minLength: 2,\n ...annotations,\n }) as const;\n\nexport type TypeModelSemantic = \"model\" | `model:${string}`;\n\nexport type TTypeModel = DataPortSchemaNonBoolean & {\n readonly type: \"string\";\n readonly format: TypeModelSemantic;\n};\n\nexport function TypeModelAsString<\n S extends TypeModelSemantic = \"model\",\n O extends Record<string, unknown> = {},\n>(semantic: S = \"model\" as S, options: O = {} as O) {\n if (semantic !== \"model\" && !semantic.startsWith(\"model:\")) {\n throw new Error(\"Invalid semantic value\");\n }\n const taskName = semantic.startsWith(\"model:\")\n ? semantic\n .slice(6)\n .replace(/Task$/, \"\")\n .replaceAll(/[A-Z]/g, (char) => \" \" + char.toLowerCase())\n .trim()\n : null;\n return {\n title: \"Model\",\n description: `The model ${taskName ? `for ${taskName} ` : \"to use\"}`,\n ...options,\n format: semantic,\n type: \"string\",\n } as const satisfies JsonSchema;\n}\n\nexport function TypeModelByDetail<\n S extends TypeModelSemantic = \"model\",\n O extends Record<string, unknown> = {},\n>(semantic: S = \"model\" as S, options: O = {} as O) {\n if (semantic !== \"model\" && !semantic.startsWith(\"model:\")) {\n throw new Error(\"Invalid semantic value\");\n }\n return {\n ...ModelSchema,\n ...options,\n format: semantic,\n } as const satisfies JsonSchema;\n}\n\nexport function TypeModel<\n S extends TypeModelSemantic = \"model\",\n O extends Record<string, unknown> = {},\n>(semantic: S = \"model\" as S, options: O = {} as O) {\n return {\n oneOf: [TypeModelAsString<S, O>(semantic, options), TypeModelByDetail<S, O>(semantic, options)],\n ...options,\n format: semantic,\n } as const satisfies JsonSchema;\n}\n\nexport const TypeReplicateArray = <T extends DataPortSchemaNonBoolean>(\n type: T,\n annotations: Record<string, unknown> = {}\n) =>\n ({\n oneOf: [type, { type: \"array\", items: type }],\n title: type.title,\n description: type.description,\n ...(type.format ? { format: type.format } : {}),\n ...annotations,\n \"x-replicate\": true,\n }) as const;\n\nexport type TypedArrayFromSchema<SCHEMA extends JsonSchema> = FromSchema<\n SCHEMA,\n TypedArraySchemaOptions\n>;\n\n/**\n * Removes array types from a union, leaving only non-array types.\n * For example, `string | string[]` becomes `string`.\n * Used to extract the single-value type from schemas with x-replicate annotation.\n * Uses distributive conditional types to filter out arrays from unions.\n * Checks for both array types and types with numeric index signatures (FromSchema array output).\n * Preserves TypedArray types like Float64Array which also have numeric indices.\n */\ntype UnwrapArrayUnion<T> = T extends readonly any[]\n ? T extends TypedArray\n ? T\n : never\n : number extends keyof T\n ? \"push\" extends keyof T\n ? never\n : T\n : T;\n\n/**\n * Transforms a schema by removing array variants from properties marked with x-replicate.\n * Properties with x-replicate use {@link TypeReplicateArray} which creates a union of\n * `T | T[]`, and this type extracts just `T`.\n */\nexport type DeReplicateFromSchema<S extends { properties: Record<string, any> }> = {\n [K in keyof S[\"properties\"]]: S[\"properties\"][K] extends { \"x-replicate\": true }\n ? UnwrapArrayUnion<TypedArrayFromSchema<S[\"properties\"][K]>>\n : TypedArrayFromSchema<S[\"properties\"][K]>;\n};\n",
17
17
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n CreateWorkflow,\n JobQueueTaskConfig,\n Task,\n TaskRegistry,\n Workflow,\n} from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { Document, DocumentFragment } from \"../source/Document\";\n\nconst inputSchema = {\n type: \"object\",\n properties: {\n parser: {\n type: \"string\",\n enum: [\"txt\", \"md\"],\n title: \"Document Kind\",\n description: \"The kind of document (txt or md)\",\n },\n // file: Type.Instance(Document),\n },\n required: [\"parser\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst outputSchema = {\n type: \"object\",\n properties: {\n texts: {\n type: \"array\",\n items: { type: \"string\" },\n title: \"Text Chunks\",\n description: \"The text chunks of the document\",\n },\n },\n required: [\"texts\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type DocumentSplitterTaskInput = FromSchema<typeof inputSchema>;\nexport type DocumentSplitterTaskOutput = FromSchema<typeof outputSchema>;\n\nexport class DocumentSplitterTask extends Task<\n DocumentSplitterTaskInput,\n DocumentSplitterTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"DocumentSplitterTask\";\n public static category = \"Document\";\n public static title = \"Document Splitter\";\n public static description = \"Splits documents into text chunks for processing\";\n public static inputSchema(): DataPortSchema {\n return inputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return outputSchema as DataPortSchema;\n }\n\n flattenFragmentsToTexts(item: DocumentFragment | Document): string[] {\n if (item instanceof Document) {\n const texts: string[] = [];\n item.fragments.forEach((fragment) => {\n texts.push(...this.flattenFragmentsToTexts(fragment));\n });\n return texts;\n } else {\n return [item.content];\n }\n }\n\n async executeReactive(): Promise<DocumentSplitterTaskOutput> {\n return { texts: this.flattenFragmentsToTexts(this.runInputData.file) };\n }\n}\n\nTaskRegistry.registerTask(DocumentSplitterTask);\n\nexport const DocumentSplitter = (input: DocumentSplitterTaskInput) => {\n return new DocumentSplitterTask(input).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n DocumentSplitter: CreateWorkflow<\n DocumentSplitterTaskInput,\n DocumentSplitterTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.DocumentSplitter = CreateWorkflow(DocumentSplitterTask);\n",
18
18
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model\"));\n\nconst DownloadModelInputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst DownloadModelOutputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type DownloadModelTaskRunInput = FromSchema<typeof DownloadModelInputSchema>;\nexport type DownloadModelTaskRunOutput = FromSchema<typeof DownloadModelOutputSchema>;\nexport type DownloadModelTaskExecuteInput = DeReplicateFromSchema<typeof DownloadModelInputSchema>;\nexport type DownloadModelTaskExecuteOutput = DeReplicateFromSchema<\n typeof DownloadModelOutputSchema\n>;\n\n/**\n * Download a model from a remote source and cache it locally.\n *\n * @remarks\n * This task has a side effect of downloading the model and caching it locally outside of the task system\n */\nexport class DownloadModelTask extends AiTask<\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n JobQueueTaskConfig\n> {\n public static type = \"DownloadModelTask\";\n public static category = \"AI Text Model\";\n public static title = \"Download Model\";\n public static description = \"Downloads and caches AI models locally with progress tracking\";\n public static inputSchema(): DataPortSchema {\n return DownloadModelInputSchema satisfies DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return DownloadModelOutputSchema satisfies DataPortSchema;\n }\n public static cacheable = false;\n\n public files: { file: string; progress: number }[] = [];\n\n constructor(input: Partial<DownloadModelTaskRunInput>, config: JobQueueTaskConfig = {}) {\n super(input as DownloadModelTaskRunInput, config);\n this.on(\"progress\", this.processProgress.bind(this));\n this.on(\"start\", () => {\n this.files = [];\n });\n }\n\n /**\n * Handles progress updates for the download task\n * @param progress - The progress value (0-100)\n * @param message - The message to display\n * @param details - Additional details about the progress\n */\n processProgress(\n progress: number,\n message: string = \"\",\n details?: { file?: string; progress: number; text?: number }\n ): void {\n if (details?.file) {\n const file = this.files.find((f) => f.file === details.file);\n if (file) {\n file.progress = details.progress;\n } else {\n this.files.push({ file: details.file, progress: details.progress });\n }\n this.progress = this.files.reduce((acc, f) => acc + f.progress, 0) / this.files.length;\n } else {\n this.progress = progress;\n }\n }\n}\n\nTaskRegistry.registerTask(DownloadModelTask);\n\n/**\n * Download a model from a remote source and cache it locally.\n *\n * @param input - Input containing model(s) to download\n * @returns Promise resolving to the downloaded model(s)\n */\nexport const DownloadModel = (input: DownloadModelTaskRunInput, config?: JobQueueTaskConfig) => {\n return new DownloadModelTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n DownloadModel: CreateWorkflow<\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.DownloadModel = CreateWorkflow(DownloadModelTask);\n",
19
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextClassifierTask\"));\n\nexport const TextClassifierInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to classify\",\n }),\n maxCategories: {\n oneOf: [\n {\n type: \"number\",\n minimum: 1,\n maximum: 1000,\n },\n {\n type: \"null\",\n },\n ],\n title: \"Max Categories\",\n description: \"The maximum number of categories to return\",\n },\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextClassifierOutputSchema = {\n type: \"object\",\n properties: {\n categories: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Label\",\n description: \"The name of the category\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this category\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n },\n title: \"Categories\",\n description: \"The classification categories with their scores\",\n },\n },\n required: [\"categories\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextClassifierTaskInput = FromSchema<typeof TextClassifierInputSchema>;\nexport type TextClassifierTaskOutput = FromSchema<typeof TextClassifierOutputSchema>;\n\n/**\n * Classifies text into predefined categories using language models\n */\nexport class TextClassifierTask extends AiTask<TextClassifierTaskInput, TextClassifierTaskOutput> {\n public static type = \"TextClassifierTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Classifier\";\n public static description = \"Classifies text into predefined categories using language models\";\n public static inputSchema(): DataPortSchema {\n return TextClassifierInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextClassifierOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextClassifierTask);\n\n/**\n * Convenience function to run text classifier tasks.\n * Creates and executes a TextClassifierTask with the provided input.\n * @param input The input parameters for text classification (text and model)\n * @returns Promise resolving to the classification categories with scores\n */\nexport const TextClassifier = (input: TextClassifierTaskInput, config?: JobQueueTaskConfig) => {\n return new TextClassifierTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextClassifier: CreateWorkflow<\n TextClassifierTaskInput,\n TextClassifierTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextClassifier = CreateWorkflow(TextClassifierTask);\n",
20
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport {\n TypedArraySchema,\n TypedArraySchemaOptions,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextEmbeddingTask\"));\n\nexport const TextEmbeddingInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to embed\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextEmbeddingOutputSchema = {\n type: \"object\",\n properties: {\n vector: TypeReplicateArray(\n TypedArraySchema({\n title: \"Vector\",\n description: \"The vector embedding of the text\",\n })\n ),\n },\n required: [\"vector\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextEmbeddingTaskInput = FromSchema<\n typeof TextEmbeddingInputSchema,\n TypedArraySchemaOptions\n>;\nexport type TextEmbeddingTaskOutput = FromSchema<\n typeof TextEmbeddingOutputSchema,\n TypedArraySchemaOptions\n>;\n\n/**\n * A task that generates vector embeddings for text using a specified embedding model.\n * Embeddings are numerical representations of text that capture semantic meaning,\n * useful for similarity comparisons and semantic search.\n *\n * @extends AiTask\n */\nexport class TextEmbeddingTask extends AiTask<TextEmbeddingTaskInput, TextEmbeddingTaskOutput> {\n public static type = \"TextEmbeddingTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Embedding\";\n public static description = \"Generates vector embeddings for text to capture semantic meaning\";\n public static inputSchema(): DataPortSchema {\n return TextEmbeddingInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextEmbeddingOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextEmbeddingTask);\n\n/**\n * Convenience function to create and run a text embedding task.\n * @param input - Input containing text(s) and model(s) for embedding\n * @returns Promise resolving to the generated embeddings\n */\nexport const TextEmbedding = async (input: TextEmbeddingTaskInput, config?: JobQueueTaskConfig) => {\n return new TextEmbeddingTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextEmbedding: CreateWorkflow<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextEmbedding = CreateWorkflow(TextEmbeddingTask);\n",
21
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst generatedTextSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The generated text\",\n} as const;\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextGenerationTask\"));\n\nexport const TextGenerationInputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n prompt: TypeReplicateArray({\n type: \"string\",\n title: \"Prompt\",\n description: \"The prompt to generate text from\",\n }),\n maxTokens: {\n type: \"number\",\n title: \"Max Tokens\",\n description: \"The maximum number of tokens to generate\",\n minimum: 1,\n maximum: 4096,\n \"x-ui-group\": \"Configuration\",\n },\n temperature: {\n type: \"number\",\n title: \"Temperature\",\n description: \"The temperature to use for sampling\",\n minimum: 0,\n maximum: 2,\n \"x-ui-group\": \"Configuration\",\n },\n topP: {\n type: \"number\",\n title: \"Top-p\",\n description: \"The top-p value to use for sampling\",\n minimum: 0,\n maximum: 1,\n \"x-ui-group\": \"Configuration\",\n },\n frequencyPenalty: {\n type: \"number\",\n title: \"Frequency Penalty\",\n description: \"The frequency penalty to use\",\n minimum: -2,\n maximum: 2,\n \"x-ui-group\": \"Configuration\",\n },\n presencePenalty: {\n type: \"number\",\n title: \"Presence Penalty\",\n description: \"The presence penalty to use\",\n minimum: -2,\n maximum: 2,\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"model\", \"prompt\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextGenerationOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [generatedTextSchema, { type: \"array\", items: generatedTextSchema }],\n title: generatedTextSchema.title,\n description: generatedTextSchema.description,\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextGenerationTaskInput = FromSchema<typeof TextGenerationInputSchema>;\nexport type TextGenerationTaskOutput = FromSchema<typeof TextGenerationOutputSchema>;\n\nexport class TextGenerationTask extends AiTask<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"TextGenerationTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Generation\";\n public static description =\n \"Generates text from a prompt using language models with configurable parameters\";\n public static inputSchema(): DataPortSchema {\n return TextGenerationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextGenerationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextGenerationTask);\n/**\n * Task for generating text using a language model\n */\nexport const TextGeneration = (input: TextGenerationTaskInput, config?: JobQueueTaskConfig) => {\n return new TextGenerationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextGeneration: CreateWorkflow<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextGeneration = CreateWorkflow(TextGenerationTask);\n",
22
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextLanguageDetectionTask\"));\n\nexport const TextLanguageDetectionInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to detect the language of\",\n }),\n maxLanguages: {\n oneOf: [\n {\n type: \"number\",\n minimum: 1,\n maximum: 1000,\n },\n {\n type: \"null\",\n },\n ],\n title: \"Max Languages\",\n description: \"The maximum number of languages to return\",\n },\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextLanguageDetectionOutputSchema = {\n type: \"object\",\n properties: {\n languages: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n language: {\n type: \"string\",\n title: \"Language\",\n description: \"The language\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this language\",\n },\n },\n required: [\"language\", \"score\"],\n additionalProperties: false,\n },\n title: \"Languages\",\n description: \"The languages with their scores\",\n },\n },\n required: [\"languages\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextLanguageDetectionTaskInput = FromSchema<typeof TextLanguageDetectionInputSchema>;\nexport type TextLanguageDetectionTaskOutput = FromSchema<typeof TextLanguageDetectionOutputSchema>;\n\n/**\n * Detects the language of text using language models\n */\nexport class TextLanguageDetectionTask extends AiTask<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput\n> {\n public static type = \"TextLanguageDetectionTask\";\n public static category = \"AI Text Model\";\n public static title = \"Language Detection\";\n public static description = \"Detects the language of text using language models\";\n public static inputSchema(): DataPortSchema {\n return TextLanguageDetectionInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextLanguageDetectionOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextLanguageDetectionTask);\n\n/**\n * Convenience function to run language detection tasks.\n * Creates and executes a TextLanguageDetectionTask with the provided input.\n * @param input The input parameters for language detection (text and model)\n * @returns Promise resolving to the languages with scores\n */\nexport const TextLanguageDetection = (\n input: TextLanguageDetectionTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new TextLanguageDetectionTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextLanguageDetection: CreateWorkflow<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextLanguageDetection = CreateWorkflow(TextLanguageDetectionTask);\n",
23
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst contextSchema = {\n type: \"string\",\n title: \"Context\",\n description: \"The context of the question\",\n} as const;\n\nconst questionSchema = {\n type: \"string\",\n title: \"Question\",\n description: \"The question to answer\",\n} as const;\n\nconst textSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The generated text\",\n} as const;\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextQuestionAnswerTask\"));\n\nexport const TextQuestionAnswerInputSchema = {\n type: \"object\",\n properties: {\n context: TypeReplicateArray(contextSchema),\n question: TypeReplicateArray(questionSchema),\n model: modelSchema,\n },\n required: [\"context\", \"question\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextQuestionAnswerOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [textSchema, { type: \"array\", items: textSchema }],\n title: textSchema.title,\n description: textSchema.description,\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextQuestionAnswerTaskInput = FromSchema<typeof TextQuestionAnswerInputSchema>;\nexport type TextQuestionAnswerTaskOutput = FromSchema<typeof TextQuestionAnswerOutputSchema>;\n\n/**\n * This is a special case of text generation that takes a context and a question\n */\nexport class TextQuestionAnswerTask extends AiTask<\n TextQuestionAnswerTaskInput,\n TextQuestionAnswerTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"TextQuestionAnswerTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Question Answer\";\n public static description = \"Answers questions based on provided context using language models\";\n public static inputSchema(): DataPortSchema {\n return TextQuestionAnswerInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextQuestionAnswerOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextQuestionAnswerTask);\n\n/**\n * Convenience function to run text question answer tasks.\n * Creates and executes a TextQuestionAnswerCompoundTask with the provided input.\n * @param input The input parameters for text question answer (context, question, and model)\n * @returns Promise resolving to the generated answer(s)\n */\nexport const TextQuestionAnswer = (\n input: TextQuestionAnswerTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new TextQuestionAnswerTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextQuestionAnswer: CreateWorkflow<\n TextQuestionAnswerTaskInput,\n TextQuestionAnswerTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextQuestionAnswer = CreateWorkflow(TextQuestionAnswerTask);\n",
24
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextRewriterTask\"));\n\nexport const TextRewriterInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to rewrite\",\n }),\n prompt: TypeReplicateArray({\n type: \"string\",\n title: \"Prompt\",\n description: \"The prompt to direct the rewriting\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"prompt\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextRewriterOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n title: \"Text\",\n description: \"The rewritten text\",\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextRewriterTaskInput = FromSchema<typeof TextRewriterInputSchema>;\nexport type TextRewriterTaskOutput = FromSchema<typeof TextRewriterOutputSchema>;\n\n/**\n * This is a special case of text generation that takes a prompt and text to rewrite\n */\nexport class TextRewriterTask extends AiTask<TextRewriterTaskInput, TextRewriterTaskOutput> {\n public static type = \"TextRewriterTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Rewriter\";\n public static description = \"Rewrites text according to a given prompt using language models\";\n public static inputSchema(): DataPortSchema {\n return TextRewriterInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextRewriterOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextRewriterTask);\n\n/**\n * Convenience function to run text rewriter tasks.\n * Creates and executes a TextRewriterCompoundTask with the provided input.\n * @param input The input parameters for text rewriting (text, prompt, and model)\n * @returns Promise resolving to the rewritten text output(s)\n */\nexport const TextRewriter = (input: TextRewriterTaskInput, config?: JobQueueTaskConfig) => {\n return new TextRewriterTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextRewriter: CreateWorkflow<TextRewriterTaskInput, TextRewriterTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.TextRewriter = CreateWorkflow(TextRewriterTask);\n",
25
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextSummaryTask\"));\n\nexport const TextSummaryInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to summarize\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextSummaryOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n title: \"Text\",\n description: \"The summarized text\",\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextSummaryTaskInput = FromSchema<typeof TextSummaryInputSchema>;\nexport type TextSummaryTaskOutput = FromSchema<typeof TextSummaryOutputSchema>;\n\n/**\n * This summarizes a piece of text\n */\n\nexport class TextSummaryTask extends AiTask<TextSummaryTaskInput, TextSummaryTaskOutput> {\n public static type = \"TextSummaryTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Summary\";\n public static description =\n \"Summarizes text into a shorter form while preserving key information\";\n public static inputSchema(): DataPortSchema {\n return TextSummaryInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextSummaryOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextSummaryTask);\n\n/**\n * Convenience function to run text summary tasks.\n * Creates and executes a text summary task with the provided input.\n * @param input The input parameters for text summary (text and model)\n * @returns Promise resolving to the summarized text output(s)\n */\nexport const TextSummary = async (input: TextSummaryTaskInput, config?: JobQueueTaskConfig) => {\n return new TextSummaryTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextSummary: CreateWorkflow<TextSummaryTaskInput, TextSummaryTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.TextSummary = CreateWorkflow(TextSummaryTask);\n",
26
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { TypeLanguage, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextTranslationTask\"));\n\nconst translationTextSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The translated text\",\n} as const;\n\nexport const TextTranslationInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to translate\",\n }),\n source_lang: TypeReplicateArray(\n TypeLanguage({\n title: \"Source Language\",\n description: \"The source language\",\n minLength: 2,\n maxLength: 2,\n })\n ),\n target_lang: TypeReplicateArray(\n TypeLanguage({\n title: \"Target Language\",\n description: \"The target language\",\n minLength: 2,\n maxLength: 2,\n })\n ),\n model: modelSchema,\n },\n required: [\"text\", \"source_lang\", \"target_lang\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextTranslationOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [translationTextSchema, { type: \"array\", items: translationTextSchema }],\n title: translationTextSchema.title,\n description: translationTextSchema.description,\n },\n target_lang: TypeLanguage({\n title: \"Output Language\",\n description: \"The output language\",\n minLength: 2,\n maxLength: 2,\n }),\n },\n required: [\"text\", \"target_lang\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextTranslationTaskInput = FromSchema<typeof TextTranslationInputSchema>;\nexport type TextTranslationTaskOutput = FromSchema<typeof TextTranslationOutputSchema>;\n\n/**\n * This translates text from one language to another\n */\nexport class TextTranslationTask extends AiTask<\n TextTranslationTaskInput,\n TextTranslationTaskOutput\n> {\n public static type = \"TextTranslationTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Translation\";\n public static description = \"Translates text from one language to another using language models\";\n public static inputSchema(): DataPortSchema {\n return TextTranslationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextTranslationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextTranslationTask);\n\n/**\n * Convenience function to run text translation tasks.\n * Creates and executes a TextTranslationCompoundTask with the provided input.\n * @param input The input parameters for text translation (text, model, source_lang, and target_lang)\n * @returns Promise resolving to the translated text output(s)\n */\nexport const TextTranslation = (input: TextTranslationTaskInput, config?: JobQueueTaskConfig) => {\n return new TextTranslationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextTranslation: CreateWorkflow<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextTranslation = CreateWorkflow(TextTranslationTask);\n",
19
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextClassifierTask\"));\n\nexport const TextClassifierInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to classify\",\n }),\n maxCategories: {\n oneOf: [\n {\n type: \"number\",\n minimum: 1,\n maximum: 1000,\n },\n {\n type: \"null\",\n },\n ],\n title: \"Max Categories\",\n description: \"The maximum number of categories to return\",\n },\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextClassifierOutputSchema = {\n type: \"object\",\n properties: {\n categories: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Label\",\n description: \"The name of the category\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this category\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n },\n title: \"Categories\",\n description: \"The classification categories with their scores\",\n },\n },\n required: [\"categories\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextClassifierTaskInput = FromSchema<typeof TextClassifierInputSchema>;\nexport type TextClassifierTaskOutput = FromSchema<typeof TextClassifierOutputSchema>;\nexport type TextClassifierTaskExecuteInput = DeReplicateFromSchema<\n typeof TextClassifierInputSchema\n>;\nexport type TextClassifierTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextClassifierOutputSchema\n>;\n\n/**\n * Classifies text into predefined categories using language models\n */\nexport class TextClassifierTask extends AiTask<TextClassifierTaskInput, TextClassifierTaskOutput> {\n public static type = \"TextClassifierTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Classifier\";\n public static description = \"Classifies text into predefined categories using language models\";\n public static inputSchema(): DataPortSchema {\n return TextClassifierInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextClassifierOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextClassifierTask);\n\n/**\n * Convenience function to run text classifier tasks.\n * Creates and executes a TextClassifierTask with the provided input.\n * @param input The input parameters for text classification (text and model)\n * @returns Promise resolving to the classification categories with scores\n */\nexport const TextClassifier = (input: TextClassifierTaskInput, config?: JobQueueTaskConfig) => {\n return new TextClassifierTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextClassifier: CreateWorkflow<\n TextClassifierTaskInput,\n TextClassifierTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextClassifier = CreateWorkflow(TextClassifierTask);\n",
20
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport {\n DeReplicateFromSchema,\n TypedArraySchema,\n TypedArraySchemaOptions,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextEmbeddingTask\"));\n\nexport const TextEmbeddingInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to embed\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextEmbeddingOutputSchema = {\n type: \"object\",\n properties: {\n vector: TypeReplicateArray(\n TypedArraySchema({\n title: \"Vector\",\n description: \"The vector embedding of the text\",\n })\n ),\n },\n required: [\"vector\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextEmbeddingTaskInput = FromSchema<\n typeof TextEmbeddingInputSchema,\n TypedArraySchemaOptions\n>;\nexport type TextEmbeddingTaskOutput = FromSchema<\n typeof TextEmbeddingOutputSchema,\n TypedArraySchemaOptions\n>;\nexport type TextEmbeddingTaskExecuteInput = DeReplicateFromSchema<typeof TextEmbeddingInputSchema>;\nexport type TextEmbeddingTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextEmbeddingOutputSchema\n>;\n\n/**\n * A task that generates vector embeddings for text using a specified embedding model.\n * Embeddings are numerical representations of text that capture semantic meaning,\n * useful for similarity comparisons and semantic search.\n *\n * @extends AiTask\n */\nexport class TextEmbeddingTask extends AiTask<TextEmbeddingTaskInput, TextEmbeddingTaskOutput> {\n public static type = \"TextEmbeddingTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Embedding\";\n public static description = \"Generates vector embeddings for text to capture semantic meaning\";\n public static inputSchema(): DataPortSchema {\n return TextEmbeddingInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextEmbeddingOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextEmbeddingTask);\n\n/**\n * Convenience function to create and run a text embedding task.\n * @param input - Input containing text(s) and model(s) for embedding\n * @returns Promise resolving to the generated embeddings\n */\nexport const TextEmbedding = async (input: TextEmbeddingTaskInput, config?: JobQueueTaskConfig) => {\n return new TextEmbeddingTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextEmbedding: CreateWorkflow<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextEmbedding = CreateWorkflow(TextEmbeddingTask);\n",
21
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst generatedTextSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The generated text\",\n} as const;\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextGenerationTask\"));\n\nexport const TextGenerationInputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n prompt: TypeReplicateArray({\n type: \"string\",\n title: \"Prompt\",\n description: \"The prompt to generate text from\",\n }),\n maxTokens: {\n type: \"number\",\n title: \"Max Tokens\",\n description: \"The maximum number of tokens to generate\",\n minimum: 1,\n maximum: 4096,\n \"x-ui-group\": \"Configuration\",\n },\n temperature: {\n type: \"number\",\n title: \"Temperature\",\n description: \"The temperature to use for sampling\",\n minimum: 0,\n maximum: 2,\n \"x-ui-group\": \"Configuration\",\n },\n topP: {\n type: \"number\",\n title: \"Top-p\",\n description: \"The top-p value to use for sampling\",\n minimum: 0,\n maximum: 1,\n \"x-ui-group\": \"Configuration\",\n },\n frequencyPenalty: {\n type: \"number\",\n title: \"Frequency Penalty\",\n description: \"The frequency penalty to use\",\n minimum: -2,\n maximum: 2,\n \"x-ui-group\": \"Configuration\",\n },\n presencePenalty: {\n type: \"number\",\n title: \"Presence Penalty\",\n description: \"The presence penalty to use\",\n minimum: -2,\n maximum: 2,\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"model\", \"prompt\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextGenerationOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [generatedTextSchema, { type: \"array\", items: generatedTextSchema }],\n title: generatedTextSchema.title,\n description: generatedTextSchema.description,\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextGenerationTaskInput = FromSchema<typeof TextGenerationInputSchema>;\nexport type TextGenerationTaskOutput = FromSchema<typeof TextGenerationOutputSchema>;\nexport type TextGenerationTaskExecuteInput = DeReplicateFromSchema<\n typeof TextGenerationInputSchema\n>;\nexport type TextGenerationTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextGenerationOutputSchema\n>;\n\nexport class TextGenerationTask extends AiTask<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"TextGenerationTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Generation\";\n public static description =\n \"Generates text from a prompt using language models with configurable parameters\";\n public static inputSchema(): DataPortSchema {\n return TextGenerationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextGenerationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextGenerationTask);\n/**\n * Task for generating text using a language model\n */\nexport const TextGeneration = (input: TextGenerationTaskInput, config?: JobQueueTaskConfig) => {\n return new TextGenerationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextGeneration: CreateWorkflow<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextGeneration = CreateWorkflow(TextGenerationTask);\n",
22
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextLanguageDetectionTask\"));\n\nexport const TextLanguageDetectionInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to detect the language of\",\n }),\n maxLanguages: {\n oneOf: [\n {\n type: \"number\",\n minimum: 1,\n maximum: 1000,\n },\n {\n type: \"null\",\n },\n ],\n title: \"Max Languages\",\n description: \"The maximum number of languages to return\",\n },\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextLanguageDetectionOutputSchema = {\n type: \"object\",\n properties: {\n languages: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n language: {\n type: \"string\",\n title: \"Language\",\n description: \"The language\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this language\",\n },\n },\n required: [\"language\", \"score\"],\n additionalProperties: false,\n },\n title: \"Languages\",\n description: \"The languages with their scores\",\n },\n },\n required: [\"languages\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextLanguageDetectionTaskInput = FromSchema<typeof TextLanguageDetectionInputSchema>;\nexport type TextLanguageDetectionTaskOutput = FromSchema<typeof TextLanguageDetectionOutputSchema>;\nexport type TextLanguageDetectionTaskExecuteInput = DeReplicateFromSchema<\n typeof TextLanguageDetectionInputSchema\n>;\nexport type TextLanguageDetectionTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextLanguageDetectionOutputSchema\n>;\n\n/**\n * Detects the language of text using language models\n */\nexport class TextLanguageDetectionTask extends AiTask<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput\n> {\n public static type = \"TextLanguageDetectionTask\";\n public static category = \"AI Text Model\";\n public static title = \"Language Detection\";\n public static description = \"Detects the language of text using language models\";\n public static inputSchema(): DataPortSchema {\n return TextLanguageDetectionInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextLanguageDetectionOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextLanguageDetectionTask);\n\n/**\n * Convenience function to run language detection tasks.\n * Creates and executes a TextLanguageDetectionTask with the provided input.\n * @param input The input parameters for language detection (text and model)\n * @returns Promise resolving to the languages with scores\n */\nexport const TextLanguageDetection = (\n input: TextLanguageDetectionTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new TextLanguageDetectionTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextLanguageDetection: CreateWorkflow<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextLanguageDetection = CreateWorkflow(TextLanguageDetectionTask);\n",
23
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst contextSchema = {\n type: \"string\",\n title: \"Context\",\n description: \"The context of the question\",\n} as const;\n\nconst questionSchema = {\n type: \"string\",\n title: \"Question\",\n description: \"The question to answer\",\n} as const;\n\nconst textSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The generated text\",\n} as const;\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextQuestionAnswerTask\"));\n\nexport const TextQuestionAnswerInputSchema = {\n type: \"object\",\n properties: {\n context: TypeReplicateArray(contextSchema),\n question: TypeReplicateArray(questionSchema),\n model: modelSchema,\n },\n required: [\"context\", \"question\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextQuestionAnswerOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [textSchema, { type: \"array\", items: textSchema }],\n title: textSchema.title,\n description: textSchema.description,\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextQuestionAnswerTaskInput = FromSchema<typeof TextQuestionAnswerInputSchema>;\nexport type TextQuestionAnswerTaskOutput = FromSchema<typeof TextQuestionAnswerOutputSchema>;\nexport type TextQuestionAnswerTaskExecuteInput = DeReplicateFromSchema<\n typeof TextQuestionAnswerInputSchema\n>;\nexport type TextQuestionAnswerTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextQuestionAnswerOutputSchema\n>;\n\n/**\n * This is a special case of text generation that takes a context and a question\n */\nexport class TextQuestionAnswerTask extends AiTask<\n TextQuestionAnswerTaskInput,\n TextQuestionAnswerTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"TextQuestionAnswerTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Question Answer\";\n public static description = \"Answers questions based on provided context using language models\";\n public static inputSchema(): DataPortSchema {\n return TextQuestionAnswerInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextQuestionAnswerOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextQuestionAnswerTask);\n\n/**\n * Convenience function to run text question answer tasks.\n * Creates and executes a TextQuestionAnswerCompoundTask with the provided input.\n * @param input The input parameters for text question answer (context, question, and model)\n * @returns Promise resolving to the generated answer(s)\n */\nexport const TextQuestionAnswer = (\n input: TextQuestionAnswerTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new TextQuestionAnswerTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextQuestionAnswer: CreateWorkflow<\n TextQuestionAnswerTaskInput,\n TextQuestionAnswerTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextQuestionAnswer = CreateWorkflow(TextQuestionAnswerTask);\n",
24
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextRewriterTask\"));\n\nexport const TextRewriterInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to rewrite\",\n }),\n prompt: TypeReplicateArray({\n type: \"string\",\n title: \"Prompt\",\n description: \"The prompt to direct the rewriting\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"prompt\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextRewriterOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n title: \"Text\",\n description: \"The rewritten text\",\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextRewriterTaskInput = FromSchema<typeof TextRewriterInputSchema>;\nexport type TextRewriterTaskOutput = FromSchema<typeof TextRewriterOutputSchema>;\nexport type TextRewriterTaskExecuteInput = DeReplicateFromSchema<typeof TextRewriterInputSchema>;\nexport type TextRewriterTaskExecuteOutput = DeReplicateFromSchema<typeof TextRewriterOutputSchema>;\n\n/**\n * This is a special case of text generation that takes a prompt and text to rewrite\n */\nexport class TextRewriterTask extends AiTask<TextRewriterTaskInput, TextRewriterTaskOutput> {\n public static type = \"TextRewriterTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Rewriter\";\n public static description = \"Rewrites text according to a given prompt using language models\";\n public static inputSchema(): DataPortSchema {\n return TextRewriterInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextRewriterOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextRewriterTask);\n\n/**\n * Convenience function to run text rewriter tasks.\n * Creates and executes a TextRewriterCompoundTask with the provided input.\n * @param input The input parameters for text rewriting (text, prompt, and model)\n * @returns Promise resolving to the rewritten text output(s)\n */\nexport const TextRewriter = (input: TextRewriterTaskInput, config?: JobQueueTaskConfig) => {\n return new TextRewriterTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextRewriter: CreateWorkflow<TextRewriterTaskInput, TextRewriterTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.TextRewriter = CreateWorkflow(TextRewriterTask);\n",
25
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextSummaryTask\"));\n\nexport const TextSummaryInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to summarize\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextSummaryOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n type: \"string\",\n title: \"Text\",\n description: \"The summarized text\",\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextSummaryTaskInput = FromSchema<typeof TextSummaryInputSchema>;\nexport type TextSummaryTaskOutput = FromSchema<typeof TextSummaryOutputSchema>;\nexport type TextSummaryTaskExecuteInput = DeReplicateFromSchema<typeof TextSummaryInputSchema>;\nexport type TextSummaryTaskExecuteOutput = DeReplicateFromSchema<typeof TextSummaryOutputSchema>;\n\n/**\n * This summarizes a piece of text\n */\n\nexport class TextSummaryTask extends AiTask<TextSummaryTaskInput, TextSummaryTaskOutput> {\n public static type = \"TextSummaryTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Summary\";\n public static description =\n \"Summarizes text into a shorter form while preserving key information\";\n public static inputSchema(): DataPortSchema {\n return TextSummaryInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextSummaryOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextSummaryTask);\n\n/**\n * Convenience function to run text summary tasks.\n * Creates and executes a text summary task with the provided input.\n * @param input The input parameters for text summary (text and model)\n * @returns Promise resolving to the summarized text output(s)\n */\nexport const TextSummary = async (input: TextSummaryTaskInput, config?: JobQueueTaskConfig) => {\n return new TextSummaryTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextSummary: CreateWorkflow<TextSummaryTaskInput, TextSummaryTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.TextSummary = CreateWorkflow(TextSummaryTask);\n",
26
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport {\n DeReplicateFromSchema,\n TypeLanguage,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextTranslationTask\"));\n\nconst translationTextSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The translated text\",\n} as const;\n\nexport const TextTranslationInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to translate\",\n }),\n source_lang: TypeReplicateArray(\n TypeLanguage({\n title: \"Source Language\",\n description: \"The source language\",\n minLength: 2,\n maxLength: 2,\n })\n ),\n target_lang: TypeReplicateArray(\n TypeLanguage({\n title: \"Target Language\",\n description: \"The target language\",\n minLength: 2,\n maxLength: 2,\n })\n ),\n model: modelSchema,\n },\n required: [\"text\", \"source_lang\", \"target_lang\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextTranslationOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [translationTextSchema, { type: \"array\", items: translationTextSchema }],\n title: translationTextSchema.title,\n description: translationTextSchema.description,\n },\n target_lang: TypeLanguage({\n title: \"Output Language\",\n description: \"The output language\",\n minLength: 2,\n maxLength: 2,\n }),\n },\n required: [\"text\", \"target_lang\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextTranslationTaskInput = FromSchema<typeof TextTranslationInputSchema>;\nexport type TextTranslationTaskOutput = FromSchema<typeof TextTranslationOutputSchema>;\nexport type TextTranslationTaskExecuteInput = DeReplicateFromSchema<\n typeof TextTranslationInputSchema\n>;\nexport type TextTranslationTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextTranslationOutputSchema\n>;\n\n/**\n * This translates text from one language to another\n */\nexport class TextTranslationTask extends AiTask<\n TextTranslationTaskInput,\n TextTranslationTaskOutput\n> {\n public static type = \"TextTranslationTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Translation\";\n public static description = \"Translates text from one language to another using language models\";\n public static inputSchema(): DataPortSchema {\n return TextTranslationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextTranslationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextTranslationTask);\n\n/**\n * Convenience function to run text translation tasks.\n * Creates and executes a TextTranslationCompoundTask with the provided input.\n * @param input The input parameters for text translation (text, model, source_lang, and target_lang)\n * @returns Promise resolving to the translated text output(s)\n */\nexport const TextTranslation = (input: TextTranslationTaskInput, config?: JobQueueTaskConfig) => {\n return new TextTranslationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextTranslation: CreateWorkflow<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextTranslation = CreateWorkflow(TextTranslationTask);\n",
27
27
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model\"));\n\nconst UnloadModelInputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst UnloadModelOutputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type UnloadModelTaskRunInput = FromSchema<typeof UnloadModelInputSchema>;\nexport type UnloadModelTaskRunOutput = FromSchema<typeof UnloadModelOutputSchema>;\nexport type UnloadModelTaskExecuteInput = DeReplicateFromSchema<typeof UnloadModelInputSchema>;\nexport type UnloadModelTaskExecuteOutput = DeReplicateFromSchema<\n typeof UnloadModelOutputSchema\n>;\n\n/**\n * Unload a model from memory and clear its cache.\n *\n * @remarks\n * This task has a side effect of removing the model from memory and deleting cached files\n */\nexport class UnloadModelTask extends AiTask<\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n JobQueueTaskConfig\n> {\n public static type = \"UnloadModelTask\";\n public static category = \"Hidden\";\n public static title = \"Unload Model\";\n public static description = \"Unloads and clears cached AI models from memory and storage\";\n public static inputSchema(): DataPortSchema {\n return UnloadModelInputSchema satisfies DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return UnloadModelOutputSchema satisfies DataPortSchema;\n }\n public static cacheable = false;\n}\n\nTaskRegistry.registerTask(UnloadModelTask);\n\n/**\n * Unload a model from memory and clear its cache.\n *\n * @param input - Input containing model(s) to unload\n * @returns Promise resolving to the unloaded model(s)\n */\nexport const UnloadModel = (input: UnloadModelTaskRunInput, config?: JobQueueTaskConfig) => {\n return new UnloadModelTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n UnloadModel: CreateWorkflow<\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.UnloadModel = CreateWorkflow(UnloadModelTask);\n\n",
28
28
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n ArrayTask,\n CreateWorkflow,\n JobQueueTaskConfig,\n TaskError,\n TaskRegistry,\n Workflow,\n} from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { TypedArray, TypedArraySchema, TypedArraySchemaOptions } from \"./base/AiTaskSchemas\";\n\nexport const SimilarityFn = {\n COSINE: \"cosine\",\n JACCARD: \"jaccard\",\n HAMMING: \"hamming\",\n} as const;\n\nexport type SimilarityFn = (typeof SimilarityFn)[keyof typeof SimilarityFn];\n\nconst SimilarityInputSchema = {\n type: \"object\",\n properties: {\n query: TypedArraySchema({\n title: \"Query\",\n description: \"Query vector to compare against\",\n }),\n input: {\n type: \"array\",\n items: TypedArraySchema({\n title: \"Input\",\n description: \"Array of vectors to compare against the query\",\n }),\n },\n topK: {\n type: \"number\",\n title: \"Top K\",\n description: \"Number of top results to return\",\n minimum: 1,\n default: 10,\n },\n similarity: {\n type: \"string\",\n enum: Object.values(SimilarityFn),\n title: \"Similarity 𝑓\",\n description: \"Similarity function to use for comparisons\",\n default: SimilarityFn.COSINE,\n },\n },\n required: [\"query\", \"input\", \"similarity\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst SimilarityOutputSchema = {\n type: \"object\",\n properties: {\n output: {\n type: \"array\",\n items: TypedArraySchema({\n title: \"Output\",\n description: \"Ranked output vectors\",\n }),\n },\n score: {\n type: \"array\",\n items: {\n type: \"number\",\n title: \"Score\",\n description: \"Similarity scores for each output vector\",\n },\n },\n },\n required: [\"output\", \"score\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type VectorSimilarityTaskInput = FromSchema<\n typeof SimilarityInputSchema,\n TypedArraySchemaOptions\n>;\nexport type VectorSimilarityTaskOutput = FromSchema<\n typeof SimilarityOutputSchema,\n TypedArraySchemaOptions\n>;\n\nexport class VectorSimilarityTask extends ArrayTask<\n VectorSimilarityTaskInput,\n VectorSimilarityTaskOutput,\n JobQueueTaskConfig\n> {\n static readonly type = \"VectorSimilarityTask\";\n static readonly category = \"Analysis\";\n static readonly title = \"Vector Similarity\";\n public static description =\n \"Compares vectors using similarity functions and returns top-K ranked results\";\n static readonly cacheable = true;\n\n public static override inputSchema(): DataPortSchema {\n return SimilarityInputSchema as DataPortSchema;\n }\n public static override outputSchema(): DataPortSchema {\n return SimilarityOutputSchema as DataPortSchema;\n }\n\n // @ts-ignore (TODO: fix this)\n async executeReactive(\n { query, input, similarity, topK }: VectorSimilarityTaskInput,\n oldOutput: VectorSimilarityTaskOutput\n ) {\n let similarities = [];\n const fns = { cosine };\n const fnName = similarity as keyof typeof fns;\n const fn = fns[fnName];\n\n for (const embedding of input) {\n similarities.push({\n similarity: fn(embedding, query),\n embedding,\n });\n }\n similarities = similarities.sort((a, b) => b.similarity - a.similarity).slice(0, topK);\n\n const outputs = similarities.map((s) => s.embedding);\n const scores = similarities.map((s) => s.similarity);\n return {\n output: outputs,\n score: scores,\n };\n }\n}\n\nTaskRegistry.registerTask(VectorSimilarityTask);\n\nexport const Similarity = (input: VectorSimilarityTaskInput, config?: JobQueueTaskConfig) => {\n return new VectorSimilarityTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n Similarity: CreateWorkflow<\n VectorSimilarityTaskInput,\n VectorSimilarityTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.Similarity = CreateWorkflow(VectorSimilarityTask);\n\n// ===============================================================================\n\nexport function inner(arr1: TypedArray, arr2: TypedArray): number {\n // @ts-ignore\n return 1 - arr1.reduce((acc, val, i) => acc + val * arr2[i], 0);\n}\n\nexport function magnitude(arr: TypedArray) {\n // @ts-ignore\n return Math.sqrt(arr.reduce((acc, val) => acc + val * val, 0));\n}\n\nfunction cosine(arr1: TypedArray, arr2: TypedArray) {\n const dotProduct = inner(arr1, arr2);\n const magnitude1 = magnitude(arr1);\n const magnitude2 = magnitude(arr2);\n return 1 - dotProduct / (magnitude1 * magnitude2);\n}\n\nexport function normalize(vector: TypedArray): TypedArray {\n const mag = magnitude(vector);\n\n if (mag === 0) {\n throw new TaskError(\"Cannot normalize a zero vector.\");\n }\n\n const normalized = vector.map((val) => Number(val) / mag);\n\n if (vector instanceof Float64Array) {\n return new Float64Array(normalized);\n }\n if (vector instanceof Float32Array) {\n return new Float32Array(normalized);\n }\n // For integer arrays and bigint[], use Float32Array since normalization produces floats\n return new Float32Array(normalized);\n}\n"
29
29
  ],
30
- "mappings": "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",
30
+ "mappings": "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",
31
31
  "debugId": "9EADFBC77D1F6A3764756E2164756E21",
32
32
  "names": []
33
33
  }