@flutchai/flutch-sdk 0.1.4 → 0.1.5
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/dist/index.cjs +6419 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1499 -0
- package/dist/index.d.ts +1499 -27
- package/dist/index.js +6347 -47
- package/dist/index.js.map +1 -1
- package/package.json +65 -10
- package/dist/api/callback-token.guard.d.ts +0 -17
- package/dist/api/callback-token.guard.js +0 -80
- package/dist/api/callback-token.guard.js.map +0 -1
- package/dist/api/callback.controller.d.ts +0 -7
- package/dist/api/callback.controller.js +0 -44
- package/dist/api/callback.controller.js.map +0 -1
- package/dist/api/graph.controller.d.ts +0 -32
- package/dist/api/graph.controller.js +0 -187
- package/dist/api/graph.controller.js.map +0 -1
- package/dist/api/ui-dispatch.controller.d.ts +0 -34
- package/dist/api/ui-dispatch.controller.js +0 -178
- package/dist/api/ui-dispatch.controller.js.map +0 -1
- package/dist/bootstrap.d.ts +0 -4
- package/dist/bootstrap.js +0 -99
- package/dist/bootstrap.js.map +0 -1
- package/dist/callbacks/callback-acl.service.d.ts +0 -24
- package/dist/callbacks/callback-acl.service.js +0 -144
- package/dist/callbacks/callback-acl.service.js.map +0 -1
- package/dist/callbacks/callback-auditor.service.d.ts +0 -47
- package/dist/callbacks/callback-auditor.service.js +0 -286
- package/dist/callbacks/callback-auditor.service.js.map +0 -1
- package/dist/callbacks/callback-metrics.service.d.ts +0 -34
- package/dist/callbacks/callback-metrics.service.js +0 -216
- package/dist/callbacks/callback-metrics.service.js.map +0 -1
- package/dist/callbacks/callback-patch.service.d.ts +0 -13
- package/dist/callbacks/callback-patch.service.js +0 -51
- package/dist/callbacks/callback-patch.service.js.map +0 -1
- package/dist/callbacks/callback-rate-limiter.d.ts +0 -27
- package/dist/callbacks/callback-rate-limiter.js +0 -129
- package/dist/callbacks/callback-rate-limiter.js.map +0 -1
- package/dist/callbacks/callback-registry.d.ts +0 -7
- package/dist/callbacks/callback-registry.js +0 -29
- package/dist/callbacks/callback-registry.js.map +0 -1
- package/dist/callbacks/callback-store.d.ts +0 -19
- package/dist/callbacks/callback-store.js +0 -145
- package/dist/callbacks/callback-store.js.map +0 -1
- package/dist/callbacks/example.callback.d.ts +0 -2
- package/dist/callbacks/example.callback.js +0 -10
- package/dist/callbacks/example.callback.js.map +0 -1
- package/dist/callbacks/idempotency-manager.d.ts +0 -54
- package/dist/callbacks/idempotency-manager.js +0 -230
- package/dist/callbacks/idempotency-manager.js.map +0 -1
- package/dist/callbacks/index.d.ts +0 -13
- package/dist/callbacks/index.js +0 -30
- package/dist/callbacks/index.js.map +0 -1
- package/dist/callbacks/smart-callback.router.d.ts +0 -52
- package/dist/callbacks/smart-callback.router.js +0 -213
- package/dist/callbacks/smart-callback.router.js.map +0 -1
- package/dist/callbacks/telegram-patch.handler.d.ts +0 -6
- package/dist/callbacks/telegram-patch.handler.js +0 -24
- package/dist/callbacks/telegram-patch.handler.js.map +0 -1
- package/dist/callbacks/universal-callback.service.d.ts +0 -14
- package/dist/callbacks/universal-callback.service.js +0 -20
- package/dist/callbacks/universal-callback.service.js.map +0 -1
- package/dist/callbacks/web-patch.handler.d.ts +0 -6
- package/dist/callbacks/web-patch.handler.js +0 -24
- package/dist/callbacks/web-patch.handler.js.map +0 -1
- package/dist/core/abstract-graph.builder.d.ts +0 -128
- package/dist/core/abstract-graph.builder.js +0 -488
- package/dist/core/abstract-graph.builder.js.map +0 -1
- package/dist/core/builder-registry.service.d.ts +0 -6
- package/dist/core/builder-registry.service.js +0 -29
- package/dist/core/builder-registry.service.js.map +0 -1
- package/dist/core/universal-graph.module.d.ts +0 -10
- package/dist/core/universal-graph.module.js +0 -294
- package/dist/core/universal-graph.module.js.map +0 -1
- package/dist/decorators/callback.decorators.d.ts +0 -21
- package/dist/decorators/callback.decorators.js +0 -73
- package/dist/decorators/callback.decorators.js.map +0 -1
- package/dist/endpoint-registry/endpoint.decorators.d.ts +0 -35
- package/dist/endpoint-registry/endpoint.decorators.js +0 -115
- package/dist/endpoint-registry/endpoint.decorators.js.map +0 -1
- package/dist/endpoint-registry/endpoint.registry.d.ts +0 -44
- package/dist/endpoint-registry/endpoint.registry.js +0 -90
- package/dist/endpoint-registry/endpoint.registry.js.map +0 -1
- package/dist/endpoint-registry/index.d.ts +0 -3
- package/dist/endpoint-registry/index.js +0 -20
- package/dist/endpoint-registry/index.js.map +0 -1
- package/dist/endpoint-registry/ui-endpoints.discovery.d.ts +0 -11
- package/dist/endpoint-registry/ui-endpoints.discovery.js +0 -72
- package/dist/endpoint-registry/ui-endpoints.discovery.js.map +0 -1
- package/dist/engine/api-call-tracer.utils.d.ts +0 -8
- package/dist/engine/api-call-tracer.utils.js +0 -184
- package/dist/engine/api-call-tracer.utils.js.map +0 -1
- package/dist/engine/event-processor.utils.d.ts +0 -49
- package/dist/engine/event-processor.utils.js +0 -314
- package/dist/engine/event-processor.utils.js.map +0 -1
- package/dist/engine/graph-engine.factory.d.ts +0 -12
- package/dist/engine/graph-engine.factory.js +0 -43
- package/dist/engine/graph-engine.factory.js.map +0 -1
- package/dist/engine/langgraph-engine.d.ts +0 -14
- package/dist/engine/langgraph-engine.js +0 -261
- package/dist/engine/langgraph-engine.js.map +0 -1
- package/dist/interfaces/callback.interface.d.ts +0 -46
- package/dist/interfaces/callback.interface.js +0 -3
- package/dist/interfaces/callback.interface.js.map +0 -1
- package/dist/interfaces/graph-registry.interface.d.ts +0 -8
- package/dist/interfaces/graph-registry.interface.js +0 -3
- package/dist/interfaces/graph-registry.interface.js.map +0 -1
- package/dist/interfaces/graph-service.interface.d.ts +0 -43
- package/dist/interfaces/graph-service.interface.js +0 -9
- package/dist/interfaces/graph-service.interface.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -3
- package/dist/interfaces/index.js +0 -20
- package/dist/interfaces/index.js.map +0 -1
- package/dist/llm/index.d.ts +0 -6
- package/dist/llm/index.js +0 -23
- package/dist/llm/index.js.map +0 -1
- package/dist/llm/llm.initializer.d.ts +0 -14
- package/dist/llm/llm.initializer.js +0 -167
- package/dist/llm/llm.initializer.js.map +0 -1
- package/dist/llm/llm.interface.d.ts +0 -6
- package/dist/llm/llm.interface.js +0 -3
- package/dist/llm/llm.interface.js.map +0 -1
- package/dist/llm/llm.types.d.ts +0 -32
- package/dist/llm/llm.types.js +0 -3
- package/dist/llm/llm.types.js.map +0 -1
- package/dist/llm/model.initializer.d.ts +0 -45
- package/dist/llm/model.initializer.js +0 -630
- package/dist/llm/model.initializer.js.map +0 -1
- package/dist/llm/model.interface.d.ts +0 -38
- package/dist/llm/model.interface.js +0 -4
- package/dist/llm/model.interface.js.map +0 -1
- package/dist/llm/rerankers/voyageai-rerank.d.ts +0 -17
- package/dist/llm/rerankers/voyageai-rerank.js +0 -56
- package/dist/llm/rerankers/voyageai-rerank.js.map +0 -1
- package/dist/retriever/database-factory.d.ts +0 -15
- package/dist/retriever/database-factory.js +0 -83
- package/dist/retriever/database-factory.js.map +0 -1
- package/dist/retriever/index.d.ts +0 -2
- package/dist/retriever/index.js +0 -19
- package/dist/retriever/index.js.map +0 -1
- package/dist/retriever/retriever.client.d.ts +0 -28
- package/dist/retriever/retriever.client.js +0 -97
- package/dist/retriever/retriever.client.js.map +0 -1
- package/dist/retriever/retriever.service.d.ts +0 -25
- package/dist/retriever/retriever.service.js +0 -265
- package/dist/retriever/retriever.service.js.map +0 -1
- package/dist/retriever/types.d.ts +0 -22
- package/dist/retriever/types.js +0 -3
- package/dist/retriever/types.js.map +0 -1
- package/dist/schemas/graph-manifest.schema.d.ts +0 -134
- package/dist/schemas/graph-manifest.schema.js +0 -180
- package/dist/schemas/graph-manifest.schema.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -1
- package/dist/schemas/index.js +0 -18
- package/dist/schemas/index.js.map +0 -1
- package/dist/shared-types/index.d.ts +0 -199
- package/dist/shared-types/index.js +0 -58
- package/dist/shared-types/index.js.map +0 -1
- package/dist/tools/index.d.ts +0 -3
- package/dist/tools/index.js +0 -20
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/mcp-converter.d.ts +0 -15
- package/dist/tools/mcp-converter.js +0 -133
- package/dist/tools/mcp-converter.js.map +0 -1
- package/dist/tools/mcp-tool-filter.d.ts +0 -11
- package/dist/tools/mcp-tool-filter.js +0 -123
- package/dist/tools/mcp-tool-filter.js.map +0 -1
- package/dist/tools/mcp.interfaces.d.ts +0 -19
- package/dist/tools/mcp.interfaces.js +0 -3
- package/dist/tools/mcp.interfaces.js.map +0 -1
- package/dist/types/graph-types.d.ts +0 -82
- package/dist/types/graph-types.js +0 -6
- package/dist/types/graph-types.js.map +0 -1
- package/dist/utils/error.utils.d.ts +0 -18
- package/dist/utils/error.utils.js +0 -78
- package/dist/utils/error.utils.js.map +0 -1
- package/dist/utils/graph-type.utils.d.ts +0 -14
- package/dist/utils/graph-type.utils.js +0 -71
- package/dist/utils/graph-type.utils.js.map +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -18
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/usage-recorder.d.ts +0 -23
- package/dist/utils/usage-recorder.js +0 -29
- package/dist/utils/usage-recorder.js.map +0 -1
- package/dist/versioning/index.d.ts +0 -2
- package/dist/versioning/index.js +0 -19
- package/dist/versioning/index.js.map +0 -1
- package/dist/versioning/versioned-graph.service.d.ts +0 -16
- package/dist/versioning/versioned-graph.service.js +0 -132
- package/dist/versioning/versioned-graph.service.js.map +0 -1
- package/dist/versioning/versioning.types.d.ts +0 -21
- package/dist/versioning/versioning.types.js +0 -3
- package/dist/versioning/versioning.types.js.map +0 -1
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
export interface IDeletionInfo {
|
|
2
|
-
deletedAt: Date;
|
|
3
|
-
deletedBy: string;
|
|
4
|
-
reason?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface IBaseEntity {
|
|
7
|
-
id: string;
|
|
8
|
-
version: number;
|
|
9
|
-
createdAt?: Date;
|
|
10
|
-
updatedAt?: Date;
|
|
11
|
-
deletion?: IDeletionInfo;
|
|
12
|
-
}
|
|
13
|
-
export declare enum ModelProvider {
|
|
14
|
-
FLUTCH = "flutch",
|
|
15
|
-
FLUTCH_MISTRAL = "flutch-mistral",
|
|
16
|
-
FLUTCH_OPENAI = "flutch-openai",
|
|
17
|
-
FLUTCH_ANTHROPIC = "flutch-anthropic",
|
|
18
|
-
MISTRAL = "mistral",
|
|
19
|
-
OPENAI = "openai",
|
|
20
|
-
ANTHROPIC = "anthropic",
|
|
21
|
-
AWS = "aws",
|
|
22
|
-
COHERE = "cohere",
|
|
23
|
-
VOYAGEAI = "voyageai"
|
|
24
|
-
}
|
|
25
|
-
export declare enum ModelType {
|
|
26
|
-
CHAT = "chat",
|
|
27
|
-
RERANK = "rerank",
|
|
28
|
-
EMBEDDING = "embedding",
|
|
29
|
-
IMAGE = "image",
|
|
30
|
-
SPEECH = "speech"
|
|
31
|
-
}
|
|
32
|
-
export declare enum ChatFeature {
|
|
33
|
-
STREAMING = "streaming",
|
|
34
|
-
TOOLS = "tools",
|
|
35
|
-
VISION = "vision",
|
|
36
|
-
FUNCTION_CALLING = "function_calling",
|
|
37
|
-
JSON_MODE = "json_mode"
|
|
38
|
-
}
|
|
39
|
-
export interface IToolCatalog extends IBaseEntity {
|
|
40
|
-
toolName: string;
|
|
41
|
-
title: string;
|
|
42
|
-
description?: string;
|
|
43
|
-
category?: string;
|
|
44
|
-
isActive: boolean;
|
|
45
|
-
toolVersion?: string;
|
|
46
|
-
configSchema?: IToolConfigOption[];
|
|
47
|
-
}
|
|
48
|
-
export interface IToolConfigOption {
|
|
49
|
-
key: string;
|
|
50
|
-
name: string;
|
|
51
|
-
description?: string;
|
|
52
|
-
type: "string" | "number" | "boolean" | "select" | "kbselect" | "modelSelector" | "text" | "textarea";
|
|
53
|
-
required?: boolean;
|
|
54
|
-
defaultValue?: any;
|
|
55
|
-
options?: Array<{
|
|
56
|
-
value: string;
|
|
57
|
-
label: string;
|
|
58
|
-
}>;
|
|
59
|
-
params?: {
|
|
60
|
-
isMulti?: boolean;
|
|
61
|
-
minimum?: number;
|
|
62
|
-
maximum?: number;
|
|
63
|
-
placeholder?: string;
|
|
64
|
-
maxLength?: number;
|
|
65
|
-
modelType?: ModelType;
|
|
66
|
-
provider?: ModelProvider;
|
|
67
|
-
isActive?: boolean;
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
export interface IAgentToolConfig {
|
|
71
|
-
toolName: string;
|
|
72
|
-
enabled: boolean;
|
|
73
|
-
config?: Record<string, any>;
|
|
74
|
-
}
|
|
75
|
-
export interface IAgentToolConfiguration {
|
|
76
|
-
toolName: string;
|
|
77
|
-
enabled: boolean;
|
|
78
|
-
config?: Record<string, any>;
|
|
79
|
-
credentials?: Record<string, string>;
|
|
80
|
-
useGlobalCredentials?: boolean;
|
|
81
|
-
}
|
|
82
|
-
export interface ISystemToolCredentials {
|
|
83
|
-
toolName: string;
|
|
84
|
-
credentials: Record<string, string>;
|
|
85
|
-
createdBy: string;
|
|
86
|
-
createdAt: Date;
|
|
87
|
-
updatedAt: Date;
|
|
88
|
-
}
|
|
89
|
-
export interface IToolExecutionContext {
|
|
90
|
-
toolName: string;
|
|
91
|
-
config: Record<string, any>;
|
|
92
|
-
credentials: Record<string, string>;
|
|
93
|
-
agentId: string;
|
|
94
|
-
userId: string;
|
|
95
|
-
}
|
|
96
|
-
export declare enum RetrieverSearchType {
|
|
97
|
-
Search = "search",
|
|
98
|
-
MMR = "mmr",
|
|
99
|
-
Similarity = "similarity"
|
|
100
|
-
}
|
|
101
|
-
export declare enum AttachmentType {
|
|
102
|
-
IMAGE = "image",
|
|
103
|
-
VOICE = "voice",
|
|
104
|
-
FILE = "file",
|
|
105
|
-
BUTTON = "button",
|
|
106
|
-
CITATION = "citation",
|
|
107
|
-
SUGGESTION = "suggestion",
|
|
108
|
-
WEBAPP = "webapp",
|
|
109
|
-
SOURCE = "source",
|
|
110
|
-
CARD = "card",
|
|
111
|
-
CHART = "chart"
|
|
112
|
-
}
|
|
113
|
-
export interface IReasoningStep {
|
|
114
|
-
index: number;
|
|
115
|
-
type: "text" | "tool_call" | "tool_result" | "thinking" | "tool_use";
|
|
116
|
-
text?: string;
|
|
117
|
-
metadata?: Record<string, any>;
|
|
118
|
-
}
|
|
119
|
-
export interface IReasoningChain {
|
|
120
|
-
steps: IReasoningStep[];
|
|
121
|
-
isComplete: boolean;
|
|
122
|
-
}
|
|
123
|
-
export interface IToolCall {
|
|
124
|
-
name: string;
|
|
125
|
-
id?: string;
|
|
126
|
-
input?: any;
|
|
127
|
-
}
|
|
128
|
-
export interface ITracingEvent {
|
|
129
|
-
timestamp: string;
|
|
130
|
-
type: string;
|
|
131
|
-
data?: Record<string, any>;
|
|
132
|
-
}
|
|
133
|
-
export interface IAttachment {
|
|
134
|
-
type: AttachmentType;
|
|
135
|
-
value: any;
|
|
136
|
-
metadata?: Record<string, any>;
|
|
137
|
-
}
|
|
138
|
-
export interface IUsageMetrics {
|
|
139
|
-
promptTokens?: number;
|
|
140
|
-
completionTokens?: number;
|
|
141
|
-
totalTokens?: number;
|
|
142
|
-
[key: string]: any;
|
|
143
|
-
}
|
|
144
|
-
export interface IStoredMessageContent {
|
|
145
|
-
text?: string;
|
|
146
|
-
attachments?: IAttachment[];
|
|
147
|
-
metadata?: Record<string, any>;
|
|
148
|
-
tracingEvents?: ITracingEvent[];
|
|
149
|
-
reasoningChains?: IReasoningChain[];
|
|
150
|
-
hasReasoningProcess?: boolean;
|
|
151
|
-
currentToolCall?: IToolCall | null;
|
|
152
|
-
}
|
|
153
|
-
export declare enum StreamChannel {
|
|
154
|
-
TEXT = "text",
|
|
155
|
-
PROCESSING = "processing",
|
|
156
|
-
TOOLS = "tools"
|
|
157
|
-
}
|
|
158
|
-
export interface IGraphTraceEvent {
|
|
159
|
-
type: string;
|
|
160
|
-
name?: string;
|
|
161
|
-
channel?: string;
|
|
162
|
-
nodeName?: string;
|
|
163
|
-
timestamp: number;
|
|
164
|
-
metadata?: Record<string, unknown>;
|
|
165
|
-
data?: Record<string, unknown>;
|
|
166
|
-
}
|
|
167
|
-
export type CitationValue = {
|
|
168
|
-
source: {
|
|
169
|
-
url: string;
|
|
170
|
-
title: string;
|
|
171
|
-
type: "webpage" | "pdf" | "article";
|
|
172
|
-
articleId?: string;
|
|
173
|
-
knowledgeBaseId?: string;
|
|
174
|
-
};
|
|
175
|
-
};
|
|
176
|
-
export type ChartType = "line" | "bar" | "pie" | "area";
|
|
177
|
-
export interface IChartDataPoint {
|
|
178
|
-
label: string;
|
|
179
|
-
value: number;
|
|
180
|
-
color?: string;
|
|
181
|
-
}
|
|
182
|
-
export interface IChartDataset {
|
|
183
|
-
label: string;
|
|
184
|
-
data: IChartDataPoint[];
|
|
185
|
-
color?: string;
|
|
186
|
-
}
|
|
187
|
-
export interface IChartValue {
|
|
188
|
-
type: ChartType;
|
|
189
|
-
title: string;
|
|
190
|
-
description?: string;
|
|
191
|
-
datasets: IChartDataset[];
|
|
192
|
-
options?: {
|
|
193
|
-
showLegend?: boolean;
|
|
194
|
-
showGrid?: boolean;
|
|
195
|
-
currency?: boolean;
|
|
196
|
-
percentage?: boolean;
|
|
197
|
-
[key: string]: any;
|
|
198
|
-
};
|
|
199
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StreamChannel = exports.AttachmentType = exports.RetrieverSearchType = exports.ChatFeature = exports.ModelType = exports.ModelProvider = void 0;
|
|
4
|
-
var ModelProvider;
|
|
5
|
-
(function (ModelProvider) {
|
|
6
|
-
ModelProvider["FLUTCH"] = "flutch";
|
|
7
|
-
ModelProvider["FLUTCH_MISTRAL"] = "flutch-mistral";
|
|
8
|
-
ModelProvider["FLUTCH_OPENAI"] = "flutch-openai";
|
|
9
|
-
ModelProvider["FLUTCH_ANTHROPIC"] = "flutch-anthropic";
|
|
10
|
-
ModelProvider["MISTRAL"] = "mistral";
|
|
11
|
-
ModelProvider["OPENAI"] = "openai";
|
|
12
|
-
ModelProvider["ANTHROPIC"] = "anthropic";
|
|
13
|
-
ModelProvider["AWS"] = "aws";
|
|
14
|
-
ModelProvider["COHERE"] = "cohere";
|
|
15
|
-
ModelProvider["VOYAGEAI"] = "voyageai";
|
|
16
|
-
})(ModelProvider || (exports.ModelProvider = ModelProvider = {}));
|
|
17
|
-
var ModelType;
|
|
18
|
-
(function (ModelType) {
|
|
19
|
-
ModelType["CHAT"] = "chat";
|
|
20
|
-
ModelType["RERANK"] = "rerank";
|
|
21
|
-
ModelType["EMBEDDING"] = "embedding";
|
|
22
|
-
ModelType["IMAGE"] = "image";
|
|
23
|
-
ModelType["SPEECH"] = "speech";
|
|
24
|
-
})(ModelType || (exports.ModelType = ModelType = {}));
|
|
25
|
-
var ChatFeature;
|
|
26
|
-
(function (ChatFeature) {
|
|
27
|
-
ChatFeature["STREAMING"] = "streaming";
|
|
28
|
-
ChatFeature["TOOLS"] = "tools";
|
|
29
|
-
ChatFeature["VISION"] = "vision";
|
|
30
|
-
ChatFeature["FUNCTION_CALLING"] = "function_calling";
|
|
31
|
-
ChatFeature["JSON_MODE"] = "json_mode";
|
|
32
|
-
})(ChatFeature || (exports.ChatFeature = ChatFeature = {}));
|
|
33
|
-
var RetrieverSearchType;
|
|
34
|
-
(function (RetrieverSearchType) {
|
|
35
|
-
RetrieverSearchType["Search"] = "search";
|
|
36
|
-
RetrieverSearchType["MMR"] = "mmr";
|
|
37
|
-
RetrieverSearchType["Similarity"] = "similarity";
|
|
38
|
-
})(RetrieverSearchType || (exports.RetrieverSearchType = RetrieverSearchType = {}));
|
|
39
|
-
var AttachmentType;
|
|
40
|
-
(function (AttachmentType) {
|
|
41
|
-
AttachmentType["IMAGE"] = "image";
|
|
42
|
-
AttachmentType["VOICE"] = "voice";
|
|
43
|
-
AttachmentType["FILE"] = "file";
|
|
44
|
-
AttachmentType["BUTTON"] = "button";
|
|
45
|
-
AttachmentType["CITATION"] = "citation";
|
|
46
|
-
AttachmentType["SUGGESTION"] = "suggestion";
|
|
47
|
-
AttachmentType["WEBAPP"] = "webapp";
|
|
48
|
-
AttachmentType["SOURCE"] = "source";
|
|
49
|
-
AttachmentType["CARD"] = "card";
|
|
50
|
-
AttachmentType["CHART"] = "chart";
|
|
51
|
-
})(AttachmentType || (exports.AttachmentType = AttachmentType = {}));
|
|
52
|
-
var StreamChannel;
|
|
53
|
-
(function (StreamChannel) {
|
|
54
|
-
StreamChannel["TEXT"] = "text";
|
|
55
|
-
StreamChannel["PROCESSING"] = "processing";
|
|
56
|
-
StreamChannel["TOOLS"] = "tools";
|
|
57
|
-
})(StreamChannel || (exports.StreamChannel = StreamChannel = {}));
|
|
58
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared-types/index.ts"],"names":[],"mappings":";;;AA0BA,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAC/B,sDAAqC,CAAA;IACrC,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;IACvB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;AACvB,CAAC,EAXW,aAAa,6BAAb,aAAa,QAWxB;AAED,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,oCAAuB,CAAA;IACvB,4BAAe,CAAA;IACf,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB;AAED,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,oDAAqC,CAAA;IACrC,sCAAuB,CAAA;AACzB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAyHD,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,kCAAW,CAAA;IACX,gDAAyB,CAAA;AAC3B,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAMD,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACjB,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB;AAgED,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,0CAAyB,CAAA;IACzB,gCAAe,CAAA;AACjB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
|
package/dist/tools/index.d.ts
DELETED
package/dist/tools/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./mcp.interfaces"), exports);
|
|
18
|
-
__exportStar(require("./mcp-converter"), exports);
|
|
19
|
-
__exportStar(require("./mcp-tool-filter"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,mDAAiC;AAGjC,kDAAgC;AAChC,oDAAkC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { StructuredTool } from "@langchain/core/tools";
|
|
2
|
-
import { McpTool } from "./mcp.interfaces";
|
|
3
|
-
type LangChainStructuredTool = StructuredTool<any, any, any, string>;
|
|
4
|
-
export declare class McpConverter {
|
|
5
|
-
private readonly logger;
|
|
6
|
-
private readonly mcpRuntimeUrl;
|
|
7
|
-
constructor(mcpRuntimeUrl?: string);
|
|
8
|
-
private jsonSchemaToZod;
|
|
9
|
-
private mapPrimitiveSchema;
|
|
10
|
-
convertTool(mcpTool: McpTool): LangChainStructuredTool;
|
|
11
|
-
convertTools(mcpTools: McpTool[]): Promise<LangChainStructuredTool[]>;
|
|
12
|
-
fetchAndConvertTools(filter?: string): Promise<LangChainStructuredTool[]>;
|
|
13
|
-
healthCheck(): Promise<boolean>;
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.McpConverter = void 0;
|
|
7
|
-
const tools_1 = require("@langchain/core/tools");
|
|
8
|
-
const zod_1 = require("zod");
|
|
9
|
-
const axios_1 = __importDefault(require("axios"));
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
class McpConverter {
|
|
12
|
-
constructor(mcpRuntimeUrl = "http://localhost:3004") {
|
|
13
|
-
this.logger = new common_1.Logger(McpConverter.name);
|
|
14
|
-
this.mcpRuntimeUrl = mcpRuntimeUrl;
|
|
15
|
-
}
|
|
16
|
-
jsonSchemaToZod(jsonSchema) {
|
|
17
|
-
var _a;
|
|
18
|
-
if (!jsonSchema || typeof jsonSchema !== "object") {
|
|
19
|
-
return zod_1.z.any();
|
|
20
|
-
}
|
|
21
|
-
if (jsonSchema.type !== "object") {
|
|
22
|
-
return this.mapPrimitiveSchema(jsonSchema.type, true);
|
|
23
|
-
}
|
|
24
|
-
const properties = jsonSchema.properties || {};
|
|
25
|
-
const required = Array.isArray(jsonSchema.required)
|
|
26
|
-
? jsonSchema.required
|
|
27
|
-
: [];
|
|
28
|
-
const zodShape = {};
|
|
29
|
-
for (const [key, prop] of Object.entries(properties)) {
|
|
30
|
-
const propDef = prop;
|
|
31
|
-
const isRequired = required.includes(key);
|
|
32
|
-
const schemaType = (_a = propDef === null || propDef === void 0 ? void 0 : propDef.type) !== null && _a !== void 0 ? _a : "any";
|
|
33
|
-
const mappedType = this.mapPrimitiveSchema(schemaType, isRequired);
|
|
34
|
-
zodShape[key] = mappedType;
|
|
35
|
-
}
|
|
36
|
-
const baseObject = zod_1.z.object(zodShape);
|
|
37
|
-
const configuredObject = jsonSchema.additionalProperties === false
|
|
38
|
-
? baseObject.strict()
|
|
39
|
-
: baseObject.passthrough();
|
|
40
|
-
return configuredObject;
|
|
41
|
-
}
|
|
42
|
-
mapPrimitiveSchema(type, required) {
|
|
43
|
-
const optionalize = (schema) => (required ? schema : schema.optional());
|
|
44
|
-
switch (type) {
|
|
45
|
-
case "string":
|
|
46
|
-
return optionalize(zod_1.z.string());
|
|
47
|
-
case "number":
|
|
48
|
-
case "integer":
|
|
49
|
-
return optionalize(zod_1.z.number());
|
|
50
|
-
case "boolean":
|
|
51
|
-
return optionalize(zod_1.z.boolean());
|
|
52
|
-
case "array":
|
|
53
|
-
return optionalize(zod_1.z.array(zod_1.z.any()));
|
|
54
|
-
case "object":
|
|
55
|
-
return optionalize(zod_1.z.record(zod_1.z.any()));
|
|
56
|
-
default:
|
|
57
|
-
return optionalize(zod_1.z.any());
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
convertTool(mcpTool) {
|
|
61
|
-
var _a, _b;
|
|
62
|
-
const logger = this.logger;
|
|
63
|
-
const mcpRuntimeUrl = this.mcpRuntimeUrl;
|
|
64
|
-
const schema = this.jsonSchemaToZod(mcpTool.inputSchema);
|
|
65
|
-
logger.debug(`🔧 [${mcpTool.name}] Original schema:`, JSON.stringify(mcpTool.inputSchema, null, 2));
|
|
66
|
-
logger.debug(`🔧 [${mcpTool.name}] Using schema type: ${(_b = (_a = schema === null || schema === void 0 ? void 0 : schema._def) === null || _a === void 0 ? void 0 : _a.typeName) !== null && _b !== void 0 ? _b : "unknown"}`);
|
|
67
|
-
return new tools_1.DynamicStructuredTool({
|
|
68
|
-
name: mcpTool.name,
|
|
69
|
-
description: mcpTool.description,
|
|
70
|
-
schema,
|
|
71
|
-
func: async (input) => {
|
|
72
|
-
logger.log(`🔧 [${mcpTool.name}] LLM INPUT: ${JSON.stringify(input)}`);
|
|
73
|
-
try {
|
|
74
|
-
const request = {
|
|
75
|
-
name: mcpTool.name,
|
|
76
|
-
arguments: input !== null && input !== void 0 ? input : {},
|
|
77
|
-
};
|
|
78
|
-
logger.log(`🔧 [${mcpTool.name}] Calling MCP Runtime...`);
|
|
79
|
-
const response = await axios_1.default.post(`${mcpRuntimeUrl}/tools/execute`, request, { timeout: 30000 });
|
|
80
|
-
const result = response.data;
|
|
81
|
-
logger.log(`🔧 [${mcpTool.name}] MCP Runtime response: success=${result.success}`);
|
|
82
|
-
if (!result.success) {
|
|
83
|
-
const errorMessage = result.error || "Tool execution failed";
|
|
84
|
-
logger.error(`🔧 [${mcpTool.name}] MCP Runtime error: ${errorMessage}`);
|
|
85
|
-
throw new Error(errorMessage);
|
|
86
|
-
}
|
|
87
|
-
const output = typeof result.result === "string"
|
|
88
|
-
? result.result
|
|
89
|
-
: JSON.stringify(result.result, null, 2);
|
|
90
|
-
logger.log(`🔧 [${mcpTool.name}] TOOL OUTPUT: ${output.length > 200 ? output.substring(0, 200) + "..." : output}`);
|
|
91
|
-
return output;
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
logger.error(`🔧 [${mcpTool.name}] Exception during execution`, error);
|
|
95
|
-
if (axios_1.default.isAxiosError(error)) {
|
|
96
|
-
throw new Error(`MCP Runtime error: ${error.message}`);
|
|
97
|
-
}
|
|
98
|
-
throw error instanceof Error ? error : new Error(String(error));
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
async convertTools(mcpTools) {
|
|
104
|
-
return mcpTools.map(tool => this.convertTool(tool));
|
|
105
|
-
}
|
|
106
|
-
async fetchAndConvertTools(filter) {
|
|
107
|
-
try {
|
|
108
|
-
const params = filter ? { filter } : {};
|
|
109
|
-
const response = await axios_1.default.get(`${this.mcpRuntimeUrl}/tools/list`, {
|
|
110
|
-
params,
|
|
111
|
-
timeout: 5000,
|
|
112
|
-
});
|
|
113
|
-
const mcpTools = response.data;
|
|
114
|
-
this.logger.log(`Fetched ${mcpTools.length} tools from MCP Runtime`);
|
|
115
|
-
return this.convertTools(mcpTools);
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
this.logger.error("Failed to fetch MCP tools:", error);
|
|
119
|
-
throw new Error(`Cannot connect to MCP Runtime at ${this.mcpRuntimeUrl}`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
async healthCheck() {
|
|
123
|
-
try {
|
|
124
|
-
const response = await axios_1.default.get(`${this.mcpRuntimeUrl}/tools/health/check`, { timeout: 5000 });
|
|
125
|
-
return response.data.status === "ok";
|
|
126
|
-
}
|
|
127
|
-
catch (_a) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
exports.McpConverter = McpConverter;
|
|
133
|
-
//# sourceMappingURL=mcp-converter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-converter.js","sourceRoot":"","sources":["../../src/tools/mcp-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { StructuredTool } from "@langchain/core/tools";
|
|
2
|
-
export declare class McpToolFilter {
|
|
3
|
-
private readonly mcpRuntimeUrl;
|
|
4
|
-
private readonly logger;
|
|
5
|
-
private readonly mcpConverter;
|
|
6
|
-
constructor(mcpRuntimeUrl?: string);
|
|
7
|
-
getFilteredTools(enabledTools?: string[]): Promise<StructuredTool[]>;
|
|
8
|
-
getAllTools(): Promise<StructuredTool[]>;
|
|
9
|
-
isHealthy(): Promise<boolean>;
|
|
10
|
-
getAvailableToolNames(): Promise<string[]>;
|
|
11
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.McpToolFilter = void 0;
|
|
7
|
-
const common_1 = require("@nestjs/common");
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const mcp_converter_1 = require("./mcp-converter");
|
|
10
|
-
class McpToolFilter {
|
|
11
|
-
constructor(mcpRuntimeUrl = process.env.MCP_RUNTIME_URL ||
|
|
12
|
-
"http://localhost:3004") {
|
|
13
|
-
this.mcpRuntimeUrl = mcpRuntimeUrl;
|
|
14
|
-
this.logger = new common_1.Logger(McpToolFilter.name);
|
|
15
|
-
this.mcpConverter = new mcp_converter_1.McpConverter(this.mcpRuntimeUrl);
|
|
16
|
-
}
|
|
17
|
-
async getFilteredTools(enabledTools = []) {
|
|
18
|
-
this.logger.debug(`[DEBUG] Getting filtered tools. Enabled: ${enabledTools.join(", ")}`);
|
|
19
|
-
this.logger.debug(`[DEBUG] MCP Runtime URL: ${this.mcpRuntimeUrl}`);
|
|
20
|
-
if (enabledTools.length === 0) {
|
|
21
|
-
this.logger.debug("No tools enabled, returning empty array");
|
|
22
|
-
return [];
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
const filterParam = enabledTools.join(",");
|
|
26
|
-
this.logger.debug(`[DEBUG] Making HTTP request to: ${this.mcpRuntimeUrl}/tools/list with filter: ${filterParam}`);
|
|
27
|
-
const response = await axios_1.default.get(`${this.mcpRuntimeUrl}/tools/list`, {
|
|
28
|
-
params: { filter: filterParam },
|
|
29
|
-
timeout: 5000,
|
|
30
|
-
});
|
|
31
|
-
this.logger.debug(`[DEBUG] HTTP response status: ${response.status}, data length: ${Array.isArray(response.data) ? response.data.length : "not array"}`);
|
|
32
|
-
const filteredTools = Array.isArray(response.data)
|
|
33
|
-
? response.data
|
|
34
|
-
: [];
|
|
35
|
-
this.logger.debug(`Retrieved ${filteredTools.length} filtered MCP tools for: ${enabledTools.join(", ")}`);
|
|
36
|
-
const mcpClient = {
|
|
37
|
-
getTools: async () => filteredTools,
|
|
38
|
-
executeTool: async (name, args) => {
|
|
39
|
-
this.logger.debug(`[DEBUG] Executing tool ${name} with args:`, args);
|
|
40
|
-
const response = await axios_1.default.post(`${this.mcpRuntimeUrl}/tools/execute`, {
|
|
41
|
-
name,
|
|
42
|
-
arguments: args || {},
|
|
43
|
-
});
|
|
44
|
-
return response.data;
|
|
45
|
-
},
|
|
46
|
-
isHealthy: async () => true,
|
|
47
|
-
};
|
|
48
|
-
this.logger.log(`🚀 [McpToolFilter] Converting ${filteredTools.length} tools using new McpConverter`);
|
|
49
|
-
const tools = await this.mcpConverter.convertTools(filteredTools);
|
|
50
|
-
this.logger.log(`🚀 [McpToolFilter] Converted tools: ${tools.map(t => t.name).join(", ")}`);
|
|
51
|
-
this.logger.log(`Configured ${tools.length} tools from MCP runtime: ${filteredTools.map(t => t.name).join(", ")}`);
|
|
52
|
-
return tools;
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
56
|
-
this.logger.warn(`[DEBUG] Failed to fetch tools from MCP runtime (${this.mcpRuntimeUrl}): ${errorMessage}`);
|
|
57
|
-
this.logger.warn(`[DEBUG] Error details:`, {
|
|
58
|
-
error,
|
|
59
|
-
stack: error instanceof Error ? error.stack : "no stack",
|
|
60
|
-
});
|
|
61
|
-
return [];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async getAllTools() {
|
|
65
|
-
try {
|
|
66
|
-
const response = await axios_1.default.get(`${this.mcpRuntimeUrl}/tools/list`, {
|
|
67
|
-
timeout: 5000,
|
|
68
|
-
});
|
|
69
|
-
const allTools = Array.isArray(response.data)
|
|
70
|
-
? response.data
|
|
71
|
-
: [];
|
|
72
|
-
this.logger.debug(`Retrieved ${allTools.length} total MCP tools`);
|
|
73
|
-
const mcpClient = {
|
|
74
|
-
getTools: async () => allTools,
|
|
75
|
-
executeTool: async (name, args) => {
|
|
76
|
-
const response = await axios_1.default.post(`${this.mcpRuntimeUrl}/tools/execute`, {
|
|
77
|
-
name,
|
|
78
|
-
arguments: args || {},
|
|
79
|
-
});
|
|
80
|
-
return response.data;
|
|
81
|
-
},
|
|
82
|
-
isHealthy: async () => true,
|
|
83
|
-
};
|
|
84
|
-
const tools = await this.mcpConverter.convertTools(allTools);
|
|
85
|
-
this.logger.log(`Configured ${tools.length} tools from MCP runtime`);
|
|
86
|
-
return tools;
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
90
|
-
this.logger.warn(`Failed to fetch all tools from MCP runtime (${this.mcpRuntimeUrl}): ${errorMessage}`);
|
|
91
|
-
return [];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
async isHealthy() {
|
|
95
|
-
try {
|
|
96
|
-
const response = await axios_1.default.get(`${this.mcpRuntimeUrl}/tools/health/check`, {
|
|
97
|
-
timeout: 3000,
|
|
98
|
-
});
|
|
99
|
-
return response.data.status === "ok";
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
this.logger.warn(`MCP runtime health check failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async getAvailableToolNames() {
|
|
107
|
-
try {
|
|
108
|
-
const response = await axios_1.default.get(`${this.mcpRuntimeUrl}/tools/list`, {
|
|
109
|
-
timeout: 5000,
|
|
110
|
-
});
|
|
111
|
-
const tools = Array.isArray(response.data)
|
|
112
|
-
? response.data
|
|
113
|
-
: [];
|
|
114
|
-
return tools.map(tool => tool.name);
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
this.logger.warn(`Failed to fetch tool names: ${error instanceof Error ? error.message : String(error)}`);
|
|
118
|
-
return [];
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
exports.McpToolFilter = McpToolFilter;
|
|
123
|
-
//# sourceMappingURL=mcp-tool-filter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool-filter.js","sourceRoot":"","sources":["../../src/tools/mcp-tool-filter.ts"],"names":[],"mappings":";;;;;;AACA,2CAAwC;AACxC,kDAA0B;AAC1B,mDAA+C;AAO/C,MAAa,aAAa;IAIxB,YACmB,gBAAwB,OAAO,CAAC,GAAG,CAAC,eAAe;QAClE,uBAAuB;QADR,kBAAa,GAAb,aAAa,CACL;QALV,WAAM,GAAG,IAAI,eAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,iBAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAKlE,CAAC;IAOJ,KAAK,CAAC,gBAAgB,CACpB,eAAyB,EAAE;QAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAEpE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,IAAI,CAAC,aAAa,4BAA4B,WAAW,EAAE,CAC/F,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,aAAa,EAAE;gBACnE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;gBAC/B,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,QAAQ,CAAC,MAAM,kBAAkB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CACtI,CAAC;YAEF,MAAM,aAAa,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3D,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,aAAa,CAAC,MAAM,4BAA4B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;YAGF,MAAM,SAAS,GAAqB;gBAClC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa;gBACnC,WAAW,EAAE,KAAK,EAAE,IAAY,EAAE,IAAS,EAAE,EAAE;oBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,aAAa,EAAE,IAAI,CAAC,CAAC;oBACrE,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,IAAI,CAAC,aAAa,gBAAgB,EACrC;wBACE,IAAI;wBACJ,SAAS,EAAE,IAAI,IAAI,EAAE;qBACtB,CACF,CAAC;oBACF,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;gBACD,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;aAC5B,CAAC;YAGF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,iCAAiC,aAAa,CAAC,MAAM,+BAA+B,CACrF,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uCAAuC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,cAAc,KAAK,CAAC,MAAM,4BAA4B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClG,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,IAAI,CAAC,aAAa,MAAM,YAAY,EAAE,CAC1F,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACzC,KAAK;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;aACzD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,aAAa,EAAE;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtD,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAElE,MAAM,SAAS,GAAqB;gBAClC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ;gBAC9B,WAAW,EAAE,KAAK,EAAE,IAAY,EAAE,IAAS,EAAE,EAAE;oBAC7C,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,IAAI,CAAC,aAAa,gBAAgB,EACrC;wBACE,IAAI;wBACJ,SAAS,EAAE,IAAI,IAAI,EAAE;qBACtB,CACF,CAAC;oBACF,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;gBACD,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;aAC5B,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,yBAAyB,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+CAA+C,IAAI,CAAC,aAAa,MAAM,YAAY,EAAE,CACtF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,aAAa,qBAAqB,EAC1C;gBACE,OAAO,EAAE,IAAI;aACd,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7F,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,aAAa,EAAE;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,KAAK,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnD,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAnLD,sCAmLC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export interface McpTool {
|
|
2
|
-
name: string;
|
|
3
|
-
description: string;
|
|
4
|
-
inputSchema: {
|
|
5
|
-
type: "object";
|
|
6
|
-
properties: Record<string, any>;
|
|
7
|
-
required?: string[];
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export interface ToolExecutionResult {
|
|
11
|
-
success: boolean;
|
|
12
|
-
result?: any;
|
|
13
|
-
error?: string;
|
|
14
|
-
}
|
|
15
|
-
export interface McpRuntimeClient {
|
|
16
|
-
getTools(): Promise<McpTool[]>;
|
|
17
|
-
executeTool(name: string, args: any): Promise<ToolExecutionResult>;
|
|
18
|
-
isHealthy(): Promise<boolean>;
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.interfaces.js","sourceRoot":"","sources":["../../src/tools/mcp.interfaces.ts"],"names":[],"mappings":""}
|