agent-orcha 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +917 -0
  3. package/bin/cli.js +2 -0
  4. package/dist/lib/agents/agent-executor.d.ts +13 -0
  5. package/dist/lib/agents/agent-executor.d.ts.map +1 -0
  6. package/dist/lib/agents/agent-executor.js +158 -0
  7. package/dist/lib/agents/agent-executor.js.map +1 -0
  8. package/dist/lib/agents/agent-loader.d.ts +13 -0
  9. package/dist/lib/agents/agent-loader.d.ts.map +1 -0
  10. package/dist/lib/agents/agent-loader.js +39 -0
  11. package/dist/lib/agents/agent-loader.js.map +1 -0
  12. package/dist/lib/agents/index.d.ts +5 -0
  13. package/dist/lib/agents/index.d.ts.map +1 -0
  14. package/dist/lib/agents/index.js +4 -0
  15. package/dist/lib/agents/index.js.map +1 -0
  16. package/dist/lib/agents/types.d.ts +140 -0
  17. package/dist/lib/agents/types.d.ts.map +1 -0
  18. package/dist/lib/agents/types.js +28 -0
  19. package/dist/lib/agents/types.js.map +1 -0
  20. package/dist/lib/functions/function-loader.d.ts +30 -0
  21. package/dist/lib/functions/function-loader.d.ts.map +1 -0
  22. package/dist/lib/functions/function-loader.js +107 -0
  23. package/dist/lib/functions/function-loader.js.map +1 -0
  24. package/dist/lib/functions/index.d.ts +3 -0
  25. package/dist/lib/functions/index.d.ts.map +1 -0
  26. package/dist/lib/functions/index.js +2 -0
  27. package/dist/lib/functions/index.js.map +1 -0
  28. package/dist/lib/functions/simple-function-wrapper.d.ts +33 -0
  29. package/dist/lib/functions/simple-function-wrapper.d.ts.map +1 -0
  30. package/dist/lib/functions/simple-function-wrapper.js +66 -0
  31. package/dist/lib/functions/simple-function-wrapper.js.map +1 -0
  32. package/dist/lib/index.d.ts +16 -0
  33. package/dist/lib/index.d.ts.map +1 -0
  34. package/dist/lib/index.js +17 -0
  35. package/dist/lib/index.js.map +1 -0
  36. package/dist/lib/llm/index.d.ts +6 -0
  37. package/dist/lib/llm/index.d.ts.map +1 -0
  38. package/dist/lib/llm/index.js +4 -0
  39. package/dist/lib/llm/index.js.map +1 -0
  40. package/dist/lib/llm/llm-config.d.ts +138 -0
  41. package/dist/lib/llm/llm-config.d.ts.map +1 -0
  42. package/dist/lib/llm/llm-config.js +75 -0
  43. package/dist/lib/llm/llm-config.js.map +1 -0
  44. package/dist/lib/llm/llm-factory.d.ts +30 -0
  45. package/dist/lib/llm/llm-factory.d.ts.map +1 -0
  46. package/dist/lib/llm/llm-factory.js +103 -0
  47. package/dist/lib/llm/llm-factory.js.map +1 -0
  48. package/dist/lib/llm/provider-detector.d.ts +12 -0
  49. package/dist/lib/llm/provider-detector.d.ts.map +1 -0
  50. package/dist/lib/llm/provider-detector.js +46 -0
  51. package/dist/lib/llm/provider-detector.js.map +1 -0
  52. package/dist/lib/llm/types.d.ts +19 -0
  53. package/dist/lib/llm/types.d.ts.map +1 -0
  54. package/dist/lib/llm/types.js +18 -0
  55. package/dist/lib/llm/types.js.map +1 -0
  56. package/dist/lib/logger.d.ts +43 -0
  57. package/dist/lib/logger.d.ts.map +1 -0
  58. package/dist/lib/logger.js +113 -0
  59. package/dist/lib/logger.js.map +1 -0
  60. package/dist/lib/mcp/index.d.ts +4 -0
  61. package/dist/lib/mcp/index.d.ts.map +1 -0
  62. package/dist/lib/mcp/index.js +3 -0
  63. package/dist/lib/mcp/index.js.map +1 -0
  64. package/dist/lib/mcp/mcp-client.d.ts +17 -0
  65. package/dist/lib/mcp/mcp-client.d.ts.map +1 -0
  66. package/dist/lib/mcp/mcp-client.js +166 -0
  67. package/dist/lib/mcp/mcp-client.js.map +1 -0
  68. package/dist/lib/mcp/types.d.ts +146 -0
  69. package/dist/lib/mcp/types.d.ts.map +1 -0
  70. package/dist/lib/mcp/types.js +24 -0
  71. package/dist/lib/mcp/types.js.map +1 -0
  72. package/dist/lib/orchestrator.d.ts +64 -0
  73. package/dist/lib/orchestrator.d.ts.map +1 -0
  74. package/dist/lib/orchestrator.js +201 -0
  75. package/dist/lib/orchestrator.js.map +1 -0
  76. package/dist/lib/tools/built-in/index.d.ts +2 -0
  77. package/dist/lib/tools/built-in/index.d.ts.map +1 -0
  78. package/dist/lib/tools/built-in/index.js +2 -0
  79. package/dist/lib/tools/built-in/index.js.map +1 -0
  80. package/dist/lib/tools/built-in/vector-search.tool.d.ts +4 -0
  81. package/dist/lib/tools/built-in/vector-search.tool.d.ts.map +1 -0
  82. package/dist/lib/tools/built-in/vector-search.tool.js +26 -0
  83. package/dist/lib/tools/built-in/vector-search.tool.js.map +1 -0
  84. package/dist/lib/tools/index.d.ts +3 -0
  85. package/dist/lib/tools/index.d.ts.map +1 -0
  86. package/dist/lib/tools/index.js +3 -0
  87. package/dist/lib/tools/index.js.map +1 -0
  88. package/dist/lib/tools/tool-registry.d.ts +20 -0
  89. package/dist/lib/tools/tool-registry.d.ts.map +1 -0
  90. package/dist/lib/tools/tool-registry.js +76 -0
  91. package/dist/lib/tools/tool-registry.js.map +1 -0
  92. package/dist/lib/vectors/index.d.ts +5 -0
  93. package/dist/lib/vectors/index.d.ts.map +1 -0
  94. package/dist/lib/vectors/index.js +4 -0
  95. package/dist/lib/vectors/index.js.map +1 -0
  96. package/dist/lib/vectors/types.d.ts +212 -0
  97. package/dist/lib/vectors/types.d.ts.map +1 -0
  98. package/dist/lib/vectors/types.js +39 -0
  99. package/dist/lib/vectors/types.js.map +1 -0
  100. package/dist/lib/vectors/vector-store-factory.d.ts +14 -0
  101. package/dist/lib/vectors/vector-store-factory.d.ts.map +1 -0
  102. package/dist/lib/vectors/vector-store-factory.js +350 -0
  103. package/dist/lib/vectors/vector-store-factory.js.map +1 -0
  104. package/dist/lib/vectors/vector-store-manager.d.ts +18 -0
  105. package/dist/lib/vectors/vector-store-manager.d.ts.map +1 -0
  106. package/dist/lib/vectors/vector-store-manager.js +79 -0
  107. package/dist/lib/vectors/vector-store-manager.js.map +1 -0
  108. package/dist/lib/workflows/index.d.ts +5 -0
  109. package/dist/lib/workflows/index.d.ts.map +1 -0
  110. package/dist/lib/workflows/index.js +4 -0
  111. package/dist/lib/workflows/index.js.map +1 -0
  112. package/dist/lib/workflows/types.d.ts +630 -0
  113. package/dist/lib/workflows/types.d.ts.map +1 -0
  114. package/dist/lib/workflows/types.js +51 -0
  115. package/dist/lib/workflows/types.js.map +1 -0
  116. package/dist/lib/workflows/workflow-executor.d.ts +22 -0
  117. package/dist/lib/workflows/workflow-executor.d.ts.map +1 -0
  118. package/dist/lib/workflows/workflow-executor.js +276 -0
  119. package/dist/lib/workflows/workflow-executor.js.map +1 -0
  120. package/dist/lib/workflows/workflow-loader.d.ts +13 -0
  121. package/dist/lib/workflows/workflow-loader.d.ts.map +1 -0
  122. package/dist/lib/workflows/workflow-loader.js +39 -0
  123. package/dist/lib/workflows/workflow-loader.js.map +1 -0
  124. package/dist/public/index.html +762 -0
  125. package/dist/src/cli/commands/init.d.ts +2 -0
  126. package/dist/src/cli/commands/init.d.ts.map +1 -0
  127. package/dist/src/cli/commands/init.js +108 -0
  128. package/dist/src/cli/commands/init.js.map +1 -0
  129. package/dist/src/cli/commands/start.d.ts +3 -0
  130. package/dist/src/cli/commands/start.d.ts.map +1 -0
  131. package/dist/src/cli/commands/start.js +114 -0
  132. package/dist/src/cli/commands/start.js.map +1 -0
  133. package/dist/src/cli/index.d.ts +3 -0
  134. package/dist/src/cli/index.d.ts.map +1 -0
  135. package/dist/src/cli/index.js +59 -0
  136. package/dist/src/cli/index.js.map +1 -0
  137. package/dist/src/index.d.ts +2 -0
  138. package/dist/src/index.d.ts.map +1 -0
  139. package/dist/src/index.js +62 -0
  140. package/dist/src/index.js.map +1 -0
  141. package/dist/src/routes/agents.route.d.ts +3 -0
  142. package/dist/src/routes/agents.route.d.ts.map +1 -0
  143. package/dist/src/routes/agents.route.js +58 -0
  144. package/dist/src/routes/agents.route.js.map +1 -0
  145. package/dist/src/routes/llm.route.d.ts +3 -0
  146. package/dist/src/routes/llm.route.d.ts.map +1 -0
  147. package/dist/src/routes/llm.route.js +97 -0
  148. package/dist/src/routes/llm.route.js.map +1 -0
  149. package/dist/src/routes/vectors.route.d.ts +3 -0
  150. package/dist/src/routes/vectors.route.d.ts.map +1 -0
  151. package/dist/src/routes/vectors.route.js +74 -0
  152. package/dist/src/routes/vectors.route.js.map +1 -0
  153. package/dist/src/routes/workflows.route.d.ts +3 -0
  154. package/dist/src/routes/workflows.route.d.ts.map +1 -0
  155. package/dist/src/routes/workflows.route.js +58 -0
  156. package/dist/src/routes/workflows.route.js.map +1 -0
  157. package/dist/src/server.d.ts +9 -0
  158. package/dist/src/server.d.ts.map +1 -0
  159. package/dist/src/server.js +34 -0
  160. package/dist/src/server.js.map +1 -0
  161. package/dist/templates/.env.example +6 -0
  162. package/dist/templates/README.md +234 -0
  163. package/dist/templates/agents/example.agent.yaml +32 -0
  164. package/dist/templates/agents/knowledge.agent.yaml +36 -0
  165. package/dist/templates/agents/math.agent.yaml +38 -0
  166. package/dist/templates/agents/time.agent.yaml +42 -0
  167. package/dist/templates/functions/README.md +195 -0
  168. package/dist/templates/functions/fibonacci.function.js +55 -0
  169. package/dist/templates/llm.json +44 -0
  170. package/dist/templates/mcp.json +18 -0
  171. package/dist/templates/vectors/example-chroma.vector.yaml +43 -0
  172. package/dist/templates/vectors/example.vector.yaml +28 -0
  173. package/dist/templates/vectors/sample-data/example-document.txt +15 -0
  174. package/dist/templates/workflows/example.workflow.yaml +79 -0
  175. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../lib/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import { AgentLoader } from './agents/agent-loader.js';
