unleash-server 5.4.4 → 5.5.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 (586) hide show
  1. package/README.md +5 -3
  2. package/dist/lib/addons/addon-schema.js +2 -1
  3. package/dist/lib/addons/addon-schema.js.map +1 -1
  4. package/dist/lib/addons/datadog-definition.js +22 -7
  5. package/dist/lib/addons/datadog-definition.js.map +1 -1
  6. package/dist/lib/addons/datadog.d.ts +7 -1
  7. package/dist/lib/addons/datadog.js +16 -3
  8. package/dist/lib/addons/datadog.js.map +1 -1
  9. package/dist/lib/addons/datadog.test.js +62 -0
  10. package/dist/lib/addons/datadog.test.js.map +1 -1
  11. package/dist/lib/addons/index.js +3 -11
  12. package/dist/lib/addons/index.js.map +1 -1
  13. package/dist/lib/addons/slack-app-definition.js +5 -24
  14. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  15. package/dist/lib/addons/slack-app.d.ts +0 -1
  16. package/dist/lib/addons/slack-app.js +5 -17
  17. package/dist/lib/addons/slack-app.js.map +1 -1
  18. package/dist/lib/addons/slack-app.test.js +39 -25
  19. package/dist/lib/addons/slack-app.test.js.map +1 -1
  20. package/dist/lib/addons/slack-definition.js +11 -4
  21. package/dist/lib/addons/slack-definition.js.map +1 -1
  22. package/dist/lib/addons/teams-definition.js +5 -4
  23. package/dist/lib/addons/teams-definition.js.map +1 -1
  24. package/dist/lib/addons/webhook-definition.js +10 -12
  25. package/dist/lib/addons/webhook-definition.js.map +1 -1
  26. package/dist/lib/create-config.js +13 -1
  27. package/dist/lib/create-config.js.map +1 -1
  28. package/dist/lib/create-config.test.js +14 -0
  29. package/dist/lib/create-config.test.js.map +1 -1
  30. package/dist/lib/db/access-store.d.ts +23 -5
  31. package/dist/lib/db/access-store.js +263 -17
  32. package/dist/lib/db/access-store.js.map +1 -1
  33. package/dist/lib/db/access-store.test.js +83 -0
  34. package/dist/lib/db/access-store.test.js.map +1 -0
  35. package/dist/lib/db/client-applications-store.d.ts +1 -3
  36. package/dist/lib/db/client-applications-store.js +13 -24
  37. package/dist/lib/db/client-applications-store.js.map +1 -1
  38. package/dist/lib/db/event-store.js +1 -0
  39. package/dist/lib/db/event-store.js.map +1 -1
  40. package/dist/lib/db/feature-toggle-client-store.js +17 -4
  41. package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
  42. package/dist/lib/db/feature-toggle-store.js +1 -1
  43. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  44. package/dist/lib/db/group-store.d.ts +4 -2
  45. package/dist/lib/db/group-store.js +24 -0
  46. package/dist/lib/db/group-store.js.map +1 -1
  47. package/dist/lib/db/index.d.ts +1 -2
  48. package/dist/lib/db/index.js +5 -1
  49. package/dist/lib/db/index.js.map +1 -1
  50. package/dist/lib/db/project-stats-store.d.ts +2 -0
  51. package/dist/lib/db/project-stats-store.js +27 -0
  52. package/dist/lib/db/project-stats-store.js.map +1 -1
  53. package/dist/lib/db/project-store.d.ts +7 -1
  54. package/dist/lib/db/project-store.js +34 -1
  55. package/dist/lib/db/project-store.js.map +1 -1
  56. package/dist/lib/error/bad-data-error.d.ts +1 -1
  57. package/dist/lib/error/index.d.ts +2 -1
  58. package/dist/lib/error/index.js +3 -1
  59. package/dist/lib/error/index.js.map +1 -1
  60. package/dist/lib/error/pattern-error.d.ts +10 -0
  61. package/dist/lib/error/pattern-error.js +20 -0
  62. package/dist/lib/error/pattern-error.js.map +1 -0
  63. package/dist/lib/features/dependent-features/createDependentFeaturesService.d.ts +3 -0
  64. package/dist/lib/features/dependent-features/createDependentFeaturesService.js +11 -0
  65. package/dist/lib/features/dependent-features/createDependentFeaturesService.js.map +1 -0
  66. package/dist/lib/features/dependent-features/dependent-features-controller.d.ts +28 -0
  67. package/dist/lib/features/dependent-features/dependent-features-controller.js +151 -0
  68. package/dist/lib/features/dependent-features/dependent-features-controller.js.map +1 -0
  69. package/dist/lib/features/dependent-features/dependent-features-service.d.ts +11 -0
  70. package/dist/lib/features/dependent-features/dependent-features-service.js +40 -0
  71. package/dist/lib/features/dependent-features/dependent-features-service.js.map +1 -0
  72. package/dist/lib/features/dependent-features/dependent-features-store-type.d.ts +8 -0
  73. package/dist/lib/features/dependent-features/dependent-features-store-type.js +3 -0
  74. package/dist/lib/features/dependent-features/dependent-features-store-type.js.map +1 -0
  75. package/dist/lib/features/dependent-features/dependent-features-store.d.ts +12 -0
  76. package/dist/lib/features/dependent-features/dependent-features-store.js +56 -0
  77. package/dist/lib/features/dependent-features/dependent-features-store.js.map +1 -0
  78. package/dist/lib/features/dependent-features/dependent-features.d.ts +14 -0
  79. package/dist/lib/features/dependent-features/dependent-features.js +3 -0
  80. package/dist/lib/features/dependent-features/dependent-features.js.map +1 -0
  81. package/dist/lib/features/dependent-features/dependent.features.e2e.test.d.ts +1 -0
  82. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js +82 -0
  83. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js.map +1 -0
  84. package/dist/lib/features/dependent-features/fake-dependent-features-store.d.ts +8 -0
  85. package/dist/lib/features/dependent-features/fake-dependent-features-store.js +22 -0
  86. package/dist/lib/features/dependent-features/fake-dependent-features-store.js.map +1 -0
  87. package/dist/lib/features/export-import-toggles/createExportImportService.js +6 -3
  88. package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
  89. package/dist/lib/features/export-import-toggles/export-import-service.d.ts +9 -3
  90. package/dist/lib/features/export-import-toggles/export-import-service.js +51 -21
  91. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  92. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +120 -50
  93. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
  94. package/dist/lib/features/export-import-toggles/import-permissions-service.d.ts +1 -2
  95. package/dist/lib/features/export-import-toggles/import-toggles-store-type.d.ts +6 -0
  96. package/dist/lib/features/export-import-toggles/import-toggles-store.d.ts +2 -1
  97. package/dist/lib/features/export-import-toggles/import-toggles-store.js +25 -0
  98. package/dist/lib/features/export-import-toggles/import-toggles-store.js.map +1 -1
  99. package/dist/lib/features/export-import-toggles/import-validation-messages.d.ts +18 -2
  100. package/dist/lib/features/export-import-toggles/import-validation-messages.js +27 -11
  101. package/dist/lib/features/export-import-toggles/import-validation-messages.js.map +1 -1
  102. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.d.ts +14 -0
  103. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.js +46 -0
  104. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.js.map +1 -0
  105. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.d.ts +1 -0
  106. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js +116 -0
  107. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js.map +1 -0
  108. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +11 -2
  109. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  110. package/dist/lib/features/instance-stats/getActiveUsers.d.ts +9 -0
  111. package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.d.ts +1 -0
  112. package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.js +141 -0
  113. package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.js.map +1 -0
  114. package/dist/lib/features/instance-stats/getActiveUsers.js +33 -0
  115. package/dist/lib/features/instance-stats/getActiveUsers.js.map +1 -0
  116. package/dist/lib/{services → features/instance-stats}/instance-stats-service.d.ts +13 -7
  117. package/dist/lib/{services → features/instance-stats}/instance-stats-service.js +16 -7
  118. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -0
  119. package/dist/lib/features/instance-stats/instance-stats-service.test.d.ts +1 -0
  120. package/dist/lib/{services → features/instance-stats}/instance-stats-service.test.js +6 -5
  121. package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -0
  122. package/dist/lib/features/playground/advanced-playground.test.js +2 -3
  123. package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
  124. package/dist/lib/features/playground/feature-evaluator/variant.d.ts +1 -1
  125. package/dist/lib/features/playground/generateObjectCombinations.d.ts +1 -1
  126. package/dist/lib/features/playground/generateObjectCombinations.js +14 -4
  127. package/dist/lib/features/playground/generateObjectCombinations.js.map +1 -1
  128. package/dist/lib/features/playground/generateObjectCombinations.test.js +21 -0
  129. package/dist/lib/features/playground/generateObjectCombinations.test.js.map +1 -1
  130. package/dist/lib/features/playground/playground-service.d.ts +5 -3
  131. package/dist/lib/features/playground/playground-service.js +18 -3
  132. package/dist/lib/features/playground/playground-service.js.map +1 -1
  133. package/dist/lib/features/playground/playground.d.ts +2 -1
  134. package/dist/lib/features/playground/playground.js +2 -1
  135. package/dist/lib/features/playground/playground.js.map +1 -1
  136. package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts +5 -0
  137. package/dist/lib/features/private-project/createPrivateProjectChecker.js +22 -0
  138. package/dist/lib/features/private-project/createPrivateProjectChecker.js.map +1 -0
  139. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts +7 -0
  140. package/dist/lib/features/private-project/fakePrivateProjectChecker.js +15 -0
  141. package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -0
  142. package/dist/lib/features/private-project/privateProjectChecker.d.ts +10 -0
  143. package/dist/lib/features/private-project/privateProjectChecker.js +22 -0
  144. package/dist/lib/features/private-project/privateProjectChecker.js.map +1 -0
  145. package/dist/lib/features/private-project/privateProjectCheckerType.d.ts +5 -0
  146. package/dist/lib/features/private-project/privateProjectCheckerType.js +3 -0
  147. package/dist/lib/features/private-project/privateProjectCheckerType.js.map +1 -0
  148. package/dist/lib/features/private-project/privateProjectStore.d.ts +18 -0
  149. package/dist/lib/features/private-project/privateProjectStore.js +70 -0
  150. package/dist/lib/features/private-project/privateProjectStore.js.map +1 -0
  151. package/dist/lib/features/private-project/privateProjectStoreType.d.ts +4 -0
  152. package/dist/lib/features/private-project/privateProjectStoreType.js +3 -0
  153. package/dist/lib/features/private-project/privateProjectStoreType.js.map +1 -0
  154. package/dist/lib/features/project/createProjectService.js +5 -8
  155. package/dist/lib/features/project/createProjectService.js.map +1 -1
  156. package/dist/lib/features/segment/createSegmentService.js +5 -2
  157. package/dist/lib/features/segment/createSegmentService.js.map +1 -1
  158. package/dist/lib/features/segment/segment-controller.d.ts +39 -0
  159. package/dist/lib/features/segment/segment-controller.js +291 -0
  160. package/dist/lib/features/segment/segment-controller.js.map +1 -0
  161. package/dist/lib/metrics.d.ts +1 -1
  162. package/dist/lib/metrics.js +30 -1
  163. package/dist/lib/metrics.js.map +1 -1
  164. package/dist/lib/metrics.test.js +3 -2
  165. package/dist/lib/metrics.test.js.map +1 -1
  166. package/dist/lib/middleware/rbac-middleware.d.ts +2 -0
  167. package/dist/lib/middleware/rbac-middleware.js +2 -0
  168. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  169. package/dist/lib/middleware/secure-headers.js +18 -0
  170. package/dist/lib/middleware/secure-headers.js.map +1 -1
  171. package/dist/lib/openapi/index.js +13 -0
  172. package/dist/lib/openapi/index.js.map +1 -1
  173. package/dist/lib/openapi/meta-schema-rules.test.js +14 -4
  174. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  175. package/dist/lib/openapi/spec/addon-type-schema.d.ts +6 -1
  176. package/dist/lib/openapi/spec/addon-type-schema.js +6 -1
  177. package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
  178. package/dist/lib/openapi/spec/addons-schema.d.ts +8 -3
  179. package/dist/lib/openapi/spec/addons-schema.js +8 -3
  180. package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
  181. package/dist/lib/openapi/spec/admin-segment-schema.d.ts +115 -0
  182. package/dist/lib/openapi/spec/admin-segment-schema.js +75 -0
  183. package/dist/lib/openapi/spec/admin-segment-schema.js.map +1 -0
  184. package/dist/lib/openapi/spec/admin-segment-schema.test.d.ts +1 -0
  185. package/dist/lib/openapi/spec/admin-segment-schema.test.js +39 -0
  186. package/dist/lib/openapi/spec/admin-segment-schema.test.js.map +1 -0
  187. package/dist/lib/openapi/spec/admin-strategies-schema.d.ts +46 -0
  188. package/dist/lib/openapi/spec/admin-strategies-schema.js +54 -0
  189. package/dist/lib/openapi/spec/admin-strategies-schema.js.map +1 -0
  190. package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts +1 -0
  191. package/dist/lib/openapi/spec/admin-strategies-schema.test.js +40 -0
  192. package/dist/lib/openapi/spec/admin-strategies-schema.test.js.map +1 -0
  193. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +51 -6
  194. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +3 -1
  195. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -1
  196. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +101 -11
  197. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js +2 -0
  198. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js.map +1 -1
  199. package/dist/lib/openapi/spec/advanced-playground-request-schema.d.ts +1 -0
  200. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +203 -22
  201. package/dist/lib/openapi/spec/advanced-playground-response-schema.js +2 -0
  202. package/dist/lib/openapi/spec/advanced-playground-response-schema.js.map +1 -1
  203. package/dist/lib/openapi/spec/client-feature-schema.d.ts +41 -6
  204. package/dist/lib/openapi/spec/client-feature-schema.js +9 -0
  205. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  206. package/dist/lib/openapi/spec/client-features-schema.d.ts +75 -12
  207. package/dist/lib/openapi/spec/client-features-schema.js +2 -0
  208. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  209. package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +1 -1
  210. package/dist/lib/openapi/spec/context-field-strategies-schema.js +1 -1
  211. package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -1
  212. package/dist/lib/openapi/spec/create-api-token-schema.d.ts +1 -139
  213. package/dist/lib/openapi/spec/create-api-token-schema.js +16 -20
  214. package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
  215. package/dist/lib/openapi/spec/create-dependent-feature-schema.d.ts +29 -0
  216. package/dist/lib/openapi/spec/create-dependent-feature-schema.js +31 -0
  217. package/dist/lib/openapi/spec/create-dependent-feature-schema.js.map +1 -0
  218. package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.d.ts +29 -0
  219. package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.js +33 -0
  220. package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.js.map +1 -0
  221. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +2 -2
  222. package/dist/lib/openapi/spec/create-strategy-schema.d.ts +15 -0
  223. package/dist/lib/openapi/spec/create-strategy-schema.js +15 -0
  224. package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
  225. package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +2 -2
  226. package/dist/lib/openapi/spec/create-strategy-variant-schema.js +2 -2
  227. package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -1
  228. package/dist/lib/openapi/spec/dependent-feature-schema.d.ts +30 -0
  229. package/dist/lib/openapi/spec/dependent-feature-schema.js +14 -0
  230. package/dist/lib/openapi/spec/dependent-feature-schema.js.map +1 -0
  231. package/dist/lib/openapi/spec/dora-features-schema.d.ts +20 -0
  232. package/dist/lib/openapi/spec/dora-features-schema.js +22 -0
  233. package/dist/lib/openapi/spec/dora-features-schema.js.map +1 -0
  234. package/dist/lib/openapi/spec/environment-project-schema.d.ts +4 -4
  235. package/dist/lib/openapi/spec/environments-project-schema.d.ts +4 -4
  236. package/dist/lib/openapi/spec/event-schema.d.ts +3 -3
  237. package/dist/lib/openapi/spec/events-schema.d.ts +3 -3
  238. package/dist/lib/openapi/spec/export-query-schema.d.ts +22 -15
  239. package/dist/lib/openapi/spec/export-query-schema.js +16 -15
  240. package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
  241. package/dist/lib/openapi/spec/export-result-schema.d.ts +26 -26
  242. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +6 -6
  243. package/dist/lib/openapi/spec/feature-events-schema.d.ts +3 -3
  244. package/dist/lib/openapi/spec/feature-schema.d.ts +12 -12
  245. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +2 -2
  246. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +2 -2
  247. package/dist/lib/openapi/spec/features-schema.d.ts +24 -24
  248. package/dist/lib/openapi/spec/health-overview-schema.d.ts +63 -33
  249. package/dist/lib/openapi/spec/health-overview-schema.js +6 -1
  250. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  251. package/dist/lib/openapi/spec/health-report-schema.d.ts +63 -33
  252. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +52 -52
  253. package/dist/lib/openapi/spec/index.d.ts +9 -0
  254. package/dist/lib/openapi/spec/index.js +9 -0
  255. package/dist/lib/openapi/spec/index.js.map +1 -1
  256. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +42 -0
  257. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +42 -0
  258. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  259. package/dist/lib/openapi/spec/parent-feature-options-schema.d.ts +11 -0
  260. package/dist/lib/openapi/spec/parent-feature-options-schema.js +13 -0
  261. package/dist/lib/openapi/spec/parent-feature-options-schema.js.map +1 -0
  262. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +5 -5
  263. package/dist/lib/openapi/spec/playground-request-schema.d.ts +1 -0
  264. package/dist/lib/openapi/spec/playground-response-schema.d.ts +12 -10
  265. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +4 -4
  266. package/dist/lib/openapi/spec/playground-strategy-schema.js +1 -1
  267. package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
  268. package/dist/lib/openapi/spec/profile-schema.d.ts +12 -12
  269. package/dist/lib/openapi/spec/project-dora-metrics-schema.d.ts +44 -0
  270. package/dist/lib/openapi/spec/project-dora-metrics-schema.js +28 -0
  271. package/dist/lib/openapi/spec/project-dora-metrics-schema.js.map +1 -0
  272. package/dist/lib/openapi/spec/project-environment-schema.d.ts +4 -4
  273. package/dist/lib/openapi/spec/project-overview-schema.d.ts +63 -33
  274. package/dist/lib/openapi/spec/project-overview-schema.js +6 -1
  275. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  276. package/dist/lib/openapi/spec/project-schema.d.ts +1 -1
  277. package/dist/lib/openapi/spec/project-schema.js +1 -1
  278. package/dist/lib/openapi/spec/project-schema.js.map +1 -1
  279. package/dist/lib/openapi/spec/projects-schema.d.ts +1 -1
  280. package/dist/lib/openapi/spec/push-variants-schema.d.ts +2 -2
  281. package/dist/lib/openapi/spec/sdk-context-schema.d.ts +1 -0
  282. package/dist/lib/openapi/spec/sdk-context-schema.js +1 -0
  283. package/dist/lib/openapi/spec/sdk-context-schema.js.map +1 -1
  284. package/dist/lib/openapi/spec/sdk-flat-context-schema.d.ts +46 -0
  285. package/dist/lib/openapi/spec/sdk-flat-context-schema.js +15 -0
  286. package/dist/lib/openapi/spec/sdk-flat-context-schema.js.map +1 -0
  287. package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
  288. package/dist/lib/openapi/spec/segments-schema.d.ts +177 -0
  289. package/dist/lib/openapi/spec/segments-schema.js +26 -0
  290. package/dist/lib/openapi/spec/segments-schema.js.map +1 -0
  291. package/dist/lib/openapi/spec/segments-schema.test.d.ts +1 -0
  292. package/dist/lib/openapi/spec/segments-schema.test.js +16 -0
  293. package/dist/lib/openapi/spec/segments-schema.test.js.map +1 -0
  294. package/dist/lib/openapi/spec/state-schema.d.ts +23 -23
  295. package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +2 -2
  296. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.d.ts +35 -0
  297. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.js +37 -0
  298. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.js.map +1 -0
  299. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.d.ts +1 -0
  300. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.js +19 -0
  301. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.js.map +1 -0
  302. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +8 -15
  303. package/dist/lib/openapi/spec/upsert-segment-schema.js +8 -17
  304. package/dist/lib/openapi/spec/upsert-segment-schema.js.map +1 -1
  305. package/dist/lib/openapi/spec/upsert-segment-schema.test.d.ts +1 -0
  306. package/dist/lib/openapi/spec/upsert-segment-schema.test.js +35 -0
  307. package/dist/lib/openapi/spec/upsert-segment-schema.test.js.map +1 -0
  308. package/dist/lib/openapi/spec/validate-feature-schema.d.ts +6 -0
  309. package/dist/lib/openapi/spec/validate-feature-schema.js +6 -0
  310. package/dist/lib/openapi/spec/validate-feature-schema.js.map +1 -1
  311. package/dist/lib/openapi/spec/variant-schema.d.ts +2 -2
  312. package/dist/lib/openapi/spec/variant-schema.js +2 -2
  313. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  314. package/dist/lib/openapi/spec/variants-schema.d.ts +2 -2
  315. package/dist/lib/openapi/util/all-of.d.ts +3 -0
  316. package/dist/lib/openapi/util/all-of.js +34 -0
  317. package/dist/lib/openapi/util/all-of.js.map +1 -0
  318. package/dist/lib/openapi/util/openapi-tags.d.ts +46 -58
  319. package/dist/lib/openapi/util/openapi-tags.js +27 -34
  320. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  321. package/dist/lib/openapi/util/openapi-tags.test.d.ts +1 -0
  322. package/dist/lib/openapi/util/openapi-tags.test.js +15 -0
  323. package/dist/lib/openapi/util/openapi-tags.test.js.map +1 -0
  324. package/dist/lib/openapi/validate.js +0 -1
  325. package/dist/lib/openapi/validate.js.map +1 -1
  326. package/dist/lib/routes/admin-api/archive.d.ts +1 -1
  327. package/dist/lib/routes/admin-api/archive.js +3 -2
  328. package/dist/lib/routes/admin-api/archive.js.map +1 -1
  329. package/dist/lib/routes/admin-api/context.js +2 -1
  330. package/dist/lib/routes/admin-api/context.js.map +1 -1
  331. package/dist/lib/routes/admin-api/feature.js +2 -1
  332. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  333. package/dist/lib/routes/admin-api/index.js +2 -0
  334. package/dist/lib/routes/admin-api/index.js.map +1 -1
  335. package/dist/lib/routes/admin-api/instance-admin.d.ts +2 -2
  336. package/dist/lib/routes/admin-api/instance-admin.js +7 -1
  337. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  338. package/dist/lib/routes/admin-api/metrics.d.ts +2 -1
  339. package/dist/lib/routes/admin-api/metrics.js +2 -1
  340. package/dist/lib/routes/admin-api/metrics.js.map +1 -1
  341. package/dist/lib/routes/admin-api/project/api-token.d.ts +2 -1
  342. package/dist/lib/routes/admin-api/project/api-token.js +12 -3
  343. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  344. package/dist/lib/routes/admin-api/project/environments.d.ts +2 -1
  345. package/dist/lib/routes/admin-api/project/environments.js +3 -1
  346. package/dist/lib/routes/admin-api/project/environments.js.map +1 -1
  347. package/dist/lib/routes/admin-api/project/index.d.ts +2 -1
  348. package/dist/lib/routes/admin-api/project/index.js +31 -0
  349. package/dist/lib/routes/admin-api/project/index.js.map +1 -1
  350. package/dist/lib/routes/admin-api/strategy.d.ts +1 -1
  351. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  352. package/dist/lib/routes/client-api/metrics.js +14 -8
  353. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  354. package/dist/lib/routes/client-api/metrics.test.js +27 -0
  355. package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
  356. package/dist/lib/routes/controller.d.ts +1 -1
  357. package/dist/lib/routes/controller.js +17 -10
  358. package/dist/lib/routes/controller.js.map +1 -1
  359. package/dist/lib/routes/proxy-api/index.js +5 -0
  360. package/dist/lib/routes/proxy-api/index.js.map +1 -1
  361. package/dist/lib/schema/role-schema.js +3 -1
  362. package/dist/lib/schema/role-schema.js.map +1 -1
  363. package/dist/lib/schema/role-schema.test.js +1 -1
  364. package/dist/lib/schema/role-schema.test.js.map +1 -1
  365. package/dist/lib/segments/segment-service-interface.d.ts +1 -1
  366. package/dist/lib/services/access-service.d.ts +29 -11
  367. package/dist/lib/services/access-service.js +53 -10
  368. package/dist/lib/services/access-service.js.map +1 -1
  369. package/dist/lib/services/access-service.test.js +2 -1
  370. package/dist/lib/services/access-service.test.js.map +1 -1
  371. package/dist/lib/services/addon-service.js +4 -2
  372. package/dist/lib/services/addon-service.js.map +1 -1
  373. package/dist/lib/services/addon-service.test.js +65 -0
  374. package/dist/lib/services/addon-service.test.js.map +1 -1
  375. package/dist/lib/services/client-metrics/instance-service.d.ts +5 -2
  376. package/dist/lib/services/client-metrics/instance-service.js +22 -3
  377. package/dist/lib/services/client-metrics/instance-service.js.map +1 -1
  378. package/dist/lib/services/client-metrics/instance-service.test.js +5 -4
  379. package/dist/lib/services/client-metrics/instance-service.test.js.map +1 -1
  380. package/dist/lib/services/context-service.d.ts +6 -2
  381. package/dist/lib/services/context-service.js +16 -2
  382. package/dist/lib/services/context-service.js.map +1 -1
  383. package/dist/lib/services/feature-service-potentially-stale.test.js +1 -1
  384. package/dist/lib/services/feature-service-potentially-stale.test.js.map +1 -1
  385. package/dist/lib/services/feature-toggle-service.d.ts +20 -7
  386. package/dist/lib/services/feature-toggle-service.js +105 -41
  387. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  388. package/dist/lib/services/group-service.d.ts +4 -4
  389. package/dist/lib/services/group-service.js +17 -16
  390. package/dist/lib/services/group-service.js.map +1 -1
  391. package/dist/lib/services/index.d.ts +3 -2
  392. package/dist/lib/services/index.js +31 -17
  393. package/dist/lib/services/index.js.map +1 -1
  394. package/dist/lib/services/project-schema.js +9 -1
  395. package/dist/lib/services/project-schema.js.map +1 -1
  396. package/dist/lib/services/project-service.d.ts +16 -12
  397. package/dist/lib/services/project-service.js +127 -17
  398. package/dist/lib/services/project-service.js.map +1 -1
  399. package/dist/lib/services/scheduler-service.d.ts +1 -1
  400. package/dist/lib/services/scheduler-service.js +3 -3
  401. package/dist/lib/services/scheduler-service.js.map +1 -1
  402. package/dist/lib/services/scheduler-service.test.js +15 -15
  403. package/dist/lib/services/scheduler-service.test.js.map +1 -1
  404. package/dist/lib/services/segment-service.d.ts +4 -2
  405. package/dist/lib/services/segment-service.js +17 -10
  406. package/dist/lib/services/segment-service.js.map +1 -1
  407. package/dist/lib/services/state-service.test.js +13 -3
  408. package/dist/lib/services/state-service.test.js.map +1 -1
  409. package/dist/lib/services/version-service.test.js +3 -0
  410. package/dist/lib/services/version-service.test.js.map +1 -1
  411. package/dist/lib/types/events.d.ts +60 -1
  412. package/dist/lib/types/events.js +65 -3
  413. package/dist/lib/types/events.js.map +1 -1
  414. package/dist/lib/types/experimental.d.ts +1 -1
  415. package/dist/lib/types/experimental.js +9 -5
  416. package/dist/lib/types/experimental.js.map +1 -1
  417. package/dist/lib/types/group.d.ts +2 -2
  418. package/dist/lib/types/model.d.ts +31 -2
  419. package/dist/lib/types/model.js.map +1 -1
  420. package/dist/lib/types/no-auth-user.d.ts +1 -0
  421. package/dist/lib/types/no-auth-user.js +3 -1
  422. package/dist/lib/types/no-auth-user.js.map +1 -1
  423. package/dist/lib/types/option.d.ts +7 -0
  424. package/dist/lib/types/services.d.ts +6 -1
  425. package/dist/lib/types/stores/access-store.d.ts +23 -4
  426. package/dist/lib/types/stores/feature-strategies-store.d.ts +2 -1
  427. package/dist/lib/types/stores/group-store.d.ts +4 -2
  428. package/dist/lib/types/stores/project-stats-store-type.d.ts +2 -0
  429. package/dist/lib/types/stores/project-store.d.ts +7 -14
  430. package/dist/lib/types/stores/strategy-store.d.ts +3 -17
  431. package/dist/lib/types/stores.d.ts +5 -1
  432. package/dist/lib/util/findDuplicates.d.ts +1 -0
  433. package/dist/lib/util/findDuplicates.js +18 -0
  434. package/dist/lib/util/findDuplicates.js.map +1 -0
  435. package/dist/lib/util/findDuplicates.test.d.ts +1 -0
  436. package/dist/lib/util/findDuplicates.test.js +23 -0
  437. package/dist/lib/util/findDuplicates.test.js.map +1 -0
  438. package/dist/migrations/20230830121352-update-client-applications-usage-table.d.ts +2 -0
  439. package/dist/migrations/20230830121352-update-client-applications-usage-table.js +16 -0
  440. package/dist/migrations/20230830121352-update-client-applications-usage-table.js.map +1 -0
  441. package/dist/migrations/20230905122605-add-feature-naming-description.d.ts +2 -0
  442. package/dist/migrations/20230905122605-add-feature-naming-description.js +13 -0
  443. package/dist/migrations/20230905122605-add-feature-naming-description.js.map +1 -0
  444. package/dist/migrations/20230919104006-dependent-features.d.ts +2 -0
  445. package/dist/migrations/20230919104006-dependent-features.js +21 -0
  446. package/dist/migrations/20230919104006-dependent-features.js.map +1 -0
  447. package/dist/migrations/20230927071830-reset-pnps-feedback.d.ts +2 -0
  448. package/dist/migrations/20230927071830-reset-pnps-feedback.js +10 -0
  449. package/dist/migrations/20230927071830-reset-pnps-feedback.js.map +1 -0
  450. package/dist/server-dev.js +7 -4
  451. package/dist/server-dev.js.map +1 -1
  452. package/dist/test/e2e/api/admin/addon.e2e.test.js +0 -1
  453. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  454. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +8 -12
  455. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  456. package/dist/test/e2e/api/admin/event.e2e.test.js +9 -2
  457. package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
  458. package/dist/test/e2e/api/admin/metrics.e2e.test.js +2 -10
  459. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  460. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +8 -0
  461. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  462. package/dist/test/e2e/api/admin/project/features.e2e.test.js +41 -15
  463. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  464. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +30 -3
  465. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
  466. package/dist/test/e2e/api/admin/segment.e2e.test.d.ts +1 -0
  467. package/dist/test/e2e/api/admin/segment.e2e.test.js +272 -0
  468. package/dist/test/e2e/api/admin/segment.e2e.test.js.map +1 -0
  469. package/dist/test/e2e/api/admin/state.e2e.test.js +0 -11
  470. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  471. package/dist/test/e2e/api/admin/strategy.e2e.test.js +1 -1
  472. package/dist/test/e2e/api/client/feature.e2e.test.js +27 -3
  473. package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
  474. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +2 -2
  475. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  476. package/dist/test/e2e/api/client/segment.e2e.test.js +1 -1
  477. package/dist/test/e2e/api/client/segment.e2e.test.js.map +1 -1
  478. package/dist/test/e2e/api/proxy/proxy.e2e.test.js +34 -9
  479. package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
  480. package/dist/test/e2e/helpers/app.utils.d.ts +6 -0
  481. package/dist/test/e2e/helpers/app.utils.js +16 -0
  482. package/dist/test/e2e/helpers/app.utils.js.map +1 -0
  483. package/dist/test/e2e/helpers/database.json +24 -0
  484. package/dist/test/e2e/services/access-service.e2e.test.js +549 -135
  485. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  486. package/dist/test/e2e/services/api-token-service.e2e.test.js +4 -2
  487. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  488. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +2 -1
  489. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  490. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +38 -5
  491. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  492. package/dist/test/e2e/services/group-service.e2e.test.js +16 -11
  493. package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
  494. package/dist/test/e2e/services/playground-service.test.js +5 -2
  495. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  496. package/dist/test/e2e/services/project-health-service.e2e.test.js +4 -2
  497. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  498. package/dist/test/e2e/services/project-service.e2e.test.js +242 -60
  499. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  500. package/dist/test/fixtures/access-service-mock.d.ts +3 -4
  501. package/dist/test/fixtures/access-service-mock.js.map +1 -1
  502. package/dist/test/fixtures/fake-access-store.d.ts +15 -5
  503. package/dist/test/fixtures/fake-access-store.js +30 -3
  504. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  505. package/dist/test/fixtures/fake-group-store.d.ts +4 -2
  506. package/dist/test/fixtures/fake-group-store.js +3 -0
  507. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  508. package/dist/test/fixtures/fake-project-stats-store.d.ts +1 -0
  509. package/dist/test/fixtures/fake-project-stats-store.js +3 -0
  510. package/dist/test/fixtures/fake-project-stats-store.js.map +1 -1
  511. package/dist/test/fixtures/fake-project-store.d.ts +2 -1
  512. package/dist/test/fixtures/fake-project-store.js +3 -0
  513. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  514. package/dist/test/fixtures/no-logger.d.ts +2 -1
  515. package/dist/test/fixtures/no-logger.js +8 -4
  516. package/dist/test/fixtures/no-logger.js.map +1 -1
  517. package/dist/test/fixtures/store.js +3 -0
  518. package/dist/test/fixtures/store.js.map +1 -1
  519. package/frontend/README.md +7 -1
  520. package/frontend/build/index.html +2 -2
  521. package/frontend/build/static/{AdvancedPlayground-1748fcdd.js → AdvancedPlayground-20059178.js} +11 -11
  522. package/frontend/build/static/CreateProject-6955728f.js +4 -0
  523. package/frontend/build/static/{Error-cbce6b64.js → Error-f56339ab.js} +1 -1
  524. package/frontend/build/static/FeatureArchiveDialog-33dc3a5b.js +10 -0
  525. package/frontend/build/static/{FeatureMetricsChart-8fd8a304.js → FeatureMetricsChart-5ad514bc.js} +2 -2
  526. package/frontend/build/static/FeatureViewLazyExport-85a68ed0.js +7 -0
  527. package/frontend/build/static/LazyAdminExport-e2677758.js +35 -0
  528. package/frontend/build/static/LazyProjectExport-969bb54e.js +24 -0
  529. package/frontend/build/static/Logo-android-218bddbb.svg +1 -0
  530. package/frontend/build/static/Logo-flutter-cc3c706f.svg +1 -0
  531. package/frontend/build/static/Logo-go-02475b3d.svg +1 -0
  532. package/frontend/build/static/Logo-java-6e556b26.svg +1 -0
  533. package/frontend/build/static/Logo-javascript-caebc06e.svg +1 -0
  534. package/frontend/build/static/Logo-net-0a33abee.svg +1 -0
  535. package/frontend/build/static/Logo-node-318ed025.svg +1 -0
  536. package/frontend/build/static/Logo-php-201f18c3.svg +1 -0
  537. package/frontend/build/static/Logo-python-4305760e.svg +1 -0
  538. package/frontend/build/static/Logo-react-18e98687.svg +1 -0
  539. package/frontend/build/static/Logo-ruby-58f46832.svg +1 -0
  540. package/frontend/build/static/Logo-rust-c83a80f9.svg +1 -0
  541. package/frontend/build/static/Logo-svelte-97dcb624.svg +1 -0
  542. package/frontend/build/static/Logo-swift-315f842b.svg +5 -0
  543. package/frontend/build/static/Logo-vue-0de73099.svg +1 -0
  544. package/frontend/build/static/{NetworkOverview-349a7bdd.js → NetworkOverview-894877e6.js} +2 -2
  545. package/frontend/build/static/{NetworkTraffic-60478e50.js → NetworkTraffic-81eff1ae.js} +1 -1
  546. package/frontend/build/static/ReactJSONEditor-59c8a094.js +129 -0
  547. package/frontend/build/static/RoleCell-35857d41.js +1 -0
  548. package/frontend/build/static/{StrategyItemContainer-a4caeace.js → StrategyItemContainer-b250f2d4.js} +1 -1
  549. package/frontend/build/static/{chartjs-adapter-date-fns.esm-03d2fbea.js → chartjs-adapter-date-fns.esm-c51fe022.js} +1 -1
  550. package/frontend/build/static/cr-db7653ac.png +0 -0
  551. package/frontend/build/static/datadog-543762b6.svg +5 -0
  552. package/frontend/build/static/edge-daisy-chaining-012bfdef.svg +48 -0
  553. package/frontend/build/static/edge-mode-5d25949b.svg +22 -0
  554. package/frontend/build/static/edge-offline-f6a0f761.svg +19 -0
  555. package/frontend/build/static/{flowchart-elk-definition-170a3958-fc100c77.js → flowchart-elk-definition-170a3958-a8c4a86a.js} +1 -1
  556. package/frontend/build/static/{index-866f9bf9.js → index-0515f416.js} +1 -1
  557. package/frontend/build/static/index-942e9eeb.js +463 -0
  558. package/frontend/build/static/{index-3c63138f.js → index-a59b2d65.js} +1 -1
  559. package/frontend/build/static/{is_dark-31c253e9.js → is_dark-464961a8.js} +1 -1
  560. package/frontend/build/static/jira-1abe7cbf.svg +17 -0
  561. package/frontend/build/static/{mindmap-definition-44684416-398682f9.js → mindmap-definition-44684416-3a71a9a5.js} +1 -1
  562. package/frontend/build/static/slack-36ce798a.svg +18 -0
  563. package/frontend/build/static/style-97d3ef98.css +1 -0
  564. package/frontend/build/static/teams-4e30b51f.svg +45 -0
  565. package/frontend/build/static/{timeline-definition-8e5a9bc6-04a0ae08.js → timeline-definition-8e5a9bc6-da4ebc88.js} +1 -1
  566. package/frontend/build/static/{unknownify-b8618d88.js → unknownify-3563456b.js} +1 -1
  567. package/frontend/build/static/unleash-integration-949d8966.svg +1 -0
  568. package/frontend/build/static/webhooks-b1b44207.svg +16 -0
  569. package/frontend/package.json +20 -18
  570. package/package.json +23 -23
  571. package/dist/lib/services/instance-stats-service.js.map +0 -1
  572. package/dist/lib/services/instance-stats-service.test.js.map +0 -1
  573. package/frontend/build/static/CreateProject-972fa820.js +0 -4
  574. package/frontend/build/static/FeatureArchiveDialog-8a281845.js +0 -10
  575. package/frontend/build/static/FeatureViewLazyExport-a215d53b.js +0 -7
  576. package/frontend/build/static/LazyAdminExport-ba7d55ca.js +0 -35
  577. package/frontend/build/static/LazyProjectExport-12bccd40.js +0 -17
  578. package/frontend/build/static/RoleCell-144e7eca.js +0 -1
  579. package/frontend/build/static/datadog-591b6a73.svg +0 -1
  580. package/frontend/build/static/index-17d74ac9.js +0 -454
  581. package/frontend/build/static/slack-c0af31c6.svg +0 -1
  582. package/frontend/build/static/style-770afaee.css +0 -1
  583. package/frontend/build/static/teams-62e72076.svg +0 -26
  584. package/frontend/build/static/webhooks-ffa904ac.svg +0 -1
  585. /package/dist/lib/{services/instance-stats-service.test.d.ts → db/access-store.test.d.ts} +0 -0
  586. /package/frontend/build/static/{jira-d9eb9af9.svg → jira-comment-d9eb9af9.svg} +0 -0
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminSegmentSchema = void 0;
4
+ const constraint_schema_1 = require("./constraint-schema");
5
+ exports.adminSegmentSchema = {
6
+ $id: '#/components/schemas/adminSegmentSchema',
7
+ type: 'object',
8
+ required: ['id', 'name', 'constraints', 'createdAt'],
9
+ description: 'A description of a [segment](https://docs.getunleash.io/reference/segments)',
10
+ additionalProperties: false,
11
+ properties: {
12
+ id: {
13
+ type: 'integer',
14
+ description: 'The ID of this segment',
15
+ example: 2,
16
+ minimum: 0,
17
+ },
18
+ name: {
19
+ type: 'string',
20
+ description: 'The name of this segment',
21
+ example: 'ios-users',
22
+ },
23
+ description: {
24
+ type: 'string',
25
+ nullable: true,
26
+ description: 'The description for this segment',
27
+ example: 'IOS users segment',
28
+ },
29
+ constraints: {
30
+ type: 'array',
31
+ description: 'The list of constraints that are used in this segment',
32
+ items: {
33
+ $ref: '#/components/schemas/constraintSchema',
34
+ },
35
+ },
36
+ usedInFeatures: {
37
+ type: 'integer',
38
+ minimum: 0,
39
+ description: 'The number of projects that use this segment',
40
+ example: 3,
41
+ nullable: true,
42
+ },
43
+ usedInProjects: {
44
+ type: 'integer',
45
+ minimum: 0,
46
+ description: 'The number of projects that use this segment',
47
+ example: 2,
48
+ nullable: true,
49
+ },
50
+ project: {
51
+ type: 'string',
52
+ nullable: true,
53
+ example: 'red-vista',
54
+ description: 'The project the segment belongs to. Only present if the segment is a project-specific segment.',
55
+ },
56
+ createdBy: {
57
+ description: "The creator's email or username",
58
+ example: 'someone@example.com',
59
+ type: 'string',
60
+ nullable: true,
61
+ },
62
+ createdAt: {
63
+ type: 'string',
64
+ format: 'date-time',
65
+ description: 'When the segment was created',
66
+ example: '2023-04-12T11:13:31.960Z',
67
+ },
68
+ },
69
+ components: {
70
+ schemas: {
71
+ constraintSchema: constraint_schema_1.constraintSchema,
72
+ },
73
+ },
74
+ };
75
+ //# sourceMappingURL=admin-segment-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-segment-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/admin-segment-schema.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAE1C,QAAA,kBAAkB,GAAG;IAC9B,GAAG,EAAE,yCAAyC;IAC9C,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC;IACpD,WAAW,EACP,6EAA6E;IACjF,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACR,EAAE,EAAE;YACA,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;SACb;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,WAAW;SACvB;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,mBAAmB;SAC/B;QACD,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,WAAW,EACP,uDAAuD;YAC3D,KAAK,EAAE;gBACH,IAAI,EAAE,uCAAuC;aAChD;SACJ;QACD,cAAc,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;SACjB;QACD,cAAc,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;SACjB;QACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,WAAW;YACpB,WAAW,EACP,gGAAgG;SACvG;QACD,SAAS,EAAE;YACP,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,qBAAqB;YAC9B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACjB;QACD,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,0BAA0B;SACtC;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,gBAAgB,EAAhB,oCAAgB;SACnB;KACJ;CACK,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const validate_1 = require("../validate");
4
+ test('updateEnvironmentSchema', () => {
5
+ const data = {
6
+ id: 1,
7
+ name: 'release',
8
+ constraints: [],
9
+ createdAt: '2022-07-25 06:00:00',
10
+ createdBy: 'test',
11
+ description: 'a description',
12
+ };
13
+ expect((0, validate_1.validateSchema)('#/components/schemas/adminSegmentSchema', data)).toBeUndefined();
14
+ expect((0, validate_1.validateSchema)('#/components/schemas/adminSegmentSchema', {
15
+ id: 1,
16
+ name: 'release',
17
+ constraints: [],
18
+ createdAt: '2022-07-25 06:00:00',
19
+ })).toBeUndefined();
20
+ expect((0, validate_1.validateSchema)('#/components/schemas/adminSegmentSchema', {
21
+ id: 1,
22
+ name: 'release',
23
+ constraints: [],
24
+ createdAt: '2022-07-25 06:00:00',
25
+ additional: 'property',
26
+ })).toMatchSnapshot();
27
+ expect((0, validate_1.validateSchema)('#/components/schemas/adminSegmentSchema', {
28
+ id: 1,
29
+ name: 'release',
30
+ constraints: [],
31
+ createdAt: 'wrong-format',
32
+ })).toMatchSnapshot();
33
+ expect((0, validate_1.validateSchema)('#/components/schemas/adminSegmentSchema', {
34
+ name: 'release',
35
+ constraints: [],
36
+ })).toMatchSnapshot();
37
+ expect((0, validate_1.validateSchema)('#/components/schemas/adminSegmentSchema', 'not an object')).toMatchSnapshot();
38
+ });
39
+ //# sourceMappingURL=admin-segment-schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-segment-schema.test.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/admin-segment-schema.test.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAG7C,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,MAAM,IAAI,GAAuB;QAC7B,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,qBAAqB;QAChC,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,eAAe;KAC/B,CAAC;IAEF,MAAM,CACF,IAAA,yBAAc,EAAC,yCAAyC,EAAE,IAAI,CAAC,CAClE,CAAC,aAAa,EAAE,CAAC;IAElB,MAAM,CACF,IAAA,yBAAc,EAAC,yCAAyC,EAAE;QACtD,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,qBAAqB;KACnC,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IAElB,MAAM,CACF,IAAA,yBAAc,EAAC,yCAAyC,EAAE;QACtD,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,qBAAqB;QAChC,UAAU,EAAE,UAAU;KACzB,CAAC,CACL,CAAC,eAAe,EAAE,CAAC;IAEpB,MAAM,CACF,IAAA,yBAAc,EAAC,yCAAyC,EAAE;QACtD,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,cAAc;KAC5B,CAAC,CACL,CAAC,eAAe,EAAE,CAAC;IAEpB,MAAM,CACF,IAAA,yBAAc,EAAC,yCAAyC,EAAE;QACtD,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE;KAClB,CAAC,CACL,CAAC,eAAe,EAAE,CAAC;IAEpB,MAAM,CACF,IAAA,yBAAc,EACV,yCAAyC,EACzC,eAAe,CAClB,CACJ,CAAC,eAAe,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { FromSchema } from 'json-schema-to-ts';
2
+ export declare const segmentStrategiesSchema: {
3
+ readonly $id: "#/components/schemas/segmentStrategiesSchema";
4
+ readonly type: "object";
5
+ readonly required: readonly ["strategies"];
6
+ readonly description: "A collection of strategies belonging to a specified segment.";
7
+ readonly properties: {
8
+ readonly strategies: {
9
+ readonly description: "The list of strategies";
10
+ readonly type: "array";
11
+ readonly items: {
12
+ readonly type: "object";
13
+ readonly required: readonly ["id", "featureName", "projectId", "environment", "strategyName"];
14
+ readonly properties: {
15
+ readonly id: {
16
+ readonly type: "string";
17
+ readonly description: "The ID of the strategy";
18
+ readonly example: "e465c813-cffb-4232-b184-82b1d6fe9d3d";
19
+ };
20
+ readonly featureName: {
21
+ readonly type: "string";
22
+ readonly description: "The ID of the strategy";
23
+ readonly example: "new-signup-flow";
24
+ };
25
+ readonly projectId: {
26
+ readonly type: "string";
27
+ readonly description: "The ID of the project that the strategy belongs to.";
28
+ readonly example: "red-vista";
29
+ };
30
+ readonly environment: {
31
+ readonly type: "string";
32
+ readonly description: "The ID of the environment that the strategy belongs to.";
33
+ readonly example: "development";
34
+ };
35
+ readonly strategyName: {
36
+ readonly type: "string";
37
+ readonly description: "The name of the strategy's type.";
38
+ readonly example: "flexibleRollout";
39
+ };
40
+ };
41
+ };
42
+ };
43
+ };
44
+ readonly components: {};
45
+ };
46
+ export declare type SegmentStrategiesSchema = FromSchema<typeof segmentStrategiesSchema>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.segmentStrategiesSchema = void 0;
4
+ exports.segmentStrategiesSchema = {
5
+ $id: '#/components/schemas/segmentStrategiesSchema',
6
+ type: 'object',
7
+ required: ['strategies'],
8
+ description: 'A collection of strategies belonging to a specified segment.',
9
+ properties: {
10
+ strategies: {
11
+ description: 'The list of strategies',
12
+ type: 'array',
13
+ items: {
14
+ type: 'object',
15
+ required: [
16
+ 'id',
17
+ 'featureName',
18
+ 'projectId',
19
+ 'environment',
20
+ 'strategyName',
21
+ ],
22
+ properties: {
23
+ id: {
24
+ type: 'string',
25
+ description: 'The ID of the strategy',
26
+ example: 'e465c813-cffb-4232-b184-82b1d6fe9d3d',
27
+ },
28
+ featureName: {
29
+ type: 'string',
30
+ description: 'The ID of the strategy',
31
+ example: 'new-signup-flow',
32
+ },
33
+ projectId: {
34
+ type: 'string',
35
+ description: 'The ID of the project that the strategy belongs to.',
36
+ example: 'red-vista',
37
+ },
38
+ environment: {
39
+ type: 'string',
40
+ description: 'The ID of the environment that the strategy belongs to.',
41
+ example: 'development',
42
+ },
43
+ strategyName: {
44
+ type: 'string',
45
+ description: "The name of the strategy's type.",
46
+ example: 'flexibleRollout',
47
+ },
48
+ },
49
+ },
50
+ },
51
+ },
52
+ components: {},
53
+ };
54
+ //# sourceMappingURL=admin-strategies-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-strategies-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/admin-strategies-schema.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG;IACnC,GAAG,EAAE,8CAA8C;IACnD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,WAAW,EAAE,8DAA8D;IAC3E,UAAU,EAAE;QACR,UAAU,EAAE;YACR,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE;oBACN,IAAI;oBACJ,aAAa;oBACb,WAAW;oBACX,aAAa;oBACb,cAAc;iBACjB;gBACD,UAAU,EAAE;oBACR,EAAE,EAAE;wBACA,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wBAAwB;wBACrC,OAAO,EAAE,sCAAsC;qBAClD;oBACD,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wBAAwB;wBACrC,OAAO,EAAE,iBAAiB;qBAC7B;oBACD,SAAS,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACP,qDAAqD;wBACzD,OAAO,EAAE,WAAW;qBACvB;oBACD,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACP,yDAAyD;wBAC7D,OAAO,EAAE,aAAa;qBACzB;oBACD,YAAY,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kCAAkC;wBAC/C,OAAO,EAAE,iBAAiB;qBAC7B;iBACJ;aACJ;SACJ;KACJ;IACD,UAAU,EAAE,EAAE;CACR,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const validate_1 = require("../validate");
4
+ test('segmentStrategiesSchema', () => {
5
+ const validExamples = [
6
+ { strategies: [] },
7
+ {
8
+ strategies: [
9
+ {
10
+ id: 'test',
11
+ projectId: '2',
12
+ featureName: 'featureName',
13
+ strategyName: 'strategyName',
14
+ environment: 'environment',
15
+ },
16
+ ],
17
+ },
18
+ ];
19
+ validExamples.forEach((obj) => {
20
+ expect((0, validate_1.validateSchema)('#/components/schemas/segmentStrategiesSchema', obj)).toBeUndefined();
21
+ });
22
+ const invalidExamples = [
23
+ 'not an object',
24
+ {},
25
+ { notStrategies: [] },
26
+ {
27
+ strategies: [
28
+ {
29
+ featureName: 'featureName',
30
+ strategyName: 'strategyName',
31
+ environment: 'environment',
32
+ },
33
+ ],
34
+ },
35
+ ];
36
+ invalidExamples.forEach((obj) => {
37
+ expect((0, validate_1.validateSchema)('#/components/schemas/segmentStrategiesSchema', obj)).toMatchSnapshot();
38
+ });
39
+ });
40
+ //# sourceMappingURL=admin-strategies-schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-strategies-schema.test.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/admin-strategies-schema.test.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAE7C,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,MAAM,aAAa,GAAG;QAClB,EAAE,UAAU,EAAE,EAAE,EAAE;QAClB;YACI,UAAU,EAAE;gBACR;oBACI,EAAE,EAAE,MAAM;oBACV,SAAS,EAAE,GAAG;oBACd,WAAW,EAAE,aAAa;oBAC1B,YAAY,EAAE,cAAc;oBAC5B,WAAW,EAAE,aAAa;iBAC7B;aACJ;SACJ;KACJ,CAAC;IACF,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,CACF,IAAA,yBAAc,EAAC,8CAA8C,EAAE,GAAG,CAAC,CACtE,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG;QACpB,eAAe;QACf,EAAE;QACF,EAAE,aAAa,EAAE,EAAE,EAAE;QACrB;YACI,UAAU,EAAE;gBACR;oBACI,WAAW,EAAE,aAAa;oBAC1B,YAAY,EAAE,cAAc;oBAC5B,WAAW,EAAE,aAAa;iBAC7B;aACJ;SACJ;KACJ,CAAC;IACF,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,MAAM,CACF,IAAA,yBAAc,EAAC,8CAA8C,EAAE,GAAG,CAAC,CACtE,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -18,7 +18,7 @@ export declare const advancedPlaygroundEnvironmentFeatureSchema: {
18
18
  };
