@juspay/neurolink 6.0.0 → 6.2.0

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 (283) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/dist/cli/commands/config.d.ts +13 -13
  3. package/dist/cli/index.js +3 -9
  4. package/dist/core/analytics.d.ts +11 -1
  5. package/dist/core/analytics.js +2 -2
  6. package/dist/core/base-provider.js +4 -18
  7. package/dist/core/dynamic-models.d.ts +8 -8
  8. package/dist/core/factory.js +3 -11
  9. package/dist/index.d.ts +2 -4
  10. package/dist/index.js +2 -11
  11. package/dist/lib/core/analytics.d.ts +11 -1
  12. package/dist/lib/core/analytics.js +2 -2
  13. package/dist/lib/core/base-provider.js +4 -18
  14. package/dist/lib/core/dynamic-models.d.ts +8 -8
  15. package/dist/lib/core/factory.js +3 -11
  16. package/dist/lib/index.d.ts +2 -4
  17. package/dist/lib/index.js +2 -11
  18. package/dist/lib/mcp/factory.d.ts +1 -1
  19. package/dist/lib/mcp/index.d.ts +7 -19
  20. package/dist/lib/mcp/index.js +15 -56
  21. package/dist/lib/neurolink.d.ts +1 -9
  22. package/dist/lib/neurolink.js +21 -70
  23. package/dist/lib/providers/amazon-bedrock.js +5 -16
  24. package/dist/lib/providers/anthropic-baseprovider.js +3 -21
  25. package/dist/lib/providers/anthropic.js +4 -7
  26. package/dist/lib/providers/azure-openai.js +4 -2
  27. package/dist/lib/providers/google-vertex.js +5 -9
  28. package/dist/lib/providers/huggingFace.js +5 -10
  29. package/dist/lib/providers/mistral.js +5 -8
  30. package/dist/lib/providers/openAI.js +4 -7
  31. package/dist/lib/utils/providerConfig.d.ts +117 -0
  32. package/dist/lib/utils/providerConfig.js +353 -0
  33. package/dist/lib/utils/providerUtils.d.ts +2 -1
  34. package/dist/lib/utils/providerUtils.js +53 -36
  35. package/dist/lib/utils/timeout.d.ts +72 -1
  36. package/dist/lib/utils/timeout.js +203 -2
  37. package/dist/mcp/factory.d.ts +1 -1
  38. package/dist/mcp/index.d.ts +7 -19
  39. package/dist/mcp/index.js +15 -56
  40. package/dist/neurolink.d.ts +1 -9
  41. package/dist/neurolink.js +21 -70
  42. package/dist/providers/amazon-bedrock.js +5 -16
  43. package/dist/providers/anthropic-baseprovider.js +3 -21
  44. package/dist/providers/anthropic.js +4 -7
  45. package/dist/providers/azure-openai.js +4 -2
  46. package/dist/providers/google-vertex.js +5 -9
  47. package/dist/providers/huggingFace.js +5 -10
  48. package/dist/providers/mistral.js +5 -8
  49. package/dist/providers/openAI.js +4 -7
  50. package/dist/utils/providerConfig.d.ts +117 -0
  51. package/dist/utils/providerConfig.js +353 -0
  52. package/dist/utils/providerUtils.d.ts +2 -1
  53. package/dist/utils/providerUtils.js +53 -36
  54. package/dist/utils/timeout.d.ts +72 -1
  55. package/dist/utils/timeout.js +203 -2
  56. package/package.json +2 -1
  57. package/dist/chat/client-utils.d.ts +0 -95
  58. package/dist/chat/client-utils.js +0 -315
  59. package/dist/chat/index.d.ts +0 -24
  60. package/dist/chat/index.js +0 -33
  61. package/dist/chat/session-storage.d.ts +0 -77
  62. package/dist/chat/session-storage.js +0 -233
  63. package/dist/chat/session.d.ts +0 -96
  64. package/dist/chat/session.js +0 -257
  65. package/dist/chat/sse-handler.d.ts +0 -49
  66. package/dist/chat/sse-handler.js +0 -259
  67. package/dist/chat/types.d.ts +0 -74
  68. package/dist/chat/types.js +0 -5
  69. package/dist/chat/websocket-chat-handler.d.ts +0 -37
  70. package/dist/chat/websocket-chat-handler.js +0 -262
  71. package/dist/cli/commands/mcp.d.ts +0 -20
  72. package/dist/cli/commands/mcp.js +0 -1272
  73. package/dist/core/defaults.d.ts +0 -19
  74. package/dist/core/defaults.js +0 -29
  75. package/dist/core/evaluation-config.d.ts +0 -29
  76. package/dist/core/evaluation-config.js +0 -144
  77. package/dist/factories/compatibility-factory.d.ts +0 -35
  78. package/dist/factories/compatibility-factory.js +0 -71
  79. package/dist/factories/provider-generate-factory.d.ts +0 -20
  80. package/dist/factories/provider-generate-factory.js +0 -93
  81. package/dist/lib/chat/client-utils.d.ts +0 -95
  82. package/dist/lib/chat/client-utils.js +0 -315
  83. package/dist/lib/chat/index.d.ts +0 -24
  84. package/dist/lib/chat/index.js +0 -33
  85. package/dist/lib/chat/session-storage.d.ts +0 -77
  86. package/dist/lib/chat/session-storage.js +0 -233
  87. package/dist/lib/chat/session.d.ts +0 -96
  88. package/dist/lib/chat/session.js +0 -257
  89. package/dist/lib/chat/sse-handler.d.ts +0 -49
  90. package/dist/lib/chat/sse-handler.js +0 -259
  91. package/dist/lib/chat/types.d.ts +0 -74
  92. package/dist/lib/chat/types.js +0 -5
  93. package/dist/lib/chat/websocket-chat-handler.d.ts +0 -37
  94. package/dist/lib/chat/websocket-chat-handler.js +0 -262
  95. package/dist/lib/core/defaults.d.ts +0 -19
  96. package/dist/lib/core/defaults.js +0 -29
  97. package/dist/lib/core/evaluation-config.d.ts +0 -29
  98. package/dist/lib/core/evaluation-config.js +0 -144
  99. package/dist/lib/factories/compatibility-factory.d.ts +0 -35
  100. package/dist/lib/factories/compatibility-factory.js +0 -71
  101. package/dist/lib/factories/provider-generate-factory.d.ts +0 -20
  102. package/dist/lib/factories/provider-generate-factory.js +0 -93
  103. package/dist/lib/mcp/adapters/plugin-bridge.d.ts +0 -40
  104. package/dist/lib/mcp/adapters/plugin-bridge.js +0 -89
  105. package/dist/lib/mcp/auto-discovery.d.ts +0 -62
  106. package/dist/lib/mcp/auto-discovery.js +0 -149
  107. package/dist/lib/mcp/client.d.ts +0 -68
  108. package/dist/lib/mcp/client.js +0 -248
  109. package/dist/lib/mcp/config.d.ts +0 -31
  110. package/dist/lib/mcp/config.js +0 -99
  111. package/dist/lib/mcp/context-manager.d.ts +0 -171
  112. package/dist/lib/mcp/context-manager.js +0 -362
  113. package/dist/lib/mcp/contracts/mcp-contract.d.ts +0 -169
  114. package/dist/lib/mcp/contracts/mcp-contract.js +0 -58
  115. package/dist/lib/mcp/core/plugin-manager.d.ts +0 -46
  116. package/dist/lib/mcp/core/plugin-manager.js +0 -110
  117. package/dist/lib/mcp/demo/plugin-demo.d.ts +0 -20
  118. package/dist/lib/mcp/demo/plugin-demo.js +0 -118
  119. package/dist/lib/mcp/dynamic-chain-executor.d.ts +0 -225
  120. package/dist/lib/mcp/dynamic-chain-executor.js +0 -489
  121. package/dist/lib/mcp/dynamic-orchestrator.d.ts +0 -115
  122. package/dist/lib/mcp/dynamic-orchestrator.js +0 -351
  123. package/dist/lib/mcp/ecosystem.d.ts +0 -75
  124. package/dist/lib/mcp/ecosystem.js +0 -161
  125. package/dist/lib/mcp/error-manager.d.ts +0 -254
  126. package/dist/lib/mcp/error-manager.js +0 -501
  127. package/dist/lib/mcp/error-recovery.d.ts +0 -159
  128. package/dist/lib/mcp/error-recovery.js +0 -405
  129. package/dist/lib/mcp/external-client.d.ts +0 -88
  130. package/dist/lib/mcp/external-client.js +0 -331
  131. package/dist/lib/mcp/external-manager.d.ts +0 -112
  132. package/dist/lib/mcp/external-manager.js +0 -308
  133. package/dist/lib/mcp/function-calling.d.ts +0 -65
  134. package/dist/lib/mcp/function-calling.js +0 -642
  135. package/dist/lib/mcp/health-monitor.d.ts +0 -257
  136. package/dist/lib/mcp/health-monitor.js +0 -630
  137. package/dist/lib/mcp/initialize-tools.d.ts +0 -29
  138. package/dist/lib/mcp/initialize-tools.js +0 -261
  139. package/dist/lib/mcp/initialize.d.ts +0 -18
  140. package/dist/lib/mcp/initialize.js +0 -62
  141. package/dist/lib/mcp/manager.d.ts +0 -68
  142. package/dist/lib/mcp/manager.js +0 -176
  143. package/dist/lib/mcp/neurolink-mcp-client.d.ts +0 -97
  144. package/dist/lib/mcp/neurolink-mcp-client.js +0 -462
  145. package/dist/lib/mcp/orchestrator.d.ts +0 -302
  146. package/dist/lib/mcp/orchestrator.js +0 -703
  147. package/dist/lib/mcp/plugin-manager.d.ts +0 -98
  148. package/dist/lib/mcp/plugin-manager.js +0 -296
  149. package/dist/lib/mcp/plugins/core/filesystem-mcp.d.ts +0 -36
  150. package/dist/lib/mcp/plugins/core/filesystem-mcp.js +0 -142
  151. package/dist/lib/mcp/plugins/filesystem-mcp.d.ts +0 -37
  152. package/dist/lib/mcp/plugins/filesystem-mcp.js +0 -54
  153. package/dist/lib/mcp/security-manager.d.ts +0 -87
  154. package/dist/lib/mcp/security-manager.js +0 -344
  155. package/dist/lib/mcp/semaphore-manager.d.ts +0 -137
  156. package/dist/lib/mcp/semaphore-manager.js +0 -329
  157. package/dist/lib/mcp/session-manager.d.ts +0 -187
  158. package/dist/lib/mcp/session-manager.js +0 -400
  159. package/dist/lib/mcp/session-persistence.d.ts +0 -93
  160. package/dist/lib/mcp/session-persistence.js +0 -301
  161. package/dist/lib/mcp/tool-integration.d.ts +0 -58
  162. package/dist/lib/mcp/tool-integration.js +0 -203
  163. package/dist/lib/mcp/transport-manager.d.ts +0 -154
  164. package/dist/lib/mcp/transport-manager.js +0 -334
  165. package/dist/lib/mcp/unified-mcp.d.ts +0 -133
  166. package/dist/lib/mcp/unified-mcp.js +0 -251
  167. package/dist/lib/mcp/unified-registry.d.ts +0 -165
  168. package/dist/lib/mcp/unified-registry.js +0 -538
  169. package/dist/lib/providers/analytics-helper.d.ts +0 -38
  170. package/dist/lib/providers/analytics-helper.js +0 -216
  171. package/dist/lib/providers/function-calling-provider.d.ts +0 -142
  172. package/dist/lib/providers/function-calling-provider.js +0 -630
  173. package/dist/lib/providers/mcp-provider.d.ts +0 -75
  174. package/dist/lib/providers/mcp-provider.js +0 -283
  175. package/dist/lib/providers/timeout-wrapper.d.ts +0 -40
  176. package/dist/lib/providers/timeout-wrapper.js +0 -100
  177. package/dist/lib/sdk/tool-extension.d.ts +0 -181
  178. package/dist/lib/sdk/tool-extension.js +0 -284
  179. package/dist/lib/services/streaming/streaming-manager.d.ts +0 -29
  180. package/dist/lib/services/streaming/streaming-manager.js +0 -245
  181. package/dist/lib/services/types.d.ts +0 -156
  182. package/dist/lib/services/types.js +0 -2
  183. package/dist/lib/services/websocket/websocket-server.d.ts +0 -34
  184. package/dist/lib/services/websocket/websocket-server.js +0 -305
  185. package/dist/lib/utils/provider-validation.d.ts +0 -36
  186. package/dist/lib/utils/provider-validation.js +0 -625
  187. package/dist/lib/utils/providerUtils-fixed.d.ts +0 -8
  188. package/dist/lib/utils/providerUtils-fixed.js +0 -94
  189. package/dist/lib/utils/streaming-utils.d.ts +0 -79
  190. package/dist/lib/utils/streaming-utils.js +0 -198
  191. package/dist/lib/utils/timeout-manager.d.ts +0 -75
  192. package/dist/lib/utils/timeout-manager.js +0 -244
  193. package/dist/mcp/adapters/plugin-bridge.d.ts +0 -40
  194. package/dist/mcp/adapters/plugin-bridge.js +0 -89
  195. package/dist/mcp/auto-discovery.d.ts +0 -62
  196. package/dist/mcp/auto-discovery.js +0 -149
  197. package/dist/mcp/client.d.ts +0 -68
  198. package/dist/mcp/client.js +0 -248
  199. package/dist/mcp/config.d.ts +0 -31
  200. package/dist/mcp/config.js +0 -99
  201. package/dist/mcp/context-manager.d.ts +0 -171
  202. package/dist/mcp/context-manager.js +0 -362
  203. package/dist/mcp/contracts/mcp-contract.d.ts +0 -169
  204. package/dist/mcp/contracts/mcp-contract.js +0 -58
  205. package/dist/mcp/core/plugin-manager.d.ts +0 -46
  206. package/dist/mcp/core/plugin-manager.js +0 -110
  207. package/dist/mcp/demo/plugin-demo.d.ts +0 -20
  208. package/dist/mcp/demo/plugin-demo.js +0 -118
  209. package/dist/mcp/dynamic-chain-executor.d.ts +0 -225
  210. package/dist/mcp/dynamic-chain-executor.js +0 -489
  211. package/dist/mcp/dynamic-orchestrator.d.ts +0 -115
  212. package/dist/mcp/dynamic-orchestrator.js +0 -351
  213. package/dist/mcp/ecosystem.d.ts +0 -75
  214. package/dist/mcp/ecosystem.js +0 -162
  215. package/dist/mcp/error-manager.d.ts +0 -254
  216. package/dist/mcp/error-manager.js +0 -501
  217. package/dist/mcp/error-recovery.d.ts +0 -159
  218. package/dist/mcp/error-recovery.js +0 -405
  219. package/dist/mcp/external-client.d.ts +0 -88
  220. package/dist/mcp/external-client.js +0 -331
  221. package/dist/mcp/external-manager.d.ts +0 -112
  222. package/dist/mcp/external-manager.js +0 -308
  223. package/dist/mcp/function-calling.d.ts +0 -65
  224. package/dist/mcp/function-calling.js +0 -642
  225. package/dist/mcp/health-monitor.d.ts +0 -257
  226. package/dist/mcp/health-monitor.js +0 -630
  227. package/dist/mcp/initialize-tools.d.ts +0 -29
  228. package/dist/mcp/initialize-tools.js +0 -262
  229. package/dist/mcp/initialize.d.ts +0 -18
  230. package/dist/mcp/initialize.js +0 -62
  231. package/dist/mcp/manager.d.ts +0 -68
  232. package/dist/mcp/manager.js +0 -176
  233. package/dist/mcp/neurolink-mcp-client.d.ts +0 -97
  234. package/dist/mcp/neurolink-mcp-client.js +0 -462
  235. package/dist/mcp/orchestrator.d.ts +0 -302
  236. package/dist/mcp/orchestrator.js +0 -703
  237. package/dist/mcp/plugin-manager.d.ts +0 -98
  238. package/dist/mcp/plugin-manager.js +0 -297
  239. package/dist/mcp/plugins/core/filesystem-mcp.d.ts +0 -36
  240. package/dist/mcp/plugins/core/filesystem-mcp.js +0 -142
  241. package/dist/mcp/plugins/core/neurolink-mcp.json +0 -17
  242. package/dist/mcp/plugins/filesystem-mcp.d.ts +0 -37
  243. package/dist/mcp/plugins/filesystem-mcp.js +0 -54
  244. package/dist/mcp/security-manager.d.ts +0 -87
  245. package/dist/mcp/security-manager.js +0 -344
  246. package/dist/mcp/semaphore-manager.d.ts +0 -137
  247. package/dist/mcp/semaphore-manager.js +0 -329
  248. package/dist/mcp/session-manager.d.ts +0 -187
  249. package/dist/mcp/session-manager.js +0 -400
  250. package/dist/mcp/session-persistence.d.ts +0 -93
  251. package/dist/mcp/session-persistence.js +0 -302
  252. package/dist/mcp/tool-integration.d.ts +0 -58
  253. package/dist/mcp/tool-integration.js +0 -203
  254. package/dist/mcp/transport-manager.d.ts +0 -154
  255. package/dist/mcp/transport-manager.js +0 -335
  256. package/dist/mcp/unified-mcp.d.ts +0 -133
  257. package/dist/mcp/unified-mcp.js +0 -251
  258. package/dist/mcp/unified-registry.d.ts +0 -165
  259. package/dist/mcp/unified-registry.js +0 -539
  260. package/dist/providers/analytics-helper.d.ts +0 -38
  261. package/dist/providers/analytics-helper.js +0 -216
  262. package/dist/providers/function-calling-provider.d.ts +0 -142
  263. package/dist/providers/function-calling-provider.js +0 -630
  264. package/dist/providers/mcp-provider.d.ts +0 -75
  265. package/dist/providers/mcp-provider.js +0 -283
  266. package/dist/providers/timeout-wrapper.d.ts +0 -40
  267. package/dist/providers/timeout-wrapper.js +0 -100
  268. package/dist/sdk/tool-extension.d.ts +0 -181
  269. package/dist/sdk/tool-extension.js +0 -284
  270. package/dist/services/streaming/streaming-manager.d.ts +0 -29
  271. package/dist/services/streaming/streaming-manager.js +0 -245
  272. package/dist/services/types.d.ts +0 -156
  273. package/dist/services/types.js +0 -2
  274. package/dist/services/websocket/websocket-server.d.ts +0 -34
  275. package/dist/services/websocket/websocket-server.js +0 -306
  276. package/dist/utils/provider-validation.d.ts +0 -36
  277. package/dist/utils/provider-validation.js +0 -625
  278. package/dist/utils/providerUtils-fixed.d.ts +0 -8
  279. package/dist/utils/providerUtils-fixed.js +0 -94
  280. package/dist/utils/streaming-utils.d.ts +0 -79
  281. package/dist/utils/streaming-utils.js +0 -198
  282. package/dist/utils/timeout-manager.d.ts +0 -75
  283. package/dist/utils/timeout-manager.js +0 -244
