@agent-native/core 0.133.2 → 0.134.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 (213) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +62 -0
  3. package/corpus/core/docs/content/observability.mdx +41 -1
  4. package/corpus/core/docs/content/tracking.mdx +25 -0
  5. package/corpus/core/package.json +1 -1
  6. package/corpus/core/src/agent/run-manager.ts +7 -0
  7. package/corpus/core/src/client/agent-chat-adapter.ts +10 -0
  8. package/corpus/core/src/client/analytics.ts +105 -1
  9. package/corpus/core/src/client/use-action.ts +6 -0
  10. package/corpus/core/src/deploy/build.ts +38 -1
  11. package/corpus/core/src/observability/posthog-ai.ts +294 -0
  12. package/corpus/core/src/observability/routes.ts +29 -6
  13. package/corpus/core/src/observability/traces.ts +287 -12
  14. package/corpus/core/src/observability/types.ts +11 -0
  15. package/corpus/core/src/secrets/register-framework-secrets.ts +16 -0
  16. package/corpus/core/src/server/agent-run-context.ts +21 -0
  17. package/corpus/core/src/server/capture-error.ts +8 -0
  18. package/corpus/core/src/server/core-routes-plugin.ts +75 -4
  19. package/corpus/core/src/server/deploy-environment.ts +57 -0
  20. package/corpus/core/src/server/error-noise-filter.ts +268 -0
  21. package/corpus/core/src/server/posthog-config.ts +75 -0
  22. package/corpus/core/src/server/request-context.ts +6 -0
  23. package/corpus/core/src/server/sentry-config.ts +4 -8
  24. package/corpus/core/src/server/sentry-plugin.ts +13 -29
  25. package/corpus/core/src/server/sentry.ts +13 -156
  26. package/corpus/core/src/server/ssr-handler.ts +6 -1
  27. package/corpus/core/src/shared/mcp-embed-headers.ts +1 -1
  28. package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +36 -10
  29. package/corpus/core/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +55 -1
  30. package/corpus/core/src/tracking/error-capture.ts +44 -109
  31. package/corpus/core/src/tracking/index.ts +11 -0
  32. package/corpus/core/src/tracking/posthog-exception.ts +305 -0
  33. package/corpus/core/src/tracking/providers.ts +91 -14
  34. package/corpus/core/src/tracking/redaction.ts +105 -0
  35. package/corpus/templates/content/actions/_batch-utils.ts +33 -0
  36. package/corpus/templates/content/actions/_builder-cms-read-client.ts +173 -81
  37. package/corpus/templates/content/actions/_content-files.ts +31 -21
  38. package/corpus/templates/content/actions/_database-source-utils.ts +653 -155
  39. package/corpus/templates/content/actions/_database-utils.ts +535 -41
  40. package/corpus/templates/content/actions/add-content-database-source-field-property.ts +291 -240
  41. package/corpus/templates/content/actions/add-database-item.ts +15 -1
  42. package/corpus/templates/content/actions/attach-content-database-source.ts +156 -58
  43. package/corpus/templates/content/actions/bind-content-database-source-field.ts +2 -2
  44. package/corpus/templates/content/actions/cancel-prepared-builder-source-update.ts +4 -1
  45. package/corpus/templates/content/actions/delete-database-items.ts +8 -2
  46. package/corpus/templates/content/actions/disconnect-content-database-source.ts +2 -2
  47. package/corpus/templates/content/actions/duplicate-database-item.ts +15 -1
  48. package/corpus/templates/content/actions/duplicate-database-items.ts +19 -1
  49. package/corpus/templates/content/actions/execute-builder-source-execution.ts +2 -1
  50. package/corpus/templates/content/actions/get-content-database.ts +12 -64
  51. package/corpus/templates/content/actions/move-database-item.ts +4 -1
  52. package/corpus/templates/content/actions/prepare-builder-source-execution.ts +1 -1
  53. package/corpus/templates/content/actions/prepare-builder-source-review.ts +4 -8
  54. package/corpus/templates/content/actions/preview-content-database-source-attach.ts +92 -0
  55. package/corpus/templates/content/actions/process-builder-body-hydration.ts +2 -1
  56. package/corpus/templates/content/actions/query-content-database-items.ts +64 -0
  57. package/corpus/templates/content/actions/refresh-content-database-source.ts +7 -0
  58. package/corpus/templates/content/actions/review-content-database-source-change-set.ts +1 -1
  59. package/corpus/templates/content/actions/set-content-database-source-write-mode.ts +1 -1
  60. package/corpus/templates/content/actions/stage-builder-revision.ts +1 -1
  61. package/corpus/templates/content/actions/update-content-database-personal-view.ts +29 -3
  62. package/corpus/templates/content/actions/update-content-database-view.ts +1 -1
  63. package/corpus/templates/content/actions/validate-builder-source-execution.ts +1 -1
  64. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +3 -22
  65. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +267 -105
  66. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +82 -1
  67. package/corpus/templates/content/app/hooks/use-content-database.ts +285 -24
  68. package/corpus/templates/content/app/hooks/use-document-properties.ts +7 -6
  69. package/corpus/templates/content/app/i18n-data.ts +10 -0
  70. package/corpus/templates/content/changelog/2026-07-29-large-databases-keep-useful-rows-visible.md +6 -0
  71. package/corpus/templates/content/changelog/2026-07-30-builder-source-columns-now-appear-immediately-when-connected.md +6 -0
  72. package/corpus/templates/content/changelog/2026-07-30-large-builder-backed-tables-show-useful-rows-sooner-and-fini.md +6 -0
  73. package/corpus/templates/content/changelog/2026-08-01-large-builder-databases-now-show-rows-immediately-and-finish.md +6 -0
  74. package/corpus/templates/content/parity/matrix.md +2 -1
  75. package/corpus/templates/content/parity/matrix.ts +25 -0
  76. package/corpus/templates/content/shared/api.ts +54 -4
  77. package/corpus/templates/content/shared/database-query.ts +359 -0
  78. package/dist/agent/run-manager.d.ts.map +1 -1
  79. package/dist/agent/run-manager.js +7 -0
  80. package/dist/agent/run-manager.js.map +1 -1
  81. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  82. package/dist/client/agent-chat-adapter.js +12 -0
  83. package/dist/client/agent-chat-adapter.js.map +1 -1
  84. package/dist/client/analytics.d.ts +8 -0
  85. package/dist/client/analytics.d.ts.map +1 -1
  86. package/dist/client/analytics.js +95 -1
  87. package/dist/client/analytics.js.map +1 -1
  88. package/dist/client/use-action.d.ts.map +1 -1
  89. package/dist/client/use-action.js +6 -0
  90. package/dist/client/use-action.js.map +1 -1
  91. package/dist/collab/routes.d.ts +1 -1
  92. package/dist/collab/struct-routes.d.ts +1 -1
  93. package/dist/deploy/build.d.ts.map +1 -1
  94. package/dist/deploy/build.js +38 -1
  95. package/dist/deploy/build.js.map +1 -1
  96. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  97. package/dist/notifications/routes.d.ts +3 -3
  98. package/dist/observability/posthog-ai.d.ts +126 -0
  99. package/dist/observability/posthog-ai.d.ts.map +1 -0
  100. package/dist/observability/posthog-ai.js +190 -0
  101. package/dist/observability/posthog-ai.js.map +1 -0
  102. package/dist/observability/routes.d.ts +1 -1
  103. package/dist/observability/routes.d.ts.map +1 -1
  104. package/dist/observability/routes.js +26 -6
  105. package/dist/observability/routes.js.map +1 -1
  106. package/dist/observability/traces.d.ts +9 -0
  107. package/dist/observability/traces.d.ts.map +1 -1
  108. package/dist/observability/traces.js +219 -10
  109. package/dist/observability/traces.js.map +1 -1
  110. package/dist/observability/types.d.ts +10 -0
  111. package/dist/observability/types.d.ts.map +1 -1
  112. package/dist/observability/types.js +1 -0
  113. package/dist/observability/types.js.map +1 -1
  114. package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
  115. package/dist/secrets/register-framework-secrets.js +14 -0
  116. package/dist/secrets/register-framework-secrets.js.map +1 -1
  117. package/dist/server/agent-run-context.d.ts +8 -0
  118. package/dist/server/agent-run-context.d.ts.map +1 -1
  119. package/dist/server/agent-run-context.js +18 -0
  120. package/dist/server/agent-run-context.js.map +1 -1
  121. package/dist/server/capture-error.d.ts +8 -0
  122. package/dist/server/capture-error.d.ts.map +1 -1
  123. package/dist/server/capture-error.js.map +1 -1
  124. package/dist/server/core-routes-plugin.d.ts +0 -23
  125. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  126. package/dist/server/core-routes-plugin.js +71 -7
  127. package/dist/server/core-routes-plugin.js.map +1 -1
  128. package/dist/server/deploy-environment.d.ts +17 -0
  129. package/dist/server/deploy-environment.d.ts.map +1 -0
  130. package/dist/server/deploy-environment.js +47 -0
  131. package/dist/server/deploy-environment.js.map +1 -0
  132. package/dist/server/error-noise-filter.d.ts +80 -0
  133. package/dist/server/error-noise-filter.d.ts.map +1 -0
  134. package/dist/server/error-noise-filter.js +173 -0
  135. package/dist/server/error-noise-filter.js.map +1 -0
  136. package/dist/server/posthog-config.d.ts +28 -0
  137. package/dist/server/posthog-config.d.ts.map +1 -0
  138. package/dist/server/posthog-config.js +53 -0
  139. package/dist/server/posthog-config.js.map +1 -0
  140. package/dist/server/request-context.d.ts +6 -0
  141. package/dist/server/request-context.d.ts.map +1 -1
  142. package/dist/server/request-context.js.map +1 -1
  143. package/dist/server/sentry-config.d.ts +1 -0
  144. package/dist/server/sentry-config.d.ts.map +1 -1
  145. package/dist/server/sentry-config.js +3 -1
  146. package/dist/server/sentry-config.js.map +1 -1
  147. package/dist/server/sentry-plugin.d.ts.map +1 -1
  148. package/dist/server/sentry-plugin.js +12 -27
  149. package/dist/server/sentry-plugin.js.map +1 -1
  150. package/dist/server/sentry.d.ts.map +1 -1
  151. package/dist/server/sentry.js +8 -124
  152. package/dist/server/sentry.js.map +1 -1
  153. package/dist/server/ssr-handler.d.ts.map +1 -1
  154. package/dist/server/ssr-handler.js +6 -1
  155. package/dist/server/ssr-handler.js.map +1 -1
  156. package/dist/shared/mcp-embed-headers.d.ts +1 -1
  157. package/dist/shared/mcp-embed-headers.d.ts.map +1 -1
  158. package/dist/shared/mcp-embed-headers.js +1 -1
  159. package/dist/shared/mcp-embed-headers.js.map +1 -1
  160. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +36 -10
  161. package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +55 -1
  162. package/dist/tracking/error-capture.d.ts +7 -0
  163. package/dist/tracking/error-capture.d.ts.map +1 -1
  164. package/dist/tracking/error-capture.js +10 -73
  165. package/dist/tracking/error-capture.js.map +1 -1
  166. package/dist/tracking/index.d.ts +1 -0
  167. package/dist/tracking/index.d.ts.map +1 -1
  168. package/dist/tracking/index.js +1 -0
  169. package/dist/tracking/index.js.map +1 -1
  170. package/dist/tracking/posthog-exception.d.ts +103 -0
  171. package/dist/tracking/posthog-exception.d.ts.map +1 -0
  172. package/dist/tracking/posthog-exception.js +181 -0
  173. package/dist/tracking/posthog-exception.js.map +1 -0
  174. package/dist/tracking/providers.d.ts +14 -0
  175. package/dist/tracking/providers.d.ts.map +1 -1
  176. package/dist/tracking/providers.js +63 -11
  177. package/dist/tracking/providers.js.map +1 -1
  178. package/dist/tracking/redaction.d.ts +25 -0
  179. package/dist/tracking/redaction.d.ts.map +1 -0
  180. package/dist/tracking/redaction.js +85 -0
  181. package/dist/tracking/redaction.js.map +1 -0
  182. package/docs/content/observability.mdx +41 -1
  183. package/docs/content/tracking.mdx +25 -0
  184. package/package.json +1 -1
  185. package/src/agent/run-manager.ts +7 -0
  186. package/src/client/agent-chat-adapter.ts +10 -0
  187. package/src/client/analytics.ts +105 -1
  188. package/src/client/use-action.ts +6 -0
  189. package/src/deploy/build.ts +38 -1
  190. package/src/observability/posthog-ai.ts +294 -0
  191. package/src/observability/routes.ts +29 -6
  192. package/src/observability/traces.ts +287 -12
  193. package/src/observability/types.ts +11 -0
  194. package/src/secrets/register-framework-secrets.ts +16 -0
  195. package/src/server/agent-run-context.ts +21 -0
  196. package/src/server/capture-error.ts +8 -0
  197. package/src/server/core-routes-plugin.ts +75 -4
  198. package/src/server/deploy-environment.ts +57 -0
  199. package/src/server/error-noise-filter.ts +268 -0
  200. package/src/server/posthog-config.ts +75 -0
  201. package/src/server/request-context.ts +6 -0
  202. package/src/server/sentry-config.ts +4 -8
  203. package/src/server/sentry-plugin.ts +13 -29
  204. package/src/server/sentry.ts +13 -156
  205. package/src/server/ssr-handler.ts +6 -1
  206. package/src/shared/mcp-embed-headers.ts +1 -1
  207. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +36 -10
  208. package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +55 -1
  209. package/src/tracking/error-capture.ts +44 -109
  210. package/src/tracking/index.ts +11 -0
  211. package/src/tracking/posthog-exception.ts +305 -0
  212. package/src/tracking/providers.ts +91 -14
  213. package/src/tracking/redaction.ts +105 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run-context.js","sourceRoot":"","sources":["../../src/server/agent-run-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { createError, getHeader, type H3Event } from \"h3\";\n\nimport { resolveOrgIdForEmail, getOrgContext } from \"../org/context.js\";\nimport { getSession } from \"./auth.js\";\nimport {\n runWithRequestContext,\n type RequestContext,\n} from \"./request-context.js\";\n\nexport type AgentRunOwnerContext = {\n owner: string;\n anonymous: boolean;\n name?: string;\n};\n\nexport const AGENT_RUN_OWNER_CONTEXT_KEY = \"__agentNativeOwnerContext\";\n\ntype EventWithAgentRunContext = H3Event & {\n context?: Record<string, unknown>;\n};\n\ntype AnonymousOwnerResolver = (\n event: H3Event,\n) => string | null | Promise<string | null>;\n\ntype OrgIdResolver = (\n event: H3Event,\n) => string | null | undefined | Promise<string | null | undefined>;\n\nfunction eventContext(\n event: EventWithAgentRunContext,\n): Record<string, unknown> {\n event.context = event.context ?? {};\n return event.context;\n}\n\nfunction requestWaitUntil(\n event: H3Event,\n): ((promise: Promise<unknown>) => void) | undefined {\n const waitUntil = event.req?.waitUntil;\n return typeof waitUntil === \"function\" ? waitUntil : undefined;\n}\n\nfunction normalizeId(value: string | null | undefined): string | undefined {\n return typeof value === \"string\" && value.trim().length > 0\n ? value.trim()\n : undefined;\n}\n\nfunction readHeaderValue(event: any, name: string): unknown {\n try {\n const value = getHeader(event, name);\n if (value !== undefined && value !== null) return value;\n } catch {\n // Unit tests and a few framework internals pass lightweight event shims.\n }\n\n const headers = event?.headers;\n if (headers && typeof headers.get === \"function\") {\n return headers.get(name) ?? headers.get(name.toLowerCase()) ?? undefined;\n }\n\n const reqHeaders = event?.node?.req?.headers ?? event?.req?.headers;\n if (reqHeaders && typeof reqHeaders === \"object\") {\n return reqHeaders[name] ?? reqHeaders[name.toLowerCase()];\n }\n\n return undefined;\n}\n\nexport function readAgentRunTimezone(event: H3Event): string | undefined {\n const raw = readHeaderValue(event, \"x-user-timezone\");\n const value = Array.isArray(raw) ? raw[0] : raw;\n return typeof value === \"string\" &&\n value.trim().length > 0 &&\n value.trim().length < 64\n ? value.trim()\n : undefined;\n}\n\nexport function seedAgentRunOwnerContext(\n event: H3Event,\n ownerContext: AgentRunOwnerContext,\n): AgentRunOwnerContext {\n eventContext(event as EventWithAgentRunContext)[AGENT_RUN_OWNER_CONTEXT_KEY] =\n ownerContext;\n return ownerContext;\n}\n\nexport async function seedBackgroundAgentRunOwnerContext(\n event: H3Event,\n runId: string,\n): Promise<AgentRunOwnerContext | null> {\n try {\n const { getRunOwnerEmail } = await import(\"../agent/run-store.js\");\n const owner = await getRunOwnerEmail(runId);\n if (!owner) return null;\n return seedAgentRunOwnerContext(event, { owner, anonymous: false });\n } catch {\n return null;\n }\n}\n\nexport async function resolveAgentRunOwnerContext(\n event: H3Event,\n options: { anonymousOwner?: AnonymousOwnerResolver } = {},\n): Promise<AgentRunOwnerContext> {\n const ctx = eventContext(event as EventWithAgentRunContext);\n const seeded = ctx[AGENT_RUN_OWNER_CONTEXT_KEY] as\n | AgentRunOwnerContext\n | undefined;\n if (seeded) return seeded;\n\n const session = await getSession(event);\n if (session?.email) {\n return seedAgentRunOwnerContext(event, {\n owner: session.email,\n anonymous: false,\n name: session.name,\n });\n }\n\n const anonymousOwner = await options.anonymousOwner?.(event);\n if (anonymousOwner) {\n return seedAgentRunOwnerContext(event, {\n owner: anonymousOwner,\n anonymous: true,\n });\n }\n\n throw createError({\n statusCode: 401,\n statusMessage: \"Unauthenticated\",\n });\n}\n\nexport async function resolveAgentRunOrgId(options: {\n event: H3Event;\n ownerContext: AgentRunOwnerContext;\n resolveOrgId?: OrgIdResolver;\n}): Promise<string | undefined> {\n let resolvedOrgId: string | undefined;\n\n if (options.resolveOrgId) {\n resolvedOrgId = normalizeId(await options.resolveOrgId(options.event));\n } else {\n try {\n const session = await getSession(options.event);\n resolvedOrgId = normalizeId(session?.orgId);\n } catch {\n // Session not available.\n }\n\n if (!resolvedOrgId) {\n try {\n const orgContext = await getOrgContext(options.event);\n resolvedOrgId = normalizeId(orgContext.orgId);\n } catch {\n // Org tables may not exist yet on first boot.\n }\n }\n }\n\n if (\n !resolvedOrgId &&\n options.ownerContext.owner &&\n !options.ownerContext.anonymous\n ) {\n try {\n resolvedOrgId = normalizeId(\n await resolveOrgIdForEmail(options.ownerContext.owner),\n );\n } catch {\n // Org tables may not exist yet on first boot.\n }\n }\n\n return resolvedOrgId;\n}\n\nexport async function resolveAgentRunRequestContext(options: {\n event: H3Event;\n ownerContext: AgentRunOwnerContext;\n resolveOrgId?: OrgIdResolver;\n isBackgroundWorker?: boolean;\n}): Promise<RequestContext> {\n const orgId = await resolveAgentRunOrgId(options);\n const timezone = readAgentRunTimezone(options.event);\n const waitUntil = requestWaitUntil(options.event);\n const run = {\n ...(options.isBackgroundWorker ? { isBackgroundWorker: true } : {}),\n ...(waitUntil ? { waitUntil } : {}),\n };\n return {\n userEmail: options.ownerContext.owner,\n userName: options.ownerContext.name,\n orgId,\n timezone,\n ...(Object.keys(run).length > 0 ? { run } : {}),\n };\n}\n\nexport async function runWithAgentRunContext<T>(\n options: {\n event: H3Event;\n ownerContext: AgentRunOwnerContext;\n resolveOrgId?: OrgIdResolver;\n isBackgroundWorker?: boolean;\n },\n fn: () => T | Promise<T>,\n): Promise<T> {\n const requestContext = await resolveAgentRunRequestContext(options);\n return await runWithRequestContext(requestContext, fn);\n}\n"]}
