@go-mondo/identity-sdk 0.0.2-beta.9 → 0.0.2-beta.91

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 (630) hide show
  1. package/.github/workflows/release.yaml +1 -1
  2. package/.release-please-manifest.json +1 -1
  3. package/.tsbuildinfo/cjs.json +1 -1
  4. package/.tsbuildinfo/esm.json +1 -1
  5. package/CHANGELOG.md +575 -0
  6. package/README.md +384 -2
  7. package/dist/cjs/action/schema/base.d.ts +21 -21
  8. package/dist/cjs/action/schema/base.d.ts.map +1 -1
  9. package/dist/cjs/action/schema/base.js +48 -10
  10. package/dist/cjs/action/schema/base.test.js +50 -35
  11. package/dist/cjs/action/schema/operations/sign-up-verification.d.ts +21 -21
  12. package/dist/cjs/action/schema/operations/sign-up-verification.d.ts.map +1 -1
  13. package/dist/cjs/action/schema/operations/sign-up-verification.js +41 -7
  14. package/dist/cjs/action/schema/operations/sign-up-verification.test.js +28 -29
  15. package/dist/cjs/action/schema/operations/sign-up.d.ts +40 -43
  16. package/dist/cjs/action/schema/operations/sign-up.d.ts.map +1 -1
  17. package/dist/cjs/action/schema/operations/sign-up.js +57 -15
  18. package/dist/cjs/action/schema/operations/sign-up.test.js +33 -34
  19. package/dist/cjs/action/schema/operations/user-attribute-verification.d.ts +19 -19
  20. package/dist/cjs/action/schema/operations/user-attribute-verification.d.ts.map +1 -1
  21. package/dist/cjs/action/schema/operations/user-attribute-verification.js +39 -5
  22. package/dist/cjs/action/schema/operations/user-attribute-verification.test.js +25 -26
  23. package/dist/cjs/action/schema/schema.d.ts +49 -77
  24. package/dist/cjs/action/schema/schema.d.ts.map +1 -1
  25. package/dist/cjs/action/schema/schema.js +7 -5
  26. package/dist/cjs/action/schema/schema.test.js +31 -58
  27. package/dist/cjs/activity/resources.d.ts +3 -3
  28. package/dist/cjs/activity/resources.d.ts.map +1 -1
  29. package/dist/cjs/activity/resources.js +2 -2
  30. package/dist/cjs/activity/resources.test.js +14 -13
  31. package/dist/cjs/activity/schema/base.d.ts +88 -69
  32. package/dist/cjs/activity/schema/base.d.ts.map +1 -1
  33. package/dist/cjs/activity/schema/base.js +71 -26
  34. package/dist/cjs/activity/schema/base.test.js +85 -55
  35. package/dist/cjs/activity/schema/schema.d.ts +293 -226
  36. package/dist/cjs/activity/schema/schema.d.ts.map +1 -1
  37. package/dist/cjs/activity/schema/schema.test.js +47 -48
  38. package/dist/cjs/activity/schema/types/authentication.d.ts +64 -46
  39. package/dist/cjs/activity/schema/types/authentication.d.ts.map +1 -1
  40. package/dist/cjs/activity/schema/types/authentication.js +49 -7
  41. package/dist/cjs/activity/schema/types/authentication.test.js +37 -38
  42. package/dist/cjs/activity/schema/types/authorization.d.ts +64 -46
  43. package/dist/cjs/activity/schema/types/authorization.d.ts.map +1 -1
  44. package/dist/cjs/activity/schema/types/authorization.js +49 -7
  45. package/dist/cjs/activity/schema/types/authorization.test.js +41 -42
  46. package/dist/cjs/activity/schema/types/note.d.ts +83 -70
  47. package/dist/cjs/activity/schema/types/note.d.ts.map +1 -1
  48. package/dist/cjs/activity/schema/types/note.js +53 -12
  49. package/dist/cjs/activity/schema/types/note.test.js +48 -49
  50. package/dist/cjs/activity/schema/types/operation.d.ts +64 -45
  51. package/dist/cjs/activity/schema/types/operation.d.ts.map +1 -1
  52. package/dist/cjs/activity/schema/types/operation.js +52 -8
  53. package/dist/cjs/activity/schema/types/operation.test.js +34 -35
  54. package/dist/cjs/activity/schema/types/unknown.d.ts +50 -41
  55. package/dist/cjs/activity/schema/types/unknown.d.ts.map +1 -1
  56. package/dist/cjs/activity/schema/types/unknown.js +45 -6
  57. package/dist/cjs/activity/schema/types/unknown.test.js +29 -30
  58. package/dist/cjs/app/authorization/resources.d.ts +4 -4
  59. package/dist/cjs/app/authorization/resources.d.ts.map +1 -1
  60. package/dist/cjs/app/authorization/resources.js +2 -6
  61. package/dist/cjs/app/authorization/schema.d.ts +90 -52
  62. package/dist/cjs/app/authorization/schema.d.ts.map +1 -1
  63. package/dist/cjs/app/authorization/schema.js +90 -65
  64. package/dist/cjs/app/authorization/schema.test.js +155 -74
  65. package/dist/cjs/app/oauth/resources.d.ts +4 -4
  66. package/dist/cjs/app/oauth/resources.d.ts.map +1 -1
  67. package/dist/cjs/app/oauth/resources.js +2 -3
  68. package/dist/cjs/app/oauth/schema.d.ts +34 -41
  69. package/dist/cjs/app/oauth/schema.d.ts.map +1 -1
  70. package/dist/cjs/app/oauth/schema.js +56 -17
  71. package/dist/cjs/app/oauth/schema.test.js +39 -40
  72. package/dist/cjs/app/oidc/resources.d.ts +6 -6
  73. package/dist/cjs/app/oidc/resources.d.ts.map +1 -1
  74. package/dist/cjs/app/oidc/resources.js +4 -5
  75. package/dist/cjs/app/oidc/schema.d.ts +26 -37
  76. package/dist/cjs/app/oidc/schema.d.ts.map +1 -1
  77. package/dist/cjs/app/oidc/schema.js +50 -13
  78. package/dist/cjs/app/oidc/schema.test.js +46 -27
  79. package/dist/cjs/app/registration/resources.d.ts +4 -4
  80. package/dist/cjs/app/registration/resources.d.ts.map +1 -1
  81. package/dist/cjs/app/registration/resources.js +2 -3
  82. package/dist/cjs/app/registration/resources.test.js +14 -13
  83. package/dist/cjs/app/registration/schema.d.ts +24 -31
  84. package/dist/cjs/app/registration/schema.d.ts.map +1 -1
  85. package/dist/cjs/app/registration/schema.js +56 -16
  86. package/dist/cjs/app/registration/schema.test.js +68 -150
  87. package/dist/cjs/app/resources.d.ts +7 -7
  88. package/dist/cjs/app/resources.d.ts.map +1 -1
  89. package/dist/cjs/app/resources.js +6 -6
  90. package/dist/cjs/app/resources.test.js +14 -13
  91. package/dist/cjs/app/saml/resources.d.ts +6 -6
  92. package/dist/cjs/app/saml/resources.d.ts.map +1 -1
  93. package/dist/cjs/app/saml/resources.js +4 -5
  94. package/dist/cjs/app/saml/schema.d.ts +26 -37
  95. package/dist/cjs/app/saml/schema.d.ts.map +1 -1
  96. package/dist/cjs/app/saml/schema.js +50 -13
  97. package/dist/cjs/app/schema.d.ts +72 -68
  98. package/dist/cjs/app/schema.d.ts.map +1 -1
  99. package/dist/cjs/app/schema.js +76 -35
  100. package/dist/cjs/app/schema.test.js +128 -42
  101. package/dist/cjs/association/resources.d.ts +5 -5
  102. package/dist/cjs/association/resources.d.ts.map +1 -1
  103. package/dist/cjs/association/resources.js +4 -6
  104. package/dist/cjs/association/schema.d.ts +270 -182
  105. package/dist/cjs/association/schema.d.ts.map +1 -1
  106. package/dist/cjs/association/schema.js +70 -32
  107. package/dist/cjs/association/schema.test.js +13 -54
  108. package/dist/cjs/authentication/factors/schema.d.ts +39 -49
  109. package/dist/cjs/authentication/factors/schema.d.ts.map +1 -1
  110. package/dist/cjs/authentication/factors/schema.js +59 -20
  111. package/dist/cjs/authentication/factors/schema.test.js +33 -34
  112. package/dist/cjs/authentication/index.d.ts +1 -0
  113. package/dist/cjs/authentication/index.d.ts.map +1 -1
  114. package/dist/cjs/authentication/index.js +2 -0
  115. package/dist/cjs/authentication/providers/schema.d.ts +23 -22
  116. package/dist/cjs/authentication/providers/schema.d.ts.map +1 -1
  117. package/dist/cjs/authentication/providers/schema.js +44 -9
  118. package/dist/cjs/authentication/sessions/resources.d.ts +4 -4
  119. package/dist/cjs/authentication/sessions/resources.d.ts.map +1 -1
  120. package/dist/cjs/authentication/sessions/resources.js +3 -3
  121. package/dist/cjs/authentication/sessions/schema.d.ts +96 -74
  122. package/dist/cjs/authentication/sessions/schema.d.ts.map +1 -1
  123. package/dist/cjs/authentication/sessions/schema.js +99 -33
  124. package/dist/cjs/authentication/sessions/schema.test.d.ts +2 -0
  125. package/dist/cjs/authentication/sessions/schema.test.d.ts.map +1 -0
  126. package/dist/cjs/authentication/sessions/schema.test.js +65 -0
  127. package/dist/cjs/authentication/settings/resources.d.ts +4 -4
  128. package/dist/cjs/authentication/settings/resources.d.ts.map +1 -1
  129. package/dist/cjs/authentication/settings/resources.js +2 -3
  130. package/dist/cjs/authentication/settings/schema.d.ts +45 -62
  131. package/dist/cjs/authentication/settings/schema.d.ts.map +1 -1
  132. package/dist/cjs/authentication/settings/schema.js +49 -14
  133. package/dist/cjs/authentication/settings/schema.test.js +409 -22
  134. package/dist/cjs/authentication/strategies/resources.d.ts +9 -8
  135. package/dist/cjs/authentication/strategies/resources.d.ts.map +1 -1
  136. package/dist/cjs/authentication/strategies/resources.js +11 -11
  137. package/dist/cjs/authentication/strategies/schema/base.d.ts +59 -53
  138. package/dist/cjs/authentication/strategies/schema/base.d.ts.map +1 -1
  139. package/dist/cjs/authentication/strategies/schema/base.js +68 -24
  140. package/dist/cjs/authentication/strategies/schema/schema.d.ts +126 -200
  141. package/dist/cjs/authentication/strategies/schema/schema.d.ts.map +1 -1
  142. package/dist/cjs/authentication/strategies/schema/schema.js +39 -6
  143. package/dist/cjs/authentication/strategies/schema/types/email.d.ts +62 -61
  144. package/dist/cjs/authentication/strategies/schema/types/email.d.ts.map +1 -1
  145. package/dist/cjs/authentication/strategies/schema/types/email.js +59 -16
  146. package/dist/cjs/authentication/strategies/schema/types/email.test.js +49 -49
  147. package/dist/cjs/authentication/strategies/schema/types/totp.d.ts +108 -95
  148. package/dist/cjs/authentication/strategies/schema/types/totp.d.ts.map +1 -1
  149. package/dist/cjs/authentication/strategies/schema/types/totp.js +83 -26
  150. package/dist/cjs/authorization/permissions/resources.d.ts +7 -7
  151. package/dist/cjs/authorization/permissions/resources.d.ts.map +1 -1
  152. package/dist/cjs/authorization/permissions/resources.js +6 -6
  153. package/dist/cjs/authorization/permissions/schema.d.ts +92 -88
  154. package/dist/cjs/authorization/permissions/schema.d.ts.map +1 -1
  155. package/dist/cjs/authorization/permissions/schema.js +78 -37
  156. package/dist/cjs/authorization/permissions/schema.test.js +54 -62
  157. package/dist/cjs/authorization/roles/resources.d.ts +7 -7
  158. package/dist/cjs/authorization/roles/resources.d.ts.map +1 -1
  159. package/dist/cjs/authorization/roles/resources.js +6 -6
  160. package/dist/cjs/authorization/roles/schema.d.ts +102 -98
  161. package/dist/cjs/authorization/roles/schema.d.ts.map +1 -1
  162. package/dist/cjs/authorization/roles/schema.js +74 -38
  163. package/dist/cjs/authorization/roles/schema.test.js +55 -62
  164. package/dist/cjs/authorization/schema.d.ts +7 -6
  165. package/dist/cjs/authorization/schema.d.ts.map +1 -1
  166. package/dist/cjs/authorization/schema.js +42 -3
  167. package/dist/cjs/common/index.d.ts +2 -0
  168. package/dist/cjs/common/index.d.ts.map +1 -1
  169. package/dist/cjs/common/resources/authorization.d.ts +18 -1
  170. package/dist/cjs/common/resources/authorization.d.ts.map +1 -1
  171. package/dist/cjs/common/resources/authorization.js +6 -0
  172. package/dist/cjs/common/resources/init.d.ts +28 -11
  173. package/dist/cjs/common/resources/init.d.ts.map +1 -1
  174. package/dist/cjs/common/resources/init.js +81 -21
  175. package/dist/cjs/common/resources/init.test.js +62 -38
  176. package/dist/cjs/common/resources/operations.d.ts +7 -6
  177. package/dist/cjs/common/resources/operations.d.ts.map +1 -1
  178. package/dist/cjs/common/resources/operations.js +44 -21
  179. package/dist/cjs/common/resources/operations.test.js +47 -17
  180. package/dist/cjs/common/resources/utils.d.ts +0 -9
  181. package/dist/cjs/common/resources/utils.d.ts.map +1 -1
  182. package/dist/cjs/common/resources/utils.js +0 -26
  183. package/dist/cjs/common/resources/utils.test.js +2 -31
  184. package/dist/cjs/common/schema/aggregate.d.ts +6 -5
  185. package/dist/cjs/common/schema/aggregate.d.ts.map +1 -1
  186. package/dist/cjs/common/schema/aggregate.js +37 -4
  187. package/dist/cjs/common/schema/aggregate.test.js +21 -22
  188. package/dist/cjs/common/schema/collection.d.ts +13 -14
  189. package/dist/cjs/common/schema/collection.d.ts.map +1 -1
  190. package/dist/cjs/common/schema/collection.js +40 -5
  191. package/dist/cjs/common/schema/collection.test.js +99 -48
  192. package/dist/cjs/common/schema/dates.d.ts +43 -26
  193. package/dist/cjs/common/schema/dates.d.ts.map +1 -1
  194. package/dist/cjs/common/schema/dates.js +63 -12
  195. package/dist/cjs/common/schema/dates.test.js +24 -13
  196. package/dist/cjs/common/schema/id.d.ts +2 -1
  197. package/dist/cjs/common/schema/id.d.ts.map +1 -1
  198. package/dist/cjs/common/schema/id.js +35 -2
  199. package/dist/cjs/common/schema/id.test.js +70 -38
  200. package/dist/cjs/common/schema/jwt.d.ts +22 -14
  201. package/dist/cjs/common/schema/jwt.d.ts.map +1 -1
  202. package/dist/cjs/common/schema/jwt.js +37 -8
  203. package/dist/cjs/common/schema/jwt.test.js +22 -25
  204. package/dist/cjs/common/schema/metadata.d.ts +86 -49
  205. package/dist/cjs/common/schema/metadata.d.ts.map +1 -1
  206. package/dist/cjs/common/schema/metadata.js +154 -75
  207. package/dist/cjs/common/schema/metadata.test.js +198 -67
  208. package/dist/cjs/common/schema/pagination.d.ts +15 -5
  209. package/dist/cjs/common/schema/pagination.d.ts.map +1 -1
  210. package/dist/cjs/common/schema/pagination.js +46 -4
  211. package/dist/cjs/common/schema/pagination.test.js +55 -36
  212. package/dist/cjs/common/schema/schema.d.ts +4 -4
  213. package/dist/cjs/common/schema/schema.d.ts.map +1 -1
  214. package/dist/cjs/common/schema/schema.js +28 -5
  215. package/dist/cjs/common/schema/schema.test.js +42 -15
  216. package/dist/cjs/common/schema/sets.d.ts +6 -2
  217. package/dist/cjs/common/schema/sets.d.ts.map +1 -1
  218. package/dist/cjs/common/schema/sets.js +50 -7
  219. package/dist/cjs/common/schema/url.d.ts +21 -0
  220. package/dist/cjs/common/schema/url.d.ts.map +1 -1
  221. package/dist/cjs/common/schema/url.js +79 -0
  222. package/dist/cjs/common/schema/url.test.js +10 -0
  223. package/dist/cjs/customer/organization/schema.d.ts +59 -46
  224. package/dist/cjs/customer/organization/schema.d.ts.map +1 -1
  225. package/dist/cjs/customer/organization/schema.js +76 -26
  226. package/dist/cjs/customer/schema.d.ts +7 -6
  227. package/dist/cjs/customer/schema.d.ts.map +1 -1
  228. package/dist/cjs/customer/schema.js +42 -3
  229. package/dist/cjs/customer/users/resources.d.ts +7 -7
  230. package/dist/cjs/customer/users/resources.d.ts.map +1 -1
  231. package/dist/cjs/customer/users/resources.js +6 -6
  232. package/dist/cjs/customer/users/schema.d.ts +213 -104
  233. package/dist/cjs/customer/users/schema.d.ts.map +1 -1
  234. package/dist/cjs/customer/users/schema.js +141 -56
  235. package/dist/cjs/customer/users/schema.test.js +591 -60
  236. package/dist/cjs/customer/users/utils.d.ts +3 -2
  237. package/dist/cjs/customer/users/utils.d.ts.map +1 -1
  238. package/dist/cjs/identity/schema.d.ts +5 -1
  239. package/dist/cjs/identity/schema.d.ts.map +1 -1
  240. package/dist/cjs/identity/schema.js +38 -2
  241. package/dist/cjs/identity/schema.test.js +21 -16
  242. package/dist/cjs/oauth/authorize/schema/grants/authorization-code.d.ts +34 -28
  243. package/dist/cjs/oauth/authorize/schema/grants/authorization-code.d.ts.map +1 -1
  244. package/dist/cjs/oauth/authorize/schema/grants/authorization-code.js +93 -38
  245. package/dist/cjs/oauth/authorize/schema/grants/authorization-code.test.js +47 -48
  246. package/dist/cjs/oauth/authorize/schema/grants/common.d.ts +6 -0
  247. package/dist/cjs/oauth/authorize/schema/grants/common.d.ts.map +1 -0
  248. package/dist/cjs/oauth/authorize/schema/grants/common.js +47 -0
  249. package/dist/cjs/oauth/authorize/schema/grants/implicit.d.ts +18 -10
  250. package/dist/cjs/oauth/authorize/schema/grants/implicit.d.ts.map +1 -1
  251. package/dist/cjs/oauth/authorize/schema/grants/implicit.js +56 -11
  252. package/dist/cjs/oauth/authorize/schema/schema.d.ts +48 -36
  253. package/dist/cjs/oauth/authorize/schema/schema.d.ts.map +1 -1
  254. package/dist/cjs/oauth/authorize/schema/schema.js +4 -2
  255. package/dist/cjs/oauth/common/schema.d.ts +24 -7
  256. package/dist/cjs/oauth/common/schema.d.ts.map +1 -1
  257. package/dist/cjs/oauth/common/schema.js +59 -8
  258. package/dist/cjs/oauth/common/schema.test.js +22 -30
  259. package/dist/cjs/oauth/index.d.ts +3 -3
  260. package/dist/cjs/oauth/index.d.ts.map +1 -1
  261. package/dist/cjs/oauth/index.js +8 -25
  262. package/dist/cjs/oauth/token/schema/grants/authorization-code.d.ts +16 -9
  263. package/dist/cjs/oauth/token/schema/grants/authorization-code.d.ts.map +1 -1
  264. package/dist/cjs/oauth/token/schema/grants/authorization-code.js +66 -12
  265. package/dist/cjs/oauth/token/schema/grants/client-credentials.d.ts +16 -17
  266. package/dist/cjs/oauth/token/schema/grants/client-credentials.d.ts.map +1 -1
  267. package/dist/cjs/oauth/token/schema/grants/client-credentials.js +53 -16
  268. package/dist/cjs/oauth/token/schema/grants/common.d.ts +6 -0
  269. package/dist/cjs/oauth/token/schema/grants/common.d.ts.map +1 -0
  270. package/dist/cjs/oauth/token/schema/grants/common.js +52 -0
  271. package/dist/cjs/oauth/token/schema/grants/refresh-token.d.ts +15 -8
  272. package/dist/cjs/oauth/token/schema/grants/refresh-token.d.ts.map +1 -1
  273. package/dist/cjs/oauth/token/schema/grants/refresh-token.js +57 -11
  274. package/dist/cjs/oauth/token/schema/schema.d.ts +48 -21
  275. package/dist/cjs/oauth/token/schema/schema.d.ts.map +1 -1
  276. package/dist/cjs/oauth/token/schema/schema.js +79 -2
  277. package/dist/cjs/oauth/token/schema/schema.test.js +44 -28
  278. package/dist/cjs/workspace/authorization/schema.d.ts +62 -27
  279. package/dist/cjs/workspace/authorization/schema.d.ts.map +1 -1
  280. package/dist/cjs/workspace/authorization/schema.js +58 -13
  281. package/dist/cjs/workspace/branding/schema.d.ts +47 -37
  282. package/dist/cjs/workspace/branding/schema.d.ts.map +1 -1
  283. package/dist/cjs/workspace/branding/schema.js +61 -16
  284. package/dist/cjs/workspace/membership/schema.d.ts +42 -20
  285. package/dist/cjs/workspace/membership/schema.d.ts.map +1 -1
  286. package/dist/cjs/workspace/membership/schema.js +47 -7
  287. package/dist/cjs/workspace/registration/schema.d.ts +41 -27
  288. package/dist/cjs/workspace/registration/schema.d.ts.map +1 -1
  289. package/dist/cjs/workspace/registration/schema.js +63 -14
  290. package/dist/cjs/workspace/settings/schema.d.ts +20 -19
  291. package/dist/cjs/workspace/settings/schema.d.ts.map +1 -1
  292. package/dist/cjs/workspace/settings/schema.js +48 -8
  293. package/dist/cjs/workspace/settings/schema.test.js +18 -19
  294. package/dist/cjs/workspace/tenant/schema.d.ts +88 -57
  295. package/dist/cjs/workspace/tenant/schema.d.ts.map +1 -1
  296. package/dist/cjs/workspace/tenant/schema.js +59 -13
  297. package/dist/cjs/workspace/tenant/schema.test.d.ts +2 -0
  298. package/dist/cjs/workspace/tenant/schema.test.d.ts.map +1 -0
  299. package/dist/cjs/workspace/tenant/schema.test.js +235 -0
  300. package/dist/cjs/workspace/user/notifications/schema.d.ts +70 -56
  301. package/dist/cjs/workspace/user/notifications/schema.d.ts.map +1 -1
  302. package/dist/cjs/workspace/user/notifications/schema.js +76 -30
  303. package/dist/cjs/workspace/user/preferences/schema.d.ts +29 -25
  304. package/dist/cjs/workspace/user/preferences/schema.d.ts.map +1 -1
  305. package/dist/cjs/workspace/user/preferences/schema.js +57 -12
  306. package/dist/esm/action/schema/base.d.ts +21 -21
  307. package/dist/esm/action/schema/base.d.ts.map +1 -1
  308. package/dist/esm/action/schema/base.js +17 -12
  309. package/dist/esm/action/schema/base.test.js +51 -36
  310. package/dist/esm/action/schema/operations/sign-up-verification.d.ts +21 -21
  311. package/dist/esm/action/schema/operations/sign-up-verification.d.ts.map +1 -1
  312. package/dist/esm/action/schema/operations/sign-up-verification.js +8 -7
  313. package/dist/esm/action/schema/operations/sign-up-verification.test.js +28 -29
  314. package/dist/esm/action/schema/operations/sign-up.d.ts +40 -43
  315. package/dist/esm/action/schema/operations/sign-up.d.ts.map +1 -1
  316. package/dist/esm/action/schema/operations/sign-up.js +19 -10
  317. package/dist/esm/action/schema/operations/sign-up.test.js +33 -34
  318. package/dist/esm/action/schema/operations/user-attribute-verification.d.ts +19 -19
  319. package/dist/esm/action/schema/operations/user-attribute-verification.d.ts.map +1 -1
  320. package/dist/esm/action/schema/operations/user-attribute-verification.js +6 -5
  321. package/dist/esm/action/schema/operations/user-attribute-verification.test.js +25 -26
  322. package/dist/esm/action/schema/schema.d.ts +49 -77
  323. package/dist/esm/action/schema/schema.d.ts.map +1 -1
  324. package/dist/esm/action/schema/schema.js +7 -5
  325. package/dist/esm/action/schema/schema.test.js +24 -51
  326. package/dist/esm/activity/resources.d.ts +3 -3
  327. package/dist/esm/activity/resources.d.ts.map +1 -1
  328. package/dist/esm/activity/resources.js +4 -4
  329. package/dist/esm/activity/resources.test.js +14 -13
  330. package/dist/esm/activity/schema/base.d.ts +88 -69
  331. package/dist/esm/activity/schema/base.d.ts.map +1 -1
  332. package/dist/esm/activity/schema/base.js +38 -26
  333. package/dist/esm/activity/schema/base.test.js +85 -55
  334. package/dist/esm/activity/schema/schema.d.ts +293 -226
  335. package/dist/esm/activity/schema/schema.d.ts.map +1 -1
  336. package/dist/esm/activity/schema/schema.test.js +47 -48
  337. package/dist/esm/activity/schema/types/authentication.d.ts +64 -46
  338. package/dist/esm/activity/schema/types/authentication.d.ts.map +1 -1
  339. package/dist/esm/activity/schema/types/authentication.js +16 -7
  340. package/dist/esm/activity/schema/types/authentication.test.js +37 -38
  341. package/dist/esm/activity/schema/types/authorization.d.ts +64 -46
  342. package/dist/esm/activity/schema/types/authorization.d.ts.map +1 -1
  343. package/dist/esm/activity/schema/types/authorization.js +16 -7
  344. package/dist/esm/activity/schema/types/authorization.test.js +41 -42
  345. package/dist/esm/activity/schema/types/note.d.ts +83 -70
  346. package/dist/esm/activity/schema/types/note.d.ts.map +1 -1
  347. package/dist/esm/activity/schema/types/note.js +20 -12
  348. package/dist/esm/activity/schema/types/note.test.js +48 -49
  349. package/dist/esm/activity/schema/types/operation.d.ts +64 -45
  350. package/dist/esm/activity/schema/types/operation.d.ts.map +1 -1
  351. package/dist/esm/activity/schema/types/operation.js +19 -8
  352. package/dist/esm/activity/schema/types/operation.test.js +34 -35
  353. package/dist/esm/activity/schema/types/unknown.d.ts +50 -41
  354. package/dist/esm/activity/schema/types/unknown.d.ts.map +1 -1
  355. package/dist/esm/activity/schema/types/unknown.js +12 -6
  356. package/dist/esm/activity/schema/types/unknown.test.js +29 -30
  357. package/dist/esm/app/authorization/resources.d.ts +4 -4
  358. package/dist/esm/app/authorization/resources.d.ts.map +1 -1
  359. package/dist/esm/app/authorization/resources.js +3 -7
  360. package/dist/esm/app/authorization/schema.d.ts +90 -52
  361. package/dist/esm/app/authorization/schema.d.ts.map +1 -1
  362. package/dist/esm/app/authorization/schema.js +58 -66
  363. package/dist/esm/app/authorization/schema.test.js +155 -74
  364. package/dist/esm/app/oauth/resources.d.ts +4 -4
  365. package/dist/esm/app/oauth/resources.d.ts.map +1 -1
  366. package/dist/esm/app/oauth/resources.js +3 -4
  367. package/dist/esm/app/oauth/schema.d.ts +34 -41
  368. package/dist/esm/app/oauth/schema.d.ts.map +1 -1
  369. package/dist/esm/app/oauth/schema.js +25 -19
  370. package/dist/esm/app/oauth/schema.test.js +39 -40
  371. package/dist/esm/app/oidc/resources.d.ts +6 -6
  372. package/dist/esm/app/oidc/resources.d.ts.map +1 -1
  373. package/dist/esm/app/oidc/resources.js +5 -6
  374. package/dist/esm/app/oidc/schema.d.ts +26 -37
  375. package/dist/esm/app/oidc/schema.d.ts.map +1 -1
  376. package/dist/esm/app/oidc/schema.js +19 -15
  377. package/dist/esm/app/oidc/schema.test.js +46 -27
  378. package/dist/esm/app/registration/resources.d.ts +4 -4
  379. package/dist/esm/app/registration/resources.d.ts.map +1 -1
  380. package/dist/esm/app/registration/resources.js +3 -4
  381. package/dist/esm/app/registration/resources.test.js +14 -13
  382. package/dist/esm/app/registration/schema.d.ts +24 -31
  383. package/dist/esm/app/registration/schema.d.ts.map +1 -1
  384. package/dist/esm/app/registration/schema.js +25 -18
  385. package/dist/esm/app/registration/schema.test.js +68 -150
  386. package/dist/esm/app/resources.d.ts +7 -7
  387. package/dist/esm/app/resources.d.ts.map +1 -1
  388. package/dist/esm/app/resources.js +8 -8
  389. package/dist/esm/app/resources.test.js +14 -13
  390. package/dist/esm/app/saml/resources.d.ts +6 -6
  391. package/dist/esm/app/saml/resources.d.ts.map +1 -1
  392. package/dist/esm/app/saml/resources.js +5 -6
  393. package/dist/esm/app/saml/schema.d.ts +26 -37
  394. package/dist/esm/app/saml/schema.d.ts.map +1 -1
  395. package/dist/esm/app/saml/schema.js +19 -15
  396. package/dist/esm/app/schema.d.ts +72 -68
  397. package/dist/esm/app/schema.d.ts.map +1 -1
  398. package/dist/esm/app/schema.js +45 -37
  399. package/dist/esm/app/schema.test.js +129 -43
  400. package/dist/esm/association/resources.d.ts +5 -5
  401. package/dist/esm/association/resources.d.ts.map +1 -1
  402. package/dist/esm/association/resources.js +6 -8
  403. package/dist/esm/association/schema.d.ts +270 -182
  404. package/dist/esm/association/schema.d.ts.map +1 -1
  405. package/dist/esm/association/schema.js +36 -31
  406. package/dist/esm/association/schema.test.js +14 -55
  407. package/dist/esm/authentication/factors/schema.d.ts +39 -49
  408. package/dist/esm/authentication/factors/schema.d.ts.map +1 -1
  409. package/dist/esm/authentication/factors/schema.js +26 -20
  410. package/dist/esm/authentication/factors/schema.test.js +33 -34
  411. package/dist/esm/authentication/index.d.ts +1 -0
  412. package/dist/esm/authentication/index.d.ts.map +1 -1
  413. package/dist/esm/authentication/index.js +2 -0
  414. package/dist/esm/authentication/providers/schema.d.ts +23 -22
  415. package/dist/esm/authentication/providers/schema.d.ts.map +1 -1
  416. package/dist/esm/authentication/providers/schema.js +13 -11
  417. package/dist/esm/authentication/sessions/resources.d.ts +4 -4
  418. package/dist/esm/authentication/sessions/resources.d.ts.map +1 -1
  419. package/dist/esm/authentication/sessions/resources.js +5 -5
  420. package/dist/esm/authentication/sessions/schema.d.ts +96 -74
  421. package/dist/esm/authentication/sessions/schema.d.ts.map +1 -1
  422. package/dist/esm/authentication/sessions/schema.js +67 -34
  423. package/dist/esm/authentication/sessions/schema.test.d.ts +2 -0
  424. package/dist/esm/authentication/sessions/schema.test.d.ts.map +1 -0
  425. package/dist/esm/authentication/sessions/schema.test.js +63 -0
  426. package/dist/esm/authentication/settings/resources.d.ts +4 -4
  427. package/dist/esm/authentication/settings/resources.d.ts.map +1 -1
  428. package/dist/esm/authentication/settings/resources.js +3 -4
  429. package/dist/esm/authentication/settings/schema.d.ts +45 -62
  430. package/dist/esm/authentication/settings/schema.d.ts.map +1 -1
  431. package/dist/esm/authentication/settings/schema.js +18 -16
  432. package/dist/esm/authentication/settings/schema.test.js +409 -22
  433. package/dist/esm/authentication/strategies/resources.d.ts +9 -8
  434. package/dist/esm/authentication/strategies/resources.d.ts.map +1 -1
  435. package/dist/esm/authentication/strategies/resources.js +13 -13
  436. package/dist/esm/authentication/strategies/schema/base.d.ts +59 -53
  437. package/dist/esm/authentication/strategies/schema/base.d.ts.map +1 -1
  438. package/dist/esm/authentication/strategies/schema/base.js +36 -25
  439. package/dist/esm/authentication/strategies/schema/schema.d.ts +126 -200
  440. package/dist/esm/authentication/strategies/schema/schema.d.ts.map +1 -1
  441. package/dist/esm/authentication/strategies/schema/schema.js +17 -6
  442. package/dist/esm/authentication/strategies/schema/types/email.d.ts +62 -61
  443. package/dist/esm/authentication/strategies/schema/types/email.d.ts.map +1 -1
  444. package/dist/esm/authentication/strategies/schema/types/email.js +25 -15
  445. package/dist/esm/authentication/strategies/schema/types/email.test.js +49 -49
  446. package/dist/esm/authentication/strategies/schema/types/totp.d.ts +108 -95
  447. package/dist/esm/authentication/strategies/schema/types/totp.d.ts.map +1 -1
  448. package/dist/esm/authentication/strategies/schema/types/totp.js +51 -27
  449. package/dist/esm/authorization/permissions/resources.d.ts +7 -7
  450. package/dist/esm/authorization/permissions/resources.d.ts.map +1 -1
  451. package/dist/esm/authorization/permissions/resources.js +8 -8
  452. package/dist/esm/authorization/permissions/schema.d.ts +92 -88
  453. package/dist/esm/authorization/permissions/schema.d.ts.map +1 -1
  454. package/dist/esm/authorization/permissions/schema.js +47 -39
  455. package/dist/esm/authorization/permissions/schema.test.js +54 -62
  456. package/dist/esm/authorization/roles/resources.d.ts +7 -7
  457. package/dist/esm/authorization/roles/resources.d.ts.map +1 -1
  458. package/dist/esm/authorization/roles/resources.js +8 -8
  459. package/dist/esm/authorization/roles/schema.d.ts +102 -98
  460. package/dist/esm/authorization/roles/schema.d.ts.map +1 -1
  461. package/dist/esm/authorization/roles/schema.js +43 -40
  462. package/dist/esm/authorization/roles/schema.test.js +55 -62
  463. package/dist/esm/authorization/schema.d.ts +7 -6
  464. package/dist/esm/authorization/schema.d.ts.map +1 -1
  465. package/dist/esm/authorization/schema.js +9 -3
  466. package/dist/esm/common/index.d.ts +2 -0
  467. package/dist/esm/common/index.d.ts.map +1 -1
  468. package/dist/esm/common/resources/authorization.d.ts +18 -1
  469. package/dist/esm/common/resources/authorization.d.ts.map +1 -1
  470. package/dist/esm/common/resources/authorization.js +5 -1
  471. package/dist/esm/common/resources/init.d.ts +28 -11
  472. package/dist/esm/common/resources/init.d.ts.map +1 -1
  473. package/dist/esm/common/resources/init.js +47 -21
  474. package/dist/esm/common/resources/init.test.js +63 -39
  475. package/dist/esm/common/resources/operations.d.ts +7 -6
  476. package/dist/esm/common/resources/operations.d.ts.map +1 -1
  477. package/dist/esm/common/resources/operations.js +41 -19
  478. package/dist/esm/common/resources/operations.test.js +48 -18
  479. package/dist/esm/common/resources/utils.d.ts +0 -9
  480. package/dist/esm/common/resources/utils.d.ts.map +1 -1
  481. package/dist/esm/common/resources/utils.js +0 -24
  482. package/dist/esm/common/resources/utils.test.js +3 -32
  483. package/dist/esm/common/schema/aggregate.d.ts +6 -5
  484. package/dist/esm/common/schema/aggregate.d.ts.map +1 -1
  485. package/dist/esm/common/schema/aggregate.js +4 -4
  486. package/dist/esm/common/schema/aggregate.test.js +21 -22
  487. package/dist/esm/common/schema/collection.d.ts +13 -14
  488. package/dist/esm/common/schema/collection.d.ts.map +1 -1
  489. package/dist/esm/common/schema/collection.js +5 -5
  490. package/dist/esm/common/schema/collection.test.js +66 -48
  491. package/dist/esm/common/schema/dates.d.ts +43 -26
  492. package/dist/esm/common/schema/dates.d.ts.map +1 -1
  493. package/dist/esm/common/schema/dates.js +29 -11
  494. package/dist/esm/common/schema/dates.test.js +24 -13
  495. package/dist/esm/common/schema/id.d.ts +2 -1
  496. package/dist/esm/common/schema/id.d.ts.map +1 -1
  497. package/dist/esm/common/schema/id.js +2 -2
  498. package/dist/esm/common/schema/id.test.js +70 -38
  499. package/dist/esm/common/schema/jwt.d.ts +22 -14
  500. package/dist/esm/common/schema/jwt.d.ts.map +1 -1
  501. package/dist/esm/common/schema/jwt.js +3 -7
  502. package/dist/esm/common/schema/jwt.test.js +22 -25
  503. package/dist/esm/common/schema/metadata.d.ts +86 -49
  504. package/dist/esm/common/schema/metadata.d.ts.map +1 -1
  505. package/dist/esm/common/schema/metadata.js +120 -74
  506. package/dist/esm/common/schema/metadata.test.js +199 -68
  507. package/dist/esm/common/schema/pagination.d.ts +15 -5
  508. package/dist/esm/common/schema/pagination.d.ts.map +1 -1
  509. package/dist/esm/common/schema/pagination.js +13 -4
  510. package/dist/esm/common/schema/pagination.test.js +55 -36
  511. package/dist/esm/common/schema/schema.d.ts +4 -4
  512. package/dist/esm/common/schema/schema.d.ts.map +1 -1
  513. package/dist/esm/common/schema/schema.js +6 -5
  514. package/dist/esm/common/schema/schema.test.js +9 -15
  515. package/dist/esm/common/schema/sets.d.ts +6 -2
  516. package/dist/esm/common/schema/sets.d.ts.map +1 -1
  517. package/dist/esm/common/schema/sets.js +16 -6
  518. package/dist/esm/common/schema/url.d.ts +21 -0
  519. package/dist/esm/common/schema/url.d.ts.map +1 -1
  520. package/dist/esm/common/schema/url.js +45 -0
  521. package/dist/esm/common/schema/url.test.js +11 -1
  522. package/dist/esm/customer/organization/schema.d.ts +59 -46
  523. package/dist/esm/customer/organization/schema.d.ts.map +1 -1
  524. package/dist/esm/customer/organization/schema.js +43 -26
  525. package/dist/esm/customer/schema.d.ts +7 -6
  526. package/dist/esm/customer/schema.d.ts.map +1 -1
  527. package/dist/esm/customer/schema.js +9 -3
  528. package/dist/esm/customer/users/resources.d.ts +7 -7
  529. package/dist/esm/customer/users/resources.d.ts.map +1 -1
  530. package/dist/esm/customer/users/resources.js +8 -8
  531. package/dist/esm/customer/users/schema.d.ts +213 -104
  532. package/dist/esm/customer/users/schema.d.ts.map +1 -1
  533. package/dist/esm/customer/users/schema.js +107 -55
  534. package/dist/esm/customer/users/schema.test.js +592 -61
  535. package/dist/esm/customer/users/utils.d.ts +3 -2
  536. package/dist/esm/customer/users/utils.d.ts.map +1 -1
  537. package/dist/esm/customer/users/utils.test.js +1 -1
  538. package/dist/esm/identity/schema.d.ts +5 -1
  539. package/dist/esm/identity/schema.d.ts.map +1 -1
  540. package/dist/esm/identity/schema.js +5 -2
  541. package/dist/esm/identity/schema.test.js +21 -16
  542. package/dist/esm/oauth/authorize/schema/grants/authorization-code.d.ts +34 -28
  543. package/dist/esm/oauth/authorize/schema/grants/authorization-code.d.ts.map +1 -1
  544. package/dist/esm/oauth/authorize/schema/grants/authorization-code.js +60 -38
  545. package/dist/esm/oauth/authorize/schema/grants/authorization-code.test.js +48 -49
  546. package/dist/esm/oauth/authorize/schema/grants/common.d.ts +6 -0
  547. package/dist/esm/oauth/authorize/schema/grants/common.d.ts.map +1 -0
  548. package/dist/esm/oauth/authorize/schema/grants/common.js +11 -0
  549. package/dist/esm/oauth/authorize/schema/grants/implicit.d.ts +18 -10
  550. package/dist/esm/oauth/authorize/schema/grants/implicit.d.ts.map +1 -1
  551. package/dist/esm/oauth/authorize/schema/grants/implicit.js +22 -10
  552. package/dist/esm/oauth/authorize/schema/schema.d.ts +48 -36
  553. package/dist/esm/oauth/authorize/schema/schema.d.ts.map +1 -1
  554. package/dist/esm/oauth/authorize/schema/schema.js +4 -3
  555. package/dist/esm/oauth/common/schema.d.ts +24 -7
  556. package/dist/esm/oauth/common/schema.d.ts.map +1 -1
  557. package/dist/esm/oauth/common/schema.js +25 -7
  558. package/dist/esm/oauth/common/schema.test.js +23 -31
  559. package/dist/esm/oauth/index.d.ts +3 -3
  560. package/dist/esm/oauth/index.d.ts.map +1 -1
  561. package/dist/esm/oauth/index.js +3 -3
  562. package/dist/esm/oauth/token/schema/grants/authorization-code.d.ts +16 -9
  563. package/dist/esm/oauth/token/schema/grants/authorization-code.d.ts.map +1 -1
  564. package/dist/esm/oauth/token/schema/grants/authorization-code.js +32 -11
  565. package/dist/esm/oauth/token/schema/grants/client-credentials.d.ts +16 -17
  566. package/dist/esm/oauth/token/schema/grants/client-credentials.d.ts.map +1 -1
  567. package/dist/esm/oauth/token/schema/grants/client-credentials.js +19 -15
  568. package/dist/esm/oauth/token/schema/grants/common.d.ts +6 -0
  569. package/dist/esm/oauth/token/schema/grants/common.d.ts.map +1 -0
  570. package/dist/esm/oauth/token/schema/grants/common.js +16 -0
  571. package/dist/esm/oauth/token/schema/grants/refresh-token.d.ts +15 -8
  572. package/dist/esm/oauth/token/schema/grants/refresh-token.d.ts.map +1 -1
  573. package/dist/esm/oauth/token/schema/grants/refresh-token.js +23 -10
  574. package/dist/esm/oauth/token/schema/schema.d.ts +48 -21
  575. package/dist/esm/oauth/token/schema/schema.d.ts.map +1 -1
  576. package/dist/esm/oauth/token/schema/schema.js +59 -4
  577. package/dist/esm/oauth/token/schema/schema.test.js +45 -29
  578. package/dist/esm/workspace/authorization/schema.d.ts +62 -27
  579. package/dist/esm/workspace/authorization/schema.d.ts.map +1 -1
  580. package/dist/esm/workspace/authorization/schema.js +27 -15
  581. package/dist/esm/workspace/branding/schema.d.ts +47 -37
  582. package/dist/esm/workspace/branding/schema.d.ts.map +1 -1
  583. package/dist/esm/workspace/branding/schema.js +29 -17
  584. package/dist/esm/workspace/membership/schema.d.ts +42 -20
  585. package/dist/esm/workspace/membership/schema.d.ts.map +1 -1
  586. package/dist/esm/workspace/membership/schema.js +14 -7
  587. package/dist/esm/workspace/registration/schema.d.ts +41 -27
  588. package/dist/esm/workspace/registration/schema.d.ts.map +1 -1
  589. package/dist/esm/workspace/registration/schema.js +32 -16
  590. package/dist/esm/workspace/settings/schema.d.ts +20 -19
  591. package/dist/esm/workspace/settings/schema.d.ts.map +1 -1
  592. package/dist/esm/workspace/settings/schema.js +16 -9
  593. package/dist/esm/workspace/settings/schema.test.js +18 -19
  594. package/dist/esm/workspace/tenant/schema.d.ts +88 -57
  595. package/dist/esm/workspace/tenant/schema.d.ts.map +1 -1
  596. package/dist/esm/workspace/tenant/schema.js +26 -13
  597. package/dist/esm/workspace/tenant/schema.test.d.ts +2 -0
  598. package/dist/esm/workspace/tenant/schema.test.d.ts.map +1 -0
  599. package/dist/esm/workspace/tenant/schema.test.js +233 -0
  600. package/dist/esm/workspace/user/notifications/schema.d.ts +70 -56
  601. package/dist/esm/workspace/user/notifications/schema.d.ts.map +1 -1
  602. package/dist/esm/workspace/user/notifications/schema.js +42 -29
  603. package/dist/esm/workspace/user/preferences/schema.d.ts +29 -25
  604. package/dist/esm/workspace/user/preferences/schema.d.ts.map +1 -1
  605. package/dist/esm/workspace/user/preferences/schema.js +25 -13
  606. package/package.json +3 -3
  607. package/dist/cjs/action/schema/operations/set-password.d.ts +0 -31
  608. package/dist/cjs/action/schema/operations/set-password.d.ts.map +0 -1
  609. package/dist/cjs/action/schema/operations/set-password.js +0 -18
  610. package/dist/cjs/action/schema/operations/set-password.test.d.ts +0 -2
  611. package/dist/cjs/action/schema/operations/set-password.test.d.ts.map +0 -1
  612. package/dist/cjs/action/schema/operations/set-password.test.js +0 -167
  613. package/dist/cjs/authentication/strategies/schema/types/password.d.ts +0 -132
  614. package/dist/cjs/authentication/strategies/schema/types/password.d.ts.map +0 -1
  615. package/dist/cjs/authentication/strategies/schema/types/password.js +0 -52
  616. package/dist/cjs/common/schema/sets.test.d.ts +0 -2
  617. package/dist/cjs/common/schema/sets.test.d.ts.map +0 -1
  618. package/dist/cjs/common/schema/sets.test.js +0 -84
  619. package/dist/esm/action/schema/operations/set-password.d.ts +0 -31
  620. package/dist/esm/action/schema/operations/set-password.d.ts.map +0 -1
  621. package/dist/esm/action/schema/operations/set-password.js +0 -15
  622. package/dist/esm/action/schema/operations/set-password.test.d.ts +0 -2
  623. package/dist/esm/action/schema/operations/set-password.test.d.ts.map +0 -1
  624. package/dist/esm/action/schema/operations/set-password.test.js +0 -165
  625. package/dist/esm/authentication/strategies/schema/types/password.d.ts +0 -132
  626. package/dist/esm/authentication/strategies/schema/types/password.d.ts.map +0 -1
  627. package/dist/esm/authentication/strategies/schema/types/password.js +0 -49
  628. package/dist/esm/common/schema/sets.test.d.ts +0 -2
  629. package/dist/esm/common/schema/sets.test.d.ts.map +0 -1
  630. package/dist/esm/common/schema/sets.test.js +0 -82
