@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.
Files changed (69) hide show
  1. package/dist/cli/fusion.d.ts.map +1 -1
  2. package/dist/cli/fusion.js +59 -3
  3. package/dist/cli/fusion.js.map +1 -1
  4. package/dist/cli/scaffold.js +2 -1
  5. package/dist/cli/scaffold.js.map +1 -1
  6. package/dist/cli/templates/core.d.ts.map +1 -1
  7. package/dist/cli/templates/core.js +66 -48
  8. package/dist/cli/templates/core.js.map +1 -1
  9. package/dist/cli/templates/testing.d.ts.map +1 -1
  10. package/dist/cli/templates/testing.js +5 -4
  11. package/dist/cli/templates/testing.js.map +1 -1
  12. package/dist/core/builder/GroupedToolBuilder.d.ts +24 -0
  13. package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -1
  14. package/dist/core/builder/GroupedToolBuilder.js +112 -4
  15. package/dist/core/builder/GroupedToolBuilder.js.map +1 -1
  16. package/dist/core/execution/ExecutionPipeline.d.ts +2 -1
  17. package/dist/core/execution/ExecutionPipeline.d.ts.map +1 -1
  18. package/dist/core/execution/ExecutionPipeline.js +3 -3
  19. package/dist/core/execution/ExecutionPipeline.js.map +1 -1
  20. package/dist/core/execution/PipelineHooks.d.ts +13 -0
  21. package/dist/core/execution/PipelineHooks.d.ts.map +1 -1
  22. package/dist/core/execution/PipelineHooks.js +35 -0
  23. package/dist/core/execution/PipelineHooks.js.map +1 -1
  24. package/dist/core/registry/ToolRegistry.d.ts +11 -0
  25. package/dist/core/registry/ToolRegistry.d.ts.map +1 -1
  26. package/dist/core/registry/ToolRegistry.js +17 -0
  27. package/dist/core/registry/ToolRegistry.js.map +1 -1
  28. package/dist/index.d.ts +7 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +4 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/observability/DebugObserver.d.ts +10 -0
  33. package/dist/observability/DebugObserver.d.ts.map +1 -1
  34. package/dist/observability/DebugObserver.js.map +1 -1
  35. package/dist/observability/TelemetryBus.d.ts +17 -11
  36. package/dist/observability/TelemetryBus.d.ts.map +1 -1
  37. package/dist/observability/TelemetryBus.js +151 -35
  38. package/dist/observability/TelemetryBus.js.map +1 -1
  39. package/dist/observability/TelemetryEvent.d.ts +6 -0
  40. package/dist/observability/TelemetryEvent.d.ts.map +1 -1
  41. package/dist/observability/index.d.ts +3 -0
  42. package/dist/observability/index.d.ts.map +1 -1
  43. package/dist/observability/index.js +2 -0
  44. package/dist/observability/index.js.map +1 -1
  45. package/dist/presenter/PostProcessor.d.ts +13 -1
  46. package/dist/presenter/PostProcessor.d.ts.map +1 -1
  47. package/dist/presenter/PostProcessor.js +77 -2
  48. package/dist/presenter/PostProcessor.js.map +1 -1
  49. package/dist/presenter/Presenter.d.ts +17 -0
  50. package/dist/presenter/Presenter.d.ts.map +1 -1
  51. package/dist/presenter/Presenter.js +22 -0
  52. package/dist/presenter/Presenter.js.map +1 -1
  53. package/dist/sandbox/SandboxEngine.d.ts +13 -0
  54. package/dist/sandbox/SandboxEngine.d.ts.map +1 -1
  55. package/dist/sandbox/SandboxEngine.js +35 -3
  56. package/dist/sandbox/SandboxEngine.js.map +1 -1
  57. package/dist/server/ServerAttachment.d.ts +12 -0
  58. package/dist/server/ServerAttachment.d.ts.map +1 -1
  59. package/dist/server/ServerAttachment.js +48 -12
  60. package/dist/server/ServerAttachment.js.map +1 -1
  61. package/dist/server/index.d.ts +2 -0
  62. package/dist/server/index.d.ts.map +1 -1
  63. package/dist/server/index.js +2 -0
  64. package/dist/server/index.js.map +1 -1
  65. package/dist/server/startServer.d.ts +78 -0
  66. package/dist/server/startServer.d.ts.map +1 -0
  67. package/dist/server/startServer.js +100 -0
  68. package/dist/server/startServer.js.map +1 -0
  69. 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":"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"}
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAMH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;IAC/D,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAID;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GACzB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,eAAe,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,GAChB,UAAU,GACV,aAAa,GACb,eAAe,GACf,YAAY,GACZ,UAAU,GACV,eAAe,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAM1D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,eAAe,CA4C9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebugObserver.js","sourceRoot":"","sources":["../../src/observability/DebugObserver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAmJH,+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
+ {"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 a given process ID.
3
+ * Compute the IPC path for the telemetry socket.
4
4
  *
5
- * - Windows: `\\.\pipe\mcp-fusion-{pid}` (Named Pipe, auto-cleaned by OS)
6
- * - POSIX: `/tmp/mcp-fusion-{pid}.sock` (Unix Domain Socket)
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
- * @param pid - Process ID (defaults to `process.pid`)
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(pid?: number): string;
15
+ export declare function getTelemetryPath(fingerprint?: string): string;
12
16
  /**
13
- * Discover active telemetry sockets by scanning for `mcp-fusion-*.sock`.
14
- * Returns an array of `{ pid, path }` for each discovered socket.
17
+ * Discover active telemetry sockets by scanning the registry directory.
18
+ * Works on Windows, Mac, and Linux.
15
19
  *
16
- * On Windows, Named Pipes are not file-system entities, so we probe
17
- * a list of candidate PIDs from the user.
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(candidatePids?: number[]): Array<{
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":"AAiCA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAgBzE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B9F;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,CA+InG"}
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` / `davinci` TUI clients.
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 the IPC path for a given process ID.
49
+ * Compute a deterministic fingerprint from `process.cwd()`.
46
50
  *
47
- * - Windows: `\\.\pipe\mcp-fusion-{pid}` (Named Pipe, auto-cleaned by OS)
48
- * - POSIX: `/tmp/mcp-fusion-{pid}.sock` (Unix Domain Socket)
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
- * @param pid - Process ID (defaults to `process.pid`)
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(pid) {
54
- const id = pid ?? process.pid;
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
- * Discover active telemetry sockets by scanning for `mcp-fusion-*.sock`.
62
- * Returns an array of `{ pid, path }` for each discovered socket.
86
+ * Write a registry marker file so `discoverSockets()` can find this server.
87
+ * Creates `{REGISTRY_DIR}/{pid}.json` with metadata.
63
88
  *
64
- * On Windows, Named Pipes are not file-system entities, so we probe
65
- * a list of candidate PIDs from the user.
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 candidatePids - Optional list of PIDs to probe (Windows-only)
68
- * @returns Array of discovered sockets with their PIDs
125
+ * @param pid - Process ID to check
126
+ * @returns `true` if the process exists, `false` if it's dead
127
+ * @internal
69
128
  */
70
- export function discoverSockets(candidatePids) {
71
- if (platform() === 'win32') {
72
- // On Windows, Named Pipes don't live in the filesystem.
73
- // We probe the candidate PIDs by attempting a connection.
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
- // On POSIX: scan /tmp for mcp-fusion-*.sock files
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 { readdirSync } = require('node:fs');
82
- const files = readdirSync('/tmp');
153
+ const files = readdirSync(REGISTRY_DIR);
83
154
  for (const file of files) {
84
- const match = file.match(/^mcp-fusion-(\d+)\.sock$/);
85
- if (match) {
86
- const pid = parseInt(match[1], 10);
87
- const path = `/tmp/${file}`;
88
- results.push({ pid, path });
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
- // /tmp scan failedreturn empty
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.on('error', (err) => {
330
+ server.once('error', (err) => {
222
331
  if (err.code === 'EADDRINUSE') {
223
- // Final fallback: force unlink and retry
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":"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"}
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;AAEhD;;;;;;;;;;;;;;;;GAgBG;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,GACxB,YAAY,CAsBd;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE"}
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"}