autotel-adapters 0.3.19 → 2.0.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 (117) hide show
  1. package/README.md +13 -0
  2. package/dist/cloudflare.cjs +44 -29
  3. package/dist/cloudflare.cjs.map +1 -1
  4. package/dist/cloudflare.d.cts +11 -17
  5. package/dist/cloudflare.d.cts.map +1 -1
  6. package/dist/cloudflare.d.ts +11 -17
  7. package/dist/cloudflare.d.ts.map +1 -1
  8. package/dist/cloudflare.js +47 -30
  9. package/dist/cloudflare.js.map +1 -1
  10. package/dist/core.cjs +7 -11
  11. package/dist/core.cjs.map +1 -1
  12. package/dist/core.d.cts +7 -11
  13. package/dist/core.d.cts.map +1 -1
  14. package/dist/core.d.ts +6 -10
  15. package/dist/core.d.ts.map +1 -1
  16. package/dist/core.js +7 -12
  17. package/dist/core.js.map +1 -1
  18. package/dist/elysia.cjs +50 -0
  19. package/dist/elysia.cjs.map +1 -0
  20. package/dist/elysia.d.cts +18 -0
  21. package/dist/elysia.d.cts.map +1 -0
  22. package/dist/elysia.d.ts +18 -0
  23. package/dist/elysia.d.ts.map +1 -0
  24. package/dist/elysia.js +44 -0
  25. package/dist/elysia.js.map +1 -0
  26. package/dist/express.cjs +5 -16
  27. package/dist/express.cjs.map +1 -1
  28. package/dist/express.d.cts +6 -15
  29. package/dist/express.d.cts.map +1 -1
  30. package/dist/express.d.ts +6 -15
  31. package/dist/express.d.ts.map +1 -1
  32. package/dist/express.js +7 -16
  33. package/dist/express.js.map +1 -1
  34. package/dist/fastify.cjs +5 -16
  35. package/dist/fastify.cjs.map +1 -1
  36. package/dist/fastify.d.cts +6 -15
  37. package/dist/fastify.d.cts.map +1 -1
  38. package/dist/fastify.d.ts +6 -15
  39. package/dist/fastify.d.ts.map +1 -1
  40. package/dist/fastify.js +7 -16
  41. package/dist/fastify.js.map +1 -1
  42. package/dist/hono.cjs +52 -11
  43. package/dist/hono.cjs.map +1 -1
  44. package/dist/hono.d.cts +12 -5
  45. package/dist/hono.d.cts.map +1 -1
  46. package/dist/hono.d.ts +12 -5
  47. package/dist/hono.d.ts.map +1 -1
  48. package/dist/hono.js +49 -12
  49. package/dist/hono.js.map +1 -1
  50. package/dist/index.cjs +14 -9
  51. package/dist/index.d.cts +12 -9
  52. package/dist/index.d.ts +12 -9
  53. package/dist/index.js +12 -9
  54. package/dist/integration-DI-1RuTh.d.cts +100 -0
  55. package/dist/integration-DI-1RuTh.d.cts.map +1 -0
  56. package/dist/integration-IUpfttGT.js +335 -0
  57. package/dist/integration-IUpfttGT.js.map +1 -0
  58. package/dist/integration-guh7BHTF.cjs +412 -0
  59. package/dist/integration-guh7BHTF.cjs.map +1 -0
  60. package/dist/integration-rYoX8QLk.d.ts +100 -0
  61. package/dist/integration-rYoX8QLk.d.ts.map +1 -0
  62. package/dist/nestjs.cjs +119 -0
  63. package/dist/nestjs.cjs.map +1 -0
  64. package/dist/nestjs.d.cts +42 -0
  65. package/dist/nestjs.d.cts.map +1 -0
  66. package/dist/nestjs.d.ts +42 -0
  67. package/dist/nestjs.d.ts.map +1 -0
  68. package/dist/nestjs.js +114 -0
  69. package/dist/nestjs.js.map +1 -0
  70. package/dist/next.cjs +35 -33
  71. package/dist/next.cjs.map +1 -1
  72. package/dist/next.d.cts +6 -17
  73. package/dist/next.d.cts.map +1 -1
  74. package/dist/next.d.ts +6 -17
  75. package/dist/next.d.ts.map +1 -1
  76. package/dist/next.js +38 -34
  77. package/dist/next.js.map +1 -1
  78. package/dist/nitro.cjs +33 -41
  79. package/dist/nitro.cjs.map +1 -1
  80. package/dist/nitro.d.cts +6 -17
  81. package/dist/nitro.d.cts.map +1 -1
  82. package/dist/nitro.d.ts +6 -17
  83. package/dist/nitro.d.ts.map +1 -1
  84. package/dist/nitro.js +33 -42
  85. package/dist/nitro.js.map +1 -1
  86. package/dist/sveltekit.cjs +48 -0
  87. package/dist/sveltekit.cjs.map +1 -0
  88. package/dist/sveltekit.d.cts +24 -0
  89. package/dist/sveltekit.d.cts.map +1 -0
  90. package/dist/sveltekit.d.ts +24 -0
  91. package/dist/sveltekit.d.ts.map +1 -0
  92. package/dist/sveltekit.js +43 -0
  93. package/dist/sveltekit.js.map +1 -0
  94. package/dist/tanstack.cjs +0 -8
  95. package/dist/tanstack.cjs.map +1 -1
  96. package/dist/tanstack.d.cts +1 -7
  97. package/dist/tanstack.d.cts.map +1 -1
  98. package/dist/tanstack.d.ts +1 -7
  99. package/dist/tanstack.d.ts.map +1 -1
  100. package/dist/tanstack.js +2 -9
  101. package/dist/tanstack.js.map +1 -1
  102. package/dist/toolkit/index.cjs +23 -0
  103. package/dist/toolkit/index.d.cts +42 -0
  104. package/dist/toolkit/index.d.cts.map +1 -0
  105. package/dist/toolkit/index.d.ts +42 -0
  106. package/dist/toolkit/index.d.ts.map +1 -0
  107. package/dist/toolkit/index.js +4 -0
  108. package/dist/toolkit/storage.cjs +35 -0
  109. package/dist/toolkit/storage.cjs.map +1 -0
  110. package/dist/toolkit/storage.d.cts +20 -0
  111. package/dist/toolkit/storage.d.cts.map +1 -0
  112. package/dist/toolkit/storage.d.ts +20 -0
  113. package/dist/toolkit/storage.d.ts.map +1 -0
  114. package/dist/toolkit/storage.js +33 -0
  115. package/dist/toolkit/storage.js.map +1 -0
  116. package/package.json +39 -8
  117. package/skills/autotel-adapters/SKILL.md +42 -34
