@vinkius-core/mcp-fusion 3.1.4 → 3.1.6

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 (72) hide show
  1. package/dist/cli/args.d.ts +26 -0
  2. package/dist/cli/args.d.ts.map +1 -0
  3. package/dist/cli/args.js +100 -0
  4. package/dist/cli/args.js.map +1 -0
  5. package/dist/cli/commands/create.d.ts +11 -0
  6. package/dist/cli/commands/create.d.ts.map +1 -0
  7. package/dist/cli/commands/create.js +121 -0
  8. package/dist/cli/commands/create.js.map +1 -0
  9. package/dist/cli/commands/deploy.d.ts +3 -0
  10. package/dist/cli/commands/deploy.d.ts.map +1 -0
  11. package/dist/cli/commands/deploy.js +234 -0
  12. package/dist/cli/commands/deploy.js.map +1 -0
  13. package/dist/cli/commands/dev.d.ts +9 -0
  14. package/dist/cli/commands/dev.d.ts.map +1 -0
  15. package/dist/cli/commands/dev.js +54 -0
  16. package/dist/cli/commands/dev.js.map +1 -0
  17. package/dist/cli/commands/lock.d.ts +5 -0
  18. package/dist/cli/commands/lock.d.ts.map +1 -0
  19. package/dist/cli/commands/lock.js +94 -0
  20. package/dist/cli/commands/lock.js.map +1 -0
  21. package/dist/cli/commands/remote.d.ts +3 -0
  22. package/dist/cli/commands/remote.d.ts.map +1 -0
  23. package/dist/cli/commands/remote.js +37 -0
  24. package/dist/cli/commands/remote.js.map +1 -0
  25. package/dist/cli/constants.d.ts +19 -0
  26. package/dist/cli/constants.d.ts.map +1 -0
  27. package/dist/cli/constants.js +86 -0
  28. package/dist/cli/constants.js.map +1 -0
  29. package/dist/cli/fusion.d.ts +13 -131
  30. package/dist/cli/fusion.d.ts.map +1 -1
  31. package/dist/cli/fusion.js +27 -642
  32. package/dist/cli/fusion.js.map +1 -1
  33. package/dist/cli/progress.d.ts +34 -0
  34. package/dist/cli/progress.d.ts.map +1 -0
  35. package/dist/cli/progress.js +102 -0
  36. package/dist/cli/progress.js.map +1 -0
  37. package/dist/cli/rc.d.ts +11 -0
  38. package/dist/cli/rc.d.ts.map +1 -0
  39. package/dist/cli/rc.js +66 -0
  40. package/dist/cli/rc.js.map +1 -0
  41. package/dist/cli/registry.d.ts +25 -0
  42. package/dist/cli/registry.d.ts.map +1 -0
  43. package/dist/cli/registry.js +86 -0
  44. package/dist/cli/registry.js.map +1 -0
  45. package/dist/cli/types.d.ts +7 -0
  46. package/dist/cli/types.d.ts.map +1 -1
  47. package/dist/cli/utils.d.ts +26 -0
  48. package/dist/cli/utils.d.ts.map +1 -0
  49. package/dist/cli/utils.js +63 -0
  50. package/dist/cli/utils.js.map +1 -0
  51. package/dist/core/createGroup.d.ts.map +1 -1
  52. package/dist/core/createGroup.js +17 -5
  53. package/dist/core/createGroup.js.map +1 -1
  54. package/dist/edge-stub.d.ts +73 -0
  55. package/dist/edge-stub.d.ts.map +1 -0
  56. package/dist/edge-stub.js +81 -0
  57. package/dist/edge-stub.js.map +1 -0
  58. package/dist/fsm/StateMachineGate.d.ts +20 -0
  59. package/dist/fsm/StateMachineGate.d.ts.map +1 -1
  60. package/dist/fsm/StateMachineGate.js +45 -1
  61. package/dist/fsm/StateMachineGate.js.map +1 -1
  62. package/dist/server/DevServer.d.ts.map +1 -1
  63. package/dist/server/DevServer.js +8 -2
  64. package/dist/server/DevServer.js.map +1 -1
  65. package/dist/server/ServerAttachment.d.ts.map +1 -1
  66. package/dist/server/ServerAttachment.js +27 -17
  67. package/dist/server/ServerAttachment.js.map +1 -1
  68. package/dist/server/startServer.d.ts +3 -0
  69. package/dist/server/startServer.d.ts.map +1 -1
  70. package/dist/server/startServer.js +49 -5
  71. package/dist/server/startServer.js.map +1 -1
  72. package/package.json +6 -2
