@interfere/next 0.0.13 → 0.0.15-alpha.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 (226) hide show
  1. package/README.md +1 -6
  2. package/dist/build/env-config.d.mts +7 -0
  3. package/dist/build/env-config.d.mts.map +1 -0
  4. package/dist/build/env-config.mjs +17 -0
  5. package/dist/build/env-config.mjs.map +1 -0
  6. package/dist/build/logger.d.mts +11 -0
  7. package/dist/build/logger.d.mts.map +1 -0
  8. package/dist/build/logger.mjs +155 -0
  9. package/dist/build/logger.mjs.map +1 -0
  10. package/dist/build/release-program.d.mts +19 -0
  11. package/dist/build/release-program.d.mts.map +1 -0
  12. package/dist/build/release-program.mjs +92 -0
  13. package/dist/build/release-program.mjs.map +1 -0
  14. package/dist/build/secret-key.d.mts +10 -0
  15. package/dist/build/secret-key.d.mts.map +1 -0
  16. package/dist/build/secret-key.mjs +16 -0
  17. package/dist/build/secret-key.mjs.map +1 -0
  18. package/dist/build/services/config.service.d.mts +9 -0
  19. package/dist/build/services/config.service.d.mts.map +1 -0
  20. package/dist/build/services/config.service.mjs +8 -0
  21. package/dist/build/services/config.service.mjs.map +1 -0
  22. package/dist/build/services/preflight.service.d.mts +19 -0
  23. package/dist/build/services/preflight.service.d.mts.map +1 -0
  24. package/dist/build/services/preflight.service.mjs +76 -0
  25. package/dist/build/services/preflight.service.mjs.map +1 -0
  26. package/dist/build/services/release-identity.service.d.mts +22 -0
  27. package/dist/build/services/release-identity.service.d.mts.map +1 -0
  28. package/dist/build/services/release-identity.service.mjs +48 -0
  29. package/dist/build/services/release-identity.service.mjs.map +1 -0
  30. package/dist/build/services/source-map.service.d.mts +24 -0
  31. package/dist/build/services/source-map.service.d.mts.map +1 -0
  32. package/dist/build/services/source-map.service.mjs +58 -0
  33. package/dist/build/services/source-map.service.mjs.map +1 -0
  34. package/dist/build/source-maps/api.d.mts +35 -0
  35. package/dist/build/source-maps/api.d.mts.map +1 -0
  36. package/dist/build/source-maps/api.mjs +61 -0
  37. package/dist/build/source-maps/api.mjs.map +1 -0
  38. package/dist/build/source-maps/client.d.mts +73 -0
  39. package/dist/build/source-maps/client.d.mts.map +1 -0
  40. package/dist/build/source-maps/client.mjs +228 -0
  41. package/dist/build/source-maps/client.mjs.map +1 -0
  42. package/dist/build/source-maps/errors.d.mts +109 -0
  43. package/dist/build/source-maps/errors.d.mts.map +1 -0
  44. package/dist/build/source-maps/errors.mjs +22 -0
  45. package/dist/build/source-maps/errors.mjs.map +1 -0
  46. package/dist/build/source-maps/files.d.mts +35 -0
  47. package/dist/build/source-maps/files.d.mts.map +1 -0
  48. package/dist/build/source-maps/files.mjs +222 -0
  49. package/dist/build/source-maps/files.mjs.map +1 -0
  50. package/dist/build/source-maps/providers/deployment/detector.d.mts +26 -0
  51. package/dist/build/source-maps/providers/deployment/detector.d.mts.map +1 -0
  52. package/dist/build/source-maps/providers/deployment/detector.mjs +22 -0
  53. package/dist/build/source-maps/providers/deployment/detector.mjs.map +1 -0
  54. package/dist/build/source-maps/providers/deployment/types.d.mts +12 -0
  55. package/dist/build/source-maps/providers/deployment/types.d.mts.map +1 -0
  56. package/dist/build/source-maps/providers/deployment/types.mjs +3 -0
  57. package/dist/build/source-maps/providers/deployment/vercel.d.mts +6 -0
  58. package/dist/build/source-maps/providers/deployment/vercel.d.mts.map +1 -0
  59. package/dist/build/source-maps/providers/deployment/vercel.mjs +44 -0
  60. package/dist/build/source-maps/providers/deployment/vercel.mjs.map +1 -0
  61. package/dist/build/source-maps/providers/source-control/detector.d.mts +15 -0
  62. package/dist/build/source-maps/providers/source-control/detector.d.mts.map +1 -0
  63. package/dist/build/source-maps/providers/source-control/detector.mjs +22 -0
  64. package/dist/build/source-maps/providers/source-control/detector.mjs.map +1 -0
  65. package/dist/build/source-maps/providers/source-control/git.d.mts +6 -0
  66. package/dist/build/source-maps/providers/source-control/git.d.mts.map +1 -0
  67. package/dist/build/source-maps/providers/source-control/git.mjs +50 -0
  68. package/dist/build/source-maps/providers/source-control/git.mjs.map +1 -0
  69. package/dist/build/source-maps/providers/source-control/types.d.mts +12 -0
  70. package/dist/build/source-maps/providers/source-control/types.d.mts.map +1 -0
  71. package/dist/build/source-maps/providers/source-control/types.mjs +3 -0
  72. package/dist/build/with-interfere.d.mts +49 -0
  73. package/dist/build/with-interfere.d.mts.map +1 -0
  74. package/dist/build/with-interfere.mjs +75 -0
  75. package/dist/build/with-interfere.mjs.map +1 -0
  76. package/dist/client/client.d.mts +3 -0
  77. package/dist/client/client.mjs +5 -0
  78. package/dist/client/provider.d.mts +22 -0
  79. package/dist/client/provider.d.mts.map +1 -0
  80. package/dist/client/provider.mjs +33 -0
  81. package/dist/client/provider.mjs.map +1 -0
  82. package/dist/lib/env.d.mts +12 -0
  83. package/dist/lib/env.d.mts.map +1 -0
  84. package/dist/lib/env.mjs +17 -0
  85. package/dist/lib/env.mjs.map +1 -0
  86. package/dist/lib/test-utils/make-next-request.d.mts +6 -0
  87. package/dist/lib/test-utils/make-next-request.d.mts.map +1 -0
  88. package/dist/lib/test-utils/make-next-request.mjs +12 -0
  89. package/dist/lib/test-utils/make-next-request.mjs.map +1 -0
  90. package/dist/lib/types.d.mts +22 -0
  91. package/dist/lib/types.d.mts.map +1 -0
  92. package/dist/lib/types.mjs +7 -0
  93. package/dist/lib/types.mjs.map +1 -0
  94. package/dist/server/middleware.d.mts +11 -0
  95. package/dist/server/middleware.d.mts.map +1 -0
  96. package/dist/server/middleware.mjs +84 -0
  97. package/dist/server/middleware.mjs.map +1 -0
  98. package/dist/server/proxy.d.mts +6 -0
  99. package/dist/server/proxy.d.mts.map +1 -0
  100. package/dist/server/proxy.mjs +29 -0
  101. package/dist/server/proxy.mjs.map +1 -0
  102. package/dist/server/route-handler.d.mts +9 -0
  103. package/dist/server/route-handler.d.mts.map +1 -0
  104. package/dist/server/route-handler.mjs +172 -0
  105. package/dist/server/route-handler.mjs.map +1 -0
  106. package/dist/server/services/config.service.d.mts +21 -0
  107. package/dist/server/services/config.service.d.mts.map +1 -0
  108. package/dist/server/services/config.service.mjs +43 -0
  109. package/dist/server/services/config.service.mjs.map +1 -0
  110. package/dist/server/services/error-tracking.service.d.mts +19 -0
  111. package/dist/server/services/error-tracking.service.d.mts.map +1 -0
  112. package/dist/server/services/error-tracking.service.mjs +31 -0
  113. package/dist/server/services/error-tracking.service.mjs.map +1 -0
  114. package/package.json +67 -36
  115. package/dist/__tests__/build/with-interfere-coverage.test.d.ts +0 -2
  116. package/dist/__tests__/build/with-interfere-coverage.test.d.ts.map +0 -1
  117. package/dist/__tests__/build/with-interfere-coverage.test.js +0 -325
  118. package/dist/__tests__/build/with-interfere-coverage.test.js.map +0 -1
  119. package/dist/__tests__/build/with-interfere.test.d.ts +0 -2
  120. package/dist/__tests__/build/with-interfere.test.d.ts.map +0 -1
  121. package/dist/__tests__/build/with-interfere.test.js +0 -424
  122. package/dist/__tests__/build/with-interfere.test.js.map +0 -1
  123. package/dist/__tests__/core/client.test.d.ts +0 -2
  124. package/dist/__tests__/core/client.test.d.ts.map +0 -1
  125. package/dist/__tests__/core/client.test.js +0 -373
  126. package/dist/__tests__/core/client.test.js.map +0 -1
  127. package/dist/__tests__/core/encoders.test.d.ts +0 -2
  128. package/dist/__tests__/core/encoders.test.d.ts.map +0 -1
  129. package/dist/__tests__/core/encoders.test.js +0 -56
  130. package/dist/__tests__/core/encoders.test.js.map +0 -1
  131. package/dist/__tests__/core/rage-click.test.d.ts +0 -2
  132. package/dist/__tests__/core/rage-click.test.d.ts.map +0 -1
  133. package/dist/__tests__/core/rage-click.test.js +0 -121
  134. package/dist/__tests__/core/rage-click.test.js.map +0 -1
  135. package/dist/__tests__/core/session-manager.test.d.ts +0 -2
  136. package/dist/__tests__/core/session-manager.test.d.ts.map +0 -1
  137. package/dist/__tests__/core/session-manager.test.js +0 -1168
  138. package/dist/__tests__/core/session-manager.test.js.map +0 -1
  139. package/dist/__tests__/integration/release-upload.test.d.ts +0 -2
  140. package/dist/__tests__/integration/release-upload.test.d.ts.map +0 -1
  141. package/dist/__tests__/integration/release-upload.test.js +0 -167
  142. package/dist/__tests__/integration/release-upload.test.js.map +0 -1
  143. package/dist/__tests__/session/persistence.test.d.ts +0 -2
  144. package/dist/__tests__/session/persistence.test.d.ts.map +0 -1
  145. package/dist/__tests__/session/persistence.test.js +0 -129
  146. package/dist/__tests__/session/persistence.test.js.map +0 -1
  147. package/dist/__tests__/session/session-summary.test.d.ts +0 -2
  148. package/dist/__tests__/session/session-summary.test.d.ts.map +0 -1
  149. package/dist/__tests__/session/session-summary.test.js +0 -763
  150. package/dist/__tests__/session/session-summary.test.js.map +0 -1
  151. package/dist/client.d.ts +0 -75
  152. package/dist/client.d.ts.map +0 -1
  153. package/dist/client.js +0 -123
  154. package/dist/client.js.map +0 -1
  155. package/dist/config.d.ts +0 -61
  156. package/dist/config.d.ts.map +0 -1
  157. package/dist/config.js +0 -315
  158. package/dist/config.js.map +0 -1
  159. package/dist/index.d.ts +0 -20
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/index.jsx +0 -50
  162. package/dist/index.jsx.map +0 -1
  163. package/dist/lib/core/client-core.d.ts +0 -27
  164. package/dist/lib/core/client-core.d.ts.map +0 -1
  165. package/dist/lib/core/client-core.js +0 -152
  166. package/dist/lib/core/client-core.js.map +0 -1
  167. package/dist/lib/core/constants.d.ts +0 -12
  168. package/dist/lib/core/constants.d.ts.map +0 -1
  169. package/dist/lib/core/constants.js +0 -17
  170. package/dist/lib/core/constants.js.map +0 -1
  171. package/dist/lib/core/debug.d.ts +0 -47
  172. package/dist/lib/core/debug.d.ts.map +0 -1
  173. package/dist/lib/core/debug.js +0 -79
  174. package/dist/lib/core/debug.js.map +0 -1
  175. package/dist/lib/core/encoders.d.ts +0 -3
  176. package/dist/lib/core/encoders.d.ts.map +0 -1
  177. package/dist/lib/core/encoders.js +0 -5
  178. package/dist/lib/core/encoders.js.map +0 -1
  179. package/dist/lib/core/error-handlers.d.ts +0 -14
  180. package/dist/lib/core/error-handlers.d.ts.map +0 -1
  181. package/dist/lib/core/error-handlers.js +0 -191
  182. package/dist/lib/core/error-handlers.js.map +0 -1
  183. package/dist/lib/core/runtime.d.ts +0 -7
  184. package/dist/lib/core/runtime.d.ts.map +0 -1
  185. package/dist/lib/core/runtime.js +0 -16
  186. package/dist/lib/core/runtime.js.map +0 -1
  187. package/dist/lib/persistence/storage.d.ts +0 -5
  188. package/dist/lib/persistence/storage.d.ts.map +0 -1
  189. package/dist/lib/persistence/storage.js +0 -67
  190. package/dist/lib/persistence/storage.js.map +0 -1
  191. package/dist/lib/session/constants.d.ts +0 -19
  192. package/dist/lib/session/constants.d.ts.map +0 -1
  193. package/dist/lib/session/constants.js +0 -34
  194. package/dist/lib/session/constants.js.map +0 -1
  195. package/dist/lib/session/persistence.d.ts +0 -58
  196. package/dist/lib/session/persistence.d.ts.map +0 -1
  197. package/dist/lib/session/persistence.js +0 -179
  198. package/dist/lib/session/persistence.js.map +0 -1
  199. package/dist/lib/session/rage-click.d.ts +0 -17
  200. package/dist/lib/session/rage-click.d.ts.map +0 -1
  201. package/dist/lib/session/rage-click.js +0 -104
  202. package/dist/lib/session/rage-click.js.map +0 -1
  203. package/dist/lib/session/replay.d.ts +0 -3
  204. package/dist/lib/session/replay.d.ts.map +0 -1
  205. package/dist/lib/session/replay.js +0 -109
  206. package/dist/lib/session/replay.js.map +0 -1
  207. package/dist/lib/session/session-manager.d.ts +0 -126
  208. package/dist/lib/session/session-manager.d.ts.map +0 -1
  209. package/dist/lib/session/session-manager.js +0 -635
  210. package/dist/lib/session/session-manager.js.map +0 -1
  211. package/dist/lib/session/session-summary.d.ts +0 -3
  212. package/dist/lib/session/session-summary.d.ts.map +0 -1
  213. package/dist/lib/session/session-summary.js +0 -214
  214. package/dist/lib/session/session-summary.js.map +0 -1
  215. package/dist/middleware.d.ts +0 -8
  216. package/dist/middleware.d.ts.map +0 -1
  217. package/dist/middleware.js +0 -139
  218. package/dist/middleware.js.map +0 -1
  219. package/dist/types/storage.d.ts +0 -7
  220. package/dist/types/storage.d.ts.map +0 -1
  221. package/dist/types/storage.js +0 -2
  222. package/dist/types/storage.js.map +0 -1
  223. package/dist/types.d.ts +0 -6
  224. package/dist/types.d.ts.map +0 -1
  225. package/dist/types.js +0 -4
  226. package/dist/types.js.map +0 -1
