@interfere/react 0.1.0-alpha.6 → 0.2.0-alpha.2

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 (310) hide show
  1. package/README.md +90 -0
  2. package/dist/error-boundary.d.mts +27 -0
  3. package/dist/error-boundary.d.mts.map +1 -0
  4. package/dist/error-boundary.mjs +42 -0
  5. package/dist/error-boundary.mjs.map +1 -0
  6. package/dist/internal/client.d.mts +13 -0
  7. package/dist/internal/client.d.mts.map +1 -0
  8. package/dist/internal/client.mjs +80 -0
  9. package/dist/internal/client.mjs.map +1 -0
  10. package/dist/internal/config.d.mts +9 -0
  11. package/dist/internal/config.d.mts.map +1 -0
  12. package/dist/internal/config.mjs +27 -0
  13. package/dist/internal/config.mjs.map +1 -0
  14. package/dist/internal/context.d.mts +6 -0
  15. package/dist/internal/context.d.mts.map +1 -0
  16. package/dist/internal/context.mjs +32 -0
  17. package/dist/internal/context.mjs.map +1 -0
  18. package/dist/internal/envelope.d.mts +14 -0
  19. package/dist/internal/envelope.d.mts.map +1 -0
  20. package/dist/internal/envelope.mjs +20 -0
  21. package/dist/internal/envelope.mjs.map +1 -0
  22. package/dist/internal/errors.d.mts +4 -0
  23. package/dist/internal/errors.d.mts.map +1 -0
  24. package/dist/internal/errors.mjs +4 -0
  25. package/dist/internal/errors.mjs.map +1 -0
  26. package/dist/internal/sw.d.mts +4 -0
  27. package/dist/internal/sw.d.mts.map +1 -0
  28. package/dist/internal/sw.mjs +10 -0
  29. package/dist/internal/sw.mjs.map +1 -0
  30. package/dist/plugins/errors.d.mts +6 -0
  31. package/dist/plugins/errors.d.mts.map +1 -0
  32. package/dist/plugins/errors.mjs +59 -0
  33. package/dist/plugins/errors.mjs.map +1 -0
  34. package/dist/plugins/lib/loader.d.mts +9 -0
  35. package/dist/plugins/lib/loader.d.mts.map +1 -0
  36. package/dist/plugins/lib/loader.mjs +47 -0
  37. package/dist/plugins/lib/loader.mjs.map +1 -0
  38. package/dist/plugins/lib/types.d.mts +14 -0
  39. package/dist/plugins/lib/types.d.mts.map +1 -0
  40. package/dist/plugins/lib/types.mjs +1 -0
  41. package/dist/plugins/pages.d.mts +6 -0
  42. package/dist/plugins/pages.d.mts.map +1 -0
  43. package/dist/plugins/pages.mjs +102 -0
  44. package/dist/plugins/pages.mjs.map +1 -0
  45. package/dist/plugins/rage-clicks.d.mts +6 -0
  46. package/dist/plugins/rage-clicks.d.mts.map +1 -0
  47. package/dist/plugins/rage-clicks.mjs +53 -0
  48. package/dist/plugins/rage-clicks.mjs.map +1 -0
  49. package/dist/plugins/replay.d.mts +6 -0
  50. package/dist/plugins/replay.d.mts.map +1 -0
  51. package/dist/plugins/replay.mjs +62 -0
  52. package/dist/plugins/replay.mjs.map +1 -0
  53. package/dist/provider.d.mts +17 -11
  54. package/dist/provider.d.mts.map +1 -1
  55. package/dist/provider.mjs +18 -17
  56. package/dist/provider.mjs.map +1 -1
  57. package/dist/tracking/api.d.mts +22 -0
  58. package/dist/tracking/api.d.mts.map +1 -0
  59. package/dist/tracking/api.mjs +88 -0
  60. package/dist/tracking/api.mjs.map +1 -0
  61. package/dist/tracking/session.d.mts +19 -0
  62. package/dist/tracking/session.d.mts.map +1 -0
  63. package/dist/tracking/session.mjs +92 -0
  64. package/dist/tracking/session.mjs.map +1 -0
  65. package/dist/tracking/visitor.d.mts +6 -0
  66. package/dist/tracking/visitor.d.mts.map +1 -0
  67. package/dist/tracking/visitor.mjs +35 -0
  68. package/dist/tracking/visitor.mjs.map +1 -0
  69. package/dist/transport/http.d.mts +15 -0
  70. package/dist/transport/http.d.mts.map +1 -0
  71. package/dist/transport/http.mjs +56 -0
  72. package/dist/transport/http.mjs.map +1 -0
  73. package/dist/transport/queue.d.mts +25 -0
  74. package/dist/transport/queue.d.mts.map +1 -0
  75. package/dist/transport/queue.mjs +60 -0
  76. package/dist/transport/queue.mjs.map +1 -0
  77. package/dist/util/log.d.mts +13 -0
  78. package/dist/util/log.d.mts.map +1 -0
  79. package/dist/util/log.mjs +37 -0
  80. package/dist/util/log.mjs.map +1 -0
  81. package/package.json +38 -64
  82. package/dist/client.d.mts +0 -8
  83. package/dist/client.d.mts.map +0 -1
  84. package/dist/client.mjs +0 -14
  85. package/dist/client.mjs.map +0 -1
  86. package/dist/core/events/define-event.d.mts +0 -12
  87. package/dist/core/events/define-event.d.mts.map +0 -1
  88. package/dist/core/events/define-event.mjs +0 -39
  89. package/dist/core/events/define-event.mjs.map +0 -1
  90. package/dist/core/events/event-registry.d.mts +0 -23
  91. package/dist/core/events/event-registry.d.mts.map +0 -1
  92. package/dist/core/events/event-registry.mjs +0 -32
  93. package/dist/core/events/event-registry.mjs.map +0 -1
  94. package/dist/core/events/plugin-event-types.d.mts +0 -130
  95. package/dist/core/events/plugin-event-types.d.mts.map +0 -1
  96. package/dist/core/events/plugin-event-types.mjs +0 -25
  97. package/dist/core/events/plugin-event-types.mjs.map +0 -1
  98. package/dist/core/plugins/define-plugin.d.mts +0 -43
  99. package/dist/core/plugins/define-plugin.d.mts.map +0 -1
  100. package/dist/core/plugins/define-plugin.mjs +0 -23
  101. package/dist/core/plugins/define-plugin.mjs.map +0 -1
  102. package/dist/core/plugins/dom-utils.d.mts +0 -9
  103. package/dist/core/plugins/dom-utils.d.mts.map +0 -1
  104. package/dist/core/plugins/dom-utils.mjs +0 -25
  105. package/dist/core/plugins/dom-utils.mjs.map +0 -1
  106. package/dist/core/plugins/impl/ai-summary/ai-summary-plugin-api.d.mts +0 -18
  107. package/dist/core/plugins/impl/ai-summary/ai-summary-plugin-api.d.mts.map +0 -1
  108. package/dist/core/plugins/impl/ai-summary/ai-summary-plugin-api.mjs +0 -17
  109. package/dist/core/plugins/impl/ai-summary/ai-summary-plugin-api.mjs.map +0 -1
  110. package/dist/core/plugins/impl/ai-summary/plugin.d.mts +0 -6
  111. package/dist/core/plugins/impl/ai-summary/plugin.d.mts.map +0 -1
  112. package/dist/core/plugins/impl/ai-summary/plugin.mjs +0 -151
  113. package/dist/core/plugins/impl/ai-summary/plugin.mjs.map +0 -1
  114. package/dist/core/plugins/impl/errors/errors-plugin-api.d.mts +0 -17
  115. package/dist/core/plugins/impl/errors/errors-plugin-api.d.mts.map +0 -1
  116. package/dist/core/plugins/impl/errors/errors-plugin-api.mjs +0 -58
  117. package/dist/core/plugins/impl/errors/errors-plugin-api.mjs.map +0 -1
  118. package/dist/core/plugins/impl/errors/logic.d.mts +0 -15
  119. package/dist/core/plugins/impl/errors/logic.d.mts.map +0 -1
  120. package/dist/core/plugins/impl/errors/logic.mjs +0 -48
  121. package/dist/core/plugins/impl/errors/logic.mjs.map +0 -1
  122. package/dist/core/plugins/impl/errors/patches.d.mts +0 -13
  123. package/dist/core/plugins/impl/errors/patches.d.mts.map +0 -1
  124. package/dist/core/plugins/impl/errors/patches.mjs +0 -43
  125. package/dist/core/plugins/impl/errors/patches.mjs.map +0 -1
  126. package/dist/core/plugins/impl/errors/plugin.d.mts +0 -9
  127. package/dist/core/plugins/impl/errors/plugin.d.mts.map +0 -1
  128. package/dist/core/plugins/impl/errors/plugin.mjs +0 -91
  129. package/dist/core/plugins/impl/errors/plugin.mjs.map +0 -1
  130. package/dist/core/plugins/impl/page-events/page-events-plugin-api.d.mts +0 -19
  131. package/dist/core/plugins/impl/page-events/page-events-plugin-api.d.mts.map +0 -1
  132. package/dist/core/plugins/impl/page-events/page-events-plugin-api.mjs +0 -38
  133. package/dist/core/plugins/impl/page-events/page-events-plugin-api.mjs.map +0 -1
  134. package/dist/core/plugins/impl/page-events/plugin.d.mts +0 -6
  135. package/dist/core/plugins/impl/page-events/plugin.d.mts.map +0 -1
  136. package/dist/core/plugins/impl/page-events/plugin.mjs +0 -95
  137. package/dist/core/plugins/impl/page-events/plugin.mjs.map +0 -1
  138. package/dist/core/plugins/impl/rage-click/plugin.d.mts +0 -6
  139. package/dist/core/plugins/impl/rage-click/plugin.d.mts.map +0 -1
  140. package/dist/core/plugins/impl/rage-click/plugin.mjs +0 -38
  141. package/dist/core/plugins/impl/rage-click/plugin.mjs.map +0 -1
  142. package/dist/core/plugins/impl/rage-click/rage-click.layer.d.mts +0 -9
  143. package/dist/core/plugins/impl/rage-click/rage-click.layer.d.mts.map +0 -1
  144. package/dist/core/plugins/impl/rage-click/rage-click.layer.mjs +0 -35
  145. package/dist/core/plugins/impl/rage-click/rage-click.layer.mjs.map +0 -1
  146. package/dist/core/plugins/impl/rage-click/rage-click.service.d.mts +0 -16
  147. package/dist/core/plugins/impl/rage-click/rage-click.service.d.mts.map +0 -1
  148. package/dist/core/plugins/impl/rage-click/rage-click.service.mjs +0 -7
  149. package/dist/core/plugins/impl/rage-click/rage-click.service.mjs.map +0 -1
  150. package/dist/core/plugins/impl/rage-click/rage-click.test-layer.d.mts +0 -16
  151. package/dist/core/plugins/impl/rage-click/rage-click.test-layer.d.mts.map +0 -1
  152. package/dist/core/plugins/impl/rage-click/rage-click.test-layer.mjs +0 -18
  153. package/dist/core/plugins/impl/rage-click/rage-click.test-layer.mjs.map +0 -1
  154. package/dist/core/plugins/impl/replay/plugin.d.mts +0 -9
  155. package/dist/core/plugins/impl/replay/plugin.d.mts.map +0 -1
  156. package/dist/core/plugins/impl/replay/plugin.mjs +0 -83
  157. package/dist/core/plugins/impl/replay/plugin.mjs.map +0 -1
  158. package/dist/core/plugins/impl/replay/replay-plugin-api.d.mts +0 -18
  159. package/dist/core/plugins/impl/replay/replay-plugin-api.d.mts.map +0 -1
  160. package/dist/core/plugins/impl/replay/replay-plugin-api.mjs +0 -50
  161. package/dist/core/plugins/impl/replay/replay-plugin-api.mjs.map +0 -1
  162. package/dist/core/plugins/impl/server-tracing/plugin.d.mts +0 -13
  163. package/dist/core/plugins/impl/server-tracing/plugin.d.mts.map +0 -1
  164. package/dist/core/plugins/impl/server-tracing/plugin.mjs +0 -75
  165. package/dist/core/plugins/impl/server-tracing/plugin.mjs.map +0 -1
  166. package/dist/core/plugins/impl/server-tracing/server-tracing-plugin-api.d.mts +0 -16
  167. package/dist/core/plugins/impl/server-tracing/server-tracing-plugin-api.d.mts.map +0 -1
  168. package/dist/core/plugins/impl/server-tracing/server-tracing-plugin-api.mjs +0 -17
  169. package/dist/core/plugins/impl/server-tracing/server-tracing-plugin-api.mjs.map +0 -1
  170. package/dist/core/plugins/impl/server-tracing/tracing-logic.d.mts +0 -29
  171. package/dist/core/plugins/impl/server-tracing/tracing-logic.d.mts.map +0 -1
  172. package/dist/core/plugins/impl/server-tracing/tracing-logic.mjs +0 -55
  173. package/dist/core/plugins/impl/server-tracing/tracing-logic.mjs.map +0 -1
  174. package/dist/core/plugins/plugin-loader.d.mts +0 -75
  175. package/dist/core/plugins/plugin-loader.d.mts.map +0 -1
  176. package/dist/core/plugins/plugin-loader.mjs +0 -79
  177. package/dist/core/plugins/plugin-loader.mjs.map +0 -1
  178. package/dist/core/plugins/services/event-capture.d.mts +0 -12
  179. package/dist/core/plugins/services/event-capture.d.mts.map +0 -1
  180. package/dist/core/plugins/services/event-capture.layer.d.mts +0 -11
  181. package/dist/core/plugins/services/event-capture.layer.d.mts.map +0 -1
  182. package/dist/core/plugins/services/event-capture.layer.mjs +0 -79
  183. package/dist/core/plugins/services/event-capture.layer.mjs.map +0 -1
  184. package/dist/core/plugins/services/event-capture.mjs +0 -7
  185. package/dist/core/plugins/services/event-capture.mjs.map +0 -1
  186. package/dist/core/plugins/services/event-capture.test-layer.d.mts +0 -17
  187. package/dist/core/plugins/services/event-capture.test-layer.d.mts.map +0 -1
  188. package/dist/core/plugins/services/event-capture.test-layer.mjs +0 -21
  189. package/dist/core/plugins/services/event-capture.test-layer.mjs.map +0 -1
  190. package/dist/core/plugins/services/plugin-config.d.mts +0 -11
  191. package/dist/core/plugins/services/plugin-config.d.mts.map +0 -1
  192. package/dist/core/plugins/services/plugin-config.mjs +0 -7
  193. package/dist/core/plugins/services/plugin-config.mjs.map +0 -1
  194. package/dist/core/plugins/services/plugin-config.test-layer.d.mts +0 -60
  195. package/dist/core/plugins/services/plugin-config.test-layer.d.mts.map +0 -1
  196. package/dist/core/plugins/services/plugin-config.test-layer.mjs +0 -8
  197. package/dist/core/plugins/services/plugin-config.test-layer.mjs.map +0 -1
  198. package/dist/core/plugins/services/plugin-logger.d.mts +0 -14
  199. package/dist/core/plugins/services/plugin-logger.d.mts.map +0 -1
  200. package/dist/core/plugins/services/plugin-logger.mjs +0 -7
  201. package/dist/core/plugins/services/plugin-logger.mjs.map +0 -1
  202. package/dist/core/plugins/services/plugin-logger.test-layer.d.mts +0 -18
  203. package/dist/core/plugins/services/plugin-logger.test-layer.d.mts.map +0 -1
  204. package/dist/core/plugins/services/plugin-logger.test-layer.mjs +0 -28
  205. package/dist/core/plugins/services/plugin-logger.test-layer.mjs.map +0 -1
  206. package/dist/core/plugins/services/plugin-runtime.d.mts +0 -10
  207. package/dist/core/plugins/services/plugin-runtime.d.mts.map +0 -1
  208. package/dist/core/plugins/services/plugin-runtime.mjs +0 -7
  209. package/dist/core/plugins/services/plugin-runtime.mjs.map +0 -1
  210. package/dist/core/plugins/services/plugin-runtime.test-layer.d.mts +0 -16
  211. package/dist/core/plugins/services/plugin-runtime.test-layer.d.mts.map +0 -1
  212. package/dist/core/plugins/services/plugin-runtime.test-layer.mjs +0 -21
  213. package/dist/core/plugins/services/plugin-runtime.test-layer.mjs.map +0 -1
  214. package/dist/core/plugins/services/session-info.d.mts +0 -11
  215. package/dist/core/plugins/services/session-info.d.mts.map +0 -1
  216. package/dist/core/plugins/services/session-info.mjs +0 -7
  217. package/dist/core/plugins/services/session-info.mjs.map +0 -1
  218. package/dist/core/plugins/services/session-info.test-layer.d.mts +0 -18
  219. package/dist/core/plugins/services/session-info.test-layer.d.mts.map +0 -1
  220. package/dist/core/plugins/services/session-info.test-layer.mjs +0 -20
  221. package/dist/core/plugins/services/session-info.test-layer.mjs.map +0 -1
  222. package/dist/core/runtime/config.d.mts +0 -14
  223. package/dist/core/runtime/config.d.mts.map +0 -1
  224. package/dist/core/runtime/config.mjs +0 -33
  225. package/dist/core/runtime/config.mjs.map +0 -1
  226. package/dist/core/runtime/context.d.mts +0 -50
  227. package/dist/core/runtime/context.d.mts.map +0 -1
  228. package/dist/core/runtime/context.mjs +0 -46
  229. package/dist/core/runtime/context.mjs.map +0 -1
  230. package/dist/core/runtime/ingest-target.d.mts +0 -10
  231. package/dist/core/runtime/ingest-target.d.mts.map +0 -1
  232. package/dist/core/runtime/ingest-target.mjs +0 -15
  233. package/dist/core/runtime/ingest-target.mjs.map +0 -1
  234. package/dist/core/runtime/native-fetch.d.mts +0 -32
  235. package/dist/core/runtime/native-fetch.d.mts.map +0 -1
  236. package/dist/core/runtime/native-fetch.mjs +0 -49
  237. package/dist/core/runtime/native-fetch.mjs.map +0 -1
  238. package/dist/core/schemas.d.mts +0 -26
  239. package/dist/core/schemas.d.mts.map +0 -1
  240. package/dist/core/schemas.mjs +0 -1
  241. package/dist/effect/errors.d.mts +0 -22
  242. package/dist/effect/errors.d.mts.map +0 -1
  243. package/dist/effect/errors.mjs +0 -17
  244. package/dist/effect/errors.mjs.map +0 -1
  245. package/dist/effect/layers/circuit-breaker.layer.d.mts +0 -9
  246. package/dist/effect/layers/circuit-breaker.layer.d.mts.map +0 -1
  247. package/dist/effect/layers/circuit-breaker.layer.mjs +0 -9
  248. package/dist/effect/layers/circuit-breaker.layer.mjs.map +0 -1
  249. package/dist/effect/layers/circuit-breaker.layer.test-layer.d.mts +0 -18
  250. package/dist/effect/layers/circuit-breaker.layer.test-layer.d.mts.map +0 -1
  251. package/dist/effect/layers/circuit-breaker.layer.test-layer.mjs +0 -43
  252. package/dist/effect/layers/circuit-breaker.layer.test-layer.mjs.map +0 -1
  253. package/dist/effect/layers/config.layer.d.mts +0 -13
  254. package/dist/effect/layers/config.layer.d.mts.map +0 -1
  255. package/dist/effect/layers/config.layer.mjs +0 -21
  256. package/dist/effect/layers/config.layer.mjs.map +0 -1
  257. package/dist/effect/layers/context.layer.d.mts +0 -12
  258. package/dist/effect/layers/context.layer.d.mts.map +0 -1
  259. package/dist/effect/layers/context.layer.mjs +0 -14
  260. package/dist/effect/layers/context.layer.mjs.map +0 -1
  261. package/dist/effect/layers/http.layer.d.mts +0 -21
  262. package/dist/effect/layers/http.layer.d.mts.map +0 -1
  263. package/dist/effect/layers/http.layer.mjs +0 -118
  264. package/dist/effect/layers/http.layer.mjs.map +0 -1
  265. package/dist/effect/layers/queue.layer.d.mts +0 -31
  266. package/dist/effect/layers/queue.layer.d.mts.map +0 -1
  267. package/dist/effect/layers/queue.layer.mjs +0 -257
  268. package/dist/effect/layers/queue.layer.mjs.map +0 -1
  269. package/dist/effect/layers/queue.layer.test-layer.d.mts +0 -19
  270. package/dist/effect/layers/queue.layer.test-layer.d.mts.map +0 -1
  271. package/dist/effect/layers/queue.layer.test-layer.mjs +0 -44
  272. package/dist/effect/layers/queue.layer.test-layer.mjs.map +0 -1
  273. package/dist/effect/layers/session.layer.d.mts +0 -34
  274. package/dist/effect/layers/session.layer.d.mts.map +0 -1
  275. package/dist/effect/layers/session.layer.mjs +0 -127
  276. package/dist/effect/layers/session.layer.mjs.map +0 -1
  277. package/dist/effect/layers/storage.layer.d.mts +0 -50
  278. package/dist/effect/layers/storage.layer.d.mts.map +0 -1
  279. package/dist/effect/layers/storage.layer.mjs +0 -180
  280. package/dist/effect/layers/storage.layer.mjs.map +0 -1
  281. package/dist/effect/layers/test-utils.d.mts +0 -19
  282. package/dist/effect/layers/test-utils.d.mts.map +0 -1
  283. package/dist/effect/layers/test-utils.mjs +0 -32
  284. package/dist/effect/layers/test-utils.mjs.map +0 -1
  285. package/dist/effect/runtime-services.d.mts +0 -23
  286. package/dist/effect/runtime-services.d.mts.map +0 -1
  287. package/dist/effect/runtime-services.mjs +0 -79
  288. package/dist/effect/runtime-services.mjs.map +0 -1
  289. package/dist/effect/tags.d.mts +0 -58
  290. package/dist/effect/tags.d.mts.map +0 -1
  291. package/dist/effect/tags.mjs +0 -7
  292. package/dist/effect/tags.mjs.map +0 -1
  293. package/dist/hooks/use-runtime-and-plugins.d.mts +0 -7
  294. package/dist/hooks/use-runtime-and-plugins.d.mts.map +0 -1
  295. package/dist/hooks/use-runtime-and-plugins.mjs +0 -121
  296. package/dist/hooks/use-runtime-and-plugins.mjs.map +0 -1
  297. package/dist/hooks/use-session.d.mts +0 -40
  298. package/dist/hooks/use-session.d.mts.map +0 -1
  299. package/dist/hooks/use-session.mjs +0 -96
  300. package/dist/hooks/use-session.mjs.map +0 -1
  301. package/dist/package.mjs +0 -103
  302. package/dist/package.mjs.map +0 -1
  303. package/dist/server/auth.d.mts +0 -15
  304. package/dist/server/auth.d.mts.map +0 -1
  305. package/dist/server/auth.mjs +0 -45
  306. package/dist/server/auth.mjs.map +0 -1
  307. package/dist/server/capture.d.mts +0 -34
  308. package/dist/server/capture.d.mts.map +0 -1
  309. package/dist/server/capture.mjs +0 -172
  310. package/dist/server/capture.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-info.test-layer.d.mts","names":[],"sources":["../../../../src/core/plugins/services/session-info.test-layer.ts"],"mappings":";;;;UAIU,SAAA;EAAA,SACC,SAAA;AAAA;AAAA,cAGL,SAAA;EAAA;;cAIO,wBAAA,GAAwB,OAAA;EAAA"}