@@ -1,110 +0,0 @@
1
- /**
2
- * Core Plugin Manager
3
- * Enhanced plugin management with advanced lifecycle control
4
- */
5
- import { mcpLogger } from "../logging.js";
6
- /**
7
- * Enhanced plugin manager with core functionality
8
- */
9
- export class CorePluginManager {
10
- plugins = new Map();
11
- constructors = new Map();
12
- metadata = new Map();
13
- /**
14
- * Load a plugin from constructor
15
- */
16
- async loadPlugin(name, Constructor, config) {
17
- try {
18
- const instance = new Constructor();
19
- await instance.initialize(config);
20
- this.plugins.set(name, instance);
21
- this.constructors.set(name, Constructor);
22
- this.metadata.set(name, instance.getMetadata());
23
- mcpLogger.info(`[CorePluginManager] Loaded plugin: ${name}`);
24
- return {
25
- success: true,
26
- plugin: instance,
27
- };
28
- }
29
- catch (error) {
30
- mcpLogger.error(`[CorePluginManager] Failed to load plugin ${name}:`, error);
31
- return {
32
- success: false,
33
- error: error instanceof Error ? error.message : String(error),
34
- };
35
- }
36
- }
37
- /**
38
- * Execute a plugin operation
39
- */
40
- async executePlugin(name, context, args) {
41
- const startTime = Date.now();
42
- try {
43
- const plugin = this.plugins.get(name);
44
- if (!plugin) {
45
- throw new Error(`Plugin ${name} not loaded`);
46
- }
47
- const result = await plugin.execute(context, args);
48
- const executionTime = Date.now() - startTime;
49
- return {
50
- success: true,
51
- result: result,
52
- executionTime,
53
- };
54
- }
55
- catch (error) {
56
- const executionTime = Date.now() - startTime;
57
- mcpLogger.error(`[CorePluginManager] Plugin execution failed for ${name}:`, error);
58
- return {
59
- success: false,
60
- error: error instanceof Error ? error.message : String(error),
61
- executionTime,
62
- };
63
- }
64
- }
65
- /**
66
- * Get plugin instance
67
- */
68
- getPlugin(name) {
69
- return this.plugins.get(name);
70
- }
71
- /**
72
- * Get plugin metadata
73
- */
74
- getPluginMetadata(name) {
75
- return this.metadata.get(name);
76
- }
77
- /**
78
- * List all loaded plugins
79
- */
80
- listPlugins() {
81
- return Array.from(this.plugins.keys());
82
- }
83
- /**
84
- * Unload a plugin
85
- */
86
- async unloadPlugin(name) {
87
- const plugin = this.plugins.get(name);
88
- if (plugin) {
89
- await plugin.dispose();
90
- this.plugins.delete(name);
91
- this.constructors.delete(name);
92
- this.metadata.delete(name);
93
- mcpLogger.info(`[CorePluginManager] Unloaded plugin: ${name}`);
94
- }
95
- }
96
- /**
97
- * Dispose all plugins
98
- */
99
- async dispose() {
100
- const pluginNames = Array.from(this.plugins.keys());
101
- for (const name of pluginNames) {
102
- await this.unloadPlugin(name);
103
- }
104
- mcpLogger.info("[CorePluginManager] All plugins disposed");
105
- }
106
- }
107
- /**
108
- * Default core plugin manager instance
109
- */
110
- export const corePluginManager = new CorePluginManager();
@@ -1,20 +0,0 @@
1
- /**
2
- * Plugin Demo - Example MCP Plugin Usage
3
- */
4
- /**
5
- * Demo plugin functionality
6
- */
7
- export declare class PluginDemo {
8
- /**
9
- * Demonstrate filesystem plugin
10
- */
11
- static demonstrateFileSystem(): Promise<void>;
12
- /**
13
- * Demonstrate plugin execution via ecosystem
14
- */
15
- static demonstrateEcosystem(): Promise<void>;
16
- /**
17
- * Demonstrate quick plugin factory
18
- */
19
- static demonstrateQuickFactory(): Promise<void>;
20
- }
@@ -1,118 +0,0 @@
1
- /**
2
- * Plugin Demo - Example MCP Plugin Usage
3
- */
4
- import { mcpEcosystem } from "../ecosystem.js";
5
- import { FileSystemMCP } from "../plugins/core/filesystem-mcp.js";
6
- import { QuickPluginFactory, executePlugin, } from "../adapters/plugin-bridge.js";
7
- import { mcpLogger } from "../logging.js";
8
- /**
9
- * Demo plugin functionality
10
- */
11
- export class PluginDemo {
12
- /**
13
- * Demonstrate filesystem plugin
14
- */
15
- static async demonstrateFileSystem() {
16
- try {
17
- // Create filesystem plugin instance
18
- const fsPlugin = new FileSystemMCP();
19
- await fsPlugin.initialize({ basePath: process.cwd() });
20
- mcpLogger.info("FileSystem plugin demonstration started");
21
- // This would normally be done through the ecosystem
22
- // but we're demonstrating direct usage
23
- const result = await mcpEcosystem.filesystem({
24
- action: "listFiles",
25
- path: ".",
26
- basePath: process.cwd(),
27
- });
28
- mcpLogger.info("File listing result:", result);
29
- }
30
- catch (error) {
31
- mcpLogger.error("Demo failed:", error);
32
- }
33
- }
34
- /**
35
- * Demonstrate plugin execution via ecosystem
36
- */
37
- static async demonstrateEcosystem() {
38
- try {
39
- await mcpEcosystem.initialize();
40
- const stats = await mcpEcosystem.getStats();
41
- mcpLogger.info("MCP Ecosystem stats:", stats);
42
- // Try to read a file
43
- const fsPlugin = new FileSystemMCP();
44
- await fsPlugin.initialize({ basePath: process.cwd() });
45
- // Cast FileSystemMCP to UnknownRecord for executePlugin compatibility
46
- const pluginAsRecord = fsPlugin;
47
- const result = await executePlugin(pluginAsRecord, createMockContext(), "listFiles", ".");
48
- mcpLogger.info("Plugin execution result:", result);
49
- }
50
- catch (error) {
51
- mcpLogger.error("Ecosystem demo failed:", error);
52
- }
53
- }
54
- /**
55
- * Demonstrate quick plugin factory
56
- */
57
- static async demonstrateQuickFactory() {
58
- try {
59
- const fsPlugin = new FileSystemMCP();
60
- await fsPlugin.initialize({ basePath: process.cwd() });
61
- const quickPlugin = await QuickPluginFactory.create("demo-plugin", {
62
- basePath: process.cwd(),
63
- });
64
- mcpLogger.info("Quick plugin created:", quickPlugin);
65
- }
66
- catch (error) {
67
- mcpLogger.error("Quick factory demo failed:", error);
68
- }
69
- }
70
- }
71
- /**
72
- * Create a mock execution context for testing
73
- */
74
- function createMockContext() {
75
- return {
76
- sessionId: "demo-session",
77
- userId: "demo-user",
78
- grantedPermissions: ["fs:read:./**/*", "fs:write:./temp/**/*"],
79
- secureFS: {
80
- async readFile(path, encoding) {
81
- return `Mock content from ${path}`;
82
- },
83
- async writeFile(path, content) {
84
- mcpLogger.info(`Mock write to ${path}`);
85
- },
86
- async readdir(path) {
87
- return ["file1.txt", "file2.json", "subdir"];
88
- },
89
- async stat(path) {
90
- return {
91
- size: 1024,
92
- mtime: new Date(),
93
- isDirectory: () => false,
94
- isFile: () => true,
95
- };
96
- },
97
- async mkdir(path, options) {
98
- mcpLogger.info(`Mock mkdir: ${path}`);
99
- },
100
- async exists(path) {
101
- return true;
102
- },
103
- },
104
- path: {
105
- join: (...paths) => paths.join("/"),
106
- resolve: (...paths) => "/" + paths.join("/"),
107
- relative: (from, to) => to,
108
- dirname: (path) => path.split("/").slice(0, -1).join("/"),
109
- basename: (path, ext) => {
110
- const name = path.split("/").pop() || "";
111
- return ext ? name.replace(ext, "") : name;
112
- },
113
- },
114
- log: (level, message, data) => {
115
- mcpLogger[level](`[MockContext] ${message}`, data);
116
- },
117
- };
118
- }
@@ -1,225 +0,0 @@
1
- /**
2
- * Dynamic AI Tool Chain Executor
3
- * Allows AI to dynamically decide tool execution sequences based on context and results
4
- */
5
- import type { MCPOrchestrator } from "./orchestrator.js";
6
- import type { MCPRegistry } from "./registry.js";
7
- import type { NeuroLinkExecutionContext } from "./factory.js";
8
- import type { JsonValue, UnknownRecord } from "../types/common.js";
9
- import { ErrorManager } from "./error-manager.js";
10
- /**
11
- * Tool input schema structure
12
- */
13
- export interface ToolInputSchema {
14
- type?: string;
15
- properties?: Record<string, unknown>;
16
- required?: string[];
17
- [key: string]: unknown;
18
- }
19
- /**
20
- * Tool execution parameters
21
- */
22
- export interface ToolExecutionParameters extends Record<string, JsonValue> {
23
- }
24
- /**
25
- * Context evolution entry tracking data changes
26
- */
27
- export interface ContextEvolutionEntry {
28
- step: string;
29
- timestamp: number;
30
- dataKeys: string[];
31
- [key: string]: JsonValue;
32
- }
33
- /**
34
- * AI model planning response structure
35
- */
36
- export interface AIPlanningResponse {
37
- toolName: string | null;
38
- parameters?: ToolExecutionParameters;
39
- reasoning?: string;
40
- confidence?: number;
41
- expectedOutcome?: string;
42
- }
43
- /**
44
- * AI model evaluation response structure
45
- */
46
- export interface AIEvaluationResponse {
47
- goalAchieved: boolean;
48
- confidence: number;
49
- nextAction: "continue" | "retry" | "abort" | "complete";
50
- reasoning: string;
51
- }
52
- /**
53
- * Available tool descriptor
54
- */
55
- export interface AvailableToolDescriptor {
56
- name: string;
57
- description: string;
58
- inputSchema: ToolInputSchema;
59
- }
60
- /**
61
- * Tool execution result with metadata
62
- */
63
- export interface ToolExecutionResult {
64
- toolName: string;
65
- success: boolean;
66
- result?: JsonValue;
67
- error?: Error;
68
- timestamp: number;
69
- executionTime: number;
70
- context?: UnknownRecord;
71
- }
72
- /**
73
- * Chain execution step
74
- */
75
- export interface ChainStep {
76
- stepId: string;
77
- toolName: string;
78
- parameters: ToolExecutionParameters;
79
- reasoning: string;
80
- confidence: number;
81
- expectedOutcome: string;
82
- }
83
- /**
84
- * Chain execution context
85
- */
86
- export interface ChainExecutionContext {
87
- goal: string;
88
- currentStep: number;
89
- totalSteps?: number;
90
- executionHistory: ToolExecutionResult[];
91
- accumulatedContext: UnknownRecord;
92
- userContext?: NeuroLinkExecutionContext;
93
- maxSteps: number;
94
- aiModel?: string;
95
- }
96
- /**
97
- * Chain execution result
98
- */
99
- export interface ChainExecutionResult {
100
- success: boolean;
101
- goal: string;
102
- totalSteps: number;
103
- executionTime: number;
104
- results: ToolExecutionResult[];
105
- finalResult?: JsonValue;
106
- reasoning: string;
107
- error?: Error;
108
- metadata: {
109
- toolsUsed: string[];
110
- averageConfidence: number;
111
- contextEvolution: ContextEvolutionEntry[];
112
- };
113
- }
114
- /**
115
- * AI Tool Chain Planner interface
116
- */
117
- export interface AIChainPlanner {
118
- name: string;
119
- planNextStep(goal: string, availableTools: AvailableToolDescriptor[], executionHistory: ToolExecutionResult[], accumulatedContext: UnknownRecord): Promise<ChainStep | null>;
120
- evaluateResult(step: ChainStep, result: ToolExecutionResult, goal: string): Promise<AIEvaluationResponse>;
121
- }
122
- /**
123
- * Simple AI Chain Planner using heuristics
124
- */
125
- export declare class HeuristicChainPlanner implements AIChainPlanner {
126
- name: string;
127
- planNextStep(goal: string, availableTools: AvailableToolDescriptor[], executionHistory: ToolExecutionResult[], accumulatedContext: UnknownRecord): Promise<ChainStep | null>;
128
- evaluateResult(step: ChainStep, result: ToolExecutionResult, goal: string): Promise<AIEvaluationResponse>;
129
- private generateParameters;
130
- }
131
- /**
132
- * Advanced AI Chain Planner using actual AI model
133
- */
134
- export declare class AIModelChainPlanner implements AIChainPlanner {
135
- name: string;
136
- private aiModel;
137
- constructor(aiModel?: string);
138
- planNextStep(goal: string, availableTools: AvailableToolDescriptor[], executionHistory: ToolExecutionResult[], accumulatedContext: UnknownRecord): Promise<ChainStep | null>;
139
- evaluateResult(step: ChainStep, result: ToolExecutionResult, goal: string): Promise<AIEvaluationResponse>;
140
- private buildPlanningPrompt;
141
- private buildEvaluationPrompt;
142
- private callAIModel;
143
- private parseAIResponse;
144
- private parseEvaluationResponse;
145
- }
146
- /**
147
- * Dynamic Chain Executor
148
- */
149
- export declare class DynamicChainExecutor {
150
- private orchestrator;
151
- private registry;
152
- private errorManager;
153
- private planner;
154
- constructor(orchestrator: MCPOrchestrator, registry: MCPRegistry, errorManager: ErrorManager, planner?: AIChainPlanner);
155
- /**
156
- * Execute dynamic tool chain to achieve a goal
157
- *
158
- * @param goal The goal to achieve
159
- * @param initialContext Initial context data
160
- * @param userContext User execution context
161
- * @param options Execution options
162
- * @returns Chain execution result
163
- */
164
- executeChain(goal: string, initialContext?: UnknownRecord, userContext?: NeuroLinkExecutionContext, options?: {
165
- maxSteps?: number;
166
- aiModel?: string;
167
- timeout?: number;
168
- }): Promise<ChainExecutionResult>;
169
- /**
170
- * Execute chain steps iteratively
171
- *
172
- * @private
173
- */
174
- private executeChainSteps;
175
- /**
176
- * Execute a single step
177
- *
178
- * @private
179
- */
180
- private executeStep;
181
- /**
182
- * Update accumulated context with new result
183
- *
184
- * @private
185
- */
186
- private updateAccumulatedContext;
187
- /**
188
- * Calculate average confidence across execution history
189
- *
190
- * @private
191
- */
192
- private calculateAverageConfidence;
193
- /**
194
- * Track context evolution through execution
195
- *
196
- * @private
197
- */
198
- private trackContextEvolution;
199
- /**
200
- * Set AI planner
201
- *
202
- * @param planner AI chain planner instance
203
- */
204
- setPlanner(planner: AIChainPlanner): void;
205
- /**
206
- * Get current planner
207
- *
208
- * @returns Current AI chain planner
209
- */
210
- getPlanner(): AIChainPlanner;
211
- }
212
- /**
213
- * Default dynamic chain executor instance
214
- */
215
- export declare let defaultDynamicChainExecutor: DynamicChainExecutor | null;
216
- /**
217
- * Initialize default dynamic chain executor
218
- *
219
- * @param orchestrator MCP orchestrator
220
- * @param registry Tool registry
221
- * @param errorManager Error manager
222
- * @param planner Optional AI planner
223
- * @returns Dynamic chain executor instance
224
- */
225
- export declare function initializeDynamicChainExecutor(orchestrator: MCPOrchestrator, registry: MCPRegistry, errorManager: ErrorManager, planner?: AIChainPlanner): DynamicChainExecutor;