4
+ import { AgentExecutor } from './agents/agent-executor.js';
5
+ import { WorkflowLoader } from './workflows/workflow-loader.js';
6
+ import { WorkflowExecutor } from './workflows/workflow-executor.js';
7
+ import { VectorStoreManager } from './vectors/vector-store-manager.js';
8
+ import { MCPClientManager } from './mcp/mcp-client.js';
9
+ import { FunctionLoader } from './functions/function-loader.js';
10
+ import { ToolRegistry } from './tools/tool-registry.js';
11
+ import { MCPConfigSchema } from './mcp/types.js';
12
+ import { loadLLMConfig } from './llm/llm-config.js';
13
+ import { logger } from './logger.js';
14
+ export class Orchestrator {
15
+ config;
16
+ agentLoader;
17
+ agentExecutor;
18
+ workflowLoader;
19
+ workflowExecutor;
20
+ vectorStoreManager;
21
+ functionLoader;
22
+ mcpClient;
23
+ toolRegistry;
24
+ initialized = false;
25
+ constructor(config) {
26
+ this.config = {
27
+ projectRoot: config.projectRoot,
28
+ agentsDir: config.agentsDir ?? path.join(config.projectRoot, 'agents'),
29
+ workflowsDir: config.workflowsDir ?? path.join(config.projectRoot, 'workflows'),
30
+ vectorsDir: config.vectorsDir ?? path.join(config.projectRoot, 'vectors'),
31
+ functionsDir: config.functionsDir ?? path.join(config.projectRoot, 'functions'),
32
+ mcpConfigPath: config.mcpConfigPath ?? path.join(config.projectRoot, 'mcp.json'),
33
+ llmConfigPath: config.llmConfigPath ?? path.join(config.projectRoot, 'llm.json'),
34
+ };
35
+ this.agentLoader = new AgentLoader(this.config.agentsDir);
36
+ this.workflowLoader = new WorkflowLoader(this.config.workflowsDir);
37
+ this.vectorStoreManager = new VectorStoreManager(this.config.vectorsDir, this.config.projectRoot);
38
+ this.functionLoader = new FunctionLoader(this.config.functionsDir);
39
+ }
40
+ async initialize() {
41
+ if (this.initialized)
42
+ return;
43
+ // Load LLM config first - required for agents and embeddings
44
+ logger.info('[Orchestrator] Loading LLM config...');
45
+ await loadLLMConfig(this.config.llmConfigPath);
46
+ await this.loadMCPConfig();
47
+ await this.mcpClient.initialize();
48
+ // Load function tools
49
+ await this.functionLoader.loadAll();
50
+ this.toolRegistry = new ToolRegistry(this.mcpClient, this.vectorStoreManager, this.functionLoader);
51
+ this.agentExecutor = new AgentExecutor(this.toolRegistry);
52
+ this.workflowExecutor = new WorkflowExecutor(this.agentLoader, this.agentExecutor);
53
+ await this.agentLoader.loadAll();
54
+ await this.workflowLoader.loadAll();
55
+ await this.vectorStoreManager.loadAll();
56
+ // Initialize all vector stores on startup (load documents and create embeddings)
57
+ logger.info('[Orchestrator] Initializing vector stores...');
58
+ await this.vectorStoreManager.initializeAll();
59
+ logger.info('[Orchestrator] Vector stores ready');
60
+ this.initialized = true;
61
+ }
62
+ async loadMCPConfig() {
63
+ try {
64
+ const content = await fs.readFile(this.config.mcpConfigPath, 'utf-8');
65
+ const parsed = JSON.parse(content);
66
+ const mcpConfig = MCPConfigSchema.parse(parsed);
67
+ this.mcpClient = new MCPClientManager(mcpConfig);
68
+ }
69
+ catch (error) {
70
+ logger.warn('Failed to load MCP config, using empty config:', error);
71
+ this.mcpClient = new MCPClientManager({
72
+ version: '1.0.0',
73
+ servers: {},
74
+ });
75
+ }
76
+ }
77
+ get agents() {
78
+ return {
79
+ list: () => this.agentLoader.list(),
80
+ get: (name) => this.agentLoader.get(name),
81
+ names: () => this.agentLoader.names(),
82
+ };
83
+ }
84
+ get workflows() {
85
+ return {
86
+ list: () => this.workflowLoader.list(),
87
+ get: (name) => this.workflowLoader.get(name),
88
+ names: () => this.workflowLoader.names(),
89
+ };
90
+ }
91
+ get vectors() {
92
+ return {
93
+ list: () => this.vectorStoreManager.list(),
94
+ listConfigs: () => this.vectorStoreManager.listConfigs(),
95
+ get: (name) => this.vectorStoreManager.get(name),
96
+ getConfig: (name) => this.vectorStoreManager.getConfig(name),
97
+ initialize: (name) => this.vectorStoreManager.initialize(name),
98
+ refresh: (name) => this.vectorStoreManager.refresh(name),
99
+ };
100
+ }
101
+ async runAgent(name, input) {
102
+ this.ensureInitialized();
103
+ const definition = this.agentLoader.get(name);
104
+ if (!definition) {
105
+ throw new Error(`Agent not found: ${name}`);
106
+ }
107
+ const instance = await this.agentExecutor.createInstance(definition);
108
+ return instance.invoke(input);
109
+ }
110
+ async *streamAgent(name, input) {
111
+ this.ensureInitialized();
112
+ const definition = this.agentLoader.get(name);
113
+ if (!definition) {
114
+ throw new Error(`Agent not found: ${name}`);
115
+ }
116
+ const instance = await this.agentExecutor.createInstance(definition);
117
+ yield* instance.stream(input);
118
+ }
119
+ async runWorkflow(name, input) {
120
+ this.ensureInitialized();
121
+ const definition = this.workflowLoader.get(name);
122
+ if (!definition) {
123
+ throw new Error(`Workflow not found: ${name}`);
124
+ }
125
+ return this.workflowExecutor.execute(definition, input);
126
+ }
127
+ async *streamWorkflow(name, input) {
128
+ this.ensureInitialized();
129
+ const definition = this.workflowLoader.get(name);
130
+ if (!definition) {
131
+ throw new Error(`Workflow not found: ${name}`);
132
+ }
133
+ const statusQueue = [];
134
+ let resolveNext = null;
135
+ let isComplete = false;
136
+ const onStatus = (status) => {
137
+ statusQueue.push({ type: 'status', data: status });
138
+ if (resolveNext) {
139
+ resolveNext();
140
+ resolveNext = null;
141
+ }
142
+ };
143
+ // Start workflow execution in background
144
+ const executionPromise = this.workflowExecutor
145
+ .execute(definition, input, onStatus)
146
+ .then((result) => {
147
+ isComplete = true;
148
+ statusQueue.push({ type: 'result', data: result });
149
+ if (resolveNext) {
150
+ resolveNext();
151
+ resolveNext = null;
152
+ }
153
+ })
154
+ .catch((error) => {
155
+ isComplete = true;
156
+ statusQueue.push({
157
+ type: 'result',
158
+ data: {
159
+ error: error instanceof Error ? error.message : String(error),
160
+ },
161
+ });
162
+ if (resolveNext) {
163
+ resolveNext();
164
+ resolveNext = null;
165
+ }
166
+ });
167
+ // Yield status updates as they come in
168
+ while (!isComplete || statusQueue.length > 0) {
169
+ if (statusQueue.length > 0) {
170
+ yield statusQueue.shift();
171
+ }
172
+ else {
173
+ // Wait for next status update
174
+ await new Promise((resolve) => {
175
+ resolveNext = resolve;
176
+ });
177
+ }
178
+ }
179
+ // Ensure execution completes
180
+ await executionPromise;
181
+ }
182
+ async searchVectors(storeName, query, k) {
183
+ this.ensureInitialized();
184
+ let store = this.vectorStoreManager.get(storeName);
185
+ if (!store) {
186
+ store = await this.vectorStoreManager.initialize(storeName);
187
+ }
188
+ return store.search(query, k);
189
+ }
190
+ async close() {
191
+ if (this.mcpClient) {
192
+ await this.mcpClient.close();
193
+ }
194
+ }
195
+ ensureInitialized() {
196
+ if (!this.initialized) {
197
+ throw new Error('Orchestrator not initialized. Call initialize() first.');
198
+ }
199
+ }
200
+ }
201
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../lib/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { createVectorSearchTool } from './vector-search.tool.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/tools/built-in/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createVectorSearchTool } from './vector-search.tool.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { StructuredTool } from '@langchain/core/tools';
2
+ import type { VectorStoreInstance } from '../../vectors/types.js';
3
+ export declare function createVectorSearchTool(name: string, store: VectorStoreInstance): StructuredTool;
4
+ //# sourceMappingURL=vector-search.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-search.tool.d.ts","sourceRoot":"","sources":["../../../../lib/tools/built-in/vector-search.tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,cAAc,CA4B/F"}
@@ -0,0 +1,26 @@
1
+ import { tool } from '@langchain/core/tools';
2
+ import { z } from 'zod';
3
+ export function createVectorSearchTool(name, store) {
4
+ return tool(async ({ query, k }) => {
5
+ const results = await store.search(query, k);
6
+ if (results.length === 0) {
7
+ return 'No relevant documents found.';
8
+ }
9
+ return results
10
+ .map((result, index) => {
11
+ const metadata = Object.entries(result.metadata)
12
+ .map(([key, value]) => `${key}: ${value}`)
13
+ .join(', ');
14
+ return `[${index + 1}] (score: ${result.score.toFixed(3)})${metadata ? ` [${metadata}]` : ''}\n${result.content}`;
15
+ })
16
+ .join('\n\n---\n\n');
17
+ }, {
18
+ name: `vector_search_${name}`,
19
+ description: `Search the "${name}" vector store for relevant documents. ${store.config.description ?? ''} IMPORTANT: Use descriptive, complete queries (at least 10-15 words) for best results. Examples: "list of items with details and specifications", "how to resolve common problems", "information about specific topics or concepts".`,
20
+ schema: z.object({
21
+ query: z.string().describe('A descriptive search query (use at least 10-15 words for best results). Examples: "list of items with details", "how to perform a task", "information about a topic"'),
22
+ k: z.number().optional().describe('Number of results to return (default: 4)'),
23
+ }),
24
+ });
25
+ }
26
+ //# sourceMappingURL=vector-search.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-search.tool.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/vector-search.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,KAA0B;IAC7E,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,8BAA8B,CAAC;QACxC,CAAC;QAED,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO,IAAI,KAAK,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACpH,CAAC,CAAC;aACD,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB,IAAI,EAAE;QAC7B,WAAW,EAAE,eAAe,IAAI,0CAA0C,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,sOAAsO;QAC9U,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sKAAsK,CAAC;YAClM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SAC9E,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ToolRegistry } from './tool-registry.js';
2
+ export { createVectorSearchTool } from './built-in/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ToolRegistry } from './tool-registry.js';
2
+ export { createVectorSearchTool } from './built-in/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { StructuredTool } from '@langchain/core/tools';
2
+ import type { MCPClientManager } from '../mcp/mcp-client.js';
3
+ import type { VectorStoreManager } from '../vectors/vector-store-manager.js';
4
+ import type { FunctionLoader } from '../functions/function-loader.js';
5
+ import type { ToolReference } from '../agents/types.js';
6
+ export declare class ToolRegistry {
7
+ private mcpClient;
8
+ private vectorStores;
9
+ private functionLoader;
10
+ private builtInTools;
11
+ constructor(mcpClient: MCPClientManager, vectorStores: VectorStoreManager, functionLoader: FunctionLoader);
12
+ resolveTools(toolRefs: ToolReference[]): Promise<StructuredTool[]>;
13
+ private resolveTool;
14
+ private resolveStringRef;
15
+ private resolveObjectRef;
16
+ registerBuiltIn(name: string, tool: StructuredTool): void;
17
+ unregisterBuiltIn(name: string): boolean;
18
+ listBuiltIn(): string[];
19
+ }
20
+ //# sourceMappingURL=tool-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../lib/tools/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAA0C;gBAElD,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc;IAMnG,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAW1D,WAAW;YAQX,gBAAgB;YA2ChB,gBAAgB;IAI9B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAIzD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC,WAAW,IAAI,MAAM,EAAE;CAGxB"}
@@ -0,0 +1,76 @@
1
+ import { createVectorSearchTool } from './built-in/vector-search.tool.js';
2
+ import { logger } from '../logger.js';
3
+ export class ToolRegistry {
4
+ mcpClient;
5
+ vectorStores;
6
+ functionLoader;
7
+ builtInTools = new Map();
8
+ constructor(mcpClient, vectorStores, functionLoader) {
9
+ this.mcpClient = mcpClient;
10
+ this.vectorStores = vectorStores;
11
+ this.functionLoader = functionLoader;
12
+ }
13
+ async resolveTools(toolRefs) {
14
+ const tools = [];
15
+ for (const ref of toolRefs) {
16
+ const resolved = await this.resolveTool(ref);
17
+ tools.push(...resolved);
18
+ }
19
+ return tools;
20
+ }
21
+ async resolveTool(ref) {
22
+ if (typeof ref === 'string') {
23
+ return this.resolveStringRef(ref);
24
+ }
25
+ return this.resolveObjectRef(ref);
26
+ }
27
+ async resolveStringRef(ref) {
28
+ const colonIndex = ref.indexOf(':');
29
+ if (colonIndex === -1) {
30
+ const builtin = this.builtInTools.get(ref);
31
+ return builtin ? [builtin] : [];
32
+ }
33
+ const source = ref.substring(0, colonIndex);
34
+ const name = ref.substring(colonIndex + 1);
35
+ switch (source) {
36
+ case 'mcp':
37
+ return this.mcpClient.getToolsByServer(name);
38
+ case 'vector': {
39
+ const store = this.vectorStores.get(name);
40
+ if (!store) {
41
+ await this.vectorStores.initialize(name);
42
+ const initializedStore = this.vectorStores.get(name);
43
+ if (initializedStore) {
44
+ return [createVectorSearchTool(name, initializedStore)];
45
+ }
46
+ return [];
47
+ }
48
+ return [createVectorSearchTool(name, store)];
49
+ }
50
+ case 'function': {
51
+ const func = this.functionLoader.getTool(name);
52
+ return func ? [func] : [];
53
+ }
54
+ case 'builtin': {
55
+ const builtin = this.builtInTools.get(name);
56
+ return builtin ? [builtin] : [];
57
+ }
58
+ default:
59
+ logger.warn(`Unknown tool source: ${source}`);
60
+ return [];
61
+ }
62
+ }
63
+ async resolveObjectRef(ref) {
64
+ return this.resolveStringRef(`${ref.source}:${ref.name}`);
65
+ }
66
+ registerBuiltIn(name, tool) {
67
+ this.builtInTools.set(name, tool);
68
+ }
69
+ unregisterBuiltIn(name) {
70
+ return this.builtInTools.delete(name);
71
+ }
72
+ listBuiltIn() {
73
+ return Array.from(this.builtInTools.keys());
74
+ }
75
+ }
76
+ //# sourceMappingURL=tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../lib/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { VectorStoreFactory } from './vector-store-factory.js';
2
+ export { VectorStoreManager } from './vector-store-manager.js';
3
+ export { VectorConfigSchema, SourceConfigSchema, LoaderConfigSchema, SplitterConfigSchema, EmbeddingRefSchema, StoreConfigSchema, SearchConfigSchema, } from './types.js';
4
+ export type { VectorConfig, SourceConfig, LoaderConfig, SplitterConfig, StoreConfig, SearchConfig, SearchResult, DocumentInput, VectorStoreInstance, } from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/vectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { VectorStoreFactory } from './vector-store-factory.js';
2
+ export { VectorStoreManager } from './vector-store-manager.js';
3
+ export { VectorConfigSchema, SourceConfigSchema, LoaderConfigSchema, SplitterConfigSchema, EmbeddingRefSchema, StoreConfigSchema, SearchConfigSchema, } from './types.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/vectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,212 @@
1
+ import { z } from 'zod';
2
+ export declare const SourceConfigSchema: z.ZodObject<{
3
+ type: z.ZodEnum<["directory", "file", "url", "database"]>;
4
+ path: z.ZodString;
5
+ pattern: z.ZodOptional<z.ZodString>;
6
+ recursive: z.ZodDefault<z.ZodBoolean>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ path: string;
9
+ type: "url" | "directory" | "file" | "database";
10
+ recursive: boolean;
11
+ pattern?: string | undefined;
12
+ }, {
13
+ path: string;
14
+ type: "url" | "directory" | "file" | "database";
15
+ pattern?: string | undefined;
16
+ recursive?: boolean | undefined;
17
+ }>;
18
+ export declare const LoaderConfigSchema: z.ZodObject<{
19
+ type: z.ZodDefault<z.ZodEnum<["text", "pdf", "csv", "json", "markdown"]>>;
20
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ type: "text" | "json" | "pdf" | "csv" | "markdown";
23
+ options?: Record<string, unknown> | undefined;
24
+ }, {
25
+ options?: Record<string, unknown> | undefined;
26
+ type?: "text" | "json" | "pdf" | "csv" | "markdown" | undefined;
27
+ }>;
28
+ export declare const SplitterConfigSchema: z.ZodObject<{
29
+ type: z.ZodDefault<z.ZodEnum<["character", "recursive", "token", "markdown"]>>;
30
+ chunkSize: z.ZodDefault<z.ZodNumber>;
31
+ chunkOverlap: z.ZodDefault<z.ZodNumber>;
32
+ separator: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ type: "recursive" | "markdown" | "character" | "token";
35
+ chunkSize: number;
36
+ chunkOverlap: number;
37
+ separator?: string | undefined;
38
+ }, {
39
+ type?: "recursive" | "markdown" | "character" | "token" | undefined;
40
+ chunkSize?: number | undefined;
41
+ chunkOverlap?: number | undefined;
42
+ separator?: string | undefined;
43
+ }>;
44
+ export declare const EmbeddingRefSchema: z.ZodDefault<z.ZodString>;
45
+ export declare const StoreConfigSchema: z.ZodObject<{
46
+ type: z.ZodDefault<z.ZodEnum<["memory", "chroma", "pinecone", "qdrant"]>>;
47
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ type: "memory" | "chroma" | "pinecone" | "qdrant";
50
+ options?: Record<string, unknown> | undefined;
51
+ }, {
52
+ options?: Record<string, unknown> | undefined;
53
+ type?: "memory" | "chroma" | "pinecone" | "qdrant" | undefined;
54
+ }>;
55
+ export declare const SearchConfigSchema: z.ZodObject<{
56
+ defaultK: z.ZodDefault<z.ZodNumber>;
57
+ scoreThreshold: z.ZodOptional<z.ZodNumber>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ defaultK: number;
60
+ scoreThreshold?: number | undefined;
61
+ }, {
62
+ defaultK?: number | undefined;
63
+ scoreThreshold?: number | undefined;
64
+ }>;
65
+ export declare const VectorConfigSchema: z.ZodObject<{
66
+ name: z.ZodString;
67
+ description: z.ZodString;
68
+ source: z.ZodObject<{
69
+ type: z.ZodEnum<["directory", "file", "url", "database"]>;
70
+ path: z.ZodString;
71
+ pattern: z.ZodOptional<z.ZodString>;
72
+ recursive: z.ZodDefault<z.ZodBoolean>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ path: string;
75
+ type: "url" | "directory" | "file" | "database";
76
+ recursive: boolean;
77
+ pattern?: string | undefined;
78
+ }, {
79
+ path: string;
80
+ type: "url" | "directory" | "file" | "database";
81
+ pattern?: string | undefined;
82
+ recursive?: boolean | undefined;
83
+ }>;
84
+ loader: z.ZodObject<{
85
+ type: z.ZodDefault<z.ZodEnum<["text", "pdf", "csv", "json", "markdown"]>>;
86
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ type: "text" | "json" | "pdf" | "csv" | "markdown";
89
+ options?: Record<string, unknown> | undefined;
90
+ }, {
91
+ options?: Record<string, unknown> | undefined;
92
+ type?: "text" | "json" | "pdf" | "csv" | "markdown" | undefined;
93
+ }>;
94
+ splitter: z.ZodObject<{
95
+ type: z.ZodDefault<z.ZodEnum<["character", "recursive", "token", "markdown"]>>;
96
+ chunkSize: z.ZodDefault<z.ZodNumber>;
97
+ chunkOverlap: z.ZodDefault<z.ZodNumber>;
98
+ separator: z.ZodOptional<z.ZodString>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ type: "recursive" | "markdown" | "character" | "token";
101
+ chunkSize: number;
102
+ chunkOverlap: number;
103
+ separator?: string | undefined;
104
+ }, {
105
+ type?: "recursive" | "markdown" | "character" | "token" | undefined;
106
+ chunkSize?: number | undefined;
107
+ chunkOverlap?: number | undefined;
108
+ separator?: string | undefined;
109
+ }>;
110
+ embedding: z.ZodDefault<z.ZodString>;
111
+ store: z.ZodObject<{
112
+ type: z.ZodDefault<z.ZodEnum<["memory", "chroma", "pinecone", "qdrant"]>>;
113
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ type: "memory" | "chroma" | "pinecone" | "qdrant";
116
+ options?: Record<string, unknown> | undefined;
117
+ }, {
118
+ options?: Record<string, unknown> | undefined;
119
+ type?: "memory" | "chroma" | "pinecone" | "qdrant" | undefined;
120
+ }>;
121
+ search: z.ZodOptional<z.ZodObject<{
122
+ defaultK: z.ZodDefault<z.ZodNumber>;
123
+ scoreThreshold: z.ZodOptional<z.ZodNumber>;
124
+ }, "strip", z.ZodTypeAny, {
125
+ defaultK: number;
126
+ scoreThreshold?: number | undefined;
127
+ }, {
128
+ defaultK?: number | undefined;
129
+ scoreThreshold?: number | undefined;
130
+ }>>;
131
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
132
+ }, "strip", z.ZodTypeAny, {
133
+ name: string;
134
+ source: {
135
+ path: string;
136
+ type: "url" | "directory" | "file" | "database";
137
+ recursive: boolean;
138
+ pattern?: string | undefined;
139
+ };
140
+ description: string;
141
+ store: {
142
+ type: "memory" | "chroma" | "pinecone" | "qdrant";
143
+ options?: Record<string, unknown> | undefined;
144
+ };
145
+ loader: {
146
+ type: "text" | "json" | "pdf" | "csv" | "markdown";
147
+ options?: Record<string, unknown> | undefined;
148
+ };
149
+ splitter: {
150
+ type: "recursive" | "markdown" | "character" | "token";
151
+ chunkSize: number;
152
+ chunkOverlap: number;
153
+ separator?: string | undefined;
154
+ };
155
+ embedding: string;
156
+ search?: {
157
+ defaultK: number;
158
+ scoreThreshold?: number | undefined;
159
+ } | undefined;
160
+ metadata?: Record<string, unknown> | undefined;
161
+ }, {
162
+ name: string;
163
+ source: {
164
+ path: string;
165
+ type: "url" | "directory" | "file" | "database";
166
+ pattern?: string | undefined;
167
+ recursive?: boolean | undefined;
168
+ };
169
+ description: string;
170
+ store: {
171
+ options?: Record<string, unknown> | undefined;
172
+ type?: "memory" | "chroma" | "pinecone" | "qdrant" | undefined;
173
+ };
174
+ loader: {
175
+ options?: Record<string, unknown> | undefined;
176
+ type?: "text" | "json" | "pdf" | "csv" | "markdown" | undefined;
177
+ };
178
+ splitter: {
179
+ type?: "recursive" | "markdown" | "character" | "token" | undefined;
180
+ chunkSize?: number | undefined;
181
+ chunkOverlap?: number | undefined;
182
+ separator?: string | undefined;
183
+ };
184
+ search?: {
185
+ defaultK?: number | undefined;
186
+ scoreThreshold?: number | undefined;
187
+ } | undefined;
188
+ metadata?: Record<string, unknown> | undefined;
189
+ embedding?: string | undefined;
190
+ }>;
191
+ export type SourceConfig = z.infer<typeof SourceConfigSchema>;
192
+ export type LoaderConfig = z.infer<typeof LoaderConfigSchema>;
193
+ export type SplitterConfig = z.infer<typeof SplitterConfigSchema>;
194
+ export type StoreConfig = z.infer<typeof StoreConfigSchema>;
195
+ export type SearchConfig = z.infer<typeof SearchConfigSchema>;
196
+ export type VectorConfig = z.infer<typeof VectorConfigSchema>;
197
+ export interface SearchResult {
198
+ content: string;
199
+ metadata: Record<string, unknown>;
200
+ score: number;
201
+ }
202
+ export interface DocumentInput {
203
+ content: string;
204
+ metadata?: Record<string, unknown>;
205
+ }
206
+ export interface VectorStoreInstance {
207
+ config: VectorConfig;
208
+ search: (query: string, k?: number) => Promise<SearchResult[]>;
209
+ addDocuments: (documents: DocumentInput[]) => Promise<void>;
210
+ refresh: () => Promise<void>;
211
+ }
212
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/vectors/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAGH,eAAO,MAAM,kBAAkB,2BAAgC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/D,YAAY,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}