@loop_ouroboros/mcp-hub-lite 1.2.9 → 1.3.1

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 (203) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +405 -331
  3. package/dist/client/assets/{HomeView-CGezWc0j.js → HomeView-DplI3V-h.js} +1 -1
  4. package/dist/client/assets/{ResourceDetailView-CDmWGdAK.css → ResourceDetailView-BkTSg91z.css} +1 -1
  5. package/dist/client/assets/ResourceDetailView-CeHPn99Y.js +1 -0
  6. package/dist/client/assets/ResourcesView-C1ObRhYS.js +1 -0
  7. package/dist/client/assets/ResourcesView-zgV8Nq7w.css +1 -0
  8. package/dist/client/assets/{ServerDashboard-g5p4VC_-.js → ServerDashboard-D7wG4Gvt.js} +1 -1
  9. package/dist/client/assets/{ServerDetail-DCQH8HIb.css → ServerDetail-CPNAFBPM.css} +1 -1
  10. package/dist/client/assets/ServerDetail-G23phOcJ.js +2 -0
  11. package/dist/client/assets/{ServerListView-DZsy2gaQ.js → ServerListView-BFiZLtPO.js} +1 -1
  12. package/dist/client/assets/{ServerStatusTags.vue_vue_type_script_setup_true_lang-DmGg4uuV.js → ServerStatusTags.vue_vue_type_script_setup_true_lang-Deb_SbFw.js} +1 -1
  13. package/dist/client/assets/SettingsView-QBFLZ6fP.js +1 -0
  14. package/dist/client/assets/ToolCallDialog-BQ9UJZ_-.css +1 -0
  15. package/dist/client/assets/ToolCallDialog-DYS-ADCL.js +1 -0
  16. package/dist/client/assets/ToolsView-DYwgtm7W.js +1 -0
  17. package/dist/client/assets/ToolsView-cO61nMNr.css +1 -0
  18. package/dist/client/assets/_baseClone-DQno9YO3.js +1 -0
  19. package/dist/client/assets/{el-form-item-CTsVV8sm.js → el-form-item-DF0zzQdH.js} +2 -2
  20. package/dist/client/assets/el-input-C_p2Qw42.js +1 -0
  21. package/dist/client/assets/el-loading-BaenpNzU.js +1 -0
  22. package/dist/client/assets/el-overlay-MbIUXSQ7.js +1 -0
  23. package/dist/client/assets/el-radio-group-COnCjCcz.js +1 -0
  24. package/dist/client/assets/el-skeleton-item-qj0eQP4s.js +1 -0
  25. package/dist/client/assets/el-switch-BZbXqB3_.js +1 -0
  26. package/dist/client/assets/el-tab-pane-w7RltRLd.js +1 -0
  27. package/dist/client/assets/el-table-column-OD8zhFcD.js +1 -0
  28. package/dist/client/assets/index-DwhULJXZ.js +2 -0
  29. package/dist/client/assets/{index-BNmwPGMT.css → index-UtsV0Cvh.css} +1 -1
  30. package/dist/client/assets/{omit-Btci9mp3.js → omit-BAJQlviJ.js} +1 -1
  31. package/dist/client/assets/raf-B1Ry7ruA.js +1 -0
  32. package/dist/client/assets/{vue-vendor-Dwcr0jep.js → vue-vendor-ClSvefnQ.js} +1 -1
  33. package/dist/client/index.html +3 -3
  34. package/dist/server/shared/models/constants.d.ts +8 -0
  35. package/dist/server/shared/models/constants.d.ts.map +1 -0
  36. package/dist/server/shared/models/constants.js +6 -0
  37. package/dist/server/shared/models/index.d.ts +1 -0
  38. package/dist/server/shared/models/index.d.ts.map +1 -1
  39. package/dist/server/shared/models/index.js +1 -0
  40. package/dist/server/shared/models/server.model.d.ts +14 -0
  41. package/dist/server/shared/models/server.model.d.ts.map +1 -1
  42. package/dist/server/shared/models/server.model.js +27 -4
  43. package/dist/server/shared/types/index.d.ts +0 -1
  44. package/dist/server/shared/types/index.d.ts.map +1 -1
  45. package/dist/server/shared/types/index.js +0 -1
  46. package/dist/server/src/api/mcp/debug-response-wrapper.js +1 -1
  47. package/dist/server/src/api/mcp/gateway.d.ts +10 -6
  48. package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
  49. package/dist/server/src/api/mcp/gateway.js +235 -87
  50. package/dist/server/src/api/web/hub-tools.d.ts.map +1 -1
  51. package/dist/server/src/api/web/hub-tools.js +11 -0
  52. package/dist/server/src/api/web/mcp-status.js +2 -2
  53. package/dist/server/src/api/web/search.d.ts +2 -16
  54. package/dist/server/src/api/web/search.d.ts.map +1 -1
  55. package/dist/server/src/api/web/search.js +22 -30
  56. package/dist/server/src/api/web/servers.js +1 -1
  57. package/dist/server/src/api/web/sessions.d.ts +1 -27
  58. package/dist/server/src/api/web/sessions.d.ts.map +1 -1
  59. package/dist/server/src/api/web/sessions.js +8 -97
  60. package/dist/server/src/api/ws/events.js +1 -1
  61. package/dist/server/src/api/ws/ws-handler.js +1 -1
  62. package/dist/server/src/app.d.ts.map +1 -1
  63. package/dist/server/src/app.js +6 -1
  64. package/dist/server/src/cli/commands/status.js +39 -1
  65. package/dist/server/src/cli/commands/tool-use.d.ts +10 -3
  66. package/dist/server/src/cli/commands/tool-use.d.ts.map +1 -1
  67. package/dist/server/src/cli/commands/tool-use.js +69 -30
  68. package/dist/server/src/cli/commands/use-guide.d.ts +0 -8
  69. package/dist/server/src/cli/commands/use-guide.d.ts.map +1 -1
  70. package/dist/server/src/cli/commands/use-guide.js +28 -170
  71. package/dist/server/src/cli/server.d.ts +10 -0
  72. package/dist/server/src/cli/server.d.ts.map +1 -1
  73. package/dist/server/src/cli/server.js +31 -1
  74. package/dist/server/src/config/config-change-logger.js +1 -1
  75. package/dist/server/src/config/config-loader.js +1 -1
  76. package/dist/server/src/config/config-manager.js +1 -1
  77. package/dist/server/src/config/config-migrator.d.ts +4 -48
  78. package/dist/server/src/config/config-migrator.d.ts.map +1 -1
  79. package/dist/server/src/config/config-migrator.js +2 -103
  80. package/dist/server/src/config/config-saver.js +1 -1
  81. package/dist/server/src/config/server-config-manager.js +1 -1
  82. package/dist/server/src/models/system-tools.constants.d.ts +2 -1
  83. package/dist/server/src/models/system-tools.constants.d.ts.map +1 -1
  84. package/dist/server/src/models/system-tools.constants.js +2 -1
  85. package/dist/server/src/pid/manager.js +1 -1
  86. package/dist/server/src/server/dev-server.js +4 -2
  87. package/dist/server/src/server/runner.d.ts.map +1 -1
  88. package/dist/server/src/server/runner.js +4 -2
  89. package/dist/server/src/server/startup.js +2 -2
  90. package/dist/server/src/services/connection/connection-manager.d.ts +2 -0
  91. package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -1
  92. package/dist/server/src/services/connection/connection-manager.js +27 -25
  93. package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -1
  94. package/dist/server/src/services/connection/tool-cache.js +10 -8
  95. package/dist/server/src/services/event-bus.service.d.ts +3 -1
  96. package/dist/server/src/services/event-bus.service.d.ts.map +1 -1
  97. package/dist/server/src/services/event-bus.service.js +1 -0
  98. package/dist/server/src/services/gateway/gateway.service.d.ts +14 -0
  99. package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -1
  100. package/dist/server/src/services/gateway/gateway.service.js +101 -7
  101. package/dist/server/src/services/gateway/global-transport.d.ts +20 -10
  102. package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -1
  103. package/dist/server/src/services/gateway/global-transport.js +50 -34
  104. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts +1 -2
  105. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -1
  106. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +24 -13
  107. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
  108. package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +22 -6
  109. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -1
  110. package/dist/server/src/services/gateway/request-handlers/resources-handler.js +12 -4
  111. package/dist/server/src/services/gateway/session-manager.d.ts +101 -0
  112. package/dist/server/src/services/gateway/session-manager.d.ts.map +1 -0
  113. package/dist/server/src/services/gateway/session-manager.js +256 -0
  114. package/dist/server/src/services/gateway/tool-list-generator.d.ts +14 -19
  115. package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -1
  116. package/dist/server/src/services/gateway/tool-list-generator.js +221 -80
  117. package/dist/server/src/services/hub-manager.service.d.ts.map +1 -1
  118. package/dist/server/src/services/hub-manager.service.js +15 -2
  119. package/dist/server/src/services/hub-tools/instance-selector.js +1 -1
  120. package/dist/server/src/services/hub-tools/resource-generator.d.ts +1 -22
  121. package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
  122. package/dist/server/src/services/hub-tools/resource-generator.js +24 -22
  123. package/dist/server/src/services/hub-tools/server-selector.js +1 -1
  124. package/dist/server/src/services/hub-tools.service.d.ts.map +1 -1
  125. package/dist/server/src/services/hub-tools.service.js +18 -13
  126. package/dist/server/src/services/log-storage.service.js +1 -1
  127. package/dist/server/src/services/system-tool-handler.js +1 -1
  128. package/dist/server/src/utils/error-handler.js +1 -1
  129. package/dist/server/src/utils/index.d.ts +1 -1
  130. package/dist/server/src/utils/index.d.ts.map +1 -1
  131. package/dist/server/src/utils/index.js +1 -1
  132. package/dist/server/src/utils/json-utils.d.ts +9 -0
  133. package/dist/server/src/utils/json-utils.d.ts.map +1 -1
  134. package/dist/server/src/utils/json-utils.js +23 -4
  135. package/dist/server/src/utils/log-rotator.d.ts +0 -15
  136. package/dist/server/src/utils/log-rotator.d.ts.map +1 -1
  137. package/dist/server/src/utils/log-rotator.js +0 -18
  138. package/dist/server/src/utils/logger/index.d.ts +1 -1
  139. package/dist/server/src/utils/logger/index.d.ts.map +1 -1
  140. package/dist/server/src/utils/logger/index.js +1 -1
  141. package/dist/server/src/utils/logger/log-context.d.ts +1 -0
  142. package/dist/server/src/utils/logger/log-context.d.ts.map +1 -1
  143. package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
  144. package/dist/server/src/utils/logger/log-formatter.js +25 -11
  145. package/dist/server/src/utils/logger/log-output.d.ts +17 -1
  146. package/dist/server/src/utils/logger/log-output.d.ts.map +1 -1
  147. package/dist/server/src/utils/logger/log-output.js +46 -40
  148. package/dist/server/src/utils/logger/logger.d.ts.map +1 -1
  149. package/dist/server/src/utils/logger/logger.js +18 -2
  150. package/dist/server/src/utils/port-checker.js +1 -1
  151. package/dist/server/src/utils/request-context.d.ts +8 -70
  152. package/dist/server/src/utils/request-context.d.ts.map +1 -1
  153. package/dist/server/src/utils/request-context.js +11 -70
  154. package/dist/server/src/utils/transports/stdio-transport.js +1 -1
  155. package/dist/server/src/utils/transports/streamable-http-transport.js +1 -1
  156. package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -1
  157. package/dist/server/src/utils/transports/transport-factory.js +26 -3
  158. package/dist/server/tests/contract/mcp-protocol/initialize.test.js +1 -1
  159. package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +1 -1
  160. package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +1 -1
  161. package/dist/server/tests/integration/gateway/fault-tolerance.test.js +1 -1
  162. package/dist/server/tests/integration/gateway/mcp-connection.test.js +1 -1
  163. package/dist/server/tests/types/logger-test-helpers.d.ts +1 -1
  164. package/dist/server/tests/types/logger-test-helpers.d.ts.map +1 -1
  165. package/dist/server/tests/unit/config/config-migrator.test.js +45 -105
  166. package/dist/server/tests/unit/config/config-saver.test.js +1 -1
  167. package/dist/server/tests/unit/config/config.schema.test.js +2 -1
  168. package/dist/server/tests/unit/server/runner.test.js +19 -13
  169. package/dist/server/tests/unit/services/gateway-logging.test.js +1 -1
  170. package/dist/server/tests/unit/services/gateway-session-mode.test.d.ts +2 -0
  171. package/dist/server/tests/unit/services/gateway-session-mode.test.d.ts.map +1 -0
  172. package/dist/server/tests/unit/services/gateway-session-mode.test.js +174 -0
  173. package/dist/server/tests/unit/services/hub-manager-service.test.js +4 -5
  174. package/dist/server/tests/unit/services/hub-tools.service.test.js +82 -6
  175. package/dist/server/tests/unit/utils/config.test.js +14 -7
  176. package/dist/server/tests/unit/utils/log-output.test.d.ts +2 -0
  177. package/dist/server/tests/unit/utils/log-output.test.d.ts.map +1 -0
  178. package/dist/server/tests/unit/utils/log-output.test.js +198 -0
  179. package/dist/server/tests/unit/utils/log-rotator.test.js +1 -15
  180. package/dist/server/tests/unit/utils/logger.test.js +1 -1
  181. package/dist/server/vitest.config.d.ts.map +1 -1
  182. package/dist/server/vitest.config.js +0 -2
  183. package/package.json +1 -3
  184. package/dist/client/assets/ResourceDetailView-Bi5UsbFq.js +0 -1
  185. package/dist/client/assets/ResourcesView-B9anSm85.js +0 -1
  186. package/dist/client/assets/ResourcesView-Cc8RHtia.css +0 -1
  187. package/dist/client/assets/ServerDetail-DMoFqWCp.js +0 -2
  188. package/dist/client/assets/SettingsView-DQSWb9xM.js +0 -1
  189. package/dist/client/assets/ToolCallDialog-BEyRp_J3.js +0 -1
  190. package/dist/client/assets/ToolCallDialog-BhdPX-Kf.css +0 -1
  191. package/dist/client/assets/ToolsView-BU7PKJwt.js +0 -1
  192. package/dist/client/assets/ToolsView-BkrQLjH9.css +0 -1
  193. package/dist/client/assets/_baseClone-DsVtZfPm.js +0 -1
  194. package/dist/client/assets/el-input-Bh1VGJTU.js +0 -1
  195. package/dist/client/assets/el-loading-huOeK9cW.js +0 -1
  196. package/dist/client/assets/el-overlay-CR_KVhLU.js +0 -1
  197. package/dist/client/assets/el-radio-group-BSbtAW4k.js +0 -1
  198. package/dist/client/assets/el-skeleton-item-BSxOLPFM.js +0 -1
  199. package/dist/client/assets/el-switch-BaQUQWTL.js +0 -1
  200. package/dist/client/assets/el-tab-pane-9JxLgdS7.js +0 -1
  201. package/dist/client/assets/el-table-column-Du1l9Ww3.js +0 -1
  202. package/dist/client/assets/index-CsZoFRv1.js +0 -2
  203. package/dist/client/assets/raf-tUu4BwZS.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { hubToolsService } from './hub-tools.service.js';
