@semiont/browser 0.5.33 → 0.5.34

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 (70) hide show
  1. package/dist/assets/{CookiePreferences-DmcqbD0J.js → CookiePreferences--yB7lQIF.js} +2 -2
  2. package/dist/assets/{CookiePreferences-DmcqbD0J.js.map → CookiePreferences--yB7lQIF.js.map} +1 -1
  3. package/dist/assets/{KeyboardShortcutsContext-DQIIAvHg.js → KeyboardShortcutsContext-Bb3ZQ4QP.js} +2 -2
  4. package/dist/assets/{KeyboardShortcutsContext-DQIIAvHg.js.map → KeyboardShortcutsContext-Bb3ZQ4QP.js.map} +1 -1
  5. package/dist/assets/{PdfAnnotationCanvas.client-7EYCQF6V-U031xawA.js → PdfAnnotationCanvas.client-7EYCQF6V-DjhntiNY.js} +2 -2
  6. package/dist/assets/{PdfAnnotationCanvas.client-7EYCQF6V-U031xawA.js.map → PdfAnnotationCanvas.client-7EYCQF6V-DjhntiNY.js.map} +1 -1
  7. package/dist/assets/{ToolbarPanels-ry6xWxyQ.js → ToolbarPanels-DMK1LAo0.js} +2 -2
  8. package/dist/assets/{ToolbarPanels-ry6xWxyQ.js.map → ToolbarPanels-DMK1LAo0.js.map} +1 -1
  9. package/dist/assets/{client-Bh0_NlMx.js → client-Bb60uCwR.js} +2 -2
  10. package/dist/assets/{client-Bh0_NlMx.js.map → client-Bb60uCwR.js.map} +1 -1
  11. package/dist/assets/{client-DPVas1ir.js → client-CBa3uasO.js} +2 -2
  12. package/dist/assets/{client-DPVas1ir.js.map → client-CBa3uasO.js.map} +1 -1
  13. package/dist/assets/{en-H4MQUZWO-BKtqNCLE.js → en-H4MQUZWO-BbOPkiNi.js} +1 -1
  14. package/dist/assets/{index-YWAso44K.js → index-Ojc52FmW.js} +50 -50
  15. package/dist/assets/index-Ojc52FmW.js.map +1 -0
  16. package/dist/assets/{layout-gl_pZ7sI.js → layout-B20iBPm-.js} +2 -2
  17. package/dist/assets/{layout-gl_pZ7sI.js.map → layout-B20iBPm-.js.map} +1 -1
  18. package/dist/assets/{layout-1FTjRGcC.js → layout-CneiUXGM.js} +2 -2
  19. package/dist/assets/{layout-1FTjRGcC.js.map → layout-CneiUXGM.js.map} +1 -1
  20. package/dist/assets/{layout-BL24vUoz.js → layout-DhqPRPc7.js} +2 -2
  21. package/dist/assets/{layout-BL24vUoz.js.map → layout-DhqPRPc7.js.map} +1 -1
  22. package/dist/assets/{layout-CMFZCwpp.js → layout-YkO4-GqS.js} +2 -2
  23. package/dist/assets/{layout-CMFZCwpp.js.map → layout-YkO4-GqS.js.map} +1 -1
  24. package/dist/assets/{not-found-Bf3lTLrq.js → not-found-D1Vs29Pd.js} +2 -2
  25. package/dist/assets/{not-found-Bf3lTLrq.js.map → not-found-D1Vs29Pd.js.map} +1 -1
  26. package/dist/assets/{page-C0b0IMHJ.js → page--ktG80Hk.js} +2 -2
  27. package/dist/assets/{page-C0b0IMHJ.js.map → page--ktG80Hk.js.map} +1 -1
  28. package/dist/assets/{page-DNMUxaoU.js → page-B06y4XtB.js} +2 -2
  29. package/dist/assets/{page-DNMUxaoU.js.map → page-B06y4XtB.js.map} +1 -1
  30. package/dist/assets/{page-BSNqz9-L.js → page-B7Vp80w2.js} +2 -2
  31. package/dist/assets/{page-BSNqz9-L.js.map → page-B7Vp80w2.js.map} +1 -1
  32. package/dist/assets/{page-B06qt0_f.js → page-BD2asFxe.js} +2 -2
  33. package/dist/assets/{page-B06qt0_f.js.map → page-BD2asFxe.js.map} +1 -1
  34. package/dist/assets/{page-fxztE4M6.js → page-BJnX_yAg.js} +2 -2
  35. package/dist/assets/{page-fxztE4M6.js.map → page-BJnX_yAg.js.map} +1 -1
  36. package/dist/assets/{page-CH8ZnAYi.js → page-BXynYvhE.js} +2 -2
  37. package/dist/assets/{page-CH8ZnAYi.js.map → page-BXynYvhE.js.map} +1 -1
  38. package/dist/assets/{page-CEN4ThgV.js → page-BgzC_t5l.js} +2 -2
  39. package/dist/assets/{page-CEN4ThgV.js.map → page-BgzC_t5l.js.map} +1 -1
  40. package/dist/assets/{page-FX-SWBET.js → page-BuW3aSm_.js} +2 -2
  41. package/dist/assets/{page-FX-SWBET.js.map → page-BuW3aSm_.js.map} +1 -1
  42. package/dist/assets/{page-DRhvMMwi.js → page-C0dhB8e1.js} +2 -2
  43. package/dist/assets/{page-DRhvMMwi.js.map → page-C0dhB8e1.js.map} +1 -1
  44. package/dist/assets/{page-Ckk35qEC.js → page-C6IDcAg_.js} +2 -2
  45. package/dist/assets/{page-Ckk35qEC.js.map → page-C6IDcAg_.js.map} +1 -1
  46. package/dist/assets/{page-DWMuSgdf.js → page-CB1Zkhf_.js} +2 -2
  47. package/dist/assets/{page-DWMuSgdf.js.map → page-CB1Zkhf_.js.map} +1 -1
  48. package/dist/assets/{page-CS1uNON2.js → page-COYp-fvx.js} +2 -2
  49. package/dist/assets/{page-CS1uNON2.js.map → page-COYp-fvx.js.map} +1 -1
  50. package/dist/assets/{page-dJc_VjeE.js → page-CW0mYluf.js} +2 -2
  51. package/dist/assets/{page-dJc_VjeE.js.map → page-CW0mYluf.js.map} +1 -1
  52. package/dist/assets/{page-DYFp8ySg.js → page-CZj-I3Ya.js} +2 -2
  53. package/dist/assets/{page-DYFp8ySg.js.map → page-CZj-I3Ya.js.map} +1 -1
  54. package/dist/assets/{page-C3DgJ9rw.js → page-DNCSUWUQ.js} +2 -2
  55. package/dist/assets/{page-C3DgJ9rw.js.map → page-DNCSUWUQ.js.map} +1 -1
  56. package/dist/assets/{page-BggUt9_0.js → page-DVjeBr3D.js} +2 -2
  57. package/dist/assets/{page-BggUt9_0.js.map → page-DVjeBr3D.js.map} +1 -1
  58. package/dist/assets/{page-Hs5hZKz4.js → page-IQiRcQOl.js} +2 -2
  59. package/dist/assets/{page-Hs5hZKz4.js.map → page-IQiRcQOl.js.map} +1 -1
  60. package/dist/assets/{page-hf1byz9P.js → page-Ln_Qh0ju.js} +2 -2
  61. package/dist/assets/{page-hf1byz9P.js.map → page-Ln_Qh0ju.js.map} +1 -1
  62. package/dist/assets/{routing-Dn3ADPMa.js → routing-CjmlBUw_.js} +2 -2
  63. package/dist/assets/{routing-Dn3ADPMa.js.map → routing-CjmlBUw_.js.map} +1 -1
  64. package/dist/assets/{routing-BcZYLYt6.js → routing-DMkxvd2j.js} +2 -2
  65. package/dist/assets/{routing-BcZYLYt6.js.map → routing-DMkxvd2j.js.map} +1 -1
  66. package/dist/assets/{web-D9m06-8m.js → web-UYBXFOwL.js} +2 -2
  67. package/dist/assets/{web-D9m06-8m.js.map → web-UYBXFOwL.js.map} +1 -1
  68. package/dist/index.html +1 -1
  69. package/package.json +1 -1
  70. package/dist/assets/index-YWAso44K.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./i18n-CywLsdxn.js";import{f as n,t as r}from"./vendor-vK2W55bZ.js";import{At as i,Q as a,Y as o,b as s,in as c,x as l,y as u,z as d}from"./index-YWAso44K.js";import{t as f}from"./ToolbarPanels-ry6xWxyQ.js";import{n as p}from"./routing-Dn3ADPMa.js";import{n as m,t as h}from"./routing-BcZYLYt6.js";import g from"./not-found-Bf3lTLrq.js";var _=e(t()),v=r();function y(){let e=n(),t=o(i().activeSession$)??null,r=e.id;if(!r)return(0,v.jsx)(g,{});if(!t)return(0,v.jsx)(s,{});let a=c(r);return(0,v.jsx)(b,{session:t,rId:a},`${t.id}:${a}`)}function b({session:e,rId:t}){let n=p(),r=o(e.streamState$)??`initial`,i=e.kb,g=a(e,e=>d(e,t)),y=o(g?.resource$),b=o(g?.isLoading$)??!0,x=o(g?.error$)??null;(0,_.useEffect)(()=>{x?console.error(`[Document] Resource ${t} failed to load:`,x.message):!b&&!y&&console.error(`[Document] Resource ${t} not found`)},[b,x,t,y]);let S=(0,_.useCallback)(async()=>{g?.invalidate()},[g]);if(x)return(0,v.jsx)(u,{error:x,onRetry:S});if(b)return(0,v.jsx)(s,{});if(!y)return(0,v.jsx)(u,{error:Error(`Resource ${t} not found`),onRetry:S});let C=y,w=c(C[`@id`]);return(0,v.jsx)(l,{resource:C,rUri:w,locale:n,Link:h,routes:m,ToolbarPanels:f,refetchDocument:S,streamStatus:r,knowledgeBaseName:i.label})}export{y as default};
2
- //# sourceMappingURL=page-BggUt9_0.js.map
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./i18n-CywLsdxn.js";import{f as n,t as r}from"./vendor-vK2W55bZ.js";import{At as i,Q as a,Y as o,b as s,in as c,x as l,y as u,z as d}from"./index-Ojc52FmW.js";import{t as f}from"./ToolbarPanels-DMK1LAo0.js";import{n as p}from"./routing-CjmlBUw_.js";import{n as m,t as h}from"./routing-DMkxvd2j.js";import g from"./not-found-D1Vs29Pd.js";var _=e(t()),v=r();function y(){let e=n(),t=o(i().activeSession$)??null,r=e.id;if(!r)return(0,v.jsx)(g,{});if(!t)return(0,v.jsx)(s,{});let a=c(r);return(0,v.jsx)(b,{session:t,rId:a},`${t.id}:${a}`)}function b({session:e,rId:t}){let n=p(),r=o(e.streamState$)??`initial`,i=e.kb,g=a(e,e=>d(e,t)),y=o(g?.resource$),b=o(g?.isLoading$)??!0,x=o(g?.error$)??null;(0,_.useEffect)(()=>{x?console.error(`[Document] Resource ${t} failed to load:`,x.message):!b&&!y&&console.error(`[Document] Resource ${t} not found`)},[b,x,t,y]);let S=(0,_.useCallback)(async()=>{g?.invalidate()},[g]);if(x)return(0,v.jsx)(u,{error:x,onRetry:S});if(b)return(0,v.jsx)(s,{});if(!y)return(0,v.jsx)(u,{error:Error(`Resource ${t} not found`),onRetry:S});let C=y,w=c(C[`@id`]);return(0,v.jsx)(l,{resource:C,rUri:w,locale:n,Link:h,routes:m,ToolbarPanels:f,refetchDocument:S,streamStatus:r,knowledgeBaseName:i.label})}export{y as default};
2
+ //# sourceMappingURL=page-DVjeBr3D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-BggUt9_0.js","names":[],"sources":["../../src/app/[locale]/know/resource/[id]/page.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Resource Viewer Page - Minimal Next.js routing wrapper\n *\n * Handles only Next.js routing and initial resource loading.\n * All other concerns (data loading, events, UI state) are handled by ResourceViewerPage.\n */\n\nimport { useEffect, useCallback } from 'react';\nimport { useParams } from 'react-router';\nimport { useLocale } from '@/i18n/routing';\nimport { useSemiont, useObservable, useSessionStateUnit, createResourceLoaderStateUnit } from '@semiont/react-ui';\nimport { resourceId } from '@semiont/core';\nimport type { SemiontSession } from '@semiont/sdk';\nimport { Link, routes } from '@/lib/routing';\n\n// Feature components\nimport { ResourceLoadingState, ResourceErrorState, ResourceViewerPage } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport NotFound from '../../../not-found';\nimport type { SemiontResource } from '@semiont/react-ui';\n\n/**\n * Main page component — routing, session gating, and initial resource load.\n *\n * `useSessionStateUnit` runs its factory exactly once per mount, and React Router\n * keeps this component mounted across BOTH a `:id` param change and an\n * `activeSession$` swap. So the inner component is keyed on the pair\n * `${session.id}:${rId}` — either changing forces a full remount:\n *\n * - `rId` — otherwise the URL changes and the content stays on the\n * first-loaded resource (tab-to-tab navigation in the left nav).\n * - `session.id` — otherwise the loader keeps a DISPOSED client after a KB\n * switch or a re-authentication, and a disposed cache is inert by B16:\n * no fetch, no emission, \"Loading resource...\" forever. `kb.id` is not\n * enough here; `signIn` rebuilds the session under an unchanged `kb.id`.\n * See .plans/bugs/resource-page-frozen-on-disposed-client-after-kb-switch.md\n *\n * Rendering is gated on a live session, so the inner component receives a\n * real one as a prop and can never read a session other than the one it is\n * keyed on.\n */\nexport default function KnowledgeResourcePage() {\n const params = useParams<{ id: string }>();\n const session = useObservable(useSemiont().activeSession$) ?? null;\n\n // `App.tsx` declares this route as `resource/:id`, so React Router cannot\n // match it without the param. That used to be written `params?.id as string`\n // — an assertion, which reads as harmless precisely because it is usually\n // true. It is not harmless: `resourceId()` takes a `string` and calls\n // `.includes('/')` on it immediately, so the one time the assumption broke\n // (a route-pattern rename) the page would throw a TypeError and white-screen\n // rather than degrade. Branching lets the compiler prove `id` is a string,\n // and turns that rename into a visible not-found.\n const id = params.id;\n if (!id) return <NotFound />;\n\n // Leaving a resource route on a KB switch is the SWITCH INITIATOR's job\n // (`KnowledgeBasePanel`), not this page's. A latch here cannot work:\n // `KnowledgeLayout` gates `<Outlet />` on a live session, so this component\n // is unmounted the instant `activeSession$` goes null and remounts fresh\n // against the new KB — it never observes the transition it would need to\n // detect. A previous attempt did exactly that and was dead in production\n // while its unit test (which renders this page WITHOUT the layout) passed.\n // See .plans/bugs/resource-page-frozen-on-disposed-client-after-kb-switch.md\n if (!session) return <ResourceLoadingState />;\n\n const rId = resourceId(id);\n return <KnowledgeResourcePageInner key={`${session.id}:${rId}`} session={session} rId={rId} />;\n}\n\nfunction KnowledgeResourcePageInner({\n session,\n rId,\n}: {\n session: SemiontSession;\n rId: ReturnType<typeof resourceId>;\n}) {\n const locale = useLocale();\n\n const streamStatus = useObservable(session.streamState$) ?? 'initial';\n const activeKnowledgeBase = session.kb;\n\n const loader = useSessionStateUnit(session, (s) => createResourceLoaderStateUnit(s, rId));\n const resourceData = useObservable(loader?.resource$);\n const isLoading = useObservable(loader?.isLoading$) ?? true;\n const loadError = useObservable(loader?.error$) ?? null;\n\n // Log error for debugging\n useEffect(() => {\n if (loadError) {\n console.error(`[Document] Resource ${rId} failed to load:`, loadError.message);\n } else if (!isLoading && !resourceData) {\n console.error(`[Document] Resource ${rId} not found`);\n }\n }, [isLoading, loadError, rId, resourceData]);\n\n const refetchDocument = useCallback(async () => {\n loader?.invalidate();\n }, [loader]);\n\n // Early return: a terminal failure carries the reason, so it beats both the\n // spinner and the generic not-found. Without this branch the load is stuck\n // in \"loading\" forever — a failed key has no value either.\n if (loadError) {\n return <ResourceErrorState error={loadError} onRetry={refetchDocument} />;\n }\n if (isLoading) {\n return <ResourceLoadingState />;\n }\n if (!resourceData) {\n return <ResourceErrorState error={new Error(`Resource ${rId} not found`)} onRetry={refetchDocument} />;\n }\n\n const resource = resourceData as SemiontResource;\n // resource['@id'] is now a bare ID\n const canonicalId = resourceId(resource['@id']);\n\n // Render with minimal props - all data loading/events handled inside ResourceViewerPage\n return (\n <ResourceViewerPage\n resource={resource}\n rUri={canonicalId}\n locale={locale}\n Link={Link}\n routes={routes}\n ToolbarPanels={ToolbarPanels}\n refetchDocument={refetchDocument}\n streamStatus={streamStatus}\n knowledgeBaseName={activeKnowledgeBase.label}\n />\n );\n}\n"],"mappings":"0aA2CA,SAAwB,GAAwB,CAC9C,IAAM,EAAS,EAA0B,EACnC,EAAU,EAAc,EAAW,CAAC,CAAC,cAAc,GAAK,KAUxD,EAAK,EAAO,GAClB,GAAI,CAAC,EAAI,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,CAAA,EAU3B,GAAI,CAAC,EAAS,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,EAE5C,IAAM,EAAM,EAAW,CAAE,EACzB,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAkE,UAAc,KAAM,EAArD,GAAG,EAAQ,GAAG,GAAG,GAAoC,CAC/F,CAEA,SAAS,EAA2B,CAClC,UACA,OAIC,CACD,IAAM,EAAS,EAAU,EAEnB,EAAe,EAAc,EAAQ,YAAY,GAAK,UACtD,EAAsB,EAAQ,GAE9B,EAAS,EAAoB,EAAU,GAAM,EAA8B,EAAG,CAAG,CAAC,EAClF,EAAe,EAAc,GAAQ,SAAS,EAC9C,EAAY,EAAc,GAAQ,UAAU,GAAK,GACjD,EAAY,EAAc,GAAQ,MAAM,GAAK,MAGnD,EAAA,EAAA,UAAA,KAAgB,CACV,EACF,QAAQ,MAAM,uBAAuB,EAAI,kBAAmB,EAAU,OAAO,EACpE,CAAC,GAAa,CAAC,GACxB,QAAQ,MAAM,uBAAuB,EAAI,WAAW,CAExD,EAAG,CAAC,EAAW,EAAW,EAAK,CAAY,CAAC,EAE5C,IAAM,GAAA,EAAkB,EAAA,YAAA,CAAY,SAAY,CAC9C,GAAQ,WAAW,CACrB,EAAG,CAAC,CAAM,CAAC,EAKX,GAAI,EACF,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAoB,MAAO,EAAW,QAAS,CAAkB,CAAA,EAE1E,GAAI,EACF,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,EAEhC,GAAI,CAAC,EACH,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAoB,MAAW,MAAM,YAAY,EAAI,WAAW,EAAG,QAAS,CAAkB,CAAA,EAGvG,IAAM,EAAW,EAEX,EAAc,EAAW,EAAS,MAAM,EAG9C,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACY,WACV,KAAM,EACE,SACF,OACE,SACO,gBACE,kBACH,eACd,kBAAmB,EAAoB,KACxC,CAAA,CAEL"}
1
+ {"version":3,"file":"page-DVjeBr3D.js","names":[],"sources":["../../src/app/[locale]/know/resource/[id]/page.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Resource Viewer Page - Minimal Next.js routing wrapper\n *\n * Handles only Next.js routing and initial resource loading.\n * All other concerns (data loading, events, UI state) are handled by ResourceViewerPage.\n */\n\nimport { useEffect, useCallback } from 'react';\nimport { useParams } from 'react-router';\nimport { useLocale } from '@/i18n/routing';\nimport { useSemiont, useObservable, useSessionStateUnit, createResourceLoaderStateUnit } from '@semiont/react-ui';\nimport { resourceId } from '@semiont/core';\nimport type { SemiontSession } from '@semiont/sdk';\nimport { Link, routes } from '@/lib/routing';\n\n// Feature components\nimport { ResourceLoadingState, ResourceErrorState, ResourceViewerPage } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport NotFound from '../../../not-found';\nimport type { SemiontResource } from '@semiont/react-ui';\n\n/**\n * Main page component — routing, session gating, and initial resource load.\n *\n * `useSessionStateUnit` runs its factory exactly once per mount, and React Router\n * keeps this component mounted across BOTH a `:id` param change and an\n * `activeSession$` swap. So the inner component is keyed on the pair\n * `${session.id}:${rId}` — either changing forces a full remount:\n *\n * - `rId` — otherwise the URL changes and the content stays on the\n * first-loaded resource (tab-to-tab navigation in the left nav).\n * - `session.id` — otherwise the loader keeps a DISPOSED client after a KB\n * switch or a re-authentication, and a disposed cache is inert by B16:\n * no fetch, no emission, \"Loading resource...\" forever. `kb.id` is not\n * enough here; `signIn` rebuilds the session under an unchanged `kb.id`.\n * See .plans/bugs/resource-page-frozen-on-disposed-client-after-kb-switch.md\n *\n * Rendering is gated on a live session, so the inner component receives a\n * real one as a prop and can never read a session other than the one it is\n * keyed on.\n */\nexport default function KnowledgeResourcePage() {\n const params = useParams<{ id: string }>();\n const session = useObservable(useSemiont().activeSession$) ?? null;\n\n // `App.tsx` declares this route as `resource/:id`, so React Router cannot\n // match it without the param. That used to be written `params?.id as string`\n // — an assertion, which reads as harmless precisely because it is usually\n // true. It is not harmless: `resourceId()` takes a `string` and calls\n // `.includes('/')` on it immediately, so the one time the assumption broke\n // (a route-pattern rename) the page would throw a TypeError and white-screen\n // rather than degrade. Branching lets the compiler prove `id` is a string,\n // and turns that rename into a visible not-found.\n const id = params.id;\n if (!id) return <NotFound />;\n\n // Leaving a resource route on a KB switch is the SWITCH INITIATOR's job\n // (`KnowledgeBasePanel`), not this page's. A latch here cannot work:\n // `KnowledgeLayout` gates `<Outlet />` on a live session, so this component\n // is unmounted the instant `activeSession$` goes null and remounts fresh\n // against the new KB — it never observes the transition it would need to\n // detect. A previous attempt did exactly that and was dead in production\n // while its unit test (which renders this page WITHOUT the layout) passed.\n // See .plans/bugs/resource-page-frozen-on-disposed-client-after-kb-switch.md\n if (!session) return <ResourceLoadingState />;\n\n const rId = resourceId(id);\n return <KnowledgeResourcePageInner key={`${session.id}:${rId}`} session={session} rId={rId} />;\n}\n\nfunction KnowledgeResourcePageInner({\n session,\n rId,\n}: {\n session: SemiontSession;\n rId: ReturnType<typeof resourceId>;\n}) {\n const locale = useLocale();\n\n const streamStatus = useObservable(session.streamState$) ?? 'initial';\n const activeKnowledgeBase = session.kb;\n\n const loader = useSessionStateUnit(session, (s) => createResourceLoaderStateUnit(s, rId));\n const resourceData = useObservable(loader?.resource$);\n const isLoading = useObservable(loader?.isLoading$) ?? true;\n const loadError = useObservable(loader?.error$) ?? null;\n\n // Log error for debugging\n useEffect(() => {\n if (loadError) {\n console.error(`[Document] Resource ${rId} failed to load:`, loadError.message);\n } else if (!isLoading && !resourceData) {\n console.error(`[Document] Resource ${rId} not found`);\n }\n }, [isLoading, loadError, rId, resourceData]);\n\n const refetchDocument = useCallback(async () => {\n loader?.invalidate();\n }, [loader]);\n\n // Early return: a terminal failure carries the reason, so it beats both the\n // spinner and the generic not-found. Without this branch the load is stuck\n // in \"loading\" forever — a failed key has no value either.\n if (loadError) {\n return <ResourceErrorState error={loadError} onRetry={refetchDocument} />;\n }\n if (isLoading) {\n return <ResourceLoadingState />;\n }\n if (!resourceData) {\n return <ResourceErrorState error={new Error(`Resource ${rId} not found`)} onRetry={refetchDocument} />;\n }\n\n const resource = resourceData as SemiontResource;\n // resource['@id'] is now a bare ID\n const canonicalId = resourceId(resource['@id']);\n\n // Render with minimal props - all data loading/events handled inside ResourceViewerPage\n return (\n <ResourceViewerPage\n resource={resource}\n rUri={canonicalId}\n locale={locale}\n Link={Link}\n routes={routes}\n ToolbarPanels={ToolbarPanels}\n refetchDocument={refetchDocument}\n streamStatus={streamStatus}\n knowledgeBaseName={activeKnowledgeBase.label}\n />\n );\n}\n"],"mappings":"0aA2CA,SAAwB,GAAwB,CAC9C,IAAM,EAAS,EAA0B,EACnC,EAAU,EAAc,EAAW,CAAC,CAAC,cAAc,GAAK,KAUxD,EAAK,EAAO,GAClB,GAAI,CAAC,EAAI,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,CAAA,EAU3B,GAAI,CAAC,EAAS,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,EAE5C,IAAM,EAAM,EAAW,CAAE,EACzB,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAkE,UAAc,KAAM,EAArD,GAAG,EAAQ,GAAG,GAAG,GAAoC,CAC/F,CAEA,SAAS,EAA2B,CAClC,UACA,OAIC,CACD,IAAM,EAAS,EAAU,EAEnB,EAAe,EAAc,EAAQ,YAAY,GAAK,UACtD,EAAsB,EAAQ,GAE9B,EAAS,EAAoB,EAAU,GAAM,EAA8B,EAAG,CAAG,CAAC,EAClF,EAAe,EAAc,GAAQ,SAAS,EAC9C,EAAY,EAAc,GAAQ,UAAU,GAAK,GACjD,EAAY,EAAc,GAAQ,MAAM,GAAK,MAGnD,EAAA,EAAA,UAAA,KAAgB,CACV,EACF,QAAQ,MAAM,uBAAuB,EAAI,kBAAmB,EAAU,OAAO,EACpE,CAAC,GAAa,CAAC,GACxB,QAAQ,MAAM,uBAAuB,EAAI,WAAW,CAExD,EAAG,CAAC,EAAW,EAAW,EAAK,CAAY,CAAC,EAE5C,IAAM,GAAA,EAAkB,EAAA,YAAA,CAAY,SAAY,CAC9C,GAAQ,WAAW,CACrB,EAAG,CAAC,CAAM,CAAC,EAKX,GAAI,EACF,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAoB,MAAO,EAAW,QAAS,CAAkB,CAAA,EAE1E,GAAI,EACF,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,EAEhC,GAAI,CAAC,EACH,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAoB,MAAW,MAAM,YAAY,EAAI,WAAW,EAAG,QAAS,CAAkB,CAAA,EAGvG,IAAM,EAAW,EAEX,EAAc,EAAW,EAAS,MAAM,EAG9C,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACY,WACV,KAAM,EACE,SACF,OACE,SACO,gBACE,kBACH,eACd,kBAAmB,EAAoB,KACxC,CAAA,CAEL"}
@@ -1,5 +1,5 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-CywLsdxn.js";import{t as r}from"./vendor-vK2W55bZ.js";import{p as i}from"./index-YWAso44K.js";import{t as a}from"./KeyboardShortcutsContext-DQIIAvHg.js";import{t as o}from"./CookiePreferences-DmcqbD0J.js";import{n as s,t as c}from"./routing-Dn3ADPMa.js";import{n as l,t as u}from"./routing-BcZYLYt6.js";var d=e(t()),f=r();function p(){let{t:e}=n(),t=(t,n)=>e(`Terms.${t}`,n),{t:r}=n(),p=(e,t)=>r(`Footer.${e}`,t),{t:m}=n(),h=(e,t)=>m(`Navigation.${e}`,t),{t:g}=n(),_=(e,t)=>g(`Home.${e}`,t),v=s(),y=(0,d.useContext)(a);return(0,f.jsx)(i,{Link:u,routes:l,t:p,tNav:h,tHome:_,CookiePreferences:o,...y?.openKeyboardHelp&&{onOpenKeyboardHelp:y.openKeyboardHelp},className:`semiont-static-page`,children:(0,f.jsx)(`div`,{className:`semiont-static-container`,children:(0,f.jsxs)(`div`,{className:`semiont-static-content`,children:[(0,f.jsxs)(`header`,{className:`semiont-static-header`,children:[(0,f.jsx)(`h1`,{className:`semiont-static-title`,children:t(`pageTitle`)}),(0,f.jsx)(`p`,{className:`semiont-static-subtitle`,children:t(`pageSubtitle`)})]}),(0,f.jsxs)(`article`,{className:`semiont-static-article`,children:[(0,f.jsx)(`h2`,{children:t(`aupTitle`)}),(0,f.jsx)(`p`,{children:t(`aup`)}),(0,f.jsx)(`h3`,{children:t(`prohibitedTitle`)}),(0,f.jsx)(`p`,{children:t(`prohibitedIntro`)}),(0,f.jsx)(`ul`,{children:t(`prohibited`).split(`
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-CywLsdxn.js";import{t as r}from"./vendor-vK2W55bZ.js";import{p as i}from"./index-Ojc52FmW.js";import{t as a}from"./KeyboardShortcutsContext-Bb3ZQ4QP.js";import{t as o}from"./CookiePreferences--yB7lQIF.js";import{n as s,t as c}from"./routing-CjmlBUw_.js";import{n as l,t as u}from"./routing-DMkxvd2j.js";var d=e(t()),f=r();function p(){let{t:e}=n(),t=(t,n)=>e(`Terms.${t}`,n),{t:r}=n(),p=(e,t)=>r(`Footer.${e}`,t),{t:m}=n(),h=(e,t)=>m(`Navigation.${e}`,t),{t:g}=n(),_=(e,t)=>g(`Home.${e}`,t),v=s(),y=(0,d.useContext)(a);return(0,f.jsx)(i,{Link:u,routes:l,t:p,tNav:h,tHome:_,CookiePreferences:o,...y?.openKeyboardHelp&&{onOpenKeyboardHelp:y.openKeyboardHelp},className:`semiont-static-page`,children:(0,f.jsx)(`div`,{className:`semiont-static-container`,children:(0,f.jsxs)(`div`,{className:`semiont-static-content`,children:[(0,f.jsxs)(`header`,{className:`semiont-static-header`,children:[(0,f.jsx)(`h1`,{className:`semiont-static-title`,children:t(`pageTitle`)}),(0,f.jsx)(`p`,{className:`semiont-static-subtitle`,children:t(`pageSubtitle`)})]}),(0,f.jsxs)(`article`,{className:`semiont-static-article`,children:[(0,f.jsx)(`h2`,{children:t(`aupTitle`)}),(0,f.jsx)(`p`,{children:t(`aup`)}),(0,f.jsx)(`h3`,{children:t(`prohibitedTitle`)}),(0,f.jsx)(`p`,{children:t(`prohibitedIntro`)}),(0,f.jsx)(`ul`,{children:t(`prohibited`).split(`
2
2
  `).map((e,t)=>(0,f.jsx)(`li`,{children:e},t))}),(0,f.jsx)(`h3`,{children:t(`aiAllianceTitle`)}),(0,f.jsxs)(`p`,{children:[t(`aiAllianceIntro`),` `,(0,f.jsx)(`a`,{href:`https://ai-alliance.cdn.prismic.io/ai-alliance/Zl-MG5m069VX1dgH_AIAllianceCodeofConduct.pdf`,target:`_blank`,rel:`noopener noreferrer`,className:`semiont-static-link`,children:t(`aiAllianceLink`)}),t(`aiAllianceIncludes`)]}),(0,f.jsx)(`ul`,{children:t(`aiAlliance`).split(`
