evlog 2.8.0 → 2.10.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 (130) hide show
  1. package/README.md +28 -0
  2. package/dist/{_drain-C9Nr-6Wc.mjs → _drain-CJDuM0ua.mjs} +7 -2
  3. package/dist/_drain-CJDuM0ua.mjs.map +1 -0
  4. package/dist/{_http-C2UoHWgm.mjs → _http-rRIz2Q0L.mjs} +22 -19
  5. package/dist/_http-rRIz2Q0L.mjs.map +1 -0
  6. package/dist/adapters/axiom.d.mts +1 -1
  7. package/dist/adapters/axiom.mjs +4 -4
  8. package/dist/adapters/axiom.mjs.map +1 -1
  9. package/dist/adapters/better-stack.d.mts +1 -1
  10. package/dist/adapters/better-stack.mjs +4 -4
  11. package/dist/adapters/better-stack.mjs.map +1 -1
  12. package/dist/adapters/fs.d.mts +1 -1
  13. package/dist/adapters/fs.mjs +1 -1
  14. package/dist/adapters/hyperdx.d.mts +65 -0
  15. package/dist/adapters/hyperdx.d.mts.map +1 -0
  16. package/dist/adapters/hyperdx.mjs +93 -0
  17. package/dist/adapters/hyperdx.mjs.map +1 -0
  18. package/dist/adapters/otlp.d.mts +1 -1
  19. package/dist/adapters/otlp.mjs +4 -4
  20. package/dist/adapters/otlp.mjs.map +1 -1
  21. package/dist/adapters/posthog.d.mts +1 -1
  22. package/dist/adapters/posthog.mjs +6 -6
  23. package/dist/adapters/posthog.mjs.map +1 -1
  24. package/dist/adapters/sentry.d.mts +1 -1
  25. package/dist/adapters/sentry.mjs +4 -4
  26. package/dist/adapters/sentry.mjs.map +1 -1
  27. package/dist/ai/index.d.mts +82 -5
  28. package/dist/ai/index.d.mts.map +1 -1
  29. package/dist/ai/index.mjs +237 -96
  30. package/dist/ai/index.mjs.map +1 -1
  31. package/dist/browser.d.mts +3 -1
  32. package/dist/browser.d.mts.map +1 -1
  33. package/dist/browser.mjs +2 -2
  34. package/dist/browser.mjs.map +1 -1
  35. package/dist/{dist-BFn8qsRC.mjs → dist-BsWcv7B8.mjs} +1 -1
  36. package/dist/{dist-BFn8qsRC.mjs.map → dist-BsWcv7B8.mjs.map} +1 -1
  37. package/dist/elysia/index.d.mts +2 -2
  38. package/dist/elysia/index.d.mts.map +1 -1
  39. package/dist/elysia/index.mjs +7 -7
  40. package/dist/elysia/index.mjs.map +1 -1
  41. package/dist/enrichers.d.mts +1 -1
  42. package/dist/{error-BheHTFFB.d.mts → error-BJ-I4sim.d.mts} +2 -2
  43. package/dist/{error-BheHTFFB.d.mts.map → error-BJ-I4sim.d.mts.map} +1 -1
  44. package/dist/error.d.mts +1 -1
  45. package/dist/{errors-D8WVZclz.d.mts → errors-DBIBK0Bt.d.mts} +2 -2
  46. package/dist/{errors-D8WVZclz.d.mts.map → errors-DBIBK0Bt.d.mts.map} +1 -1
  47. package/dist/{errors-BQgyQ9xe.mjs → errors-gH4C9KSC.mjs} +1 -1
  48. package/dist/{errors-BQgyQ9xe.mjs.map → errors-gH4C9KSC.mjs.map} +1 -1
  49. package/dist/express/index.d.mts +2 -2
  50. package/dist/express/index.mjs +1 -1
  51. package/dist/fastify/index.d.mts +2 -2
  52. package/dist/fastify/index.mjs +1 -1
  53. package/dist/{headers-DJ_YZbxT.mjs → headers-DrdQ6uG5.mjs} +3 -3
  54. package/dist/{headers-DJ_YZbxT.mjs.map → headers-DrdQ6uG5.mjs.map} +1 -1
  55. package/dist/hono/index.d.mts +2 -2
  56. package/dist/hono/index.mjs +1 -1
  57. package/dist/index.d.mts +5 -5
  58. package/dist/{logger-BkXYNnHP.d.mts → logger-DU3aQIUk.d.mts} +13 -3
  59. package/dist/logger-DU3aQIUk.d.mts.map +1 -0
  60. package/dist/logger.d.mts +2 -2
  61. package/dist/logger.mjs +16 -1
  62. package/dist/logger.mjs.map +1 -1
  63. package/dist/{middleware-B-4hPOVG.d.mts → middleware-BjERCCEd.d.mts} +2 -2
  64. package/dist/{middleware-B-4hPOVG.d.mts.map → middleware-BjERCCEd.d.mts.map} +1 -1
  65. package/dist/nestjs/index.d.mts +2 -2
  66. package/dist/nestjs/index.mjs +1 -1
  67. package/dist/next/client.d.mts +1 -1
  68. package/dist/next/index.d.mts +4 -4
  69. package/dist/next/index.d.mts.map +1 -1
  70. package/dist/next/index.mjs +3 -2
  71. package/dist/next/index.mjs.map +1 -1
  72. package/dist/next/instrumentation.d.mts +75 -0
  73. package/dist/next/instrumentation.d.mts.map +1 -0
  74. package/dist/next/instrumentation.mjs +108 -0
  75. package/dist/next/instrumentation.mjs.map +1 -0
  76. package/dist/nitro/errorHandler.mjs +2 -2
  77. package/dist/nitro/module.d.mts +2 -2
  78. package/dist/nitro/plugin.mjs +5 -4
  79. package/dist/nitro/plugin.mjs.map +1 -1
  80. package/dist/nitro/v3/errorHandler.mjs +3 -3
  81. package/dist/nitro/v3/middleware.d.mts +3 -1
  82. package/dist/nitro/v3/middleware.d.mts.map +1 -1
  83. package/dist/nitro/v3/middleware.mjs +2 -1
  84. package/dist/nitro/v3/middleware.mjs.map +1 -1
  85. package/dist/nitro/v3/module.d.mts +1 -1
  86. package/dist/nitro/v3/plugin.mjs +8 -7
  87. package/dist/nitro/v3/plugin.mjs.map +1 -1
  88. package/dist/nitro/v3/useLogger.d.mts +1 -1
  89. package/dist/{nitro-DCNNxY_7.d.mts → nitro-BXmkH7BD.d.mts} +2 -2
  90. package/dist/{nitro-DCNNxY_7.d.mts.map → nitro-BXmkH7BD.d.mts.map} +1 -1
  91. package/dist/{nitro-CzyGROOC.mjs → nitro-Dpq5ZmcM.mjs} +2 -2
  92. package/dist/{nitro-CzyGROOC.mjs.map → nitro-Dpq5ZmcM.mjs.map} +1 -1
  93. package/dist/nuxt/module.d.mts +4 -3
  94. package/dist/nuxt/module.d.mts.map +1 -1
  95. package/dist/nuxt/module.mjs +4 -2
  96. package/dist/nuxt/module.mjs.map +1 -1
  97. package/dist/{parseError-B08FS7EQ.d.mts → parseError-CcvBYsbl.d.mts} +2 -2
  98. package/dist/parseError-CcvBYsbl.d.mts.map +1 -0
  99. package/dist/react-router/index.d.mts +47 -0
  100. package/dist/react-router/index.d.mts.map +1 -0
  101. package/dist/react-router/index.mjs +59 -0
  102. package/dist/react-router/index.mjs.map +1 -0
  103. package/dist/{routes-CGPmbzCZ.mjs → routes-CE3_c-iZ.mjs} +1 -1
  104. package/dist/{routes-CGPmbzCZ.mjs.map → routes-CE3_c-iZ.mjs.map} +1 -1
  105. package/dist/runtime/client/log.d.mts +1 -1
  106. package/dist/runtime/client/log.d.mts.map +1 -1
  107. package/dist/runtime/client/log.mjs +3 -1
  108. package/dist/runtime/client/log.mjs.map +1 -1
  109. package/dist/runtime/server/useLogger.d.mts +1 -1
  110. package/dist/runtime/utils/parseError.d.mts +2 -2
  111. package/dist/runtime/utils/parseError.mjs +2 -1
  112. package/dist/runtime/utils/parseError.mjs.map +1 -1
  113. package/dist/sveltekit/index.d.mts +2 -2
  114. package/dist/sveltekit/index.mjs +3 -3
  115. package/dist/toolkit.d.mts +3 -3
  116. package/dist/toolkit.mjs +3 -3
  117. package/dist/{types-CBpJBj_7.d.mts → types-DbVDS9eu.d.mts} +8 -1
  118. package/dist/types-DbVDS9eu.d.mts.map +1 -0
  119. package/dist/types.d.mts +1 -1
  120. package/dist/{useLogger-DBPGEDf_.d.mts → useLogger-DY9IByDJ.d.mts} +2 -2
  121. package/dist/{useLogger-DBPGEDf_.d.mts.map → useLogger-DY9IByDJ.d.mts.map} +1 -1
  122. package/dist/utils.d.mts +1 -1
  123. package/dist/vite/index.d.mts +1 -1
  124. package/dist/workers.d.mts +1 -1
  125. package/package.json +50 -20
  126. package/dist/_drain-C9Nr-6Wc.mjs.map +0 -1
  127. package/dist/_http-C2UoHWgm.mjs.map +0 -1
  128. package/dist/logger-BkXYNnHP.d.mts.map +0 -1
  129. package/dist/parseError-B08FS7EQ.d.mts.map +0 -1
  130. package/dist/types-CBpJBj_7.d.mts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"log.mjs","names":[],"sources":["../../../src/runtime/client/log.ts"],"sourcesContent":["import type { Log, LogLevel, TransportConfig } from '../../types'\nimport { cssColors, escapeFormatString, getConsoleMethod, getCssLevelColor } from '../../utils'\n\nconst isClient = typeof window !== 'undefined'\n\nlet clientEnabled = true\nlet clientConsole = true\nlet clientPretty = true\nlet clientService = 'client'\nlet transportEnabled = false\nlet transportEndpoint = '/api/_evlog/ingest'\nlet identityContext: Record<string, unknown> = {}\n\nexport function setIdentity(identity: Record<string, unknown>): void {\n identityContext = { ...identity }\n}\n\nexport function clearIdentity(): void {\n identityContext = {}\n}\n\n\nexport function initLog(options: { enabled?: boolean, console?: boolean, pretty?: boolean, service?: string, transport?: TransportConfig } = {}): void {\n clientEnabled = typeof options.enabled === 'boolean' ? options.enabled : true\n clientConsole = typeof options.console === 'boolean' ? options.console : true\n clientPretty = typeof options.pretty === 'boolean' ? options.pretty : true\n clientService = options.service ?? 'client'\n transportEnabled = options.transport?.enabled ?? false\n transportEndpoint = options.transport?.endpoint ?? '/api/_evlog/ingest'\n}\n\nasync function sendToServer(event: Record<string, unknown>): Promise<void> {\n if (!transportEnabled) return\n\n try {\n await fetch(transportEndpoint, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(event),\n keepalive: true,\n credentials: 'same-origin',\n })\n } catch {\n // Silently fail - don't break the app\n }\n}\n\nfunction emitLog(level: LogLevel, event: Record<string, unknown>): void {\n if (!clientEnabled) return\n\n const formatted = {\n timestamp: new Date().toISOString(),\n level,\n service: clientService,\n ...identityContext,\n ...event,\n }\n\n if (clientConsole) {\n const method = getConsoleMethod(level)\n if (clientPretty) {\n const { level: lvl, service, ...rest } = formatted\n console[method](`%c[${escapeFormatString(String(service))}]%c ${lvl}`, getCssLevelColor(lvl), cssColors.reset, rest)\n } else {\n console[method](JSON.stringify(formatted))\n }\n }\n\n sendToServer(formatted)\n}\n\nfunction emitTaggedLog(level: LogLevel, tag: string, message: string): void {\n if (!clientEnabled) return\n if (clientPretty) {\n if (clientConsole) {\n console[getConsoleMethod(level)](`%c[${escapeFormatString(tag)}]%c ${escapeFormatString(message)}`, getCssLevelColor(level), cssColors.reset)\n }\n sendToServer({\n timestamp: new Date().toISOString(),\n level,\n service: clientService,\n ...identityContext,\n tag,\n message,\n })\n } else {\n emitLog(level, { tag, message })\n }\n}\n\nfunction createLogMethod(level: LogLevel) {\n return function logMethod(tagOrEvent: string | Record<string, unknown>, message?: string): void {\n if (!(import.meta.client ?? isClient)) {\n return\n }\n\n if (typeof tagOrEvent === 'string' && message !== undefined) {\n emitTaggedLog(level, tagOrEvent, message)\n } else if (typeof tagOrEvent === 'object') {\n emitLog(level, tagOrEvent)\n } else {\n emitTaggedLog(level, 'log', String(tagOrEvent))\n }\n }\n}\n\nconst _clientLog: Log = {\n info: createLogMethod('info'),\n error: createLogMethod('error'),\n warn: createLogMethod('warn'),\n debug: createLogMethod('debug'),\n}\n\nexport { _clientLog as log }\n"],"mappings":";;AAGA,MAAM,WAAW,OAAO,WAAW;AAEnC,IAAI,gBAAgB;AACpB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,oBAAoB;AACxB,IAAI,kBAA2C,EAAE;AAEjD,SAAgB,YAAY,UAAyC;AACnE,mBAAkB,EAAE,GAAG,UAAU;;AAGnC,SAAgB,gBAAsB;AACpC,mBAAkB,EAAE;;AAItB,SAAgB,QAAQ,UAAqH,EAAE,EAAQ;AACrJ,iBAAgB,OAAO,QAAQ,YAAY,YAAY,QAAQ,UAAU;AACzE,iBAAgB,OAAO,QAAQ,YAAY,YAAY,QAAQ,UAAU;AACzE,gBAAe,OAAO,QAAQ,WAAW,YAAY,QAAQ,SAAS;AACtE,iBAAgB,QAAQ,WAAW;AACnC,oBAAmB,QAAQ,WAAW,WAAW;AACjD,qBAAoB,QAAQ,WAAW,YAAY;;AAGrD,eAAe,aAAa,OAA+C;AACzE,KAAI,CAAC,iBAAkB;AAEvB,KAAI;AACF,QAAM,MAAM,mBAAmB;GAC7B,QAAQ;GACR,SAAS,EAAE,gBAAgB,oBAAoB;GAC/C,MAAM,KAAK,UAAU,MAAM;GAC3B,WAAW;GACX,aAAa;GACd,CAAC;SACI;;AAKV,SAAS,QAAQ,OAAiB,OAAsC;AACtE,KAAI,CAAC,cAAe;CAEpB,MAAM,YAAY;EAChB,4BAAW,IAAI,MAAM,EAAC,aAAa;EACnC;EACA,SAAS;EACT,GAAG;EACH,GAAG;EACJ;AAED,KAAI,eAAe;EACjB,MAAM,SAAS,iBAAiB,MAAM;AACtC,MAAI,cAAc;GAChB,MAAM,EAAE,OAAO,KAAK,SAAS,GAAG,SAAS;AACzC,WAAQ,QAAQ,MAAM,mBAAmB,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,iBAAiB,IAAI,EAAE,UAAU,OAAO,KAAK;QAEpH,SAAQ,QAAQ,KAAK,UAAU,UAAU,CAAC;;AAI9C,cAAa,UAAU;;AAGzB,SAAS,cAAc,OAAiB,KAAa,SAAuB;AAC1E,KAAI,CAAC,cAAe;AACpB,KAAI,cAAc;AAChB,MAAI,cACF,SAAQ,iBAAiB,MAAM,EAAE,MAAM,mBAAmB,IAAI,CAAC,MAAM,mBAAmB,QAAQ,IAAI,iBAAiB,MAAM,EAAE,UAAU,MAAM;AAE/I,eAAa;GACX,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC;GACA,SAAS;GACT,GAAG;GACH;GACA;GACD,CAAC;OAEF,SAAQ,OAAO;EAAE;EAAK;EAAS,CAAC;;AAIpC,SAAS,gBAAgB,OAAiB;AACxC,QAAO,SAAS,UAAU,YAA8C,SAAwB;AAC9F,MAAI,EAAE,OAAO,KAAK,UAAU,UAC1B;AAGF,MAAI,OAAO,eAAe,YAAY,YAAY,KAAA,EAChD,eAAc,OAAO,YAAY,QAAQ;WAChC,OAAO,eAAe,SAC/B,SAAQ,OAAO,WAAW;MAE1B,eAAc,OAAO,OAAO,OAAO,WAAW,CAAC;;;AAKrD,MAAM,aAAkB;CACtB,MAAM,gBAAgB,OAAO;CAC7B,OAAO,gBAAgB,QAAQ;CAC/B,MAAM,gBAAgB,OAAO;CAC7B,OAAO,gBAAgB,QAAQ;CAChC"}
