@vinkius-core/mcp-fusion 2.14.3 → 3.0.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.
- package/dist/cli/fusion.d.ts.map +1 -1
- package/dist/cli/fusion.js +59 -3
- package/dist/cli/fusion.js.map +1 -1
- package/dist/cli/scaffold.js +2 -1
- package/dist/cli/scaffold.js.map +1 -1
- package/dist/cli/templates/core.d.ts.map +1 -1
- package/dist/cli/templates/core.js +66 -48
- package/dist/cli/templates/core.js.map +1 -1
- package/dist/cli/templates/testing.d.ts.map +1 -1
- package/dist/cli/templates/testing.js +5 -4
- package/dist/cli/templates/testing.js.map +1 -1
- package/dist/core/builder/GroupedToolBuilder.d.ts +24 -0
- package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -1
- package/dist/core/builder/GroupedToolBuilder.js +112 -4
- package/dist/core/builder/GroupedToolBuilder.js.map +1 -1
- package/dist/core/execution/ExecutionPipeline.d.ts +2 -1
- package/dist/core/execution/ExecutionPipeline.d.ts.map +1 -1
- package/dist/core/execution/ExecutionPipeline.js +3 -3
- package/dist/core/execution/ExecutionPipeline.js.map +1 -1
- package/dist/core/execution/PipelineHooks.d.ts +13 -0
- package/dist/core/execution/PipelineHooks.d.ts.map +1 -1
- package/dist/core/execution/PipelineHooks.js +35 -0
- package/dist/core/execution/PipelineHooks.js.map +1 -1
- package/dist/core/registry/ToolRegistry.d.ts +11 -0
- package/dist/core/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/core/registry/ToolRegistry.js +17 -0
- package/dist/core/registry/ToolRegistry.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/observability/DebugObserver.d.ts +10 -0
- package/dist/observability/DebugObserver.d.ts.map +1 -1
- package/dist/observability/DebugObserver.js.map +1 -1
- package/dist/observability/TelemetryBus.d.ts +17 -11
- package/dist/observability/TelemetryBus.d.ts.map +1 -1
- package/dist/observability/TelemetryBus.js +151 -35
- package/dist/observability/TelemetryBus.js.map +1 -1
- package/dist/observability/TelemetryEvent.d.ts +6 -0
- package/dist/observability/TelemetryEvent.d.ts.map +1 -1
- package/dist/observability/index.d.ts +3 -0
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +2 -0
- package/dist/observability/index.js.map +1 -1
- package/dist/presenter/PostProcessor.d.ts +13 -1
- package/dist/presenter/PostProcessor.d.ts.map +1 -1
- package/dist/presenter/PostProcessor.js +77 -2
- package/dist/presenter/PostProcessor.js.map +1 -1
- package/dist/presenter/Presenter.d.ts +17 -0
- package/dist/presenter/Presenter.d.ts.map +1 -1
- package/dist/presenter/Presenter.js +22 -0
- package/dist/presenter/Presenter.js.map +1 -1
- package/dist/sandbox/SandboxEngine.d.ts +13 -0
- package/dist/sandbox/SandboxEngine.d.ts.map +1 -1
- package/dist/sandbox/SandboxEngine.js +35 -3
- package/dist/sandbox/SandboxEngine.js.map +1 -1
- package/dist/server/ServerAttachment.d.ts +12 -0
- package/dist/server/ServerAttachment.d.ts.map +1 -1
- package/dist/server/ServerAttachment.js +48 -12
- package/dist/server/ServerAttachment.js.map +1 -1
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/startServer.d.ts +78 -0
- package/dist/server/startServer.d.ts.map +1 -0
- package/dist/server/startServer.js +100 -0
- package/dist/server/startServer.js.map +1 -0
- package/package.json +147 -147
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,4DAA4D;AAC5D,8BAA8B;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,8BAA8B;AAC9B,OAAO,EAAa,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,8BAA8B;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,8BAA8B;AAC9B,OAAO,EAAoB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,8BAA8B;AAC9B,OAAO,EAAwB,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,8BAA8B;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,8BAA8B;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,8BAA8B;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,8BAA8B;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,4DAA4D;AAC5D,2BAA2B;AAC3B,OAAO,EACH,aAAa,EACQ,kBAAkB,EACnB,iBAAiB,EACf,mBAAmB,EACjB,qBAAqB,EACd,4BAA4B,EAC9D,MAAM,uBAAuB,CAAC;AAE/B,4DAA4D;AAC5D,qBAAqB;AACrB,OAAO,EACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAChD,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAC9D,YAAY,EACZ,uBAAuB,EACvB,OAAO,EAAE,IAAI,EACb,QAAQ,EACR,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EACV,WAAW,EACX,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa;AACnE,aAAa;AACb,iBAAiB,EAAE,YAAY,GAClC,MAAM,iBAAiB,CAAC;AAqBzB,4DAA4D;AAC5D,uBAAuB;AACvB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI/F,4DAA4D;AAC5D,8BAA8B;AAC9B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,8 @@ export interface RouteEvent {
|
|
|
40
40
|
readonly type: 'route';
|
|
41
41
|
readonly tool: string;
|
|
42
42
|
readonly action: string;
|
|
43
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
44
|
+
readonly traceId?: string;
|
|
43
45
|
readonly timestamp: number;
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
@@ -55,6 +57,8 @@ export interface ValidateEvent {
|
|
|
55
57
|
readonly error?: string;
|
|
56
58
|
/** Milliseconds spent in Zod validation */
|
|
57
59
|
readonly durationMs: number;
|
|
60
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
61
|
+
readonly traceId?: string;
|
|
58
62
|
readonly timestamp: number;
|
|
59
63
|
}
|
|
60
64
|
/**
|
|
@@ -67,6 +71,8 @@ export interface MiddlewareEvent {
|
|
|
67
71
|
readonly action: string;
|
|
68
72
|
/** Number of middleware functions in the compiled chain */
|
|
69
73
|
readonly chainLength: number;
|
|
74
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
75
|
+
readonly traceId?: string;
|
|
70
76
|
readonly timestamp: number;
|
|
71
77
|
}
|
|
72
78
|
/**
|
|
@@ -81,6 +87,8 @@ export interface ExecuteEvent {
|
|
|
81
87
|
readonly durationMs: number;
|
|
82
88
|
/** Whether the response was an error response */
|
|
83
89
|
readonly isError: boolean;
|
|
90
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
91
|
+
readonly traceId?: string;
|
|
84
92
|
readonly timestamp: number;
|
|
85
93
|
}
|
|
86
94
|
/**
|
|
@@ -94,6 +102,8 @@ export interface ErrorEvent {
|
|
|
94
102
|
readonly error: string;
|
|
95
103
|
/** The pipeline step where the error occurred */
|
|
96
104
|
readonly step: 'route' | 'validate' | 'middleware' | 'execute';
|
|
105
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
106
|
+
readonly traceId?: string;
|
|
97
107
|
readonly timestamp: number;
|
|
98
108
|
}
|
|
99
109
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugObserver.d.ts","sourceRoot":"","sources":["../../src/observability/DebugObserver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DebugObserver.d.ts","sourceRoot":"","sources":["../../src/observability/DebugObserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugObserver.js","sourceRoot":"","sources":["../../src/observability/DebugObserver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;
|
|
1
|
+
{"version":3,"file":"DebugObserver.js","sourceRoot":"","sources":["../../src/observability/DebugObserver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AA6JH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAyB;IACzD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,OAAO,CAAC,KAAiB,EAAQ,EAAE;QAC/B,MAAM,MAAM,GAAG,cAAc,CAAC;QAE9B,yDAAyD;QACzD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,KAAK,CAAC,SAAS,IAAI,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjH,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM;YACrB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE;YACjC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAEjB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,IAAI,EAAE,CAAC,CAAC;gBAC7C,MAAM;YAEV,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxF,MAAM;YACV,CAAC;YAED,KAAK,YAAY;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,IAAI,KAAK,KAAK,CAAC,WAAW,aAAa,CAAC,CAAC;gBAC9E,MAAM;YAEV,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtF,MAAM;YACV,CAAC;YAED,KAAK,OAAO;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5E,MAAM;QACd,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
import type { TelemetryEvent, TelemetrySink } from './TelemetryEvent.js';
|
|
2
2
|
/**
|
|
3
|
-
* Compute the IPC path for
|
|
3
|
+
* Compute the IPC path for the telemetry socket.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Uses a deterministic fingerprint based on `process.cwd()` so the
|
|
6
|
+
* socket path remains stable across server restarts. This enables
|
|
7
|
+
* the Inspector TUI to reconnect automatically without PID tracking.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
+
* - Windows: `\\.\pipe\mcp-fusion-{fingerprint}` (Named Pipe, auto-cleaned by OS)
|
|
10
|
+
* - POSIX: `/tmp/mcp-fusion-{fingerprint}.sock` (Unix Domain Socket)
|
|
11
|
+
*
|
|
12
|
+
* @param fingerprint - Custom fingerprint (defaults to SHA-256 of cwd)
|
|
9
13
|
* @returns The IPC path string
|
|
10
14
|
*/
|
|
11
|
-
export declare function getTelemetryPath(
|
|
15
|
+
export declare function getTelemetryPath(fingerprint?: string): string;
|
|
12
16
|
/**
|
|
13
|
-
* Discover active telemetry sockets by scanning
|
|
14
|
-
*
|
|
17
|
+
* Discover active telemetry sockets by scanning the registry directory.
|
|
18
|
+
* Works on Windows, Mac, and Linux.
|
|
15
19
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
20
|
+
* Reads `{REGISTRY_DIR}/*.json` marker files written by running servers.
|
|
21
|
+
* Each file contains `{ pid, path }`. Stale files from crashed processes
|
|
22
|
+
* (e.g. SIGKILL where cleanup handlers never run) are detected via PID
|
|
23
|
+
* probing and automatically cleaned up.
|
|
18
24
|
*
|
|
19
|
-
* @param candidatePids - Optional list of PIDs to probe (Windows-only)
|
|
20
25
|
* @returns Array of discovered sockets with their PIDs
|
|
21
26
|
*/
|
|
22
|
-
export declare function discoverSockets(
|
|
27
|
+
export declare function discoverSockets(): Array<{
|
|
23
28
|
pid: number;
|
|
24
29
|
path: string;
|
|
30
|
+
cwd?: string;
|
|
25
31
|
}>;
|
|
26
32
|
/**
|
|
27
33
|
* Configuration for the telemetry bus.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryBus.d.ts","sourceRoot":"","sources":["../../src/observability/TelemetryBus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TelemetryBus.d.ts","sourceRoot":"","sources":["../../src/observability/TelemetryBus.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkCzE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7D;AA2DD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmDpF;AA2ED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAwJnG"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Fire-and-forget out-of-band telemetry transport. Creates a Named Pipe
|
|
5
5
|
* (Windows) or Unix Domain Socket (POSIX) that streams NDJSON events
|
|
6
|
-
* to connected `fusion top` / `
|
|
6
|
+
* to connected `fusion top` / `inspector` TUI clients.
|
|
7
7
|
*
|
|
8
8
|
* Architecture:
|
|
9
9
|
* ┌─────────────────────────────────────────────────────┐
|
|
@@ -29,8 +29,10 @@
|
|
|
29
29
|
* @module
|
|
30
30
|
*/
|
|
31
31
|
import { createServer, connect } from 'node:net';
|
|
32
|
-
import { existsSync, unlinkSync, chmodSync, statSync } from 'node:fs';
|
|
33
|
-
import { platform } from 'node:os';
|
|
32
|
+
import { existsSync, unlinkSync, chmodSync, statSync, mkdirSync, writeFileSync, readdirSync, readFileSync } from 'node:fs';
|
|
33
|
+
import { platform, tmpdir } from 'node:os';
|
|
34
|
+
import { join } from 'node:path';
|
|
35
|
+
import { createHash } from 'node:crypto';
|
|
34
36
|
// ============================================================================
|
|
35
37
|
// Constants
|
|
36
38
|
// ============================================================================
|
|
@@ -38,59 +40,166 @@ import { platform } from 'node:os';
|
|
|
38
40
|
const MAX_CLIENT_BUFFER_BYTES = 65_536; // 64KB
|
|
39
41
|
/** Heartbeat interval in milliseconds */
|
|
40
42
|
const HEARTBEAT_INTERVAL_MS = 5_000;
|
|
43
|
+
/** Registry directory for cross-platform server discovery */
|
|
44
|
+
const REGISTRY_DIR = join(tmpdir(), 'mcp-fusion-registry');
|
|
41
45
|
// ============================================================================
|
|
42
|
-
// Path Convention
|
|
46
|
+
// Path Convention — Deterministic Socket Paths
|
|
43
47
|
// ============================================================================
|
|
44
48
|
/**
|
|
45
|
-
* Compute
|
|
49
|
+
* Compute a deterministic fingerprint from `process.cwd()`.
|
|
46
50
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
51
|
+
* The fingerprint is a 12-char hex string (SHA-256 truncated),
|
|
52
|
+
* stable across server restarts for the same project directory.
|
|
53
|
+
* This enables the Inspector TUI to automatically reconnect
|
|
54
|
+
* when the server process restarts with a new PID.
|
|
49
55
|
*
|
|
50
|
-
* @
|
|
56
|
+
* @returns 12-character hex fingerprint
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
function cwdFingerprint() {
|
|
60
|
+
return createHash('sha256').update(process.cwd()).digest('hex').slice(0, 12);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Compute the IPC path for the telemetry socket.
|
|
64
|
+
*
|
|
65
|
+
* Uses a deterministic fingerprint based on `process.cwd()` so the
|
|
66
|
+
* socket path remains stable across server restarts. This enables
|
|
67
|
+
* the Inspector TUI to reconnect automatically without PID tracking.
|
|
68
|
+
*
|
|
69
|
+
* - Windows: `\\.\pipe\mcp-fusion-{fingerprint}` (Named Pipe, auto-cleaned by OS)
|
|
70
|
+
* - POSIX: `/tmp/mcp-fusion-{fingerprint}.sock` (Unix Domain Socket)
|
|
71
|
+
*
|
|
72
|
+
* @param fingerprint - Custom fingerprint (defaults to SHA-256 of cwd)
|
|
51
73
|
* @returns The IPC path string
|
|
52
74
|
*/
|
|
53
|
-
export function getTelemetryPath(
|
|
54
|
-
const id =
|
|
75
|
+
export function getTelemetryPath(fingerprint) {
|
|
76
|
+
const id = fingerprint ?? cwdFingerprint();
|
|
55
77
|
if (platform() === 'win32') {
|
|
56
78
|
return `\\\\.\\pipe\\mcp-fusion-${id}`;
|
|
57
79
|
}
|
|
58
80
|
return `/tmp/mcp-fusion-${id}.sock`;
|
|
59
81
|
}
|
|
82
|
+
// ============================================================================
|
|
83
|
+
// Registry File Helpers (Cross-Platform Discovery)
|
|
84
|
+
// ============================================================================
|
|
60
85
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
86
|
+
* Write a registry marker file so `discoverSockets()` can find this server.
|
|
87
|
+
* Creates `{REGISTRY_DIR}/{pid}.json` with metadata.
|
|
63
88
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
89
|
+
* @param pid - Process ID
|
|
90
|
+
* @param serverName - Optional server name for display
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
function writeRegistryFile(pid, serverName) {
|
|
94
|
+
try {
|
|
95
|
+
mkdirSync(REGISTRY_DIR, { recursive: true });
|
|
96
|
+
const data = JSON.stringify({
|
|
97
|
+
pid,
|
|
98
|
+
path: getTelemetryPath(),
|
|
99
|
+
name: serverName,
|
|
100
|
+
cwd: process.cwd(),
|
|
101
|
+
startedAt: Date.now(),
|
|
102
|
+
});
|
|
103
|
+
writeFileSync(join(REGISTRY_DIR, `${pid}.json`), data, 'utf8');
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// Non-fatal — discovery won't work but server still runs
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Remove the registry marker file for a given PID.
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
113
|
+
function removeRegistryFile(pid) {
|
|
114
|
+
try {
|
|
115
|
+
unlinkSync(join(REGISTRY_DIR, `${pid}.json`));
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// File may not exist — ignore
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Check if a process is still alive using signal 0 (probes without killing).
|
|
123
|
+
* Works cross-platform (Windows, Mac, Linux).
|
|
66
124
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @returns
|
|
125
|
+
* @param pid - Process ID to check
|
|
126
|
+
* @returns `true` if the process exists, `false` if it's dead
|
|
127
|
+
* @internal
|
|
69
128
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
//
|
|
73
|
-
|
|
74
|
-
const pids = candidatePids ?? [];
|
|
75
|
-
return pids
|
|
76
|
-
.map((pid) => ({ pid, path: getTelemetryPath(pid) }));
|
|
129
|
+
function isProcessAlive(pid) {
|
|
130
|
+
try {
|
|
131
|
+
process.kill(pid, 0); // Signal 0 = existence check, doesn't kill
|
|
132
|
+
return true;
|
|
77
133
|
}
|
|
78
|
-
|
|
134
|
+
catch {
|
|
135
|
+
return false; // ESRCH — process does not exist
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Discover active telemetry sockets by scanning the registry directory.
|
|
140
|
+
* Works on Windows, Mac, and Linux.
|
|
141
|
+
*
|
|
142
|
+
* Reads `{REGISTRY_DIR}/*.json` marker files written by running servers.
|
|
143
|
+
* Each file contains `{ pid, path }`. Stale files from crashed processes
|
|
144
|
+
* (e.g. SIGKILL where cleanup handlers never run) are detected via PID
|
|
145
|
+
* probing and automatically cleaned up.
|
|
146
|
+
*
|
|
147
|
+
* @returns Array of discovered sockets with their PIDs
|
|
148
|
+
*/
|
|
149
|
+
export function discoverSockets() {
|
|
79
150
|
const results = [];
|
|
151
|
+
// ── Primary: scan registry directory (all platforms) ────
|
|
80
152
|
try {
|
|
81
|
-
const
|
|
82
|
-
const files = readdirSync('/tmp');
|
|
153
|
+
const files = readdirSync(REGISTRY_DIR);
|
|
83
154
|
for (const file of files) {
|
|
84
|
-
const match = file.match(/^
|
|
85
|
-
if (match)
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
155
|
+
const match = file.match(/^(\d+)\.json$/);
|
|
156
|
+
if (!match)
|
|
157
|
+
continue;
|
|
158
|
+
try {
|
|
159
|
+
const raw = readFileSync(join(REGISTRY_DIR, file), 'utf8');
|
|
160
|
+
const entry = JSON.parse(raw);
|
|
161
|
+
// ── Stale PID check ──────────────────────────
|
|
162
|
+
// If the process is dead (e.g. SIGKILL'd), the registry
|
|
163
|
+
// file is orphaned — remove it and skip.
|
|
164
|
+
if (!isProcessAlive(entry.pid)) {
|
|
165
|
+
try {
|
|
166
|
+
unlinkSync(join(REGISTRY_DIR, file));
|
|
167
|
+
}
|
|
168
|
+
catch { /* ignore */ }
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
results.push({ pid: entry.pid, path: entry.path, ...(entry.cwd ? { cwd: entry.cwd } : {}) });
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
// Corrupted file — clean up
|
|
175
|
+
try {
|
|
176
|
+
unlinkSync(join(REGISTRY_DIR, file));
|
|
177
|
+
}
|
|
178
|
+
catch { /* ignore */ }
|
|
89
179
|
}
|
|
90
180
|
}
|
|
91
181
|
}
|
|
92
182
|
catch {
|
|
93
|
-
//
|
|
183
|
+
// Registry dir doesn't exist yet — no servers registered
|
|
184
|
+
}
|
|
185
|
+
// ── Fallback: POSIX socket scan (backward compat) ──────
|
|
186
|
+
// Matches both legacy PID-based and new fingerprint-based sockets
|
|
187
|
+
if (platform() !== 'win32' && results.length === 0) {
|
|
188
|
+
try {
|
|
189
|
+
const files = readdirSync('/tmp');
|
|
190
|
+
for (const file of files) {
|
|
191
|
+
const match = file.match(/^mcp-fusion-([a-f0-9]+)\.sock$/);
|
|
192
|
+
if (match) {
|
|
193
|
+
const idStr = match[1];
|
|
194
|
+
const pid = /^\d+$/.test(idStr) ? parseInt(idStr, 10) : 0;
|
|
195
|
+
// For PID-based sockets, check if alive; for hash-based, always include
|
|
196
|
+
if (pid > 0 && !isProcessAlive(pid))
|
|
197
|
+
continue;
|
|
198
|
+
results.push({ pid, path: `/tmp/${file}` });
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch { /* ignore */ }
|
|
94
203
|
}
|
|
95
204
|
return results;
|
|
96
205
|
}
|
|
@@ -218,13 +327,16 @@ export async function createTelemetryBus(config) {
|
|
|
218
327
|
});
|
|
219
328
|
// ── Start Listening ───────────────────────────────────
|
|
220
329
|
await new Promise((resolve, reject) => {
|
|
221
|
-
server.
|
|
330
|
+
server.once('error', (err) => {
|
|
222
331
|
if (err.code === 'EADDRINUSE') {
|
|
223
|
-
//
|
|
332
|
+
// On POSIX: unlink stale socket file and retry.
|
|
333
|
+
// On Windows: Named Pipes can't be unlinked — just retry
|
|
334
|
+
// (the OS will reclaim the pipe name if the owner is dead).
|
|
224
335
|
try {
|
|
225
336
|
unlinkSync(socketPath);
|
|
226
337
|
}
|
|
227
|
-
catch { /* ignore */ }
|
|
338
|
+
catch { /* ignore on Windows */ }
|
|
339
|
+
server.once('error', (retryErr) => reject(retryErr));
|
|
228
340
|
server.listen(socketPath, () => resolve());
|
|
229
341
|
}
|
|
230
342
|
else {
|
|
@@ -233,6 +345,8 @@ export async function createTelemetryBus(config) {
|
|
|
233
345
|
});
|
|
234
346
|
server.listen(socketPath, () => resolve());
|
|
235
347
|
});
|
|
348
|
+
// ── Registry: announce this server for auto-discovery ──
|
|
349
|
+
writeRegistryFile(process.pid, config?.path ? undefined : 'mcp-fusion');
|
|
236
350
|
// ── Gotcha #1: IPC Security (chmod 0o600) ─────────────
|
|
237
351
|
// Restrict socket to owner-only on POSIX to prevent PII sniffing
|
|
238
352
|
if (platform() !== 'win32') {
|
|
@@ -312,6 +426,8 @@ export async function createTelemetryBus(config) {
|
|
|
312
426
|
}
|
|
313
427
|
catch { /* ignore */ }
|
|
314
428
|
}
|
|
429
|
+
// Remove registry file (cross-platform discovery)
|
|
430
|
+
removeRegistryFile(process.pid);
|
|
315
431
|
}
|
|
316
432
|
// Register cleanup on process exit signals
|
|
317
433
|
const exitHandler = () => { cleanup(); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryBus.js","sourceRoot":"","sources":["../../src/observability/TelemetryBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,YAAY,EAAE,OAAO,EAA4B,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"TelemetryBus.js","sourceRoot":"","sources":["../../src/observability/TelemetryBus.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ export interface DlpRedactEvent {
|
|
|
29
29
|
readonly fieldsRedacted: number;
|
|
30
30
|
/** The configured redaction paths that matched */
|
|
31
31
|
readonly paths: readonly string[];
|
|
32
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
33
|
+
readonly traceId?: string;
|
|
32
34
|
readonly timestamp: number;
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
@@ -47,6 +49,8 @@ export interface PresenterSliceEvent {
|
|
|
47
49
|
readonly rowsRaw: number;
|
|
48
50
|
/** Number of rows/items after filtering */
|
|
49
51
|
readonly rowsWire: number;
|
|
52
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
53
|
+
readonly traceId?: string;
|
|
50
54
|
readonly timestamp: number;
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
@@ -59,6 +63,8 @@ export interface PresenterRulesEvent {
|
|
|
59
63
|
readonly action: string;
|
|
60
64
|
/** The system rules injected into the response */
|
|
61
65
|
readonly rules: readonly string[];
|
|
66
|
+
/** Short hex trace ID for correlating events in the same request lifecycle */
|
|
67
|
+
readonly traceId?: string;
|
|
62
68
|
readonly timestamp: number;
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelemetryEvent.d.ts","sourceRoot":"","sources":["../../src/observability/TelemetryEvent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TelemetryEvent.d.ts","sourceRoot":"","sources":["../../src/observability/TelemetryEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,4 +7,7 @@ export { createDebugObserver } from './DebugObserver.js';
|
|
|
7
7
|
export type { DebugEvent, DebugObserverFn, RouteEvent, ValidateEvent, MiddlewareEvent, ExecuteEvent, ErrorEvent, GovernanceEvent, GovernanceOperation, } from './DebugObserver.js';
|
|
8
8
|
export { SpanStatusCode } from './Tracing.js';
|
|
9
9
|
export type { FusionSpan, FusionTracer, FusionAttributeValue } from './Tracing.js';
|
|
10
|
+
export { createTelemetryBus, getTelemetryPath, discoverSockets } from './TelemetryBus.js';
|
|
11
|
+
export type { TelemetryBusConfig, TelemetryBusInstance } from './TelemetryBus.js';
|
|
12
|
+
export type { TelemetryEvent, TelemetrySink, DlpRedactEvent, PresenterSliceEvent, PresenterRulesEvent, SandboxExecEvent, FsmTransitionEvent, TopologyEvent, TopologyTool, HeartbeatEvent, } from './TelemetryEvent.js';
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EACR,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EACpE,eAAe,EAAE,mBAAmB,GACvC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EACR,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EACpE,eAAe,EAAE,mBAAmB,GACvC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EACR,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EACxD,gBAAgB,EAAE,kBAAkB,EACpC,aAAa,EAAE,YAAY,EAAE,cAAc,GAC9C,MAAM,qBAAqB,CAAC"}
|
|
@@ -7,4 +7,6 @@
|
|
|
7
7
|
export { createDebugObserver } from './DebugObserver.js';
|
|
8
8
|
// ── Tracing (OpenTelemetry-compatible) ───────────────────
|
|
9
9
|
export { SpanStatusCode } from './Tracing.js';
|
|
10
|
+
// ── Telemetry (Shadow Socket Out-of-Band Transport) ──────
|
|
11
|
+
export { createTelemetryBus, getTelemetryPath, discoverSockets } from './TelemetryBus.js';
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4DAA4D;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4DAA4D;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,4DAA4D;AAC5D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -10,6 +10,17 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { type ToolResponse } from '../core/response.js';
|
|
12
12
|
import { type Presenter } from './Presenter.js';
|
|
13
|
+
import { type TelemetrySink } from '../observability/TelemetryEvent.js';
|
|
14
|
+
/**
|
|
15
|
+
* Optional telemetry context for Presenter event emission.
|
|
16
|
+
* Keeps the fast path (no telemetry) at zero overhead.
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export interface PostProcessTelemetry {
|
|
20
|
+
readonly sink: TelemetrySink;
|
|
21
|
+
readonly tool: string;
|
|
22
|
+
readonly action: string;
|
|
23
|
+
}
|
|
13
24
|
/**
|
|
14
25
|
* Post-process a handler's return value through the MVA priority hierarchy.
|
|
15
26
|
*
|
|
@@ -23,11 +34,12 @@ import { type Presenter } from './Presenter.js';
|
|
|
23
34
|
* @param presenter - The action's Presenter (from `returns` field), if any
|
|
24
35
|
* @param ctx - Optional request context
|
|
25
36
|
* @param selectFields - Optional `_select` field names for context window optimization
|
|
37
|
+
* @param telemetry - Optional telemetry context for Presenter events
|
|
26
38
|
* @returns A valid MCP ToolResponse
|
|
27
39
|
*
|
|
28
40
|
* @internal
|
|
29
41
|
*/
|
|
30
|
-
export declare function postProcessResult(result: unknown, presenter: Presenter<unknown> | undefined, ctx?: unknown, selectFields?: string[]): ToolResponse;
|
|
42
|
+
export declare function postProcessResult(result: unknown, presenter: Presenter<unknown> | undefined, ctx?: unknown, selectFields?: string[], telemetry?: PostProcessTelemetry): ToolResponse;
|
|
31
43
|
/**
|
|
32
44
|
* Check if a value is a valid MCP ToolResponse.
|
|
33
45
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostProcessor.d.ts","sourceRoot":"","sources":["../../src/presenter/PostProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"PostProcessor.d.ts","sourceRoot":"","sources":["../../src/presenter/PostProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAIxE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,EACzC,GAAG,CAAC,EAAE,OAAO,EACb,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,SAAS,CAAC,EAAE,oBAAoB,GACjC,YAAY,CAqGd;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE"}
|