@amplitude/session-replay-browser 1.26.2 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +13 -3
  2. package/lib/cjs/config/joined-config.d.ts.map +1 -1
  3. package/lib/cjs/config/joined-config.js +10 -3
  4. package/lib/cjs/config/joined-config.js.map +1 -1
  5. package/lib/cjs/config/local-config.d.ts +3 -0
  6. package/lib/cjs/config/local-config.d.ts.map +1 -1
  7. package/lib/cjs/config/local-config.js +4 -1
  8. package/lib/cjs/config/local-config.js.map +1 -1
  9. package/lib/cjs/config/types.d.ts +30 -0
  10. package/lib/cjs/config/types.d.ts.map +1 -1
  11. package/lib/cjs/config/types.js.map +1 -1
  12. package/lib/cjs/constants.d.ts +3 -1
  13. package/lib/cjs/constants.d.ts.map +1 -1
  14. package/lib/cjs/constants.js +3 -1
  15. package/lib/cjs/constants.js.map +1 -1
  16. package/lib/cjs/helpers.d.ts +7 -0
  17. package/lib/cjs/helpers.d.ts.map +1 -1
  18. package/lib/cjs/index.d.ts +1 -1
  19. package/lib/cjs/index.d.ts.map +1 -1
  20. package/lib/cjs/index.js +2 -2
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/cjs/plugins/index.d.ts +2 -0
  23. package/lib/cjs/plugins/index.d.ts.map +1 -0
  24. package/lib/cjs/plugins/index.js +5 -0
  25. package/lib/cjs/plugins/index.js.map +1 -0
  26. package/lib/cjs/plugins/url-tracking-plugin.d.ts +56 -0
  27. package/lib/cjs/plugins/url-tracking-plugin.d.ts.map +1 -0
  28. package/lib/cjs/plugins/url-tracking-plugin.js +187 -0
  29. package/lib/cjs/plugins/url-tracking-plugin.js.map +1 -0
  30. package/lib/cjs/session-replay-factory.d.ts.map +1 -1
  31. package/lib/cjs/session-replay-factory.js +1 -0
  32. package/lib/cjs/session-replay-factory.js.map +1 -1
  33. package/lib/cjs/session-replay.d.ts +12 -3
  34. package/lib/cjs/session-replay.d.ts.map +1 -1
  35. package/lib/cjs/session-replay.js +132 -19
  36. package/lib/cjs/session-replay.js.map +1 -1
  37. package/lib/cjs/targeting/targeting-idb-store.d.ts +38 -0
  38. package/lib/cjs/targeting/targeting-idb-store.d.ts.map +1 -0
  39. package/lib/cjs/targeting/targeting-idb-store.js +146 -0
  40. package/lib/cjs/targeting/targeting-idb-store.js.map +1 -0
  41. package/lib/cjs/targeting/targeting-manager.d.ts +11 -0
  42. package/lib/cjs/targeting/targeting-manager.d.ts.map +1 -0
  43. package/lib/cjs/targeting/targeting-manager.js +60 -0
  44. package/lib/cjs/targeting/targeting-manager.js.map +1 -0
  45. package/lib/cjs/typings/session-replay.d.ts +2 -0
  46. package/lib/cjs/typings/session-replay.d.ts.map +1 -1
  47. package/lib/cjs/typings/session-replay.js.map +1 -1
  48. package/lib/cjs/version.d.ts +1 -1
  49. package/lib/cjs/version.js +1 -1
  50. package/lib/cjs/version.js.map +1 -1
  51. package/lib/esm/config/joined-config.d.ts.map +1 -1
  52. package/lib/esm/config/joined-config.js +10 -3
  53. package/lib/esm/config/joined-config.js.map +1 -1
  54. package/lib/esm/config/local-config.d.ts +3 -0
  55. package/lib/esm/config/local-config.d.ts.map +1 -1
  56. package/lib/esm/config/local-config.js +5 -2
  57. package/lib/esm/config/local-config.js.map +1 -1
  58. package/lib/esm/config/types.d.ts +30 -0
  59. package/lib/esm/config/types.d.ts.map +1 -1
  60. package/lib/esm/config/types.js.map +1 -1
  61. package/lib/esm/constants.d.ts +3 -1
  62. package/lib/esm/constants.d.ts.map +1 -1
  63. package/lib/esm/constants.js +2 -0
  64. package/lib/esm/constants.js.map +1 -1
  65. package/lib/esm/helpers.d.ts +7 -0
  66. package/lib/esm/helpers.d.ts.map +1 -1
  67. package/lib/esm/index.d.ts +1 -1
  68. package/lib/esm/index.d.ts.map +1 -1
  69. package/lib/esm/index.js +1 -1
  70. package/lib/esm/index.js.map +1 -1
  71. package/lib/esm/plugins/index.d.ts +2 -0
  72. package/lib/esm/plugins/index.d.ts.map +1 -0
  73. package/lib/esm/plugins/index.js +2 -0
  74. package/lib/esm/plugins/index.js.map +1 -0
  75. package/lib/esm/plugins/url-tracking-plugin.d.ts +56 -0
  76. package/lib/esm/plugins/url-tracking-plugin.d.ts.map +1 -0
  77. package/lib/esm/plugins/url-tracking-plugin.js +183 -0
  78. package/lib/esm/plugins/url-tracking-plugin.js.map +1 -0
  79. package/lib/esm/session-replay-factory.d.ts.map +1 -1
  80. package/lib/esm/session-replay-factory.js +1 -0
  81. package/lib/esm/session-replay-factory.js.map +1 -1
  82. package/lib/esm/session-replay.d.ts +12 -3
  83. package/lib/esm/session-replay.d.ts.map +1 -1
  84. package/lib/esm/session-replay.js +133 -20
  85. package/lib/esm/session-replay.js.map +1 -1
  86. package/lib/esm/targeting/targeting-idb-store.d.ts +38 -0
  87. package/lib/esm/targeting/targeting-idb-store.d.ts.map +1 -0
  88. package/lib/esm/targeting/targeting-idb-store.js +143 -0
  89. package/lib/esm/targeting/targeting-idb-store.js.map +1 -0
  90. package/lib/esm/targeting/targeting-manager.d.ts +11 -0
  91. package/lib/esm/targeting/targeting-manager.d.ts.map +1 -0
  92. package/lib/esm/targeting/targeting-manager.js +56 -0
  93. package/lib/esm/targeting/targeting-manager.js.map +1 -0
  94. package/lib/esm/typings/session-replay.d.ts +2 -0
  95. package/lib/esm/typings/session-replay.d.ts.map +1 -1
  96. package/lib/esm/typings/session-replay.js.map +1 -1
  97. package/lib/esm/version.d.ts +1 -1
  98. package/lib/esm/version.js +1 -1
  99. package/lib/esm/version.js.map +1 -1
  100. package/lib/scripts/observers-min.js +1 -1
  101. package/lib/scripts/observers-min.js.gz +0 -0
  102. package/lib/scripts/observers-min.js.map +1 -1
  103. package/lib/scripts/session-replay-browser-esm.js +1 -1
  104. package/lib/scripts/session-replay-browser-esm.js.gz +0 -0
  105. package/lib/scripts/session-replay-browser-min.js +1 -1
  106. package/lib/scripts/session-replay-browser-min.js.gz +0 -0
  107. package/lib/scripts/session-replay-browser-min.js.map +1 -1
  108. package/lib/scripts/session-replay-min.js +1 -1
  109. package/lib/scripts/session-replay-min.js.gz +0 -0
  110. package/lib/scripts/session-replay-min.js.map +1 -1
  111. package/lib/scripts/targeting-min.js +2 -0
  112. package/lib/scripts/targeting-min.js.gz +0 -0
  113. package/lib/scripts/targeting-min.js.map +1 -0
  114. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"observers-min.js","sources":["../../../../src/observers.ts"],"sourcesContent":["import { getGlobalScope } from '@amplitude/analytics-core';\n\nexport interface NetworkRequestEvent {\n timestamp: number;\n type: 'fetch';\n method: string;\n url: string;\n status?: number;\n duration?: number;\n requestHeaders?: Record<string, string>;\n responseHeaders?: Record<string, string>;\n error?: {\n name: string;\n message: string;\n };\n}\n\nexport type NetworkEventCallback = (event: NetworkRequestEvent) => void;\n\nexport class NetworkObservers {\n private fetchObserver: (() => void) | null = null;\n private eventCallback?: NetworkEventCallback;\n\n start(eventCallback: NetworkEventCallback) {\n this.eventCallback = eventCallback;\n this.observeFetch();\n }\n\n stop() {\n this.fetchObserver?.();\n this.fetchObserver = null;\n this.eventCallback = undefined;\n }\n\n protected notifyEvent(event: NetworkRequestEvent) {\n this.eventCallback?.(event);\n }\n\n private observeFetch() {\n const globalScope = getGlobalScope();\n if (!globalScope) return;\n\n const originalFetch = globalScope.fetch;\n if (!originalFetch) return;\n\n globalScope.fetch = async (input: RequestInfo | URL, init?: RequestInit) => {\n const startTime = Date.now();\n const requestEvent: NetworkRequestEvent = {\n timestamp: startTime,\n type: 'fetch',\n method: init?.method || 'GET', // Fetch API defaulted to GET when no method is provided\n url: input.toString(),\n requestHeaders: init?.headers as Record<string, string>,\n };\n\n try {\n const response = await originalFetch(input, init);\n const endTime = Date.now();\n\n requestEvent.status = response.status;\n requestEvent.duration = endTime - startTime;\n\n // Convert Headers\n const headers: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n requestEvent.responseHeaders = headers;\n\n this.notifyEvent(requestEvent);\n return response;\n } catch (error) {\n const endTime = Date.now();\n requestEvent.duration = endTime - startTime;\n\n // Capture error information\n const typedError = error as Error;\n requestEvent.error = {\n name: typedError.name || 'UnknownError',\n message: typedError.message || 'An unknown error occurred',\n };\n\n this.notifyEvent(requestEvent);\n throw error;\n }\n };\n\n this.fetchObserver = () => {\n globalScope.fetch = originalFetch;\n };\n }\n}\n"],"names":["NetworkObservers","constructor","this","fetchObserver","start","eventCallback","observeFetch","stop","_a","call","undefined","notifyEvent","event","globalScope","getGlobalScope","originalFetch","fetch","input","init","__awaiter","startTime","Date","now","requestEvent","timestamp","type","method","url","toString","requestHeaders","headers","response","endTime","status","duration","forEach","value","key","responseHeaders","error","typedError","name","message"],"mappings":"yDAmBaA,EAAb,WAAAC,GACUC,KAAaC,cAAwB,IAuE9C,CApEC,KAAAC,CAAMC,GACJH,KAAKG,cAAgBA,EACrBH,KAAKI,cACN,CAED,IAAAC,SACoB,QAAlBC,EAAAN,KAAKC,qBAAa,IAAAK,GAAAA,EAAAC,KAAAP,MAClBA,KAAKC,cAAgB,KACrBD,KAAKG,mBAAgBK,CACtB,CAES,WAAAC,CAAYC,SACC,QAArBJ,EAAAN,KAAKG,qBAAgB,IAAAG,GAAAA,EAAAC,KAAAP,KAAAU,EACtB,CAEO,YAAAN,GACN,MAAMO,EAAcC,IACpB,IAAKD,EAAa,OAElB,MAAME,EAAgBF,EAAYG,MAC7BD,IAELF,EAAYG,MAAQ,CAAOC,EAA0BC,IAAsBC,EAAAjB,UAAA,OAAA,GAAA,YACzE,MAAMkB,EAAYC,KAAKC,MACjBC,EAAoC,CACxCC,UAAWJ,EACXK,KAAM,QACNC,QAAQR,eAAAA,EAAMQ,SAAU,MACxBC,IAAKV,EAAMW,WACXC,eAAgBX,aAAA,EAAAA,EAAMY,SAGxB,IACE,MAAMC,QAAiBhB,EAAcE,EAAOC,GACtCc,EAAUX,KAAKC,MAErBC,EAAaU,OAASF,EAASE,OAC/BV,EAAaW,SAAWF,EAAUZ,EAGlC,MAAMU,EAAkC,CAAA,EAOxC,OANAC,EAASD,QAAQK,SAAQ,CAACC,EAAOC,KAC/BP,EAAQO,GAAOD,CAAK,IAEtBb,EAAae,gBAAkBR,EAE/B5B,KAAKS,YAAYY,GACVQ,CACR,CAAC,MAAOQ,GACP,MAAMP,EAAUX,KAAKC,MACrBC,EAAaW,SAAWF,EAAUZ,EAGlC,MAAMoB,EAAaD,EAOnB,MANAhB,EAAagB,MAAQ,CACnBE,KAAMD,EAAWC,MAAQ,eACzBC,QAASF,EAAWE,SAAW,6BAGjCxC,KAAKS,YAAYY,GACXgB,CACP,CACH,IAEArC,KAAKC,cAAgB,KACnBU,EAAYG,MAAQD,CAAa,EAEpC"}