package/dist/index.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import type { Config } from "@interfere/schemas/config";
2
- import type { SurfaceId } from "@interfere/schemas/surface";
3
- import { type ReactNode } from "react";
4
- import { capture, flush, getDebugInfo, getSessionId, getWindowId, resetSession } from "./client.js";
5
- export * from "./lib/core/error-handlers.js";
6
- type InterfereProviderProps = {
7
- surface: SurfaceId;
8
- options?: Partial<Config>;
9
- children: ReactNode;
10
- };
11
- export declare function InterfereProvider(props: InterfereProviderProps): import("react").JSX.Element;
12
- export declare function useInterfere(): {
13
- capture: typeof capture;
14
- flush: typeof flush;
15
- getSessionId: typeof getSessionId;
16
- getWindowId: typeof getWindowId;
17
- getDebugInfo: typeof getDebugInfo;
18
- resetSession: typeof resetSession;
19
- };
20
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAiB,KAAK,SAAS,EAAyB,MAAM,OAAO,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,YAAY,EACb,MAAM,aAAa,CAAC;AASrB,cAAc,8BAA8B,CAAC;AAW7C,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,+BAoC9D;AAED,wBAAgB,YAAY;aApDjB,OAAO,OAAO;WAChB,OAAO,KAAK;kBACL,OAAO,YAAY;iBACpB,OAAO,WAAW;kBACjB,OAAO,YAAY;kBACnB,OAAO,YAAY;EAqDlC"}
package/dist/index.jsx DELETED
@@ -1,50 +0,0 @@
1
- "use client";
2
- import { createContext, useContext, useEffect } from "react";
3
- import { capture, flush, getDebugInfo, getSessionId, getWindowId, init, resetSession, } from "./client.js";
4
- import { setupRageClick } from "./lib/session/rage-click.js";
5
- import { setupReplay, stopReplay } from "./lib/session/replay.js";
6
- import { setupSessionSummary, stopSessionSummary, } from "./lib/session/session-summary.js";
7
- // biome-ignore lint/performance/noBarrelFile: There is a better way to do this
8
- export * from "./lib/core/error-handlers.js";
9
- const InterfereContext = createContext(null);
10
- export function InterfereProvider(props) {
11
- useEffect(() => {
12
- init(props);
13
- setupSessionSummary();
14
- setupReplay();
15
- setupRageClick();
16
- return () => {
17
- try {
18
- stopSessionSummary();
19
- }
20
- catch {
21
- /* no-op */
22
- }
23
- try {
24
- stopReplay();
25
- }
26
- catch {
27
- /* no-op */
28
- }
29
- flush();
30
- };
31
- }, [props]);
32
- return (<InterfereContext.Provider value={{
33
- capture,
34
- flush,
35
- getSessionId,
36
- getWindowId,
37
- getDebugInfo,
38
- resetSession,
39
- }}>
40
- {props.children}
41
- </InterfereContext.Provider>);
42
- }
43
- export function useInterfere() {
44
- const context = useContext(InterfereContext);
45
- if (!context) {
46
- throw new Error("useInterfere() must be used within InterfereProvider");
47
- }
48
- return context;
49
- }
50
- //# sourceMappingURL=index.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAKb,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAE1C,+EAA+E;AAC/E,cAAc,8BAA8B,CAAC;AAE7C,MAAM,gBAAgB,GAAG,aAAa,CAO5B,IAAI,CAAC,CAAC;AAQhB,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,CAAC;QACZ,mBAAmB,EAAE,CAAC;QACtB,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC;gBACH,kBAAkB,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YACD,IAAI,CAAC;gBACH,UAAU,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YACD,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,CAAC,gBAAgB,CAAC,QAAQ,CACxB,KAAK,CAAC,CAAC;YACL,OAAO;YACP,KAAK;YACL,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,YAAY;SACb,CAAC,CAEF;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Core InterfereClient implementation
3
- */
4
- import { type InitConfig } from "@interfere/schemas/config";
5
- import type { EventType } from "@interfere/schemas/envelope";
6
- export declare class InterfereClient {
7
- private readonly surface;
8
- private readonly config;
9
- private readonly runtime;
10
- private readonly persistence;
11
- private readonly sessionManager;
12
- private readonly debugUtils;
13
- private queue;
14
- private seq;
15
- private flushTimer?;
16
- constructor({ surface, options }: InitConfig);
17
- private startFlushTimer;
18
- capture(type: EventType, payload: unknown): void;
19
- flush(): void;
20
- getSessionId(): string;
21
- getWindowId(): string;
22
- onSessionId(callback: (sessionId: string | null, windowId: string | null) => void): () => void;
23
- resetSession(): void;
24
- getDebugInfo(): import("./debug.js").DebugInfo;
25
- destroy(): void;
26
- }
27
- //# sourceMappingURL=client-core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-core.d.ts","sourceRoot":"","sources":["../../../src/lib/core/client-core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAgBvE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAExB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU;IA8C5C,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAgChD,KAAK,IAAI,IAAI;IAyCb,YAAY,IAAI,MAAM;IAMtB,WAAW,IAAI,MAAM;IAMrB,WAAW,CACT,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GACpE,MAAM,IAAI;IAIb,YAAY,IAAI,IAAI;IAKpB,YAAY;IAKZ,OAAO,IAAI,IAAI;CAOhB"}
@@ -1,152 +0,0 @@
1
- /**
2
- * Core InterfereClient implementation
3
- */
4
- import { configSchema, } from "@interfere/schemas/config";
5
- import { InterferePersistence } from "../session/persistence.js";
6
- import { SessionIdManager } from "../session/session-manager.js";
7
- import { API_PATHS, BACKGROUND_EVENT_TYPES, DEFAULT_FLUSH_INTERVAL, MAX_QUEUE_SIZE, } from "./constants.js";
8
- import { DebugUtils } from "./debug.js";
9
- import { encode } from "./encoders.js";
10
- import { setupClientErrorHandlers } from "./error-handlers.js";
11
- import { detectRuntime, isClient } from "./runtime.js";
12
- export class InterfereClient {
13
- surface;
14
- config;
15
- runtime;
16
- persistence;
17
- sessionManager;
18
- debugUtils;
19
- queue = [];
20
- seq = 0;
21
- flushTimer;
22
- constructor({ surface, options }) {
23
- this.runtime = detectRuntime();
24
- this.surface = surface;
25
- // Parse and validate config
26
- const { success, data, error } = configSchema.safeParse(options ?? {});
27
- if (!success) {
28
- throw new Error(`[Interfere] Invalid config: ${error.message}`);
29
- }
30
- // Normalize build/release with environment fallbacks and defaults
31
- if (!data.buildId) {
32
- const envBuildId = process?.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID;
33
- data.buildId = envBuildId ?? "development";
34
- }
35
- if (!data.releaseId) {
36
- const envReleaseId = process?.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID;
37
- data.releaseId = envReleaseId ?? "development";
38
- }
39
- this.config = data;
40
- // Initialize subsystems
41
- this.persistence = new InterferePersistence(this.config, surface);
42
- this.sessionManager = new SessionIdManager(surface, this.config, this.persistence);
43
- this.debugUtils = new DebugUtils({
44
- config: this.config,
45
- sessionManager: this.sessionManager,
46
- persistence: this.persistence,
47
- surface: this.surface,
48
- runtime: this.runtime,
49
- });
50
- // Setup client-specific features
51
- if (isClient()) {
52
- this.startFlushTimer();
53
- window.addEventListener("beforeunload", () => this.flush());
54
- setupClientErrorHandlers();
55
- }
56
- }
57
- startFlushTimer() {
58
- const interval = this.config.flushInterval || DEFAULT_FLUSH_INTERVAL;
59
- this.flushTimer = setInterval(() => this.flush(), interval);
60
- }
61
- capture(type, payload) {
62
- // Determine if this is a background event
63
- const isBackgroundEvent = BACKGROUND_EVENT_TYPES.includes(type);
64
- const readOnly = isBackgroundEvent;
65
- // Get current session info
66
- const { sessionId } = this.sessionManager.checkAndGetSessionAndWindowId(readOnly);
67
- // Create envelope with required release tracking
68
- const envelope = {
69
- v: 0,
70
- runtime: this.runtime,
71
- surface: this.surface,
72
- env: this.config.env,
73
- clientTs: Date.now(),
74
- sessionId,
75
- seq: ++this.seq,
76
- type,
77
- payload: Array.from(encode(payload)),
78
- buildId: this.config.buildId, // Now required
79
- releaseId: this.config.releaseId, // Now required
80
- };
81
- this.queue.push(envelope);
82
- // Auto-flush if queue is getting large or we're not in client
83
- if (this.runtime !== "client" || this.queue.length >= MAX_QUEUE_SIZE) {
84
- this.flush();
85
- }
86
- }
87
- flush() {
88
- if (this.queue.length === 0) {
89
- return;
90
- }
91
- // Get batch and clear queue
92
- const batch = [...this.queue];
93
- this.queue = [];
94
- // Prepare request
95
- const body = JSON.stringify(batch);
96
- const headers = new Headers({
97
- "Content-Type": "application/json",
98
- "x-interfere-surface": this.surface,
99
- });
100
- const base = this.config.endpointUrl ?? "https://api.interfere.com";
101
- const url = `${base}${API_PATHS.INGEST_V0}`;
102
- // Send with appropriate method
103
- if (isClient() && typeof window.navigator?.sendBeacon === "function") {
104
- // Use fetch with keepalive for reliability (sendBeacon doesn't support custom headers)
105
- fetch(url, {
106
- method: "POST",
107
- headers,
108
- body,
109
- keepalive: true,
110
- }).catch(() => {
111
- // Silently fail - don't capture SDK's own errors to prevent loops
112
- });
113
- }
114
- else {
115
- fetch(url, {
116
- method: "POST",
117
- headers,
118
- body,
119
- }).catch(() => {
120
- // Silently fail
121
- });
122
- }
123
- }
124
- // Session management delegation
125
- getSessionId() {
126
- const { sessionId } = this.sessionManager.checkAndGetSessionAndWindowId(true);
127
- return sessionId || "";
128
- }
129
- getWindowId() {
130
- const { windowId } = this.sessionManager.checkAndGetSessionAndWindowId(true);
131
- return windowId || "";
132
- }
133
- onSessionId(callback) {
134
- return this.sessionManager.onSessionId(callback);
135
- }
136
- resetSession() {
137
- this.sessionManager.resetSessionId();
138
- }
139
- // Debug functionality
140
- getDebugInfo() {
141
- return this.debugUtils.getDebugInfo(this.queue.length);
142
- }
143
- // Cleanup
144
- destroy() {
145
- if (this.flushTimer) {
146
- clearInterval(this.flushTimer);
147
- this.flushTimer = undefined;
148
- }
149
- this.flush(); // Final flush
150
- }
151
- }
152
- //# sourceMappingURL=client-core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-core.js","sourceRoot":"","sources":["../../../src/lib/core/client-core.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Core constants and configuration defaults
3
- */
4
- import type { EventType } from "@interfere/schemas/envelope";
5
- export declare const BACKGROUND_EVENT_TYPES: EventType[];
6
- export declare const MAX_QUEUE_SIZE = 10;
7
- export declare const DEFAULT_FLUSH_INTERVAL = 10000;
8
- export declare const API_PATHS: {
9
- readonly INGEST_V0: "/ingest/v0";
10
- readonly RELEASES: "/internal/releases";
11
- };
12
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/core/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG7D,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAG7C,CAAC;AAGF,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAG7C,eAAO,MAAM,SAAS;;;CAGZ,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Core constants and configuration defaults
3
- */
4
- // Background event types that don't count as user activity for session timeout
5
- export const BACKGROUND_EVENT_TYPES = [
6
- "replay_chunk",
7
- "session_summary",
8
- ];
9
- // Queue thresholds
10
- export const MAX_QUEUE_SIZE = 10;
11
- export const DEFAULT_FLUSH_INTERVAL = 10_000; // 10 seconds
12
- // API paths
13
- export const API_PATHS = {
14
- INGEST_V0: "/ingest/v0",
15
- RELEASES: "/internal/releases",
16
- };
17
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/core/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IACjD,cAAc;IACd,iBAAiB;CAClB,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,aAAa;AAE3D,YAAY;AACZ,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,oBAAoB;CACtB,CAAC"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Debug utilities for development
3
- */
4
- import type { Config } from "@interfere/schemas/config";
5
- import type { InterferePersistence } from "../session/persistence";
6
- import type { SessionIdManager } from "../session/session-manager";
7
- import type { Runtime } from "./runtime";
8
- export type DebugInfo = {
9
- sessionId: string | null;
10
- windowId: string | null;
11
- sessionStartTimestamp: number | null;
12
- lastActivityTimestamp: number | null;
13
- sessionTimeoutMs: number;
14
- sessionAge: number;
15
- timeSinceLastActivity: number;
16
- isSessionActive: boolean;
17
- config: Config;
18
- storageInfo: StorageInfo;
19
- queueLength: number;
20
- surface: string;
21
- runtime: Runtime;
22
- buildId: string;
23
- releaseId: string;
24
- };
25
- export type StorageInfo = {
26
- canUseLocalStorage: boolean;
27
- canUseSessionStorage: boolean;
28
- storageKeys: string[];
29
- };
30
- export declare class DebugUtils {
31
- private readonly config;
32
- private readonly sessionManager;
33
- private readonly persistence;
34
- private readonly surface;
35
- private readonly runtime;
36
- constructor(params: {
37
- config: Config;
38
- sessionManager: SessionIdManager;
39
- persistence: InterferePersistence;
40
- surface: string;
41
- runtime: Runtime;
42
- });
43
- getDebugInfo(queueLength: number): DebugInfo;
44
- private getStorageInfo;
45
- private getStorageKeys;
46
- }
47
- //# sourceMappingURL=debug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/lib/core/debug.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,MAAM,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,gBAAgB,CAAC;QACjC,WAAW,EAAE,oBAAoB,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB;IAQD,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAkC5C,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,cAAc;CAcvB"}
@@ -1,79 +0,0 @@
1
- /**
2
- * Debug utilities for development
3
- */
4
- export class DebugUtils {
5
- config;
6
- sessionManager;
7
- persistence;
8
- surface;
9
- runtime;
10
- constructor(params) {
11
- this.config = params.config;
12
- this.sessionManager = params.sessionManager;
13
- this.persistence = params.persistence;
14
- this.surface = params.surface;
15
- this.runtime = params.runtime;
16
- }
17
- getDebugInfo(queueLength) {
18
- const { sessionId, windowId, sessionStartTimestamp, lastActivityTimestamp, } = this.sessionManager.checkAndGetSessionAndWindowId(true);
19
- const now = Date.now();
20
- const sessionAge = sessionStartTimestamp ? now - sessionStartTimestamp : 0;
21
- const timeSinceLastActivity = lastActivityTimestamp
22
- ? now - lastActivityTimestamp
23
- : 0;
24
- return {
25
- sessionId,
26
- windowId,
27
- sessionStartTimestamp,
28
- lastActivityTimestamp,
29
- sessionTimeoutMs: this.sessionManager.sessionTimeoutMs,
30
- sessionAge,
31
- timeSinceLastActivity,
32
- isSessionActive: timeSinceLastActivity < this.sessionManager.sessionTimeoutMs,
33
- config: this.config,
34
- storageInfo: this.getStorageInfo(),
35
- queueLength,
36
- surface: this.surface,
37
- runtime: this.runtime,
38
- buildId: this.config.buildId,
39
- releaseId: this.config.releaseId,
40
- };
41
- }
42
- getStorageInfo() {
43
- const persistenceType = this.config.persistence || "localStorage";
44
- const isDisabled = this.persistence.isDisabled();
45
- const canUseLocalStorage = !isDisabled && persistenceType === "localStorage";
46
- const canUseSessionStorage = !isDisabled && persistenceType === "sessionStorage";
47
- let storageKeys = [];
48
- if (!isDisabled && typeof window !== "undefined") {
49
- if (persistenceType === "localStorage" && window.localStorage) {
50
- storageKeys = this.getStorageKeys(window.localStorage, "localStorage");
51
- }
52
- else if (persistenceType === "sessionStorage" &&
53
- window.sessionStorage) {
54
- storageKeys = this.getStorageKeys(window.sessionStorage, "sessionStorage");
55
- }
56
- }
57
- return {
58
- canUseLocalStorage,
59
- canUseSessionStorage,
60
- storageKeys,
61
- };
62
- }
63
- getStorageKeys(storage, prefix) {
64
- const keys = [];
65
- try {
66
- for (let i = 0; i < storage.length; i++) {
67
- const key = storage.key(i);
68
- if (key?.startsWith("interfere_")) {
69
- keys.push(`${prefix}: ${key}`);
70
- }
71
- }
72
- }
73
- catch {
74
- // Storage access might be blocked
75
- }
76
- return keys;
77
- }
78
- }
79
- //# sourceMappingURL=debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/lib/core/debug.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const encode: (data: unknown) => Uint8Array;
2
- export declare const decode: (data: Uint8Array) => unknown;
3
- //# sourceMappingURL=encoders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoders.d.ts","sourceRoot":"","sources":["../../../src/lib/core/encoders.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,GAAI,MAAM,OAAO,KAAG,UACD,CAAC;AAEvC,eAAO,MAAM,MAAM,GAAI,MAAM,UAAU,KAAG,OACR,CAAC"}
@@ -1,5 +0,0 @@
1
- const encoder = new TextEncoder();
2
- const decoder = new TextDecoder();
3
- export const encode = (data) => encoder.encode(JSON.stringify(data));
4
- export const decode = (data) => JSON.parse(decoder.decode(data));
5
- //# sourceMappingURL=encoders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encoders.js","sourceRoot":"","sources":["../../../src/lib/core/encoders.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAc,EAAE,CAClD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAW,EAAE,CAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- export declare function setupClientErrorHandlers(): void;
2
- export declare function captureServerError(error: unknown, request?: Request, context?: {
3
- pathname?: string;
4
- renderingError?: boolean;
5
- [key: string]: unknown;
6
- }): void;
7
- export declare function captureErrorBoundaryError(error: Error, errorInfo: {
8
- componentStack: string;
9
- }): void;
10
- export declare function captureApiRouteError(error: unknown, req: Request, pathname: string): void;
11
- type AsyncFunction = (...args: unknown[]) => Promise<unknown>;
12
- export declare function withErrorCapture<T extends AsyncFunction>(fn: T, context?: Record<string, unknown>): T;
13
- export {};
14
- //# sourceMappingURL=error-handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handlers.d.ts","sourceRoot":"","sources":["../../../src/lib/core/error-handlers.ts"],"names":[],"mappings":"AA4DA,wBAAgB,wBAAwB,IAAI,IAAI,CAiE/C;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,GACA,IAAI,CAoBN;AAGD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GACpC,IAAI,CAQN;AAGD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,IAAI,CAcN;AA+BD,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9D,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,aAAa,EACtD,EAAE,EAAE,CAAC,EACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,CAAC,CAkBH"}