@@ -0,0 +1,43 @@
1
+ import { a as runWithIntegratedHandle, i as defineFrameworkIntegration, t as applyLoggerEnrichment } from "./integration-IUpfttGT.js";
2
+ import { createLoggerStorage } from "./toolkit/storage.js";
3
+ import { createDrainPipeline, createStructuredError, parseError } from "autotel";
4
+
5
+ //#region src/sveltekit.ts
6
+ const { storage: svelteKitLoggerStorage, useLogger: storageUseLogger } = createLoggerStorage("request context. Register autotelHandle() in hooks.server.ts first.");
7
+ function enrichFromEvent(event) {
8
+ if (!event) return void 0;
9
+ return {
10
+ "http.request.method": event.request.method,
11
+ "url.full": event.url.toString(),
12
+ "http.route": event.route?.id ?? event.url.pathname,
13
+ ...event.request.headers.get("x-request-id") ? { "http.request.id": event.request.headers.get("x-request-id") } : {}
14
+ };
15
+ }
16
+ const integration = defineFrameworkIntegration({
17
+ name: "sveltekit",
18
+ storage: svelteKitLoggerStorage,
19
+ extractRequest: (event) => ({
20
+ method: event.request.method,
21
+ path: event.url.pathname,
22
+ headers: event.request.headers,
23
+ requestId: event.request.headers.get("x-request-id") ?? void 0
24
+ }),
25
+ attachLogger: (event, logger) => {
26
+ event.locals ??= {};
27
+ event.locals.autotelLogger = logger;
28
+ }
29
+ });
30
+ function useLogger() {
31
+ return storageUseLogger();
32
+ }
33
+ function autotelHandle(options = {}) {
34
+ return async ({ event, resolve }) => integration.runTraced(event, options, async (handle) => {
35
+ if (handle.skipped) return handle.runWith(() => resolve(event));
36
+ applyLoggerEnrichment(handle.logger, enrichFromEvent(event), options.enrichRequest?.(event));
37
+ return runWithIntegratedHandle(handle, options, () => resolve(event));
38
+ });
39
+ }
40
+
41
+ //#endregion
42
+ export { autotelHandle, createDrainPipeline, createStructuredError, parseError, useLogger };
43
+ //# sourceMappingURL=sveltekit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sveltekit.js","names":[],"sources":["../src/sveltekit.ts"],"sourcesContent":["import {\n createDrainPipeline,\n createStructuredError,\n parseError,\n type RequestLogger,\n} from 'autotel';\nimport type { FrameworkHandlerOptions } from './core';\nimport { createLoggerStorage } from './toolkit/storage';\nimport {\n applyLoggerEnrichment,\n defineFrameworkIntegration,\n runWithIntegratedHandle,\n} from './toolkit/integration';\n\nexport interface SvelteKitEventLike {\n request: Request;\n url: URL;\n route?: { id?: string };\n locals?: Record<string, unknown>;\n}\n\nexport interface SvelteKitHandleInput {\n event: SvelteKitEventLike;\n resolve: (event: SvelteKitEventLike) => Response | Promise<Response>;\n}\n\nexport interface SvelteKitWithAutotelOptions extends FrameworkHandlerOptions {\n enrichRequest?: (\n event: SvelteKitEventLike,\n ) => Record<string, unknown> | undefined;\n}\n\nconst { storage: svelteKitLoggerStorage, useLogger: storageUseLogger } =\n createLoggerStorage(\n 'request context. Register autotelHandle() in hooks.server.ts first.',\n );\n\nfunction enrichFromEvent(\n event?: SvelteKitEventLike,\n): Record<string, unknown> | undefined {\n if (!event) return undefined;\n\n return {\n 'http.request.method': event.request.method,\n 'url.full': event.url.toString(),\n 'http.route': event.route?.id ?? event.url.pathname,\n ...(event.request.headers.get('x-request-id')\n ? { 'http.request.id': event.request.headers.get('x-request-id')! }\n : {}),\n };\n}\n\nconst integration = defineFrameworkIntegration<SvelteKitEventLike>({\n name: 'sveltekit',\n storage: svelteKitLoggerStorage,\n extractRequest: (event) => ({\n method: event.request.method,\n path: event.url.pathname,\n headers: event.request.headers,\n requestId: event.request.headers.get('x-request-id') ?? undefined,\n }),\n attachLogger: (event, logger) => {\n event.locals ??= {};\n event.locals.autotelLogger = logger;\n },\n});\n\nexport function useLogger(): RequestLogger {\n return storageUseLogger();\n}\n\nexport function autotelHandle(options: SvelteKitWithAutotelOptions = {}) {\n return async ({ event, resolve }: SvelteKitHandleInput): Promise<Response> =>\n integration.runTraced(event, options, async (handle) => {\n if (handle.skipped) {\n return handle.runWith(() => resolve(event));\n }\n\n applyLoggerEnrichment(\n handle.logger,\n enrichFromEvent(event),\n options.enrichRequest?.(event),\n );\n\n return runWithIntegratedHandle(handle, options, () => resolve(event));\n });\n}\n\nexport { parseError, createDrainPipeline, createStructuredError };\n"],"mappings":";;;;;AAgCA,MAAM,EAAE,SAAS,wBAAwB,WAAW,qBAClD,oBACE,qEACF;AAEF,SAAS,gBACP,OACqC;CACrC,IAAI,CAAC,OAAO,OAAO;CAEnB,OAAO;EACL,uBAAuB,MAAM,QAAQ;EACrC,YAAY,MAAM,IAAI,SAAS;EAC/B,cAAc,MAAM,OAAO,MAAM,MAAM,IAAI;EAC3C,GAAI,MAAM,QAAQ,QAAQ,IAAI,cAAc,IACxC,EAAE,mBAAmB,MAAM,QAAQ,QAAQ,IAAI,cAAc,EAAG,IAChE,CAAC;CACP;AACF;AAEA,MAAM,cAAc,2BAA+C;CACjE,MAAM;CACN,SAAS;CACT,iBAAiB,WAAW;EAC1B,QAAQ,MAAM,QAAQ;EACtB,MAAM,MAAM,IAAI;EAChB,SAAS,MAAM,QAAQ;EACvB,WAAW,MAAM,QAAQ,QAAQ,IAAI,cAAc,KAAK;CAC1D;CACA,eAAe,OAAO,WAAW;EAC/B,MAAM,WAAW,CAAC;EAClB,MAAM,OAAO,gBAAgB;CAC/B;AACF,CAAC;AAED,SAAgB,YAA2B;CACzC,OAAO,iBAAiB;AAC1B;AAEA,SAAgB,cAAc,UAAuC,CAAC,GAAG;CACvE,OAAO,OAAO,EAAE,OAAO,cACrB,YAAY,UAAU,OAAO,SAAS,OAAO,WAAW;EACtD,IAAI,OAAO,SACT,OAAO,OAAO,cAAc,QAAQ,KAAK,CAAC;EAG5C,sBACE,OAAO,QACP,gBAAgB,KAAK,GACrB,QAAQ,gBAAgB,KAAK,CAC/B;EAEA,OAAO,wBAAwB,QAAQ,eAAe,QAAQ,KAAK,CAAC;CACtE,CAAC;AACL"}
package/dist/tanstack.cjs CHANGED
@@ -9,15 +9,7 @@ const useLogger = require_core.createUseLogger({
9
9
  ...ctx.pathname ? { "http.route": ctx.pathname } : {}
10
10
  })