1
+ {"version":3,"file":"log.mjs","names":[],"sources":["../../../src/runtime/client/log.ts"],"sourcesContent":["import type { Log, LogLevel, TransportConfig } from '../../types'\nimport { cssColors, escapeFormatString, getConsoleMethod, getCssLevelColor } from '../../utils'\n\nconst isClient = typeof window !== 'undefined'\n\nlet clientEnabled = true\nlet clientConsole = true\nlet clientPretty = true\nlet clientService = 'client'\nlet transportEnabled = false\nlet transportEndpoint = '/api/_evlog/ingest'\nlet transportCredentials: RequestCredentials = 'same-origin'\nlet identityContext: Record<string, unknown> = {}\n\nexport function setIdentity(identity: Record<string, unknown>): void {\n identityContext = { ...identity }\n}\n\nexport function clearIdentity(): void {\n identityContext = {}\n}\n\n\nexport function initLog(options: { enabled?: boolean, console?: boolean, pretty?: boolean, service?: string, transport?: TransportConfig } = {}): void {\n clientEnabled = typeof options.enabled === 'boolean' ? options.enabled : true\n clientConsole = typeof options.console === 'boolean' ? options.console : true\n clientPretty = typeof options.pretty === 'boolean' ? options.pretty : true\n clientService = options.service ?? 'client'\n transportEnabled = options.transport?.enabled ?? false\n transportEndpoint = options.transport?.endpoint ?? '/api/_evlog/ingest'\n transportCredentials = options.transport?.credentials ?? 'same-origin'\n}\n\nasync function sendToServer(event: Record<string, unknown>): Promise<void> {\n if (!transportEnabled) return\n\n try {\n await fetch(transportEndpoint, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(event),\n keepalive: true,\n credentials: transportCredentials,\n })\n } catch {\n // Silently fail - don't break the app\n }\n}\n\nfunction emitLog(level: LogLevel, event: Record<string, unknown>): void {\n if (!clientEnabled) return\n\n const formatted = {\n timestamp: new Date().toISOString(),\n level,\n service: clientService,\n ...identityContext,\n ...event,\n }\n\n if (clientConsole) {\n const method = getConsoleMethod(level)\n if (clientPretty) {\n const { level: lvl, service, ...rest } = formatted\n console[method](`%c[${escapeFormatString(String(service))}]%c ${lvl}`, getCssLevelColor(lvl), cssColors.reset, rest)\n } else {\n console[method](JSON.stringify(formatted))\n }\n }\n\n sendToServer(formatted)\n}\n\nfunction emitTaggedLog(level: LogLevel, tag: string, message: string): void {\n if (!clientEnabled) return\n if (clientPretty) {\n if (clientConsole) {\n console[getConsoleMethod(level)](`%c[${escapeFormatString(tag)}]%c ${escapeFormatString(message)}`, getCssLevelColor(level), cssColors.reset)\n }\n sendToServer({\n timestamp: new Date().toISOString(),\n level,\n service: clientService,\n ...identityContext,\n tag,\n message,\n })\n } else {\n emitLog(level, { tag, message })\n }\n}\n\nfunction createLogMethod(level: LogLevel) {\n return function logMethod(tagOrEvent: string | Record<string, unknown>, message?: string): void {\n if (!(import.meta.client ?? isClient)) {\n return\n }\n\n if (typeof tagOrEvent === 'string' && message !== undefined) {\n emitTaggedLog(level, tagOrEvent, message)\n } else if (typeof tagOrEvent === 'object') {\n emitLog(level, tagOrEvent)\n } else {\n emitTaggedLog(level, 'log', String(tagOrEvent))\n }\n }\n}\n\nconst _clientLog: Log = {\n info: createLogMethod('info'),\n error: createLogMethod('error'),\n warn: createLogMethod('warn'),\n debug: createLogMethod('debug'),\n}\n\nexport { _clientLog as log }\n"],"mappings":";;AAGA,MAAM,WAAW,OAAO,WAAW;AAEnC,IAAI,gBAAgB;AACpB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,oBAAoB;AACxB,IAAI,uBAA2C;AAC/C,IAAI,kBAA2C,EAAE;AAEjD,SAAgB,YAAY,UAAyC;AACnE,mBAAkB,EAAE,GAAG,UAAU;;AAGnC,SAAgB,gBAAsB;AACpC,mBAAkB,EAAE;;AAItB,SAAgB,QAAQ,UAAqH,EAAE,EAAQ;AACrJ,iBAAgB,OAAO,QAAQ,YAAY,YAAY,QAAQ,UAAU;AACzE,iBAAgB,OAAO,QAAQ,YAAY,YAAY,QAAQ,UAAU;AACzE,gBAAe,OAAO,QAAQ,WAAW,YAAY,QAAQ,SAAS;AACtE,iBAAgB,QAAQ,WAAW;AACnC,oBAAmB,QAAQ,WAAW,WAAW;AACjD,qBAAoB,QAAQ,WAAW,YAAY;AACnD,wBAAuB,QAAQ,WAAW,eAAe;;AAG3D,eAAe,aAAa,OAA+C;AACzE,KAAI,CAAC,iBAAkB;AAEvB,KAAI;AACF,QAAM,MAAM,mBAAmB;GAC7B,QAAQ;GACR,SAAS,EAAE,gBAAgB,oBAAoB;GAC/C,MAAM,KAAK,UAAU,MAAM;GAC3B,WAAW;GACX,aAAa;GACd,CAAC;SACI;;AAKV,SAAS,QAAQ,OAAiB,OAAsC;AACtE,KAAI,CAAC,cAAe;CAEpB,MAAM,YAAY;EAChB,4BAAW,IAAI,MAAM,EAAC,aAAa;EACnC;EACA,SAAS;EACT,GAAG;EACH,GAAG;EACJ;AAED,KAAI,eAAe;EACjB,MAAM,SAAS,iBAAiB,MAAM;AACtC,MAAI,cAAc;GAChB,MAAM,EAAE,OAAO,KAAK,SAAS,GAAG,SAAS;AACzC,WAAQ,QAAQ,MAAM,mBAAmB,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,iBAAiB,IAAI,EAAE,UAAU,OAAO,KAAK;QAEpH,SAAQ,QAAQ,KAAK,UAAU,UAAU,CAAC;;AAI9C,cAAa,UAAU;;AAGzB,SAAS,cAAc,OAAiB,KAAa,SAAuB;AAC1E,KAAI,CAAC,cAAe;AACpB,KAAI,cAAc;AAChB,MAAI,cACF,SAAQ,iBAAiB,MAAM,EAAE,MAAM,mBAAmB,IAAI,CAAC,MAAM,mBAAmB,QAAQ,IAAI,iBAAiB,MAAM,EAAE,UAAU,MAAM;AAE/I,eAAa;GACX,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC;GACA,SAAS;GACT,GAAG;GACH;GACA;GACD,CAAC;OAEF,SAAQ,OAAO;EAAE;EAAK;EAAS,CAAC;;AAIpC,SAAS,gBAAgB,OAAiB;AACxC,QAAO,SAAS,UAAU,YAA8C,SAAwB;AAC9F,MAAI,EAAE,OAAO,KAAK,UAAU,UAC1B;AAGF,MAAI,OAAO,eAAe,YAAY,YAAY,KAAA,EAChD,eAAc,OAAO,YAAY,QAAQ;WAChC,OAAO,eAAe,SAC/B,SAAQ,OAAO,WAAW;MAE1B,eAAc,OAAO,OAAO,OAAO,WAAW,CAAC;;;AAKrD,MAAM,aAAkB;CACtB,MAAM,gBAAgB,OAAO;CAC7B,OAAO,gBAAgB,QAAQ;CAC/B,MAAM,gBAAgB,OAAO;CAC7B,OAAO,gBAAgB,QAAQ;CAChC"}
@@ -1,2 +1,2 @@
1
- import { t as useLogger } from "../../useLogger-DBPGEDf_.mjs";
1
+ import { t as useLogger } from "../../useLogger-DY9IByDJ.mjs";
2
2
  export { useLogger };
