@workglow/ai 0.0.85 → 0.0.87
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 +165 -34
- package/dist/browser.js +3948 -1450
- package/dist/browser.js.map +50 -39
- package/dist/bun.js +3948 -1450
- package/dist/bun.js.map +50 -39
- package/dist/common.d.ts +0 -3
- package/dist/common.d.ts.map +1 -1
- package/dist/model/ModelRegistry.d.ts +2 -2
- package/dist/model/ModelRegistry.d.ts.map +1 -1
- package/dist/model/ModelRepository.d.ts +3 -3
- package/dist/model/ModelRepository.d.ts.map +1 -1
- package/dist/model/ModelSchema.d.ts +1 -1
- package/dist/node.js +3948 -1450
- package/dist/node.js.map +50 -39
- package/dist/provider/AiProviderRegistry.d.ts +1 -0
- package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
- package/dist/task/BackgroundRemovalTask.d.ts +121 -289
- package/dist/task/BackgroundRemovalTask.d.ts.map +1 -1
- package/dist/task/ChunkRetrievalTask.d.ts +243 -0
- package/dist/task/ChunkRetrievalTask.d.ts.map +1 -0
- package/dist/task/ChunkToVectorTask.d.ts +183 -0
- package/dist/task/ChunkToVectorTask.d.ts.map +1 -0
- package/dist/task/ChunkVectorHybridSearchTask.d.ts +160 -0
- package/dist/task/ChunkVectorHybridSearchTask.d.ts.map +1 -0
- package/dist/task/ChunkVectorSearchTask.d.ts +137 -0
- package/dist/task/ChunkVectorSearchTask.d.ts.map +1 -0
- package/dist/task/ChunkVectorUpsertTask.d.ts +120 -0
- package/dist/task/ChunkVectorUpsertTask.d.ts.map +1 -0
- package/dist/task/ContextBuilderTask.d.ts +131 -0
- package/dist/task/ContextBuilderTask.d.ts.map +1 -0
- package/dist/task/DocumentEnricherTask.d.ts +232 -0
- package/dist/task/DocumentEnricherTask.d.ts.map +1 -0
- package/dist/task/DownloadModelTask.d.ts +80 -208
- package/dist/task/DownloadModelTask.d.ts.map +1 -1
- package/dist/task/FaceDetectorTask.d.ts +117 -272
- package/dist/task/FaceDetectorTask.d.ts.map +1 -1
- package/dist/task/FaceLandmarkerTask.d.ts +117 -272
- package/dist/task/FaceLandmarkerTask.d.ts.map +1 -1
- package/dist/task/GestureRecognizerTask.d.ts +129 -284
- package/dist/task/GestureRecognizerTask.d.ts.map +1 -1
- package/dist/task/HandLandmarkerTask.d.ts +125 -280
- package/dist/task/HandLandmarkerTask.d.ts.map +1 -1
- package/dist/task/HierarchicalChunkerTask.d.ts +212 -0
- package/dist/task/HierarchicalChunkerTask.d.ts.map +1 -0
- package/dist/task/HierarchyJoinTask.d.ts +318 -0
- package/dist/task/HierarchyJoinTask.d.ts.map +1 -0
- package/dist/task/ImageClassificationTask.d.ts +117 -272
- package/dist/task/ImageClassificationTask.d.ts.map +1 -1
- package/dist/task/ImageEmbeddingTask.d.ts +125 -446
- package/dist/task/ImageEmbeddingTask.d.ts.map +1 -1
- package/dist/task/ImageSegmentationTask.d.ts +117 -272
- package/dist/task/ImageSegmentationTask.d.ts.map +1 -1
- package/dist/task/ImageToTextTask.d.ts +117 -272
- package/dist/task/ImageToTextTask.d.ts.map +1 -1
- package/dist/task/ObjectDetectionTask.d.ts +119 -274
- package/dist/task/ObjectDetectionTask.d.ts.map +1 -1
- package/dist/task/PoseLandmarkerTask.d.ts +117 -272
- package/dist/task/PoseLandmarkerTask.d.ts.map +1 -1
- package/dist/task/QueryExpanderTask.d.ts +129 -0
- package/dist/task/QueryExpanderTask.d.ts.map +1 -0
- package/dist/task/RerankerTask.d.ts +209 -0
- package/dist/task/RerankerTask.d.ts.map +1 -0
- package/dist/task/StructuralParserTask.d.ts +91 -0
- package/dist/task/StructuralParserTask.d.ts.map +1 -0
- package/dist/task/TextChunkerTask.d.ts +129 -0
- package/dist/task/TextChunkerTask.d.ts.map +1 -0
- package/dist/task/TextClassificationTask.d.ts +42 -115
- package/dist/task/TextClassificationTask.d.ts.map +1 -1
- package/dist/task/TextEmbeddingTask.d.ts +55 -277
- package/dist/task/TextEmbeddingTask.d.ts.map +1 -1
- package/dist/task/TextFillMaskTask.d.ts +42 -115
- package/dist/task/TextFillMaskTask.d.ts.map +1 -1
- package/dist/task/TextGenerationTask.d.ts +44 -128
- package/dist/task/TextGenerationTask.d.ts.map +1 -1
- package/dist/task/TextLanguageDetectionTask.d.ts +42 -115
- package/dist/task/TextLanguageDetectionTask.d.ts.map +1 -1
- package/dist/task/TextNamedEntityRecognitionTask.d.ts +42 -115
- package/dist/task/TextNamedEntityRecognitionTask.d.ts.map +1 -1
- package/dist/task/TextQuestionAnswerTask.d.ts +47 -144
- package/dist/task/TextQuestionAnswerTask.d.ts.map +1 -1
- package/dist/task/TextRewriterTask.d.ts +45 -131
- package/dist/task/TextRewriterTask.d.ts.map +1 -1
- package/dist/task/TextSummaryTask.d.ts +42 -115
- package/dist/task/TextSummaryTask.d.ts.map +1 -1
- package/dist/task/TextTranslationTask.d.ts +54 -168
- package/dist/task/TextTranslationTask.d.ts.map +1 -1
- package/dist/task/TopicSegmenterTask.d.ts +148 -0
- package/dist/task/TopicSegmenterTask.d.ts.map +1 -0
- package/dist/task/UnloadModelTask.d.ts +80 -208
- package/dist/task/UnloadModelTask.d.ts.map +1 -1
- package/dist/task/VectorQuantizeTask.d.ts +120 -0
- package/dist/task/VectorQuantizeTask.d.ts.map +1 -0
- package/dist/task/VectorSimilarityTask.d.ts +18 -253
- package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
- package/dist/task/base/AiTask.d.ts +24 -22
- package/dist/task/base/AiTask.d.ts.map +1 -1
- package/dist/task/base/AiTaskSchemas.d.ts +5 -129
- package/dist/task/base/AiTaskSchemas.d.ts.map +1 -1
- package/dist/task/base/AiVisionTask.d.ts +1 -4
- package/dist/task/base/AiVisionTask.d.ts.map +1 -1
- package/dist/task/index.d.ts +54 -1
- package/dist/task/index.d.ts.map +1 -1
- package/package.json +14 -9
- package/dist/source/Document.d.ts +0 -56
- package/dist/source/Document.d.ts.map +0 -1
- package/dist/source/DocumentConverter.d.ts +0 -15
- package/dist/source/DocumentConverter.d.ts.map +0 -1
- package/dist/source/DocumentConverterMarkdown.d.ts +0 -13
- package/dist/source/DocumentConverterMarkdown.d.ts.map +0 -1
- package/dist/source/DocumentConverterText.d.ts +0 -13
- package/dist/source/DocumentConverterText.d.ts.map +0 -1
- package/dist/source/MasterDocument.d.ts +0 -27
- package/dist/source/MasterDocument.d.ts.map +0 -1
- package/dist/source/index.d.ts +0 -10
- package/dist/source/index.d.ts.map +0 -1
- package/dist/task/DocumentSplitterTask.d.ts +0 -58
- package/dist/task/DocumentSplitterTask.d.ts.map +0 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CreateWorkflow, IExecuteContext, JobQueueTaskConfig, Task } from "@workglow/task-graph";
|
|
7
|
+
import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util";
|
|
8
|
+
declare const inputSchema: {
|
|
9
|
+
readonly type: "object";
|
|
10
|
+
readonly properties: {
|
|
11
|
+
readonly dataset: {
|
|
12
|
+
readonly title: "Document Chunk Dataset";
|
|
13
|
+
readonly description: "Dataset ID or instance for document chunk data storage";
|
|
14
|
+
} & {
|
|
15
|
+
title: string;
|
|
16
|
+
description: string;
|
|
17
|
+
} & {
|
|
18
|
+
readonly format: "dataset:document-chunk";
|
|
19
|
+
readonly anyOf: readonly [{
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
readonly title: "Dataset ID";
|
|
22
|
+
}, {
|
|
23
|
+
readonly title: "Dataset Instance";
|
|
24
|
+
readonly additionalProperties: true;
|
|
25
|
+
}];
|
|
26
|
+
};
|
|
27
|
+
readonly query: {
|
|
28
|
+
readonly type: "array";
|
|
29
|
+
readonly format: "TypedArray";
|
|
30
|
+
readonly title: "Typed Array";
|
|
31
|
+
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
32
|
+
};
|
|
33
|
+
readonly topK: {
|
|
34
|
+
readonly type: "number";
|
|
35
|
+
readonly title: "Top K";
|
|
36
|
+
readonly description: "Number of top results to return";
|
|
37
|
+
readonly minimum: 1;
|
|
38
|
+
readonly default: 10;
|
|
39
|
+
};
|
|
40
|
+
readonly filter: {
|
|
41
|
+
readonly type: "object";
|
|
42
|
+
readonly title: "Metadata Filter";
|
|
43
|
+
readonly description: "Filter results by metadata fields";
|
|
44
|
+
};
|
|
45
|
+
readonly scoreThreshold: {
|
|
46
|
+
readonly type: "number";
|
|
47
|
+
readonly title: "Score Threshold";
|
|
48
|
+
readonly description: "Minimum similarity score threshold (0-1)";
|
|
49
|
+
readonly minimum: 0;
|
|
50
|
+
readonly maximum: 1;
|
|
51
|
+
readonly default: 0;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
readonly required: readonly ["dataset", "query"];
|
|
55
|
+
readonly additionalProperties: false;
|
|
56
|
+
};
|
|
57
|
+
declare const outputSchema: {
|
|
58
|
+
readonly type: "object";
|
|
59
|
+
readonly properties: {
|
|
60
|
+
readonly ids: {
|
|
61
|
+
readonly type: "array";
|
|
62
|
+
readonly items: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
};
|
|
65
|
+
readonly title: "IDs";
|
|
66
|
+
readonly description: "IDs of matching vectors";
|
|
67
|
+
};
|
|
68
|
+
readonly vectors: {
|
|
69
|
+
readonly type: "array";
|
|
70
|
+
readonly items: {
|
|
71
|
+
readonly type: "array";
|
|
72
|
+
readonly format: "TypedArray";
|
|
73
|
+
readonly title: "Typed Array";
|
|
74
|
+
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
75
|
+
};
|
|
76
|
+
readonly title: "Vectors";
|
|
77
|
+
readonly description: "Matching vector embeddings";
|
|
78
|
+
};
|
|
79
|
+
readonly metadata: {
|
|
80
|
+
readonly type: "array";
|
|
81
|
+
readonly items: {
|
|
82
|
+
readonly type: "object";
|
|
83
|
+
readonly title: "Metadata";
|
|
84
|
+
readonly description: "Metadata of matching vector";
|
|
85
|
+
};
|
|
86
|
+
readonly title: "Metadata";
|
|
87
|
+
readonly description: "Metadata of matching vectors";
|
|
88
|
+
};
|
|
89
|
+
readonly scores: {
|
|
90
|
+
readonly type: "array";
|
|
91
|
+
readonly items: {
|
|
92
|
+
readonly type: "number";
|
|
93
|
+
};
|
|
94
|
+
readonly title: "Scores";
|
|
95
|
+
readonly description: "Similarity scores for each result";
|
|
96
|
+
};
|
|
97
|
+
readonly count: {
|
|
98
|
+
readonly type: "number";
|
|
99
|
+
readonly title: "Count";
|
|
100
|
+
readonly description: "Number of results returned";
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
readonly required: readonly ["ids", "vectors", "metadata", "scores", "count"];
|
|
104
|
+
readonly additionalProperties: false;
|
|
105
|
+
};
|
|
106
|
+
export type VectorStoreSearchTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
|
|
107
|
+
export type VectorStoreSearchTaskOutput = FromSchema<typeof outputSchema, TypedArraySchemaOptions>;
|
|
108
|
+
/**
|
|
109
|
+
* Task for searching similar vectors in a document chunk dataset.
|
|
110
|
+
* Returns top-K most similar vectors with their metadata and scores.
|
|
111
|
+
*/
|
|
112
|
+
export declare class ChunkVectorSearchTask extends Task<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, JobQueueTaskConfig> {
|
|
113
|
+
static type: string;
|
|
114
|
+
static category: string;
|
|
115
|
+
static title: string;
|
|
116
|
+
static description: string;
|
|
117
|
+
static cacheable: boolean;
|
|
118
|
+
static inputSchema(): DataPortSchema;
|
|
119
|
+
static outputSchema(): DataPortSchema;
|
|
120
|
+
execute(input: VectorStoreSearchTaskInput, context: IExecuteContext): Promise<VectorStoreSearchTaskOutput>;
|
|
121
|
+
}
|
|
122
|
+
export declare const vectorStoreSearch: (input: VectorStoreSearchTaskInput, config?: JobQueueTaskConfig) => Promise<{
|
|
123
|
+
metadata: {
|
|
124
|
+
[x: string]: unknown;
|
|
125
|
+
}[];
|
|
126
|
+
vectors: import("@workglow/util").TypedArray[];
|
|
127
|
+
ids: string[];
|
|
128
|
+
scores: number[];
|
|
129
|
+
count: number;
|
|
130
|
+
}>;
|
|
131
|
+
declare module "@workglow/task-graph" {
|
|
132
|
+
interface Workflow {
|
|
133
|
+
vectorStoreSearch: CreateWorkflow<VectorStoreSearchTaskInput, VectorStoreSearchTaskOutput, JobQueueTaskConfig>;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export {};
|
|
137
|
+
//# sourceMappingURL=ChunkVectorSearchTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChunkVectorSearchTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorSearchTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CiB,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACjG,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,YAAY,EAAE,uBAAuB,CAAC,CAAC;AAEnG;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,IAAI,CAC7C,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,CACnB;IACC,OAAc,IAAI,SAA2B;IAC7C,OAAc,QAAQ,SAAkB;IACxC,OAAc,KAAK,SAAyB;IAC5C,OAAc,WAAW,SAA4D;IACrF,OAAc,SAAS,UAAQ;WAEjB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,OAAO,CACX,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,2BAA2B,CAAC;CAmBxC;AAED,eAAO,MAAM,iBAAiB,GAC5B,OAAO,0BAA0B,EACjC,SAAS,kBAAkB;;;;;;;;EAG5B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,CACnB,CAAC;KACH;CACF"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CreateWorkflow, IExecuteContext, JobQueueTaskConfig, Task } from "@workglow/task-graph";
|
|
7
|
+
import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util";
|
|
8
|
+
declare const inputSchema: {
|
|
9
|
+
readonly type: "object";
|
|
10
|
+
readonly properties: {
|
|
11
|
+
readonly dataset: {
|
|
12
|
+
readonly title: "Document Chunk Dataset";
|
|
13
|
+
readonly description: "Dataset ID or instance for document chunk data storage";
|
|
14
|
+
} & {
|
|
15
|
+
title: string;
|
|
16
|
+
description: string;
|
|
17
|
+
} & {
|
|
18
|
+
readonly format: "dataset:document-chunk";
|
|
19
|
+
readonly anyOf: readonly [{
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
readonly title: "Dataset ID";
|
|
22
|
+
}, {
|
|
23
|
+
readonly title: "Dataset Instance";
|
|
24
|
+
readonly additionalProperties: true;
|
|
25
|
+
}];
|
|
26
|
+
};
|
|
27
|
+
readonly doc_id: {
|
|
28
|
+
readonly type: "string";
|
|
29
|
+
readonly title: "Document ID";
|
|
30
|
+
readonly description: "The document ID";
|
|
31
|
+
};
|
|
32
|
+
readonly vectors: {
|
|
33
|
+
readonly anyOf: readonly [{
|
|
34
|
+
readonly type: "array";
|
|
35
|
+
readonly format: "TypedArray";
|
|
36
|
+
readonly title: "Typed Array";
|
|
37
|
+
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
38
|
+
}, {
|
|
39
|
+
readonly type: "array";
|
|
40
|
+
readonly items: {
|
|
41
|
+
readonly type: "array";
|
|
42
|
+
readonly format: "TypedArray";
|
|
43
|
+
readonly title: "Typed Array";
|
|
44
|
+
readonly description: "A typed array (Float32Array, Int8Array, etc.)";
|
|
45
|
+
};
|
|
46
|
+
}];
|
|
47
|
+
};
|
|
48
|
+
readonly metadata: {
|
|
49
|
+
readonly anyOf: readonly [{
|
|
50
|
+
readonly type: "object";
|
|
51
|
+
readonly title: "Metadata";
|
|
52
|
+
readonly description: "Metadata associated with the vector";
|
|
53
|
+
readonly additionalProperties: true;
|
|
54
|
+
}, {
|
|
55
|
+
readonly type: "array";
|
|
56
|
+
readonly items: {
|
|
57
|
+
readonly type: "object";
|
|
58
|
+
readonly title: "Metadata";
|
|
59
|
+
readonly description: "Metadata associated with the vector";
|
|
60
|
+
readonly additionalProperties: true;
|
|
61
|
+
};
|
|
62
|
+
}];
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
readonly required: readonly ["dataset", "doc_id", "vectors", "metadata"];
|
|
66
|
+
readonly additionalProperties: false;
|
|
67
|
+
};
|
|
68
|
+
declare const outputSchema: {
|
|
69
|
+
readonly type: "object";
|
|
70
|
+
readonly properties: {
|
|
71
|
+
readonly count: {
|
|
72
|
+
readonly type: "number";
|
|
73
|
+
readonly title: "Count";
|
|
74
|
+
readonly description: "Number of vectors upserted";
|
|
75
|
+
};
|
|
76
|
+
readonly doc_id: {
|
|
77
|
+
readonly type: "string";
|
|
78
|
+
readonly title: "Document ID";
|
|
79
|
+
readonly description: "The document ID";
|
|
80
|
+
};
|
|
81
|
+
readonly chunk_ids: {
|
|
82
|
+
readonly type: "array";
|
|
83
|
+
readonly items: {
|
|
84
|
+
readonly type: "string";
|
|
85
|
+
};
|
|
86
|
+
readonly title: "Chunk IDs";
|
|
87
|
+
readonly description: "Chunk IDs of upserted vectors";
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
readonly required: readonly ["count", "doc_id", "chunk_ids"];
|
|
91
|
+
readonly additionalProperties: false;
|
|
92
|
+
};
|
|
93
|
+
export type VectorStoreUpsertTaskInput = FromSchema<typeof inputSchema, TypedArraySchemaOptions>;
|
|
94
|
+
export type VectorStoreUpsertTaskOutput = FromSchema<typeof outputSchema>;
|
|
95
|
+
/**
|
|
96
|
+
* Task for upserting (insert or update) vectors into a vector repository.
|
|
97
|
+
* Supports both single and bulk operations.
|
|
98
|
+
*/
|
|
99
|
+
export declare class ChunkVectorUpsertTask extends Task<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, JobQueueTaskConfig> {
|
|
100
|
+
static type: string;
|
|
101
|
+
static category: string;
|
|
102
|
+
static title: string;
|
|
103
|
+
static description: string;
|
|
104
|
+
static cacheable: boolean;
|
|
105
|
+
static inputSchema(): DataPortSchema;
|
|
106
|
+
static outputSchema(): DataPortSchema;
|
|
107
|
+
execute(input: VectorStoreUpsertTaskInput, context: IExecuteContext): Promise<VectorStoreUpsertTaskOutput>;
|
|
108
|
+
}
|
|
109
|
+
export declare const chunkVectorUpsert: (input: VectorStoreUpsertTaskInput, config?: JobQueueTaskConfig) => Promise<{
|
|
110
|
+
doc_id: string;
|
|
111
|
+
chunk_ids: string[];
|
|
112
|
+
count: number;
|
|
113
|
+
}>;
|
|
114
|
+
declare module "@workglow/task-graph" {
|
|
115
|
+
interface Workflow {
|
|
116
|
+
chunkVectorUpsert: CreateWorkflow<VectorStoreUpsertTaskInput, VectorStoreUpsertTaskOutput, JobQueueTaskConfig>;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
export {};
|
|
120
|
+
//# sourceMappingURL=ChunkVectorUpsertTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChunkVectorUpsertTask.d.ts","sourceRoot":"","sources":["../../src/task/ChunkVectorUpsertTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,UAAU,EAEV,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;CAsBiB,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;AAE1E;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,IAAI,CAC7C,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,CACnB;IACC,OAAc,IAAI,SAA2B;IAC7C,OAAc,QAAQ,SAAkB;IACxC,OAAc,KAAK,SAAyB;IAC5C,OAAc,WAAW,SAAuE;IAChG,OAAc,SAAS,UAAS;WAElB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,OAAO,CACX,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,2BAA2B,CAAC;CAsDxC;AAED,eAAO,MAAM,iBAAiB,GAC5B,OAAO,0BAA0B,EACjC,SAAS,kBAAkB;;;;EAG5B,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,iBAAiB,EAAE,cAAc,CAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,CACnB,CAAC;KACH;CACF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CreateWorkflow, JobQueueTaskConfig, Task } from "@workglow/task-graph";
|
|
7
|
+
import { DataPortSchema, FromSchema } from "@workglow/util";
|
|
8
|
+
export declare const ContextFormat: {
|
|
9
|
+
readonly SIMPLE: "simple";
|
|
10
|
+
readonly NUMBERED: "numbered";
|
|
11
|
+
readonly XML: "xml";
|
|
12
|
+
readonly MARKDOWN: "markdown";
|
|
13
|
+
readonly JSON: "json";
|
|
14
|
+
};
|
|
15
|
+
export type ContextFormat = (typeof ContextFormat)[keyof typeof ContextFormat];
|
|
16
|
+
declare const inputSchema: {
|
|
17
|
+
readonly type: "object";
|
|
18
|
+
readonly properties: {
|
|
19
|
+
readonly chunks: {
|
|
20
|
+
readonly type: "array";
|
|
21
|
+
readonly items: {
|
|
22
|
+
readonly type: "string";
|
|
23
|
+
};
|
|
24
|
+
readonly title: "Text Chunks";
|
|
25
|
+
readonly description: "Retrieved text chunks to format";
|
|
26
|
+
};
|
|
27
|
+
readonly metadata: {
|
|
28
|
+
readonly type: "array";
|
|
29
|
+
readonly items: {
|
|
30
|
+
readonly type: "object";
|
|
31
|
+
readonly title: "Metadata";
|
|
32
|
+
readonly description: "Metadata for each chunk";
|
|
33
|
+
};
|
|
34
|
+
readonly title: "Metadata";
|
|
35
|
+
readonly description: "Metadata for each chunk (optional)";
|
|
36
|
+
};
|
|
37
|
+
readonly scores: {
|
|
38
|
+
readonly type: "array";
|
|
39
|
+
readonly items: {
|
|
40
|
+
readonly type: "number";
|
|
41
|
+
};
|
|
42
|
+
readonly title: "Scores";
|
|
43
|
+
readonly description: "Relevance scores for each chunk (optional)";
|
|
44
|
+
};
|
|
45
|
+
readonly format: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
readonly enum: ("simple" | "numbered" | "xml" | "markdown" | "json")[];
|
|
48
|
+
readonly title: "Format";
|
|
49
|
+
readonly description: "Format for the context output";
|
|
50
|
+
readonly default: "simple";
|
|
51
|
+
};
|
|
52
|
+
readonly maxLength: {
|
|
53
|
+
readonly type: "number";
|
|
54
|
+
readonly title: "Max Length";
|
|
55
|
+
readonly description: "Maximum length of context in characters (0 = unlimited)";
|
|
56
|
+
readonly minimum: 0;
|
|
57
|
+
readonly default: 0;
|
|
58
|
+
};
|
|
59
|
+
readonly includeMetadata: {
|
|
60
|
+
readonly type: "boolean";
|
|
61
|
+
readonly title: "Include Metadata";
|
|
62
|
+
readonly description: "Whether to include metadata in the context";
|
|
63
|
+
readonly default: false;
|
|
64
|
+
};
|
|
65
|
+
readonly separator: {
|
|
66
|
+
readonly type: "string";
|
|
67
|
+
readonly title: "Separator";
|
|
68
|
+
readonly description: "Separator between chunks";
|
|
69
|
+
readonly default: "\n\n";
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly required: readonly ["chunks"];
|
|
73
|
+
readonly additionalProperties: false;
|
|
74
|
+
};
|
|
75
|
+
declare const outputSchema: {
|
|
76
|
+
readonly type: "object";
|
|
77
|
+
readonly properties: {
|
|
78
|
+
readonly context: {
|
|
79
|
+
readonly type: "string";
|
|
80
|
+
readonly title: "Context";
|
|
81
|
+
readonly description: "Formatted context string for LLM";
|
|
82
|
+
};
|
|
83
|
+
readonly chunksUsed: {
|
|
84
|
+
readonly type: "number";
|
|
85
|
+
readonly title: "Chunks Used";
|
|
86
|
+
readonly description: "Number of chunks included in context";
|
|
87
|
+
};
|
|
88
|
+
readonly totalLength: {
|
|
89
|
+
readonly type: "number";
|
|
90
|
+
readonly title: "Total Length";
|
|
91
|
+
readonly description: "Total length of context in characters";
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
readonly required: readonly ["context", "chunksUsed", "totalLength"];
|
|
95
|
+
readonly additionalProperties: false;
|
|
96
|
+
};
|
|
97
|
+
export type ContextBuilderTaskInput = FromSchema<typeof inputSchema>;
|
|
98
|
+
export type ContextBuilderTaskOutput = FromSchema<typeof outputSchema>;
|
|
99
|
+
/**
|
|
100
|
+
* Task for formatting retrieved chunks into context for LLM prompts.
|
|
101
|
+
* Supports various formatting styles and length constraints.
|
|
102
|
+
*/
|
|
103
|
+
export declare class ContextBuilderTask extends Task<ContextBuilderTaskInput, ContextBuilderTaskOutput, JobQueueTaskConfig> {
|
|
104
|
+
static type: string;
|
|
105
|
+
static category: string;
|
|
106
|
+
static title: string;
|
|
107
|
+
static description: string;
|
|
108
|
+
static cacheable: boolean;
|
|
109
|
+
static inputSchema(): DataPortSchema;
|
|
110
|
+
static outputSchema(): DataPortSchema;
|
|
111
|
+
executeReactive(input: ContextBuilderTaskInput, output: ContextBuilderTaskOutput): Promise<ContextBuilderTaskOutput>;
|
|
112
|
+
private formatChunk;
|
|
113
|
+
private formatNumbered;
|
|
114
|
+
private formatXML;
|
|
115
|
+
private formatMarkdown;
|
|
116
|
+
private formatJSON;
|
|
117
|
+
private formatMetadataInline;
|
|
118
|
+
private escapeXML;
|
|
119
|
+
}
|
|
120
|
+
export declare const contextBuilder: (input: ContextBuilderTaskInput, config?: JobQueueTaskConfig) => Promise<{
|
|
121
|
+
context: string;
|
|
122
|
+
chunksUsed: number;
|
|
123
|
+
totalLength: number;
|
|
124
|
+
}>;
|
|
125
|
+
declare module "@workglow/task-graph" {
|
|
126
|
+
interface Workflow {
|
|
127
|
+
contextBuilder: CreateWorkflow<ContextBuilderTaskInput, ContextBuilderTaskOutput, JobQueueTaskConfig>;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export {};
|
|
131
|
+
//# sourceMappingURL=ContextBuilderTask.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CreateWorkflow, IExecuteContext, JobQueueTaskConfig, Task } from "@workglow/task-graph";
|
|
7
|
+
import { DataPortSchema, FromSchema } from "@workglow/util";
|
|
8
|
+
declare const inputSchema: {
|
|
9
|
+
readonly type: "object";
|
|
10
|
+
readonly properties: {
|
|
11
|
+
readonly doc_id: {
|
|
12
|
+
readonly type: "string";
|
|
13
|
+
readonly title: "Document ID";
|
|
14
|
+
readonly description: "The document ID";
|
|
15
|
+
};
|
|
16
|
+
readonly documentTree: {
|
|
17
|
+
readonly title: "Document Tree";
|
|
18
|
+
readonly description: "The hierarchical document tree to enrich";
|
|
19
|
+
};
|
|
20
|
+
readonly generateSummaries: {
|
|
21
|
+
readonly type: "boolean";
|
|
22
|
+
readonly title: "Generate Summaries";
|
|
23
|
+
readonly description: "Whether to generate summaries for sections";
|
|
24
|
+
readonly default: true;
|
|
25
|
+
};
|
|
26
|
+
readonly extractEntities: {
|
|
27
|
+
readonly type: "boolean";
|
|
28
|
+
readonly title: "Extract Entities";
|
|
29
|
+
readonly description: "Whether to extract named entities";
|
|
30
|
+
readonly default: true;
|
|
31
|
+
};
|
|
32
|
+
readonly summaryModel: {
|
|
33
|
+
readonly oneOf: readonly [{
|
|
34
|
+
readonly title: "Model";
|
|
35
|
+
readonly description: `The model ${string}`;
|
|
36
|
+
} & {
|
|
37
|
+
title: string;
|
|
38
|
+
description: string;
|
|
39
|
+
} & {
|
|
40
|
+
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
}, {
|
|
43
|
+
readonly type: "object";
|
|
44
|
+
readonly properties: {
|
|
45
|
+
readonly model_id: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
};
|
|
48
|
+
readonly tasks: {
|
|
49
|
+
readonly type: "array";
|
|
50
|
+
readonly items: {
|
|
51
|
+
readonly type: "string";
|
|
52
|
+
};
|
|
53
|
+
readonly "x-ui-editor": "multiselect";
|
|
54
|
+
};
|
|
55
|
+
readonly title: {
|
|
56
|
+
readonly type: "string";
|
|
57
|
+
};
|
|
58
|
+
readonly description: {
|
|
59
|
+
readonly type: "string";
|
|
60
|
+
readonly "x-ui-editor": "textarea";
|
|
61
|
+
};
|
|
62
|
+
readonly provider: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
};
|
|
65
|
+
readonly provider_config: {
|
|
66
|
+
readonly type: "object";
|
|
67
|
+
readonly default: {};
|
|
68
|
+
};
|
|
69
|
+
readonly metadata: {
|
|
70
|
+
readonly type: "object";
|
|
71
|
+
readonly default: {};
|
|
72
|
+
readonly "x-ui-hidden": true;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
readonly required: readonly ["provider", "provider_config"];
|
|
76
|
+
readonly format: "model";
|
|
77
|
+
readonly additionalProperties: true;
|
|
78
|
+
} & {
|
|
79
|
+
title: string;
|
|
80
|
+
description: string;
|
|
81
|
+
} & {
|
|
82
|
+
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
83
|
+
}];
|
|
84
|
+
} & {
|
|
85
|
+
title: string;
|
|
86
|
+
description: string;
|
|
87
|
+
} & {
|
|
88
|
+
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
89
|
+
};
|
|
90
|
+
readonly summaryThreshold: {
|
|
91
|
+
readonly type: "number";
|
|
92
|
+
readonly title: "Summary Threshold";
|
|
93
|
+
readonly description: "Minimum combined text length (node + children) to warrant generating a summary";
|
|
94
|
+
readonly default: 500;
|
|
95
|
+
};
|
|
96
|
+
readonly nerModel: {
|
|
97
|
+
readonly oneOf: readonly [{
|
|
98
|
+
readonly title: "Model";
|
|
99
|
+
readonly description: `The model ${string}`;
|
|
100
|
+
} & {
|
|
101
|
+
title: string;
|
|
102
|
+
description: string;
|
|
103
|
+
} & {
|
|
104
|
+
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
105
|
+
readonly type: "string";
|
|
106
|
+
}, {
|
|
107
|
+
readonly type: "object";
|
|
108
|
+
readonly properties: {
|
|
109
|
+
readonly model_id: {
|
|
110
|
+
readonly type: "string";
|
|
111
|
+
};
|
|
112
|
+
readonly tasks: {
|
|
113
|
+
readonly type: "array";
|
|
114
|
+
readonly items: {
|
|
115
|
+
readonly type: "string";
|
|
116
|
+
};
|
|
117
|
+
readonly "x-ui-editor": "multiselect";
|
|
118
|
+
};
|
|
119
|
+
readonly title: {
|
|
120
|
+
readonly type: "string";
|
|
121
|
+
};
|
|
122
|
+
readonly description: {
|
|
123
|
+
readonly type: "string";
|
|
124
|
+
readonly "x-ui-editor": "textarea";
|
|
125
|
+
};
|
|
126
|
+
readonly provider: {
|
|
127
|
+
readonly type: "string";
|
|
128
|
+
};
|
|
129
|
+
readonly provider_config: {
|
|
130
|
+
readonly type: "object";
|
|
131
|
+
readonly default: {};
|
|
132
|
+
};
|
|
133
|
+
readonly metadata: {
|
|
134
|
+
readonly type: "object";
|
|
135
|
+
readonly default: {};
|
|
136
|
+
readonly "x-ui-hidden": true;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
readonly required: readonly ["provider", "provider_config"];
|
|
140
|
+
readonly format: "model";
|
|
141
|
+
readonly additionalProperties: true;
|
|
142
|
+
} & {
|
|
143
|
+
title: string;
|
|
144
|
+
description: string;
|
|
145
|
+
} & {
|
|
146
|
+
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
147
|
+
}];
|
|
148
|
+
} & {
|
|
149
|
+
title: string;
|
|
150
|
+
description: string;
|
|
151
|
+
} & {
|
|
152
|
+
readonly format: import("./base/AiTaskSchemas").TypeModelSemantic;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
readonly required: readonly [];
|
|
156
|
+
readonly additionalProperties: false;
|
|
157
|
+
};
|
|
158
|
+
declare const outputSchema: {
|
|
159
|
+
readonly type: "object";
|
|
160
|
+
readonly properties: {
|
|
161
|
+
readonly doc_id: {
|
|
162
|
+
readonly type: "string";
|
|
163
|
+
readonly title: "Document ID";
|
|
164
|
+
readonly description: "The document ID (passed through)";
|
|
165
|
+
};
|
|
166
|
+
readonly documentTree: {
|
|
167
|
+
readonly title: "Document Tree";
|
|
168
|
+
readonly description: "The enriched document tree";
|
|
169
|
+
};
|
|
170
|
+
readonly summaryCount: {
|
|
171
|
+
readonly type: "number";
|
|
172
|
+
readonly title: "Summary Count";
|
|
173
|
+
readonly description: "Number of summaries generated";
|
|
174
|
+
};
|
|
175
|
+
readonly entityCount: {
|
|
176
|
+
readonly type: "number";
|
|
177
|
+
readonly title: "Entity Count";
|
|
178
|
+
readonly description: "Number of entities extracted";
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
readonly required: readonly ["doc_id", "documentTree", "summaryCount", "entityCount"];
|
|
182
|
+
readonly additionalProperties: false;
|
|
183
|
+
};
|
|
184
|
+
export type DocumentEnricherTaskInput = FromSchema<typeof inputSchema>;
|
|
185
|
+
export type DocumentEnricherTaskOutput = FromSchema<typeof outputSchema>;
|
|
186
|
+
/**
|
|
187
|
+
* Task for enriching document nodes with summaries and entities
|
|
188
|
+
* Uses bottom-up propagation to roll up child information to parents
|
|
189
|
+
*/
|
|
190
|
+
export declare class DocumentEnricherTask extends Task<DocumentEnricherTaskInput, DocumentEnricherTaskOutput, JobQueueTaskConfig> {
|
|
191
|
+
static type: string;
|
|
192
|
+
static category: string;
|
|
193
|
+
static title: string;
|
|
194
|
+
static description: string;
|
|
195
|
+
static cacheable: boolean;
|
|
196
|
+
static inputSchema(): DataPortSchema;
|
|
197
|
+
static outputSchema(): DataPortSchema;
|
|
198
|
+
execute(input: DocumentEnricherTaskInput, context: IExecuteContext): Promise<DocumentEnricherTaskOutput>;
|
|
199
|
+
/**
|
|
200
|
+
* Enrich a node recursively (bottom-up)
|
|
201
|
+
*/
|
|
202
|
+
private enrichNode;
|
|
203
|
+
/**
|
|
204
|
+
* Private method to summarize text using the TextSummaryTask
|
|
205
|
+
*/
|
|
206
|
+
private summarize;
|
|
207
|
+
/**
|
|
208
|
+
* Generate summary for a node with children
|
|
209
|
+
*/
|
|
210
|
+
private generateSummary;
|
|
211
|
+
/**
|
|
212
|
+
* Generate summary for a leaf node
|
|
213
|
+
*/
|
|
214
|
+
private generateLeafSummary;
|
|
215
|
+
/**
|
|
216
|
+
* Extract and roll up entities from node and children
|
|
217
|
+
*/
|
|
218
|
+
private extractEntities;
|
|
219
|
+
}
|
|
220
|
+
export declare const documentEnricher: (input: DocumentEnricherTaskInput, config?: JobQueueTaskConfig) => Promise<{
|
|
221
|
+
doc_id: string;
|
|
222
|
+
documentTree: unknown;
|
|
223
|
+
summaryCount: number;
|
|
224
|
+
entityCount: number;
|
|
225
|
+
}>;
|
|
226
|
+
declare module "@workglow/task-graph" {
|
|
227
|
+
interface Workflow {
|
|
228
|
+
documentEnricher: CreateWorkflow<DocumentEnricherTaskInput, DocumentEnricherTaskOutput, JobQueueTaskConfig>;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
export {};
|
|
232
|
+
//# sourceMappingURL=DocumentEnricherTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentEnricherTask.d.ts","sourceRoot":"","sources":["../../src/task/DocumentEnricherTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCkB,CAAC;AAEpC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAyBiB,CAAC;AAEpC,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACvE,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEzE;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,IAAI,CAC5C,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,CACnB;IACC,OAAc,IAAI,SAA0B;IAC5C,OAAc,QAAQ,SAAc;IACpC,OAAc,KAAK,SAAuB;IAC1C,OAAc,WAAW,SAAuD;IAChF,OAAc,SAAS,UAAQ;WAEjB,WAAW,IAAI,cAAc;WAI7B,YAAY,IAAI,cAAc;IAItC,OAAO,CACX,KAAK,EAAE,yBAAyB,EAChC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,0BAA0B,CAAC;IAkDtC;;OAEG;YACW,UAAU;IA6ExB;;OAEG;YACW,SAAS;IASvB;;OAEG;YACW,eAAe;IAgE7B;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,eAAe;CAqC9B;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,yBAAyB,EAAE,SAAS,kBAAkB;;;;;EAE7F,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,gBAAgB,EAAE,cAAc,CAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,CACnB,CAAC;KACH;CACF"}
|