@nanocollective/nanocoder 1.17.3 → 1.19.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 (688) hide show
  1. package/README.md +178 -13
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
  4. package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
  5. package/dist/ai-sdk-client-empty-message.spec.js +124 -0
  6. package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
  7. package/dist/ai-sdk-client.d.ts +19 -3
  8. package/dist/ai-sdk-client.d.ts.map +1 -1
  9. package/dist/ai-sdk-client.js +359 -211
  10. package/dist/ai-sdk-client.js.map +1 -1
  11. package/dist/app/utils/appUtils.d.ts +1 -1
  12. package/dist/app/utils/appUtils.d.ts.map +1 -1
  13. package/dist/app/utils/appUtils.js +80 -14
  14. package/dist/app/utils/appUtils.js.map +1 -1
  15. package/dist/app.d.ts +22 -1
  16. package/dist/app.d.ts.map +1 -1
  17. package/dist/app.js +369 -53
  18. package/dist/app.js.map +1 -1
  19. package/dist/cli.js +37 -2
  20. package/dist/cli.js.map +1 -1
  21. package/dist/cli.spec.d.ts +2 -0
  22. package/dist/cli.spec.d.ts.map +1 -0
  23. package/dist/cli.spec.js +101 -0
  24. package/dist/cli.spec.js.map +1 -0
  25. package/dist/client-factory.d.ts.map +1 -1
  26. package/dist/client-factory.js +2 -2
  27. package/dist/client-factory.js.map +1 -1
  28. package/dist/commands/checkpoint.d.ts +6 -0
  29. package/dist/commands/checkpoint.d.ts.map +1 -0
  30. package/dist/commands/checkpoint.js +277 -0
  31. package/dist/commands/checkpoint.js.map +1 -0
  32. package/dist/commands/clear.d.ts.map +1 -1
  33. package/dist/commands/clear.js +1 -1
  34. package/dist/commands/clear.js.map +1 -1
  35. package/dist/commands/custom-commands.d.ts.map +1 -1
  36. package/dist/commands/custom-commands.js +4 -4
  37. package/dist/commands/custom-commands.js.map +1 -1
  38. package/dist/commands/exit.d.ts.map +1 -1
  39. package/dist/commands/exit.js.map +1 -1
  40. package/dist/commands/export.d.ts.map +1 -1
  41. package/dist/commands/export.js +2 -2
  42. package/dist/commands/export.js.map +1 -1
  43. package/dist/commands/help.d.ts.map +1 -1
  44. package/dist/commands/help.js +5 -5
  45. package/dist/commands/help.js.map +1 -1
  46. package/dist/commands/index.d.ts +2 -2
  47. package/dist/commands/index.d.ts.map +1 -1
  48. package/dist/commands/index.js +2 -2
  49. package/dist/commands/index.js.map +1 -1
  50. package/dist/commands/init.d.ts.map +1 -1
  51. package/dist/commands/init.js +15 -14
  52. package/dist/commands/init.js.map +1 -1
  53. package/dist/commands/lsp.d.ts.map +1 -1
  54. package/dist/commands/lsp.js +6 -6
  55. package/dist/commands/lsp.js.map +1 -1
  56. package/dist/commands/mcp.d.ts +1 -1
  57. package/dist/commands/mcp.d.ts.map +1 -1
  58. package/dist/commands/mcp.js +6 -6
  59. package/dist/commands/mcp.js.map +1 -1
  60. package/dist/commands/model-database.d.ts +8 -0
  61. package/dist/commands/model-database.d.ts.map +1 -0
  62. package/dist/commands/model-database.js +193 -0
  63. package/dist/commands/model-database.js.map +1 -0
  64. package/dist/commands/model.d.ts.map +1 -1
  65. package/dist/commands/model.js.map +1 -1
  66. package/dist/commands/provider.d.ts.map +1 -1
  67. package/dist/commands/provider.js.map +1 -1
  68. package/dist/commands/setup-config.js +1 -1
  69. package/dist/commands/setup-config.js.map +1 -1
  70. package/dist/commands/status.d.ts.map +1 -1
  71. package/dist/commands/status.js.map +1 -1
  72. package/dist/commands/theme.d.ts.map +1 -1
  73. package/dist/commands/theme.js.map +1 -1
  74. package/dist/commands/update.d.ts.map +1 -1
  75. package/dist/commands/update.js +5 -5
  76. package/dist/commands/update.js.map +1 -1
  77. package/dist/commands/usage.d.ts.map +1 -1
  78. package/dist/commands/usage.js +4 -4
  79. package/dist/commands/usage.js.map +1 -1
  80. package/dist/commands.d.ts.map +1 -1
  81. package/dist/commands.js +1 -1
  82. package/dist/commands.js.map +1 -1
  83. package/dist/components/assistant-message.d.ts.map +1 -1
  84. package/dist/components/assistant-message.js +5 -4
  85. package/dist/components/assistant-message.js.map +1 -1
  86. package/dist/components/bash-execution-indicator.d.ts.map +1 -1
  87. package/dist/components/bash-execution-indicator.js +2 -2
  88. package/dist/components/bash-execution-indicator.js.map +1 -1
  89. package/dist/components/cancelling-indicator.js +3 -3
  90. package/dist/components/cancelling-indicator.js.map +1 -1
  91. package/dist/components/chat-queue.d.ts.map +1 -1
  92. package/dist/components/chat-queue.js +1 -1
  93. package/dist/components/chat-queue.js.map +1 -1
  94. package/dist/components/checkpoint-display.d.ts +8 -0
  95. package/dist/components/checkpoint-display.d.ts.map +1 -0
  96. package/dist/components/checkpoint-display.js +29 -0
  97. package/dist/components/checkpoint-display.js.map +1 -0
  98. package/dist/components/checkpoint-selector.d.ts +11 -0
  99. package/dist/components/checkpoint-selector.d.ts.map +1 -0
  100. package/dist/components/checkpoint-selector.js +55 -0
  101. package/dist/components/checkpoint-selector.js.map +1 -0
  102. package/dist/components/error-message.d.ts.map +1 -1
  103. package/dist/components/error-message.js +4 -4
  104. package/dist/components/error-message.js.map +1 -1
  105. package/dist/components/info-message.d.ts.map +1 -1
  106. package/dist/components/info-message.js +4 -4
  107. package/dist/components/info-message.js.map +1 -1
  108. package/dist/components/model-selector.d.ts.map +1 -1
  109. package/dist/components/model-selector.js +7 -7
  110. package/dist/components/model-selector.js.map +1 -1
  111. package/dist/components/provider-selector.d.ts.map +1 -1
  112. package/dist/components/provider-selector.js +6 -6
  113. package/dist/components/provider-selector.js.map +1 -1
  114. package/dist/components/security-disclaimer.d.ts.map +1 -1
  115. package/dist/components/security-disclaimer.js +4 -4
  116. package/dist/components/security-disclaimer.js.map +1 -1
  117. package/dist/components/status.d.ts +5 -0
  118. package/dist/components/status.d.ts.map +1 -1
  119. package/dist/components/status.js +36 -7
  120. package/dist/components/status.js.map +1 -1
  121. package/dist/components/success-message.d.ts.map +1 -1
  122. package/dist/components/success-message.js +4 -4
  123. package/dist/components/success-message.js.map +1 -1
  124. package/dist/components/theme-selector.d.ts.map +1 -1
  125. package/dist/components/theme-selector.js +8 -8
  126. package/dist/components/theme-selector.js.map +1 -1
  127. package/dist/components/tool-confirmation.d.ts.map +1 -1
  128. package/dist/components/tool-confirmation.js +7 -7
  129. package/dist/components/tool-confirmation.js.map +1 -1
  130. package/dist/components/tool-execution-indicator.d.ts.map +1 -1
  131. package/dist/components/tool-execution-indicator.js +2 -2
  132. package/dist/components/tool-execution-indicator.js.map +1 -1
  133. package/dist/components/tool-message.d.ts.map +1 -1
  134. package/dist/components/tool-message.js +4 -5
  135. package/dist/components/tool-message.js.map +1 -1
  136. package/dist/components/ui/titled-box.d.ts +16 -0
  137. package/dist/components/ui/titled-box.d.ts.map +1 -0
  138. package/dist/components/ui/titled-box.js +10 -0
  139. package/dist/components/ui/titled-box.js.map +1 -0
  140. package/dist/components/usage/progress-bar.d.ts.map +1 -1
  141. package/dist/components/usage/progress-bar.js +3 -0
  142. package/dist/components/usage/progress-bar.js.map +1 -1
  143. package/dist/components/usage/usage-display.d.ts.map +1 -1
  144. package/dist/components/usage/usage-display.js +7 -4
  145. package/dist/components/usage/usage-display.js.map +1 -1
  146. package/dist/components/user-input.d.ts.map +1 -1
  147. package/dist/components/user-input.js +9 -8
  148. package/dist/components/user-input.js.map +1 -1
  149. package/dist/components/user-message.d.ts.map +1 -1
  150. package/dist/components/user-message.js +1 -1
  151. package/dist/components/user-message.js.map +1 -1
  152. package/dist/components/vscode-extension-prompt.js +3 -3
  153. package/dist/components/vscode-extension-prompt.js.map +1 -1
  154. package/dist/components/warning-message.d.ts.map +1 -1
  155. package/dist/components/warning-message.js +4 -4
  156. package/dist/components/warning-message.js.map +1 -1
  157. package/dist/components/welcome-message.d.ts.map +1 -1
  158. package/dist/components/welcome-message.js +4 -4
  159. package/dist/components/welcome-message.js.map +1 -1
  160. package/dist/config/index.d.ts.map +1 -1
  161. package/dist/config/index.js +7 -7
  162. package/dist/config/index.js.map +1 -1
  163. package/dist/config/index.spec.js +4 -4
  164. package/dist/config/index.spec.js.map +1 -1
  165. package/dist/config/paths.spec.js +1 -1
  166. package/dist/config/paths.spec.js.map +1 -1
  167. package/dist/config/preferences.d.ts +0 -2
  168. package/dist/config/preferences.d.ts.map +1 -1
  169. package/dist/config/preferences.js +1 -11
  170. package/dist/config/preferences.js.map +1 -1
  171. package/dist/context/mode-context.d.ts +12 -0
  172. package/dist/context/mode-context.d.ts.map +1 -0
  173. package/dist/context/mode-context.js +21 -0
  174. package/dist/context/mode-context.js.map +1 -0
  175. package/dist/context/mode-context.spec.d.ts +2 -0
  176. package/dist/context/mode-context.spec.d.ts.map +1 -0
  177. package/dist/context/mode-context.spec.js +61 -0
  178. package/dist/context/mode-context.spec.js.map +1 -0
  179. package/dist/custom-commands/executor.d.ts.map +1 -1
  180. package/dist/custom-commands/executor.js.map +1 -1
  181. package/dist/custom-commands/loader.d.ts.map +1 -1
  182. package/dist/custom-commands/loader.js +1 -1
  183. package/dist/custom-commands/loader.js.map +1 -1
  184. package/dist/custom-commands/parser.d.ts.map +1 -1
  185. package/dist/custom-commands/parser.js.map +1 -1
  186. package/dist/hooks/useAppInitialization.d.ts +9 -5
  187. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  188. package/dist/hooks/useAppInitialization.js +119 -45
  189. package/dist/hooks/useAppInitialization.js.map +1 -1
  190. package/dist/hooks/useAppState.d.ts +28 -9
  191. package/dist/hooks/useAppState.d.ts.map +1 -1
  192. package/dist/hooks/useAppState.js +28 -8
  193. package/dist/hooks/useAppState.js.map +1 -1
  194. package/dist/hooks/useChatHandler.d.ts +5 -3
  195. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  196. package/dist/hooks/useChatHandler.js +218 -118
  197. package/dist/hooks/useChatHandler.js.map +1 -1
  198. package/dist/hooks/useDirectoryTrust.js +1 -1
  199. package/dist/hooks/useDirectoryTrust.js.map +1 -1
  200. package/dist/hooks/useInputState.js +2 -2
  201. package/dist/hooks/useInputState.js.map +1 -1
  202. package/dist/hooks/useModeHandlers.d.ts +5 -5
  203. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  204. package/dist/hooks/useModeHandlers.js +12 -12
  205. package/dist/hooks/useModeHandlers.js.map +1 -1
  206. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  207. package/dist/hooks/useTerminalWidth.js +3 -3
  208. package/dist/hooks/useTerminalWidth.js.map +1 -1
  209. package/dist/hooks/useTheme.d.ts.map +1 -1
  210. package/dist/hooks/useTheme.js +1 -1
  211. package/dist/hooks/useTheme.js.map +1 -1
  212. package/dist/hooks/useToolHandler.d.ts +1 -1
  213. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  214. package/dist/hooks/useToolHandler.js +4 -4
  215. package/dist/hooks/useToolHandler.js.map +1 -1
  216. package/dist/hooks/useUIState.d.ts +1 -1
  217. package/dist/hooks/useUIState.d.ts.map +1 -1
  218. package/dist/hooks/useUIState.js.map +1 -1
  219. package/dist/hooks/useVSCodeServer.js +2 -2
  220. package/dist/hooks/useVSCodeServer.js.map +1 -1
  221. package/dist/init/agents-template-generator.d.ts +1 -1
  222. package/dist/init/agents-template-generator.d.ts.map +1 -1
  223. package/dist/init/agents-template-generator.js.map +1 -1
  224. package/dist/init/existing-rules-extractor.js +1 -1
  225. package/dist/init/existing-rules-extractor.js.map +1 -1
  226. package/dist/init/file-scanner.js +2 -2
  227. package/dist/init/file-scanner.js.map +1 -1
  228. package/dist/init/framework-detector.js +1 -1
  229. package/dist/init/framework-detector.js.map +1 -1
  230. package/dist/init/project-analyzer.d.ts +1 -1
  231. package/dist/init/project-analyzer.d.ts.map +1 -1
  232. package/dist/init/project-analyzer.js +3 -3
  233. package/dist/init/project-analyzer.js.map +1 -1
  234. package/dist/lsp/lsp-client.d.ts +1 -1
  235. package/dist/lsp/lsp-client.d.ts.map +1 -1
  236. package/dist/lsp/lsp-client.js +1 -1
  237. package/dist/lsp/lsp-client.js.map +1 -1
  238. package/dist/lsp/lsp-client.spec.js +1 -2
  239. package/dist/lsp/lsp-client.spec.js.map +1 -1
  240. package/dist/lsp/lsp-manager.d.ts +1 -1
  241. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  242. package/dist/lsp/lsp-manager.js.map +1 -1
  243. package/dist/lsp/lsp-manager.spec.js +1 -1
  244. package/dist/lsp/lsp-manager.spec.js.map +1 -1
  245. package/dist/lsp/protocol.spec.js +1 -1
  246. package/dist/lsp/protocol.spec.js.map +1 -1
  247. package/dist/lsp/server-discovery.spec.js +1 -1
  248. package/dist/lsp/server-discovery.spec.js.map +1 -1
  249. package/dist/markdown-parser/index.spec.js.map +1 -1
  250. package/dist/markdown-parser/table-parser.spec.js.map +1 -1
  251. package/dist/mcp/mcp-client.d.ts +3 -2
  252. package/dist/mcp/mcp-client.d.ts.map +1 -1
  253. package/dist/mcp/mcp-client.js +279 -96
  254. package/dist/mcp/mcp-client.js.map +1 -1
  255. package/dist/mcp/transport-factory.d.ts +1 -1
  256. package/dist/mcp/transport-factory.d.ts.map +1 -1
  257. package/dist/mcp/transport-factory.js +16 -3
  258. package/dist/mcp/transport-factory.js.map +1 -1
  259. package/dist/mcp/transport-factory.spec.js +30 -48
  260. package/dist/mcp/transport-factory.spec.js.map +1 -1
  261. package/dist/message-handler.d.ts +1 -1
  262. package/dist/message-handler.d.ts.map +1 -1
  263. package/dist/message-handler.js +1 -1
  264. package/dist/message-handler.js.map +1 -1
  265. package/dist/model-database/database-engine.d.ts +25 -0
  266. package/dist/model-database/database-engine.d.ts.map +1 -0
  267. package/dist/model-database/database-engine.js +37 -0
  268. package/dist/model-database/database-engine.js.map +1 -0
  269. package/dist/model-database/database-engine.spec.d.ts +2 -0
  270. package/dist/model-database/database-engine.spec.d.ts.map +1 -0
  271. package/dist/model-database/database-engine.spec.js +413 -0
  272. package/dist/model-database/database-engine.spec.js.map +1 -0
  273. package/dist/model-database/model-database.d.ts +30 -0
  274. package/dist/model-database/model-database.d.ts.map +1 -0
  275. package/dist/model-database/model-database.js +82 -0
  276. package/dist/model-database/model-database.js.map +1 -0
  277. package/dist/model-database/model-database.spec.d.ts +2 -0
  278. package/dist/model-database/model-database.spec.d.ts.map +1 -0
  279. package/dist/model-database/model-database.spec.js +322 -0
  280. package/dist/model-database/model-database.spec.js.map +1 -0
  281. package/dist/model-database/model-engine.d.ts +25 -0
  282. package/dist/model-database/model-engine.d.ts.map +1 -0
  283. package/dist/model-database/model-engine.js +49 -0
  284. package/dist/model-database/model-engine.js.map +1 -0
  285. package/dist/model-database/model-engine.spec.d.ts +2 -0
  286. package/dist/model-database/model-engine.spec.d.ts.map +1 -0
  287. package/dist/model-database/model-engine.spec.js +381 -0
  288. package/dist/model-database/model-engine.spec.js.map +1 -0
  289. package/dist/model-database/model-fetcher.d.ts +14 -0
  290. package/dist/model-database/model-fetcher.d.ts.map +1 -0
  291. package/dist/model-database/model-fetcher.js +249 -0
  292. package/dist/model-database/model-fetcher.js.map +1 -0
  293. package/dist/model-database/model-fetcher.spec.d.ts +2 -0
  294. package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
  295. package/dist/model-database/model-fetcher.spec.js +498 -0
  296. package/dist/model-database/model-fetcher.spec.js.map +1 -0
  297. package/dist/models/models-cache.d.ts +1 -1
  298. package/dist/models/models-cache.d.ts.map +1 -1
  299. package/dist/models/models-cache.js +1 -1
  300. package/dist/models/models-cache.js.map +1 -1
  301. package/dist/models/models-dev-client.d.ts.map +1 -1
  302. package/dist/models/models-dev-client.js +23 -7
  303. package/dist/models/models-dev-client.js.map +1 -1
  304. package/dist/prompt-history.js +2 -2
  305. package/dist/prompt-history.js.map +1 -1
  306. package/dist/services/checkpoint-manager.d.ts +68 -0
  307. package/dist/services/checkpoint-manager.d.ts.map +1 -0
  308. package/dist/services/checkpoint-manager.js +345 -0
  309. package/dist/services/checkpoint-manager.js.map +1 -0
  310. package/dist/services/checkpoint-manager.spec.d.ts +2 -0
  311. package/dist/services/checkpoint-manager.spec.d.ts.map +1 -0
  312. package/dist/services/checkpoint-manager.spec.js +353 -0
  313. package/dist/services/checkpoint-manager.spec.js.map +1 -0
  314. package/dist/services/file-snapshot.d.ts +32 -0
  315. package/dist/services/file-snapshot.d.ts.map +1 -0
  316. package/dist/services/file-snapshot.js +161 -0
  317. package/dist/services/file-snapshot.js.map +1 -0
  318. package/dist/services/file-snapshot.spec.d.ts +2 -0
  319. package/dist/services/file-snapshot.spec.d.ts.map +1 -0
  320. package/dist/services/file-snapshot.spec.js +285 -0
  321. package/dist/services/file-snapshot.spec.js.map +1 -0
  322. package/dist/test-utils/render-with-theme.d.ts +7 -0
  323. package/dist/test-utils/render-with-theme.d.ts.map +1 -0
  324. package/dist/test-utils/render-with-theme.js +38 -0
  325. package/dist/test-utils/render-with-theme.js.map +1 -0
  326. package/dist/tokenization/tokenizer-factory.js +2 -2
  327. package/dist/tokenization/tokenizer-factory.js.map +1 -1
  328. package/dist/tokenization/tokenizer-factory.spec.js +2 -2
  329. package/dist/tokenization/tokenizer-factory.spec.js.map +1 -1
  330. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts +1 -1
  331. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts.map +1 -1
  332. package/dist/tokenization/tokenizers/anthropic-tokenizer.js.map +1 -1
  333. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.js.map +1 -1
  334. package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts +1 -1
  335. package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts.map +1 -1
  336. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.js.map +1 -1
  337. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts +1 -1
  338. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts.map +1 -1
  339. package/dist/tokenization/tokenizers/llama-tokenizer.js.map +1 -1
  340. package/dist/tokenization/tokenizers/llama-tokenizer.spec.js.map +1 -1
  341. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts +1 -1
  342. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts.map +1 -1
  343. package/dist/tokenization/tokenizers/openai-tokenizer.js.map +1 -1
  344. package/dist/tokenization/tokenizers/openai-tokenizer.spec.js.map +1 -1
  345. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  346. package/dist/tool-calling/json-parser.js +12 -14
  347. package/dist/tool-calling/json-parser.js.map +1 -1
  348. package/dist/tool-calling/json-parser.spec.js +7 -7
  349. package/dist/tool-calling/json-parser.spec.js.map +1 -1
  350. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  351. package/dist/tool-calling/tool-parser.js +38 -10
  352. package/dist/tool-calling/tool-parser.js.map +1 -1
  353. package/dist/tool-calling/tool-parser.spec.js +82 -4
  354. package/dist/tool-calling/tool-parser.spec.js.map +1 -1
  355. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  356. package/dist/tool-calling/xml-parser.js +21 -23
  357. package/dist/tool-calling/xml-parser.js.map +1 -1
  358. package/dist/tool-calling/xml-parser.spec.js +23 -3
  359. package/dist/tool-calling/xml-parser.spec.js.map +1 -1
  360. package/dist/tools/create-file.d.ts +24 -2
  361. package/dist/tools/create-file.d.ts.map +1 -1
  362. package/dist/tools/create-file.js +20 -16
  363. package/dist/tools/create-file.js.map +1 -1
  364. package/dist/tools/delete-lines.d.ts +18 -2
  365. package/dist/tools/delete-lines.d.ts.map +1 -1
  366. package/dist/tools/delete-lines.js +22 -17
  367. package/dist/tools/delete-lines.js.map +1 -1
  368. package/dist/tools/execute-bash.d.ts +2 -2
  369. package/dist/tools/execute-bash.d.ts.map +1 -1
  370. package/dist/tools/execute-bash.js +13 -12
  371. package/dist/tools/execute-bash.js.map +1 -1
  372. package/dist/tools/execute-function.spec.d.ts +2 -0
  373. package/dist/tools/execute-function.spec.d.ts.map +1 -0
  374. package/dist/tools/execute-function.spec.js +141 -0
  375. package/dist/tools/execute-function.spec.js.map +1 -0
  376. package/dist/tools/fetch-url.d.ts +16 -2
  377. package/dist/tools/fetch-url.d.ts.map +1 -1
  378. package/dist/tools/fetch-url.js +13 -13
  379. package/dist/tools/fetch-url.js.map +1 -1
  380. package/dist/tools/find-files.d.ts +18 -2
  381. package/dist/tools/find-files.d.ts.map +1 -1
  382. package/dist/tools/find-files.js +13 -11
  383. package/dist/tools/find-files.js.map +1 -1
  384. package/dist/tools/index.d.ts +2 -3
  385. package/dist/tools/index.d.ts.map +1 -1
  386. package/dist/tools/index.js +35 -25
  387. package/dist/tools/index.js.map +1 -1
  388. package/dist/tools/insert-lines.d.ts +18 -2
  389. package/dist/tools/insert-lines.d.ts.map +1 -1
  390. package/dist/tools/insert-lines.js +21 -16
  391. package/dist/tools/insert-lines.js.map +1 -1
  392. package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
  393. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  394. package/dist/tools/lsp-get-diagnostics.js +13 -11
  395. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  396. package/dist/tools/needs-approval.spec.d.ts +2 -0
  397. package/dist/tools/needs-approval.spec.d.ts.map +1 -0
  398. package/dist/tools/needs-approval.spec.js +308 -0
  399. package/dist/tools/needs-approval.spec.js.map +1 -0
  400. package/dist/tools/read-file.d.ts +2 -2
  401. package/dist/tools/read-file.d.ts.map +1 -1
  402. package/dist/tools/read-file.js +16 -18
  403. package/dist/tools/read-file.js.map +1 -1
  404. package/dist/tools/replace-lines.d.ts +19 -2
  405. package/dist/tools/replace-lines.d.ts.map +1 -1
  406. package/dist/tools/replace-lines.js +21 -16
  407. package/dist/tools/replace-lines.js.map +1 -1
  408. package/dist/tools/search-file-contents.d.ts +20 -2
  409. package/dist/tools/search-file-contents.d.ts.map +1 -1
  410. package/dist/tools/search-file-contents.js +17 -14
  411. package/dist/tools/search-file-contents.js.map +1 -1
  412. package/dist/tools/tool-manager.d.ts +1 -1
  413. package/dist/tools/tool-manager.d.ts.map +1 -1
  414. package/dist/tools/tool-manager.js +1 -1
  415. package/dist/tools/tool-manager.js.map +1 -1
  416. package/dist/tools/tool-registry.d.ts +1 -1
  417. package/dist/tools/tool-registry.d.ts.map +1 -1
  418. package/dist/tools/web-search.d.ts +2 -2
  419. package/dist/tools/web-search.d.ts.map +1 -1
  420. package/dist/tools/web-search.js +14 -14
  421. package/dist/tools/web-search.js.map +1 -1
  422. package/dist/types/app.d.ts +7 -4
  423. package/dist/types/app.d.ts.map +1 -1
  424. package/dist/types/checkpoint.d.ts +43 -0
  425. package/dist/types/checkpoint.d.ts.map +1 -0
  426. package/dist/types/checkpoint.js +2 -0
  427. package/dist/types/checkpoint.js.map +1 -0
  428. package/dist/types/config.d.ts +0 -1
  429. package/dist/types/config.d.ts.map +1 -1
  430. package/dist/types/core-connection-status.spec.d.ts +2 -0
  431. package/dist/types/core-connection-status.spec.d.ts.map +1 -0
  432. package/dist/types/core-connection-status.spec.js +52 -0
  433. package/dist/types/core-connection-status.spec.js.map +1 -0
  434. package/dist/types/core.d.ts +34 -29
  435. package/dist/types/core.d.ts.map +1 -1
  436. package/dist/types/core.js +1 -1
  437. package/dist/types/core.js.map +1 -1
  438. package/dist/types/index.d.ts +1 -0
  439. package/dist/types/index.d.ts.map +1 -1
  440. package/dist/types/index.js +1 -0
  441. package/dist/types/index.js.map +1 -1
  442. package/dist/types/system.d.ts +5 -30
  443. package/dist/types/system.d.ts.map +1 -1
  444. package/dist/usage/calculator.spec.js +1 -1
  445. package/dist/usage/calculator.spec.js.map +1 -1
  446. package/dist/usage/storage.d.ts +1 -1
  447. package/dist/usage/storage.d.ts.map +1 -1
  448. package/dist/usage/storage.js +9 -3
  449. package/dist/usage/storage.js.map +1 -1
  450. package/dist/usage/storage.spec.js +3 -3
  451. package/dist/usage/storage.spec.js.map +1 -1
  452. package/dist/usage/tracker.d.ts.map +1 -1
  453. package/dist/usage/tracker.js +1 -1
  454. package/dist/usage/tracker.js.map +1 -1
  455. package/dist/usage/tracker.spec.js +4 -4
  456. package/dist/usage/tracker.spec.js.map +1 -1
  457. package/dist/utils/atomic-deletion.spec.js +1 -1
  458. package/dist/utils/atomic-deletion.spec.js.map +1 -1
  459. package/dist/utils/checkpoint-utils.d.ts +12 -0
  460. package/dist/utils/checkpoint-utils.d.ts.map +1 -0
  461. package/dist/utils/checkpoint-utils.js +85 -0
  462. package/dist/utils/checkpoint-utils.js.map +1 -0
  463. package/dist/utils/checkpoint-utils.spec.d.ts +2 -0
  464. package/dist/utils/checkpoint-utils.spec.d.ts.map +1 -0
  465. package/dist/utils/checkpoint-utils.spec.js +182 -0
  466. package/dist/utils/checkpoint-utils.spec.js.map +1 -0
  467. package/dist/utils/error-formatter.d.ts +35 -0
  468. package/dist/utils/error-formatter.d.ts.map +1 -1
  469. package/dist/utils/error-formatter.js +123 -0
  470. package/dist/utils/error-formatter.js.map +1 -1
  471. package/dist/utils/file-autocomplete.js +2 -2
  472. package/dist/utils/file-autocomplete.js.map +1 -1
  473. package/dist/utils/file-autocomplete.spec.js +1 -1
  474. package/dist/utils/file-autocomplete.spec.js.map +1 -1
  475. package/dist/utils/file-content-loader.js +1 -1
  476. package/dist/utils/file-content-loader.js.map +1 -1
  477. package/dist/utils/file-content-loader.spec.js +4 -4
  478. package/dist/utils/file-content-loader.spec.js.map +1 -1
  479. package/dist/utils/file-mention-handler.js.map +1 -1
  480. package/dist/utils/file-mention-handler.spec.js +4 -4
  481. package/dist/utils/file-mention-handler.spec.js.map +1 -1
  482. package/dist/utils/file-mention-parser.spec.js +2 -2
  483. package/dist/utils/file-mention-parser.spec.js.map +1 -1
  484. package/dist/utils/installation-detector.js +2 -2
  485. package/dist/utils/installation-detector.js.map +1 -1
  486. package/dist/utils/installation-detector.spec.js +10 -17
  487. package/dist/utils/installation-detector.spec.js.map +1 -1
  488. package/dist/utils/logging/config.d.ts +41 -0
  489. package/dist/utils/logging/config.d.ts.map +1 -0
  490. package/dist/utils/logging/config.js +188 -0
  491. package/dist/utils/logging/config.js.map +1 -0
  492. package/dist/utils/logging/config.spec.d.ts +2 -0
  493. package/dist/utils/logging/config.spec.d.ts.map +1 -0
  494. package/dist/utils/logging/config.spec.js +233 -0
  495. package/dist/utils/logging/config.spec.js.map +1 -0
  496. package/dist/utils/logging/console-facade.d.ts +93 -0
  497. package/dist/utils/logging/console-facade.d.ts.map +1 -0
  498. package/dist/utils/logging/console-facade.js +295 -0
  499. package/dist/utils/logging/console-facade.js.map +1 -0
  500. package/dist/utils/logging/console-facade.spec.d.ts +2 -0
  501. package/dist/utils/logging/console-facade.spec.d.ts.map +1 -0
  502. package/dist/utils/logging/console-facade.spec.js +143 -0
  503. package/dist/utils/logging/console-facade.spec.js.map +1 -0
  504. package/dist/utils/logging/correlation.d.ts +139 -0
  505. package/dist/utils/logging/correlation.d.ts.map +1 -0
  506. package/dist/utils/logging/correlation.js +410 -0
  507. package/dist/utils/logging/correlation.js.map +1 -0
  508. package/dist/utils/logging/correlation.spec.d.ts +2 -0
  509. package/dist/utils/logging/correlation.spec.d.ts.map +1 -0
  510. package/dist/utils/logging/correlation.spec.js +449 -0
  511. package/dist/utils/logging/correlation.spec.js.map +1 -0
  512. package/dist/utils/logging/formatters.d.ts +70 -0
  513. package/dist/utils/logging/formatters.d.ts.map +1 -0
  514. package/dist/utils/logging/formatters.js +186 -0
  515. package/dist/utils/logging/formatters.js.map +1 -0
  516. package/dist/utils/logging/formatters.spec.d.ts +2 -0
  517. package/dist/utils/logging/formatters.spec.d.ts.map +1 -0
  518. package/dist/utils/logging/formatters.spec.js +356 -0
  519. package/dist/utils/logging/formatters.spec.js.map +1 -0
  520. package/dist/utils/logging/health-monitor.d.ts +216 -0
  521. package/dist/utils/logging/health-monitor.d.ts.map +1 -0
  522. package/dist/utils/logging/health-monitor.js +760 -0
  523. package/dist/utils/logging/health-monitor.js.map +1 -0
  524. package/dist/utils/logging/health-monitor.spec.d.ts +2 -0
  525. package/dist/utils/logging/health-monitor.spec.d.ts.map +1 -0
  526. package/dist/utils/logging/health-monitor.spec.js +305 -0
  527. package/dist/utils/logging/health-monitor.spec.js.map +1 -0
  528. package/dist/utils/logging/index.d.ts +100 -0
  529. package/dist/utils/logging/index.d.ts.map +1 -0
  530. package/dist/utils/logging/index.js +186 -0
  531. package/dist/utils/logging/index.js.map +1 -0
  532. package/dist/utils/logging/index.spec.d.ts +2 -0
  533. package/dist/utils/logging/index.spec.d.ts.map +1 -0
  534. package/dist/utils/logging/index.spec.js +214 -0
  535. package/dist/utils/logging/index.spec.js.map +1 -0
  536. package/dist/utils/logging/integration.spec.d.ts +2 -0
  537. package/dist/utils/logging/integration.spec.d.ts.map +1 -0
  538. package/dist/utils/logging/integration.spec.js +312 -0
  539. package/dist/utils/logging/integration.spec.js.map +1 -0
  540. package/dist/utils/logging/log-method-factory.d.ts +43 -0
  541. package/dist/utils/logging/log-method-factory.d.ts.map +1 -0
  542. package/dist/utils/logging/log-method-factory.js +176 -0
  543. package/dist/utils/logging/log-method-factory.js.map +1 -0
  544. package/dist/utils/logging/log-method-factory.spec.d.ts +2 -0
  545. package/dist/utils/logging/log-method-factory.spec.d.ts.map +1 -0
  546. package/dist/utils/logging/log-method-factory.spec.js +428 -0
  547. package/dist/utils/logging/log-method-factory.spec.js.map +1 -0
  548. package/dist/utils/logging/log-query.d.ts +275 -0
  549. package/dist/utils/logging/log-query.d.ts.map +1 -0
  550. package/dist/utils/logging/log-query.js +621 -0
  551. package/dist/utils/logging/log-query.js.map +1 -0
  552. package/dist/utils/logging/log-query.spec.d.ts +2 -0
  553. package/dist/utils/logging/log-query.spec.d.ts.map +1 -0
  554. package/dist/utils/logging/log-query.spec.js +737 -0
  555. package/dist/utils/logging/log-query.spec.js.map +1 -0
  556. package/dist/utils/logging/logger-provider.d.ts +73 -0
  557. package/dist/utils/logging/logger-provider.d.ts.map +1 -0
  558. package/dist/utils/logging/logger-provider.js +298 -0
  559. package/dist/utils/logging/logger-provider.js.map +1 -0
  560. package/dist/utils/logging/logger-provider.spec.d.ts +2 -0
  561. package/dist/utils/logging/logger-provider.spec.d.ts.map +1 -0
  562. package/dist/utils/logging/logger-provider.spec.js +204 -0
  563. package/dist/utils/logging/logger-provider.spec.js.map +1 -0
  564. package/dist/utils/logging/performance.d.ts +147 -0
  565. package/dist/utils/logging/performance.d.ts.map +1 -0
  566. package/dist/utils/logging/performance.js +520 -0
  567. package/dist/utils/logging/performance.js.map +1 -0
  568. package/dist/utils/logging/performance.spec.d.ts +2 -0
  569. package/dist/utils/logging/performance.spec.d.ts.map +1 -0
  570. package/dist/utils/logging/performance.spec.js +139 -0
  571. package/dist/utils/logging/performance.spec.js.map +1 -0
  572. package/dist/utils/logging/pino-logger.d.ts +22 -0
  573. package/dist/utils/logging/pino-logger.d.ts.map +1 -0
  574. package/dist/utils/logging/pino-logger.js +372 -0
  575. package/dist/utils/logging/pino-logger.js.map +1 -0
  576. package/dist/utils/logging/pino-logger.spec.d.ts +2 -0
  577. package/dist/utils/logging/pino-logger.spec.d.ts.map +1 -0
  578. package/dist/utils/logging/pino-logger.spec.js +294 -0
  579. package/dist/utils/logging/pino-logger.spec.js.map +1 -0
  580. package/dist/utils/logging/redaction.d.ts +38 -0
  581. package/dist/utils/logging/redaction.d.ts.map +1 -0
  582. package/dist/utils/logging/redaction.js +210 -0
  583. package/dist/utils/logging/redaction.js.map +1 -0
  584. package/dist/utils/logging/redaction.spec.d.ts +2 -0
  585. package/dist/utils/logging/redaction.spec.d.ts.map +1 -0
  586. package/dist/utils/logging/redaction.spec.js +338 -0
  587. package/dist/utils/logging/redaction.spec.js.map +1 -0
  588. package/dist/utils/logging/request-tracker.d.ts +189 -0
  589. package/dist/utils/logging/request-tracker.d.ts.map +1 -0
  590. package/dist/utils/logging/request-tracker.js +569 -0
  591. package/dist/utils/logging/request-tracker.js.map +1 -0
  592. package/dist/utils/logging/request-tracker.spec.d.ts +2 -0
  593. package/dist/utils/logging/request-tracker.spec.d.ts.map +1 -0
  594. package/dist/utils/logging/request-tracker.spec.js +868 -0
  595. package/dist/utils/logging/request-tracker.spec.js.map +1 -0
  596. package/dist/utils/logging/transports.d.ts +55 -0
  597. package/dist/utils/logging/transports.d.ts.map +1 -0
  598. package/dist/utils/logging/transports.js +252 -0
  599. package/dist/utils/logging/transports.js.map +1 -0
  600. package/dist/utils/logging/transports.spec.d.ts +2 -0
  601. package/dist/utils/logging/transports.spec.d.ts.map +1 -0
  602. package/dist/utils/logging/transports.spec.js +390 -0
  603. package/dist/utils/logging/transports.spec.js.map +1 -0
  604. package/dist/utils/logging/types.d.ts +173 -0
  605. package/dist/utils/logging/types.d.ts.map +1 -0
  606. package/dist/utils/logging/types.js +5 -0
  607. package/dist/utils/logging/types.js.map +1 -0
  608. package/dist/utils/message-queue.d.ts +64 -4
  609. package/dist/utils/message-queue.d.ts.map +1 -1
  610. package/dist/utils/message-queue.js +282 -28
  611. package/dist/utils/message-queue.js.map +1 -1
  612. package/dist/utils/paste-utils.spec.js +1 -1
  613. package/dist/utils/paste-utils.spec.js.map +1 -1
  614. package/dist/utils/prompt-processor.d.ts +2 -3
  615. package/dist/utils/prompt-processor.d.ts.map +1 -1
  616. package/dist/utils/prompt-processor.js +4 -52
  617. package/dist/utils/prompt-processor.js.map +1 -1
  618. package/dist/utils/tool-cancellation.spec.js.map +1 -1
  619. package/dist/utils/tool-result-display.d.ts +2 -2
  620. package/dist/utils/tool-result-display.d.ts.map +1 -1
  621. package/dist/utils/tool-result-display.js +3 -3
  622. package/dist/utils/tool-result-display.js.map +1 -1
  623. package/dist/utils/update-checker.d.ts.map +1 -1
  624. package/dist/utils/update-checker.js +1 -1
  625. package/dist/utils/update-checker.js.map +1 -1
  626. package/dist/utils/update-checker.spec.js +2 -2
  627. package/dist/utils/update-checker.spec.js.map +1 -1
  628. package/dist/vscode/extension-installer.js +1 -1
  629. package/dist/vscode/extension-installer.js.map +1 -1
  630. package/dist/vscode/extension-installer.spec.js +1 -1
  631. package/dist/vscode/extension-installer.spec.js.map +1 -1
  632. package/dist/vscode/protocol.spec.js +1 -1
  633. package/dist/vscode/protocol.spec.js.map +1 -1
  634. package/dist/vscode/vscode-server.d.ts.map +1 -1
  635. package/dist/vscode/vscode-server.js +2 -2
  636. package/dist/vscode/vscode-server.js.map +1 -1
  637. package/dist/vscode/vscode-server.spec.js.map +1 -1
  638. package/dist/wizard/config-wizard.d.ts.map +1 -1
  639. package/dist/wizard/config-wizard.js +16 -12
  640. package/dist/wizard/config-wizard.js.map +1 -1
  641. package/dist/wizard/steps/location-step.js +4 -4
  642. package/dist/wizard/steps/location-step.js.map +1 -1
  643. package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
  644. package/dist/wizard/steps/mcp-step.js +4 -4
  645. package/dist/wizard/steps/mcp-step.js.map +1 -1
  646. package/dist/wizard/steps/provider-step.d.ts.map +1 -1
  647. package/dist/wizard/steps/provider-step.js +4 -4
  648. package/dist/wizard/steps/provider-step.js.map +1 -1
  649. package/dist/wizard/steps/summary-step.d.ts.map +1 -1
  650. package/dist/wizard/steps/summary-step.js +2 -2
  651. package/dist/wizard/steps/summary-step.js.map +1 -1
  652. package/dist/wizard/templates/provider-templates.d.ts.map +1 -1
  653. package/dist/wizard/templates/provider-templates.js +66 -2
  654. package/dist/wizard/templates/provider-templates.js.map +1 -1
  655. package/dist/wizard/validation-array.spec.js +1 -1
  656. package/dist/wizard/validation-array.spec.js.map +1 -1
  657. package/dist/wizard/validation.spec.js +1 -1
  658. package/dist/wizard/validation.spec.js.map +1 -1
  659. package/package.json +28 -26
  660. package/source/app/prompts/main-prompt.md +29 -96
  661. package/dist/commands/recommendations.d.ts +0 -8
  662. package/dist/commands/recommendations.d.ts.map +0 -1
  663. package/dist/commands/recommendations.js +0 -311
  664. package/dist/commands/recommendations.js.map +0 -1
  665. package/dist/commands/streaming.d.ts +0 -3
  666. package/dist/commands/streaming.d.ts.map +0 -1
  667. package/dist/commands/streaming.js +0 -23
  668. package/dist/commands/streaming.js.map +0 -1
  669. package/dist/components/thinking-indicator.d.ts +0 -3
  670. package/dist/components/thinking-indicator.d.ts.map +0 -1
  671. package/dist/components/thinking-indicator.js +0 -69
  672. package/dist/components/thinking-indicator.js.map +0 -1
  673. package/dist/recommendations/model-database.d.ts +0 -8
  674. package/dist/recommendations/model-database.d.ts.map +0 -1
  675. package/dist/recommendations/model-database.js +0 -514
  676. package/dist/recommendations/model-database.js.map +0 -1
  677. package/dist/recommendations/model-engine.d.ts +0 -16
  678. package/dist/recommendations/model-engine.d.ts.map +0 -1
  679. package/dist/recommendations/model-engine.js +0 -185
  680. package/dist/recommendations/model-engine.js.map +0 -1
  681. package/dist/recommendations/recommendation-engine.d.ts +0 -39
  682. package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
  683. package/dist/recommendations/recommendation-engine.js +0 -144
  684. package/dist/recommendations/recommendation-engine.js.map +0 -1
  685. package/dist/system/detector.d.ts +0 -18
  686. package/dist/system/detector.d.ts.map +0 -1
  687. package/dist/system/detector.js +0 -140
  688. package/dist/system/detector.js.map +0 -1
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Console API facade for backward compatibility
3
+ * Provides drop-in replacement for console methods that routes through structured logging
4
+ *
5
+ * This allows gradual migration from console.log to structured logging
6
+ * without breaking existing code patterns
7
+ */
8
+ import { createErrorInfo } from '../../utils/error-formatter.js';
9
+ import { generateCorrelationId, getLogger, withNewCorrelationContext, } from '../../utils/logging/index.js';
10
+ // Get logger instance directly to avoid circular dependencies
11
+ const logger = getLogger();
12
+ /**
13
+ * Create a console method with specific logging level and special handling
14
+ * This factory reduces code duplication across different console methods
15
+ */
16
+ function createConsoleMethod(level, options) {
17
+ const { specialErrorHandling = false, isInfoMethod = false } = options || {};
18
+ return (...args) => {
19
+ const _correlationId = generateCorrelationId();
20
+ withNewCorrelationContext(context => {
21
+ if (args.length === 0) {
22
+ logger[level](`Empty console.${level} call`, {
23
+ correlationId: context.id,
24
+ source: 'console-facade',
25
+ });
26
+ return;
27
+ }
28
+ // Special handling for Error objects in console.error
29
+ if (specialErrorHandling &&
30
+ args.length === 1 &&
31
+ args[0] instanceof Error) {
32
+ const errorInfo = createErrorInfo(args[0], undefined, _correlationId);
33
+ logger.error('Error logged via console.error', {
34
+ errorInfo,
35
+ correlationId: context.id,
36
+ source: 'console-facade',
37
+ });
38
+ return;
39
+ }
40
+ // Handle single argument case
41
+ if (args.length === 1) {
42
+ const arg = args[0];
43
+ if (typeof arg === 'string') {
44
+ logger[level](arg, {
45
+ correlationId: context.id,
46
+ source: 'console-facade',
47
+ });
48
+ }
49
+ else if (typeof arg === 'object' && arg !== null) {
50
+ const message = `${level === 'error' ? 'Error' : 'Object'} logged via console.${level}`;
51
+ logger[level](message, {
52
+ object: arg,
53
+ correlationId: context.id,
54
+ source: 'console-facade',
55
+ });
56
+ }
57
+ else {
58
+ logger[level](String(arg), {
59
+ correlationId: context.id,
60
+ source: 'console-facade',
61
+ });
62
+ }
63
+ return;
64
+ }
65
+ // Multiple arguments - join strings and log objects separately
66
+ const strings = args.filter(arg => typeof arg === 'string');
67
+ const objects = args.filter(arg => typeof arg === 'object' && arg !== null);
68
+ const primitives = args.filter(arg => typeof arg !== 'string' && typeof arg !== 'object');
69
+ let message = strings.join(' ');
70
+ if (primitives.length > 0) {
71
+ message += ' ' + primitives.map(String).join(' ');
72
+ }
73
+ const logData = {
74
+ correlationId: context.id,
75
+ source: 'console-facade',
76
+ argumentCount: args.length,
77
+ stringArgs: strings.length,
78
+ objectArgs: objects.length,
79
+ primitiveArgs: primitives.length,
80
+ };
81
+ if (objects.length > 0) {
82
+ logData.objects = objects;
83
+ }
84
+ // Check for error-like objects that aren't Error instances (only for error level)
85
+ if (level === 'error') {
86
+ const errorLikeObjects = objects.filter(obj => obj &&
87
+ typeof obj === 'object' &&
88
+ ('message' in obj || 'error' in obj || 'err' in obj));
89
+ if (errorLikeObjects.length > 0) {
90
+ logData.errorLikeObjects = errorLikeObjects;
91
+ }
92
+ }
93
+ // Use appropriate logger level (info for both log and info methods)
94
+ const loggerLevel = isInfoMethod ? 'info' : level;
95
+ logger[loggerLevel](message || `console.${level} called`, logData);
96
+ });
97
+ };
98
+ }
99
+ /**
100
+ * Console replacement that routes to structured logging
101
+ * Maintains the same API as global console but adds structured logging benefits
102
+ */
103
+ const StructuredConsole = {
104
+ /**
105
+ * Replacement for console.log - routes to logger.info
106
+ * Accepts any number of arguments and formats them appropriately
107
+ */
108
+ log: createConsoleMethod('info', { isInfoMethod: true }),
109
+ /**
110
+ * Replacement for console.error - routes to logger.error with error analysis
111
+ */
112
+ error: createConsoleMethod('error', { specialErrorHandling: true }),
113
+ /**
114
+ * Replacement for console.warn - routes to logger.warn
115
+ */
116
+ warn: createConsoleMethod('warn'),
117
+ /**
118
+ * Replacement for console.info - routes to logger.info
119
+ */
120
+ info: createConsoleMethod('info', { isInfoMethod: true }),
121
+ /**
122
+ * Replacement for console.debug - routes to logger.debug
123
+ */
124
+ debug: createConsoleMethod('debug'),
125
+ };
126
+ /**
127
+ * Global console replacement hook
128
+ * Can be used to temporarily replace global console for testing or specific modules
129
+ */
130
+ export class ConsoleInterceptor {
131
+ originalConsole;
132
+ isActive = false;
133
+ constructor() {
134
+ this.originalConsole = { ...console };
135
+ }
136
+ /**
137
+ * Replace global console with structured logging version
138
+ */
139
+ activate() {
140
+ if (this.isActive) {
141
+ return;
142
+ }
143
+ console.log = StructuredConsole.log;
144
+ console.error = StructuredConsole.error;
145
+ console.warn = StructuredConsole.warn;
146
+ console.info = StructuredConsole.info;
147
+ console.debug = StructuredConsole.debug;
148
+ this.isActive = true;
149
+ }
150
+ /**
151
+ * Restore original global console
152
+ */
153
+ deactivate = () => {
154
+ if (!this.isActive) {
155
+ return;
156
+ }
157
+ // eslint-disable-next-line @typescript-eslint/unbound-method
158
+ console.log = this.originalConsole.log;
159
+ // eslint-disable-next-line @typescript-eslint/unbound-method
160
+ console.error = this.originalConsole.error;
161
+ // eslint-disable-next-line @typescript-eslint/unbound-method
162
+ console.warn = this.originalConsole.warn;
163
+ // eslint-disable-next-line @typescript-eslint/unbound-method
164
+ console.info = this.originalConsole.info;
165
+ // eslint-disable-next-line @typescript-eslint/unbound-method
166
+ console.debug = this.originalConsole.debug;
167
+ this.isActive = false;
168
+ };
169
+ /**
170
+ * Check if interceptor is active
171
+ */
172
+ isInterceptorActive() {
173
+ return this.isActive;
174
+ }
175
+ /**
176
+ * Execute a function with console temporarily replaced
177
+ */
178
+ withStructuredConsole(fn) {
179
+ this.activate();
180
+ try {
181
+ return fn();
182
+ }
183
+ finally {
184
+ this.deactivate();
185
+ }
186
+ }
187
+ }
188
+ /**
189
+ * Global console interceptor instance
190
+ */
191
+ export const globalConsoleInterceptor = new ConsoleInterceptor();
192
+ /**
193
+ * Decorator to automatically route console calls in a function to structured logging
194
+ * @internal
195
+ */
196
+ export function useStructuredConsoleDecorator(_target, _propertyName, descriptor) {
197
+ const originalMethod = descriptor.value;
198
+ if (typeof originalMethod === 'function') {
199
+ descriptor.value = function (...args) {
200
+ return globalConsoleInterceptor.withStructuredConsole(() => {
201
+ return Reflect.apply(originalMethod, this, args);
202
+ });
203
+ };
204
+ }
205
+ return descriptor;
206
+ }
207
+ /**
208
+ * Convenience function to create a module-scoped console
209
+ * Useful for gradual migration of individual modules
210
+ */
211
+ export function createModuleConsole(moduleName) {
212
+ return {
213
+ log: (...args) => {
214
+ logger.info(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
215
+ moduleName,
216
+ allArgs: args,
217
+ correlationId: generateCorrelationId(),
218
+ source: 'module-console',
219
+ });
220
+ },
221
+ error: (...args) => {
222
+ logger.error(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
223
+ moduleName,
224
+ allArgs: args,
225
+ correlationId: generateCorrelationId(),
226
+ source: 'module-console',
227
+ });
228
+ },
229
+ warn: (...args) => {
230
+ logger.warn(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
231
+ moduleName,
232
+ allArgs: args,
233
+ correlationId: generateCorrelationId(),
234
+ source: 'module-console',
235
+ });
236
+ },
237
+ info: (...args) => {
238
+ logger.info(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
239
+ moduleName,
240
+ allArgs: args,
241
+ correlationId: generateCorrelationId(),
242
+ source: 'module-console',
243
+ });
244
+ },
245
+ debug: (...args) => {
246
+ logger.debug(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
247
+ moduleName,
248
+ allArgs: args,
249
+ correlationId: generateCorrelationId(),
250
+ source: 'module-console',
251
+ });
252
+ },
253
+ };
254
+ }
255
+ /**
256
+ * Migration helper to identify console usage patterns
257
+ * Returns statistics about console method usage in the current execution
258
+ */
259
+ export class ConsoleUsageTracker {
260
+ usage = new Map();
261
+ constructor() {
262
+ // Track console method calls by wrapping them
263
+ const methods = ['log', 'error', 'warn', 'info', 'debug'];
264
+ methods.forEach(method => {
265
+ const original = console[method];
266
+ this.usage.set(method, 0);
267
+ console[method] = (...args) => {
268
+ this.usage.set(method, (this.usage.get(method) || 0) + 1);
269
+ return original.apply(console, args);
270
+ };
271
+ });
272
+ }
273
+ getUsageStats() {
274
+ return Object.fromEntries(this.usage);
275
+ }
276
+ reportUsage() {
277
+ const stats = this.getUsageStats();
278
+ const total = Object.values(stats).reduce((sum, count) => sum + count, 0);
279
+ logger.info('Console usage statistics', {
280
+ total,
281
+ methodBreakdown: stats,
282
+ source: 'console-usage-tracker',
283
+ });
284
+ }
285
+ restore() {
286
+ // This would need to restore the original console methods
287
+ // Implementation depends on how the original methods are stored
288
+ logger.info('Console usage tracker deactivated', {
289
+ source: 'console-usage-tracker',
290
+ });
291
+ }
292
+ }
293
+ // Export for testing purposes only
294
+ export { StructuredConsole, useStructuredConsoleDecorator as useStructuredConsole, };
295
+ //# sourceMappingURL=console-facade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-facade.js","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=console-facade.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-facade.spec.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,143 @@
1
+ import test from 'ava';
2
+ // Implementation imports
3
+ import { ConsoleInterceptor, ConsoleUsageTracker, StructuredConsole, createModuleConsole, globalConsoleInterceptor, } from './console-facade.js';
4
+ // Since the console-facade uses the real logger at module load time,
5
+ // we'll test the behavior by checking that the methods work correctly
6
+ // and produce the expected output structure.
7
+ test('StructuredConsole.log handles empty arguments', t => {
8
+ // This test verifies that StructuredConsole.log works without throwing
9
+ // The real logger will handle the call, so we just check it doesn't throw
10
+ t.notThrows(() => {
11
+ StructuredConsole.log();
12
+ }, 'Should handle empty arguments without throwing');
13
+ });
14
+ test('StructuredConsole.log handles single string argument', t => {
15
+ const testMessage = 'Test log message';
16
+ t.notThrows(() => {
17
+ StructuredConsole.log(testMessage);
18
+ }, 'Should handle single string argument without throwing');
19
+ });
20
+ test('StructuredConsole.log handles single object argument', t => {
21
+ const testObject = { key: 'value', number: 42 };
22
+ t.notThrows(() => {
23
+ StructuredConsole.log(testObject);
24
+ }, 'Should handle single object argument without throwing');
25
+ });
26
+ test('StructuredConsole.log handles single primitive argument', t => {
27
+ const testValue = 123;
28
+ t.notThrows(() => {
29
+ StructuredConsole.log(testValue);
30
+ }, 'Should handle single primitive argument without throwing');
31
+ });
32
+ test('StructuredConsole.log handles multiple arguments', t => {
33
+ const stringArg = 'Test message';
34
+ const objectArg = { data: 'test' };
35
+ const numberArg = 42;
36
+ t.notThrows(() => {
37
+ StructuredConsole.log(stringArg, objectArg, numberArg);
38
+ }, 'Should handle multiple arguments without throwing');
39
+ });
40
+ test('StructuredConsole.error handles Error objects', t => {
41
+ const testError = new Error('Test error');
42
+ t.notThrows(() => {
43
+ StructuredConsole.error(testError);
44
+ }, 'Should handle Error objects without throwing');
45
+ });
46
+ test('StructuredConsole.warn handles arguments correctly', t => {
47
+ t.notThrows(() => {
48
+ StructuredConsole.warn('Warning message', { context: 'test' });
49
+ }, 'Should handle arguments correctly without throwing');
50
+ });
51
+ test('ConsoleInterceptor activates and deactivates correctly', t => {
52
+ const originalConsole = {
53
+ log: console.log,
54
+ error: console.error,
55
+ warn: console.warn,
56
+ info: console.info,
57
+ debug: console.debug,
58
+ };
59
+ const interceptor = new ConsoleInterceptor();
60
+ // Test activation
61
+ interceptor.activate();
62
+ t.true(interceptor.isInterceptorActive());
63
+ // Verify console methods are replaced
64
+ t.is(console.log, StructuredConsole.log);
65
+ t.is(console.error, StructuredConsole.error);
66
+ t.is(console.warn, StructuredConsole.warn);
67
+ t.is(console.info, StructuredConsole.info);
68
+ t.is(console.debug, StructuredConsole.debug);
69
+ // Test deactivation
70
+ interceptor.deactivate();
71
+ t.false(interceptor.isInterceptorActive());
72
+ // Verify original methods are restored
73
+ t.is(console.log, originalConsole.log);
74
+ t.is(console.error, originalConsole.error);
75
+ t.is(console.warn, originalConsole.warn);
76
+ t.is(console.info, originalConsole.info);
77
+ t.is(console.debug, originalConsole.debug);
78
+ });
79
+ test('ConsoleInterceptor handles multiple activation calls', t => {
80
+ const interceptor = new ConsoleInterceptor();
81
+ interceptor.activate();
82
+ const firstActivation = interceptor.isInterceptorActive();
83
+ interceptor.activate(); // Should not cause issues
84
+ const secondActivation = interceptor.isInterceptorActive();
85
+ t.true(firstActivation);
86
+ t.true(secondActivation);
87
+ t.is(console.log, StructuredConsole.log);
88
+ interceptor.deactivate();
89
+ });
90
+ test('ConsoleInterceptor handles deactivation when not active', t => {
91
+ const interceptor = new ConsoleInterceptor();
92
+ // Should not throw when deactivating while not active
93
+ t.notThrows(() => {
94
+ interceptor.deactivate();
95
+ }, 'Deactivation when not active should not throw');
96
+ t.false(interceptor.isInterceptorActive());
97
+ });
98
+ test('globalConsoleInterceptor is available and functional', t => {
99
+ t.truthy(globalConsoleInterceptor);
100
+ t.true(globalConsoleInterceptor instanceof ConsoleInterceptor);
101
+ t.false(globalConsoleInterceptor.isInterceptorActive());
102
+ });
103
+ test('createModuleConsole creates properly scoped console', t => {
104
+ const moduleName = 'test-module';
105
+ const moduleConsole = createModuleConsole(moduleName);
106
+ t.truthy(moduleConsole);
107
+ t.truthy(typeof moduleConsole.log === 'function');
108
+ t.truthy(typeof moduleConsole.error === 'function');
109
+ t.truthy(typeof moduleConsole.warn === 'function');
110
+ t.truthy(typeof moduleConsole.info === 'function');
111
+ t.truthy(typeof moduleConsole.debug === 'function');
112
+ });
113
+ test('ConsoleUsageTracker tracks console usage', t => {
114
+ const tracker = new ConsoleUsageTracker();
115
+ // Simulate some console calls
116
+ console.log('test log');
117
+ console.error('test error');
118
+ console.log('another log');
119
+ const stats = tracker.getUsageStats();
120
+ t.true(typeof stats === 'object');
121
+ });
122
+ test('ConsoleUsageTracker.reportUsage logs statistics', t => {
123
+ const tracker = new ConsoleUsageTracker();
124
+ t.notThrows(() => {
125
+ tracker.reportUsage();
126
+ }, 'Should report usage without throwing');
127
+ });
128
+ test('ConsoleUsageTracker.restore works without errors', t => {
129
+ const tracker = new ConsoleUsageTracker();
130
+ t.notThrows(() => {
131
+ tracker.restore();
132
+ }, 'Restore should not throw errors');
133
+ });
134
+ test('StructuredConsole handles all console methods consistently', t => {
135
+ const methods = ['log', 'error', 'warn', 'info', 'debug'];
136
+ methods.forEach(method => {
137
+ // Call the method with a test message
138
+ t.notThrows(() => {
139
+ StructuredConsole[method](`Test ${method} message`);
140
+ }, `${method} should work without throwing`);
141
+ });
142
+ });
143
+ //# sourceMappingURL=console-facade.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-facade.spec.js","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,yBAAyB;AACzB,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,GAExB,MAAM,qBAAqB,CAAC;AAE7B,qEAAqE;AACrE,sEAAsE;AACtE,6CAA6C;AAE7C,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,EAAE;IACzD,uEAAuE;IACvE,0EAA0E;IAC1E,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC,EAAE,gDAAgD,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAChE,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,EAAE,uDAAuD,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAChE,MAAM,UAAU,GAAG,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;IAC9C,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC,EAAE,uDAAuD,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,CAAC,CAAC,EAAE;IACnE,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EAAE,0DAA0D,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,EAAE;IAC5D,MAAM,SAAS,GAAG,cAAc,CAAC;IACjC,MAAM,SAAS,GAAG,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;IACjC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC,EAAE,mDAAmD,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,EAAE;IACzD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,EAAE,8CAA8C,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE;IAC9D,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;IAC9D,CAAC,EAAE,oDAAoD,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE;IAClE,MAAM,eAAe,GAAG;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACpB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAE7C,kBAAkB;IAClB,WAAW,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE1C,sCAAsC;IACtC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE7C,oBAAoB;IACpB,WAAW,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE3C,uCAAuC;IACvC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAChE,MAAM,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAE7C,WAAW,CAAC,QAAQ,EAAE,CAAC;IACvB,MAAM,eAAe,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAE1D,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,0BAA0B;IAClD,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAE3D,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEzC,WAAW,CAAC,UAAU,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,CAAC,CAAC,EAAE;IACnE,MAAM,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAE7C,sDAAsD;IACtD,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,WAAW,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC,EAAE,+CAA+C,CAAC,CAAC;IAEpD,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAChE,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,wBAAwB,YAAY,kBAAkB,CAAC,CAAC;IAC/D,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,CAAC,CAAC,EAAE;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC;IACjC,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEtD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxB,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,EAAE;IACpD,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE1C,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE3B,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE;IAC3D,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE1C,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,OAAO,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC,EAAE,sCAAsC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,EAAE;IAC5D,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE1C,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;QAChB,OAAO,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,EAAE,iCAAiC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC,EAAE;IACtE,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;IAEnE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACxB,sCAAsC;QACtC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;YAChB,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,MAAM,UAAU,CAAC,CAAC;QACrD,CAAC,EAAE,GAAG,MAAM,+BAA+B,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Correlation ID management for tracking requests across components
3
+ */
4
+ import { AsyncLocalStorage } from 'async_hooks';
5
+ import type { CorrelationContext, CorrelationHttpRequest, CorrelationHttpResponse } from './types.js';
6
+ /**
7
+ * Async local storage for correlation context
8
+ * Provides thread-safe context storage across async operations
9
+ */
10
+ export declare const correlationStorage: AsyncLocalStorage<CorrelationContext>;
11
+ /**
12
+ * Correlation Context Monitoring Metrics
13
+ * Tracks usage, performance, and potential issues for production monitoring
14
+ */
15
+ declare const correlationMonitoring: {
16
+ contextsCreated: number;
17
+ activeContexts: number;
18
+ errors: number;
19
+ lastError: string | null;
20
+ lastErrorTime: number;
21
+ startTime: number;
22
+ };
23
+ /**
24
+ * Legacy context has been removed in favor of AsyncLocalStorage-only approach
25
+ * This eliminates race conditions in concurrent operations
26
+ * All code should now use withCorrelationContext() or withNewCorrelationContext()
27
+ */
28
+ /**
29
+ * Get correlation context monitoring metrics
30
+ * Provides insights into context usage, performance, and health
31
+ */
32
+ export declare function getCorrelationMonitoring(): typeof correlationMonitoring;
33
+ /**
34
+ * Log correlation context monitoring metrics
35
+ * Useful for periodic logging of system health
36
+ * @internal
37
+ */
38
+ export declare function logCorrelationMonitoring(level?: 'debug' | 'info' | 'warn' | 'error'): void;
39
+ /**
40
+ * Reset correlation context monitoring metrics
41
+ * Useful for testing or periodic reporting
42
+ */
43
+ export declare function resetCorrelationMonitoring(): void;
44
+ /**
45
+ * Perform health check on correlation context system
46
+ * Verifies that the AsyncLocalStorage context system is functioning properly
47
+ */
48
+ export declare function checkCorrelationHealth(): {
49
+ healthy: boolean;
50
+ message: string;
51
+ metrics: typeof correlationMonitoring;
52
+ };
53
+ /**
54
+ * Generate a new correlation ID
55
+ */
56
+ export declare function generateCorrelationId(): string;
57
+ /**
58
+ * Generate a short correlation ID (8 characters) for display
59
+ */
60
+ export declare function generateShortCorrelationId(): string;
61
+ /**
62
+ * Create a new correlation context with specific ID
63
+ */
64
+ export declare function createCorrelationContextWithId(id: string, metadata?: Record<string, unknown>): CorrelationContext;
65
+ /**
66
+ * Create a new correlation context with optional parent ID
67
+ */
68
+ export declare function createCorrelationContext(parentId?: string, metadata?: Record<string, unknown>): CorrelationContext;
69
+ /**
70
+ * Get the current correlation context
71
+ * Now uses AsyncLocalStorage exclusively - no legacy fallback
72
+ */
73
+ export declare function getCurrentCorrelationContext(): CorrelationContext | null;
74
+ /**
75
+ * Set the current correlation context (runs function with context)
76
+ * Note: AsyncLocalStorage doesn't support direct setting, use withCorrelationContext instead
77
+ * @deprecated Use withCorrelationContext or withNewCorrelationContext
78
+ */
79
+ export declare function setCorrelationContext(_context: CorrelationContext): void;
80
+ /**
81
+ * Clear the current correlation context
82
+ * Note: AsyncLocalStorage handles cleanup automatically
83
+ * @deprecated Context is automatically cleared when async operation completes
84
+ */
85
+ export declare function clearCorrelationContext(): void;
86
+ /**
87
+ * Run a function with a specific correlation context
88
+ */
89
+ export declare function withCorrelationContext<T>(context: CorrelationContext, fn: () => T): T;
90
+ /**
91
+ * Run a function with a new correlation context
92
+ */
93
+ export declare function withNewCorrelationContext<T>(fn: (context: CorrelationContext) => T, correlationId?: string, metadata?: Record<string, unknown>): T;
94
+ /**
95
+ * Get the correlation ID for the current context
96
+ */
97
+ export declare function getCorrelationId(): string | null;
98
+ /**
99
+ * Check if correlation is enabled
100
+ */
101
+ export declare function isCorrelationEnabled(): boolean;
102
+ /**
103
+ * Get correlation header for HTTP requests
104
+ */
105
+ export declare function getCorrelationHeader(): {
106
+ 'X-Correlation-ID': string;
107
+ } | Record<string, never>;
108
+ /**
109
+ * Extract correlation ID from HTTP headers
110
+ */
111
+ export declare function extractCorrelationId(headers: Record<string, string>): string | null;
112
+ /**
113
+ * Create a correlation context from HTTP headers
114
+ */
115
+ export declare function createCorrelationFromHeaders(headers: Record<string, string>, metadata?: Record<string, unknown>): CorrelationContext | null;
116
+ /**
117
+ * Add correlation metadata
118
+ * Note: Creates a new context with updated metadata since AsyncLocalStorage is immutable
119
+ * @deprecated Use withNewCorrelationContext with metadata parameter
120
+ */
121
+ export declare function addCorrelationMetadata(_key: string, _value: unknown): void;
122
+ /**
123
+ * Get correlation metadata
124
+ */
125
+ export declare function getCorrelationMetadata(key?: string): unknown;
126
+ /**
127
+ * Format correlation context for logging
128
+ */
129
+ export declare function formatCorrelationForLog(): Record<string, string>;
130
+ /**
131
+ * Correlation middleware for Express-like frameworks
132
+ */
133
+ export declare function correlationMiddleware(): (req: CorrelationHttpRequest, res: CorrelationHttpResponse, next: () => void) => void;
134
+ /**
135
+ * Wrap an async function with correlation tracking
136
+ */
137
+ export declare function withCorrelation<T extends (...args: unknown[]) => Promise<unknown>>(fn: T, getCorrelationIdFromArgs?: (...args: Parameters<T>) => string): T;
138
+ export {};
139
+ //# sourceMappingURL=correlation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correlation.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/correlation.ts"],"names":[],"mappings":"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"}