2
2
  import { McpError } from '@modelcontextprotocol/sdk/types.js';
3
- import { logger, LOG_MODULES } from '../utils/logger.js';
3
+ import { logger, LOG_MODULES } from '../utils/logger/index.js';
4
4
  import { LIST_SERVERS_TOOL, LIST_TOOLS_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, UPDATE_SERVER_DESCRIPTION_TOOL, LIST_TAGS_TOOL, SEARCH_TOOLS_TOOL } from '../models/system-tools.constants.js';
5
5
  import { stringifyForLogging } from '../utils/json-utils.js';
6
6
  /**
@@ -1,5 +1,5 @@
1
1
  import { McpError } from '@modelcontextprotocol/sdk/types.js';
2
- import { logger } from './logger.js';
2
+ import { logger } from './logger/index.js';
3
3
  import { LOG_MODULES } from './logger/log-modules.js';
4
4
  /**
5
5
  * Unified error handler
@@ -1,4 +1,4 @@
1
- export { logger, LOG_MODULES } from './logger.js';
1
+ export { logger, LOG_MODULES } from './logger/index.js';
2
2
  export * from './sort-utils.js';
3
3
  export * from './version.js';
4
4
  export { normalizeToolName } from './name-converter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { logger, LOG_MODULES } from './logger.js';
1
+ export { logger, LOG_MODULES } from './logger/index.js';
2
2
  export * from './sort-utils.js';
3
3
  export * from './version.js';
4
4
  export { normalizeToolName } from './name-converter.js';
@@ -25,6 +25,7 @@ type ConfigGetter = () => {
25
25
  mcpCommDebug: boolean;
26
26
  apiDebug: boolean;
27
27
  gatewayDebug: boolean;
28
+ showTraceContext?: boolean;
28
29
  };
29
30
  };
30
31
  };
@@ -72,6 +73,14 @@ export declare function getApiDebugSetting(): boolean;
72
73
  * @returns boolean indicating whether to enable Gateway debug logging
73
74
  */