@@ -1,3 +1,3 @@
1
- import { m as ParsedError } from "../../types-CBpJBj_7.mjs";
2
- import { t as parseError } from "../../parseError-B08FS7EQ.mjs";
1
+ import { m as ParsedError } from "../../types-DbVDS9eu.mjs";
2
+ import { t as parseError } from "../../parseError-CcvBYsbl.mjs";
3
3
  export { ParsedError, parseError };
@@ -1,3 +1,4 @@
1
+ import { t as extractErrorStatus } from "../../errors-gH4C9KSC.mjs";
1
2
  //#region src/runtime/utils/parseError.ts
2
3
  function parseError(error) {
3
4
  if (error && typeof error === "object" && "data" in error) {
@@ -14,7 +15,7 @@ function parseError(error) {
14
15
  }
15
16
  if (error instanceof Error) return {
16
17
  message: error.message,
17
- status: 500,
18
+ status: extractErrorStatus(error),
18
19
  raw: error
19
20
  };
20
21
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"parseError.mjs","names":[],"sources":["../../../src/runtime/utils/parseError.ts"],"sourcesContent":["import type { FetchError } from 'ofetch'\nimport type { ParsedError } from '../../types'\n\nexport type { ParsedError }\n\nexport function parseError(error: unknown): ParsedError {\n if (error && typeof error === 'object' && 'data' in error) {\n const { data, message: fetchMessage, statusCode: fetchStatusCode, status: fetchStatus } = error as FetchError & { status?: number }\n\n // Support both nested data.data (fetch response) and direct data (EvlogError)\n const evlogData = (data?.data ?? data) as { why?: string, fix?: string, link?: string } | undefined\n\n return {\n // Prefer statusText, then statusMessage (or message) for the error message\n message: data?.statusText || data?.statusMessage || data?.message || fetchMessage || 'An error occurred',\n // Prefer status, then statusCode for the status value\n status: data?.status || data?.statusCode || fetchStatus || fetchStatusCode || 500,\n why: evlogData?.why,\n fix: evlogData?.fix,\n link: evlogData?.link,\n raw: error,\n }\n }\n\n if (error instanceof Error) {\n return {\n message: error.message,\n status: 500,\n raw: error,\n }\n }\n\n return {\n message: String(error),\n status: 500,\n raw: error,\n }\n}\n"],"mappings":";AAKA,SAAgB,WAAW,OAA6B;AACtD,KAAI,SAAS,OAAO,UAAU,YAAY,UAAU,OAAO;EACzD,MAAM,EAAE,MAAM,SAAS,cAAc,YAAY,iBAAiB,QAAQ,gBAAgB;EAG1F,MAAM,YAAa,MAAM,QAAQ;AAEjC,SAAO;GAEL,SAAS,MAAM,cAAc,MAAM,iBAAiB,MAAM,WAAW,gBAAgB;GAErF,QAAQ,MAAM,UAAU,MAAM,cAAc,eAAe,mBAAmB;GAC9E,KAAK,WAAW;GAChB,KAAK,WAAW;GAChB,MAAM,WAAW;GACjB,KAAK;GACN;;AAGH,KAAI,iBAAiB,MACnB,QAAO;EACL,SAAS,MAAM;EACf,QAAQ;EACR,KAAK;EACN;AAGH,QAAO;EACL,SAAS,OAAO,MAAM;EACtB,QAAQ;EACR,KAAK;EACN"}
1
+ {"version":3,"file":"parseError.mjs","names":[],"sources":["../../../src/runtime/utils/parseError.ts"],"sourcesContent":["import type { FetchError } from 'ofetch'\nimport type { ParsedError } from '../../types'\nimport { extractErrorStatus } from '../../shared/errors'\n\nexport type { ParsedError }\n\nexport function parseError(error: unknown): ParsedError {\n if (error && typeof error === 'object' && 'data' in error) {\n const { data, message: fetchMessage, statusCode: fetchStatusCode, status: fetchStatus } = error as FetchError & { status?: number }\n\n // Support both nested data.data (fetch response) and direct data (EvlogError)\n const evlogData = (data?.data ?? data) as { why?: string, fix?: string, link?: string } | undefined\n\n return {\n // Prefer statusText, then statusMessage (or message) for the error message\n message: data?.statusText || data?.statusMessage || data?.message || fetchMessage || 'An error occurred',\n // Prefer status, then statusCode for the status value\n status: data?.status || data?.statusCode || fetchStatus || fetchStatusCode || 500,\n why: evlogData?.why,\n fix: evlogData?.fix,\n link: evlogData?.link,\n raw: error,\n }\n }\n\n if (error instanceof Error) {\n return {\n message: error.message,\n status: extractErrorStatus(error),\n raw: error,\n }\n }\n\n return {\n message: String(error),\n status: 500,\n raw: error,\n }\n}\n"],"mappings":";;AAMA,SAAgB,WAAW,OAA6B;AACtD,KAAI,SAAS,OAAO,UAAU,YAAY,UAAU,OAAO;EACzD,MAAM,EAAE,MAAM,SAAS,cAAc,YAAY,iBAAiB,QAAQ,gBAAgB;EAG1F,MAAM,YAAa,MAAM,QAAQ;AAEjC,SAAO;GAEL,SAAS,MAAM,cAAc,MAAM,iBAAiB,MAAM,WAAW,gBAAgB;GAErF,QAAQ,MAAM,UAAU,MAAM,cAAc,eAAe,mBAAmB;GAC9E,KAAK,WAAW;GAChB,KAAK,WAAW;GAChB,MAAM,WAAW;GACjB,KAAK;GACN;;AAGH,KAAI,iBAAiB,MACnB,QAAO;EACL,SAAS,MAAM;EACf,QAAQ,mBAAmB,MAAM;EACjC,KAAK;EACN;AAGH,QAAO;EACL,SAAS,OAAO,MAAM;EACtB,QAAQ;EACR,KAAK;EACN"}
@@ -1,5 +1,5 @@
1
- import { g as RequestLogger } from "../types-CBpJBj_7.mjs";
2
- import { t as BaseEvlogOptions } from "../middleware-B-4hPOVG.mjs";
1
+ import { g as RequestLogger } from "../types-DbVDS9eu.mjs";
2
+ import { t as BaseEvlogOptions } from "../middleware-BjERCCEd.mjs";
3
3
 
4
4
  //#region src/sveltekit/index.d.ts
5
5
  declare const useLogger: <T extends object = Record<string, unknown>>() => RequestLogger<T>;
@@ -1,7 +1,7 @@
1
1
  import { EvlogError } from "../error.mjs";
2
- import { t as extractErrorStatus } from "../errors-BQgyQ9xe.mjs";
3
- import { n as serializeEvlogErrorResponse, t as resolveEvlogError } from "../nitro-CzyGROOC.mjs";
4
- import { r as createMiddlewareLogger, t as extractSafeHeaders } from "../headers-DJ_YZbxT.mjs";
2
+ import { t as extractErrorStatus } from "../errors-gH4C9KSC.mjs";
3
+ import { n as serializeEvlogErrorResponse, t as resolveEvlogError } from "../nitro-Dpq5ZmcM.mjs";
4
+ import { r as createMiddlewareLogger, t as extractSafeHeaders } from "../headers-DrdQ6uG5.mjs";
5
5
  import { t as createLoggerStorage } from "../storage-DsueXspk.mjs";
6
6
  //#region src/sveltekit/index.ts
7
7
  const { storage, useLogger } = createLoggerStorage("handle context. Make sure evlog() handle is added to your hooks.server.ts.");
@@ -1,6 +1,6 @@
1
- import { g as RequestLogger } from "./types-CBpJBj_7.mjs";
2
- import { i as createMiddlewareLogger, n as MiddlewareLoggerOptions, r as MiddlewareLoggerResult, t as BaseEvlogOptions } from "./middleware-B-4hPOVG.mjs";
3
- import { n as getServiceForPath, r as shouldLog, t as extractErrorStatus } from "./errors-D8WVZclz.mjs";
1
+ import { g as RequestLogger } from "./types-DbVDS9eu.mjs";
2
+ import { i as createMiddlewareLogger, n as MiddlewareLoggerOptions, r as MiddlewareLoggerResult, t as BaseEvlogOptions } from "./middleware-BjERCCEd.mjs";
3
+ import { n as getServiceForPath, r as shouldLog, t as extractErrorStatus } from "./errors-DBIBK0Bt.mjs";
4
4
  import { AsyncLocalStorage } from "node:async_hooks";
5
5
 
6
6
  //#region src/shared/headers.d.ts
package/dist/toolkit.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { t as extractErrorStatus } from "./errors-BQgyQ9xe.mjs";
2
- import { n as shouldLog, t as getServiceForPath } from "./routes-CGPmbzCZ.mjs";
3
- import { n as extractSafeNodeHeaders, r as createMiddlewareLogger, t as extractSafeHeaders } from "./headers-DJ_YZbxT.mjs";
1
+ import { t as extractErrorStatus } from "./errors-gH4C9KSC.mjs";
2
+ import { n as shouldLog, t as getServiceForPath } from "./routes-CE3_c-iZ.mjs";
3
+ import { n as extractSafeNodeHeaders, r as createMiddlewareLogger, t as extractSafeHeaders } from "./headers-DrdQ6uG5.mjs";
4
4
  import { t as createLoggerStorage } from "./storage-DsueXspk.mjs";
5
5
  export { createLoggerStorage, createMiddlewareLogger, extractErrorStatus, extractSafeHeaders, extractSafeNodeHeaders, getServiceForPath, shouldLog };
@@ -67,6 +67,11 @@ interface TransportConfig {
67
67
  * @default '/api/_evlog/ingest'
68
68
  */
69
69
  endpoint?: string;
70
+ /**
71
+ * Fetch credentials mode
72
+ * @default 'same-origin'
73
+ */
74
+ credentials?: RequestCredentials;
70
75
  }
71
76
  /**
72
77
  * Payload sent from client to server for log ingestion
@@ -467,6 +472,8 @@ interface H3EventContext {
467
472
  _evlogStartTime?: number;
468
473
  /** Internal: flag to prevent double emission on errors */
469
474
  _evlogEmitted?: boolean;
475
+ /** Internal: whether the route matched shouldLog filtering (emit-time guard) */
476
+ _evlogShouldEmit?: boolean;
470
477
  [key: string]: unknown;
471
478
  }