@@ -1,7 +1,7 @@
1
1
  import { afterEach, beforeEach, describe, expect, test, vi, } from 'vitest';
2
2
  import { HttpError } from '../errors/http.js';
3
3
  import { ValidationError } from '../errors/validation.js';
4
- import { deleteItemWithAuthorization, getItemWithAuthorization, insertItemWithAuthorization, listItemsWithAuthorization, updateItemWithAuthorization, } from './operations.js';
4
+ import { deleteItemWithAuthorization, getItemWithAuthorization, listItemsWithAuthorization, postItemWithAuthorization, putItemWithAuthorization, } from './operations.js';
5
5
  // Mock console.debug to avoid noise in tests
6
6
  global.console.debug = vi.fn();
7
7
  // Mock fetch globally
@@ -95,23 +95,53 @@ describe('Common Resources - Operations', () => {
95
95
  }));
96
96
  });
97
97
  test('should handle authorization errors', async () => {
98
- mockFetch.mockResolvedValueOnce({
98
+ const unauthorizedResponse = {
99
99
  ok: false,
100
100
  status: 401,
101
101
  json: () => Promise.resolve({
102
102
  error: 'unauthorized',
103
103
  error_description: 'Invalid token',
104
104
  }),
105
- });
105
+ };
106
+ mockFetch
107
+ .mockResolvedValueOnce(unauthorizedResponse)
108
+ .mockResolvedValueOnce(unauthorizedResponse);
106
109
  await expect(getItemWithAuthorization(testUrl, mockAuthorization)).rejects.toThrow(HttpError);
107
110
  });
