@workglow/ai 0.0.57 → 0.0.58
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/README.md +44 -9
- package/dist/browser.js +23 -13
- package/dist/browser.js.map +4 -4
- package/dist/bun.js +23 -13
- package/dist/bun.js.map +4 -4
- package/dist/node.js +23 -13
- package/dist/node.js.map +4 -4
- package/dist/task/TextTranslationTask.d.ts.map +1 -1
- package/dist/task/base/AiTask.d.ts +12 -3
- package/dist/task/base/AiTask.d.ts.map +1 -1
- package/package.json +9 -9
package/dist/node.js.map
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Document, DocumentMetadata } from \"./Document\";\n\n/**\n * Abstract class for converting different types of content into a Document.\n */\nexport abstract class DocumentConverter {\n public metadata: DocumentMetadata;\n constructor(metadata: DocumentMetadata) {\n this.metadata = metadata;\n }\n public abstract convert(): Document;\n}\n",
|
|
12
12
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Document, type DocumentMetadata, type DocumentSection } from \"./Document\";\nimport { DocumentConverter } from \"./DocumentConverter\";\n\nexport class DocumentConverterMarkdown extends DocumentConverter {\n constructor(\n metadata: DocumentMetadata,\n public markdown: string\n ) {\n super(metadata);\n }\n public convert(): Document {\n const parser = new MarkdownParser(this.metadata.title);\n const document = parser.parse(this.markdown);\n return document;\n }\n}\n\nclass MarkdownParser {\n private document: Document;\n private currentSection: Document | DocumentSection;\n private textBuffer: string[] = []; // Buffer to accumulate text lines\n\n constructor(title: string) {\n this.document = new Document(title);\n this.currentSection = this.document;\n }\n\n parse(markdown: string): Document {\n const lines = markdown.split(\"\\n\");\n\n lines.forEach((line, index) => {\n if (this.isHeader(line)) {\n this.flushTextBuffer();\n const { level, content } = this.parseHeader(line);\n this.currentSection =\n level === 1 ? this.document.addSection(content) : this.currentSection.addSection(content);\n } else if (this.isTableStart(line)) {\n this.flushTextBuffer();\n const tableLines = this.collectTableLines(lines, index);\n this.currentSection.addTable(tableLines.join(\"\\n\"));\n } else if (this.isImageInline(line)) {\n this.parseLineWithPossibleImages(line);\n } else {\n this.textBuffer.push(line); // Accumulate text lines in the buffer\n }\n });\n\n this.flushTextBuffer(); // Flush any remaining text in the buffer\n return this.document;\n }\n\n private flushTextBuffer() {\n if (this.textBuffer.length > 0) {\n const textContent = this.textBuffer.join(\"\\n\").trim();\n if (textContent) {\n this.currentSection.addText(textContent);\n }\n this.textBuffer = []; // Clear the buffer after flushing\n }\n }\n\n private parseLineWithPossibleImages(line: string) {\n // Split the line by image markdown, keeping the delimiter (image markdown)\n const parts = line.split(/(!\\[.*?\\]\\(.*?\\))/).filter((part) => part !== \"\");\n parts.forEach((part) => {\n if (this.isImage(part)) {\n const { alt, src } = this.parseImage(part);\n this.flushTextBuffer();\n this.currentSection.addImage({ alt, src });\n } else {\n this.textBuffer.push(part);\n }\n });\n this.flushTextBuffer();\n }\n\n private isHeader(line: string): boolean {\n return /^#{1,6}\\s/.test(line);\n }\n\n private parseHeader(line: string): { level: number; content: string } {\n const match = line.match(/^(#{1,6})\\s+(.*)$/);\n return match ? { level: match[1].length, content: match[2] } : { level: 0, content: \"\" };\n }\n\n private isTableStart(line: string): boolean {\n return line.trim().startsWith(\"|\") && line.includes(\"|\", line.indexOf(\"|\") + 1);\n }\n\n private collectTableLines(lines: string[], startIndex: number): string[] {\n const tableLines = [];\n for (let i = startIndex; i < lines.length && this.isTableLine(lines[i]); i++) {\n tableLines.push(lines[i]);\n }\n return tableLines;\n }\n\n private isTableLine(line: string): boolean {\n return line.includes(\"|\");\n }\n\n private isImageInline(line: string): boolean {\n return line.includes(\";\n }\n\n private isImage(part: string): boolean {\n return /^!\\[.*\\]\\(.*\\)$/.test(part);\n }\n\n private parseImage(markdown: string): { alt: string; src: string } {\n const match = markdown.match(/^!\\[(.*)\\]\\((.*)\\)$/);\n return match ? { alt: match[1], src: match[2] } : { alt: \"\", src: \"\" };\n }\n}\n",
|
|
13
13
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Document, DocumentMetadata } from \"./Document\";\nimport { DocumentConverter } from \"./DocumentConverter\";\n\nexport class DocumentConverterText extends DocumentConverter {\n constructor(\n metadata: DocumentMetadata,\n public text: string\n ) {\n super(metadata);\n }\n public convert(): Document {\n return new Document(this.text, this.metadata);\n }\n}\n",
|
|
14
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @description This file contains the implementation of the JobQueueTask class and its derived classes.\n */\n\nimport { Job
|
|
14
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @description This file contains the implementation of the JobQueueTask class and its derived classes.\n */\n\nimport { Job } from \"@workglow/job-queue\";\nimport {\n JobQueueTask,\n JobQueueTaskConfig,\n TaskConfigurationError,\n TaskInput,\n type TaskOutput,\n} from \"@workglow/task-graph\";\nimport { type JsonSchema } from \"@workglow/util\";\n\nimport { AiJob, AiJobInput } from \"../../job/AiJob\";\nimport type { Model } from \"../../model/Model\";\nimport { getGlobalModelRepository } from \"../../model/ModelRegistry\";\n\nfunction schemaFormat(schema: JsonSchema): string | undefined {\n return typeof schema === \"object\" && schema !== null && \"format\" in schema\n ? schema.format\n : undefined;\n}\n\nexport interface AiSingleTaskInput extends TaskInput {\n model: string;\n}\n\nexport interface AiArrayTaskInput extends TaskInput {\n model: string | string[];\n}\n\n/**\n * A base class for AI related tasks that run in a job queue.\n * Extends the JobQueueTask class to provide LLM-specific functionality.\n */\nexport class AiTask<\n Input extends AiArrayTaskInput = AiArrayTaskInput,\n Output extends TaskOutput = TaskOutput,\n Config extends JobQueueTaskConfig = JobQueueTaskConfig,\n> extends JobQueueTask<Input, Output, Config> {\n public static type: string = \"AiTask\";\n private modelCache?: { name: string; model: Model };\n\n /**\n * Creates a new AiTask instance\n * @param config - Configuration object for the task\n */\n constructor(input: Input = {} as Input, config: Config = {} as Config) {\n config.name ||= `${new.target.type || new.target.name}${\n input.model ? \" with model \" + input.model : \"\"\n }`;\n super(input, config);\n }\n\n // ========================================================================\n // Job creation\n // ========================================================================\n\n /**\n * Get the input to submit to the job queue.\n * Transforms the task input to AiJobInput format.\n * @param input - The task input\n * @returns The AiJobInput to submit to the queue\n */\n protected override async getJobInput(input: Input): Promise<AiJobInput<Input>> {\n if (typeof input.model !== \"string\") {\n console.error(\"AiTask: Model is not a string\", input);\n throw new TaskConfigurationError(\n \"AiTask: Model is not a string, only create job for single model tasks\"\n );\n }\n const runtype = (this.constructor as any).runtype ?? (this.constructor as any).type;\n const model = await this.getModelForInput(input as AiSingleTaskInput);\n\n return {\n taskType: runtype,\n aiProvider: model.provider,\n taskInput: input as Input & { model: string },\n };\n }\n\n /**\n * Creates a new Job instance for direct execution (without a queue).\n * @param input - The task input\n * @param queueName - The queue name (if any)\n * @returns Promise<Job> - The created job\n */\n override async createJob(\n input: Input,\n queueName?: string\n ): Promise<Job<AiJobInput<Input>, Output>> {\n const jobInput = await this.getJobInput(input);\n const resolvedQueueName = queueName ?? (await this.getDefaultQueueName(input));\n if (!resolvedQueueName) {\n throw new TaskConfigurationError(\"JobQueueTask: Unable to determine queue for AI provider\");\n }\n const job = new AiJob<AiJobInput<Input>, Output>({\n queueName: resolvedQueueName,\n jobRunId: this.config.runnerId, // could be undefined\n input: jobInput,\n });\n return job;\n }\n\n protected async getModelForInput(input: AiSingleTaskInput): Promise<Model> {\n const modelname = input.model;\n if (!modelname) throw new TaskConfigurationError(\"AiTask: No model name found\");\n if (this.modelCache && this.modelCache.name === modelname) {\n return this.modelCache.model;\n }\n const model = await getGlobalModelRepository().findByName(modelname);\n if (!model) {\n throw new TaskConfigurationError(`JobQueueTask: No model ${modelname} found`);\n }\n this.modelCache = { name: modelname, model };\n return model;\n }\n\n protected override async getDefaultQueueName(input: Input): Promise<string | undefined> {\n if (typeof input.model === \"string\") {\n const model = await this.getModelForInput(input as AiSingleTaskInput);\n return model.provider;\n }\n return undefined;\n }\n\n /**\n * Validates that a model name really exists\n * @param schema The schema to validate against\n * @param item The item to validate\n * @returns True if the item is valid, false otherwise\n */\n async validateInput(input: Input): Promise<boolean> {\n // TODO(str): this is very inefficient, we should cache the results, including intermediate results\n const inputSchema = this.inputSchema();\n if (typeof inputSchema === \"boolean\") {\n if (inputSchema === false) {\n throw new TaskConfigurationError(`AiTask: Input schema is 'false' and accepts no inputs`);\n }\n return true;\n }\n const modelTaskProperties = Object.entries<JsonSchema>(\n (inputSchema.properties || {}) as Record<string, JsonSchema>\n ).filter(([key, schema]) => schemaFormat(schema)?.startsWith(\"model:\"));\n if (modelTaskProperties.length > 0) {\n const taskModels = await getGlobalModelRepository().findModelsByTask(this.type);\n for (const [key, propSchema] of modelTaskProperties) {\n let requestedModels = Array.isArray(input[key]) ? input[key] : [input[key]];\n for (const model of requestedModels) {\n const foundModel = taskModels?.find((m) => m.name === model);\n if (!foundModel) {\n throw new TaskConfigurationError(\n `AiTask: Missing model for '${key}' named '${model}' for task '${this.type}'`\n );\n }\n }\n }\n }\n const modelPlainProperties = Object.entries<JsonSchema>(\n (inputSchema.properties || {}) as Record<string, JsonSchema>\n ).filter(([key, schema]) => schemaFormat(schema) === \"model\");\n if (modelPlainProperties.length > 0) {\n for (const [key, propSchema] of modelPlainProperties) {\n let requestedModels = Array.isArray(input[key]) ? input[key] : [input[key]];\n for (const model of requestedModels) {\n const foundModel = await getGlobalModelRepository().findByName(model);\n if (!foundModel) {\n throw new TaskConfigurationError(`AiTask: Missing model for \"${key}\" named \"${model}\"`);\n }\n }\n }\n }\n\n return super.validateInput(input);\n }\n\n // dataflows can strip some models that are incompatible with the target task\n // if all of them are stripped, then the task will fail in validateInput\n async narrowInput(input: Input): Promise<Input> {\n // TODO(str): this is very inefficient, we should cache the results, including intermediate results\n const inputSchema = this.inputSchema();\n if (typeof inputSchema === \"boolean\") {\n if (inputSchema === false) {\n throw new TaskConfigurationError(`AiTask: Input schema is 'false' and accepts no inputs`);\n }\n return input;\n }\n const modelTaskProperties = Object.entries<JsonSchema>(\n (inputSchema.properties || {}) as Record<string, JsonSchema>\n ).filter(([key, schema]) => schemaFormat(schema)?.startsWith(\"model:\"));\n if (modelTaskProperties.length > 0) {\n const taskModels = await getGlobalModelRepository().findModelsByTask(this.type);\n for (const [key, propSchema] of modelTaskProperties) {\n let requestedModels = Array.isArray(input[key]) ? input[key] : [input[key]];\n let usingModels = requestedModels.filter((model: string) =>\n taskModels?.find((m) => m.name === model)\n );\n\n // we alter input to be the models that were found for this kind of input\n usingModels = usingModels.length > 1 ? usingModels : usingModels[0];\n (input as any)[key] = usingModels;\n }\n }\n return input;\n }\n}\n",
|
|
15
15
|
"/**\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\";\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 // \"x-semantic\": \"BigInt\" | \"Float64\";\n // };\n // output: bigint;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Float64Array\";\n // };\n // output: Float64Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Float32Array\";\n // };\n // output: Float32Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Int32Array\";\n // };\n // output: Int32Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Int16Array\";\n // };\n // output: Int16Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Int8Array\";\n // };\n // output: Int8Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Uint8Array\";\n // };\n // output: Uint8Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Uint16Array\";\n // };\n // output: Uint16Array;\n // },\n // {\n // pattern: {\n // type: \"number\";\n // \"x-semantic\": \"Uint32Array\";\n // };\n // output: Uint32Array;\n // },\n // {\n // pattern: { type: \"array\"; items: { type: \"number\" }; \"x-semantic\": \"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 TypeModel<\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;\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",
|
|
16
16
|
"/**\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",
|
|
17
17
|
"/**\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",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
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 { 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",
|
|
21
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 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",
|
|
22
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: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",
|
|
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 { 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 })\n ),\n target_lang: TypeReplicateArray(\n TypeLanguage({\n title: \"Target Language\",\n description: \"The target language\",\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 }),\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",
|
|
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 { 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",
|
|
24
24
|
"/**\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",
|
|
25
25
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IndexedDbTabularRepository } from \"@workglow/storage\";\nimport {\n ModelPrimaryKeyNames,\n ModelRepository,\n ModelSchema,\n Task2ModelPrimaryKeyNames,\n Task2ModelSchema,\n} from \"../ModelRepository\";\n\n/**\n * IndexedDB implementation of a model repository.\n * Provides storage and retrieval for models and task-to-model mappings.\n */\nexport class IndexedDbModelRepository extends ModelRepository {\n modelTabularRepository: IndexedDbTabularRepository<\n typeof ModelSchema,\n typeof ModelPrimaryKeyNames\n >;\n task2ModelTabularRepository: IndexedDbTabularRepository<\n typeof Task2ModelSchema,\n typeof Task2ModelPrimaryKeyNames\n >;\n public type = \"IndexedDbModelRepository\" as const;\n\n constructor(tableModels: string = \"models\", tableTask2Models: string = \"task2models\") {\n super();\n this.modelTabularRepository = new IndexedDbTabularRepository(\n tableModels,\n ModelSchema,\n ModelPrimaryKeyNames\n );\n this.task2ModelTabularRepository = new IndexedDbTabularRepository(\n tableTask2Models,\n Task2ModelSchema,\n Task2ModelPrimaryKeyNames,\n [\"model\"]\n );\n }\n}\n",
|
|
26
26
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { PostgresTabularRepository } from \"@workglow/storage\";\nimport { Pool } from \"pg\";\nimport {\n ModelPrimaryKeyNames,\n ModelRepository,\n ModelSchema,\n Task2ModelPrimaryKeyNames,\n Task2ModelSchema,\n} from \"../ModelRepository\";\n\n/**\n * PostgreSQL implementation of a model repository.\n * Provides storage and retrieval for models and task-to-model mappings using PostgreSQL.\n */\nexport class PostgresModelRepository extends ModelRepository {\n public type = \"PostgresModelRepository\" as const;\n modelTabularRepository: PostgresTabularRepository<\n typeof ModelSchema,\n typeof ModelPrimaryKeyNames\n >;\n task2ModelTabularRepository: PostgresTabularRepository<\n typeof Task2ModelSchema,\n typeof Task2ModelPrimaryKeyNames\n >;\n\n constructor(\n db: Pool,\n tableModels: string = \"aimodel\",\n tableTask2Models: string = \"aitask2aimodel\"\n ) {\n super();\n this.modelTabularRepository = new PostgresTabularRepository(\n db,\n tableModels,\n ModelSchema,\n ModelPrimaryKeyNames\n );\n this.task2ModelTabularRepository = new PostgresTabularRepository(\n db,\n tableTask2Models,\n Task2ModelSchema,\n Task2ModelPrimaryKeyNames,\n [\"model\"]\n );\n }\n}\n",
|
|
27
27
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { SqliteTabularRepository } from \"@workglow/storage\";\nimport {\n ModelPrimaryKeyNames,\n ModelRepository,\n ModelSchema,\n Task2ModelPrimaryKeyNames,\n Task2ModelSchema,\n} from \"../ModelRepository\";\n\n/**\n * SQLite implementation of a model repository.\n * Provides storage and retrieval for models and task-to-model mappings using SQLite.\n */\nexport class SqliteModelRepository extends ModelRepository {\n public type = \"SqliteModelRepository\" as const;\n modelTabularRepository: SqliteTabularRepository<typeof ModelSchema, typeof ModelPrimaryKeyNames>;\n task2ModelTabularRepository: SqliteTabularRepository<\n typeof Task2ModelSchema,\n typeof Task2ModelPrimaryKeyNames\n >;\n constructor(\n dbOrPath: string,\n tableModels: string = \"aimodel\",\n tableTask2Models: string = \"aitask2aimodel\"\n ) {\n super();\n this.modelTabularRepository = new SqliteTabularRepository(\n dbOrPath,\n tableModels,\n ModelSchema,\n ModelPrimaryKeyNames\n );\n this.task2ModelTabularRepository = new SqliteTabularRepository(\n dbOrPath,\n tableTask2Models,\n Task2ModelSchema,\n Task2ModelPrimaryKeyNames,\n [\"model\"]\n );\n }\n}\n"
|
|
28
28
|
],
|
|
29
|
-
"mappings": "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",
|
|
30
|
-
"debugId": "
|
|
29
|
+
"mappings": "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",
|
|
30
|
+
"debugId": "5FEFE6A998AB63D364756E2164756E21",
|
|
31
31
|
"names": []
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextTranslationTask.d.ts","sourceRoot":"","sources":["../../src/task/TextTranslationTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAA0B,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAWvC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TextTranslationTask.d.ts","sourceRoot":"","sources":["../../src/task/TextTranslationTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAA0B,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAWvC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BJ,CAAC;AAEpC,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBL,CAAC;AAEpC,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACrF,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEvF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,MAAM,CAC7C,wBAAwB,EACxB,yBAAyB,CAC1B;IACC,OAAc,IAAI,SAAyB;IAC3C,OAAc,QAAQ,SAAmB;IACzC,OAAc,KAAK,SAAsB;IACzC,OAAc,WAAW,SAAwE;WACnF,WAAW,IAAI,cAAc;WAG7B,YAAY,IAAI,cAAc;CAG7C;AAID;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,wBAAwB,EAAE,SAAS,kBAAkB;;;EAE3F,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,eAAe,EAAE,cAAc,CAC7B,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,CACnB,CAAC;KACH;CACF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* @description This file contains the implementation of the JobQueueTask class and its derived classes.
|
|
8
8
|
*/
|
|
9
|
-
import { Job
|
|
9
|
+
import { Job } from "@workglow/job-queue";
|
|
10
10
|
import { JobQueueTask, JobQueueTaskConfig, TaskInput, type TaskOutput } from "@workglow/task-graph";
|
|
11
11
|
import { AiJobInput } from "../../job/AiJob";
|
|
12
12
|
import type { Model } from "../../model/Model";
|
|
@@ -29,10 +29,19 @@ export declare class AiTask<Input extends AiArrayTaskInput = AiArrayTaskInput, O
|
|
|
29
29
|
*/
|
|
30
30
|
constructor(input?: Input, config?: Config);
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Get the input to submit to the job queue.
|
|
33
|
+
* Transforms the task input to AiJobInput format.
|
|
34
|
+
* @param input - The task input
|
|
35
|
+
* @returns The AiJobInput to submit to the queue
|
|
36
|
+
*/
|
|
37
|
+
protected getJobInput(input: Input): Promise<AiJobInput<Input>>;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a new Job instance for direct execution (without a queue).
|
|
40
|
+
* @param input - The task input
|
|
41
|
+
* @param queueName - The queue name (if any)
|
|
33
42
|
* @returns Promise<Job> - The created job
|
|
34
43
|
*/
|
|
35
|
-
createJob(input: Input,
|
|
44
|
+
createJob(input: Input, queueName?: string): Promise<Job<AiJobInput<Input>, Output>>;
|
|
36
45
|
protected getModelForInput(input: AiSingleTaskInput): Promise<Model>;
|
|
37
46
|
protected getDefaultQueueName(input: Input): Promise<string | undefined>;
|
|
38
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiTask.d.ts","sourceRoot":"","sources":["../../../src/task/base/AiTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"AiTask.d.ts","sourceRoot":"","sources":["../../../src/task/base/AiTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAElB,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAS,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS/C,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,MAAM,CACjB,KAAK,SAAS,gBAAgB,GAAG,gBAAgB,EACjD,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAc,IAAI,EAAE,MAAM,CAAY;IACtC,OAAO,CAAC,UAAU,CAAC,CAAiC;IAEpD;;;OAGG;gBACS,KAAK,GAAE,KAAmB,EAAE,MAAM,GAAE,MAAqB;IAWrE;;;;;OAKG;cACsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAiB9E;;;;;OAKG;IACY,SAAS,CACtB,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;cAc1B,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;cAcjD,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQvF;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C7C,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA2BhD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workglow/ai",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.58",
|
|
5
5
|
"description": "Core AI functionality for Workglow, including task execution, model management, and AI pipeline orchestration.",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"watch": "concurrently -c 'auto' 'bun:watch-*'",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@workglow/job-queue": "0.0.
|
|
40
|
-
"@workglow/storage": "0.0.
|
|
41
|
-
"@workglow/task-graph": "0.0.
|
|
42
|
-
"@workglow/util": "0.0.
|
|
39
|
+
"@workglow/job-queue": "0.0.58",
|
|
40
|
+
"@workglow/storage": "0.0.58",
|
|
41
|
+
"@workglow/task-graph": "0.0.58",
|
|
42
|
+
"@workglow/util": "0.0.58",
|
|
43
43
|
"pg": "^8.16.3"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@workglow/job-queue": "0.0.
|
|
61
|
-
"@workglow/storage": "0.0.
|
|
62
|
-
"@workglow/task-graph": "0.0.
|
|
63
|
-
"@workglow/util": "0.0.
|
|
60
|
+
"@workglow/job-queue": "0.0.58",
|
|
61
|
+
"@workglow/storage": "0.0.58",
|
|
62
|
+
"@workglow/task-graph": "0.0.58",
|
|
63
|
+
"@workglow/util": "0.0.58",
|
|
64
64
|
"@types/pg": "^8.15.5",
|
|
65
65
|
"pg": "^8.16.3"
|
|
66
66
|
}
|