@workglow/ai 0.0.99 → 0.0.100

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.
@@ -6,7 +6,7 @@
6
6
  import { TaskInput, TaskOutput } from "@workglow/task-graph";
7
7
  import { type WorkerServer } from "@workglow/util";
8
8
  import type { ModelConfig } from "../model/ModelSchema";
9
- import { type AiProviderRunFn, type AiProviderStreamFn } from "./AiProviderRegistry";
9
+ import { type AiProviderReactiveRunFn, type AiProviderRunFn, type AiProviderStreamFn } from "./AiProviderRegistry";
10
10
  /**
11
11
  * Execution mode for an AI provider.
12
12
  * - "inline": run functions execute directly in the current thread
@@ -81,7 +81,13 @@ export declare abstract class AiProvider<TModelConfig extends ModelConfig = Mode
81
81
  * support streaming output (e.g., text generation, summarization).
82
82
  */
83
83
  protected readonly streamTasks?: Record<string, AiProviderStreamFn<any, any, TModelConfig>>;
84
- constructor(tasks?: Record<string, AiProviderRunFn<any, any, TModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, TModelConfig>>);
84
+ /**
85
+ * Map of task type names to their reactive run functions.
86
+ * Injected via constructor alongside `tasks`. Only needed for tasks that
87
+ * provide lightweight reactive previews via executeReactive().
88
+ */
89
+ protected readonly reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TModelConfig>>;
90
+ constructor(tasks?: Record<string, AiProviderRunFn<any, any, TModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, TModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TModelConfig>>);
85
91
  /** Get all task type names this provider supports */
86
92
  get supportedTaskTypes(): readonly string[];
87
93
  /**
@@ -96,6 +102,12 @@ export declare abstract class AiProvider<TModelConfig extends ModelConfig = Mode
96
102
  * @returns The stream function, or undefined if streaming is not supported for this task type
97
103
  */
98
104
  getStreamFn<I extends TaskInput = TaskInput, O extends TaskOutput = TaskOutput>(taskType: string): AiProviderStreamFn<I, O, TModelConfig> | undefined;
105
+ /**
106
+ * Get the reactive run function for a specific task type.
107
+ * @param taskType - The task type name (e.g., "CountTokensTask")
108
+ * @returns The reactive function, or undefined if not supported for this task type
109
+ */
110
+ getReactiveRunFn<I extends TaskInput = TaskInput, O extends TaskOutput = TaskOutput>(taskType: string): AiProviderReactiveRunFn<I, O, TModelConfig> | undefined;
99
111
  /**
100
112
  * Register this provider on the main thread.
101
113
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AiProvider.d.ts","sourceRoot":"","sources":["../../src/provider/AiProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,sEAAsE;IACtE,IAAI,EAAE,cAAc,CAAC;IACrB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE;QACN,wDAAwD;QACxD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,uEAAuE;QACvE,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,8BAAsB,UAAU,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW;IAC7E,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAE/C;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;gBAG1F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,EAC/D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAM1E,qDAAqD;IACrD,IAAI,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAE1C;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,EACzE,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS;IAIlD;;;;OAIG;IACH,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,UAAU,GAAG,UAAU,EAC5E,QAAQ,EAAE,MAAM,GACf,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS;IAIrD;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,OAAO,GAAE,yBAA8C,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CtF;;;;;;;;OAQG;IACH,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAiBxD;;;;OAIG;cACa,YAAY,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhF;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;OAGG;cACa,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
1
+ {"version":3,"file":"AiProvider.d.ts","sourceRoot":"","sources":["../../src/provider/AiProvider.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@ import type { AiProvider } from "./AiProvider";
10
10
  * Type for the run function for the AiJob
11
11
  */
12
12
  export type AiProviderRunFn<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Model extends ModelConfig = ModelConfig> = (input: Input, model: Model | undefined, update_progress: (progress: number, message?: string, details?: any) => void, signal: AbortSignal) => Promise<Output>;
