@dxos/observability 0.8.3 → 0.8.4-main.1f223c7

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 (143) hide show
  1. package/dist/lib/browser/chunk-5ICT2XF2.mjs +1 -0
  2. package/dist/lib/browser/{chunk-JA5VJRKF.mjs → chunk-LJO63BXO.mjs} +4 -4
  3. package/dist/lib/browser/{chunk-JA5VJRKF.mjs.map → chunk-LJO63BXO.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-YQJELTRP.mjs → chunk-MB7KKARJ.mjs} +86 -57
  5. package/dist/lib/browser/chunk-MB7KKARJ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-G6EE7HFV.mjs → chunk-VSEBD3XA.mjs} +49 -35
  7. package/dist/lib/browser/chunk-VSEBD3XA.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/observability-NZM3OOLO.mjs +10 -0
  11. package/dist/lib/browser/{otel-LHAFLNBQ.mjs → otel-UHLVSR24.mjs} +123 -75
  12. package/dist/lib/browser/{otel-LHAFLNBQ.mjs.map → otel-UHLVSR24.mjs.map} +3 -3
  13. package/dist/lib/browser/segment/index.mjs +3 -3
  14. package/dist/lib/browser/sentry/index.mjs +2 -2
  15. package/dist/lib/browser/{sentry-log-processor-625AISXI.mjs → sentry-log-processor-RG4CFVGL.mjs} +60 -44
  16. package/dist/lib/browser/sentry-log-processor-RG4CFVGL.mjs.map +7 -0
  17. package/dist/lib/node-esm/{chunk-AZMSBUWR.mjs → chunk-GOWQOSY6.mjs} +72 -45
  18. package/dist/lib/node-esm/chunk-GOWQOSY6.mjs.map +7 -0
  19. package/dist/lib/node-esm/{chunk-H7Y2DDUN.mjs → chunk-QK5IUYVA.mjs} +4 -4
  20. package/dist/lib/node-esm/{chunk-H7Y2DDUN.mjs.map → chunk-QK5IUYVA.mjs.map} +3 -3
  21. package/dist/lib/node-esm/{chunk-YJ4KVBWC.mjs → chunk-QUZL7LKE.mjs} +1 -1
  22. package/dist/lib/node-esm/{chunk-M7QJLFGR.mjs → chunk-YLYRR73V.mjs} +86 -57
  23. package/dist/lib/{browser/chunk-YQJELTRP.mjs.map → node-esm/chunk-YLYRR73V.mjs.map} +3 -3
  24. package/dist/lib/node-esm/index.mjs +4 -4
  25. package/dist/lib/node-esm/meta.json +1 -1
  26. package/dist/lib/node-esm/observability-2CTGITMR.mjs +11 -0
  27. package/dist/lib/node-esm/{otel-AF5TSABC.mjs → otel-W6KWKVW5.mjs} +113 -65
  28. package/dist/lib/node-esm/{otel-AF5TSABC.mjs.map → otel-W6KWKVW5.mjs.map} +3 -3
  29. package/dist/lib/node-esm/segment/index.mjs +3 -3
  30. package/dist/lib/node-esm/sentry/index.mjs +2 -2
  31. package/dist/lib/node-esm/{sentry-log-processor-HPUPCMRG.mjs → sentry-log-processor-3BDS4BB4.mjs} +60 -44
  32. package/dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs.map +7 -0
  33. package/dist/types/src/helpers/browser-observability.d.ts.map +1 -1
  34. package/dist/types/src/helpers/browser-observability.js +4 -6
  35. package/dist/types/src/helpers/browser-observability.js.map +1 -1
  36. package/dist/types/src/helpers/common.js +1 -1
  37. package/dist/types/src/helpers/common.js.map +1 -1
  38. package/dist/types/src/helpers/map-spaces.js +5 -6
  39. package/dist/types/src/helpers/map-spaces.js.map +1 -1
  40. package/dist/types/src/helpers/node-observability.d.ts +1 -1
  41. package/dist/types/src/helpers/node-observability.d.ts.map +1 -1
  42. package/dist/types/src/helpers/node-observability.js +7 -11
  43. package/dist/types/src/helpers/node-observability.js.map +1 -1
  44. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +1 -1
  45. package/dist/types/src/helpers/setup-telemetry-listeners.js +4 -7
  46. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +1 -1
  47. package/dist/types/src/observability.d.ts +1 -1
  48. package/dist/types/src/observability.d.ts.map +1 -1
  49. package/dist/types/src/observability.js +68 -59
  50. package/dist/types/src/observability.js.map +1 -1
  51. package/dist/types/src/otel/logs.d.ts.map +1 -1
  52. package/dist/types/src/otel/logs.js +20 -19
  53. package/dist/types/src/otel/logs.js.map +1 -1
  54. package/dist/types/src/otel/metrics.js +5 -2
  55. package/dist/types/src/otel/metrics.js.map +1 -1
  56. package/dist/types/src/otel/otel.js +1 -1
  57. package/dist/types/src/otel/otel.js.map +1 -1
  58. package/dist/types/src/otel/traces-browser.js +3 -1
  59. package/dist/types/src/otel/traces-browser.js.map +1 -1
  60. package/dist/types/src/otel/traces.js +2 -0
  61. package/dist/types/src/otel/traces.js.map +1 -1
  62. package/dist/types/src/segment/base.d.ts +1 -1
  63. package/dist/types/src/segment/base.d.ts.map +1 -1
  64. package/dist/types/src/segment/base.js +2 -1
  65. package/dist/types/src/segment/base.js.map +1 -1
  66. package/dist/types/src/segment/browser.d.ts +1 -1
  67. package/dist/types/src/segment/browser.d.ts.map +1 -1
  68. package/dist/types/src/segment/browser.js +6 -10
  69. package/dist/types/src/segment/browser.js.map +1 -1
  70. package/dist/types/src/segment/node.d.ts +1 -1
  71. package/dist/types/src/segment/node.d.ts.map +1 -1
  72. package/dist/types/src/segment/node.js +2 -1
  73. package/dist/types/src/segment/node.js.map +1 -1
  74. package/dist/types/src/sentry/browser.d.ts.map +1 -1
  75. package/dist/types/src/sentry/browser.js +4 -6
  76. package/dist/types/src/sentry/browser.js.map +1 -1
  77. package/dist/types/src/sentry/index.d.ts +1 -1
  78. package/dist/types/src/sentry/index.d.ts.map +1 -1
  79. package/dist/types/src/sentry/index.js +0 -1
  80. package/dist/types/src/sentry/index.js.map +1 -1
  81. package/dist/types/src/sentry/node.d.ts.map +1 -1
  82. package/dist/types/src/sentry/node.js +8 -13
  83. package/dist/types/src/sentry/node.js.map +1 -1
  84. package/dist/types/src/sentry/node.node.test.js +3 -5
  85. package/dist/types/src/sentry/node.node.test.js.map +1 -1
  86. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +1 -1
  87. package/dist/types/src/sentry/sentry-log-processor.js +58 -63
  88. package/dist/types/src/sentry/sentry-log-processor.js.map +1 -1
  89. package/dist/types/src/sentry/sentry.node.test.js +1 -1
  90. package/dist/types/src/sentry/sentry.node.test.js.map +1 -1
  91. package/dist/types/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +18 -15
  93. package/src/helpers/browser-observability.ts +2 -1
  94. package/src/helpers/node-observability.ts +5 -4
  95. package/src/helpers/setup-telemetry-listeners.ts +2 -1
  96. package/src/observability.ts +4 -4
  97. package/src/otel/logs.ts +2 -2
  98. package/src/otel/metrics.ts +1 -1
  99. package/src/otel/otel.ts +1 -1
  100. package/src/otel/traces-browser.ts +3 -3
  101. package/src/otel/traces.ts +2 -2
  102. package/src/segment/base.ts +1 -1
  103. package/src/segment/browser.ts +3 -2
  104. package/src/segment/node.ts +3 -2
  105. package/src/sentry/browser.ts +7 -7
  106. package/src/sentry/index.ts +1 -1
  107. package/src/sentry/node.node.test.ts +2 -1
  108. package/src/sentry/node.ts +3 -3
  109. package/src/sentry/sentry-log-processor.ts +15 -7
  110. package/src/sentry/sentry.node.test.ts +2 -1
  111. package/dist/lib/browser/chunk-G6EE7HFV.mjs.map +0 -7
  112. package/dist/lib/browser/chunk-KDP3SESE.mjs +0 -1
  113. package/dist/lib/browser/observability-HDE3I7TA.mjs +0 -10
  114. package/dist/lib/browser/sentry-log-processor-625AISXI.mjs.map +0 -7
  115. package/dist/lib/node/chunk-325GAGFA.cjs +0 -213
  116. package/dist/lib/node/chunk-325GAGFA.cjs.map +0 -7
  117. package/dist/lib/node/chunk-BZHVFSLF.cjs +0 -1025
  118. package/dist/lib/node/chunk-BZHVFSLF.cjs.map +0 -7
  119. package/dist/lib/node/chunk-GIYJMZEQ.cjs +0 -2
  120. package/dist/lib/node/chunk-GIYJMZEQ.cjs.map +0 -7
  121. package/dist/lib/node/chunk-MZ3PMDTP.cjs +0 -163
  122. package/dist/lib/node/chunk-MZ3PMDTP.cjs.map +0 -7
  123. package/dist/lib/node/index.cjs +0 -60
  124. package/dist/lib/node/index.cjs.map +0 -7
  125. package/dist/lib/node/meta.json +0 -1
  126. package/dist/lib/node/observability-E2NGRIEN.cjs +0 -32
  127. package/dist/lib/node/observability-E2NGRIEN.cjs.map +0 -7
  128. package/dist/lib/node/otel-VF5YNCR3.cjs +0 -278
  129. package/dist/lib/node/otel-VF5YNCR3.cjs.map +0 -7
  130. package/dist/lib/node/segment/index.cjs +0 -33
  131. package/dist/lib/node/segment/index.cjs.map +0 -7
  132. package/dist/lib/node/sentry/index.cjs +0 -46
  133. package/dist/lib/node/sentry/index.cjs.map +0 -7
  134. package/dist/lib/node/sentry-log-processor-CCV4RL7N.cjs +0 -164
  135. package/dist/lib/node/sentry-log-processor-CCV4RL7N.cjs.map +0 -7
  136. package/dist/lib/node-esm/chunk-AZMSBUWR.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-M7QJLFGR.mjs.map +0 -7
  138. package/dist/lib/node-esm/observability-7BTI46NM.mjs +0 -11
  139. package/dist/lib/node-esm/sentry-log-processor-HPUPCMRG.mjs.map +0 -7
  140. /package/dist/lib/browser/{chunk-KDP3SESE.mjs.map → chunk-5ICT2XF2.mjs.map} +0 -0
  141. /package/dist/lib/browser/{observability-HDE3I7TA.mjs.map → observability-NZM3OOLO.mjs.map} +0 -0
  142. /package/dist/lib/node-esm/{chunk-YJ4KVBWC.mjs.map → chunk-QUZL7LKE.mjs.map} +0 -0
  143. /package/dist/lib/node-esm/{observability-7BTI46NM.mjs.map → observability-2CTGITMR.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/sentry/node.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport {\n type Event,\n init as naturalInit,\n setTag,\n addBreadcrumb as naturalAddBreadcrumb,\n captureException as naturalCaptureException,\n captureMessage as naturalCaptureMessage,\n withScope as naturalWithScope,\n metrics,\n startInactiveSpan,\n} from '@sentry/node';\n\nimport { log } from '@dxos/log';\nimport { TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type InitOptions } from './types';\n\n// Polyfill export.\nexport { setTag, setTags, setUser } from '@sentry/node';\n\n/**\n * To use this SDK, call the init function as early as possible in the main entry module.\n * To set context information or send manual events, use the provided methods.\n *\n * @param options {InitOptions}\n */\nexport const init = (options: InitOptions) => {\n try {\n naturalInit({\n enabled: options.enable ?? true,\n dsn: options.destination,\n serverName: options.installationId,\n release: options.release,\n environment: options.environment ?? process.env.DX_ENVIRONMENT,\n integrations: [],\n tracesSampleRate: options.sampleRate,\n transport: options.transport,\n beforeSend: (event) => {\n options.scrubFilenames && scrub(event);\n options.onError?.(event);\n\n return event;\n },\n });\n\n if (options.tracing) {\n TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);\n TRACE_PROCESSOR.remoteTracing.registerProcessor({\n startSpan: startInactiveSpan,\n });\n }\n\n Object.entries(options.properties ?? {}).forEach(([key, value]) => {\n setTag(key, value);\n });\n } catch (err) {\n log.catch('Failed to initialize sentry', err);\n }\n};\n\nconst scrub = (event: Event) => {\n event.exception?.values?.forEach((value) => {\n value.stacktrace?.frames?.forEach((frame) => {\n const filename = frame.filename?.split('/');\n frame.filename = filename && filename[filename.length - 1];\n });\n });\n};\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.\n *\n * https://docs.sentry.io/platforms/javascript/enriching-events/breadcrumbs/\n *\n * @param breadcrumb — The breadcrumb to record.\n */\nexport const addBreadcrumb: typeof naturalAddBreadcrumb = (breadcrumb) => {\n try {\n naturalAddBreadcrumb(breadcrumb);\n log('add breadcrumb', breadcrumb);\n } catch (err) {\n log.catch('Failed to add breadcrumb', err);\n }\n};\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception — An exception-like object.\n * @param captureContext — Additional scope data to apply to exception event.\n * @returns — The generated eventId.\n */\nexport const captureException: typeof naturalCaptureException = (exception, captureContext) => {\n try {\n const eventId = naturalCaptureException(exception, captureContext);\n log('capture exception', { exception, eventId, ...captureContext });\n return eventId;\n } catch (err) {\n log.catch('Failed to capture exception', err);\n return 'unknown';\n }\n};\n\nexport const captureMessage: typeof naturalCaptureMessage = (exception, captureContext) => {\n try {\n const eventId = naturalCaptureMessage(exception, captureContext);\n log('capture message', { exception, eventId, captureContext });\n return eventId;\n } catch (err) {\n log.catch('Failed to capture message', err);\n return 'unknown';\n }\n};\n\nexport const captureUserFeedback = (message: string): Promise<void> => {\n const feedback = `User feedback: ${message}`;\n throw new Error(`Capture user feedback not implemented in node. Use @sentry/browser. Message: ${feedback}`);\n};\n\nexport const withScope = naturalWithScope;\n"],
5
- "mappings": ";;;AAIA,SAEEA,QAAQC,aACRC,QACAC,iBAAiBC,sBACjBC,oBAAoBC,yBACpBC,kBAAkBC,uBAClBC,aAAaC,kBACbC,SACAC,yBACK;AAEP,SAASC,WAAW;AACpB,SAASC,uBAAuB;AAKhC,SAASZ,UAAAA,SAAQa,SAASC,eAAe;;AAQlC,IAAMhB,OAAO,CAACiB,YAAAA;AACnB,MAAI;AACFhB,gBAAY;MACViB,SAASD,QAAQE,UAAU;MAC3BC,KAAKH,QAAQI;MACbC,YAAYL,QAAQM;MACpBC,SAASP,QAAQO;MACjBC,aAAaR,QAAQQ,eAAeC,QAAQC,IAAIC;MAChDC,cAAc,CAAA;MACdC,kBAAkBb,QAAQc;MAC1BC,WAAWf,QAAQe;MACnBC,YAAY,CAACC,UAAAA;AACXjB,gBAAQkB,kBAAkBC,MAAMF,KAAAA;AAChCjB,gBAAQoB,UAAUH,KAAAA;AAElB,eAAOA;MACT;IACF,CAAA;AAEA,QAAIjB,QAAQqB,SAAS;AACnBxB,sBAAgByB,cAAcC,kBAAkB7B,OAAAA;AAChDG,sBAAgB2B,cAAcD,kBAAkB;QAC9CE,WAAW9B;MACb,CAAA;IACF;AAEA+B,WAAOC,QAAQ3B,QAAQ4B,cAAc,CAAC,CAAA,EAAGC,QAAQ,CAAC,CAACC,KAAKC,KAAAA,MAAM;AAC5D9C,aAAO6C,KAAKC,KAAAA;IACd,CAAA;EACF,SAASC,KAAK;AACZpC,QAAIqC,MAAM,+BAA+BD,KAAAA;;;;;;EAC3C;AACF;AAEA,IAAMb,QAAQ,CAACF,UAAAA;AACbA,QAAMiB,WAAWC,QAAQN,QAAQ,CAACE,UAAAA;AAChCA,UAAMK,YAAYC,QAAQR,QAAQ,CAACS,UAAAA;AACjC,YAAMC,WAAWD,MAAMC,UAAUC,MAAM,GAAA;AACvCF,YAAMC,WAAWA,YAAYA,SAASA,SAASE,SAAS,CAAA;IAC1D,CAAA;EACF,CAAA;AACF;AAWO,IAAMvD,gBAA6C,CAACwD,eAAAA;AACzD,MAAI;AACFvD,yBAAqBuD,UAAAA;AACrB9C,QAAI,kBAAkB8C,YAAAA;;;;;;EACxB,SAASV,KAAK;AACZpC,QAAIqC,MAAM,4BAA4BD,KAAAA;;;;;;EACxC;AACF;AASO,IAAM5C,mBAAmD,CAAC8C,WAAWS,mBAAAA;AAC1E,MAAI;AACF,UAAMC,UAAUvD,wBAAwB6C,WAAWS,cAAAA;AACnD/C,QAAI,qBAAqB;MAAEsC;MAAWU;MAAS,GAAGD;IAAe,GAAA;;;;;;AACjE,WAAOC;EACT,SAASZ,KAAK;AACZpC,QAAIqC,MAAM,+BAA+BD,KAAAA;;;;;;AACzC,WAAO;EACT;AACF;AAEO,IAAM1C,iBAA+C,CAAC4C,WAAWS,mBAAAA;AACtE,MAAI;AACF,UAAMC,UAAUrD,sBAAsB2C,WAAWS,cAAAA;AACjD/C,QAAI,mBAAmB;MAAEsC;MAAWU;MAASD;IAAe,GAAA;;;;;;AAC5D,WAAOC;EACT,SAASZ,KAAK;AACZpC,QAAIqC,MAAM,6BAA6BD,KAAAA;;;;;;AACvC,WAAO;EACT;AACF;AAEO,IAAMa,sBAAsB,CAACC,YAAAA;AAClC,QAAMC,WAAW,kBAAkBD,OAAAA;AACnC,QAAM,IAAIE,MAAM,gFAAgFD,QAAAA,EAAU;AAC5G;AAEO,IAAMvD,YAAYC;",
6
- "names": ["init", "naturalInit", "setTag", "addBreadcrumb", "naturalAddBreadcrumb", "captureException", "naturalCaptureException", "captureMessage", "naturalCaptureMessage", "withScope", "naturalWithScope", "metrics", "startInactiveSpan", "log", "TRACE_PROCESSOR", "setTags", "setUser", "options", "enabled", "enable", "dsn", "destination", "serverName", "installationId", "release", "environment", "process", "env", "DX_ENVIRONMENT", "integrations", "tracesSampleRate", "sampleRate", "transport", "beforeSend", "event", "scrubFilenames", "scrub", "onError", "tracing", "remoteMetrics", "registerProcessor", "remoteTracing", "startSpan", "Object", "entries", "properties", "forEach", "key", "value", "err", "catch", "exception", "values", "stacktrace", "frames", "frame", "filename", "split", "length", "breadcrumb", "captureContext", "eventId", "captureUserFeedback", "message", "feedback", "Error"]
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport {\n type Event,\n metrics,\n addBreadcrumb as naturalAddBreadcrumb,\n captureException as naturalCaptureException,\n captureMessage as naturalCaptureMessage,\n init as naturalInit,\n withScope as naturalWithScope,\n setTag,\n startInactiveSpan,\n} from '@sentry/node';\n\nimport { log } from '@dxos/log';\nimport { TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type InitOptions } from './types';\n\n// Polyfill export.\nexport { setTag, setTags, setUser } from '@sentry/node';\n\n/**\n * To use this SDK, call the init function as early as possible in the main entry module.\n * To set context information or send manual events, use the provided methods.\n *\n * @param options {InitOptions}\n */\nexport const init = (options: InitOptions) => {\n try {\n naturalInit({\n enabled: options.enable ?? true,\n dsn: options.destination,\n serverName: options.installationId,\n release: options.release,\n environment: options.environment ?? process.env.DX_ENVIRONMENT,\n integrations: [],\n tracesSampleRate: options.sampleRate,\n transport: options.transport,\n beforeSend: (event) => {\n options.scrubFilenames && scrub(event);\n options.onError?.(event);\n\n return event;\n },\n });\n\n if (options.tracing) {\n TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);\n TRACE_PROCESSOR.remoteTracing.registerProcessor({\n startSpan: startInactiveSpan,\n });\n }\n\n Object.entries(options.properties ?? {}).forEach(([key, value]) => {\n setTag(key, value);\n });\n } catch (err) {\n log.catch('Failed to initialize sentry', err);\n }\n};\n\nconst scrub = (event: Event) => {\n event.exception?.values?.forEach((value) => {\n value.stacktrace?.frames?.forEach((frame) => {\n const filename = frame.filename?.split('/');\n frame.filename = filename && filename[filename.length - 1];\n });\n });\n};\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.\n *\n * https://docs.sentry.io/platforms/javascript/enriching-events/breadcrumbs/\n *\n * @param breadcrumb — The breadcrumb to record.\n */\nexport const addBreadcrumb: typeof naturalAddBreadcrumb = (breadcrumb) => {\n try {\n naturalAddBreadcrumb(breadcrumb);\n log('add breadcrumb', breadcrumb);\n } catch (err) {\n log.catch('Failed to add breadcrumb', err);\n }\n};\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception — An exception-like object.\n * @param captureContext — Additional scope data to apply to exception event.\n * @returns — The generated eventId.\n */\nexport const captureException: typeof naturalCaptureException = (exception, captureContext) => {\n try {\n const eventId = naturalCaptureException(exception, captureContext);\n log('capture exception', { exception, eventId, ...captureContext });\n return eventId;\n } catch (err) {\n log.catch('Failed to capture exception', err);\n return 'unknown';\n }\n};\n\nexport const captureMessage: typeof naturalCaptureMessage = (exception, captureContext) => {\n try {\n const eventId = naturalCaptureMessage(exception, captureContext);\n log('capture message', { exception, eventId, captureContext });\n return eventId;\n } catch (err) {\n log.catch('Failed to capture message', err);\n return 'unknown';\n }\n};\n\nexport const captureUserFeedback = (message: string): Promise<void> => {\n const feedback = `User feedback: ${message}`;\n throw new Error(`Capture user feedback not implemented in node. Use @sentry/browser. Message: ${feedback}`);\n};\n\nexport const withScope = naturalWithScope;\n"],
5
+ "mappings": ";;;AAIA,SAEEA,SACAC,iBAAiBC,sBACjBC,oBAAoBC,yBACpBC,kBAAkBC,uBAClBC,QAAQC,aACRC,aAAaC,kBACbC,QACAC,yBACK;AAEP,SAASC,WAAW;AACpB,SAASC,uBAAuB;AAKhC,SAASH,UAAAA,SAAQI,SAASC,eAAe;;AAQlC,IAAMT,OAAO,CAACU,YAAAA;AACnB,MAAI;AACFT,gBAAY;MACVU,SAASD,QAAQE,UAAU;MAC3BC,KAAKH,QAAQI;MACbC,YAAYL,QAAQM;MACpBC,SAASP,QAAQO;MACjBC,aAAaR,QAAQQ,eAAeC,QAAQC,IAAIC;MAChDC,cAAc,CAAA;MACdC,kBAAkBb,QAAQc;MAC1BC,WAAWf,QAAQe;MACnBC,YAAY,CAACC,UAAAA;AACXjB,gBAAQkB,kBAAkBC,MAAMF,KAAAA;AAChCjB,gBAAQoB,UAAUH,KAAAA;AAElB,eAAOA;MACT;IACF,CAAA;AAEA,QAAIjB,QAAQqB,SAAS;AACnBxB,sBAAgByB,cAAcC,kBAAkBxC,OAAAA;AAChDc,sBAAgB2B,cAAcD,kBAAkB;QAC9CE,WAAW9B;MACb,CAAA;IACF;AAEA+B,WAAOC,QAAQ3B,QAAQ4B,cAAc,CAAC,CAAA,EAAGC,QAAQ,CAAC,CAACC,KAAKC,KAAAA,MAAM;AAC5DrC,aAAOoC,KAAKC,KAAAA;IACd,CAAA;EACF,SAASC,KAAK;AACZpC,QAAIqC,MAAM,+BAA+BD,KAAAA;;;;;;EAC3C;AACF;AAEA,IAAMb,QAAQ,CAACF,UAAAA;AACbA,QAAMiB,WAAWC,QAAQN,QAAQ,CAACE,UAAAA;AAChCA,UAAMK,YAAYC,QAAQR,QAAQ,CAACS,UAAAA;AACjC,YAAMC,WAAWD,MAAMC,UAAUC,MAAM,GAAA;AACvCF,YAAMC,WAAWA,YAAYA,SAASA,SAASE,SAAS,CAAA;IAC1D,CAAA;EACF,CAAA;AACF;AAWO,IAAMzD,gBAA6C,CAAC0D,eAAAA;AACzD,MAAI;AACFzD,yBAAqByD,UAAAA;AACrB9C,QAAI,kBAAkB8C,YAAAA;;;;;;EACxB,SAASV,KAAK;AACZpC,QAAIqC,MAAM,4BAA4BD,KAAAA;;;;;;EACxC;AACF;AASO,IAAM9C,mBAAmD,CAACgD,WAAWS,mBAAAA;AAC1E,MAAI;AACF,UAAMC,UAAUzD,wBAAwB+C,WAAWS,cAAAA;AACnD/C,QAAI,qBAAqB;MAAEsC;MAAWU;MAAS,GAAGD;IAAe,GAAA;;;;;;AACjE,WAAOC;EACT,SAASZ,KAAK;AACZpC,QAAIqC,MAAM,+BAA+BD,KAAAA;;;;;;AACzC,WAAO;EACT;AACF;AAEO,IAAM5C,iBAA+C,CAAC8C,WAAWS,mBAAAA;AACtE,MAAI;AACF,UAAMC,UAAUvD,sBAAsB6C,WAAWS,cAAAA;AACjD/C,QAAI,mBAAmB;MAAEsC;MAAWU;MAASD;IAAe,GAAA;;;;;;AAC5D,WAAOC;EACT,SAASZ,KAAK;AACZpC,QAAIqC,MAAM,6BAA6BD,KAAAA;;;;;;AACvC,WAAO;EACT;AACF;AAEO,IAAMa,sBAAsB,CAACC,YAAAA;AAClC,QAAMC,WAAW,kBAAkBD,OAAAA;AACnC,QAAM,IAAIE,MAAM,gFAAgFD,QAAAA,EAAU;AAC5G;AAEO,IAAMvD,YAAYC;",
6
+ "names": ["metrics", "addBreadcrumb", "naturalAddBreadcrumb", "captureException", "naturalCaptureException", "captureMessage", "naturalCaptureMessage", "init", "naturalInit", "withScope", "naturalWithScope", "setTag", "startInactiveSpan", "log", "TRACE_PROCESSOR", "setTags", "setUser", "options", "enabled", "enable", "dsn", "destination", "serverName", "installationId", "release", "environment", "process", "env", "DX_ENVIRONMENT", "integrations", "tracesSampleRate", "sampleRate", "transport", "beforeSend", "event", "scrubFilenames", "scrub", "onError", "tracing", "remoteMetrics", "registerProcessor", "remoteTracing", "startSpan", "Object", "entries", "properties", "forEach", "key", "value", "err", "catch", "exception", "values", "stacktrace", "frames", "frame", "filename", "split", "length", "breadcrumb", "captureContext", "eventId", "captureUserFeedback", "message", "feedback", "Error"]
7
7
  }
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- //# sourceMappingURL=chunk-YJ4KVBWC.mjs.map
2
+ //# sourceMappingURL=chunk-QUZL7LKE.mjs.map
@@ -1,19 +1,19 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  TelemetryEvent
4
- } from "./chunk-AZMSBUWR.mjs";
4
+ } from "./chunk-GOWQOSY6.mjs";
5
5
 
