@workglow/ai 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +8 -7
  2. package/dist/browser.js +1436 -397
  3. package/dist/browser.js.map +64 -58
  4. package/dist/bun.js +1436 -397
  5. package/dist/bun.js.map +64 -58
  6. package/dist/common.d.ts +1 -0
  7. package/dist/common.d.ts.map +1 -1
  8. package/dist/execution/DirectExecutionStrategy.d.ts +1 -1
  9. package/dist/execution/DirectExecutionStrategy.d.ts.map +1 -1
  10. package/dist/execution/QueuedExecutionStrategy.d.ts +2 -2
  11. package/dist/execution/QueuedExecutionStrategy.d.ts.map +1 -1
  12. package/dist/job/AiJob.d.ts +2 -1
  13. package/dist/job/AiJob.d.ts.map +1 -1
  14. package/dist/model/ModelRegistry.d.ts.map +1 -1
  15. package/dist/model/ModelRepository.d.ts +11 -15
  16. package/dist/model/ModelRepository.d.ts.map +1 -1
  17. package/dist/model/ModelSchema.d.ts.map +1 -1
  18. package/dist/node.js +1436 -397
  19. package/dist/node.js.map +64 -58
  20. package/dist/provider/AiProvider.d.ts +2 -2
  21. package/dist/provider/AiProvider.d.ts.map +1 -1
  22. package/dist/provider/AiProviderRegistry.d.ts +3 -2
  23. package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
  24. package/dist/provider/QueuedAiProvider.d.ts +2 -1
  25. package/dist/provider/QueuedAiProvider.d.ts.map +1 -1
  26. package/dist/task/AgentTask.d.ts +525 -0
  27. package/dist/task/AgentTask.d.ts.map +1 -0
  28. package/dist/task/AgentTypes.d.ts +183 -0
  29. package/dist/task/AgentTypes.d.ts.map +1 -0
  30. package/dist/task/AgentUtils.d.ts +55 -0
  31. package/dist/task/AgentUtils.d.ts.map +1 -0
  32. package/dist/task/BackgroundRemovalTask.d.ts +6 -34
  33. package/dist/task/BackgroundRemovalTask.d.ts.map +1 -1
  34. package/dist/task/ChunkRetrievalTask.d.ts +6 -4
  35. package/dist/task/ChunkRetrievalTask.d.ts.map +1 -1
  36. package/dist/task/ChunkToVectorTask.d.ts +6 -26
  37. package/dist/task/ChunkToVectorTask.d.ts.map +1 -1
  38. package/dist/task/ChunkVectorHybridSearchTask.d.ts +6 -25
  39. package/dist/task/ChunkVectorHybridSearchTask.d.ts.map +1 -1
  40. package/dist/task/ChunkVectorSearchTask.d.ts +6 -12
  41. package/dist/task/ChunkVectorSearchTask.d.ts.map +1 -1
  42. package/dist/task/ChunkVectorUpsertTask.d.ts +6 -13
  43. package/dist/task/ChunkVectorUpsertTask.d.ts.map +1 -1
  44. package/dist/task/ContextBuilderTask.d.ts +6 -30
  45. package/dist/task/ContextBuilderTask.d.ts.map +1 -1
  46. package/dist/task/CountTokensTask.d.ts +6 -21
  47. package/dist/task/CountTokensTask.d.ts.map +1 -1
  48. package/dist/task/DocumentEnricherTask.d.ts +6 -40
  49. package/dist/task/DocumentEnricherTask.d.ts.map +1 -1
  50. package/dist/task/DownloadModelTask.d.ts +7 -21
  51. package/dist/task/DownloadModelTask.d.ts.map +1 -1
  52. package/dist/task/FaceDetectorTask.d.ts +6 -36
  53. package/dist/task/FaceDetectorTask.d.ts.map +1 -1
  54. package/dist/task/FaceLandmarkerTask.d.ts +6 -40
  55. package/dist/task/FaceLandmarkerTask.d.ts.map +1 -1
  56. package/dist/task/GestureRecognizerTask.d.ts +6 -38
  57. package/dist/task/GestureRecognizerTask.d.ts.map +1 -1
  58. package/dist/task/HandLandmarkerTask.d.ts +6 -38
  59. package/dist/task/HandLandmarkerTask.d.ts.map +1 -1
  60. package/dist/task/HierarchicalChunkerTask.d.ts +6 -26
  61. package/dist/task/HierarchicalChunkerTask.d.ts.map +1 -1
  62. package/dist/task/HierarchyJoinTask.d.ts +6 -29
  63. package/dist/task/HierarchyJoinTask.d.ts.map +1 -1
  64. package/dist/task/ImageClassificationTask.d.ts +6 -36
  65. package/dist/task/ImageClassificationTask.d.ts.map +1 -1
  66. package/dist/task/ImageEmbeddingTask.d.ts +6 -47
  67. package/dist/task/ImageEmbeddingTask.d.ts.map +1 -1
  68. package/dist/task/ImageSegmentationTask.d.ts +6 -36
  69. package/dist/task/ImageSegmentationTask.d.ts.map +1 -1
  70. package/dist/task/ImageToTextTask.d.ts +6 -35
  71. package/dist/task/ImageToTextTask.d.ts.map +1 -1
  72. package/dist/task/MessageConversion.d.ts +52 -0
  73. package/dist/task/MessageConversion.d.ts.map +1 -0
  74. package/dist/task/ModelInfoTask.d.ts +7 -22
  75. package/dist/task/ModelInfoTask.d.ts.map +1 -1
  76. package/dist/task/ModelSearchTask.d.ts +6 -7
  77. package/dist/task/ModelSearchTask.d.ts.map +1 -1
  78. package/dist/task/ObjectDetectionTask.d.ts +6 -36
  79. package/dist/task/ObjectDetectionTask.d.ts.map +1 -1
  80. package/dist/task/PoseLandmarkerTask.d.ts +6 -39
  81. package/dist/task/PoseLandmarkerTask.d.ts.map +1 -1
  82. package/dist/task/QueryExpanderTask.d.ts +6 -9
  83. package/dist/task/QueryExpanderTask.d.ts.map +1 -1
  84. package/dist/task/RerankerTask.d.ts +6 -28
  85. package/dist/task/RerankerTask.d.ts.map +1 -1
  86. package/dist/task/StructuralParserTask.d.ts +6 -10
  87. package/dist/task/StructuralParserTask.d.ts.map +1 -1
  88. package/dist/task/StructuredGenerationTask.d.ts +6 -26
  89. package/dist/task/StructuredGenerationTask.d.ts.map +1 -1
  90. package/dist/task/TextChunkerTask.d.ts +6 -9
  91. package/dist/task/TextChunkerTask.d.ts.map +1 -1
  92. package/dist/task/TextClassificationTask.d.ts +6 -23
  93. package/dist/task/TextClassificationTask.d.ts.map +1 -1
  94. package/dist/task/TextEmbeddingTask.d.ts +6 -21
  95. package/dist/task/TextEmbeddingTask.d.ts.map +1 -1
  96. package/dist/task/TextFillMaskTask.d.ts +6 -21
  97. package/dist/task/TextFillMaskTask.d.ts.map +1 -1
  98. package/dist/task/TextGenerationTask.d.ts +6 -26
  99. package/dist/task/TextGenerationTask.d.ts.map +1 -1
  100. package/dist/task/TextLanguageDetectionTask.d.ts +6 -22
  101. package/dist/task/TextLanguageDetectionTask.d.ts.map +1 -1
  102. package/dist/task/TextNamedEntityRecognitionTask.d.ts +6 -22
  103. package/dist/task/TextNamedEntityRecognitionTask.d.ts.map +1 -1
  104. package/dist/task/TextQuestionAnswerTask.d.ts +6 -22
  105. package/dist/task/TextQuestionAnswerTask.d.ts.map +1 -1
  106. package/dist/task/TextRewriterTask.d.ts +6 -22
  107. package/dist/task/TextRewriterTask.d.ts.map +1 -1
  108. package/dist/task/TextSummaryTask.d.ts +6 -21
  109. package/dist/task/TextSummaryTask.d.ts.map +1 -1
  110. package/dist/task/TextTranslationTask.d.ts +6 -23
  111. package/dist/task/TextTranslationTask.d.ts.map +1 -1
  112. package/dist/task/ToolCallingTask.d.ts +348 -0
  113. package/dist/task/ToolCallingTask.d.ts.map +1 -0
  114. package/dist/task/ToolCallingUtils.d.ts +75 -0
  115. package/dist/task/ToolCallingUtils.d.ts.map +1 -0
  116. package/dist/task/TopicSegmenterTask.d.ts +6 -10
  117. package/dist/task/TopicSegmenterTask.d.ts.map +1 -1
  118. package/dist/task/UnloadModelTask.d.ts +6 -20
  119. package/dist/task/UnloadModelTask.d.ts.map +1 -1
  120. package/dist/task/VectorQuantizeTask.d.ts +6 -8
  121. package/dist/task/VectorQuantizeTask.d.ts.map +1 -1
  122. package/dist/task/VectorSimilarityTask.d.ts +7 -10
  123. package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
  124. package/dist/task/base/AiTask.d.ts +8 -5
  125. package/dist/task/base/AiTask.d.ts.map +1 -1
  126. package/dist/task/base/AiTaskSchemas.d.ts.map +1 -1
  127. package/dist/task/base/AiVisionTask.d.ts +3 -7
  128. package/dist/task/base/AiVisionTask.d.ts.map +1 -1
  129. package/dist/task/base/StreamingAiTask.d.ts +4 -7
  130. package/dist/task/base/StreamingAiTask.d.ts.map +1 -1
  131. package/dist/task/index.d.ts +9 -1
  132. package/dist/task/index.d.ts.map +1 -1
  133. package/dist/worker.d.ts +2 -0
  134. package/dist/worker.d.ts.map +1 -1
  135. package/dist/worker.js +247 -25
  136. package/dist/worker.js.map +9 -7
  137. package/package.json +16 -11