13
+ /**
14
+ * Type for the reactive run function for AiTask.executeReactive().
15
+ * Receives the current output alongside the input so it can return a fast preview.
16
+ * No `signal` or `update_progress` -- reactive execution is lightweight and synchronous-ish.
17
+ */
18
+ export type AiProviderReactiveRunFn<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Model extends ModelConfig = ModelConfig> = (input: Input, output: Output, model: Model | undefined) => Promise<Output | undefined>;
13
19
  /**
14
20
  * Type for the streaming run function for the AiJob.
15
21
  * Returns an AsyncIterable of StreamEvents instead of a Promise.
@@ -24,6 +30,7 @@ export type AiProviderStreamFn<Input extends TaskInput = TaskInput, Output exten
24
30
  export declare class AiProviderRegistry {
25
31
  runFnRegistry: Map<string, Map<string, AiProviderRunFn<any, any>>>;
26
32
  streamFnRegistry: Map<string, Map<string, AiProviderStreamFn<any, any>>>;
33
+ reactiveRunFnRegistry: Map<string, Map<string, AiProviderReactiveRunFn<any, any>>>;
27
34
  private providers;
28
35
  /**
29
36
  * Registers an AiProvider instance for lifecycle management and introspection.
@@ -67,6 +74,22 @@ export declare class AiProviderRegistry {
67
74
  * Returns undefined if no streaming function is registered (fallback to non-streaming).
68
75
  */
69
76
  getStreamFn<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput>(modelProvider: string, taskType: string): AiProviderStreamFn<Input, Output> | undefined;
