@nanocollective/nanocoder 1.18.0 → 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 (603) hide show
  1. package/README.md +176 -8
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client-empty-message.spec.js.map +1 -1
  4. package/dist/ai-sdk-client.d.ts +1 -1
  5. package/dist/ai-sdk-client.d.ts.map +1 -1
  6. package/dist/ai-sdk-client.js +261 -150
  7. package/dist/ai-sdk-client.js.map +1 -1
  8. package/dist/app/utils/appUtils.d.ts +1 -1
  9. package/dist/app/utils/appUtils.d.ts.map +1 -1
  10. package/dist/app/utils/appUtils.js +78 -12
  11. package/dist/app/utils/appUtils.js.map +1 -1
  12. package/dist/app.d.ts +22 -1
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +353 -48
  15. package/dist/app.js.map +1 -1
  16. package/dist/cli.js +37 -2
  17. package/dist/cli.js.map +1 -1
  18. package/dist/cli.spec.d.ts +2 -0
  19. package/dist/cli.spec.d.ts.map +1 -0
  20. package/dist/cli.spec.js +101 -0
  21. package/dist/cli.spec.js.map +1 -0
  22. package/dist/client-factory.d.ts.map +1 -1
  23. package/dist/client-factory.js +2 -2
  24. package/dist/client-factory.js.map +1 -1
  25. package/dist/commands/checkpoint.d.ts +6 -0
  26. package/dist/commands/checkpoint.d.ts.map +1 -0
  27. package/dist/commands/checkpoint.js +277 -0
  28. package/dist/commands/checkpoint.js.map +1 -0
  29. package/dist/commands/clear.d.ts.map +1 -1
  30. package/dist/commands/clear.js +1 -1
  31. package/dist/commands/clear.js.map +1 -1
  32. package/dist/commands/custom-commands.d.ts.map +1 -1
  33. package/dist/commands/custom-commands.js +4 -4
  34. package/dist/commands/custom-commands.js.map +1 -1
  35. package/dist/commands/exit.d.ts.map +1 -1
  36. package/dist/commands/exit.js.map +1 -1
  37. package/dist/commands/export.d.ts.map +1 -1
  38. package/dist/commands/export.js +2 -2
  39. package/dist/commands/export.js.map +1 -1
  40. package/dist/commands/help.d.ts.map +1 -1
  41. package/dist/commands/help.js +5 -5
  42. package/dist/commands/help.js.map +1 -1
  43. package/dist/commands/index.d.ts +1 -1
  44. package/dist/commands/index.d.ts.map +1 -1
  45. package/dist/commands/index.js +1 -1
  46. package/dist/commands/index.js.map +1 -1
  47. package/dist/commands/init.d.ts.map +1 -1
  48. package/dist/commands/init.js +15 -14
  49. package/dist/commands/init.js.map +1 -1
  50. package/dist/commands/lsp.d.ts.map +1 -1
  51. package/dist/commands/lsp.js +6 -6
  52. package/dist/commands/lsp.js.map +1 -1
  53. package/dist/commands/mcp.d.ts +1 -1
  54. package/dist/commands/mcp.d.ts.map +1 -1
  55. package/dist/commands/mcp.js +6 -6
  56. package/dist/commands/mcp.js.map +1 -1
  57. package/dist/commands/model-database.d.ts.map +1 -1
  58. package/dist/commands/model-database.js +8 -8
  59. package/dist/commands/model-database.js.map +1 -1
  60. package/dist/commands/model.d.ts.map +1 -1
  61. package/dist/commands/model.js.map +1 -1
  62. package/dist/commands/provider.d.ts.map +1 -1
  63. package/dist/commands/provider.js.map +1 -1
  64. package/dist/commands/setup-config.js +1 -1
  65. package/dist/commands/setup-config.js.map +1 -1
  66. package/dist/commands/status.d.ts.map +1 -1
  67. package/dist/commands/status.js.map +1 -1
  68. package/dist/commands/theme.d.ts.map +1 -1
  69. package/dist/commands/theme.js.map +1 -1
  70. package/dist/commands/update.d.ts.map +1 -1
  71. package/dist/commands/update.js +5 -5
  72. package/dist/commands/update.js.map +1 -1
  73. package/dist/commands/usage.d.ts.map +1 -1
  74. package/dist/commands/usage.js +3 -3
  75. package/dist/commands/usage.js.map +1 -1
  76. package/dist/commands.d.ts.map +1 -1
  77. package/dist/commands.js +1 -1
  78. package/dist/commands.js.map +1 -1
  79. package/dist/components/assistant-message.d.ts.map +1 -1
  80. package/dist/components/assistant-message.js +2 -2
  81. package/dist/components/assistant-message.js.map +1 -1
  82. package/dist/components/bash-execution-indicator.d.ts.map +1 -1
  83. package/dist/components/bash-execution-indicator.js +2 -2
  84. package/dist/components/bash-execution-indicator.js.map +1 -1
  85. package/dist/components/cancelling-indicator.js +3 -3
  86. package/dist/components/cancelling-indicator.js.map +1 -1
  87. package/dist/components/chat-queue.d.ts.map +1 -1
  88. package/dist/components/chat-queue.js +1 -1
  89. package/dist/components/chat-queue.js.map +1 -1
  90. package/dist/components/checkpoint-display.d.ts +8 -0
  91. package/dist/components/checkpoint-display.d.ts.map +1 -0
  92. package/dist/components/checkpoint-display.js +29 -0
  93. package/dist/components/checkpoint-display.js.map +1 -0
  94. package/dist/components/checkpoint-selector.d.ts +11 -0
  95. package/dist/components/checkpoint-selector.d.ts.map +1 -0
  96. package/dist/components/checkpoint-selector.js +55 -0
  97. package/dist/components/checkpoint-selector.js.map +1 -0
  98. package/dist/components/error-message.d.ts.map +1 -1
  99. package/dist/components/error-message.js +4 -4
  100. package/dist/components/error-message.js.map +1 -1
  101. package/dist/components/info-message.d.ts.map +1 -1
  102. package/dist/components/info-message.js +4 -4
  103. package/dist/components/info-message.js.map +1 -1
  104. package/dist/components/model-selector.d.ts.map +1 -1
  105. package/dist/components/model-selector.js +7 -7
  106. package/dist/components/model-selector.js.map +1 -1
  107. package/dist/components/provider-selector.d.ts.map +1 -1
  108. package/dist/components/provider-selector.js +6 -6
  109. package/dist/components/provider-selector.js.map +1 -1
  110. package/dist/components/security-disclaimer.d.ts.map +1 -1
  111. package/dist/components/security-disclaimer.js +4 -4
  112. package/dist/components/security-disclaimer.js.map +1 -1
  113. package/dist/components/status.d.ts +3 -1
  114. package/dist/components/status.d.ts.map +1 -1
  115. package/dist/components/status.js +17 -9
  116. package/dist/components/status.js.map +1 -1
  117. package/dist/components/success-message.d.ts.map +1 -1
  118. package/dist/components/success-message.js +4 -4
  119. package/dist/components/success-message.js.map +1 -1
  120. package/dist/components/theme-selector.d.ts.map +1 -1
  121. package/dist/components/theme-selector.js +8 -8
  122. package/dist/components/theme-selector.js.map +1 -1
  123. package/dist/components/tool-confirmation.d.ts.map +1 -1
  124. package/dist/components/tool-confirmation.js +7 -7
  125. package/dist/components/tool-confirmation.js.map +1 -1
  126. package/dist/components/tool-execution-indicator.d.ts.map +1 -1
  127. package/dist/components/tool-execution-indicator.js +2 -2
  128. package/dist/components/tool-execution-indicator.js.map +1 -1
  129. package/dist/components/tool-message.d.ts.map +1 -1
  130. package/dist/components/tool-message.js +4 -5
  131. package/dist/components/tool-message.js.map +1 -1
  132. package/dist/components/ui/titled-box.d.ts +16 -0
  133. package/dist/components/ui/titled-box.d.ts.map +1 -0
  134. package/dist/components/ui/titled-box.js +10 -0
  135. package/dist/components/ui/titled-box.js.map +1 -0
  136. package/dist/components/usage/progress-bar.d.ts.map +1 -1
  137. package/dist/components/usage/progress-bar.js +3 -0
  138. package/dist/components/usage/progress-bar.js.map +1 -1
  139. package/dist/components/usage/usage-display.d.ts.map +1 -1
  140. package/dist/components/usage/usage-display.js +7 -4
  141. package/dist/components/usage/usage-display.js.map +1 -1
  142. package/dist/components/user-input.d.ts.map +1 -1
  143. package/dist/components/user-input.js +7 -7
  144. package/dist/components/user-input.js.map +1 -1
  145. package/dist/components/user-message.d.ts.map +1 -1
  146. package/dist/components/user-message.js +1 -1
  147. package/dist/components/user-message.js.map +1 -1
  148. package/dist/components/vscode-extension-prompt.js +3 -3
  149. package/dist/components/vscode-extension-prompt.js.map +1 -1
  150. package/dist/components/warning-message.d.ts.map +1 -1
  151. package/dist/components/warning-message.js +4 -4
  152. package/dist/components/warning-message.js.map +1 -1
  153. package/dist/components/welcome-message.d.ts.map +1 -1
  154. package/dist/components/welcome-message.js +4 -4
  155. package/dist/components/welcome-message.js.map +1 -1
  156. package/dist/config/index.d.ts.map +1 -1
  157. package/dist/config/index.js +7 -7
  158. package/dist/config/index.js.map +1 -1
  159. package/dist/config/index.spec.js +4 -4
  160. package/dist/config/index.spec.js.map +1 -1
  161. package/dist/config/paths.spec.js +1 -1
  162. package/dist/config/paths.spec.js.map +1 -1
  163. package/dist/config/preferences.d.ts +0 -2
  164. package/dist/config/preferences.d.ts.map +1 -1
  165. package/dist/config/preferences.js +1 -11
  166. package/dist/config/preferences.js.map +1 -1
  167. package/dist/custom-commands/executor.d.ts.map +1 -1
  168. package/dist/custom-commands/executor.js.map +1 -1
  169. package/dist/custom-commands/loader.d.ts.map +1 -1
  170. package/dist/custom-commands/loader.js +1 -1
  171. package/dist/custom-commands/loader.js.map +1 -1
  172. package/dist/custom-commands/parser.d.ts.map +1 -1
  173. package/dist/custom-commands/parser.js.map +1 -1
  174. package/dist/hooks/useAppInitialization.d.ts +7 -5
  175. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  176. package/dist/hooks/useAppInitialization.js +21 -22
  177. package/dist/hooks/useAppInitialization.js.map +1 -1
  178. package/dist/hooks/useAppState.d.ts +22 -5
  179. package/dist/hooks/useAppState.d.ts.map +1 -1
  180. package/dist/hooks/useAppState.js +17 -1
  181. package/dist/hooks/useAppState.js.map +1 -1
  182. package/dist/hooks/useChatHandler.d.ts +4 -2
  183. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  184. package/dist/hooks/useChatHandler.js +35 -10
  185. package/dist/hooks/useChatHandler.js.map +1 -1
  186. package/dist/hooks/useDirectoryTrust.js +1 -1
  187. package/dist/hooks/useDirectoryTrust.js.map +1 -1
  188. package/dist/hooks/useInputState.js +2 -2
  189. package/dist/hooks/useInputState.js.map +1 -1
  190. package/dist/hooks/useModeHandlers.d.ts +1 -1
  191. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  192. package/dist/hooks/useModeHandlers.js +3 -3
  193. package/dist/hooks/useModeHandlers.js.map +1 -1
  194. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  195. package/dist/hooks/useTerminalWidth.js +3 -3
  196. package/dist/hooks/useTerminalWidth.js.map +1 -1
  197. package/dist/hooks/useTheme.d.ts.map +1 -1
  198. package/dist/hooks/useTheme.js +1 -1
  199. package/dist/hooks/useTheme.js.map +1 -1
  200. package/dist/hooks/useToolHandler.d.ts +1 -1
  201. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  202. package/dist/hooks/useToolHandler.js +4 -4
  203. package/dist/hooks/useToolHandler.js.map +1 -1
  204. package/dist/hooks/useUIState.d.ts +1 -1
  205. package/dist/hooks/useUIState.d.ts.map +1 -1
  206. package/dist/hooks/useUIState.js.map +1 -1
  207. package/dist/hooks/useVSCodeServer.js +2 -2
  208. package/dist/hooks/useVSCodeServer.js.map +1 -1
  209. package/dist/init/agents-template-generator.d.ts +1 -1
  210. package/dist/init/agents-template-generator.d.ts.map +1 -1
  211. package/dist/init/agents-template-generator.js.map +1 -1
  212. package/dist/init/existing-rules-extractor.js +1 -1
  213. package/dist/init/existing-rules-extractor.js.map +1 -1
  214. package/dist/init/file-scanner.js +2 -2
  215. package/dist/init/file-scanner.js.map +1 -1
  216. package/dist/init/framework-detector.js +1 -1
  217. package/dist/init/framework-detector.js.map +1 -1
  218. package/dist/init/project-analyzer.d.ts +1 -1
  219. package/dist/init/project-analyzer.d.ts.map +1 -1
  220. package/dist/init/project-analyzer.js +3 -3
  221. package/dist/init/project-analyzer.js.map +1 -1
  222. package/dist/lsp/lsp-client.d.ts +1 -1
  223. package/dist/lsp/lsp-client.d.ts.map +1 -1
  224. package/dist/lsp/lsp-client.js +1 -1
  225. package/dist/lsp/lsp-client.js.map +1 -1
  226. package/dist/lsp/lsp-client.spec.js +1 -2
  227. package/dist/lsp/lsp-client.spec.js.map +1 -1
  228. package/dist/lsp/lsp-manager.d.ts +1 -1
  229. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  230. package/dist/lsp/lsp-manager.js.map +1 -1
  231. package/dist/lsp/lsp-manager.spec.js +1 -1
  232. package/dist/lsp/lsp-manager.spec.js.map +1 -1
  233. package/dist/lsp/protocol.spec.js +1 -1
  234. package/dist/lsp/protocol.spec.js.map +1 -1
  235. package/dist/lsp/server-discovery.spec.js +1 -1
  236. package/dist/lsp/server-discovery.spec.js.map +1 -1
  237. package/dist/markdown-parser/index.spec.js.map +1 -1
  238. package/dist/markdown-parser/table-parser.spec.js.map +1 -1
  239. package/dist/mcp/mcp-client.d.ts +3 -2
  240. package/dist/mcp/mcp-client.d.ts.map +1 -1
  241. package/dist/mcp/mcp-client.js +264 -91
  242. package/dist/mcp/mcp-client.js.map +1 -1
  243. package/dist/mcp/transport-factory.d.ts +1 -1
  244. package/dist/mcp/transport-factory.d.ts.map +1 -1
  245. package/dist/mcp/transport-factory.js +16 -3
  246. package/dist/mcp/transport-factory.js.map +1 -1
  247. package/dist/mcp/transport-factory.spec.js +30 -48
  248. package/dist/mcp/transport-factory.spec.js.map +1 -1
  249. package/dist/message-handler.d.ts +1 -1
  250. package/dist/message-handler.d.ts.map +1 -1
  251. package/dist/model-database/database-engine.d.ts.map +1 -1
  252. package/dist/model-database/database-engine.js.map +1 -1
  253. package/dist/model-database/database-engine.spec.js.map +1 -1
  254. package/dist/model-database/model-database.js +1 -1
  255. package/dist/model-database/model-database.js.map +1 -1
  256. package/dist/model-database/model-engine.d.ts.map +1 -1
  257. package/dist/model-database/model-engine.js.map +1 -1
  258. package/dist/model-database/model-engine.spec.js +1 -1
  259. package/dist/model-database/model-engine.spec.js.map +1 -1
  260. package/dist/model-database/model-fetcher.d.ts.map +1 -1
  261. package/dist/model-database/model-fetcher.js +2 -1
  262. package/dist/model-database/model-fetcher.js.map +1 -1
  263. package/dist/model-database/model-fetcher.spec.js +1 -1
  264. package/dist/model-database/model-fetcher.spec.js.map +1 -1
  265. package/dist/models/models-cache.d.ts +1 -1
  266. package/dist/models/models-cache.d.ts.map +1 -1
  267. package/dist/models/models-cache.js +1 -1
  268. package/dist/models/models-cache.js.map +1 -1
  269. package/dist/models/models-dev-client.d.ts.map +1 -1
  270. package/dist/models/models-dev-client.js +18 -10
  271. package/dist/models/models-dev-client.js.map +1 -1
  272. package/dist/prompt-history.js +2 -2
  273. package/dist/prompt-history.js.map +1 -1
  274. package/dist/services/checkpoint-manager.d.ts +68 -0
  275. package/dist/services/checkpoint-manager.d.ts.map +1 -0
  276. package/dist/services/checkpoint-manager.js +345 -0
  277. package/dist/services/checkpoint-manager.js.map +1 -0
  278. package/dist/services/checkpoint-manager.spec.d.ts +2 -0
  279. package/dist/services/checkpoint-manager.spec.d.ts.map +1 -0
  280. package/dist/services/checkpoint-manager.spec.js +353 -0
  281. package/dist/services/checkpoint-manager.spec.js.map +1 -0
  282. package/dist/services/file-snapshot.d.ts +32 -0
  283. package/dist/services/file-snapshot.d.ts.map +1 -0
  284. package/dist/services/file-snapshot.js +161 -0
  285. package/dist/services/file-snapshot.js.map +1 -0
  286. package/dist/services/file-snapshot.spec.d.ts +2 -0
  287. package/dist/services/file-snapshot.spec.d.ts.map +1 -0
  288. package/dist/services/file-snapshot.spec.js +285 -0
  289. package/dist/services/file-snapshot.spec.js.map +1 -0
  290. package/dist/test-utils/render-with-theme.d.ts +7 -0
  291. package/dist/test-utils/render-with-theme.d.ts.map +1 -0
  292. package/dist/test-utils/render-with-theme.js +38 -0
  293. package/dist/test-utils/render-with-theme.js.map +1 -0
  294. package/dist/tokenization/tokenizer-factory.js +2 -2
  295. package/dist/tokenization/tokenizer-factory.js.map +1 -1
  296. package/dist/tokenization/tokenizer-factory.spec.js +2 -2
  297. package/dist/tokenization/tokenizer-factory.spec.js.map +1 -1
  298. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts +1 -1
  299. package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts.map +1 -1
  300. package/dist/tokenization/tokenizers/anthropic-tokenizer.js.map +1 -1
  301. package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.js.map +1 -1
  302. package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts +1 -1
  303. package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts.map +1 -1
  304. package/dist/tokenization/tokenizers/fallback-tokenizer.spec.js.map +1 -1
  305. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts +1 -1
  306. package/dist/tokenization/tokenizers/llama-tokenizer.d.ts.map +1 -1
  307. package/dist/tokenization/tokenizers/llama-tokenizer.js.map +1 -1
  308. package/dist/tokenization/tokenizers/llama-tokenizer.spec.js.map +1 -1
  309. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts +1 -1
  310. package/dist/tokenization/tokenizers/openai-tokenizer.d.ts.map +1 -1
  311. package/dist/tokenization/tokenizers/openai-tokenizer.js.map +1 -1
  312. package/dist/tokenization/tokenizers/openai-tokenizer.spec.js.map +1 -1
  313. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  314. package/dist/tool-calling/json-parser.js +2 -10
  315. package/dist/tool-calling/json-parser.js.map +1 -1
  316. package/dist/tool-calling/json-parser.spec.js +7 -7
  317. package/dist/tool-calling/json-parser.spec.js.map +1 -1
  318. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  319. package/dist/tool-calling/tool-parser.js +1 -1
  320. package/dist/tool-calling/tool-parser.js.map +1 -1
  321. package/dist/tool-calling/tool-parser.spec.js +3 -3
  322. package/dist/tool-calling/tool-parser.spec.js.map +1 -1
  323. package/dist/tools/create-file.d.ts.map +1 -1
  324. package/dist/tools/create-file.js +7 -7
  325. package/dist/tools/create-file.js.map +1 -1
  326. package/dist/tools/delete-lines.d.ts.map +1 -1
  327. package/dist/tools/delete-lines.js +9 -9
  328. package/dist/tools/delete-lines.js.map +1 -1
  329. package/dist/tools/execute-bash.d.ts.map +1 -1
  330. package/dist/tools/execute-bash.js +3 -3
  331. package/dist/tools/execute-bash.js.map +1 -1
  332. package/dist/tools/execute-function.spec.js +4 -4
  333. package/dist/tools/execute-function.spec.js.map +1 -1
  334. package/dist/tools/fetch-url.d.ts.map +1 -1
  335. package/dist/tools/fetch-url.js +3 -3
  336. package/dist/tools/fetch-url.js.map +1 -1
  337. package/dist/tools/find-files.d.ts.map +1 -1
  338. package/dist/tools/find-files.js +6 -6
  339. package/dist/tools/find-files.js.map +1 -1
  340. package/dist/tools/index.d.ts +1 -1
  341. package/dist/tools/index.d.ts.map +1 -1
  342. package/dist/tools/index.js +7 -7
  343. package/dist/tools/index.js.map +1 -1
  344. package/dist/tools/insert-lines.d.ts.map +1 -1
  345. package/dist/tools/insert-lines.js +8 -8
  346. package/dist/tools/insert-lines.js.map +1 -1
  347. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  348. package/dist/tools/lsp-get-diagnostics.js +5 -5
  349. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  350. package/dist/tools/needs-approval.spec.js +6 -6
  351. package/dist/tools/needs-approval.spec.js.map +1 -1
  352. package/dist/tools/read-file.js +6 -6
  353. package/dist/tools/read-file.js.map +1 -1
  354. package/dist/tools/replace-lines.d.ts.map +1 -1
  355. package/dist/tools/replace-lines.js +8 -8
  356. package/dist/tools/replace-lines.js.map +1 -1
  357. package/dist/tools/search-file-contents.d.ts.map +1 -1
  358. package/dist/tools/search-file-contents.js +6 -6
  359. package/dist/tools/search-file-contents.js.map +1 -1
  360. package/dist/tools/tool-manager.d.ts +1 -1
  361. package/dist/tools/tool-manager.d.ts.map +1 -1
  362. package/dist/tools/tool-manager.js +1 -1
  363. package/dist/tools/tool-manager.js.map +1 -1
  364. package/dist/tools/tool-registry.d.ts +1 -1
  365. package/dist/tools/tool-registry.d.ts.map +1 -1
  366. package/dist/tools/web-search.d.ts.map +1 -1
  367. package/dist/tools/web-search.js +4 -4
  368. package/dist/tools/web-search.js.map +1 -1
  369. package/dist/types/app.d.ts +6 -3
  370. package/dist/types/app.d.ts.map +1 -1
  371. package/dist/types/checkpoint.d.ts +43 -0
  372. package/dist/types/checkpoint.d.ts.map +1 -0
  373. package/dist/types/checkpoint.js +2 -0
  374. package/dist/types/checkpoint.js.map +1 -0
  375. package/dist/types/config.d.ts +0 -1
  376. package/dist/types/config.d.ts.map +1 -1
  377. package/dist/types/core-connection-status.spec.js.map +1 -1
  378. package/dist/types/core.d.ts +1 -1
  379. package/dist/types/core.d.ts.map +1 -1
  380. package/dist/types/core.js +1 -1
  381. package/dist/types/core.js.map +1 -1
  382. package/dist/types/index.d.ts +1 -0
  383. package/dist/types/index.d.ts.map +1 -1
  384. package/dist/types/index.js +1 -0
  385. package/dist/types/index.js.map +1 -1
  386. package/dist/usage/calculator.spec.js +1 -1
  387. package/dist/usage/calculator.spec.js.map +1 -1
  388. package/dist/usage/storage.d.ts +1 -1
  389. package/dist/usage/storage.d.ts.map +1 -1
  390. package/dist/usage/storage.js +9 -3
  391. package/dist/usage/storage.js.map +1 -1
  392. package/dist/usage/storage.spec.js +3 -3
  393. package/dist/usage/storage.spec.js.map +1 -1
  394. package/dist/usage/tracker.d.ts.map +1 -1
  395. package/dist/usage/tracker.js +1 -1
  396. package/dist/usage/tracker.js.map +1 -1
  397. package/dist/usage/tracker.spec.js +4 -4
  398. package/dist/usage/tracker.spec.js.map +1 -1
  399. package/dist/utils/atomic-deletion.spec.js +1 -1
  400. package/dist/utils/atomic-deletion.spec.js.map +1 -1
  401. package/dist/utils/checkpoint-utils.d.ts +12 -0
  402. package/dist/utils/checkpoint-utils.d.ts.map +1 -0
  403. package/dist/utils/checkpoint-utils.js +85 -0
  404. package/dist/utils/checkpoint-utils.js.map +1 -0
  405. package/dist/utils/checkpoint-utils.spec.d.ts +2 -0
  406. package/dist/utils/checkpoint-utils.spec.d.ts.map +1 -0
  407. package/dist/utils/checkpoint-utils.spec.js +182 -0
  408. package/dist/utils/checkpoint-utils.spec.js.map +1 -0
  409. package/dist/utils/error-formatter.d.ts +35 -0
  410. package/dist/utils/error-formatter.d.ts.map +1 -1
  411. package/dist/utils/error-formatter.js +123 -0
  412. package/dist/utils/error-formatter.js.map +1 -1
  413. package/dist/utils/file-autocomplete.js +2 -2
  414. package/dist/utils/file-autocomplete.js.map +1 -1
  415. package/dist/utils/file-autocomplete.spec.js +1 -1
  416. package/dist/utils/file-autocomplete.spec.js.map +1 -1
  417. package/dist/utils/file-content-loader.js +1 -1
  418. package/dist/utils/file-content-loader.js.map +1 -1
  419. package/dist/utils/file-content-loader.spec.js +4 -4
  420. package/dist/utils/file-content-loader.spec.js.map +1 -1
  421. package/dist/utils/file-mention-handler.js.map +1 -1
  422. package/dist/utils/file-mention-handler.spec.js +4 -4
  423. package/dist/utils/file-mention-handler.spec.js.map +1 -1
  424. package/dist/utils/file-mention-parser.spec.js +2 -2
  425. package/dist/utils/file-mention-parser.spec.js.map +1 -1
  426. package/dist/utils/installation-detector.js +2 -2
  427. package/dist/utils/installation-detector.js.map +1 -1
  428. package/dist/utils/installation-detector.spec.js +10 -17
  429. package/dist/utils/installation-detector.spec.js.map +1 -1
  430. package/dist/utils/logging/config.d.ts +41 -0
  431. package/dist/utils/logging/config.d.ts.map +1 -0
  432. package/dist/utils/logging/config.js +188 -0
  433. package/dist/utils/logging/config.js.map +1 -0
  434. package/dist/utils/logging/config.spec.d.ts +2 -0
  435. package/dist/utils/logging/config.spec.d.ts.map +1 -0
  436. package/dist/utils/logging/config.spec.js +233 -0
  437. package/dist/utils/logging/config.spec.js.map +1 -0
  438. package/dist/utils/logging/console-facade.d.ts +93 -0
  439. package/dist/utils/logging/console-facade.d.ts.map +1 -0
  440. package/dist/utils/logging/console-facade.js +295 -0
  441. package/dist/utils/logging/console-facade.js.map +1 -0
  442. package/dist/utils/logging/console-facade.spec.d.ts +2 -0
  443. package/dist/utils/logging/console-facade.spec.d.ts.map +1 -0
  444. package/dist/utils/logging/console-facade.spec.js +143 -0
  445. package/dist/utils/logging/console-facade.spec.js.map +1 -0
  446. package/dist/utils/logging/correlation.d.ts +139 -0
  447. package/dist/utils/logging/correlation.d.ts.map +1 -0
  448. package/dist/utils/logging/correlation.js +410 -0
  449. package/dist/utils/logging/correlation.js.map +1 -0
  450. package/dist/utils/logging/correlation.spec.d.ts +2 -0
  451. package/dist/utils/logging/correlation.spec.d.ts.map +1 -0
  452. package/dist/utils/logging/correlation.spec.js +449 -0
  453. package/dist/utils/logging/correlation.spec.js.map +1 -0
  454. package/dist/utils/logging/formatters.d.ts +70 -0
  455. package/dist/utils/logging/formatters.d.ts.map +1 -0
  456. package/dist/utils/logging/formatters.js +186 -0
  457. package/dist/utils/logging/formatters.js.map +1 -0
  458. package/dist/utils/logging/formatters.spec.d.ts +2 -0
  459. package/dist/utils/logging/formatters.spec.d.ts.map +1 -0
  460. package/dist/utils/logging/formatters.spec.js +356 -0
  461. package/dist/utils/logging/formatters.spec.js.map +1 -0
  462. package/dist/utils/logging/health-monitor.d.ts +216 -0
  463. package/dist/utils/logging/health-monitor.d.ts.map +1 -0
  464. package/dist/utils/logging/health-monitor.js +760 -0
  465. package/dist/utils/logging/health-monitor.js.map +1 -0
  466. package/dist/utils/logging/health-monitor.spec.d.ts +2 -0
  467. package/dist/utils/logging/health-monitor.spec.d.ts.map +1 -0
  468. package/dist/utils/logging/health-monitor.spec.js +305 -0
  469. package/dist/utils/logging/health-monitor.spec.js.map +1 -0
  470. package/dist/utils/logging/index.d.ts +100 -0
  471. package/dist/utils/logging/index.d.ts.map +1 -0
  472. package/dist/utils/logging/index.js +186 -0
  473. package/dist/utils/logging/index.js.map +1 -0
  474. package/dist/utils/logging/index.spec.d.ts +2 -0
  475. package/dist/utils/logging/index.spec.d.ts.map +1 -0
  476. package/dist/utils/logging/index.spec.js +214 -0
  477. package/dist/utils/logging/index.spec.js.map +1 -0
  478. package/dist/utils/logging/integration.spec.d.ts +2 -0
  479. package/dist/utils/logging/integration.spec.d.ts.map +1 -0
  480. package/dist/utils/logging/integration.spec.js +312 -0
  481. package/dist/utils/logging/integration.spec.js.map +1 -0
  482. package/dist/utils/logging/log-method-factory.d.ts +43 -0
  483. package/dist/utils/logging/log-method-factory.d.ts.map +1 -0
  484. package/dist/utils/logging/log-method-factory.js +176 -0
  485. package/dist/utils/logging/log-method-factory.js.map +1 -0
  486. package/dist/utils/logging/log-method-factory.spec.d.ts +2 -0
  487. package/dist/utils/logging/log-method-factory.spec.d.ts.map +1 -0
  488. package/dist/utils/logging/log-method-factory.spec.js +428 -0
  489. package/dist/utils/logging/log-method-factory.spec.js.map +1 -0
  490. package/dist/utils/logging/log-query.d.ts +275 -0
  491. package/dist/utils/logging/log-query.d.ts.map +1 -0
  492. package/dist/utils/logging/log-query.js +621 -0
  493. package/dist/utils/logging/log-query.js.map +1 -0
  494. package/dist/utils/logging/log-query.spec.d.ts +2 -0
  495. package/dist/utils/logging/log-query.spec.d.ts.map +1 -0
  496. package/dist/utils/logging/log-query.spec.js +737 -0
  497. package/dist/utils/logging/log-query.spec.js.map +1 -0
  498. package/dist/utils/logging/logger-provider.d.ts +73 -0
  499. package/dist/utils/logging/logger-provider.d.ts.map +1 -0
  500. package/dist/utils/logging/logger-provider.js +298 -0
  501. package/dist/utils/logging/logger-provider.js.map +1 -0
  502. package/dist/utils/logging/logger-provider.spec.d.ts +2 -0
  503. package/dist/utils/logging/logger-provider.spec.d.ts.map +1 -0
  504. package/dist/utils/logging/logger-provider.spec.js +204 -0
  505. package/dist/utils/logging/logger-provider.spec.js.map +1 -0
  506. package/dist/utils/logging/performance.d.ts +147 -0
  507. package/dist/utils/logging/performance.d.ts.map +1 -0
  508. package/dist/utils/logging/performance.js +520 -0
  509. package/dist/utils/logging/performance.js.map +1 -0
  510. package/dist/utils/logging/performance.spec.d.ts +2 -0
  511. package/dist/utils/logging/performance.spec.d.ts.map +1 -0
  512. package/dist/utils/logging/performance.spec.js +139 -0
  513. package/dist/utils/logging/performance.spec.js.map +1 -0
  514. package/dist/utils/logging/pino-logger.d.ts +22 -0
  515. package/dist/utils/logging/pino-logger.d.ts.map +1 -0
  516. package/dist/utils/logging/pino-logger.js +372 -0
  517. package/dist/utils/logging/pino-logger.js.map +1 -0
  518. package/dist/utils/logging/pino-logger.spec.d.ts +2 -0
  519. package/dist/utils/logging/pino-logger.spec.d.ts.map +1 -0
  520. package/dist/utils/logging/pino-logger.spec.js +294 -0
  521. package/dist/utils/logging/pino-logger.spec.js.map +1 -0
  522. package/dist/utils/logging/redaction.d.ts +38 -0
  523. package/dist/utils/logging/redaction.d.ts.map +1 -0
  524. package/dist/utils/logging/redaction.js +210 -0
  525. package/dist/utils/logging/redaction.js.map +1 -0
  526. package/dist/utils/logging/redaction.spec.d.ts +2 -0
  527. package/dist/utils/logging/redaction.spec.d.ts.map +1 -0
  528. package/dist/utils/logging/redaction.spec.js +338 -0
  529. package/dist/utils/logging/redaction.spec.js.map +1 -0
  530. package/dist/utils/logging/request-tracker.d.ts +189 -0
  531. package/dist/utils/logging/request-tracker.d.ts.map +1 -0
  532. package/dist/utils/logging/request-tracker.js +569 -0
  533. package/dist/utils/logging/request-tracker.js.map +1 -0
  534. package/dist/utils/logging/request-tracker.spec.d.ts +2 -0
  535. package/dist/utils/logging/request-tracker.spec.d.ts.map +1 -0
  536. package/dist/utils/logging/request-tracker.spec.js +868 -0
  537. package/dist/utils/logging/request-tracker.spec.js.map +1 -0
  538. package/dist/utils/logging/transports.d.ts +55 -0
  539. package/dist/utils/logging/transports.d.ts.map +1 -0
  540. package/dist/utils/logging/transports.js +252 -0
  541. package/dist/utils/logging/transports.js.map +1 -0
  542. package/dist/utils/logging/transports.spec.d.ts +2 -0
  543. package/dist/utils/logging/transports.spec.d.ts.map +1 -0
  544. package/dist/utils/logging/transports.spec.js +390 -0
  545. package/dist/utils/logging/transports.spec.js.map +1 -0
  546. package/dist/utils/logging/types.d.ts +173 -0
  547. package/dist/utils/logging/types.d.ts.map +1 -0
  548. package/dist/utils/logging/types.js +5 -0
  549. package/dist/utils/logging/types.js.map +1 -0
  550. package/dist/utils/message-queue.d.ts +64 -4
  551. package/dist/utils/message-queue.d.ts.map +1 -1
  552. package/dist/utils/message-queue.js +282 -28
  553. package/dist/utils/message-queue.js.map +1 -1
  554. package/dist/utils/paste-utils.spec.js +1 -1
  555. package/dist/utils/paste-utils.spec.js.map +1 -1
  556. package/dist/utils/prompt-processor.js +2 -2
  557. package/dist/utils/prompt-processor.js.map +1 -1
  558. package/dist/utils/tool-cancellation.spec.js.map +1 -1
  559. package/dist/utils/tool-result-display.d.ts +2 -2
  560. package/dist/utils/tool-result-display.d.ts.map +1 -1
  561. package/dist/utils/tool-result-display.js +3 -3
  562. package/dist/utils/tool-result-display.js.map +1 -1
  563. package/dist/utils/update-checker.d.ts.map +1 -1
  564. package/dist/utils/update-checker.js +1 -1
  565. package/dist/utils/update-checker.js.map +1 -1
  566. package/dist/utils/update-checker.spec.js +2 -2
  567. package/dist/utils/update-checker.spec.js.map +1 -1
  568. package/dist/vscode/extension-installer.js +1 -1
  569. package/dist/vscode/extension-installer.js.map +1 -1
  570. package/dist/vscode/extension-installer.spec.js +1 -1
  571. package/dist/vscode/extension-installer.spec.js.map +1 -1
  572. package/dist/vscode/protocol.spec.js +1 -1
  573. package/dist/vscode/protocol.spec.js.map +1 -1
  574. package/dist/vscode/vscode-server.d.ts.map +1 -1
  575. package/dist/vscode/vscode-server.js +2 -2
  576. package/dist/vscode/vscode-server.js.map +1 -1
  577. package/dist/vscode/vscode-server.spec.js.map +1 -1
  578. package/dist/wizard/config-wizard.d.ts.map +1 -1
  579. package/dist/wizard/config-wizard.js +16 -12
  580. package/dist/wizard/config-wizard.js.map +1 -1
  581. package/dist/wizard/steps/location-step.js +4 -4
  582. package/dist/wizard/steps/location-step.js.map +1 -1
  583. package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
  584. package/dist/wizard/steps/mcp-step.js +4 -4
  585. package/dist/wizard/steps/mcp-step.js.map +1 -1
  586. package/dist/wizard/steps/provider-step.d.ts.map +1 -1
  587. package/dist/wizard/steps/provider-step.js +4 -4
  588. package/dist/wizard/steps/provider-step.js.map +1 -1
  589. package/dist/wizard/steps/summary-step.d.ts.map +1 -1
  590. package/dist/wizard/steps/summary-step.js +2 -2
  591. package/dist/wizard/steps/summary-step.js.map +1 -1
  592. package/dist/wizard/templates/provider-templates.d.ts.map +1 -1
  593. package/dist/wizard/templates/provider-templates.js +64 -0
  594. package/dist/wizard/templates/provider-templates.js.map +1 -1
  595. package/dist/wizard/validation-array.spec.js +1 -1
  596. package/dist/wizard/validation-array.spec.js.map +1 -1
  597. package/dist/wizard/validation.spec.js +1 -1
  598. package/dist/wizard/validation.spec.js.map +1 -1
  599. package/package.json +23 -22
  600. package/dist/commands/debugging.d.ts +0 -3
  601. package/dist/commands/debugging.d.ts.map +0 -1
  602. package/dist/commands/debugging.js +0 -23
  603. package/dist/commands/debugging.js.map +0 -1