@@ -0,0 +1,183 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { DataPorts } from "@workglow/task-graph";
7
+ import type { ToolCall, ToolCalls, ToolDefinition } from "./ToolCallingUtils";
8
+ /**
9
+ * A text content block within a chat message.
10
+ */
11
+ export interface TextContentBlock {
12
+ readonly type: "text";
13
+ readonly text: string;
14
+ }
15
+ /**
16
+ * An image content block within a chat message.
17
+ */
18
+ export interface ImageContentBlock {
19
+ readonly type: "image";
20
+ readonly mimeType: string;
21
+ readonly data: string;
22
+ }
23
+ /**
24
+ * An audio content block within a chat message.
25
+ */
26
+ export interface AudioContentBlock {
27
+ readonly type: "audio";
28
+ readonly mimeType: string;
29
+ readonly data: string;
30
+ }
31
+ /**
32
+ * A tool-use content block within an assistant message.
33
+ * Represents the LLM requesting a tool invocation.
34
+ */
35
+ export interface ToolUseContentBlock {
36
+ readonly type: "tool_use";
37
+ readonly id: string;
38
+ readonly name: string;
39
+ readonly input: Record<string, unknown>;
40
+ }
41
+ /**
42
+ * A tool-result content block within a tool message.
43
+ * Represents the result of executing a tool call.
44
+ */
45
+ export interface ToolResultContentBlock {
46
+ readonly type: "tool_result";
47
+ readonly tool_use_id: string;
48
+ readonly content: string | ReadonlyArray<ToolResultInnerBlock>;
49
+ readonly is_error?: boolean;
50
+ }
51
+ /** Content blocks allowed in user messages */
52
+ export type UserContentBlock = TextContentBlock | ImageContentBlock | AudioContentBlock;
53
+ /** Content blocks allowed inside tool result content */
54
+ export type ToolResultInnerBlock = TextContentBlock | ImageContentBlock | AudioContentBlock;
55
+ export type ContentBlock = TextContentBlock | ImageContentBlock | AudioContentBlock | ToolUseContentBlock | ToolResultContentBlock;
56
+ /**
57
+ * Provider-agnostic chat message for multi-turn conversations.
58
+ * Uses a discriminated union on `role` to enforce correct content types.
59
+ */
60
+ export type ChatMessage = {
61
+ readonly role: "user";
62
+ readonly content: string | ReadonlyArray<UserContentBlock>;
63
+ } | {
64
+ readonly role: "assistant";
65
+ readonly content: ReadonlyArray<TextContentBlock | ToolUseContentBlock>;
66
+ } | {
67
+ readonly role: "tool";
68
+ readonly content: ReadonlyArray<ToolResultContentBlock>;
69
+ };
70
+ /**
71
+ * A tool backed by a Task in the TaskRegistry. Instantiated and run via
72
+ * `TaskRegistry.all.get(taskType)`. Optional `config` is passed to the
73
+ * task constructor for configurable tasks (e.g. `McpToolCallTask`,
74
+ * `JavaScriptTask`).
75
+ */
76
+ export interface RegistryToolSource {
77
+ readonly type: "registry";
78
+ readonly definition: ToolDefinition;
79
+ readonly taskType: string;
80
+ /** Configuration values passed to the task constructor. */
81
+ readonly config?: DataPorts;
82
+ }
83
+ /**
84
+ * A user-provided tool with a custom executor function.
85
+ */
86
+ export interface FunctionToolSource {
87
+ readonly type: "function";
88
+ readonly definition: ToolDefinition;
89
+ readonly run: (input: DataPorts) => Promise<DataPorts>;
90
+ }
91
+ export type ToolSource = RegistryToolSource | FunctionToolSource;
92
+ export interface ToolResult {
93
+ readonly toolCallId: string;
94
+ readonly toolName: string;
95
+ readonly output: DataPorts;
96
+ readonly isError: boolean;
97
+ /** Optional media content blocks to include alongside the JSON output. */
98
+ readonly mediaContent?: ReadonlyArray<ToolResultInnerBlock>;
99
+ }
100
+ /**
101
+ * Decision returned by the beforeToolCall hook.
102
+ * - `"allow"`: proceed with the tool call as-is
103
+ * - `"deny"`: skip the tool call and return an error to the LLM
104
+ * - `"modify"`: proceed with modified input
105
+ */
106
+ export type ToolCallDecision = {
107
+ readonly action: "allow";
108
+ } | {
109
+ readonly action: "deny";
110
+ readonly reason?: string;
111
+ } | {
112
+ readonly action: "modify";
113
+ readonly input: Record<string, unknown>;
114
+ };
115
+ /**
116
+ * Action returned by the onToolError hook.
117
+ * - `"throw"`: report the error to the LLM (default when no hook)
118
+ * - `"result"`: use a fallback result instead of reporting the error
119
+ */
120
+ export type ToolErrorAction = {
121
+ readonly action: "throw";
122
+ } | {
123
+ readonly action: "result";
124
+ readonly output: Record<string, unknown>;
125
+ };
126
+ /**
127
+ * Action returned by the onIteration hook.
128
+ * - `"continue"`: proceed with the next LLM call
129
+ * - `"stop"`: end the agent loop and return current results
130
+ */
131
+ export type IterationAction = {
132
+ readonly action: "continue";
133
+ } | {
134
+ readonly action: "stop";
135
+ };
136
+ /**
137
+ * Lifecycle hooks for the AgentTask loop.
138
+ * All hooks are optional; the agent runs without intervention by default.
139
+ */
140
+ export interface AgentHooks {
141
+ /** Called before each tool call. Can approve, deny, or modify the call. */
142
+ readonly beforeToolCall?: (call: ToolCall, source: ToolSource) => Promise<ToolCallDecision>;
143
+ /** Called after each successful tool call. Can transform the result. */
144
+ readonly afterToolCall?: (call: ToolCall, result: ToolResult) => Promise<ToolResult>;
145
+ /** Called when a tool call throws. Can provide a fallback result or re-throw. */
146
+ readonly onToolError?: (call: ToolCall, error: Error) => Promise<ToolErrorAction>;
147
+ /**
148
+ * Called at the start of each iteration, before calling the LLM.
149
+ * Can stop the loop or inspect state (e.g. for context trimming).
150
+ * `stats.totalToolCalls` is the number of `tool_use` blocks already present
151
+ * in assistant messages (same basis as AgentTask output `toolCallCount`).
152
+ */
153
+ readonly onIteration?: (iteration: number, messages: ReadonlyArray<ChatMessage>, stats: {
154
+ readonly totalToolCalls: number;
155
+ }) => Promise<IterationAction>;
156
+ }
157
+ export declare function imageBlock(mimeType: string, data: string): ImageContentBlock;
158
+ export declare function audioBlock(mimeType: string, data: string): AudioContentBlock;
159
+ export declare function imageBlockFromDataUri(dataUri: string): ImageContentBlock;
160
+ export declare function audioBlockFromDataUri(dataUri: string): AudioContentBlock;
161
+ /**
162
+ * Creates a user message from a prompt string or array of content blocks.
163
+ */
164
+ export declare function userMessage(prompt: string | ReadonlyArray<UserContentBlock>): ChatMessage;
165
+ /**
166
+ * Creates an assistant message from text and optional tool calls.
167
+ */
168
+ export declare function assistantMessage(text: string, toolCalls?: ToolCalls): ChatMessage;
169
+ /**
170
+ * Creates a tool message from an array of tool results.
171
+ * When a result has `mediaContent`, emits content as an array of blocks
172
+ * instead of a plain JSON string.
173
+ */
174
+ export declare function toolMessage(results: ReadonlyArray<ToolResult>): ChatMessage;
175
+ /**
176
+ * Extracts all ToolDefinitions from an array of ToolSources.
177
+ */
178
+ export declare function toolSourceDefinitions(sources: ReadonlyArray<ToolSource>): ToolDefinition[];
179
+ /**
180
+ * Finds the ToolSource matching a tool call name.
181
+ */
182
+ export declare function findToolSource(sources: ReadonlyArray<ToolSource>, name: string): ToolSource | undefined;
183
+ //# sourceMappingURL=AgentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentTypes.d.ts","sourceRoot":"","sources":["../../src/task/AgentTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { IExecuteContext } from "@workglow/task-graph";
7
+ import type { ServiceRegistry } from "@workglow/util";
8
+ import type { AgentHooks, ChatMessage, ToolResult, ToolSource } from "./AgentTypes";
9
+ import type { ToolCall, ToolCalls, ToolDefinition } from "./ToolCallingUtils";
10
+ /**
11
+ * Builds an array of {@link ToolSource} entries from a unified tools list.
12
+ *
13
+ * Each entry is either:
14
+ * - A **string** — resolved from the TaskRegistry via {@link taskTypesToTools}.
15
+ * - A **{@link ToolDefinition}** object — dispatched based on its shape:
16
+ * - Has `execute` function → {@link FunctionToolSource}
17
+ * - Has a backing task in the task constructors (looked up by `name`) →
18
+ * {@link RegistryToolSource} with optional `config` passed through
19
+ * - Otherwise → {@link FunctionToolSource} that throws on invocation
20
+ *
21
+ * This mirrors the model resolution pattern: strings are convenient
22
+ * shorthand, objects give full control (including `config` for
23
+ * configurable tasks like `McpToolCallTask` or `JavaScriptTask`).
24
+ *
25
+ * The original order of entries in `tools` is preserved in the returned
26
+ * sources array. An optional `registry` can be provided to use a
27
+ * DI-scoped constructor map instead of the global TaskRegistry.
28
+ */
29
+ export declare function buildToolSources(tools?: ReadonlyArray<string | ToolDefinition>, registry?: ServiceRegistry): ToolSource[];
30
+ /**
31
+ * Executes a single tool call by dispatching to the appropriate handler
32
+ * based on the tool source type. Applies beforeToolCall, afterToolCall,
33
+ * and onToolError hooks when provided.
34
+ */
35
+ export declare function executeToolCall(toolCall: ToolCall, sources: ReadonlyArray<ToolSource>, context: IExecuteContext, hooks?: AgentHooks): Promise<ToolResult>;
36
+ /**
37
+ * Executes multiple tool calls with concurrency control.
38
+ *
39
+ * Uses the same shared-cursor worker pool pattern as IteratorTaskRunner:
40
+ * spawns N workers that pull from a shared cursor until all items are
41
+ * processed. Results are returned in the original order.
42
+ *
43
+ * @param maxConcurrency - Max parallel tool executions (default: 5)
44
+ */
45
+ export declare function executeToolCalls(toolCalls: ToolCalls, sources: ReadonlyArray<ToolSource>, context: IExecuteContext, hooks?: AgentHooks, maxConcurrency?: number): Promise<ToolResult[]>;
46
+ /**
47
+ * Checks whether a ToolCallingTask output contains any tool calls.
48
+ */
49
+ export declare function hasToolCalls(toolCalls: unknown[] | undefined): boolean;
50
+ /**
51
+ * Counts `tool_use` blocks across all assistant messages (each block is one
52
+ * tool invocation the model requested). Used for AgentTask `toolCallCount` output.
53
+ */
54
+ export declare function countAssistantToolUses(messages: ReadonlyArray<ChatMessage>): number;
55
+ //# sourceMappingURL=AgentUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentUtils.d.ts","sourceRoot":"","sources":["../../src/task/AgentUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAGX,UAAU,EACV,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAoB9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,EAC9C,QAAQ,CAAC,EAAE,eAAe,GACzB,UAAU,EAAE,CAmGd;AAMD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAClC,OAAO,EAAE,eAAe,EACxB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,UAAU,CAAC,CAsFrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAClC,OAAO,EAAE,eAAe,EACxB,KAAK,CAAC,EAAE,UAAU,EAClB,cAAc,GAAE,MAAU,GACzB,OAAO,CAAC,UAAU,EAAE,CAAC,CA4BvB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,MAAM,CASnF"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, TaskConfig } from "@workglow/task-graph";
6
+ import { CreateWorkflow } from "@workglow/task-graph";
7
+ import type { TaskConfig } from "@workglow/task-graph";
7
8
  import { DataPortSchema, FromSchema } from "@workglow/util/schema";