74
75
  export declare function getGatewayDebugSetting(): boolean;
76
+ /**
77
+ * Get the showTraceContext configuration value.
78
+ * Controls whether [SSN]/[TID]/[SID] trace context markers appear in log output.
79
+ * Defaults to true.
80
+ *
81
+ * @returns boolean indicating whether to show trace context in logs
82
+ */
83
+ export declare function getShowTraceContextSetting(): boolean;
75
84
  /**
76
85
  * Stringify object for logging with dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
77
86
  * @param obj Object to stringify
@@ -1 +1 @@
1
- {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAiED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IACxB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC;YAClB,YAAY,EAAE,OAAO,CAAC;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAiB9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAU5C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAClD,MAAM,CAOR"}
1
+ {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAiED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IACxB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC;YAClB,YAAY,EAAE,OAAO,CAAC;YACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;SAC5B,CAAC;KACH,CAAC;CACH,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAiB9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAU5C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAUpD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAClD,MAAM,CAOR"}
@@ -198,6 +198,25 @@ export function getGatewayDebugSetting() {
198
198
  }
199
199
  return getDefaultForDevMode(false);
200
200
  }
201
+ /**
202
+ * Get the showTraceContext configuration value.
203
+ * Controls whether [SSN]/[TID]/[SID] trace context markers appear in log output.
204
+ * Defaults to true.
205
+ *
206
+ * @returns boolean indicating whether to show trace context in logs
207
+ */
208
+ export function getShowTraceContextSetting() {
209
+ if (_configGetter) {
210
+ try {
211
+ const config = _configGetter();
212
+ return config.system.logging.showTraceContext ?? true;
213
+ }
214
+ catch {
215
+ // Fall through to default if config getter fails
216
+ }
217
+ }
218
+ return true; // default enabled
219
+ }
201
220
  /**
202
221
  * Stringify object for logging with dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
203
222
  * @param obj Object to stringify
@@ -207,9 +226,9 @@ export function stringifyForLogging(obj) {
207
226
  const jsonPretty = getJsonPrettySetting();
208
227
  if (jsonPretty) {
209
228
  const jsonStr = JSON.stringify(obj, null, 2);
210
- return processPrettyJsonForLogging(jsonStr);
229
+ return '\n' + processPrettyJsonForLogging(jsonStr);
211
230
  }
212
- return JSON.stringify(obj);
231
+ return '\n' + JSON.stringify(obj);
213
232
  }
214
233
  /**
215
234
  * Stringify object for logging with replacer and dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
@@ -221,7 +240,7 @@ export function stringifyForLoggingWithReplacer(obj, replacer) {
221
240
  const jsonPretty = getJsonPrettySetting();
222
241
  if (jsonPretty) {
223
242
  const jsonStr = JSON.stringify(obj, replacer, 2);
224
- return processPrettyJsonForLogging(jsonStr);
243
+ return '\n' + processPrettyJsonForLogging(jsonStr);
225
244
  }
226
- return JSON.stringify(obj, replacer);
245
+ return '\n' + JSON.stringify(obj, replacer);
227
246
  }
@@ -128,21 +128,6 @@ export declare class LogRotator {
128
128
  * ```
129
129
  */