111
+ test('should retry once with refresh when authorization fails', async () => {
112
+ const mockData = { id: 1, name: 'Refreshed Item' };
113
+ mockFetch
114
+ .mockResolvedValueOnce({
115
+ ok: false,
116
+ status: 401,
117
+ json: () => Promise.resolve({
118
+ error: 'unauthorized',
119
+ error_description: 'Expired token',
120
+ }),
121
+ })
122
+ .mockResolvedValueOnce({
123
+ ok: true,
124
+ json: () => Promise.resolve(mockData),
125
+ });
126
+ const result = await getItemWithAuthorization(testUrl, mockAuthorization);
127
+ expect(result).toEqual(mockData);
128
+ expect(mockFetch).toHaveBeenCalledTimes(2);
129
+ expect(mockAuthorization).toHaveBeenNthCalledWith(1, expect.objectContaining({
130
+ method: 'GET',
131
+ headers: expect.any(Headers),
132
+ }));
133
+ expect(mockAuthorization).toHaveBeenNthCalledWith(2, expect.objectContaining({
134
+ method: 'GET',
135
+ headers: expect.any(Headers),
136
+ }), { refresh: true });
137
+ });
108
138
  test('should log debug information', async () => {
109
139
  mockFetch.mockResolvedValueOnce({
110
140
  ok: true,
111
141
  json: () => Promise.resolve({}),
112
142
  });
113
143
  await getItemWithAuthorization(testUrl, mockAuthorization);
114
- expect(console.debug).toHaveBeenCalledWith('Get item', { url: testUrl });
144
+ expect(console.debug).toHaveBeenCalledWith('GET item', { url: testUrl });
115
145
  });
