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
@@ -15,6 +15,7 @@ exports.playgroundRequestSchema = {
15
15
  description: 'The environment to evaluate toggles in.',
16
16
  },
17
17
  projects: {
18
+ description: 'A list of projects to check for toggles in.',
18
19
  oneOf: [
19
20
  {
20
21
  type: 'array',
@@ -30,7 +31,6 @@ exports.playgroundRequestSchema = {
30
31
  ],
31
32
  },
32
33
  context: {
33
- description: 'The context to use when evaluating toggles',
34
34
  $ref: sdk_context_schema_1.sdkContextSchema.$id,
35
35
  },
36
36
  },
@@ -1 +1 @@
1
- {"version":3,"file":"playground-request-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-request-schema.ts"],"names":[],"mappings":";;;AACA,4DAAmD;AACnD,6DAAwD;AAE3C,QAAA,uBAAuB,GAAG;IACnC,GAAG,EAAE,8CAA8C;IACnD,WAAW,EAAE,iDAAiD;IAC9D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IACpC,UAAU,EAAE;QACR,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,yCAAyC;SACzD;QACD,QAAQ,EAAE;YACN,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,WAAW,EAAE,6CAA6C;iBAC7D;gBACD;oBACI,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,eAAG,CAAC;oBACX,WAAW,EAAE,gCAAgC;iBAChD;aACJ;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE,4CAA4C;YACzD,IAAI,EAAE,qCAAgB,CAAC,GAAG;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,gBAAgB,EAAhB,qCAAgB;SACnB;KACJ;CACK,CAAC"}
1
+ {"version":3,"file":"playground-request-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-request-schema.ts"],"names":[],"mappings":";;;AACA,4DAAmD;AACnD,6DAAwD;AAE3C,QAAA,uBAAuB,GAAG;IACnC,GAAG,EAAE,8CAA8C;IACnD,WAAW,EAAE,iDAAiD;IAC9D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;IACpC,UAAU,EAAE;QACR,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,yCAAyC;SACzD;QACD,QAAQ,EAAE;YACN,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,WAAW,EAAE,6CAA6C;iBAC7D;gBACD;oBACI,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,eAAG,CAAC;oBACX,WAAW,EAAE,gCAAgC;iBAChD;aACJ;SACJ;QACD,OAAO,EAAE;YACL,IAAI,EAAE,qCAAgB,CAAC,GAAG;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,gBAAgB,EAAhB,qCAAgB;SACnB;KACJ;CACK,CAAC"}
@@ -141,6 +141,7 @@ export declare const playgroundResponseSchema: {
141
141
  readonly type: "object";
142
142
  readonly additionalProperties: false;
143
143
  readonly required: readonly ["result", "data"];
144
+ readonly description: "The feature's applicable strategies and cumulative results of the strategies";
144
145
  readonly properties: {
145
146
  readonly result: {
146
147
  readonly description: "The cumulative results of all the feature's strategies. Can be `true`,\n `false`, or `unknown`.\n This property will only be `unknown`\n if one or more of the strategies can't be fully evaluated and the rest of the strategies\n all resolve to `false`.";
@@ -211,6 +212,7 @@ export declare const playgroundResponseSchema: {
211
212
  };
212
213
  readonly variants: {
213
214
  readonly type: "array";
215
+ readonly description: "The feature variants.";
214
216
  readonly items: {
215
217
  readonly $ref: "#/components/schemas/variantSchema";
216
218
  };
@@ -222,7 +224,7 @@ export declare const playgroundResponseSchema: {
222
224
  readonly $id: "#/components/schemas/playgroundStrategySchema";
223
225
  readonly type: "object";
224
226
  readonly additionalProperties: false;
225
- readonly required: readonly ["id", "name", "result", "segments", "constraints", "parameters", "disabled"];
227
+ readonly required: readonly ["id", "name", "result", "segments", "constraints", "parameters", "disabled", "links"];
226
228
  readonly properties: {
227
229
  readonly name: {
228
230
  readonly description: "The strategy's name.";
@@ -236,6 +238,7 @@ export declare const playgroundResponseSchema: {
236
238
  readonly id: {
237
239
  readonly description: "The strategy's id.";
238
240
  readonly type: "string";
241
+ readonly example: "3AECCF7E-FF82-4174-8287-8EBE06079A50";
239
242
  };
240
243
  readonly result: {
241
244
  readonly anyOf: readonly [{
@@ -304,6 +307,17 @@ export declare const playgroundResponseSchema: {
304
307
  };
305
308
  readonly $ref: "#/components/schemas/parametersSchema";
306
309
  };
310
+ readonly links: {
311
+ readonly description: "A set of links to actions you can perform on this strategy";
312
+ readonly type: "object";
313
+ readonly required: readonly ["edit"];
314
+ readonly properties: {
315
+ readonly edit: {
316
+ readonly type: "string";
317
+ readonly example: "/projects/some-project/features/some-feature/strategies/edit?environmentId=some-env&strategyId= 3AECCF7E-FF82-4174-8287-8EBE06079A50";
318
+ };
319
+ };
320
+ };
307
321
  };
308
322
  readonly components: {
309
323
  readonly schemas: {
@@ -586,23 +600,34 @@ export declare const playgroundResponseSchema: {
586
600
  readonly $id: "#/components/schemas/variantSchema";
587
601
  readonly type: "object";
588
602
  readonly additionalProperties: false;
603
+ 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";
589
604
  readonly required: readonly ["name", "weight"];
590
605
  readonly properties: {
591
606
  readonly name: {
592
607
  readonly type: "string";
608
+ readonly description: "The variants name. Is unique for this feature toggle";
609
+ readonly example: "blue_group";
593
610
  };
594
611
  readonly weight: {
595
612
  readonly type: "number";
613
+ 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";
614
+ readonly minimum: 0;
615
+ readonly maximum: 1000;
596
616
  };
597
617
  readonly weightType: {
618
+ 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";
598
619
  readonly type: "string";
620
+ readonly example: "fix";
599
621
  };
600
622
  readonly stickiness: {
601
623
  readonly type: "string";
624
+ 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";
625
+ readonly example: "custom.context.field";
602
626
  };
603
627
  readonly payload: {
604
628
  readonly type: "object";
605
629
  readonly required: readonly ["type", "value"];
630
+ readonly description: "Extra data configured for this variant";
606
631
  readonly properties: {
607
632
  readonly type: {
608
633
  readonly type: "string";
@@ -611,8 +636,13 @@ export declare const playgroundResponseSchema: {
611
636
  readonly type: "string";
612
637
  };
613
638
  };
639
+ readonly example: {
640
+ readonly type: "json";
641
+ readonly value: "{color: red}";
642
+ };
614
643
  };
615
644
  readonly overrides: {
645
+ 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.";
616
646
  readonly type: "array";
617
647
  readonly items: {
618
648
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -626,15 +656,20 @@ export declare const playgroundResponseSchema: {
626
656
  readonly type: "object";
627
657
  readonly additionalProperties: false;
628
658
  readonly required: readonly ["contextName", "values"];
659
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
629
660
  readonly properties: {
630
661
  readonly contextName: {
662
+ readonly description: "The name of the context field used to determine overrides";
631
663
  readonly type: "string";
664
+ readonly example: "userId";
632
665
  };
633
666
  readonly values: {
667
+ readonly description: "Which values that should be overriden";
634
668
  readonly type: "array";
635
669
  readonly items: {
636
670
  readonly type: "string";
637
671
  };
672
+ readonly example: readonly ["red", "blue"];
638
673
  };
639
674
  };
640
675
  readonly components: {};
@@ -647,15 +682,20 @@ export declare const playgroundResponseSchema: {
647
682
  readonly type: "object";
648
683
  readonly additionalProperties: false;
649
684
  readonly required: readonly ["contextName", "values"];
685
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
650
686
  readonly properties: {
651
687
  readonly contextName: {
688
+ readonly description: "The name of the context field used to determine overrides";
652
689
  readonly type: "string";
690
+ readonly example: "userId";
653
691
  };
654
692
  readonly values: {
693
+ readonly description: "Which values that should be overriden";
655
694
  readonly type: "array";
656
695
  readonly items: {
657
696
  readonly type: "string";
658
697
  };
698
+ readonly example: readonly ["red", "blue"];
659
699
  };
660
700
  };
661
701
  readonly components: {};
@@ -681,6 +721,7 @@ export declare const playgroundResponseSchema: {
681
721
  readonly description: "The environment to evaluate toggles in.";
682
722
  };
683
723
  readonly projects: {
724
+ readonly description: "A list of projects to check for toggles in.";
684
725
  readonly oneOf: readonly [{
685
726
  readonly type: "array";
686
727
  readonly items: {
@@ -695,7 +736,6 @@ export declare const playgroundResponseSchema: {
695
736
  }];
696
737
  };
697
738
  readonly context: {
698
- readonly description: "The context to use when evaluating toggles";
699
739
  readonly $ref: "#/components/schemas/sdkContextSchema";
700
740
  };
701
741
  };
@@ -712,15 +752,18 @@ export declare const playgroundResponseSchema: {
712
752
  readonly type: "string";
713
753
  readonly minLength: 1;
714
754
  readonly example: "My cool application.";
755
+ readonly description: "The name of the application.";
715
756
  };
716
757
  readonly currentTime: {
717
758
  readonly type: "string";
718
759
  readonly format: "date-time";
719
760
  readonly example: "2022-07-05T12:56:41+02:00";
761
+ 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.";
720
762
  };
721
763
  readonly environment: {
722
764
  readonly type: "string";
723
765
  readonly deprecated: true;
766
+ readonly description: "The environment the app is running in.";
724
767
  };
725
768
  readonly properties: {
726
769
  readonly type: "object";
@@ -735,14 +778,17 @@ export declare const playgroundResponseSchema: {
735
778
  readonly remoteAddress: {
736
779
  readonly type: "string";
737
780
  readonly example: "192.168.1.1";
781
+ readonly description: "The app's IP address";
738
782
  };
739
783
  readonly sessionId: {
740
784
  readonly type: "string";
741
785
  readonly example: "b65e7b23-fec0-4814-a129-0e9861ef18fc";
786
+ readonly description: "An identifier for the current session";
742
787
  };
743
788
  readonly userId: {
744
789
  readonly type: "string";
745
790
  readonly example: "username@provider.com";
791
+ readonly description: "An identifier for the current user";
746
792
  };
747
793
  };
748
794
  readonly components: {};
@@ -834,7 +880,7 @@ export declare const playgroundResponseSchema: {
834
880
  readonly $id: "#/components/schemas/playgroundStrategySchema";
835
881
  readonly type: "object";
836
882
  readonly additionalProperties: false;
837
- readonly required: readonly ["id", "name", "result", "segments", "constraints", "parameters", "disabled"];
883
+ readonly required: readonly ["id", "name", "result", "segments", "constraints", "parameters", "disabled", "links"];
838
884
  readonly properties: {
839
885
  readonly name: {
840
886
  readonly description: "The strategy's name.";
@@ -848,6 +894,7 @@ export declare const playgroundResponseSchema: {
848
894
  readonly id: {
849
895
  readonly description: "The strategy's id.";
850
896
  readonly type: "string";
897
+ readonly example: "3AECCF7E-FF82-4174-8287-8EBE06079A50";
851
898
  };
852
899
  readonly result: {
853
900
  readonly anyOf: readonly [{
@@ -916,6 +963,17 @@ export declare const playgroundResponseSchema: {
916
963
  };
917
964
  readonly $ref: "#/components/schemas/parametersSchema";
918
965
  };
966
+ readonly links: {
967
+ readonly description: "A set of links to actions you can perform on this strategy";
968
+ readonly type: "object";
969
+ readonly required: readonly ["edit"];
970
+ readonly properties: {
971
+ readonly edit: {
972
+ readonly type: "string";
973
+ readonly example: "/projects/some-project/features/some-feature/strategies/edit?environmentId=some-env&strategyId= 3AECCF7E-FF82-4174-8287-8EBE06079A50";
974
+ };
975
+ };
976
+ };
919
977
  };
920
978
  readonly components: {
921
979
  readonly schemas: {
@@ -1069,15 +1127,18 @@ export declare const playgroundResponseSchema: {
1069
1127
  readonly type: "string";
1070
1128
  readonly minLength: 1;
1071
1129
  readonly example: "My cool application.";
1130
+ readonly description: "The name of the application.";
1072
1131
  };
1073
1132
  readonly currentTime: {
1074
1133
  readonly type: "string";
1075
1134
  readonly format: "date-time";
1076
1135
  readonly example: "2022-07-05T12:56:41+02:00";
1136
+ 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.";
1077
1137
  };
1078
1138
  readonly environment: {
1079
1139
  readonly type: "string";
1080
1140
  readonly deprecated: true;
1141
+ readonly description: "The environment the app is running in.";
1081
1142
  };
1082
1143
  readonly properties: {
1083
1144
  readonly type: "object";
@@ -1092,14 +1153,17 @@ export declare const playgroundResponseSchema: {
1092
1153
  readonly remoteAddress: {
1093
1154
  readonly type: "string";
1094
1155
  readonly example: "192.168.1.1";
1156
+ readonly description: "The app's IP address";
1095
1157
  };
1096
1158
  readonly sessionId: {
1097
1159
  readonly type: "string";
1098
1160
  readonly example: "b65e7b23-fec0-4814-a129-0e9861ef18fc";
1161
+ readonly description: "An identifier for the current session";
1099
1162
  };
1100
1163
  readonly userId: {
1101
1164
  readonly type: "string";
1102
1165
  readonly example: "username@provider.com";
1166
+ readonly description: "An identifier for the current user";
1103
1167
  };
1104
1168
  };
1105
1169
  readonly components: {};
@@ -1108,23 +1172,34 @@ export declare const playgroundResponseSchema: {
1108
1172
  readonly $id: "#/components/schemas/variantSchema";
1109
1173
  readonly type: "object";
1110
1174
  readonly additionalProperties: false;
1175
+ 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";
1111
1176
  readonly required: readonly ["name", "weight"];
1112
1177
  readonly properties: {
1113
1178
  readonly name: {
1114
1179
  readonly type: "string";
1180
+ readonly description: "The variants name. Is unique for this feature toggle";
1181
+ readonly example: "blue_group";
1115
1182
  };
1116
1183
  readonly weight: {
1117
1184
  readonly type: "number";
1185
+ 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";
1186
+ readonly minimum: 0;
1187
+ readonly maximum: 1000;
1118
1188
  };
1119
1189
  readonly weightType: {
1190
+ 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";
1120
1191
  readonly type: "string";
1192
+ readonly example: "fix";
1121
1193
  };
1122
1194
  readonly stickiness: {
1123
1195
  readonly type: "string";
1196
+ 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";
1197
+ readonly example: "custom.context.field";
1124
1198
  };
1125
1199
  readonly payload: {
1126
1200
  readonly type: "object";
1127
1201
  readonly required: readonly ["type", "value"];
1202
+ readonly description: "Extra data configured for this variant";
1128
1203
  readonly properties: {
1129
1204
  readonly type: {
1130
1205
  readonly type: "string";
@@ -1133,8 +1208,13 @@ export declare const playgroundResponseSchema: {
1133
1208
  readonly type: "string";
1134
1209
  };
1135
1210
  };
1211
+ readonly example: {
1212
+ readonly type: "json";
1213
+ readonly value: "{color: red}";
1214
+ };
1136
1215
  };
1137
1216
  readonly overrides: {
1217
+ 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.";
1138
1218
  readonly type: "array";
1139
1219
  readonly items: {
1140
1220
  readonly $ref: "#/components/schemas/overrideSchema";
@@ -1148,15 +1228,20 @@ export declare const playgroundResponseSchema: {
1148
1228
  readonly type: "object";
1149
1229
  readonly additionalProperties: false;
1150
1230
  readonly required: readonly ["contextName", "values"];
1231
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
1151
1232
  readonly properties: {
1152
1233
  readonly contextName: {
1234
+ readonly description: "The name of the context field used to determine overrides";
1153
1235
  readonly type: "string";
1236
+ readonly example: "userId";
1154
1237
  };
1155
1238
  readonly values: {
1239
+ readonly description: "Which values that should be overriden";
1156
1240
  readonly type: "array";
1157
1241
  readonly items: {
1158
1242
  readonly type: "string";
1159
1243
  };
1244
+ readonly example: readonly ["red", "blue"];
1160
1245
  };
1161
1246
  };
1162
1247
  readonly components: {};
@@ -1169,15 +1254,20 @@ export declare const playgroundResponseSchema: {
1169
1254
  readonly type: "object";
1170
1255
  readonly additionalProperties: false;
1171
1256
  readonly required: readonly ["contextName", "values"];
1257
+ readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
1172
1258
  readonly properties: {
1173
1259
  readonly contextName: {
1260
+ readonly description: "The name of the context field used to determine overrides";
1174
1261
  readonly type: "string";
1262
+ readonly example: "userId";
1175
1263
  };
1176
1264
  readonly values: {
1265
+ readonly description: "Which values that should be overriden";
1177
1266
  readonly type: "array";
1178
1267
  readonly items: {
1179
1268
  readonly type: "string";
1180
1269
  };
1270
+ readonly example: readonly ["red", "blue"];
1181
1271
  };
1182
1272
  };
1183
1273
  readonly components: {};
@@ -47,7 +47,7 @@ export declare const playgroundStrategySchema: {
47
47
  readonly $id: "#/components/schemas/playgroundStrategySchema";
48
48
  readonly type: "object";
49
49
  readonly additionalProperties: false;
50
- readonly required: readonly ["id", "name", "result", "segments", "constraints", "parameters", "disabled"];
50
+ readonly required: readonly ["id", "name", "result", "segments", "constraints", "parameters", "disabled", "links"];
51
51
  readonly properties: {
52
52
  readonly name: {
53
53
  readonly description: "The strategy's name.";
@@ -61,6 +61,7 @@ export declare const playgroundStrategySchema: {
61
61
  readonly id: {
62
62
  readonly description: "The strategy's id.";
63
63
  readonly type: "string";
64
+ readonly example: "3AECCF7E-FF82-4174-8287-8EBE06079A50";
64
65
  };
65
66
  readonly result: {
66
67
  readonly anyOf: readonly [{
@@ -129,6 +130,17 @@ export declare const playgroundStrategySchema: {
129
130
  };
130
131
  readonly $ref: "#/components/schemas/parametersSchema";
131
132
  };
133
+ readonly links: {
134
+ readonly description: "A set of links to actions you can perform on this strategy";
135
+ readonly type: "object";
136
+ readonly required: readonly ["edit"];
137
+ readonly properties: {
138
+ readonly edit: {
139
+ readonly type: "string";
140
+ readonly example: "/projects/some-project/features/some-feature/strategies/edit?environmentId=some-env&strategyId= 3AECCF7E-FF82-4174-8287-8EBE06079A50";
141
+ };
142
+ };
143
+ };
132
144
  };
133
145
  readonly components: {
134
146
  readonly schemas: {
@@ -63,6 +63,7 @@ exports.playgroundStrategySchema = {
63
63
  'constraints',
64
64
  'parameters',
65
65
  'disabled',
66
+ 'links',
66
67
  ],
67
68
  properties: {
68
69
  name: {
@@ -77,6 +78,7 @@ exports.playgroundStrategySchema = {
77
78
  id: {
78
79
  description: "The strategy's id.",
79
80
  type: 'string',
81
+ example: '3AECCF7E-FF82-4174-8287-8EBE06079A50',
80
82
  },
81
83
  result: {
82
84
  description: `The strategy's evaluation result. If the strategy is a custom strategy that Unleash can't evaluate, \`evaluationStatus\` will be \`${exports.playgroundStrategyEvaluation.unknownResult}\`. Otherwise, it will be \`true\` or \`false\``,
@@ -109,6 +111,17 @@ exports.playgroundStrategySchema = {
109
111
  },
110
112
  $ref: parameters_schema_1.parametersSchema.$id,
111
113
  },
114
+ links: {
115
+ description: 'A set of links to actions you can perform on this strategy',
116
+ type: 'object',
117
+ required: ['edit'],
118
+ properties: {
119
+ edit: {
120
+ type: 'string',
121
+ example: '/projects/some-project/features/some-feature/strategies/edit?environmentId=some-env&strategyId= 3AECCF7E-FF82-4174-8287-8EBE06079A50',
122
+ },
123
+ },
124
+ },
112
125
  },
113
126
  components: {
114
127
  schemas: {
@@ -1 +1 @@
1
- {"version":3,"file":"playground-strategy-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-strategy-schema.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,iFAA4E;AAC5E,2EAAsE;AAEzD,QAAA,4BAA4B,GAAG;IACxC,kBAAkB,EAAE,UAAU;IAC9B,oBAAoB,EAAE,YAAY;IAClC,aAAa,EAAE,SAAS;CAClB,CAAC;AAEE,QAAA,yBAAyB,GAAG;IACrC,KAAK,EAAE;QACH;YACI,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;YACzC,UAAU,EAAE;gBACR,gBAAgB,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACP,gJAAgJ;oBACpJ,IAAI,EAAE,CAAC,oCAA4B,CAAC,oBAAoB,CAAC;iBAC5D;gBACD,OAAO,EAAE;oBACL,WAAW,EACP,uRAAuR;oBAC3R,KAAK,EAAE;wBACH,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;wBAClC;4BACI,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,oCAA4B,CAAC,aAAa,CAAC;yBACrD;qBACJ;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;YACzC,UAAU,EAAE;gBACR,gBAAgB,EAAE;oBACd,WAAW,EACP,wDAAwD;oBAC5D,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,CAAC;iBACrB;gBACD,OAAO,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EACP,iDAAiD;iBACxD;aACJ;SACJ;KACJ;CACK,CAAC;AAEE,QAAA,wBAAwB,GAAG;IACpC,GAAG,EAAE,+CAA+C;IACpD,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE;QACN,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,UAAU;QACV,aAAa;QACb,YAAY;QACZ,UAAU;KACb;IACD,UAAU,EAAE;QACR,IAAI,EAAE;YACF,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,QAAQ;SACjB;QACD,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,uCAAuC;SACvD;QACD,EAAE,EAAE;YACA,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;SACjB;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,sIAAsI,oCAA4B,CAAC,aAAa,iDAAiD;YAC9O,GAAG,iCAAyB;SAC/B;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EACP,8DAA8D;YAClE,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EACP,uDAAuD;YAC3D,KAAK,EAAE;gBACH,IAAI,EAAE,mDAAuB,CAAC,GAAG;aACpC;SACJ;QACD,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,WAAW,EACP,0DAA0D;YAC9D,KAAK,EAAE;gBACH,IAAI,EAAE,yDAA0B,CAAC,GAAG;aACvC;SACJ;QACD,UAAU,EAAE;YACR,WAAW,EACP,0DAA0D;YAC9D,OAAO,EAAE;gBACL,QAAQ,EAAE,aAAa;aAC1B;YACD,IAAI,EAAE,oCAAgB,CAAC,GAAG;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,0BAA0B,EAA1B,yDAA0B;YAC1B,uBAAuB,EAAvB,mDAAuB;YACvB,gBAAgB,EAAhB,oCAAgB;SACnB;KACJ;CACK,CAAC"}
1
+ {"version":3,"file":"playground-strategy-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/playground-strategy-schema.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,iFAA4E;AAC5E,2EAAsE;AAEzD,QAAA,4BAA4B,GAAG;IACxC,kBAAkB,EAAE,UAAU;IAC9B,oBAAoB,EAAE,YAAY;IAClC,aAAa,EAAE,SAAS;CAClB,CAAC;AAEE,QAAA,yBAAyB,GAAG;IACrC,KAAK,EAAE;QACH;YACI,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;YACzC,UAAU,EAAE;gBACR,gBAAgB,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACP,gJAAgJ;oBACpJ,IAAI,EAAE,CAAC,oCAA4B,CAAC,oBAAoB,CAAC;iBAC5D;gBACD,OAAO,EAAE;oBACL,WAAW,EACP,uRAAuR;oBAC3R,KAAK,EAAE;wBACH,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;wBAClC;4BACI,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,oCAA4B,CAAC,aAAa,CAAC;yBACrD;qBACJ;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC;YACzC,UAAU,EAAE;gBACR,gBAAgB,EAAE;oBACd,WAAW,EACP,wDAAwD;oBAC5D,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,CAAC;iBACrB;gBACD,OAAO,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EACP,iDAAiD;iBACxD;aACJ;SACJ;KACJ;CACK,CAAC;AAEE,QAAA,wBAAwB,GAAG;IACpC,GAAG,EAAE,+CAA+C;IACpD,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE;QACN,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,UAAU;QACV,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAO;KACV;IACD,UAAU,EAAE;QACR,IAAI,EAAE;YACF,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,QAAQ;SACjB;QACD,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,uCAAuC;SACvD;QACD,EAAE,EAAE;YACA,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sCAAsC;SAClD;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,sIAAsI,oCAA4B,CAAC,aAAa,iDAAiD;YAC9O,GAAG,iCAAyB;SAC/B;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EACP,8DAA8D;YAClE,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EACP,uDAAuD;YAC3D,KAAK,EAAE;gBACH,IAAI,EAAE,mDAAuB,CAAC,GAAG;aACpC;SACJ;QACD,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,WAAW,EACP,0DAA0D;YAC9D,KAAK,EAAE;gBACH,IAAI,EAAE,yDAA0B,CAAC,GAAG;aACvC;SACJ;QACD,UAAU,EAAE;YACR,WAAW,EACP,0DAA0D;YAC9D,OAAO,EAAE;gBACL,QAAQ,EAAE,aAAa;aAC1B;YACD,IAAI,EAAE,oCAAgB,CAAC,GAAG;SAC7B;QACD,KAAK,EAAE;YACH,WAAW,EACP,4DAA4D;YAChE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,OAAO,EACH,sIAAsI;iBAC7I;aACJ;SACJ;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,0BAA0B,EAA1B,yDAA0B;YAC1B,uBAAuB,EAAvB,mDAAuB;YACvB,gBAAgB,EAAhB,oCAAgB;SACnB;KACJ;CACK,CAAC"}