130
130
  getLatestLogFilePath(): string | null;
131
- /**
132
- * Gets the current log file path (backward compatibility).
133
- *
134
- * This method is maintained for backward compatibility. It first tries to get
135
- * the latest existing log file. If none exists, it creates a new one.
136
- *
137
- * @returns {string} The absolute file path for the current log file.
138
- * @deprecated Use createNewLogFilePath() or getLatestLogFilePath() instead
139
- * @example
140
- * ```typescript
141
- * const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
142
- * const logPath = rotator.getCurrentLogFilePath();
143
- * ```
144
- */
145
- getCurrentLogFilePath(): string;
146
131
  /**
147
132
  * Performs log rotation by cleaning up old log files beyond the retention period.
148
133
  *
@@ -1 +1 @@
1
- {"version":3,"file":"log-rotator.d.ts","sourceRoot":"","sources":["../../../../src/utils/log-rotator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IAAE,MAAM,EAAE;QAAE,OAAO,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAAsB;IAE1C;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAkB,EAC/B,YAAY,CAAC,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;IAa7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;;;;;;;;;;;OAiBG;IACI,oBAAoB,IAAI,MAAM;IAKrC;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAK5C;;;;;;;;;;;;;OAaG;IACI,qBAAqB,IAAI,MAAM;IAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,UAAU,IAAI,IAAI;IAwBzB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,WAAW,IAAI,MAAM,EAAE;IAqB9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,uBAAuB;CA8BhC"}
1
+ {"version":3,"file":"log-rotator.d.ts","sourceRoot":"","sources":["../../../../src/utils/log-rotator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IAAE,MAAM,EAAE;QAAE,OAAO,EAAE;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAAsB;IAE1C;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAkB,EAC/B,YAAY,CAAC,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;IAa7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;;;;;;;;;;;OAiBG;IACI,oBAAoB,IAAI,MAAM;IAKrC;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,UAAU,IAAI,IAAI;IAwBzB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,WAAW,IAAI,MAAM,EAAE;IAqB9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,uBAAuB;CA8BhC"}
@@ -159,24 +159,6 @@ export class LogRotator {
159
159
  const logFiles = this.getLogFiles();
160
160
  return logFiles.length > 0 ? logFiles[0] : null;
161
161
  }
162
- /**
163
- * Gets the current log file path (backward compatibility).
164
- *
165
- * This method is maintained for backward compatibility. It first tries to get
166
- * the latest existing log file. If none exists, it creates a new one.
167
- *
168
- * @returns {string} The absolute file path for the current log file.
169
- * @deprecated Use createNewLogFilePath() or getLatestLogFilePath() instead
170
- * @example
171
- * ```typescript
172
- * const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
173
- * const logPath = rotator.getCurrentLogFilePath();
174
- * ```
175
- */
176
- getCurrentLogFilePath() {
177
- const latest = this.getLatestLogFilePath();
178
- return latest ?? this.createNewLogFilePath();
179
- }
180
162
  /**
181
163
  * Performs log rotation by cleaning up old log files beyond the retention period.
182
164
  *
@@ -7,7 +7,7 @@ export { LOG_MODULES } from './log-modules.js';
7
7
  export type { LogModuleKey, LogModule } from './log-modules.js';
8
8
  export { COLORS, getColorCodeForLevel, getResetColor } from './log-colors.js';
9
9
  export { formatTimestamp, formatLogLevel, formatPid, createColoredLogMessage, createLogMessage, formatError } from './log-formatter.js';
10
- export { isToolsListResponse, simplifyToolsListResponse, hasImageContent, simplifyImageContent, formatMcpMessageForLogging, isNotificationMessage, logNotificationMessage } from './log-output.js';
10
+ export { isToolsListResponse, simplifyToolsListResponse, hasImageContent, simplifyImageContent, hasDataUriImage, simplifyDataUriImages, formatMcpMessageForLogging, isNotificationMessage, logNotificationMessage } from './log-output.js';
11
11
  export { Logger } from './logger.js';
12
12
  import { Logger } from './logger.js';
13
13
  export declare const logger: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,eAAO,MAAM,MAAM,QAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,eAAO,MAAM,MAAM,QAAe,CAAC"}
@@ -9,7 +9,7 @@ export { COLORS, getColorCodeForLevel, getResetColor } from './log-colors.js';
9
9
  // Re-export formatter utilities
10
10
  export { formatTimestamp, formatLogLevel, formatPid, createColoredLogMessage, createLogMessage, formatError } from './log-formatter.js';
11
11
  // Re-export output utilities
12
- export { isToolsListResponse, simplifyToolsListResponse, hasImageContent, simplifyImageContent, formatMcpMessageForLogging, isNotificationMessage, logNotificationMessage } from './log-output.js';
12
+ export { isToolsListResponse, simplifyToolsListResponse, hasImageContent, simplifyImageContent, hasDataUriImage, simplifyDataUriImages, formatMcpMessageForLogging, isNotificationMessage, logNotificationMessage } from './log-output.js';
13
13
  // Re-export main Logger class
14
14
  export { Logger } from './logger.js';
15
15
  // Create and export the default logger instance
@@ -6,6 +6,7 @@ export interface LogContext {
6
6
  pid?: number;
7
7
  serverName?: string;
8
8
  module?: string;
9
+ sessionId?: string;
9
10
  traceId?: string;
10
11
  spanId?: string;
11
12
  caller?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,YAAY,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"log-formatter.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,UAAU,SAAI,GAAG,UAAU,GAAG,IAAI,CAQ/D;AA2HD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CASlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAatD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CAsCR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CA6B/F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAyHlD"}
1
+ {"version":3,"file":"log-formatter.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,UAAU,SAAI,GAAG,UAAU,GAAG,IAAI,CAQ/D;AA2HD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CASlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAatD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CA2CR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAkC/F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4HlD"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { stringifyForLogging } from '../json-utils.js';
6
6
  import { getColorCodeForLevel, getResetColor, COLORS } from './log-colors.js';
7
+ import { getShowTraceContextSetting } from '../json-utils.js';
7
8
  // PID formatting configuration
8
9
  const PID_WIDTH = 8;
9
10
  /**
@@ -272,11 +273,16 @@ export function createColoredLogMessage(level, message, context) {
272
273
  const callerColor = COLORS.brightBlue;
273
274
  const resetColor = getResetColor();
274
275
  let result = `${timestampColor}[${timestamp}]${resetColor} ${levelColor}[${formattedLevel}]${resetColor} ${pidColor}[${formattedPid}]${resetColor}`;
275
- if (context?.traceId) {
276
- result += ` ${traceColor}[TID:${context.traceId}]${resetColor}`;
277
- }
278
- if (context?.spanId) {
279
- result += ` ${traceColor}[SID:${context.spanId}]${resetColor}`;
276
+ if (getShowTraceContextSetting()) {
277
+ if (context?.sessionId) {
278
+ result += ` ${traceColor}[SSN:${context.sessionId}]${resetColor}`;
279
+ }
280
+ if (context?.traceId) {
281
+ result += ` ${traceColor}[TID:${context.traceId}]${resetColor}`;
282
+ }
283
+ if (context?.spanId) {
284
+ result += ` ${traceColor}[SID:${context.spanId}]${resetColor}`;
285
+ }
280
286
  }
281
287
  result += ` ${serverColor}[${actualServerName}]${resetColor}`;
282
288
  if (context?.module) {
@@ -302,11 +308,16 @@ export function createLogMessage(level, message, context) {
302
308
  const pidStr = processPid.toString().padStart(PID_WIDTH, ' ');
303
309
  const serverIdentifier = context?.serverName || 'mcp-hub';
304
310
  let result = `[${timestamp}] [${formattedLevel}] [PID:${pidStr}]`;
305
- if (context?.traceId) {
306
- result += ` [TID:${context.traceId}]`;
307
- }
308
- if (context?.spanId) {
309
- result += ` [SID:${context.spanId}]`;
311
+ if (getShowTraceContextSetting()) {
312
+ if (context?.sessionId) {
313
+ result += ` [SSN:${context.sessionId}]`;
314
+ }
315
+ if (context?.traceId) {
316
+ result += ` [TID:${context.traceId}]`;
317
+ }
318
+ if (context?.spanId) {
319
+ result += ` [SID:${context.spanId}]`;
320
+ }
310
321
  }
311
322
  result += ` [${serverIdentifier}]`;
312
323
  if (context?.module) {
@@ -336,7 +347,10 @@ export function formatError(error) {
336
347
  if (typeof element === 'object' &&
337
348
  element !== null &&
338
349
  !Array.isArray(element) &&
339
- ('module' in element || 'traceId' in element || 'spanId' in element)) {
350
+ ('module' in element ||
351
+ 'traceId' in element ||
352
+ 'spanId' in element ||
353
+ 'sessionId' in element)) {
340
354
  return '';
341
355
  }
342
356
  // Otherwise format the single element
@@ -32,9 +32,25 @@ export declare function isNotificationMessage(message: unknown): message is Noti
32
32
  * @param serverId - Optional server ID for log storage (for frontend display)
33
33
  */