@@ -0,0 +1,312 @@
1
+ import { existsSync, mkdirSync, rmSync } from 'fs';
2
+ import { tmpdir } from 'os';
3
+ import { join } from 'path';
4
+ import test from 'ava';
5
+ console.log(`\nlogging/integration.spec.ts`);
6
+ // Integration tests for the complete logging system
7
+ import { end, flush, globalLogStorage, globalRequestTracker, healthChecks, initializeLogger, } from './index.js';
8
+ // Import correlation functionality
9
+ import { generateCorrelationId, getCorrelationId, withNewCorrelationContext, } from './correlation.js';
10
+ // Import redaction
11
+ import { createRedactionRules, redactEmail, redactLogEntry, redactValue, } from './redaction.js';
12
+ // Create a temporary test directory
13
+ const testDir = join(tmpdir(), `nanocoder-logging-integration-${Date.now()}`);
14
+ test.before(() => {
15
+ mkdirSync(testDir, { recursive: true });
16
+ process.env.NODE_ENV = 'test';
17
+ process.env.NANOCODER_LOG_LEVEL = 'debug';
18
+ });
19
+ test.after.always(async () => {
20
+ // Clean up
21
+ if (existsSync(testDir)) {
22
+ rmSync(testDir, { recursive: true, force: true });
23
+ }
24
+ // Reset logger state
25
+ await end();
26
+ });
27
+ test('end-to-end logging workflow', async (t) => {
28
+ // Initialize logger with test configuration
29
+ const logger = initializeLogger({
30
+ level: 'debug',
31
+ pretty: false,
32
+ correlation: true,
33
+ redact: ['apiKey', 'password'],
34
+ });
35
+ t.truthy(logger, 'Logger should be initialized');
36
+ // Test basic logging
37
+ logger.info('Integration test started');
38
+ logger.warn('Warning message', { code: 'TEST_WARNING' });
39
+ logger.error('Error message', { error: new Error('Test error') });
40
+ // Test correlation context
41
+ const correlationId = generateCorrelationId();
42
+ t.truthy(correlationId, 'Should generate correlation ID');
43
+ await withNewCorrelationContext(async () => {
44
+ const contextCorrelationId = getCorrelationId();
45
+ t.truthy(contextCorrelationId, 'Should have correlation ID in context');
46
+ logger.info('Message with correlation context', { action: 'test' });
47
+ }, correlationId, { userId: 'test-user' });
48
+ // Test redaction
49
+ const sensitiveData = {
50
+ username: 'testuser',
51
+ apiKey: 'secret-key-123',
52
+ password: 'secret-pass',
53
+ email: 'test@example.com',
54
+ };
55
+ // Test redactLogEntry with proper redaction rules
56
+ const rules = createRedactionRules(['apiKey', 'password']);
57
+ const redactedData = redactLogEntry(sensitiveData, rules);
58
+ t.is(redactedData.username, 'testuser', 'Should preserve non-sensitive fields');
59
+ t.true(redactedData.apiKey === '[REDACTED]' || redactedData.apiKey.includes('*'), 'Should redact apiKey');
60
+ t.true(redactedData.password === '[REDACTED]' ||
61
+ redactedData.password.includes('*'), 'Should redact password');
62
+ t.is(sensitiveData.email, 'test@example.com', 'Should preserve non-redacted fields');
63
+ // Test PII detection
64
+ const piiData = {
65
+ email: 'user@domain.com',
66
+ phone: '+1-555-123-4567',
67
+ ssn: '123-45-6789',
68
+ normalField: 'safe data',
69
+ };
70
+ const redactedSsn = redactValue(piiData.ssn);
71
+ const maskedEmail = redactEmail(piiData.email);
72
+ t.true(typeof maskedEmail === 'string', 'Should return masked email');
73
+ t.is(redactedSsn, '123-45-6789', 'Should preserve SSN (not in sensitive patterns)');
74
+ t.is(piiData.normalField, 'safe data', 'Should preserve safe data');
75
+ // Test log storage
76
+ globalLogStorage.addEntry({
77
+ timestamp: new Date().toISOString(),
78
+ level: 'info',
79
+ message: 'Test entry',
80
+ correlationId,
81
+ metadata: { test: true },
82
+ });
83
+ const logs = globalLogStorage.query({ limit: 10 });
84
+ t.true(logs.entries.length > 0, 'Should store log entries');
85
+ // Test request tracking
86
+ const requestId = globalRequestTracker.startRequest({
87
+ type: 'http',
88
+ method: 'GET',
89
+ endpoint: '/api/test',
90
+ });
91
+ t.truthy(requestId, 'Should start request tracking');
92
+ globalRequestTracker.completeRequest(requestId);
93
+ const stats = globalRequestTracker.getStats();
94
+ t.true(stats.totalRequests >= 1, 'Should track request statistics');
95
+ // Test health checks
96
+ const health = await healthChecks.quick();
97
+ t.true(health === 'healthy', 'Health check should pass');
98
+ const metrics = healthChecks.metrics();
99
+ t.truthy(metrics, 'Should return health metrics');
100
+ // Test logger cleanup
101
+ await flush();
102
+ await end();
103
+ t.pass('End-to-end workflow completed successfully');
104
+ });
105
+ test('logging system handles high volume gracefully', async (t) => {
106
+ const logger = initializeLogger({ level: 'info', pretty: false });
107
+ const startTime = performance.now();
108
+ const messageCount = 1000;
109
+ // Generate high volume of logs
110
+ for (let i = 0; i < messageCount; i++) {
111
+ logger.info(`High volume test message ${i}`, {
112
+ batchId: 'test-batch',
113
+ index: i,
114
+ timestamp: new Date().toISOString(),
115
+ });
116
+ }
117
+ const endTime = performance.now();
118
+ const duration = endTime - startTime;
119
+ const avgTime = duration / messageCount;
120
+ // Should handle high volume efficiently (less than 1ms per log)
121
+ t.true(avgTime < 1, `Should handle high volume efficiently (${avgTime.toFixed(4)}ms per message)`);
122
+ await end();
123
+ });
124
+ test('multiple concurrent logging contexts', async (t) => {
125
+ const logger = initializeLogger({
126
+ level: 'debug',
127
+ correlation: true,
128
+ });
129
+ const promises = [];
130
+ const contexts = 10;
131
+ const messagesPerContext = 50;
132
+ // Create multiple concurrent logging contexts
133
+ for (let ctx = 0; ctx < contexts; ctx++) {
134
+ promises.push(withNewCorrelationContext(async () => {
135
+ const correlationId = getCorrelationId();
136
+ t.truthy(correlationId, 'Each context should have correlation ID');
137
+ for (let msg = 0; msg < messagesPerContext; msg++) {
138
+ logger.info(`Context ${ctx} message ${msg}`, {
139
+ contextId: ctx,
140
+ messageId: msg,
141
+ batch: 'concurrent-test',
142
+ });
143
+ }
144
+ }, undefined, { contextId: ctx }));
145
+ }
146
+ await Promise.all(promises);
147
+ // Verify that all contexts completed by checking that no errors were thrown
148
+ // Note: globalLogStorage is not automatically populated by logger - it's a separate facility
149
+ t.pass('All concurrent logging contexts completed without errors');
150
+ await end();
151
+ });
152
+ test('error handling and recovery', async (t) => {
153
+ const logger = initializeLogger({ level: 'info' });
154
+ // Test logging with circular references
155
+ const circular = { id: 1, data: 'test' };
156
+ circular.self = circular;
157
+ t.notThrows(() => {
158
+ logger.info('Circular reference test', circular);
159
+ }, 'Should handle circular references gracefully');
160
+ // Test logging with very large objects
161
+ const largeObject = {
162
+ data: 'x'.repeat(10000),
163
+ array: Array.from({ length: 1000 }, (_, i) => ({ id: i, value: `item-${i}` })),
164
+ };
165
+ t.notThrows(() => {
166
+ logger.info('Large object test', { summary: largeObject });
167
+ }, 'Should handle large objects gracefully');
168
+ // Test logging with undefined/null values
169
+ t.notThrows(() => {
170
+ logger.info('Edge case test', {
171
+ nullValue: null,
172
+ undefinedValue: undefined,
173
+ emptyString: '',
174
+ zero: 0,
175
+ false: false,
176
+ });
177
+ }, 'Should handle edge case values gracefully');
178
+ await end();
179
+ });
180
+ test('child logger functionality', async (t) => {
181
+ const parentLogger = initializeLogger({ level: 'debug', correlation: true });
182
+ // Create child logger with bindings
183
+ const childLogger = parentLogger.child({
184
+ module: 'test-module',
185
+ version: '1.0.0',
186
+ });
187
+ t.truthy(childLogger, 'Should create child logger');
188
+ t.not(parentLogger === childLogger, 'Child should be different instance');
189
+ // Test child logger with correlation
190
+ await withNewCorrelationContext(async () => {
191
+ childLogger.info('Child logger message', { action: 'test' });
192
+ // Create grandchild
193
+ const grandchildLogger = childLogger.child({
194
+ subModule: 'test-submodule',
195
+ });
196
+ grandchildLogger.info('Grandchild message', { action: 'nested-test' });
197
+ }, undefined, { requestId: 'req-123' });
198
+ t.pass('Child logger functionality working correctly');
199
+ await end();
200
+ });
201
+ test('performance metrics integration', async (t) => {
202
+ const logger = initializeLogger({
203
+ level: 'info',
204
+ });
205
+ // Simulate operations with performance tracking
206
+ const promises = [];
207
+ for (let i = 0; i < 5; i++) {
208
+ promises.push(new Promise(resolve => {
209
+ setTimeout(() => {
210
+ logger.info(`Performance test ${i}`, {
211
+ operation: `test-${i}`,
212
+ timestamp: Date.now(),
213
+ });
214
+ resolve();
215
+ }, Math.random() * 50);
216
+ }));
217
+ }
218
+ await Promise.all(promises);
219
+ // Get performance metrics if available
220
+ try {
221
+ const metrics = healthChecks.metrics();
222
+ t.truthy(metrics, 'Should return health metrics');
223
+ if (metrics && typeof metrics === 'object' && 'performance' in metrics) {
224
+ const perfMetrics = metrics.performance;
225
+ t.truthy(typeof perfMetrics === 'object', 'Should have performance data');
226
+ }
227
+ }
228
+ catch (error) {
229
+ // Performance metrics might not be available in test environment
230
+ t.pass('Performance metrics test skipped');
231
+ }
232
+ await end();
233
+ });
234
+ test('graceful shutdown and cleanup', async (t) => {
235
+ const logger = initializeLogger({
236
+ level: 'info',
237
+ });
238
+ // Log some messages
239
+ for (let i = 0; i < 100; i++) {
240
+ logger.info(`Shutdown test message ${i}`, {
241
+ batch: 'shutdown-test',
242
+ index: i,
243
+ });
244
+ }
245
+ // Test flush
246
+ await t.notThrowsAsync(async () => {
247
+ await flush();
248
+ }, 'Flush should complete without errors');
249
+ // Test end
250
+ await t.notThrowsAsync(async () => {
251
+ await end();
252
+ }, 'End should complete without errors');
253
+ // Verify logger can be reinitialized
254
+ const newLogger = initializeLogger({ level: 'info' });
255
+ t.truthy(newLogger, 'Should reinitialize after shutdown');
256
+ await end();
257
+ });
258
+ test('structured data handling and serialization', async (t) => {
259
+ const logger = initializeLogger({
260
+ level: 'debug',
261
+ serialize: true,
262
+ });
263
+ // Test complex nested objects
264
+ const complexData = {
265
+ user: {
266
+ id: '123',
267
+ profile: {
268
+ name: 'Test User',
269
+ preferences: {
270
+ theme: 'dark',
271
+ language: 'en',
272
+ notifications: {
273
+ email: true,
274
+ push: false,
275
+ sms: null,
276
+ },
277
+ },
278
+ },
279
+ metadata: {
280
+ lastLogin: new Date().toISOString(),
281
+ sessions: [
282
+ { id: 1, duration: 3600 },
283
+ { id: 2, duration: 1800 },
284
+ ],
285
+ },
286
+ },
287
+ request: {
288
+ headers: {
289
+ 'user-agent': 'test-agent',
290
+ accept: 'application/json',
291
+ authorization: '[REDACTED]',
292
+ },
293
+ },
294
+ };
295
+ t.notThrows(() => {
296
+ logger.info('Complex data test', complexData);
297
+ }, 'Should handle complex nested objects');
298
+ // Test special characters and Unicode
299
+ const unicodeData = {
300
+ emoji: '🚀 🎉 ✅',
301
+ chinese: '中文测试',
302
+ arabic: 'اختبار العربية',
303
+ specialChars: '"quotes", \'apostrophes\', \n\t\r\\',
304
+ binary: Buffer.from('binary data').toString('base64'),
305
+ };
306
+ t.notThrows(() => {
307
+ logger.info('Unicode test', unicodeData);
308
+ }, 'Should handle Unicode and special characters');
309
+ await end();
310
+ });
311
+ console.log('Integration tests completed successfully!');
312
+ //# sourceMappingURL=integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.spec.js","sourceRoot":"","sources":["../../../source/utils/logging/integration.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Shared factory function for creating log methods with specific levels
3
+ * Used across different logger implementations to reduce code duplication
4
+ */
5
+ /**
6
+ * Factory function to create log method with specific level
7
+ * Returns overloaded function matching Logger interface
8
+ *
9
+ * @param logger - The underlying logger instance (Pino, console, etc.)
10
+ * @param level - The log level ('info', 'error', 'warn', etc.)
11
+ * @param options - Optional configuration for the log method
12
+ * @returns An overloaded log method that accepts both string-first and object-first signatures
13
+ */
14
+ export declare function createLogMethod<T = any>(logger: T, level: string, options?: {
15
+ contextPrefix?: string;
16
+ consolePrefix?: string;
17
+ consoleMethod?: keyof Console;
18
+ transformArgs?: (args: unknown[], msg?: string) => unknown[];
19
+ transformResult?: (result: any) => void;
20
+ }): ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
21
+ /**
22
+ * Create a set of log methods for all standard levels
23
+ *
24
+ * @param logger - The underlying logger instance
25
+ * @param options - Optional configuration for all log methods
26
+ * @returns An object containing log methods for all standard levels
27
+ */
28
+ export declare function createLogMethods<T = any>(logger: T, options?: {
29
+ contextPrefix?: string;
30
+ transformArgs?: (args: unknown[], level?: string, msg?: string) => unknown[];
31
+ transformResult?: (result: any, level?: string) => void;
32
+ consolePrefix?: string;
33
+ consoleMethod?: keyof Console;
34
+ }): {
35
+ fatal: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
36
+ error: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
37
+ warn: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
38
+ info: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
39
+ http: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
40
+ debug: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
41
+ trace: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
42
+ };
43
+ //# sourceMappingURL=log-method-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-method-factory.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/log-method-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;;;;;;;GAQG;AAEH,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EACtC,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACT,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAE7D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACxC,GAgGmB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAC9D,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,CACtC;AAED;;;;;;GAMG;AAEH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EACvC,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE;IACT,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CACf,IAAI,EAAE,OAAO,EAAE,EACf,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,KACR,OAAO,EAAE,CAAC;IAEf,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;kBAzB0B,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;kBADV,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;iBADV,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;iBADV,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;iBADV,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;kBADV,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;kBADV,MAAM,WAAW,OAAO,EAAE,KAAK,IAAI,WACtD,MAAM,QAAQ,MAAM,KAAK,IAAI;EAwGrC"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Shared factory function for creating log methods with specific levels
3
+ * Used across different logger implementations to reduce code duplication
4
+ */
5
+ // Type guard to check if a logger has a specific level method
6
+ // biome-ignore lint/suspicious/noExplicitAny: Generic logger type
7
+ function hasLevelMethod(logger, level) {
8
+ return logger && typeof logger[level] === 'function';
9
+ }
10
+ /**
11
+ * Factory function to create log method with specific level
12
+ * Returns overloaded function matching Logger interface
13
+ *
14
+ * @param logger - The underlying logger instance (Pino, console, etc.)
15
+ * @param level - The log level ('info', 'error', 'warn', etc.)
16
+ * @param options - Optional configuration for the log method
17
+ * @returns An overloaded log method that accepts both string-first and object-first signatures
18
+ */
19
+ // biome-ignore lint/suspicious/noExplicitAny: Generic logger type parameter
20
+ export function createLogMethod(logger, level, options) {
21
+ const { contextPrefix, consolePrefix, consoleMethod, transformArgs, transformResult, } = options || {};
22
+ // Create overloaded function
23
+ const logMethod = (msgOrObj, ...args) => {
24
+ try {
25
+ // Handle console prefix fallback case
26
+ if (consolePrefix && consoleMethod && logger === console) {
27
+ // This is for fallback logger with console prefixes
28
+ if (typeof msgOrObj === 'object' && msgOrObj !== null) {
29
+ // Object first: (obj: object, msg?: string) => void
30
+ const obj = msgOrObj;
31
+ const msg = args[0];
32
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic console method access
33
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic typing required
34
+ console[consoleMethod](`[${consolePrefix}]`, msg || '', obj);
35
+ }
36
+ else {
37
+ // String first: (msg: string, ...args: unknown[]) => void
38
+ const msg = msgOrObj;
39
+ const restArgs = args.slice(1);
40
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic console method access
41
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic typing required
42
+ console[consoleMethod](`[${consolePrefix}]`, msg, ...restArgs);
43
+ }
44
+ return;
45
+ }
46
+ // Transform arguments if needed
47
+ const transformedArgs = transformArgs
48
+ ? transformArgs(args, typeof msgOrObj === 'string' ? msgOrObj : undefined)
49
+ : args;
50
+ if (typeof msgOrObj === 'object' && msgOrObj !== null) {
51
+ // Object first: (obj: object, msg?: string) => void
52
+ const obj = msgOrObj;
53
+ const msg = transformedArgs[0];
54
+ // Call the logger with object and optional message
55
+ if (hasLevelMethod(logger, level)) {
56
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic logger method access
57
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic typing required
58
+ const result = logger[level](msg || '', obj);
59
+ if (transformResult) {
60
+ transformResult(result);
61
+ }
62
+ }
63
+ }
64
+ else {
65
+ // String first: (msg: string, ...args: unknown[]) => void
66
+ const msg = msgOrObj;
67
+ // Add context prefix if specified
68
+ const finalMsg = contextPrefix ? `[${contextPrefix}] ${msg}` : msg;
69
+ // Call the logger with message and additional args
70
+ if (hasLevelMethod(logger, level)) {
71
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic logger method access
72
+ // biome-ignore lint/suspicious/noExplicitAny: Dynamic typing required
73
+ const result = logger[level](finalMsg, ...transformedArgs);
74
+ if (transformResult) {
75
+ transformResult(result);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ catch (error) {
81
+ // Fallback to console if logger method fails
82
+ const fallbackLevel = level === 'trace' ? 'log' : level;
83
+ const consoleMethod = console[fallbackLevel];
84
+ if (typeof consoleMethod === 'function') {
85
+ consoleMethod('Logger method failed:', {
86
+ level,
87
+ error: error instanceof Error ? error.message : String(error),
88
+ message: msgOrObj,
89
+ args,
90
+ });
91
+ }
92
+ }
93
+ };
94
+ // Return the method with both overloads
95
+ return logMethod;
96
+ }
97
+ /**
98
+ * Create a set of log methods for all standard levels
99
+ *
100
+ * @param logger - The underlying logger instance
101
+ * @param options - Optional configuration for all log methods
102
+ * @returns An object containing log methods for all standard levels
103
+ */
104
+ // biome-ignore lint/suspicious/noExplicitAny: Generic logger type parameter
105
+ export function createLogMethods(logger, options) {
106
+ const { contextPrefix, transformArgs, transformResult, consolePrefix, consoleMethod, } = options || {};
107
+ // Level-specific argument transformers if needed
108
+ const createTransformer = (level) => {
109
+ return (args, msg) => {
110
+ if (transformArgs) {
111
+ return transformArgs(args, level, msg);
112
+ }
113
+ return args;
114
+ };
115
+ };
116
+ const createResultTransformer = (level) => {
117
+ // biome-ignore lint/suspicious/noExplicitAny: Generic result type
118
+ return (result) => {
119
+ if (transformResult) {
120
+ transformResult(result, level);
121
+ }
122
+ };
123
+ };
124
+ return {
125
+ fatal: createLogMethod(logger, 'fatal', {
126
+ contextPrefix: contextPrefix ? 'FATAL' : undefined,
127
+ consolePrefix,
128
+ consoleMethod,
129
+ transformArgs: createTransformer('fatal'),
130
+ transformResult: createResultTransformer('fatal'),
131
+ }),
132
+ error: createLogMethod(logger, 'error', {
133
+ contextPrefix: contextPrefix ? 'ERROR' : undefined,
134
+ consolePrefix,
135
+ consoleMethod,
136
+ transformArgs: createTransformer('error'),
137
+ transformResult: createResultTransformer('error'),
138
+ }),
139
+ warn: createLogMethod(logger, 'warn', {
140
+ contextPrefix: contextPrefix ? 'WARN' : undefined,
141
+ consolePrefix,
142
+ consoleMethod,
143
+ transformArgs: createTransformer('warn'),
144
+ transformResult: createResultTransformer('warn'),
145
+ }),
146
+ info: createLogMethod(logger, 'info', {
147
+ contextPrefix: contextPrefix ? 'INFO' : undefined,
148
+ consolePrefix,
149
+ consoleMethod,
150
+ transformArgs: createTransformer('info'),
151
+ transformResult: createResultTransformer('info'),
152
+ }),
153
+ http: createLogMethod(logger, 'http', {
154
+ contextPrefix: contextPrefix ? 'HTTP' : undefined,
155
+ consolePrefix,
156
+ consoleMethod,
157
+ transformArgs: createTransformer('http'),
158
+ transformResult: createResultTransformer('http'),
159
+ }),
160
+ debug: createLogMethod(logger, 'debug', {
161
+ contextPrefix: contextPrefix ? 'DEBUG' : undefined,
162
+ consolePrefix,
163
+ consoleMethod,
164
+ transformArgs: createTransformer('debug'),
165
+ transformResult: createResultTransformer('debug'),
166
+ }),
167
+ trace: createLogMethod(logger, 'trace', {
168
+ contextPrefix: contextPrefix ? 'TRACE' : undefined,
169
+ consolePrefix,
170
+ consoleMethod,
171
+ transformArgs: createTransformer('trace'),
172
+ transformResult: createResultTransformer('trace'),
173
+ }),
174
+ };
175
+ }
176
+ //# sourceMappingURL=log-method-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-method-factory.js","sourceRoot":"","sources":["../../../source/utils/logging/log-method-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=log-method-factory.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-method-factory.spec.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/log-method-factory.spec.ts"],"names":[],"mappings":""}