77
+ /**
78
+ * Registers a worker-proxied reactive function for a specific task type and model provider.
79
+ * Creates a proxy that delegates reactive execution to a Web Worker via WorkerManager.
80
+ * Returns undefined (non-throwing) if the worker has no reactive function for the task type.
81
+ */
82
+ registerAsWorkerReactiveRunFn<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput>(modelProvider: string, taskType: string): void;
83
+ /**
84
+ * Registers a reactive execution function for a specific task type and model provider.
85
+ * Called by AiTask.executeReactive() to provide a fast, lightweight preview without a network call.
86
+ */
87
+ registerReactiveRunFn<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput>(modelProvider: string, taskType: string, reactiveRunFn: AiProviderReactiveRunFn<Input, Output>): void;
88
+ /**
89
+ * Retrieves the reactive execution function for a task type and model provider.
90
+ * Returns undefined if no reactive function is registered (fallback to default behavior).
91
+ */
92
+ getReactiveRunFn<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput>(modelProvider: string, taskType: string): AiProviderReactiveRunFn<Input, Output> | undefined;
70
93
  /**
71
94
  * Retrieves the direct execution function for a task type and model
72
95
  * Bypasses the job queue system for immediate execution
@@ -1 +1 @@
1
- {"version":3,"file":"AiProviderRegistry.d.ts","sourceRoot":"","sources":["../../src/provider/AiProviderRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiProviderRegistry.d.ts","sourceRoot":"","sources":["../../src/provider/AiProviderRegistry.ts"],"names":[],"mappings":"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"}
@@ -230,9 +230,9 @@ export declare const chunkRetrieval: (input: ChunkRetrievalTaskInput, config?: J
230
230
  [x: string]: unknown;
231
231
  }[];
232
232
  chunks: string[];
233
+ count: number;
233
234
  scores: number[];
234
235
  chunk_ids: string[];
235
- count: number;
236
236
  }>;
237
237
  declare module "@workglow/task-graph" {
238
238
  interface Workflow {
@@ -125,8 +125,8 @@ export declare const vectorStoreSearch: (input: VectorStoreSearchTaskInput, conf
125
125
  }[];
126
126
  vectors: import("@workglow/util").TypedArray[];
127
127
  ids: string[];
128
- scores: number[];
129
128
  count: number;
129
+ scores: number[];
130
130
  }>;
131
131
  declare module "@workglow/task-graph" {
132
132
  interface Workflow {
@@ -108,8 +108,8 @@ export declare class ChunkVectorUpsertTask extends Task<VectorStoreUpsertTaskInp
108
108
  }
109
109
  export declare const chunkVectorUpsert: (input: VectorStoreUpsertTaskInput, config?: JobQueueTaskConfig) => Promise<{
110
110
  doc_id: string;
111
- chunk_ids: string[];
112
111
  count: number;
112
+ chunk_ids: string[];
113
113
  }>;
114
114
  declare module "@workglow/task-graph" {
115
115
  interface Workflow {
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CreateWorkflow, JobQueueTaskConfig, Task } from "@workglow/task-graph";
6
+ import { CreateWorkflow, IExecuteReactiveContext, JobQueueTaskConfig, Task } from "@workglow/task-graph";
7
7
  import { DataPortSchema, FromSchema } from "@workglow/util";
8
8
  export declare const ContextFormat: {
9
9
  readonly SIMPLE: "simple";
@@ -56,6 +56,13 @@ declare const inputSchema: {
56
56
  readonly minimum: 0;
57
57
  readonly default: 0;
58
58
  };
59
+ readonly maxTokens: {
60
+ readonly type: "number";
61
+ readonly title: "Max Tokens";
62
+ readonly description: "Maximum number of tokens in context (0 = unlimited). Takes precedence over maxLength when set.";
63
+ readonly minimum: 0;
64
+ readonly default: 0;
65
+ };
59
66
  readonly includeMetadata: {
60
67
  readonly type: "boolean";
61
68
  readonly title: "Include Metadata";
@@ -68,6 +75,64 @@ declare const inputSchema: {
68
75
  readonly description: "Separator between chunks";
69
76
  readonly default: "\n\n";
70
77
  };
78
+ readonly model: {
79
+ readonly oneOf: readonly [{
80
+ readonly title: "Model";
81
+ readonly description: `The model ${string}`;
82
+ } & {
83
+ title: string;
84
+ description: string;
85
+ } & {
86
+ readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
87
+ readonly type: "string";
88
+ }, {
89
+ readonly type: "object";
90
+ readonly properties: {
91
+ readonly model_id: {
92
+ readonly type: "string";
93
+ };
94
+ readonly tasks: {
95
+ readonly type: "array";
96
+ readonly items: {
97
+ readonly type: "string";
98
+ };
99
+ readonly "x-ui-editor": "multiselect";
100
+ };
101
+ readonly title: {
102
+ readonly type: "string";
103
+ };
104
+ readonly description: {
105
+ readonly type: "string";
106
+ readonly "x-ui-editor": "textarea";
107
+ };
108
+ readonly provider: {
109
+ readonly type: "string";
110
+ };
111
+ readonly provider_config: {
112
+ readonly type: "object";
113
+ readonly default: {};
114
+ };
115
+ readonly metadata: {
116
+ readonly type: "object";
117
+ readonly default: {};
118
+ readonly "x-ui-hidden": true;
119
+ };
120
+ };
121
+ readonly required: readonly ["provider", "provider_config"];
122
+ readonly format: "model";
123
+ readonly additionalProperties: true;
124
+ } & {
125
+ title: string;
126
+ description: string;
127
+ } & {
128
+ readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
129
+ }];
130
+ } & {
131
+ title: string;
132
+ description: string;
133
+ } & {
134
+ readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
135
+ };
71
136
  };
72
137
  readonly required: readonly ["chunks"];
73
138
  readonly additionalProperties: false;
@@ -90,15 +155,24 @@ declare const outputSchema: {
90
155
  readonly title: "Total Length";
91
156
  readonly description: "Total length of context in characters";
92
157
  };
158
+ readonly totalTokens: {
159
+ readonly type: "number";
160
+ readonly title: "Total Tokens";
161
+ readonly description: "Estimated token count of the context";
162
+ };
93
163
  };
94
- readonly required: readonly ["context", "chunksUsed", "totalLength"];
164
+ readonly required: readonly ["context", "chunksUsed", "totalLength", "totalTokens"];
95
165
  readonly additionalProperties: false;
96
166
  };
97
167
  export type ContextBuilderTaskInput = FromSchema<typeof inputSchema>;
98
168
  export type ContextBuilderTaskOutput = FromSchema<typeof outputSchema>;
99
169
  /**
100
170
  * Task for formatting retrieved chunks into context for LLM prompts.
101
- * Supports various formatting styles and length constraints.
171
+ * Supports various formatting styles and length/token constraints.
172
+ *
173
+ * Token budgeting (for `maxTokens`) uses {@link estimateTokens} to approximate
174
+ * the token count of the generated context. This is a character-based estimate
175
+ * rather than an exact tokenizer tied to a specific model.
102
176
  */
