unleash-server 5.1.8 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/dist/lib/create-config.js +5 -2
  2. package/dist/lib/create-config.js.map +1 -1
  3. package/dist/lib/db/access-store.d.ts +2 -1
  4. package/dist/lib/db/access-store.js +17 -3
  5. package/dist/lib/db/access-store.js.map +1 -1
  6. package/dist/lib/db/client-metrics-store-v2.js +19 -30
  7. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  8. package/dist/lib/db/context-field-store.d.ts +4 -1
  9. package/dist/lib/db/context-field-store.js +44 -14
  10. package/dist/lib/db/context-field-store.js.map +1 -1
  11. package/dist/lib/db/environment-store.d.ts +1 -0
  12. package/dist/lib/db/environment-store.js +6 -0
  13. package/dist/lib/db/environment-store.js.map +1 -1
  14. package/dist/lib/db/event-store.js +2 -1
  15. package/dist/lib/db/event-store.js.map +1 -1
  16. package/dist/lib/db/feature-strategy-store.d.ts +2 -0
  17. package/dist/lib/db/feature-strategy-store.js +25 -0
  18. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  19. package/dist/lib/db/feature-strategy-store.test.js +75 -0
  20. package/dist/lib/db/feature-strategy-store.test.js.map +1 -0
  21. package/dist/lib/db/group-store.d.ts +1 -1
  22. package/dist/lib/db/group-store.js +2 -2
  23. package/dist/lib/db/group-store.js.map +1 -1
  24. package/dist/lib/db/index.js +2 -2
  25. package/dist/lib/db/index.js.map +1 -1
  26. package/dist/lib/db/project-store.js +2 -1
  27. package/dist/lib/db/project-store.js.map +1 -1
  28. package/dist/lib/db/role-store.js +2 -2
  29. package/dist/lib/db/role-store.js.map +1 -1
  30. package/dist/lib/db/segment-store.d.ts +6 -2
  31. package/dist/lib/db/segment-store.js +27 -6
  32. package/dist/lib/db/segment-store.js.map +1 -1
  33. package/dist/lib/error/no-access-error.d.ts +3 -2
  34. package/dist/lib/error/no-access-error.js +10 -4
  35. package/dist/lib/error/no-access-error.js.map +1 -1
  36. package/dist/lib/error/unleash-error.test.js +8 -2
  37. package/dist/lib/error/unleash-error.test.js.map +1 -1
  38. package/dist/lib/features/access/createAccessService.js +5 -5
  39. package/dist/lib/features/access/createAccessService.js.map +1 -1
  40. package/dist/lib/features/export-import-toggles/createExportImportService.js +4 -2
  41. package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
  42. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.d.ts +1 -0
  43. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js +69 -0
  44. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js.map +1 -0
  45. package/dist/lib/features/export-import-toggles/export-import-controller.js +5 -1
  46. package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
  47. package/dist/lib/features/export-import-toggles/export-import-service.js +7 -2
  48. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  49. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +4 -4
  50. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  51. package/dist/lib/features/playground/advanced-playground.test.d.ts +1 -0
  52. package/dist/lib/features/playground/advanced-playground.test.js +238 -0
  53. package/dist/lib/features/playground/advanced-playground.test.js.map +1 -0
  54. package/dist/lib/{util → features/playground}/feature-evaluator/client.d.ts +3 -2
  55. package/dist/lib/{util → features/playground}/feature-evaluator/client.js +1 -1
  56. package/dist/lib/features/playground/feature-evaluator/client.js.map +1 -0
  57. package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -0
  58. package/dist/lib/features/playground/feature-evaluator/context.js.map +1 -0
  59. package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js.map +1 -0
  60. package/dist/lib/features/playground/feature-evaluator/feature.js.map +1 -0
  61. package/dist/lib/{util → features/playground}/feature-evaluator/helpers.d.ts +1 -1
  62. package/dist/lib/features/playground/feature-evaluator/helpers.js.map +1 -0
  63. package/dist/lib/{util → features/playground}/feature-evaluator/index.d.ts +1 -1
  64. package/dist/lib/{util → features/playground}/feature-evaluator/index.js +2 -2
  65. package/dist/lib/features/playground/feature-evaluator/index.js.map +1 -0
  66. package/dist/lib/features/playground/feature-evaluator/repository/bootstrap-provider.js.map +1 -0
  67. package/dist/lib/features/playground/feature-evaluator/repository/index.js.map +1 -0
  68. package/dist/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.js.map +1 -0
  69. package/dist/lib/features/playground/feature-evaluator/repository/storage-provider.js.map +1 -0
  70. package/dist/lib/features/playground/feature-evaluator/strategy/application-hostname-strategy.js.map +1 -0
  71. package/dist/lib/features/playground/feature-evaluator/strategy/default-strategy.js.map +1 -0
  72. package/dist/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.js.map +1 -0
  73. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -0
  74. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.js.map +1 -0
  75. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.js.map +1 -0
  76. package/dist/lib/features/playground/feature-evaluator/strategy/index.js.map +1 -0
  77. package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js.map +1 -0
  78. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -0
  79. package/dist/lib/{util → features/playground}/feature-evaluator/strategy/unknown-strategy.js +1 -1
  80. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js.map +1 -0
  81. package/dist/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.js.map +1 -0
  82. package/dist/lib/features/playground/feature-evaluator/strategy/util.js.map +1 -0
  83. package/dist/lib/features/playground/feature-evaluator/variant.js.map +1 -0
  84. package/dist/lib/features/playground/generateObjectCombinations.d.ts +7 -0
  85. package/dist/lib/features/playground/generateObjectCombinations.js +16 -0
  86. package/dist/lib/features/playground/generateObjectCombinations.js.map +1 -0
  87. package/dist/lib/features/playground/generateObjectCombinations.test.d.ts +1 -0
  88. package/dist/lib/features/playground/generateObjectCombinations.test.js +33 -0
  89. package/dist/lib/features/playground/generateObjectCombinations.test.js.map +1 -0
  90. package/dist/lib/{util → features/playground}/offline-unleash-client.js +2 -2
  91. package/dist/lib/features/playground/offline-unleash-client.js.map +1 -0
  92. package/dist/lib/{util → features/playground}/offline-unleash-client.test.js +1 -1
  93. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -0
  94. package/dist/lib/features/playground/playground-service.d.ts +34 -0
  95. package/dist/lib/features/playground/playground-service.js +114 -0
  96. package/dist/lib/features/playground/playground-service.js.map +1 -0
  97. package/dist/lib/features/playground/playground-view-model.d.ts +4 -0
  98. package/dist/lib/features/playground/playground-view-model.js +49 -0
  99. package/dist/lib/features/playground/playground-view-model.js.map +1 -0
  100. package/dist/lib/features/playground/playground-view-model.test.d.ts +1 -0
  101. package/dist/lib/features/playground/playground-view-model.test.js +122 -0
  102. package/dist/lib/features/playground/playground-view-model.test.js.map +1 -0
  103. package/dist/lib/features/playground/playground.d.ts +16 -0
  104. package/dist/lib/features/playground/playground.js +78 -0
  105. package/dist/lib/features/playground/playground.js.map +1 -0
  106. package/dist/lib/features/playground/playground.test.d.ts +1 -0
  107. package/dist/lib/{routes/admin-api → features/playground}/playground.test.js +3 -2
  108. package/dist/lib/features/playground/playground.test.js.map +1 -0
  109. package/dist/lib/features/playground/validateQueryComplexity.d.ts +1 -0
  110. package/dist/lib/features/playground/validateQueryComplexity.js +15 -0
  111. package/dist/lib/features/playground/validateQueryComplexity.js.map +1 -0
  112. package/dist/lib/features/playground/validateQueryComplexity.test.d.ts +1 -0
  113. package/dist/lib/features/playground/validateQueryComplexity.test.js +19 -0
  114. package/dist/lib/features/playground/validateQueryComplexity.test.js.map +1 -0
  115. package/dist/lib/middleware/rbac-middleware.d.ts +1 -1
  116. package/dist/lib/middleware/rbac-middleware.js +7 -4
  117. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  118. package/dist/lib/middleware/rbac-middleware.test.js +8 -8
  119. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  120. package/dist/lib/openapi/endpoint-descriptions.d.ts +4 -0
  121. package/dist/lib/openapi/endpoint-descriptions.js +4 -0
  122. package/dist/lib/openapi/endpoint-descriptions.js.map +1 -1
  123. package/dist/lib/openapi/index.js +7 -0
  124. package/dist/lib/openapi/index.js.map +1 -1
  125. package/dist/lib/openapi/meta-schema-rules.test.js +16 -25
  126. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  127. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +652 -0
  128. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +146 -0
  129. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -0
  130. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +1217 -0
  131. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js +51 -0
  132. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js.map +1 -0
  133. package/dist/lib/openapi/spec/advanced-playground-request-schema.d.ts +95 -0
  134. package/dist/lib/openapi/spec/advanced-playground-request-schema.js +49 -0
  135. package/dist/lib/openapi/spec/advanced-playground-request-schema.js.map +1 -0
  136. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +2560 -0
  137. package/dist/lib/openapi/spec/advanced-playground-response-schema.js +50 -0
  138. package/dist/lib/openapi/spec/advanced-playground-response-schema.js.map +1 -0
  139. package/dist/lib/openapi/spec/client-application-schema.d.ts +17 -0
  140. package/dist/lib/openapi/spec/client-application-schema.js +17 -0
  141. package/dist/lib/openapi/spec/client-application-schema.js.map +1 -1
  142. package/dist/lib/openapi/spec/client-feature-schema.d.ts +44 -13
  143. package/dist/lib/openapi/spec/client-feature-schema.js +17 -12
  144. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  145. package/dist/lib/openapi/spec/client-features-query-schema.d.ts +12 -0
  146. package/dist/lib/openapi/spec/client-features-query-schema.js +12 -0
  147. package/dist/lib/openapi/spec/client-features-query-schema.js.map +1 -1
  148. package/dist/lib/openapi/spec/client-features-schema.d.ts +90 -14
  149. package/dist/lib/openapi/spec/client-features-schema.js +7 -0
  150. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  151. package/dist/lib/openapi/spec/client-features-schema.test.js +5 -12
  152. package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
  153. package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -1
  154. package/dist/lib/openapi/spec/client-metrics-schema.js +1 -1
  155. package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
  156. package/dist/lib/openapi/spec/context-field-schema.d.ts +13 -0
  157. package/dist/lib/openapi/spec/context-field-schema.js +13 -0
  158. package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
  159. package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +43 -0
  160. package/dist/lib/openapi/spec/context-field-strategies-schema.js +51 -0
  161. package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -0
  162. package/dist/lib/openapi/spec/context-fields-schema.d.ts +13 -0
  163. package/dist/lib/openapi/spec/create-application-schema.d.ts +0 -1
  164. package/dist/lib/openapi/spec/create-application-schema.js +0 -1
  165. package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
  166. package/dist/lib/openapi/spec/export-result-schema.d.ts +137 -4
  167. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +22 -1
  168. package/dist/lib/openapi/spec/feature-schema.d.ts +49 -2
  169. package/dist/lib/openapi/spec/feature-schema.test.js +1 -1
  170. package/dist/lib/openapi/spec/feature-schema.test.js.map +1 -1
  171. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +1 -1
  172. package/dist/lib/openapi/spec/feature-strategy-schema.js +1 -1
  173. package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
  174. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +26 -0
  175. package/dist/lib/openapi/spec/features-schema.d.ts +98 -4
  176. package/dist/lib/openapi/spec/health-check-schema.d.ts +3 -0
  177. package/dist/lib/openapi/spec/health-check-schema.js +3 -0
  178. package/dist/lib/openapi/spec/health-check-schema.js.map +1 -1
  179. package/dist/lib/openapi/spec/health-overview-schema.d.ts +105 -4
  180. package/dist/lib/openapi/spec/health-overview-schema.js +7 -0
  181. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  182. package/dist/lib/openapi/spec/health-report-schema.d.ts +105 -4
  183. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +274 -8
  184. package/dist/lib/openapi/spec/index.d.ts +3 -0
  185. package/dist/lib/openapi/spec/index.js +3 -0
  186. package/dist/lib/openapi/spec/index.js.map +1 -1
  187. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +65 -2
  188. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +65 -2
  189. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  190. package/dist/lib/openapi/spec/override-schema.d.ts +5 -0
  191. package/dist/lib/openapi/spec/override-schema.js +5 -0
  192. package/dist/lib/openapi/spec/override-schema.js.map +1 -1
  193. package/dist/lib/openapi/spec/password-schema.d.ts +3 -0
  194. package/dist/lib/openapi/spec/password-schema.js +3 -0
  195. package/dist/lib/openapi/spec/password-schema.js.map +1 -1
  196. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +41 -1
  197. package/dist/lib/openapi/spec/playground-feature-schema.js +6 -1
  198. package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
  199. package/dist/lib/openapi/spec/playground-feature-schema.test.js +3 -0
  200. package/dist/lib/openapi/spec/playground-feature-schema.test.js.map +1 -1
  201. package/dist/lib/openapi/spec/playground-request-schema.d.ts +7 -1
  202. package/dist/lib/openapi/spec/playground-request-schema.js +1 -1
  203. package/dist/lib/openapi/spec/playground-request-schema.js.map +1 -1
  204. package/dist/lib/openapi/spec/playground-response-schema.d.ts +93 -3
  205. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +13 -1
  206. package/dist/lib/openapi/spec/playground-strategy-schema.js +13 -0
  207. package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
  208. package/dist/lib/openapi/spec/profile-schema.d.ts +49 -2
  209. package/dist/lib/openapi/spec/project-overview-schema.d.ts +104 -4
  210. package/dist/lib/openapi/spec/project-overview-schema.js +6 -0
  211. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  212. package/dist/lib/openapi/spec/push-variants-schema.d.ts +26 -0
  213. package/dist/lib/openapi/spec/sdk-context-schema.d.ts +6 -0
  214. package/dist/lib/openapi/spec/sdk-context-schema.js +14 -2
  215. package/dist/lib/openapi/spec/sdk-context-schema.js.map +1 -1
  216. package/dist/lib/openapi/spec/state-schema.d.ts +72 -4
  217. package/dist/lib/openapi/spec/variant-schema.d.ts +21 -0
  218. package/dist/lib/openapi/spec/variant-schema.js +13 -0
  219. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  220. package/dist/lib/openapi/spec/variants-schema.d.ts +26 -0
  221. package/dist/lib/openapi/util/create-response-schema.d.ts +1 -0
  222. package/dist/lib/openapi/util/create-response-schema.js +7 -1
  223. package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
  224. package/dist/lib/proxy/proxy-repository.js +1 -1
  225. package/dist/lib/proxy/proxy-repository.js.map +1 -1
  226. package/dist/lib/routes/admin-api/api-token.d.ts +2 -0
  227. package/dist/lib/routes/admin-api/api-token.js +120 -11
  228. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  229. package/dist/lib/routes/admin-api/context.d.ts +3 -0
  230. package/dist/lib/routes/admin-api/context.js +21 -0
  231. package/dist/lib/routes/admin-api/context.js.map +1 -1
  232. package/dist/lib/routes/admin-api/index.js +1 -1
  233. package/dist/lib/routes/admin-api/index.js.map +1 -1
  234. package/dist/lib/routes/admin-api/instance-admin.d.ts +3 -1
  235. package/dist/lib/routes/admin-api/instance-admin.js +41 -0
  236. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  237. package/dist/lib/routes/admin-api/metrics.test.js +12 -0
  238. package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
  239. package/dist/lib/routes/admin-api/project/api-token.js +7 -0
  240. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  241. package/dist/lib/routes/admin-api/user/user.js +5 -4
  242. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  243. package/dist/lib/routes/admin-api/user/user.test.js +30 -5
  244. package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
  245. package/dist/lib/routes/admin-api/user-admin.js +0 -1
  246. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  247. package/dist/lib/routes/client-api/feature.js +4 -0
  248. package/dist/lib/routes/client-api/feature.js.map +1 -1
  249. package/dist/lib/routes/client-api/metrics.js +2 -0
  250. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  251. package/dist/lib/routes/client-api/register.js +2 -0
  252. package/dist/lib/routes/client-api/register.js.map +1 -1
  253. package/dist/lib/routes/controller.d.ts +8 -7
  254. package/dist/lib/routes/controller.js +11 -10
  255. package/dist/lib/routes/controller.js.map +1 -1
  256. package/dist/lib/routes/health-check.js +2 -0
  257. package/dist/lib/routes/health-check.js.map +1 -1
  258. package/dist/lib/server-impl.js +1 -1
  259. package/dist/lib/server-impl.js.map +1 -1
  260. package/dist/lib/services/access-service.d.ts +6 -4
  261. package/dist/lib/services/access-service.js +47 -11
  262. package/dist/lib/services/access-service.js.map +1 -1
  263. package/dist/lib/services/access-service.test.js +39 -22
  264. package/dist/lib/services/access-service.test.js.map +1 -1
  265. package/dist/lib/services/api-token-service.d.ts +1 -0
  266. package/dist/lib/services/api-token-service.js +3 -0
  267. package/dist/lib/services/api-token-service.js.map +1 -1
  268. package/dist/lib/services/context-service.d.ts +4 -1
  269. package/dist/lib/services/context-service.js +14 -1
  270. package/dist/lib/services/context-service.js.map +1 -1
  271. package/dist/lib/services/feature-toggle-service.d.ts +1 -1
  272. package/dist/lib/services/feature-toggle-service.js +6 -7
  273. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  274. package/dist/lib/services/group-service.js +1 -3
  275. package/dist/lib/services/group-service.js.map +1 -1
  276. package/dist/lib/services/index.d.ts +1 -1
  277. package/dist/lib/services/index.js +1 -1
  278. package/dist/lib/services/index.js.map +1 -1
  279. package/dist/lib/services/instance-stats-service.d.ts +2 -3
  280. package/dist/lib/services/project-service.js +1 -0
  281. package/dist/lib/services/project-service.js.map +1 -1
  282. package/dist/lib/services/user-service.d.ts +1 -0
  283. package/dist/lib/services/user-service.js +8 -0
  284. package/dist/lib/services/user-service.js.map +1 -1
  285. package/dist/lib/services/version-service.d.ts +37 -1
  286. package/dist/lib/services/version-service.js +76 -5
  287. package/dist/lib/services/version-service.js.map +1 -1
  288. package/dist/lib/services/version-service.test.js +196 -9
  289. package/dist/lib/services/version-service.test.js.map +1 -1
  290. package/dist/lib/types/experimental.d.ts +1 -1
  291. package/dist/lib/types/experimental.js +6 -2
  292. package/dist/lib/types/experimental.js.map +1 -1
  293. package/dist/lib/types/model.d.ts +9 -4
  294. package/dist/lib/types/model.js +1 -0
  295. package/dist/lib/types/model.js.map +1 -1
  296. package/dist/lib/types/option.d.ts +2 -0
  297. package/dist/lib/types/permissions.d.ts +34 -27
  298. package/dist/lib/types/permissions.js +85 -29
  299. package/dist/lib/types/permissions.js.map +1 -1
  300. package/dist/lib/types/services.d.ts +1 -1
  301. package/dist/lib/types/stores/access-store.d.ts +1 -1
  302. package/dist/lib/types/stores/context-field-store.d.ts +2 -0
  303. package/dist/lib/types/stores/environment-store.d.ts +1 -0
  304. package/dist/lib/types/stores/feature-strategies-store.d.ts +2 -0
  305. package/dist/lib/types/stores/feature-toggle-store.d.ts +1 -1
  306. package/dist/lib/types/stores/group-store.d.ts +1 -1
  307. package/dist/lib/util/constants.d.ts +7 -1
  308. package/dist/lib/util/constants.js +8 -2
  309. package/dist/lib/util/constants.js.map +1 -1
  310. package/dist/lib/util/ensureArray.d.ts +1 -0
  311. package/dist/lib/util/ensureArray.js +8 -0
  312. package/dist/lib/util/ensureArray.js.map +1 -0
  313. package/dist/lib/util/index.d.ts +1 -1
  314. package/dist/lib/util/index.js +1 -1
  315. package/dist/lib/util/index.js.map +1 -1
  316. package/dist/migrations/20230615122909-fix-env-sort-order.d.ts +2 -0
  317. package/dist/migrations/20230615122909-fix-env-sort-order.js +28 -0
  318. package/dist/migrations/20230615122909-fix-env-sort-order.js.map +1 -0
  319. package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.d.ts +2 -0
  320. package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.js +26 -0
  321. package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.js.map +1 -0
  322. package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.d.ts +2 -0
  323. package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.js +23 -0
  324. package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.js.map +1 -0
  325. package/dist/migrations/20230621141239-refactor-api-token-permissions.d.ts +2 -0
  326. package/dist/migrations/20230621141239-refactor-api-token-permissions.js +19 -0
  327. package/dist/migrations/20230621141239-refactor-api-token-permissions.js.map +1 -0
  328. package/dist/server-dev.js +3 -3
  329. package/dist/server-dev.js.map +1 -1
  330. package/dist/test/arbitraries.test.js +3 -1
  331. package/dist/test/arbitraries.test.js.map +1 -1
  332. package/dist/test/config/test-config.js +0 -1
  333. package/dist/test/config/test-config.js.map +1 -1
  334. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +542 -3
  335. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  336. package/dist/test/e2e/api/admin/api-token.e2e.test.js +14 -1
  337. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  338. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +1 -8
  339. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  340. package/dist/test/e2e/api/admin/context.e2e.test.js +47 -1
  341. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  342. package/dist/test/e2e/api/admin/project/features.e2e.test.js +14 -14
  343. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  344. package/dist/test/e2e/api/admin/project/projects.e2e.test.js +14 -0
  345. package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -1
  346. package/dist/test/e2e/helpers/test-helper.d.ts +1 -1
  347. package/dist/test/e2e/helpers/test-helper.js +4 -2
  348. package/dist/test/e2e/helpers/test-helper.js.map +1 -1
  349. package/dist/test/e2e/services/access-service.e2e.test.js +1 -1
  350. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  351. package/dist/test/e2e/services/playground-service.test.js +2 -2
  352. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  353. package/dist/test/fixtures/access-service-mock.js +1 -1
  354. package/dist/test/fixtures/access-service-mock.js.map +1 -1
  355. package/dist/test/fixtures/fake-access-store.d.ts +5 -3
  356. package/dist/test/fixtures/fake-access-store.js +24 -9
  357. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  358. package/dist/test/fixtures/fake-environment-store.d.ts +1 -0
  359. package/dist/test/fixtures/fake-environment-store.js +3 -0
  360. package/dist/test/fixtures/fake-environment-store.js.map +1 -1
  361. package/dist/test/fixtures/fake-feature-strategies-store.d.ts +2 -0
  362. package/dist/test/fixtures/fake-feature-strategies-store.js +7 -0
  363. package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
  364. package/dist/test/fixtures/fake-group-store.d.ts +1 -1
  365. package/dist/test/fixtures/fake-group-store.js +1 -1
  366. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  367. package/dist/test/fixtures/fake-role-store.d.ts +1 -1
  368. package/dist/test/fixtures/fake-role-store.js +9 -4
  369. package/dist/test/fixtures/fake-role-store.js.map +1 -1
  370. package/frontend/build/index.html +1 -1
  371. package/frontend/build/static/AdvancedPlayground-520a25e1.js +1 -0
  372. package/frontend/build/static/CreateProject-c430691b.js +4 -0
  373. package/frontend/build/static/{Error-5606eccd.js → Error-492e8b38.js} +1 -1
  374. package/frontend/build/static/FeatureArchiveDialog-70daa567.js +10 -0
  375. package/frontend/build/static/{FeatureMetricsChart-1c6bb078.js → FeatureMetricsChart-bc99b364.js} +2 -2
  376. package/frontend/build/static/FeatureViewLazyExport-01d70575.js +7 -0
  377. package/frontend/build/static/LazyAdminExport-e2c90193.js +37 -0
  378. package/frontend/build/static/LazyProjectExport-fa62d2fe.js +13 -0
  379. package/frontend/build/static/NetworkOverview-3b72e4ea.js +1298 -0
  380. package/frontend/build/static/NetworkTraffic-365db744.js +1 -0
  381. package/frontend/build/static/Playground-b473b399.js +1 -0
  382. package/frontend/build/static/{Playground-6602cb1a.js → PlaygroundGuidancePopper-8e3e97db.js} +12 -12
  383. package/frontend/build/static/RoleCell-9bb513a8.js +1 -0
  384. package/frontend/build/static/StrategyItemContainer-1f7503c7.js +1 -0
  385. package/frontend/build/static/{chartjs-adapter-date-fns.esm-c75aa905.js → chartjs-adapter-date-fns.esm-db338d44.js} +1 -1
  386. package/frontend/build/static/flowchart-elk-definition-170a3958-a428dd25.js +134 -0
  387. package/frontend/build/static/index-0a56292a.js +450 -0
  388. package/frontend/build/static/{index-b3def5eb.js → index-d362ae7a.js} +1 -1
  389. package/frontend/build/static/{index-f8439975.js → index-dc5debe9.js} +1 -1
  390. package/frontend/build/static/is_dark-884249e0.js +1 -0
  391. package/frontend/build/static/mindmap-definition-44684416-3c9425ff.js +101 -0
  392. package/frontend/build/static/stringify-ec884b6d.js +1 -0
  393. package/frontend/build/static/timeline-definition-8e5a9bc6-d289cd6d.js +62 -0
  394. package/frontend/build/static/{unknownify-6683037a.js → unknownify-5b23bf29.js} +1 -1
  395. package/frontend/package.json +18 -17
  396. package/package.json +16 -13
  397. package/dist/lib/routes/admin-api/playground.d.ts +0 -12
  398. package/dist/lib/routes/admin-api/playground.js +0 -46
  399. package/dist/lib/routes/admin-api/playground.js.map +0 -1
  400. package/dist/lib/routes/admin-api/playground.test.js.map +0 -1
  401. package/dist/lib/services/playground-service.d.ts +0 -12
  402. package/dist/lib/services/playground-service.js +0 -65
  403. package/dist/lib/services/playground-service.js.map +0 -1
  404. package/dist/lib/util/feature-evaluator/client.js.map +0 -1
  405. package/dist/lib/util/feature-evaluator/constraint.js.map +0 -1
  406. package/dist/lib/util/feature-evaluator/context.js.map +0 -1
  407. package/dist/lib/util/feature-evaluator/feature-evaluator.js.map +0 -1
  408. package/dist/lib/util/feature-evaluator/feature.js.map +0 -1
  409. package/dist/lib/util/feature-evaluator/helpers.js.map +0 -1
  410. package/dist/lib/util/feature-evaluator/index.js.map +0 -1
  411. package/dist/lib/util/feature-evaluator/repository/bootstrap-provider.js.map +0 -1
  412. package/dist/lib/util/feature-evaluator/repository/index.js.map +0 -1
  413. package/dist/lib/util/feature-evaluator/repository/storage-provider-in-mem.js.map +0 -1
  414. package/dist/lib/util/feature-evaluator/repository/storage-provider.js.map +0 -1
  415. package/dist/lib/util/feature-evaluator/strategy/application-hostname-strategy.js.map +0 -1
  416. package/dist/lib/util/feature-evaluator/strategy/default-strategy.js.map +0 -1
  417. package/dist/lib/util/feature-evaluator/strategy/flexible-rollout-strategy.js.map +0 -1
  418. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-random.js.map +0 -1
  419. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-session-id.js.map +0 -1
  420. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-user-id.js.map +0 -1
  421. package/dist/lib/util/feature-evaluator/strategy/index.js.map +0 -1
  422. package/dist/lib/util/feature-evaluator/strategy/remote-address-strategy.js.map +0 -1
  423. package/dist/lib/util/feature-evaluator/strategy/strategy.js.map +0 -1
  424. package/dist/lib/util/feature-evaluator/strategy/unknown-strategy.js.map +0 -1
  425. package/dist/lib/util/feature-evaluator/strategy/user-with-id-strategy.js.map +0 -1
  426. package/dist/lib/util/feature-evaluator/strategy/util.js.map +0 -1
  427. package/dist/lib/util/feature-evaluator/variant.js.map +0 -1
  428. package/dist/lib/util/offline-unleash-client.js.map +0 -1
  429. package/dist/lib/util/offline-unleash-client.test.js.map +0 -1
  430. package/frontend/build/static/CreateProject-217f67b6.js +0 -4
  431. package/frontend/build/static/FeatureArchiveDialog-c311c641.js +0 -4
  432. package/frontend/build/static/FeatureViewLazyExport-06cf4baa.js +0 -7
  433. package/frontend/build/static/LazyAdminExport-04c8032d.js +0 -43
  434. package/frontend/build/static/LazyProjectExport-d9663a8c.js +0 -19
  435. package/frontend/build/static/NetworkOverview-2bce4916.js +0 -1296
  436. package/frontend/build/static/NetworkTraffic-7db94d86.js +0 -1
  437. package/frontend/build/static/StrategyItemContainer-0140b94f.js +0 -1
  438. package/frontend/build/static/index-1f392976.js +0 -450
  439. package/frontend/build/static/useProjectRole-122ac4bb.js +0 -1
  440. package/frontend/build/static/v4-a960c1f4.js +0 -1
  441. /package/dist/lib/{routes/admin-api/playground.test.d.ts → db/feature-strategy-store.test.d.ts} +0 -0
  442. /package/dist/lib/{util → features/playground}/feature-evaluator/constraint.d.ts +0 -0
  443. /package/dist/lib/{util → features/playground}/feature-evaluator/constraint.js +0 -0
  444. /package/dist/lib/{util → features/playground}/feature-evaluator/context.d.ts +0 -0
  445. /package/dist/lib/{util → features/playground}/feature-evaluator/context.js +0 -0
  446. /package/dist/lib/{util → features/playground}/feature-evaluator/feature-evaluator.d.ts +0 -0
  447. /package/dist/lib/{util → features/playground}/feature-evaluator/feature-evaluator.js +0 -0
  448. /package/dist/lib/{util → features/playground}/feature-evaluator/feature.d.ts +0 -0
  449. /package/dist/lib/{util → features/playground}/feature-evaluator/feature.js +0 -0
  450. /package/dist/lib/{util → features/playground}/feature-evaluator/helpers.js +0 -0
  451. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/bootstrap-provider.d.ts +0 -0
  452. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/bootstrap-provider.js +0 -0
  453. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/index.d.ts +0 -0
  454. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/index.js +0 -0
  455. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider-in-mem.d.ts +0 -0
  456. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider-in-mem.js +0 -0
  457. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider.d.ts +0 -0
  458. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider.js +0 -0
  459. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/application-hostname-strategy.d.ts +0 -0
  460. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/application-hostname-strategy.js +0 -0
  461. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/default-strategy.d.ts +0 -0
  462. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/default-strategy.js +0 -0
  463. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/flexible-rollout-strategy.d.ts +0 -0
  464. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/flexible-rollout-strategy.js +0 -0
  465. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-random.d.ts +0 -0
  466. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-random.js +0 -0
  467. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-session-id.d.ts +0 -0
  468. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-session-id.js +0 -0
  469. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-user-id.d.ts +0 -0
  470. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-user-id.js +0 -0
  471. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/index.d.ts +0 -0
  472. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/index.js +0 -0
  473. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/remote-address-strategy.d.ts +0 -0
  474. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/remote-address-strategy.js +0 -0
  475. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/strategy.d.ts +0 -0
  476. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/strategy.js +0 -0
  477. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/unknown-strategy.d.ts +0 -0
  478. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/user-with-id-strategy.d.ts +0 -0
  479. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/user-with-id-strategy.js +0 -0
  480. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/util.d.ts +0 -0
  481. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/util.js +0 -0
  482. /package/dist/lib/{util → features/playground}/feature-evaluator/variant.d.ts +0 -0
  483. /package/dist/lib/{util → features/playground}/feature-evaluator/variant.js +0 -0
  484. /package/dist/lib/{util → features/playground}/offline-unleash-client.d.ts +0 -0
  485. /package/dist/lib/{util → features/playground}/offline-unleash-client.test.d.ts +0 -0