3
3
  `).map((e,t)=>(0,f.jsx)(`li`,{children:e},t))}),(0,f.jsx)(`h3`,{children:t(`responsibilitiesTitle`)}),(0,f.jsx)(`p`,{children:t(`responsibilitiesIntro`)}),(0,f.jsx)(`ul`,{children:t(`responsibilities`).split(`
4
4
  `).map((e,t)=>(0,f.jsx)(`li`,{children:e},t))}),(0,f.jsx)(`h3`,{children:t(`moderationTitle`)}),(0,f.jsx)(`p`,{children:t(`moderation`)}),(0,f.jsx)(`h3`,{children:t(`privacyTitle`)}),(0,f.jsxs)(`p`,{children:[t(`privacy`).split(t(`privacyLink`))[0],(0,f.jsx)(c,{to:`/${v}/privacy`,className:`semiont-static-link`,children:t(`privacyLink`)}),t(`privacy`).split(t(`privacyLink`))[1]]}),(0,f.jsx)(`h3`,{children:t(`ipTitle`)}),(0,f.jsx)(`p`,{children:t(`ip`)}),(0,f.jsx)(`h3`,{children:t(`liabilityTitle`)}),(0,f.jsx)(`p`,{children:t(`liability`)}),(0,f.jsx)(`h3`,{children:t(`changesTitle`)}),(0,f.jsx)(`p`,{children:t(`changes`)}),(0,f.jsx)(`h3`,{children:t(`contactTitle`)}),(0,f.jsx)(`p`,{children:t(`contact`)}),(0,f.jsx)(`footer`,{className:`semiont-static-footer`,children:(0,f.jsx)(`p`,{children:t(`lastUpdated`,{date:new Date().toLocaleDateString()})})})]})]})})})}export{p as default};
5
- //# sourceMappingURL=page-Hs5hZKz4.js.map
5
+ //# sourceMappingURL=page-IQiRcQOl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-Hs5hZKz4.js","names":[],"sources":["../../src/app/[locale]/terms/page.tsx"],"sourcesContent":["import { useContext } from 'react';\nimport { Link } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\nimport { useLocale } from '@/i18n/routing';\nimport { PageLayout } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\n\nexport default function TermsOfService() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Terms.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const locale = useLocale();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">\n {t('pageTitle')}\n </h1>\n <p className=\"semiont-static-subtitle\">\n {t('pageSubtitle')}\n </p>\n </header>\n\n <article className=\"semiont-static-article\">\n <h2>{t('aupTitle')}</h2>\n\n <p>\n {t('aup')}\n </p>\n\n <h3>{t('prohibitedTitle')}</h3>\n <p>{t('prohibitedIntro')}</p>\n <ul>\n {t('prohibited').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('aiAllianceTitle')}</h3>\n <p>\n {t('aiAllianceIntro')}{' '}\n <a\n href=\"https://ai-alliance.cdn.prismic.io/ai-alliance/Zl-MG5m069VX1dgH_AIAllianceCodeofConduct.pdf\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"semiont-static-link\"\n >\n {t('aiAllianceLink')}\n </a>\n {t('aiAllianceIncludes')}\n </p>\n <ul>\n {t('aiAlliance').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('responsibilitiesTitle')}</h3>\n <p>{t('responsibilitiesIntro')}</p>\n <ul>\n {t('responsibilities').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('moderationTitle')}</h3>\n <p>\n {t('moderation')}\n </p>\n\n <h3>{t('privacyTitle')}</h3>\n <p>\n {t('privacy').split(t('privacyLink'))[0]}\n <Link to={`/${locale}/privacy`} className=\"semiont-static-link\">\n {t('privacyLink')}\n </Link>\n {t('privacy').split(t('privacyLink'))[1]}\n </p>\n\n <h3>{t('ipTitle')}</h3>\n <p>\n {t('ip')}\n </p>\n\n <h3>{t('liabilityTitle')}</h3>\n <p>\n {t('liability')}\n </p>\n\n <h3>{t('changesTitle')}</h3>\n <p>\n {t('changes')}\n </p>\n\n <h3>{t('contactTitle')}</h3>\n <p>\n {t('contact')}\n </p>\n\n <footer className=\"semiont-static-footer\">\n <p>\n {t('lastUpdated', { date: new Date().toLocaleDateString() })}\n </p>\n </footer>\n </article>\n\n </div>\n </div>\n </PageLayout>\n );\n}"],"mappings":"sZASA,SAAwB,GAAiB,CACvC,GAAM,CAAE,EAAG,GAAO,EAAe,EAC3B,GAAK,EAAW,IAAgC,EAAG,SAAS,IAAK,CAAQ,EACzE,CAAE,EAAG,GAAa,EAAe,EACjC,GAAW,EAAW,IAAgC,EAAS,UAAU,IAAK,CAAQ,EACtF,CAAE,EAAG,GAAU,EAAe,EAC9B,GAAQ,EAAW,IAAgC,EAAM,cAAc,IAAK,CAAQ,EACpF,CAAE,EAAG,GAAW,EAAe,EAC/B,GAAS,EAAW,IAAgC,EAAO,QAAQ,IAAK,CAAQ,EAChF,EAAS,EAAU,EACnB,GAAA,EAAkB,EAAA,WAAA,CAAW,CAAwB,EAE3D,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EACE,SACR,EAAG,EACG,OACC,QACY,oBACnB,GAAK,GAAiB,kBAAoB,CAAE,mBAAoB,EAAgB,gBAAiB,EACjG,UAAU,sBAEV,UAAA,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,2BACb,UAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,yBAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,SAAD,CAAQ,UAAU,wBAAlB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,uBACX,SAAA,EAAE,WAAW,CACZ,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,0BACV,SAAA,EAAE,cAAc,CAChB,CAAA,CACG,CAER,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,yBAAnB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,UAAU,CAAM,CAAA,GAEvB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,KAAK,CACP,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,iBAAiB,CAAM,CAAA,GAC9B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAI,EAAE,iBAAiB,CAAK,CAAA,GAC5B,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SACG,EAAE,YAAY,CAAC,CAAC,MAAM;CAAI,CAAC,CAAC,KAAK,EAAM,KACtC,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAa,CAAS,EAAb,CAAa,CACvB,CACC,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,iBAAiB,CAAM,CAAA,GAC9B,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CACG,EAAE,iBAAiB,EAAG,KACvB,EAAA,EAAA,IAAA,CAAC,IAAD,CACE,KAAK,8FACL,OAAO,SACP,IAAI,sBACJ,UAAU,sBAET,SAAA,EAAE,gBAAgB,CAClB,CAAA,EACF,EAAE,oBAAoB,CACtB,CAAA,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SACG,EAAE,YAAY,CAAC,CAAC,MAAM;CAAI,CAAC,CAAC,KAAK,EAAM,KACtC,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAa,CAAS,EAAb,CAAa,CACvB,CACC,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,uBAAuB,CAAM,CAAA,GACpC,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAI,EAAE,uBAAuB,CAAK,CAAA,GAClC,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SACG,EAAE,kBAAkB,CAAC,CAAC,MAAM;CAAI,CAAC,CAAC,KAAK,EAAM,KAC5C,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAa,CAAS,EAAb,CAAa,CACvB,CACC,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,iBAAiB,CAAM,CAAA,GAC9B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,YAAY,CACd,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,cAAc,CAAM,CAAA,GAC3B,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CACG,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IACtC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,GAAI,IAAI,EAAO,UAAW,UAAU,sBACvC,SAAA,EAAE,aAAa,CACZ,CAAA,EACL,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACrC,CAAA,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,SAAS,CAAM,CAAA,GACtB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,IAAI,CACN,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,gBAAgB,CAAM,CAAA,GAC7B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,WAAW,CACb,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,cAAc,CAAM,CAAA,GAC3B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,SAAS,CACX,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,cAAc,CAAM,CAAA,GAC3B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,SAAS,CACX,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,UAAU,wBAChB,UAAA,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,cAAe,CAAE,KAAM,IAAI,KAAK,CAAA,CAAE,mBAAmB,CAAE,CAAC,CAC1D,CAAA,CACG,CAAA,CACD,CAEN,CAAA,CAAA,GACF,CAAA,CACK,CAAA,CAEhB"}
1
+ {"version":3,"file":"page-IQiRcQOl.js","names":[],"sources":["../../src/app/[locale]/terms/page.tsx"],"sourcesContent":["import { useContext } from 'react';\nimport { Link } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\nimport { useLocale } from '@/i18n/routing';\nimport { PageLayout } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\n\nexport default function TermsOfService() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Terms.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const locale = useLocale();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">\n {t('pageTitle')}\n </h1>\n <p className=\"semiont-static-subtitle\">\n {t('pageSubtitle')}\n </p>\n </header>\n\n <article className=\"semiont-static-article\">\n <h2>{t('aupTitle')}</h2>\n\n <p>\n {t('aup')}\n </p>\n\n <h3>{t('prohibitedTitle')}</h3>\n <p>{t('prohibitedIntro')}</p>\n <ul>\n {t('prohibited').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('aiAllianceTitle')}</h3>\n <p>\n {t('aiAllianceIntro')}{' '}\n <a\n href=\"https://ai-alliance.cdn.prismic.io/ai-alliance/Zl-MG5m069VX1dgH_AIAllianceCodeofConduct.pdf\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"semiont-static-link\"\n >\n {t('aiAllianceLink')}\n </a>\n {t('aiAllianceIncludes')}\n </p>\n <ul>\n {t('aiAlliance').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('responsibilitiesTitle')}</h3>\n <p>{t('responsibilitiesIntro')}</p>\n <ul>\n {t('responsibilities').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('moderationTitle')}</h3>\n <p>\n {t('moderation')}\n </p>\n\n <h3>{t('privacyTitle')}</h3>\n <p>\n {t('privacy').split(t('privacyLink'))[0]}\n <Link to={`/${locale}/privacy`} className=\"semiont-static-link\">\n {t('privacyLink')}\n </Link>\n {t('privacy').split(t('privacyLink'))[1]}\n </p>\n\n <h3>{t('ipTitle')}</h3>\n <p>\n {t('ip')}\n </p>\n\n <h3>{t('liabilityTitle')}</h3>\n <p>\n {t('liability')}\n </p>\n\n <h3>{t('changesTitle')}</h3>\n <p>\n {t('changes')}\n </p>\n\n <h3>{t('contactTitle')}</h3>\n <p>\n {t('contact')}\n </p>\n\n <footer className=\"semiont-static-footer\">\n <p>\n {t('lastUpdated', { date: new Date().toLocaleDateString() })}\n </p>\n </footer>\n </article>\n\n </div>\n </div>\n </PageLayout>\n );\n}"],"mappings":"sZASA,SAAwB,GAAiB,CACvC,GAAM,CAAE,EAAG,GAAO,EAAe,EAC3B,GAAK,EAAW,IAAgC,EAAG,SAAS,IAAK,CAAQ,EACzE,CAAE,EAAG,GAAa,EAAe,EACjC,GAAW,EAAW,IAAgC,EAAS,UAAU,IAAK,CAAQ,EACtF,CAAE,EAAG,GAAU,EAAe,EAC9B,GAAQ,EAAW,IAAgC,EAAM,cAAc,IAAK,CAAQ,EACpF,CAAE,EAAG,GAAW,EAAe,EAC/B,GAAS,EAAW,IAAgC,EAAO,QAAQ,IAAK,CAAQ,EAChF,EAAS,EAAU,EACnB,GAAA,EAAkB,EAAA,WAAA,CAAW,CAAwB,EAE3D,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EACE,SACR,EAAG,EACG,OACC,QACY,oBACnB,GAAK,GAAiB,kBAAoB,CAAE,mBAAoB,EAAgB,gBAAiB,EACjG,UAAU,sBAEV,UAAA,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,2BACb,UAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,yBAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,SAAD,CAAQ,UAAU,wBAAlB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,uBACX,SAAA,EAAE,WAAW,CACZ,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,0BACV,SAAA,EAAE,cAAc,CAChB,CAAA,CACG,CAER,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,yBAAnB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,UAAU,CAAM,CAAA,GAEvB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,KAAK,CACP,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,iBAAiB,CAAM,CAAA,GAC9B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAI,EAAE,iBAAiB,CAAK,CAAA,GAC5B,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SACG,EAAE,YAAY,CAAC,CAAC,MAAM;CAAI,CAAC,CAAC,KAAK,EAAM,KACtC,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAa,CAAS,EAAb,CAAa,CACvB,CACC,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,iBAAiB,CAAM,CAAA,GAC9B,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CACG,EAAE,iBAAiB,EAAG,KACvB,EAAA,EAAA,IAAA,CAAC,IAAD,CACE,KAAK,8FACL,OAAO,SACP,IAAI,sBACJ,UAAU,sBAET,SAAA,EAAE,gBAAgB,CAClB,CAAA,EACF,EAAE,oBAAoB,CACtB,CAAA,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SACG,EAAE,YAAY,CAAC,CAAC,MAAM;CAAI,CAAC,CAAC,KAAK,EAAM,KACtC,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAa,CAAS,EAAb,CAAa,CACvB,CACC,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,uBAAuB,CAAM,CAAA,GACpC,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SAAI,EAAE,uBAAuB,CAAK,CAAA,GAClC,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SACG,EAAE,kBAAkB,CAAC,CAAC,MAAM;CAAI,CAAC,CAAC,KAAK,EAAM,KAC5C,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAa,CAAS,EAAb,CAAa,CACvB,CACC,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,iBAAiB,CAAM,CAAA,GAC9B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,YAAY,CACd,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,cAAc,CAAM,CAAA,GAC3B,EAAA,EAAA,KAAA,CAAC,IAAD,CAAA,SAAA,CACG,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IACtC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAM,GAAI,IAAI,EAAO,UAAW,UAAU,sBACvC,SAAA,EAAE,aAAa,CACZ,CAAA,EACL,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACrC,CAAA,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,SAAS,CAAM,CAAA,GACtB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,IAAI,CACN,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,gBAAgB,CAAM,CAAA,GAC7B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,WAAW,CACb,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,cAAc,CAAM,CAAA,GAC3B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,SAAS,CACX,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAE,cAAc,CAAM,CAAA,GAC3B,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,SAAS,CACX,CAAA,GAEH,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,UAAU,wBAChB,UAAA,EAAA,EAAA,IAAA,CAAC,IAAD,CAAA,SACG,EAAE,cAAe,CAAE,KAAM,IAAI,KAAK,CAAA,CAAE,mBAAmB,CAAE,CAAC,CAC1D,CAAA,CACG,CAAA,CACD,CAEN,CAAA,CAAA,GACF,CAAA,CACK,CAAA,CAEhB"}
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-CywLsdxn.js";import{t as r}from"./vendor-vK2W55bZ.js";import{$ as i,At as a,O as o,Y as s,et as c,j as l,t as u}from"./index-YWAso44K.js";import{t as d}from"./ToolbarPanels-ry6xWxyQ.js";import{t as f}from"./CommandLineIcon-B3W-9AYr.js";var p=e(t());function m({title:e,titleId:t,...n},r){return p.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?p.createElement(`title`,{id:t},e):null,p.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z`}))}var h=p.forwardRef(m);function g({title:e,titleId:t,...n},r){return p.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?p.createElement(`title`,{id:t},e):null,p.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z`}))}var _=p.forwardRef(g),v=r();function y(){let e=s(a().activeSession$),t=!!s(e?.user$);return(0,v.jsx)(o,{isFullyAuthenticated:t,isAuthenticated:t,hasValidGatewayToken:t})}function b(){let{t:e}=n(),t=(t,n)=>e(`AdminDevOps.${t}`,n),r=i(),a=s(r.activePanel$)??null,{theme:o}=c(),p=[{title:t(`systemMonitoring`),description:t(`systemMonitoringDescription`),icon:h,available:t(`systemMonitoringCLI`)},{title:t(`serviceManagement`),description:t(`serviceManagementDescription`),icon:_,available:t(`serviceManagementCLI`)},{title:t(`deploymentControl`),description:t(`deploymentControlDescription`),icon:f,available:t(`deploymentControlCLI`)}];return(0,v.jsx)(u,{suggestedFeatures:p,theme:o,activePanel:a,translations:{title:t(`title`),subtitle:t(`subtitle`),systemStatus:t(`systemStatus`),cliOperations:t(`cliOperations`),cliOperationsDescription:t(`cliOperationsDescription`),cliTitle:t(`cliTitle`),cliDescription:t(`cliDescription`)},StatusDisplay:y,ToolbarPanels:d,Toolbar:l})}export{b as default};
2
- //# sourceMappingURL=page-hf1byz9P.js.map
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-CywLsdxn.js";import{t as r}from"./vendor-vK2W55bZ.js";import{$ as i,At as a,O as o,Y as s,et as c,j as l,t as u}from"./index-Ojc52FmW.js";import{t as d}from"./ToolbarPanels-DMK1LAo0.js";import{t as f}from"./CommandLineIcon-B3W-9AYr.js";var p=e(t());function m({title:e,titleId:t,...n},r){return p.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?p.createElement(`title`,{id:t},e):null,p.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z`}))}var h=p.forwardRef(m);function g({title:e,titleId:t,...n},r){return p.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?p.createElement(`title`,{id:t},e):null,p.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z`}))}var _=p.forwardRef(g),v=r();function y(){let e=s(a().activeSession$),t=!!s(e?.user$);return(0,v.jsx)(o,{isFullyAuthenticated:t,isAuthenticated:t,hasValidGatewayToken:t})}function b(){let{t:e}=n(),t=(t,n)=>e(`AdminDevOps.${t}`,n),r=i(),a=s(r.activePanel$)??null,{theme:o}=c(),p=[{title:t(`systemMonitoring`),description:t(`systemMonitoringDescription`),icon:h,available:t(`systemMonitoringCLI`)},{title:t(`serviceManagement`),description:t(`serviceManagementDescription`),icon:_,available:t(`serviceManagementCLI`)},{title:t(`deploymentControl`),description:t(`deploymentControlDescription`),icon:f,available:t(`deploymentControlCLI`)}];return(0,v.jsx)(u,{suggestedFeatures:p,theme:o,activePanel:a,translations:{title:t(`title`),subtitle:t(`subtitle`),systemStatus:t(`systemStatus`),cliOperations:t(`cliOperations`),cliOperationsDescription:t(`cliOperationsDescription`),cliTitle:t(`cliTitle`),cliDescription:t(`cliDescription`)},StatusDisplay:y,ToolbarPanels:d,Toolbar:l})}export{b as default};
2
+ //# sourceMappingURL=page-Ln_Qh0ju.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-hf1byz9P.js","names":["ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ChartBarIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ServerIcon.js","../../src/app/[locale]/admin/devops/page.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ChartBarIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChartBarIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ServerIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ServerIcon);\nexport default ForwardRef;","/**\n * DevOps Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (translations, hooks)\n * and delegates rendering to the pure React AdminDevOpsPage component.\n */\n\nimport { useTranslation } from 'react-i18next';\nimport {\n ChartBarIcon,\n ServerIcon,\n CommandLineIcon\n} from '@heroicons/react/24/outline';\nimport { StatusDisplay, Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useSemiont } from '@semiont/react-ui';\nimport { AdminDevOpsPage } from '@semiont/react-ui';\n\n// Wrapper component that provides auth props to StatusDisplay.\n// The three booleans collapse to the same value (is the user authenticated?)\n// now that token and user are both session-owned.\nfunction StatusDisplayWithAuth() {\n const session = useObservable(useSemiont().activeSession$);\n const user = useObservable(session?.user$);\n const authed = !!user;\n return (\n <StatusDisplay\n isFullyAuthenticated={authed}\n isAuthenticated={authed}\n hasValidGatewayToken={authed}\n />\n );\n}\n\nexport default function DevOpsPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminDevOps.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const browseStateUnit = useShellStateUnit();\n const activePanel = useObservable(browseStateUnit.activePanel$) ?? null;\n const { theme } = useTheme();\n\n\n\n const suggestedFeatures = [\n {\n title: t('systemMonitoring'),\n description: t('systemMonitoringDescription'),\n icon: ChartBarIcon,\n available: t('systemMonitoringCLI')\n },\n {\n title: t('serviceManagement'),\n description: t('serviceManagementDescription'),\n icon: ServerIcon,\n available: t('serviceManagementCLI')\n },\n {\n title: t('deploymentControl'),\n description: t('deploymentControlDescription'),\n icon: CommandLineIcon,\n available: t('deploymentControlCLI')\n },\n ];\n\n return (\n <AdminDevOpsPage\n suggestedFeatures={suggestedFeatures}\n theme={theme}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n systemStatus: t('systemStatus'),\n cliOperations: t('cliOperations'),\n cliOperationsDescription: t('cliOperationsDescription'),\n cliTitle: t('cliTitle'),\n cliDescription: t('cliDescription'),\n }}\n StatusDisplay={StatusDisplayWithAuth}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"6UACA,SAAS,EAAa,CACpB,QACA,UACA,GAAG,GACF,EAAQ,CACT,OAAoB,EAAM,cAAc,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAK,EACL,kBAAmB,CACrB,EAAG,CAAK,EAAG,EAAqB,EAAM,cAAc,QAAS,CAC3D,GAAI,CACN,EAAG,CAAK,EAAI,KAAmB,EAAM,cAAc,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,kcACL,CAAC,CAAC,CACJ,CACA,IAAMA,EAA2B,EAAM,WAAW,CAAY,ECvB9D,SAAS,EAAW,CAClB,QACA,UACA,GAAG,GACF,EAAQ,CACT,OAAoB,EAAM,cAAc,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAK,EACL,kBAAmB,CACrB,EAAG,CAAK,EAAG,EAAqB,EAAM,cAAc,QAAS,CAC3D,GAAI,CACN,EAAG,CAAK,EAAI,KAAmB,EAAM,cAAc,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,2SACL,CAAC,CAAC,CACJ,CACA,IAAM,EAA2B,EAAM,WAAW,CAAU,QCH5D,SAAS,GAAwB,CAC/B,IAAM,EAAU,EAAc,EAAW,CAAC,CAAC,cAAc,EAEnD,EAAS,CAAC,CADH,EAAc,GAAS,KACnB,EACjB,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,qBAAsB,EACtB,gBAAiB,EACjB,qBAAsB,CACvB,CAAA,CAEL,CAEA,SAAwB,GAAa,CACnC,GAAM,CAAE,EAAG,GAAO,EAAe,EAC3B,GAAK,EAAW,IAAgC,EAAG,eAAe,IAAK,CAAQ,EAG/E,EAAkB,EAAkB,EACpC,EAAc,EAAc,EAAgB,YAAY,GAAK,KAC7D,CAAE,SAAU,EAAS,EAIrB,EAAoB,CACxB,CACE,MAAO,EAAE,kBAAkB,EAC3B,YAAa,EAAE,6BAA6B,EAC5C,KAAM,EACN,UAAW,EAAE,qBAAqB,CACpC,EACA,CACE,MAAO,EAAE,mBAAmB,EAC5B,YAAa,EAAE,8BAA8B,EAC7C,KAAM,EACN,UAAW,EAAE,sBAAsB,CACrC,EACA,CACE,MAAO,EAAE,mBAAmB,EAC5B,YAAa,EAAE,8BAA8B,EAC7C,KAAM,EACN,UAAW,EAAE,sBAAsB,CACrC,CACF,EAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACqB,oBACZ,QACM,cACb,aAAc,CACZ,MAAO,EAAE,OAAO,EAChB,SAAU,EAAE,UAAU,EACtB,aAAc,EAAE,cAAc,EAC9B,cAAe,EAAE,eAAe,EAChC,yBAA0B,EAAE,0BAA0B,EACtD,SAAU,EAAE,UAAU,EACtB,eAAgB,EAAE,gBAAgB,CACpC,EACA,cAAe,EACA,gBACN,SACV,CAAA,CAEL"}
1
+ {"version":3,"file":"page-Ln_Qh0ju.js","names":["ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ChartBarIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ServerIcon.js","../../src/app/[locale]/admin/devops/page.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ChartBarIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChartBarIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ServerIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ServerIcon);\nexport default ForwardRef;","/**\n * DevOps Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (translations, hooks)\n * and delegates rendering to the pure React AdminDevOpsPage component.\n */\n\nimport { useTranslation } from 'react-i18next';\nimport {\n ChartBarIcon,\n ServerIcon,\n CommandLineIcon\n} from '@heroicons/react/24/outline';\nimport { StatusDisplay, Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useSemiont } from '@semiont/react-ui';\nimport { AdminDevOpsPage } from '@semiont/react-ui';\n\n// Wrapper component that provides auth props to StatusDisplay.\n// The three booleans collapse to the same value (is the user authenticated?)\n// now that token and user are both session-owned.\nfunction StatusDisplayWithAuth() {\n const session = useObservable(useSemiont().activeSession$);\n const user = useObservable(session?.user$);\n const authed = !!user;\n return (\n <StatusDisplay\n isFullyAuthenticated={authed}\n isAuthenticated={authed}\n hasValidGatewayToken={authed}\n />\n );\n}\n\nexport default function DevOpsPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminDevOps.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const browseStateUnit = useShellStateUnit();\n const activePanel = useObservable(browseStateUnit.activePanel$) ?? null;\n const { theme } = useTheme();\n\n\n\n const suggestedFeatures = [\n {\n title: t('systemMonitoring'),\n description: t('systemMonitoringDescription'),\n icon: ChartBarIcon,\n available: t('systemMonitoringCLI')\n },\n {\n title: t('serviceManagement'),\n description: t('serviceManagementDescription'),\n icon: ServerIcon,\n available: t('serviceManagementCLI')\n },\n {\n title: t('deploymentControl'),\n description: t('deploymentControlDescription'),\n icon: CommandLineIcon,\n available: t('deploymentControlCLI')\n },\n ];\n\n return (\n <AdminDevOpsPage\n suggestedFeatures={suggestedFeatures}\n theme={theme}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n systemStatus: t('systemStatus'),\n cliOperations: t('cliOperations'),\n cliOperationsDescription: t('cliOperationsDescription'),\n cliTitle: t('cliTitle'),\n cliDescription: t('cliDescription'),\n }}\n StatusDisplay={StatusDisplayWithAuth}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"6UACA,SAAS,EAAa,CACpB,QACA,UACA,GAAG,GACF,EAAQ,CACT,OAAoB,EAAM,cAAc,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAK,EACL,kBAAmB,CACrB,EAAG,CAAK,EAAG,EAAqB,EAAM,cAAc,QAAS,CAC3D,GAAI,CACN,EAAG,CAAK,EAAI,KAAmB,EAAM,cAAc,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,kcACL,CAAC,CAAC,CACJ,CACA,IAAMA,EAA2B,EAAM,WAAW,CAAY,ECvB9D,SAAS,EAAW,CAClB,QACA,UACA,GAAG,GACF,EAAQ,CACT,OAAoB,EAAM,cAAc,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAK,EACL,kBAAmB,CACrB,EAAG,CAAK,EAAG,EAAqB,EAAM,cAAc,QAAS,CAC3D,GAAI,CACN,EAAG,CAAK,EAAI,KAAmB,EAAM,cAAc,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,2SACL,CAAC,CAAC,CACJ,CACA,IAAM,EAA2B,EAAM,WAAW,CAAU,QCH5D,SAAS,GAAwB,CAC/B,IAAM,EAAU,EAAc,EAAW,CAAC,CAAC,cAAc,EAEnD,EAAS,CAAC,CADH,EAAc,GAAS,KACnB,EACjB,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,qBAAsB,EACtB,gBAAiB,EACjB,qBAAsB,CACvB,CAAA,CAEL,CAEA,SAAwB,GAAa,CACnC,GAAM,CAAE,EAAG,GAAO,EAAe,EAC3B,GAAK,EAAW,IAAgC,EAAG,eAAe,IAAK,CAAQ,EAG/E,EAAkB,EAAkB,EACpC,EAAc,EAAc,EAAgB,YAAY,GAAK,KAC7D,CAAE,SAAU,EAAS,EAIrB,EAAoB,CACxB,CACE,MAAO,EAAE,kBAAkB,EAC3B,YAAa,EAAE,6BAA6B,EAC5C,KAAM,EACN,UAAW,EAAE,qBAAqB,CACpC,EACA,CACE,MAAO,EAAE,mBAAmB,EAC5B,YAAa,EAAE,8BAA8B,EAC7C,KAAM,EACN,UAAW,EAAE,sBAAsB,CACrC,EACA,CACE,MAAO,EAAE,mBAAmB,EAC5B,YAAa,EAAE,8BAA8B,EAC7C,KAAM,EACN,UAAW,EAAE,sBAAsB,CACrC,CACF,EAEA,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACqB,oBACZ,QACM,cACb,aAAc,CACZ,MAAO,EAAE,OAAO,EAChB,SAAU,EAAE,UAAU,EACtB,aAAc,EAAE,cAAc,EAC9B,cAAe,EAAE,eAAe,EAChC,yBAA0B,EAAE,0BAA0B,EACtD,SAAU,EAAE,UAAU,EACtB,eAAgB,EAAE,gBAAgB,CACpC,EACA,cAAe,EACA,gBACN,SACV,CAAA,CAEL"}
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-CywLsdxn.js";import{d as r,f as i,r as a,t as o,u as s}from"./vendor-vK2W55bZ.js";import{fn as c}from"./index-YWAso44K.js";var l=e(t()),u=o(),d=l.forwardRef(function({to:e,...t},r){let{i18n:o}=n(),s=i(),c=o.language||s.locale||`en`,l=typeof e==`string`?`/${c}${e.startsWith(`/`)?e:`/${e}`}`:e;return(0,u.jsx)(a,{ref:r,to:l,...t})});function f(){let e=r(),{i18n:t}=n(),a=i();function o(e,n){return`/${n||t.language||a.locale||`en`}${e.startsWith(`/`)?e:`/${e}`}`}return{push(t,n){e(o(t,n?.locale))},replace(t,n){e(o(t,n?.locale),{replace:!0})},back(){e(-1)},forward(){e(1)},refresh(){window.location.reload()},prefetch(e){}}}function p(){let{pathname:e}=s(),t=e.match(/^\/[a-z]{2}(\/.*)?$/);return t?t[1]??`/`:e}function m(){let e=i(),{i18n:t}=n(),r=e.locale;return r&&c(r)?r:t.language||`en`}export{f as i,m as n,p as r,d as t};
2
- //# sourceMappingURL=routing-Dn3ADPMa.js.map
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-CywLsdxn.js";import{d as r,f as i,r as a,t as o,u as s}from"./vendor-vK2W55bZ.js";import{fn as c}from"./index-Ojc52FmW.js";var l=e(t()),u=o(),d=l.forwardRef(function({to:e,...t},r){let{i18n:o}=n(),s=i(),c=o.language||s.locale||`en`,l=typeof e==`string`?`/${c}${e.startsWith(`/`)?e:`/${e}`}`:e;return(0,u.jsx)(a,{ref:r,to:l,...t})});function f(){let e=r(),{i18n:t}=n(),a=i();function o(e,n){return`/${n||t.language||a.locale||`en`}${e.startsWith(`/`)?e:`/${e}`}`}return{push(t,n){e(o(t,n?.locale))},replace(t,n){e(o(t,n?.locale),{replace:!0})},back(){e(-1)},forward(){e(1)},refresh(){window.location.reload()},prefetch(e){}}}function p(){let{pathname:e}=s(),t=e.match(/^\/[a-z]{2}(\/.*)?$/);return t?t[1]??`/`:e}function m(){let e=i(),{i18n:t}=n(),r=e.locale;return r&&c(r)?r:t.language||`en`}export{f as i,m as n,p as r,d as t};
2
+ //# sourceMappingURL=routing-CjmlBUw_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing-Dn3ADPMa.js","names":[],"sources":["../../src/i18n/routing.tsx"],"sourcesContent":["/**\n * Routing abstraction layer — React Router implementation\n *\n * All call sites import from @/i18n/routing and do not need to change\n * when the underlying router changes.\n *\n * Key behaviours:\n * - Link: locale-prefixed anchor rendered via react-router\n * - useRouter: locale-aware push/replace/back\n * - usePathname: returns path WITHOUT locale prefix\n * - redirect: programmatic navigation without locale prefix\n */\n\nimport React from 'react';\nimport {\n Link as RouterLink,\n useNavigate,\n useLocation,\n useParams,\n Navigate,\n} from 'react-router';\nimport { useTranslation } from 'react-i18next';\nimport { SUPPORTED_LOCALES, DEFAULT_LOCALE, isSupportedLocale } from './config';\n\nexport { SUPPORTED_LOCALES, DEFAULT_LOCALE };\n\n// ── Link ─────────────────────────────────────────────────────────────────────\n\ntype LinkProps = React.ComponentProps<typeof RouterLink>;\n\n/**\n * Locale-aware Link. Prepends the current locale to the href.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function Link({ to, ...props }, ref) {\n const { i18n } = useTranslation();\n const params = useParams<{ locale?: string }>();\n const locale = i18n.language || params.locale || DEFAULT_LOCALE;\n const target = typeof to === 'string' ? `/${locale}${to.startsWith('/') ? to : `/${to}`}` : to;\n return <RouterLink ref={ref} to={target} {...props} />;\n },\n);\n\n// ── useRouter ─────────────────────────────────────────────────────────────────\n\ntype RouterOptions = { locale?: string };\n\nexport function useRouter() {\n const navigate = useNavigate();\n const { i18n } = useTranslation();\n const params = useParams<{ locale?: string }>();\n\n function prefixLocale(path: string, locale?: string): string {\n const lang = locale || i18n.language || params.locale || DEFAULT_LOCALE;\n return `/${lang}${path.startsWith('/') ? path : `/${path}`}`;\n }\n\n return {\n push(path: string, options?: RouterOptions) {\n navigate(prefixLocale(path, options?.locale));\n },\n replace(path: string, options?: RouterOptions) {\n navigate(prefixLocale(path, options?.locale), { replace: true });\n },\n back() {\n navigate(-1);\n },\n forward() {\n navigate(1);\n },\n refresh() {\n window.location.reload();\n },\n prefetch(_path: string) {\n // No-op: Vite/React Router handles prefetching differently\n },\n };\n}\n\n// ── usePathname ───────────────────────────────────────────────────────────────\n\n/**\n * Returns the path WITHOUT the locale prefix.\n * e.g. /en/know/discover → /know/discover\n */\nexport function usePathname(): string {\n const { pathname } = useLocation();\n // Strip leading /{locale}\n const match = pathname.match(/^\\/[a-z]{2}(\\/.*)?$/);\n if (match) {\n return match[1] ?? '/';\n }\n return pathname;\n}\n\n// ── redirect ─────────────────────────────────────────────────────────────────\n\n/**\n * Render a redirect component. Pass { href, locale } to redirect with locale,\n * or just a string href to redirect to an absolute path.\n */\nexport function redirect(target: string | { href: string; locale?: string }): React.ReactElement {\n const { i18n } = useTranslation();\n const locale = typeof target === 'string' ? (i18n.language || DEFAULT_LOCALE) : (target.locale || i18n.language || DEFAULT_LOCALE);\n const href = typeof target === 'string' ? target : target.href;\n const to = `/${locale}${href.startsWith('/') ? href : `/${href}`}`;\n return <Navigate to={to} replace />;\n}\n\n// ── useParams with locale ────────────────────────────────────────────────────\n\nexport function useLocale(): string {\n const params = useParams<{ locale?: string }>();\n const { i18n } = useTranslation();\n const localeFromParams = params.locale;\n if (localeFromParams && isSupportedLocale(localeFromParams)) {\n return localeFromParams;\n }\n return i18n.language || DEFAULT_LOCALE;\n}\n"],"mappings":"kOAiCa,EAAA,EAAa,WACxB,SAAc,CAAE,KAAI,GAAG,GAAS,EAAK,CACnC,GAAM,CAAE,QAAS,EAAe,EAC1B,EAAS,EAA+B,EACxC,EAAS,EAAK,UAAY,EAAO,QAAA,KACjC,EAAS,OAAO,GAAO,SAAW,IAAI,IAAS,EAAG,WAAW,GAAG,EAAI,EAAK,IAAI,MAAS,EAC5F,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,MAAK,GAAI,EAAQ,GAAI,CAAQ,CAAA,CACvD,CACF,EAMA,SAAgB,GAAY,CAC1B,IAAM,EAAW,EAAY,EACvB,CAAE,QAAS,EAAe,EAC1B,EAAS,EAA+B,EAE9C,SAAS,EAAa,EAAc,EAAyB,CAE3D,MAAO,IADM,GAAU,EAAK,UAAY,EAAO,QAAA,OAC7B,EAAK,WAAW,GAAG,EAAI,EAAO,IAAI,KACtD,CAEA,MAAO,CACL,KAAK,EAAc,EAAyB,CAC1C,EAAS,EAAa,EAAM,GAAS,MAAM,CAAC,CAC9C,EACA,QAAQ,EAAc,EAAyB,CAC7C,EAAS,EAAa,EAAM,GAAS,MAAM,EAAG,CAAE,QAAS,EAAK,CAAC,CACjE,EACA,MAAO,CACL,EAAS,EAAE,CACb,EACA,SAAU,CACR,EAAS,CAAC,CACZ,EACA,SAAU,CACR,OAAO,SAAS,OAAO,CACzB,EACA,SAAS,EAAe,CAExB,CACF,CACF,CAQA,SAAgB,GAAsB,CACpC,GAAM,CAAE,YAAa,EAAY,EAE3B,EAAQ,EAAS,MAAM,qBAAqB,EAIlD,OAHI,EACK,EAAM,IAAM,IAEd,CACT,CAkBA,SAAgB,GAAoB,CAClC,IAAM,EAAS,EAA+B,EACxC,CAAE,QAAS,EAAe,EAC1B,EAAmB,EAAO,OAIhC,OAHI,GAAoB,EAAkB,CAAgB,EACjD,EAEF,EAAK,UAAA,IACd"}
1
+ {"version":3,"file":"routing-CjmlBUw_.js","names":[],"sources":["../../src/i18n/routing.tsx"],"sourcesContent":["/**\n * Routing abstraction layer — React Router implementation\n *\n * All call sites import from @/i18n/routing and do not need to change\n * when the underlying router changes.\n *\n * Key behaviours:\n * - Link: locale-prefixed anchor rendered via react-router\n * - useRouter: locale-aware push/replace/back\n * - usePathname: returns path WITHOUT locale prefix\n * - redirect: programmatic navigation without locale prefix\n */\n\nimport React from 'react';\nimport {\n Link as RouterLink,\n useNavigate,\n useLocation,\n useParams,\n Navigate,\n} from 'react-router';\nimport { useTranslation } from 'react-i18next';\nimport { SUPPORTED_LOCALES, DEFAULT_LOCALE, isSupportedLocale } from './config';\n\nexport { SUPPORTED_LOCALES, DEFAULT_LOCALE };\n\n// ── Link ─────────────────────────────────────────────────────────────────────\n\ntype LinkProps = React.ComponentProps<typeof RouterLink>;\n\n/**\n * Locale-aware Link. Prepends the current locale to the href.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function Link({ to, ...props }, ref) {\n const { i18n } = useTranslation();\n const params = useParams<{ locale?: string }>();\n const locale = i18n.language || params.locale || DEFAULT_LOCALE;\n const target = typeof to === 'string' ? `/${locale}${to.startsWith('/') ? to : `/${to}`}` : to;\n return <RouterLink ref={ref} to={target} {...props} />;\n },\n);\n\n// ── useRouter ─────────────────────────────────────────────────────────────────\n\ntype RouterOptions = { locale?: string };\n\nexport function useRouter() {\n const navigate = useNavigate();\n const { i18n } = useTranslation();\n const params = useParams<{ locale?: string }>();\n\n function prefixLocale(path: string, locale?: string): string {\n const lang = locale || i18n.language || params.locale || DEFAULT_LOCALE;\n return `/${lang}${path.startsWith('/') ? path : `/${path}`}`;\n }\n\n return {\n push(path: string, options?: RouterOptions) {\n navigate(prefixLocale(path, options?.locale));\n },\n replace(path: string, options?: RouterOptions) {\n navigate(prefixLocale(path, options?.locale), { replace: true });\n },\n back() {\n navigate(-1);\n },\n forward() {\n navigate(1);\n },\n refresh() {\n window.location.reload();\n },\n prefetch(_path: string) {\n // No-op: Vite/React Router handles prefetching differently\n },\n };\n}\n\n// ── usePathname ───────────────────────────────────────────────────────────────\n\n/**\n * Returns the path WITHOUT the locale prefix.\n * e.g. /en/know/discover → /know/discover\n */\nexport function usePathname(): string {\n const { pathname } = useLocation();\n // Strip leading /{locale}\n const match = pathname.match(/^\\/[a-z]{2}(\\/.*)?$/);\n if (match) {\n return match[1] ?? '/';\n }\n return pathname;\n}\n\n// ── redirect ─────────────────────────────────────────────────────────────────\n\n/**\n * Render a redirect component. Pass { href, locale } to redirect with locale,\n * or just a string href to redirect to an absolute path.\n */\nexport function redirect(target: string | { href: string; locale?: string }): React.ReactElement {\n const { i18n } = useTranslation();\n const locale = typeof target === 'string' ? (i18n.language || DEFAULT_LOCALE) : (target.locale || i18n.language || DEFAULT_LOCALE);\n const href = typeof target === 'string' ? target : target.href;\n const to = `/${locale}${href.startsWith('/') ? href : `/${href}`}`;\n return <Navigate to={to} replace />;\n}\n\n// ── useParams with locale ────────────────────────────────────────────────────\n\nexport function useLocale(): string {\n const params = useParams<{ locale?: string }>();\n const { i18n } = useTranslation();\n const localeFromParams = params.locale;\n if (localeFromParams && isSupportedLocale(localeFromParams)) {\n return localeFromParams;\n }\n return i18n.language || DEFAULT_LOCALE;\n}\n"],"mappings":"kOAiCa,EAAA,EAAa,WACxB,SAAc,CAAE,KAAI,GAAG,GAAS,EAAK,CACnC,GAAM,CAAE,QAAS,EAAe,EAC1B,EAAS,EAA+B,EACxC,EAAS,EAAK,UAAY,EAAO,QAAA,KACjC,EAAS,OAAO,GAAO,SAAW,IAAI,IAAS,EAAG,WAAW,GAAG,EAAI,EAAK,IAAI,MAAS,EAC5F,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,MAAK,GAAI,EAAQ,GAAI,CAAQ,CAAA,CACvD,CACF,EAMA,SAAgB,GAAY,CAC1B,IAAM,EAAW,EAAY,EACvB,CAAE,QAAS,EAAe,EAC1B,EAAS,EAA+B,EAE9C,SAAS,EAAa,EAAc,EAAyB,CAE3D,MAAO,IADM,GAAU,EAAK,UAAY,EAAO,QAAA,OAC7B,EAAK,WAAW,GAAG,EAAI,EAAO,IAAI,KACtD,CAEA,MAAO,CACL,KAAK,EAAc,EAAyB,CAC1C,EAAS,EAAa,EAAM,GAAS,MAAM,CAAC,CAC9C,EACA,QAAQ,EAAc,EAAyB,CAC7C,EAAS,EAAa,EAAM,GAAS,MAAM,EAAG,CAAE,QAAS,EAAK,CAAC,CACjE,EACA,MAAO,CACL,EAAS,EAAE,CACb,EACA,SAAU,CACR,EAAS,CAAC,CACZ,EACA,SAAU,CACR,OAAO,SAAS,OAAO,CACzB,EACA,SAAS,EAAe,CAExB,CACF,CACF,CAQA,SAAgB,GAAsB,CACpC,GAAM,CAAE,YAAa,EAAY,EAE3B,EAAQ,EAAS,MAAM,qBAAqB,EAIlD,OAHI,EACK,EAAM,IAAM,IAEd,CACT,CAkBA,SAAgB,GAAoB,CAClC,IAAM,EAAS,EAA+B,EACxC,CAAE,QAAS,EAAe,EAC1B,EAAmB,EAAO,OAIhC,OAHI,GAAoB,EAAkB,CAAgB,EACjD,EAEF,EAAK,UAAA,IACd"}
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./i18n-CywLsdxn.js";import{t as n}from"./vendor-vK2W55bZ.js";import{t as r}from"./routing-Dn3ADPMa.js";var i=e(t()),a=n(),o=i.forwardRef(function({href:e,...t},n){return(0,a.jsx)(r,{ref:n,to:e,...t})}),s={resourceDetail:e=>`/know/resource/${e}`,userProfile:e=>`/users/${e}`,search:e=>`/search?q=${encodeURIComponent(e)}`,home:()=>`/`,about:()=>`/about`,privacy:()=>`/privacy`,terms:()=>`/terms`,knowledge:()=>`/know`,moderate:()=>`/moderate`,admin:()=>`/admin`};export{s as n,o as t};
2
- //# sourceMappingURL=routing-BcZYLYt6.js.map
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./i18n-CywLsdxn.js";import{t as n}from"./vendor-vK2W55bZ.js";import{t as r}from"./routing-CjmlBUw_.js";var i=e(t()),a=n(),o=i.forwardRef(function({href:e,...t},n){return(0,a.jsx)(r,{ref:n,to:e,...t})}),s={resourceDetail:e=>`/know/resource/${e}`,userProfile:e=>`/users/${e}`,search:e=>`/search?q=${encodeURIComponent(e)}`,home:()=>`/`,about:()=>`/about`,privacy:()=>`/privacy`,terms:()=>`/terms`,knowledge:()=>`/know`,moderate:()=>`/moderate`,admin:()=>`/admin`};export{s as n,o as t};
2
+ //# sourceMappingURL=routing-DMkxvd2j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing-BcZYLYt6.js","names":[],"sources":["../../src/lib/routing.tsx"],"sourcesContent":["/**\n * Routing configuration for Semiont frontend\n *\n * This module provides the concrete implementation of the RoutingContext\n * interface for the React Router-based frontend application.\n */\n\nimport React from 'react';\nimport { Link as NextLink } from '@/i18n/routing';\nimport type { RouteBuilder, LinkComponentProps } from '@semiont/react-ui';\nimport type { ComponentType } from 'react';\n\n/**\n * Adapter: react-ui components pass `href`, but React Router Link expects `to`.\n */\nconst LinkAdapter = React.forwardRef<HTMLAnchorElement, LinkComponentProps>(\n function LinkAdapter({ href, ...props }, ref) {\n return <NextLink ref={ref} to={href} {...props} />;\n }\n);\nexport const Link: ComponentType<LinkComponentProps> = LinkAdapter as any;\n\n/**\n * Route builder for Semiont frontend\n */\nexport const routes: RouteBuilder = {\n resourceDetail: (id: string) => `/know/resource/${id}`,\n userProfile: (id: string) => `/users/${id}`,\n search: (query: string) => `/search?q=${encodeURIComponent(query)}`,\n home: () => '/',\n about: () => '/about',\n privacy: () => '/privacy',\n terms: () => '/terms',\n knowledge: () => '/know',\n moderate: () => '/moderate',\n admin: () => '/admin',\n};\n"],"mappings":"gMAoBa,EALP,EAAoB,WACxB,SAAqB,CAAE,OAAM,GAAG,GAAS,EAAK,CAC5C,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,MAAK,GAAI,EAAM,GAAI,CAAQ,CAAA,CACnD,CAEqD,EAK1C,EAAuB,CAClC,eAAiB,GAAe,kBAAkB,IAClD,YAAc,GAAe,UAAU,IACvC,OAAS,GAAkB,aAAa,mBAAmB,CAAK,IAChE,SAAY,IACZ,UAAa,SACb,YAAe,WACf,UAAa,SACb,cAAiB,QACjB,aAAgB,YAChB,UAAa,QACf"}
1
+ {"version":3,"file":"routing-DMkxvd2j.js","names":[],"sources":["../../src/lib/routing.tsx"],"sourcesContent":["/**\n * Routing configuration for Semiont frontend\n *\n * This module provides the concrete implementation of the RoutingContext\n * interface for the React Router-based frontend application.\n */\n\nimport React from 'react';\nimport { Link as NextLink } from '@/i18n/routing';\nimport type { RouteBuilder, LinkComponentProps } from '@semiont/react-ui';\nimport type { ComponentType } from 'react';\n\n/**\n * Adapter: react-ui components pass `href`, but React Router Link expects `to`.\n */\nconst LinkAdapter = React.forwardRef<HTMLAnchorElement, LinkComponentProps>(\n function LinkAdapter({ href, ...props }, ref) {\n return <NextLink ref={ref} to={href} {...props} />;\n }\n);\nexport const Link: ComponentType<LinkComponentProps> = LinkAdapter as any;\n\n/**\n * Route builder for Semiont frontend\n */\nexport const routes: RouteBuilder = {\n resourceDetail: (id: string) => `/know/resource/${id}`,\n userProfile: (id: string) => `/users/${id}`,\n search: (query: string) => `/search?q=${encodeURIComponent(query)}`,\n home: () => '/',\n about: () => '/about',\n privacy: () => '/privacy',\n terms: () => '/terms',\n knowledge: () => '/know',\n moderate: () => '/moderate',\n admin: () => '/admin',\n};\n"],"mappings":"gMAoBa,EALP,EAAoB,WACxB,SAAqB,CAAE,OAAM,GAAG,GAAS,EAAK,CAC5C,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,MAAK,GAAI,EAAM,GAAI,CAAQ,CAAA,CACnD,CAEqD,EAK1C,EAAuB,CAClC,eAAiB,GAAe,kBAAkB,IAClD,YAAc,GAAe,UAAU,IACvC,OAAS,GAAkB,aAAa,mBAAmB,CAAK,IAChE,SAAY,IACZ,UAAa,SACb,YAAe,WACf,UAAa,SACb,cAAiB,QACjB,aAAgB,YAChB,UAAa,QACf"}
@@ -1,2 +1,2 @@
1
- import{Bt as e,Gt as t,Ht as n,Jt as r,Kt as i,Qt as a,Ut as o,Vt as s,Wt as c,Xt as l,Yt as u,Zt as d,qt as f,zt as p}from"./index-YWAso44K.js";var ee;(function(e){e[e.NOT_RECORD=0]=`NOT_RECORD`,e[e.RECORD=1]=`RECORD`,e[e.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(ee||={});var m=a.instance(),h=class{_delegate;constructor(e){this._delegate=e}export(e,t){this._delegate.export(e,t)}forceFlush(){return this._delegate.forceFlush()}shutdown(){return this._delegate.shutdown()}setMetrics(e){this._delegate.setMetrics(e)}},g=class extends Error{code;name=`OTLPExporterError`;data;constructor(e,t,n){super(e),this.data=n,this.code=t}};function te(e){if(Number.isFinite(e)&&e>0)return e;throw Error(`Configuration: timeoutMillis is invalid, expected number greater than 0 (actual: '${e}')`)}function _(e){if(e!=null)return async()=>e}function ne(e,t,n){return{timeoutMillis:te(e.timeoutMillis??t.timeoutMillis??n.timeoutMillis),concurrencyLimit:e.concurrencyLimit??t.concurrencyLimit??n.concurrencyLimit,compression:e.compression??t.compression??n.compression}}function re(){return{timeoutMillis:1e4,concurrencyLimit:30,compression:`none`}}var v=class{_concurrencyLimit;_sendingPromises=[];constructor(e){this._concurrencyLimit=e}pushPromise(e){if(this.hasReachedLimit())throw Error(`Concurrency Limit reached`);this._sendingPromises.push(e);let t=()=>{let t=this._sendingPromises.indexOf(e);this._sendingPromises.splice(t,1)};e.then(t,t)}hasReachedLimit(){return this._sendingPromises.length>=this._concurrencyLimit}async awaitAll(){await Promise.all(this._sendingPromises)}};function ie(e){return new v(e.concurrencyLimit)}var ae=l(`OpenTelemetry SDK Context Key SUPPRESS_TRACING`);function oe(e){return e.setValue(ae,!0)}function y(e){return e.getValue(ae)===!0}var b=`baggage`,se=4096;function ce(e){return e.reduce((e,t)=>{let n=`${e}${e===``?``:`,`}${t}`;return n.length>8192?e:n},``)}function le(e){return e.getAllEntries().map(([e,t])=>{let n=`${encodeURIComponent(e)}=${encodeURIComponent(t.value)}`;return t.metadata!==void 0&&(n+=`;`+t.metadata.toString()),n})}function ue(e){if(!e)return;let t=e.indexOf(`;`),n=t===-1?e:e.substring(0,t),r=n.indexOf(`=`);if(r<=0)return;let i=n.substring(0,r).trim(),a=n.substring(r+1).trim();if(!i||!a)return;let o,s;try{o=decodeURIComponent(i),s=decodeURIComponent(a)}catch{return}let c;if(t!==-1&&t<e.length-1){let n=e.substring(t+1);c=d(n)}return{key:o,value:s,metadata:c}}function de(e,t,n,r){let i=0;for(;i<e.length&&n<180;){let a=e.indexOf(`,`,i),o=a===-1?e.length:a,s=o-i;if(s<=4096){let a=ue(e.substring(i,o));if(a){let e=(n===0?0:1)+s;if(r+e>8192)break;t[a.key]=a.metadata?{value:a.value,metadata:a.metadata}:{value:a.value},n++,r+=e}}if(a===-1)break;i=a+1}return[n,r]}var fe=class{inject(t,n,r){let i=e.getBaggage(t);if(!i||y(t))return;let a=ce(le(i).filter(e=>e.length<=se).slice(0,180));a.length>0&&r.set(n,b,a)}extract(t,n,r){let i=r.get(n,b);if(!i)return t;let a={},o=0,s=0;if(Array.isArray(i))for(let e=0;e<i.length;e++)[o,s]=de(i[e],a,o,s);else[o]=de(i,a,o,s);return o===0?t:e.setBaggage(t,e.createBaggage(a))}fields(){return[b]}};function x(e){let t={};if(typeof e!=`object`||!e)return t;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if(!pe(n)){m.warn(`Invalid attribute key: ${n}`);continue}let r=e[n];if(!me(r)){m.warn(`Invalid attribute value set for key: ${n}`);continue}t[n]=Array.isArray(r)?r.slice():r}return t}function pe(e){return typeof e==`string`&&e!==``}function me(e){return e==null?!0:Array.isArray(e)?he(e):ge(typeof e)}function he(e){let t;for(let n of e){if(n==null)continue;let e=typeof n;if(e!==t){if(!t){if(ge(e)){t=e;continue}return!1}return!1}}return!0}function ge(e){switch(e){case`number`:case`boolean`:case`string`:return!0}return!1}function _e(){return e=>{m.error(ve(e))}}function ve(e){return typeof e==`string`?e:JSON.stringify(ye(e))}function ye(e){let t={},n=e;for(;n!==null;)Object.getOwnPropertyNames(n).forEach(e=>{if(t[e])return;let r=n[e];r&&(t[e]=String(r))}),n=Object.getPrototypeOf(n);return t}var be=_e();function S(e){try{be(e)}catch{}}var xe=`2.11.0`,Se=`error.type`,Ce=`exception.message`,we=`exception.stacktrace`,Te=`exception.type`,Ee=`service.name`,De=`service.version`,C=`telemetry.sdk.language`,Oe=`webjs`,w=`telemetry.sdk.name`,T=`telemetry.sdk.version`,ke=`process.runtime.name`,E={[w]:`opentelemetry`,[ke]:`browser`,[C]:Oe,[T]:xe},D=performance,Ae=9,je=10**6,O=10**Ae;function k(e){let t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*je)]}function A(e){return Re(k(D.timeOrigin),k(typeof e==`number`?e:D.now()))}function Me(e,t){let n=t[0]-e[0],r=t[1]-e[1];return r<0&&(--n,r+=O),[n,r]}function Ne(e){return e[0]*O+e[1]}function Pe(e){return e[0]*1e6+e[1]/1e3}function Fe(e){return e[0]*1e3+e[1]/1e6}function Ie(e){return Array.isArray(e)&&e.length===2&&typeof e[0]==`number`&&typeof e[1]==`number`}function Le(e){return Ie(e)||typeof e==`number`||e instanceof Date}function Re(e,t){let n=[e[0]+t[0],e[1]+t[1]];return n[1]>=O&&(n[1]-=O,n[0]+=1),n}var j;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.FAILED=1]=`FAILED`})(j||={});var ze=class{_propagators;_fields;constructor(e={}){this._propagators=e.propagators??[];let t=new Set;for(let e of this._propagators){let n=typeof e.fields==`function`?e.fields():[];for(let e of n)t.add(e)}this._fields=Array.from(t)}inject(e,t,n){for(let r of this._propagators)try{r.inject(e,t,n)}catch(e){m.warn(`Failed to inject with ${r.constructor.name}. Err: ${e.message}`)}}extract(e,t,n){return this._propagators.reduce((e,r)=>{try{return r.extract(e,t,n)}catch(e){m.warn(`Failed to extract with ${r.constructor.name}. Err: ${e.message}`)}return e},e)}fields(){return this._fields.slice()}},M=`[_0-9a-z-*/]`,Be=RegExp(`^(?:${`[a-z]${M}{0,255}`}|${`[a-z0-9]${M}{0,240}@[a-z]${M}{0,13}`})$`),Ve=/^[ -~]{0,255}[!-~]$/,He=/,|=/;function Ue(e){return Be.test(e)}function We(e){return Ve.test(e)&&!He.test(e)}var Ge=32,Ke=512,qe=`,`,Je=`=`,Ye=class e{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e==`string`?e:``,this._length=this._rawTraceState.length}set(e,t){if(!Ue(e)||!We(t))return this;let n=this._getState(),r=n.get(e),i=this._length;if(i+=typeof r==`string`?t.length-r.length:e.length+t.length+(n.size>0?2:1),i>Ke)return this;let a=new Map(n);return a.delete(e),a.set(e,t),this._fromState(a,i)}unset(e){let t=this._getState(),n=t.get(e);if(typeof n!=`string`)return this;let r=this._length-(e.length+n.length+1);t.size>1&&--r;let i=new Map(t);return i.delete(e),this._fromState(i,r)}get(e){return this._getState().get(e)}serialize(){let e=``,t=0;for(let n of this._getState())t>0&&(e=qe+e),e=`${n[0]}${Je}${n[1]}`+e,t++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(qe),t=new Map,n=0;for(let r of e){let e=r.trim(),i=e.indexOf(Je);if(i===-1)continue;let a=e.slice(0,i),o=e.slice(i+1);if(!Ue(a)||!We(o))continue;let s=n+e.length+ +(t.size>0);if(!(s>Ke)&&(t.set(a,o),n=s,t.size>=Ge))break}return this._length=n,this._internalState=new Map(Array.from(t.entries()).reverse()),this._internalState}_fromState(t,n){let r=Object.create(e.prototype);return r._internalState=t,r._length=n,r}},N=`traceparent`,Xe=`tracestate`,Ze=`00`,Qe=RegExp(`^\\s?((?!ff)[\\da-f]{2})-((?![0]{32})[\\da-f]{32})-((?![0]{16})[\\da-f]{16})-([\\da-f]{2})(-.*)?\\s?$`);function $e(e){let t=Qe.exec(e);return!t||t[1]===`00`&&t[5]?null:{traceId:t[2],spanId:t[3],traceFlags:parseInt(t[4],16)}}var et=class{inject(e,t,n){let r=p.getSpanContext(e);if(!r||y(e)||!c(r))return;let i=`${Ze}-${r.traceId}-${r.spanId}-0${Number(r.traceFlags||f.NONE).toString(16)}`;n.set(t,N,i),r.traceState&&n.set(t,Xe,r.traceState.serialize())}extract(e,t,n){let r=n.get(t,N);if(!r)return e;let i=Array.isArray(r)?r[0]:r;if(typeof i!=`string`)return e;let a=$e(i);if(!a)return e;a.isRemote=!0;let o=n.get(t,Xe);if(o){let e=Array.isArray(o)?o.join(`,`):o;a.traceState=new Ye(typeof e==`string`?e:void 0)}return p.setSpanContext(e,a)}fields(){return[N,Xe]}},tt=`[object Object]`,nt=`[object Null]`,rt=`[object Undefined]`,it=Function.prototype.toString,at=it.call(Object),ot=Object.getPrototypeOf,st=Object.prototype,ct=st.hasOwnProperty,P=Symbol?Symbol.toStringTag:void 0,lt=st.toString;function ut(e){if(!dt(e)||ft(e)!==tt)return!1;let t=ot(e);if(t===null)return!0;let n=ct.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&it.call(n)===at}function dt(e){return typeof e==`object`&&!!e}function ft(e){return e==null?e===void 0?rt:nt:P&&P in Object(e)?pt(e):mt(e)}function pt(e){let t=ct.call(e,P),n=e[P],r=!1;try{e[P]=void 0,r=!0}catch{}let i=lt.call(e);return r&&(t?e[P]=n:delete e[P]),i}function mt(e){return lt.call(e)}var ht=20;function gt(...e){let t=e.shift(),n=new WeakMap;for(;e.length>0;)t=vt(t,e.shift(),0,n);return t}function _t(e){return F(e)?e.slice():e}function vt(e,t,n=0,r){let i;if(!(n>ht)){if(n++,L(e)||L(t)||bt(t))i=_t(t);else if(F(e)){if(i=e.slice(),F(t))for(let e=0,n=t.length;e<n;e++)i.push(_t(t[e]));else if(I(t)){let e=Object.keys(t);for(let n=0,r=e.length;n<r;n++){let r=e[n];r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&(i[r]=_t(t[r]))}}}else if(I(e)){if(I(t)){if(!xt(e,t))return t;i=Object.assign({},e);let a=Object.keys(t);for(let o=0,s=a.length;o<s;o++){let s=a[o];if(s===`__proto__`||s===`constructor`||s===`prototype`)continue;let c=t[s];if(L(c))c===void 0?delete i[s]:i[s]=c;else{let a=i[s],o=c;if(yt(e,s,r)||yt(t,s,r))delete i[s];else{if(I(a)&&I(o)){let n=r.get(a)||[],i=r.get(o)||[];n.push({obj:e,key:s}),i.push({obj:t,key:s}),r.set(a,n),r.set(o,i)}i[s]=vt(i[s],c,n,r)}}}}else i=t}return i}}function yt(e,t,n){let r=n.get(e[t])||[];for(let n=0,i=r.length;n<i;n++){let i=r[n];if(i.key===t&&i.obj===e)return!0}return!1}function F(e){return Array.isArray(e)}function bt(e){return typeof e==`function`}function I(e){return!L(e)&&!F(e)&&!bt(e)&&typeof e==`object`}function L(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||e===void 0||e instanceof Date||e instanceof RegExp||e===null}function xt(e,t){return!(!ut(e)||!ut(t))}var St=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}get promise(){return this._promise}resolve(e){this._resolve(e)}reject(e){this._reject(e)}},Ct=class{_isCalled=!1;_deferred=new St;_callback;_that;constructor(e,t){this._callback=e,this._that=t}get isCalled(){return this._isCalled}get promise(){return this._deferred.promise}call(...e){if(!this._isCalled){this._isCalled=!0;try{Promise.resolve(this._callback.call(this._that,...e)).then(e=>this._deferred.resolve(e),e=>this._deferred.reject(e))}catch(e){this._deferred.reject(e)}}return this._deferred.promise}};function wt(e){return Object.prototype.hasOwnProperty.call(e,`partialSuccess`)}function Tt(){return{handleResponse(e){e==null||!wt(e)||e.partialSuccess==null||Object.keys(e.partialSuccess).length===0||m.warn(`Received Partial Success response:`,JSON.stringify(e.partialSuccess))}}}var Et=class{_metrics;_diagLogger;_transport;_serializer;_responseHandler;_promiseQueue;_timeout;constructor(e,t,n,r,i,a){this._transport=e,this._serializer=t,this._responseHandler=n,this._promiseQueue=r,this._timeout=a,this._diagLogger=m.createComponentLogger({namespace:`OTLPExportDelegate`}),this._metrics=i}export(e,t){if(this._diagLogger.debug(`items to be sent`,e),this._promiseQueue.hasReachedLimit()){t({code:j.FAILED,error:Error(`Concurrent export limit reached`)});return}let n=this._serializer.serializeRequest(e);if(n==null){t({code:j.FAILED,error:Error(`Nothing to send`)});return}let r=this._metrics.startExport(e);this._promiseQueue.pushPromise(this._transport.send(n,this._timeout).then(e=>{if(e.status===`success`){if(r(void 0),e.data!=null)try{this._responseHandler.handleResponse(this._serializer.deserializeResponse(e.data))}catch(t){this._diagLogger.warn(`Export succeeded but could not deserialize response - is the response specification compliant?`,t,e.data)}t({code:j.SUCCESS});return}if(e.status===`failure`&&e.error){r(e.error),t({code:j.FAILED,error:e.error});return}e.status===`retryable`?(r(`export_max_retries`),t({code:j.FAILED,error:e.error??new g(`Export failed with retryable status`)})):(r(`export_failed`),t({code:j.FAILED,error:new g(`Export failed with unknown error`)}))},e=>{r(e),t({code:j.FAILED,error:e})}))}forceFlush(){return this._promiseQueue.awaitAll()}setMetrics(e){this._metrics=e}async shutdown(){this._diagLogger.debug(`shutdown started`),await this.forceFlush(),this._transport.shutdown()}};function Dt(e,t){return new Et(e.transport,e.serializer,Tt(),e.promiseHandler,e.metrics,t.timeout)}function Ot(e,t,n,r){return Dt({transport:r,serializer:t,promiseHandler:ie(e),metrics:n},{timeout:e.timeoutMillis})}var kt=`http.response.status_code`,At=`otel.component.name`,jt=`otel.component.type`,Mt=`server.address`,Nt=`server.port`,Pt=`error.type`,Ft=`0.222.0`,It=new Map,Lt=class{inflight;exported;duration;standardAttrs;responseAttributesFromError;helper;constructor(e){let{componentType:t,metricsHelper:n,meterProvider:i,url:a,responseAttributesFromError:o}=e;this.responseAttributesFromError=o;let s=i?i.getMeter(`@opentelemetry/otlp-exporter`,Ft):r(),c=It.get(t)??0;if(It.set(t,c+1),this.standardAttrs={[jt]:t,[At]:`${t}/${c}`},a){let e=a;a.includes(`://`)||(e=`http://${a}`);try{let t=new URL(e);this.standardAttrs[Mt]=t.hostname;let n;t.port?n=Number(t.port):t.protocol===`http:`?n=80:t.protocol===`https:`&&(n=443),typeof n==`number`&&(this.standardAttrs[Nt]=n)}catch{}}this.helper=n,this.inflight=s.createUpDownCounter(`otel.sdk.exporter.${this.helper.name}.inflight`,{unit:`{${this.helper.name}}`,description:`The number of ${this.helper.name}s which were passed to the exporter, but that have not been exported yet (neither successful, nor failed).`}),this.exported=s.createCounter(`otel.sdk.exporter.${this.helper.name}.exported`,{unit:`{${this.helper.name}}`,description:`The number of ${this.helper.name}s for which the export has finished, either successful or failed.`}),this.duration=s.createHistogram(`otel.sdk.exporter.operation.duration`,{unit:`s`,description:`The duration of exporting a batch of telemetry records.`,advice:{explicitBucketBoundaries:[]}})}startExport(e){let t=this.helper.countItems(e),n=A();return this.inflight.add(t,this.standardAttrs),e=>{let r=A();this.inflight.add(-t,this.standardAttrs);let i=e?{...this.standardAttrs,[Pt]:e instanceof Error?e.name:`export_failed`}:this.standardAttrs;this.exported.add(t,i);let a={...i,...this.responseAttributesFromError(e)},o=Fe(Me(n,r))/1e3;this.duration.record(o,a)}}},Rt={name:`span`,countItems:e=>e.length},R;function zt(){if(R===void 0)try{let e=globalThis.process.argv0;R=e?`unknown_service:${e}`:`unknown_service`}catch{R=`unknown_service`}return R}var z=e=>typeof e==`object`&&!!e&&typeof e.then==`function`,Bt=class e{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(t,n){let r=new e({},n);return r._rawAttributes=Ut(t),r._asyncAttributesPending=t.filter(([e,t])=>z(t)).length>0,r}constructor(e,t){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([e,t])=>(z(t)&&(this._asyncAttributesPending=!0),[e,t])),this._rawAttributes=Ut(this._rawAttributes),this._schemaUrl=Wt(t?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[t,n]=this._rawAttributes[e];this._rawAttributes[e]=[t,z(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&m.error(`Accessing resource attributes before async attributes settled`),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[t,n]of this._rawAttributes){if(z(n)){m.debug(`Unsettled resource attribute ${t} skipped`);continue}n!=null&&(e[t]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(t){if(t==null)return this;let n=Gt(this,t),r=n?{schemaUrl:n}:void 0;return e.FromAttributeList([...t.getRawAttributes(),...this.getRawAttributes()],r)}};function Vt(e,t){return Bt.FromAttributeList(Object.entries(e),t)}function Ht(){return Vt({[Ee]:zt(),[C]:E[C],[w]:E[w],[T]:E[T]})}function Ut(e){return e.map(([e,t])=>z(t)?[e,t.catch(t=>{m.debug(`promise rejection for resource attribute: %s - %s`,e,t)})]:[e,t])}function Wt(e){if(typeof e==`string`||e===void 0)return e;m.warn(`Schema URL must be string or undefined, got %s. Schema URL will be ignored.`,e)}function Gt(e,t){let n=e?.schemaUrl,r=t?.schemaUrl,i=n===void 0||n===``,a=r===void 0||r===``;if(i)return r;if(a||n===r)return n;m.warn(`Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.`,n,r)}function Kt(e,t){let n={attributes:B(e.attributes,t),droppedAttributesCount:0},r=e.schemaUrl;return r&&r!==``&&(n.schemaUrl=r),n}function qt(e,t){let n={name:e.name,version:e.version};return e.attributes&&Object.keys(e.attributes).length>0&&(n.attributes=B(e.attributes,t),n.droppedAttributesCount=e.droppedAttributesCount??0),n}function B(e,t){return Object.keys(e).map(n=>Jt(n,e[n],t))}function Jt(e,t,n){return{key:e,value:V(t,n)}}function V(e,t){let n=typeof e;if(n===`string`)return{stringValue:e};if(n===`number`)return Number.isInteger(e)?{intValue:e}:{doubleValue:e};if(n===`boolean`)return{boolValue:e};if(e instanceof Uint8Array)return{bytesValue:t.encodeUint8Array(e)};if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=V(e[r],t);return{arrayValue:{values:n}}}if(n===`object`&&e!=null){let n=Object.keys(e),r=Array(n.length);for(let i=0;i<n.length;i++)r[i]={key:n[i],value:V(e[n[i]],t)};return{kvlistValue:{values:r}}}return{}}function Yt(e){let t=BigInt(1e9);return BigInt(Math.trunc(e[0]))*t+BigInt(Math.trunc(e[1]))}function Xt(e){return Yt(e).toString()}var Zt=typeof BigInt<`u`?Xt:Ne;function Qt(e){return e}var $t={encodeHrTime:Zt,encodeSpanContext:Qt,encodeOptionalSpanContext:Qt,encodeUint8Array:e=>{if(typeof Buffer<`u`)return Buffer.from(e).toString(`base64`);let t=Array(e.length);for(let n=0;n<e.length;n++)t[n]=String.fromCharCode(e[n]);return btoa(t.join(``))}},en=256,tn=512;function nn(e,t){let n=e&255|en;return t&&(n|=tn),n}function rn(e,t){let n=e.spanContext(),r=e.status,i=e.parentSpanContext?.spanId?t.encodeSpanContext(e.parentSpanContext?.spanId):void 0;return{traceId:t.encodeSpanContext(n.traceId),spanId:t.encodeSpanContext(n.spanId),parentSpanId:i,traceState:n.traceState?.serialize(),name:e.name,kind:e.kind==null?0:e.kind+1,startTimeUnixNano:t.encodeHrTime(e.startTime),endTimeUnixNano:t.encodeHrTime(e.endTime),attributes:B(e.attributes,t),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(e=>on(e,t)),droppedEventsCount:e.droppedEventsCount,status:{code:r.code,message:r.message},links:e.links.map(e=>an(e,t)),droppedLinksCount:e.droppedLinksCount,flags:nn(n.traceFlags,e.parentSpanContext?.isRemote)}}function an(e,t){return{attributes:e.attributes?B(e.attributes,t):[],spanId:t.encodeSpanContext(e.context.spanId),traceId:t.encodeSpanContext(e.context.traceId),traceState:e.context.traceState?.serialize(),droppedAttributesCount:e.droppedAttributesCount||0,flags:nn(e.context.traceFlags,e.context.isRemote)}}function on(e,t){return{attributes:e.attributes?B(e.attributes,t):[],name:e.name,timeUnixNano:t.encodeHrTime(e.time),droppedAttributesCount:e.droppedAttributesCount||0}}function sn(e,t){return{resourceSpans:ln(e,t)}}function cn(e){let t=new Map;for(let n of e){let e=t.get(n.resource);e||(e=new Map,t.set(n.resource,e));let r=`${n.instrumentationScope.name}@${n.instrumentationScope.version||``}:${n.instrumentationScope.schemaUrl||``}`,i=e.get(r);i||(i=[],e.set(r,i)),i.push(n)}return t}function ln(e,t){let n=cn(e),r=[],i=n.entries(),a=i.next();for(;!a.done;){let[e,n]=a.value,o=[],s=n.values(),c=s.next();for(;!c.done;){let e=c.value;if(e.length>0){let n=e.map(e=>rn(e,t));o.push({scope:qt(e[0].instrumentationScope,t),spans:n,schemaUrl:e[0].instrumentationScope.schemaUrl})}c=s.next()}let l=Kt(e,t),u={resource:l,scopeSpans:o,schemaUrl:l.schemaUrl};r.push(u),a=i.next()}return r}var un={serializeRequest:e=>{let t=sn(e,$t);return new TextEncoder().encode(JSON.stringify(t))},deserializeResponse:e=>{if(e.length===0)return{};let t=new TextDecoder;try{return JSON.parse(t.decode(e))}catch(e){return m.warn(`Failed to parse trace export response: ${e.message}. Returning empty response`),{}}}},H=5,dn=1e3,fn=5e3,pn=1.5,mn=.2;function hn(){return 2*mn*Math.random()-mn}var gn=class{_transport;constructor(e){this._transport=e}retry(e,t,n){return new Promise((r,i)=>{setTimeout(()=>{this._transport.send(e,t).then(r,i)},n)})}async send(e,t){let n=H,r=dn,i=Date.now()+t,a=await this._transport.send(e,t);for(;a.status===`retryable`&&n>0;){n--;let t=Math.max(Math.min(r*(1+hn()),fn),0);r*=pn;let o=a.retryInMillis??t,s=i-Date.now();if(o>s)return m.info(`Export retry time ${Math.round(o)}ms exceeds remaining timeout ${Math.round(s)}ms, not retrying further.`),a;m.verbose(`Scheduling export retry in ${Math.round(o)}ms`),a=await this.retry(e,s,o)}return a.status===`success`?m.verbose(`Export succeeded after ${H-n} retry attempts.`):a.status===`retryable`?m.info(`Export failed after maximum retry attempts (${H}).`):m.info(`Export failed with non-retryable error: ${a.error}`),a}shutdown(){return this._transport.shutdown()}};function _n(e){return new gn(e.transport)}function vn(e){return e===429||e===502||e===503||e===504}function yn(e){if(e==null)return;let t=Number.parseInt(e,10);if(Number.isInteger(t))return t>0?t*1e3:-1;let n=new Date(e).getTime()-Date.now();return n>=0?n:0}var bn=61440,xn=9,U=0,W=0,Sn=class{_parameters;constructor(e){this._parameters=e}async send(e,t){let n=new AbortController,r=setTimeout(()=>n.abort(),t),i=globalThis.fetch;typeof i.__original==`function`&&(i=i.__original);let a=e.byteLength,o=U+a>bn,s=!o&&!(W>=xn);if(s)U+=a,W++;else{let e=o?`size limit`:`count limit`;m.debug(`keepalive disabled: ${(a/1024).toFixed(1)}KB payload, ${W} pending (${e})`)}try{let t=new URL(this._parameters.url),r=await i(t.href,{method:`POST`,headers:await this._parameters.headers(),body:e,signal:n.signal,keepalive:s,mode:globalThis.location?globalThis.location.origin===t.origin?`same-origin`:`cors`:`no-cors`});return r.status>=200&&r.status<=299?(m.debug(`export response success (status: ${r.status})`),{status:`success`}):vn(r.status)?(m.warn(`export response retryable (status: ${r.status})`),{status:`retryable`,retryInMillis:yn(r.headers.get(`Retry-After`))}):(m.error(`export response failure (status: ${r.status})`),{status:`failure`,error:Error(`Fetch request failed with non-retryable status ${r.status}`)})}catch(e){return wn(e)?(m.warn(`export request retryable (network error: ${e})`),{status:`retryable`,error:Error(`Fetch request encountered a network error`,{cause:e})}):(m.error(`export request failure (error: ${e})`),{status:`failure`,error:Error(`Fetch request errored`,{cause:e})})}finally{clearTimeout(r),s&&(U-=a,W--)}}shutdown(){}};function Cn(e){return new Sn(e)}function wn(e){return e instanceof TypeError&&!e.cause}function Tn(e,t,n){return Ot(e,t,n,_n({transport:Cn(e)}))}function En(e){let t={};return Object.entries(e??{}).forEach(([e,n])=>{n===void 0?m.warn(`Header "${e}" has invalid value (${n}) and will be ignored`):t[e]=String(n)}),t}function Dn(e,t,n){return async()=>{let r={...await n()},i={};return t!=null&&Object.assign(i,await t()),e!=null&&Object.assign(i,En(await e())),Object.assign(i,r)}}function On(e){if(e!=null)try{let t=globalThis.location?.href;return new URL(e,t).href}catch{throw Error(`Configuration: Could not parse user-provided export URL: '${e}'`)}}function kn(e,t,n){return{...ne(e,t,n),headers:Dn(e.headers,t.headers,n.headers),url:On(e.url)??t.url??n.url}}function An(e,t){return{...re(),headers:async()=>e,url:`http://localhost:4318/`+t}}function jn(e){return typeof e.headers==`function`?e.headers:_(e.headers)}function Mn(e,t,n){return kn({url:e.url,timeoutMillis:e.timeoutMillis,headers:jn(e),concurrencyLimit:e.concurrencyLimit},{},An(n,t))}function Nn(e,t,n,r){return new Lt({componentType:e,metricsHelper:t,url:n,meterProvider:r,responseAttributesFromError:e=>{if(!e)return{[kt]:200};if(!(e instanceof Error))return{};if(e.message.startsWith(`Fetch request failed with non-retryable status `)){let t=e.message.substring(47);return{[kt]:Number(t)}}return{}}})}function Pn(e,t,n,r,i,a,o){let s=Mn(e,a,o);return Tn(s,t,Nn(n,r,s.url,e.selfObsMeterProvider))}var Fn=`otlp_http_span_exporter`,In=class extends h{constructor(e={}){super(Pn(e,un,Fn,Rt,e.selfObsMeterProvider,`v1/traces`,{"Content-Type":`application/json`}))}},Ln=`exception`,G=Symbol.for(`nodejs.util.inspect.custom`);function K(e){let t={};for(let[n,r]of e.getRawAttributes())typeof r?.then!=`function`&&r!=null&&(t[n]??=r);return t}function q(e,t,n,r,i){if(typeof n==`number`&&n<0){let t=`[${e}]`;return r?.stylize?r.stylize(t,`special`):t}return typeof i!=`function`||!r?t:`${e} ${i(t,{...r,depth:r.depth==null?r.depth:r.depth-1})}`}var Rn=class{_spanContext;kind;parentSpanContext;attributes={};links=[];events=[];startTime;resource;instrumentationScope;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;_attributesCount=0;name;status={code:n.UNSET};endTime=[0,0];_ended=!1;_duration=[-1,-1];_spanProcessor;_spanLimits;_attributeValueLengthLimit;_recordEndMetrics;_performanceStartTime;_performanceOffset;_startTimeProvided;constructor(e){let t=Date.now();if(this._spanContext=e.spanContext,this._performanceStartTime=D.now(),this._performanceOffset=t-(this._performanceStartTime+D.timeOrigin),this._startTimeProvided=e.startTime!=null,this._spanLimits=e.spanLimits,this._attributeValueLengthLimit=this._spanLimits.attributeValueLengthLimit??0,this._spanProcessor=e.spanProcessor,this.name=e.name,this.parentSpanContext=e.parentSpanContext,this.kind=e.kind,e.links)for(let t of e.links)this.addLink(t);this.startTime=this._getTime(e.startTime??t),this.resource=e.resource,this.instrumentationScope=e.scope,this._recordEndMetrics=e.recordEndMetrics,e.attributes!=null&&this.setAttributes(e.attributes),this._spanProcessor.onStart(this,e.context)}spanContext(){return this._spanContext}setAttribute(e,t){if(t==null||this._isSpanEnded())return this;if(e.length===0)return m.warn(`Invalid attribute key: ${e}`),this;if(!me(t))return m.warn(`Invalid attribute value set for key: ${e}`),this;let{attributeCountLimit:n}=this._spanLimits,r=!Object.prototype.hasOwnProperty.call(this.attributes,e);return n!==void 0&&this._attributesCount>=n&&r?(this._droppedAttributesCount++,this):(this.attributes[e]=this._truncateToSize(t),r&&this._attributesCount++,this)}setAttributes(e){for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.setAttribute(t,e[t]);return this}addEvent(e,t,n){if(this._isSpanEnded())return this;let{eventCountLimit:r}=this._spanLimits;if(r===0)return m.warn(`No events allowed.`),this._droppedEventsCount++,this;r!==void 0&&this.events.length>=r&&(this._droppedEventsCount===0&&m.debug(`Dropping extra events.`),this.events.shift(),this._droppedEventsCount++),Le(t)&&(Le(n)||(n=t),t=void 0);let i=x(t),{attributePerEventCountLimit:a}=this._spanLimits,o={},s=0,c=0;for(let e in i){if(!Object.prototype.hasOwnProperty.call(i,e))continue;let t=i[e];if(a!==void 0&&c>=a){s++;continue}o[e]=this._truncateToSize(t),c++}return this.events.push({name:e,attributes:o,time:this._getTime(n),droppedAttributesCount:s}),this}addLink(e){if(this._isSpanEnded())return this;let{linkCountLimit:t}=this._spanLimits;if(t===0)return this._droppedLinksCount++,this;t!==void 0&&this.links.length>=t&&(this._droppedLinksCount===0&&m.debug(`Dropping extra links.`),this.links.shift(),this._droppedLinksCount++);let{attributePerLinkCountLimit:n}=this._spanLimits,r=x(e.attributes),i={},a=0,o=0;for(let e in r){if(!Object.prototype.hasOwnProperty.call(r,e))continue;let t=r[e];if(n!==void 0&&o>=n){a++;continue}i[e]=this._truncateToSize(t),o++}let s={context:e.context};return o>0&&(s.attributes=i),a>0&&(s.droppedAttributesCount=a),this.links.push(s),this}addLinks(e){for(let t of e)this.addLink(t);return this}setStatus(e){if(this._isSpanEnded()||e.code===n.UNSET||this.status.code===n.OK)return this;let t={code:e.code};return e.code===n.ERROR&&(typeof e.message==`string`?t.message=e.message:e.message!=null&&m.warn(`Dropping invalid status.message of type '${typeof e.message}', expected 'string'`)),this.status=t,this}updateName(e){return this._isSpanEnded()||(this.name=e),this}end(e){if(this._isSpanEnded()){m.error(`${this.name} ${this._spanContext.traceId}-${this._spanContext.spanId} - You can only call end() on a span once.`);return}this.endTime=this._getTime(e),this._duration=Me(this.startTime,this.endTime),this._duration[0]<0&&(m.warn(`Inconsistent start and end time, startTime > endTime. Setting span duration to 0ms.`,this.startTime,this.endTime),this.endTime=this.startTime.slice(),this._duration=[0,0]),this._droppedEventsCount>0&&m.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`),this._droppedLinksCount>0&&m.warn(`Dropped ${this._droppedLinksCount} links because linkCountLimit reached`),this._spanProcessor.onEnding&&this._spanProcessor.onEnding(this),this._recordEndMetrics?.(),this._ended=!0,this._spanProcessor.onEnd(this)}_getTime(e){if(typeof e==`number`&&e<=D.now())return A(e+this._performanceOffset);if(typeof e==`number`)return k(e);if(e instanceof Date)return k(e.getTime());if(Ie(e))return e;if(this._startTimeProvided)return k(Date.now());let t=D.now()-this._performanceStartTime;return Re(this.startTime,k(t))}isRecording(){return this._ended===!1}recordException(e,t){let n={};typeof e==`string`?n[Ce]=e:e&&(e.code?n[Te]=e.code.toString():e.name&&(n[Te]=e.name),e.message&&(n[Ce]=e.message),e.stack&&(n[we]=e.stack)),n[`exception.type`]||n[`exception.message`]?this.addEvent(Ln,n,t):m.warn(`Failed to record an exception ${e}`)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}_isSpanEnded(){if(this._ended){let e=Error(`Operation attempted on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`);m.warn(`Cannot execute the operation on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`,e)}return this._ended}_truncateToLimitUtil(e,t){return e.length<=t?e:e.substring(0,t)}_truncateToSize(e){let t=this._attributeValueLengthLimit;return t<=0?(m.warn(`Attribute value limit must be positive, got ${t}`),e):typeof e==`string`?this._truncateToLimitUtil(e,t):Array.isArray(e)?e.map(e=>typeof e==`string`?this._truncateToLimitUtil(e,t):e):e}[G](e,t,n){return q(`SpanImpl`,{name:this.name,kind:this.kind,spanContext:this._spanContext,parentSpanContext:this.parentSpanContext,status:this.status,startTime:this.startTime,endTime:this.endTime,duration:this._duration,ended:this._ended,attributes:this.attributes,events:this.events,links:this.links,droppedAttributesCount:this._droppedAttributesCount,droppedEventsCount:this._droppedEventsCount,droppedLinksCount:this._droppedLinksCount,instrumentationScope:this.instrumentationScope,resource:{attributes:K(this.resource)}},e,t,n)}},J;(function(e){e[e.NOT_RECORD=0]=`NOT_RECORD`,e[e.RECORD=1]=`RECORD`,e[e.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(J||={});var zn=`otel.component.name`,Bn=`otel.component.type`,Vn=`otel.span.parent.origin`,Hn=`otel.span.sampling_result`,Un=`otel.sdk.processor.span.processed`,Wn=`otel.sdk.processor.span.queue.capacity`,Gn=`otel.sdk.processor.span.queue.size`,Kn=`otel.sdk.span.live`,qn=`otel.sdk.span.started`,Jn=`batching_span_processor`,Yn=class{startedSpans;liveSpans;constructor(e){this.startedSpans=e.createCounter(qn,{unit:`{span}`,description:`The number of created spans.`}),this.liveSpans=e.createUpDownCounter(Kn,{unit:`{span}`,description:`The number of currently live spans.`})}startSpan(e,t){let n=Zn(t);if(this.startedSpans.add(1,{[Vn]:Xn(e),[Hn]:n}),t===J.NOT_RECORD)return()=>{};let r={[Hn]:n};return this.liveSpans.add(1,r),()=>{this.liveSpans.add(-1,r)}}};function Xn(e){return e?e.isRemote?`remote`:`local`:`none`}function Zn(e){switch(e){case J.RECORD_AND_SAMPLED:return`RECORD_AND_SAMPLE`;case J.RECORD:return`RECORD_ONLY`;case J.NOT_RECORD:return`DROP`}}var Qn=`2.11.0`,$n=class{_sampler;_spanLimits;_idGenerator;instrumentationScope;_resource;_spanProcessor;_tracerMetrics;constructor(e,t){this.instrumentationScope=e,this._sampler=t.sampler,this._spanLimits=t.spanLimits,this._resource=t.resource,this._idGenerator=t.idGenerator,this._spanProcessor=t.spanProcessor;let n=t.meterProvider.getMeter(`@opentelemetry/sdk-trace`,Qn);this._tracerMetrics=new Yn(n)}startSpan(e,t={},n=s.active()){t.root&&(n=p.deleteSpan(n));let r=p.getSpan(n);if(y(n))return m.debug(`Instrumentation suppressed, returning Noop Span`),p.wrapSpanContext(i);let a=r?.spanContext(),c=this._idGenerator.generateSpanId(),l,u,d;!a||!p.isSpanContextValid(a)?u=this._idGenerator.generateTraceId():(u=a.traceId,d=a.traceState,l=a);let h=t.kind??o.INTERNAL,g=(t.links??[]).map(e=>({context:e.context,attributes:x(e.attributes)})),te=x(t.attributes),_=this._sampler.shouldSample(n,u,e,h,te,g),ne=this._tracerMetrics.startSpan(a,_.decision);d=_.traceState??d;let re=_.decision===ee.RECORD_AND_SAMPLED?f.SAMPLED:f.NONE,v={traceId:u,spanId:c,traceFlags:re,traceState:d};if(_.decision===ee.NOT_RECORD)return m.debug(`Recording is off, propagating context in a non-recording span`),p.wrapSpanContext(v);let ie=x(Object.assign(te,_.attributes));return new Rn({resource:this._resource,scope:this.instrumentationScope,context:n,spanContext:v,name:e,kind:h,links:g,parentSpanContext:l,attributes:ie,startTime:t.startTime,spanProcessor:this._spanProcessor,spanLimits:this._spanLimits,recordEndMetrics:ne})}startActiveSpan(e,t,n,r){let i,a,o;if(arguments.length<2)return;arguments.length===2?o=t:arguments.length===3?(i=t,o=n):(i=t,a=n,o=r);let c=a??s.active(),l=this.startSpan(e,i,c),u=p.setSpan(c,l);return s.with(u,o,void 0,l)}[G](e,t,n){return q(`Tracer`,{instrumentationScope:this.instrumentationScope,resource:{attributes:K(this._resource)},spanLimits:this._spanLimits},e,t,n)}},er=class{_spanProcessors;constructor(e){this._spanProcessors=e}forceFlush(){let e=[];for(let t of this._spanProcessors)e.push(t.forceFlush());return new Promise(t=>{Promise.all(e).then(()=>{t()}).catch(e=>{S(e||Error(`MultiSpanProcessor: forceFlush failed`)),t()})})}onStart(e,t){for(let n of this._spanProcessors)n.onStart(e,t)}onEnding(e){for(let t of this._spanProcessors)t.onEnding&&t.onEnding(e)}onEnd(e){for(let t of this._spanProcessors)t.onEnd(e)}shutdown(){let e=[];for(let t of this._spanProcessors)e.push(t.shutdown());return new Promise((t,n)=>{Promise.all(e).then(()=>{t()},n)})}},Y=class{shouldSample(){return{decision:J.NOT_RECORD}}toString(){return`AlwaysOffSampler`}},X=class{shouldSample(){return{decision:J.RECORD_AND_SAMPLED}}toString(){return`AlwaysOnSampler`}},Z=class{_root;_remoteParentSampled;_remoteParentNotSampled;_localParentSampled;_localParentNotSampled;constructor(e){this._root=e.root,this._root||=(S(Error(`ParentBasedSampler must have a root sampler configured`)),new X),this._remoteParentSampled=e.remoteParentSampled??new X,this._remoteParentNotSampled=e.remoteParentNotSampled??new Y,this._localParentSampled=e.localParentSampled??new X,this._localParentNotSampled=e.localParentNotSampled??new Y}shouldSample(e,t,n,r,i,a){let o=p.getSpanContext(e);return!o||!c(o)?this._root.shouldSample(e,t,n,r,i,a):o.isRemote?o.traceFlags&f.SAMPLED?this._remoteParentSampled.shouldSample(e,t,n,r,i,a):this._remoteParentNotSampled.shouldSample(e,t,n,r,i,a):o.traceFlags&f.SAMPLED?this._localParentSampled.shouldSample(e,t,n,r,i,a):this._localParentNotSampled.shouldSample(e,t,n,r,i,a)}toString(){return`ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`}},tr=new Map,nr=class{processedSpans;queueSize;queueSizeCallback;standardAttrs;droppedAttrs;constructor(e,t,n){let r=tr.get(e)??0;if(tr.set(e,r+1),this.standardAttrs={[Bn]:e,[zn]:`${e}/${r}`},this.droppedAttrs={...this.standardAttrs,[Se]:`queue_full`},this.processedSpans=t.createCounter(Un,{unit:`{span}`,description:`The number of spans for which the processing has finished, either successful or failed.`}),n){let{capacity:e,getQueueSize:r}=n;t.createUpDownCounter(Wn,{unit:`{span}`,description:`The maximum number of spans the queue of a given instance of an SDK span processor can hold.`}).add(e,this.standardAttrs),this.queueSize=t.createObservableUpDownCounter(Gn,{unit:`{span}`,description:`The number of spans in the queue of a given instance of an SDK span processor.`}),this.queueSizeCallback=e=>e.observe(r(),this.standardAttrs),this.queueSize.addCallback(this.queueSizeCallback)}}dropSpans(e){this.processedSpans.add(e,this.droppedAttrs)}finishSpans(e,t){if(!t){this.processedSpans.add(e,this.standardAttrs);return}let n={...this.standardAttrs,[Se]:t.name};this.processedSpans.add(e,n)}shutdown(){this.queueSize&&this.queueSizeCallback&&this.queueSize.removeCallback(this.queueSizeCallback)}},rr=class{_maxExportBatchSize;_maxQueueSize;_scheduledDelayMillis;_exportTimeoutMillis;_exporter;_metrics;_isExporting=!1;_finishedSpans=[];_timer;_shutdownOnce;_droppedSpansCount=0;constructor(e){this._exporter=e.exporter,this._maxExportBatchSize=e.maxExportBatchSize??512,this._maxQueueSize=e.maxQueueSize??2048,this._scheduledDelayMillis=e.scheduledDelayMillis??5e3,this._exportTimeoutMillis=e.exportTimeoutMillis??3e4,this._shutdownOnce=new Ct(this._shutdown,this),this._maxExportBatchSize>this._maxQueueSize&&(m.warn(`BatchSpanProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize`),this._maxExportBatchSize=this._maxQueueSize);let t=e.selfObsMeterProvider?e.selfObsMeterProvider.getMeter(`@opentelemetry/sdk-trace`):r();this._metrics=new nr(Jn,t,{capacity:this._maxQueueSize,getQueueSize:()=>this._finishedSpans.length})}forceFlush(){return this._shutdownOnce.isCalled?this._shutdownOnce.promise:this._flushAll()}onStart(e,t){}onEnd(e){this._shutdownOnce.isCalled||(e.spanContext().traceFlags&f.SAMPLED)!==0&&this._addToBuffer(e)}shutdown(){return this._shutdownOnce.call()}_shutdown(){return Promise.resolve().then(()=>this.onShutdown()).then(()=>this._flushAll()).then(()=>(this._metrics.shutdown(),this._exporter.shutdown()))}_addToBuffer(e){if(this._finishedSpans.length>=this._maxQueueSize){this._droppedSpansCount===0&&m.debug(`maxQueueSize reached, dropping spans`),this._droppedSpansCount++,this._metrics.dropSpans(1);return}this._droppedSpansCount>0&&(m.warn(`Dropped ${this._droppedSpansCount} spans because maxQueueSize reached`),this._droppedSpansCount=0),this._finishedSpans.push(e),this._maybeStartTimer()}_flushAll(){return new Promise((e,t)=>{let n=[],r=Math.ceil(this._finishedSpans.length/this._maxExportBatchSize);for(let e=0,t=r;e<t;e++)n.push(this._flushOneBatch());Promise.all(n).then(()=>{e()}).catch(t)})}_flushOneBatch(){return this._clearTimer(),this._finishedSpans.length===0?Promise.resolve():new Promise((e,t)=>{let n=setTimeout(()=>{t(Error(`Timeout`))},this._exportTimeoutMillis);s.with(oe(s.active()),()=>{let r;this._finishedSpans.length<=this._maxExportBatchSize?(r=this._finishedSpans,this._finishedSpans=[]):r=this._finishedSpans.splice(0,this._maxExportBatchSize);let i=()=>this._exporter.export(r,i=>{clearTimeout(n),this._metrics.finishSpans(r.length,i.error),i.code===j.SUCCESS?e():t(i.error??Error(`BatchSpanProcessor: span export failed`))}),a=null;for(let e=0,t=r.length;e<t;e++){let t=r[e];t.resource.asyncAttributesPending&&t.resource.waitForAsyncAttributes&&(a??=[],a.push(t.resource.waitForAsyncAttributes()))}a===null?i():Promise.all(a).then(i,e=>{S(e),t(e)})})})}_maybeStartTimer(){if(this._isExporting)return;let e=()=>{this._isExporting=!0,this._flushOneBatch().finally(()=>{this._isExporting=!1,this._finishedSpans.length>0&&(this._clearTimer(),this._maybeStartTimer())}).catch(e=>{this._isExporting=!1,S(e)})};if(this._finishedSpans.length>=this._maxExportBatchSize)return e();this._timer===void 0&&(this._timer=setTimeout(()=>e(),this._scheduledDelayMillis),typeof this._timer!=`number`&&this._timer.unref())}_clearTimer(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}},ir=class extends rr{_visibilityChangeListener;_pageHideListener;constructor(e){super(e),this.onInit(e)}onInit(e){e.disableAutoFlushOnDocumentHide!==!0&&typeof document<`u`&&(this._visibilityChangeListener=()=>{document.visibilityState===`hidden`&&this.forceFlush().catch(e=>{S(e)})},this._pageHideListener=()=>{this.forceFlush().catch(e=>{S(e)})},document.addEventListener(`visibilitychange`,this._visibilityChangeListener),document.addEventListener(`pagehide`,this._pageHideListener))}onShutdown(){typeof document<`u`&&(this._visibilityChangeListener&&document.removeEventListener(`visibilitychange`,this._visibilityChangeListener),this._pageHideListener&&document.removeEventListener(`pagehide`,this._pageHideListener))}},ar=16,or=8,sr=new Uint8Array(ar),cr=new Uint8Array(or),lr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function ur(e){for(let t=0;t<e.length;t++)e[t]=Math.random()*256>>>0;for(let t=0;t<e.length;t++)if(e[t]>0)return;e[e.length-1]=1}function dr(e){let t=``;for(let n=0;n<e.length;n++)t+=lr[e[n]];return t}var fr=class{generateTraceId(){return ur(sr),dr(sr)}generateSpanId(){return ur(cr),dr(cr)}},Q;(function(e){e[e.resolved=0]=`resolved`,e[e.timeout=1]=`timeout`,e[e.error=2]=`error`,e[e.unresolved=3]=`unresolved`})(Q||={});var pr=class{_resource;_activeSpanProcessor;_forceFlushTimeoutMillis;_tracerOptions;_tracers=new Map;constructor(e={}){this._forceFlushTimeoutMillis=e.forceFlushTimeoutMillis??3e4,this._resource=e.resource??Ht();let t=e.spanProcessors??[];this._activeSpanProcessor=new er(t),this._tracerOptions={resource:this._resource,sampler:e.sampler??new Z({root:new X}),spanLimits:{attributeCountLimit:e.spanLimits?.attributeCountLimit??128,attributeValueLengthLimit:e.spanLimits?.attributeValueLengthLimit??1/0,eventCountLimit:e.spanLimits?.eventCountLimit??128,linkCountLimit:e.spanLimits?.linkCountLimit??128,attributePerEventCountLimit:e.spanLimits?.attributePerEventCountLimit??128,attributePerLinkCountLimit:e.spanLimits?.attributePerLinkCountLimit??128},idGenerator:e.idGenerator||new fr,spanProcessor:this._activeSpanProcessor,meterProvider:e.meterProvider??{getMeter(){return r()}}}}getTracer(e,t,n){let r=`${e}@${t||``}:${n?.schemaUrl||``}`;return this._tracers.has(r)||this._tracers.set(r,new $n({name:e,version:t,schemaUrl:n?.schemaUrl},this._tracerOptions)),this._tracers.get(r)}forceFlush(e){let t=e?.timeoutMillis??this._forceFlushTimeoutMillis,n=this._activeSpanProcessor._spanProcessors.map(e=>new Promise(n=>{let r,i=setTimeout(()=>{n(Error(`Span processor did not completed within timeout period of ${t} ms`)),r=Q.timeout},t);e.forceFlush().then(()=>{clearTimeout(i),r!==Q.timeout&&(r=Q.resolved,n(r))}).catch(e=>{clearTimeout(i),r=Q.error,n(e)})}));return new Promise((e,t)=>{Promise.all(n).then(n=>{let r=n.filter(e=>e!==Q.resolved);r.length>0?t(r):e()}).catch(e=>t([e]))})}shutdown(){return this._activeSpanProcessor.shutdown()}[G](e,t,n){let r=this._activeSpanProcessor._spanProcessors;return q(`TracerProvider`,{resource:{attributes:K(this._resource)},tracers:Array.from(this._tracers.keys()),spanProcessors:r.map(e=>e.constructor?.name??`SpanProcessor`)},e,t,n)}},mr=class{export(e,t){return this._sendSpans(e,t)}shutdown(){return this._sendSpans([]),this.forceFlush()}forceFlush(){return Promise.resolve()}_exportInfo(e){return{resource:{attributes:e.resource.attributes},instrumentationScope:e.instrumentationScope,traceId:e.spanContext().traceId,parentSpanContext:e.parentSpanContext,traceState:e.spanContext().traceState?.serialize(),name:e.name,id:e.spanContext().spanId,kind:e.kind,timestamp:Pe(e.startTime),duration:Pe(e.duration),attributes:e.attributes,status:e.status,events:e.events,links:e.links}}_sendSpans(e,t){for(let t of e)console.dir(this._exportInfo(t),{depth:3});if(t)return t({code:j.SUCCESS})}},hr=class{_ratio;_upperBound;constructor(e=0){this._ratio=this._normalize(e),this._upperBound=this._ratio===1?4294967296:Math.floor(this._ratio*4294967295)}shouldSample(e,n){return{decision:t(n)&&this._accumulate(n)<this._upperBound?J.RECORD_AND_SAMPLED:J.NOT_RECORD}}toString(){return`TraceIdRatioBased{${this._ratio}}`}_normalize(e){return typeof e!=`number`||isNaN(e)?0:e>=1?1:e<=0?0:e}_accumulate(e){let t=0;for(let n=0;n<32;n+=8){let r=0;for(let t=0;t<8;t++){let i=e.charCodeAt(n+t),a=i<58?i-48:i<71?i-55:i-87;r=r<<4|a}t=(t^r)>>>0}return t}},$;(function(e){e.AlwaysOff=`always_off`,e.AlwaysOn=`always_on`,e.ParentBasedAlwaysOff=`parentbased_always_off`,e.ParentBasedAlwaysOn=`parentbased_always_on`,e.ParentBasedTraceIdRatio=`parentbased_traceidratio`,e.TraceIdRatio=`traceidratio`})($||={});var gr=1;function _r(){return{sampler:vr(),forceFlushTimeoutMillis:3e4,generalLimits:{attributeValueLengthLimit:1/0,attributeCountLimit:128},spanLimits:{attributeValueLengthLimit:1/0,attributeCountLimit:128,linkCountLimit:128,eventCountLimit:128,attributePerEventCountLimit:128,attributePerLinkCountLimit:128}}}function vr(){let e=$.ParentBasedAlwaysOn;switch(e){case $.AlwaysOn:return new X;case $.AlwaysOff:return new Y;case $.ParentBasedAlwaysOn:return new Z({root:new X});case $.ParentBasedAlwaysOff:return new Z({root:new Y});case $.TraceIdRatio:return new hr(yr());case $.ParentBasedTraceIdRatio:return new Z({root:new hr(yr())});default:return m.error(`OTEL_TRACES_SAMPLER value "${e}" invalid, defaulting to "${$.ParentBasedAlwaysOn}".`),new Z({root:new X})}}function yr(){return m.error(`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to ${gr}.`),gr}function br(e){let t=Object.assign({},e.spanLimits);return t.attributeCountLimit=e.spanLimits?.attributeCountLimit??e.generalLimits?.attributeCountLimit??void 0??void 0??128,t.attributeValueLengthLimit=e.spanLimits?.attributeValueLengthLimit??e.generalLimits?.attributeValueLengthLimit??void 0??void 0??1/0,Object.assign({},e,{spanLimits:t})}var xr=class extends pr{constructor(e={}){let t=gt({},_r(),br(e));delete t.generalLimits,super(t)}},Sr=class extends ir{constructor(e,t){t||={};for(let[e,n]of[[`maxExportBatchSize`,`OTEL_BSP_MAX_EXPORT_BATCH_SIZE`],[`maxQueueSize`,`OTEL_BSP_MAX_QUEUE_SIZE`],[`scheduledDelayMillis`,`OTEL_BSP_SCHEDULE_DELAY`],[`exportTimeoutMillis`,`OTEL_BSP_EXPORT_TIMEOUT`]])t[e];super({exporter:e,...t})}},Cr=class{_enabled=!1;_currentContext=u;_bindFunction(e=u,t){let n=this,r=function(...r){return n.with(e,()=>t.apply(this,r))};return Object.defineProperty(r,"length",{enumerable:!1,configurable:!0,writable:!1,value:t.length}),r}active(){return this._currentContext}bind(e,t){return e===void 0&&(e=this.active()),typeof t==`function`?this._bindFunction(e,t):t}disable(){return this._currentContext=u,this._enabled=!1,this}enable(){return this._enabled?this:(this._enabled=!0,this._currentContext=u,this)}with(e,t,n,...r){let i=this._currentContext;this._currentContext=e||u;try{return t.call(n,...r)}finally{this._currentContext=i}}};function wr(e){if(e!==null){if(e===void 0){let e=new Cr;e.enable(),s.setGlobalContextManager(e);return}e.enable(),s.setGlobalContextManager(e)}}function Tr(t){if(t!==null){if(t===void 0){e.setGlobalPropagator(new ze({propagators:[new et,new fe]}));return}e.setGlobalPropagator(t)}}var Er=class extends xr{constructor(e={}){super(e)}register(e={}){p.setGlobalTracerProvider(this),Tr(e.propagator),wr(e.contextManager)}},Dr;function Or(e){if(Dr||!(e.enabled??!!e.otlpEndpoint))return!1;let t=e.otlpEndpoint?new In({url:e.otlpEndpoint,...e.otlpHeaders?{headers:e.otlpHeaders}:{}}):new mr;return Dr=new Er({resource:Vt({[Ee]:e.serviceName,[De]:e.serviceVersion??`0.0.0`}),spanProcessors:[new Sr(t)]}),Dr.register(),!0}export{Or as initObservabilityWeb};
2
- //# sourceMappingURL=web-D9m06-8m.js.map
1
+ import{Bt as e,Gt as t,Ht as n,Jt as r,Kt as i,Qt as a,Ut as o,Vt as s,Wt as c,Xt as l,Yt as u,Zt as d,qt as f,zt as p}from"./index-Ojc52FmW.js";var ee;(function(e){e[e.NOT_RECORD=0]=`NOT_RECORD`,e[e.RECORD=1]=`RECORD`,e[e.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(ee||={});var m=a.instance(),h=class{_delegate;constructor(e){this._delegate=e}export(e,t){this._delegate.export(e,t)}forceFlush(){return this._delegate.forceFlush()}shutdown(){return this._delegate.shutdown()}setMetrics(e){this._delegate.setMetrics(e)}},g=class extends Error{code;name=`OTLPExporterError`;data;constructor(e,t,n){super(e),this.data=n,this.code=t}};function te(e){if(Number.isFinite(e)&&e>0)return e;throw Error(`Configuration: timeoutMillis is invalid, expected number greater than 0 (actual: '${e}')`)}function _(e){if(e!=null)return async()=>e}function ne(e,t,n){return{timeoutMillis:te(e.timeoutMillis??t.timeoutMillis??n.timeoutMillis),concurrencyLimit:e.concurrencyLimit??t.concurrencyLimit??n.concurrencyLimit,compression:e.compression??t.compression??n.compression}}function re(){return{timeoutMillis:1e4,concurrencyLimit:30,compression:`none`}}var v=class{_concurrencyLimit;_sendingPromises=[];constructor(e){this._concurrencyLimit=e}pushPromise(e){if(this.hasReachedLimit())throw Error(`Concurrency Limit reached`);this._sendingPromises.push(e);let t=()=>{let t=this._sendingPromises.indexOf(e);this._sendingPromises.splice(t,1)};e.then(t,t)}hasReachedLimit(){return this._sendingPromises.length>=this._concurrencyLimit}async awaitAll(){await Promise.all(this._sendingPromises)}};function ie(e){return new v(e.concurrencyLimit)}var ae=l(`OpenTelemetry SDK Context Key SUPPRESS_TRACING`);function oe(e){return e.setValue(ae,!0)}function y(e){return e.getValue(ae)===!0}var b=`baggage`,se=4096;function ce(e){return e.reduce((e,t)=>{let n=`${e}${e===``?``:`,`}${t}`;return n.length>8192?e:n},``)}function le(e){return e.getAllEntries().map(([e,t])=>{let n=`${encodeURIComponent(e)}=${encodeURIComponent(t.value)}`;return t.metadata!==void 0&&(n+=`;`+t.metadata.toString()),n})}function ue(e){if(!e)return;let t=e.indexOf(`;`),n=t===-1?e:e.substring(0,t),r=n.indexOf(`=`);if(r<=0)return;let i=n.substring(0,r).trim(),a=n.substring(r+1).trim();if(!i||!a)return;let o,s;try{o=decodeURIComponent(i),s=decodeURIComponent(a)}catch{return}let c;if(t!==-1&&t<e.length-1){let n=e.substring(t+1);c=d(n)}return{key:o,value:s,metadata:c}}function de(e,t,n,r){let i=0;for(;i<e.length&&n<180;){let a=e.indexOf(`,`,i),o=a===-1?e.length:a,s=o-i;if(s<=4096){let a=ue(e.substring(i,o));if(a){let e=(n===0?0:1)+s;if(r+e>8192)break;t[a.key]=a.metadata?{value:a.value,metadata:a.metadata}:{value:a.value},n++,r+=e}}if(a===-1)break;i=a+1}return[n,r]}var fe=class{inject(t,n,r){let i=e.getBaggage(t);if(!i||y(t))return;let a=ce(le(i).filter(e=>e.length<=se).slice(0,180));a.length>0&&r.set(n,b,a)}extract(t,n,r){let i=r.get(n,b);if(!i)return t;let a={},o=0,s=0;if(Array.isArray(i))for(let e=0;e<i.length;e++)[o,s]=de(i[e],a,o,s);else[o]=de(i,a,o,s);return o===0?t:e.setBaggage(t,e.createBaggage(a))}fields(){return[b]}};function x(e){let t={};if(typeof e!=`object`||!e)return t;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if(!pe(n)){m.warn(`Invalid attribute key: ${n}`);continue}let r=e[n];if(!me(r)){m.warn(`Invalid attribute value set for key: ${n}`);continue}t[n]=Array.isArray(r)?r.slice():r}return t}function pe(e){return typeof e==`string`&&e!==``}function me(e){return e==null?!0:Array.isArray(e)?he(e):ge(typeof e)}function he(e){let t;for(let n of e){if(n==null)continue;let e=typeof n;if(e!==t){if(!t){if(ge(e)){t=e;continue}return!1}return!1}}return!0}function ge(e){switch(e){case`number`:case`boolean`:case`string`:return!0}return!1}function _e(){return e=>{m.error(ve(e))}}function ve(e){return typeof e==`string`?e:JSON.stringify(ye(e))}function ye(e){let t={},n=e;for(;n!==null;)Object.getOwnPropertyNames(n).forEach(e=>{if(t[e])return;let r=n[e];r&&(t[e]=String(r))}),n=Object.getPrototypeOf(n);return t}var be=_e();function S(e){try{be(e)}catch{}}var xe=`2.11.0`,Se=`error.type`,Ce=`exception.message`,we=`exception.stacktrace`,Te=`exception.type`,Ee=`service.name`,De=`service.version`,C=`telemetry.sdk.language`,Oe=`webjs`,w=`telemetry.sdk.name`,T=`telemetry.sdk.version`,ke=`process.runtime.name`,E={[w]:`opentelemetry`,[ke]:`browser`,[C]:Oe,[T]:xe},D=performance,Ae=9,je=10**6,O=10**Ae;function k(e){let t=e/1e3;return[Math.trunc(t),Math.round(e%1e3*je)]}function A(e){return Re(k(D.timeOrigin),k(typeof e==`number`?e:D.now()))}function Me(e,t){let n=t[0]-e[0],r=t[1]-e[1];return r<0&&(--n,r+=O),[n,r]}function Ne(e){return e[0]*O+e[1]}function Pe(e){return e[0]*1e6+e[1]/1e3}function Fe(e){return e[0]*1e3+e[1]/1e6}function Ie(e){return Array.isArray(e)&&e.length===2&&typeof e[0]==`number`&&typeof e[1]==`number`}function Le(e){return Ie(e)||typeof e==`number`||e instanceof Date}function Re(e,t){let n=[e[0]+t[0],e[1]+t[1]];return n[1]>=O&&(n[1]-=O,n[0]+=1),n}var j;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.FAILED=1]=`FAILED`})(j||={});var ze=class{_propagators;_fields;constructor(e={}){this._propagators=e.propagators??[];let t=new Set;for(let e of this._propagators){let n=typeof e.fields==`function`?e.fields():[];for(let e of n)t.add(e)}this._fields=Array.from(t)}inject(e,t,n){for(let r of this._propagators)try{r.inject(e,t,n)}catch(e){m.warn(`Failed to inject with ${r.constructor.name}. Err: ${e.message}`)}}extract(e,t,n){return this._propagators.reduce((e,r)=>{try{return r.extract(e,t,n)}catch(e){m.warn(`Failed to extract with ${r.constructor.name}. Err: ${e.message}`)}return e},e)}fields(){return this._fields.slice()}},M=`[_0-9a-z-*/]`,Be=RegExp(`^(?:${`[a-z]${M}{0,255}`}|${`[a-z0-9]${M}{0,240}@[a-z]${M}{0,13}`})$`),Ve=/^[ -~]{0,255}[!-~]$/,He=/,|=/;function Ue(e){return Be.test(e)}function We(e){return Ve.test(e)&&!He.test(e)}var Ge=32,Ke=512,qe=`,`,Je=`=`,Ye=class e{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e==`string`?e:``,this._length=this._rawTraceState.length}set(e,t){if(!Ue(e)||!We(t))return this;let n=this._getState(),r=n.get(e),i=this._length;if(i+=typeof r==`string`?t.length-r.length:e.length+t.length+(n.size>0?2:1),i>Ke)return this;let a=new Map(n);return a.delete(e),a.set(e,t),this._fromState(a,i)}unset(e){let t=this._getState(),n=t.get(e);if(typeof n!=`string`)return this;let r=this._length-(e.length+n.length+1);t.size>1&&--r;let i=new Map(t);return i.delete(e),this._fromState(i,r)}get(e){return this._getState().get(e)}serialize(){let e=``,t=0;for(let n of this._getState())t>0&&(e=qe+e),e=`${n[0]}${Je}${n[1]}`+e,t++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(qe),t=new Map,n=0;for(let r of e){let e=r.trim(),i=e.indexOf(Je);if(i===-1)continue;let a=e.slice(0,i),o=e.slice(i+1);if(!Ue(a)||!We(o))continue;let s=n+e.length+ +(t.size>0);if(!(s>Ke)&&(t.set(a,o),n=s,t.size>=Ge))break}return this._length=n,this._internalState=new Map(Array.from(t.entries()).reverse()),this._internalState}_fromState(t,n){let r=Object.create(e.prototype);return r._internalState=t,r._length=n,r}},N=`traceparent`,Xe=`tracestate`,Ze=`00`,Qe=RegExp(`^\\s?((?!ff)[\\da-f]{2})-((?![0]{32})[\\da-f]{32})-((?![0]{16})[\\da-f]{16})-([\\da-f]{2})(-.*)?\\s?$`);function $e(e){let t=Qe.exec(e);return!t||t[1]===`00`&&t[5]?null:{traceId:t[2],spanId:t[3],traceFlags:parseInt(t[4],16)}}var et=class{inject(e,t,n){let r=p.getSpanContext(e);if(!r||y(e)||!c(r))return;let i=`${Ze}-${r.traceId}-${r.spanId}-0${Number(r.traceFlags||f.NONE).toString(16)}`;n.set(t,N,i),r.traceState&&n.set(t,Xe,r.traceState.serialize())}extract(e,t,n){let r=n.get(t,N);if(!r)return e;let i=Array.isArray(r)?r[0]:r;if(typeof i!=`string`)return e;let a=$e(i);if(!a)return e;a.isRemote=!0;let o=n.get(t,Xe);if(o){let e=Array.isArray(o)?o.join(`,`):o;a.traceState=new Ye(typeof e==`string`?e:void 0)}return p.setSpanContext(e,a)}fields(){return[N,Xe]}},tt=`[object Object]`,nt=`[object Null]`,rt=`[object Undefined]`,it=Function.prototype.toString,at=it.call(Object),ot=Object.getPrototypeOf,st=Object.prototype,ct=st.hasOwnProperty,P=Symbol?Symbol.toStringTag:void 0,lt=st.toString;function ut(e){if(!dt(e)||ft(e)!==tt)return!1;let t=ot(e);if(t===null)return!0;let n=ct.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&it.call(n)===at}function dt(e){return typeof e==`object`&&!!e}function ft(e){return e==null?e===void 0?rt:nt:P&&P in Object(e)?pt(e):mt(e)}function pt(e){let t=ct.call(e,P),n=e[P],r=!1;try{e[P]=void 0,r=!0}catch{}let i=lt.call(e);return r&&(t?e[P]=n:delete e[P]),i}function mt(e){return lt.call(e)}var ht=20;function gt(...e){let t=e.shift(),n=new WeakMap;for(;e.length>0;)t=vt(t,e.shift(),0,n);return t}function _t(e){return F(e)?e.slice():e}function vt(e,t,n=0,r){let i;if(!(n>ht)){if(n++,L(e)||L(t)||bt(t))i=_t(t);else if(F(e)){if(i=e.slice(),F(t))for(let e=0,n=t.length;e<n;e++)i.push(_t(t[e]));else if(I(t)){let e=Object.keys(t);for(let n=0,r=e.length;n<r;n++){let r=e[n];r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&(i[r]=_t(t[r]))}}}else if(I(e)){if(I(t)){if(!xt(e,t))return t;i=Object.assign({},e);let a=Object.keys(t);for(let o=0,s=a.length;o<s;o++){let s=a[o];if(s===`__proto__`||s===`constructor`||s===`prototype`)continue;let c=t[s];if(L(c))c===void 0?delete i[s]:i[s]=c;else{let a=i[s],o=c;if(yt(e,s,r)||yt(t,s,r))delete i[s];else{if(I(a)&&I(o)){let n=r.get(a)||[],i=r.get(o)||[];n.push({obj:e,key:s}),i.push({obj:t,key:s}),r.set(a,n),r.set(o,i)}i[s]=vt(i[s],c,n,r)}}}}else i=t}return i}}function yt(e,t,n){let r=n.get(e[t])||[];for(let n=0,i=r.length;n<i;n++){let i=r[n];if(i.key===t&&i.obj===e)return!0}return!1}function F(e){return Array.isArray(e)}function bt(e){return typeof e==`function`}function I(e){return!L(e)&&!F(e)&&!bt(e)&&typeof e==`object`}function L(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||e===void 0||e instanceof Date||e instanceof RegExp||e===null}function xt(e,t){return!(!ut(e)||!ut(t))}var St=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}get promise(){return this._promise}resolve(e){this._resolve(e)}reject(e){this._reject(e)}},Ct=class{_isCalled=!1;_deferred=new St;_callback;_that;constructor(e,t){this._callback=e,this._that=t}get isCalled(){return this._isCalled}get promise(){return this._deferred.promise}call(...e){if(!this._isCalled){this._isCalled=!0;try{Promise.resolve(this._callback.call(this._that,...e)).then(e=>this._deferred.resolve(e),e=>this._deferred.reject(e))}catch(e){this._deferred.reject(e)}}return this._deferred.promise}};function wt(e){return Object.prototype.hasOwnProperty.call(e,`partialSuccess`)}function Tt(){return{handleResponse(e){e==null||!wt(e)||e.partialSuccess==null||Object.keys(e.partialSuccess).length===0||m.warn(`Received Partial Success response:`,JSON.stringify(e.partialSuccess))}}}var Et=class{_metrics;_diagLogger;_transport;_serializer;_responseHandler;_promiseQueue;_timeout;constructor(e,t,n,r,i,a){this._transport=e,this._serializer=t,this._responseHandler=n,this._promiseQueue=r,this._timeout=a,this._diagLogger=m.createComponentLogger({namespace:`OTLPExportDelegate`}),this._metrics=i}export(e,t){if(this._diagLogger.debug(`items to be sent`,e),this._promiseQueue.hasReachedLimit()){t({code:j.FAILED,error:Error(`Concurrent export limit reached`)});return}let n=this._serializer.serializeRequest(e);if(n==null){t({code:j.FAILED,error:Error(`Nothing to send`)});return}let r=this._metrics.startExport(e);this._promiseQueue.pushPromise(this._transport.send(n,this._timeout).then(e=>{if(e.status===`success`){if(r(void 0),e.data!=null)try{this._responseHandler.handleResponse(this._serializer.deserializeResponse(e.data))}catch(t){this._diagLogger.warn(`Export succeeded but could not deserialize response - is the response specification compliant?`,t,e.data)}t({code:j.SUCCESS});return}if(e.status===`failure`&&e.error){r(e.error),t({code:j.FAILED,error:e.error});return}e.status===`retryable`?(r(`export_max_retries`),t({code:j.FAILED,error:e.error??new g(`Export failed with retryable status`)})):(r(`export_failed`),t({code:j.FAILED,error:new g(`Export failed with unknown error`)}))},e=>{r(e),t({code:j.FAILED,error:e})}))}forceFlush(){return this._promiseQueue.awaitAll()}setMetrics(e){this._metrics=e}async shutdown(){this._diagLogger.debug(`shutdown started`),await this.forceFlush(),this._transport.shutdown()}};function Dt(e,t){return new Et(e.transport,e.serializer,Tt(),e.promiseHandler,e.metrics,t.timeout)}function Ot(e,t,n,r){return Dt({transport:r,serializer:t,promiseHandler:ie(e),metrics:n},{timeout:e.timeoutMillis})}var kt=`http.response.status_code`,At=`otel.component.name`,jt=`otel.component.type`,Mt=`server.address`,Nt=`server.port`,Pt=`error.type`,Ft=`0.222.0`,It=new Map,Lt=class{inflight;exported;duration;standardAttrs;responseAttributesFromError;helper;constructor(e){let{componentType:t,metricsHelper:n,meterProvider:i,url:a,responseAttributesFromError:o}=e;this.responseAttributesFromError=o;let s=i?i.getMeter(`@opentelemetry/otlp-exporter`,Ft):r(),c=It.get(t)??0;if(It.set(t,c+1),this.standardAttrs={[jt]:t,[At]:`${t}/${c}`},a){let e=a;a.includes(`://`)||(e=`http://${a}`);try{let t=new URL(e);this.standardAttrs[Mt]=t.hostname;let n;t.port?n=Number(t.port):t.protocol===`http:`?n=80:t.protocol===`https:`&&(n=443),typeof n==`number`&&(this.standardAttrs[Nt]=n)}catch{}}this.helper=n,this.inflight=s.createUpDownCounter(`otel.sdk.exporter.${this.helper.name}.inflight`,{unit:`{${this.helper.name}}`,description:`The number of ${this.helper.name}s which were passed to the exporter, but that have not been exported yet (neither successful, nor failed).`}),this.exported=s.createCounter(`otel.sdk.exporter.${this.helper.name}.exported`,{unit:`{${this.helper.name}}`,description:`The number of ${this.helper.name}s for which the export has finished, either successful or failed.`}),this.duration=s.createHistogram(`otel.sdk.exporter.operation.duration`,{unit:`s`,description:`The duration of exporting a batch of telemetry records.`,advice:{explicitBucketBoundaries:[]}})}startExport(e){let t=this.helper.countItems(e),n=A();return this.inflight.add(t,this.standardAttrs),e=>{let r=A();this.inflight.add(-t,this.standardAttrs);let i=e?{...this.standardAttrs,[Pt]:e instanceof Error?e.name:`export_failed`}:this.standardAttrs;this.exported.add(t,i);let a={...i,...this.responseAttributesFromError(e)},o=Fe(Me(n,r))/1e3;this.duration.record(o,a)}}},Rt={name:`span`,countItems:e=>e.length},R;function zt(){if(R===void 0)try{let e=globalThis.process.argv0;R=e?`unknown_service:${e}`:`unknown_service`}catch{R=`unknown_service`}return R}var z=e=>typeof e==`object`&&!!e&&typeof e.then==`function`,Bt=class e{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(t,n){let r=new e({},n);return r._rawAttributes=Ut(t),r._asyncAttributesPending=t.filter(([e,t])=>z(t)).length>0,r}constructor(e,t){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([e,t])=>(z(t)&&(this._asyncAttributesPending=!0),[e,t])),this._rawAttributes=Ut(this._rawAttributes),this._schemaUrl=Wt(t?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[t,n]=this._rawAttributes[e];this._rawAttributes[e]=[t,z(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&m.error(`Accessing resource attributes before async attributes settled`),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[t,n]of this._rawAttributes){if(z(n)){m.debug(`Unsettled resource attribute ${t} skipped`);continue}n!=null&&(e[t]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(t){if(t==null)return this;let n=Gt(this,t),r=n?{schemaUrl:n}:void 0;return e.FromAttributeList([...t.getRawAttributes(),...this.getRawAttributes()],r)}};function Vt(e,t){return Bt.FromAttributeList(Object.entries(e),t)}function Ht(){return Vt({[Ee]:zt(),[C]:E[C],[w]:E[w],[T]:E[T]})}function Ut(e){return e.map(([e,t])=>z(t)?[e,t.catch(t=>{m.debug(`promise rejection for resource attribute: %s - %s`,e,t)})]:[e,t])}function Wt(e){if(typeof e==`string`||e===void 0)return e;m.warn(`Schema URL must be string or undefined, got %s. Schema URL will be ignored.`,e)}function Gt(e,t){let n=e?.schemaUrl,r=t?.schemaUrl,i=n===void 0||n===``,a=r===void 0||r===``;if(i)return r;if(a||n===r)return n;m.warn(`Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.`,n,r)}function Kt(e,t){let n={attributes:B(e.attributes,t),droppedAttributesCount:0},r=e.schemaUrl;return r&&r!==``&&(n.schemaUrl=r),n}function qt(e,t){let n={name:e.name,version:e.version};return e.attributes&&Object.keys(e.attributes).length>0&&(n.attributes=B(e.attributes,t),n.droppedAttributesCount=e.droppedAttributesCount??0),n}function B(e,t){return Object.keys(e).map(n=>Jt(n,e[n],t))}function Jt(e,t,n){return{key:e,value:V(t,n)}}function V(e,t){let n=typeof e;if(n===`string`)return{stringValue:e};if(n===`number`)return Number.isInteger(e)?{intValue:e}:{doubleValue:e};if(n===`boolean`)return{boolValue:e};if(e instanceof Uint8Array)return{bytesValue:t.encodeUint8Array(e)};if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=V(e[r],t);return{arrayValue:{values:n}}}if(n===`object`&&e!=null){let n=Object.keys(e),r=Array(n.length);for(let i=0;i<n.length;i++)r[i]={key:n[i],value:V(e[n[i]],t)};return{kvlistValue:{values:r}}}return{}}function Yt(e){let t=BigInt(1e9);return BigInt(Math.trunc(e[0]))*t+BigInt(Math.trunc(e[1]))}function Xt(e){return Yt(e).toString()}var Zt=typeof BigInt<`u`?Xt:Ne;function Qt(e){return e}var $t={encodeHrTime:Zt,encodeSpanContext:Qt,encodeOptionalSpanContext:Qt,encodeUint8Array:e=>{if(typeof Buffer<`u`)return Buffer.from(e).toString(`base64`);let t=Array(e.length);for(let n=0;n<e.length;n++)t[n]=String.fromCharCode(e[n]);return btoa(t.join(``))}},en=256,tn=512;function nn(e,t){let n=e&255|en;return t&&(n|=tn),n}function rn(e,t){let n=e.spanContext(),r=e.status,i=e.parentSpanContext?.spanId?t.encodeSpanContext(e.parentSpanContext?.spanId):void 0;return{traceId:t.encodeSpanContext(n.traceId),spanId:t.encodeSpanContext(n.spanId),parentSpanId:i,traceState:n.traceState?.serialize(),name:e.name,kind:e.kind==null?0:e.kind+1,startTimeUnixNano:t.encodeHrTime(e.startTime),endTimeUnixNano:t.encodeHrTime(e.endTime),attributes:B(e.attributes,t),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(e=>on(e,t)),droppedEventsCount:e.droppedEventsCount,status:{code:r.code,message:r.message},links:e.links.map(e=>an(e,t)),droppedLinksCount:e.droppedLinksCount,flags:nn(n.traceFlags,e.parentSpanContext?.isRemote)}}function an(e,t){return{attributes:e.attributes?B(e.attributes,t):[],spanId:t.encodeSpanContext(e.context.spanId),traceId:t.encodeSpanContext(e.context.traceId),traceState:e.context.traceState?.serialize(),droppedAttributesCount:e.droppedAttributesCount||0,flags:nn(e.context.traceFlags,e.context.isRemote)}}function on(e,t){return{attributes:e.attributes?B(e.attributes,t):[],name:e.name,timeUnixNano:t.encodeHrTime(e.time),droppedAttributesCount:e.droppedAttributesCount||0}}function sn(e,t){return{resourceSpans:ln(e,t)}}function cn(e){let t=new Map;for(let n of e){let e=t.get(n.resource);e||(e=new Map,t.set(n.resource,e));let r=`${n.instrumentationScope.name}@${n.instrumentationScope.version||``}:${n.instrumentationScope.schemaUrl||``}`,i=e.get(r);i||(i=[],e.set(r,i)),i.push(n)}return t}function ln(e,t){let n=cn(e),r=[],i=n.entries(),a=i.next();for(;!a.done;){let[e,n]=a.value,o=[],s=n.values(),c=s.next();for(;!c.done;){let e=c.value;if(e.length>0){let n=e.map(e=>rn(e,t));o.push({scope:qt(e[0].instrumentationScope,t),spans:n,schemaUrl:e[0].instrumentationScope.schemaUrl})}c=s.next()}let l=Kt(e,t),u={resource:l,scopeSpans:o,schemaUrl:l.schemaUrl};r.push(u),a=i.next()}return r}var un={serializeRequest:e=>{let t=sn(e,$t);return new TextEncoder().encode(JSON.stringify(t))},deserializeResponse:e=>{if(e.length===0)return{};let t=new TextDecoder;try{return JSON.parse(t.decode(e))}catch(e){return m.warn(`Failed to parse trace export response: ${e.message}. Returning empty response`),{}}}},H=5,dn=1e3,fn=5e3,pn=1.5,mn=.2;function hn(){return 2*mn*Math.random()-mn}var gn=class{_transport;constructor(e){this._transport=e}retry(e,t,n){return new Promise((r,i)=>{setTimeout(()=>{this._transport.send(e,t).then(r,i)},n)})}async send(e,t){let n=H,r=dn,i=Date.now()+t,a=await this._transport.send(e,t);for(;a.status===`retryable`&&n>0;){n--;let t=Math.max(Math.min(r*(1+hn()),fn),0);r*=pn;let o=a.retryInMillis??t,s=i-Date.now();if(o>s)return m.info(`Export retry time ${Math.round(o)}ms exceeds remaining timeout ${Math.round(s)}ms, not retrying further.`),a;m.verbose(`Scheduling export retry in ${Math.round(o)}ms`),a=await this.retry(e,s,o)}return a.status===`success`?m.verbose(`Export succeeded after ${H-n} retry attempts.`):a.status===`retryable`?m.info(`Export failed after maximum retry attempts (${H}).`):m.info(`Export failed with non-retryable error: ${a.error}`),a}shutdown(){return this._transport.shutdown()}};function _n(e){return new gn(e.transport)}function vn(e){return e===429||e===502||e===503||e===504}function yn(e){if(e==null)return;let t=Number.parseInt(e,10);if(Number.isInteger(t))return t>0?t*1e3:-1;let n=new Date(e).getTime()-Date.now();return n>=0?n:0}var bn=61440,xn=9,U=0,W=0,Sn=class{_parameters;constructor(e){this._parameters=e}async send(e,t){let n=new AbortController,r=setTimeout(()=>n.abort(),t),i=globalThis.fetch;typeof i.__original==`function`&&(i=i.__original);let a=e.byteLength,o=U+a>bn,s=!o&&!(W>=xn);if(s)U+=a,W++;else{let e=o?`size limit`:`count limit`;m.debug(`keepalive disabled: ${(a/1024).toFixed(1)}KB payload, ${W} pending (${e})`)}try{let t=new URL(this._parameters.url),r=await i(t.href,{method:`POST`,headers:await this._parameters.headers(),body:e,signal:n.signal,keepalive:s,mode:globalThis.location?globalThis.location.origin===t.origin?`same-origin`:`cors`:`no-cors`});return r.status>=200&&r.status<=299?(m.debug(`export response success (status: ${r.status})`),{status:`success`}):vn(r.status)?(m.warn(`export response retryable (status: ${r.status})`),{status:`retryable`,retryInMillis:yn(r.headers.get(`Retry-After`))}):(m.error(`export response failure (status: ${r.status})`),{status:`failure`,error:Error(`Fetch request failed with non-retryable status ${r.status}`)})}catch(e){return wn(e)?(m.warn(`export request retryable (network error: ${e})`),{status:`retryable`,error:Error(`Fetch request encountered a network error`,{cause:e})}):(m.error(`export request failure (error: ${e})`),{status:`failure`,error:Error(`Fetch request errored`,{cause:e})})}finally{clearTimeout(r),s&&(U-=a,W--)}}shutdown(){}};function Cn(e){return new Sn(e)}function wn(e){return e instanceof TypeError&&!e.cause}function Tn(e,t,n){return Ot(e,t,n,_n({transport:Cn(e)}))}function En(e){let t={};return Object.entries(e??{}).forEach(([e,n])=>{n===void 0?m.warn(`Header "${e}" has invalid value (${n}) and will be ignored`):t[e]=String(n)}),t}function Dn(e,t,n){return async()=>{let r={...await n()},i={};return t!=null&&Object.assign(i,await t()),e!=null&&Object.assign(i,En(await e())),Object.assign(i,r)}}function On(e){if(e!=null)try{let t=globalThis.location?.href;return new URL(e,t).href}catch{throw Error(`Configuration: Could not parse user-provided export URL: '${e}'`)}}function kn(e,t,n){return{...ne(e,t,n),headers:Dn(e.headers,t.headers,n.headers),url:On(e.url)??t.url??n.url}}function An(e,t){return{...re(),headers:async()=>e,url:`http://localhost:4318/`+t}}function jn(e){return typeof e.headers==`function`?e.headers:_(e.headers)}function Mn(e,t,n){return kn({url:e.url,timeoutMillis:e.timeoutMillis,headers:jn(e),concurrencyLimit:e.concurrencyLimit},{},An(n,t))}function Nn(e,t,n,r){return new Lt({componentType:e,metricsHelper:t,url:n,meterProvider:r,responseAttributesFromError:e=>{if(!e)return{[kt]:200};if(!(e instanceof Error))return{};if(e.message.startsWith(`Fetch request failed with non-retryable status `)){let t=e.message.substring(47);return{[kt]:Number(t)}}return{}}})}function Pn(e,t,n,r,i,a,o){let s=Mn(e,a,o);return Tn(s,t,Nn(n,r,s.url,e.selfObsMeterProvider))}var Fn=`otlp_http_span_exporter`,In=class extends h{constructor(e={}){super(Pn(e,un,Fn,Rt,e.selfObsMeterProvider,`v1/traces`,{"Content-Type":`application/json`}))}},Ln=`exception`,G=Symbol.for(`nodejs.util.inspect.custom`);function K(e){let t={};for(let[n,r]of e.getRawAttributes())typeof r?.then!=`function`&&r!=null&&(t[n]??=r);return t}function q(e,t,n,r,i){if(typeof n==`number`&&n<0){let t=`[${e}]`;return r?.stylize?r.stylize(t,`special`):t}return typeof i!=`function`||!r?t:`${e} ${i(t,{...r,depth:r.depth==null?r.depth:r.depth-1})}`}var Rn=class{_spanContext;kind;parentSpanContext;attributes={};links=[];events=[];startTime;resource;instrumentationScope;_droppedAttributesCount=0;_droppedEventsCount=0;_droppedLinksCount=0;_attributesCount=0;name;status={code:n.UNSET};endTime=[0,0];_ended=!1;_duration=[-1,-1];_spanProcessor;_spanLimits;_attributeValueLengthLimit;_recordEndMetrics;_performanceStartTime;_performanceOffset;_startTimeProvided;constructor(e){let t=Date.now();if(this._spanContext=e.spanContext,this._performanceStartTime=D.now(),this._performanceOffset=t-(this._performanceStartTime+D.timeOrigin),this._startTimeProvided=e.startTime!=null,this._spanLimits=e.spanLimits,this._attributeValueLengthLimit=this._spanLimits.attributeValueLengthLimit??0,this._spanProcessor=e.spanProcessor,this.name=e.name,this.parentSpanContext=e.parentSpanContext,this.kind=e.kind,e.links)for(let t of e.links)this.addLink(t);this.startTime=this._getTime(e.startTime??t),this.resource=e.resource,this.instrumentationScope=e.scope,this._recordEndMetrics=e.recordEndMetrics,e.attributes!=null&&this.setAttributes(e.attributes),this._spanProcessor.onStart(this,e.context)}spanContext(){return this._spanContext}setAttribute(e,t){if(t==null||this._isSpanEnded())return this;if(e.length===0)return m.warn(`Invalid attribute key: ${e}`),this;if(!me(t))return m.warn(`Invalid attribute value set for key: ${e}`),this;let{attributeCountLimit:n}=this._spanLimits,r=!Object.prototype.hasOwnProperty.call(this.attributes,e);return n!==void 0&&this._attributesCount>=n&&r?(this._droppedAttributesCount++,this):(this.attributes[e]=this._truncateToSize(t),r&&this._attributesCount++,this)}setAttributes(e){for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.setAttribute(t,e[t]);return this}addEvent(e,t,n){if(this._isSpanEnded())return this;let{eventCountLimit:r}=this._spanLimits;if(r===0)return m.warn(`No events allowed.`),this._droppedEventsCount++,this;r!==void 0&&this.events.length>=r&&(this._droppedEventsCount===0&&m.debug(`Dropping extra events.`),this.events.shift(),this._droppedEventsCount++),Le(t)&&(Le(n)||(n=t),t=void 0);let i=x(t),{attributePerEventCountLimit:a}=this._spanLimits,o={},s=0,c=0;for(let e in i){if(!Object.prototype.hasOwnProperty.call(i,e))continue;let t=i[e];if(a!==void 0&&c>=a){s++;continue}o[e]=this._truncateToSize(t),c++}return this.events.push({name:e,attributes:o,time:this._getTime(n),droppedAttributesCount:s}),this}addLink(e){if(this._isSpanEnded())return this;let{linkCountLimit:t}=this._spanLimits;if(t===0)return this._droppedLinksCount++,this;t!==void 0&&this.links.length>=t&&(this._droppedLinksCount===0&&m.debug(`Dropping extra links.`),this.links.shift(),this._droppedLinksCount++);let{attributePerLinkCountLimit:n}=this._spanLimits,r=x(e.attributes),i={},a=0,o=0;for(let e in r){if(!Object.prototype.hasOwnProperty.call(r,e))continue;let t=r[e];if(n!==void 0&&o>=n){a++;continue}i[e]=this._truncateToSize(t),o++}let s={context:e.context};return o>0&&(s.attributes=i),a>0&&(s.droppedAttributesCount=a),this.links.push(s),this}addLinks(e){for(let t of e)this.addLink(t);return this}setStatus(e){if(this._isSpanEnded()||e.code===n.UNSET||this.status.code===n.OK)return this;let t={code:e.code};return e.code===n.ERROR&&(typeof e.message==`string`?t.message=e.message:e.message!=null&&m.warn(`Dropping invalid status.message of type '${typeof e.message}', expected 'string'`)),this.status=t,this}updateName(e){return this._isSpanEnded()||(this.name=e),this}end(e){if(this._isSpanEnded()){m.error(`${this.name} ${this._spanContext.traceId}-${this._spanContext.spanId} - You can only call end() on a span once.`);return}this.endTime=this._getTime(e),this._duration=Me(this.startTime,this.endTime),this._duration[0]<0&&(m.warn(`Inconsistent start and end time, startTime > endTime. Setting span duration to 0ms.`,this.startTime,this.endTime),this.endTime=this.startTime.slice(),this._duration=[0,0]),this._droppedEventsCount>0&&m.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`),this._droppedLinksCount>0&&m.warn(`Dropped ${this._droppedLinksCount} links because linkCountLimit reached`),this._spanProcessor.onEnding&&this._spanProcessor.onEnding(this),this._recordEndMetrics?.(),this._ended=!0,this._spanProcessor.onEnd(this)}_getTime(e){if(typeof e==`number`&&e<=D.now())return A(e+this._performanceOffset);if(typeof e==`number`)return k(e);if(e instanceof Date)return k(e.getTime());if(Ie(e))return e;if(this._startTimeProvided)return k(Date.now());let t=D.now()-this._performanceStartTime;return Re(this.startTime,k(t))}isRecording(){return this._ended===!1}recordException(e,t){let n={};typeof e==`string`?n[Ce]=e:e&&(e.code?n[Te]=e.code.toString():e.name&&(n[Te]=e.name),e.message&&(n[Ce]=e.message),e.stack&&(n[we]=e.stack)),n[`exception.type`]||n[`exception.message`]?this.addEvent(Ln,n,t):m.warn(`Failed to record an exception ${e}`)}get duration(){return this._duration}get ended(){return this._ended}get droppedAttributesCount(){return this._droppedAttributesCount}get droppedEventsCount(){return this._droppedEventsCount}get droppedLinksCount(){return this._droppedLinksCount}_isSpanEnded(){if(this._ended){let e=Error(`Operation attempted on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`);m.warn(`Cannot execute the operation on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`,e)}return this._ended}_truncateToLimitUtil(e,t){return e.length<=t?e:e.substring(0,t)}_truncateToSize(e){let t=this._attributeValueLengthLimit;return t<=0?(m.warn(`Attribute value limit must be positive, got ${t}`),e):typeof e==`string`?this._truncateToLimitUtil(e,t):Array.isArray(e)?e.map(e=>typeof e==`string`?this._truncateToLimitUtil(e,t):e):e}[G](e,t,n){return q(`SpanImpl`,{name:this.name,kind:this.kind,spanContext:this._spanContext,parentSpanContext:this.parentSpanContext,status:this.status,startTime:this.startTime,endTime:this.endTime,duration:this._duration,ended:this._ended,attributes:this.attributes,events:this.events,links:this.links,droppedAttributesCount:this._droppedAttributesCount,droppedEventsCount:this._droppedEventsCount,droppedLinksCount:this._droppedLinksCount,instrumentationScope:this.instrumentationScope,resource:{attributes:K(this.resource)}},e,t,n)}},J;(function(e){e[e.NOT_RECORD=0]=`NOT_RECORD`,e[e.RECORD=1]=`RECORD`,e[e.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(J||={});var zn=`otel.component.name`,Bn=`otel.component.type`,Vn=`otel.span.parent.origin`,Hn=`otel.span.sampling_result`,Un=`otel.sdk.processor.span.processed`,Wn=`otel.sdk.processor.span.queue.capacity`,Gn=`otel.sdk.processor.span.queue.size`,Kn=`otel.sdk.span.live`,qn=`otel.sdk.span.started`,Jn=`batching_span_processor`,Yn=class{startedSpans;liveSpans;constructor(e){this.startedSpans=e.createCounter(qn,{unit:`{span}`,description:`The number of created spans.`}),this.liveSpans=e.createUpDownCounter(Kn,{unit:`{span}`,description:`The number of currently live spans.`})}startSpan(e,t){let n=Zn(t);if(this.startedSpans.add(1,{[Vn]:Xn(e),[Hn]:n}),t===J.NOT_RECORD)return()=>{};let r={[Hn]:n};return this.liveSpans.add(1,r),()=>{this.liveSpans.add(-1,r)}}};function Xn(e){return e?e.isRemote?`remote`:`local`:`none`}function Zn(e){switch(e){case J.RECORD_AND_SAMPLED:return`RECORD_AND_SAMPLE`;case J.RECORD:return`RECORD_ONLY`;case J.NOT_RECORD:return`DROP`}}var Qn=`2.11.0`,$n=class{_sampler;_spanLimits;_idGenerator;instrumentationScope;_resource;_spanProcessor;_tracerMetrics;constructor(e,t){this.instrumentationScope=e,this._sampler=t.sampler,this._spanLimits=t.spanLimits,this._resource=t.resource,this._idGenerator=t.idGenerator,this._spanProcessor=t.spanProcessor;let n=t.meterProvider.getMeter(`@opentelemetry/sdk-trace`,Qn);this._tracerMetrics=new Yn(n)}startSpan(e,t={},n=s.active()){t.root&&(n=p.deleteSpan(n));let r=p.getSpan(n);if(y(n))return m.debug(`Instrumentation suppressed, returning Noop Span`),p.wrapSpanContext(i);let a=r?.spanContext(),c=this._idGenerator.generateSpanId(),l,u,d;!a||!p.isSpanContextValid(a)?u=this._idGenerator.generateTraceId():(u=a.traceId,d=a.traceState,l=a);let h=t.kind??o.INTERNAL,g=(t.links??[]).map(e=>({context:e.context,attributes:x(e.attributes)})),te=x(t.attributes),_=this._sampler.shouldSample(n,u,e,h,te,g),ne=this._tracerMetrics.startSpan(a,_.decision);d=_.traceState??d;let re=_.decision===ee.RECORD_AND_SAMPLED?f.SAMPLED:f.NONE,v={traceId:u,spanId:c,traceFlags:re,traceState:d};if(_.decision===ee.NOT_RECORD)return m.debug(`Recording is off, propagating context in a non-recording span`),p.wrapSpanContext(v);let ie=x(Object.assign(te,_.attributes));return new Rn({resource:this._resource,scope:this.instrumentationScope,context:n,spanContext:v,name:e,kind:h,links:g,parentSpanContext:l,attributes:ie,startTime:t.startTime,spanProcessor:this._spanProcessor,spanLimits:this._spanLimits,recordEndMetrics:ne})}startActiveSpan(e,t,n,r){let i,a,o;if(arguments.length<2)return;arguments.length===2?o=t:arguments.length===3?(i=t,o=n):(i=t,a=n,o=r);let c=a??s.active(),l=this.startSpan(e,i,c),u=p.setSpan(c,l);return s.with(u,o,void 0,l)}[G](e,t,n){return q(`Tracer`,{instrumentationScope:this.instrumentationScope,resource:{attributes:K(this._resource)},spanLimits:this._spanLimits},e,t,n)}},er=class{_spanProcessors;constructor(e){this._spanProcessors=e}forceFlush(){let e=[];for(let t of this._spanProcessors)e.push(t.forceFlush());return new Promise(t=>{Promise.all(e).then(()=>{t()}).catch(e=>{S(e||Error(`MultiSpanProcessor: forceFlush failed`)),t()})})}onStart(e,t){for(let n of this._spanProcessors)n.onStart(e,t)}onEnding(e){for(let t of this._spanProcessors)t.onEnding&&t.onEnding(e)}onEnd(e){for(let t of this._spanProcessors)t.onEnd(e)}shutdown(){let e=[];for(let t of this._spanProcessors)e.push(t.shutdown());return new Promise((t,n)=>{Promise.all(e).then(()=>{t()},n)})}},Y=class{shouldSample(){return{decision:J.NOT_RECORD}}toString(){return`AlwaysOffSampler`}},X=class{shouldSample(){return{decision:J.RECORD_AND_SAMPLED}}toString(){return`AlwaysOnSampler`}},Z=class{_root;_remoteParentSampled;_remoteParentNotSampled;_localParentSampled;_localParentNotSampled;constructor(e){this._root=e.root,this._root||=(S(Error(`ParentBasedSampler must have a root sampler configured`)),new X),this._remoteParentSampled=e.remoteParentSampled??new X,this._remoteParentNotSampled=e.remoteParentNotSampled??new Y,this._localParentSampled=e.localParentSampled??new X,this._localParentNotSampled=e.localParentNotSampled??new Y}shouldSample(e,t,n,r,i,a){let o=p.getSpanContext(e);return!o||!c(o)?this._root.shouldSample(e,t,n,r,i,a):o.isRemote?o.traceFlags&f.SAMPLED?this._remoteParentSampled.shouldSample(e,t,n,r,i,a):this._remoteParentNotSampled.shouldSample(e,t,n,r,i,a):o.traceFlags&f.SAMPLED?this._localParentSampled.shouldSample(e,t,n,r,i,a):this._localParentNotSampled.shouldSample(e,t,n,r,i,a)}toString(){return`ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`}},tr=new Map,nr=class{processedSpans;queueSize;queueSizeCallback;standardAttrs;droppedAttrs;constructor(e,t,n){let r=tr.get(e)??0;if(tr.set(e,r+1),this.standardAttrs={[Bn]:e,[zn]:`${e}/${r}`},this.droppedAttrs={...this.standardAttrs,[Se]:`queue_full`},this.processedSpans=t.createCounter(Un,{unit:`{span}`,description:`The number of spans for which the processing has finished, either successful or failed.`}),n){let{capacity:e,getQueueSize:r}=n;t.createUpDownCounter(Wn,{unit:`{span}`,description:`The maximum number of spans the queue of a given instance of an SDK span processor can hold.`}).add(e,this.standardAttrs),this.queueSize=t.createObservableUpDownCounter(Gn,{unit:`{span}`,description:`The number of spans in the queue of a given instance of an SDK span processor.`}),this.queueSizeCallback=e=>e.observe(r(),this.standardAttrs),this.queueSize.addCallback(this.queueSizeCallback)}}dropSpans(e){this.processedSpans.add(e,this.droppedAttrs)}finishSpans(e,t){if(!t){this.processedSpans.add(e,this.standardAttrs);return}let n={...this.standardAttrs,[Se]:t.name};this.processedSpans.add(e,n)}shutdown(){this.queueSize&&this.queueSizeCallback&&this.queueSize.removeCallback(this.queueSizeCallback)}},rr=class{_maxExportBatchSize;_maxQueueSize;_scheduledDelayMillis;_exportTimeoutMillis;_exporter;_metrics;_isExporting=!1;_finishedSpans=[];_timer;_shutdownOnce;_droppedSpansCount=0;constructor(e){this._exporter=e.exporter,this._maxExportBatchSize=e.maxExportBatchSize??512,this._maxQueueSize=e.maxQueueSize??2048,this._scheduledDelayMillis=e.scheduledDelayMillis??5e3,this._exportTimeoutMillis=e.exportTimeoutMillis??3e4,this._shutdownOnce=new Ct(this._shutdown,this),this._maxExportBatchSize>this._maxQueueSize&&(m.warn(`BatchSpanProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize`),this._maxExportBatchSize=this._maxQueueSize);let t=e.selfObsMeterProvider?e.selfObsMeterProvider.getMeter(`@opentelemetry/sdk-trace`):r();this._metrics=new nr(Jn,t,{capacity:this._maxQueueSize,getQueueSize:()=>this._finishedSpans.length})}forceFlush(){return this._shutdownOnce.isCalled?this._shutdownOnce.promise:this._flushAll()}onStart(e,t){}onEnd(e){this._shutdownOnce.isCalled||(e.spanContext().traceFlags&f.SAMPLED)!==0&&this._addToBuffer(e)}shutdown(){return this._shutdownOnce.call()}_shutdown(){return Promise.resolve().then(()=>this.onShutdown()).then(()=>this._flushAll()).then(()=>(this._metrics.shutdown(),this._exporter.shutdown()))}_addToBuffer(e){if(this._finishedSpans.length>=this._maxQueueSize){this._droppedSpansCount===0&&m.debug(`maxQueueSize reached, dropping spans`),this._droppedSpansCount++,this._metrics.dropSpans(1);return}this._droppedSpansCount>0&&(m.warn(`Dropped ${this._droppedSpansCount} spans because maxQueueSize reached`),this._droppedSpansCount=0),this._finishedSpans.push(e),this._maybeStartTimer()}_flushAll(){return new Promise((e,t)=>{let n=[],r=Math.ceil(this._finishedSpans.length/this._maxExportBatchSize);for(let e=0,t=r;e<t;e++)n.push(this._flushOneBatch());Promise.all(n).then(()=>{e()}).catch(t)})}_flushOneBatch(){return this._clearTimer(),this._finishedSpans.length===0?Promise.resolve():new Promise((e,t)=>{let n=setTimeout(()=>{t(Error(`Timeout`))},this._exportTimeoutMillis);s.with(oe(s.active()),()=>{let r;this._finishedSpans.length<=this._maxExportBatchSize?(r=this._finishedSpans,this._finishedSpans=[]):r=this._finishedSpans.splice(0,this._maxExportBatchSize);let i=()=>this._exporter.export(r,i=>{clearTimeout(n),this._metrics.finishSpans(r.length,i.error),i.code===j.SUCCESS?e():t(i.error??Error(`BatchSpanProcessor: span export failed`))}),a=null;for(let e=0,t=r.length;e<t;e++){let t=r[e];t.resource.asyncAttributesPending&&t.resource.waitForAsyncAttributes&&(a??=[],a.push(t.resource.waitForAsyncAttributes()))}a===null?i():Promise.all(a).then(i,e=>{S(e),t(e)})})})}_maybeStartTimer(){if(this._isExporting)return;let e=()=>{this._isExporting=!0,this._flushOneBatch().finally(()=>{this._isExporting=!1,this._finishedSpans.length>0&&(this._clearTimer(),this._maybeStartTimer())}).catch(e=>{this._isExporting=!1,S(e)})};if(this._finishedSpans.length>=this._maxExportBatchSize)return e();this._timer===void 0&&(this._timer=setTimeout(()=>e(),this._scheduledDelayMillis),typeof this._timer!=`number`&&this._timer.unref())}_clearTimer(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}},ir=class extends rr{_visibilityChangeListener;_pageHideListener;constructor(e){super(e),this.onInit(e)}onInit(e){e.disableAutoFlushOnDocumentHide!==!0&&typeof document<`u`&&(this._visibilityChangeListener=()=>{document.visibilityState===`hidden`&&this.forceFlush().catch(e=>{S(e)})},this._pageHideListener=()=>{this.forceFlush().catch(e=>{S(e)})},document.addEventListener(`visibilitychange`,this._visibilityChangeListener),document.addEventListener(`pagehide`,this._pageHideListener))}onShutdown(){typeof document<`u`&&(this._visibilityChangeListener&&document.removeEventListener(`visibilitychange`,this._visibilityChangeListener),this._pageHideListener&&document.removeEventListener(`pagehide`,this._pageHideListener))}},ar=16,or=8,sr=new Uint8Array(ar),cr=new Uint8Array(or),lr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function ur(e){for(let t=0;t<e.length;t++)e[t]=Math.random()*256>>>0;for(let t=0;t<e.length;t++)if(e[t]>0)return;e[e.length-1]=1}function dr(e){let t=``;for(let n=0;n<e.length;n++)t+=lr[e[n]];return t}var fr=class{generateTraceId(){return ur(sr),dr(sr)}generateSpanId(){return ur(cr),dr(cr)}},Q;(function(e){e[e.resolved=0]=`resolved`,e[e.timeout=1]=`timeout`,e[e.error=2]=`error`,e[e.unresolved=3]=`unresolved`})(Q||={});var pr=class{_resource;_activeSpanProcessor;_forceFlushTimeoutMillis;_tracerOptions;_tracers=new Map;constructor(e={}){this._forceFlushTimeoutMillis=e.forceFlushTimeoutMillis??3e4,this._resource=e.resource??Ht();let t=e.spanProcessors??[];this._activeSpanProcessor=new er(t),this._tracerOptions={resource:this._resource,sampler:e.sampler??new Z({root:new X}),spanLimits:{attributeCountLimit:e.spanLimits?.attributeCountLimit??128,attributeValueLengthLimit:e.spanLimits?.attributeValueLengthLimit??1/0,eventCountLimit:e.spanLimits?.eventCountLimit??128,linkCountLimit:e.spanLimits?.linkCountLimit??128,attributePerEventCountLimit:e.spanLimits?.attributePerEventCountLimit??128,attributePerLinkCountLimit:e.spanLimits?.attributePerLinkCountLimit??128},idGenerator:e.idGenerator||new fr,spanProcessor:this._activeSpanProcessor,meterProvider:e.meterProvider??{getMeter(){return r()}}}}getTracer(e,t,n){let r=`${e}@${t||``}:${n?.schemaUrl||``}`;return this._tracers.has(r)||this._tracers.set(r,new $n({name:e,version:t,schemaUrl:n?.schemaUrl},this._tracerOptions)),this._tracers.get(r)}forceFlush(e){let t=e?.timeoutMillis??this._forceFlushTimeoutMillis,n=this._activeSpanProcessor._spanProcessors.map(e=>new Promise(n=>{let r,i=setTimeout(()=>{n(Error(`Span processor did not completed within timeout period of ${t} ms`)),r=Q.timeout},t);e.forceFlush().then(()=>{clearTimeout(i),r!==Q.timeout&&(r=Q.resolved,n(r))}).catch(e=>{clearTimeout(i),r=Q.error,n(e)})}));return new Promise((e,t)=>{Promise.all(n).then(n=>{let r=n.filter(e=>e!==Q.resolved);r.length>0?t(r):e()}).catch(e=>t([e]))})}shutdown(){return this._activeSpanProcessor.shutdown()}[G](e,t,n){let r=this._activeSpanProcessor._spanProcessors;return q(`TracerProvider`,{resource:{attributes:K(this._resource)},tracers:Array.from(this._tracers.keys()),spanProcessors:r.map(e=>e.constructor?.name??`SpanProcessor`)},e,t,n)}},mr=class{export(e,t){return this._sendSpans(e,t)}shutdown(){return this._sendSpans([]),this.forceFlush()}forceFlush(){return Promise.resolve()}_exportInfo(e){return{resource:{attributes:e.resource.attributes},instrumentationScope:e.instrumentationScope,traceId:e.spanContext().traceId,parentSpanContext:e.parentSpanContext,traceState:e.spanContext().traceState?.serialize(),name:e.name,id:e.spanContext().spanId,kind:e.kind,timestamp:Pe(e.startTime),duration:Pe(e.duration),attributes:e.attributes,status:e.status,events:e.events,links:e.links}}_sendSpans(e,t){for(let t of e)console.dir(this._exportInfo(t),{depth:3});if(t)return t({code:j.SUCCESS})}},hr=class{_ratio;_upperBound;constructor(e=0){this._ratio=this._normalize(e),this._upperBound=this._ratio===1?4294967296:Math.floor(this._ratio*4294967295)}shouldSample(e,n){return{decision:t(n)&&this._accumulate(n)<this._upperBound?J.RECORD_AND_SAMPLED:J.NOT_RECORD}}toString(){return`TraceIdRatioBased{${this._ratio}}`}_normalize(e){return typeof e!=`number`||isNaN(e)?0:e>=1?1:e<=0?0:e}_accumulate(e){let t=0;for(let n=0;n<32;n+=8){let r=0;for(let t=0;t<8;t++){let i=e.charCodeAt(n+t),a=i<58?i-48:i<71?i-55:i-87;r=r<<4|a}t=(t^r)>>>0}return t}},$;(function(e){e.AlwaysOff=`always_off`,e.AlwaysOn=`always_on`,e.ParentBasedAlwaysOff=`parentbased_always_off`,e.ParentBasedAlwaysOn=`parentbased_always_on`,e.ParentBasedTraceIdRatio=`parentbased_traceidratio`,e.TraceIdRatio=`traceidratio`})($||={});var gr=1;function _r(){return{sampler:vr(),forceFlushTimeoutMillis:3e4,generalLimits:{attributeValueLengthLimit:1/0,attributeCountLimit:128},spanLimits:{attributeValueLengthLimit:1/0,attributeCountLimit:128,linkCountLimit:128,eventCountLimit:128,attributePerEventCountLimit:128,attributePerLinkCountLimit:128}}}function vr(){let e=$.ParentBasedAlwaysOn;switch(e){case $.AlwaysOn:return new X;case $.AlwaysOff:return new Y;case $.ParentBasedAlwaysOn:return new Z({root:new X});case $.ParentBasedAlwaysOff:return new Z({root:new Y});case $.TraceIdRatio:return new hr(yr());case $.ParentBasedTraceIdRatio:return new Z({root:new hr(yr())});default:return m.error(`OTEL_TRACES_SAMPLER value "${e}" invalid, defaulting to "${$.ParentBasedAlwaysOn}".`),new Z({root:new X})}}function yr(){return m.error(`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to ${gr}.`),gr}function br(e){let t=Object.assign({},e.spanLimits);return t.attributeCountLimit=e.spanLimits?.attributeCountLimit??e.generalLimits?.attributeCountLimit??void 0??void 0??128,t.attributeValueLengthLimit=e.spanLimits?.attributeValueLengthLimit??e.generalLimits?.attributeValueLengthLimit??void 0??void 0??1/0,Object.assign({},e,{spanLimits:t})}var xr=class extends pr{constructor(e={}){let t=gt({},_r(),br(e));delete t.generalLimits,super(t)}},Sr=class extends ir{constructor(e,t){t||={};for(let[e,n]of[[`maxExportBatchSize`,`OTEL_BSP_MAX_EXPORT_BATCH_SIZE`],[`maxQueueSize`,`OTEL_BSP_MAX_QUEUE_SIZE`],[`scheduledDelayMillis`,`OTEL_BSP_SCHEDULE_DELAY`],[`exportTimeoutMillis`,`OTEL_BSP_EXPORT_TIMEOUT`]])t[e];super({exporter:e,...t})}},Cr=class{_enabled=!1;_currentContext=u;_bindFunction(e=u,t){let n=this,r=function(...r){return n.with(e,()=>t.apply(this,r))};return Object.defineProperty(r,"length",{enumerable:!1,configurable:!0,writable:!1,value:t.length}),r}active(){return this._currentContext}bind(e,t){return e===void 0&&(e=this.active()),typeof t==`function`?this._bindFunction(e,t):t}disable(){return this._currentContext=u,this._enabled=!1,this}enable(){return this._enabled?this:(this._enabled=!0,this._currentContext=u,this)}with(e,t,n,...r){let i=this._currentContext;this._currentContext=e||u;try{return t.call(n,...r)}finally{this._currentContext=i}}};function wr(e){if(e!==null){if(e===void 0){let e=new Cr;e.enable(),s.setGlobalContextManager(e);return}e.enable(),s.setGlobalContextManager(e)}}function Tr(t){if(t!==null){if(t===void 0){e.setGlobalPropagator(new ze({propagators:[new et,new fe]}));return}e.setGlobalPropagator(t)}}var Er=class extends xr{constructor(e={}){super(e)}register(e={}){p.setGlobalTracerProvider(this),Tr(e.propagator),wr(e.contextManager)}},Dr;function Or(e){if(Dr||!(e.enabled??!!e.otlpEndpoint))return!1;let t=e.otlpEndpoint?new In({url:e.otlpEndpoint,...e.otlpHeaders?{headers:e.otlpHeaders}:{}}):new mr;return Dr=new Er({resource:Vt({[Ee]:e.serviceName,[De]:e.serviceVersion??`0.0.0`}),spanProcessors:[new Sr(t)]}),Dr.register(),!0}export{Or as initObservabilityWeb};
2
+ //# sourceMappingURL=web-UYBXFOwL.js.map