@mks2508/better-logger 0.14.0-alpha.2 → 0.18.2-alpha.2

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 (472) hide show
  1. package/README.md +50 -244
  2. package/dist/Logger.d.ts +662 -202
  3. package/dist/Logger.d.ts.map +1 -1
  4. package/dist/ScopedLogger.d.ts +434 -175
  5. package/dist/ScopedLogger.d.ts.map +1 -1
  6. package/dist/chunks/HookBridge-C-AvXmPD.cjs +504 -0
  7. package/dist/chunks/HookBridge-C-AvXmPD.cjs.map +1 -0
  8. package/dist/chunks/HookBridge-CI2PH79S.js +487 -0
  9. package/dist/chunks/HookBridge-CI2PH79S.js.map +1 -0
  10. package/dist/chunks/LogContext-BaMXleWj.cjs +105 -0
  11. package/dist/chunks/LogContext-BaMXleWj.cjs.map +1 -0
  12. package/dist/chunks/LogContext-DjlITOzZ.js +100 -0
  13. package/dist/chunks/LogContext-DjlITOzZ.js.map +1 -0
  14. package/dist/chunks/SerializerBridge-Ba43Mk7j.js +393 -0
  15. package/dist/chunks/SerializerBridge-Ba43Mk7j.js.map +1 -0
  16. package/dist/chunks/SerializerBridge-C4a9Z37F.cjs +410 -0
  17. package/dist/chunks/SerializerBridge-C4a9Z37F.cjs.map +1 -0
  18. package/dist/chunks/StyleManager-DQ6UNRB-.cjs +118 -0
  19. package/dist/chunks/StyleManager-DQ6UNRB-.cjs.map +1 -0
  20. package/dist/chunks/StyleManager-DjwAYbxE.js +113 -0
  21. package/dist/chunks/StyleManager-DjwAYbxE.js.map +1 -0
  22. package/dist/chunks/core-Blfi2klP.js +31 -0
  23. package/dist/chunks/core-Blfi2klP.js.map +1 -0
  24. package/dist/chunks/core-CqS_UBzJ.cjs +36 -0
  25. package/dist/chunks/core-CqS_UBzJ.cjs.map +1 -0
  26. package/dist/chunks/environment-detector-7NvnYUfr.js +110 -0
  27. package/dist/chunks/environment-detector-7NvnYUfr.js.map +1 -0
  28. package/dist/chunks/environment-detector-D-tHkKWA.cjs +163 -0
  29. package/dist/chunks/environment-detector-D-tHkKWA.cjs.map +1 -0
  30. package/dist/chunks/server-fallback-CaCPjWby.cjs +119 -0
  31. package/dist/chunks/server-fallback-CaCPjWby.cjs.map +1 -0
  32. package/dist/chunks/server-fallback-jj0T6XaK.js +114 -0
  33. package/dist/chunks/server-fallback-jj0T6XaK.js.map +1 -0
  34. package/dist/chunks/spinner-BHyYEXsM.cjs +1029 -0
  35. package/dist/chunks/spinner-BHyYEXsM.cjs.map +1 -0
  36. package/dist/chunks/spinner-BtkwpzYv.js +982 -0
  37. package/dist/chunks/spinner-BtkwpzYv.js.map +1 -0
  38. package/dist/chunks/styling-CRw3KQW4.js +1592 -0
  39. package/dist/chunks/styling-CRw3KQW4.js.map +1 -0
  40. package/dist/chunks/styling-Cel2wPRy.cjs +1645 -0
  41. package/dist/chunks/styling-Cel2wPRy.cjs.map +1 -0
  42. package/dist/chunks/transports-BGfwwakw.js +1237 -0
  43. package/dist/chunks/transports-BGfwwakw.js.map +1 -0
  44. package/dist/chunks/transports-yK6CL0Ml.cjs +1278 -0
  45. package/dist/chunks/transports-yK6CL0Ml.cjs.map +1 -0
  46. package/dist/chunks/utils-W_cxqriN.cjs +705 -0
  47. package/dist/chunks/utils-W_cxqriN.cjs.map +1 -0
  48. package/dist/chunks/utils-tKfBAWUM.js +586 -0
  49. package/dist/chunks/utils-tKfBAWUM.js.map +1 -0
  50. package/dist/cli/CommandProcessor.d.ts +166 -19
  51. package/dist/cli/CommandProcessor.d.ts.map +1 -1
  52. package/dist/cli/commands/ConfigCommand.d.ts +36 -1
  53. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -1
  54. package/dist/cli/commands/ExportCommand.d.ts +54 -26
  55. package/dist/cli/commands/ExportCommand.d.ts.map +1 -1
  56. package/dist/cli/commands/ThemeCommand.d.ts +62 -3
  57. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -1
  58. package/dist/cli/help.d.ts +30 -2
  59. package/dist/cli/help.d.ts.map +1 -1
  60. package/dist/cli/index.d.ts +30 -4
  61. package/dist/cli/index.d.ts.map +1 -1
  62. package/dist/cli-module.d.ts +13 -0
  63. package/dist/cli-module.d.ts.map +1 -0
  64. package/dist/cli.cjs +11 -0
  65. package/dist/cli.js +3 -0
  66. package/dist/constants.d.ts +16 -47
  67. package/dist/constants.d.ts.map +1 -1
  68. package/dist/context/LogContext.d.ts +245 -0
  69. package/dist/context/LogContext.d.ts.map +1 -0
  70. package/dist/context/index.d.ts +6 -0
  71. package/dist/context/index.d.ts.map +1 -0
  72. package/dist/context-module.d.ts +6 -0
  73. package/dist/context-module.d.ts.map +1 -0
  74. package/dist/context.cjs +3 -0
  75. package/dist/context.js +2 -0
  76. package/dist/core.cjs +304 -2
  77. package/dist/core.cjs.map +1 -1
  78. package/dist/core.d.ts +56 -34
  79. package/dist/core.d.ts.map +1 -1
  80. package/dist/core.js +281 -314
  81. package/dist/core.js.map +1 -1
  82. package/dist/hooks/HookBridge.d.ts +32 -0
  83. package/dist/hooks/HookBridge.d.ts.map +1 -0
  84. package/dist/hooks/HookManager.d.ts +319 -0
  85. package/dist/hooks/HookManager.d.ts.map +1 -0
  86. package/dist/hooks/index.d.ts +7 -0
  87. package/dist/hooks/index.d.ts.map +1 -0
  88. package/dist/hooks-module.d.ts +7 -0
  89. package/dist/hooks-module.d.ts.map +1 -0
  90. package/dist/hooks.cjs +5 -0
  91. package/dist/hooks.js +2 -0
  92. package/dist/index.cjs +3402 -2
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.d.ts +42 -130
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +3327 -158
  97. package/dist/index.js.map +1 -1
  98. package/dist/node-module.d.ts +10 -0
  99. package/dist/node-module.d.ts.map +1 -0
  100. package/dist/node.cjs +13 -0
  101. package/dist/node.cjs.map +1 -0
  102. package/dist/node.js +12 -0
  103. package/dist/node.js.map +1 -0
  104. package/dist/playground/TerminalBridge.d.ts +53 -0
  105. package/dist/playground/TerminalBridge.d.ts.map +1 -0
  106. package/dist/playground/box.d.ts +45 -0
  107. package/dist/playground/box.d.ts.map +1 -0
  108. package/dist/playground/cli-table.d.ts +50 -0
  109. package/dist/playground/cli-table.d.ts.map +1 -0
  110. package/dist/playground/divider.d.ts +29 -0
  111. package/dist/playground/divider.d.ts.map +1 -0
  112. package/dist/playground/header.d.ts +28 -0
  113. package/dist/playground/header.d.ts.map +1 -0
  114. package/dist/playground/index.d.ts +11 -0
  115. package/dist/playground/index.d.ts.map +1 -0
  116. package/dist/playground/server-fallback.d.ts +114 -0
  117. package/dist/playground/server-fallback.d.ts.map +1 -0
  118. package/dist/playground/spinner.d.ts +197 -0
  119. package/dist/playground/spinner.d.ts.map +1 -0
  120. package/dist/playground/step.d.ts +33 -0
  121. package/dist/playground/step.d.ts.map +1 -0
  122. package/dist/playground-module.d.ts +11 -0
  123. package/dist/playground-module.d.ts.map +1 -0
  124. package/dist/playground.cjs +9 -0
  125. package/dist/playground.js +2 -0
  126. package/dist/serializers/SerializerBridge.d.ts +28 -0
  127. package/dist/serializers/SerializerBridge.d.ts.map +1 -0
  128. package/dist/serializers/SerializerRegistry.d.ts +252 -0
  129. package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
  130. package/dist/serializers/index.d.ts +7 -0
  131. package/dist/serializers/index.d.ts.map +1 -0
  132. package/dist/serializers-module.d.ts +7 -0
  133. package/dist/serializers-module.d.ts.map +1 -0
  134. package/dist/serializers.cjs +5 -0
  135. package/dist/serializers.js +2 -0
  136. package/dist/styles/StyleManager.d.ts +190 -0
  137. package/dist/styles/StyleManager.d.ts.map +1 -0
  138. package/dist/styles/index.d.ts +7 -0
  139. package/dist/styles/index.d.ts.map +1 -0
  140. package/dist/styles-module.d.ts +7 -0
  141. package/dist/styles-module.d.ts.map +1 -0
  142. package/dist/styles.cjs +7 -0
  143. package/dist/styles.js +3 -0
  144. package/dist/styling/SmartPresets.d.ts +100 -6
  145. package/dist/styling/SmartPresets.d.ts.map +1 -1
  146. package/dist/styling/StyleBuilder.d.ts +453 -32
  147. package/dist/styling/StyleBuilder.d.ts.map +1 -1
  148. package/dist/styling/banners.d.ts +85 -5
  149. package/dist/styling/banners.d.ts.map +1 -1
  150. package/dist/styling/index.d.ts +8 -3
  151. package/dist/styling/index.d.ts.map +1 -1
  152. package/dist/styling/themes.d.ts +41 -2
  153. package/dist/styling/themes.d.ts.map +1 -1
  154. package/dist/terminal/color-converter.d.ts +73 -0
  155. package/dist/terminal/color-converter.d.ts.map +1 -0
  156. package/dist/terminal/formatter.d.ts +23 -0
  157. package/dist/terminal/formatter.d.ts.map +1 -0
  158. package/dist/transports/ConsoleTransport.d.ts +104 -0
  159. package/dist/transports/ConsoleTransport.d.ts.map +1 -0
  160. package/dist/transports/FileTransport.d.ts +137 -0
  161. package/dist/transports/FileTransport.d.ts.map +1 -0
  162. package/dist/transports/HttpTransport.d.ts +180 -0
  163. package/dist/transports/HttpTransport.d.ts.map +1 -0
  164. package/dist/transports/OtlpTransport.d.ts +165 -0
  165. package/dist/transports/OtlpTransport.d.ts.map +1 -0
  166. package/dist/transports/TransportBridge.d.ts +43 -0
  167. package/dist/transports/TransportBridge.d.ts.map +1 -0
  168. package/dist/transports/TransportManager.d.ts +251 -0
  169. package/dist/transports/TransportManager.d.ts.map +1 -0
  170. package/dist/transports/index.d.ts +6 -0
  171. package/dist/transports/index.d.ts.map +1 -0
  172. package/dist/transports-module.d.ts +10 -0
  173. package/dist/transports-module.d.ts.map +1 -0
  174. package/dist/transports.cjs +7 -0
  175. package/dist/transports.js +2 -0
  176. package/dist/types/core.d.ts +295 -17
  177. package/dist/types/core.d.ts.map +1 -1
  178. package/dist/types/handlers.d.ts +0 -67
  179. package/dist/types/handlers.d.ts.map +1 -1
  180. package/dist/types/hooks.d.ts +138 -0
  181. package/dist/types/hooks.d.ts.map +1 -0
  182. package/dist/types/index.d.ts +7 -3
  183. package/dist/types/index.d.ts.map +1 -1
  184. package/dist/types/serializers.d.ts +97 -0
  185. package/dist/types/serializers.d.ts.map +1 -0
  186. package/dist/types/transports.d.ts +132 -0
  187. package/dist/types/transports.d.ts.map +1 -0
  188. package/dist/utils/ansi-colors.d.ts +115 -0
  189. package/dist/utils/ansi-colors.d.ts.map +1 -0
  190. package/dist/utils/environment-detector.d.ts +53 -0
  191. package/dist/utils/environment-detector.d.ts.map +1 -0
  192. package/dist/utils/formatting.d.ts +9 -8
  193. package/dist/utils/formatting.d.ts.map +1 -1
  194. package/dist/utils/index.d.ts +3 -2
  195. package/dist/utils/index.d.ts.map +1 -1
  196. package/dist/utils/output.d.ts +14 -17
  197. package/dist/utils/output.d.ts.map +1 -1
  198. package/dist/utils/stackTrace.d.ts +2 -2
  199. package/dist/utils/stackTrace.d.ts.map +1 -1
  200. package/dist/utils/timestamps.d.ts +0 -12
  201. package/dist/utils/timestamps.d.ts.map +1 -1
  202. package/package.json +95 -21
  203. package/.claude/settings.local.json +0 -39
  204. package/.github/workflows/ci-quality.yml +0 -357
  205. package/.github/workflows/docs-demo.yml +0 -119
  206. package/.github/workflows/releases-core.yml +0 -512
  207. package/.github/workflows/releases-full.yml +0 -582
  208. package/.github/workflows-backup/ci.yml +0 -221
  209. package/.github/workflows-backup/nightly.yml +0 -196
  210. package/.github/workflows-backup/release-optimized.yml +0 -373
  211. package/.github/workflows-backup/release.yml +0 -269
  212. package/.release-notes-0.2.0.md +0 -129
  213. package/.yamllint +0 -28
  214. package/CHANGELOG.json +0 -865
  215. package/CLAUDE.md +0 -204
  216. package/bun.lock +0 -323
  217. package/demo.html +0 -847
  218. package/dist/.tsbuildinfo +0 -1
  219. package/dist/Logger.js +0 -1124
  220. package/dist/ScopedLogger.js +0 -426
  221. package/dist/chunks/Logger-Crw1woqR.js +0 -3464
  222. package/dist/chunks/Logger-Crw1woqR.js.map +0 -1
  223. package/dist/chunks/Logger-D_p3xnbq.js +0 -2
  224. package/dist/chunks/Logger-D_p3xnbq.js.map +0 -1
  225. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +0 -33
  226. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +0 -1
  227. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +0 -2
  228. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +0 -1
  229. package/dist/chunks/environment-Bxbnw4pd.js +0 -544
  230. package/dist/chunks/environment-Bxbnw4pd.js.map +0 -1
  231. package/dist/chunks/environment-Dm66zOML.js +0 -4
  232. package/dist/chunks/environment-Dm66zOML.js.map +0 -1
  233. package/dist/chunks/formatting-C0riPC5_.js +0 -95
  234. package/dist/chunks/formatting-C0riPC5_.js.map +0 -1
  235. package/dist/chunks/formatting-DNCAV66-.js +0 -2
  236. package/dist/chunks/formatting-DNCAV66-.js.map +0 -1
  237. package/dist/cli/CommandProcessor.js +0 -184
  238. package/dist/cli/commands/ConfigCommand.js +0 -88
  239. package/dist/cli/commands/ExportCommand.js +0 -243
  240. package/dist/cli/commands/HistoryCommand.d.ts +0 -50
  241. package/dist/cli/commands/HistoryCommand.d.ts.map +0 -1
  242. package/dist/cli/commands/HistoryCommand.js +0 -96
  243. package/dist/cli/commands/StatusCommand.d.ts +0 -33
  244. package/dist/cli/commands/StatusCommand.d.ts.map +0 -1
  245. package/dist/cli/commands/StatusCommand.js +0 -93
  246. package/dist/cli/commands/ThemeCommand.js +0 -79
  247. package/dist/cli/help.js +0 -118
  248. package/dist/cli/index.js +0 -46
  249. package/dist/constants.js +0 -159
  250. package/dist/example.d.ts +0 -18
  251. package/dist/example.d.ts.map +0 -1
  252. package/dist/example.js +0 -154
  253. package/dist/exports-module.d.ts +0 -203
  254. package/dist/exports-module.d.ts.map +0 -1
  255. package/dist/exports-module.js +0 -260
  256. package/dist/exports.cjs +0 -2
  257. package/dist/exports.cjs.map +0 -1
  258. package/dist/exports.js +0 -238
  259. package/dist/exports.js.map +0 -1
  260. package/dist/handlers/AnalyticsLogHandler.d.ts +0 -11
  261. package/dist/handlers/AnalyticsLogHandler.d.ts.map +0 -1
  262. package/dist/handlers/AnalyticsLogHandler.js +0 -19
  263. package/dist/handlers/ExportLogHandler.d.ts +0 -103
  264. package/dist/handlers/ExportLogHandler.d.ts.map +0 -1
  265. package/dist/handlers/ExportLogHandler.js +0 -516
  266. package/dist/handlers/FileLogHandler.d.ts +0 -36
  267. package/dist/handlers/FileLogHandler.d.ts.map +0 -1
  268. package/dist/handlers/FileLogHandler.js +0 -156
  269. package/dist/handlers/RemoteLogHandler.d.ts +0 -14
  270. package/dist/handlers/RemoteLogHandler.d.ts.map +0 -1
  271. package/dist/handlers/RemoteLogHandler.js +0 -37
  272. package/dist/handlers/index.d.ts +0 -8
  273. package/dist/handlers/index.d.ts.map +0 -1
  274. package/dist/handlers/index.js +0 -7
  275. package/dist/main.d.ts +0 -2
  276. package/dist/main.d.ts.map +0 -1
  277. package/dist/main.js +0 -139
  278. package/dist/styling/LogStyleBuilder.d.ts +0 -149
  279. package/dist/styling/LogStyleBuilder.d.ts.map +0 -1
  280. package/dist/styling/LogStyleBuilder.js +0 -289
  281. package/dist/styling/SemanticStyles.d.ts +0 -181
  282. package/dist/styling/SemanticStyles.d.ts.map +0 -1
  283. package/dist/styling/SemanticStyles.js +0 -339
  284. package/dist/styling/SmartPresets.js +0 -276
  285. package/dist/styling/StyleBuilder.js +0 -280
  286. package/dist/styling/banners.js +0 -155
  287. package/dist/styling/index.js +0 -9
  288. package/dist/styling/themes.js +0 -231
  289. package/dist/styling-module.d.ts +0 -185
  290. package/dist/styling-module.d.ts.map +0 -1
  291. package/dist/styling-module.js +0 -199
  292. package/dist/styling.cjs +0 -2
  293. package/dist/styling.cjs.map +0 -1
  294. package/dist/styling.js +0 -146
  295. package/dist/styling.js.map +0 -1
  296. package/dist/types/Logger.d.ts +0 -700
  297. package/dist/types/Logger.d.ts.map +0 -1
  298. package/dist/types/ScopedLogger.d.ts +0 -310
  299. package/dist/types/ScopedLogger.d.ts.map +0 -1
  300. package/dist/types/cli/CommandProcessor.d.ts +0 -100
  301. package/dist/types/cli/CommandProcessor.d.ts.map +0 -1
  302. package/dist/types/cli/commands/ConfigCommand.d.ts +0 -14
  303. package/dist/types/cli/commands/ConfigCommand.d.ts.map +0 -1
  304. package/dist/types/cli/commands/ExportCommand.d.ts +0 -48
  305. package/dist/types/cli/commands/ExportCommand.d.ts.map +0 -1
  306. package/dist/types/cli/commands/HistoryCommand.d.ts +0 -47
  307. package/dist/types/cli/commands/HistoryCommand.d.ts.map +0 -1
  308. package/dist/types/cli/commands/StatusCommand.d.ts +0 -30
  309. package/dist/types/cli/commands/StatusCommand.d.ts.map +0 -1
  310. package/dist/types/cli/commands/ThemeCommand.d.ts +0 -30
  311. package/dist/types/cli/commands/ThemeCommand.d.ts.map +0 -1
  312. package/dist/types/cli/help.d.ts +0 -12
  313. package/dist/types/cli/help.d.ts.map +0 -1
  314. package/dist/types/cli/index.d.ts +0 -15
  315. package/dist/types/cli/index.d.ts.map +0 -1
  316. package/dist/types/constants.d.ts +0 -119
  317. package/dist/types/constants.d.ts.map +0 -1
  318. package/dist/types/core.js +0 -28
  319. package/dist/types/example.d.ts +0 -18
  320. package/dist/types/example.d.ts.map +0 -1
  321. package/dist/types/exports-module.d.ts +0 -196
  322. package/dist/types/exports-module.d.ts.map +0 -1
  323. package/dist/types/handlers/AnalyticsLogHandler.d.ts +0 -8
  324. package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +0 -1
  325. package/dist/types/handlers/ExportLogHandler.d.ts +0 -100
  326. package/dist/types/handlers/ExportLogHandler.d.ts.map +0 -1
  327. package/dist/types/handlers/FileLogHandler.d.ts +0 -33
  328. package/dist/types/handlers/FileLogHandler.d.ts.map +0 -1
  329. package/dist/types/handlers/RemoteLogHandler.d.ts +0 -11
  330. package/dist/types/handlers/RemoteLogHandler.d.ts.map +0 -1
  331. package/dist/types/handlers/index.d.ts +0 -8
  332. package/dist/types/handlers/index.d.ts.map +0 -1
  333. package/dist/types/handlers.js +0 -4
  334. package/dist/types/index.js +0 -4
  335. package/dist/types/main.d.ts +0 -2
  336. package/dist/types/main.d.ts.map +0 -1
  337. package/dist/types/styling/LogStyleBuilder.d.ts +0 -146
  338. package/dist/types/styling/LogStyleBuilder.d.ts.map +0 -1
  339. package/dist/types/styling/SemanticStyles.d.ts +0 -178
  340. package/dist/types/styling/SemanticStyles.d.ts.map +0 -1
  341. package/dist/types/styling/SmartPresets.d.ts +0 -22
  342. package/dist/types/styling/SmartPresets.d.ts.map +0 -1
  343. package/dist/types/styling/StyleBuilder.d.ts +0 -140
  344. package/dist/types/styling/StyleBuilder.d.ts.map +0 -1
  345. package/dist/types/styling/banners.d.ts +0 -42
  346. package/dist/types/styling/banners.d.ts.map +0 -1
  347. package/dist/types/styling/index.d.ts +0 -10
  348. package/dist/types/styling/index.d.ts.map +0 -1
  349. package/dist/types/styling/themes.d.ts +0 -7
  350. package/dist/types/styling/themes.d.ts.map +0 -1
  351. package/dist/types/styling-module.d.ts +0 -178
  352. package/dist/types/styling-module.d.ts.map +0 -1
  353. package/dist/types/types/core.d.ts +0 -221
  354. package/dist/types/types/core.d.ts.map +0 -1
  355. package/dist/types/types/handlers.d.ts +0 -85
  356. package/dist/types/types/handlers.d.ts.map +0 -1
  357. package/dist/types/types/index.d.ts +0 -7
  358. package/dist/types/types/index.d.ts.map +0 -1
  359. package/dist/types/utils/environment.d.ts +0 -47
  360. package/dist/types/utils/environment.d.ts.map +0 -1
  361. package/dist/types/utils/formatting.d.ts +0 -37
  362. package/dist/types/utils/formatting.d.ts.map +0 -1
  363. package/dist/types/utils/index.d.ts +0 -7
  364. package/dist/types/utils/index.d.ts.map +0 -1
  365. package/dist/types/utils/opentui-detection.d.ts +0 -34
  366. package/dist/types/utils/opentui-detection.d.ts.map +0 -1
  367. package/dist/types/utils/output.d.ts +0 -41
  368. package/dist/types/utils/output.d.ts.map +0 -1
  369. package/dist/types/utils/stackTrace.d.ts +0 -6
  370. package/dist/types/utils/stackTrace.d.ts.map +0 -1
  371. package/dist/types/utils/timestamps.d.ts +0 -20
  372. package/dist/types/utils/timestamps.d.ts.map +0 -1
  373. package/dist/utils/environment.d.ts +0 -47
  374. package/dist/utils/environment.d.ts.map +0 -1
  375. package/dist/utils/environment.js +0 -85
  376. package/dist/utils/formatting.js +0 -117
  377. package/dist/utils/index.js +0 -6
  378. package/dist/utils/opentui-detection.d.ts +0 -34
  379. package/dist/utils/opentui-detection.d.ts.map +0 -1
  380. package/dist/utils/opentui-detection.js +0 -116
  381. package/dist/utils/output.js +0 -150
  382. package/dist/utils/stackTrace.js +0 -81
  383. package/dist/utils/timestamps.js +0 -71
  384. package/dist/vite.svg +0 -1
  385. package/docs/API.md +0 -691
  386. package/docs/CORE.md +0 -264
  387. package/docs/DEVELOPMENT.md +0 -731
  388. package/docs/EXPORTS.md +0 -467
  389. package/docs/PACKAGES.md +0 -244
  390. package/docs/STYLING.md +0 -405
  391. package/docs/_config.yml +0 -36
  392. package/docs/index.md +0 -179
  393. package/examples/README.md +0 -208
  394. package/examples/basic-logging.js +0 -75
  395. package/examples/data-export.js +0 -234
  396. package/examples/package.json +0 -16
  397. package/examples/performance-timing.js +0 -170
  398. package/examples/simplified-api.js +0 -124
  399. package/examples/styling-themes.js +0 -207
  400. package/index.html +0 -358
  401. package/packages/core/package.json +0 -57
  402. package/packages/exports/package.json +0 -41
  403. package/packages/nodejs-opentui/README.md +0 -232
  404. package/packages/nodejs-opentui/package.json +0 -72
  405. package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
  406. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
  407. package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
  408. package/packages/nodejs-opentui/src/index.ts +0 -133
  409. package/packages/nodejs-opentui/src/types.ts +0 -158
  410. package/packages/nodejs-opentui/tsconfig.json +0 -20
  411. package/packages/styling/package.json +0 -41
  412. package/project-utils/README.md +0 -172
  413. package/project-utils/auto-release-gemini.ts +0 -1193
  414. package/project-utils/auto-release-ui.ts +0 -1329
  415. package/project-utils/commit-generator.ts +0 -1385
  416. package/project-utils/commit-ui.ts +0 -264
  417. package/project-utils/git-utils.ts +0 -199
  418. package/project-utils/github-release-manager.ts +0 -466
  419. package/project-utils/project-config.ts +0 -260
  420. package/project-utils/prompt-templates.js +0 -345
  421. package/project-utils/prompt-templates.ts +0 -422
  422. package/project-utils/version-manager.ts +0 -1078
  423. package/public/vite.svg +0 -1
  424. package/src/Logger.ts +0 -1276
  425. package/src/ScopedLogger.ts +0 -454
  426. package/src/cli/CommandProcessor.ts +0 -248
  427. package/src/cli/commands/ConfigCommand.ts +0 -93
  428. package/src/cli/commands/ExportCommand.ts +0 -276
  429. package/src/cli/commands/HistoryCommand.ts +0 -117
  430. package/src/cli/commands/StatusCommand.ts +0 -112
  431. package/src/cli/commands/ThemeCommand.ts +0 -88
  432. package/src/cli/help.ts +0 -127
  433. package/src/cli/index.ts +0 -71
  434. package/src/constants.ts +0 -171
  435. package/src/core.ts +0 -393
  436. package/src/example.ts +0 -210
  437. package/src/exports-module.ts +0 -311
  438. package/src/handlers/AnalyticsLogHandler.ts +0 -22
  439. package/src/handlers/ExportLogHandler.ts +0 -609
  440. package/src/handlers/FileLogHandler.ts +0 -169
  441. package/src/handlers/RemoteLogHandler.ts +0 -42
  442. package/src/handlers/index.ts +0 -8
  443. package/src/index.ts +0 -209
  444. package/src/main.ts +0 -196
  445. package/src/style.css +0 -96
  446. package/src/styling/LogStyleBuilder.ts +0 -355
  447. package/src/styling/SemanticStyles.ts +0 -380
  448. package/src/styling/SmartPresets.ts +0 -288
  449. package/src/styling/StyleBuilder.ts +0 -319
  450. package/src/styling/banners.ts +0 -168
  451. package/src/styling/index.ts +0 -27
  452. package/src/styling/themes.ts +0 -235
  453. package/src/styling-module.ts +0 -244
  454. package/src/types/core.ts +0 -236
  455. package/src/types/handlers.ts +0 -95
  456. package/src/types/index.ts +0 -35
  457. package/src/typescript.svg +0 -1
  458. package/src/utils/environment.ts +0 -94
  459. package/src/utils/formatting.ts +0 -142
  460. package/src/utils/index.ts +0 -21
  461. package/src/utils/opentui-detection.ts +0 -138
  462. package/src/utils/output.ts +0 -185
  463. package/src/utils/stackTrace.ts +0 -95
  464. package/src/utils/timestamps.ts +0 -80
  465. package/src/vite-env.d.ts +0 -1
  466. package/test-core-browser.html +0 -237
  467. package/test-core-node.js +0 -63
  468. package/tests/test-conflict-resolution.ts +0 -391
  469. package/tests/validate-workflows.sh +0 -131
  470. package/tests/yaml-autofix.sh +0 -146
  471. package/tsconfig.json +0 -50
  472. package/vite.config.ts +0 -223