11
11
  });
12
- const tanstackToolkit = require_core.createAdapterToolkit({
13
- adapterName: "tanstack",
14
- enrich: (ctx) => ({
15
- ...ctx.method ? { "http.request.method": ctx.method } : {},
16
- ...ctx.pathname ? { "http.route": ctx.pathname } : {}
17
- })
18
- });
19
12
 
20
13
  //#endregion
21
- exports.tanstackToolkit = tanstackToolkit;
22
14
  exports.useLogger = useLogger;
23
15
  //# sourceMappingURL=tanstack.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tanstack.cjs","names":["createUseLogger","createAdapterToolkit"],"sources":["../src/tanstack.ts"],"sourcesContent":["import { createUseLogger, createAdapterToolkit } from './core';\n\nexport const useLogger = createUseLogger<{\n pathname?: string;\n method?: string;\n}>({\n adapterName: 'tanstack',\n enrich: (ctx) => ({\n ...(ctx.method ? { 'http.request.method': ctx.method } : {}),\n ...(ctx.pathname ? { 'http.route': ctx.pathname } : {}),\n }),\n});\n\nexport const tanstackToolkit = createAdapterToolkit<{\n pathname?: string;\n method?: string;\n}>({\n adapterName: 'tanstack',\n enrich: (ctx) => ({\n ...(ctx.method ? { 'http.request.method': ctx.method } : {}),\n ...(ctx.pathname ? { 'http.route': ctx.pathname } : {}),\n }),\n});\n"],"mappings":";;;;AAEA,MAAa,YAAYA,6BAGtB;CACD,aAAa;CACb,SAAS,SAAS;EAChB,GAAI,IAAI,SAAS,EAAE,uBAAuB,IAAI,OAAO,IAAI,CAAC;EAC1D,GAAI,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,IAAI,CAAC;CACvD;AACF,CAAC;AAED,MAAa,kBAAkBC,kCAG5B;CACD,aAAa;CACb,SAAS,SAAS;EAChB,GAAI,IAAI,SAAS,EAAE,uBAAuB,IAAI,OAAO,IAAI,CAAC;EAC1D,GAAI,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,IAAI,CAAC;CACvD;AACF,CAAC"}
1
+ {"version":3,"file":"tanstack.cjs","names":["createUseLogger"],"sources":["../src/tanstack.ts"],"sourcesContent":["import { createUseLogger } from './core';\n\nexport const useLogger = createUseLogger<{\n pathname?: string;\n method?: string;\n}>({\n adapterName: 'tanstack',\n enrich: (ctx) => ({\n ...(ctx.method ? { 'http.request.method': ctx.method } : {}),\n ...(ctx.pathname ? { 'http.route': ctx.pathname } : {}),\n }),\n});\n"],"mappings":";;;;AAEA,MAAa,YAAYA,6BAGtB;CACD,aAAa;CACb,SAAS,SAAS;EAChB,GAAI,IAAI,SAAS,EAAE,uBAAuB,IAAI,OAAO,IAAI,CAAC;EAC1D,GAAI,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,IAAI,CAAC;CACvD;AACF,CAAC"}
@@ -1,14 +1,8 @@
1
- import { AdapterToolkit } from "./core.cjs";
2
-
3
1
  //#region src/tanstack.d.ts
4
2
  declare const useLogger: (context?: {
5
3
  pathname?: string;
6
4
  method?: string;
7
5
  } | undefined, requestLoggerOptions?: import("autotel").RequestLoggerOptions) => import("autotel").RequestLogger;
8
- declare const tanstackToolkit: AdapterToolkit<{
9
- pathname?: string;
10
- method?: string;
11
- }>;
12
6
  //#endregion