1
+ {"version":3,"file":"agent-run-context.js","sourceRoot":"","sources":["../../src/server/agent-run-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { createError, getHeader, type H3Event } from \"h3\";\n\nimport { resolveOrgIdForEmail, getOrgContext } from \"../org/context.js\";\nimport { getSession } from \"./auth.js\";\nimport {\n runWithRequestContext,\n type RequestContext,\n} from \"./request-context.js\";\n\nexport type AgentRunOwnerContext = {\n owner: string;\n anonymous: boolean;\n name?: string;\n};\n\nexport const AGENT_RUN_OWNER_CONTEXT_KEY = \"__agentNativeOwnerContext\";\n\ntype EventWithAgentRunContext = H3Event & {\n context?: Record<string, unknown>;\n};\n\ntype AnonymousOwnerResolver = (\n event: H3Event,\n) => string | null | Promise<string | null>;\n\ntype OrgIdResolver = (\n event: H3Event,\n) => string | null | undefined | Promise<string | null | undefined>;\n\nfunction eventContext(\n event: EventWithAgentRunContext,\n): Record<string, unknown> {\n event.context = event.context ?? {};\n return event.context;\n}\n\nfunction requestWaitUntil(\n event: H3Event,\n): ((promise: Promise<unknown>) => void) | undefined {\n const waitUntil = event.req?.waitUntil;\n return typeof waitUntil === \"function\" ? waitUntil : undefined;\n}\n\nfunction normalizeId(value: string | null | undefined): string | undefined {\n return typeof value === \"string\" && value.trim().length > 0\n ? value.trim()\n : undefined;\n}\n\nfunction readHeaderValue(event: any, name: string): unknown {\n try {\n const value = getHeader(event, name);\n if (value !== undefined && value !== null) return value;\n } catch {\n // Unit tests and a few framework internals pass lightweight event shims.\n }\n\n const headers = event?.headers;\n if (headers && typeof headers.get === \"function\") {\n return headers.get(name) ?? headers.get(name.toLowerCase()) ?? undefined;\n }\n\n const reqHeaders = event?.node?.req?.headers ?? event?.req?.headers;\n if (reqHeaders && typeof reqHeaders === \"object\") {\n return reqHeaders[name] ?? reqHeaders[name.toLowerCase()];\n }\n\n return undefined;\n}\n\nexport function readAgentRunTimezone(event: H3Event): string | undefined {\n const raw = readHeaderValue(event, \"x-user-timezone\");\n const value = Array.isArray(raw) ? raw[0] : raw;\n return typeof value === \"string\" &&\n value.trim().length > 0 &&\n value.trim().length < 64\n ? value.trim()\n : undefined;\n}\n\n/**\n * The caller's browser analytics session id, when the page sent one.\n *\n * Emitted as PostHog's `$session_id` on the run's `$ai_*` events so an agent\n * trace joins to the session replay it happened in. Distinct from\n * `$ai_session_id`, which is the conversation thread.\n */\nexport function readAgentRunBrowserSessionId(\n event: H3Event,\n): string | undefined {\n const raw = readHeaderValue(event, \"x-agent-native-session-id\");\n const value = Array.isArray(raw) ? raw[0] : raw;\n return typeof value === \"string\" &&\n value.trim().length > 0 &&\n value.trim().length < 128\n ? value.trim()\n : undefined;\n}\n\nexport function seedAgentRunOwnerContext(\n event: H3Event,\n ownerContext: AgentRunOwnerContext,\n): AgentRunOwnerContext {\n eventContext(event as EventWithAgentRunContext)[AGENT_RUN_OWNER_CONTEXT_KEY] =\n ownerContext;\n return ownerContext;\n}\n\nexport async function seedBackgroundAgentRunOwnerContext(\n event: H3Event,\n runId: string,\n): Promise<AgentRunOwnerContext | null> {\n try {\n const { getRunOwnerEmail } = await import(\"../agent/run-store.js\");\n const owner = await getRunOwnerEmail(runId);\n if (!owner) return null;\n return seedAgentRunOwnerContext(event, { owner, anonymous: false });\n } catch {\n return null;\n }\n}\n\nexport async function resolveAgentRunOwnerContext(\n event: H3Event,\n options: { anonymousOwner?: AnonymousOwnerResolver } = {},\n): Promise<AgentRunOwnerContext> {\n const ctx = eventContext(event as EventWithAgentRunContext);\n const seeded = ctx[AGENT_RUN_OWNER_CONTEXT_KEY] as\n | AgentRunOwnerContext\n | undefined;\n if (seeded) return seeded;\n\n const session = await getSession(event);\n if (session?.email) {\n return seedAgentRunOwnerContext(event, {\n owner: session.email,\n anonymous: false,\n name: session.name,\n });\n }\n\n const anonymousOwner = await options.anonymousOwner?.(event);\n if (anonymousOwner) {\n return seedAgentRunOwnerContext(event, {\n owner: anonymousOwner,\n anonymous: true,\n });\n }\n\n throw createError({\n statusCode: 401,\n statusMessage: \"Unauthenticated\",\n });\n}\n\nexport async function resolveAgentRunOrgId(options: {\n event: H3Event;\n ownerContext: AgentRunOwnerContext;\n resolveOrgId?: OrgIdResolver;\n}): Promise<string | undefined> {\n let resolvedOrgId: string | undefined;\n\n if (options.resolveOrgId) {\n resolvedOrgId = normalizeId(await options.resolveOrgId(options.event));\n } else {\n try {\n const session = await getSession(options.event);\n resolvedOrgId = normalizeId(session?.orgId);\n } catch {\n // Session not available.\n }\n\n if (!resolvedOrgId) {\n try {\n const orgContext = await getOrgContext(options.event);\n resolvedOrgId = normalizeId(orgContext.orgId);\n } catch {\n // Org tables may not exist yet on first boot.\n }\n }\n }\n\n if (\n !resolvedOrgId &&\n options.ownerContext.owner &&\n !options.ownerContext.anonymous\n ) {\n try {\n resolvedOrgId = normalizeId(\n await resolveOrgIdForEmail(options.ownerContext.owner),\n );\n } catch {\n // Org tables may not exist yet on first boot.\n }\n }\n\n return resolvedOrgId;\n}\n\nexport async function resolveAgentRunRequestContext(options: {\n event: H3Event;\n ownerContext: AgentRunOwnerContext;\n resolveOrgId?: OrgIdResolver;\n isBackgroundWorker?: boolean;\n}): Promise<RequestContext> {\n const orgId = await resolveAgentRunOrgId(options);\n const timezone = readAgentRunTimezone(options.event);\n const browserSessionId = readAgentRunBrowserSessionId(options.event);\n const waitUntil = requestWaitUntil(options.event);\n const run = {\n ...(options.isBackgroundWorker ? { isBackgroundWorker: true } : {}),\n ...(waitUntil ? { waitUntil } : {}),\n };\n return {\n userEmail: options.ownerContext.owner,\n userName: options.ownerContext.name,\n orgId,\n timezone,\n ...(browserSessionId ? { browserSessionId } : {}),\n ...(Object.keys(run).length > 0 ? { run } : {}),\n };\n}\n\nexport async function runWithAgentRunContext<T>(\n options: {\n event: H3Event;\n ownerContext: AgentRunOwnerContext;\n resolveOrgId?: OrgIdResolver;\n isBackgroundWorker?: boolean;\n },\n fn: () => T | Promise<T>,\n): Promise<T> {\n const requestContext = await resolveAgentRunRequestContext(options);\n return await runWithRequestContext(requestContext, fn);\n}\n"]}
@@ -11,6 +11,14 @@ export interface CaptureErrorContext {
11
11
  extra?: Record<string, unknown>;
12
12
  /** Grouped diagnostic cards shown on the captured event. */
13
13
  contexts?: Record<string, Record<string, unknown>>;
14
+ /**
15
+ * The agent run this error belongs to, when it belongs to one.
16
+ *
17
+ * Emitted as a top-level `$ai_trace_id` so an error-tracking issue and the
18
+ * LLM trace it came from resolve to each other. Nesting the run id inside
19
+ * `extra` (as callers did before) puts it somewhere no backend can join on.
20
+ */
21
+ aiTraceId?: string;
14
22
  }
