@slicemachine/manager 0.17.8-beta.5 → 0.17.8

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 (347) hide show
  1. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.cjs +91 -0
  2. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.cjs.map +1 -0
  3. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.js +91 -0
  4. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/config.js.map +1 -0
  5. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.cjs +17 -0
  6. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.cjs.map +1 -0
  7. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.js +17 -0
  8. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/constants.js.map +1 -0
  9. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.cjs +190 -0
  10. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.cjs.map +1 -0
  11. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.js +190 -0
  12. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/core-client.js.map +1 -0
  13. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.cjs +90 -0
  14. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.cjs.map +1 -0
  15. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.js +90 -0
  16. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/identify.js.map +1 -0
  17. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.cjs +64 -0
  18. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.cjs.map +1 -0
  19. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.js +64 -0
  20. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/logger.js.map +1 -0
  21. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.cjs +17 -0
  22. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.cjs.map +1 -0
  23. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.js +17 -0
  24. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/messages.js.map +1 -0
  25. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.cjs +323 -0
  26. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.cjs.map +1 -0
  27. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js +323 -0
  28. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -0
  29. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.cjs +55 -0
  30. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.cjs.map +1 -0
  31. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.js +55 -0
  32. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/revenue.js.map +1 -0
  33. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.cjs +251 -0
  34. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.cjs.map +1 -0
  35. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.js +251 -0
  36. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/timeline.js.map +1 -0
  37. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.cjs +103 -0
  38. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.cjs.map +1 -0
  39. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.js +103 -0
  40. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/transports/base.js.map +1 -0
  41. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.cjs +15 -0
  42. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.cjs.map +1 -0
  43. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.js +15 -0
  44. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/chunk.js.map +1 -0
  45. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.cjs +126 -0
  46. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.cjs.map +1 -0
  47. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js +126 -0
  48. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -0
  49. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.cjs +34 -0
  50. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.cjs.map +1 -0
  51. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.js +34 -0
  52. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/event-builder.js.map +1 -0
  53. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.cjs +14 -0
  54. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.cjs.map +1 -0
  55. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.js +14 -0
  56. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/result-builder.js.map +1 -0
  57. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.cjs +9 -0
  58. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.cjs.map +1 -0
  59. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.js +9 -0
  60. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/return-wrapper.js.map +1 -0
  61. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.cjs +25 -0
  62. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.cjs.map +1 -0
  63. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.js +25 -0
  64. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/uuid.js.map +1 -0
  65. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.cjs +58 -0
  66. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.cjs.map +1 -0
  67. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js +58 -0
  68. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -0
  69. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.cjs +21 -0
  70. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.cjs.map +1 -0
  71. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.js +21 -0
  72. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/config.js.map +1 -0
  73. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.cjs +23 -0
  74. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.cjs.map +1 -0
  75. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.js +24 -0
  76. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/index.js.map +1 -0
  77. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.cjs +81 -0
  78. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.cjs.map +1 -0
  79. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.js +81 -0
  80. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/node-client.js.map +1 -0
  81. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.cjs +37 -0
  82. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.cjs.map +1 -0
  83. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.js +37 -0
  84. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/plugins/context.js.map +1 -0
  85. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.cjs +85 -0
  86. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.cjs.map +1 -0
  87. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js +67 -0
  88. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -0
  89. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.cjs +5 -0
  90. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.cjs.map +1 -0
  91. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.js +5 -0
  92. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/version.js.map +1 -0
  93. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.cjs +30 -0
  94. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.cjs.map +1 -0
  95. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.js +33 -0
  96. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/event.js.map +1 -0
  97. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.cjs +41 -0
  98. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.cjs.map +1 -0
  99. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.js +17 -0
  100. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/index.js.map +1 -0
  101. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.cjs +11 -0
  102. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.cjs.map +1 -0
  103. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.js +12 -0
  104. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/logger.js.map +1 -0
  105. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.cjs +9 -0
  106. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.cjs.map +1 -0
  107. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.js +10 -0
  108. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/plugin.js.map +1 -0
  109. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.cjs +9 -0
  110. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.cjs.map +1 -0
  111. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.js +10 -0
  112. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/server-zone.js.map +1 -0
  113. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.cjs +15 -0
  114. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.cjs.map +1 -0
  115. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.js +16 -0
  116. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/status.js.map +1 -0
  117. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.cjs +9 -0
  118. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.cjs.map +1 -0
  119. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.js +10 -0
  120. package/dist/_node_modules/@amplitude/analytics-types/lib/esm/transport.js.map +1 -0
  121. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.cjs +1247 -0
  122. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.cjs.map +1 -0
  123. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js +1247 -0
  124. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -0
  125. package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.cjs +7 -0
  126. package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.cjs.map +1 -0
  127. package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.js +8 -0
  128. package/dist/_node_modules/@amplitude/experiment-node-server/dist/gen/version.js.map +1 -0
  129. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.cjs +29 -0
  130. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.cjs.map +1 -0
  131. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js +30 -0
  132. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-filter.js.map +1 -0
  133. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.cjs +92 -0
  134. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.cjs.map +1 -0
  135. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js +91 -0
  136. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -0
  137. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.cjs +25 -0
  138. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.cjs.map +1 -0
  139. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js +26 -0
  140. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -0
  141. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.cjs +84 -0
  142. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.cjs.map +1 -0
  143. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js +85 -0
  144. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -0
  145. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.cjs +37 -0
  146. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.cjs.map +1 -0
  147. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.js +38 -0
  148. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/factory.js.map +1 -0
  149. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.cjs +61 -0
  150. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.cjs.map +1 -0
  151. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.js +60 -0
  152. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/index.js.map +1 -0
  153. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.cjs +87 -0
  154. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.cjs.map +1 -0
  155. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js +88 -0
  156. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -0
  157. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs +204 -0
  158. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs.map +1 -0
  159. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js +205 -0
  160. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -0
  161. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.cjs +82 -0
  162. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.cjs.map +1 -0
  163. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js +83 -0
  164. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -0
  165. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.cjs +121 -0
  166. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.cjs.map +1 -0
  167. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js +122 -0
  168. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -0
  169. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.cjs +166 -0
  170. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.cjs.map +1 -0
  171. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js +167 -0
  172. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -0
  173. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.cjs +105 -0
  174. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.cjs.map +1 -0
  175. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js +106 -0
  176. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -0
  177. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.cjs +38 -0
  178. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.cjs.map +1 -0
  179. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.js +39 -0
  180. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/types/config.js.map +1 -0
  181. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.cjs +51 -0
  182. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.cjs.map +1 -0
  183. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js +52 -0
  184. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -0
  185. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.cjs +92 -0
  186. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.cjs.map +1 -0
  187. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.js +93 -0
  188. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/cache.js.map +1 -0
  189. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.cjs +18 -0
  190. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.cjs.map +1 -0
  191. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.js +19 -0
  192. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/hash.js.map +1 -0
  193. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.cjs +20 -0
  194. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.cjs.map +1 -0
  195. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.js +21 -0
  196. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/logger.js.map +1 -0
  197. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.cjs +13 -0
  198. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.cjs.map +1 -0
  199. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.js +14 -0
  200. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/time.js.map +1 -0
  201. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.cjs +44 -0
  202. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.cjs.map +1 -0
  203. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.js +45 -0
  204. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/user.js.map +1 -0
  205. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.cjs +39 -0
  206. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.cjs.map +1 -0
  207. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.js +38 -0
  208. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/variant.js.map +1 -0
  209. package/dist/_node_modules/cross-spawn/index.cjs +1 -1
  210. package/dist/_node_modules/cross-spawn/index.js +1 -1
  211. package/dist/_node_modules/execa/_node_modules/get-stream/index.cjs +1 -1
  212. package/dist/_node_modules/execa/_node_modules/get-stream/index.js +1 -1
  213. package/dist/_node_modules/path-key/index.cjs +1 -1
  214. package/dist/_node_modules/path-key/index.js +1 -1
  215. package/dist/_node_modules/signal-exit/index.cjs +1 -1
  216. package/dist/_node_modules/signal-exit/index.js +1 -1
  217. package/dist/_node_modules/tslib/tslib.es6.cjs +206 -0
  218. package/dist/_node_modules/tslib/tslib.es6.cjs.map +1 -0
  219. package/dist/_node_modules/tslib/tslib.es6.js +207 -0
  220. package/dist/_node_modules/tslib/tslib.es6.js.map +1 -0
  221. package/dist/_virtual/_commonjsHelpers.cjs +30 -0
  222. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
  223. package/dist/_virtual/_commonjsHelpers.js +30 -0
  224. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  225. package/dist/_virtual/assignment-filter.cjs +5 -0
  226. package/dist/_virtual/assignment-filter.cjs.map +1 -0
  227. package/dist/_virtual/assignment-filter.js +5 -0
  228. package/dist/_virtual/assignment-filter.js.map +1 -0
  229. package/dist/_virtual/assignment-service.cjs +5 -0
  230. package/dist/_virtual/assignment-service.cjs.map +1 -0
  231. package/dist/_virtual/assignment-service.js +5 -0
  232. package/dist/_virtual/assignment-service.js.map +1 -0
  233. package/dist/_virtual/assignment.cjs +5 -0
  234. package/dist/_virtual/assignment.cjs.map +1 -0
  235. package/dist/_virtual/assignment.js +5 -0
  236. package/dist/_virtual/assignment.js.map +1 -0
  237. package/dist/_virtual/backoff.cjs +5 -0
  238. package/dist/_virtual/backoff.cjs.map +1 -0
  239. package/dist/_virtual/backoff.js +5 -0
  240. package/dist/_virtual/backoff.js.map +1 -0
  241. package/dist/_virtual/cache.cjs +5 -0
  242. package/dist/_virtual/cache.cjs.map +1 -0
  243. package/dist/_virtual/cache.js +5 -0
  244. package/dist/_virtual/cache.js.map +1 -0
  245. package/dist/_virtual/cache2.cjs +5 -0
  246. package/dist/_virtual/cache2.cjs.map +1 -0
  247. package/dist/_virtual/cache2.js +5 -0
  248. package/dist/_virtual/cache2.js.map +1 -0
  249. package/dist/_virtual/client.cjs +5 -0
  250. package/dist/_virtual/client.cjs.map +1 -0
  251. package/dist/_virtual/client.js +5 -0
  252. package/dist/_virtual/client.js.map +1 -0
  253. package/dist/_virtual/client2.cjs +5 -0
  254. package/dist/_virtual/client2.cjs.map +1 -0
  255. package/dist/_virtual/client2.js +5 -0
  256. package/dist/_virtual/client2.js.map +1 -0
  257. package/dist/_virtual/config.cjs +5 -0
  258. package/dist/_virtual/config.cjs.map +1 -0
  259. package/dist/_virtual/config.js +5 -0
  260. package/dist/_virtual/config.js.map +1 -0
  261. package/dist/_virtual/cookie.cjs +5 -0
  262. package/dist/_virtual/cookie.cjs.map +1 -0
  263. package/dist/_virtual/cookie.js +5 -0
  264. package/dist/_virtual/cookie.js.map +1 -0
  265. package/dist/_virtual/experiment-core.esm.cjs +6 -0
  266. package/dist/_virtual/experiment-core.esm.cjs.map +1 -0
  267. package/dist/_virtual/experiment-core.esm.js +7 -0
  268. package/dist/_virtual/experiment-core.esm.js.map +1 -0
  269. package/dist/_virtual/factory.cjs +5 -0
  270. package/dist/_virtual/factory.cjs.map +1 -0
  271. package/dist/_virtual/factory.js +5 -0
  272. package/dist/_virtual/factory.js.map +1 -0
  273. package/dist/_virtual/fetcher.cjs +5 -0
  274. package/dist/_virtual/fetcher.cjs.map +1 -0
  275. package/dist/_virtual/fetcher.js +5 -0
  276. package/dist/_virtual/fetcher.js.map +1 -0
  277. package/dist/_virtual/hash.cjs +5 -0
  278. package/dist/_virtual/hash.cjs.map +1 -0
  279. package/dist/_virtual/hash.js +5 -0
  280. package/dist/_virtual/hash.js.map +1 -0
  281. package/dist/_virtual/http.cjs +5 -0
  282. package/dist/_virtual/http.cjs.map +1 -0
  283. package/dist/_virtual/http.js +5 -0
  284. package/dist/_virtual/http.js.map +1 -0
  285. package/dist/_virtual/index.cjs +2 -2
  286. package/dist/_virtual/index.js +2 -2
  287. package/dist/_virtual/index2.cjs +4 -3
  288. package/dist/_virtual/index2.cjs.map +1 -1
  289. package/dist/_virtual/index2.js +4 -2
  290. package/dist/_virtual/index2.js.map +1 -1
  291. package/dist/_virtual/index3.cjs +2 -2
  292. package/dist/_virtual/index3.js +2 -2
  293. package/dist/_virtual/index4.cjs +2 -2
  294. package/dist/_virtual/index4.js +2 -2
  295. package/dist/_virtual/index5.cjs +5 -0
  296. package/dist/_virtual/index5.cjs.map +1 -0
  297. package/dist/_virtual/index5.js +5 -0
  298. package/dist/_virtual/index5.js.map +1 -0
  299. package/dist/_virtual/index6.cjs +5 -0
  300. package/dist/_virtual/index6.cjs.map +1 -0
  301. package/dist/_virtual/index6.js +5 -0
  302. package/dist/_virtual/index6.js.map +1 -0
  303. package/dist/_virtual/logger.cjs +5 -0
  304. package/dist/_virtual/logger.cjs.map +1 -0
  305. package/dist/_virtual/logger.js +5 -0
  306. package/dist/_virtual/logger.js.map +1 -0
  307. package/dist/_virtual/poller.cjs +5 -0
  308. package/dist/_virtual/poller.cjs.map +1 -0
  309. package/dist/_virtual/poller.js +5 -0
  310. package/dist/_virtual/poller.js.map +1 -0
  311. package/dist/_virtual/time.cjs +5 -0
  312. package/dist/_virtual/time.cjs.map +1 -0
  313. package/dist/_virtual/time.js +5 -0
  314. package/dist/_virtual/time.js.map +1 -0
  315. package/dist/_virtual/user.cjs +5 -0
  316. package/dist/_virtual/user.cjs.map +1 -0
  317. package/dist/_virtual/user.js +5 -0
  318. package/dist/_virtual/user.js.map +1 -0
  319. package/dist/_virtual/variant.cjs +5 -0
  320. package/dist/_virtual/variant.cjs.map +1 -0
  321. package/dist/_virtual/variant.js +5 -0
  322. package/dist/_virtual/variant.js.map +1 -0
  323. package/dist/_virtual/version.cjs +5 -0
  324. package/dist/_virtual/version.cjs.map +1 -0
  325. package/dist/_virtual/version.js +5 -0
  326. package/dist/_virtual/version.js.map +1 -0
  327. package/dist/constants/API_TOKENS.cjs +8 -2
  328. package/dist/constants/API_TOKENS.cjs.map +1 -1
  329. package/dist/constants/API_TOKENS.d.ts +1 -0
  330. package/dist/constants/API_TOKENS.js +8 -2
  331. package/dist/constants/API_TOKENS.js.map +1 -1
  332. package/dist/index.d.ts +1 -0
  333. package/dist/managers/telemetry/TelemetryManager.cjs +28 -0
  334. package/dist/managers/telemetry/TelemetryManager.cjs.map +1 -1
  335. package/dist/managers/telemetry/TelemetryManager.d.ts +4 -0
  336. package/dist/managers/telemetry/TelemetryManager.js +28 -0
  337. package/dist/managers/telemetry/TelemetryManager.js.map +1 -1
  338. package/dist/managers/telemetry/types.cjs +8 -2
  339. package/dist/managers/telemetry/types.cjs.map +1 -1
  340. package/dist/managers/telemetry/types.d.ts +11 -2
  341. package/dist/managers/telemetry/types.js +8 -2
  342. package/dist/managers/telemetry/types.js.map +1 -1
  343. package/package.json +4 -4
  344. package/src/constants/API_TOKENS.ts +9 -2
  345. package/src/index.ts +2 -0
  346. package/src/managers/telemetry/TelemetryManager.ts +42 -1
  347. package/src/managers/telemetry/types.ts +27 -1
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ const _commonjsHelpers = require("../../../../../../_virtual/_commonjsHelpers.cjs");
3
+ const client = require("../../../../../../_virtual/client2.cjs");
4
+ const index = require("../../../../../../_virtual/index2.cjs");
5
+ const experimentCore_esm = require("../../../../../../_virtual/experiment-core.esm.cjs");
6
+ require("../assignment/assignment.cjs");
7
+ require("../assignment/assignment-filter.cjs");
8
+ require("../assignment/assignment-service.cjs");
9
+ require("../transport/http.cjs");
10
+ require("../types/config.cjs");
11
+ require("../util/logger.cjs");
12
+ require("../util/user.cjs");
13
+ require("../util/variant.cjs");
14
+ require("./cache.cjs");
15
+ require("./fetcher.cjs");
16
+ require("./poller.cjs");
17
+ const assignment = require("../../../../../../_virtual/assignment.cjs");
18
+ const assignmentFilter = require("../../../../../../_virtual/assignment-filter.cjs");
19
+ const assignmentService = require("../../../../../../_virtual/assignment-service.cjs");
20
+ const http = require("../../../../../../_virtual/http.cjs");
21
+ const config = require("../../../../../../_virtual/config.cjs");
22
+ const logger = require("../../../../../../_virtual/logger.cjs");
23
+ const user = require("../../../../../../_virtual/user.cjs");
24
+ const variant = require("../../../../../../_virtual/variant.cjs");
25
+ const cache = require("../../../../../../_virtual/cache.cjs");
26
+ const fetcher = require("../../../../../../_virtual/fetcher.cjs");
27
+ const poller = require("../../../../../../_virtual/poller.cjs");
28
+ var __createBinding = _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) {
29
+ if (k2 === void 0)
30
+ k2 = k;
31
+ var desc = Object.getOwnPropertyDescriptor(m, k);
32
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
33
+ desc = { enumerable: true, get: function() {
34
+ return m[k];
35
+ } };
36
+ }
37
+ Object.defineProperty(o, k2, desc);
38
+ } : function(o, m, k, k2) {
39
+ if (k2 === void 0)
40
+ k2 = k;
41
+ o[k2] = m[k];
42
+ });
43
+ var __setModuleDefault = _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__setModuleDefault || (Object.create ? function(o, v) {
44
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
45
+ } : function(o, v) {
46
+ o["default"] = v;
47
+ });
48
+ var __importStar = _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__importStar || function(mod) {
49
+ if (mod && mod.__esModule)
50
+ return mod;
51
+ var result = {};
52
+ if (mod != null) {
53
+ for (var k in mod)
54
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
55
+ __createBinding(result, mod, k);
56
+ }
57
+ __setModuleDefault(result, mod);
58
+ return result;
59
+ };
60
+ var __awaiter = _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__awaiter || function(thisArg, _arguments, P, generator) {
61
+ function adopt(value) {
62
+ return value instanceof P ? value : new P(function(resolve) {
63
+ resolve(value);
64
+ });
65
+ }
66
+ return new (P || (P = Promise))(function(resolve, reject) {
67
+ function fulfilled(value) {
68
+ try {
69
+ step(generator.next(value));
70
+ } catch (e) {
71
+ reject(e);
72
+ }
73
+ }
74
+ function rejected(value) {
75
+ try {
76
+ step(generator["throw"](value));
77
+ } catch (e) {
78
+ reject(e);
79
+ }
80
+ }
81
+ function step(result) {
82
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
83
+ }
84
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
85
+ });
86
+ };
87
+ var __rest = _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__rest || function(s, e) {
88
+ var t = {};
89
+ for (var p in s)
90
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
91
+ t[p] = s[p];
92
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
93
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
94
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
95
+ t[p[i]] = s[p[i]];
96
+ }
97
+ return t;
98
+ };
99
+ Object.defineProperty(client.__exports, "__esModule", { value: true });
100
+ client.__exports.LocalEvaluationClient = void 0;
101
+ const amplitude = __importStar(index);
102
+ const experiment_core_1 = experimentCore_esm;
103
+ const assignment_1 = assignment.__exports;
104
+ const assignment_filter_1 = assignmentFilter.__exports;
105
+ const assignment_service_1 = assignmentService.__exports;
106
+ const http_1 = http.__exports;
107
+ const config_1 = config.__exports;
108
+ const logger_1 = logger.__exports;
109
+ const user_1 = user.__exports;
110
+ const variant_1 = variant.__exports;
111
+ const cache_1 = cache.__exports;
112
+ const fetcher_1 = fetcher.__exports;
113
+ const poller_1 = poller.__exports;
114
+ class LocalEvaluationClient {
115
+ constructor(apiKey, config2, flagConfigCache, httpClient = new http_1.FetchHttpClient(config2 === null || config2 === void 0 ? void 0 : config2.httpAgent)) {
116
+ this.config = Object.assign(Object.assign({}, config_1.LocalEvaluationDefaults), config2);
117
+ const fetcher2 = new fetcher_1.FlagConfigFetcher(apiKey, httpClient, this.config.serverUrl, this.config.debug);
118
+ this.cache = new cache_1.InMemoryFlagConfigCache(flagConfigCache, this.config.bootstrap);
119
+ this.logger = new logger_1.ConsoleLogger(this.config.debug);
120
+ this.poller = new poller_1.FlagConfigPoller(fetcher2, this.cache, this.config.flagConfigPollingIntervalMillis, this.config.debug);
121
+ if (this.config.assignmentConfig) {
122
+ this.config.assignmentConfig = Object.assign(Object.assign({}, config_1.AssignmentConfigDefaults), this.config.assignmentConfig);
123
+ this.assignmentService = this.createAssignmentService(this.config.assignmentConfig);
124
+ }
125
+ this.evaluation = new experiment_core_1.EvaluationEngine();
126
+ }
127
+ createAssignmentService(assignmentConfig) {
128
+ const instance = amplitude.createInstance();
129
+ const { apiKey, cacheCapacity } = assignmentConfig, ampConfig = __rest(assignmentConfig, ["apiKey", "cacheCapacity"]);
130
+ instance.init(apiKey, ampConfig);
131
+ return new assignment_service_1.AmplitudeAssignmentService(instance, new assignment_filter_1.InMemoryAssignmentFilter(cacheCapacity));
132
+ }
133
+ /**
134
+ * Locally evaluate varints for a user.
135
+ *
136
+ * This function will only evaluate flags for the keys specified in the
137
+ * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the
138
+ * {@link FlagConfigCache} will be evaluated.
139
+ *
140
+ * Unlike {@link evaluate}, this function returns a default variant object
141
+ * if the flag or experiment was evaluated, but the user was not assigned a
142
+ * variant (i.e. 'off').
143
+ *
144
+ * @param user The user to evaluate
145
+ * @param flagKeys The flags to evaluate with the user. If empty, all flags
146
+ * from the flag cache are evaluated.
147
+ * @returns The evaluated variants
148
+ */
149
+ evaluateV2(user2, flagKeys) {
150
+ var _a;
151
+ const flags = this.cache.getAllCached();
152
+ this.logger.debug("[Experiment] evaluate - user:", user2, "flags:", flags);
153
+ const context = (0, user_1.convertUserToEvaluationContext)(user2);
154
+ const sortedFlags = (0, experiment_core_1.topologicalSort)(flags, flagKeys);
155
+ const results = this.evaluation.evaluate(context, sortedFlags);
156
+ void ((_a = this.assignmentService) === null || _a === void 0 ? void 0 : _a.track(new assignment_1.Assignment(user2, results)));
157
+ this.logger.debug("[Experiment] evaluate - variants: ", results);
158
+ return (0, variant_1.evaluationVariantsToVariants)(results);
159
+ }
160
+ /**
161
+ * Locally evaluates flag variants for a user.
162
+ *
163
+ * This function will only evaluate flags for the keys specified in the
164
+ * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the
165
+ * {@link FlagConfigCache} will be evaluated.
166
+ *
167
+ * @param user The user to evaluate
168
+ * @param flagKeys The flags to evaluate with the user. If empty, all flags
169
+ * from the flag cache are evaluated.
170
+ * @returns The evaluated variants
171
+ * @deprecated use evaluateV2 instead
172
+ */
173
+ evaluate(user2, flagKeys) {
174
+ return __awaiter(this, void 0, void 0, function* () {
175
+ const results = this.evaluateV2(user2, flagKeys);
176
+ return (0, variant_1.filterDefaultVariants)(results);
177
+ });
178
+ }
179
+ /**
180
+ * Fetch initial flag configurations and start polling for updates.
181
+ *
182
+ * You must call this function to begin polling for flag config updates.
183
+ * The promise returned by this function is resolved when the initial call
184
+ * to fetch the flag configuration completes.
185
+ *
186
+ * Calling this function while the poller is already running does nothing.
187
+ */
188
+ start() {
189
+ return __awaiter(this, void 0, void 0, function* () {
190
+ return yield this.poller.start();
191
+ });
192
+ }
193
+ /**
194
+ * Stop polling for flag configurations.
195
+ *
196
+ * Calling this function while the poller is not running will do nothing.
197
+ */
198
+ stop() {
199
+ return this.poller.stop();
200
+ }
201
+ }
202
+ client.__exports.LocalEvaluationClient = LocalEvaluationClient;
203
+ module.exports = client.__exports;
204
+ //# sourceMappingURL=client.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.cjs","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/client.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LocalEvaluationClient = void 0;\nconst amplitude = __importStar(require(\"@amplitude/analytics-node\"));\nconst experiment_core_1 = require(\"@amplitude/experiment-core\");\nconst assignment_1 = require(\"../assignment/assignment\");\nconst assignment_filter_1 = require(\"../assignment/assignment-filter\");\nconst assignment_service_1 = require(\"../assignment/assignment-service\");\nconst http_1 = require(\"../transport/http\");\nconst config_1 = require(\"../types/config\");\nconst logger_1 = require(\"../util/logger\");\nconst user_1 = require(\"../util/user\");\nconst variant_1 = require(\"../util/variant\");\nconst cache_1 = require(\"./cache\");\nconst fetcher_1 = require(\"./fetcher\");\nconst poller_1 = require(\"./poller\");\n/**\n * Experiment client for evaluating variants for a user locally.\n * @category Core Usage\n */\nclass LocalEvaluationClient {\n constructor(apiKey, config, flagConfigCache, httpClient = new http_1.FetchHttpClient(config === null || config === void 0 ? void 0 : config.httpAgent)) {\n this.config = Object.assign(Object.assign({}, config_1.LocalEvaluationDefaults), config);\n const fetcher = new fetcher_1.FlagConfigFetcher(apiKey, httpClient, this.config.serverUrl, this.config.debug);\n this.cache = new cache_1.InMemoryFlagConfigCache(flagConfigCache, this.config.bootstrap);\n this.logger = new logger_1.ConsoleLogger(this.config.debug);\n this.poller = new poller_1.FlagConfigPoller(fetcher, this.cache, this.config.flagConfigPollingIntervalMillis, this.config.debug);\n if (this.config.assignmentConfig) {\n this.config.assignmentConfig = Object.assign(Object.assign({}, config_1.AssignmentConfigDefaults), this.config.assignmentConfig);\n this.assignmentService = this.createAssignmentService(this.config.assignmentConfig);\n }\n this.evaluation = new experiment_core_1.EvaluationEngine();\n }\n createAssignmentService(assignmentConfig) {\n const instance = amplitude.createInstance();\n const { apiKey, cacheCapacity } = assignmentConfig, ampConfig = __rest(assignmentConfig, [\"apiKey\", \"cacheCapacity\"]);\n instance.init(apiKey, ampConfig);\n return new assignment_service_1.AmplitudeAssignmentService(instance, new assignment_filter_1.InMemoryAssignmentFilter(cacheCapacity));\n }\n /**\n * Locally evaluate varints for a user.\n *\n * This function will only evaluate flags for the keys specified in the\n * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the\n * {@link FlagConfigCache} will be evaluated.\n *\n * Unlike {@link evaluate}, this function returns a default variant object\n * if the flag or experiment was evaluated, but the user was not assigned a\n * variant (i.e. 'off').\n *\n * @param user The user to evaluate\n * @param flagKeys The flags to evaluate with the user. If empty, all flags\n * from the flag cache are evaluated.\n * @returns The evaluated variants\n */\n evaluateV2(user, flagKeys) {\n var _a;\n const flags = this.cache.getAllCached();\n this.logger.debug('[Experiment] evaluate - user:', user, 'flags:', flags);\n const context = (0, user_1.convertUserToEvaluationContext)(user);\n const sortedFlags = (0, experiment_core_1.topologicalSort)(flags, flagKeys);\n const results = this.evaluation.evaluate(context, sortedFlags);\n void ((_a = this.assignmentService) === null || _a === void 0 ? void 0 : _a.track(new assignment_1.Assignment(user, results)));\n this.logger.debug('[Experiment] evaluate - variants: ', results);\n return (0, variant_1.evaluationVariantsToVariants)(results);\n }\n /**\n * Locally evaluates flag variants for a user.\n *\n * This function will only evaluate flags for the keys specified in the\n * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the\n * {@link FlagConfigCache} will be evaluated.\n *\n * @param user The user to evaluate\n * @param flagKeys The flags to evaluate with the user. If empty, all flags\n * from the flag cache are evaluated.\n * @returns The evaluated variants\n * @deprecated use evaluateV2 instead\n */\n evaluate(user, flagKeys) {\n return __awaiter(this, void 0, void 0, function* () {\n const results = this.evaluateV2(user, flagKeys);\n return (0, variant_1.filterDefaultVariants)(results);\n });\n }\n /**\n * Fetch initial flag configurations and start polling for updates.\n *\n * You must call this function to begin polling for flag config updates.\n * The promise returned by this function is resolved when the initial call\n * to fetch the flag configuration completes.\n *\n * Calling this function while the poller is already running does nothing.\n */\n start() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.poller.start();\n });\n }\n /**\n * Stop polling for flag configurations.\n *\n * Calling this function while the poller is not running will do nothing.\n */\n stop() {\n return this.poller.stop();\n }\n}\nexports.LocalEvaluationClient = LocalEvaluationClient;\n"],"names":["this","client","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","config","fetcher","user"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,205 @@
1
+ import { commonjsGlobal } from "../../../../../../_virtual/_commonjsHelpers.js";
2
+ import { __exports as client } from "../../../../../../_virtual/client2.js";
3
+ import require$$0 from "../../../../../../_virtual/index2.js";
4
+ import require$$1 from "../../../../../../_virtual/experiment-core.esm.js";
5
+ import "../assignment/assignment.js";
6
+ import "../assignment/assignment-filter.js";
7
+ import "../assignment/assignment-service.js";
8
+ import "../transport/http.js";
9
+ import "../types/config.js";
10
+ import "../util/logger.js";
11
+ import "../util/user.js";
12
+ import "../util/variant.js";
13
+ import "./cache.js";
14
+ import "./fetcher.js";
15
+ import "./poller.js";
16
+ import { __exports as assignment } from "../../../../../../_virtual/assignment.js";
17
+ import { __exports as assignmentFilter } from "../../../../../../_virtual/assignment-filter.js";
18
+ import { __exports as assignmentService } from "../../../../../../_virtual/assignment-service.js";
19
+ import { __exports as http } from "../../../../../../_virtual/http.js";
20
+ import { __exports as config } from "../../../../../../_virtual/config.js";
21
+ import { __exports as logger } from "../../../../../../_virtual/logger.js";
22
+ import { __exports as user } from "../../../../../../_virtual/user.js";
23
+ import { __exports as variant } from "../../../../../../_virtual/variant.js";
24
+ import { __exports as cache } from "../../../../../../_virtual/cache.js";
25
+ import { __exports as fetcher } from "../../../../../../_virtual/fetcher.js";
26
+ import { __exports as poller } from "../../../../../../_virtual/poller.js";
27
+ var __createBinding = commonjsGlobal && commonjsGlobal.__createBinding || (Object.create ? function(o, m, k, k2) {
28
+ if (k2 === void 0)
29
+ k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() {
33
+ return m[k];
34
+ } };
35
+ }
36
+ Object.defineProperty(o, k2, desc);
37
+ } : function(o, m, k, k2) {
38
+ if (k2 === void 0)
39
+ k2 = k;
40
+ o[k2] = m[k];
41
+ });
42
+ var __setModuleDefault = commonjsGlobal && commonjsGlobal.__setModuleDefault || (Object.create ? function(o, v) {
43
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
44
+ } : function(o, v) {
45
+ o["default"] = v;
46
+ });
47
+ var __importStar = commonjsGlobal && commonjsGlobal.__importStar || function(mod) {
48
+ if (mod && mod.__esModule)
49
+ return mod;
50
+ var result = {};
51
+ if (mod != null) {
52
+ for (var k in mod)
53
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
54
+ __createBinding(result, mod, k);
55
+ }
56
+ __setModuleDefault(result, mod);
57
+ return result;
58
+ };
59
+ var __awaiter = commonjsGlobal && commonjsGlobal.__awaiter || function(thisArg, _arguments, P, generator) {
60
+ function adopt(value) {
61
+ return value instanceof P ? value : new P(function(resolve) {
62
+ resolve(value);
63
+ });
64
+ }
65
+ return new (P || (P = Promise))(function(resolve, reject) {
66
+ function fulfilled(value) {
67
+ try {
68
+ step(generator.next(value));
69
+ } catch (e) {
70
+ reject(e);
71
+ }
72
+ }
73
+ function rejected(value) {
74
+ try {
75
+ step(generator["throw"](value));
76
+ } catch (e) {
77
+ reject(e);
78
+ }
79
+ }
80
+ function step(result) {
81
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
82
+ }
83
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
84
+ });
85
+ };
86
+ var __rest = commonjsGlobal && commonjsGlobal.__rest || function(s, e) {
87
+ var t = {};
88
+ for (var p in s)
89
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
90
+ t[p] = s[p];
91
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
92
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
93
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
94
+ t[p[i]] = s[p[i]];
95
+ }
96
+ return t;
97
+ };
98
+ Object.defineProperty(client, "__esModule", { value: true });
99
+ client.LocalEvaluationClient = void 0;
100
+ const amplitude = __importStar(require$$0);
101
+ const experiment_core_1 = require$$1;
102
+ const assignment_1 = assignment;
103
+ const assignment_filter_1 = assignmentFilter;
104
+ const assignment_service_1 = assignmentService;
105
+ const http_1 = http;
106
+ const config_1 = config;
107
+ const logger_1 = logger;
108
+ const user_1 = user;
109
+ const variant_1 = variant;
110
+ const cache_1 = cache;
111
+ const fetcher_1 = fetcher;
112
+ const poller_1 = poller;
113
+ class LocalEvaluationClient {
114
+ constructor(apiKey, config2, flagConfigCache, httpClient = new http_1.FetchHttpClient(config2 === null || config2 === void 0 ? void 0 : config2.httpAgent)) {
115
+ this.config = Object.assign(Object.assign({}, config_1.LocalEvaluationDefaults), config2);
116
+ const fetcher2 = new fetcher_1.FlagConfigFetcher(apiKey, httpClient, this.config.serverUrl, this.config.debug);
117
+ this.cache = new cache_1.InMemoryFlagConfigCache(flagConfigCache, this.config.bootstrap);
118
+ this.logger = new logger_1.ConsoleLogger(this.config.debug);
119
+ this.poller = new poller_1.FlagConfigPoller(fetcher2, this.cache, this.config.flagConfigPollingIntervalMillis, this.config.debug);
120
+ if (this.config.assignmentConfig) {
121
+ this.config.assignmentConfig = Object.assign(Object.assign({}, config_1.AssignmentConfigDefaults), this.config.assignmentConfig);
122
+ this.assignmentService = this.createAssignmentService(this.config.assignmentConfig);
123
+ }
124
+ this.evaluation = new experiment_core_1.EvaluationEngine();
125
+ }
126
+ createAssignmentService(assignmentConfig) {
127
+ const instance = amplitude.createInstance();
128
+ const { apiKey, cacheCapacity } = assignmentConfig, ampConfig = __rest(assignmentConfig, ["apiKey", "cacheCapacity"]);
129
+ instance.init(apiKey, ampConfig);
130
+ return new assignment_service_1.AmplitudeAssignmentService(instance, new assignment_filter_1.InMemoryAssignmentFilter(cacheCapacity));
131
+ }
132
+ /**
133
+ * Locally evaluate varints for a user.
134
+ *
135
+ * This function will only evaluate flags for the keys specified in the
136
+ * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the
137
+ * {@link FlagConfigCache} will be evaluated.
138
+ *
139
+ * Unlike {@link evaluate}, this function returns a default variant object
140
+ * if the flag or experiment was evaluated, but the user was not assigned a
141
+ * variant (i.e. 'off').
142
+ *
143
+ * @param user The user to evaluate
144
+ * @param flagKeys The flags to evaluate with the user. If empty, all flags
145
+ * from the flag cache are evaluated.
146
+ * @returns The evaluated variants
147
+ */
148
+ evaluateV2(user2, flagKeys) {
149
+ var _a;
150
+ const flags = this.cache.getAllCached();
151
+ this.logger.debug("[Experiment] evaluate - user:", user2, "flags:", flags);
152
+ const context = (0, user_1.convertUserToEvaluationContext)(user2);
153
+ const sortedFlags = (0, experiment_core_1.topologicalSort)(flags, flagKeys);
154
+ const results = this.evaluation.evaluate(context, sortedFlags);
155
+ void ((_a = this.assignmentService) === null || _a === void 0 ? void 0 : _a.track(new assignment_1.Assignment(user2, results)));
156
+ this.logger.debug("[Experiment] evaluate - variants: ", results);
157
+ return (0, variant_1.evaluationVariantsToVariants)(results);
158
+ }
159
+ /**
160
+ * Locally evaluates flag variants for a user.
161
+ *
162
+ * This function will only evaluate flags for the keys specified in the
163
+ * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the
164
+ * {@link FlagConfigCache} will be evaluated.
165
+ *
166
+ * @param user The user to evaluate
167
+ * @param flagKeys The flags to evaluate with the user. If empty, all flags
168
+ * from the flag cache are evaluated.
169
+ * @returns The evaluated variants
170
+ * @deprecated use evaluateV2 instead
171
+ */
172
+ evaluate(user2, flagKeys) {
173
+ return __awaiter(this, void 0, void 0, function* () {
174
+ const results = this.evaluateV2(user2, flagKeys);
175
+ return (0, variant_1.filterDefaultVariants)(results);
176
+ });
177
+ }
178
+ /**
179
+ * Fetch initial flag configurations and start polling for updates.
180
+ *
181
+ * You must call this function to begin polling for flag config updates.
182
+ * The promise returned by this function is resolved when the initial call
183
+ * to fetch the flag configuration completes.
184
+ *
185
+ * Calling this function while the poller is already running does nothing.
186
+ */
187
+ start() {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ return yield this.poller.start();
190
+ });
191
+ }
192
+ /**
193
+ * Stop polling for flag configurations.
194
+ *
195
+ * Calling this function while the poller is not running will do nothing.
196
+ */
197
+ stop() {
198
+ return this.poller.stop();
199
+ }
200
+ }
201
+ client.LocalEvaluationClient = LocalEvaluationClient;
202
+ export {
203
+ client as default
204
+ };
205
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/client.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LocalEvaluationClient = void 0;\nconst amplitude = __importStar(require(\"@amplitude/analytics-node\"));\nconst experiment_core_1 = require(\"@amplitude/experiment-core\");\nconst assignment_1 = require(\"../assignment/assignment\");\nconst assignment_filter_1 = require(\"../assignment/assignment-filter\");\nconst assignment_service_1 = require(\"../assignment/assignment-service\");\nconst http_1 = require(\"../transport/http\");\nconst config_1 = require(\"../types/config\");\nconst logger_1 = require(\"../util/logger\");\nconst user_1 = require(\"../util/user\");\nconst variant_1 = require(\"../util/variant\");\nconst cache_1 = require(\"./cache\");\nconst fetcher_1 = require(\"./fetcher\");\nconst poller_1 = require(\"./poller\");\n/**\n * Experiment client for evaluating variants for a user locally.\n * @category Core Usage\n */\nclass LocalEvaluationClient {\n constructor(apiKey, config, flagConfigCache, httpClient = new http_1.FetchHttpClient(config === null || config === void 0 ? void 0 : config.httpAgent)) {\n this.config = Object.assign(Object.assign({}, config_1.LocalEvaluationDefaults), config);\n const fetcher = new fetcher_1.FlagConfigFetcher(apiKey, httpClient, this.config.serverUrl, this.config.debug);\n this.cache = new cache_1.InMemoryFlagConfigCache(flagConfigCache, this.config.bootstrap);\n this.logger = new logger_1.ConsoleLogger(this.config.debug);\n this.poller = new poller_1.FlagConfigPoller(fetcher, this.cache, this.config.flagConfigPollingIntervalMillis, this.config.debug);\n if (this.config.assignmentConfig) {\n this.config.assignmentConfig = Object.assign(Object.assign({}, config_1.AssignmentConfigDefaults), this.config.assignmentConfig);\n this.assignmentService = this.createAssignmentService(this.config.assignmentConfig);\n }\n this.evaluation = new experiment_core_1.EvaluationEngine();\n }\n createAssignmentService(assignmentConfig) {\n const instance = amplitude.createInstance();\n const { apiKey, cacheCapacity } = assignmentConfig, ampConfig = __rest(assignmentConfig, [\"apiKey\", \"cacheCapacity\"]);\n instance.init(apiKey, ampConfig);\n return new assignment_service_1.AmplitudeAssignmentService(instance, new assignment_filter_1.InMemoryAssignmentFilter(cacheCapacity));\n }\n /**\n * Locally evaluate varints for a user.\n *\n * This function will only evaluate flags for the keys specified in the\n * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the\n * {@link FlagConfigCache} will be evaluated.\n *\n * Unlike {@link evaluate}, this function returns a default variant object\n * if the flag or experiment was evaluated, but the user was not assigned a\n * variant (i.e. 'off').\n *\n * @param user The user to evaluate\n * @param flagKeys The flags to evaluate with the user. If empty, all flags\n * from the flag cache are evaluated.\n * @returns The evaluated variants\n */\n evaluateV2(user, flagKeys) {\n var _a;\n const flags = this.cache.getAllCached();\n this.logger.debug('[Experiment] evaluate - user:', user, 'flags:', flags);\n const context = (0, user_1.convertUserToEvaluationContext)(user);\n const sortedFlags = (0, experiment_core_1.topologicalSort)(flags, flagKeys);\n const results = this.evaluation.evaluate(context, sortedFlags);\n void ((_a = this.assignmentService) === null || _a === void 0 ? void 0 : _a.track(new assignment_1.Assignment(user, results)));\n this.logger.debug('[Experiment] evaluate - variants: ', results);\n return (0, variant_1.evaluationVariantsToVariants)(results);\n }\n /**\n * Locally evaluates flag variants for a user.\n *\n * This function will only evaluate flags for the keys specified in the\n * {@link flagKeys} argument. If {@link flagKeys} is missing, all flags in the\n * {@link FlagConfigCache} will be evaluated.\n *\n * @param user The user to evaluate\n * @param flagKeys The flags to evaluate with the user. If empty, all flags\n * from the flag cache are evaluated.\n * @returns The evaluated variants\n * @deprecated use evaluateV2 instead\n */\n evaluate(user, flagKeys) {\n return __awaiter(this, void 0, void 0, function* () {\n const results = this.evaluateV2(user, flagKeys);\n return (0, variant_1.filterDefaultVariants)(results);\n });\n }\n /**\n * Fetch initial flag configurations and start polling for updates.\n *\n * You must call this function to begin polling for flag config updates.\n * The promise returned by this function is resolved when the initial call\n * to fetch the flag configuration completes.\n *\n * Calling this function while the poller is already running does nothing.\n */\n start() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.poller.start();\n });\n }\n /**\n * Stop polling for flag configurations.\n *\n * Calling this function while the poller is not running will do nothing.\n */\n stop() {\n return this.poller.stop();\n }\n}\nexports.LocalEvaluationClient = LocalEvaluationClient;\n"],"names":["this","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","config","fetcher","user"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAI,kBAAmBA,kBAAQA,eAAK,oBAAqB,OAAO,SAAU,SAAS,GAAG,GAAG,GAAG,IAAI;AAC5F,MAAI,OAAO;AAAW,SAAK;AAC3B,MAAI,OAAO,OAAO,yBAAyB,GAAG,CAAC;AAC/C,MAAI,CAAC,SAAS,SAAS,OAAO,CAAC,EAAE,aAAa,KAAK,YAAY,KAAK,eAAe;AACjF,WAAO,EAAE,YAAY,MAAM,KAAK,WAAW;AAAE,aAAO,EAAE,CAAC;AAAA,IAAE;EAC1D;AACD,SAAO,eAAe,GAAG,IAAI,IAAI;AACrC,IAAM,SAAS,GAAG,GAAG,GAAG,IAAI;AACxB,MAAI,OAAO;AAAW,SAAK;AAC3B,IAAE,EAAE,IAAI,EAAE,CAAC;AACf;AACA,IAAI,qBAAsBA,kBAAQA,eAAK,uBAAwB,OAAO,SAAU,SAAS,GAAG,GAAG;AAC3F,SAAO,eAAe,GAAG,WAAW,EAAE,YAAY,MAAM,OAAO,EAAC,CAAE;AACtE,IAAK,SAAS,GAAG,GAAG;AAChB,IAAE,SAAS,IAAI;AACnB;AACA,IAAI,eAAgBA,kBAAQA,eAAK,gBAAiB,SAAU,KAAK;AAC7D,MAAI,OAAO,IAAI;AAAY,WAAO;AAClC,MAAI,SAAS,CAAA;AACb,MAAI,OAAO;AAAM,aAAS,KAAK;AAAK,UAAI,MAAM,aAAa,OAAO,UAAU,eAAe,KAAK,KAAK,CAAC;AAAG,wBAAgB,QAAQ,KAAK,CAAC;AAAA;AACvI,qBAAmB,QAAQ,GAAG;AAC9B,SAAO;AACX;AACA,IAAI,YAAaA,kBAAQA,eAAK,aAAc,SAAU,SAAS,YAAY,GAAG,WAAW;AACrF,WAAS,MAAM,OAAO;AAAE,WAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,cAAQ,KAAK;AAAA,IAAE,CAAE;AAAA,EAAI;AAC5G,SAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,aAAS,UAAU,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,KAAK,KAAK,CAAC;AAAA,MAAE,SAAU,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC3F,aAAS,SAAS,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,OAAO,EAAE,KAAK,CAAC;AAAA,MAAI,SAAQ,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC9F,aAAS,KAAK,QAAQ;AAAE,aAAO,OAAO,QAAQ,OAAO,KAAK,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK,WAAW,QAAQ;AAAA,IAAI;AAC9G,UAAM,YAAY,UAAU,MAAM,SAAS,cAAc,CAAE,CAAA,GAAG,KAAI,CAAE;AAAA,EAC5E,CAAK;AACL;AACA,IAAI,SAAUA,kBAAQA,eAAK,UAAW,SAAU,GAAG,GAAG;AAClD,MAAI,IAAI,CAAA;AACR,WAAS,KAAK;AAAG,QAAI,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI;AAC9E,QAAE,CAAC,IAAI,EAAE,CAAC;AACd,MAAI,KAAK,QAAQ,OAAO,OAAO,0BAA0B;AACrD,aAAS,IAAI,GAAG,IAAI,OAAO,sBAAsB,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK;AACpE,UAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAK,GAAG,EAAE,CAAC,CAAC;AACzE,UAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,IACvB;AACL,SAAO;AACX;AACA,OAAO,eAAe,QAAS,cAAc,EAAE,OAAO,KAAI,CAAE;AAC/B,OAAA,wBAAG;AAChC,MAAM,YAAY,aAAa,UAAoC;AACnE,MAAM,oBAAoB;AAC1B,MAAM,eAAeC;AACrB,MAAM,sBAAsBC;AAC5B,MAAM,uBAAuBC;AAC7B,MAAM,SAASC;AACf,MAAM,WAAWC;AACjB,MAAM,WAAWC;AACjB,MAAM,SAASC;AACf,MAAM,YAAYC;AAClB,MAAM,UAAUC;AAChB,MAAM,YAAYC;AAClB,MAAM,WAAWC;AAKjB,MAAM,sBAAsB;AAAA,EACxB,YAAY,QAAQC,SAAQ,iBAAiB,aAAa,IAAI,OAAO,gBAAgBA,YAAW,QAAQA,YAAW,SAAS,SAASA,QAAO,SAAS,GAAG;AACpJ,SAAK,SAAS,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI,SAAS,uBAAuB,GAAGA,OAAM;AACvF,UAAMC,WAAU,IAAI,UAAU,kBAAkB,QAAQ,YAAY,KAAK,OAAO,WAAW,KAAK,OAAO,KAAK;AAC5G,SAAK,QAAQ,IAAI,QAAQ,wBAAwB,iBAAiB,KAAK,OAAO,SAAS;AACvF,SAAK,SAAS,IAAI,SAAS,cAAc,KAAK,OAAO,KAAK;AAC1D,SAAK,SAAS,IAAI,SAAS,iBAAiBA,UAAS,KAAK,OAAO,KAAK,OAAO,iCAAiC,KAAK,OAAO,KAAK;AAC/H,QAAI,KAAK,OAAO,kBAAkB;AAC9B,WAAK,OAAO,mBAAmB,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI,SAAS,wBAAwB,GAAG,KAAK,OAAO,gBAAgB;AAC/H,WAAK,oBAAoB,KAAK,wBAAwB,KAAK,OAAO,gBAAgB;AAAA,IACrF;AACD,SAAK,aAAa,IAAI,kBAAkB,iBAAgB;AAAA,EAC3D;AAAA,EACD,wBAAwB,kBAAkB;AACtC,UAAM,WAAW,UAAU;AAC3B,UAAM,EAAE,QAAQ,cAAe,IAAG,kBAAkB,YAAY,OAAO,kBAAkB,CAAC,UAAU,eAAe,CAAC;AACpH,aAAS,KAAK,QAAQ,SAAS;AAC/B,WAAO,IAAI,qBAAqB,2BAA2B,UAAU,IAAI,oBAAoB,yBAAyB,aAAa,CAAC;AAAA,EACvI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBD,WAAWC,OAAM,UAAU;AACvB,QAAI;AACJ,UAAM,QAAQ,KAAK,MAAM,aAAY;AACrC,SAAK,OAAO,MAAM,iCAAiCA,OAAM,UAAU,KAAK;AACxE,UAAM,WAAc,GAAA,OAAO,gCAAgCA,KAAI;AAC/D,UAAM,eAAc,GAAI,kBAAkB,iBAAiB,OAAO,QAAQ;AAC1E,UAAM,UAAU,KAAK,WAAW,SAAS,SAAS,WAAW;AAC7D,WAAO,KAAK,KAAK,uBAAuB,QAAQ,OAAO,SAAS,SAAS,GAAG,MAAM,IAAI,aAAa,WAAWA,OAAM,OAAO,CAAC;AAC5H,SAAK,OAAO,MAAM,sCAAsC,OAAO;AAC/D,eAAW,UAAU,8BAA8B,OAAO;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcD,SAASA,OAAM,UAAU;AACrB,WAAO,UAAU,MAAM,QAAQ,QAAQ,aAAa;AAChD,YAAM,UAAU,KAAK,WAAWA,OAAM,QAAQ;AAC9C,iBAAW,UAAU,uBAAuB,OAAO;AAAA,IAC/D,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUD,QAAQ;AACJ,WAAO,UAAU,MAAM,QAAQ,QAAQ,aAAa;AAChD,aAAO,MAAM,KAAK,OAAO;IACrC,CAAS;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,OAAO;AACH,WAAO,KAAK,OAAO;EACtB;AACL;AACA,OAAA,wBAAgC;","x_google_ignoreList":[0]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ const _commonjsHelpers = require("../../../../../../_virtual/_commonjsHelpers.cjs");
3
+ const fetcher = require("../../../../../../_virtual/fetcher.cjs");
4
+ const experimentCore_esm = require("../../../../../../_virtual/experiment-core.esm.cjs");
5
+ require("../../gen/version.cjs");
6
+ require("../transport/http.cjs");
7
+ require("../types/config.cjs");
8
+ require("../util/logger.cjs");
9
+ const version = require("../../../../../../_virtual/version.cjs");
10
+ const http = require("../../../../../../_virtual/http.cjs");
11
+ const config = require("../../../../../../_virtual/config.cjs");
12
+ const logger = require("../../../../../../_virtual/logger.cjs");
13
+ var __awaiter = _commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__awaiter || function(thisArg, _arguments, P, generator) {
14
+ function adopt(value) {
15
+ return value instanceof P ? value : new P(function(resolve) {
16
+ resolve(value);
17
+ });
18
+ }
19
+ return new (P || (P = Promise))(function(resolve, reject) {
20
+ function fulfilled(value) {
21
+ try {
22
+ step(generator.next(value));
23
+ } catch (e) {
24
+ reject(e);
25
+ }
26
+ }
27
+ function rejected(value) {
28
+ try {
29
+ step(generator["throw"](value));
30
+ } catch (e) {
31
+ reject(e);
32
+ }
33
+ }
34
+ function step(result) {
35
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
36
+ }
37
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
38
+ });
39
+ };
40
+ Object.defineProperty(fetcher.__exports, "__esModule", { value: true });
41
+ fetcher.__exports.FlagConfigFetcher = void 0;
42
+ const experiment_core_1 = experimentCore_esm;
43
+ const version_1 = version.__exports;
44
+ const http_1 = http.__exports;
45
+ const config_1 = config.__exports;
46
+ const logger_1 = logger.__exports;
47
+ const FLAG_CONFIG_TIMEOUT = 5e3;
48
+ class FlagConfigFetcher {
49
+ constructor(apiKey, httpClient, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, debug = false) {
50
+ this.apiKey = apiKey;
51
+ this.serverUrl = serverUrl;
52
+ this.flagApi = new experiment_core_1.SdkFlagApi(apiKey, serverUrl, new http_1.WrapperClient(httpClient));
53
+ this.logger = new logger_1.ConsoleLogger(debug);
54
+ }
55
+ /**
56
+ * Fetch local evaluation mode flag configs from the Experiment API server.
57
+ * These flag configs can be used to perform local evaluation.
58
+ *
59
+ * @returns The local evaluation mode flag configs for the initialized
60
+ * environment
61
+ */
62
+ fetch() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const flags = this.flagApi.getFlags({
65
+ libraryName: "experiment-node-server",
66
+ libraryVersion: version_1.version,
67
+ evaluationMode: "local",
68
+ timeoutMillis: FLAG_CONFIG_TIMEOUT
69
+ });
70
+ if (this.receiver) {
71
+ this.receiver(JSON.stringify(flags));
72
+ }
73
+ return flags;
74
+ });
75
+ }
76
+ setRawReceiver(rawReceiver) {
77
+ this.receiver = rawReceiver;
78
+ }
79
+ }
80
+ fetcher.__exports.FlagConfigFetcher = FlagConfigFetcher;
81
+ module.exports = fetcher.__exports;
82
+ //# sourceMappingURL=fetcher.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.cjs","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js"],"sourcesContent":["\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FlagConfigFetcher = void 0;\nconst experiment_core_1 = require(\"@amplitude/experiment-core\");\nconst version_1 = require(\"../../gen/version\");\nconst http_1 = require(\"../transport/http\");\nconst config_1 = require(\"../types/config\");\nconst logger_1 = require(\"../util/logger\");\nconst FLAG_CONFIG_TIMEOUT = 5000;\nclass FlagConfigFetcher {\n constructor(apiKey, httpClient, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, debug = false) {\n this.apiKey = apiKey;\n this.serverUrl = serverUrl;\n this.flagApi = new experiment_core_1.SdkFlagApi(apiKey, serverUrl, new http_1.WrapperClient(httpClient));\n this.logger = new logger_1.ConsoleLogger(debug);\n }\n /**\n * Fetch local evaluation mode flag configs from the Experiment API server.\n * These flag configs can be used to perform local evaluation.\n *\n * @returns The local evaluation mode flag configs for the initialized\n * environment\n */\n fetch() {\n return __awaiter(this, void 0, void 0, function* () {\n const flags = this.flagApi.getFlags({\n libraryName: 'experiment-node-server',\n libraryVersion: version_1.version,\n evaluationMode: 'local',\n timeoutMillis: FLAG_CONFIG_TIMEOUT,\n });\n if (this.receiver) {\n this.receiver(JSON.stringify(flags));\n }\n return flags;\n });\n }\n setRawReceiver(rawReceiver) {\n this.receiver = rawReceiver;\n }\n}\nexports.FlagConfigFetcher = FlagConfigFetcher;\n"],"names":["this","fetcher","require$$0","require$$1","require$$2","require$$3","require$$4"],"mappings":";;;;;;;;;;;;AACA,IAAI,YAAaA,iBAAI,kBAAIA,gCAAK,aAAc,SAAU,SAAS,YAAY,GAAG,WAAW;AACrF,WAAS,MAAM,OAAO;AAAE,WAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,cAAQ,KAAK;AAAA,IAAE,CAAE;AAAA,EAAI;AAC5G,SAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,aAAS,UAAU,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,KAAK,KAAK,CAAC;AAAA,MAAE,SAAU,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC3F,aAAS,SAAS,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,OAAO,EAAE,KAAK,CAAC;AAAA,MAAI,SAAQ,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC9F,aAAS,KAAK,QAAQ;AAAE,aAAO,OAAO,QAAQ,OAAO,KAAK,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK,WAAW,QAAQ;AAAA,IAAI;AAC9G,UAAM,YAAY,UAAU,MAAM,SAAS,cAAc,CAAE,CAAA,GAAG,KAAI,CAAE;AAAA,EAC5E,CAAK;AACL;AACA,OAAO,eAAeC,QAAAA,WAAS,cAAc,EAAE,OAAO,KAAI,CAAE;AACnCA,QAAAA,UAAA,oBAAG;AAC5B,MAAM,oBAAoBC;AAC1B,MAAM,YAAYC,QAAAA;AAClB,MAAM,SAASC,KAAAA;AACf,MAAM,WAAWC,OAAAA;AACjB,MAAM,WAAWC,OAAAA;AACjB,MAAM,sBAAsB;AAC5B,MAAM,kBAAkB;AAAA,EACpB,YAAY,QAAQ,YAAY,YAAY,SAAS,wBAAwB,WAAW,QAAQ,OAAO;AACnG,SAAK,SAAS;AACd,SAAK,YAAY;AACjB,SAAK,UAAU,IAAI,kBAAkB,WAAW,QAAQ,WAAW,IAAI,OAAO,cAAc,UAAU,CAAC;AACvG,SAAK,SAAS,IAAI,SAAS,cAAc,KAAK;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,QAAQ;AACJ,WAAO,UAAU,MAAM,QAAQ,QAAQ,aAAa;AAChD,YAAM,QAAQ,KAAK,QAAQ,SAAS;AAAA,QAChC,aAAa;AAAA,QACb,gBAAgB,UAAU;AAAA,QAC1B,gBAAgB;AAAA,QAChB,eAAe;AAAA,MAC/B,CAAa;AACD,UAAI,KAAK,UAAU;AACf,aAAK,SAAS,KAAK,UAAU,KAAK,CAAC;AAAA,MACtC;AACD,aAAO;AAAA,IACnB,CAAS;AAAA,EACJ;AAAA,EACD,eAAe,aAAa;AACxB,SAAK,WAAW;AAAA,EACnB;AACL;AACAL,QAAA,UAAA,oBAA4B;;","x_google_ignoreList":[0]}
@@ -0,0 +1,83 @@
1
+ import { commonjsGlobal } from "../../../../../../_virtual/_commonjsHelpers.js";
2
+ import { __exports as fetcher } from "../../../../../../_virtual/fetcher.js";
3
+ import require$$1 from "../../../../../../_virtual/experiment-core.esm.js";
4
+ import "../../gen/version.js";
5
+ import "../transport/http.js";
6
+ import "../types/config.js";
7
+ import "../util/logger.js";
8
+ import { __exports as version } from "../../../../../../_virtual/version.js";
9
+ import { __exports as http } from "../../../../../../_virtual/http.js";
10
+ import { __exports as config } from "../../../../../../_virtual/config.js";
11
+ import { __exports as logger } from "../../../../../../_virtual/logger.js";
12
+ var __awaiter = commonjsGlobal && commonjsGlobal.__awaiter || function(thisArg, _arguments, P, generator) {
13
+ function adopt(value) {
14
+ return value instanceof P ? value : new P(function(resolve) {
15
+ resolve(value);
16
+ });
17
+ }
18
+ return new (P || (P = Promise))(function(resolve, reject) {
19
+ function fulfilled(value) {
20
+ try {
21
+ step(generator.next(value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function rejected(value) {
27
+ try {
28
+ step(generator["throw"](value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ }
33
+ function step(result) {
34
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
35
+ }
36
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
37
+ });
38
+ };
39
+ Object.defineProperty(fetcher, "__esModule", { value: true });
40
+ fetcher.FlagConfigFetcher = void 0;
41
+ const experiment_core_1 = require$$1;
42
+ const version_1 = version;
43
+ const http_1 = http;
44
+ const config_1 = config;
45
+ const logger_1 = logger;
46
+ const FLAG_CONFIG_TIMEOUT = 5e3;
47
+ class FlagConfigFetcher {
48
+ constructor(apiKey, httpClient, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, debug = false) {
49
+ this.apiKey = apiKey;
50
+ this.serverUrl = serverUrl;
51
+ this.flagApi = new experiment_core_1.SdkFlagApi(apiKey, serverUrl, new http_1.WrapperClient(httpClient));
52
+ this.logger = new logger_1.ConsoleLogger(debug);
53
+ }
54
+ /**
55
+ * Fetch local evaluation mode flag configs from the Experiment API server.
56
+ * These flag configs can be used to perform local evaluation.
57
+ *
58
+ * @returns The local evaluation mode flag configs for the initialized
59
+ * environment
60
+ */
61
+ fetch() {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const flags = this.flagApi.getFlags({
64
+ libraryName: "experiment-node-server",
65
+ libraryVersion: version_1.version,
66
+ evaluationMode: "local",
67
+ timeoutMillis: FLAG_CONFIG_TIMEOUT
68
+ });
69
+ if (this.receiver) {
70
+ this.receiver(JSON.stringify(flags));
71
+ }
72
+ return flags;
73
+ });
74
+ }
75
+ setRawReceiver(rawReceiver) {
76
+ this.receiver = rawReceiver;
77
+ }
78
+ }
79
+ fetcher.FlagConfigFetcher = FlagConfigFetcher;
80
+ export {
81
+ fetcher as default
82
+ };
83
+ //# sourceMappingURL=fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.js","sources":["../../../../../../../../../node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js"],"sourcesContent":["\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FlagConfigFetcher = void 0;\nconst experiment_core_1 = require(\"@amplitude/experiment-core\");\nconst version_1 = require(\"../../gen/version\");\nconst http_1 = require(\"../transport/http\");\nconst config_1 = require(\"../types/config\");\nconst logger_1 = require(\"../util/logger\");\nconst FLAG_CONFIG_TIMEOUT = 5000;\nclass FlagConfigFetcher {\n constructor(apiKey, httpClient, serverUrl = config_1.LocalEvaluationDefaults.serverUrl, debug = false) {\n this.apiKey = apiKey;\n this.serverUrl = serverUrl;\n this.flagApi = new experiment_core_1.SdkFlagApi(apiKey, serverUrl, new http_1.WrapperClient(httpClient));\n this.logger = new logger_1.ConsoleLogger(debug);\n }\n /**\n * Fetch local evaluation mode flag configs from the Experiment API server.\n * These flag configs can be used to perform local evaluation.\n *\n * @returns The local evaluation mode flag configs for the initialized\n * environment\n */\n fetch() {\n return __awaiter(this, void 0, void 0, function* () {\n const flags = this.flagApi.getFlags({\n libraryName: 'experiment-node-server',\n libraryVersion: version_1.version,\n evaluationMode: 'local',\n timeoutMillis: FLAG_CONFIG_TIMEOUT,\n });\n if (this.receiver) {\n this.receiver(JSON.stringify(flags));\n }\n return flags;\n });\n }\n setRawReceiver(rawReceiver) {\n this.receiver = rawReceiver;\n }\n}\nexports.FlagConfigFetcher = FlagConfigFetcher;\n"],"names":["this","require$$0","require$$1","require$$2","require$$3","require$$4"],"mappings":";;;;;;;;;;;AACA,IAAI,YAAaA,kBAAQA,eAAK,aAAc,SAAU,SAAS,YAAY,GAAG,WAAW;AACrF,WAAS,MAAM,OAAO;AAAE,WAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,cAAQ,KAAK;AAAA,IAAE,CAAE;AAAA,EAAI;AAC5G,SAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,aAAS,UAAU,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,KAAK,KAAK,CAAC;AAAA,MAAE,SAAU,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC3F,aAAS,SAAS,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,OAAO,EAAE,KAAK,CAAC;AAAA,MAAI,SAAQ,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC9F,aAAS,KAAK,QAAQ;AAAE,aAAO,OAAO,QAAQ,OAAO,KAAK,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK,WAAW,QAAQ;AAAA,IAAI;AAC9G,UAAM,YAAY,UAAU,MAAM,SAAS,cAAc,CAAE,CAAA,GAAG,KAAI,CAAE;AAAA,EAC5E,CAAK;AACL;AACA,OAAO,eAAe,SAAS,cAAc,EAAE,OAAO,KAAI,CAAE;AACnC,QAAA,oBAAG;AAC5B,MAAM,oBAAoBC;AAC1B,MAAM,YAAYC;AAClB,MAAM,SAASC;AACf,MAAM,WAAWC;AACjB,MAAM,WAAWC;AACjB,MAAM,sBAAsB;AAC5B,MAAM,kBAAkB;AAAA,EACpB,YAAY,QAAQ,YAAY,YAAY,SAAS,wBAAwB,WAAW,QAAQ,OAAO;AACnG,SAAK,SAAS;AACd,SAAK,YAAY;AACjB,SAAK,UAAU,IAAI,kBAAkB,WAAW,QAAQ,WAAW,IAAI,OAAO,cAAc,UAAU,CAAC;AACvG,SAAK,SAAS,IAAI,SAAS,cAAc,KAAK;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQD,QAAQ;AACJ,WAAO,UAAU,MAAM,QAAQ,QAAQ,aAAa;AAChD,YAAM,QAAQ,KAAK,QAAQ,SAAS;AAAA,QAChC,aAAa;AAAA,QACb,gBAAgB,UAAU;AAAA,QAC1B,gBAAgB;AAAA,QAChB,eAAe;AAAA,MAC/B,CAAa;AACD,UAAI,KAAK,UAAU;AACf,aAAK,SAAS,KAAK,UAAU,KAAK,CAAC;AAAA,MACtC;AACD,aAAO;AAAA,IACnB,CAAS;AAAA,EACJ;AAAA,EACD,eAAe,aAAa;AACxB,SAAK,WAAW;AAAA,EACnB;AACL;AACA,QAAA,oBAA4B;","x_google_ignoreList":[0]}