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.
- package/LICENSE +21 -0
- package/README.md +917 -0
- package/bin/cli.js +2 -0
- package/dist/lib/agents/agent-executor.d.ts +13 -0
- package/dist/lib/agents/agent-executor.d.ts.map +1 -0
- package/dist/lib/agents/agent-executor.js +158 -0
- package/dist/lib/agents/agent-executor.js.map +1 -0
- package/dist/lib/agents/agent-loader.d.ts +13 -0
- package/dist/lib/agents/agent-loader.d.ts.map +1 -0
- package/dist/lib/agents/agent-loader.js +39 -0
- package/dist/lib/agents/agent-loader.js.map +1 -0
- package/dist/lib/agents/index.d.ts +5 -0
- package/dist/lib/agents/index.d.ts.map +1 -0
- package/dist/lib/agents/index.js +4 -0
- package/dist/lib/agents/index.js.map +1 -0
- package/dist/lib/agents/types.d.ts +140 -0
- package/dist/lib/agents/types.d.ts.map +1 -0
- package/dist/lib/agents/types.js +28 -0
- package/dist/lib/agents/types.js.map +1 -0
- package/dist/lib/functions/function-loader.d.ts +30 -0
- package/dist/lib/functions/function-loader.d.ts.map +1 -0
- package/dist/lib/functions/function-loader.js +107 -0
- package/dist/lib/functions/function-loader.js.map +1 -0
- package/dist/lib/functions/index.d.ts +3 -0
- package/dist/lib/functions/index.d.ts.map +1 -0
- package/dist/lib/functions/index.js +2 -0
- package/dist/lib/functions/index.js.map +1 -0
- package/dist/lib/functions/simple-function-wrapper.d.ts +33 -0
- package/dist/lib/functions/simple-function-wrapper.d.ts.map +1 -0
- package/dist/lib/functions/simple-function-wrapper.js +66 -0
- package/dist/lib/functions/simple-function-wrapper.js.map +1 -0
- package/dist/lib/index.d.ts +16 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +17 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/llm/index.d.ts +6 -0
- package/dist/lib/llm/index.d.ts.map +1 -0
- package/dist/lib/llm/index.js +4 -0
- package/dist/lib/llm/index.js.map +1 -0
- package/dist/lib/llm/llm-config.d.ts +138 -0
- package/dist/lib/llm/llm-config.d.ts.map +1 -0
- package/dist/lib/llm/llm-config.js +75 -0
- package/dist/lib/llm/llm-config.js.map +1 -0
- package/dist/lib/llm/llm-factory.d.ts +30 -0
- package/dist/lib/llm/llm-factory.d.ts.map +1 -0
- package/dist/lib/llm/llm-factory.js +103 -0
- package/dist/lib/llm/llm-factory.js.map +1 -0
- package/dist/lib/llm/provider-detector.d.ts +12 -0
- package/dist/lib/llm/provider-detector.d.ts.map +1 -0
- package/dist/lib/llm/provider-detector.js +46 -0
- package/dist/lib/llm/provider-detector.js.map +1 -0
- package/dist/lib/llm/types.d.ts +19 -0
- package/dist/lib/llm/types.d.ts.map +1 -0
- package/dist/lib/llm/types.js +18 -0
- package/dist/lib/llm/types.js.map +1 -0
- package/dist/lib/logger.d.ts +43 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +113 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/mcp/index.d.ts +4 -0
- package/dist/lib/mcp/index.d.ts.map +1 -0
- package/dist/lib/mcp/index.js +3 -0
- package/dist/lib/mcp/index.js.map +1 -0
- package/dist/lib/mcp/mcp-client.d.ts +17 -0
- package/dist/lib/mcp/mcp-client.d.ts.map +1 -0
- package/dist/lib/mcp/mcp-client.js +166 -0
- package/dist/lib/mcp/mcp-client.js.map +1 -0
- package/dist/lib/mcp/types.d.ts +146 -0
- package/dist/lib/mcp/types.d.ts.map +1 -0
- package/dist/lib/mcp/types.js +24 -0
- package/dist/lib/mcp/types.js.map +1 -0
- package/dist/lib/orchestrator.d.ts +64 -0
- package/dist/lib/orchestrator.d.ts.map +1 -0
- package/dist/lib/orchestrator.js +201 -0
- package/dist/lib/orchestrator.js.map +1 -0
- package/dist/lib/tools/built-in/index.d.ts +2 -0
- package/dist/lib/tools/built-in/index.d.ts.map +1 -0
- package/dist/lib/tools/built-in/index.js +2 -0
- package/dist/lib/tools/built-in/index.js.map +1 -0
- package/dist/lib/tools/built-in/vector-search.tool.d.ts +4 -0
- package/dist/lib/tools/built-in/vector-search.tool.d.ts.map +1 -0
- package/dist/lib/tools/built-in/vector-search.tool.js +26 -0
- package/dist/lib/tools/built-in/vector-search.tool.js.map +1 -0
- package/dist/lib/tools/index.d.ts +3 -0
- package/dist/lib/tools/index.d.ts.map +1 -0
- package/dist/lib/tools/index.js +3 -0
- package/dist/lib/tools/index.js.map +1 -0
- package/dist/lib/tools/tool-registry.d.ts +20 -0
- package/dist/lib/tools/tool-registry.d.ts.map +1 -0
- package/dist/lib/tools/tool-registry.js +76 -0
- package/dist/lib/tools/tool-registry.js.map +1 -0
- package/dist/lib/vectors/index.d.ts +5 -0
- package/dist/lib/vectors/index.d.ts.map +1 -0
- package/dist/lib/vectors/index.js +4 -0
- package/dist/lib/vectors/index.js.map +1 -0
- package/dist/lib/vectors/types.d.ts +212 -0
- package/dist/lib/vectors/types.d.ts.map +1 -0
- package/dist/lib/vectors/types.js +39 -0
- package/dist/lib/vectors/types.js.map +1 -0
- package/dist/lib/vectors/vector-store-factory.d.ts +14 -0
- package/dist/lib/vectors/vector-store-factory.d.ts.map +1 -0
- package/dist/lib/vectors/vector-store-factory.js +350 -0
- package/dist/lib/vectors/vector-store-factory.js.map +1 -0
- package/dist/lib/vectors/vector-store-manager.d.ts +18 -0
- package/dist/lib/vectors/vector-store-manager.d.ts.map +1 -0
- package/dist/lib/vectors/vector-store-manager.js +79 -0
- package/dist/lib/vectors/vector-store-manager.js.map +1 -0
- package/dist/lib/workflows/index.d.ts +5 -0
- package/dist/lib/workflows/index.d.ts.map +1 -0
- package/dist/lib/workflows/index.js +4 -0
- package/dist/lib/workflows/index.js.map +1 -0
- package/dist/lib/workflows/types.d.ts +630 -0
- package/dist/lib/workflows/types.d.ts.map +1 -0
- package/dist/lib/workflows/types.js +51 -0
- package/dist/lib/workflows/types.js.map +1 -0
- package/dist/lib/workflows/workflow-executor.d.ts +22 -0
- package/dist/lib/workflows/workflow-executor.d.ts.map +1 -0
- package/dist/lib/workflows/workflow-executor.js +276 -0
- package/dist/lib/workflows/workflow-executor.js.map +1 -0
- package/dist/lib/workflows/workflow-loader.d.ts +13 -0
- package/dist/lib/workflows/workflow-loader.d.ts.map +1 -0
- package/dist/lib/workflows/workflow-loader.js +39 -0
- package/dist/lib/workflows/workflow-loader.js.map +1 -0
- package/dist/public/index.html +762 -0
- package/dist/src/cli/commands/init.d.ts +2 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -0
- package/dist/src/cli/commands/init.js +108 -0
- package/dist/src/cli/commands/init.js.map +1 -0
- package/dist/src/cli/commands/start.d.ts +3 -0
- package/dist/src/cli/commands/start.d.ts.map +1 -0
- package/dist/src/cli/commands/start.js +114 -0
- package/dist/src/cli/commands/start.js.map +1 -0
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +59 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +62 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/routes/agents.route.d.ts +3 -0
- package/dist/src/routes/agents.route.d.ts.map +1 -0
- package/dist/src/routes/agents.route.js +58 -0
- package/dist/src/routes/agents.route.js.map +1 -0
- package/dist/src/routes/llm.route.d.ts +3 -0
- package/dist/src/routes/llm.route.d.ts.map +1 -0
- package/dist/src/routes/llm.route.js +97 -0
- package/dist/src/routes/llm.route.js.map +1 -0
- package/dist/src/routes/vectors.route.d.ts +3 -0
- package/dist/src/routes/vectors.route.d.ts.map +1 -0
- package/dist/src/routes/vectors.route.js +74 -0
- package/dist/src/routes/vectors.route.js.map +1 -0
- package/dist/src/routes/workflows.route.d.ts +3 -0
- package/dist/src/routes/workflows.route.d.ts.map +1 -0
- package/dist/src/routes/workflows.route.js +58 -0
- package/dist/src/routes/workflows.route.js.map +1 -0
- package/dist/src/server.d.ts +9 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +34 -0
- package/dist/src/server.js.map +1 -0
- package/dist/templates/.env.example +6 -0
- package/dist/templates/README.md +234 -0
- package/dist/templates/agents/example.agent.yaml +32 -0
- package/dist/templates/agents/knowledge.agent.yaml +36 -0
- package/dist/templates/agents/math.agent.yaml +38 -0
- package/dist/templates/agents/time.agent.yaml +42 -0
- package/dist/templates/functions/README.md +195 -0
- package/dist/templates/functions/fibonacci.function.js +55 -0
- package/dist/templates/llm.json +44 -0
- package/dist/templates/mcp.json +18 -0
- package/dist/templates/vectors/example-chroma.vector.yaml +43 -0
- package/dist/templates/vectors/example.vector.yaml +28 -0
- package/dist/templates/vectors/sample-data/example-document.txt +15 -0
- package/dist/templates/workflows/example.workflow.yaml +79 -0
- package/package.json +77 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export { ModelConfigSchema, EmbeddingModelConfigSchema, LLMJsonConfigSchema, } from './llm-config.js';
|
|
3
|
+
// Schema for agent LLM reference (can be string or object with overrides)
|
|
4
|
+
export const AgentLLMRefSchema = z.union([
|
|
5
|
+
z.string(), // Just the config name: "default"
|
|
6
|
+
z.object({
|
|
7
|
+
name: z.string(),
|
|
8
|
+
temperature: z.number().min(0).max(2).optional(),
|
|
9
|
+
}),
|
|
10
|
+
]);
|
|
11
|
+
// Helper to resolve agent LLM reference to name and optional overrides
|
|
12
|
+
export function resolveAgentLLMRef(ref) {
|
|
13
|
+
if (typeof ref === 'string') {
|
|
14
|
+
return { name: ref };
|
|
15
|
+
}
|
|
16
|
+
return ref;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/llm/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC;IACvC,CAAC,CAAC,MAAM,EAAE,EAAE,kCAAkC;IAC9C,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACjD,CAAC;CACH,CAAC,CAAC;AAIH,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
/**
|
|
3
|
+
* Shared Pino configuration that can be used by both the standalone logger and Fastify
|
|
4
|
+
*/
|
|
5
|
+
export declare function getPinoConfig(): {
|
|
6
|
+
level: string;
|
|
7
|
+
transport: {
|
|
8
|
+
target: string;
|
|
9
|
+
options: {
|
|
10
|
+
colorize: boolean;
|
|
11
|
+
translateTime: string;
|
|
12
|
+
ignore: string;
|
|
13
|
+
messageFormat: string;
|
|
14
|
+
};
|
|
15
|
+
} | undefined;
|
|
16
|
+
};
|
|
17
|
+
export declare const pinoLogger: pino.Logger<never, boolean>;
|
|
18
|
+
export declare const logger: {
|
|
19
|
+
info: (message: string, ...args: unknown[]) => void;
|
|
20
|
+
warn: (message: string, ...args: unknown[]) => void;
|
|
21
|
+
error: (message: string, ...args: unknown[]) => void;
|
|
22
|
+
debug: (message: string, ...args: unknown[]) => void;
|
|
23
|
+
trace: (message: string, ...args: unknown[]) => void;
|
|
24
|
+
fatal: (message: string, ...args: unknown[]) => void;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Create a child logger with a component prefix
|
|
28
|
+
* @param component - The component name (e.g., 'VectorFactory', 'FunctionLoader')
|
|
29
|
+
* @returns A logger with the component automatically prefixed to all messages
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const logger = createLogger('VectorFactory');
|
|
33
|
+
* logger.info('Loading documents'); // Logs: [VectorFactory] Loading documents
|
|
34
|
+
*/
|
|
35
|
+
export declare function createLogger(component: string): {
|
|
36
|
+
info: (message: string, ...args: unknown[]) => void;
|
|
37
|
+
warn: (message: string, ...args: unknown[]) => void;
|
|
38
|
+
error: (message: string, ...args: unknown[]) => void;
|
|
39
|
+
debug: (message: string, ...args: unknown[]) => void;
|
|
40
|
+
trace: (message: string, ...args: unknown[]) => void;
|
|
41
|
+
fatal: (message: string, ...args: unknown[]) => void;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;;EAkB5B;AAUD,eAAO,MAAM,UAAU,6BAAqB,CAAC;AA+D7C,eAAO,MAAM,MAAM;oBAxDC,MAAM,WAAW,OAAO,EAAE;oBAO1B,MAAM,WAAW,OAAO,EAAE;qBAOzB,MAAM,WAAW,OAAO,EAAE;qBAY1B,MAAM,WAAW,OAAO,EAAE;qBAO1B,MAAM,WAAW,OAAO,EAAE;qBAO1B,MAAM,WAAW,OAAO,EAAE;CAgBM,CAAC;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM;oBAnE1B,MAAM,WAAW,OAAO,EAAE;oBAO1B,MAAM,WAAW,OAAO,EAAE;qBAOzB,MAAM,WAAW,OAAO,EAAE;qBAY1B,MAAM,WAAW,OAAO,EAAE;qBAO1B,MAAM,WAAW,OAAO,EAAE;qBAO1B,MAAM,WAAW,OAAO,EAAE;EA8B9C"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
/**
|
|
3
|
+
* Shared Pino configuration that can be used by both the standalone logger and Fastify
|
|
4
|
+
*/
|
|
5
|
+
export function getPinoConfig() {
|
|
6
|
+
const logLevel = process.env.LOG_LEVEL || 'info';
|
|
7
|
+
const isDevelopment = process.env.NODE_ENV !== 'production';
|
|
8
|
+
return {
|
|
9
|
+
level: logLevel,
|
|
10
|
+
transport: isDevelopment
|
|
11
|
+
? {
|
|
12
|
+
target: 'pino-pretty',
|
|
13
|
+
options: {
|
|
14
|
+
colorize: true,
|
|
15
|
+
translateTime: 'HH:MM:ss',
|
|
16
|
+
ignore: 'pid,hostname,component',
|
|
17
|
+
messageFormat: '{component} {msg}',
|
|
18
|
+
},
|
|
19
|
+
}
|
|
20
|
+
: undefined,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create a pino logger instance
|
|
25
|
+
*/
|
|
26
|
+
function createPinoLogger() {
|
|
27
|
+
return pino(getPinoConfig());
|
|
28
|
+
}
|
|
29
|
+
// Export the raw pino instance for use in the application
|
|
30
|
+
export const pinoLogger = createPinoLogger();
|
|
31
|
+
/**
|
|
32
|
+
* Create a wrapper that accepts console-like API and converts to pino API
|
|
33
|
+
*/
|
|
34
|
+
function createLoggerWrapper(pinoInstance) {
|
|
35
|
+
return {
|
|
36
|
+
info: (message, ...args) => {
|
|
37
|
+
if (args.length > 0) {
|
|
38
|
+
pinoInstance.info({ data: args }, message);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
pinoInstance.info(message);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
warn: (message, ...args) => {
|
|
45
|
+
if (args.length > 0) {
|
|
46
|
+
pinoInstance.warn({ data: args }, message);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
pinoInstance.warn(message);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
error: (message, ...args) => {
|
|
53
|
+
if (args.length > 0) {
|
|
54
|
+
const firstArg = args[0];
|
|
55
|
+
if (firstArg instanceof Error) {
|
|
56
|
+
pinoInstance.error({ err: firstArg, data: args.slice(1) }, message);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
pinoInstance.error({ data: args }, message);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
pinoInstance.error(message);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
debug: (message, ...args) => {
|
|
67
|
+
if (args.length > 0) {
|
|
68
|
+
pinoInstance.debug({ data: args }, message);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
pinoInstance.debug(message);
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
trace: (message, ...args) => {
|
|
75
|
+
if (args.length > 0) {
|
|
76
|
+
pinoInstance.trace({ data: args }, message);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
pinoInstance.trace(message);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
fatal: (message, ...args) => {
|
|
83
|
+
if (args.length > 0) {
|
|
84
|
+
const firstArg = args[0];
|
|
85
|
+
if (firstArg instanceof Error) {
|
|
86
|
+
pinoInstance.fatal({ err: firstArg, data: args.slice(1) }, message);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
pinoInstance.fatal({ data: args }, message);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
pinoInstance.fatal(message);
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
// Export the wrapper for application use
|
|
99
|
+
export const logger = createLoggerWrapper(pinoLogger);
|
|
100
|
+
/**
|
|
101
|
+
* Create a child logger with a component prefix
|
|
102
|
+
* @param component - The component name (e.g., 'VectorFactory', 'FunctionLoader')
|
|
103
|
+
* @returns A logger with the component automatically prefixed to all messages
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* const logger = createLogger('VectorFactory');
|
|
107
|
+
* logger.info('Loading documents'); // Logs: [VectorFactory] Loading documents
|
|
108
|
+
*/
|
|
109
|
+
export function createLogger(component) {
|
|
110
|
+
const childLogger = pinoLogger.child({ component: `[${component}]` });
|
|
111
|
+
return createLoggerWrapper(childLogger);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { MCPClientManager } from './mcp-client.js';
|
|
2
|
+
export { MCPConfigSchema, MCPServerConfigSchema, MCPGlobalOptionsSchema } from './types.js';
|
|
3
|
+
export type { MCPConfig, MCPServerConfig, MCPGlobalOptions, MCPTool } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC5F,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StructuredTool } from '@langchain/core/tools';
|
|
2
|
+
import type { MCPConfig } from './types.js';
|
|
3
|
+
export declare class MCPClientManager {
|
|
4
|
+
private config;
|
|
5
|
+
private connections;
|
|
6
|
+
private toolsCache;
|
|
7
|
+
constructor(config: MCPConfig);
|
|
8
|
+
initialize(): Promise<void>;
|
|
9
|
+
private connectToServer;
|
|
10
|
+
getTools(): Promise<StructuredTool[]>;
|
|
11
|
+
getToolsByServer(serverName: string): Promise<StructuredTool[]>;
|
|
12
|
+
private getToolsForServer;
|
|
13
|
+
private convertJsonSchemaToZod;
|
|
14
|
+
private extractContent;
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=mcp-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../../lib/mcp/mcp-client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AAQ7D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,UAAU,CAA4C;gBAElD,MAAM,EAAE,SAAS;IAIvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBnB,eAAe;IA0CvB,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWrC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAgBvD,iBAAiB;IA6B/B,OAAO,CAAC,sBAAsB;IAyC9B,OAAO,CAAC,cAAc;IAchB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
2
|
+
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
3
|
+
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
4
|
+
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
5
|
+
import { tool } from '@langchain/core/tools';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { logger } from '../logger.js';
|
|
8
|
+
export class MCPClientManager {
|
|
9
|
+
config;
|
|
10
|
+
connections = new Map();
|
|
11
|
+
toolsCache = new Map();
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
}
|
|
15
|
+
async initialize() {
|
|
16
|
+
for (const [name, serverConfig] of Object.entries(this.config.servers)) {
|
|
17
|
+
if (!serverConfig.enabled)
|
|
18
|
+
continue;
|
|
19
|
+
try {
|
|
20
|
+
const connection = await this.connectToServer(name, serverConfig);
|
|
21
|
+
this.connections.set(name, connection);
|
|
22
|
+
logger.info(`Connected to MCP server "${name}"`);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
if (this.config.globalOptions?.throwOnLoadError) {
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
logger.warn(`Failed to connect to MCP server "${name}":`, error);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async connectToServer(name, config) {
|
|
33
|
+
const client = new Client({ name: `agent-orcha-${name}`, version: '1.0.0' }, { capabilities: {} });
|
|
34
|
+
if (config.transport === 'stdio') {
|
|
35
|
+
// Use StdioClientTransport for local processes
|
|
36
|
+
if (!config.command) {
|
|
37
|
+
throw new Error(`MCP server "${name}" with stdio transport requires a command`);
|
|
38
|
+
}
|
|
39
|
+
const transport = new StdioClientTransport({
|
|
40
|
+
command: config.command,
|
|
41
|
+
args: config.args ?? [],
|
|
42
|
+
env: config.env,
|
|
43
|
+
});
|
|
44
|
+
await client.connect(transport);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// HTTP-based transports require a URL
|
|
48
|
+
if (!config.url) {
|
|
49
|
+
throw new Error(`MCP server "${name}" requires a URL for ${config.transport} transport`);
|
|
50
|
+
}
|
|
51
|
+
const url = new URL(config.url);
|
|
52
|
+
if (config.transport === 'streamable-http' || config.transport === 'sse') {
|
|
53
|
+
// Use StreamableHTTPClientTransport for remote servers
|
|
54
|
+
// It handles both POST for messages and optional GET for SSE
|
|
55
|
+
const transport = new StreamableHTTPClientTransport(url);
|
|
56
|
+
await client.connect(transport);
|
|
57
|
+
}
|
|
58
|
+
else if (config.transport === 'sse-only') {
|
|
59
|
+
// Legacy SSE-only transport (rarely needed)
|
|
60
|
+
const transport = new SSEClientTransport(url);
|
|
61
|
+
await client.connect(transport);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
throw new Error(`Unsupported transport: ${config.transport}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { client, config };
|
|
68
|
+
}
|
|
69
|
+
async getTools() {
|
|
70
|
+
const allTools = [];
|
|
71
|
+
for (const [serverName, connection] of this.connections) {
|
|
72
|
+
const tools = await this.getToolsForServer(serverName, connection);
|
|
73
|
+
allTools.push(...tools);
|
|
74
|
+
}
|
|
75
|
+
return allTools;
|
|
76
|
+
}
|
|
77
|
+
async getToolsByServer(serverName) {
|
|
78
|
+
const cached = this.toolsCache.get(serverName);
|
|
79
|
+
if (cached) {
|
|
80
|
+
return cached;
|
|
81
|
+
}
|
|
82
|
+
const connection = this.connections.get(serverName);
|
|
83
|
+
if (!connection) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
const tools = await this.getToolsForServer(serverName, connection);
|
|
87
|
+
this.toolsCache.set(serverName, tools);
|
|
88
|
+
return tools;
|
|
89
|
+
}
|
|
90
|
+
async getToolsForServer(serverName, connection) {
|
|
91
|
+
const { tools: mcpTools } = await connection.client.listTools();
|
|
92
|
+
const prefix = this.config.globalOptions?.prefixToolNameWithServerName ? `${serverName}_` : '';
|
|
93
|
+
return mcpTools.map((mcpTool) => {
|
|
94
|
+
const inputSchema = this.convertJsonSchemaToZod(mcpTool.inputSchema);
|
|
95
|
+
return tool(async (input) => {
|
|
96
|
+
const result = await connection.client.callTool({
|
|
97
|
+
name: mcpTool.name,
|
|
98
|
+
arguments: input,
|
|
99
|
+
});
|
|
100
|
+
if (result.isError) {
|
|
101
|
+
throw new Error(String(result.content));
|
|
102
|
+
}
|
|
103
|
+
return this.extractContent(result.content);
|
|
104
|
+
}, {
|
|
105
|
+
name: `${prefix}${mcpTool.name}`,
|
|
106
|
+
description: mcpTool.description ?? `Tool from ${serverName}`,
|
|
107
|
+
schema: inputSchema,
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
convertJsonSchemaToZod(schema) {
|
|
112
|
+
const jsonSchema = schema;
|
|
113
|
+
const properties = jsonSchema.properties ?? {};
|
|
114
|
+
const required = new Set(jsonSchema.required ?? []);
|
|
115
|
+
const zodShape = {};
|
|
116
|
+
for (const [key, prop] of Object.entries(properties)) {
|
|
117
|
+
let zodType;
|
|
118
|
+
switch (prop.type) {
|
|
119
|
+
case 'string':
|
|
120
|
+
zodType = z.string();
|
|
121
|
+
break;
|
|
122
|
+
case 'number':
|
|
123
|
+
case 'integer':
|
|
124
|
+
zodType = z.number();
|
|
125
|
+
break;
|
|
126
|
+
case 'boolean':
|
|
127
|
+
zodType = z.boolean();
|
|
128
|
+
break;
|
|
129
|
+
case 'array':
|
|
130
|
+
zodType = z.array(z.unknown());
|
|
131
|
+
break;
|
|
132
|
+
case 'object':
|
|
133
|
+
zodType = z.record(z.unknown());
|
|
134
|
+
break;
|
|
135
|
+
default:
|
|
136
|
+
zodType = z.unknown();
|
|
137
|
+
}
|
|
138
|
+
if (prop.description) {
|
|
139
|
+
zodType = zodType.describe(prop.description);
|
|
140
|
+
}
|
|
141
|
+
zodShape[key] = required.has(key) ? zodType : zodType.optional();
|
|
142
|
+
}
|
|
143
|
+
return z.object(zodShape);
|
|
144
|
+
}
|
|
145
|
+
extractContent(content) {
|
|
146
|
+
if (Array.isArray(content)) {
|
|
147
|
+
return content
|
|
148
|
+
.map((item) => {
|
|
149
|
+
if (typeof item === 'object' && item !== null && 'text' in item) {
|
|
150
|
+
return item.text;
|
|
151
|
+
}
|
|
152
|
+
return String(item);
|
|
153
|
+
})
|
|
154
|
+
.join('\n');
|
|
155
|
+
}
|
|
156
|
+
return String(content);
|
|
157
|
+
}
|
|
158
|
+
async close() {
|
|
159
|
+
for (const [, connection] of this.connections) {
|
|
160
|
+
await connection.client.close();
|
|
161
|
+
}
|
|
162
|
+
this.connections.clear();
|
|
163
|
+
this.toolsCache.clear();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=mcp-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../lib/mcp/mcp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const MCPServerConfigSchema: z.ZodObject<{
|
|
3
|
+
transport: z.ZodEnum<["stdio", "sse", "streamable-http", "sse-only"]>;
|
|
4
|
+
url: z.ZodOptional<z.ZodString>;
|
|
5
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6
|
+
command: z.ZodOptional<z.ZodString>;
|
|
7
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
9
|
+
description: z.ZodOptional<z.ZodString>;
|
|
10
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
11
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
transport: "stdio" | "sse" | "streamable-http" | "sse-only";
|
|
14
|
+
timeout: number;
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
description?: string | undefined;
|
|
17
|
+
url?: string | undefined;
|
|
18
|
+
headers?: Record<string, string> | undefined;
|
|
19
|
+
command?: string | undefined;
|
|
20
|
+
args?: string[] | undefined;
|
|
21
|
+
env?: Record<string, string> | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
transport: "stdio" | "sse" | "streamable-http" | "sse-only";
|
|
24
|
+
description?: string | undefined;
|
|
25
|
+
timeout?: number | undefined;
|
|
26
|
+
url?: string | undefined;
|
|
27
|
+
headers?: Record<string, string> | undefined;
|
|
28
|
+
command?: string | undefined;
|
|
29
|
+
args?: string[] | undefined;
|
|
30
|
+
env?: Record<string, string> | undefined;
|
|
31
|
+
enabled?: boolean | undefined;
|
|
32
|
+
}>;
|
|
33
|
+
export declare const MCPGlobalOptionsSchema: z.ZodObject<{
|
|
34
|
+
throwOnLoadError: z.ZodDefault<z.ZodBoolean>;
|
|
35
|
+
prefixToolNameWithServerName: z.ZodDefault<z.ZodBoolean>;
|
|
36
|
+
additionalToolNamePrefix: z.ZodDefault<z.ZodString>;
|
|
37
|
+
defaultToolTimeout: z.ZodDefault<z.ZodNumber>;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
throwOnLoadError: boolean;
|
|
40
|
+
prefixToolNameWithServerName: boolean;
|
|
41
|
+
additionalToolNamePrefix: string;
|
|
42
|
+
defaultToolTimeout: number;
|
|
43
|
+
}, {
|
|
44
|
+
throwOnLoadError?: boolean | undefined;
|
|
45
|
+
prefixToolNameWithServerName?: boolean | undefined;
|
|
46
|
+
additionalToolNamePrefix?: string | undefined;
|
|
47
|
+
defaultToolTimeout?: number | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export declare const MCPConfigSchema: z.ZodObject<{
|
|
50
|
+
version: z.ZodDefault<z.ZodString>;
|
|
51
|
+
servers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
52
|
+
transport: z.ZodEnum<["stdio", "sse", "streamable-http", "sse-only"]>;
|
|
53
|
+
url: z.ZodOptional<z.ZodString>;
|
|
54
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
55
|
+
command: z.ZodOptional<z.ZodString>;
|
|
56
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
57
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
58
|
+
description: z.ZodOptional<z.ZodString>;
|
|
59
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
60
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
61
|
+
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
transport: "stdio" | "sse" | "streamable-http" | "sse-only";
|
|
63
|
+
timeout: number;
|
|
64
|
+
enabled: boolean;
|
|
65
|
+
description?: string | undefined;
|
|
66
|
+
url?: string | undefined;
|
|
67
|
+
headers?: Record<string, string> | undefined;
|
|
68
|
+
command?: string | undefined;
|
|
69
|
+
args?: string[] | undefined;
|
|
70
|
+
env?: Record<string, string> | undefined;
|
|
71
|
+
}, {
|
|
72
|
+
transport: "stdio" | "sse" | "streamable-http" | "sse-only";
|
|
73
|
+
description?: string | undefined;
|
|
74
|
+
timeout?: number | undefined;
|
|
75
|
+
url?: string | undefined;
|
|
76
|
+
headers?: Record<string, string> | undefined;
|
|
77
|
+
command?: string | undefined;
|
|
78
|
+
args?: string[] | undefined;
|
|
79
|
+
env?: Record<string, string> | undefined;
|
|
80
|
+
enabled?: boolean | undefined;
|
|
81
|
+
}>>;
|
|
82
|
+
globalOptions: z.ZodOptional<z.ZodObject<{
|
|
83
|
+
throwOnLoadError: z.ZodDefault<z.ZodBoolean>;
|
|
84
|
+
prefixToolNameWithServerName: z.ZodDefault<z.ZodBoolean>;
|
|
85
|
+
additionalToolNamePrefix: z.ZodDefault<z.ZodString>;
|
|
86
|
+
defaultToolTimeout: z.ZodDefault<z.ZodNumber>;
|
|
87
|
+
}, "strip", z.ZodTypeAny, {
|
|
88
|
+
throwOnLoadError: boolean;
|
|
89
|
+
prefixToolNameWithServerName: boolean;
|
|
90
|
+
additionalToolNamePrefix: string;
|
|
91
|
+
defaultToolTimeout: number;
|
|
92
|
+
}, {
|
|
93
|
+
throwOnLoadError?: boolean | undefined;
|
|
94
|
+
prefixToolNameWithServerName?: boolean | undefined;
|
|
95
|
+
additionalToolNamePrefix?: string | undefined;
|
|
96
|
+
defaultToolTimeout?: number | undefined;
|
|
97
|
+
}>>;
|
|
98
|
+
}, "strip", z.ZodTypeAny, {
|
|
99
|
+
version: string;
|
|
100
|
+
servers: Record<string, {
|
|
101
|
+
transport: "stdio" | "sse" | "streamable-http" | "sse-only";
|
|
102
|
+
timeout: number;
|
|
103
|
+
enabled: boolean;
|
|
104
|
+
description?: string | undefined;
|
|
105
|
+
url?: string | undefined;
|
|
106
|
+
headers?: Record<string, string> | undefined;
|
|
107
|
+
command?: string | undefined;
|
|
108
|
+
args?: string[] | undefined;
|
|
109
|
+
env?: Record<string, string> | undefined;
|
|
110
|
+
}>;
|
|
111
|
+
globalOptions?: {
|
|
112
|
+
throwOnLoadError: boolean;
|
|
113
|
+
prefixToolNameWithServerName: boolean;
|
|
114
|
+
additionalToolNamePrefix: string;
|
|
115
|
+
defaultToolTimeout: number;
|
|
116
|
+
} | undefined;
|
|
117
|
+
}, {
|
|
118
|
+
servers: Record<string, {
|
|
119
|
+
transport: "stdio" | "sse" | "streamable-http" | "sse-only";
|
|
120
|
+
description?: string | undefined;
|
|
121
|
+
timeout?: number | undefined;
|
|
122
|
+
url?: string | undefined;
|
|
123
|
+
headers?: Record<string, string> | undefined;
|
|
124
|
+
command?: string | undefined;
|
|
125
|
+
args?: string[] | undefined;
|
|
126
|
+
env?: Record<string, string> | undefined;
|
|
127
|
+
enabled?: boolean | undefined;
|
|
128
|
+
}>;
|
|
129
|
+
version?: string | undefined;
|
|
130
|
+
globalOptions?: {
|
|
131
|
+
throwOnLoadError?: boolean | undefined;
|
|
132
|
+
prefixToolNameWithServerName?: boolean | undefined;
|
|
133
|
+
additionalToolNamePrefix?: string | undefined;
|
|
134
|
+
defaultToolTimeout?: number | undefined;
|
|
135
|
+
} | undefined;
|
|
136
|
+
}>;
|
|
137
|
+
export type MCPServerConfig = z.infer<typeof MCPServerConfigSchema>;
|
|
138
|
+
export type MCPGlobalOptions = z.infer<typeof MCPGlobalOptionsSchema>;
|
|
139
|
+
export type MCPConfig = z.infer<typeof MCPConfigSchema>;
|
|
140
|
+
export interface MCPTool {
|
|
141
|
+
name: string;
|
|
142
|
+
description: string;
|
|
143
|
+
inputSchema: Record<string, unknown>;
|
|
144
|
+
invoke: (input: Record<string, unknown>) => Promise<unknown>;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const MCPServerConfigSchema = z.object({
|
|
3
|
+
transport: z.enum(['stdio', 'sse', 'streamable-http', 'sse-only']),
|
|
4
|
+
url: z.string().optional(),
|
|
5
|
+
headers: z.record(z.string()).optional(),
|
|
6
|
+
command: z.string().optional(),
|
|
7
|
+
args: z.array(z.string()).optional(),
|
|
8
|
+
env: z.record(z.string()).optional(),
|
|
9
|
+
description: z.string().optional(),
|
|
10
|
+
timeout: z.number().default(30000),
|
|
11
|
+
enabled: z.boolean().default(true),
|
|
12
|
+
});
|
|
13
|
+
export const MCPGlobalOptionsSchema = z.object({
|
|
14
|
+
throwOnLoadError: z.boolean().default(false),
|
|
15
|
+
prefixToolNameWithServerName: z.boolean().default(true),
|
|
16
|
+
additionalToolNamePrefix: z.string().default(''),
|
|
17
|
+
defaultToolTimeout: z.number().default(30000),
|
|
18
|
+
});
|
|
19
|
+
export const MCPConfigSchema = z.object({
|
|
20
|
+
version: z.string().default('1.0.0'),
|
|
21
|
+
servers: z.record(MCPServerConfigSchema),
|
|
22
|
+
globalOptions: MCPGlobalOptionsSchema.optional(),
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAClE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvD,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;IACxC,aAAa,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { AgentDefinition, AgentResult } from './agents/types.js';
|
|
2
|
+
import type { WorkflowDefinition, WorkflowResult } from './workflows/types.js';
|
|
3
|
+
import type { VectorStoreInstance, VectorConfig } from './vectors/types.js';
|
|
4
|
+
export interface OrchestratorConfig {
|
|
5
|
+
projectRoot: string;
|
|
6
|
+
agentsDir?: string;
|
|
7
|
+
workflowsDir?: string;
|
|
8
|
+
vectorsDir?: string;
|
|
9
|
+
functionsDir?: string;
|
|
10
|
+
mcpConfigPath?: string;
|
|
11
|
+
llmConfigPath?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class Orchestrator {
|
|
14
|
+
private config;
|
|
15
|
+
private agentLoader;
|
|
16
|
+
private agentExecutor;
|
|
17
|
+
private workflowLoader;
|
|
18
|
+
private workflowExecutor;
|
|
19
|
+
private vectorStoreManager;
|
|
20
|
+
private functionLoader;
|
|
21
|
+
private mcpClient;
|
|
22
|
+
private toolRegistry;
|
|
23
|
+
private initialized;
|
|
24
|
+
constructor(config: OrchestratorConfig);
|
|
25
|
+
initialize(): Promise<void>;
|
|
26
|
+
private loadMCPConfig;
|
|
27
|
+
get agents(): AgentAccessor;
|
|
28
|
+
get workflows(): WorkflowAccessor;
|
|
29
|
+
get vectors(): VectorAccessor;
|
|
30
|
+
runAgent(name: string, input: Record<string, unknown>): Promise<AgentResult>;
|
|
31
|
+
streamAgent(name: string, input: Record<string, unknown>): AsyncGenerator<string, void, unknown>;
|
|
32
|
+
runWorkflow(name: string, input: Record<string, unknown>): Promise<WorkflowResult>;
|
|
33
|
+
streamWorkflow(name: string, input: Record<string, unknown>): AsyncGenerator<{
|
|
34
|
+
type: 'status' | 'result';
|
|
35
|
+
data: unknown;
|
|
36
|
+
}, void, unknown>;
|
|
37
|
+
searchVectors(storeName: string, query: string, k?: number): Promise<{
|
|
38
|
+
content: string;
|
|
39
|
+
metadata: Record<string, unknown>;
|
|
40
|
+
score: number;
|
|
41
|
+
}[]>;
|
|
42
|
+
close(): Promise<void>;
|
|
43
|
+
private ensureInitialized;
|
|
44
|
+
}
|
|
45
|
+
interface AgentAccessor {
|
|
46
|
+
list: () => AgentDefinition[];
|
|
47
|
+
get: (name: string) => AgentDefinition | undefined;
|
|
48
|
+
names: () => string[];
|
|
49
|
+
}
|
|
50
|
+
interface WorkflowAccessor {
|
|
51
|
+
list: () => WorkflowDefinition[];
|
|
52
|
+
get: (name: string) => WorkflowDefinition | undefined;
|
|
53
|
+
names: () => string[];
|
|
54
|
+
}
|
|
55
|
+
interface VectorAccessor {
|
|
56
|
+
list: () => VectorStoreInstance[];
|
|
57
|
+
listConfigs: () => VectorConfig[];
|
|
58
|
+
get: (name: string) => VectorStoreInstance | undefined;
|
|
59
|
+
getConfig: (name: string) => VectorConfig | undefined;
|
|
60
|
+
initialize: (name: string) => Promise<VectorStoreInstance>;
|
|
61
|
+
refresh: (name: string) => Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|