6
- // packages/sdk/observability/src/observability.ts
6
+ // src/observability.ts
7
7
  import { Event, scheduleTaskInterval } from "@dxos/async";
8
8
  import { PublicKey } from "@dxos/client";
9
9
  import { Context } from "@dxos/context";
10
10
  import { invariant } from "@dxos/invariant";
11
- import { log as log3, LogLevel } from "@dxos/log";
11
+ import { LogLevel, log as log3 } from "@dxos/log";
12
12
  import { ConnectionState } from "@dxos/network-manager";
13
13
  import { DeviceKind, Platform } from "@dxos/protocols/proto/dxos/client/services";
14
14
  import { isNode } from "@dxos/util";
15
15
 
16
- // packages/sdk/observability/src/cli-observability-secrets.json
16
+ // src/cli-observability-secrets.json
17
17
  var cli_observability_secrets_default = {
18
18
  SENTRY_DESTINATION: "https://2647916221e643869965e78469479aa4@o4504012000067584.ingest.sentry.io/4504012027265029",
19
19
  TELEMETRY_API_KEY: "B00QG6PtJJrJ0VVFe0H5a6bcUUShKyZM",
@@ -22,10 +22,10 @@ var cli_observability_secrets_default = {
22
22
  OTEL_AUTHORIZATION: "Basic OTA3MzIzOmdsY19leUp2SWpvaU1URXdNVEl6TnlJc0ltNGlPaUp6ZEdGamF5MDVNRGN6TWpNdGFXNTBaV2R5WVhScGIyNHRZMnh2ZFdSbWJHRnlaUzF2ZEd4d0xYQnliM2g1SWl3aWF5STZJalZ2Tkd4cFYydE5iRmszTlRNMGJUVXpTemRTVjNBeVNpSXNJbTBpT25zaWNpSTZJbkJ5YjJRdGRYTXRaV0Z6ZEMwd0luMTk="
23
23
  };
24
24
 
25
- // packages/sdk/observability/src/helpers/browser-observability.ts
25
+ // src/helpers/browser-observability.ts
26
26
  import * as localForage from "localforage";
27
27
  import { log } from "@dxos/log";
28
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/observability/src/helpers/browser-observability.ts";
28
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/helpers/browser-observability.ts";
29
29
  var OBSERVABILITY_DISABLED_KEY = "observability-disabled";
30
30
  var OBSERVABILITY_GROUP_KEY = "observability-group";
31
31
  var isObservabilityDisabled = async (namespace) => {
@@ -34,7 +34,7 @@ var isObservabilityDisabled = async (namespace) => {
34
34
  } catch (err) {
35
35
  log.catch("Failed to check if observability is disabled, assuming it is", err, {
36
36
  F: __dxlog_file,
37
- L: 24,
37
+ L: 25,
38
38
  S: void 0,
39
39
  C: (f, a) => f(...a)
40
40
  });
@@ -47,7 +47,7 @@ var storeObservabilityDisabled = async (namespace, value) => {
47
47
  } catch (err) {
48
48
  log.catch("Failed to store observability disabled", err, {
49
49
  F: __dxlog_file,
50
- L: 33,
50
+ L: 34,
51
51
  S: void 0,
52
52
  C: (f, a) => f(...a)
53
53
  });
@@ -59,7 +59,7 @@ var getObservabilityGroup = async (namespace) => {
59
59
  } catch (err) {
60
60
  log.catch("Failed to get observability group", err, {
61
61
  F: __dxlog_file,
62
- L: 41,
62
+ L: 42,
63
63
  S: void 0,
64
64
  C: (f, a) => f(...a)
65
65
  });
@@ -71,7 +71,7 @@ var storeObservabilityGroup = async (namespace, value) => {
71
71
  } catch (err) {
72
72
  log.catch("Failed to store observability group", err, {
73
73
  F: __dxlog_file,
74
- L: 49,
74
+ L: 50,
75
75
  S: void 0,
76
76
  C: (f, a) => f(...a)
77
77
  });
@@ -89,14 +89,14 @@ var initializeAppObservability = async ({
89
89
  config
90
90
  }, {
91
91
  F: __dxlog_file,
92
- L: 73,
92
+ L: 74,
93
93
  S: void 0,
94
94
  C: (f, a) => f(...a)
95
95
  });
96
96
  const group = await getObservabilityGroup(namespace) ?? void 0;
97
97
  const release = `${namespace}@${config.get("runtime.app.build.version")}`;
98
98
  const environment = config.get("runtime.app.env.DX_ENVIRONMENT");
99
- const { Observability: Observability2 } = await import("./observability-7BTI46NM.mjs");
99
+ const { Observability: Observability2 } = await import("./observability-2CTGITMR.mjs");
100
100
  const observability = new Observability2({
101
101
  namespace,
102
102
  release,
@@ -124,7 +124,7 @@ var initializeAppObservability = async ({
124
124
  observability.setMode("disabled");
125
125
  log.info("observability disabled", void 0, {
126
126
  F: __dxlog_file,
127
- L: 113,
127
+ L: 114,
128
128
  S: void 0,
129
129
  C: (f, a) => f(...a)
130
130
  });
@@ -161,7 +161,7 @@ var initializeAppObservability = async ({
161
161
  } catch (error) {
162
162
  log.warn("Failed to run estimate()", error, {
163
163
  F: __dxlog_file,
164
- L: 168,
164
+ L: 169,
165
165
  S: void 0,
166
166
  C: (f, a) => f(...a)
167
167
  });
@@ -171,7 +171,7 @@ var initializeAppObservability = async ({
171
171
  } catch (err) {
172
172
  log.error("Failed to initialize app observability", err, {
173
173
  F: __dxlog_file,
174
- L: 173,
174
+ L: 174,
175
175
  S: void 0,
176
176
  C: (f, a) => f(...a)
177
177
  });
@@ -179,7 +179,7 @@ var initializeAppObservability = async ({
179
179
  return observability;
180
180
  };
181
181
 
182
- // packages/sdk/observability/src/helpers/common.ts
182
+ // src/helpers/common.ts
183
183
  var getTelemetryIdentifier = (client) => {
184
184
  if (!client?.initialized) {
185
185
  return void 0;
@@ -197,14 +197,14 @@ var getTelemetryIdentity = (client) => {
197
197
  };
198
198
  };
199
199
 
200
- // packages/sdk/observability/src/helpers/node-observability.ts
201
- import yaml from "js-yaml";
200
+ // src/helpers/node-observability.ts
202
201
  import { existsSync, statSync } from "node:fs";
203
202
  import { mkdir, readFile, writeFile } from "node:fs/promises";
204
203
  import { join } from "node:path";
204
+ import yaml from "js-yaml";
205
205
  import { v4 as uuid, validate as validateUuid } from "uuid";
206
206
  import { log as log2 } from "@dxos/log";
207
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/sdk/observability/src/helpers/node-observability.ts";
207
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/helpers/node-observability.ts";
208
208
  var showObservabilityBanner = async (configDir, bannercb) => {
209
209
  const path = join(configDir, ".observability-banner-printed");
210
210
  if (existsSync(path)) {
@@ -256,7 +256,7 @@ var initializeNodeObservability = async ({ namespace, version, config, installat
256
256
  config
257
257
  }, {
258
258
  F: __dxlog_file2,
259
- L: 110,
259
+ L: 111,
260
260
  S: void 0,
261
261
  C: (f, a) => f(...a)
262
262
  });
@@ -289,7 +289,7 @@ var initializeNodeObservability = async ({ namespace, version, config, installat
289
289
  return observability;
290
290
  };
291
291
 
292
- // packages/sdk/observability/src/helpers/map-spaces.ts
292
+ // src/helpers/map-spaces.ts
293
293
  var mapSpaces = (spaces, options = {
294
294
  verbose: false,
295
295
  truncateKeys: false
@@ -320,7 +320,7 @@ var mapSpaces = (spaces, options = {
320
320
  });
321
321
  };
322
322
 
323
- // packages/sdk/observability/src/helpers/setup-telemetry-listeners.ts
323
+ // src/helpers/setup-telemetry-listeners.ts
324
324
  var lastFocusEvent = /* @__PURE__ */ new Date();
325
325
  var totalTime = 0;
326
326
  var setupTelemetryListeners = (namespace, client, observability) => {
@@ -407,40 +407,25 @@ var setupTelemetryListeners = (namespace, client, observability) => {
407
407
  };
408
408
  };
409
409
 
410
- // packages/sdk/observability/src/observability.ts
411
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/observability/src/observability.ts";
410
+ // src/observability.ts
411
+ function _define_property(obj, key, value) {
412
+ if (key in obj) {
413
+ Object.defineProperty(obj, key, {
414
+ value,
415
+ enumerable: true,
416
+ configurable: true,
417
+ writable: true
418
+ });
419
+ } else {
420
+ obj[key] = value;
421
+ }
422
+ return obj;
423
+ }
424
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/sdk/observability/src/observability.ts";
412
425
  var SPACE_METRICS_MIN_INTERVAL = 1e3 * 60;
413
426
  var SPACE_TELEMETRY_MIN_INTERVAL = 1e3 * 60 * 60;
414
427
  var NETWORK_METRICS_MIN_INTERVAL = 1e3 * 60 * 5;
415
428
  var Observability = class {
416
- // TODO(nf): make platform a required extension?
417
- constructor({ mode, namespace, environment, release, config, group, secrets, telemetry, errorLog }) {
418
- this._tags = /* @__PURE__ */ new Map();
419
- this._ctx = new Context(void 0, {
420
- F: __dxlog_file3,
421
- L: 115
422
- });
423
- this.setIPDataTelemetryTags = (ipData) => {
424
- this.setTag("city", ipData.city, "telemetry");
425
- this.setTag("region", ipData.region, "telemetry");
426
- this.setTag("country", ipData.country, "telemetry");
427
- ipData.latitude && this.setTag("latitude", ipData.latitude.toString(), "telemetry");
428
- ipData.longitude && this.setTag("longitude", ipData.longitude.toString(), "telemetry");
429
- };
430
- this._mode = mode;
431
- this._namespace = namespace;
432
- this._config = config;
433
- this._group = group;
434
- this._secrets = this._loadSecrets(config, secrets);
435
- this._telemetryBatchSize = telemetry?.batchSize ?? 30;
436
- this._errorReportingOptions = errorLog?.sentryInitOptions;
437
- this.setTag("mode", this._mode);
438
- this.setTag("namespace", this._namespace);
439
- this.setTag("environment", environment);
440
- this.setTag("release", release);
441
- this.setTag("session", PublicKey.random().toHex());
442
- this.setTag("group", this._group);
443
- }
444
429
  get mode() {
445
430
  return this._mode;
446
431
  }
@@ -604,7 +589,7 @@ var Observability = class {
604
589
  //
605
590
  async _initLogs() {
606
591
  if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== "disabled") {
607
- const { OtelLogs } = await import("./otel-AF5TSABC.mjs");
592
+ const { OtelLogs } = await import("./otel-W6KWKVW5.mjs");
608
593
  this._otelLogs = new OtelLogs({
609
594
  endpoint: this._secrets.OTEL_ENDPOINT,
610
595
  authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
@@ -642,7 +627,7 @@ var Observability = class {
642
627
  //
643
628
  async _initMetrics() {
644
629
  if (this.enabled && this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION) {
645
- const { OtelMetrics } = await import("./otel-AF5TSABC.mjs");
630
+ const { OtelMetrics } = await import("./otel-W6KWKVW5.mjs");
646
631
  this._otelMetrics = new OtelMetrics({
647
632
  endpoint: this._secrets.OTEL_ENDPOINT,
648
633
  authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
@@ -890,7 +875,7 @@ var Observability = class {
890
875
  async _initErrorLogs() {
891
876
  if (this._secrets.SENTRY_DESTINATION && this._mode !== "disabled") {
892
877
  const { captureException, captureUserFeedback, init, setTag } = await import("./sentry/index.mjs");
893
- const { SentryLogProcessor } = await import("./sentry-log-processor-HPUPCMRG.mjs");
878
+ const { SentryLogProcessor } = await import("./sentry-log-processor-3BDS4BB4.mjs");
894
879
  this._captureException = captureException;
895
880
  this._captureUserFeedback = captureUserFeedback;
896
881
  this._setTag = setTag;
@@ -933,7 +918,7 @@ var Observability = class {
933
918
  // TODO(nf): Refactor init based on providers and their capabilities.
934
919
  async _initTraces() {
935
920
  if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== "disabled") {
936
- const { OtelTraces } = await import("./otel-AF5TSABC.mjs");
921
+ const { OtelTraces } = await import("./otel-W6KWKVW5.mjs");
937
922
  this._otelTraces = new OtelTraces({
938
923
  endpoint: this._secrets.OTEL_ENDPOINT,
939
924
  authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
@@ -975,6 +960,50 @@ var Observability = class {
975
960
  }
976
961
  void this._captureUserFeedback?.(message);
977
962
  }
963
+ // TODO(nf): make platform a required extension?
964
+ constructor({ mode, namespace, environment, release, config, group, secrets, telemetry, errorLog }) {
965
+ _define_property(this, "_mode", void 0);
966
+ _define_property(this, "_namespace", void 0);
967
+ _define_property(this, "_config", void 0);
968
+ _define_property(this, "_group", void 0);
969
+ _define_property(this, "_secrets", void 0);
970
+ _define_property(this, "_tags", /* @__PURE__ */ new Map());
971
+ _define_property(this, "_otelMetrics", void 0);
972
+ _define_property(this, "_otelTraces", void 0);
973
+ _define_property(this, "_telemetryBatchSize", void 0);
974
+ _define_property(this, "_telemetry", void 0);
975
+ _define_property(this, "_sentryLogProcessor", void 0);
976
+ _define_property(this, "_otelLogs", void 0);
977
+ _define_property(this, "_errorReportingOptions", void 0);
978
+ _define_property(this, "_captureException", void 0);
979
+ _define_property(this, "_captureUserFeedback", void 0);
980
+ _define_property(this, "_lastNetworkStatus", void 0);
981
+ _define_property(this, "_ctx", new Context(void 0, {
982
+ F: __dxlog_file3,
983
+ L: 115
984
+ }));
985
+ _define_property(this, "_setTag", void 0);
986
+ _define_property(this, "setIPDataTelemetryTags", (ipData) => {
987
+ this.setTag("city", ipData.city, "telemetry");
988
+ this.setTag("region", ipData.region, "telemetry");
989
+ this.setTag("country", ipData.country, "telemetry");
990
+ ipData.latitude && this.setTag("latitude", ipData.latitude.toString(), "telemetry");
991
+ ipData.longitude && this.setTag("longitude", ipData.longitude.toString(), "telemetry");
992
+ });
993
+ this._mode = mode;
994
+ this._namespace = namespace;
995
+ this._config = config;
996
+ this._group = group;
997
+ this._secrets = this._loadSecrets(config, secrets);
998
+ this._telemetryBatchSize = telemetry?.batchSize ?? 30;
999
+ this._errorReportingOptions = errorLog?.sentryInitOptions;
1000
+ this.setTag("mode", this._mode);
1001
+ this.setTag("namespace", this._namespace);
1002
+ this.setTag("environment", environment);
1003
+ this.setTag("release", release);
1004
+ this.setTag("session", PublicKey.random().toHex());
1005
+ this.setTag("group", this._group);
1006
+ }
978
1007
  };
979
1008
 
980
1009
  export {
@@ -994,4 +1023,4 @@ export {
994
1023
  mapSpaces,
995
1024
  setupTelemetryListeners
996
1025
  };
997
- //# sourceMappingURL=chunk-M7QJLFGR.mjs.map
1026
+ //# sourceMappingURL=chunk-YLYRR73V.mjs.map