34
34
  export declare function logNotificationMessage(message: unknown, context: string, serverId?: string): void;
35
+ /**
36
+ * Check if JSON string contains data:image/*;base64 data URIs.
37
+ * These commonly appear in serverInfo.icons[].src and other metadata fields.
38
+ *
39
+ * @param data - JSON string to check
40
+ * @returns true if it contains data:image data URIs
41
+ */
42
+ export declare function hasDataUriImage(data: string): boolean;
43
+ /**
44
+ * Simplify data URI images by replacing base64 payload with placeholder.
45
+ * Matches all data:image/*;base64,... patterns and truncates the payload.
46
+ *
47
+ * @param data - JSON string containing data URIs
48
+ * @returns JSON string with base64 payloads replaced
49
+ */
50
+ export declare function simplifyDataUriImages(data: string): string;
35
51
  /**
36
52
  * Format an MCP message for logging, with simplification for tools/list,
37
- * resources/list, capabilities responses, and image content.
53
+ * resources/list, capabilities responses, image content, and data URI images.
38
54
  *
39
55
  * @param message - The MCP message object to format
40
56
  * @returns Formatted log message string
@@ -1 +1 @@
1
- {"version":3,"file":"log-output.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,UAAU,yBAAyB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,mBAAmB,CAMtF;AAqBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAiDjG;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA4BnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgCrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqDzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAyCzD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuFrE"}
1
+ {"version":3,"file":"log-output.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,UAAU,yBAAyB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,mBAAmB,CAMtF;AAqBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAiDjG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA8CnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgCrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqDzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA+BzD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiDrE"}
@@ -87,9 +87,29 @@ export function logNotificationMessage(message, context, serverId) {
87
87
  logStorage.append(serverId, logLevel, `[${serverName}] ${messageContent}`);
88
88
  }
89
89
  }
90
+ /**
91
+ * Check if JSON string contains data:image/*;base64 data URIs.
92
+ * These commonly appear in serverInfo.icons[].src and other metadata fields.
93
+ *
94
+ * @param data - JSON string to check
95
+ * @returns true if it contains data:image data URIs
96
+ */
97
+ export function hasDataUriImage(data) {
98
+ return /data:image\/[^;]+;base64,/.test(data);
99
+ }
100
+ /**
101
+ * Simplify data URI images by replacing base64 payload with placeholder.
102
+ * Matches all data:image/*;base64,... patterns and truncates the payload.
103
+ *
104
+ * @param data - JSON string containing data URIs
105
+ * @returns JSON string with base64 payloads replaced
106
+ */
107
+ export function simplifyDataUriImages(data) {
108
+ return data.replace(/(data:image\/[^;]+;base64,)[A-Za-z0-9+/=]+/g, '$1[Truncated]');
109
+ }
90
110
  /**
91
111
  * Format an MCP message for logging, with simplification for tools/list,
92
- * resources/list, capabilities responses, and image content.
112
+ * resources/list, capabilities responses, image content, and data URI images.
93
113
  *
94
114
  * @param message - The MCP message object to format
95
115
  * @returns Formatted log message string
@@ -101,8 +121,20 @@ export function formatMcpMessageForLogging(message) {
101
121
  if (isToolsListResponse(rawJson)) {
102
122
  const simplified = simplifyToolsListResponse(rawJson);
103
123
  if (simplified === null) {
104
- // Could not simplify, use pretty JSON formatting
105
- logMessage = stringifyForLogging(message);
124
+ // Could not simplify, fall through to other checks
125
+ if (hasDataUriImage(rawJson)) {
126
+ const truncated = simplifyDataUriImages(rawJson);
127
+ try {
128
+ const parsed = JSON.parse(truncated);
129
+ logMessage = stringifyForLogging(parsed);
130
+ }
131
+ catch {
132
+ logMessage = truncated;
133
+ }
134
+ }
135
+ else {
136
+ logMessage = stringifyForLogging(message);
137
+ }
106
138
  }
107
139
  else {
108
140
  logMessage = simplified;
@@ -118,6 +150,16 @@ export function formatMcpMessageForLogging(message) {
118
150
  logMessage = simplified;
119
151
  }
120
152
  }
153
+ else if (hasDataUriImage(rawJson)) {
154
+ const simplified = simplifyDataUriImages(rawJson);
155
+ try {
156
+ const parsed = JSON.parse(simplified);
157
+ logMessage = stringifyForLogging(parsed);
158
+ }
159
+ catch {
160
+ logMessage = simplified;
161
+ }
162
+ }
121
163
  else {
122
164
  logMessage = stringifyForLogging(message);
123
165
  }
@@ -192,7 +234,7 @@ export function simplifyImageContent(data) {
192
234
  'data' in item) {
193
235
  return {
194
236
  ...item,
195
- data: '[BinaryImageData]'
237
+ data: '[Truncated]'
196
238
  };
197
239
  }
198
240
  return item;
@@ -243,14 +285,6 @@ export function isToolsListResponse(data) {
243
285
  if ('resources' in result) {
244
286
  return true;
245
287
  }
246
- if ('capabilities' in result &&
247
- typeof result.capabilities === 'object' &&
248
- result.capabilities !== null) {
249
- const capabilities = result.capabilities;
250
- if ('tools' in capabilities || 'resources' in capabilities) {
251
- return true;
252
- }
253
- }
254
288
  }
255
289
  }
256
290
  }
@@ -301,34 +335,6 @@ export function simplifyToolsListResponse(data) {
301
335
  // No resources, don't simplify
302
336
  return null;
303
337
  }
304
- if ('capabilities' in result &&
305
- typeof result.capabilities === 'object' &&
306
- result.capabilities !== null) {
307
- const capabilities = result.capabilities;
308
- let toolsCount = 0;
309
- let resourcesCount = 0;
310
- if ('tools' in capabilities &&
311
- typeof capabilities.tools === 'object' &&
312
- capabilities.tools !== null) {
313
- toolsCount = Object.keys(capabilities.tools).length;
314
- }
315
- if ('resources' in capabilities &&
316
- typeof capabilities.resources === 'object' &&
317
- capabilities.resources !== null) {
318
- resourcesCount = Object.keys(capabilities.resources).length;
319
- }
320
- if (toolsCount > 0 && resourcesCount > 0) {
321
- return `Returned ${toolsCount} tools and ${resourcesCount} resources`;
322
- }
323
- else if (toolsCount > 0) {
324
- return `Returned ${toolsCount} tools`;
325
- }
326
- else if (resourcesCount > 0) {
327
- return `Returned ${resourcesCount} resources`;
328
- }
329
- // No tools or resources, don't simplify
330
- return null;
331
- }
332
338
  }
333
339
  }
334
340
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAc5C,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAA8B;gBAEnC,KAAK,GAAE,QAAiB;IAoBpC;;;;;;;;;OASG;IACI,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;;;;;;;;;OAYG;IACI,YAAY,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAO5E,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIvC;;;;;;;;;OASG;IACI,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO;IAK1C;;OAEG;IACH,OAAO,CAAC,GAAG;IAuDX;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD,OAAO,CAAC,qBAAqB;IAkB7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;;OAGG;IACH,SAAS,CACP,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GACvC,IAAI;IAuBP;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAuD3B;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAIvF;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAIhF;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAInC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAInC;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAIvC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG/B"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAA8B;gBAEnC,KAAK,GAAE,QAAiB;IAoBpC;;;;;;;;;OASG;IACI,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;;;;;;;;;OAYG;IACI,YAAY,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAO5E,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIvC;;;;;;;;;OASG;IACI,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO;IAK1C;;OAEG;IACH,OAAO,CAAC,GAAG;IA8DX;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD,OAAO,CAAC,qBAAqB;IAkB7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;;OAGG;IACH,SAAS,CACP,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GACvC,IAAI;IAuBP;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAIvF;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAIhF;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAInC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAInC;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAIvC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG/B"}
@@ -30,7 +30,8 @@
30
30
  import { DevLogger } from './dev-logger.js';
31
31
  import { LOG_MODULES } from './log-modules.js';
32
32
  import { createColoredLogMessage, createLogMessage, formatError, formatTimestamp, formatLogLevel, formatPid, getCallerInfo, formatCallerInfo } from './log-formatter.js';
33
- import { setDevModeEnabled } from '../json-utils.js';
33
+ import { setDevModeEnabled, getShowTraceContextSetting } from '../json-utils.js';
34
+ import { getTraceIdFromContext, getSessionIdFromContext, isInRequestContext } from '../request-context.js';
34
35
  export class Logger {
35
36
  level = 'info';
36
37
  useStderr = false;
@@ -124,9 +125,17 @@ export class Logger {
124
125
  // Build context object
125
126
  const context = {
126
127
  ...(options?.module && { module: options.module }),
128
+ ...(options?.sessionId && { sessionId: options.sessionId }),
127
129
  ...(options?.traceId && { traceId: options.traceId }),
128
130
  ...(options?.spanId && { spanId: options.spanId })
129
131
  };
132
+ // Auto-inject trace context from ALS when showTraceContext enabled
133
+ if (getShowTraceContextSetting() && isInRequestContext()) {
134
+ if (!context.sessionId)
135
+ context.sessionId = getSessionIdFromContext() || '-';
136
+ if (!context.traceId)
137
+ context.traceId = getTraceIdFromContext() || '-';
138
+ }
130
139
  // Add caller info if enabled
131
140
  if (this.showCaller) {
132
141
  const callerInfo = getCallerInfo(4); // Skip 4 frames to get to the actual caller
@@ -241,7 +250,7 @@ export class Logger {
241
250
  const optionsIndex = args.findIndex((arg) => typeof arg === 'object' &&
242
251
  arg !== null &&
243
252
  !Array.isArray(arg) &&
244
- ('module' in arg || 'traceId' in arg || 'spanId' in arg));
253
+ ('module' in arg || 'sessionId' in arg || 'traceId' in arg || 'spanId' in arg));
245
254
  if (optionsIndex !== -1) {
246
255
  const options = args[optionsIndex];
247
256
  const restArgs = [...args.slice(0, optionsIndex), ...args.slice(optionsIndex + 1)];
@@ -287,6 +296,13 @@ export class Logger {
287
296
  ...context,
288
297
  serverName
289
298
  };
299
+ // Auto-inject trace context from ALS when showTraceContext enabled
300
+ if (getShowTraceContextSetting() && isInRequestContext()) {
301
+ if (!logContext.sessionId)
302
+ logContext.sessionId = getSessionIdFromContext() || '-';
303
+ if (!logContext.traceId)
304
+ logContext.traceId = getTraceIdFromContext() || '-';
305
+ }
290
306
  // Add caller info if enabled (only once per serverLog call would be better,
291
307
  // but for consistency with multi-line logging, we add it for each line)
292
308
  if (this.showCaller) {
@@ -5,7 +5,7 @@
5
5
  import { exec } from 'child_process';
6
6
  import { promisify } from 'util';
7
7
  import { PidManager } from '../pid/manager.js';
8
- import { logger, LOG_MODULES } from './logger.js';
8
+ import { logger, LOG_MODULES } from './logger/index.js';
9
9
  const execAsync = promisify(exec);
10
10
  /**
11
11
  * Check if port is in use
@@ -1,71 +1,9 @@
1
- /**
2
- * Request context management using AsyncLocalStorage for request-scoped data.
3
- *
4
- * This module provides a way to store and access request-specific context data
5
- * across asynchronous operations without having to pass context objects through
6
- * every function call. It uses Node.js AsyncLocalStorage to maintain context
7
- * throughout the request lifecycle.
8
- *
9
- * The primary use case is storing session context information (sessionId, clientName,
10
- * cwd, project, etc.) that needs to be accessible from any part of the application
11
- * during request processing.
12
- *
13
- * @module utils/request-context
14
- */
15
- import { AsyncLocalStorage } from 'async_hooks';
16
- import type { SessionContext } from '../../shared/types/session-context.types.js';
17
- /**
18
- * AsyncLocalStorage instance for storing request context.
19
- *
20
- * This storage holds the SessionContext object for the current request and
21
- * makes it available throughout the entire request processing chain,
22
- * including asynchronous operations and nested function calls.
23
- *
24
- * @example
25
- * ```typescript
26
- * // In route handler
27
- * await requestContext.run(sessionContext, async () => {
28
- * // Any code executed here can access the session context
29
- * const ctx = getSessionContext();
30
- * console.log(ctx.sessionId);
31
- * });
32
- * ```
33
- */
34
- export declare const requestContext: AsyncLocalStorage<SessionContext>;
35
- /**
36
- * Retrieves the current request's session context.
37
- *
38
- * This function returns the SessionContext object stored in the AsyncLocalStorage
39
- * for the current request. It should only be called within a request context
40
- * that has been established using requestContext.run().
41
- *
42
- * @returns {SessionContext | undefined} The current request's session context, or undefined if not in a request context
43
- *
44
- * @example
45
- * ```typescript
46
- * const context = getSessionContext();
47
- * if (context) {
48
- * console.log(`Processing request for session: ${context.sessionId}`);
49
- * }
50
- * ```
51
- */
52
- export declare function getSessionContext(): SessionContext | undefined;
53
- /**
54
- * Retrieves the current request's working directory (cwd).
55
- *
56
- * This is a convenience function that extracts the cwd property from the
57
- * current request's session context. It's commonly used in file operations
58
- * that need to respect the session's current working directory.
59
- *
60
- * @returns {string | undefined} The current request's working directory, or undefined if not available
61
- *
62
- * @example
63
- * ```typescript
64
- * const cwd = getSessionCwd();
65
- * if (cwd) {
66
- * const fullPath = path.join(cwd, relativePath);
67
- * }
68
- * ```
69
- */
70
- export declare function getSessionCwd(): string | undefined;
1
+ export interface RequestContext {
2
+ sessionId?: string;
3
+ traceId?: string;
4
+ }
5
+ export declare function runWithRequestContext(context: RequestContext, fn: () => Promise<void>): Promise<void>;
6
+ export declare function getSessionIdFromContext(): string | undefined;
7
+ export declare function getTraceIdFromContext(): string | undefined;
8
+ export declare function isInRequestContext(): boolean;
71
9
  //# sourceMappingURL=request-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../../../src/utils/request-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,mCAA0C,CAAC;AAEtE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD"}
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../../../src/utils/request-context.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAE5D;AAED,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAE1D;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}