@@ -1,454 +0,0 @@
1
- /**
2
- * @fileoverview ScopedLogger con badges y logging contextual
3
- * @version 0.3.0
4
- * @since 2024
5
- *
6
- * Proporciona loggers especializados con contexto, badges automáticos
7
- * y características avanzadas para componentes y APIs.
8
- */
9
-
10
- import { Logger } from './Logger.js';
11
- import type { LoggerConfig, LogLevel, Verbosity, BannerType, StyleOptions, ILogHandler } from './types/index.js';
12
-
13
- /**
14
- * Logger con scope mejorado con badges y API simplificada
15
- *
16
- * @class ScopedLogger
17
- * @extends Logger
18
- * @description Logger contextual que añade prefijos y badges automáticamente
19
- *
20
- * @example
21
- * const dbLogger = logger.scope('Database');
22
- * dbLogger.info('Conectando...'); // [Database] Conectando...
23
- *
24
- * // Con badges personalizados
25
- * dbLogger.badge('SLOW').warn('Query lenta detectada');
26
- * // [SLOW] [Database] Query lenta detectada
27
- *
28
- * @since 0.3.0
29
- */
30
- export class ScopedLogger extends Logger {
31
- private parentLogger: Logger;
32
- private scopeName: string;
33
- private badgeList: string[] = [];
34
- private contextStack: string[] = [];
35
-
36
- constructor(parentLogger: Logger, scopeName: string, config?: Partial<LoggerConfig>) {
37
- // Initialize with parent's config plus any overrides
38
- super({ ...parentLogger.getConfig(), ...config });
39
- this.parentLogger = parentLogger;
40
- this.scopeName = scopeName;
41
-
42
- // Inherit parent's handlers
43
- const parentHandlers = parentLogger.getHandlers();
44
- parentHandlers.forEach(handler => this.addHandler(handler));
45
- }
46
-
47
- /**
48
- * Añade múltiples badges a este logger con scope
49
- *
50
- * @param {string[]} badges - Array de badges a añadir
51
- * @returns {ScopedLogger} Esta instancia para encadenamiento
52
- *
53
- * @example
54
- * const api = logger.scope('API');
55
- * api.badges(['v2', 'beta', 'cached'])
56
- * .info('Respuesta desde caché');
57
- * // [v2] [beta] [cached] [API] Respuesta desde caché
58
- *
59
- * @since 0.3.0
60
- */
61
- badges(badges: string[]): ScopedLogger {
62
- this.badgeList = [...badges];
63
- return this;
64
- }
65
-
66
- /**
67
- * Añade un badge individual
68
- *
69
- * @param {string} badge - Badge a añadir
70
- * @returns {ScopedLogger} Esta instancia para encadenamiento
71
- *
72
- * @example
73
- * dbLogger.badge('SLOW').warn('Query tardó 3s');
74
- * // [SLOW] [Database] Query tardó 3s
75
- *
76
- * @since 0.3.0
77
- */
78
- badge(badge: string): ScopedLogger {
79
- if (!this.badgeList.includes(badge)) {
80
- this.badgeList.push(badge);
81
- }
82
- return this;
83
- }
84
-
85
- /**
86
- * Elimina todos los badges
87
- *
88
- * @returns {ScopedLogger} Esta instancia para encadenamiento
89
- *
90
- * @example
91
- * api.clearBadges().info('Sin badges');
92
- * // [API] Sin badges
93
- *
94
- * @since 0.3.0
95
- */
96
- clearBadges(): ScopedLogger {
97
- this.badgeList = [];
98
- return this;
99
- }
100
-
101
- /**
102
- * Establece un preset de estilo para este logger con scope
103
- *
104
- * @param {string} presetName - Nombre del preset a aplicar
105
- * @returns {ScopedLogger} Esta instancia para encadenamiento
106
- *
107
- * @example
108
- * const errorLogger = logger.scope('ErrorHandler')
109
- * .style('cyberpunk');
110
- *
111
- * @since 0.3.0
112
- */
113
- style(presetName: string): ScopedLogger {
114
- this.setTheme(presetName as any); // Will be updated when we implement presets
115
- return this;
116
- }
117
-
118
- /**
119
- * Crea un contexto temporal que se limpia automáticamente
120
- *
121
- * @param {string} contextName - Nombre del contexto
122
- * @returns {ContextLogger} Logger con contexto temporal
123
- *
124
- * @example
125
- * const db = logger.scope('Database');
126
- *
127
- * // Contexto temporal para una operación
128
- * db.context('Migration').run(() => {
129
- * db.info('Iniciando migración');
130
- * db.success('Tablas creadas');
131
- * });
132
- * // Contexto automáticamente limpiado
133
- *
134
- * @since 0.3.0
135
- */
136
- context(contextName: string): ContextLogger {
137
- return new ContextLogger(this, contextName);
138
- }
139
-
140
- /**
141
- * Sobrescribe el logging principal para incluir badges
142
- * @protected
143
- * @param {LogLevel} level - Nivel del log
144
- * @param {...any} args - Argumentos del log
145
- */
146
- protected log(level: LogLevel, ...args: any[]): void {
147
- // Build the enhanced message with badges
148
- const badges = this.getBadgeString();
149
- const scopePrefix = this.getScopePrefix();
150
-
151
- let enhancedMessage = '';
152
- if (badges) enhancedMessage += badges + ' ';
153
- if (scopePrefix) enhancedMessage += `[${scopePrefix}] `;
154
-
155
- if (args.length > 0) {
156
- enhancedMessage += String(args[0]);
157
- // Replace the first argument with our enhanced message
158
- args[0] = enhancedMessage;
159
- }
160
-
161
- // Call parent's log method
162
- super.log(level, ...args);
163
- }
164
-
165
- /**
166
- * Obtiene la cadena de badges formateada
167
- * @private
168
- * @returns {string} Badges formateados como [BADGE1][BADGE2]
169
- */
170
- private getBadgeString(): string {
171
- if (this.badgeList.length === 0) return '';
172
- return this.badgeList.map(badge => `[${badge}]`).join('');
173
- }
174
-
175
- /**
176
- * Obtiene el prefijo del scope (incluye stack de contexto)
177
- * @private
178
- * @returns {string} Prefijo completo con contextos
179
- */
180
- private getScopePrefix(): string {
181
- const parts = [this.scopeName, ...this.contextStack].filter(Boolean);
182
- return parts.join(':');
183
- }
184
-
185
- /**
186
- * Método interno para añadir contexto
187
- * @internal
188
- */
189
- _pushContext(context: string): void {
190
- this.contextStack.push(context);
191
- }
192
-
193
- /**
194
- * Método interno para eliminar contexto
195
- * @internal
196
- */
197
- _popContext(): void {
198
- this.contextStack.pop();
199
- }
200
- }
201
-
202
- /**
203
- * Logger específico para APIs con badges comunes de API
204
- *
205
- * @class APILogger
206
- * @extends ScopedLogger
207
- * @description Logger especializado para endpoints y servicios API
208
- *
209
- * @example
210
- * const api = logger.api('REST');
211
- * api.info('GET /users');
212
- * // [API] [REST] GET /users
213
- *
214
- * api.slow('Query lenta', 3500);
215
- * // [API] [SLOW] [REST] Query lenta (3500ms)
216
- *
217
- * @since 0.3.0
218
- */
219
- export class APILogger extends ScopedLogger {
220
- constructor(parentLogger: Logger, apiName: string, config?: Partial<LoggerConfig>) {
221
- super(parentLogger, `API:${apiName}`, config);
222
- this.badge('API');
223
- }
224
-
225
- /**
226
- * Registra operaciones lentas
227
- *
228
- * @param {string} message - Mensaje sobre la operación lenta
229
- * @param {number} duration - Duración en milisegundos (opcional)
230
- *
231
- * @example
232
- * api.slow('Query compleja', 5000);
233
- * api.slow('Procesamiento pesado');
234
- *
235
- * @since 0.3.0
236
- */
237
- slow(message: string, duration?: number): void {
238
- this.badge('SLOW');
239
- const msg = duration ? `${message} (${duration}ms)` : message;
240
- this.warn(msg);
241
- }
242
-
243
- /**
244
- * Registra límites de tasa alcanzados
245
- *
246
- * @param {string} message - Mensaje sobre el límite
247
- *
248
- * @example
249
- * api.rateLimit('Límite excedido: 100 req/min');
250
- *
251
- * @since 0.3.0
252
- */
253
- rateLimit(message: string): void {
254
- this.badge('RATE_LIMIT');
255
- this.warn(message);
256
- }
257
-
258
- /**
259
- * Registra problemas de autenticación
260
- *
261
- * @param {string} message - Mensaje de autenticación
262
- *
263
- * @example
264
- * api.auth('Token inválido o expirado');
265
- * api.auth('Credenciales incorrectas');
266
- *
267
- * @since 0.3.0
268
- */
269
- auth(message: string): void {
270
- this.badge('AUTH');
271
- this.error(message);
272
- }
273
-
274
- /**
275
- * Registra advertencias de deprecación
276
- *
277
- * @param {string} message - Mensaje de deprecación
278
- *
279
- * @example
280
- * api.deprecated('Este endpoint será eliminado en v2.0');
281
- * api.deprecated('Usar /v2/users en lugar de /users');
282
- *
283
- * @since 0.3.0
284
- */
285
- deprecated(message: string): void {
286
- this.badge('DEPRECATED');
287
- this.warn(message);
288
- }
289
- }
290
-
291
- /**
292
- * Logger específico para componentes de UI
293
- *
294
- * @class ComponentLogger
295
- * @extends ScopedLogger
296
- * @description Logger especializado para componentes con eventos de ciclo de vida
297
- *
298
- * @example
299
- * const authForm = logger.component('AuthForm');
300
- * authForm.lifecycle('mounted');
301
- * authForm.stateChange('idle', 'loading');
302
- *
303
- * @since 0.3.0
304
- */
305
- export class ComponentLogger extends ScopedLogger {
306
- constructor(parentLogger: Logger, componentName: string, config?: Partial<LoggerConfig>) {
307
- super(parentLogger, componentName, config);
308
- this.badge('COMPONENT');
309
- }
310
-
311
- /**
312
- * Registra eventos del ciclo de vida del componente
313
- *
314
- * @param {string} event - Nombre del evento (mounted, unmounted, updated, etc)
315
- * @param {string} message - Mensaje adicional (opcional)
316
- *
317
- * @example
318
- * component.lifecycle('mounted', 'Componente listo');
319
- * component.lifecycle('beforeDestroy');
320
- *
321
- * @since 0.3.0
322
- */
323
- lifecycle(event: string, message?: string): void {
324
- this.badge('LIFECYCLE');
325
- const msg = message ? `${event}: ${message}` : event;
326
- this.info(msg);
327
- }
328
-
329
- /**
330
- * Registra cambios de estado
331
- *
332
- * @param {string} from - Estado anterior
333
- * @param {string} to - Estado nuevo
334
- * @param {any} data - Datos adicionales (opcional)
335
- *
336
- * @example
337
- * component.stateChange('idle', 'loading');
338
- * component.stateChange('loading', 'error', { code: 404 });
339
- *
340
- * @since 0.3.0
341
- */
342
- stateChange(from: string, to: string, data?: any): void {
343
- this.badge('STATE');
344
- const msg = `${from} → ${to}`;
345
- if (data) {
346
- this.info(msg, data);
347
- } else {
348
- this.info(msg);
349
- }
350
- }
351
-
352
- /**
353
- * Registra cambios en las propiedades
354
- *
355
- * @param {Record<string, any>} changes - Objeto con los cambios
356
- *
357
- * @example
358
- * component.propsChange({
359
- * user: newUser,
360
- * isActive: true
361
- * });
362
- *
363
- * @since 0.3.0
364
- */
365
- propsChange(changes: Record<string, any>): void {
366
- this.badge('PROPS');
367
- this.debug('Props changed:', changes);
368
- }
369
- }
370
-
371
- /**
372
- * Logger de contexto temporal que se limpia automáticamente
373
- *
374
- * @class ContextLogger
375
- * @description Proporciona un contexto temporal para operaciones agrupadas
376
- *
377
- * @example
378
- * const db = logger.scope('Database');
379
- *
380
- * // El contexto se limpia automáticamente al finalizar
381
- * db.context('Transaction').run(() => {
382
- * db.info('Iniciando transacción');
383
- * db.success('Transacción completada');
384
- * });
385
- *
386
- * @since 0.3.0
387
- */
388
- export class ContextLogger {
389
- private parentLogger: ScopedLogger;
390
- private contextName: string;
391
-
392
- constructor(parentLogger: ScopedLogger, contextName: string) {
393
- this.parentLogger = parentLogger;
394
- this.contextName = contextName;
395
- }
396
-
397
- /**
398
- * Ejecuta una función con este contexto activo
399
- *
400
- * @template T - Tipo de retorno de la función
401
- * @param {Function} fn - Función a ejecutar
402
- * @returns {T} Resultado de la función
403
- *
404
- * @example
405
- * const result = logger.context('Process').run(() => {
406
- * logger.info('Procesando...');
407
- * return processData();
408
- * });
409
- *
410
- * @since 0.3.0
411
- */
412
- run<T>(fn: () => T): T {
413
- this.parentLogger._pushContext(this.contextName);
414
- try {
415
- return fn();
416
- } finally {
417
- this.parentLogger._popContext();
418
- }
419
- }
420
-
421
- /**
422
- * Run an async function with this context active
423
- */
424
- async runAsync<T>(fn: () => Promise<T>): Promise<T> {
425
- this.parentLogger._pushContext(this.contextName);
426
- try {
427
- return await fn();
428
- } finally {
429
- this.parentLogger._popContext();
430
- }
431
- }
432
-
433
- /**
434
- * Start the context (manual mode)
435
- */
436
- start(): void {
437
- this.parentLogger._pushContext(this.contextName);
438
- }
439
-
440
- /**
441
- * End the context (manual mode)
442
- */
443
- end(): void {
444
- this.parentLogger._popContext();
445
- }
446
-
447
- // Delegate logging methods to parent with context
448
- debug(...args: any[]): void { this.parentLogger.debug(...args); }
449
- info(...args: any[]): void { this.parentLogger.info(...args); }
450
- warn(...args: any[]): void { this.parentLogger.warn(...args); }
451
- error(...args: any[]): void { this.parentLogger.error(...args); }
452
- success(...args: any[]): void { this.parentLogger.success(...args); }
453
- critical(...args: any[]): void { this.parentLogger.critical(...args); }
454
- }
@@ -1,248 +0,0 @@
1
- /**
2
- * @fileoverview CLI Command processor for Advanced Logger
3
- */
4
-
5
- import type { Logger } from '../Logger.js';
6
-
7
- /**
8
- * Base interface for CLI commands
9
- */
10
- export interface ICommand {
11
- name: string;
12
- description: string;
13
- usage: string;
14
- category?: string;
15
- aliases?: string[];
16
- execute(args: string, logger: Logger): void | Promise<void>;
17
- }
18
-
19
- /**
20
- * Plugin interface for extending CLI functionality
21
- */
22
- export interface ICLIPlugin {
23
- name: string;
24
- version: string;
25
- description: string;
26
- commands: ICommand[];
27
- initialize?(processor: CommandProcessor, logger: Logger): void;
28
- cleanup?(): void;
29
- }
30
-
31
- /**
32
- * Command history entry
33
- */
34
- interface HistoryEntry {
35
- command: string;
36
- timestamp: Date;
37
- success: boolean;
38
- }
39
-
40
- /**
41
- * CLI command processor
42
- */
43
- export class CommandProcessor {
44
- private commands: Map<string, ICommand> = new Map();
45
- private aliases: Map<string, string> = new Map();
46
- private plugins: Map<string, ICLIPlugin> = new Map();
47
- private history: HistoryEntry[] = [];
48
- private maxHistorySize: number = 100;
49
- private isInteractiveMode: boolean = false;
50
-
51
- /**
52
- * Register a command
53
- */
54
- registerCommand(command: ICommand): void {
55
- this.commands.set(command.name, command);
56
-
57
- // Register aliases
58
- if (command.aliases) {
59
- for (const alias of command.aliases) {
60
- this.aliases.set(alias, command.name);
61
- }
62
- }
63
- }
64
-
65
- /**
66
- * Register a plugin
67
- */
68
- registerPlugin(plugin: ICLIPlugin, logger?: Logger): void {
69
- if (this.plugins.has(plugin.name)) {
70
- throw new Error(`Plugin ${plugin.name} is already registered`);
71
- }
72
-
73
- this.plugins.set(plugin.name, plugin);
74
-
75
- // Register plugin commands
76
- for (const command of plugin.commands) {
77
- this.registerCommand(command);
78
- }
79
-
80
- // Initialize plugin
81
- if (plugin.initialize && logger) {
82
- plugin.initialize(this, logger);
83
- }
84
- }
85
-
86
- /**
87
- * Unregister a plugin
88
- */
89
- unregisterPlugin(pluginName: string): void {
90
- const plugin = this.plugins.get(pluginName);
91
- if (!plugin) return;
92
-
93
- // Remove plugin commands
94
- for (const command of plugin.commands) {
95
- this.commands.delete(command.name);
96
- if (command.aliases) {
97
- for (const alias of command.aliases) {
98
- this.aliases.delete(alias);
99
- }
100
- }
101
- }
102
-
103
- // Cleanup plugin
104
- if (plugin.cleanup) {
105
- plugin.cleanup();
106
- }
107
-
108
- this.plugins.delete(pluginName);
109
- }
110
-
111
- /**
112
- * Get all registered commands
113
- */
114
- getCommands(): ICommand[] {
115
- return Array.from(this.commands.values());
116
- }
117
-
118
- /**
119
- * Get a specific command
120
- */
121
- getCommand(name: string): ICommand | undefined {
122
- // Check direct command name
123
- let command = this.commands.get(name);
124
- if (command) return command;
125
-
126
- // Check aliases
127
- const aliasTarget = this.aliases.get(name);
128
- if (aliasTarget) {
129
- return this.commands.get(aliasTarget);
130
- }
131
-
132
- return undefined;
133
- }
134
-
135
- /**
136
- * Get command history
137
- */
138
- getHistory(): HistoryEntry[] {
139
- return [...this.history];
140
- }
141
-
142
- /**
143
- * Clear command history
144
- */
145
- clearHistory(): void {
146
- this.history = [];
147
- }
148
-
149
- /**
150
- * Get registered plugins
151
- */
152
- getPlugins(): ICLIPlugin[] {
153
- return Array.from(this.plugins.values());
154
- }
155
-
156
- /**
157
- * Enter interactive mode
158
- */
159
- enterInteractiveMode(logger: Logger): void {
160
- this.isInteractiveMode = true;
161
- logger.info('🔧 Interactive CLI mode activated. Type /exit to quit, /help for commands.');
162
-
163
- // Set up browser console listener for interactive commands
164
- if (typeof window !== 'undefined') {
165
- this.setupBrowserInteractiveMode(logger);
166
- }
167
- }
168
-
169
- /**
170
- * Exit interactive mode
171
- */
172
- exitInteractiveMode(): void {
173
- this.isInteractiveMode = false;
174
- }
175
-
176
- /**
177
- * Setup browser interactive mode
178
- */
179
- private setupBrowserInteractiveMode(logger: Logger): void {
180
- // Add global CLI function for browser usage
181
- (window as any).cli = (commandString: string) => {
182
- return this.processCommand(`/${commandString}`, logger);
183
- };
184
-
185
- logger.info('💡 Use cli("command") to execute CLI commands in browser console.');
186
- }
187
-
188
- /**
189
- * Process a CLI command
190
- */
191
- async processCommand(commandString: string, logger: Logger): Promise<void> {
192
- if (!commandString.startsWith('/')) {
193
- logger.error('Invalid command. Commands must start with /');
194
- this.addToHistory(commandString, false);
195
- return;
196
- }
197
-
198
- const parts = commandString.slice(1).split(' ');
199
- const commandName = parts[0] || '';
200
- const args = parts.slice(1).join(' ');
201
-
202
- const command = this.getCommand(commandName);
203
- if (!command) {
204
- logger.error(`Unknown command: ${commandName}. Type /help for available commands.`);
205
-
206
- // Suggest similar commands
207
- const suggestions = this.getSuggestions(commandName);
208
- if (suggestions.length > 0) {
209
- logger.info(`📋 Did you mean: ${suggestions.slice(0, 3).join(', ')}?`);
210
- }
211
-
212
- this.addToHistory(commandString, false);
213
- return;
214
- }
215
-
216
- try {
217
- await command.execute(args || '', logger);
218
- this.addToHistory(commandString, true);
219
- } catch (error) {
220
- logger.error(`Command '${commandName}' failed:`, error);
221
- this.addToHistory(commandString, false);
222
- }
223
- }
224
-
225
- /**
226
- * Add command to history
227
- */
228
- private addToHistory(command: string, success: boolean): void {
229
- this.history.unshift({
230
- command,
231
- timestamp: new Date(),
232
- success
233
- });
234
-
235
- // Limit history size
236
- if (this.history.length > this.maxHistorySize) {
237
- this.history = this.history.slice(0, this.maxHistorySize);
238
- }
239
- }
240
-
241
- /**
242
- * Get command suggestions for partial matches
243
- */
244
- getSuggestions(partial: string): string[] {
245
- const commandNames = Array.from(this.commands.keys());
246
- return commandNames.filter(name => name.startsWith(partial));
247
- }
248
- }