@workglow/ai 0.1.2 → 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.
- package/README.md +8 -7
- package/dist/browser.js +1422 -397
- package/dist/browser.js.map +64 -58
- package/dist/bun.js +1422 -397
- package/dist/bun.js.map +64 -58
- package/dist/common.d.ts +1 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/execution/DirectExecutionStrategy.d.ts +1 -1
- package/dist/execution/DirectExecutionStrategy.d.ts.map +1 -1
- package/dist/execution/QueuedExecutionStrategy.d.ts +2 -2
- package/dist/execution/QueuedExecutionStrategy.d.ts.map +1 -1
- package/dist/job/AiJob.d.ts +2 -1
- package/dist/job/AiJob.d.ts.map +1 -1
- package/dist/model/ModelRegistry.d.ts.map +1 -1
- package/dist/model/ModelRepository.d.ts +11 -15
- package/dist/model/ModelRepository.d.ts.map +1 -1
- package/dist/node.js +1422 -397
- package/dist/node.js.map +64 -58
- package/dist/provider/AiProvider.d.ts +2 -2
- package/dist/provider/AiProvider.d.ts.map +1 -1
- package/dist/provider/AiProviderRegistry.d.ts +3 -2
- package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
- package/dist/provider/QueuedAiProvider.d.ts +2 -1
- package/dist/provider/QueuedAiProvider.d.ts.map +1 -1
- package/dist/task/AgentTask.d.ts +525 -0
- package/dist/task/AgentTask.d.ts.map +1 -0
- package/dist/task/AgentTypes.d.ts +183 -0
- package/dist/task/AgentTypes.d.ts.map +1 -0
- package/dist/task/AgentUtils.d.ts +55 -0
- package/dist/task/AgentUtils.d.ts.map +1 -0
- package/dist/task/BackgroundRemovalTask.d.ts +6 -4
- package/dist/task/BackgroundRemovalTask.d.ts.map +1 -1
- package/dist/task/ChunkRetrievalTask.d.ts +6 -4
- package/dist/task/ChunkRetrievalTask.d.ts.map +1 -1
- package/dist/task/ChunkToVectorTask.d.ts +6 -4
- package/dist/task/ChunkToVectorTask.d.ts.map +1 -1
- package/dist/task/ChunkVectorHybridSearchTask.d.ts +6 -4
- package/dist/task/ChunkVectorHybridSearchTask.d.ts.map +1 -1
- package/dist/task/ChunkVectorSearchTask.d.ts +6 -4
- package/dist/task/ChunkVectorSearchTask.d.ts.map +1 -1
- package/dist/task/ChunkVectorUpsertTask.d.ts +6 -4
- package/dist/task/ChunkVectorUpsertTask.d.ts.map +1 -1
- package/dist/task/ContextBuilderTask.d.ts +6 -4
- package/dist/task/ContextBuilderTask.d.ts.map +1 -1
- package/dist/task/CountTokensTask.d.ts +6 -4
- package/dist/task/CountTokensTask.d.ts.map +1 -1
- package/dist/task/DocumentEnricherTask.d.ts +6 -4
- package/dist/task/DocumentEnricherTask.d.ts.map +1 -1
- package/dist/task/DownloadModelTask.d.ts +7 -5
- package/dist/task/DownloadModelTask.d.ts.map +1 -1
- package/dist/task/FaceDetectorTask.d.ts +6 -4
- package/dist/task/FaceDetectorTask.d.ts.map +1 -1
- package/dist/task/FaceLandmarkerTask.d.ts +6 -4
- package/dist/task/FaceLandmarkerTask.d.ts.map +1 -1
- package/dist/task/GestureRecognizerTask.d.ts +6 -4
- package/dist/task/GestureRecognizerTask.d.ts.map +1 -1
- package/dist/task/HandLandmarkerTask.d.ts +6 -4
- package/dist/task/HandLandmarkerTask.d.ts.map +1 -1
- package/dist/task/HierarchicalChunkerTask.d.ts +6 -4
- package/dist/task/HierarchicalChunkerTask.d.ts.map +1 -1
- package/dist/task/HierarchyJoinTask.d.ts +6 -4
- package/dist/task/HierarchyJoinTask.d.ts.map +1 -1
- package/dist/task/ImageClassificationTask.d.ts +6 -4
- package/dist/task/ImageClassificationTask.d.ts.map +1 -1
- package/dist/task/ImageEmbeddingTask.d.ts +6 -4
- package/dist/task/ImageEmbeddingTask.d.ts.map +1 -1
- package/dist/task/ImageSegmentationTask.d.ts +6 -4
- package/dist/task/ImageSegmentationTask.d.ts.map +1 -1
- package/dist/task/ImageToTextTask.d.ts +6 -4
- package/dist/task/ImageToTextTask.d.ts.map +1 -1
- package/dist/task/MessageConversion.d.ts +52 -0
- package/dist/task/MessageConversion.d.ts.map +1 -0
- package/dist/task/ModelInfoTask.d.ts +7 -5
- package/dist/task/ModelInfoTask.d.ts.map +1 -1
- package/dist/task/ModelSearchTask.d.ts +6 -4
- package/dist/task/ModelSearchTask.d.ts.map +1 -1
- package/dist/task/ObjectDetectionTask.d.ts +6 -4
- package/dist/task/ObjectDetectionTask.d.ts.map +1 -1
- package/dist/task/PoseLandmarkerTask.d.ts +6 -4
- package/dist/task/PoseLandmarkerTask.d.ts.map +1 -1
- package/dist/task/QueryExpanderTask.d.ts +6 -4
- package/dist/task/QueryExpanderTask.d.ts.map +1 -1
- package/dist/task/RerankerTask.d.ts +6 -4
- package/dist/task/RerankerTask.d.ts.map +1 -1
- package/dist/task/StructuralParserTask.d.ts +6 -4
- package/dist/task/StructuralParserTask.d.ts.map +1 -1
- package/dist/task/StructuredGenerationTask.d.ts +6 -4
- package/dist/task/StructuredGenerationTask.d.ts.map +1 -1
- package/dist/task/TextChunkerTask.d.ts +6 -4
- package/dist/task/TextChunkerTask.d.ts.map +1 -1
- package/dist/task/TextClassificationTask.d.ts +6 -4
- package/dist/task/TextClassificationTask.d.ts.map +1 -1
- package/dist/task/TextEmbeddingTask.d.ts +6 -4
- package/dist/task/TextEmbeddingTask.d.ts.map +1 -1
- package/dist/task/TextFillMaskTask.d.ts +6 -4
- package/dist/task/TextFillMaskTask.d.ts.map +1 -1
- package/dist/task/TextGenerationTask.d.ts +6 -4
- package/dist/task/TextGenerationTask.d.ts.map +1 -1
- package/dist/task/TextLanguageDetectionTask.d.ts +6 -4
- package/dist/task/TextLanguageDetectionTask.d.ts.map +1 -1
- package/dist/task/TextNamedEntityRecognitionTask.d.ts +6 -4
- package/dist/task/TextNamedEntityRecognitionTask.d.ts.map +1 -1
- package/dist/task/TextQuestionAnswerTask.d.ts +6 -4
- package/dist/task/TextQuestionAnswerTask.d.ts.map +1 -1
- package/dist/task/TextRewriterTask.d.ts +6 -4
- package/dist/task/TextRewriterTask.d.ts.map +1 -1
- package/dist/task/TextSummaryTask.d.ts +6 -4
- package/dist/task/TextSummaryTask.d.ts.map +1 -1
- package/dist/task/TextTranslationTask.d.ts +6 -4
- package/dist/task/TextTranslationTask.d.ts.map +1 -1
- package/dist/task/ToolCallingTask.d.ts +348 -0
- package/dist/task/ToolCallingTask.d.ts.map +1 -0
- package/dist/task/ToolCallingUtils.d.ts +75 -0
- package/dist/task/ToolCallingUtils.d.ts.map +1 -0
- package/dist/task/TopicSegmenterTask.d.ts +6 -4
- package/dist/task/TopicSegmenterTask.d.ts.map +1 -1
- package/dist/task/UnloadModelTask.d.ts +6 -4
- package/dist/task/UnloadModelTask.d.ts.map +1 -1
- package/dist/task/VectorQuantizeTask.d.ts +6 -4
- package/dist/task/VectorQuantizeTask.d.ts.map +1 -1
- package/dist/task/VectorSimilarityTask.d.ts +6 -4
- package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
- package/dist/task/base/AiTask.d.ts +8 -5
- package/dist/task/base/AiTask.d.ts.map +1 -1
- package/dist/task/base/AiVisionTask.d.ts +3 -7
- package/dist/task/base/AiVisionTask.d.ts.map +1 -1
- package/dist/task/base/StreamingAiTask.d.ts +4 -7
- package/dist/task/base/StreamingAiTask.d.ts.map +1 -1
- package/dist/task/index.d.ts +9 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +247 -25
- package/dist/worker.js.map +9 -7
- 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
|
|
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,12 +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: BackgroundRemovalTaskInput, config?:
|
|
195
|
+
export declare const backgroundRemoval: (input: BackgroundRemovalTaskInput, config?: BackgroundRemovalTaskConfig) => Promise<{
|
|
194
196
|
image: string;
|
|
195
197
|
}>;
|
|
196
198
|
declare module "@workglow/task-graph" {
|
|
197
199
|
interface Workflow {
|
|
198
|
-
backgroundRemoval: CreateWorkflow<BackgroundRemovalTaskInput, BackgroundRemovalTaskOutput,
|
|
200
|
+
backgroundRemoval: CreateWorkflow<BackgroundRemovalTaskInput, BackgroundRemovalTaskOutput, BackgroundRemovalTaskConfig>;
|
|
199
201
|
}
|
|
200
202
|
}
|
|
201
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,
|
|
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,
|
|
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,
|
|
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?:
|
|
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,
|
|
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;
|
|
1
|
+
{"version":3,"file":"ChunkRetrievalTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkRetrievalTask.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,UAAU,EAEV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,aAAa;;;;;;;;;;;;;;;;iBAIb,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKL,IAAI;qBACF,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,iCAAiC;qBAC9C,OAAO,EAAE,CAAC;qBACV,OAAO,EAAE,CAAC;;iBAEZ,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;;iBAEZ,aAAa;qBACX,IAAI,EAAE,SAAS;qBACf,KAAK,EAAE,gBAAgB;qBACvB,WAAW,EAAE,gDAAgD;qBAC7D,OAAO;;;;;iBAKT,UAAU;qBACR,KAAK;yBAAI,IAAI,EAAE,QAAQ;;;;;iBAIzB,QAAQ;;;;CAIuB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,MAAM;qBACJ,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,uBAAuB;;iBAEtC,SAAS;qBACP,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,KAAK;qBACZ,WAAW,EAAE,yBAAyB;;iBAExC,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,OAAO;qBACL,IAAI,EAAE,OAAO;qBACb,KAAK;;;;;;qBAIL,KAAK,EAAE,SAAS;qBAChB,WAAW,EAAE,8CAA8C;;iBAE7D,KAAK;qBACH,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,4BAA4B;;iBAE3C,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc0B,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;AAChG,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,IAAI,CAC1C,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,CACzB;IACC,OAAuB,IAAI,SAAwB;IACnD,OAAuB,QAAQ,SAAS;IACxC,OAAuB,KAAK,SAAqB;IACjD,OAAuB,WAAW,SACkC;IACpE,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,UAClB,uBAAuB,WACrB,wBAAwB;;;;;;;;;;EAGlC,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC,CAAC;IACrC,UAAU,QAAQ;QAChB,cAAc,EAAE,cAAc,CAC5B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,CACzB,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,
|
|
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,
|
|
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,7 +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: ChunkToVectorTaskInput, config?:
|
|
196
|
+
export declare const chunkToVector: (input: ChunkToVectorTaskInput, config?: ChunkToVectorTaskConfig) => Promise<{
|
|
195
197
|
ids: string[];
|
|
196
198
|
metadata: {
|
|
197
199
|
[x: string]: unknown;
|
|
@@ -201,7 +203,7 @@ export declare const chunkToVector: (input: ChunkToVectorTaskInput, config?: Tas
|
|
|
201
203
|
}>;
|
|
202
204
|
declare module "@workglow/task-graph" {
|
|
203
205
|
interface Workflow {
|
|
204
|
-
chunkToVector: CreateWorkflow<ChunkToVectorTaskInput, ChunkToVectorTaskOutput,
|
|
206
|
+
chunkToVector: CreateWorkflow<ChunkToVectorTaskInput, ChunkToVectorTaskOutput, ChunkToVectorTaskConfig>;
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChunkToVectorTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkToVectorTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
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,
|
|
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,
|
|
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,10 +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: HybridSearchTaskInput, config?:
|
|
160
|
+
export declare const hybridSearch: (input: HybridSearchTaskInput, config?: ChunkVectorHybridSearchTaskConfig) => Promise<HybridSearchTaskOutput>;
|
|
159
161
|
declare module "@workglow/task-graph" {
|
|
160
162
|
interface Workflow {
|
|
161
|
-
hybridSearch: CreateWorkflow<HybridSearchTaskInput, HybridSearchTaskOutput,
|
|
163
|
+
hybridSearch: CreateWorkflow<HybridSearchTaskInput, HybridSearchTaskOutput, ChunkVectorHybridSearchTaskConfig>;
|
|
162
164
|
}
|
|
163
165
|
}
|
|
164
166
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChunkVectorHybridSearchTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorHybridSearchTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
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,
|
|
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,
|
|
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,7 +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: VectorStoreSearchTaskInput, config?:
|
|
124
|
+
export declare const vectorStoreSearch: (input: VectorStoreSearchTaskInput, config?: ChunkVectorSearchTaskConfig) => Promise<{
|
|
123
125
|
count: number;
|
|
124
126
|
ids: string[];
|
|
125
127
|
metadata: {
|
|
@@ -130,7 +132,7 @@ export declare const vectorStoreSearch: (input: VectorStoreSearchTaskInput, conf
|
|
|
130
132
|
}>;
|
|
131
133
|
declare module "@workglow/task-graph" {
|
|
132
134
|
interface Workflow {
|
|
133
|
-
vectorStoreSearch: CreateWorkflow<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput,
|
|
135
|
+
vectorStoreSearch: CreateWorkflow<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, ChunkVectorSearchTaskConfig>;
|
|
134
136
|
}
|
|
135
137
|
}
|
|
136
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,
|
|
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,
|
|
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,
|
|
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,14 +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: VectorStoreUpsertTaskInput, config?:
|
|
111
|
+
export declare const chunkVectorUpsert: (input: VectorStoreUpsertTaskInput, config?: ChunkVectorUpsertTaskConfig) => Promise<{
|
|
110
112
|
chunk_ids: string[];
|
|
111
113
|
count: number;
|
|
112
114
|
doc_id: string;
|
|
113
115
|
}>;
|
|
114
116
|
declare module "@workglow/task-graph" {
|
|
115
117
|
interface Workflow {
|
|
116
|
-
chunkVectorUpsert: CreateWorkflow<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput,
|
|
118
|
+
chunkVectorUpsert: CreateWorkflow<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, ChunkVectorUpsertTaskConfig>;
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
121
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChunkVectorUpsertTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorUpsertTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"ChunkVectorUpsertTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorUpsertTask.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;AAG/B,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,aAAa;;;;;;;;;;;;;;;;iBAIb,MAAM;qBACJ,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,iBAAiB;;iBAEhC,OAAO;;;;;;;;;;;;;;;;iBAMP,QAAQ;;;;;;;;;;;;;;;;;;;CASuB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,KAAK;qBACH,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,4BAA4B;;iBAE3C,MAAM;qBACJ,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,iBAAiB;;iBAEhC,SAAS;qBACP,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,WAAW;qBAClB,WAAW,EAAE,+BAA+B;;;;;CAKf,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CACjD,OAAO,WAAW,EAClB,uBAAuB,CACxB,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAC1E,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,SAA+D;IACjG,OAAuB,SAAS,UAAS;IAEzC,OAAuB,WAAW,IAAI,cAAc,CAEnD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAEc,OAAO,CACpB,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,2BAA2B,CAAC,CAqDtC;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, IExecuteReactiveContext,
|
|
6
|
+
import { CreateWorkflow, IExecuteReactiveContext, Task } from "@workglow/task-graph";
|
|
7
|
+
import type { TaskConfig } from "@workglow/task-graph";
|
|
7
8
|
import { DataPortSchema, FromSchema } from "@workglow/util/schema";
|
|
8
9
|
export declare const ContextFormat: {
|
|
9
10
|
readonly SIMPLE: "simple";
|
|
@@ -174,6 +175,7 @@ declare const outputSchema: {
|
|
|
174
175
|
};
|
|
175
176
|
export type ContextBuilderTaskInput = FromSchema<typeof inputSchema>;
|
|
176
177
|
export type ContextBuilderTaskOutput = FromSchema<typeof outputSchema>;
|
|
178
|
+
export type ContextBuilderTaskConfig = TaskConfig<ContextBuilderTaskInput>;
|
|
177
179
|
/**
|
|
178
180
|
* Task for formatting retrieved chunks into context for LLM prompts.
|
|
179
181
|
* Supports various formatting styles and length/token constraints.
|
|
@@ -182,7 +184,7 @@ export type ContextBuilderTaskOutput = FromSchema<typeof outputSchema>;
|
|
|
182
184
|
* the token count of the generated context. This is a character-based estimate
|
|
183
185
|
* rather than an exact tokenizer tied to a specific model.
|
|
184
186
|
*/
|
|
185
|
-
export declare class ContextBuilderTask extends Task<ContextBuilderTaskInput, ContextBuilderTaskOutput,
|
|
187
|
+
export declare class ContextBuilderTask extends Task<ContextBuilderTaskInput, ContextBuilderTaskOutput, ContextBuilderTaskConfig> {
|
|
186
188
|
static type: string;
|
|
187
189
|
static category: string;
|
|
188
190
|
static title: string;
|
|
@@ -199,7 +201,7 @@ export declare class ContextBuilderTask extends Task<ContextBuilderTaskInput, Co
|
|
|
199
201
|
private formatMetadataInline;
|
|
200
202
|
private escapeXML;
|
|
201
203
|
}
|
|
202
|
-
export declare const contextBuilder: (input: ContextBuilderTaskInput, config?:
|
|
204
|
+
export declare const contextBuilder: (input: ContextBuilderTaskInput, config?: ContextBuilderTaskConfig) => Promise<{
|
|
203
205
|
chunksUsed: number;
|
|
204
206
|
context: string;
|
|
205
207
|
totalLength: number;
|
|
@@ -207,7 +209,7 @@ export declare const contextBuilder: (input: ContextBuilderTaskInput, config?: T
|
|
|
207
209
|
}>;
|
|
208
210
|
declare module "@workglow/task-graph" {
|
|
209
211
|
interface Workflow {
|
|
210
|
-
contextBuilder: CreateWorkflow<ContextBuilderTaskInput, ContextBuilderTaskOutput,
|
|
212
|
+
contextBuilder: CreateWorkflow<ContextBuilderTaskInput, ContextBuilderTaskOutput, ContextBuilderTaskConfig>;
|
|
211
213
|
}
|
|
212
214
|
}
|
|
213
215
|
export {};
|