@workglow/ai 0.2.15 → 0.2.16
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 +11 -15
- package/dist/browser.js +496 -1002
- package/dist/browser.js.map +11 -14
- package/dist/bun.js +496 -1002
- package/dist/bun.js.map +11 -14
- package/dist/node.js +496 -1002
- package/dist/node.js.map +11 -14
- package/dist/task/ChunkRetrievalTask.d.ts +32 -49
- package/dist/task/ChunkRetrievalTask.d.ts.map +1 -1
- package/dist/task/ChunkVectorUpsertTask.d.ts +107 -24
- package/dist/task/ChunkVectorUpsertTask.d.ts.map +1 -1
- package/dist/task/HierarchyJoinTask.d.ts +44 -42
- package/dist/task/HierarchyJoinTask.d.ts.map +1 -1
- package/dist/task/QueryExpanderTask.d.ts +5 -31
- package/dist/task/QueryExpanderTask.d.ts.map +1 -1
- package/dist/task/RerankerTask.d.ts +7 -89
- package/dist/task/RerankerTask.d.ts.map +1 -1
- package/dist/task/TextChunkerTask.d.ts +139 -37
- package/dist/task/TextChunkerTask.d.ts.map +1 -1
- package/dist/task/index.d.ts +1 -7
- package/dist/task/index.d.ts.map +1 -1
- package/package.json +11 -11
- package/dist/task/ChunkToVectorTask.d.ts +0 -210
- package/dist/task/ChunkToVectorTask.d.ts.map +0 -1
- package/dist/task/ChunkVectorHybridSearchTask.d.ts +0 -167
- package/dist/task/ChunkVectorHybridSearchTask.d.ts.map +0 -1
- package/dist/task/ChunkVectorSearchTask.d.ts +0 -139
- package/dist/task/ChunkVectorSearchTask.d.ts.map +0 -1
|
@@ -26,32 +26,16 @@ declare const inputSchema: {
|
|
|
26
26
|
}];
|
|
27
27
|
};
|
|
28
28
|
readonly query: {
|
|
29
|
-
readonly
|
|
30
|
-
readonly
|
|
31
|
-
readonly type: "string";
|
|
32
|
-
}, {
|
|
33
|
-
readonly type: "array";
|
|
34
|
-
readonly format: "TypedArray";
|
|
35
|
-
readonly title: "Typed Array";
|
|
36
|
-
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
37
|
-
}];
|
|
38
|
-
readonly title: "Query";
|
|
39
|
-
readonly description: "Query string or pre-computed query vector";
|
|
29
|
+
readonly oneOf: readonly [{
|
|
30
|
+
readonly type: "string";
|
|
40
31
|
}, {
|
|
41
32
|
readonly type: "array";
|
|
42
|
-
readonly
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}, {
|
|
46
|
-
readonly type: "array";
|
|
47
|
-
readonly format: "TypedArray";
|
|
48
|
-
readonly title: "Typed Array";
|
|
49
|
-
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
50
|
-
}];
|
|
51
|
-
readonly title: "Query";
|
|
52
|
-
readonly description: "Query string or pre-computed query vector";
|
|
53
|
-
};
|
|
33
|
+
readonly format: "TypedArray";
|
|
34
|
+
readonly title: "Typed Array";
|
|
35
|
+
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
54
36
|
}];
|
|
37
|
+
readonly title: "Query";
|
|
38
|
+
readonly description: "Query string (requires `model`) or pre-computed query vector";
|
|
55
39
|
};
|
|
56
40
|
readonly model: {
|
|
57
41
|
readonly oneOf: readonly [{
|
|
@@ -127,6 +111,13 @@ declare const inputSchema: {
|
|
|
127
111
|
} & {
|
|
128
112
|
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
129
113
|
};
|
|
114
|
+
readonly method: {
|
|
115
|
+
readonly type: "string";
|
|
116
|
+
readonly enum: readonly ["similarity", "hybrid"];
|
|
117
|
+
readonly title: "Retrieval Method";
|
|
118
|
+
readonly description: "Retrieval strategy: 'similarity' (vector only) or 'hybrid' (vector + full-text).";
|
|
119
|
+
readonly default: "similarity";
|
|
120
|
+
};
|
|
130
121
|
readonly topK: {
|
|
131
122
|
readonly type: "number";
|
|
132
123
|
readonly title: "Top K";
|
|
@@ -147,6 +138,14 @@ declare const inputSchema: {
|
|
|
147
138
|
readonly maximum: 1;
|
|
148
139
|
readonly default: 0;
|
|
149
140
|
};
|
|
141
|
+
readonly vectorWeight: {
|
|
142
|
+
readonly type: "number";
|
|
143
|
+
readonly title: "Vector Weight";
|
|
144
|
+
readonly description: "For hybrid method: weight for vector similarity (0-1), remainder goes to text relevance";
|
|
145
|
+
readonly minimum: 0;
|
|
146
|
+
readonly maximum: 1;
|
|
147
|
+
readonly default: 0.7;
|
|
148
|
+
};
|
|
150
149
|
readonly returnVectors: {
|
|
151
150
|
readonly type: "boolean";
|
|
152
151
|
readonly title: "Return Vectors";
|
|
@@ -222,32 +221,16 @@ declare const outputSchema: {
|
|
|
222
221
|
readonly description: "Number of results returned";
|
|
223
222
|
};
|
|
224
223
|
readonly query: {
|
|
225
|
-
readonly
|
|
226
|
-
readonly
|
|
227
|
-
readonly type: "string";
|
|
228
|
-
}, {
|
|
229
|
-
readonly type: "array";
|
|
230
|
-
readonly format: "TypedArray";
|
|
231
|
-
readonly title: "Typed Array";
|
|
232
|
-
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
233
|
-
}];
|
|
234
|
-
readonly title: "Query";
|
|
235
|
-
readonly description: "The query used for retrieval (pass-through)";
|
|
224
|
+
readonly oneOf: readonly [{
|
|
225
|
+
readonly type: "string";
|
|
236
226
|
}, {
|
|
237
227
|
readonly type: "array";
|
|
238
|
-
readonly
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}, {
|
|
242
|
-
readonly type: "array";
|
|
243
|
-
readonly format: "TypedArray";
|
|
244
|
-
readonly title: "Typed Array";
|
|
245
|
-
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
246
|
-
}];
|
|
247
|
-
readonly title: "Query";
|
|
248
|
-
readonly description: "The query used for retrieval (pass-through)";
|
|
249
|
-
};
|
|
228
|
+
readonly format: "TypedArray";
|
|
229
|
+
readonly title: "Typed Array";
|
|
230
|
+
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
250
231
|
}];
|
|
232
|
+
readonly title: "Query";
|
|
233
|
+
readonly description: "The query used for retrieval (pass-through)";
|
|
251
234
|
};
|
|
252
235
|
};
|
|
253
236
|
readonly required: readonly ["chunks", "chunk_ids", "metadata", "scores", "count", "query"];
|
|
@@ -257,8 +240,8 @@ export type ChunkRetrievalTaskInput = FromSchema<typeof inputSchema, TypedArrayS
|
|
|
257
240
|
export type ChunkRetrievalTaskOutput = FromSchema<typeof outputSchema, TypedArraySchemaOptions>;
|
|
258
241
|
export type ChunkRetrievalTaskConfig = TaskConfig<ChunkRetrievalTaskInput>;
|
|
259
242
|
/**
|
|
260
|
-
* End-to-end retrieval task that combines embedding
|
|
261
|
-
*
|
|
243
|
+
* End-to-end retrieval task that combines query embedding (if needed), vector
|
|
244
|
+
* search, and optional hybrid full-text search in a single step.
|
|
262
245
|
*/
|
|
263
246
|
export declare class ChunkRetrievalTask extends Task<ChunkRetrievalTaskInput, ChunkRetrievalTaskOutput, ChunkRetrievalTaskConfig> {
|
|
264
247
|
static type: string;
|
|
@@ -277,7 +260,7 @@ export declare const chunkRetrieval: (input: ChunkRetrievalTaskInput, config?: C
|
|
|
277
260
|
metadata: {
|
|
278
261
|
[x: string]: unknown;
|
|
279
262
|
}[];
|
|
280
|
-
query: string |
|
|
263
|
+
query: string | TypedArray;
|
|
281
264
|
scores: number[];
|
|
282
265
|
vectors?: TypedArray[] | undefined;
|
|
283
266
|
}>;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"ChunkRetrievalTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkRetrievalTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,105 @@ declare const inputSchema: {
|
|
|
25
25
|
readonly additionalProperties: true;
|
|
26
26
|
}];
|
|
27
27
|
};
|
|
28
|
-
readonly
|
|
29
|
-
readonly type: "
|
|
30
|
-
readonly
|
|
31
|
-
|
|
28
|
+
readonly chunks: {
|
|
29
|
+
readonly type: "array";
|
|
30
|
+
readonly items: {
|
|
31
|
+
readonly type: "object";
|
|
32
|
+
readonly properties: {
|
|
33
|
+
readonly chunkId: {
|
|
34
|
+
readonly type: "string";
|
|
35
|
+
readonly title: "Chunk ID";
|
|
36
|
+
readonly description: "Unique identifier for this chunk";
|
|
37
|
+
};
|
|
38
|
+
readonly doc_id: {
|
|
39
|
+
readonly type: "string";
|
|
40
|
+
readonly title: "Document ID";
|
|
41
|
+
readonly description: "ID of the parent document";
|
|
42
|
+
};
|
|
43
|
+
readonly text: {
|
|
44
|
+
readonly type: "string";
|
|
45
|
+
readonly title: "Text";
|
|
46
|
+
readonly description: "Text content of the chunk";
|
|
47
|
+
};
|
|
48
|
+
readonly nodePath: {
|
|
49
|
+
readonly type: "array";
|
|
50
|
+
readonly items: {
|
|
51
|
+
readonly type: "string";
|
|
52
|
+
};
|
|
53
|
+
readonly title: "Node Path";
|
|
54
|
+
readonly description: "Node IDs from root to leaf";
|
|
55
|
+
};
|
|
56
|
+
readonly depth: {
|
|
57
|
+
readonly type: "integer";
|
|
58
|
+
readonly title: "Depth";
|
|
59
|
+
readonly description: "Depth in the document tree";
|
|
60
|
+
};
|
|
61
|
+
readonly leafNodeId: {
|
|
62
|
+
readonly type: "string";
|
|
63
|
+
readonly title: "Leaf Node ID";
|
|
64
|
+
readonly description: "ID of the leaf node this chunk belongs to";
|
|
65
|
+
};
|
|
66
|
+
readonly summary: {
|
|
67
|
+
readonly type: "string";
|
|
68
|
+
readonly title: "Summary";
|
|
69
|
+
readonly description: "Summary of the chunk content";
|
|
70
|
+
};
|
|
71
|
+
readonly entities: {
|
|
72
|
+
readonly type: "array";
|
|
73
|
+
readonly items: {
|
|
74
|
+
readonly type: "object";
|
|
75
|
+
readonly properties: {
|
|
76
|
+
readonly text: {
|
|
77
|
+
readonly type: "string";
|
|
78
|
+
readonly title: "Text";
|
|
79
|
+
readonly description: "Entity text";
|
|
80
|
+
};
|
|
81
|
+
readonly type: {
|
|
82
|
+
readonly type: "string";
|
|
83
|
+
readonly title: "Type";
|
|
84
|
+
readonly description: "Entity type (e.g., PERSON, ORG, LOC)";
|
|
85
|
+
};
|
|
86
|
+
readonly score: {
|
|
87
|
+
readonly type: "number";
|
|
88
|
+
readonly title: "Score";
|
|
89
|
+
readonly description: "Confidence score";
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
readonly required: readonly ["text", "type", "score"];
|
|
93
|
+
readonly additionalProperties: false;
|
|
94
|
+
};
|
|
95
|
+
readonly title: "Entities";
|
|
96
|
+
readonly description: "Named entities extracted from the chunk";
|
|
97
|
+
};
|
|
98
|
+
readonly parentSummaries: {
|
|
99
|
+
readonly type: "array";
|
|
100
|
+
readonly items: {
|
|
101
|
+
readonly type: "string";
|
|
102
|
+
};
|
|
103
|
+
readonly title: "Parent Summaries";
|
|
104
|
+
readonly description: "Summaries from ancestor nodes";
|
|
105
|
+
};
|
|
106
|
+
readonly sectionTitles: {
|
|
107
|
+
readonly type: "array";
|
|
108
|
+
readonly items: {
|
|
109
|
+
readonly type: "string";
|
|
110
|
+
};
|
|
111
|
+
readonly title: "Section Titles";
|
|
112
|
+
readonly description: "Titles of ancestor section nodes";
|
|
113
|
+
};
|
|
114
|
+
readonly doc_title: {
|
|
115
|
+
readonly type: "string";
|
|
116
|
+
readonly title: "Document Title";
|
|
117
|
+
readonly description: "Title of the parent document";
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
readonly required: readonly ["chunkId", "doc_id", "text", "nodePath", "depth"];
|
|
121
|
+
readonly additionalProperties: true;
|
|
122
|
+
};
|
|
123
|
+
readonly title: "Chunk Records";
|
|
124
|
+
readonly description: "Array of chunk records";
|
|
32
125
|
};
|
|
33
|
-
readonly
|
|
126
|
+
readonly vector: {
|
|
34
127
|
readonly anyOf: readonly [{
|
|
35
128
|
readonly type: "array";
|
|
36
129
|
readonly format: "TypedArray";
|
|
@@ -46,24 +139,13 @@ declare const inputSchema: {
|
|
|
46
139
|
};
|
|
47
140
|
}];
|
|
48
141
|
};
|
|
49
|
-
readonly
|
|
50
|
-
readonly
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
readonly description: "Metadata associated with the vector";
|
|
54
|
-
readonly additionalProperties: true;
|
|
55
|
-
}, {
|
|
56
|
-
readonly type: "array";
|
|
57
|
-
readonly items: {
|
|
58
|
-
readonly type: "object";
|
|
59
|
-
readonly title: "Metadata";
|
|
60
|
-
readonly description: "Metadata associated with the vector";
|
|
61
|
-
readonly additionalProperties: true;
|
|
62
|
-
};
|
|
63
|
-
}];
|
|
142
|
+
readonly doc_title: {
|
|
143
|
+
readonly type: "string";
|
|
144
|
+
readonly title: "Document Title";
|
|
145
|
+
readonly description: "Optional human-readable title stamped onto each chunk's metadata";
|
|
64
146
|
};
|
|
65
147
|
};
|
|
66
|
-
readonly required: readonly ["knowledgeBase", "
|
|
148
|
+
readonly required: readonly ["knowledgeBase", "chunks", "vector"];
|
|
67
149
|
readonly additionalProperties: false;
|
|
68
150
|
};
|
|
69
151
|
declare const outputSchema: {
|
|
@@ -77,7 +159,7 @@ declare const outputSchema: {
|
|
|
77
159
|
readonly doc_id: {
|
|
78
160
|
readonly type: "string";
|
|
79
161
|
readonly title: "Document ID";
|
|
80
|
-
readonly description: "The document ID";
|
|
162
|
+
readonly description: "The document ID (read from the first chunk)";
|
|
81
163
|
};
|
|
82
164
|
readonly chunk_ids: {
|
|
83
165
|
readonly type: "array";
|
|
@@ -95,8 +177,9 @@ export type VectorStoreUpsertTaskInput = FromSchema<typeof inputSchema, TypedArr
|
|
|
95
177
|
export type VectorStoreUpsertTaskOutput = FromSchema<typeof outputSchema>;
|
|
96
178
|
export type ChunkVectorUpsertTaskConfig = TaskConfig<VectorStoreUpsertTaskInput>;
|
|
97
179
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
180
|
+
* Upsert chunks + their embeddings into a knowledge base in a single step.
|
|
181
|
+
* Consumes the output of `HierarchicalChunkerTask` (chunks) and
|
|
182
|
+
* `TextEmbeddingTask` (vector) directly — no intermediate transform task needed.
|
|
100
183
|
*/
|
|
101
184
|
export declare class ChunkVectorUpsertTask extends Task<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, ChunkVectorUpsertTaskConfig> {
|
|
102
185
|
static type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChunkVectorUpsertTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorUpsertTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ChunkVectorUpsertTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorUpsertTask.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,EAGV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAG/B,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,aAAa;;;;;;;;;;;;;;;;iBAIb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACN,MAAM;;;;;;;;;;;;;;;;iBAMN,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,gBAAgB;qBACvB,WAAW,EAAE,kEAAkE;;;;;CAKlD,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,6CAA6C;;iBAE5D,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,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACjG,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAC1E,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAEjF;;;;GAIG;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,SACoC;IACtE,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,CAuDtC;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"}
|
|
@@ -25,22 +25,6 @@ declare const inputSchema: {
|
|
|
25
25
|
readonly additionalProperties: true;
|
|
26
26
|
}];
|
|
27
27
|
};
|
|
28
|
-
readonly chunks: {
|
|
29
|
-
readonly type: "array";
|
|
30
|
-
readonly items: {
|
|
31
|
-
readonly type: "string";
|
|
32
|
-
};
|
|
33
|
-
readonly title: "Chunks";
|
|
34
|
-
readonly description: "Retrieved text chunks";
|
|
35
|
-
};
|
|
36
|
-
readonly chunk_ids: {
|
|
37
|
-
readonly type: "array";
|
|
38
|
-
readonly items: {
|
|
39
|
-
readonly type: "string";
|
|
40
|
-
};
|
|
41
|
-
readonly title: "Chunk IDs";
|
|
42
|
-
readonly description: "IDs of retrieved chunks";
|
|
43
|
-
};
|
|
44
28
|
readonly metadata: {
|
|
45
29
|
readonly type: "array";
|
|
46
30
|
readonly items: {
|
|
@@ -139,13 +123,29 @@ declare const inputSchema: {
|
|
|
139
123
|
readonly title: "Chunk Records";
|
|
140
124
|
readonly description: "Array of chunk records";
|
|
141
125
|
};
|
|
126
|
+
readonly chunks: {
|
|
127
|
+
readonly type: "array";
|
|
128
|
+
readonly items: {
|
|
129
|
+
readonly type: "string";
|
|
130
|
+
};
|
|
131
|
+
readonly title: "Chunks";
|
|
132
|
+
readonly description: "Retrieved text chunks (pass-through)";
|
|
133
|
+
};
|
|
134
|
+
readonly chunk_ids: {
|
|
135
|
+
readonly type: "array";
|
|
136
|
+
readonly items: {
|
|
137
|
+
readonly type: "string";
|
|
138
|
+
};
|
|
139
|
+
readonly title: "Chunk IDs";
|
|
140
|
+
readonly description: "IDs of retrieved chunks (pass-through)";
|
|
141
|
+
};
|
|
142
142
|
readonly scores: {
|
|
143
143
|
readonly type: "array";
|
|
144
144
|
readonly items: {
|
|
145
145
|
readonly type: "number";
|
|
146
146
|
};
|
|
147
147
|
readonly title: "Scores";
|
|
148
|
-
readonly description: "Similarity scores
|
|
148
|
+
readonly description: "Similarity scores (pass-through)";
|
|
149
149
|
};
|
|
150
150
|
readonly includeParentSummaries: {
|
|
151
151
|
readonly type: "boolean";
|
|
@@ -160,28 +160,12 @@ declare const inputSchema: {
|
|
|
160
160
|
readonly default: true;
|
|
161
161
|
};
|
|
162
162
|
};
|
|
163
|
-
readonly required: readonly ["knowledgeBase", "
|
|
163
|
+
readonly required: readonly ["knowledgeBase", "metadata"];
|
|
164
164
|
readonly additionalProperties: false;
|
|
165
165
|
};
|
|
166
166
|
declare const outputSchema: {
|
|
167
167
|
readonly type: "object";
|
|
168
168
|
readonly properties: {
|
|
169
|
-
readonly chunks: {
|
|
170
|
-
readonly type: "array";
|
|
171
|
-
readonly items: {
|
|
172
|
-
readonly type: "string";
|
|
173
|
-
};
|
|
174
|
-
readonly title: "Chunks";
|
|
175
|
-
readonly description: "Retrieved text chunks";
|
|
176
|
-
};
|
|
177
|
-
readonly chunk_ids: {
|
|
178
|
-
readonly type: "array";
|
|
179
|
-
readonly items: {
|
|
180
|
-
readonly type: "string";
|
|
181
|
-
};
|
|
182
|
-
readonly title: "Chunk IDs";
|
|
183
|
-
readonly description: "IDs of retrieved chunks";
|
|
184
|
-
};
|
|
185
169
|
readonly metadata: {
|
|
186
170
|
readonly type: "array";
|
|
187
171
|
readonly items: {
|
|
@@ -280,29 +264,47 @@ declare const outputSchema: {
|
|
|
280
264
|
readonly title: "Chunk Records";
|
|
281
265
|
readonly description: "Array of chunk records";
|
|
282
266
|
};
|
|
267
|
+
readonly chunks: {
|
|
268
|
+
readonly type: "array";
|
|
269
|
+
readonly items: {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
};
|
|
272
|
+
readonly title: "Chunks";
|
|
273
|
+
readonly description: "Retrieved text chunks (pass-through)";
|
|
274
|
+
};
|
|
275
|
+
readonly chunk_ids: {
|
|
276
|
+
readonly type: "array";
|
|
277
|
+
readonly items: {
|
|
278
|
+
readonly type: "string";
|
|
279
|
+
};
|
|
280
|
+
readonly title: "Chunk IDs";
|
|
281
|
+
readonly description: "IDs of retrieved chunks (pass-through)";
|
|
282
|
+
};
|
|
283
283
|
readonly scores: {
|
|
284
284
|
readonly type: "array";
|
|
285
285
|
readonly items: {
|
|
286
286
|
readonly type: "number";
|
|
287
287
|
};
|
|
288
288
|
readonly title: "Scores";
|
|
289
|
-
readonly description: "Similarity scores";
|
|
289
|
+
readonly description: "Similarity scores (pass-through)";
|
|
290
290
|
};
|
|
291
291
|
readonly count: {
|
|
292
292
|
readonly type: "number";
|
|
293
293
|
readonly title: "Count";
|
|
294
|
-
readonly description: "Number of
|
|
294
|
+
readonly description: "Number of enriched records";
|
|
295
295
|
};
|
|
296
296
|
};
|
|
297
|
-
readonly required: readonly ["
|
|
297
|
+
readonly required: readonly ["metadata", "count"];
|
|
298
298
|
readonly additionalProperties: false;
|
|
299
299
|
};
|
|
300
300
|
export type HierarchyJoinTaskInput = FromSchema<typeof inputSchema>;
|
|
301
301
|
export type HierarchyJoinTaskOutput = FromSchema<typeof outputSchema>;
|
|
302
302
|
export type HierarchyJoinTaskConfig = TaskConfig<HierarchyJoinTaskInput>;
|
|
303
303
|
/**
|
|
304
|
-
*
|
|
305
|
-
*
|
|
304
|
+
* Enrich retrieval metadata with document-hierarchy context (parent summaries,
|
|
305
|
+
* section titles, ancestor entities). Consumes only the `metadata` port of an
|
|
306
|
+
* upstream retrieval task; other retrieval ports (chunks, chunk_ids, scores)
|
|
307
|
+
* flow around this task via the workflow DAG.
|
|
306
308
|
*/
|
|
307
309
|
export declare class HierarchyJoinTask extends Task<HierarchyJoinTaskInput, HierarchyJoinTaskOutput, HierarchyJoinTaskConfig> {
|
|
308
310
|
static type: string;
|
|
@@ -315,8 +317,8 @@ export declare class HierarchyJoinTask extends Task<HierarchyJoinTaskInput, Hier
|
|
|
315
317
|
execute(input: HierarchyJoinTaskInput, context: IExecuteContext): Promise<HierarchyJoinTaskOutput>;
|
|
316
318
|
}
|
|
317
319
|
export declare const hierarchyJoin: (input: HierarchyJoinTaskInput, config?: HierarchyJoinTaskConfig) => Promise<{
|
|
318
|
-
chunk_ids
|
|
319
|
-
chunks
|
|
320
|
+
chunk_ids?: string[] | undefined;
|
|
321
|
+
chunks?: string[] | undefined;
|
|
320
322
|
count: number;
|
|
321
323
|
metadata: {
|
|
322
324
|
[x: string]: unknown;
|
|
@@ -336,7 +338,7 @@ export declare const hierarchyJoin: (input: HierarchyJoinTaskInput, config?: Hie
|
|
|
336
338
|
summary?: string | undefined;
|
|
337
339
|
text: string;
|
|
338
340
|
}[];
|
|
339
|
-
scores
|
|
341
|
+
scores?: number[] | undefined;
|
|
340
342
|
}>;
|
|
341
343
|
declare module "@workglow/task-graph" {
|
|
342
344
|
interface Workflow {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchyJoinTask.d.ts","sourceRoot":"","sources":["../../src/task/HierarchyJoinTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnE,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,aAAa;;;;;;;;;;;;;;;;iBAIb,MAAM;qBACJ,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,QAAQ;qBACf,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"HierarchyJoinTask.d.ts","sourceRoot":"","sources":["../../src/task/HierarchyJoinTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,7 @@ import type { TaskConfig } from "@workglow/task-graph";
|
|
|
8
8
|
import { DataPortSchema, FromSchema } from "@workglow/util/schema";
|
|
9
9
|
export declare const QueryExpansionMethod: {
|
|
10
10
|
readonly MULTI_QUERY: "multi-query";
|
|
11
|
-
readonly HYDE: "hyde";
|
|
12
11
|
readonly SYNONYMS: "synonyms";
|
|
13
|
-
readonly PARAPHRASE: "paraphrase";
|
|
14
12
|
};
|
|
15
13
|
export type QueryExpansionMethod = (typeof QueryExpansionMethod)[keyof typeof QueryExpansionMethod];
|
|
16
14
|
declare const inputSchema: {
|
|
@@ -23,7 +21,7 @@ declare const inputSchema: {
|
|
|
23
21
|
};
|
|
24
22
|
readonly method: {
|
|
25
23
|
readonly type: "string";
|
|
26
|
-
readonly enum: ("
|
|
24
|
+
readonly enum: ("multi-query" | "synonyms")[];
|
|
27
25
|
readonly title: "Expansion Method";
|
|
28
26
|
readonly description: "Method to use for query expansion";
|
|
29
27
|
readonly default: "multi-query";
|
|
@@ -36,11 +34,6 @@ declare const inputSchema: {
|
|
|
36
34
|
readonly maximum: 10;
|
|
37
35
|
readonly default: 3;
|
|
38
36
|
};
|
|
39
|
-
readonly model: {
|
|
40
|
-
readonly type: "string";
|
|
41
|
-
readonly title: "Model";
|
|
42
|
-
readonly description: "LLM model to use for expansion (for HyDE and paraphrase methods)";
|
|
43
|
-
};
|
|
44
37
|
};
|
|
45
38
|
readonly required: readonly ["query"];
|
|
46
39
|
readonly additionalProperties: false;
|
|
@@ -79,11 +72,10 @@ export type QueryExpanderTaskInput = FromSchema<typeof inputSchema>;
|
|
|
79
72
|
export type QueryExpanderTaskOutput = FromSchema<typeof outputSchema>;
|
|
80
73
|
export type QueryExpanderTaskConfig = TaskConfig<QueryExpanderTaskInput>;
|
|
81
74
|
/**
|
|
82
|
-
*
|
|
83
|
-
* Supports
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* For now, this implements simple rule-based expansion.
|
|
75
|
+
* Rule-based query expansion for improved retrieval recall.
|
|
76
|
+
* Supports `multi-query` (question-word variations) and `synonyms` (keyword swaps).
|
|
77
|
+
* Note: LLM-driven methods (HyDE, paraphrase) were removed until a real
|
|
78
|
+
* implementation lands — use a TextGenerationTask upstream for those.
|
|
87
79
|
*/
|
|
88
80
|
export declare class QueryExpanderTask extends Task<QueryExpanderTaskInput, QueryExpanderTaskOutput, QueryExpanderTaskConfig> {
|
|
89
81
|
static type: string;
|
|
@@ -94,26 +86,8 @@ export declare class QueryExpanderTask extends Task<QueryExpanderTaskInput, Quer
|
|
|
94
86
|
static inputSchema(): DataPortSchema;
|
|
95
87
|
static outputSchema(): DataPortSchema;
|
|
96
88
|
execute(input: QueryExpanderTaskInput, context: IExecuteContext): Promise<QueryExpanderTaskOutput>;
|
|
97
|
-
/**
|
|
98
|
-
* Multi-query expansion: Generate variations by rephrasing the question
|
|
99
|
-
*/
|
|
100
89
|
private multiQueryExpansion;
|
|
101
|
-
/**
|
|
102
|
-
* HyDE (Hypothetical Document Embeddings): Generate hypothetical answers
|
|
103
|
-
*/
|
|
104
|
-
private hydeExpansion;
|
|
105
|
-
/**
|
|
106
|
-
* Synonym expansion: Replace keywords with synonyms
|
|
107
|
-
*/
|
|
108
90
|
private synonymExpansion;
|
|
109
|
-
/**
|
|
110
|
-
* Paraphrase expansion: Rephrase the query
|
|
111
|
-
* TODO: This should use an LLM for better paraphrasing
|
|
112
|
-
*/
|
|
113
|
-
private paraphraseExpansion;
|
|
114
|
-
/**
|
|
115
|
-
* Preserve capitalization pattern from original to new query
|
|
116
|
-
*/
|
|
117
91
|
private preserveCapitalization;
|
|
118
92
|
}
|
|
119
93
|
export declare const queryExpander: (input: QueryExpanderTaskInput, config?: QueryExpanderTaskConfig) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryExpanderTask.d.ts","sourceRoot":"","sources":["../../src/task/QueryExpanderTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnE,eAAO,MAAM,oBAAoB;aAC/B,WAAW,EAAE,aAAa;aAC1B,
|
|
1
|
+
{"version":3,"file":"QueryExpanderTask.d.ts","sourceRoot":"","sources":["../../src/task/QueryExpanderTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnE,eAAO,MAAM,oBAAoB;aAC/B,WAAW,EAAE,aAAa;aAC1B,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEpG,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,KAAK;qBACH,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,8BAA8B;;iBAE7C,MAAM;qBACJ,IAAI,EAAE,QAAQ;qBACd,IAAI;qBACJ,KAAK,EAAE,kBAAkB;qBACzB,WAAW,EAAE,mCAAmC;qBAChD,OAAO;;iBAET,aAAa;qBACX,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,sBAAsB;qBAC7B,WAAW,EAAE,wCAAwC;qBACrD,OAAO,EAAE,CAAC;qBACV,OAAO,EAAE,EAAE;qBACX,OAAO,EAAE,CAAC;;;;;CAKmB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,KAAK;qBACH,IAAI,EAAE,OAAO;qBACb,KAAK;yBAAI,IAAI,EAAE,QAAQ;;qBACvB,KAAK,EAAE,kBAAkB;qBACzB,WAAW,EAAE,4BAA4B;;iBAE3C,aAAa;qBACX,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,gBAAgB;qBACvB,WAAW,EAAE,0BAA0B;;iBAEzC,MAAM;qBACJ,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,oCAAoC;;iBAEnD,KAAK;qBACH,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,OAAO;qBACd,WAAW,EAAE,6BAA6B;;;;;CAKb,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,IAAI,CACzC,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,CACxB;IACC,OAAuB,IAAI,SAAuB;IAClD,OAAuB,QAAQ,SAAS;IACxC,OAAuB,KAAK,SAAoB;IAChD,OAAuB,WAAW,SAAkD;IACpF,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,CAwBlC;IAED,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,sBAAsB;CAM/B;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"}
|