@@ -1,20 +0,0 @@
1
- import { SessionInfo } from "./session-info.mjs";
2
- import { Effect, Layer, Ref, Runtime } from "effect";
3
-
4
- //#region src/core/plugins/services/session-info.test-layer.ts
5
- const TestState = { make: () => Ref.make({ sessionId: null }) };
6
- const makeSessionInfoTestLayer = Effect.fn("makeSessionInfoTestLayer")(function* (initial) {
7
- const runtime = yield* Effect.runtime();
8
- const stateRef = yield* TestState.make();
9
- if (initial?.sessionId !== void 0) yield* Ref.set(stateRef, { sessionId: initial.sessionId });
10
- return {
11
- stateRef,
12
- layer: Layer.succeed(SessionInfo, SessionInfo.of({
13
- getSessionId: Ref.get(stateRef).pipe(Effect.map((s) => s.sessionId)),
14
- getSessionIdSync: () => Runtime.runSync(runtime)(Ref.get(stateRef)).sessionId
15
- }))
16
- };
17
- });
18
-
19
- //#endregion
20
- export { makeSessionInfoTestLayer };
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-info.test-layer.mjs","names":[],"sources":["../../../../src/core/plugins/services/session-info.test-layer.ts"],"sourcesContent":["import { Effect, Layer, Ref, Runtime } from \"effect\";\n\nimport { SessionInfo } from \"./session-info.js\";\n\ninterface TestState {\n readonly sessionId: string | null;\n}\n\nconst TestState = {\n make: () => Ref.make<TestState>({ sessionId: null }),\n} as const;\n\nexport const makeSessionInfoTestLayer = Effect.fn(\"makeSessionInfoTestLayer\")(\n function* (initial?: { readonly sessionId?: string | null }) {\n const runtime = yield* Effect.runtime();\n const stateRef = yield* TestState.make();\n\n if (initial?.sessionId !== undefined) {\n yield* Ref.set(stateRef, { sessionId: initial.sessionId });\n }\n\n const layer = Layer.succeed(\n SessionInfo,\n SessionInfo.of({\n getSessionId: Ref.get(stateRef).pipe(Effect.map((s) => s.sessionId)),\n getSessionIdSync: () =>\n Runtime.runSync(runtime)(Ref.get(stateRef)).sessionId,\n })\n );\n\n return { stateRef, layer };\n }\n);\n"],"mappings":";;;;AAQA,MAAM,YAAY,EAChB,YAAY,IAAI,KAAgB,EAAE,WAAW,MAAM,CAAC,EACrD;AAED,MAAa,2BAA2B,OAAO,GAAG,2BAA2B,CAC3E,WAAW,SAAkD;CAC3D,MAAM,UAAU,OAAO,OAAO,SAAS;CACvC,MAAM,WAAW,OAAO,UAAU,MAAM;AAExC,KAAI,SAAS,cAAc,OACzB,QAAO,IAAI,IAAI,UAAU,EAAE,WAAW,QAAQ,WAAW,CAAC;AAY5D,QAAO;EAAE;EAAU,OATL,MAAM,QAClB,aACA,YAAY,GAAG;GACb,cAAc,IAAI,IAAI,SAAS,CAAC,KAAK,OAAO,KAAK,MAAM,EAAE,UAAU,CAAC;GACpE,wBACE,QAAQ,QAAQ,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;GAC/C,CAAC,CACH;EAEyB;EAE7B"}
@@ -1,14 +0,0 @@
1
- import { Config } from "@interfere/types/sdk/config";
2
- import { Runtime } from "@interfere/types/sdk/runtime";
3
-
4
- //#region src/core/runtime/config.d.ts
5
- declare function getRuntime(): Runtime;
6
- declare function initConfig(input: unknown): void;
7
- declare function getConfig(): Config;
8
- interface IngestTarget {
9
- headers: Headers;
10
- url: string;
11
- }
12
- declare function resolveIngestTarget(): IngestTarget;
13
- //#endregion
14
- export { IngestTarget, getConfig, getRuntime, initConfig, resolveIngestTarget };
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.mts","names":[],"sources":["../../../src/core/runtime/config.ts"],"mappings":";;;;iBAKgB,UAAA,CAAA,GAAc,OAAA;AAAA,iBAId,UAAA,CAAW,KAAA;AAAA,iBAMX,SAAA,CAAA,GAAa,MAAA;AAAA,UAQZ,YAAA;EACf,OAAA,EAAS,OAAA;EACT,GAAA;AAAA;AAAA,iBAGc,mBAAA,CAAA,GAAuB,YAAA"}
@@ -1,33 +0,0 @@
1
- import { configSchema } from "@interfere/types/sdk/config";
2
- import { inferRuntime } from "@interfere/types/sdk/runtime";
3
-
4
- //#region src/core/runtime/config.ts
5
- let currentConfig;
6
- function getRuntime() {
7
- return inferRuntime({ nextRuntime: process.env.NEXT_RUNTIME });
8
- }
9
- function initConfig(input) {
10
- currentConfig = {
11
- ...configSchema.parse(input),
12
- runtime: getRuntime()
13
- };
14
- }
15
- function getConfig() {
16
- if (!currentConfig) throw new Error("Config not initialized");
17
- return currentConfig;
18
- }
19
- function resolveIngestTarget() {
20
- const cfg = getConfig();
21
- if ("proxyUrl" in cfg) return {
22
- url: cfg.proxyUrl,
23
- headers: new Headers([["Content-Type", "application/json"]])
24
- };
25
- if ("ingestUrl" in cfg && "surfaceToken" in cfg) return {
26
- url: cfg.ingestUrl,
27
- headers: new Headers([["Content-Type", "application/json"], ["x-interfere-pub-token", cfg.surfaceToken]])
28
- };
29
- throw new Error("Invalid SDK config: must provide proxyUrl or (ingestUrl + surfaceToken)");
30
- }
31
-
32
- //#endregion
33
- export { getConfig, getRuntime, initConfig, resolveIngestTarget };
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.mjs","names":[],"sources":["../../../src/core/runtime/config.ts"],"sourcesContent":["import { type Config, configSchema } from \"@interfere/types/sdk/config\";\nimport { inferRuntime, type Runtime } from \"@interfere/types/sdk/runtime\";\n\nlet currentConfig: (Config & { runtime: Runtime }) | undefined;\n\nexport function getRuntime(): Runtime {\n return inferRuntime({ nextRuntime: process.env.NEXT_RUNTIME });\n}\n\nexport function initConfig(input: unknown) {\n const parsed = configSchema.parse(input);\n\n currentConfig = { ...parsed, runtime: getRuntime() };\n}\n\nexport function getConfig(): Config {\n if (!currentConfig) {\n throw new Error(\"Config not initialized\");\n }\n\n return currentConfig;\n}\n\nexport interface IngestTarget {\n headers: Headers;\n url: string;\n}\n\nexport function resolveIngestTarget(): IngestTarget {\n const cfg = getConfig();\n\n if (\"proxyUrl\" in cfg) {\n return {\n url: cfg.proxyUrl,\n headers: new Headers([[\"Content-Type\", \"application/json\"]]),\n };\n }\n\n if (\"ingestUrl\" in cfg && \"surfaceToken\" in cfg) {\n return {\n url: cfg.ingestUrl,\n headers: new Headers([\n [\"Content-Type\", \"application/json\"],\n [\"x-interfere-pub-token\", cfg.surfaceToken],\n ]),\n };\n }\n\n throw new Error(\n \"Invalid SDK config: must provide proxyUrl or (ingestUrl + surfaceToken)\"\n );\n}\n"],"mappings":";;;;AAGA,IAAI;AAEJ,SAAgB,aAAsB;AACpC,QAAO,aAAa,EAAE,aAAa,QAAQ,IAAI,cAAc,CAAC;;AAGhE,SAAgB,WAAW,OAAgB;AAGzC,iBAAgB;EAAE,GAFH,aAAa,MAAM,MAAM;EAEX,SAAS,YAAY;EAAE;;AAGtD,SAAgB,YAAoB;AAClC,KAAI,CAAC,cACH,OAAM,IAAI,MAAM,yBAAyB;AAG3C,QAAO;;AAQT,SAAgB,sBAAoC;CAClD,MAAM,MAAM,WAAW;AAEvB,KAAI,cAAc,IAChB,QAAO;EACL,KAAK,IAAI;EACT,SAAS,IAAI,QAAQ,CAAC,CAAC,gBAAgB,mBAAmB,CAAC,CAAC;EAC7D;AAGH,KAAI,eAAe,OAAO,kBAAkB,IAC1C,QAAO;EACL,KAAK,IAAI;EACT,SAAS,IAAI,QAAQ,CACnB,CAAC,gBAAgB,mBAAmB,EACpC,CAAC,yBAAyB,IAAI,aAAa,CAC5C,CAAC;EACH;AAGH,OAAM,IAAI,MACR,0EACD"}
@@ -1,50 +0,0 @@
1
- import { Effect } from "effect";
2
- import * as _ua_parser_js_pro_enterprise0 from "@ua-parser-js/pro-enterprise";
3
- import { IResult } from "@ua-parser-js/pro-enterprise";
4
-
5
- //#region src/core/runtime/context.d.ts
6
- interface ScreenProperties {
7
- screen: {
8
- screen_height: number;
9
- screen_width: number;
10
- };
11
- viewport: {
12
- viewport_width: number;
13
- viewport_height: number;
14
- };
15
- }
16
- interface CaptureSourceProperties {
17
- sdk: {
18
- name: string;
19
- version: string;
20
- language: string;
21
- };
22
- }
23
- type ContextProperties = ScreenProperties & CaptureSourceProperties & IResult & Record<string, unknown>;
24
- declare const getContextProperties: () => Effect.Effect<{
25
- sdk: {
26
- name: string;
27
- version: string;
28
- language: string;
29
- };
30
- screen: {
31
- screen_height: number;
32
- screen_width: number;
33
- };
34
- viewport: {
35
- viewport_width: number;
36
- viewport_height: number;
37
- };
38
- browser: _ua_parser_js_pro_enterprise0.IBrowser;
39
- ua: string;
40
- cpu: _ua_parser_js_pro_enterprise0.ICPU;
41
- device: _ua_parser_js_pro_enterprise0.IDevice;
42
- engine: _ua_parser_js_pro_enterprise0.IEngine;
43
- os: _ua_parser_js_pro_enterprise0.IOS;
44
- is(val: string): boolean;
45
- toString(): string;
46
- withClientHints(): IResult | PromiseLike<IResult>;
47
- withFeatureCheck(): IResult | PromiseLike<IResult>;
48
- }, never, never>;
49
- //#endregion
50
- export { ContextProperties, getContextProperties };
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.mts","names":[],"sources":["../../../src/core/runtime/context.ts"],"mappings":";;;;;UAKU,gBAAA;EACR,MAAA;IACE,aAAA;IACA,YAAA;EAAA;EAEF,QAAA;IACE,cAAA;IACA,eAAA;EAAA;AAAA;AAAA,UAIM,uBAAA;EACR,GAAA;IACE,IAAA;IACA,OAAA;IACA,QAAA;EAAA;AAAA;AAAA,KAIQ,iBAAA,GAAoB,gBAAA,GAC9B,uBAAA,GACA,OAAA,GACA,MAAA;AAAA,cAEW,oBAAA,QAAoB,MAAA,CAAA,MAAA;;IAX7B,IAAA;IACA,OAAA;IACA,QAAA;EAAA;;IAbA,aAAA;IACA,YAAA;EAAA;;IAGA,cAAA;IACA,eAAA;EAAA;WA8CH,6BAAA,CAAA,QAAA"}
@@ -1,46 +0,0 @@
1
- import package_default from "../../package.mjs";
2
- import { Effect } from "effect";
3
- import { UAParser } from "@ua-parser-js/pro-enterprise";
4
-
5
- //#region src/core/runtime/context.ts
6
- const getContextProperties = Effect.fn("getContextProperties")(function* () {
7
- if (typeof window === "undefined") throw new Error("getContextProperties can only be called in the browser environment");
8
- const userAgent = window.navigator.userAgent;
9
- const parser = UAParser(userAgent);
10
- const result = yield* Effect.sync(() => parser.withClientHints());
11
- const browser = yield* Effect.sync(() => {
12
- if (!result.browser) return null;
13
- return result.browser.withFeatureCheck();
14
- });
15
- return {
16
- ...result,
17
- ...browser ? { browser } : {},
18
- ...getScreenProperties(),
19
- ...getCaptureSourceProperties()
20
- };
21
- });
22
- function getScreenProperties() {
23
- if (typeof window === "undefined") throw new Error("getScreenProperties can only be called in the browser environment");
24
- return {
25
- viewport: {
26
- viewport_width: window.innerWidth,
27
- viewport_height: window.innerHeight
28
- },
29
- screen: {
30
- screen_height: window.screen.height,
31
- screen_width: window.screen.width
32
- }
33
- };
34
- }
35
- function getCaptureSourceProperties() {
36
- if (typeof window === "undefined") throw new Error("getCaptureSourceProperties can only be called in the browser environment");
37
- const { name, version } = package_default;
38
- return { sdk: {
39
- name,
40
- version,
41
- language: "javascript"
42
- } };
43
- }
44
-
45
- //#endregion
46
- export { getContextProperties };
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.mjs","names":["packageJson"],"sources":["../../../src/core/runtime/context.ts"],"sourcesContent":["import { type IResult, UAParser } from \"@ua-parser-js/pro-enterprise\";\nimport { Effect } from \"effect\";\n\nimport packageJson from \"../../../package.json\" with { type: \"json\" };\n\ninterface ScreenProperties {\n screen: {\n screen_height: number;\n screen_width: number;\n };\n viewport: {\n viewport_width: number;\n viewport_height: number;\n };\n}\n\ninterface CaptureSourceProperties {\n sdk: {\n name: string;\n version: string;\n language: string;\n };\n}\n\nexport type ContextProperties = ScreenProperties &\n CaptureSourceProperties &\n IResult &\n Record<string, unknown>;\n\nexport const getContextProperties = Effect.fn(\"getContextProperties\")(\n function* () {\n if (typeof window === \"undefined\") {\n throw new Error(\n \"getContextProperties can only be called in the browser environment\"\n );\n }\n\n const userAgent = window.navigator.userAgent;\n const parser = UAParser(userAgent);\n\n const result = (yield* Effect.sync(() =>\n parser.withClientHints()\n )) as IResult;\n\n const browser = (yield* Effect.sync(() => {\n if (!result.browser) {\n return null;\n }\n return result.browser.withFeatureCheck();\n })) as IResult[\"browser\"] | null;\n\n return {\n ...result,\n ...(browser ? { browser } : {}),\n ...getScreenProperties(),\n ...getCaptureSourceProperties(),\n } satisfies ContextProperties;\n }\n);\n\nfunction getScreenProperties(): ScreenProperties {\n if (typeof window === \"undefined\") {\n throw new Error(\n \"getScreenProperties can only be called in the browser environment\"\n );\n }\n\n return {\n viewport: {\n viewport_width: window.innerWidth,\n viewport_height: window.innerHeight,\n },\n screen: {\n screen_height: window.screen.height,\n screen_width: window.screen.width,\n },\n };\n}\n\nfunction getCaptureSourceProperties(): CaptureSourceProperties {\n if (typeof window === \"undefined\") {\n throw new Error(\n \"getCaptureSourceProperties can only be called in the browser environment\"\n );\n }\n\n const { name, version } = packageJson;\n\n return {\n sdk: {\n name,\n version,\n language: \"javascript\",\n },\n };\n}\n"],"mappings":";;;;;AA6BA,MAAa,uBAAuB,OAAO,GAAG,uBAAuB,CACnE,aAAa;AACX,KAAI,OAAO,WAAW,YACpB,OAAM,IAAI,MACR,qEACD;CAGH,MAAM,YAAY,OAAO,UAAU;CACnC,MAAM,SAAS,SAAS,UAAU;CAElC,MAAM,SAAU,OAAO,OAAO,WAC5B,OAAO,iBAAiB,CACzB;CAED,MAAM,UAAW,OAAO,OAAO,WAAW;AACxC,MAAI,CAAC,OAAO,QACV,QAAO;AAET,SAAO,OAAO,QAAQ,kBAAkB;GACxC;AAEF,QAAO;EACL,GAAG;EACH,GAAI,UAAU,EAAE,SAAS,GAAG,EAAE;EAC9B,GAAG,qBAAqB;EACxB,GAAG,4BAA4B;EAChC;EAEJ;AAED,SAAS,sBAAwC;AAC/C,KAAI,OAAO,WAAW,YACpB,OAAM,IAAI,MACR,oEACD;AAGH,QAAO;EACL,UAAU;GACR,gBAAgB,OAAO;GACvB,iBAAiB,OAAO;GACzB;EACD,QAAQ;GACN,eAAe,OAAO,OAAO;GAC7B,cAAc,OAAO,OAAO;GAC7B;EACF;;AAGH,SAAS,6BAAsD;AAC7D,KAAI,OAAO,WAAW,YACpB,OAAM,IAAI,MACR,2EACD;CAGH,MAAM,EAAE,MAAM,YAAYA;AAE1B,QAAO,EACL,KAAK;EACH;EACA;EACA,UAAU;EACX,EACF"}
@@ -1,10 +0,0 @@
1
- import { Config } from "@interfere/types/sdk/config";
2
-
3
- //#region src/core/runtime/ingest-target.d.ts
4
- interface IngestTarget {
5
- headers: Headers;
6
- url: string;
7
- }
8
- declare function deriveIngestTarget(config: Config): IngestTarget;
9
- //#endregion
10
- export { IngestTarget, deriveIngestTarget };
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest-target.d.mts","names":[],"sources":["../../../src/core/runtime/ingest-target.ts"],"mappings":";;;UAEiB,YAAA;EACf,OAAA,EAAS,OAAA;EACT,GAAA;AAAA;AAAA,iBAGc,kBAAA,CAAmB,MAAA,EAAQ,MAAA,GAAS,YAAA"}
@@ -1,15 +0,0 @@
1
- //#region src/core/runtime/ingest-target.ts
2
- function deriveIngestTarget(config) {
3
- if ("proxyUrl" in config) return {
4
- url: config.proxyUrl,
5
- headers: new Headers([["Content-Type", "application/json"]])
6
- };
7
- if ("ingestUrl" in config && "surfaceToken" in config) return {
8
- url: config.ingestUrl,
9
- headers: new Headers([["Content-Type", "application/json"], ["x-interfere-pub-token", config.surfaceToken]])
10
- };
11
- throw new Error("Invalid SDK config: must provide proxyUrl or (ingestUrl + surfaceToken)");
12
- }
13
-
14
- //#endregion
15
- export { deriveIngestTarget };
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest-target.mjs","names":[],"sources":["../../../src/core/runtime/ingest-target.ts"],"sourcesContent":["import type { Config } from \"@interfere/types/sdk/config\";\n\nexport interface IngestTarget {\n headers: Headers;\n url: string;\n}\n\nexport function deriveIngestTarget(config: Config): IngestTarget {\n if (\"proxyUrl\" in config) {\n return {\n url: config.proxyUrl,\n headers: new Headers([[\"Content-Type\", \"application/json\"]]),\n };\n }\n\n if (\"ingestUrl\" in config && \"surfaceToken\" in config) {\n return {\n url: config.ingestUrl,\n headers: new Headers([\n [\"Content-Type\", \"application/json\"],\n [\"x-interfere-pub-token\", config.surfaceToken],\n ]),\n };\n }\n\n throw new Error(\n \"Invalid SDK config: must provide proxyUrl or (ingestUrl + surfaceToken)\"\n );\n}\n"],"mappings":";AAOA,SAAgB,mBAAmB,QAA8B;AAC/D,KAAI,cAAc,OAChB,QAAO;EACL,KAAK,OAAO;EACZ,SAAS,IAAI,QAAQ,CAAC,CAAC,gBAAgB,mBAAmB,CAAC,CAAC;EAC7D;AAGH,KAAI,eAAe,UAAU,kBAAkB,OAC7C,QAAO;EACL,KAAK,OAAO;EACZ,SAAS,IAAI,QAAQ,CACnB,CAAC,gBAAgB,mBAAmB,EACpC,CAAC,yBAAyB,OAAO,aAAa,CAC/C,CAAC;EACH;AAGH,OAAM,IAAI,MACR,0EACD"}
@@ -1,32 +0,0 @@
1
- //#region src/core/runtime/native-fetch.d.ts
2
- /**
3
- * Native Fetch Store
4
- *
5
- * Captures the pristine `fetch` API before any plugins patch it.
6
- * This prevents infinite loops when the SDK's own requests fail:
7
- *
8
- * 1. Errors plugin patches window.fetch to capture failed requests
9
- * 2. If SDK uses patched fetch and it fails → captured as error → tries to send → loop
10
- * 3. By using native fetch for SDK requests, we avoid this recursion
11
- *
12
- * This module MUST be imported early, before any plugins initialize.
13
- *
14
- * @see https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
15
- */
16
- declare const nativeFetch: typeof fetch;
17
- /**
18
- * Symbol used to mark SDK-internal errors.
19
- * When an error has this property set to true, the errors plugin should NOT
20
- * capture it to avoid infinite recursion.
21
- */
22
- declare const INTERFERE_INTERNAL_SYMBOL: unique symbol;
23
- /**
24
- * Checks if an error is marked as an SDK-internal error.
25
- */
26
- declare function isInterfereInternalError(error: unknown): boolean;
27
- /**
28
- * Marks an error as SDK-internal to prevent recursive capture.
29
- */
30
- declare function markAsInterfereInternal<T extends Error>(error: T): T;
31
- //#endregion
32
- export { INTERFERE_INTERNAL_SYMBOL, isInterfereInternalError, markAsInterfereInternal, nativeFetch };
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-fetch.d.mts","names":[],"sources":["../../../src/core/runtime/native-fetch.ts"],"mappings":";;AAkCA;;;;;AAOA;;;;;AAKA;;;cAZa,WAAA,SAAW,KAAA;;AAwBxB;;;;cAjBa,yBAAA;;;;iBAKG,wBAAA,CAAyB,KAAA;;;;iBAYzB,uBAAA,WAAkC,KAAA,CAAA,CAAO,KAAA,EAAO,CAAA,GAAI,CAAA"}
@@ -1,49 +0,0 @@
1
- //#region src/core/runtime/native-fetch.ts
2
- /**
3
- * Native Fetch Store
4
- *
5
- * Captures the pristine `fetch` API before any plugins patch it.
6
- * This prevents infinite loops when the SDK's own requests fail:
7
- *
8
- * 1. Errors plugin patches window.fetch to capture failed requests
9
- * 2. If SDK uses patched fetch and it fails → captured as error → tries to send → loop
10
- * 3. By using native fetch for SDK requests, we avoid this recursion
11
- *
12
- * This module MUST be imported early, before any plugins initialize.
13
- *
14
- * @see https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
15
- */
16
- /**
17
- * The pristine, un-patched fetch function.
18
- * Captured at module load time, before any plugins can patch window.fetch.
19
- */
20
- function getPristineFetch() {
21
- if (typeof window !== "undefined") return window.fetch.bind(window);
22
- if (typeof globalThis.fetch === "function") return globalThis.fetch.bind(globalThis);
23
- return (() => {
24
- throw new Error("fetch is not available in this environment");
25
- });
26
- }
27
- const nativeFetch = getPristineFetch();
28
- /**
29
- * Symbol used to mark SDK-internal errors.
30
- * When an error has this property set to true, the errors plugin should NOT
31
- * capture it to avoid infinite recursion.
32
- */
33
- const INTERFERE_INTERNAL_SYMBOL = Symbol.for("__interfere__");
34
- /**
35
- * Checks if an error is marked as an SDK-internal error.
36
- */
37
- function isInterfereInternalError(error) {
38
- return error !== null && typeof error === "object" && INTERFERE_INTERNAL_SYMBOL in error && error[INTERFERE_INTERNAL_SYMBOL] === true;
39
- }
40
- /**
41
- * Marks an error as SDK-internal to prevent recursive capture.
42
- */
43
- function markAsInterfereInternal(error) {
44
- error[INTERFERE_INTERNAL_SYMBOL] = true;
45
- return error;
46
- }
47
-
48
- //#endregion
49
- export { INTERFERE_INTERNAL_SYMBOL, isInterfereInternalError, markAsInterfereInternal, nativeFetch };
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-fetch.mjs","names":[],"sources":["../../../src/core/runtime/native-fetch.ts"],"sourcesContent":["/**\n * Native Fetch Store\n *\n * Captures the pristine `fetch` API before any plugins patch it.\n * This prevents infinite loops when the SDK's own requests fail:\n *\n * 1. Errors plugin patches window.fetch to capture failed requests\n * 2. If SDK uses patched fetch and it fails → captured as error → tries to send → loop\n * 3. By using native fetch for SDK requests, we avoid this recursion\n *\n * This module MUST be imported early, before any plugins initialize.\n *\n * @see https://fetch.spec.whatwg.org/#http-network-or-cache-fetch\n */\n\n/**\n * The pristine, un-patched fetch function.\n * Captured at module load time, before any plugins can patch window.fetch.\n */\nfunction getPristineFetch(): typeof globalThis.fetch {\n if (typeof window !== \"undefined\") {\n return window.fetch.bind(window);\n }\n\n if (typeof globalThis.fetch === \"function\") {\n return globalThis.fetch.bind(globalThis);\n }\n\n // Fallback for environments without fetch (will fail at runtime if used)\n return (() => {\n throw new Error(\"fetch is not available in this environment\");\n }) as typeof globalThis.fetch;\n}\n\nexport const nativeFetch = getPristineFetch();\n\n/**\n * Symbol used to mark SDK-internal errors.\n * When an error has this property set to true, the errors plugin should NOT\n * capture it to avoid infinite recursion.\n */\nexport const INTERFERE_INTERNAL_SYMBOL = Symbol.for(\"__interfere__\");\n\n/**\n * Checks if an error is marked as an SDK-internal error.\n */\nexport function isInterfereInternalError(error: unknown): boolean {\n return (\n error !== null &&\n typeof error === \"object\" &&\n INTERFERE_INTERNAL_SYMBOL in error &&\n (error as Record<symbol, unknown>)[INTERFERE_INTERNAL_SYMBOL] === true\n );\n}\n\n/**\n * Marks an error as SDK-internal to prevent recursive capture.\n */\nexport function markAsInterfereInternal<T extends Error>(error: T): T {\n (error as T & { [INTERFERE_INTERNAL_SYMBOL]: boolean })[\n INTERFERE_INTERNAL_SYMBOL\n ] = true;\n return error;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,SAAS,mBAA4C;AACnD,KAAI,OAAO,WAAW,YACpB,QAAO,OAAO,MAAM,KAAK,OAAO;AAGlC,KAAI,OAAO,WAAW,UAAU,WAC9B,QAAO,WAAW,MAAM,KAAK,WAAW;AAI1C,eAAc;AACZ,QAAM,IAAI,MAAM,6CAA6C;;;AAIjE,MAAa,cAAc,kBAAkB;;;;;;AAO7C,MAAa,4BAA4B,OAAO,IAAI,gBAAgB;;;;AAKpE,SAAgB,yBAAyB,OAAyB;AAChE,QACE,UAAU,QACV,OAAO,UAAU,YACjB,6BAA6B,SAC5B,MAAkC,+BAA+B;;;;;AAOtE,SAAgB,wBAAyC,OAAa;AACpE,CAAC,MACC,6BACE;AACJ,QAAO"}
@@ -1,26 +0,0 @@
1
- import { capture } from "../client.mjs";
2
- import { PluginDef } from "./plugins/define-plugin.mjs";
3
- import { ErrorsAPI } from "./plugins/impl/errors/plugin.mjs";
4
- import { ReplayAPI } from "./plugins/impl/replay/plugin.mjs";
5
- import { ServerTracingAPI } from "./plugins/impl/server-tracing/plugin.mjs";
6
- import { Envelope } from "@interfere/types/sdk/envelope";
7
-
8
- //#region src/core/schemas.d.ts
9
- type Plugin = PluginDef<string, unknown>;
10
- interface ProviderContext {
11
- capture: typeof capture;
12
- }
13
- type OptionalPluginApis = Partial<PluginApiMap>;
14
- type InterfereProviderValue = ProviderContext & OptionalPluginApis;
15
- interface KnownPluginApis {
16
- aiSummary: null;
17
- errors: ErrorsAPI;
18
- pageEvents: null;
19
- rageClick: null;
20
- replay: ReplayAPI;
21
- serverTracing: ServerTracingAPI;
22
- }
23
- type PluginApiMap = KnownPluginApis & Record<string, unknown>;
24
- type Sender = (envelopes: Envelope[]) => Promise<void>;
25
- //#endregion
26
- export { InterfereProviderValue, KnownPluginApis, Plugin, PluginApiMap, Sender };
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.mts","names":[],"sources":["../../src/core/schemas.ts"],"mappings":";;;;;;;;KAQY,MAAA,GAAS,SAAA;AAAA,UAGX,eAAA;EACR,OAAA,SAAgB,OAAA;AAAA;AAAA,KAGb,kBAAA,GAAqB,OAAA,CAAQ,YAAA;AAAA,KAEtB,sBAAA,GAAyB,eAAA,GAAkB,kBAAA;AAAA,UAEtC,eAAA;EACf,SAAA;EACA,MAAA,EAAQ,SAAA;EACR,UAAA;EACA,SAAA;EACA,MAAA,EAAQ,SAAA;EACR,aAAA,EAAe,gBAAA;AAAA;AAAA,KAIL,YAAA,GAAe,eAAA,GAAkB,MAAA;AAAA,KAGjC,MAAA,IAAU,SAAA,EAAW,QAAA,OAAe,OAAA"}
@@ -1 +0,0 @@
1
- export { };
@@ -1,22 +0,0 @@
1
- import { Schema } from "effect";
2
-
3
- //#region src/effect/errors.d.ts
4
- declare const HttpError_base: Schema.TaggedErrorClass<HttpError, "HttpError", {
5
- readonly _tag: Schema.tag<"HttpError">;
6
- } & {
7
- status: typeof Schema.Number;
8
- message: typeof Schema.String;
9
- url: Schema.optional<typeof Schema.String>;
10
- body: Schema.optional<typeof Schema.String>;
11
- }>;
12
- declare class HttpError extends HttpError_base {}
13
- declare const ValidationError_base: Schema.TaggedErrorClass<ValidationError, "ValidationError", {
14
- readonly _tag: Schema.tag<"ValidationError">;
15
- } & {
16
- message: typeof Schema.String;
17
- payload: Schema.optional<typeof Schema.Unknown>;
18
- issues: Schema.optional<typeof Schema.Unknown>;
19
- }>;
20
- declare class ValidationError extends ValidationError_base {}
21
- //#endregion
22
- export { HttpError, ValidationError };
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.mts","names":[],"sources":["../../src/effect/errors.ts"],"mappings":";;;cAAgC,cAAA;;;;;;;;cAEnB,SAAA,SAAkB,cAAA;AAAA,cAK1B,oBAAA;;;;;;;cAEQ,eAAA,SAAwB,oBAAA"}
@@ -1,17 +0,0 @@
1
- import { Schema } from "effect";
2
-
3
- //#region src/effect/errors.ts
4
- var HttpError = class extends Schema.TaggedError()("HttpError", {
5
- status: Schema.Number,
6
- message: Schema.String,
7
- url: Schema.optional(Schema.String),
8
- body: Schema.optional(Schema.String)
9
- }) {};
10
- var ValidationError = class extends Schema.TaggedError()("ValidationError", {
11
- message: Schema.String,
12
- payload: Schema.optional(Schema.Unknown),
13
- issues: Schema.optional(Schema.Unknown)
14
- }) {};
15
-
16
- //#endregion
17
- export { HttpError, ValidationError };
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.mjs","names":[],"sources":["../../src/effect/errors.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nexport class HttpError extends Schema.TaggedError<HttpError>()(\"HttpError\", {\n status: Schema.Number,\n message: Schema.String,\n url: Schema.optional(Schema.String),\n body: Schema.optional(Schema.String),\n}) {}\n\nexport class ValidationError extends Schema.TaggedError<ValidationError>()(\n \"ValidationError\",\n {\n message: Schema.String,\n payload: Schema.optional(Schema.Unknown),\n issues: Schema.optional(Schema.Unknown),\n }\n) {}\n"],"mappings":";;;AAEA,IAAa,YAAb,cAA+B,OAAO,aAAwB,CAAC,aAAa;CAC1E,QAAQ,OAAO;CACf,SAAS,OAAO;CAChB,KAAK,OAAO,SAAS,OAAO,OAAO;CACnC,MAAM,OAAO,SAAS,OAAO,OAAO;CACrC,CAAC,CAAC;AAEH,IAAa,kBAAb,cAAqC,OAAO,aAA8B,CACxE,mBACA;CACE,SAAS,OAAO;CAChB,SAAS,OAAO,SAAS,OAAO,QAAQ;CACxC,QAAQ,OAAO,SAAS,OAAO,QAAQ;CACxC,CACF,CAAC"}
@@ -1,9 +0,0 @@
1
- import { Context, Layer } from "effect";
2
- import { CircuitBreaker } from "@interfere/effect-utils/circuit-breaker";
3
-
4
- //#region src/effect/layers/circuit-breaker.layer.d.ts
5
- declare const CircuitBreakerTag_base: Context.TagClass<CircuitBreakerTag, "@interfere/react/CircuitBreaker", CircuitBreaker>;
6
- declare class CircuitBreakerTag extends CircuitBreakerTag_base {}
7
- declare const CircuitBreakerLive: Layer.Layer<CircuitBreakerTag, never, never>;
8
- //#endregion
9
- export { CircuitBreakerLive, CircuitBreakerTag };
@@ -1 +0,0 @@
1
- {"version":3,"file":"circuit-breaker.layer.d.mts","names":[],"sources":["../../../src/effect/layers/circuit-breaker.layer.ts"],"mappings":";;;;cAMwC,sBAAA;cAE3B,iBAAA,SAA0B,sBAAA;AAAA,cAI1B,kBAAA,EAAkB,KAAA,CAAA,KAAA,CAAA,iBAAA"}
@@ -1,9 +0,0 @@
1
- import { Context, Layer } from "effect";
2
- import { DEFAULT_CIRCUIT_BREAKER_CONFIG, createCircuitBreaker } from "@interfere/effect-utils/circuit-breaker";
3
-
4
- //#region src/effect/layers/circuit-breaker.layer.ts
5
- var CircuitBreakerTag = class extends Context.Tag("@interfere/react/CircuitBreaker")() {};
6
- const CircuitBreakerLive = Layer.scoped(CircuitBreakerTag, createCircuitBreaker(DEFAULT_CIRCUIT_BREAKER_CONFIG));
7
-
8
- //#endregion
9
- export { CircuitBreakerLive, CircuitBreakerTag };
@@ -1 +0,0 @@
1
- {"version":3,"file":"circuit-breaker.layer.mjs","names":[],"sources":["../../../src/effect/layers/circuit-breaker.layer.ts"],"sourcesContent":["import {\n type CircuitBreaker,\n createCircuitBreaker,\n DEFAULT_CIRCUIT_BREAKER_CONFIG,\n} from \"@interfere/effect-utils/circuit-breaker\";\n\nimport { Context, Layer } from \"effect\";\n\nexport class CircuitBreakerTag extends Context.Tag(\n \"@interfere/react/CircuitBreaker\"\n)<CircuitBreakerTag, CircuitBreaker>() {}\n\nexport const CircuitBreakerLive = Layer.scoped(\n CircuitBreakerTag,\n createCircuitBreaker(DEFAULT_CIRCUIT_BREAKER_CONFIG)\n);\n"],"mappings":";;;;AAQA,IAAa,oBAAb,cAAuC,QAAQ,IAC7C,kCACD,EAAqC,CAAC;AAEvC,MAAa,qBAAqB,MAAM,OACtC,mBACA,qBAAqB,+BAA+B,CACrD"}
@@ -1,18 +0,0 @@
1
- import { CircuitBreakerTag } from "./circuit-breaker.layer.mjs";
2
- import { Effect, Layer, Ref } from "effect";
3
- import { CircuitBreakerState } from "@interfere/effect-utils/circuit-breaker";
4
-
5
- //#region src/effect/layers/circuit-breaker.layer.test-layer.d.ts
6
- interface TestState {
7
- readonly mode: CircuitBreakerState;
8
- }
9
- declare const TestState: {
10
- readonly make: () => Effect.Effect<Ref.Ref<TestState>, never, never>;
11
- };
12
- declare const makeCircuitBreakerTestLayer: () => Effect.Effect<{
13
- layer: Layer.Layer<CircuitBreakerTag, never, never>;
14
- stateRef: Ref.Ref<TestState>;
15
- setMode: (mode: CircuitBreakerState) => Effect.Effect<void, never, never>;
16
- }, never, never>;
17
- //#endregion
18
- export { makeCircuitBreakerTestLayer };
@@ -1 +0,0 @@
1
- {"version":3,"file":"circuit-breaker.layer.test-layer.d.mts","names":[],"sources":["../../../src/effect/layers/circuit-breaker.layer.test-layer.ts"],"mappings":";;;;;UAaU,SAAA;EAAA,SACC,IAAA,EAAM,mBAAA;AAAA;AAAA,cAGX,SAAA;EAAA;;cAMO,2BAAA,QAA2B,MAAA,CAAA,MAAA"}
@@ -1,43 +0,0 @@
1
- import { CircuitBreakerTag } from "./circuit-breaker.layer.mjs";
2
- import { Clock, Effect, Layer, Ref } from "effect";
3
- import { CircuitBreakerOpen } from "@interfere/effect-utils/circuit-breaker";
4
-
5
- //#region src/effect/layers/circuit-breaker.layer.test-layer.ts
6
- const TestState = { make: () => Ref.make({ mode: "closed" }) };
7
- const BREAKER_LAST_FAILURE_OFFSET = 100;
8
- const makeCircuitBreakerTestLayer = Effect.fn("makeCircuitBreakerTestLayer")(function* () {
9
- const stateRef = yield* TestState.make();
10
- const now = yield* Clock.currentTimeMillis;
11
- const breakerData = yield* Ref.make({
12
- state: "closed",
13
- consecutiveFailures: 0,
14
- consecutiveSuccesses: 0,
15
- lastFailureTime: now - BREAKER_LAST_FAILURE_OFFSET,
16
- halfOpenTestCount: 0
17
- });
18
- const protect = (eff) => Effect.gen(function* () {
19
- if ((yield* Ref.get(stateRef)).mode === "open") return yield* new CircuitBreakerOpen({ message: "open" });
20
- return yield* eff;
21
- });
22
- const service = {
23
- protect,
24
- getState: Ref.get(stateRef).pipe(Effect.map((s) => s.mode)),
25
- breakerData
26
- };
27
- return {
28
- layer: Layer.succeed(CircuitBreakerTag, service),
29
- stateRef,
30
- setMode: Effect.fn("CircuitBreakerTest.setMode")((mode) => Effect.gen(function* () {
31
- const now = yield* Clock.currentTimeMillis;
32
- yield* Ref.set(stateRef, { mode });
33
- yield* Ref.update(breakerData, (d) => ({
34
- ...d,
35
- state: mode,
36
- lastFailureTime: mode === "open" ? now : d.lastFailureTime
37
- }));
38
- }))
39
- };
40
- });
41
-
42
- //#endregion
43
- export { makeCircuitBreakerTestLayer };
@@ -1 +0,0 @@
1
- {"version":3,"file":"circuit-breaker.layer.test-layer.mjs","names":[],"sources":["../../../src/effect/layers/circuit-breaker.layer.test-layer.ts"],"sourcesContent":["import {\n type CircuitBreaker,\n CircuitBreakerOpen,\n type CircuitBreakerState,\n} from \"@interfere/effect-utils/circuit-breaker\";\n\nimport { Clock, Effect, Layer, Ref } from \"effect\";\n\nimport { CircuitBreakerTag } from \"./circuit-breaker.layer.js\";\n\ntype CircuitBreakerData =\n CircuitBreaker[\"breakerData\"] extends Ref.Ref<infer A> ? A : never;\n\ninterface TestState {\n readonly mode: CircuitBreakerState;\n}\n\nconst TestState = {\n make: () => Ref.make<TestState>({ mode: \"closed\" }),\n} as const;\n\nconst BREAKER_LAST_FAILURE_OFFSET = 100;\n\nexport const makeCircuitBreakerTestLayer = Effect.fn(\n \"makeCircuitBreakerTestLayer\"\n)(function* () {\n const stateRef = yield* TestState.make();\n const now = yield* Clock.currentTimeMillis;\n\n const breakerData = yield* Ref.make<CircuitBreakerData>({\n state: \"closed\",\n consecutiveFailures: 0,\n consecutiveSuccesses: 0,\n lastFailureTime: now - BREAKER_LAST_FAILURE_OFFSET,\n halfOpenTestCount: 0,\n });\n\n const protect: CircuitBreaker[\"protect\"] = (eff) =>\n Effect.gen(function* () {\n const s = yield* Ref.get(stateRef);\n if (s.mode === \"open\") {\n return yield* new CircuitBreakerOpen({ message: \"open\" });\n }\n\n return yield* eff;\n });\n\n const getState: CircuitBreaker[\"getState\"] = Ref.get(stateRef).pipe(\n Effect.map((s) => s.mode)\n );\n\n const service: CircuitBreaker = { protect, getState, breakerData };\n const layer = Layer.succeed(CircuitBreakerTag, service);\n\n return {\n layer,\n stateRef,\n setMode: Effect.fn(\"CircuitBreakerTest.setMode\")(\n (mode: TestState[\"mode\"]) =>\n Effect.gen(function* () {\n const now = yield* Clock.currentTimeMillis;\n\n yield* Ref.set(stateRef, { mode });\n yield* Ref.update(breakerData, (d) => ({\n ...d,\n state: mode,\n lastFailureTime: mode === \"open\" ? now : d.lastFailureTime,\n }));\n })\n ),\n };\n});\n"],"mappings":";;;;;AAiBA,MAAM,YAAY,EAChB,YAAY,IAAI,KAAgB,EAAE,MAAM,UAAU,CAAC,EACpD;AAED,MAAM,8BAA8B;AAEpC,MAAa,8BAA8B,OAAO,GAChD,8BACD,CAAC,aAAa;CACb,MAAM,WAAW,OAAO,UAAU,MAAM;CACxC,MAAM,MAAM,OAAO,MAAM;CAEzB,MAAM,cAAc,OAAO,IAAI,KAAyB;EACtD,OAAO;EACP,qBAAqB;EACrB,sBAAsB;EACtB,iBAAiB,MAAM;EACvB,mBAAmB;EACpB,CAAC;CAEF,MAAM,WAAsC,QAC1C,OAAO,IAAI,aAAa;AAEtB,OADU,OAAO,IAAI,IAAI,SAAS,EAC5B,SAAS,OACb,QAAO,OAAO,IAAI,mBAAmB,EAAE,SAAS,QAAQ,CAAC;AAG3D,SAAO,OAAO;GACd;CAMJ,MAAM,UAA0B;EAAE;EAAS,UAJE,IAAI,IAAI,SAAS,CAAC,KAC7D,OAAO,KAAK,MAAM,EAAE,KAAK,CAC1B;EAEoD;EAAa;AAGlE,QAAO;EACL,OAHY,MAAM,QAAQ,mBAAmB,QAAQ;EAIrD;EACA,SAAS,OAAO,GAAG,6BAA6B,EAC7C,SACC,OAAO,IAAI,aAAa;GACtB,MAAM,MAAM,OAAO,MAAM;AAEzB,UAAO,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC;AAClC,UAAO,IAAI,OAAO,cAAc,OAAO;IACrC,GAAG;IACH,OAAO;IACP,iBAAiB,SAAS,SAAS,MAAM,EAAE;IAC5C,EAAE;IACH,CACL;EACF;EACD"}
@@ -1,13 +0,0 @@
1
- import { Config } from "@interfere/types/sdk/config";
2
- import { Runtime } from "@interfere/types/sdk/runtime";
3
-
4
- //#region src/effect/layers/config.layer.d.ts
5
- type SdkConfig = Config & {
6
- runtime: Runtime;
7
- };
8
- interface ConfigService {
9
- get: () => SdkConfig;
10
- }
11
- declare function createConfigService(input: unknown): ConfigService;
12
- //#endregion
13
- export { ConfigService, SdkConfig, createConfigService };
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.layer.d.mts","names":[],"sources":["../../../src/effect/layers/config.layer.ts"],"mappings":";;;;KAMY,SAAA,GAAY,MAAA;EAAW,OAAA,EAAS,OAAA;AAAA;AAAA,UAE3B,aAAA;EACf,GAAA,QAAW,SAAA;AAAA;AAAA,iBAQG,mBAAA,CAAoB,KAAA,YAAiB,aAAA"}
@@ -1,21 +0,0 @@
1
- import { getRuntime } from "../../core/runtime/config.mjs";
2
- import { configSchema } from "@interfere/types/sdk/config";
3
-
4
- //#region src/effect/layers/config.layer.ts
5
- const MAX_BATCH_SIZE = 1e3;
6
- const MIN_BATCH_SIZE = 1;
7
- const MAX_BATCH_MS = 6e4;
8
- const MIN_BATCH_MS = 100;
9
- function createConfigService(input) {
10
- const parsed = configSchema.parse(input);
11
- if (parsed.batch.size < MIN_BATCH_SIZE || parsed.batch.size > MAX_BATCH_SIZE) throw new Error(`Invalid batch.size: ${parsed.batch.size}. Must be between ${MIN_BATCH_SIZE} and ${MAX_BATCH_SIZE}`);
12
- if (parsed.batch.ms < MIN_BATCH_MS || parsed.batch.ms > MAX_BATCH_MS) throw new Error(`Invalid batch.ms: ${parsed.batch.ms}. Must be between ${MIN_BATCH_MS}ms and ${MAX_BATCH_MS}ms`);
13
- const current = {
14
- ...parsed,
15
- runtime: getRuntime()
16
- };
17
- return { get: () => current };
18
- }
19
-
20
- //#endregion
21
- export { createConfigService };
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.layer.mjs","names":[],"sources":["../../../src/effect/layers/config.layer.ts"],"sourcesContent":["import type { Config } from \"@interfere/types/sdk/config\";\nimport { configSchema } from \"@interfere/types/sdk/config\";\nimport type { Runtime } from \"@interfere/types/sdk/runtime\";\n\nimport { getRuntime } from \"../../core/runtime/config.js\";\n\nexport type SdkConfig = Config & { runtime: Runtime };\n\nexport interface ConfigService {\n get: () => SdkConfig;\n}\n\nconst MAX_BATCH_SIZE = 1000;\nconst MIN_BATCH_SIZE = 1;\nconst MAX_BATCH_MS = 60_000;\nconst MIN_BATCH_MS = 100;\n\nexport function createConfigService(input: unknown): ConfigService {\n const parsed = configSchema.parse(input) as Required<Config>;\n\n // Validate batch configuration\n if (\n parsed.batch.size < MIN_BATCH_SIZE ||\n parsed.batch.size > MAX_BATCH_SIZE\n ) {\n throw new Error(\n `Invalid batch.size: ${parsed.batch.size}. Must be between ${MIN_BATCH_SIZE} and ${MAX_BATCH_SIZE}`\n );\n }\n\n if (parsed.batch.ms < MIN_BATCH_MS || parsed.batch.ms > MAX_BATCH_MS) {\n throw new Error(\n `Invalid batch.ms: ${parsed.batch.ms}. Must be between ${MIN_BATCH_MS}ms and ${MAX_BATCH_MS}ms`\n );\n }\n\n const current = { ...parsed, runtime: getRuntime() } as Config & {\n runtime: Runtime;\n };\n return {\n get: () => current,\n };\n}\n"],"mappings":";;;;AAYA,MAAM,iBAAiB;AACvB,MAAM,iBAAiB;AACvB,MAAM,eAAe;AACrB,MAAM,eAAe;AAErB,SAAgB,oBAAoB,OAA+B;CACjE,MAAM,SAAS,aAAa,MAAM,MAAM;AAGxC,KACE,OAAO,MAAM,OAAO,kBACpB,OAAO,MAAM,OAAO,eAEpB,OAAM,IAAI,MACR,uBAAuB,OAAO,MAAM,KAAK,oBAAoB,eAAe,OAAO,iBACpF;AAGH,KAAI,OAAO,MAAM,KAAK,gBAAgB,OAAO,MAAM,KAAK,aACtD,OAAM,IAAI,MACR,qBAAqB,OAAO,MAAM,GAAG,oBAAoB,aAAa,SAAS,aAAa,IAC7F;CAGH,MAAM,UAAU;EAAE,GAAG;EAAQ,SAAS,YAAY;EAAE;AAGpD,QAAO,EACL,WAAW,SACZ"}
@@ -1,12 +0,0 @@
1
- import { ContextProperties } from "../../core/runtime/context.mjs";
2
- import { Context, Effect, Layer } from "effect";
3
-
4
- //#region src/effect/layers/context.layer.d.ts
5
- interface ContextService {
6
- readonly getOnce: () => Effect.Effect<ContextProperties>;
7
- }
8
- declare const ContextServiceTag_base: Context.TagClass<ContextServiceTag, "@interfere/react/Context", ContextService>;
9
- declare class ContextServiceTag extends ContextServiceTag_base {}
10
- declare const ContextServiceLive: Layer.Layer<ContextServiceTag, never, never>;
11
- //#endregion
12
- export { ContextService, ContextServiceLive, ContextServiceTag };
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.layer.d.mts","names":[],"sources":["../../../src/effect/layers/context.layer.ts"],"mappings":";;;;UAKiB,cAAA;EAAA,SACN,OAAA,QAAe,MAAA,CAAO,MAAA,CAAO,iBAAA;AAAA;AAAA,cACvC,sBAAA;cAEY,iBAAA,SAA0B,sBAAA;AAAA,cAK1B,kBAAA,EAAkB,KAAA,CAAA,KAAA,CAAA,iBAAA"}
@@ -1,14 +0,0 @@
1
- import { getContextProperties } from "../../core/runtime/context.mjs";
2
- import { Context, Effect, Layer } from "effect";
3
-
4
- //#region src/effect/layers/context.layer.ts
5
- var ContextServiceTag = class extends Context.Tag("@interfere/react/Context")() {};
6
- const ContextServiceLive = Layer.succeed(ContextServiceTag, (() => {
7
- let cached = null;
8
- return { getOnce: () => (cached ? Effect.succeed(cached) : getContextProperties().pipe(Effect.tap((ctx) => Effect.sync(() => {
9
- cached = ctx;
10
- })))).pipe(Effect.withSpan("context.getOnce")) };
11
- })());
12
-
13
- //#endregion
14
- export { ContextServiceLive, ContextServiceTag };
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.layer.mjs","names":[],"sources":["../../../src/effect/layers/context.layer.ts"],"sourcesContent":["import { Context, Effect, Layer } from \"effect\";\n\nimport type { ContextProperties } from \"../../core/runtime/context.js\";\nimport { getContextProperties } from \"../../core/runtime/context.js\";\n\nexport interface ContextService {\n readonly getOnce: () => Effect.Effect<ContextProperties>;\n}\n\nexport class ContextServiceTag extends Context.Tag(\"@interfere/react/Context\")<\n ContextServiceTag,\n ContextService\n>() {}\n\nexport const ContextServiceLive = Layer.succeed(\n ContextServiceTag,\n (() => {\n let cached: ContextProperties | null = null;\n\n return {\n getOnce: () =>\n (cached\n ? Effect.succeed(cached)\n : getContextProperties().pipe(\n Effect.tap((ctx) =>\n Effect.sync(() => {\n cached = ctx;\n })\n )\n )\n ).pipe(Effect.withSpan(\"context.getOnce\")),\n } satisfies ContextService;\n })()\n);\n"],"mappings":";;;;AASA,IAAa,oBAAb,cAAuC,QAAQ,IAAI,2BAA2B,EAG3E,CAAC;AAEJ,MAAa,qBAAqB,MAAM,QACtC,0BACO;CACL,IAAI,SAAmC;AAEvC,QAAO,EACL,gBACG,SACG,OAAO,QAAQ,OAAO,GACtB,sBAAsB,CAAC,KACrB,OAAO,KAAK,QACV,OAAO,WAAW;AAChB,WAAS;GACT,CACH,CACF,EACH,KAAK,OAAO,SAAS,kBAAkB,CAAC,EAC7C;IACC,CACL"}