@@ -39,6 +39,53 @@ import { createTelemetryBus } from '../observability/TelemetryBus.js';
39
39
  */
40
40
  export async function startServer(options) {
41
41
  const { name, version = '1.0.0', registry, prompts, contextFactory, telemetry = true, attach = {}, } = options;
42
+ // ── Vinkius Cloud Edge Detection ─────────────────────────────────────
43
+ // When running inside a V8 Isolate, the host injects
44
+ // __vinkius_edge_interceptor into globalThis. If present:
45
+ // 1. Serialize tool definitions to host via IPC
46
+ // 2. Expose __vinkius_edge_dispatch for tool invocations
47
+ // 3. Abort normal server startup (no stdio transport)
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ const g = globalThis;
50
+ if (typeof g.__vinkius_edge_interceptor !== 'undefined') {
51
+ const tools = [];
52
+ for (const b of registry.getBuilders()) {
53
+ tools.push({
54
+ definition: b.buildToolDefinition(),
55
+ name: b.getName(),
56
+ });
57
+ }
58
+ // Send definitions to host via C++ IPC
59
+ g.__vinkius_edge_interceptor.applySync(undefined, [
60
+ JSON.stringify({ serverName: name, version, tools }),
61
+ ]);
62
+ // Expose async dispatcher — PLAIN OBJECT return, never Error class.
63
+ // Host extracts via { result: { copy: true } } (C++ structured clone).
64
+ g.__vinkius_edge_dispatch = async (toolName, args) => {
65
+ try {
66
+ const ctx = contextFactory
67
+ ? await contextFactory(undefined)
68
+ : undefined;
69
+ return await registry.routeCall(ctx, toolName, args);
70
+ }
71
+ catch (e) {
72
+ // Error class cannot survive C++ structured clone.
73
+ // Return MCP-protocol plain object instead.
74
+ const err = e;
75
+ return {
76
+ isError: true,
77
+ content: [{
78
+ type: 'text',
79
+ text: String(err?.stack || err?.message || e),
80
+ }],
81
+ };
82
+ }
83
+ };
84
+ // Abort normal startup — no Server, no Transport
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ return { server: null, close: async () => { } };
87
+ }
88
+ // ── Normal Server Startup ────────────────────────────────────────────
42
89
  // 1. Telemetry Bus (optional, default on)
43
90
  // Gracefully degrades on serverless platforms (Vercel, Cloudflare)
44
91
  // where IPC sockets / Named Pipes are not available.
@@ -48,13 +95,10 @@ export async function startServer(options) {
48
95
  // Build topology from registry builders
49
96
  const toolGroups = new Map();
50
97
  for (const b of registry.getBuilders()) {
98
+ const group = b.getName();
51
99
  for (const actionKey of b.getActionNames()) {
52
- const flatName = `${b.getName()}_${actionKey}`;
53
- const parts = flatName.split('_');
54
- const group = parts[0];
55
- const action = parts.slice(1).join('_');
56
100
  const list = toolGroups.get(group) ?? [];
57
- list.push(action);
101
+ list.push(actionKey);
58
102
  toolGroups.set(group, list);
59
103
  }
60
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vinkius-core/mcp-fusion",
3
- "version": "3.1.4",
3
+ "version": "3.1.6",
4
4
  "description": "MVA (Model-View-Agent) framework for the Model Context Protocol. Structured perception packages with Presenters, cognitive guardrails, self-healing errors, action consolidation, and tRPC-style type safety — so AI agents perceive and act on your data deterministically.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -118,6 +118,7 @@
118
118
  },
119
119
  "peerDependencies": {
120
120
  "@modelcontextprotocol/sdk": "^1.12.1",
121
+ "esbuild": "^0.24.0",
121
122
  "fast-json-stringify": "^6.0.0",
122
123
  "fast-redact": "^3.0.0",
123
124
  "isolated-vm": "^5.0.4",
@@ -131,6 +132,9 @@
131
132
  "isolated-vm": {
132
133
  "optional": true
133
134
  },
135
+ "esbuild": {
136
+ "optional": true
137
+ },
134
138
  "fast-json-stringify": {
135
139
  "optional": true
136
140
  },
@@ -146,4 +150,4 @@
146
150
  "fast-redact": "^3.5.0",
147
151
  "rimraf": "^6.0.0"
148
152
  }
149
- }
153
+ }