116
146
  });
117
147
  describe('updateItemWithAuthorization', () => {
@@ -122,7 +152,7 @@ describe('Common Resources - Operations', () => {
122
152
  ok: true,
123
153
  json: () => Promise.resolve(responseData),
124
154
  });
125
- const result = await updateItemWithAuthorization(testUrl, mockAuthorization, updateData);
155
+ const result = await putItemWithAuthorization(testUrl, mockAuthorization, updateData);
126
156
  expect(result).toEqual(responseData);
127
157
  expect(mockFetch).toHaveBeenCalledWith(testUrl, expect.objectContaining({
128
158
  method: 'PUT',
@@ -136,7 +166,7 @@ describe('Common Resources - Operations', () => {
136
166
  ok: true,
137
167
  json: () => Promise.resolve({}),
138
168
  });
139
- await updateItemWithAuthorization(testUrl, mockAuthorization, updateData);
169
+ await putItemWithAuthorization(testUrl, mockAuthorization, updateData);
140
170
  const authCall = mockAuthorization.mock.calls[0][0];
141
171
  const headers = authCall.headers;
142
172
  expect(headers.get('accept')).toBe('application/json');
@@ -152,7 +182,7 @@ describe('Common Resources - Operations', () => {
152
182
  fields: { name: ['required'] },
153
183
  }),
154
184
  });
155
- await expect(updateItemWithAuthorization(testUrl, mockAuthorization, {})).rejects.toThrow(ValidationError);
185
+ await expect(putItemWithAuthorization(testUrl, mockAuthorization, {})).rejects.toThrow(ValidationError);
156
186
  });
157
187
  test('should log debug information with item data', async () => {
158
188
  const updateData = { name: 'Test Item' };
@@ -160,8 +190,8 @@ describe('Common Resources - Operations', () => {
160
190
  ok: true,
161
191
  json: () => Promise.resolve({}),
162
192
  });
163
- await updateItemWithAuthorization(testUrl, mockAuthorization, updateData);
164
- expect(console.debug).toHaveBeenCalledWith('Update item', {
193
+ await putItemWithAuthorization(testUrl, mockAuthorization, updateData);
194
+ expect(console.debug).toHaveBeenCalledWith('PUT item', {
165
195
  url: testUrl,
166
196
  item: updateData,
167
197
  });
@@ -175,7 +205,7 @@ describe('Common Resources - Operations', () => {
175
205
  ok: true,
176
206
  json: () => Promise.resolve(responseData),
177
207
  });
178
- const result = await insertItemWithAuthorization(testUrl, mockAuthorization, insertData);
208
+ const result = await postItemWithAuthorization(testUrl, mockAuthorization, insertData);
179
209
  expect(result).toEqual(responseData);
180
210
  expect(mockFetch).toHaveBeenCalledWith(testUrl, expect.objectContaining({
181
211
  method: 'POST',
@@ -189,7 +219,7 @@ describe('Common Resources - Operations', () => {
189
219
  ok: true,
190
220
  json: () => Promise.resolve(responseData),
191
221
  });
192
- const result = await insertItemWithAuthorization(testUrl, mockAuthorization);
222
+ const result = await postItemWithAuthorization(testUrl, mockAuthorization);
193
223
  expect(result).toEqual(responseData);
194
224
  expect(mockFetch).toHaveBeenCalledWith(testUrl, expect.objectContaining({
195
225
  method: 'POST',
@@ -203,7 +233,7 @@ describe('Common Resources - Operations', () => {
203
233
  ok: true,
204
234
  json: () => Promise.resolve(responseData),
205
235
  });
206
- const result = await insertItemWithAuthorization(testUrl, mockAuthorization, null);
236
+ const result = await postItemWithAuthorization(testUrl, mockAuthorization, null);
207
237
  expect(result).toEqual(responseData);
208
238
  expect(mockFetch).toHaveBeenCalledWith(testUrl, expect.objectContaining({
209
239
  method: 'POST',
@@ -219,7 +249,7 @@ describe('Common Resources - Operations', () => {
219
249
  error_description: 'Internal server error',
220
250
  }),
221
251
  });
222
- await expect(insertItemWithAuthorization(testUrl, mockAuthorization, {})).rejects.toThrow(HttpError);
252
+ await expect(postItemWithAuthorization(testUrl, mockAuthorization, {})).rejects.toThrow(HttpError);
223
253
  });
224
254
  test('should log debug information', async () => {
225
255
  const insertData = { name: 'Test' };
@@ -227,8 +257,8 @@ describe('Common Resources - Operations', () => {
227
257
  ok: true,
228
258
  json: () => Promise.resolve({}),
229
259
  });
230
- await insertItemWithAuthorization(testUrl, mockAuthorization, insertData);
231
- expect(console.debug).toHaveBeenCalledWith('Insert item', {
260
+ await postItemWithAuthorization(testUrl, mockAuthorization, insertData);
261
+ expect(console.debug).toHaveBeenCalledWith('POST item', {
232
262
  url: testUrl,
233
263
  item: insertData,
234
264
  });
@@ -294,8 +324,8 @@ describe('Common Resources - Operations', () => {
294
324
  const operations = [
295
325
  () => listItemsWithAuthorization(testUrl, mockAuthorization),
296
326
  () => getItemWithAuthorization(testUrl, mockAuthorization),
297
- () => updateItemWithAuthorization(testUrl, mockAuthorization, {}),
298
- () => insertItemWithAuthorization(testUrl, mockAuthorization, {}),
327
+ () => putItemWithAuthorization(testUrl, mockAuthorization, {}),
328
+ () => postItemWithAuthorization(testUrl, mockAuthorization, {}),
299
329
  () => deleteItemWithAuthorization(testUrl, mockAuthorization),
300
330
  ];
301
331
  // Mock successful responses for all operations
@@ -348,7 +378,7 @@ describe('Common Resources - Operations', () => {
348
378
  status: 400,
349
379
  json: () => Promise.resolve({}),
350
380
  });
351
- await expect(updateItemWithAuthorization(testUrl, mockAuthorization, {})).rejects.toThrow(HttpError);
381
+ await expect(putItemWithAuthorization(testUrl, mockAuthorization, {})).rejects.toThrow(HttpError);
352
382
  });
353
383
  });
354
384
  });
@@ -1,14 +1,5 @@
1
- import { type } from 'arktype';
2
1
  import { HttpError } from '../errors/http.js';
3
2
  import type { Pagination } from '../schema/pagination.js';
4
- /**
5
- * Parse schema data that is calling the API
6
- */
7
- export declare function parseEgressSchema<S>(output: S | type.errors): S;
8
- /**
9
- * Parse schema data that is returning from the API
10
- */
11
- export declare function parseIngressSchema<S>(output: S | type.errors): S;
12
3
  export declare function defaultRequestHeaders(): Headers;
13
4
  export declare function defaultMutationRequestHeaders(): Headers;
14
5
  export declare function jsonBody<R>(message: Request | Response): Promise<R | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAU/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAQhE;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAMvD;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,GAAG,QAAQ,GAC1B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAMxB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAC7B,GAAG,CAUL;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,SAAS,CAAC,CAmCpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAUrD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAMvD;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,GAAG,QAAQ,GAC1B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAMxB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAC7B,GAAG,CAUL;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,SAAS,CAAC,CAmCpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAUrD"}
@@ -1,29 +1,5 @@
1
- import { type } from 'arktype';
2
1
  import { HttpError } from '../errors/http.js';
3
2
  import { ValidationError } from '../errors/validation.js';
4
- /**
5
- * Parse schema data that is calling the API
6
- */
7
- export function parseEgressSchema(output) {
8
- if (output instanceof type.errors) {
9
- console.warn(`Failed to parse egress payload: ${output.summary}`, {
10
- error: output,
11
- });
12
- throw output;
13
- }
14
- return output;
15
- }
16
- /**
17
- * Parse schema data that is returning from the API
18
- */
19
- export function parseIngressSchema(output) {
20
- if (output instanceof type.errors) {
21
- console.warn(`Failed to parse ingress payload: ${output.summary}`, {
22
- error: output,
23
- });
24
- }
25
- return output;
26
- }
27
3
  export function defaultRequestHeaders() {
28
4
  return new Headers([['accept', 'application/json']]);
29
5
  }
@@ -1,37 +1,8 @@
1
1
  import { describe, expect, test, vi } from 'vitest';
2
2
  import { HttpError } from '../errors/http.js';
3
3
  import { ValidationError } from '../errors/validation.js';
4
- import { addPaginationToURL, defaultMutationRequestHeaders, defaultRequestHeaders, jsonBody, parseEgressSchema, parseIngressSchema, responseToHttpError, toHttpError, } from './utils.js';
4
+ import { addPaginationToURL, defaultMutationRequestHeaders, defaultRequestHeaders, jsonBody, responseToHttpError, toHttpError, } from './utils.js';
5
5
  describe('Common Resources - Utils', () => {
6
- describe('parseEgressSchema', () => {
7
- test('should return output when valid', () => {
8
- const validOutput = { data: 'test' };
9
- const result = parseEgressSchema(validOutput);
10
- expect(result).toEqual(validOutput);
11
- });
12
- // test('should throw when output is type.errors', () => {
13
- // const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
14
- // const errorOutput = new type.errors([]);
15
- // expect(() => parseEgressSchema(errorOutput)).toThrow();
16
- // expect(consoleSpy).toHaveBeenCalled();
17
- // consoleSpy.mockRestore();
18
- // });
19
- });
20
- describe('parseIngressSchema', () => {
21
- test('should return output when valid', () => {
22
- const validOutput = { data: 'test' };
23
- const result = parseIngressSchema(validOutput);
24
- expect(result).toEqual(validOutput);
25
- });
26
- // test('should return output as type S when type.errors', () => {
27
- // const consoleSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
28
- // const errorOutput = new type.errors([]);
29
- // const result = parseIngressSchema(errorOutput);
30
- // expect(result).toBe(errorOutput);
31
- // expect(consoleSpy).toHaveBeenCalled();
32
- // consoleSpy.mockRestore();
33
- // });
34
- });
35
6
  describe('defaultRequestHeaders', () => {
36
7
  test('should return headers with accept application/json', () => {
37
8
  const headers = defaultRequestHeaders();
@@ -64,7 +35,7 @@ describe('Common Resources - Utils', () => {
64
35
  describe('addPaginationToURL', () => {
65
36
  test('should add pagination params to URL', () => {
66
37
  const url = new URL('https://example.com/api');
67
- const pagination = { nextToken: 'token123', pageSize: '10' };
38
+ const pagination = { nextToken: 'token123', pageSize: 10 };
68
39
  const result = addPaginationToURL(url, pagination);
69
40
  expect(result.searchParams.get('pagination[nextToken]')).toBe('token123');
70
41
  expect(result.searchParams.get('pagination[pageSize]')).toBe('10');
@@ -83,7 +54,7 @@ describe('Common Resources - Utils', () => {
83
54
  });
84
55
  test('should not add params when values are null', () => {
85
56
  const url = new URL('https://example.com/api');
86
- const pagination = { nextToken: null, pageSize: null };
57
+ const pagination = {};
87
58
  const result = addPaginationToURL(url, pagination);
88
59
  expect(result.searchParams.has('pagination[nextToken]')).toBe(false);
89
60
  expect(result.searchParams.has('pagination[pageSize]')).toBe(false);
@@ -1,6 +1,7 @@
1
- export declare const AggregateSchema: import("arktype/internal/methods/object.ts").ObjectType<{
2
- ids?: string[] | undefined;
3
- count?: number | undefined;
4
- }, {}>;
5
- export type Aggregate = typeof AggregateSchema.inferOut;
1
+ import * as z from 'zod/v4';
2
+ export declare const AggregateSchema: z.ZodObject<{
3
+ ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
4
+ count: z.ZodOptional<z.ZodNumber>;
5
+ }, z.core.$strip>;
6
+ export type Aggregate = z.output<typeof AggregateSchema>;
6
7
  //# sourceMappingURL=aggregate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/common/schema/aggregate.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;MAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/common/schema/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type } from 'arktype';
2
- export const AggregateSchema = type({
3
- ids: type('string[]').optional(),
4
- count: type('number').optional(),
1
+ import * as z from 'zod/v4';
2
+ export const AggregateSchema = z.object({
3
+ ids: z.array(z.string()).optional(),
4
+ count: z.number().optional(),
5
5
  });
@@ -1,73 +1,72 @@
1
- import { type } from 'arktype';
2
1
  import { describe, expect, test } from 'vitest';
3
2
  import { AggregateSchema } from './aggregate.js';
4
3
  describe('Common Schema - Aggregate', () => {
5
4
  describe('AggregateSchema', () => {
6
5
  test('should accept valid aggregate with ids and count', () => {
7
- const result = AggregateSchema({
6
+ const result = AggregateSchema.safeParse({
8
7
  ids: ['id1', 'id2', 'id3'],
9
8
  count: 25,
10
9
  });
11
- expect(result).not.toBeInstanceOf(type.errors);
12
- expect(result).toEqual({
10
+ // Parse succeeds for valid data
11
+ expect(result.data).toEqual({
13
12
  ids: ['id1', 'id2', 'id3'],
14
13
  count: 25,
15
14
  });
16
15
  });
17
16
  test('should accept aggregate with only ids', () => {
18
- const result = AggregateSchema({
17
+ const result = AggregateSchema.safeParse({
19
18
  ids: ['id1', 'id2'],
20
19
  });
21
- expect(result).not.toBeInstanceOf(type.errors);
22
- expect(result).toEqual({
20
+ // Parse succeeds for valid data
21
+ expect(result.data).toEqual({
23
22
  ids: ['id1', 'id2'],
24
23
  });
25
24
  });
26
25
  test('should accept aggregate with only count', () => {
27
- const result = AggregateSchema({
26
+ const result = AggregateSchema.safeParse({
28
27
  count: 42,
29
28
  });
30
- expect(result).not.toBeInstanceOf(type.errors);
31
- expect(result).toEqual({
29
+ // Parse succeeds for valid data
30
+ expect(result.data).toEqual({
32
31
  count: 42,
33
32
  });
34
33
  });
35
34
  test('should accept empty aggregate', () => {
36
- const result = AggregateSchema({});
37
- expect(result).not.toBeInstanceOf(type.errors);
38
- expect(result).toEqual({});
35
+ const result = AggregateSchema.safeParse({});
36
+ // Parse succeeds for valid data
37
+ expect(result.data).toEqual({});
39
38
  });
40
39
  test('should accept aggregate with empty ids array', () => {
41
- const result = AggregateSchema({
40
+ const result = AggregateSchema.safeParse({
42
41
  ids: [],
43
42
  count: 0,
44
43
  });
45
- expect(result).not.toBeInstanceOf(type.errors);
46
- expect(result).toEqual({
44
+ // Parse succeeds for valid data
45
+ expect(result.data).toEqual({
47
46
  ids: [],
48
47
  count: 0,
49
48
  });
50
49
  });
51
50
  test('should reject invalid ids type', () => {
52
- const result = AggregateSchema({
51
+ const result = AggregateSchema.safeParse({
53
52
  ids: 'not-an-array',
54
53
  count: 10,
55
54
  });
56
- expect(result).toBeInstanceOf(type.errors);
55
+ expect(result.success).toBe(false);
57
56
  });
58
57
  test('should reject invalid count type', () => {
59
- const result = AggregateSchema({
58
+ const result = AggregateSchema.safeParse({
60
59
  ids: ['id1'],
61
60
  count: 'not-a-number',
62
61
  });
63
- expect(result).toBeInstanceOf(type.errors);
62
+ expect(result.success).toBe(false);
64
63
  });
65
64
  test('should reject non-string items in ids array', () => {
66
- const result = AggregateSchema({
65
+ const result = AggregateSchema.safeParse({
67
66
  ids: ['id1', 123, 'id3'],
68
67
  count: 3,
69
68
  });
70
- expect(result).toBeInstanceOf(type.errors);
69
+ expect(result.success).toBe(false);
71
70
  });
72
71
  });
73
72
  });
@@ -1,18 +1,17 @@
1
- import { type Pagination } from './pagination.js';
2
- export declare const CollectionSchema: import("arktype").Generic<[["t", unknown]], {
3
- readonly items: "t[]";
4
- }, {}, {}>;
1
+ import * as z from 'zod/v4';
2
+ import { type PaginationPayload } from './pagination.js';
3
+ export declare const CollectionSchema: <T extends z.ZodTypeAny>(itemSchema: T) => z.ZodObject<{
4
+ items: z.ZodArray<T>;
5
+ }, z.core.$strip>;
5
6
  export type Collection<I> = {
6
7
  items: I[];
7
8
  };
8
- export declare const PaginationCollectionSchema: import("arktype").Generic<[["t", unknown]], {
9
- readonly items: "t[]";
10
- readonly pagination: [import("arktype/internal/methods/object.ts").ObjectType<{
11
- pageSize?: string | number | null | undefined;
12
- nextToken?: string | null | undefined;
13
- }, {}>, "?"];
14
- }, {}, {}>;
15
- export type PaginationCollection<I> = Collection<I> & {
16
- pagination?: Pagination;
17
- };
9
+ export declare const PaginationCollectionSchema: <T extends z.ZodTypeAny>(itemSchema: T) => z.ZodObject<{
10
+ pagination: z.ZodOptional<z.ZodObject<{
11
+ pageSize: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>, z.ZodTransform<number | undefined, string | number | null>>>;
12
+ nextToken: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>, z.ZodTransform<string | undefined, string | null>>>;
13
+ }, z.core.$strip>>;
14
+ items: z.ZodArray<T>;
15
+ }, z.core.$strip>;
16
+ export type PaginationCollection<I> = Collection<I> & PaginationPayload;
18
17
  //# sourceMappingURL=collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../../src/common/schema/collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;UAAgC,CAAC;AAC9D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;UAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../../src/common/schema/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAoB,MAAM,iBAAiB,CAAC;AAE3E,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC;;iBAC5B,CAAC;AAC3C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAC/D,YAAY,CAAC;;;;;;iBAKX,CAAC;AACL,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { type } from 'arktype';
1
+ import * as z from 'zod/v4';
2
2
  import { PaginationSchema } from './pagination.js';
3
- export const CollectionSchema = type('<t>', { items: 't[]' });
4
- export const PaginationCollectionSchema = type('<t>', {
5
- items: 't[]',
6
- pagination: PaginationSchema.optional(),
3
+ export const CollectionSchema = (itemSchema) => z.object({ items: z.array(itemSchema) });
4
+ export const PaginationCollectionSchema = (itemSchema) => z.object({
5
+ items: z.array(itemSchema),
6
+ ...PaginationSchema.shape,
7
7
  });
@@ -1,96 +1,114 @@
1
- import { type } from 'arktype';
2
1
  import { describe, expect, test } from 'vitest';
2
+ import * as z from 'zod/v4';
3
3
  import { CollectionSchema, PaginationCollectionSchema } from './collection.js';
4
4
  describe('Common Schema - Collection', () => {
5
5
  describe('CollectionSchema', () => {
6
6
  test('should accept valid collection with string items', () => {
7
- const StringCollectionSchema = CollectionSchema('string');
8
- const result = StringCollectionSchema({
9
- items: ['item1', 'item2', 'item3'],
10
- });
11
- expect(result).not.toBeInstanceOf(type.errors);
12
- expect(result).toEqual({
7
+ const StringCollectionSchema = CollectionSchema(z.string());
8
+ const result = StringCollectionSchema.safeParse({
13
9
  items: ['item1', 'item2', 'item3'],
14
10
  });
11
+ // Parse succeeds for valid data
12
+ expect(result.success).toBe(true);
13
+ if (result.success) {
14
+ expect(result.data).toEqual({
15
+ items: ['item1', 'item2', 'item3'],
16
+ });
17
+ }
15
18
  });
16
19
  test('should accept valid collection with number items', () => {
17
- const NumberCollectionSchema = CollectionSchema('number');
18
- const result = NumberCollectionSchema({
19
- items: [1, 2, 3],
20
- });
21
- expect(result).not.toBeInstanceOf(type.errors);
22
- expect(result).toEqual({
20
+ const NumberCollectionSchema = CollectionSchema(z.number());
21
+ const result = NumberCollectionSchema.safeParse({
23
22
  items: [1, 2, 3],
24
23
  });
24
+ // Parse succeeds for valid data
25
+ expect(result.success).toBe(true);
26
+ if (result.success) {
27
+ expect(result.data).toEqual({
28
+ items: [1, 2, 3],
29
+ });
30
+ }
25
31
  });
26
32
  test('should accept empty collection', () => {
27
- const StringCollectionSchema = CollectionSchema('string');
28
- const result = StringCollectionSchema({
29
- items: [],
30
- });
31
- expect(result).not.toBeInstanceOf(type.errors);
32
- expect(result).toEqual({
33
+ const StringCollectionSchema = CollectionSchema(z.string());
34
+ const result = StringCollectionSchema.safeParse({
33
35
  items: [],
34
36
  });
37
+ // Parse succeeds for valid data
38
+ expect(result.success).toBe(true);
39
+ if (result.success) {
40
+ expect(result.data).toEqual({
41
+ items: [],
42
+ });
43
+ }
35
44
  });
36
45
  test('should reject invalid items type', () => {
37
- const StringCollectionSchema = CollectionSchema('string');
38
- const result = StringCollectionSchema({
46
+ const StringCollectionSchema = CollectionSchema(z.string());
47
+ const result = StringCollectionSchema.safeParse({
39
48
  items: 'not-an-array',
40
49
  });
41
- expect(result).toBeInstanceOf(type.errors);
50
+ expect(result.success).toBe(false);
42
51
  });
43
52
  });
44
53
  describe('PaginationCollectionSchema', () => {
45
54
  test('should accept valid paginated collection', () => {
46
- const StringPaginationCollectionSchema = PaginationCollectionSchema('string');
47
- const result = StringPaginationCollectionSchema({
48
- items: ['item1', 'item2'],
49
- pagination: {
50
- pageSize: '10',
51
- nextToken: 'token123',
52
- },
53
- });
54
- expect(result).not.toBeInstanceOf(type.errors);
55
- expect(result).toEqual({
55
+ const StringPaginationCollectionSchema = PaginationCollectionSchema(z.string());
56
+ const result = StringPaginationCollectionSchema.safeParse({
56
57
  items: ['item1', 'item2'],
57
58
  pagination: {
58
59
  pageSize: '10',
59
60
  nextToken: 'token123',
60
61
  },
61
62
  });
63
+ // Parse succeeds for valid data
64
+ expect(result.success).toBe(true);
65
+ if (result.success) {
66
+ expect(result.data).toEqual({
67
+ items: ['item1', 'item2'],
68
+ pagination: {
69
+ pageSize: 10,
70
+ nextToken: 'token123',
71
+ },
72
+ });
73
+ }
62
74
  });
63
75
  test('should accept collection without pagination', () => {
64
- const StringPaginationCollectionSchema = PaginationCollectionSchema('string');
65
- const result = StringPaginationCollectionSchema({
66
- items: ['item1', 'item2'],
67
- });
68
- expect(result).not.toBeInstanceOf(type.errors);
69
- expect(result).toEqual({
76
+ const StringPaginationCollectionSchema = PaginationCollectionSchema(z.string());
77
+ const result = StringPaginationCollectionSchema.safeParse({
70
78
  items: ['item1', 'item2'],
71
79
  });
80
+ // Parse succeeds for valid data
81
+ expect(result.success).toBe(true);
82
+ if (result.success) {
83
+ expect(result.data).toEqual({
84
+ items: ['item1', 'item2'],
85
+ });
86
+ }
72
87
  });
73
88
  test('should accept collection with empty pagination', () => {
74
- const StringPaginationCollectionSchema = PaginationCollectionSchema('string');
75
- const result = StringPaginationCollectionSchema({
76
- items: ['item1'],
77
- pagination: {},
78
- });
79
- expect(result).not.toBeInstanceOf(type.errors);
80
- expect(result).toEqual({
89
+ const StringPaginationCollectionSchema = PaginationCollectionSchema(z.string());
90
+ const result = StringPaginationCollectionSchema.safeParse({
81
91
  items: ['item1'],
82
92
  pagination: {},
83
93
  });
94
+ // Parse succeeds for valid data
95
+ expect(result.success).toBe(true);
96
+ if (result.success) {
97
+ expect(result.data).toEqual({
98
+ items: ['item1'],
99
+ pagination: {},
100
+ });
101
+ }
84
102
  });
85
103
  test('should reject invalid pagination', () => {
86
- const StringPaginationCollectionSchema = PaginationCollectionSchema('string');
87
- const result = StringPaginationCollectionSchema({
104
+ const StringPaginationCollectionSchema = PaginationCollectionSchema(z.string());
105
+ const result = StringPaginationCollectionSchema.safeParse({
88
106
  items: ['item1'],
89
107
  pagination: {
90
108
  pageSize: true,
91
109
  },
92
110
  });
93
- expect(result).toBeInstanceOf(type.errors);
111
+ expect(result.success).toBe(false);
94
112
  });
95
113
  });
96
114
  });