@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,3 +1,4 @@
1
+ import * as z from 'zod/v4';
1
2
  export declare const Model: {
2
3
  readonly Permission: {
3
4
  readonly UIDPrefix: "per";
@@ -8,10 +9,10 @@ export declare const Model: {
8
9
  };
9
10
  export declare function generatePermissionId(): string;
10
11
  export declare function generateRoleId(): string;
11
- export declare const RoleIdSchema: import("arktype/internal/methods/string.ts").StringType<string, {}>;
12
- export type RoleId = typeof RoleIdSchema.inferOut;
13
- export declare const RoleIdAssociationsSchema: import("arktype").BaseType<string[] | undefined, {}>;
14
- export declare const PermissionIdSchema: import("arktype/internal/methods/string.ts").StringType<string, {}>;
15
- export type PermissionId = typeof PermissionIdSchema.inferOut;
16
- export declare const PermissionIdAssociationsSchema: import("arktype").BaseType<string[] | undefined, {}>;
12
+ export declare const RoleIdSchema: z.ZodString;
13
+ export type RoleId = z.output<typeof RoleIdSchema>;
14
+ export declare const RoleIdAssociationsSchema: z.ZodUnion<readonly [z.ZodUndefined, z.ZodArray<z.ZodString>]>;
15
+ export declare const PermissionIdSchema: z.ZodString;
16
+ export type PermissionId = z.output<typeof PermissionIdSchema>;
17
+ export declare const PermissionIdAssociationsSchema: z.ZodUnion<readonly [z.ZodUndefined, z.ZodArray<z.ZodString>]>;
17
18
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/authorization/schema.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC;AAEX,wBAAgB,oBAAoB,WAEnC;AAED,wBAAgB,cAAc,WAE7B;AAED,eAAO,MAAM,YAAY,qEAAoC,CAAC;AAC9D,MAAM,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC,QAAQ,CAAC;AAElD,eAAO,MAAM,wBAAwB,sDAEpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,qEAA0C,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,QAAQ,CAAC;AAE9D,eAAO,MAAM,8BAA8B,sDAE1C,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/authorization/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC;AAEX,wBAAgB,oBAAoB,WAEnC;AAED,wBAAgB,cAAc,WAE7B;AAED,eAAO,MAAM,YAAY,aAAoC,CAAC;AAC9D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD,eAAO,MAAM,wBAAwB,gEAGnC,CAAC;AAEH,eAAO,MAAM,kBAAkB,aAA0C,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,8BAA8B,gEAGzC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type } from 'arktype';
2
1
  import KSUID from 'ksuid';
2
+ import * as z from 'zod/v4';
3
3
  import { KSUIDSchema } from '../common/schema/id.js';
4
4
  export const Model = {
5
5
  Permission: {
@@ -16,6 +16,12 @@ export function generateRoleId() {
16
16
  return `${Model.Role.UIDPrefix}_${KSUID.randomSync().string}`;
17
17
  }
18
18
  export const RoleIdSchema = KSUIDSchema(Model.Role.UIDPrefix);
19
- export const RoleIdAssociationsSchema = type('undefined').or(RoleIdSchema.array());
19
+ export const RoleIdAssociationsSchema = z.union([
20
+ z.undefined(),
21
+ z.array(RoleIdSchema),
22
+ ]);
20
23
  export const PermissionIdSchema = KSUIDSchema(Model.Permission.UIDPrefix);
21
- export const PermissionIdAssociationsSchema = type('undefined').or(PermissionIdSchema.array());
24
+ export const PermissionIdAssociationsSchema = z.union([
25
+ z.undefined(),
26
+ z.array(PermissionIdSchema),
27
+ ]);
@@ -2,6 +2,8 @@ import { MondoIdentity } from './resources/init.js';
2
2
  export { defaultMutationRequestHeaders, defaultRequestHeaders, responseToHttpError, toHttpError, } from './resources/utils.js';
3
3
  export * from './errors/http.js';
4
4
  export * from './errors/validation.js';
5
+ export type { MondoInstance } from './resources/init.js';
6
+ export type { AccessTokenProvider, Authorizer, } from './resources/authorization.js';
5
7
  export * from './schema/schema.js';
6
8
  export default MondoIdentity;
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AAEnC,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,YAAY,EACV,mBAAmB,EACnB,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,eAAe,aAAa,CAAC"}
@@ -1,2 +1,19 @@
1
- export type Authorization = (request: RequestInit) => RequestInit;
1
+ export type AuthorizeOptions = {
2
+ /** Force a credential refresh before authorizing the request. */
3
+ refresh?: boolean;
4
+ };
5
+ export type AccessToken = string | {
6
+ accessToken: string;
7
+ expiresAt?: number;
8
+ scope?: string;
9
+ type?: string;
10
+ };
11
+ export type AccessTokenProvider = (options?: AuthorizeOptions) => AccessToken | Promise<AccessToken>;
12
+ /**
13
+ * Authorizer function type that adds authentication to requests.
14
+ * Takes a RequestInit object and returns it with authorization headers added.
15
+ * Async authorization can refresh credentials before the outbound API request.
16
+ */
17
+ export type Authorizer = (request: RequestInit, options?: AuthorizeOptions) => RequestInit | Promise<RequestInit>;
18
+ export declare function getAccessTokenValue(accessToken: AccessToken): string;
2
19
  //# sourceMappingURL=authorization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/authorization.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CAAC"}
1
+ {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/authorization.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB,MAAM,GACN;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,CAAC,EAAE,gBAAgB,KACvB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,KACvB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExC,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAIpE"}
@@ -1 +1,5 @@
1
- export {};
1
+ export function getAccessTokenValue(accessToken) {
2
+ return typeof accessToken === 'string'
3
+ ? accessToken
4
+ : accessToken.accessToken;
5
+ }
@@ -1,16 +1,33 @@
1
- declare const ConfigSchema: import("arktype/internal/methods/object.ts").ObjectType<{
2
- host: (In: import("arktype/internal/attributes.ts").Default<string, "https://manage-api.mondoidentity.com">) => import("arktype/internal/attributes.ts").To<URL>;
3
- accessToken: string;
4
- }, {}>;
5
- export type ConfigProps = typeof ConfigSchema.inferIn;
6
- export type Config = typeof ConfigSchema.inferOut;
7
- export declare class MondoIdentity {
1
+ import * as z from 'zod/v4';
2
+ import { type AccessTokenProvider, type Authorizer } from './authorization.js';
3
+ declare const ConfigSchema: z.ZodObject<{
4
+ accessToken: z.ZodUnion<readonly [z.ZodString, z.ZodCustom<AccessTokenProvider, AccessTokenProvider>]>;
5
+ host: z.ZodPipe<z.ZodDefault<z.ZodURL>, z.ZodTransform<URL, string>>;
6
+ }, z.core.$strip>;
7
+ export type ConfigProps = z.input<typeof ConfigSchema>;
8
+ export type Config = z.output<typeof ConfigSchema>;
9
+ /**
10
+ * Interface representing a configured Mondo SDK instance.
11
+ * Provides the base URL and authorization function for API requests.
12
+ */
13
+ export type MondoInstance = {
14
+ /** The base URL for API requests */
15
+ readonly baseUrl: URL;
16
+ /** Function that adds authorization headers to requests */
17
+ readonly authorize: Authorizer;
18
+ };
19
+ /**
20
+ * Type guard to check if a value is a MondoInstance.
21
+ * @param value - The value to check
22
+ * @returns True if the value is a MondoInstance
23
+ */
24
+ export declare function isMondoInstance(value: unknown): value is MondoInstance;
25
+ export declare class MondoIdentity implements MondoInstance {
8
26
  readonly config: Config;
27
+ readonly authorize: Authorizer;
9
28
  constructor(config: ConfigProps);
10
- /**
11
- * Builds an authorizer function based on the type of access token
12
- */
13
- get authorizer(): (request: RequestInit) => RequestInit;
29
+ /** The base URL for API requests. */
30
+ get baseUrl(): URL;
14
31
  }
15
32
  export {};
16
33
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/init.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,YAAY;;;MAA0B,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,OAAO,CAAC;AACtD,MAAM,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC,QAAQ,CAAC;AAElD,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEL,MAAM,EAAE,WAAW;IAItC;;OAEG;IACH,IAAW,UAAU,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,CAU7D;CAuBF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAmB5B,QAAA,MAAM,YAAY;;;iBAA0B,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAStE;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,SAAgB,SAAS,EAAE,UAAU,CAAC;gBAEnB,MAAM,EAAE,WAAW;IAiBtC,qCAAqC;IACrC,IAAW,OAAO,IAAI,GAAG,CAExB;CACF"}
@@ -1,34 +1,60 @@
1
- import { type } from 'arktype';
2
- const BaseConfigSchema = type({
3
- host: type('string.url.parse').default('https://manage-api.mondoidentity.com'),
1
+ import * as z from 'zod/v4';
2
+ import { getAccessTokenValue, } from './authorization.js';
3
+ const BaseConfigSchema = z.object({
4
+ host: z
5
+ .url()
6
+ .default('https://api.mondoidentity.com')
7
+ .pipe(z.transform((v) => new URL(v))),
4
8
  });
5
- const AccessTokenConfigSchema = BaseConfigSchema.and({
6
- accessToken: type('string').moreThanLength(0),
9
+ const AccessTokenConfigSchema = z.object({
10
+ ...BaseConfigSchema.shape,
11
+ accessToken: z.union([
12
+ z.string().min(1),
13
+ z.custom((value) => typeof value === 'function', {
14
+ error: 'Access token must be a string or token provider function',
15
+ }),
16
+ ]),
7
17
  });
8
18
  const ConfigSchema = AccessTokenConfigSchema;
19
+ /**
20
+ * Type guard to check if a value is a MondoInstance.
21
+ * @param value - The value to check
22
+ * @returns True if the value is a MondoInstance
23
+ */
24
+ export function isMondoInstance(value) {
25
+ const maybeInstance = value;
26
+ return (maybeInstance !== null &&
27
+ typeof maybeInstance === 'object' &&
28
+ maybeInstance.baseUrl instanceof URL &&
29
+ typeof maybeInstance.authorize === 'function');
30
+ }
9
31
  export class MondoIdentity {
10
32
  config;
33
+ authorize;
11
34
  constructor(config) {
12
35
  this.config = initConfig(config);
36
+ this.authorize = async (request, options) => {
37
+ const accessToken = typeof this.config.accessToken === 'function'
38
+ ? await this.config.accessToken(options)
39
+ : this.config.accessToken;
40
+ request.headers = new Headers(request.headers);
41
+ request.headers.set('authorization', `Bearer ${getAccessTokenValue(accessToken)}`);
42
+ return request;
43
+ };
13
44
  }
14
- /**
15
- * Builds an authorizer function based on the type of access token
16
- */
17
- get authorizer() {
18
- if (this.config.accessToken) {
19
- return (request) => {
20
- request.headers = new Headers(request.headers);
21
- request.headers.append('authorization', this.config.accessToken);
22
- return request;
23
- };
24
- }
25
- return (request) => request;
45
+ /** The base URL for API requests. */
46
+ get baseUrl() {
47
+ return this.config.host;
26
48
  }
27
49
  }
28
50
  function initConfig(config) {
29
- const out = ConfigSchema(config);
30
- if (out instanceof type.errors) {
31
- throw new Error(`Invalid configuration: ${out.summary}`);
51
+ try {
52
+ return ConfigSchema.parse(config);
53
+ }
54
+ catch (error) {
55
+ if (error instanceof z.ZodError) {
56
+ throw new Error(`Invalid configuration: ${error.message}`);
57
+ }
58
+ throw error;
32
59
  }
33
- return out;
34
60
  }
@@ -1,4 +1,4 @@
1
- import { describe, expect, test } from 'vitest';
1
+ import { describe, expect, test, vi } from 'vitest';
2
2
  import { MondoIdentity } from './init.js';
3
3
  describe('Common Resources - Init', () => {
4
4
  describe('MondoIdentity class', () => {
@@ -18,7 +18,7 @@ describe('Common Resources - Init', () => {
18
18
  };
19
19
  const mondoIdentity = new MondoIdentity(config);
20
20
  expect(mondoIdentity.config.accessToken).toBe('test-access-token');
21
- expect(mondoIdentity.config.host.toString()).toBe('https://manage-api.mondoidentity.com/');
21
+ expect(mondoIdentity.config.host.toString()).toBe('https://api.mondoidentity.com/');
22
22
  });
23
23
  test('should parse URL host correctly', () => {
24
24
  const config = {
@@ -62,6 +62,11 @@ describe('Common Resources - Init', () => {
62
62
  };
63
63
  expect(() => new MondoIdentity(config)).toThrow('Invalid configuration');
64
64
  });
65
+ test('should initialize with an access token provider', () => {
66
+ const accessToken = vi.fn(() => 'provided-token');
67
+ const mondoIdentity = new MondoIdentity({ accessToken });
68
+ expect(mondoIdentity.config.accessToken).toBe(accessToken);
69
+ });
65
70
  });
66
71
  describe('config property', () => {
67
72
  test('should be readonly', () => {
@@ -85,29 +90,29 @@ describe('Common Resources - Init', () => {
85
90
  expect(mondoIdentity.config.host.toString()).toBe(`${config.host}/`);
86
91
  });
87
92
  });
88
- describe('authorizer property', () => {
89
- test('should return function that adds authorization header when access token is provided', () => {
93
+ describe('authorize property', () => {
94
+ test('should return function that adds authorization header when access token is provided', async () => {
90
95
  const config = {
91
96
  accessToken: 'bearer-token-123',
92
97
  };
93
98
  const mondoIdentity = new MondoIdentity(config);
94
- const authorizer = mondoIdentity.authorizer;
95
- expect(typeof authorizer).toBe('function');
99
+ const authorize = mondoIdentity.authorize;
100
+ expect(typeof authorize).toBe('function');
96
101
  const mockRequest = {
97
102
  method: 'GET',
98
103
  headers: {},
99
104
  };
100
- const authorizedRequest = authorizer(mockRequest);
105
+ const authorizedRequest = await authorize(mockRequest);
101
106
  expect(authorizedRequest.headers).toBeInstanceOf(Headers);
102
107
  const headers = authorizedRequest.headers;
103
- expect(headers.get('authorization')).toBe('bearer-token-123');
108
+ expect(headers.get('authorization')).toBe('Bearer bearer-token-123');
104
109
  });
105
- test('should preserve existing headers when adding authorization', () => {
110
+ test('should preserve existing headers when adding authorization', async () => {
106
111
  const config = {
107
112
  accessToken: 'test-token',
108
113
  };
109
114
  const mondoIdentity = new MondoIdentity(config);
110
- const authorizer = mondoIdentity.authorizer;
115
+ const authorize = mondoIdentity.authorize;
111
116
  const mockRequest = {
112
117
  method: 'POST',
113
118
  headers: {
@@ -115,18 +120,18 @@ describe('Common Resources - Init', () => {
115
120
  'user-agent': 'test-client',
116
121
  },
117
122
  };
118
- const authorizedRequest = authorizer(mockRequest);
123
+ const authorizedRequest = await authorize(mockRequest);
119
124
  const headers = authorizedRequest.headers;
120
- expect(headers.get('authorization')).toBe('test-token');
125
+ expect(headers.get('authorization')).toBe('Bearer test-token');
121
126
  expect(headers.get('content-type')).toBe('application/json');
122
127
  expect(headers.get('user-agent')).toBe('test-client');
123
128
  });
124
- test('should handle Headers object as input', () => {
129
+ test('should handle Headers object as input', async () => {
125
130
  const config = {
126
131
  accessToken: 'header-token',
127
132
  };
128
133
  const mondoIdentity = new MondoIdentity(config);
129
- const authorizer = mondoIdentity.authorizer;
134
+ const authorize = mondoIdentity.authorize;
130
135
  const existingHeaders = new Headers({
131
136
  accept: 'application/json',
132
137
  });
@@ -134,67 +139,87 @@ describe('Common Resources - Init', () => {
134
139
  method: 'GET',
135
140
  headers: existingHeaders,
136
141
  };
137
- const authorizedRequest = authorizer(mockRequest);
142
+ const authorizedRequest = await authorize(mockRequest);
138
143
  const headers = authorizedRequest.headers;
139
- expect(headers.get('authorization')).toBe('header-token');
144
+ expect(headers.get('authorization')).toBe('Bearer header-token');
140
145
  expect(headers.get('accept')).toBe('application/json');
141
146
  });
142
- test('should handle undefined headers', () => {
147
+ test('should handle undefined headers', async () => {
143
148
  const config = {
144
149
  accessToken: 'undefined-headers-token',
145
150
  };
146
151
  const mondoIdentity = new MondoIdentity(config);
147
- const authorizer = mondoIdentity.authorizer;
152
+ const authorize = mondoIdentity.authorize;
148
153
  const mockRequest = {
149
154
  method: 'GET',
150
155
  // headers intentionally undefined
151
156
  };
152
- const authorizedRequest = authorizer(mockRequest);
157
+ const authorizedRequest = await authorize(mockRequest);
153
158
  const headers = authorizedRequest.headers;
154
- expect(headers.get('authorization')).toBe('undefined-headers-token');
159
+ expect(headers.get('authorization')).toBe('Bearer undefined-headers-token');
155
160
  });
156
- test('should return same request reference with modified headers', () => {
161
+ test('should return same request reference with modified headers', async () => {
157
162
  const config = {
158
163
  accessToken: 'reference-token',
159
164
  };
160
165
  const mondoIdentity = new MondoIdentity(config);
161
- const authorizer = mondoIdentity.authorizer;
166
+ const authorize = mondoIdentity.authorize;
162
167
  const mockRequest = {
163
168
  method: 'PUT',
164
169
  body: 'test-body',
165
170
  };
166
- const authorizedRequest = authorizer(mockRequest);
171
+ const authorizedRequest = await authorize(mockRequest);
167
172
  // Should be the same object reference
168
173
  expect(authorizedRequest).toBe(mockRequest);
169
174
  expect(authorizedRequest.method).toBe('PUT');
170
175
  expect(authorizedRequest.body).toBe('test-body');
171
176
  });
172
- test('should be a getter that returns consistent function', () => {
177
+ test('should expose a consistent function', async () => {
173
178
  const config = {
174
179
  accessToken: 'consistent-token',
175
180
  };
176
181
  const mondoIdentity = new MondoIdentity(config);
177
- // Getting authorizer multiple times should return the same function behavior
178
- const authorizer1 = mondoIdentity.authorizer;
179
- const authorizer2 = mondoIdentity.authorizer;
182
+ const authorize1 = mondoIdentity.authorize;
183
+ const authorize2 = mondoIdentity.authorize;
180
184
  const mockRequest1 = { method: 'GET' };
181
185
  const mockRequest2 = { method: 'POST' };
182
- const result1 = authorizer1(mockRequest1);
183
- const result2 = authorizer2(mockRequest2);
186
+ const result1 = await authorize1(mockRequest1);
187
+ const result2 = await authorize2(mockRequest2);
184
188
  const headers1 = result1.headers;
185
189
  const headers2 = result2.headers;
186
- expect(headers1.get('authorization')).toBe('consistent-token');
187
- expect(headers2.get('authorization')).toBe('consistent-token');
190
+ expect(headers1.get('authorization')).toBe('Bearer consistent-token');
191
+ expect(headers2.get('authorization')).toBe('Bearer consistent-token');
192
+ });
193
+ test('should resolve access token providers with authorize options', async () => {
194
+ const accessToken = vi.fn((options) => options?.refresh ? 'refreshed-token' : 'cached-token');
195
+ const mondoIdentity = new MondoIdentity({ accessToken });
196
+ const cachedRequest = await mondoIdentity.authorize({ method: 'GET' });
197
+ const refreshedRequest = await mondoIdentity.authorize({ method: 'GET' }, { refresh: true });
198
+ expect(accessToken).toHaveBeenNthCalledWith(1, undefined);
199
+ expect(accessToken).toHaveBeenNthCalledWith(2, { refresh: true });
200
+ expect(cachedRequest.headers.get('authorization')).toBe('Bearer cached-token');
201
+ expect(refreshedRequest.headers.get('authorization')).toBe('Bearer refreshed-token');
202
+ });
203
+ test('should use the accessToken value from provider token objects', async () => {
204
+ const accessToken = vi.fn(() => ({
205
+ accessToken: 'object-token',
206
+ expiresAt: Date.now() + 60_000,
207
+ scope: 'workspace:read',
208
+ type: 'Bearer',
209
+ }));
210
+ const mondoIdentity = new MondoIdentity({ accessToken });
211
+ const request = await mondoIdentity.authorize({ method: 'GET' });
212
+ expect(request.headers.get('authorization')).toBe('Bearer object-token');
188
213
  });
189
214
  });
190
215
  describe('integration tests', () => {
191
- test('should work with real-world configuration', () => {
216
+ test('should work with real-world configuration', async () => {
192
217
  const config = {
193
218
  accessToken: 'prod_12345abcdef67890',
194
219
  host: 'https://api.mondoidentity.com/v1',
195
220
  };
196
221
  const mondoIdentity = new MondoIdentity(config);
197
- const authorizer = mondoIdentity.authorizer;
222
+ const authorize = mondoIdentity.authorize;
198
223
  // Test configuration
199
224
  expect(mondoIdentity.config.accessToken).toBe('prod_12345abcdef67890');
200
225
  expect(mondoIdentity.config.host).instanceOf(URL);
@@ -207,21 +232,20 @@ describe('Common Resources - Init', () => {
207
232
  'user-agent': 'mondo-identity-sdk/1.0.0',
208
233
  },
209
234
  };
210
- const authorizedRequest = authorizer(apiRequest);
235
+ const authorizedRequest = await authorize(apiRequest);
211
236
  const headers = authorizedRequest.headers;
212
- expect(headers.get('authorization')).toBe('prod_12345abcdef67890');
237
+ expect(headers.get('authorization')).toBe('Bearer prod_12345abcdef67890');
213
238
  expect(headers.get('accept')).toBe('application/json');
214
239
  expect(headers.get('user-agent')).toBe('mondo-identity-sdk/1.0.0');
215
240
  });
216
- test('should handle edge cases gracefully', () => {
241
+ test('should handle edge cases gracefully', async () => {
217
242
  const config = {
218
243
  accessToken: 'edge-case-token-with-special-chars!@#$%^&*()',
219
244
  host: 'https://localhost:3000',
220
245
  };
221
246
  const mondoIdentity = new MondoIdentity(config);
222
- expect(() => {
223
- const authorizer = mondoIdentity.authorizer;
224
- const request = authorizer({ method: 'OPTIONS' });
247
+ await expect(async () => {
248
+ const request = await mondoIdentity.authorize({ method: 'OPTIONS' });
225
249
  const headers = request.headers;
226
250
  headers.get('authorization');
227
251
  }).not.toThrow();
@@ -1,7 +1,8 @@
1
- import type { Authorization } from './authorization.js';
2
- export declare function listItemsWithAuthorization<Result>(url: URL, authorization: Authorization): Promise<Result>;
3
- export declare function getItemWithAuthorization<Result>(url: URL, authorization: Authorization): Promise<Result>;
4
- export declare function updateItemWithAuthorization<Result, Mutation>(url: URL, authorization: Authorization, item: Mutation): Promise<Result>;
5
- export declare function insertItemWithAuthorization<Result, Mutation>(url: URL, authorization: Authorization, item?: Mutation): Promise<Result>;
6
- export declare function deleteItemWithAuthorization<Result>(url: URL, authorization: Authorization): Promise<Result>;
1
+ import type { Authorizer } from './authorization.js';
2
+ export declare function listItemsWithAuthorization<Result>(url: URL, authorizer: Authorizer): Promise<Result>;
3
+ export declare function getItemWithAuthorization<Result>(url: URL, authorizer: Authorizer): Promise<Result>;
4
+ export declare function patchItemWithAuthorization<Result, Mutation>(url: URL, authorizer: Authorizer, item: Mutation): Promise<Result>;
5
+ export declare function putItemWithAuthorization<Result, Mutation>(url: URL, authorizer: Authorizer, item: Mutation): Promise<Result>;
6
+ export declare function postItemWithAuthorization<Result, Mutation>(url: URL, authorizer: Authorizer, item?: Mutation): Promise<Result>;
7
+ export declare function deleteItemWithAuthorization<Result>(url: URL, authorizer: Authorizer): Promise<Result>;
7
8
  //# sourceMappingURL=operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASxD,wBAAsB,0BAA0B,CAAC,MAAM,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EACnD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAChE,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAChE,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EACtD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/common/resources/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AASrD,wBAAsB,0BAA0B,CAAC,MAAM,EACrD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EACnD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAC/D,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAC7D,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAEjB;AA2BD,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAC9D,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EACtD,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
@@ -1,11 +1,11 @@
1
1
  import { defaultMutationRequestHeaders, defaultRequestHeaders, jsonBody, responseToHttpError, toHttpError, } from './utils.js';
2
- export async function listItemsWithAuthorization(url, authorization) {
2
+ export async function listItemsWithAuthorization(url, authorizer) {
3
3
  try {
4
4
  console.debug('List items', { url });
5
- const response = await fetch(url, authorization({
5
+ const response = await fetchWithAuthorization(url, authorizer, {
6
6
  method: 'GET',
7
7
  headers: defaultRequestHeaders(),
8
- }));
8
+ });
9
9
  if (response.ok) {
10
10
  return await response.json();
11
11
  }
@@ -15,13 +15,13 @@ export async function listItemsWithAuthorization(url, authorization) {
15
15
  throw toHttpError(error);
16
16
  }
17
17
  }
18
- export async function getItemWithAuthorization(url, authorization) {
18
+ export async function getItemWithAuthorization(url, authorizer) {
19
19
  try {
20
- console.debug('Get item', { url });
21
- const response = await fetch(url, authorization({
20
+ console.debug('GET item', { url });
21
+ const response = await fetchWithAuthorization(url, authorizer, {
22
22
  method: 'GET',
23
23
  headers: defaultRequestHeaders(),
24
- }));
24
+ });
25
25
  if (response.ok) {
26
26
  return await response.json();
27
27
  }
@@ -31,14 +31,20 @@ export async function getItemWithAuthorization(url, authorization) {
31
31
  throw toHttpError(error);
32
32
  }
33
33
  }
34
- export async function updateItemWithAuthorization(url, authorization, item) {
34
+ export async function patchItemWithAuthorization(url, authorizer, item) {
35
+ return mutateItemWithAuthorization('PATCH', url, authorizer, item);
36
+ }
37
+ export async function putItemWithAuthorization(url, authorizer, item) {
38
+ return mutateItemWithAuthorization('PUT', url, authorizer, item);
39
+ }
40
+ async function mutateItemWithAuthorization(method, url, authorizer, item) {
35
41
  try {
36
- console.debug('Update item', { url, item });
37
- const response = await fetch(url, authorization({
38
- method: 'PUT',
42
+ console.debug(`${method} item`, { url, item });
43
+ const response = await fetchWithAuthorization(url, authorizer, {
44
+ method,
39
45
  headers: defaultMutationRequestHeaders(),
40
46
  body: JSON.stringify(item),
41
- }));
47
+ });
42
48
  if (response.ok) {
43
49
  return await response.json();
44
50
  }
@@ -48,14 +54,14 @@ export async function updateItemWithAuthorization(url, authorization, item) {
48
54
  throw toHttpError(error);
49
55
  }
50
56
  }
51
- export async function insertItemWithAuthorization(url, authorization, item) {
57
+ export async function postItemWithAuthorization(url, authorizer, item) {
52
58
  try {
53
- console.debug('Insert item', { url, item });
54
- const response = await fetch(url, authorization({
59
+ console.debug('POST item', { url, item });
60
+ const response = await fetchWithAuthorization(url, authorizer, {
55
61
  method: 'POST',
56
62
  headers: defaultMutationRequestHeaders(),
57
63
  body: item ? JSON.stringify(item) : undefined,
58
- }));
64
+ });
59
65
  if (response.ok) {
60
66
  return await response.json();
61
67
  }
@@ -65,13 +71,13 @@ export async function insertItemWithAuthorization(url, authorization, item) {
65
71
  throw toHttpError(error);
66
72
  }
67
73
  }
68
- export async function deleteItemWithAuthorization(url, authorization) {
74
+ export async function deleteItemWithAuthorization(url, authorizer) {
69
75
  try {
70
76
  console.debug('Delete item', { url });
71
- const response = await fetch(url, authorization({
77
+ const response = await fetchWithAuthorization(url, authorizer, {
72
78
  method: 'DELETE',
73
79
  headers: defaultRequestHeaders(),
74
- }));
80
+ });
75
81
  if (response.ok) {
76
82
  return (await jsonBody(response));
77
83
  }
@@ -81,3 +87,19 @@ export async function deleteItemWithAuthorization(url, authorization) {
81
87
  throw toHttpError(error);
82
88
  }
83
89
  }
90
+ async function fetchWithAuthorization(url, authorizer, request) {
91
+ const response = await fetch(url, await authorizer(cloneRequestInit(request)));
92
+ if (!isAuthorizationResponse(response)) {
93
+ return response;
94
+ }
95
+ return fetch(url, await authorizer(cloneRequestInit(request), { refresh: true }));
96
+ }
97
+ function isAuthorizationResponse(response) {
98
+ return [401, 403].includes(response.status);
99
+ }
100
+ function cloneRequestInit(request) {
101
+ return {
102
+ ...request,
103
+ headers: new Headers(request.headers),
104
+ };
105
+ }