103
177
  export declare class ContextBuilderTask extends Task<ContextBuilderTaskInput, ContextBuilderTaskOutput, JobQueueTaskConfig> {
104
178
  static type: string;
@@ -108,7 +182,7 @@ export declare class ContextBuilderTask extends Task<ContextBuilderTaskInput, Co
108
182
  static cacheable: boolean;
109
183
  static inputSchema(): DataPortSchema;
110
184
  static outputSchema(): DataPortSchema;
111
- executeReactive(input: ContextBuilderTaskInput, output: ContextBuilderTaskOutput): Promise<ContextBuilderTaskOutput>;
185
+ executeReactive(input: ContextBuilderTaskInput, _output: ContextBuilderTaskOutput, context: IExecuteReactiveContext): Promise<ContextBuilderTaskOutput>;
112
186
  private formatChunk;
113
187
  private formatNumbered;
114
188
  private formatXML;
@@ -121,6 +195,7 @@ export declare const contextBuilder: (input: ContextBuilderTaskInput, config?: J
121
195
  context: string;
122
196
  chunksUsed: number;
123
197
  totalLength: number;
198
+ totalTokens: number;
124
199
  }>;
125
200
  declare module "@workglow/task-graph" {
126
201
  interface Workflow {
@@ -1 +1 @@
1
- {"version":3,"file":"ContextBuilderTask.d.ts","sourceRoot":"","sources":["../../src/task/ContextBuilderTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CAqBiB,CAAC;AAEpC,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvE;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,IAAI,CAC1C,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,CACnB;IACC,OAAc,IAAI,SAAwB;IAC1C,OAAc,QAAQ,SAAS;IAC/B,OAAc,KAAK,SAAqB;IACxC,OAAc,WAAW,SAA0D;IACnF,OAAc,SAAS,UAAQ;WAEjB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,eAAe,CACnB,KAAK,EAAE,uBAAuB,EAC9B,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC;IAqDpC,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,SAAS;IA2BjB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,SAAS;CAQlB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,uBAAuB,EAAE,SAAS,kBAAkB;;;;EAEzF,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,cAAc,EAAE,cAAc,CAC5B,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,CACnB,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"ContextBuilderTask.d.ts","sourceRoot":"","sources":["../../src/task/ContextBuilderTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5D,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAO/E,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BiB,CAAC;AAEpC,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACrE,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvE;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,IAAI,CAC1C,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,CACnB;IACC,OAAc,IAAI,SAAwB;IAC1C,OAAc,QAAQ,SAAS;IAC/B,OAAc,KAAK,SAAqB;IACxC,OAAc,WAAW,SAA0D;IACnF,OAAc,SAAS,UAAQ;WAEjB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,eAAe,CACnB,KAAK,EAAE,uBAAuB,EAC9B,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,wBAAwB,CAAC;IAkFpC,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,SAAS;IA2BjB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,SAAS;CAQlB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,uBAAuB,EAAE,SAAS,kBAAkB;;;;;EAEzF,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,cAAc,EAAE,cAAc,CAC5B,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,CACnB,CAAC;KACH;CACF"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CreateWorkflow, JobQueueTaskConfig } from "@workglow/task-graph";
7
+ import { DataPortSchema, FromSchema } from "@workglow/util";
8
+ import { AiTask } from "./base/AiTask";
9
+ export declare const CountTokensInputSchema: {
10
+ readonly type: "object";
11
+ readonly properties: {
12
+ readonly text: {
13
+ readonly type: "string";
14
+ readonly title: "Text";
15
+ readonly description: "The text to count tokens for";
16
+ };
17
+ readonly model: {
18
+ readonly oneOf: readonly [{
19
+ readonly title: "Model";
20
+ readonly description: `The model ${string}`;
21
+ } & {
22
+ readonly format: import(".").TypeModelSemantic;
23
+ readonly type: "string";
24
+ }, {
25
+ readonly type: "object";
26
+ readonly properties: {
27
+ readonly model_id: {
28
+ readonly type: "string";
29
+ };
30
+ readonly tasks: {
31
+ readonly type: "array";
32
+ readonly items: {
33
+ readonly type: "string";
34
+ };
35
+ readonly "x-ui-editor": "multiselect";
36
+ };
37
+ readonly title: {
38
+ readonly type: "string";
39
+ };
40
+ readonly description: {
41
+ readonly type: "string";
42
+ readonly "x-ui-editor": "textarea";
43
+ };
44
+ readonly provider: {
45
+ readonly type: "string";
46
+ };
47
+ readonly provider_config: {
48
+ readonly type: "object";
49
+ readonly default: {};
50
+ };
51
+ readonly metadata: {
52
+ readonly type: "object";
53
+ readonly default: {};
54
+ readonly "x-ui-hidden": true;
55
+ };
56
+ };
57
+ readonly required: readonly ["provider", "provider_config"];
58
+ readonly format: "model";
59
+ readonly additionalProperties: true;
60
+ } & {
61
+ readonly format: import(".").TypeModelSemantic;
62
+ }];
63
+ } & {
64
+ readonly format: import(".").TypeModelSemantic;
65
+ };
66
+ };
67
+ readonly required: readonly ["text", "model"];
68
+ readonly additionalProperties: false;
69
+ };
70
+ export declare const CountTokensOutputSchema: {
71
+ readonly type: "object";
72
+ readonly properties: {
73
+ readonly count: {
74
+ readonly type: "number";
75
+ readonly title: "Token Count";
76
+ readonly description: "The number of tokens in the text";
77
+ };
78
+ };
79
+ readonly required: readonly ["count"];
80
+ readonly additionalProperties: false;
81
+ };
82
+ export type CountTokensTaskInput = FromSchema<typeof CountTokensInputSchema>;
83
+ export type CountTokensTaskOutput = FromSchema<typeof CountTokensOutputSchema>;
84
+ /**
85
+ * A task that counts the number of tokens in a text string using a specified model's tokenizer.
86
+ * Token counts are model-specific and are useful for managing context window limits and
87
+ * budgeting token usage in RAG pipelines.
88
+ *
89
+ * @extends AiTask
90
+ */
91
+ export declare class CountTokensTask extends AiTask<CountTokensTaskInput, CountTokensTaskOutput> {
92
+ static type: string;
93
+ static category: string;
94
+ static title: string;
95
+ static description: string;
96
+ static cacheable: boolean;
97
+ static inputSchema(): DataPortSchema;
98
+ static outputSchema(): DataPortSchema;
99
+ }
100
+ /**
101
+ * Convenience function to create and run a count tokens task.
102
+ * @param input - Input containing text and model for token counting
103
+ * @returns Promise resolving to the token count
104
+ */
105
+ export declare const countTokens: (input: CountTokensTaskInput, config?: JobQueueTaskConfig) => Promise<{
106
+ count: number;
107
+ }>;
108
+ declare module "@workglow/task-graph" {
109
+ interface Workflow {
110
+ countTokens: CreateWorkflow<CountTokensTaskInput, CountTokensTaskOutput, JobQueueTaskConfig>;
111
+ }
112
+ }
113
+ //# sourceMappingURL=CountTokensTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountTokensTask.d.ts","sourceRoot":"","sources":["../../src/task/CountTokensTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAY,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYA,CAAC;AAEpC,eAAO,MAAM,uBAAuB;;;;;;;;;;;CAWD,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE/E;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACtF,OAAc,IAAI,SAAqB;IACvC,OAAc,QAAQ,SAAmB;IACzC,OAAc,KAAK,SAAkB;IACrC,OAAc,WAAW,SACoD;IAC7E,OAAc,SAAS,UAAQ;WACjB,WAAW,IAAI,cAAc;WAG7B,YAAY,IAAI,cAAc;CAG7C;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAU,OAAO,oBAAoB,EAAE,SAAS,kBAAkB;;EAEzF,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,WAAW,EAAE,cAAc,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;KAC9F;CACF"}
@@ -45,8 +45,66 @@ declare const inputSchema: {
45
45
  readonly description: "Strategy for chunking";
46
46
  readonly default: "hierarchical";
47
47
  };
48
+ readonly model: {
49
+ readonly oneOf: readonly [{
50
+ readonly title: "Model";
51
+ readonly description: `The model ${string}`;
52
+ } & {
53
+ title: string;
54
+ description: string;
55
+ } & {
56
+ readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
57
+ readonly type: "string";
58
+ }, {
59
+ readonly type: "object";
60
+ readonly properties: {
61
+ readonly model_id: {
62
+ readonly type: "string";
63
+ };
64
+ readonly tasks: {
65
+ readonly type: "array";
66
+ readonly items: {
67
+ readonly type: "string";
68
+ };
69
+ readonly "x-ui-editor": "multiselect";
70
+ };
71
+ readonly title: {
72
+ readonly type: "string";
73
+ };
74
+ readonly description: {
75
+ readonly type: "string";
76
+ readonly "x-ui-editor": "textarea";
77
+ };
78
+ readonly provider: {
79
+ readonly type: "string";
80
+ };
81
+ readonly provider_config: {
82
+ readonly type: "object";
83
+ readonly default: {};
84
+ };
85
+ readonly metadata: {
86
+ readonly type: "object";
87
+ readonly default: {};
88
+ readonly "x-ui-hidden": true;
89
+ };
90
+ };
91
+ readonly required: readonly ["provider", "provider_config"];
92
+ readonly format: "model";
93
+ readonly additionalProperties: true;
94
+ } & {
95
+ title: string;
96
+ description: string;
97
+ } & {
98
+ readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
99
+ }];
100
+ } & {
101
+ title: string;
102
+ description: string;
103
+ } & {
104
+ readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
105
+ };
48
106
  };
49
- readonly required: readonly [];
107
+ readonly required: readonly ["doc_id", "documentTree"];
50
108
  readonly additionalProperties: false;
51
109
  };
52
110
  declare const outputSchema: {
@@ -155,7 +213,10 @@ declare const outputSchema: {
155
213
  export type HierarchicalChunkerTaskInput = FromSchema<typeof inputSchema>;
156
214
  export type HierarchicalChunkerTaskOutput = FromSchema<typeof outputSchema>;
157
215
  /**
158
- * Task for hierarchical chunking that respects token budgets and document structure
216
+ * Task for hierarchical chunking that respects token budgets and document structure.
217
+ * Pass a `model` in the input to use {@link CountTokensTask} for accurate token
218
+ * counting; when omitted, the task falls back to the character-based estimate
219
+ * provided by {@link estimateTokens}.
159
220
  */
160
221
  export declare class HierarchicalChunkerTask extends Task<HierarchicalChunkerTaskInput, HierarchicalChunkerTaskOutput, JobQueueTaskConfig> {
161
222
  static type: string;
@@ -171,7 +232,9 @@ export declare class HierarchicalChunkerTask extends Task<HierarchicalChunkerTas
171
232
  */
172
233
  private chunkHierarchically;
173
234
  /**
174
- * Chunk a single text string
235
+ * Chunk a single text string, using countFn for token counting.
236
+ * countFn always returns a number -- it falls back to estimation internally
237
+ * when no real tokenizer is available.
175
238
  */
176
239
  private chunkText;
177
240
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalChunkerTask.d.ts","sourceRoot":"","sources":["../../src/task/HierarchicalChunkerTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAS,MAAM,gBAAgB,CAAC;AAEnE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BiB,CAAC;AAEpC,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAC1E,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,IAAI,CAC/C,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,CACnB;IACC,OAAc,IAAI,SAA6B;IAC/C,OAAc,QAAQ,SAAc;IACpC,OAAc,KAAK,SAA0B;IAC7C,OAAc,WAAW,SAA6D;IACtF,OAAc,SAAS,UAAQ;WAEjB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,OAAO,CACX,KAAK,EAAE,4BAA4B,EACnC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,6BAA6B,CAAC;IAwCzC;;OAEG;YACW,mBAAmB;IAsBjC;;OAEG;YACW,SAAS;IAoDvB;;OAEG;YACW,SAAS;IAWvB;;OAEG;IACH,OAAO,CAAC,cAAc;CAgBvB;AAED,eAAO,MAAM,mBAAmB,GAC9B,OAAO,4BAA4B,EACnC,SAAS,kBAAkB;;;;;;;;;;;;;;;;;;;EAG5B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,mBAAmB,EAAE,cAAc,CACjC,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,CACnB,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"HierarchicalChunkerTask.d.ts","sourceRoot":"","sources":["../../src/task/HierarchicalChunkerTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAS,MAAM,gBAAgB,CAAC;AASnE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BiB,CAAC;AAEpC,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAC1E,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,IAAI,CAC/C,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,CACnB;IACC,OAAc,IAAI,SAA6B;IAC/C,OAAc,QAAQ,SAAc;IACpC,OAAc,KAAK,SAA0B;IAC7C,OAAc,WAAW,SAA6D;IACtF,OAAc,SAAS,UAAQ;WAEjB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,OAAO,CACX,KAAK,EAAE,4BAA4B,EACnC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,6BAA6B,CAAC;IAqDzC;;OAEG;YACW,mBAAmB;IA6BjC;;;;OAIG;YACW,SAAS;IA+EvB;;OAEG;YACW,SAAS;IAWvB;;OAEG;IACH,OAAO,CAAC,cAAc;CAgBvB;AAED,eAAO,MAAM,mBAAmB,GAC9B,OAAO,4BAA4B,EACnC,SAAS,kBAAkB;;;;;;;;;;;;;;;;;;;EAG5B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,mBAAmB,EAAE,cAAc,CACjC,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,CACnB,CAAC;KACH;CACF"}
@@ -305,9 +305,9 @@ export declare const hierarchyJoin: (input: HierarchyJoinTaskInput, config?: Job
305
305
  leafNodeId: string;
306
306
  }[];
307
307
  chunks: string[];
308
+ count: number;
308
309
  scores: number[];
309
310
  chunk_ids: string[];
310
- count: number;
311
311
  }>;
312
312
  declare module "@workglow/task-graph" {
313
313
  interface Workflow {
@@ -196,8 +196,8 @@ export declare const reranker: (input: RerankerTaskInput, config?: JobQueueTaskC
196
196
  [x: string]: unknown;
197
197
  }[] | undefined;
198
198
  chunks: string[];
199
- scores: number[];
200
199
  count: number;
200
+ scores: number[];
201
201
  originalIndices: number[];
202
202
  }>;
203
203
  declare module "@workglow/task-graph" {
@@ -7,7 +7,7 @@
7
7
  * @description This file contains the implementation of the JobQueueTask class and its derived classes.
8
8
  */
9
9
  import { Job } from "@workglow/job-queue";
10
- import { JobQueueTask, JobQueueTaskConfig, TaskInput, type TaskOutput } from "@workglow/task-graph";
10
+ import { type IExecuteReactiveContext, JobQueueTask, JobQueueTaskConfig, TaskInput, type TaskOutput } from "@workglow/task-graph";
11
11
  import { type ServiceRegistry } from "@workglow/util";
12
12
  import { AiJobInput } from "../../job/AiJob";
13
13
  import type { ModelConfig } from "../../model/ModelSchema";
@@ -51,6 +51,14 @@ export declare class AiTask<Input extends AiSingleTaskInput = AiSingleTaskInput,
51
51
  * After TaskRunner resolution, input.model is a ModelConfig.
52
52
  */
53
53
  protected getDefaultQueueName(input: Input): Promise<string | undefined>;
54
+ /**
55
+ * Delegates to a provider-registered reactive run function if one exists,
56
+ * otherwise falls back to the default Task.executeReactive() (returns output unchanged).
57
+ *
58
+ * Individual task subclasses that override executeReactive() directly take full
59
+ * precedence -- this base implementation is only reached when no subclass override exists.
60
+ */
61
+ executeReactive(input: Input, output: Output, context: IExecuteReactiveContext): Promise<Output | undefined>;
54
62
  /**
55
63
  * Validates that model inputs are valid ModelConfig objects.
56
64
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AiTask.d.ts","sourceRoot":"","sources":["../../../src/task/base/AiTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAElB,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAS,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,MAAM,CACjB,KAAK,SAAS,iBAAiB,GAAG,iBAAiB,EACnD,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAc,IAAI,EAAE,MAAM,CAAY;IAEtC;;;OAGG;gBACS,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,MAAqB;IAiBrE;;;;;;;;;OASG;cACsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAkB9E;;;;;OAKG;IACY,SAAS,CACtB,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAc1C;;;OAGG;cACsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKvF;;;;;;;;OAQG;IACG,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAmD7C,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;CAoC3E"}
1
+ {"version":3,"file":"AiTask.d.ts","sourceRoot":"","sources":["../../../src/task/base/AiTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EACL,KAAK,uBAAuB,EAC5B,YAAY,EACZ,kBAAkB,EAElB,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAS,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAS3D,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,MAAM,CACjB,KAAK,SAAS,iBAAiB,GAAG,iBAAiB,EACnD,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,CACtD,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,OAAc,IAAI,EAAE,MAAM,CAAY;IAEtC;;;OAGG;gBACS,KAAK,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,MAAqB;IAiBrE;;;;;;;;;OASG;cACsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAkB9E;;;;;OAKG;IACY,SAAS,CACtB,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAc1C;;;OAGG;cACsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKvF;;;;;;OAMG;IACY,eAAe,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAe9B;;;;;;;;OAQG;IACG,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAmD7C,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;CAoC3E"}
@@ -10,6 +10,7 @@ import { ChunkVectorHybridSearchTask } from "./ChunkVectorHybridSearchTask";
10
10
  import { ChunkVectorSearchTask } from "./ChunkVectorSearchTask";
11
11
  import { ChunkVectorUpsertTask } from "./ChunkVectorUpsertTask";
12
12
  import { ContextBuilderTask } from "./ContextBuilderTask";
13
+ import { CountTokensTask } from "./CountTokensTask";
13
14
  import { DocumentEnricherTask } from "./DocumentEnricherTask";
14
15
  import { FaceDetectorTask } from "./FaceDetectorTask";
15
16
  import { FaceLandmarkerTask } from "./FaceLandmarkerTask";
@@ -41,7 +42,7 @@ import { TopicSegmenterTask } from "./TopicSegmenterTask";
41
42
  import { UnloadModelTask } from "./UnloadModelTask";
42
43
  import { VectorQuantizeTask } from "./VectorQuantizeTask";
43
44
  import { VectorSimilarityTask } from "./VectorSimilarityTask";
44
- export declare const registerAiTasks: () => (typeof BackgroundRemovalTask | typeof ChunkToVectorTask | typeof ContextBuilderTask | typeof DocumentEnricherTask | typeof ChunkRetrievalTask | typeof ChunkVectorHybridSearchTask | typeof ChunkVectorSearchTask | typeof ChunkVectorUpsertTask | typeof FaceDetectorTask | typeof FaceLandmarkerTask | typeof GestureRecognizerTask | typeof HandLandmarkerTask | typeof HierarchicalChunkerTask | typeof HierarchyJoinTask | typeof ImageClassificationTask | typeof ImageEmbeddingTask | typeof ImageSegmentationTask | typeof ImageToTextTask | typeof ObjectDetectionTask | typeof PoseLandmarkerTask | typeof QueryExpanderTask | typeof RerankerTask | typeof StructuralParserTask | typeof TextChunkerTask | typeof TextClassificationTask | typeof TextEmbeddingTask | typeof TextFillMaskTask | typeof TextGenerationTask | typeof TextLanguageDetectionTask | typeof TextNamedEntityRecognitionTask | typeof TextQuestionAnswerTask | typeof TextRewriterTask | typeof TextSummaryTask | typeof TextTranslationTask | typeof TopicSegmenterTask | typeof UnloadModelTask | typeof VectorQuantizeTask | typeof VectorSimilarityTask)[];
45
+ export declare const registerAiTasks: () => (typeof BackgroundRemovalTask | typeof ChunkToVectorTask | typeof CountTokensTask | typeof ContextBuilderTask | typeof DocumentEnricherTask | typeof ChunkRetrievalTask | typeof ChunkVectorHybridSearchTask | typeof ChunkVectorSearchTask | typeof ChunkVectorUpsertTask | typeof FaceDetectorTask | typeof FaceLandmarkerTask | typeof GestureRecognizerTask | typeof HandLandmarkerTask | typeof HierarchicalChunkerTask | typeof HierarchyJoinTask | typeof ImageClassificationTask | typeof ImageEmbeddingTask | typeof ImageSegmentationTask | typeof ImageToTextTask | typeof ObjectDetectionTask | typeof PoseLandmarkerTask | typeof QueryExpanderTask | typeof RerankerTask | typeof StructuralParserTask | typeof TextChunkerTask | typeof TextClassificationTask | typeof TextEmbeddingTask | typeof TextFillMaskTask | typeof TextGenerationTask | typeof TextLanguageDetectionTask | typeof TextNamedEntityRecognitionTask | typeof TextQuestionAnswerTask | typeof TextRewriterTask | typeof TextSummaryTask | typeof TextTranslationTask | typeof TopicSegmenterTask | typeof UnloadModelTask | typeof VectorQuantizeTask | typeof VectorSimilarityTask)[];
45
46
  export * from "./BackgroundRemovalTask";
46
47
  export * from "./base/AiTask";
47
48
  export * from "./base/AiTaskSchemas";
@@ -52,6 +53,7 @@ export * from "./ChunkVectorHybridSearchTask";
52
53
  export * from "./ChunkVectorSearchTask";
53
54
  export * from "./ChunkVectorUpsertTask";
54
55
  export * from "./ContextBuilderTask";
56
+ export * from "./CountTokensTask";
55
57
  export * from "./DocumentEnricherTask";
56
58
  export * from "./DownloadModelTask";
57
59
  export * from "./FaceDetectorTask";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"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"}