8
9
  import { AiVisionTask } from "./base/AiVisionTask";
9
10
  export declare const BackgroundRemovalInputSchema: {
@@ -173,10 +174,11 @@ export declare const BackgroundRemovalOutputSchema: {
173
174
  };
174
175
  export type BackgroundRemovalTaskInput = FromSchema<typeof BackgroundRemovalInputSchema>;
175
176
  export type BackgroundRemovalTaskOutput = FromSchema<typeof BackgroundRemovalOutputSchema>;
177
+ export type BackgroundRemovalTaskConfig = TaskConfig<BackgroundRemovalTaskInput>;
176
178
  /**
177
179
  * Removes backgrounds from images using computer vision models
178
180
  */
179
- export declare class BackgroundRemovalTask extends AiVisionTask<BackgroundRemovalTaskInput, BackgroundRemovalTaskOutput> {
181
+ export declare class BackgroundRemovalTask extends AiVisionTask<BackgroundRemovalTaskInput, BackgroundRemovalTaskOutput, BackgroundRemovalTaskConfig> {
180
182
  static type: string;
181
183
  static category: string;
182
184
  static title: string;
@@ -190,42 +192,12 @@ export declare class BackgroundRemovalTask extends AiVisionTask<BackgroundRemova
190
192
  * @param input The input parameters for background removal (image and model)
191
193
  * @returns Promise resolving to the image with transparent background
192
194
  */
193
- export declare const backgroundRemoval: (input: {
194
- image: string | {
195
- channels: number;
196
- data: {
197
- [x: string]: unknown;
198
- } | {
199
- channels: number;
200
- data: number[];
201
- height: number;
202
- rawChannels?: number | undefined;
203
- width: number;
204
- };
205
- height: number;
206
- width: number;
207
- };
208
- model: string | {
209
- [x: string]: unknown;
210
- description?: string | undefined;
211
- metadata?: {
212
- [x: string]: unknown;
213
- } | undefined;
214
- model_id?: string | undefined;
215
- provider: string;
216
- provider_config: {
217
- [x: string]: unknown;
218
- credential_key?: string | undefined;
219
- };
220
- tasks?: string[] | undefined;
221
- title?: string | undefined;
222
- };
223
- }, config?: TaskConfig | undefined) => Promise<{
195
+ export declare const backgroundRemoval: (input: BackgroundRemovalTaskInput, config?: BackgroundRemovalTaskConfig) => Promise<{
224
196
  image: string;
225
197
  }>;
226
198
  declare module "@workglow/task-graph" {
227
199
  interface Workflow {
228
- backgroundRemoval: CreateWorkflow<BackgroundRemovalTaskInput, BackgroundRemovalTaskOutput, TaskConfig>;
200
+ backgroundRemoval: CreateWorkflow<BackgroundRemovalTaskInput, BackgroundRemovalTaskOutput, BackgroundRemovalTaskConfig>;
229
201
  }
230
202
  }
231
203
  //# sourceMappingURL=BackgroundRemovalTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundRemovalTask.d.ts","sourceRoot":"","sources":["../../src/task/BackgroundRemovalTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYnD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQN,CAAC;AAEpC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;CAOP,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACzF,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAE3F;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY,CACrD,0BAA0B,EAC1B,2BAA2B,CAC5B;IACC,OAAuB,IAAI,SAA2B;IACtD,OAAuB,QAAQ,SAAqB;IACpD,OAAuB,KAAK,SAAwB;IACpD,OAAuB,WAAW,SACiD;IACnF,OAAuB,WAAW,IAAI,cAAc,CAEnD;IACD,OAAuB,YAAY,IAAI,cAAc,CAEpD;CACF;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,UAAU,CACX,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"BackgroundRemovalTask.d.ts","sourceRoot":"","sources":["../../src/task/BackgroundRemovalTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAY,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYnD,eAAO,MAAM,4BAA4B;mBACjC,QAAQ;;iBAEZ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI0B,CAAC;AAEpC,eAAO,MAAM,6BAA6B;mBAClC,QAAQ;;iBAEZ,KAAK;2BApBD,QAAQ;sCACG,QAAQ;uCACP,WAAW;4BACtB,OAAO;kCACD,sDAAsD;;;;;CAoBlC,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACzF,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC3F,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAEjF;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY,CACrD,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,CAC5B;IACC,OAAuB,IAAI,SAA2B;IACtD,OAAuB,QAAQ,SAAqB;IACpD,OAAuB,KAAK,SAAwB;IACpD,OAAuB,WAAW,SACiD;IACnF,OAAuB,WAAW,IAAI,cAAc,CAEnD;IACD,OAAuB,YAAY,IAAI,cAAc,CAEpD;CACF;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,UACrB,0BAA0B,WACxB,2BAA2B;;EAGrC,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,CAC5B,CAAC;KACH;CACF"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, IExecuteContext, TaskConfig, Task } from "@workglow/task-graph";
6
+ import { CreateWorkflow, IExecuteContext, Task } from "@workglow/task-graph";
7
+ import type { TaskConfig } from "@workglow/task-graph";
7
8
  import { DataPortSchema, FromSchema, TypedArray, TypedArraySchemaOptions } from "@workglow/util/schema";
8
9
  declare const inputSchema: {
9
10
  readonly type: "object";
@@ -246,11 +247,12 @@ declare const outputSchema: {
246
247
  };
247
248
  export type ChunkRetrievalTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
248
249
  export type ChunkRetrievalTaskOutput = FromSchema<typeof outputSchema, TypedArraySchemaOptions>;
250
+ export type ChunkRetrievalTaskConfig = TaskConfig<ChunkRetrievalTaskInput>;
249
251
  /**
250
252
  * End-to-end retrieval task that combines embedding generation (if needed) and vector search.
251
253
  * Simplifies the RAG pipeline by handling the full retrieval process.
252
254
  */
253
- export declare class ChunkRetrievalTask extends Task<ChunkRetrievalTaskInput, ChunkRetrievalTaskOutput, TaskConfig> {
255
+ export declare class ChunkRetrievalTask extends Task<ChunkRetrievalTaskInput, ChunkRetrievalTaskOutput, ChunkRetrievalTaskConfig> {
254
256
  static type: string;
255
257
  static category: string;
256
258
  static title: string;
@@ -260,7 +262,7 @@ export declare class ChunkRetrievalTask extends Task<ChunkRetrievalTaskInput, Ch
260
262
  static outputSchema(): DataPortSchema;
261
263
  execute(input: ChunkRetrievalTaskInput, context: IExecuteContext): Promise<ChunkRetrievalTaskOutput>;
262
264
  }
263
- export declare const chunkRetrieval: (input: ChunkRetrievalTaskInput, config?: TaskConfig | undefined) => Promise<{
265
+ export declare const chunkRetrieval: (input: ChunkRetrievalTaskInput, config?: ChunkRetrievalTaskConfig) => Promise<{
264
266
  chunk_ids: string[];
265
267
  chunks: string[];
266
268
  count: number;
@@ -273,7 +275,7 @@ export declare const chunkRetrieval: (input: ChunkRetrievalTaskInput, config?: T
273
275
  }>;
274
276
  declare module "@workglow/task-graph" {
275
277
  interface Workflow {
276
- chunkRetrieval: CreateWorkflow<ChunkRetrievalTaskInput, ChunkRetrievalTaskOutput, TaskConfig>;
278
+ chunkRetrieval: CreateWorkflow<ChunkRetrievalTaskInput, ChunkRetrievalTaskOutput, ChunkRetrievalTaskConfig>;
277
279
  }
278
280
  }
279
281
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChunkRetrievalTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkRetrievalTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACnG,OAAO,EACL,cAAc,EACd,UAAU,EAEV,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DiB,CAAC;AAEpC,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAC9F,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAEhG;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,IAAI,CAC1C,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,CACX;IACC,OAAuB,IAAI,SAAwB;IACnD,OAAuB,QAAQ,SAAS;IACxC,OAAuB,KAAK,SAAqB;IACjD,OAAuB,WAAW,SAAqE;IACvG,OAAuB,SAAS,UAAQ;IAExC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,uBAAuB,EAC9B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,wBAAwB,CAAC,CAsEnC;CACF;AAED,eAAO,MAAM,cAAc;;;;;;;;;;EAE1B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,cAAc,EAAE,cAAc,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,UAAU,CAAC,CAAC;KAC/F;CACF"}
1
+ {"version":3,"file":"ChunkRetrievalTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkRetrievalTask.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, IExecuteContext, TaskConfig, Task } from "@workglow/task-graph";
6
+ import { CreateWorkflow, IExecuteContext, Task } from "@workglow/task-graph";
7
+ import type { TaskConfig } from "@workglow/task-graph";
7
8
  import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util/schema";
8
9
  declare const inputSchema: {
9
10
  readonly type: "object";
@@ -177,11 +178,12 @@ declare const outputSchema: {
177
178
  };
178
179
  export type ChunkToVectorTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
179
180
  export type ChunkToVectorTaskOutput = FromSchema<typeof outputSchema, TypedArraySchemaOptions>;
181
+ export type ChunkToVectorTaskConfig = TaskConfig<ChunkToVectorTaskInput>;
180
182
  /**
181
183
  * Task to transform chunk records and embeddings into vector store format
182
184
  * Bridges HierarchicalChunker + TextEmbedding -> VectorStoreUpsert
183
185
  */
184
- export declare class ChunkToVectorTask extends Task<ChunkToVectorTaskInput, ChunkToVectorTaskOutput, TaskConfig> {
186
+ export declare class ChunkToVectorTask extends Task<ChunkToVectorTaskInput, ChunkToVectorTaskOutput, ChunkToVectorTaskConfig> {
185
187
  static type: string;
186
188
  static category: string;
187
189
  static title: string;
@@ -191,29 +193,7 @@ export declare class ChunkToVectorTask extends Task<ChunkToVectorTaskInput, Chun
191
193
  static outputSchema(): DataPortSchema;
192
194
  execute(input: ChunkToVectorTaskInput, context: IExecuteContext): Promise<ChunkToVectorTaskOutput>;
193
195
  }
194
- export declare const chunkToVector: (input: {
195
- chunks: {
196
- [x: string]: unknown;
197
- chunkId: string;
198
- depth: number;
199
- doc_id: string;
200
- doc_title?: string | undefined;
201
- entities?: {
202
- score: number;
203
- text: string;
204
- type: string;
205
- }[] | undefined;
206
- leafNodeId?: string | undefined;
207
- nodePath: string[];
208
- parentSummaries?: string[] | undefined;
209
- sectionTitles?: string[] | undefined;
210
- summary?: string | undefined;
211
- text: string;
212
- }[];
213
- doc_id?: string | undefined;
214
- doc_title?: string | undefined;
215
- vector: import("@workglow/util/schema").TypedArray[];
216
- }, config?: TaskConfig | undefined) => Promise<{
196
+ export declare const chunkToVector: (input: ChunkToVectorTaskInput, config?: ChunkToVectorTaskConfig) => Promise<{
217
197
  ids: string[];
218
198
  metadata: {
219
199
  [x: string]: unknown;
@@ -223,7 +203,7 @@ export declare const chunkToVector: (input: {
223
203
  }>;
224
204
  declare module "@workglow/task-graph" {
225
205
  interface Workflow {
226
- chunkToVector: CreateWorkflow<ChunkToVectorTaskInput, ChunkToVectorTaskOutput, TaskConfig>;
206
+ chunkToVector: CreateWorkflow<ChunkToVectorTaskInput, ChunkToVectorTaskOutput, ChunkToVectorTaskConfig>;
227
207
  }
228
208
  }
229
209
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChunkToVectorTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkToVectorTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACnG,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCiB,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAC7F,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAE/F;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,IAAI,CACzC,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,CACX;IACC,OAAuB,IAAI,SAAuB;IAClD,OAAuB,QAAQ,SAAc;IAC7C,OAAuB,KAAK,SAAqB;IACjD,OAAuB,WAAW,SAA4D;IAC9F,OAAuB,SAAS,UAAQ;IAExC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,uBAAuB,CAAC,CA0ClC;CACF;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzB,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,aAAa,EAAE,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;KAC5F;CACF"}
1
+ {"version":3,"file":"ChunkToVectorTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkToVectorTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,MAAM;qBACJ,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,iBAAiB;;iBAEhC,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,gBAAgB;qBACvB,WAAW,EAAE,8CAA8C;;iBAE7D,MAAM;qBACJ,IAAI,EAAE,OAAO;qBACb,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBACL,KAAK,EAAE,QAAQ;qBACf,WAAW,EAAE,wBAAwB;;iBAEvC,MAAM;qBACJ,IAAI,EAAE,OAAO;qBACb,KAAK;;;;;;qBAIL,KAAK,EAAE,SAAS;qBAChB,WAAW,EAAE,mCAAmC;;;;;CAKnB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,GAAG;qBACD,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,KAAK;qBACZ,WAAW,EAAE,4BAA4B;;iBAE3C,OAAO;qBACL,IAAI,EAAE,OAAO;qBACb,KAAK;;;;;;qBAIL,KAAK,EAAE,SAAS;qBAChB,WAAW,EAAE,mBAAmB;;iBAElC,QAAQ;qBACN,IAAI,EAAE,OAAO;qBACb,KAAK;yBACH,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,UAAU;yBACjB,WAAW,EAAE,2BAA2B;;qBAE1C,KAAK,EAAE,UAAU;qBACjB,WAAW,EAAE,0BAA0B;;iBAEzC,KAAK;qBACH,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,6BAA6B;;;;;CAKb,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAC7F,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAC/F,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAEzE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,IAAI,CACzC,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,CACxB;IACC,OAAuB,IAAI,SAAuB;IAClD,OAAuB,QAAQ,SAAc;IAC7C,OAAuB,KAAK,SAAqB;IACjD,OAAuB,WAAW,SAA4D;IAC9F,OAAuB,SAAS,UAAQ;IAExC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,uBAAuB,CAAC,CA0ClC;CACF;AAED,eAAO,MAAM,aAAa,UAAW,sBAAsB,WAAW,uBAAuB;;;;;;;EAE5F,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,aAAa,EAAE,cAAc,CAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;KACH;CACF"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, IExecuteContext, TaskConfig, Task } from "@workglow/task-graph";
6
+ import { CreateWorkflow, IExecuteContext, Task } from "@workglow/task-graph";
7
+ import type { TaskConfig } from "@workglow/task-graph";
7
8
  import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util/schema";
8
9
  declare const inputSchema: {
9
10
  readonly type: "object";
@@ -137,6 +138,7 @@ declare const outputSchema: {
137
138
  };
138
139
  export type HybridSearchTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
139
140
  export type HybridSearchTaskOutput = FromSchema<typeof outputSchema, TypedArraySchemaOptions>;
141
+ export type ChunkVectorHybridSearchTaskConfig = TaskConfig<HybridSearchTaskInput>;
140
142
  /**
141
143
  * Task for hybrid search combining vector similarity and full-text search.
142
144
  * Requires a knowledge base that supports hybridSearch (e.g., Postgres with pgvector).
@@ -145,7 +147,7 @@ export type HybridSearchTaskOutput = FromSchema<typeof outputSchema, TypedArrayS
145
147
  * - Semantic similarity (vector search) - understands meaning
146
148
  * - Keyword matching (full-text search) - finds exact terms
147
149
  */
148
- export declare class ChunkVectorHybridSearchTask extends Task<HybridSearchTaskInput, HybridSearchTaskOutput, TaskConfig> {
150
+ export declare class ChunkVectorHybridSearchTask extends Task<HybridSearchTaskInput, HybridSearchTaskOutput, ChunkVectorHybridSearchTaskConfig> {
149
151
  static type: string;
150
152
  static category: string;
151
153
  static title: string;
@@ -155,31 +157,10 @@ export declare class ChunkVectorHybridSearchTask extends Task<HybridSearchTaskIn
155
157
  static outputSchema(): DataPortSchema;
156
158
  execute(input: HybridSearchTaskInput, context: IExecuteContext): Promise<HybridSearchTaskOutput>;
157
159
  }
158
- export declare const hybridSearch: (input: {
159
- filter?: {
160
- [x: string]: unknown;
161
- } | undefined;
162
- knowledgeBase: unknown;
163
- queryText: string;
164
- queryVector: import("@workglow/util/schema").TypedArray;
165
- returnVectors?: boolean | undefined;
166
- scoreThreshold?: number | undefined;
167
- topK?: number | undefined;
168
- vectorWeight?: number | undefined;
169
- }, config?: TaskConfig | undefined) => Promise<{
170
- chunk_ids: string[];
171
- chunks: string[];
172
- count: number;
173
- metadata: {
174
- [x: string]: unknown;
175
- }[];
176
- query: string;
177
- scores: number[];
178
- vectors?: import("@workglow/util/schema").TypedArray[] | undefined;
179
- }>;
160
+ export declare const hybridSearch: (input: HybridSearchTaskInput, config?: ChunkVectorHybridSearchTaskConfig) => Promise<HybridSearchTaskOutput>;
180
161
  declare module "@workglow/task-graph" {
181
162
  interface Workflow {
182
- hybridSearch: CreateWorkflow<HybridSearchTaskInput, HybridSearchTaskOutput, TaskConfig>;
163
+ hybridSearch: CreateWorkflow<HybridSearchTaskInput, HybridSearchTaskOutput, ChunkVectorHybridSearchTaskConfig>;
183
164
  }
184
165
  }
185
166
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChunkVectorHybridSearchTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorHybridSearchTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACnG,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDiB,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAC5F,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAE9F;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,IAAI,CACnD,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,CACX;IACC,OAAuB,IAAI,SAAiC;IAC5D,OAAuB,QAAQ,SAAS;IACxC,OAAuB,KAAK,SAAmB;IAC/C,OAAuB,WAAW,SAA+D;IACjG,OAAuB,SAAS,UAAQ;IAExC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,sBAAsB,CAAC,CA+CjC;CACF;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,YAAY,EAAE,cAAc,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;KACzF;CACF"}
1
+ {"version":3,"file":"ChunkVectorHybridSearchTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorHybridSearchTask.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, IExecuteContext, TaskConfig, Task } from "@workglow/task-graph";
6
+ import { CreateWorkflow, IExecuteContext, Task } from "@workglow/task-graph";
7
+ import type { TaskConfig } from "@workglow/task-graph";
7
8
  import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util/schema";
8
9
  declare const inputSchema: {
9
10
  readonly type: "object";
@@ -105,11 +106,12 @@ declare const outputSchema: {
105
106
  };
106
107
  export type VectorStoreSearchTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
107
108
  export type VectorStoreSearchTaskOutput = FromSchema<typeof outputSchema, TypedArraySchemaOptions>;
109
+ export type ChunkVectorSearchTaskConfig = TaskConfig<VectorStoreSearchTaskInput>;
108
110
  /**
109
111
  * Task for searching similar vectors in a knowledge base.
110
112
  * Returns top-K most similar vectors with their metadata and scores.
111
113
  */
112
- export declare class ChunkVectorSearchTask extends Task<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, TaskConfig> {
114
+ export declare class ChunkVectorSearchTask extends Task<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, ChunkVectorSearchTaskConfig> {
113
115
  static type: string;
114
116
  static category: string;
115
117
  static title: string;
@@ -119,15 +121,7 @@ export declare class ChunkVectorSearchTask extends Task<VectorStoreSearchTaskInp
119
121
  static outputSchema(): DataPortSchema;
120
122
  execute(input: VectorStoreSearchTaskInput, _context: IExecuteContext): Promise<VectorStoreSearchTaskOutput>;
121
123
  }
122
- export declare const vectorStoreSearch: (input: {
123
- filter?: {
124
- [x: string]: unknown;
125
- } | undefined;
126
- knowledgeBase: unknown;
127
- query: import("@workglow/util/schema").TypedArray;
128
- scoreThreshold?: number | undefined;
129
- topK?: number | undefined;
130
- }, config?: TaskConfig | undefined) => Promise<{
124
+ export declare const vectorStoreSearch: (input: VectorStoreSearchTaskInput, config?: ChunkVectorSearchTaskConfig) => Promise<{
131
125
  count: number;
132
126
  ids: string[];
133
127
  metadata: {
@@ -138,7 +132,7 @@ export declare const vectorStoreSearch: (input: {
138
132
  }>;
139
133
  declare module "@workglow/task-graph" {
140
134
  interface Workflow {
141
- vectorStoreSearch: CreateWorkflow<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, TaskConfig>;
135
+ vectorStoreSearch: CreateWorkflow<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, ChunkVectorSearchTaskConfig>;
142
136
  }
143
137
  }
144
138
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChunkVectorSearchTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorSearchTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACnG,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CiB,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACjG,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAEnG;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,IAAI,CAC7C,0BAA0B,EAC1B,2BAA2B,EAC3B,UAAU,CACX;IACC,OAAuB,IAAI,SAA2B;IACtD,OAAuB,QAAQ,SAAkB;IACjD,OAAuB,KAAK,SAAyB;IACrD,OAAuB,WAAW,SAAoD;IACtF,OAAuB,SAAS,UAAQ;IAExC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,2BAA2B,CAAC,CAkBtC;CACF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;EAE7B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,UAAU,CACX,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"ChunkVectorSearchTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorSearchTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,aAAa;;;;;;;;;;;;;;;;iBAIb,KAAK;;;;;;iBAIL,IAAI;qBACF,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,iCAAiC;qBAC9C,OAAO,EAAE,CAAC;qBACV,OAAO,EAAE,EAAE;;iBAEb,MAAM;qBACJ,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,iBAAiB;qBACxB,WAAW,EAAE,mCAAmC;;iBAElD,cAAc;qBACZ,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,iBAAiB;qBACxB,WAAW,EAAE,0CAA0C;qBACvD,OAAO,EAAE,CAAC;qBACV,OAAO,EAAE,CAAC;qBACV,OAAO,EAAE,CAAC;;;;;CAKmB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,GAAG;qBACD,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,KAAK;qBACZ,WAAW,EAAE,yBAAyB;;iBAExC,OAAO;qBACL,IAAI,EAAE,OAAO;qBACb,KAAK;;;;;;qBAIL,KAAK,EAAE,SAAS;qBAChB,WAAW,EAAE,4BAA4B;;iBAE3C,QAAQ;qBACN,IAAI,EAAE,OAAO;qBACb,KAAK;yBACH,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,UAAU;yBACjB,WAAW,EAAE,6BAA6B;;qBAE5C,KAAK,EAAE,UAAU;qBACjB,WAAW,EAAE,8BAA8B;;iBAE7C,MAAM;qBACJ,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,QAAQ;qBACf,WAAW,EAAE,mCAAmC;;iBAElD,KAAK;qBACH,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,4BAA4B;;;;;CAKZ,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACjG,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AACnG,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAEjF;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,IAAI,CAC7C,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,CAC5B;IACC,OAAuB,IAAI,SAA2B;IACtD,OAAuB,QAAQ,SAAkB;IACjD,OAAuB,KAAK,SAAyB;IACrD,OAAuB,WAAW,SAAoD;IACtF,OAAuB,SAAS,UAAQ;IAExC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,2BAA2B,CAAC,CAkBtC;CACF;AAED,eAAO,MAAM,iBAAiB,UACrB,0BAA0B,WACxB,2BAA2B;;;;;;;;EAGrC,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,CAC5B,CAAC;KACH;CACF"}
@@ -3,7 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, IExecuteContext, TaskConfig, Task } from "@workglow/task-graph";
6
+ import { CreateWorkflow, IExecuteContext, Task } from "@workglow/task-graph";
7
+ import type { TaskConfig } from "@workglow/task-graph";
7
8
  import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util/schema";
8
9
  declare const inputSchema: {
9
10
  readonly type: "object";
@@ -92,11 +93,12 @@ declare const outputSchema: {
92
93
  };
93
94
  export type VectorStoreUpsertTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
94
95
  export type VectorStoreUpsertTaskOutput = FromSchema<typeof outputSchema>;
96
+ export type ChunkVectorUpsertTaskConfig = TaskConfig<VectorStoreUpsertTaskInput>;
95
97
  /**
96
98
  * Task for upserting (insert or update) vectors into a knowledge base.
97
99
  * Supports both single and bulk operations.
98
100
  */
99
- export declare class ChunkVectorUpsertTask extends Task<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, TaskConfig> {
101
+ export declare class ChunkVectorUpsertTask extends Task<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, ChunkVectorUpsertTaskConfig> {
100
102
  static type: string;
101
103
  static category: string;
102
104
  static title: string;
@@ -106,23 +108,14 @@ export declare class ChunkVectorUpsertTask extends Task<VectorStoreUpsertTaskInp
106
108
  static outputSchema(): DataPortSchema;
107
109
  execute(input: VectorStoreUpsertTaskInput, context: IExecuteContext): Promise<VectorStoreUpsertTaskOutput>;
108
110
  }
109
- export declare const chunkVectorUpsert: (input: {
110
- doc_id: string;
111
- knowledgeBase: unknown;
112
- metadata: {
113
- [x: string]: unknown;
114
- }[] | {
115
- [x: string]: unknown;
116
- };
117
- vectors: import("@workglow/util/schema").TypedArray[] | import("@workglow/util/schema").TypedArray;
118
- }, config?: TaskConfig | undefined) => Promise<{
111
+ export declare const chunkVectorUpsert: (input: VectorStoreUpsertTaskInput, config?: ChunkVectorUpsertTaskConfig) => Promise<{
119
112
  chunk_ids: string[];
120
113
  count: number;
121
114
  doc_id: string;
122
115
  }>;
123
116
  declare module "@workglow/task-graph" {
124
117
  interface Workflow {
125
- chunkVectorUpsert: CreateWorkflow<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, TaskConfig>;
118
+ chunkVectorUpsert: CreateWorkflow<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, ChunkVectorUpsertTaskConfig>;
126
119
  }
127
120
  }
128
121
  export {};