@@ -22,23 +22,34 @@ export declare const pushVariantsSchema: {
22
22
  readonly $id: "#/components/schemas/variantSchema";
23
23
  readonly type: "object";
24
24
  readonly additionalProperties: false;
25
+ readonly description: "A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) for a more detailed description";
25
26
  readonly required: readonly ["name", "weight"];
26
27
  readonly properties: {
27
28
  readonly name: {
28
29
  readonly type: "string";
30
+ readonly description: "The variants name. Is unique for this feature toggle";
31
+ readonly example: "blue_group";
29
32
  };
30
33
  readonly weight: {
31
34
  readonly type: "number";
35
+ readonly description: "The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information";
36
+ readonly minimum: 0;
37
+ readonly maximum: 1000;
32
38
  };
33
39
  readonly weightType: {
40
+ readonly description: "Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000";
34
41
  readonly type: "string";
42
+ readonly example: "fix";
35
43
  };
36
44
  readonly stickiness: {
37
45
  readonly type: "string";
46
+ readonly description: "[Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time";
47
+ readonly example: "custom.context.field";
38
48
  };
39
49
  readonly payload: {
40
50
  readonly type: "object";
41
51
  readonly required: readonly ["type", "value"];
52
+ readonly description: "Extra data configured for this variant";
42
53
  readonly properties: {
43
54
  readonly type: {
44
55
  readonly type: "string";
@@ -47,8 +58,13 @@ export declare const pushVariantsSchema: {
47
58
  readonly type: "string";
48
59
  };
49
60
  };
61
+ readonly example: {
62
+ readonly type: "json";
63
+ readonly value: "{color: red}";
64
+ };
50
65
  };
51
66
  readonly overrides: {
67
+ readonly description: "Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.";
52
68
  readonly type: "array";
53
69
  readonly items: {
54
70
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -62,15 +78,20 @@ export declare const pushVariantsSchema: {
62
78
  readonly type: "object";
63
79
  readonly additionalProperties: false;
64
80
  readonly required: readonly ["contextName", "values"];
81
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
65
82
  readonly properties: {
66
83
  readonly contextName: {
84
+ readonly description: "The name of the context field used to determine overrides";
67
85
  readonly type: "string";
86
+ readonly example: "userId";
68
87
  };
69
88
  readonly values: {
89
+ readonly description: "Which values that should be overriden";
70
90
  readonly type: "array";
71
91
  readonly items: {
72
92
  readonly type: "string";
73
93
  };
94
+ readonly example: readonly ["red", "blue"];
74
95
  };
75
96
  };
76
97
  readonly components: {};
@@ -83,15 +104,20 @@ export declare const pushVariantsSchema: {
83
104
  readonly type: "object";
84
105
  readonly additionalProperties: false;
85
106
  readonly required: readonly ["contextName", "values"];
107
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
86
108
  readonly properties: {
87
109
  readonly contextName: {
110
+ readonly description: "The name of the context field used to determine overrides";
88
111
  readonly type: "string";
112
+ readonly example: "userId";
89
113
  };
90
114
  readonly values: {
115
+ readonly description: "Which values that should be overriden";
91
116
  readonly type: "array";
92
117
  readonly items: {
93
118
  readonly type: "string";
94
119
  };
120
+ readonly example: readonly ["red", "blue"];
95
121
  };
96
122
  };
97
123
  readonly components: {};
@@ -10,15 +10,18 @@ export declare const sdkContextSchema: {
10
10
  readonly type: "string";
11
11
  readonly minLength: 1;
12
12
  readonly example: "My cool application.";
13
+ readonly description: "The name of the application.";
13
14
  };
14
15
  readonly currentTime: {
15
16
  readonly type: "string";
16
17
  readonly format: "date-time";
17
18
  readonly example: "2022-07-05T12:56:41+02:00";
19
+ readonly description: "A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user.";
18
20
  };
19
21
  readonly environment: {
20
22
  readonly type: "string";
21
23
  readonly deprecated: true;
24
+ readonly description: "The environment the app is running in.";
22
25
  };
23
26
  readonly properties: {
24
27
  readonly type: "object";
@@ -33,14 +36,17 @@ export declare const sdkContextSchema: {
33
36
  readonly remoteAddress: {
34
37
  readonly type: "string";
35
38
  readonly example: "192.168.1.1";
39
+ readonly description: "The app's IP address";
36
40
  };
37
41
  readonly sessionId: {
38
42
  readonly type: "string";
39
43
  readonly example: "b65e7b23-fec0-4814-a129-0e9861ef18fc";
44
+ readonly description: "An identifier for the current session";
40
45
  };
41
46
  readonly userId: {
42
47
  readonly type: "string";
43
48
  readonly example: "username@provider.com";
49
+ readonly description: "An identifier for the current user";
44
50
  };
45
51
  };
46
52
  readonly components: {};
@@ -12,13 +12,19 @@ exports.sdkContextSchema = {
12
12
  type: 'string',
13
13
  minLength: 1,
14
14
  example: 'My cool application.',
15
+ description: 'The name of the application.',
15
16
  },
16
17
  currentTime: {
17
18
  type: 'string',
18
19
  format: 'date-time',
19
20
  example: '2022-07-05T12:56:41+02:00',
21
+ description: 'A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user.',
22
+ },
23
+ environment: {
24
+ type: 'string',
25
+ deprecated: true,
26
+ description: 'The environment the app is running in.',
20
27
  },
21
- environment: { type: 'string', deprecated: true },
22
28
  properties: {
23
29
  type: 'object',
24
30
  additionalProperties: { type: 'string' },
@@ -30,12 +36,18 @@ exports.sdkContextSchema = {
30
36
  remoteAddress: {
31
37
  type: 'string',
32
38
  example: '192.168.1.1',
39
+ description: "The app's IP address",
33
40
  },
34
41
  sessionId: {
35
42
  type: 'string',
36
43
  example: 'b65e7b23-fec0-4814-a129-0e9861ef18fc',
44
+ description: 'An identifier for the current session',
45
+ },
46
+ userId: {
47
+ type: 'string',
48
+ example: 'username@provider.com',
49
+ description: 'An identifier for the current user',
37
50
  },
38
- userId: { type: 'string', example: 'username@provider.com' },
39
51
  },
40
52
  components: {},
41
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-context-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/sdk-context-schema.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG;IAC5B,GAAG,EAAE,uCAAuC;IAC5C,WAAW,EAAE,+CAA+C;IAC5D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,UAAU,EAAE;QACR,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,sBAAsB;SAClC;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,2BAA2B;SACvC;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;QACjD,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,OAAO,EAAE;gBACL,kBAAkB,EAAE,cAAc;gBAClC,gBAAgB,EAAE,GAAG;aACxB;SACJ;QACD,aAAa,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACzB;QACD,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sCAAsC;SAClD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;KAC/D;IACD,UAAU,EAAE,EAAE;CACR,CAAC"}
1
+ {"version":3,"file":"sdk-context-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/sdk-context-schema.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG;IAC5B,GAAG,EAAE,uCAAuC;IAC5C,WAAW,EAAE,+CAA+C;IAC5D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,UAAU,EAAE;QACR,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EAAE,8BAA8B;SAC9C;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,2BAA2B;YACpC,WAAW,EACP,+IAA+I;SACtJ;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,wCAAwC;SACxD;QACD,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,OAAO,EAAE;gBACL,kBAAkB,EAAE,cAAc;gBAClC,gBAAgB,EAAE,GAAG;aACxB;SACJ;QACD,aAAa,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,sBAAsB;SACtC;QACD,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sCAAsC;YAC/C,WAAW,EAAE,uCAAuC;SACvD;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,oCAAoC;SACpD;KACJ;IACD,UAAU,EAAE,EAAE;CACR,CAAC"}
@@ -334,7 +334,7 @@ export declare const stateSchema: {
334
334
  };
335
335
  readonly featureStrategySchema: {
336
336
  readonly $id: "#/components/schemas/featureStrategySchema";
337
- readonly description: "A singles activation strategy configuration schema for a feature";
337
+ readonly description: "A single activation strategy configuration schema for a feature";
338
338
  readonly type: "object";
339
339
  readonly additionalProperties: false;
340
340
  readonly required: readonly ["name"];
@@ -451,23 +451,34 @@ export declare const stateSchema: {
451
451
  readonly $id: "#/components/schemas/variantSchema";
452
452
  readonly type: "object";
453
453
  readonly additionalProperties: false;
454
+ readonly description: "A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) for a more detailed description";
454
455
  readonly required: readonly ["name", "weight"];
455
456
  readonly properties: {
456
457
  readonly name: {
457
458
  readonly type: "string";
459
+ readonly description: "The variants name. Is unique for this feature toggle";
460
+ readonly example: "blue_group";
458
461
  };
459
462
  readonly weight: {
460
463
  readonly type: "number";
464
+ readonly description: "The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information";
465
+ readonly minimum: 0;
466
+ readonly maximum: 1000;
461
467
  };
462
468
  readonly weightType: {
469
+ readonly description: "Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000";
463
470
  readonly type: "string";
471
+ readonly example: "fix";
464
472
  };
465
473
  readonly stickiness: {
466
474
  readonly type: "string";
475
+ readonly description: "[Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time";
476
+ readonly example: "custom.context.field";
467
477
  };
468
478
  readonly payload: {
469
479
  readonly type: "object";
470
480
  readonly required: readonly ["type", "value"];
481
+ readonly description: "Extra data configured for this variant";
471
482
  readonly properties: {
472
483
  readonly type: {
473
484
  readonly type: "string";
@@ -476,8 +487,13 @@ export declare const stateSchema: {
476
487
  readonly type: "string";
477
488
  };
478
489
  };
490
+ readonly example: {
491
+ readonly type: "json";
492
+ readonly value: "{color: red}";
493
+ };
479
494
  };
480
495
  readonly overrides: {
496
+ readonly description: "Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.";
481
497
  readonly type: "array";
482
498
  readonly items: {
483
499
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -491,15 +507,20 @@ export declare const stateSchema: {
491
507
  readonly type: "object";
492
508
  readonly additionalProperties: false;
493
509
  readonly required: readonly ["contextName", "values"];
510
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
494
511
  readonly properties: {
495
512
  readonly contextName: {
513
+ readonly description: "The name of the context field used to determine overrides";
496
514
  readonly type: "string";
515
+ readonly example: "userId";
497
516
  };
498
517
  readonly values: {
518
+ readonly description: "Which values that should be overriden";
499
519
  readonly type: "array";
500
520
  readonly items: {
501
521
  readonly type: "string";
502
522
  };
523
+ readonly example: readonly ["red", "blue"];
503
524
  };
504
525
  };
505
526
  readonly components: {};
@@ -512,7 +533,7 @@ export declare const stateSchema: {
512
533
  };
513
534
  readonly featureStrategySchema: {
514
535
  readonly $id: "#/components/schemas/featureStrategySchema";
515
- readonly description: "A singles activation strategy configuration schema for a feature";
536
+ readonly description: "A single activation strategy configuration schema for a feature";
516
537
  readonly type: "object";
517
538
  readonly additionalProperties: false;
518
539
  readonly required: readonly ["name"];
@@ -630,15 +651,20 @@ export declare const stateSchema: {
630
651
  readonly type: "object";
631
652
  readonly additionalProperties: false;
632
653
  readonly required: readonly ["contextName", "values"];
654
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
633
655
  readonly properties: {
634
656
  readonly contextName: {
657
+ readonly description: "The name of the context field used to determine overrides";
635
658
  readonly type: "string";
659
+ readonly example: "userId";
636
660
  };
637
661
  readonly values: {
662
+ readonly description: "Which values that should be overriden";
638
663
  readonly type: "array";
639
664
  readonly items: {
640
665
  readonly type: "string";
641
666
  };
667
+ readonly example: readonly ["red", "blue"];
642
668
  };
643
669
  };
644
670
  readonly components: {};
@@ -655,23 +681,34 @@ export declare const stateSchema: {
655
681
  readonly $id: "#/components/schemas/variantSchema";
656
682
  readonly type: "object";
657
683
  readonly additionalProperties: false;
684
+ readonly description: "A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) for a more detailed description";
658
685
  readonly required: readonly ["name", "weight"];
659
686
  readonly properties: {
660
687
  readonly name: {
661
688
  readonly type: "string";
689
+ readonly description: "The variants name. Is unique for this feature toggle";
690
+ readonly example: "blue_group";
662
691
  };
663
692
  readonly weight: {
664
693
  readonly type: "number";
694
+ readonly description: "The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information";
695
+ readonly minimum: 0;
696
+ readonly maximum: 1000;
665
697
  };
666
698
  readonly weightType: {
699
+ readonly description: "Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000";
667
700
  readonly type: "string";
701
+ readonly example: "fix";
668
702
  };
669
703
  readonly stickiness: {
670
704
  readonly type: "string";
705
+ readonly description: "[Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time";
706
+ readonly example: "custom.context.field";
671
707
  };
672
708
  readonly payload: {
673
709
  readonly type: "object";
674
710
  readonly required: readonly ["type", "value"];
711
+ readonly description: "Extra data configured for this variant";
675
712
  readonly properties: {
676
713
  readonly type: {
677
714
  readonly type: "string";
@@ -680,8 +717,13 @@ export declare const stateSchema: {
680
717
  readonly type: "string";
681
718
  };
682
719
  };
720
+ readonly example: {
721
+ readonly type: "json";
722
+ readonly value: "{color: red}";
723
+ };
683
724
  };
684
725
  readonly overrides: {
726
+ readonly description: "Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.";
685
727
  readonly type: "array";
686
728
  readonly items: {
687
729
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -695,15 +737,20 @@ export declare const stateSchema: {
695
737
  readonly type: "object";
696
738
  readonly additionalProperties: false;
697
739
  readonly required: readonly ["contextName", "values"];
740
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
698
741
  readonly properties: {
699
742
  readonly contextName: {
743
+ readonly description: "The name of the context field used to determine overrides";
700
744
  readonly type: "string";
745
+ readonly example: "userId";
701
746
  };
702
747
  readonly values: {
748
+ readonly description: "Which values that should be overriden";
703
749
  readonly type: "array";
704
750
  readonly items: {
705
751
  readonly type: "string";
706
752
  };
753
+ readonly example: readonly ["red", "blue"];
707
754
  };
708
755
  };
709
756
  readonly components: {};
@@ -886,7 +933,7 @@ export declare const stateSchema: {
886
933
  };
887
934
  readonly featureStrategySchema: {
888
935
  readonly $id: "#/components/schemas/featureStrategySchema";
889
- readonly description: "A singles activation strategy configuration schema for a feature";
936
+ readonly description: "A single activation strategy configuration schema for a feature";
890
937
  readonly type: "object";
891
938
  readonly additionalProperties: false;
892
939
  readonly required: readonly ["name"];
@@ -1107,7 +1154,7 @@ export declare const stateSchema: {
1107
1154
  };
1108
1155
  readonly featureStrategySchema: {
1109
1156
  readonly $id: "#/components/schemas/featureStrategySchema";
1110
- readonly description: "A singles activation strategy configuration schema for a feature";
1157
+ readonly description: "A single activation strategy configuration schema for a feature";
1111
1158
  readonly type: "object";
1112
1159
  readonly additionalProperties: false;
1113
1160
  readonly required: readonly ["name"];
@@ -1224,23 +1271,34 @@ export declare const stateSchema: {
1224
1271
  readonly $id: "#/components/schemas/variantSchema";
1225
1272
  readonly type: "object";
1226
1273
  readonly additionalProperties: false;
1274
+ readonly description: "A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) for a more detailed description";
1227
1275
  readonly required: readonly ["name", "weight"];
1228
1276
  readonly properties: {
1229
1277
  readonly name: {
1230
1278
  readonly type: "string";
1279
+ readonly description: "The variants name. Is unique for this feature toggle";
1280
+ readonly example: "blue_group";
1231
1281
  };
1232
1282
  readonly weight: {
1233
1283
  readonly type: "number";
1284
+ readonly description: "The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information";
1285
+ readonly minimum: 0;
1286
+ readonly maximum: 1000;
1234
1287
  };
1235
1288
  readonly weightType: {
1289
+ readonly description: "Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000";
1236
1290
  readonly type: "string";
1291
+ readonly example: "fix";
1237
1292
  };
1238
1293
  readonly stickiness: {
1239
1294
  readonly type: "string";
1295
+ readonly description: "[Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time";
1296
+ readonly example: "custom.context.field";
1240
1297
  };
1241
1298
  readonly payload: {
1242
1299
  readonly type: "object";
1243
1300
  readonly required: readonly ["type", "value"];
1301
+ readonly description: "Extra data configured for this variant";
1244
1302
  readonly properties: {
1245
1303
  readonly type: {
1246
1304
  readonly type: "string";
@@ -1249,8 +1307,13 @@ export declare const stateSchema: {
1249
1307
  readonly type: "string";
1250
1308
  };
1251
1309
  };
1310
+ readonly example: {
1311
+ readonly type: "json";
1312
+ readonly value: "{color: red}";
1313
+ };
1252
1314
  };
1253
1315
  readonly overrides: {
1316
+ readonly description: "Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.";
1254
1317
  readonly type: "array";
1255
1318
  readonly items: {
1256
1319
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -1264,15 +1327,20 @@ export declare const stateSchema: {
1264
1327
  readonly type: "object";
1265
1328
  readonly additionalProperties: false;
1266
1329
  readonly required: readonly ["contextName", "values"];
1330
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
1267
1331
  readonly properties: {
1268
1332
  readonly contextName: {
1333
+ readonly description: "The name of the context field used to determine overrides";
1269
1334
  readonly type: "string";
1335
+ readonly example: "userId";
1270
1336
  };
1271
1337
  readonly values: {
1338
+ readonly description: "Which values that should be overriden";
1272
1339
  readonly type: "array";
1273
1340
  readonly items: {
1274
1341
  readonly type: "string";
1275
1342
  };
1343
+ readonly example: readonly ["red", "blue"];
1276
1344
  };
1277
1345
  };
1278
1346
  readonly components: {};
@@ -3,23 +3,34 @@ export declare const variantSchema: {
3
3
  readonly $id: "#/components/schemas/variantSchema";
4
4
  readonly type: "object";
5
5
  readonly additionalProperties: false;
6
+ readonly description: "A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) for a more detailed description";
6
7
  readonly required: readonly ["name", "weight"];
7
8
  readonly properties: {
8
9
  readonly name: {
9
10
  readonly type: "string";
11
+ readonly description: "The variants name. Is unique for this feature toggle";
12
+ readonly example: "blue_group";
10
13
  };
11
14
  readonly weight: {
12
15
  readonly type: "number";
16
+ readonly description: "The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information";
17
+ readonly minimum: 0;
18
+ readonly maximum: 1000;
13
19
  };
14
20
  readonly weightType: {
21
+ readonly description: "Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000";
15
22
  readonly type: "string";
23
+ readonly example: "fix";
16
24
  };
17
25
  readonly stickiness: {
18
26
  readonly type: "string";
27
+ readonly description: "[Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time";
28
+ readonly example: "custom.context.field";
19
29
  };
20
30
  readonly payload: {
21
31
  readonly type: "object";
22
32
  readonly required: readonly ["type", "value"];
33
+ readonly description: "Extra data configured for this variant";
23
34
  readonly properties: {
24
35
  readonly type: {
25
36
  readonly type: "string";
@@ -28,8 +39,13 @@ export declare const variantSchema: {
28
39
  readonly type: "string";
29
40
  };
30
41
  };
42
+ readonly example: {
43
+ readonly type: "json";
44
+ readonly value: "{color: red}";
45
+ };
31
46
  };
32
47
  readonly overrides: {
48
+ readonly description: "Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.";
33
49
  readonly type: "array";
34
50
  readonly items: {
35
51
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -43,15 +59,20 @@ export declare const variantSchema: {
43
59
  readonly type: "object";
44
60
  readonly additionalProperties: false;
45
61
  readonly required: readonly ["contextName", "values"];
62
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
46
63
  readonly properties: {
47
64
  readonly contextName: {
65
+ readonly description: "The name of the context field used to determine overrides";
48
66
  readonly type: "string";
67
+ readonly example: "userId";
49
68
  };
50
69
  readonly values: {
70
+ readonly description: "Which values that should be overriden";
51
71
  readonly type: "array";
52
72
  readonly items: {
53
73
  readonly type: "string";
54
74
  };
75
+ readonly example: readonly ["red", "blue"];
55
76
  };
56
77
  };
57
78
  readonly components: {};
@@ -6,23 +6,34 @@ exports.variantSchema = {
6
6
  $id: '#/components/schemas/variantSchema',
7
7
  type: 'object',
8
8
  additionalProperties: false,
9
+ description: 'A variant allows for further separation of users into segments. See [our excellent documentation](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) for a more detailed description',
9
10
  required: ['name', 'weight'],
10
11
  properties: {
11
12
  name: {
12
13
  type: 'string',
14
+ description: 'The variants name. Is unique for this feature toggle',
15
+ example: 'blue_group',
13
16
  },
14
17
  weight: {
15
18
  type: 'number',
19
+ description: 'The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information',
20
+ minimum: 0,
21
+ maximum: 1000,
16
22
  },
17
23
  weightType: {
24
+ description: 'Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000',
18
25
  type: 'string',
26
+ example: 'fix',
19
27
  },
20
28
  stickiness: {
21
29
  type: 'string',
30
+ description: '[Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time',
31
+ example: 'custom.context.field',
22
32
  },
23
33
  payload: {
24
34
  type: 'object',
25
35
  required: ['type', 'value'],
36
+ description: 'Extra data configured for this variant',
26
37
  properties: {
27
38
  type: {
28
39
  type: 'string',
@@ -31,8 +42,10 @@ exports.variantSchema = {
31
42
  type: 'string',
32
43
  },
33
44
  },
45
+ example: { type: 'json', value: '{color: red}' },
34
46
  },
35
47
  overrides: {
48
+ description: `Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.`,
36
49
  type: 'array',
37
50
  items: {
38
51
  $ref: '#/components/schemas/overrideSchema',
@@ -1 +1 @@
1
- {"version":3,"file":"variant-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/variant-schema.ts"],"names":[],"mappings":";;;AACA,uDAAmD;AAEtC,QAAA,aAAa,GAAG;IACzB,GAAG,EAAE,oCAAoC;IACzC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;SACjB;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;SACjB;QACD,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;SACjB;QACD,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;SACjB;QACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3B,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACjB;aACJ;SACJ;QACD,SAAS,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACH,IAAI,EAAE,qCAAqC;aAC9C;SACJ;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,cAAc,EAAd,gCAAc;SACjB;KACJ;CACK,CAAC"}
1
+ {"version":3,"file":"variant-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/variant-schema.ts"],"names":[],"mappings":";;;AACA,uDAAmD;AAEtC,QAAA,aAAa,GAAG;IACzB,GAAG,EAAE,oCAAoC;IACzC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,WAAW,EACP,mNAAmN;IACvN,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,YAAY;SACxB;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EACP,8OAA8O;YAClP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,IAAI;SAChB;QACD,UAAU,EAAE;YACR,WAAW,EACP,mLAAmL;YACvL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;SACjB;QACD,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,WAAW,EACP,6KAA6K;YACjL,OAAO,EAAE,sBAAsB;SAClC;QACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3B,WAAW,EAAE,wCAAwC;YACrD,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;SACnD;QACD,SAAS,EAAE;YACP,WAAW,EAAE,4LAA4L;YACzM,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACH,IAAI,EAAE,qCAAqC;aAC9C;SACJ;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,cAAc,EAAd,gCAAc;SACjB;KACJ;CACK,CAAC"}