15
23
  export type CaptureErrorProvider = (error: unknown, context: CaptureErrorContext) => string | undefined | void;
16
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"capture-error.d.ts","sourceRoot":"","sources":["../../src/server/capture-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,mBAAmB,KACzB,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAI/B;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAOZ;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,MAAM,GAAG,SAAS,CAapB;AAED,eAAO,MAAM,kBAAkB,qBAAe,CAAC"}
1
+ {"version":3,"file":"capture-error.d.ts","sourceRoot":"","sources":["../../src/server/capture-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,mBAAmB,KACzB,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAI/B;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAOZ;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,mBAAwB,GAChC,MAAM,GAAG,SAAS,CAapB;AAED,eAAO,MAAM,kBAAkB,qBAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture-error.js","sourceRoot":"","sources":["../../src/server/capture-error.ts"],"names":[],"mappings":"AAoBA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,QAA8B;IAE9B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,GAAG,EAAE;QACV,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAc,EACd,OAAO,GAAwB,EAAE;IAEjC,IAAI,OAA2B,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC","sourcesContent":["export interface CaptureErrorContext {\n /** The request path or logical route, when known. */\n route?: string;\n /** HTTP method, when known. */\n method?: string;\n /** Caller's `User-Agent` header, when known. */\n userAgent?: string;\n /** Searchable low-cardinality tags. */\n tags?: Record<string, string | undefined>;\n /** Structured diagnostic payload shown on the captured event. */\n extra?: Record<string, unknown>;\n /** Grouped diagnostic cards shown on the captured event. */\n contexts?: Record<string, Record<string, unknown>>;\n}\n\nexport type CaptureErrorProvider = (\n error: unknown,\n context: CaptureErrorContext,\n) => string | undefined | void;\n\nconst providers = new Map<string, CaptureErrorProvider>();\n\n/**\n * Register a backend for the framework-level `captureError()` utility.\n *\n * The default Sentry plugin registers itself here when a DSN is configured.\n * Keeping this registry Sentry-agnostic lets core runtime code report errors\n * without importing a Node-only SDK in edge/client-adjacent modules.\n */\nexport function registerErrorCaptureProvider(\n name: string,\n provider: CaptureErrorProvider,\n): () => void {\n providers.set(name, provider);\n return () => {\n if (providers.get(name) === provider) {\n providers.delete(name);\n }\n };\n}\n\n/**\n * Capture an error through every configured provider. No-ops when no provider\n * is installed and never throws back into the application path.\n */\nexport function captureError(\n error: unknown,\n context: CaptureErrorContext = {},\n): string | undefined {\n let eventId: string | undefined;\n for (const provider of providers.values()) {\n try {\n const result = provider(error, context);\n if (eventId === undefined && typeof result === \"string\") {\n eventId = result;\n }\n } catch {\n // Observability must never mask the original failure.\n }\n }\n return eventId;\n}\n\nexport const captureServerError = captureError;\n"]}
1
+ {"version":3,"file":"capture-error.js","sourceRoot":"","sources":["../../src/server/capture-error.ts"],"names":[],"mappings":"AA4BA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,QAA8B;IAE9B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,GAAG,EAAE;QACV,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAc,EACd,OAAO,GAAwB,EAAE;IAEjC,IAAI,OAA2B,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC","sourcesContent":["export interface CaptureErrorContext {\n /** The request path or logical route, when known. */\n route?: string;\n /** HTTP method, when known. */\n method?: string;\n /** Caller's `User-Agent` header, when known. */\n userAgent?: string;\n /** Searchable low-cardinality tags. */\n tags?: Record<string, string | undefined>;\n /** Structured diagnostic payload shown on the captured event. */\n extra?: Record<string, unknown>;\n /** Grouped diagnostic cards shown on the captured event. */\n contexts?: Record<string, Record<string, unknown>>;\n /**\n * The agent run this error belongs to, when it belongs to one.\n *\n * Emitted as a top-level `$ai_trace_id` so an error-tracking issue and the\n * LLM trace it came from resolve to each other. Nesting the run id inside\n * `extra` (as callers did before) puts it somewhere no backend can join on.\n */\n aiTraceId?: string;\n}\n\nexport type CaptureErrorProvider = (\n error: unknown,\n context: CaptureErrorContext,\n) => string | undefined | void;\n\nconst providers = new Map<string, CaptureErrorProvider>();\n\n/**\n * Register a backend for the framework-level `captureError()` utility.\n *\n * The default Sentry plugin registers itself here when a DSN is configured.\n * Keeping this registry Sentry-agnostic lets core runtime code report errors\n * without importing a Node-only SDK in edge/client-adjacent modules.\n */\nexport function registerErrorCaptureProvider(\n name: string,\n provider: CaptureErrorProvider,\n): () => void {\n providers.set(name, provider);\n return () => {\n if (providers.get(name) === provider) {\n providers.delete(name);\n }\n };\n}\n\n/**\n * Capture an error through every configured provider. No-ops when no provider\n * is installed and never throws back into the application path.\n */\nexport function captureError(\n error: unknown,\n context: CaptureErrorContext = {},\n): string | undefined {\n let eventId: string | undefined;\n for (const provider of providers.values()) {\n try {\n const result = provider(error, context);\n if (eventId === undefined && typeof result === \"string\") {\n eventId = result;\n }\n } catch {\n // Observability must never mask the original failure.\n }\n }\n return eventId;\n}\n\nexport const captureServerError = captureError;\n"]}
@@ -274,29 +274,6 @@ interface LegacyCoreRouteInitSettings {
274
274
  }
275
275
  type CoreRouteSettingReader = (key: string) => Promise<Record<string, unknown> | null>;
276
276
  export declare function readLegacyCoreRouteInitSettings(readSetting?: CoreRouteSettingReader): Promise<LegacyCoreRouteInitSettings>;
277
- /**
278
- * Creates a Nitro plugin that mounts all standard agent-native framework routes.
279
- *
280
- * All routes are mounted under `/_agent-native/` to avoid collisions
281
- * with template-specific routes.
282
- *
283
- * Routes:
284
- * GET /_agent-native/poll — polling endpoint for change detection
285
- * GET /_agent-native/events (or custom) — SSE endpoint for real-time sync
286
- * GET /_agent-native/ping — health check
287
- * GET /_agent-native/health — DB liveness probe + scale-to-zero warmup
288
- * GET /_agent-native/env-status — env key configuration status (when envKeys provided)
289
- * POST /_agent-native/env-vars — compatibility route that saves keys to scoped DB secrets
290
- * GET /_agent-native/application-state?keys=a,b,c — batched read of many keys
291
- * GET /_agent-native/application-state/:key — read application state
292
- * PUT /_agent-native/application-state/:key — write application state
293
- * DELETE /_agent-native/application-state/:key — delete application state
294
- * GET /_agent-native/application-state/compose — list compose drafts
295
- * DELETE /_agent-native/application-state/compose — delete all compose drafts
296
- * GET /_agent-native/application-state/compose/:id — get compose draft
297
- * PUT /_agent-native/application-state/compose/:id — upsert compose draft
298
- * DELETE /_agent-native/application-state/compose/:id — delete compose draft
299
- */
300
277
  export declare function createCoreRoutesPlugin(options?: CoreRoutesPluginOptions): NitroPluginDef;
301
278
  /**
302
279
  * Default core routes plugin — mount with no configuration needed.
@@ -1 +1 @@
1
- {"version":3,"file":"core-routes-plugin.d.ts","sourceRoot":"","sources":["../../src/server/core-routes-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-routes-plugin.d.ts","sourceRoot":"","sources":["../../src/server/core-routes-plugin.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,9 @@ import { BUILDER_CONNECT_PARAM, BUILDER_CONNECT_OWNER_COOKIE, BUILDER_ENV_KEYS,
40
40
  import { captureError, registerErrorCaptureProvider } from "./capture-error.js";
41
41
  import { getAllowedCorsOrigin, readCorsAllowedOrigins, } from "./cors-origins.js";
42
42
  import { canUseDeployCredentialFallbackForRequest, prefetchSecrets, readDeployCredentialEnv, resolveSecret, } from "./credential-provider.js";
43
+ import { resolveDeployEnvironment, resolveServerRelease, } from "./deploy-environment.js";
43
44
  import { createEmbedStartRouteHandler } from "./embed-route.js";
45
+ import { shouldReportError } from "./error-noise-filter.js";
44
46
  import { getH3App, awaitBootstrap, markDefaultPluginProvided, trackPluginInit, } from "./framework-request-handler.js";
45
47
  import { createGatewayAccessCheckHandler } from "./gateway-access-check.js";
46
48
  import { getAppBasePath, getOrigin } from "./google-oauth.js";
@@ -52,7 +54,7 @@ import { createOpenRouteHandler } from "./open-route.js";
52
54
  import { createPollEventsHandler } from "./poll-events.js";
53
55
  import { createPollHandler } from "./poll.js";
54
56
  import { createRealtimeTokenHandler } from "./realtime-token.js";
55
- import { runWithRequestContext } from "./request-context.js";
57
+ import { getRequestContext, hasRequestContext, runWithRequestContext, } from "./request-context.js";
56
58
  import { findUnsupportedScopedKeyNames, saveKeyValuesToScopedSecrets, ScopedKeyStorageError, } from "./scoped-key-storage.js";
57
59
  import { createTranscribeVoiceHandler } from "./transcribe-voice.js";
58
60
  import { createVoiceProvidersStatusHandler } from "./voice-providers-status.js";
@@ -794,6 +796,51 @@ export async function readLegacyCoreRouteInitSettings(readSetting = getSetting)
794
796
  * PUT /_agent-native/application-state/compose/:id — upsert compose draft
795
797
  * DELETE /_agent-native/application-state/compose/:id — delete compose draft
796
798
  */
799
+ /**
800
+ * Route every Nitro route error through the provider-agnostic `captureError()`
801
+ * registry, filtered by the shared noise rules.
802
+ *
803
+ * This lives here rather than in `sentry-plugin.ts` because that plugin bails
804
+ * out when no `SENTRY_DSN` is configured — wiring the hook there meant an app
805
+ * running PostHog (or any other backend) with no Sentry project reported no
806
+ * route errors at all, while still looking configured.
807
+ */
808
+ function wireRouteErrorCapture(nitroApp) {
809
+ nitroApp.hooks?.hook?.("error", (error, ctx) => {
810
+ try {
811
+ const event = ctx?.event;
812
+ const route = (() => {
813
+ try {
814
+ return event?.url?.pathname;
815
+ // coercion-ok: a missing route tag must not suppress the error
816
+ }
817
+ catch {
818
+ return undefined;
819
+ }
820
+ })();
821
+ const userAgent = (() => {
822
+ try {
823
+ return event ? getHeader(event, "user-agent") : undefined;
824
+ // coercion-ok: a missing UA tag must not suppress the error
825
+ }
826
+ catch {
827
+ return undefined;
828
+ }
829
+ })();
830
+ if (!shouldReportError(error, { tags: { route } }))
831
+ return;
832
+ captureError(error, {
833
+ route,
834
+ method: event ? getMethod(event) : undefined,
835
+ userAgent,
836
+ });
837
+ // coercion-ok: rethrowing here would replace the app's real error
838
+ }
839
+ catch {
840
+ // Error reporting must never escape into Nitro's error path.
841
+ }
842
+ });
843
+ }
797
844
  export function createCoreRoutesPlugin(options = {}) {
798
845
  return async (nitroApp) => {
799
846
  markDefaultPluginProvided(nitroApp, "core-routes");
@@ -866,12 +913,29 @@ export function createCoreRoutesPlugin(options = {}) {
866
913
  // already registered the same key win.
867
914
  registerFrameworkSecrets();
868
915
  registerBuiltinProviders();
869
- registerErrorCaptureProvider("agent-native-analytics", (error, context) => captureException(error, {
870
- ...context,
871
- handled: false,
872
- runtime: "node",
873
- source: "server",
874
- }));
916
+ // Named for the destination it actually reaches: every configured
917
+ // tracking provider (PostHog, Mixpanel, Amplitude, Agent Native
918
+ // Analytics, webhook), not just one of them.
919
+ registerErrorCaptureProvider("tracking", (error, context) => {
920
+ // Attribute to the in-flight request's user so server exceptions and
921
+ // that same person's browser events share one `distinct_id`.
922
+ const requestContext = hasRequestContext()
923
+ ? getRequestContext()
924
+ : undefined;
925
+ captureException(error, {
926
+ ...context,
927
+ handled: false,
928
+ runtime: "node",
929
+ source: "server",
930
+ release: resolveServerRelease(),
931
+ environment: resolveDeployEnvironment(),
932
+ ...(requestContext?.userEmail
933
+ ? { userId: requestContext.userEmail }
934
+ : {}),
935
+ ...(requestContext?.orgId ? { orgId: requestContext.orgId } : {}),
936
+ });
937
+ });
938
+ wireRouteErrorCapture(nitroApp);
875
939
  registerBuiltinNotificationChannels();
876
940
  try {
877
941
  const { createObservabilityHandler } = await import("../observability/routes.js");