1
+ {"version":3,"file":"observers-min.js","sources":["../../../../src/observers.ts"],"sourcesContent":["import { getGlobalScope } from '@amplitude/analytics-core';\n\nexport interface NetworkRequestEvent {\n timestamp: number;\n type: 'fetch';\n method: string;\n url: string;\n status?: number;\n duration?: number;\n requestHeaders?: Record<string, string>;\n responseHeaders?: Record<string, string>;\n error?: {\n name: string;\n message: string;\n };\n}\n\nexport type NetworkEventCallback = (event: NetworkRequestEvent) => void;\n\nexport class NetworkObservers {\n private fetchObserver: (() => void) | null = null;\n private eventCallback?: NetworkEventCallback;\n\n start(eventCallback: NetworkEventCallback) {\n this.eventCallback = eventCallback;\n this.observeFetch();\n }\n\n stop() {\n this.fetchObserver?.();\n this.fetchObserver = null;\n this.eventCallback = undefined;\n }\n\n protected notifyEvent(event: NetworkRequestEvent) {\n this.eventCallback?.(event);\n }\n\n private observeFetch() {\n const globalScope = getGlobalScope();\n if (!globalScope) return;\n\n const originalFetch = globalScope.fetch;\n if (!originalFetch) return;\n\n globalScope.fetch = async (input: RequestInfo | URL, init?: RequestInit) => {\n const startTime = Date.now();\n const requestEvent: NetworkRequestEvent = {\n timestamp: startTime,\n type: 'fetch',\n method: init?.method || 'GET', // Fetch API defaulted to GET when no method is provided\n url: input.toString(),\n requestHeaders: init?.headers as Record<string, string>,\n };\n\n try {\n const response = await originalFetch(input, init);\n const endTime = Date.now();\n\n requestEvent.status = response.status;\n requestEvent.duration = endTime - startTime;\n\n // Convert Headers\n const headers: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n requestEvent.responseHeaders = headers;\n\n this.notifyEvent(requestEvent);\n return response;\n } catch (error) {\n const endTime = Date.now();\n requestEvent.duration = endTime - startTime;\n\n // Capture error information\n const typedError = error as Error;\n requestEvent.error = {\n name: typedError.name || 'UnknownError',\n message: typedError.message || 'An unknown error occurred',\n };\n\n this.notifyEvent(requestEvent);\n throw error;\n }\n };\n\n this.fetchObserver = () => {\n globalScope.fetch = originalFetch;\n };\n }\n}\n"],"names":["NetworkObservers","constructor","this","fetchObserver","start","eventCallback","observeFetch","stop","_a","call","undefined","notifyEvent","event","globalScope","getGlobalScope","originalFetch","fetch","input","init","__awaiter","startTime","Date","now","requestEvent","timestamp","type","method","url","toString","requestHeaders","headers","response","endTime","status","duration","forEach","value","key","responseHeaders","error","typedError","name","message"],"mappings":"yFAmBaA,EAAb,WAAAC,GACUC,KAAaC,cAAwB,IAuE9C,CApEC,KAAAC,CAAMC,GACJH,KAAKG,cAAgBA,EACrBH,KAAKI,cACN,CAED,IAAAC,SACoB,QAAlBC,EAAAN,KAAKC,qBAAa,IAAAK,GAAAA,EAAAC,KAAAP,MAClBA,KAAKC,cAAgB,KACrBD,KAAKG,mBAAgBK,CACtB,CAES,WAAAC,CAAYC,SACC,QAArBJ,EAAAN,KAAKG,qBAAgB,IAAAG,GAAAA,EAAAC,KAAAP,KAAAU,EACtB,CAEO,YAAAN,GACN,MAAMO,EAAcC,IACpB,IAAKD,EAAa,OAElB,MAAME,EAAgBF,EAAYG,MAC7BD,IAELF,EAAYG,MAAQ,CAAOC,EAA0BC,IAAsBC,EAAAjB,UAAA,OAAA,GAAA,YACzE,MAAMkB,EAAYC,KAAKC,MACjBC,EAAoC,CACxCC,UAAWJ,EACXK,KAAM,QACNC,QAAQR,eAAAA,EAAMQ,SAAU,MACxBC,IAAKV,EAAMW,WACXC,eAAgBX,aAAA,EAAAA,EAAMY,SAGxB,IACE,MAAMC,QAAiBhB,EAAcE,EAAOC,GACtCc,EAAUX,KAAKC,MAErBC,EAAaU,OAASF,EAASE,OAC/BV,EAAaW,SAAWF,EAAUZ,EAGlC,MAAMU,EAAkC,CAAA,EAOxC,OANAC,EAASD,QAAQK,SAAQ,CAACC,EAAOC,KAC/BP,EAAQO,GAAOD,CAAK,IAEtBb,EAAae,gBAAkBR,EAE/B5B,KAAKS,YAAYY,GACVQ,CACR,CAAC,MAAOQ,GACP,MAAMP,EAAUX,KAAKC,MACrBC,EAAaW,SAAWF,EAAUZ,EAGlC,MAAMoB,EAAaD,EAOnB,MANAhB,EAAagB,MAAQ,CACnBE,KAAMD,EAAWC,MAAQ,eACzBC,QAASF,EAAWE,SAAW,6BAGjCxC,KAAKS,YAAYY,GACXgB,CACP,CACH,IAEArC,KAAKC,cAAgB,KACnBU,EAAYG,MAAQD,CAAa,EAEpC"}
@@ -1,2 +1,2 @@
1
- export{S as SessionReplay}from"./session-replay-min.js";
1
+ import"./targeting-min.js";export{S as SessionReplay}from"./session-replay-min.js";
2
2
  //# sourceMappingURL=session-replay-browser-esm.js.map