472
479
  /**
@@ -503,4 +510,4 @@ interface ParsedError {
503
510
  }
504
511
  //#endregion
505
512
  export { TailSamplingContext as C, TailSamplingCondition as S, WideEvent as T, RequestLoggerOptions as _, EnvironmentContext as a, SamplingRates as b, H3EventContext as c, Log as d, LogLevel as f, RequestLogger as g, RequestLogEntry as h, EnrichContext as i, IngestPayload as l, ParsedError as m, DeepPartial as n, ErrorOptions as o, LoggerConfig as p, DrainContext as r, FieldContext as s, BaseWideEvent as t, InternalFields as u, RouteConfig as v, TransportConfig as w, ServerEvent as x, SamplingConfig as y };
506
- //# sourceMappingURL=types-CBpJBj_7.d.mts.map
513
+ //# sourceMappingURL=types-DbVDS9eu.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DbVDS9eu.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
package/dist/types.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { C as TailSamplingContext, S as TailSamplingCondition, T as WideEvent, _ as RequestLoggerOptions, a as EnvironmentContext, b as SamplingRates, c as H3EventContext, d as Log, f as LogLevel, g as RequestLogger, h as RequestLogEntry, i as EnrichContext, l as IngestPayload, m as ParsedError, n as DeepPartial, o as ErrorOptions, p as LoggerConfig, r as DrainContext, s as FieldContext, t as BaseWideEvent, u as InternalFields, v as RouteConfig, w as TransportConfig, x as ServerEvent, y as SamplingConfig } from "./types-CBpJBj_7.mjs";
1
+ import { C as TailSamplingContext, S as TailSamplingCondition, T as WideEvent, _ as RequestLoggerOptions, a as EnvironmentContext, b as SamplingRates, c as H3EventContext, d as Log, f as LogLevel, g as RequestLogger, h as RequestLogEntry, i as EnrichContext, l as IngestPayload, m as ParsedError, n as DeepPartial, o as ErrorOptions, p as LoggerConfig, r as DrainContext, s as FieldContext, t as BaseWideEvent, u as InternalFields, v as RouteConfig, w as TransportConfig, x as ServerEvent, y as SamplingConfig } from "./types-DbVDS9eu.mjs";
2
2
  export { BaseWideEvent, DeepPartial, DrainContext, EnrichContext, EnvironmentContext, ErrorOptions, FieldContext, H3EventContext, IngestPayload, InternalFields, Log, LogLevel, LoggerConfig, ParsedError, RequestLogEntry, RequestLogger, RequestLoggerOptions, RouteConfig, SamplingConfig, SamplingRates, ServerEvent, TailSamplingCondition, TailSamplingContext, TransportConfig, WideEvent };
@@ -1,4 +1,4 @@
1
- import { g as RequestLogger, x as ServerEvent } from "./types-CBpJBj_7.mjs";
1
+ import { g as RequestLogger, x as ServerEvent } from "./types-DbVDS9eu.mjs";
2
2
 
3
3
  //#region src/runtime/server/useLogger.d.ts
4
4
  /**
@@ -36,4 +36,4 @@ import { g as RequestLogger, x as ServerEvent } from "./types-CBpJBj_7.mjs";
36
36
  declare function useLogger<T extends object = Record<string, unknown>>(event: ServerEvent, service?: string): RequestLogger<T>;
37
37
  //#endregion
38
38
  export { useLogger as t };
39
- //# sourceMappingURL=useLogger-DBPGEDf_.d.mts.map
39
+ //# sourceMappingURL=useLogger-DY9IByDJ.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLogger-DBPGEDf_.d.mts","names":[],"sources":["../src/runtime/server/useLogger.ts"],"mappings":";;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,SAAA,oBAA6B,MAAA,kBAAA,CAAyB,KAAA,EAAO,WAAA,EAAa,OAAA,YAAmB,aAAA,CAAc,CAAA"}
1
+ {"version":3,"file":"useLogger-DY9IByDJ.d.mts","names":[],"sources":["../src/runtime/server/useLogger.ts"],"mappings":";;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,SAAA,oBAA6B,MAAA,kBAAA,CAAyB,KAAA,EAAO,WAAA,EAAa,OAAA,YAAmB,aAAA,CAAc,CAAA"}
package/dist/utils.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as EnvironmentContext, f as LogLevel } from "./types-CBpJBj_7.mjs";
1
+ import { a as EnvironmentContext, f as LogLevel } from "./types-DbVDS9eu.mjs";
2
2
 
3
3
  //#region src/utils.d.ts
4
4
  declare function formatDuration(ms: number): string;
@@ -1,4 +1,4 @@
1
- import { f as LogLevel, w as TransportConfig, y as SamplingConfig } from "../types-CBpJBj_7.mjs";
1
+ import { f as LogLevel, w as TransportConfig, y as SamplingConfig } from "../types-DbVDS9eu.mjs";
2
2
  import { Plugin } from "vite";
3
3
 
4
4
  //#region src/vite/types.d.ts
@@ -1,4 +1,4 @@
1
- import { g as RequestLogger, p as LoggerConfig } from "./types-CBpJBj_7.mjs";
1
+ import { g as RequestLogger, p as LoggerConfig } from "./types-DbVDS9eu.mjs";
2
2
 
3
3
  //#region src/workers/index.d.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evlog",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "Wide event logging library with structured error handling. Inspired by LoggingSucks.",
5
5
  "author": "HugoRCD <contact@hrcd.fr>",
6
6
  "homepage": "https://evlog.dev",
@@ -25,6 +25,7 @@
25
25
  "elysia",
26
26
  "nestjs",
27
27
  "sveltekit",
28
+ "react-router",
28
29
  "vite",
29
30
  "typescript"
30
31
  ],
@@ -82,6 +83,11 @@
82
83
  "import": "./dist/adapters/better-stack.mjs",
83
84
  "default": "./dist/adapters/better-stack.mjs"
84
85
  },
86
+ "./hyperdx": {
87
+ "types": "./dist/adapters/hyperdx.d.mts",
88
+ "import": "./dist/adapters/hyperdx.mjs",
89
+ "default": "./dist/adapters/hyperdx.mjs"
90
+ },
85
91
  "./fs": {
86
92
  "types": "./dist/adapters/fs.d.mts",
87
93
  "import": "./dist/adapters/fs.mjs",
@@ -112,6 +118,11 @@
112
118
  "import": "./dist/next/client.mjs",
113
119
  "default": "./dist/next/client.mjs"
114
120
  },
121
+ "./next/instrumentation": {
122
+ "types": "./dist/next/instrumentation.d.mts",
123
+ "import": "./dist/next/instrumentation.mjs",
124
+ "default": "./dist/next/instrumentation.mjs"
125
+ },
115
126
  "./hono": {
116
127
  "types": "./dist/hono/index.d.mts",
117
128
  "import": "./dist/hono/index.mjs",
@@ -137,6 +148,11 @@
137
148
  "import": "./dist/nestjs/index.mjs",
138
149
  "default": "./dist/nestjs/index.mjs"
139
150
  },
151
+ "./react-router": {
152
+ "types": "./dist/react-router/index.d.mts",
153
+ "import": "./dist/react-router/index.mjs",
154
+ "default": "./dist/react-router/index.mjs"
155
+ },
140
156
  "./sveltekit": {
141
157
  "types": "./dist/sveltekit/index.d.mts",
142
158
  "import": "./dist/sveltekit/index.mjs",
@@ -197,6 +213,9 @@
197
213
  "better-stack": [
198
214
  "./dist/adapters/better-stack.d.mts"
199
215
  ],
216
+ "hyperdx": [
217
+ "./dist/adapters/hyperdx.d.mts"
218
+ ],
200
219
  "fs": [
201
220
  "./dist/adapters/fs.d.mts"
202
221
  ],
@@ -215,6 +234,9 @@
215
234
  "next/client": [
216
235
  "./dist/next/client.d.mts"
217
236
  ],
237
+ "next/instrumentation": [
238
+ "./dist/next/instrumentation.d.mts"
239
+ ],
218
240
  "hono": [
219
241
  "./dist/hono/index.d.mts"
220
242
  ],
@@ -230,6 +252,9 @@
230
252
  "nestjs": [
231
253
  "./dist/nestjs/index.d.mts"
232
254
  ],
255
+ "react-router": [
256
+ "./dist/react-router/index.d.mts"
257
+ ],
233
258
  "sveltekit": [
234
259
  "./dist/sveltekit/index.d.mts"
235
260
  ],
@@ -268,48 +293,50 @@
268
293
  "typecheck": "echo 'Typecheck handled by build'"
269
294
  },
270
295
  "devDependencies": {
271
- "acorn": "^8.14.1",
296
+ "acorn": "^8.16.0",
272
297
  "@codspeed/vitest-plugin": "^5.2.0",
273
- "@nestjs/common": "^11.1.16",
274
- "@nuxt/devtools": "^3.2.3",
298
+ "@nestjs/common": "^11.1.17",
299
+ "@nuxt/devtools": "^3.2.4",
275
300
  "@nuxt/schema": "^4.4.2",
276
301
  "@nuxt/test-utils": "^4.0.0",
277
302
  "@types/express": "^5.0.6",
278
303
  "@types/supertest": "^7.2.0",
279
304
  "changelogen": "^0.6.2",
280
305
  "consola": "^3.4.2",
281
- "elysia": "^1.4.27",
306
+ "elysia": "^1.4.28",
282
307
  "express": "^5.2.1",
283
- "fastify": "^5.8.2",
284
- "h3": "^1.15.6",
285
- "happy-dom": "^20.8.3",
308
+ "fastify": "^5.8.4",
309
+ "h3": "^1.15.10",
310
+ "happy-dom": "^20.8.4",
286
311
  "nitro": "^3.0.260311-beta",
287
- "nitropack": "^2.13.1",
312
+ "nitropack": "^2.13.2",
288
313
  "nuxt": "^4.4.2",
289
314
  "pino": "^10.3.1",
315
+ "react-router": "^7.13.2",
290
316
  "supertest": "^7.2.2",
291
- "tsdown": "^0.21.1",
292
- "magic-string": "^0.30.17",
293
- "typescript": "^5.9.3",
294
- "vite": "^8.0.0",
317
+ "tsdown": "^0.21.4",
318
+ "magic-string": "^0.30.21",
319
+ "typescript": "^6.0.2",
320
+ "vite": "^8.0.2",
295
321
  "ufo": "^1.6.3",
296
322
  "winston": "^3.19.0"
297
323
  },
298
324
  "peerDependencies": {
299
325
  "@nuxt/kit": "^4.4.2",
300
- "h3": "^1.15.6",
301
- "nitropack": "^2.13.1",
326
+ "h3": "^1.15.10",
327
+ "nitropack": "^2.13.2",
302
328
  "ofetch": "^1.5.1",
303
329
  "nitro": "^3.0.260311-beta",
304
- "next": ">=16.1.6",
330
+ "next": ">=16.2.1",
305
331
  "react": ">=19.2.4",
306
332
  "hono": "",
307
333
  "express": ">=5.2.1",
308
- "elysia": ">=1.4.27",
309
- "fastify": ">=5.8.2",
310
- "@nestjs/common": ">=11.1.16",
334
+ "elysia": ">=1.4.28",
335
+ "fastify": ">=5.8.4",
336
+ "@nestjs/common": ">=11.1.17",
337
+ "react-router": ">=7.13.2",
311
338
  "vite": "^7.0.0 || ^8.0.0",
312
- "ai": ">=6.0.0"
339
+ "ai": ">=6.0.137"
313
340
  },
314
341
  "peerDependenciesMeta": {
315
342
  "@nuxt/kit": {
@@ -348,6 +375,9 @@
348
375
  "@nestjs/common": {
349
376
  "optional": true
350
377
  },
378
+ "react-router": {
379
+ "optional": true
380
+ },
351
381
  "vite": {
352
382
  "optional": true
353
383
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"_drain-C9Nr-6Wc.mjs","names":[],"sources":["../src/adapters/_drain.ts"],"sourcesContent":["import type { DrainContext, WideEvent } from '../types'\n\nexport interface DrainOptions<TConfig> {\n name: string\n resolve: () => TConfig | null\n send: (events: WideEvent[], config: TConfig) => Promise<void>\n}\n\nexport function defineDrain<TConfig>(options: DrainOptions<TConfig>): (ctx: DrainContext | DrainContext[]) => Promise<void> {\n return async (ctx: DrainContext | DrainContext[]) => {\n const contexts = Array.isArray(ctx) ? ctx : [ctx]\n if (contexts.length === 0) return\n\n const config = options.resolve()\n if (!config) return\n\n try {\n await options.send(contexts.map(c => c.event), config)\n } catch (error) {\n console.error(`[evlog/${options.name}] Failed to send events:`, error)\n }\n }\n}\n"],"mappings":";AAQA,SAAgB,YAAqB,SAAuF;AAC1H,QAAO,OAAO,QAAuC;EACnD,MAAM,WAAW,MAAM,QAAQ,IAAI,GAAG,MAAM,CAAC,IAAI;AACjD,MAAI,SAAS,WAAW,EAAG;EAE3B,MAAM,SAAS,QAAQ,SAAS;AAChC,MAAI,CAAC,OAAQ;AAEb,MAAI;AACF,SAAM,QAAQ,KAAK,SAAS,KAAI,MAAK,EAAE,MAAM,EAAE,OAAO;WAC/C,OAAO;AACd,WAAQ,MAAM,UAAU,QAAQ,KAAK,2BAA2B,MAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_http-C2UoHWgm.mjs","names":[],"sources":["../src/adapters/_config.ts","../src/adapters/_http.ts"],"sourcesContent":["/**\n * Try to get runtime config from Nitro/Nuxt environment.\n * Supports both Nitro v2 (nitropack/runtime) and Nitro v3 (nitro/runtime-config).\n * Returns undefined if not in a Nitro context.\n */\nexport function getRuntimeConfig(): Record<string, any> | undefined {\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { useRuntimeConfig } = require('nitropack/runtime')\n return useRuntimeConfig()\n } catch {\n // nitropack not available — try Nitro v3\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { useRuntimeConfig } = require('nitro/runtime-config')\n return useRuntimeConfig()\n } catch {\n return undefined\n }\n}\n\nexport interface ConfigField<T> {\n key: keyof T & string\n env?: string[]\n}\n\nexport function resolveAdapterConfig<T>(\n namespace: string,\n fields: ConfigField<T>[],\n overrides?: Partial<T>,\n): Partial<T> {\n const runtimeConfig = getRuntimeConfig()\n const evlogNs = runtimeConfig?.evlog?.[namespace]\n const rootNs = runtimeConfig?.[namespace]\n\n const config: Record<string, unknown> = {}\n\n for (const { key, env } of fields) {\n config[key] =\n overrides?.[key]\n ?? evlogNs?.[key]\n ?? rootNs?.[key]\n ?? resolveEnv(env)\n }\n\n return config as Partial<T>\n}\n\nfunction resolveEnv(envKeys?: string[]): string | undefined {\n if (!envKeys) return undefined\n for (const key of envKeys) {\n const val = process.env[key]\n if (val) return val\n }\n return undefined\n}\n","export interface HttpPostOptions {\n url: string\n headers: Record<string, string>\n body: string\n timeout: number\n label: string\n retries?: number\n}\n\nfunction isRetryable(error: unknown): boolean {\n if (error instanceof DOMException && error.name === 'AbortError') return true\n if (error instanceof TypeError) return true\n if (error instanceof Error) {\n const match = error.message.match(/API error: (\\d+)/)\n if (match) return Number.parseInt(match[1]) >= 500\n }\n return false\n}\n\nexport async function httpPost({ url, headers, body, timeout, label, retries = 2 }: HttpPostOptions): Promise<void> {\n const normalizedRetries = Number.isFinite(retries) && retries >= 0 ? Math.floor(retries) : 2\n\n let lastError: Error | undefined\n\n for (let attempt = 0; attempt <= normalizedRetries; attempt++) {\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), timeout)\n\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body,\n signal: controller.signal,\n })\n\n if (!response.ok) {\n const text = await response.text().catch(() => 'Unknown error')\n const safeText = text.length > 200 ? `${text.slice(0, 200)}...[truncated]` : text\n throw new Error(`${label} API error: ${response.status} ${response.statusText} - ${safeText}`)\n }\n\n clearTimeout(timeoutId)\n return\n } catch (error) {\n clearTimeout(timeoutId)\n\n if (error instanceof DOMException && error.name === 'AbortError') {\n lastError = new Error(`${label} request timed out after ${timeout}ms`)\n } else {\n lastError = error as Error\n }\n\n if (!isRetryable(error) || attempt === normalizedRetries) {\n throw lastError\n }\n\n await new Promise<void>(r => setTimeout(r, 200 * 2 ** attempt))\n }\n }\n\n throw lastError!\n}\n"],"mappings":";;;;;;;;;;AAKA,SAAgB,mBAAoD;AAClE,KAAI;EAEF,MAAM,EAAE,qBAAA,UAA6B,oBAAoB;AACzD,SAAO,kBAAkB;SACnB;AAIR,KAAI;EAEF,MAAM,EAAE,qBAAA,UAA6B,uBAAuB;AAC5D,SAAO,kBAAkB;SACnB;AACN;;;AASJ,SAAgB,qBACd,WACA,QACA,WACY;CACZ,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,UAAU,eAAe,QAAQ;CACvC,MAAM,SAAS,gBAAgB;CAE/B,MAAM,SAAkC,EAAE;AAE1C,MAAK,MAAM,EAAE,KAAK,SAAS,OACzB,QAAO,OACL,YAAY,QACT,UAAU,QACV,SAAS,QACT,WAAW,IAAI;AAGtB,QAAO;;AAGT,SAAS,WAAW,SAAwC;AAC1D,KAAI,CAAC,QAAS,QAAO,KAAA;AACrB,MAAK,MAAM,OAAO,SAAS;EACzB,MAAM,MAAM,QAAQ,IAAI;AACxB,MAAI,IAAK,QAAO;;;;;AC7CpB,SAAS,YAAY,OAAyB;AAC5C,KAAI,iBAAiB,gBAAgB,MAAM,SAAS,aAAc,QAAO;AACzE,KAAI,iBAAiB,UAAW,QAAO;AACvC,KAAI,iBAAiB,OAAO;EAC1B,MAAM,QAAQ,MAAM,QAAQ,MAAM,mBAAmB;AACrD,MAAI,MAAO,QAAO,OAAO,SAAS,MAAM,GAAG,IAAI;;AAEjD,QAAO;;AAGT,eAAsB,SAAS,EAAE,KAAK,SAAS,MAAM,SAAS,OAAO,UAAU,KAAqC;CAClH,MAAM,oBAAoB,OAAO,SAAS,QAAQ,IAAI,WAAW,IAAI,KAAK,MAAM,QAAQ,GAAG;CAE3F,IAAI;AAEJ,MAAK,IAAI,UAAU,GAAG,WAAW,mBAAmB,WAAW;EAC7D,MAAM,aAAa,IAAI,iBAAiB;EACxC,MAAM,YAAY,iBAAiB,WAAW,OAAO,EAAE,QAAQ;AAE/D,MAAI;GACF,MAAM,WAAW,MAAM,MAAM,KAAK;IAChC,QAAQ;IACR;IACA;IACA,QAAQ,WAAW;IACpB,CAAC;AAEF,OAAI,CAAC,SAAS,IAAI;IAChB,MAAM,OAAO,MAAM,SAAS,MAAM,CAAC,YAAY,gBAAgB;IAC/D,MAAM,WAAW,KAAK,SAAS,MAAM,GAAG,KAAK,MAAM,GAAG,IAAI,CAAC,kBAAkB;AAC7E,UAAM,IAAI,MAAM,GAAG,MAAM,cAAc,SAAS,OAAO,GAAG,SAAS,WAAW,KAAK,WAAW;;AAGhG,gBAAa,UAAU;AACvB;WACO,OAAO;AACd,gBAAa,UAAU;AAEvB,OAAI,iBAAiB,gBAAgB,MAAM,SAAS,aAClD,6BAAY,IAAI,MAAM,GAAG,MAAM,2BAA2B,QAAQ,IAAI;OAEtE,aAAY;AAGd,OAAI,CAAC,YAAY,MAAM,IAAI,YAAY,kBACrC,OAAM;AAGR,SAAM,IAAI,SAAc,MAAK,WAAW,GAAG,MAAM,KAAK,QAAQ,CAAC;;;AAInE,OAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-BkXYNnHP.d.mts","names":[],"sources":["../src/logger.ts"],"mappings":";;;;;AA0CA;;iBAAgB,UAAA,CAAW,MAAA,GAAQ,YAAA;;;AA0BnC;iBAAgB,SAAA,CAAA;;;;AAShB;;iBAAgB,cAAA,CAAA,KAAoB,GAAA,EAAK,YAAA,YAAwB,OAAA;;;;;iBA8BjD,UAAA,CAAW,GAAA,EAAK,mBAAA;;AAAhC;;;;;AAgBC;;;cAqLK,IAAA,EAAM,GAAA;AAOU;;;AAAA,UAkBZ,2BAAA;EAKG;AAcb;;;EAdE,WAAA;AAAA;;;;;;;;;;;;iBAcc,YAAA,oBAAgC,MAAA,kBAAA,CAAyB,cAAA,GAAgB,MAAA,mBAA8B,eAAA,GAAkB,2BAAA,GAA8B,aAAA,CAAc,CAAA;;;;AAsHrL;;;;;;;;;iBAAgB,mBAAA,oBAAuC,MAAA,kBAAA,CAAyB,OAAA,GAAS,oBAAA,EAA2B,eAAA,GAAkB,2BAAA,GAA8B,aAAA,CAAc,CAAA;;;;iBAWlK,cAAA,CAAA,GAAkB,kBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseError-B08FS7EQ.d.mts","names":[],"sources":["../src/runtime/utils/parseError.ts"],"mappings":";;;iBAKgB,UAAA,CAAW,KAAA,YAAiB,WAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-CBpJBj_7.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}