13
- export { tanstackToolkit, useLogger };
7
+ export { useLogger };
14
8
  //# sourceMappingURL=tanstack.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tanstack.d.cts","names":[],"sources":["../src/tanstack.ts"],"mappings":";;;cAEa,SAAA,GAAS,OAAA;;;;cAWT,eAAA,EASX,cAT0B"}
1
+ {"version":3,"file":"tanstack.d.cts","names":[],"sources":["../src/tanstack.ts"],"mappings":";cAEa,YAAS;EACT;EACF;eAOT,yCAAA,2CAAA"}
@@ -1,14 +1,8 @@
1
- import { AdapterToolkit } from "./core.js";
2
-
3
1
  //#region src/tanstack.d.ts
4
2
  declare const useLogger: (context?: {
5
3
  pathname?: string;
6
4
  method?: string;
7
5
  } | undefined, requestLoggerOptions?: import("autotel").RequestLoggerOptions) => import("autotel").RequestLogger;
8
- declare const tanstackToolkit: AdapterToolkit<{
9
- pathname?: string;
10
- method?: string;
11
- }>;
12
6
  //#endregion
13
- export { tanstackToolkit, useLogger };
7
+ export { useLogger };
14
8
  //# sourceMappingURL=tanstack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tanstack.d.ts","names":[],"sources":["../src/tanstack.ts"],"mappings":";;;cAEa,SAAA,GAAS,OAAA;;;;cAWT,eAAA,EASX,cAT0B"}
1
+ {"version":3,"file":"tanstack.d.ts","names":[],"sources":["../src/tanstack.ts"],"mappings":";cAEa,YAAS;EACT;EACF;eAOT,yCAAA,2CAAA"}
package/dist/tanstack.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createAdapterToolkit, createUseLogger } from "./core.js";
1
+ import { createUseLogger } from "./core.js";
2
2
 
3
3
  //#region src/tanstack.ts
4
4
  const useLogger = createUseLogger({
@@ -8,14 +8,7 @@ const useLogger = createUseLogger({
8
8
  ...ctx.pathname ? { "http.route": ctx.pathname } : {}
9
9
  })
10
10
  });
11
- const tanstackToolkit = createAdapterToolkit({
12
- adapterName: "tanstack",
13
- enrich: (ctx) => ({
14
- ...ctx.method ? { "http.request.method": ctx.method } : {},
15
- ...ctx.pathname ? { "http.route": ctx.pathname } : {}
16
- })
17
- });
18
11
 
19
12
  //#endregion
20
- export { tanstackToolkit, useLogger };
13
+ export { useLogger };
21
14
  //# sourceMappingURL=tanstack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tanstack.js","names":[],"sources":["../src/tanstack.ts"],"sourcesContent":["import { createUseLogger, createAdapterToolkit } from './core';\n\nexport const useLogger = createUseLogger<{\n pathname?: string;\n method?: string;\n}>({\n adapterName: 'tanstack',\n enrich: (ctx) => ({\n ...(ctx.method ? { 'http.request.method': ctx.method } : {}),\n ...(ctx.pathname ? { 'http.route': ctx.pathname } : {}),\n }),\n});\n\nexport const tanstackToolkit = createAdapterToolkit<{\n pathname?: string;\n method?: string;\n}>({\n adapterName: 'tanstack',\n enrich: (ctx) => ({\n ...(ctx.method ? { 'http.request.method': ctx.method } : {}),\n ...(ctx.pathname ? { 'http.route': ctx.pathname } : {}),\n }),\n});\n"],"mappings":";;;AAEA,MAAa,YAAY,gBAGtB;CACD,aAAa;CACb,SAAS,SAAS;EAChB,GAAI,IAAI,SAAS,EAAE,uBAAuB,IAAI,OAAO,IAAI,CAAC;EAC1D,GAAI,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,IAAI,CAAC;CACvD;AACF,CAAC;AAED,MAAa,kBAAkB,qBAG5B;CACD,aAAa;CACb,SAAS,SAAS;EAChB,GAAI,IAAI,SAAS,EAAE,uBAAuB,IAAI,OAAO,IAAI,CAAC;EAC1D,GAAI,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,IAAI,CAAC;CACvD;AACF,CAAC"}