19
19
  readonly context: {
20
20
  readonly description: "The context to use when evaluating toggles";
21
- readonly $ref: "#/components/schemas/sdkContextSchema";
21
+ readonly $ref: "#/components/schemas/sdkFlatContextSchema";
22
22
  };
23
23
  readonly projectId: {
24
24
  readonly type: "string";
@@ -188,7 +188,7 @@ export declare const advancedPlaygroundEnvironmentFeatureSchema: {
188
188
  readonly type: {
189
189
  readonly description: "The format of the payload.";
190
190
  readonly type: "string";
191
- readonly enum: readonly ["json", "csv", "string"];
191
+ readonly enum: readonly ["json", "csv", "string", "number"];
192
192
  };
193
193
  readonly value: {
194
194
  readonly type: "string";
@@ -430,9 +430,9 @@ export declare const advancedPlaygroundEnvironmentFeatureSchema: {
430
430
  readonly additionalProperties: false;
431
431
  readonly properties: {
432
432
  readonly type: {
433
- readonly description: "The type of the value. Commonly used types are string, json and csv.";
433
+ readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
434
434
  readonly type: "string";
435
- readonly enum: readonly ["json", "csv", "string"];
435
+ readonly enum: readonly ["json", "csv", "string", "number"];
436
436
  };
437
437
  readonly value: {
438
438
  readonly description: "The actual value of payload";
@@ -680,9 +680,9 @@ export declare const advancedPlaygroundEnvironmentFeatureSchema: {
680
680
  readonly additionalProperties: false;
681
681
  readonly properties: {
682
682
  readonly type: {
683
- readonly description: "The type of the value. Commonly used types are string, json and csv.";
683
+ readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
684
684
  readonly type: "string";
685
- readonly enum: readonly ["json", "csv", "string"];
685
+ readonly enum: readonly ["json", "csv", "string", "number"];
686
686
  };
687
687
  readonly value: {
688
688
  readonly description: "The actual value of payload";
@@ -753,11 +753,56 @@ export declare const advancedPlaygroundEnvironmentFeatureSchema: {
753
753
  };
754
754
  readonly components: {};
755
755
  };
756
+ readonly sdkFlatContextSchema: {
757
+ readonly $id: "#/components/schemas/sdkFlatContextSchema";
758
+ readonly description: "The Unleash context with flattened properties";
759
+ readonly type: "object";
760
+ readonly required: readonly ["appName"];
761
+ readonly additionalProperties: {
762
+ readonly type: "string";
763
+ };
764
+ readonly properties: {
765
+ appName: {
766
+ readonly type: "string";
767
+ readonly minLength: 1;
768
+ readonly example: "My cool application.";
769
+ readonly description: "The name of the application.";
770
+ };
771
+ currentTime: {
772
+ readonly type: "string";
773
+ readonly format: "date-time";
774
+ readonly example: "2022-07-05T12:56:41+02:00";
775
+ 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.";
776
+ };
777
+ environment: {
778
+ readonly type: "string";
779
+ readonly deprecated: true;
780
+ readonly description: "The environment the app is running in.";
781
+ };
782
+ remoteAddress: {
783
+ readonly type: "string";
784
+ readonly example: "192.168.1.1";
785
+ readonly description: "The app's IP address";
786
+ };
787
+ sessionId: {
788
+ readonly type: "string";
789
+ readonly example: "b65e7b23-fec0-4814-a129-0e9861ef18fc";
790
+ readonly description: "An identifier for the current session";
791
+ };
792
+ userId: {
793
+ readonly type: "string";
794
+ readonly example: "username@provider.com";
795
+ readonly description: "An identifier for the current user";
796
+ };
797
+ };
798
+ readonly components: {};
799
+ };
756
800
  readonly sdkContextSchema: {
757
801
  readonly $id: "#/components/schemas/sdkContextSchema";
758
802
  readonly description: "The Unleash context as modeled in client SDKs";
759
803
  readonly type: "object";
760
804
  readonly required: readonly ["appName"];
805
+ readonly additionalProperties: true;
761
806
  readonly properties: {
762
807
  readonly appName: {
763
808
  readonly type: "string";
@@ -8,6 +8,7 @@ const playground_strategy_schema_1 = require("./playground-strategy-schema");
8
8
  const playground_constraint_schema_1 = require("./playground-constraint-schema");
9
9
  const playground_segment_schema_1 = require("./playground-segment-schema");
10
10
  const sdk_context_schema_1 = require("./sdk-context-schema");
11
+ const sdk_flat_context_schema_1 = require("./sdk-flat-context-schema");
11
12
  exports.advancedPlaygroundEnvironmentFeatureSchema = {
12
13
  $id: '#/components/schemas/advancedPlaygroundEnvironmentFeatureSchema',
13
14
  description: 'A simplified feature toggle model intended for the Unleash playground.',
@@ -37,7 +38,7 @@ exports.advancedPlaygroundEnvironmentFeatureSchema = {
37
38
  },
38
39
  context: {
39
40
  description: 'The context to use when evaluating toggles',
40
- $ref: sdk_context_schema_1.sdkContextSchema.$id,
41
+ $ref: sdk_flat_context_schema_1.sdkFlatContextSchema.$id,
41
42
  },
42
43
  projectId: {
43
44
  type: 'string',
@@ -137,6 +138,7 @@ exports.advancedPlaygroundEnvironmentFeatureSchema = {
137
138
  parametersSchema: parameters_schema_1.parametersSchema,
138
139
  variantSchema: variant_schema_1.variantSchema,
139
140
  overrideSchema: override_schema_1.overrideSchema,
141
+ sdkFlatContextSchema: sdk_flat_context_schema_1.sdkFlatContextSchema,
140
142
  sdkContextSchema: sdk_context_schema_1.sdkContextSchema,
141
143
  },
142
144
  variants: { type: 'array', items: { $ref: variant_schema_1.variantSchema.$id } },
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-playground-environment-feature-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/advanced-playground-environment-feature-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-playground-environment-feature-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/advanced-playground-environment-feature-schema.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export declare const advancedPlaygroundFeatureSchema: {
48
48
  };
49
49
  readonly context: {
50
50
  readonly description: "The context to use when evaluating toggles";
51
- readonly $ref: "#/components/schemas/sdkContextSchema";
51
+ readonly $ref: "#/components/schemas/sdkFlatContextSchema";
52
52
  };
53
53
  readonly projectId: {
54
54
  readonly type: "string";
@@ -218,7 +218,7 @@ export declare const advancedPlaygroundFeatureSchema: {
218
218
  readonly type: {
219
219
  readonly description: "The format of the payload.";
220
220
  readonly type: "string";
221
- readonly enum: readonly ["json", "csv", "string"];
221
+ readonly enum: readonly ["json", "csv", "string", "number"];
222
222
  };
223
223
  readonly value: {
224
224
  readonly type: "string";
@@ -460,9 +460,9 @@ export declare const advancedPlaygroundFeatureSchema: {
460
460
  readonly additionalProperties: false;
461
461
  readonly properties: {
462
462
  readonly type: {
463
- readonly description: "The type of the value. Commonly used types are string, json and csv.";
463
+ readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
464
464
  readonly type: "string";
465
- readonly enum: readonly ["json", "csv", "string"];
465
+ readonly enum: readonly ["json", "csv", "string", "number"];
466
466
  };
467
467
  readonly value: {
468
468
  readonly description: "The actual value of payload";
@@ -710,9 +710,9 @@ export declare const advancedPlaygroundFeatureSchema: {
710
710
  readonly additionalProperties: false;
711
711
  readonly properties: {
712
712
  readonly type: {
713
- readonly description: "The type of the value. Commonly used types are string, json and csv.";
713
+ readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
714
714
  readonly type: "string";
715
- readonly enum: readonly ["json", "csv", "string"];
715
+ readonly enum: readonly ["json", "csv", "string", "number"];
716
716
  };
717
717
  readonly value: {
718
718
  readonly description: "The actual value of payload";
@@ -783,11 +783,56 @@ export declare const advancedPlaygroundFeatureSchema: {
783
783
  };
784
784
  readonly components: {};
785
785
  };
786
+ readonly sdkFlatContextSchema: {
787
+ readonly $id: "#/components/schemas/sdkFlatContextSchema";
788
+ readonly description: "The Unleash context with flattened properties";
789
+ readonly type: "object";
790
+ readonly required: readonly ["appName"];
791
+ readonly additionalProperties: {
792
+ readonly type: "string";
793
+ };
794
+ readonly properties: {
795
+ appName: {
796
+ readonly type: "string";
797
+ readonly minLength: 1;
798
+ readonly example: "My cool application.";
799
+ readonly description: "The name of the application.";
800
+ };
801
+ currentTime: {
802
+ readonly type: "string";
803
+ readonly format: "date-time";
804
+ readonly example: "2022-07-05T12:56:41+02:00";
805
+ 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.";
806
+ };
807
+ environment: {
808
+ readonly type: "string";
809
+ readonly deprecated: true;
810
+ readonly description: "The environment the app is running in.";
811
+ };
812
+ remoteAddress: {
813
+ readonly type: "string";
814
+ readonly example: "192.168.1.1";
815
+ readonly description: "The app's IP address";
816
+ };
817
+ sessionId: {
818
+ readonly type: "string";
819
+ readonly example: "b65e7b23-fec0-4814-a129-0e9861ef18fc";
820
+ readonly description: "An identifier for the current session";
821
+ };
822
+ userId: {
823
+ readonly type: "string";
824
+ readonly example: "username@provider.com";
825
+ readonly description: "An identifier for the current user";
826
+ };
827
+ };
828
+ readonly components: {};
829
+ };
786
830
  readonly sdkContextSchema: {
787
831
  readonly $id: "#/components/schemas/sdkContextSchema";
788
832
  readonly description: "The Unleash context as modeled in client SDKs";
789
833
  readonly type: "object";
790
834
  readonly required: readonly ["appName"];
835
+ readonly additionalProperties: true;
791
836
  readonly properties: {
792
837
  readonly appName: {
793
838
  readonly type: "string";
@@ -925,7 +970,7 @@ export declare const advancedPlaygroundFeatureSchema: {
925
970
  readonly type: {
926
971
  readonly description: "The format of the payload.";
927
972
  readonly type: "string";
928
- readonly enum: readonly ["json", "csv", "string"];
973
+ readonly enum: readonly ["json", "csv", "string", "number"];
929
974
  };
930
975
  readonly value: {
931
976
  readonly type: "string";
@@ -1167,9 +1212,9 @@ export declare const advancedPlaygroundFeatureSchema: {
1167
1212
  readonly additionalProperties: false;
1168
1213
  readonly properties: {
1169
1214
  readonly type: {
1170
- readonly description: "The type of the value. Commonly used types are string, json and csv.";
1215
+ readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
1171
1216
  readonly type: "string";
1172
- readonly enum: readonly ["json", "csv", "string"];
1217
+ readonly enum: readonly ["json", "csv", "string", "number"];
1173
1218
  };
1174
1219
  readonly value: {
1175
1220
  readonly description: "The actual value of payload";
@@ -1417,9 +1462,9 @@ export declare const advancedPlaygroundFeatureSchema: {
1417
1462
  readonly additionalProperties: false;
1418
1463
  readonly properties: {
1419
1464
  readonly type: {
1420
- readonly description: "The type of the value. Commonly used types are string, json and csv.";
1465
+ readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
1421
1466
  readonly type: "string";
1422
- readonly enum: readonly ["json", "csv", "string"];
1467
+ readonly enum: readonly ["json", "csv", "string", "number"];
1423
1468
  };
1424
1469
  readonly value: {
1425
1470
  readonly description: "The actual value of payload";
@@ -1495,6 +1540,7 @@ export declare const advancedPlaygroundFeatureSchema: {
1495
1540
  readonly description: "The Unleash context as modeled in client SDKs";
1496
1541
  readonly type: "object";
1497
1542
  readonly required: readonly ["appName"];
1543
+ readonly additionalProperties: true;
1498
1544
  readonly properties: {
1499
1545
  readonly appName: {
1500
1546
  readonly type: "string";
@@ -1542,6 +1588,50 @@ export declare const advancedPlaygroundFeatureSchema: {
1542
1588
  };
1543
1589
  readonly components: {};
1544
1590
  };
1591
+ readonly sdkFlatContextSchema: {
1592
+ readonly $id: "#/components/schemas/sdkFlatContextSchema";
1593
+ readonly description: "The Unleash context with flattened properties";
1594
+ readonly type: "object";
1595
+ readonly required: readonly ["appName"];
1596
+ readonly additionalProperties: {
1597
+ readonly type: "string";
1598
+ };
1599
+ readonly properties: {
1600
+ appName: {
1601
+ readonly type: "string";
1602
+ readonly minLength: 1;
1603
+ readonly example: "My cool application.";
1604
+ readonly description: "The name of the application.";
1605
+ };
1606
+ currentTime: {
1607
+ readonly type: "string";
1608
+ readonly format: "date-time";
1609
+ readonly example: "2022-07-05T12:56:41+02:00";
1610
+ 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.";
1611
+ };
1612
+ environment: {
1613
+ readonly type: "string";
1614
+ readonly deprecated: true;
1615
+ readonly description: "The environment the app is running in.";
1616
+ };
1617
+ remoteAddress: {
1618
+ readonly type: "string";
1619
+ readonly example: "192.168.1.1";
1620
+ readonly description: "The app's IP address";
1621
+ };
1622
+ sessionId: {
1623
+ readonly type: "string";
1624
+ readonly example: "b65e7b23-fec0-4814-a129-0e9861ef18fc";
1625
+ readonly description: "An identifier for the current session";
1626
+ };
1627
+ userId: {
1628
+ readonly type: "string";
1629
+ readonly example: "username@provider.com";
1630
+ readonly description: "An identifier for the current user";
1631
+ };
1632
+ };
1633
+ readonly components: {};
1634
+ };
1545
1635
  };
1546
1636
  };
1547
1637
  };
@@ -9,6 +9,7 @@ const playground_constraint_schema_1 = require("./playground-constraint-schema")
9
9
  const playground_segment_schema_1 = require("./playground-segment-schema");
10
10
  const sdk_context_schema_1 = require("./sdk-context-schema");
11
11
  const advanced_playground_environment_feature_schema_1 = require("./advanced-playground-environment-feature-schema");
12
+ const sdk_flat_context_schema_1 = require("./sdk-flat-context-schema");
12
13
  exports.advancedPlaygroundFeatureSchema = {
13
14
  $id: '#/components/schemas/advancedPlaygroundFeatureSchema',
14
15
  description: 'A simplified feature toggle model intended for the Unleash playground.',
@@ -45,6 +46,7 @@ exports.advancedPlaygroundFeatureSchema = {
45
46
  variantSchema: variant_schema_1.variantSchema,
46
47
  overrideSchema: override_schema_1.overrideSchema,
47
48
  sdkContextSchema: sdk_context_schema_1.sdkContextSchema,
49
+ sdkFlatContextSchema: sdk_flat_context_schema_1.sdkFlatContextSchema,
48
50
  },
49
51
  },
50
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-playground-feature-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/advanced-playground-feature-schema.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,qDAAiD;AACjD,uDAAmD;AACnD,6EAAwE;AACxE,iFAA4E;AAC5E,2EAAsE;AACtE,6DAAwD;AACxD,qHAA8G;AAEjG,QAAA,+BAA+B,GAAG;IAC3C,GAAG,EAAE,sDAAsD;IAC3D,WAAW,EACP,wEAAwE;IAC5E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC;IAC/C,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,qBAAqB;SACrC;QACD,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,mDAAmD;SACnE;QACD,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EACP,wEAAwE;YAC5E,oBAAoB,EAAE;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,2FAA0C,CAAC,GAAG,EAAE;aAClE;SACJ;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,0CAA0C,EAA1C,2FAA0C;YAC1C,wBAAwB,EAAxB,qDAAwB;YACxB,0BAA0B,EAA1B,yDAA0B;YAC1B,uBAAuB,EAAvB,mDAAuB;YACvB,gBAAgB,EAAhB,oCAAgB;YAChB,aAAa,EAAb,8BAAa;YACb,cAAc,EAAd,gCAAc;YACd,gBAAgB,EAAhB,qCAAgB;SACnB;KACJ;CACK,CAAC"}
1
+ {"version":3,"file":"advanced-playground-feature-schema.js","sourceRoot":"","sources":["../../../../src/lib/openapi/spec/advanced-playground-feature-schema.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,qDAAiD;AACjD,uDAAmD;AACnD,6EAAwE;AACxE,iFAA4E;AAC5E,2EAAsE;AACtE,6DAAwD;AACxD,qHAA8G;AAC9G,uEAAiE;AAEpD,QAAA,+BAA+B,GAAG;IAC3C,GAAG,EAAE,sDAAsD;IAC3D,WAAW,EACP,wEAAwE;IAC5E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC;IAC/C,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,qBAAqB;SACrC;QACD,SAAS,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,mDAAmD;SACnE;QACD,YAAY,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EACP,wEAAwE;YAC5E,oBAAoB,EAAE;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,2FAA0C,CAAC,GAAG,EAAE;aAClE;SACJ;KACJ;IACD,UAAU,EAAE;QACR,OAAO,EAAE;YACL,0CAA0C,EAA1C,2FAA0C;YAC1C,wBAAwB,EAAxB,qDAAwB;YACxB,0BAA0B,EAA1B,yDAA0B;YAC1B,uBAAuB,EAAvB,mDAAuB;YACvB,gBAAgB,EAAhB,oCAAgB;YAChB,aAAa,EAAb,8BAAa;YACb,cAAc,EAAd,gCAAc;YACd,gBAAgB,EAAhB,qCAAgB;YAChB,oBAAoB,EAApB,8CAAoB;SACvB;KACJ;CACK,CAAC"}