1
+ {"version":3,"file":"tanstack.js","names":[],"sources":["../src/tanstack.ts"],"sourcesContent":["import { createUseLogger } from './core';\n\nexport const useLogger = createUseLogger<{\n pathname?: string;\n method?: string;\n}>({\n adapterName: 'tanstack',\n enrich: (ctx) => ({\n ...(ctx.method ? { 'http.request.method': ctx.method } : {}),\n ...(ctx.pathname ? { 'http.route': ctx.pathname } : {}),\n }),\n});\n"],"mappings":";;;AAEA,MAAa,YAAY,gBAGtB;CACD,aAAa;CACb,SAAS,SAAS;EAChB,GAAI,IAAI,SAAS,EAAE,uBAAuB,IAAI,OAAO,IAAI,CAAC;EAC1D,GAAI,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,IAAI,CAAC;CACvD;AACF,CAAC"}
@@ -0,0 +1,23 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_integration = require('../integration-guh7BHTF.cjs');
3
+ const require_toolkit_storage = require('./storage.cjs');
4
+ let autotel_edge = require("autotel-edge");
5
+
6
+ exports.applyLoggerEnrichment = require_integration.applyLoggerEnrichment;
7
+ exports.attachForkToLogger = require_integration.attachForkToLogger;
8
+ exports.bindStreamingResponseLifecycle = require_integration.bindStreamingResponseLifecycle;
9
+ exports.buildTracedOptions = require_integration.buildTracedOptions;
10
+ exports.completeIntegratedRequest = require_integration.completeIntegratedRequest;
11
+ exports.createLoggerStorage = require_toolkit_storage.createLoggerStorage;
12
+ exports.createMiddlewareLogger = require_integration.createMiddlewareLogger;
13
+ exports.createStorageForkLifecycle = require_toolkit_storage.createStorageForkLifecycle;
14
+ exports.defineFrameworkIntegration = require_integration.defineFrameworkIntegration;
15
+ exports.extendDeferredDrain = require_integration.extendDeferredDrain;
16
+ exports.getServiceForPath = autotel_edge.getServiceForPath;
17
+ exports.isStreamingResponse = require_integration.isStreamingResponse;
18
+ exports.matchesRoutePattern = autotel_edge.matchesRoutePattern;
19
+ exports.mergeRequestLoggerOptions = require_integration.mergeRequestLoggerOptions;
20
+ exports.runWithIntegratedHandle = require_integration.runWithIntegratedHandle;
21
+ exports.shouldDeferEmitForResponse = require_integration.shouldDeferEmitForResponse;
22
+ exports.shouldInstrumentPath = autotel_edge.shouldInstrumentPath;
23
+ exports.toRouteAdapterOptions = require_integration.toRouteAdapterOptions;
@@ -0,0 +1,42 @@
1
+ import { C as matchesRoutePattern, S as getServiceForPath, T as shouldInstrumentPath, _ as RouteAdapterOptions, a as FrameworkRequestHandle, b as TailSamplingContext, c as buildTracedOptions, d as runWithIntegratedHandle, f as toRouteAdapterOptions, g as MiddlewareLoggerResult, h as MiddlewareLoggerOptions, i as FrameworkIntegrationSpec, l as completeIntegratedRequest, m as ForkLifecycle, n as FrameworkHandlerOptions, o as IntegratedCompletionOptions, p as BaseAdapterOptions, r as FrameworkIntegrationHelpers, s as applyLoggerEnrichment, t as ExtractedRequest, u as defineFrameworkIntegration, v as RouteFilterOptions, w as mergeRequestLoggerOptions, x as createMiddlewareLogger, y as RouteServiceConfig } from "../integration-DI-1RuTh.cjs";
2
+ import { createLoggerStorage, createStorageForkLifecycle } from "./storage.cjs";
3
+ import { ForkLifecycle as ForkLifecycle$1, RequestLogger } from "autotel";
4
+ //#region src/toolkit/deferred-drain.d.ts
5
+ /**
6
+ * Extend drain lifetime on serverless runtimes without blocking the HTTP response.
7
+ *
8
+ * The drain always runs in the background (its rejection is logged, never
9
+ * thrown). When `waitUntil` is provided, the promise is also handed to the
10
+ * platform so the isolate stays alive until the drain settles. When it is
11
+ * omitted there is no keep-alive guarantee: on a freezing runtime the drain may
12
+ * not finish, so callers that need delivery must supply `waitUntil`.
13
+ */
14
+ declare function extendDeferredDrain(drainPromise: Promise<unknown>, waitUntil?: (promise: Promise<unknown>) => void): void;
15
+ //#endregion
16
+ //#region src/toolkit/fork.d.ts
17
+ /**
18
+ * Wrap an existing request logger's `fork()` so adapter lifecycle hooks run
19
+ * for background work spawned after the response returns.
20
+ */
21
+ declare function attachForkToLogger(logger: RequestLogger, lifecycle: ForkLifecycle$1): void;
22
+ //#endregion
23
+ //#region src/toolkit/stream-response.d.ts
24
+ interface StreamCompleteMeta {
25
+ status: number;
26
+ error?: Error;
27
+ }
28
+ declare function isStreamingResponse(response: Response): boolean;
29
+ /**
30
+ * Whether framework integrations should defer wide-event emit until the response
31
+ * body finishes. Static string/JSON bodies are excluded even though they use a
32
+ * ReadableStream under the hood in the Fetch API.
33
+ */
34
+ declare function shouldDeferEmitForResponse(response: Response): boolean;
35
+ /**
36
+ * Observe a streaming Response body and invoke `onComplete` once when the body
37
+ * closes, errors, or is cancelled.
38
+ */
39
+ declare function bindStreamingResponseLifecycle(response: Response, onComplete: (meta: StreamCompleteMeta) => void | Promise<void>): Response;
40
+ //#endregion
41
+ export { type BaseAdapterOptions, type ExtractedRequest, type ForkLifecycle, type FrameworkHandlerOptions, type FrameworkIntegrationHelpers, type FrameworkIntegrationSpec, type FrameworkRequestHandle, type IntegratedCompletionOptions, type MiddlewareLoggerOptions, type MiddlewareLoggerResult, type RouteAdapterOptions, type RouteFilterOptions, type RouteServiceConfig, type StreamCompleteMeta, type TailSamplingContext, applyLoggerEnrichment, attachForkToLogger, bindStreamingResponseLifecycle, buildTracedOptions, completeIntegratedRequest, createLoggerStorage, createMiddlewareLogger, createStorageForkLifecycle, defineFrameworkIntegration, extendDeferredDrain, getServiceForPath, isStreamingResponse, matchesRoutePattern, mergeRequestLoggerOptions, runWithIntegratedHandle, shouldDeferEmitForResponse, shouldInstrumentPath, toRouteAdapterOptions };
42
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/toolkit/deferred-drain.ts","../../src/toolkit/fork.ts","../../src/toolkit/stream-response.ts"],"mappings":";;;;;;;;;;;;;iBASgB,oBACd,cAAc,kBACd,aAAa,SAAS;;;;;;;iBCLR,mBACd,QAAQ,eACR,WAAW;;;UCRI;EACf;EACA,QAAQ;;iBAGM,oBAAoB,UAAU;;;;;;iBAS9B,2BAA2B,UAAU;;;;;iBAiFrC,+BACd,UAAU,UACV,aAAa,MAAM,8BAA8B,gBAChD"}
@@ -0,0 +1,42 @@
1
+ import { C as matchesRoutePattern, S as getServiceForPath, T as shouldInstrumentPath, _ as RouteAdapterOptions, a as FrameworkRequestHandle, b as TailSamplingContext, c as buildTracedOptions, d as runWithIntegratedHandle, f as toRouteAdapterOptions, g as MiddlewareLoggerResult, h as MiddlewareLoggerOptions, i as FrameworkIntegrationSpec, l as completeIntegratedRequest, m as ForkLifecycle, n as FrameworkHandlerOptions, o as IntegratedCompletionOptions, p as BaseAdapterOptions, r as FrameworkIntegrationHelpers, s as applyLoggerEnrichment, t as ExtractedRequest, u as defineFrameworkIntegration, v as RouteFilterOptions, w as mergeRequestLoggerOptions, x as createMiddlewareLogger, y as RouteServiceConfig } from "../integration-rYoX8QLk.js";
2
+ import { createLoggerStorage, createStorageForkLifecycle } from "./storage.js";
3
+ import { ForkLifecycle as ForkLifecycle$1, RequestLogger } from "autotel";
4
+ //#region src/toolkit/deferred-drain.d.ts
5
+ /**
6
+ * Extend drain lifetime on serverless runtimes without blocking the HTTP response.
7
+ *
8
+ * The drain always runs in the background (its rejection is logged, never
9
+ * thrown). When `waitUntil` is provided, the promise is also handed to the
10
+ * platform so the isolate stays alive until the drain settles. When it is
11
+ * omitted there is no keep-alive guarantee: on a freezing runtime the drain may
12
+ * not finish, so callers that need delivery must supply `waitUntil`.
13
+ */
14
+ declare function extendDeferredDrain(drainPromise: Promise<unknown>, waitUntil?: (promise: Promise<unknown>) => void): void;
15
+ //#endregion
16
+ //#region src/toolkit/fork.d.ts
17
+ /**
18
+ * Wrap an existing request logger's `fork()` so adapter lifecycle hooks run
19
+ * for background work spawned after the response returns.
20
+ */
21
+ declare function attachForkToLogger(logger: RequestLogger, lifecycle: ForkLifecycle$1): void;
22
+ //#endregion
23
+ //#region src/toolkit/stream-response.d.ts
24
+ interface StreamCompleteMeta {
25
+ status: number;
26
+ error?: Error;
27
+ }
28
+ declare function isStreamingResponse(response: Response): boolean;
29
+ /**
30
+ * Whether framework integrations should defer wide-event emit until the response
31
+ * body finishes. Static string/JSON bodies are excluded even though they use a
32
+ * ReadableStream under the hood in the Fetch API.
33
+ */
34
+ declare function shouldDeferEmitForResponse(response: Response): boolean;
35
+ /**
36
+ * Observe a streaming Response body and invoke `onComplete` once when the body
37
+ * closes, errors, or is cancelled.
38
+ */
39
+ declare function bindStreamingResponseLifecycle(response: Response, onComplete: (meta: StreamCompleteMeta) => void | Promise<void>): Response;
40
+ //#endregion
41
+ export { type BaseAdapterOptions, type ExtractedRequest, type ForkLifecycle, type FrameworkHandlerOptions, type FrameworkIntegrationHelpers, type FrameworkIntegrationSpec, type FrameworkRequestHandle, type IntegratedCompletionOptions, type MiddlewareLoggerOptions, type MiddlewareLoggerResult, type RouteAdapterOptions, type RouteFilterOptions, type RouteServiceConfig, type StreamCompleteMeta, type TailSamplingContext, applyLoggerEnrichment, attachForkToLogger, bindStreamingResponseLifecycle, buildTracedOptions, completeIntegratedRequest, createLoggerStorage, createMiddlewareLogger, createStorageForkLifecycle, defineFrameworkIntegration, extendDeferredDrain, getServiceForPath, isStreamingResponse, matchesRoutePattern, mergeRequestLoggerOptions, runWithIntegratedHandle, shouldDeferEmitForResponse, shouldInstrumentPath, toRouteAdapterOptions };
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/toolkit/deferred-drain.ts","../../src/toolkit/fork.ts","../../src/toolkit/stream-response.ts"],"mappings":";;;;;;;;;;;;;iBASgB,oBACd,cAAc,kBACd,aAAa,SAAS;;;;;;;iBCLR,mBACd,QAAQ,eACR,WAAW;;;UCRI;EACf;EACA,QAAQ;;iBAGM,oBAAoB,UAAU;;;;;;iBAS9B,2BAA2B,UAAU;;;;;iBAiFrC,+BACd,UAAU,UACV,aAAa,MAAM,8BAA8B,gBAChD"}
@@ -0,0 +1,4 @@
1
+ import { a as runWithIntegratedHandle, c as createMiddlewareLogger, d as mergeRequestLoggerOptions, f as shouldInstrumentPath, g as extendDeferredDrain, h as shouldDeferEmitForResponse, i as defineFrameworkIntegration, l as getServiceForPath, m as isStreamingResponse, n as buildTracedOptions, o as toRouteAdapterOptions, p as bindStreamingResponseLifecycle, r as completeIntegratedRequest, s as attachForkToLogger, t as applyLoggerEnrichment, u as matchesRoutePattern } from "../integration-IUpfttGT.js";
2
+ import { createLoggerStorage, createStorageForkLifecycle } from "./storage.js";
3
+
4
+ export { applyLoggerEnrichment, attachForkToLogger, bindStreamingResponseLifecycle, buildTracedOptions, completeIntegratedRequest, createLoggerStorage, createMiddlewareLogger, createStorageForkLifecycle, defineFrameworkIntegration, extendDeferredDrain, getServiceForPath, isStreamingResponse, matchesRoutePattern, mergeRequestLoggerOptions, runWithIntegratedHandle, shouldDeferEmitForResponse, shouldInstrumentPath, toRouteAdapterOptions };
@@ -0,0 +1,35 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ let node_async_hooks = require("node:async_hooks");
3
+
4
+ //#region src/toolkit/storage.ts
5
+ /**
6
+ * Create a request-scoped `AsyncLocalStorage` and matching `useLogger`
7
+ * accessor. Framework adapters call this once at module level.
8
+ *
9
+ * Prefer `import { createLoggerStorage } from 'autotel-adapters/toolkit/storage'`
10
+ * on Cloudflare Workers / edge so `node:async_hooks` is not pulled through the
11
+ * main `autotel-adapters/toolkit` barrel.
12
+ */
13
+ function createLoggerStorage(contextHint) {
14
+ const storage = new node_async_hooks.AsyncLocalStorage();
15
+ function useLogger() {
16
+ const logger = storage.getStore();
17
+ if (!logger) throw new Error(`[autotel-adapters] useLogger() was called outside of an autotel ${contextHint}`);
18
+ return logger;
19
+ }
20
+ return {
21
+ storage,
22
+ useLogger
23
+ };
24
+ }
25
+ /** Bind forked loggers into the adapter's request-scoped storage. */
26
+ function createStorageForkLifecycle(storage) {
27
+ return { onChildEnter: (child) => {
28
+ storage.enterWith(child);
29
+ } };
30
+ }
31
+
32
+ //#endregion
33
+ exports.createLoggerStorage = createLoggerStorage;
34
+ exports.createStorageForkLifecycle = createStorageForkLifecycle;
35
+ //# sourceMappingURL=storage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.cjs","names":["AsyncLocalStorage"],"sources":["../../src/toolkit/storage.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport type { ForkLifecycle, RequestLogger } from 'autotel';\n\n/**\n * Create a request-scoped `AsyncLocalStorage` and matching `useLogger`\n * accessor. Framework adapters call this once at module level.\n *\n * Prefer `import { createLoggerStorage } from 'autotel-adapters/toolkit/storage'`\n * on Cloudflare Workers / edge so `node:async_hooks` is not pulled through the\n * main `autotel-adapters/toolkit` barrel.\n */\nexport function createLoggerStorage(contextHint: string) {\n const storage = new AsyncLocalStorage<RequestLogger>();\n\n function useLogger(): RequestLogger {\n const logger = storage.getStore();\n if (!logger) {\n throw new Error(\n `[autotel-adapters] useLogger() was called outside of an autotel ${contextHint}`,\n );\n }\n return logger;\n }\n\n return { storage, useLogger };\n}\n\n/** Bind forked loggers into the adapter's request-scoped storage. */\nexport function createStorageForkLifecycle(\n storage: AsyncLocalStorage<RequestLogger>,\n): ForkLifecycle {\n return {\n onChildEnter: (child) => {\n storage.enterWith(child);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,oBAAoB,aAAqB;CACvD,MAAM,UAAU,IAAIA,mCAAiC;CAErD,SAAS,YAA2B;EAClC,MAAM,SAAS,QAAQ,SAAS;EAChC,IAAI,CAAC,QACH,MAAM,IAAI,MACR,mEAAmE,aACrE;EAEF,OAAO;CACT;CAEA,OAAO;EAAE;EAAS;CAAU;AAC9B;;AAGA,SAAgB,2BACd,SACe;CACf,OAAO,EACL,eAAe,UAAU;EACvB,QAAQ,UAAU,KAAK;CACzB,EACF;AACF"}
@@ -0,0 +1,20 @@
1
+ import { ForkLifecycle, RequestLogger } from "autotel";
2
+ import { AsyncLocalStorage } from "node:async_hooks";
3
+ //#region src/toolkit/storage.d.ts
4
+ /**
5
+ * Create a request-scoped `AsyncLocalStorage` and matching `useLogger`
6
+ * accessor. Framework adapters call this once at module level.
7
+ *
8
+ * Prefer `import { createLoggerStorage } from 'autotel-adapters/toolkit/storage'`
9
+ * on Cloudflare Workers / edge so `node:async_hooks` is not pulled through the
10
+ * main `autotel-adapters/toolkit` barrel.
11
+ */
12
+ declare function createLoggerStorage(contextHint: string): {
13
+ storage: AsyncLocalStorage<RequestLogger>;
14
+ useLogger: () => RequestLogger;
15
+ };
16
+ /** Bind forked loggers into the adapter's request-scoped storage. */
17
+ declare function createStorageForkLifecycle(storage: AsyncLocalStorage<RequestLogger>): ForkLifecycle;
18
+ //#endregion
19
+ export { createLoggerStorage, createStorageForkLifecycle };
20
+ //# sourceMappingURL=storage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.cts","names":[],"sources":["../../src/toolkit/storage.ts"],"mappings":";;;;;;;;;;;iBAWgB,oBAAoB;;EAGZ,iBAAA;;;iBAcR,2BACd,SAAS,kBAAkB,iBAC1B"}
@@ -0,0 +1,20 @@
1
+ import { ForkLifecycle, RequestLogger } from "autotel";
2
+ import { AsyncLocalStorage } from "node:async_hooks";
3
+ //#region src/toolkit/storage.d.ts
4
+ /**
5
+ * Create a request-scoped `AsyncLocalStorage` and matching `useLogger`
6
+ * accessor. Framework adapters call this once at module level.
7
+ *
8
+ * Prefer `import { createLoggerStorage } from 'autotel-adapters/toolkit/storage'`
9
+ * on Cloudflare Workers / edge so `node:async_hooks` is not pulled through the
10
+ * main `autotel-adapters/toolkit` barrel.
11
+ */
12
+ declare function createLoggerStorage(contextHint: string): {
13
+ storage: AsyncLocalStorage<RequestLogger>;
14
+ useLogger: () => RequestLogger;
15
+ };
16
+ /** Bind forked loggers into the adapter's request-scoped storage. */
17
+ declare function createStorageForkLifecycle(storage: AsyncLocalStorage<RequestLogger>): ForkLifecycle;
18
+ //#endregion
19
+ export { createLoggerStorage, createStorageForkLifecycle };
20
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","names":[],"sources":["../../src/toolkit/storage.ts"],"mappings":";;;;;;;;;;;iBAWgB,oBAAoB;;EAGZ,iBAAA;;;iBAcR,2BACd,SAAS,kBAAkB,iBAC1B"}
@@ -0,0 +1,33 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+
3
+ //#region src/toolkit/storage.ts
4
+ /**
5
+ * Create a request-scoped `AsyncLocalStorage` and matching `useLogger`
6
+ * accessor. Framework adapters call this once at module level.
7
+ *
8
+ * Prefer `import { createLoggerStorage } from 'autotel-adapters/toolkit/storage'`
9
+ * on Cloudflare Workers / edge so `node:async_hooks` is not pulled through the
10
+ * main `autotel-adapters/toolkit` barrel.
11
+ */
12
+ function createLoggerStorage(contextHint) {
13
+ const storage = new AsyncLocalStorage();
14
+ function useLogger() {
15
+ const logger = storage.getStore();
16
+ if (!logger) throw new Error(`[autotel-adapters] useLogger() was called outside of an autotel ${contextHint}`);
17
+ return logger;
18
+ }
19
+ return {
20
+ storage,
21
+ useLogger
22
+ };
23
+ }
24
+ /** Bind forked loggers into the adapter's request-scoped storage. */
25
+ function createStorageForkLifecycle(storage) {
26
+ return { onChildEnter: (child) => {
27
+ storage.enterWith(child);
28
+ } };
29
+ }
30
+
31
+ //#endregion
32
+ export { createLoggerStorage, createStorageForkLifecycle };
33
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","names":[],"sources":["../../src/toolkit/storage.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport type { ForkLifecycle, RequestLogger } from 'autotel';\n\n/**\n * Create a request-scoped `AsyncLocalStorage` and matching `useLogger`\n * accessor. Framework adapters call this once at module level.\n *\n * Prefer `import { createLoggerStorage } from 'autotel-adapters/toolkit/storage'`\n * on Cloudflare Workers / edge so `node:async_hooks` is not pulled through the\n * main `autotel-adapters/toolkit` barrel.\n */\nexport function createLoggerStorage(contextHint: string) {\n const storage = new AsyncLocalStorage<RequestLogger>();\n\n function useLogger(): RequestLogger {\n const logger = storage.getStore();\n if (!logger) {\n throw new Error(\n `[autotel-adapters] useLogger() was called outside of an autotel ${contextHint}`,\n );\n }\n return logger;\n }\n\n return { storage, useLogger };\n}\n\n/** Bind forked loggers into the adapter's request-scoped storage. */\nexport function createStorageForkLifecycle(\n storage: AsyncLocalStorage<RequestLogger>,\n): ForkLifecycle {\n return {\n onChildEnter: (child) => {\n storage.enterWith(child);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,oBAAoB,aAAqB;CACvD,MAAM,UAAU,IAAI,kBAAiC;CAErD,SAAS,YAA2B;EAClC,MAAM,SAAS,QAAQ,SAAS;EAChC,IAAI,CAAC,QACH,MAAM,IAAI,MACR,mEAAmE,aACrE;EAEF,OAAO;CACT;CAEA,OAAO;EAAE;EAAS;CAAU;AAC9B;;AAGA,SAAgB,2BACd,SACe;CACf,OAAO,EACL,eAAe,UAAU;EACvB,QAAQ,UAAU,KAAK;CACzB,EACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autotel-adapters",
3
- "version": "0.3.19",
3
+ "version": "2.0.0",
4
4
  "description": "Framework adapters and composable DX helpers for autotel",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -52,6 +52,31 @@
52
52
  "types": "./dist/fastify.d.ts",
53
53
  "import": "./dist/fastify.js",
54
54
  "require": "./dist/fastify.cjs"
55
+ },
56
+ "./toolkit": {
57
+ "types": "./dist/toolkit/index.d.ts",
58
+ "import": "./dist/toolkit/index.js",
59
+ "require": "./dist/toolkit/index.cjs"
60
+ },
61
+ "./toolkit/storage": {
62
+ "types": "./dist/toolkit/storage.d.ts",
63
+ "import": "./dist/toolkit/storage.js",
64
+ "require": "./dist/toolkit/storage.cjs"
65
+ },
66
+ "./nestjs": {
67
+ "types": "./dist/nestjs.d.ts",
68
+ "import": "./dist/nestjs.js",
69
+ "require": "./dist/nestjs.cjs"
70
+ },
71
+ "./sveltekit": {
72
+ "types": "./dist/sveltekit.d.ts",
73
+ "import": "./dist/sveltekit.js",
74
+ "require": "./dist/sveltekit.cjs"
75
+ },
76
+ "./elysia": {
77
+ "types": "./dist/elysia.d.ts",
78
+ "import": "./dist/elysia.js",
79
+ "require": "./dist/elysia.cjs"
55
80
  }
56
81
  },
57
82
  "files": [
@@ -60,17 +85,22 @@
60
85
  "skills"
61
86
  ],
62
87
  "dependencies": {
63
- "autotel": "4.3.0"
88
+ "autotel": "5.0.0",
89
+ "autotel-edge": "4.0.0"
64
90
  },
65
91
  "peerDependencies": {
66
- "hono": ">=4.12.28",
67
- "@tanstack/react-start": "^1.168.27",
68
- "@tanstack/solid-start": "^1.168.27",
92
+ "hono": ">=4.12.31",
93
+ "@tanstack/react-start": "^1.168.32",
94
+ "@tanstack/solid-start": "^1.168.32",
69
95
  "next": ">=16.2.10",
70
96
  "h3": "^2.0.0",
71
- "nitropack": "^2.13.4"
97
+ "nitropack": "^2.13.4",
98
+ "rxjs": ">=7.8.2"
72
99
  },
73
100
  "peerDependenciesMeta": {
101
+ "rxjs": {
102
+ "optional": true
103
+ },
74
104
  "hono": {
75
105
  "optional": true
76
106
  },
@@ -91,10 +121,11 @@
91
121
  }
92
122
  },
93
123
  "devDependencies": {
94
- "@types/node": "^26.1.0",
124
+ "@types/node": "^26.1.1",
95
125
  "hono": "^4.12.28",
96
126
  "rimraf": "^6.1.3",
97
- "tsdown": "^0.22.3",
127
+ "rxjs": "^7.8.2",
128
+ "tsdown": "^0.22.12",
98
129
  "typescript": "^6.0.3",
99
130
  "vitest": "^4.1.10"
100
131
  },