payload-auth 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/dist/authjs/index.d.ts +1 -0
  2. package/dist/authjs/index.d.ts.map +1 -0
  3. package/dist/authjs/index.js +1 -1
  4. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -0
  5. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
  6. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +1 -1
  7. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +1 -0
  8. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
  9. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +1 -1
  10. package/dist/better-auth/adapter/generate-schema/index.d.ts +1 -0
  11. package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
  12. package/dist/better-auth/adapter/generate-schema/index.js +3 -3
  13. package/dist/better-auth/adapter/generate-schema/utils.d.ts +1 -0
  14. package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
  15. package/dist/better-auth/adapter/generate-schema/utils.js +1 -1
  16. package/dist/better-auth/adapter/index.d.ts +3 -2
  17. package/dist/better-auth/adapter/index.d.ts.map +1 -0
  18. package/dist/better-auth/adapter/index.js +115 -69
  19. package/dist/better-auth/adapter/transform/index.d.ts +19 -6
  20. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
  21. package/dist/better-auth/adapter/transform/index.js +387 -96
  22. package/dist/better-auth/adapter/types.d.ts +3 -1
  23. package/dist/better-auth/adapter/types.d.ts.map +1 -0
  24. package/dist/better-auth/adapter/types.js +1 -1
  25. package/dist/better-auth/index.d.ts +1 -0
  26. package/dist/better-auth/index.d.ts.map +1 -0
  27. package/dist/better-auth/index.js +1 -1
  28. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +3 -0
  29. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -0
  30. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +5 -0
  31. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +3 -0
  32. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -0
  33. package/dist/better-auth/plugin/helpers/check-username-plugin.js +5 -0
  34. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +1 -0
  35. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -0
  36. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +8 -8
  37. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
  38. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
  39. package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
  40. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +14 -0
  41. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +1 -0
  42. package/dist/better-auth/plugin/helpers/get-admin-routes.js +6 -0
  43. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
  44. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
  45. package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
  46. package/dist/better-auth/plugin/helpers/get-ip.d.ts +2 -1
  47. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
  48. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  49. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +3 -0
  50. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -0
  51. package/dist/better-auth/plugin/helpers/get-requst-collection.js +14 -0
  52. package/dist/better-auth/plugin/helpers/index.d.ts +2 -1
  53. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
  54. package/dist/better-auth/plugin/helpers/index.js +2 -2
  55. package/dist/better-auth/plugin/{lib → helpers}/prepare-session-data.d.ts +3 -2
  56. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
  57. package/dist/better-auth/plugin/helpers/prepare-session-data.js +42 -0
  58. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +3 -2
  59. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -0
  60. package/dist/better-auth/plugin/helpers/serialize-cookie.js +34 -34
  61. package/dist/better-auth/plugin/index.d.ts +8 -7
  62. package/dist/better-auth/plugin/index.d.ts.map +1 -0
  63. package/dist/better-auth/plugin/index.js +145 -37
  64. package/dist/better-auth/plugin/{collections → lib/build-collections}/accounts/hooks/sync-password-to-user.d.ts +2 -1
  65. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  66. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +47 -0
  67. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +7 -0
  68. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
  69. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +159 -0
  70. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
  71. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
  72. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
  73. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
  74. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
  75. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
  76. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
  77. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
  78. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +107 -0
  79. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +6 -0
  80. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
  81. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +196 -0
  82. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +12 -0
  83. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
  84. package/dist/better-auth/plugin/lib/build-collections/index.js +96 -0
  85. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +6 -0
  86. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
  87. package/dist/better-auth/plugin/lib/build-collections/invitations.js +91 -0
  88. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +6 -0
  89. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
  90. package/dist/better-auth/plugin/lib/build-collections/jwks.js +43 -0
  91. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +6 -0
  92. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
  93. package/dist/better-auth/plugin/lib/build-collections/members.js +71 -0
  94. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +6 -0
  95. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
  96. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +98 -0
  97. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +6 -0
  98. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
  99. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +113 -0
  100. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +6 -0
  101. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
  102. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +67 -0
  103. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +6 -0
  104. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
  105. package/dist/better-auth/plugin/lib/build-collections/organizations.js +59 -0
  106. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +6 -0
  107. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
  108. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +108 -0
  109. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +8 -0
  110. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
  111. package/dist/better-auth/plugin/lib/build-collections/sessions.js +123 -0
  112. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +6 -0
  113. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
  114. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +83 -0
  115. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +6 -0
  116. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
  117. package/dist/better-auth/plugin/lib/build-collections/teams.js +45 -0
  118. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +6 -0
  119. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
  120. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +56 -0
  121. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
  122. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
  123. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
  124. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +3 -0
  125. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +1 -0
  126. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +96 -0
  127. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +13 -0
  128. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
  129. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +67 -0
  130. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +4 -0
  131. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +1 -0
  132. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +115 -0
  133. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
  134. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
  135. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +110 -0
  136. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +3 -0
  137. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +1 -0
  138. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +62 -0
  139. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -0
  140. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
  141. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +42 -0
  142. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
  143. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
  144. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +79 -0
  145. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +4 -0
  146. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -0
  147. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +153 -0
  148. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-login.d.ts +2 -1
  149. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
  150. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +75 -0
  151. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-logout.d.ts +2 -1
  152. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
  153. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +74 -0
  154. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +7 -0
  155. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
  156. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +45 -0
  157. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/before-login.d.ts +2 -1
  158. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
  159. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +18 -0
  160. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
  161. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
  162. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +14 -0
  163. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/sync-account.d.ts +2 -1
  164. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
  165. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +82 -0
  166. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +8 -0
  167. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
  168. package/dist/better-auth/plugin/lib/build-collections/users/index.js +345 -0
  169. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
  170. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
  171. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
  172. package/dist/better-auth/plugin/lib/{payload-access.d.ts → build-collections/utils/payload-access.d.ts} +2 -1
  173. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
  174. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +64 -0
  175. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +7 -0
  176. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
  177. package/dist/better-auth/plugin/lib/build-collections/verifications.js +63 -0
  178. package/dist/better-auth/plugin/lib/{config.d.ts → constants.d.ts} +14 -0
  179. package/dist/better-auth/plugin/lib/constants.d.ts.map +1 -0
  180. package/dist/better-auth/plugin/lib/constants.js +56 -0
  181. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +3 -2
  182. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
  183. package/dist/better-auth/plugin/lib/get-payload-auth.js +2 -2
  184. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +5 -4
  185. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -0
  186. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +26 -43
  187. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +5 -3
  188. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
  189. package/dist/better-auth/plugin/lib/init-better-auth.js +6 -6
  190. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
  191. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
  192. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +8 -0
  193. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -0
  194. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +17 -0
  196. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +10 -0
  197. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
  198. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +118 -0
  199. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -0
  200. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
  201. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +58 -0
  202. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -0
  203. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
  204. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +86 -0
  205. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -0
  206. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
  207. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +17 -0
  208. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -0
  209. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
  210. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +17 -0
  211. package/dist/better-auth/plugin/lib/{ensure-password-set-before-create.d.ts → sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts} +2 -1
  212. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
  213. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
  214. package/dist/better-auth/plugin/lib/{password.d.ts → sanitize-better-auth-options/utils/password.d.ts} +1 -0
  215. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
  216. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
  217. package/dist/better-auth/plugin/lib/{respect-save-to-jwt-fields-middleware.d.ts → sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts} +6 -5
  218. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -0
  219. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +30 -0
  220. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +8 -0
  221. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
  222. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +115 -0
  223. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +31 -0
  224. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
  225. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
  226. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +196 -0
  227. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +131 -0
  228. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +14 -0
  229. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -0
  230. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +111 -0
  231. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +51 -0
  232. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +9 -0
  233. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +1 -0
  234. package/dist/better-auth/plugin/payload/components/form-header/index.js +23 -0
  235. package/dist/better-auth/plugin/payload/components/form-header/index.scss +8 -0
  236. package/dist/better-auth/plugin/payload/components/icons.d.ts +9 -0
  237. package/dist/better-auth/plugin/payload/components/icons.d.ts.map +1 -0
  238. package/dist/better-auth/plugin/payload/components/icons.js +437 -0
  239. package/dist/better-auth/plugin/payload/components/logo.d.ts +4 -1
  240. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -0
  241. package/dist/better-auth/plugin/payload/components/logo.js +22 -34
  242. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +6 -0
  243. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
  244. package/dist/better-auth/plugin/payload/components/logout-button.js +27 -0
  245. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
  246. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
  247. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +8 -0
  248. package/dist/better-auth/plugin/payload/components/styles.css +2 -2
  249. package/dist/better-auth/plugin/payload/components/token-field.d.ts +5 -0
  250. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
  251. package/dist/better-auth/plugin/payload/components/token-field.js +30 -0
  252. package/dist/better-auth/plugin/payload/exports/client.d.ts +7 -3
  253. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
  254. package/dist/better-auth/plugin/payload/exports/client.js +7 -4
  255. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +10 -5
  256. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
  257. package/dist/better-auth/plugin/payload/exports/rsc.js +10 -6
  258. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
  259. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
  260. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +8 -0
  261. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +15 -0
  262. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -0
  263. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +74 -0
  264. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
  265. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
  266. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +23 -0
  267. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +12 -0
  268. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +1 -0
  269. package/dist/better-auth/plugin/payload/views/admin-invite/client.js +92 -0
  270. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +11 -0
  271. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +1 -0
  272. package/dist/better-auth/plugin/payload/views/admin-invite/index.js +84 -0
  273. package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +25 -0
  274. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +14 -0
  275. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +1 -0
  276. package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +95 -0
  277. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +11 -3
  278. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -0
  279. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +124 -92
  280. package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +29 -0
  281. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +8 -0
  282. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
  283. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
  284. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
  285. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
  286. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +69 -0
  287. package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
  288. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +5 -0
  289. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +1 -0
  290. package/dist/better-auth/plugin/payload/views/inactivity/index.js +12 -0
  291. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +9 -0
  292. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +1 -0
  293. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +54 -0
  294. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +1 -0
  295. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +1 -0
  296. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +121 -0
  297. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +31 -0
  298. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +56 -0
  299. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +1 -0
  300. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +3 -0
  301. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +17 -0
  302. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +1 -0
  303. package/dist/better-auth/plugin/payload/views/login/form/index.js +137 -0
  304. package/dist/better-auth/plugin/payload/views/login/form/index.scss +23 -0
  305. package/dist/better-auth/plugin/payload/views/login/index.d.ts +11 -4
  306. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -0
  307. package/dist/better-auth/plugin/payload/views/login/index.js +81 -61
  308. package/dist/better-auth/plugin/payload/views/login/index.scss +10 -0
  309. package/dist/better-auth/plugin/payload/views/logout/client.d.ts +8 -0
  310. package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +1 -0
  311. package/dist/better-auth/plugin/payload/views/logout/client.js +76 -0
  312. package/dist/better-auth/plugin/payload/views/logout/index.d.ts +8 -0
  313. package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +1 -0
  314. package/dist/better-auth/plugin/payload/views/logout/index.js +14 -0
  315. package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
  316. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +7 -0
  317. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
  318. package/dist/better-auth/plugin/payload/views/reset-password/client.js +72 -0
  319. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +5 -0
  320. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
  321. package/dist/better-auth/plugin/payload/views/reset-password/index.js +81 -0
  322. package/dist/better-auth/plugin/payload/views/reset-password/index.scss +9 -0
  323. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +3 -0
  324. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +1 -0
  325. package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +11 -0
  326. package/dist/better-auth/plugin/types.d.ts +171 -33
  327. package/dist/better-auth/plugin/types.d.ts.map +1 -0
  328. package/dist/better-auth/plugin/types.js +1 -1
  329. package/dist/better-auth/types.d.ts +1 -0
  330. package/dist/better-auth/types.d.ts.map +1 -0
  331. package/dist/better-auth/types.js +1 -1
  332. package/dist/clerk/admin-ui.d.ts +4 -0
  333. package/dist/clerk/admin-ui.d.ts.map +1 -0
  334. package/dist/clerk/admin-ui.js +5 -0
  335. package/dist/clerk/index.d.ts +7 -1
  336. package/dist/clerk/index.d.ts.map +1 -0
  337. package/dist/clerk/index.js +7 -2
  338. package/dist/clerk/plugin/auth-strategy.d.ts +11 -0
  339. package/dist/clerk/plugin/auth-strategy.d.ts.map +1 -0
  340. package/dist/clerk/plugin/auth-strategy.js +45 -0
  341. package/dist/clerk/plugin/collections/users/access.d.ts +14 -0
  342. package/dist/clerk/plugin/collections/users/access.d.ts.map +1 -0
  343. package/dist/clerk/plugin/collections/users/access.js +36 -0
  344. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +14 -0
  345. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +1 -0
  346. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +108 -0
  347. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts +4 -0
  348. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts.map +1 -0
  349. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +5 -0
  350. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts +13 -0
  351. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +1 -0
  352. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +33 -0
  353. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts +11 -0
  354. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +1 -0
  355. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +27 -0
  356. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts +13 -0
  357. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +1 -0
  358. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +35 -0
  359. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts +12 -0
  360. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +1 -0
  361. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +86 -0
  362. package/dist/clerk/plugin/collections/users/fields.d.ts +6 -0
  363. package/dist/clerk/plugin/collections/users/fields.d.ts.map +1 -0
  364. package/dist/clerk/plugin/collections/users/fields.js +81 -0
  365. package/dist/clerk/plugin/collections/users/index.d.ts +10 -0
  366. package/dist/clerk/plugin/collections/users/index.d.ts.map +1 -0
  367. package/dist/clerk/plugin/collections/users/index.js +95 -0
  368. package/dist/clerk/plugin/components/after-login-form.d.ts +4 -0
  369. package/dist/clerk/plugin/components/after-login-form.d.ts.map +1 -0
  370. package/dist/clerk/plugin/components/after-login-form.js +65 -0
  371. package/dist/clerk/plugin/components/logout-button.d.ts +2 -0
  372. package/dist/clerk/plugin/components/logout-button.d.ts.map +1 -0
  373. package/dist/clerk/plugin/components/logout-button.js +49 -0
  374. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +6 -0
  375. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -0
  376. package/dist/clerk/plugin/components/sync-clerk-users-button.js +75 -0
  377. package/dist/clerk/plugin.d.ts +6 -0
  378. package/dist/clerk/plugin.d.ts.map +1 -0
  379. package/dist/clerk/plugin.js +63 -0
  380. package/dist/clerk/types.d.ts +63 -0
  381. package/dist/clerk/types.d.ts.map +1 -0
  382. package/dist/clerk/types.js +3 -0
  383. package/dist/clerk/utils/clerk-user.d.ts +21 -0
  384. package/dist/clerk/utils/clerk-user.d.ts.map +1 -0
  385. package/dist/clerk/utils/clerk-user.js +45 -0
  386. package/dist/clerk/utils/index.d.ts +4 -0
  387. package/dist/clerk/utils/index.d.ts.map +1 -0
  388. package/dist/clerk/utils/index.js +5 -0
  389. package/dist/clerk/utils/load-clerk-instance.d.ts +8 -0
  390. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -0
  391. package/dist/clerk/utils/load-clerk-instance.js +11 -0
  392. package/dist/clerk/utils/svix.d.ts +9 -0
  393. package/dist/clerk/utils/svix.d.ts.map +1 -0
  394. package/dist/clerk/utils/svix.js +40 -0
  395. package/dist/clerk/utils/user.d.ts +17 -0
  396. package/dist/clerk/utils/user.d.ts.map +1 -0
  397. package/dist/clerk/utils/user.js +46 -0
  398. package/dist/index.d.ts +5 -0
  399. package/dist/index.d.ts.map +1 -0
  400. package/dist/index.js +5 -5
  401. package/dist/kinde/index.d.ts +1 -0
  402. package/dist/kinde/index.d.ts.map +1 -0
  403. package/dist/kinde/index.js +1 -1
  404. package/package.json +44 -18
  405. package/LICENSE.md +0 -17
  406. package/dist/authjs/index.js.map +0 -1
  407. package/dist/better-auth/adapter/dev/bin/run.d.ts +0 -1
  408. package/dist/better-auth/adapter/dev/bin/run.js +0 -64
  409. package/dist/better-auth/adapter/dev/bin/run.js.map +0 -1
  410. package/dist/better-auth/adapter/dev/bin/schema.d.ts +0 -22
  411. package/dist/better-auth/adapter/dev/bin/schema.js +0 -160
  412. package/dist/better-auth/adapter/dev/bin/schema.js.map +0 -1
  413. package/dist/better-auth/adapter/dev/collections.d.ts +0 -3
  414. package/dist/better-auth/adapter/dev/collections.js +0 -212
  415. package/dist/better-auth/adapter/dev/collections.js.map +0 -1
  416. package/dist/better-auth/adapter/dev/index.d.ts +0 -3
  417. package/dist/better-auth/adapter/dev/index.js +0 -168
  418. package/dist/better-auth/adapter/dev/index.js.map +0 -1
  419. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js.map +0 -1
  420. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js.map +0 -1
  421. package/dist/better-auth/adapter/generate-schema/index.js.map +0 -1
  422. package/dist/better-auth/adapter/generate-schema/utils.js.map +0 -1
  423. package/dist/better-auth/adapter/index.js.map +0 -1
  424. package/dist/better-auth/adapter/test/adapter.test.d.ts +0 -1
  425. package/dist/better-auth/adapter/test/adapter.test.js +0 -181
  426. package/dist/better-auth/adapter/test/adapter.test.js.map +0 -1
  427. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +0 -7
  428. package/dist/better-auth/adapter/test/better-auth-adapter-test.js +0 -425
  429. package/dist/better-auth/adapter/test/better-auth-adapter-test.js.map +0 -1
  430. package/dist/better-auth/adapter/test/schema.test.d.ts +0 -1
  431. package/dist/better-auth/adapter/test/schema.test.js +0 -796
  432. package/dist/better-auth/adapter/test/schema.test.js.map +0 -1
  433. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +0 -23
  434. package/dist/better-auth/adapter/test/test_payload1/schema.js +0 -177
  435. package/dist/better-auth/adapter/test/test_payload1/schema.js.map +0 -1
  436. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +0 -23
  437. package/dist/better-auth/adapter/test/test_payload2/schema.js +0 -167
  438. package/dist/better-auth/adapter/test/test_payload2/schema.js.map +0 -1
  439. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +0 -23
  440. package/dist/better-auth/adapter/test/test_payload3/schema.js +0 -198
  441. package/dist/better-auth/adapter/test/test_payload3/schema.js.map +0 -1
  442. package/dist/better-auth/adapter/transform/index.js.map +0 -1
  443. package/dist/better-auth/adapter/types.js.map +0 -1
  444. package/dist/better-auth/index.js.map +0 -1
  445. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +0 -47
  446. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js.map +0 -1
  447. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +0 -6
  448. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +0 -106
  449. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js.map +0 -1
  450. package/dist/better-auth/plugin/collections/users/hooks/after-login.js +0 -71
  451. package/dist/better-auth/plugin/collections/users/hooks/after-login.js.map +0 -1
  452. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +0 -49
  453. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js.map +0 -1
  454. package/dist/better-auth/plugin/collections/users/hooks/before-login.js +0 -18
  455. package/dist/better-auth/plugin/collections/users/hooks/before-login.js.map +0 -1
  456. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +0 -5
  457. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +0 -33
  458. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js.map +0 -1
  459. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +0 -2
  460. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +0 -14
  461. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js.map +0 -1
  462. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +0 -82
  463. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js.map +0 -1
  464. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js.map +0 -1
  465. package/dist/better-auth/plugin/helpers/get-ip.js.map +0 -1
  466. package/dist/better-auth/plugin/helpers/index.js.map +0 -1
  467. package/dist/better-auth/plugin/helpers/serialize-cookie.js.map +0 -1
  468. package/dist/better-auth/plugin/index.js.map +0 -1
  469. package/dist/better-auth/plugin/lib/auth-strategy.d.ts +0 -8
  470. package/dist/better-auth/plugin/lib/auth-strategy.js +0 -48
  471. package/dist/better-auth/plugin/lib/auth-strategy.js.map +0 -1
  472. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +0 -11
  473. package/dist/better-auth/plugin/lib/build-collection-configs.js +0 -1558
  474. package/dist/better-auth/plugin/lib/build-collection-configs.js.map +0 -1
  475. package/dist/better-auth/plugin/lib/config.js +0 -43
  476. package/dist/better-auth/plugin/lib/config.js.map +0 -1
  477. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +0 -24
  478. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js.map +0 -1
  479. package/dist/better-auth/plugin/lib/get-payload-auth.js.map +0 -1
  480. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js.map +0 -1
  481. package/dist/better-auth/plugin/lib/init-better-auth.js.map +0 -1
  482. package/dist/better-auth/plugin/lib/password.js +0 -63
  483. package/dist/better-auth/plugin/lib/password.js.map +0 -1
  484. package/dist/better-auth/plugin/lib/payload-access.js +0 -64
  485. package/dist/better-auth/plugin/lib/payload-access.js.map +0 -1
  486. package/dist/better-auth/plugin/lib/prepare-session-data.js +0 -42
  487. package/dist/better-auth/plugin/lib/prepare-session-data.js.map +0 -1
  488. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +0 -30
  489. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js.map +0 -1
  490. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +0 -5
  491. package/dist/better-auth/plugin/lib/sanitize-auth-options.js +0 -298
  492. package/dist/better-auth/plugin/lib/sanitize-auth-options.js.map +0 -1
  493. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +0 -5
  494. package/dist/better-auth/plugin/payload/components/admin-buttons.js +0 -222
  495. package/dist/better-auth/plugin/payload/components/admin-buttons.js.map +0 -1
  496. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +0 -1
  497. package/dist/better-auth/plugin/payload/components/login-redirect.js +0 -6
  498. package/dist/better-auth/plugin/payload/components/login-redirect.js.map +0 -1
  499. package/dist/better-auth/plugin/payload/components/logo.js.map +0 -1
  500. package/dist/better-auth/plugin/payload/components/logout.d.ts +0 -1
  501. package/dist/better-auth/plugin/payload/components/logout.js +0 -61
  502. package/dist/better-auth/plugin/payload/components/logout.js.map +0 -1
  503. package/dist/better-auth/plugin/payload/components/sign-in.d.ts +0 -3
  504. package/dist/better-auth/plugin/payload/components/sign-in.js +0 -384
  505. package/dist/better-auth/plugin/payload/components/sign-in.js.map +0 -1
  506. package/dist/better-auth/plugin/payload/components/sign-up.d.ts +0 -6
  507. package/dist/better-auth/plugin/payload/components/sign-up.js +0 -502
  508. package/dist/better-auth/plugin/payload/components/sign-up.js.map +0 -1
  509. package/dist/better-auth/plugin/payload/components/ui/button.d.ts +0 -10
  510. package/dist/better-auth/plugin/payload/components/ui/button.js +0 -42
  511. package/dist/better-auth/plugin/payload/components/ui/button.js.map +0 -1
  512. package/dist/better-auth/plugin/payload/components/ui/card.d.ts +0 -9
  513. package/dist/better-auth/plugin/payload/components/ui/card.js +0 -55
  514. package/dist/better-auth/plugin/payload/components/ui/card.js.map +0 -1
  515. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +0 -4
  516. package/dist/better-auth/plugin/payload/components/ui/checkbox.js +0 -23
  517. package/dist/better-auth/plugin/payload/components/ui/checkbox.js.map +0 -1
  518. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +0 -2
  519. package/dist/better-auth/plugin/payload/components/ui/cn.js +0 -7
  520. package/dist/better-auth/plugin/payload/components/ui/cn.js.map +0 -1
  521. package/dist/better-auth/plugin/payload/components/ui/input.d.ts +0 -3
  522. package/dist/better-auth/plugin/payload/components/ui/input.js +0 -14
  523. package/dist/better-auth/plugin/payload/components/ui/input.js.map +0 -1
  524. package/dist/better-auth/plugin/payload/components/ui/label.d.ts +0 -4
  525. package/dist/better-auth/plugin/payload/components/ui/label.js +0 -15
  526. package/dist/better-auth/plugin/payload/components/ui/label.js.map +0 -1
  527. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +0 -2
  528. package/dist/better-auth/plugin/payload/components/ui/password-input.js +0 -55
  529. package/dist/better-auth/plugin/payload/components/ui/password-input.js.map +0 -1
  530. package/dist/better-auth/plugin/payload/exports/client.js.map +0 -1
  531. package/dist/better-auth/plugin/payload/exports/rsc.js.map +0 -1
  532. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js.map +0 -1
  533. package/dist/better-auth/plugin/payload/views/login/index.js.map +0 -1
  534. package/dist/better-auth/plugin/types.js.map +0 -1
  535. package/dist/better-auth/types.js.map +0 -1
  536. package/dist/clerk/index.js.map +0 -1
  537. package/dist/index.js.map +0 -1
  538. package/dist/kinde/index.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { BetterAuthError } from 'better-auth';
2
- import { generateSchema } from './generate-schema';
3
- import { createTransform } from './transform';
4
- export const BETTER_AUTH_CONTEXT_KEY = 'payload-db-adapter';
1
+ import { BetterAuthError } from "better-auth";
2
+ import { generateSchema } from "./generate-schema";
3
+ import { createTransform } from "./transform";
4
+ export const BETTER_AUTH_CONTEXT_KEY = "payload-db-adapter";
5
5
  const PAYLOAD_QUERY_DEPTH = 2;
6
- const payloadAdapter = (payloadClient, config = {})=>{
6
+ const payloadAdapter = (payloadClient, config)=>{
7
7
  function debugLog(message) {
8
8
  if (config.enableDebugLogs) {
9
- console.log('[payload-db-adapter]', ...message);
9
+ console.log("[payload-db-adapter]", ...message);
10
10
  }
11
11
  }
12
12
  function errorLog(message) {
@@ -21,7 +21,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
21
21
  }
22
22
  });
23
23
  async function resolvePayloadClient() {
24
- const payload = typeof payloadClient === 'function' ? await payloadClient() : await payloadClient;
24
+ const payload = typeof payloadClient === "function" ? await payloadClient() : await payloadClient;
25
25
  if (!payload.config?.custom?.hasBetterAuthPlugin) {
26
26
  throw new BetterAuthError(`Payload is not configured with the better-auth plugin. Please add the plugin to your payload config.`);
27
27
  }
@@ -30,14 +30,19 @@ const payloadAdapter = (payloadClient, config = {})=>{
30
30
  return (options)=>{
31
31
  const { transformInput, transformOutput, convertWhereClause, convertSelect, convertSort, getModelName, singleIdQuery, multipleIdsQuery } = createTransform(options, config.enableDebugLogs ?? false);
32
32
  return {
33
- id: 'payload',
33
+ id: "payload",
34
34
  async create (data) {
35
35
  const start = Date.now();
36
36
  const { model, data: values, select } = data;
37
37
  const collectionSlug = getModelName(model);
38
- const transformed = transformInput(values, model, 'create');
38
+ const transformed = transformInput({
39
+ data: values,
40
+ model,
41
+ action: "create",
42
+ idType: config.idType
43
+ });
39
44
  debugLog([
40
- 'create',
45
+ "create",
41
46
  {
42
47
  collectionSlug,
43
48
  transformed,
@@ -55,13 +60,16 @@ const payloadAdapter = (payloadClient, config = {})=>{
55
60
  select: convertSelect(model, select),
56
61
  context: createAdapterContext({
57
62
  model,
58
- operation: 'create'
63
+ operation: "create"
59
64
  }),
60
65
  depth: PAYLOAD_QUERY_DEPTH
61
66
  });
62
- const transformedResult = transformOutput(result);
67
+ const transformedResult = transformOutput({
68
+ doc: result,
69
+ model
70
+ });
63
71
  debugLog([
64
- 'create result',
72
+ "create result",
65
73
  {
66
74
  collectionSlug,
67
75
  transformedResult,
@@ -71,7 +79,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
71
79
  return transformedResult;
72
80
  } catch (error) {
73
81
  errorLog([
74
- 'Error in creating:',
82
+ "Error in creating:",
75
83
  model,
76
84
  error
77
85
  ]);
@@ -82,9 +90,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
82
90
  const start = Date.now();
83
91
  const { model, where, select } = data;
84
92
  const collectionSlug = getModelName(model);
85
- const payloadWhere = convertWhereClause(model, where);
93
+ const payloadWhere = convertWhereClause({
94
+ idType: config.idType,
95
+ model,
96
+ where
97
+ });
86
98
  debugLog([
87
- 'findOne',
99
+ "findOne",
88
100
  {
89
101
  collectionSlug
90
102
  }
@@ -98,7 +110,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
98
110
  let result = null;
99
111
  if (id) {
100
112
  debugLog([
101
- 'findOneByID',
113
+ "findOneByID",
102
114
  {
103
115
  collectionSlug,
104
116
  id
@@ -110,14 +122,14 @@ const payloadAdapter = (payloadClient, config = {})=>{
110
122
  select: convertSelect(model, select),
111
123
  context: createAdapterContext({
112
124
  model,
113
- operation: 'findOneByID'
125
+ operation: "findOneByID"
114
126
  }),
115
127
  depth: PAYLOAD_QUERY_DEPTH
116
128
  });
117
129
  result = doc;
118
130
  } else {
119
131
  debugLog([
120
- 'findOneByWhere',
132
+ "findOneByWhere",
121
133
  {
122
134
  collectionSlug,
123
135
  payloadWhere
@@ -129,16 +141,19 @@ const payloadAdapter = (payloadClient, config = {})=>{
129
141
  select: convertSelect(model, select),
130
142
  context: createAdapterContext({
131
143
  model,
132
- operation: 'findOneByWhere'
144
+ operation: "findOneByWhere"
133
145
  }),
134
146
  depth: PAYLOAD_QUERY_DEPTH,
135
147
  limit: 1
136
148
  });
137
149
  result = docs.docs[0];
138
150
  }
139
- const transformedResult = result ? transformOutput(result) : null;
151
+ const transformedResult = transformOutput({
152
+ doc: result,
153
+ model
154
+ });
140
155
  debugLog([
141
- 'findOne result',
156
+ "findOne result",
142
157
  {
143
158
  collectionSlug,
144
159
  transformedResult,
@@ -148,7 +163,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
148
163
  return transformedResult;
149
164
  } catch (error) {
150
165
  errorLog([
151
- 'Error in findOne: ',
166
+ "Error in findOne: ",
152
167
  error
153
168
  ]);
154
169
  return null;
@@ -158,9 +173,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
158
173
  const start = Date.now();
159
174
  const { model, where, sortBy, limit, offset } = data;
160
175
  const collectionSlug = getModelName(model);
161
- const payloadWhere = convertWhereClause(model, where);
176
+ const payloadWhere = convertWhereClause({
177
+ idType: config.idType,
178
+ model,
179
+ where
180
+ });
162
181
  debugLog([
163
- 'findMany',
182
+ "findMany",
164
183
  {
165
184
  collectionSlug,
166
185
  sortBy,
@@ -178,7 +197,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
178
197
  const singleId = where && singleIdQuery(payloadWhere);
179
198
  if (multipleIds && multipleIds.length > 0) {
180
199
  debugLog([
181
- 'findManyByMultipleIDs',
200
+ "findManyByMultipleIDs",
182
201
  {
183
202
  collectionSlug,
184
203
  ids: multipleIds
@@ -195,7 +214,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
195
214
  depth: PAYLOAD_QUERY_DEPTH,
196
215
  context: createAdapterContext({
197
216
  model,
198
- operation: 'findManyByMultipleIDs'
217
+ operation: "findManyByMultipleIDs"
199
218
  })
200
219
  });
201
220
  res.docs.push(doc);
@@ -207,7 +226,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
207
226
  };
208
227
  } else if (singleId) {
209
228
  debugLog([
210
- 'findManyBySingleID',
229
+ "findManyBySingleID",
211
230
  {
212
231
  collectionSlug,
213
232
  id: singleId
@@ -219,7 +238,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
219
238
  depth: PAYLOAD_QUERY_DEPTH,
220
239
  context: createAdapterContext({
221
240
  model,
222
- operation: 'findManyBySingleID'
241
+ operation: "findManyBySingleID"
223
242
  })
224
243
  });
225
244
  result = {
@@ -230,7 +249,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
230
249
  };
231
250
  } else {
232
251
  debugLog([
233
- 'findManyByWhere',
252
+ "findManyByWhere",
234
253
  {
235
254
  collectionSlug,
236
255
  payloadWhere
@@ -245,7 +264,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
245
264
  depth: PAYLOAD_QUERY_DEPTH,
246
265
  context: createAdapterContext({
247
266
  model,
248
- operation: 'findManyByWhere'
267
+ operation: "findManyByWhere"
249
268
  })
250
269
  });
251
270
  result = {
@@ -253,9 +272,12 @@ const payloadAdapter = (payloadClient, config = {})=>{
253
272
  totalDocs: res.totalDocs
254
273
  };
255
274
  }
256
- const transformedResult = result?.docs.map((doc)=>transformOutput(doc)) ?? null;
275
+ const transformedResult = result?.docs.map((doc)=>transformOutput({
276
+ doc,
277
+ model
278
+ })) ?? null;
257
279
  debugLog([
258
- 'findMany result',
280
+ "findMany result",
259
281
  {
260
282
  collectionSlug,
261
283
  transformedResult,
@@ -265,7 +287,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
265
287
  return transformedResult;
266
288
  } catch (error) {
267
289
  errorLog([
268
- 'Error in findMany: ',
290
+ "Error in findMany: ",
269
291
  error
270
292
  ]);
271
293
  return [];
@@ -275,9 +297,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
275
297
  const start = Date.now();
276
298
  const { model, where, update } = data;
277
299
  const collectionSlug = getModelName(model);
278
- const payloadWhere = convertWhereClause(model, where);
300
+ const payloadWhere = convertWhereClause({
301
+ idType: config.idType,
302
+ model,
303
+ where
304
+ });
279
305
  debugLog([
280
- 'update',
306
+ "update",
281
307
  {
282
308
  collectionSlug,
283
309
  update
@@ -292,7 +318,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
292
318
  const id = singleIdQuery(payloadWhere);
293
319
  if (id) {
294
320
  debugLog([
295
- 'updateByID',
321
+ "updateByID",
296
322
  {
297
323
  collectionSlug,
298
324
  id
@@ -305,13 +331,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
305
331
  depth: PAYLOAD_QUERY_DEPTH,
306
332
  context: createAdapterContext({
307
333
  model,
308
- operation: 'updateByID'
334
+ operation: "updateByID"
309
335
  })
310
336
  });
311
337
  result = doc;
312
338
  } else {
313
339
  debugLog([
314
- 'updateByWhere',
340
+ "updateByWhere",
315
341
  {
316
342
  collectionSlug,
317
343
  payloadWhere
@@ -324,14 +350,17 @@ const payloadAdapter = (payloadClient, config = {})=>{
324
350
  depth: PAYLOAD_QUERY_DEPTH,
325
351
  context: createAdapterContext({
326
352
  model,
327
- operation: 'updateByWhere'
353
+ operation: "updateByWhere"
328
354
  })
329
355
  });
330
356
  result = doc.docs[0];
331
357
  }
332
- const transformedResult = transformOutput(result) ?? null;
358
+ const transformedResult = transformOutput({
359
+ doc: result,
360
+ model
361
+ });
333
362
  debugLog([
334
- 'update result',
363
+ "update result",
335
364
  {
336
365
  collectionSlug,
337
366
  transformedResult,
@@ -341,7 +370,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
341
370
  return transformedResult;
342
371
  } catch (error) {
343
372
  errorLog([
344
- 'Error in update: ',
373
+ "Error in update: ",
345
374
  error
346
375
  ]);
347
376
  return null;
@@ -351,9 +380,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
351
380
  const start = Date.now();
352
381
  const { model, where, update } = data;
353
382
  const collectionSlug = getModelName(model);
354
- const payloadWhere = convertWhereClause(model, where);
383
+ const payloadWhere = convertWhereClause({
384
+ idType: config.idType,
385
+ model,
386
+ where
387
+ });
355
388
  debugLog([
356
- 'updateMany',
389
+ "updateMany",
357
390
  {
358
391
  collectionSlug,
359
392
  payloadWhere,
@@ -372,11 +405,11 @@ const payloadAdapter = (payloadClient, config = {})=>{
372
405
  depth: PAYLOAD_QUERY_DEPTH,
373
406
  context: createAdapterContext({
374
407
  model,
375
- operation: 'updateMany'
408
+ operation: "updateMany"
376
409
  })
377
410
  });
378
411
  debugLog([
379
- 'updateMany result',
412
+ "updateMany result",
380
413
  {
381
414
  collectionSlug,
382
415
  result: updateResult,
@@ -386,7 +419,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
386
419
  return updateResult?.length || 0;
387
420
  } catch (error) {
388
421
  errorLog([
389
- 'Error in updateMany: ',
422
+ "Error in updateMany: ",
390
423
  error
391
424
  ]);
392
425
  return 0;
@@ -396,9 +429,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
396
429
  const start = Date.now();
397
430
  const { model, where } = data;
398
431
  const collectionSlug = getModelName(model);
399
- const payloadWhere = convertWhereClause(model, where);
432
+ const payloadWhere = convertWhereClause({
433
+ idType: config.idType,
434
+ model,
435
+ where
436
+ });
400
437
  debugLog([
401
- 'delete',
438
+ "delete",
402
439
  {
403
440
  collectionSlug
404
441
  }
@@ -412,7 +449,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
412
449
  const id = singleIdQuery(payloadWhere);
413
450
  if (id) {
414
451
  debugLog([
415
- 'deleteByID',
452
+ "deleteByID",
416
453
  {
417
454
  collectionSlug,
418
455
  id
@@ -424,7 +461,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
424
461
  depth: PAYLOAD_QUERY_DEPTH,
425
462
  context: createAdapterContext({
426
463
  model,
427
- operation: 'deleteByID'
464
+ operation: "deleteByID"
428
465
  })
429
466
  });
430
467
  deleteResult = {
@@ -433,7 +470,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
433
470
  };
434
471
  } else {
435
472
  debugLog([
436
- 'deleteByWhere',
473
+ "deleteByWhere",
437
474
  {
438
475
  collectionSlug,
439
476
  payloadWhere
@@ -445,7 +482,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
445
482
  depth: PAYLOAD_QUERY_DEPTH,
446
483
  context: createAdapterContext({
447
484
  model,
448
- operation: 'deleteByWhere'
485
+ operation: "deleteByWhere"
449
486
  })
450
487
  });
451
488
  deleteResult = {
@@ -454,7 +491,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
454
491
  };
455
492
  }
456
493
  debugLog([
457
- 'delete result',
494
+ "delete result",
458
495
  {
459
496
  collectionSlug,
460
497
  result: deleteResult,
@@ -464,7 +501,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
464
501
  return;
465
502
  } catch (error) {
466
503
  errorLog([
467
- 'Error in delete: ',
504
+ "Error in delete: ",
468
505
  error
469
506
  ]);
470
507
  return;
@@ -474,9 +511,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
474
511
  const start = Date.now();
475
512
  const { model, where } = data;
476
513
  const collectionSlug = getModelName(model);
477
- const payloadWhere = convertWhereClause(model, where);
514
+ const payloadWhere = convertWhereClause({
515
+ idType: config.idType,
516
+ model,
517
+ where
518
+ });
478
519
  debugLog([
479
- 'deleteMany',
520
+ "deleteMany",
480
521
  {
481
522
  collectionSlug,
482
523
  payloadWhere
@@ -493,11 +534,11 @@ const payloadAdapter = (payloadClient, config = {})=>{
493
534
  depth: PAYLOAD_QUERY_DEPTH,
494
535
  context: createAdapterContext({
495
536
  model,
496
- operation: 'deleteMany'
537
+ operation: "deleteMany"
497
538
  })
498
539
  });
499
540
  debugLog([
500
- 'deleteMany result',
541
+ "deleteMany result",
501
542
  {
502
543
  collectionSlug,
503
544
  result: deleteResult,
@@ -507,7 +548,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
507
548
  return deleteResult.docs.length;
508
549
  } catch (error) {
509
550
  errorLog([
510
- 'Error in deleteMany: ',
551
+ "Error in deleteMany: ",
511
552
  error
512
553
  ]);
513
554
  return 0;
@@ -517,9 +558,13 @@ const payloadAdapter = (payloadClient, config = {})=>{
517
558
  const start = Date.now();
518
559
  const { model, where } = data;
519
560
  const collectionSlug = getModelName(model);
520
- const payloadWhere = convertWhereClause(model, where);
561
+ const payloadWhere = convertWhereClause({
562
+ idType: config.idType,
563
+ model,
564
+ where
565
+ });
521
566
  debugLog([
522
- 'count',
567
+ "count",
523
568
  {
524
569
  collectionSlug,
525
570
  payloadWhere
@@ -536,11 +581,11 @@ const payloadAdapter = (payloadClient, config = {})=>{
536
581
  depth: PAYLOAD_QUERY_DEPTH,
537
582
  context: createAdapterContext({
538
583
  model,
539
- operation: 'count'
584
+ operation: "count"
540
585
  })
541
586
  });
542
587
  debugLog([
543
- 'count result',
588
+ "count result",
544
589
  {
545
590
  collectionSlug,
546
591
  result: {
@@ -552,7 +597,7 @@ const payloadAdapter = (payloadClient, config = {})=>{
552
597
  return result.totalDocs;
553
598
  } catch (error) {
554
599
  errorLog([
555
- 'Error in count: ',
600
+ "Error in count: ",
556
601
  error
557
602
  ]);
558
603
  return 0;
@@ -562,17 +607,18 @@ const payloadAdapter = (payloadClient, config = {})=>{
562
607
  const schemaCode = await generateSchema(options);
563
608
  return {
564
609
  code: schemaCode,
565
- path: file || 'schema.ts',
610
+ path: file || "schema.ts",
566
611
  append: false,
567
612
  overwrite: true
568
613
  };
569
614
  },
570
615
  options: {
571
- enableDebugLogs: config.enableDebugLogs
616
+ enableDebugLogs: config.enableDebugLogs,
617
+ idType: config.idType
572
618
  }
573
619
  };
574
620
  };
575
621
  };
576
622
  export { generateSchema, payloadAdapter };
577
623
 
578
- //# sourceMappingURL=index.js.map
624
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJldHRlckF1dGhFcnJvciB9IGZyb20gXCJiZXR0ZXItYXV0aFwiO1xuaW1wb3J0IHR5cGUgeyBBZGFwdGVyLCBCZXR0ZXJBdXRoT3B0aW9ucywgV2hlcmUgfSBmcm9tIFwiYmV0dGVyLWF1dGhcIjtcbmltcG9ydCB7IGdlbmVyYXRlU2NoZW1hIH0gZnJvbSBcIi4vZ2VuZXJhdGUtc2NoZW1hXCI7XG5pbXBvcnQgeyBjcmVhdGVUcmFuc2Zvcm0gfSBmcm9tIFwiLi90cmFuc2Zvcm1cIjtcbmltcG9ydCB0eXBlIHsgUGF5bG9hZEFkYXB0ZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQkVUVEVSX0FVVEhfQ09OVEVYVF9LRVkgPSBcInBheWxvYWQtZGItYWRhcHRlclwiO1xuY29uc3QgUEFZTE9BRF9RVUVSWV9ERVBUSCA9IDI7XG5cbmNvbnN0IHBheWxvYWRBZGFwdGVyOiBQYXlsb2FkQWRhcHRlciA9IChwYXlsb2FkQ2xpZW50LCBjb25maWcpID0+IHtcbiAgZnVuY3Rpb24gZGVidWdMb2cobWVzc2FnZTogYW55W10pIHtcbiAgICBpZiAoY29uZmlnLmVuYWJsZURlYnVnTG9ncykge1xuICAgICAgY29uc29sZS5sb2coXCJbcGF5bG9hZC1kYi1hZGFwdGVyXVwiLCAuLi5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBlcnJvckxvZyhtZXNzYWdlOiBhbnlbXSkge1xuICAgIGNvbnNvbGUuZXJyb3IoYFtwYXlsb2FkLWRiLWFkYXB0ZXJdYCwgLi4ubWVzc2FnZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjb2xsZWN0aW9uU2x1Z0Vycm9yKG1vZGVsOiBzdHJpbmcpIHtcbiAgICB0aHJvdyBuZXcgQmV0dGVyQXV0aEVycm9yKFxuICAgICAgYENvbGxlY3Rpb24gJHttb2RlbH0gZG9lcyBub3QgZXhpc3QuIFBsZWFzZSBjaGVjayB5b3VyIHBheWxvYWQgY29sbGVjdGlvbiBzbHVncyBtYXRjaCB0aGUgYmV0dGVyIGF1dGggc2NoZW1hYFxuICAgICk7XG4gIH1cblxuICBjb25zdCBjcmVhdGVBZGFwdGVyQ29udGV4dCA9IChkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiAoe1xuICAgIFtCRVRURVJfQVVUSF9DT05URVhUX0tFWV06IHsgLi4uZGF0YSB9LFxuICB9KTtcblxuICBhc3luYyBmdW5jdGlvbiByZXNvbHZlUGF5bG9hZENsaWVudCgpIHtcbiAgICBjb25zdCBwYXlsb2FkID1cbiAgICAgIHR5cGVvZiBwYXlsb2FkQ2xpZW50ID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgPyBhd2FpdCBwYXlsb2FkQ2xpZW50KClcbiAgICAgICAgOiBhd2FpdCBwYXlsb2FkQ2xpZW50O1xuICAgIGlmICghcGF5bG9hZC5jb25maWc/LmN1c3RvbT8uaGFzQmV0dGVyQXV0aFBsdWdpbikge1xuICAgICAgdGhyb3cgbmV3IEJldHRlckF1dGhFcnJvcihcbiAgICAgICAgYFBheWxvYWQgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCB0aGUgYmV0dGVyLWF1dGggcGx1Z2luLiBQbGVhc2UgYWRkIHRoZSBwbHVnaW4gdG8geW91ciBwYXlsb2FkIGNvbmZpZy5gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfVxuXG4gIHJldHVybiAob3B0aW9uczogQmV0dGVyQXV0aE9wdGlvbnMpOiBBZGFwdGVyID0+IHtcbiAgICBjb25zdCB7XG4gICAgICB0cmFuc2Zvcm1JbnB1dCxcbiAgICAgIHRyYW5zZm9ybU91dHB1dCxcbiAgICAgIGNvbnZlcnRXaGVyZUNsYXVzZSxcbiAgICAgIGNvbnZlcnRTZWxlY3QsXG4gICAgICBjb252ZXJ0U29ydCxcbiAgICAgIGdldE1vZGVsTmFtZSxcbiAgICAgIHNpbmdsZUlkUXVlcnksXG4gICAgICBtdWx0aXBsZUlkc1F1ZXJ5LFxuICAgIH0gPSBjcmVhdGVUcmFuc2Zvcm0ob3B0aW9ucywgY29uZmlnLmVuYWJsZURlYnVnTG9ncyA/PyBmYWxzZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IFwicGF5bG9hZFwiLFxuICAgICAgYXN5bmMgY3JlYXRlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBSID0gVD4oZGF0YToge1xuICAgICAgICBtb2RlbDogc3RyaW5nO1xuICAgICAgICBkYXRhOiBUO1xuICAgICAgICBzZWxlY3Q/OiBzdHJpbmdbXTtcbiAgICAgIH0pOiBQcm9taXNlPFI+IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB7IG1vZGVsLCBkYXRhOiB2YWx1ZXMsIHNlbGVjdCB9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvblNsdWcgPSBnZXRNb2RlbE5hbWUobW9kZWwpO1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybUlucHV0KHtcbiAgICAgICAgICBkYXRhOiB2YWx1ZXMsXG4gICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgYWN0aW9uOiBcImNyZWF0ZVwiLFxuICAgICAgICAgIGlkVHlwZTogY29uZmlnLmlkVHlwZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGRlYnVnTG9nKFtcImNyZWF0ZVwiLCB7IGNvbGxlY3Rpb25TbHVnLCB0cmFuc2Zvcm1lZCwgc2VsZWN0IH1dKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgcmVzb2x2ZVBheWxvYWRDbGllbnQoKTtcbiAgICAgICAgICBpZiAoIWNvbGxlY3Rpb25TbHVnIHx8ICEoY29sbGVjdGlvblNsdWcgaW4gcGF5bG9hZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnRXJyb3IobW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgIGRhdGE6IHRyYW5zZm9ybWVkLFxuICAgICAgICAgICAgc2VsZWN0OiBjb252ZXJ0U2VsZWN0KG1vZGVsLCBzZWxlY3QpLFxuICAgICAgICAgICAgY29udGV4dDogY3JlYXRlQWRhcHRlckNvbnRleHQoeyBtb2RlbCwgb3BlcmF0aW9uOiBcImNyZWF0ZVwiIH0pLFxuICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRSZXN1bHQgPSB0cmFuc2Zvcm1PdXRwdXQoe1xuICAgICAgICAgICAgZG9jOiByZXN1bHQsXG4gICAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkZWJ1Z0xvZyhbXG4gICAgICAgICAgICBcImNyZWF0ZSByZXN1bHRcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybWVkUmVzdWx0LFxuICAgICAgICAgICAgICBkdXJhdGlvbjogYCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmVzdWx0IGFzIFI7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgZXJyb3JMb2coW1wiRXJyb3IgaW4gY3JlYXRpbmc6XCIsIG1vZGVsLCBlcnJvcl0pO1xuICAgICAgICAgIHJldHVybiBudWxsIGFzIFI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhc3luYyBmaW5kT25lPFQ+KGRhdGE6IHtcbiAgICAgICAgbW9kZWw6IHN0cmluZztcbiAgICAgICAgd2hlcmU6IFdoZXJlW107XG4gICAgICAgIHNlbGVjdD86IHN0cmluZ1tdO1xuICAgICAgfSk6IFByb21pc2U8VCB8IG51bGw+IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB7IG1vZGVsLCB3aGVyZSwgc2VsZWN0IH0gPSBkYXRhO1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uU2x1ZyA9IGdldE1vZGVsTmFtZShtb2RlbCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWRXaGVyZSA9IGNvbnZlcnRXaGVyZUNsYXVzZSh7XG4gICAgICAgICAgaWRUeXBlOiBjb25maWcuaWRUeXBlLFxuICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgIHdoZXJlLFxuICAgICAgICB9KTtcbiAgICAgICAgZGVidWdMb2coW1wiZmluZE9uZVwiLCB7IGNvbGxlY3Rpb25TbHVnIH1dKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgcmVzb2x2ZVBheWxvYWRDbGllbnQoKTtcbiAgICAgICAgICBpZiAoIWNvbGxlY3Rpb25TbHVnIHx8ICEoY29sbGVjdGlvblNsdWcgaW4gcGF5bG9hZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnRXJyb3IobW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBpZCA9IHNpbmdsZUlkUXVlcnkocGF5bG9hZFdoZXJlKTtcbiAgICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICBkZWJ1Z0xvZyhbXCJmaW5kT25lQnlJRFwiLCB7IGNvbGxlY3Rpb25TbHVnLCBpZCB9XSk7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSBhd2FpdCBwYXlsb2FkLmZpbmRCeUlEKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICBzZWxlY3Q6IGNvbnZlcnRTZWxlY3QobW9kZWwsIHNlbGVjdCksXG4gICAgICAgICAgICAgIGNvbnRleHQ6IGNyZWF0ZUFkYXB0ZXJDb250ZXh0KHtcbiAgICAgICAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IFwiZmluZE9uZUJ5SURcIixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGRlcHRoOiBQQVlMT0FEX1FVRVJZX0RFUFRILFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXN1bHQgPSBkb2M7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlYnVnTG9nKFtcImZpbmRPbmVCeVdoZXJlXCIsIHsgY29sbGVjdGlvblNsdWcsIHBheWxvYWRXaGVyZSB9XSk7XG4gICAgICAgICAgICBjb25zdCBkb2NzID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIHdoZXJlOiBwYXlsb2FkV2hlcmUsXG4gICAgICAgICAgICAgIHNlbGVjdDogY29udmVydFNlbGVjdChtb2RlbCwgc2VsZWN0KSxcbiAgICAgICAgICAgICAgY29udGV4dDogY3JlYXRlQWRhcHRlckNvbnRleHQoe1xuICAgICAgICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogXCJmaW5kT25lQnlXaGVyZVwiLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXN1bHQgPSBkb2NzLmRvY3NbMF07XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkUmVzdWx0ID0gdHJhbnNmb3JtT3V0cHV0PHR5cGVvZiByZXN1bHQgfCBudWxsPih7XG4gICAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlYnVnTG9nKFtcbiAgICAgICAgICAgIFwiZmluZE9uZSByZXN1bHRcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybWVkUmVzdWx0LFxuICAgICAgICAgICAgICBkdXJhdGlvbjogYCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmVzdWx0IGFzIFQ7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgZXJyb3JMb2coW1wiRXJyb3IgaW4gZmluZE9uZTogXCIsIGVycm9yXSk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhc3luYyBmaW5kTWFueTxUPihkYXRhOiB7XG4gICAgICAgIG1vZGVsOiBzdHJpbmc7XG4gICAgICAgIHdoZXJlPzogV2hlcmVbXTtcbiAgICAgICAgbGltaXQ/OiBudW1iZXI7XG4gICAgICAgIHNvcnRCeT86IHtcbiAgICAgICAgICBmaWVsZDogc3RyaW5nO1xuICAgICAgICAgIGRpcmVjdGlvbjogXCJhc2NcIiB8IFwiZGVzY1wiO1xuICAgICAgICB9O1xuICAgICAgICBvZmZzZXQ/OiBudW1iZXI7XG4gICAgICB9KTogUHJvbWlzZTxUW10+IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB7IG1vZGVsLCB3aGVyZSwgc29ydEJ5LCBsaW1pdCwgb2Zmc2V0IH0gPSBkYXRhO1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uU2x1ZyA9IGdldE1vZGVsTmFtZShtb2RlbCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWRXaGVyZSA9IGNvbnZlcnRXaGVyZUNsYXVzZSh7XG4gICAgICAgICAgaWRUeXBlOiBjb25maWcuaWRUeXBlLFxuICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgIHdoZXJlLFxuICAgICAgICB9KTtcbiAgICAgICAgZGVidWdMb2coW1wiZmluZE1hbnlcIiwgeyBjb2xsZWN0aW9uU2x1Zywgc29ydEJ5LCBsaW1pdCwgb2Zmc2V0IH1dKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgcmVzb2x2ZVBheWxvYWRDbGllbnQoKTtcbiAgICAgICAgICBpZiAoIWNvbGxlY3Rpb25TbHVnIHx8ICEoY29sbGVjdGlvblNsdWcgaW4gcGF5bG9hZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnRXJyb3IobW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgcmVzdWx0OiB7XG4gICAgICAgICAgICBkb2NzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W107XG4gICAgICAgICAgICB0b3RhbERvY3M6IG51bWJlcjtcbiAgICAgICAgICB9IHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgY29uc3QgbXVsdGlwbGVJZHMgPSB3aGVyZSAmJiBtdWx0aXBsZUlkc1F1ZXJ5KHBheWxvYWRXaGVyZSk7XG4gICAgICAgICAgY29uc3Qgc2luZ2xlSWQgPSB3aGVyZSAmJiBzaW5nbGVJZFF1ZXJ5KHBheWxvYWRXaGVyZSk7XG4gICAgICAgICAgaWYgKG11bHRpcGxlSWRzICYmIG11bHRpcGxlSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGRlYnVnTG9nKFtcbiAgICAgICAgICAgICAgXCJmaW5kTWFueUJ5TXVsdGlwbGVJRHNcIixcbiAgICAgICAgICAgICAgeyBjb2xsZWN0aW9uU2x1ZywgaWRzOiBtdWx0aXBsZUlkcyB9LFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICBjb25zdCByZXMgPSB7XG4gICAgICAgICAgICAgIGRvY3M6IFtdIGFzIFJlY29yZDxzdHJpbmcsIGFueT5bXSxcbiAgICAgICAgICAgICAgdG90YWxEb2NzOiAwLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaWQgb2YgbXVsdGlwbGVJZHMpIHtcbiAgICAgICAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgICAgICAgY29udGV4dDogY3JlYXRlQWRhcHRlckNvbnRleHQoe1xuICAgICAgICAgICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb246IFwiZmluZE1hbnlCeU11bHRpcGxlSURzXCIsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXMuZG9jcy5wdXNoKGRvYyk7XG4gICAgICAgICAgICAgIHJlcy50b3RhbERvY3MrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdCA9IHsgZG9jczogcmVzLmRvY3MsIHRvdGFsRG9jczogcmVzLnRvdGFsRG9jcyB9O1xuICAgICAgICAgIH0gZWxzZSBpZiAoc2luZ2xlSWQpIHtcbiAgICAgICAgICAgIGRlYnVnTG9nKFtcImZpbmRNYW55QnlTaW5nbGVJRFwiLCB7IGNvbGxlY3Rpb25TbHVnLCBpZDogc2luZ2xlSWQgfV0pO1xuICAgICAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgICAgICBpZDogc2luZ2xlSWQsXG4gICAgICAgICAgICAgIGRlcHRoOiBQQVlMT0FEX1FVRVJZX0RFUFRILFxuICAgICAgICAgICAgICBjb250ZXh0OiBjcmVhdGVBZGFwdGVyQ29udGV4dCh7XG4gICAgICAgICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uOiBcImZpbmRNYW55QnlTaW5nbGVJRFwiLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzdWx0ID0geyBkb2NzOiBkb2MgPyBbZG9jXSA6IFtdLCB0b3RhbERvY3M6IGRvYyA/IDEgOiAwIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlYnVnTG9nKFtcImZpbmRNYW55QnlXaGVyZVwiLCB7IGNvbGxlY3Rpb25TbHVnLCBwYXlsb2FkV2hlcmUgfV0pO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIHdoZXJlOiBwYXlsb2FkV2hlcmUsXG4gICAgICAgICAgICAgIGxpbWl0OiBsaW1pdCxcbiAgICAgICAgICAgICAgcGFnZTogb2Zmc2V0ID8gTWF0aC5mbG9vcihvZmZzZXQgLyAobGltaXQgfHwgMTApKSArIDEgOiAxLFxuICAgICAgICAgICAgICBzb3J0OiBjb252ZXJ0U29ydChtb2RlbCwgc29ydEJ5KSxcbiAgICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IGNyZWF0ZUFkYXB0ZXJDb250ZXh0KHtcbiAgICAgICAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IFwiZmluZE1hbnlCeVdoZXJlXCIsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXN1bHQgPSB7IGRvY3M6IHJlcy5kb2NzLCB0b3RhbERvY3M6IHJlcy50b3RhbERvY3MgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRSZXN1bHQgPVxuICAgICAgICAgICAgcmVzdWx0Py5kb2NzLm1hcCgoZG9jKSA9PlxuICAgICAgICAgICAgICB0cmFuc2Zvcm1PdXRwdXQoe1xuICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICkgPz8gbnVsbDtcbiAgICAgICAgICBkZWJ1Z0xvZyhbXG4gICAgICAgICAgICBcImZpbmRNYW55IHJlc3VsdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtZWRSZXN1bHQsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiBgJHtEYXRlLm5vdygpIC0gc3RhcnR9bXNgLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRSZXN1bHQgYXMgVFtdO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGVycm9yTG9nKFtcIkVycm9yIGluIGZpbmRNYW55OiBcIiwgZXJyb3JdKTtcbiAgICAgICAgICByZXR1cm4gW10gYXMgVFtdO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYXN5bmMgdXBkYXRlPFQ+KGRhdGE6IHtcbiAgICAgICAgbW9kZWw6IHN0cmluZztcbiAgICAgICAgd2hlcmU6IFdoZXJlW107XG4gICAgICAgIHVwZGF0ZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICB9KTogUHJvbWlzZTxUIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHsgbW9kZWwsIHdoZXJlLCB1cGRhdGUgfSA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25TbHVnID0gZ2V0TW9kZWxOYW1lKG1vZGVsKTtcbiAgICAgICAgY29uc3QgcGF5bG9hZFdoZXJlID0gY29udmVydFdoZXJlQ2xhdXNlKHtcbiAgICAgICAgICBpZFR5cGU6IGNvbmZpZy5pZFR5cGUsXG4gICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgd2hlcmUsXG4gICAgICAgIH0pO1xuICAgICAgICBkZWJ1Z0xvZyhbXCJ1cGRhdGVcIiwgeyBjb2xsZWN0aW9uU2x1ZywgdXBkYXRlIH1dKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgcmVzb2x2ZVBheWxvYWRDbGllbnQoKTtcbiAgICAgICAgICBpZiAoIWNvbGxlY3Rpb25TbHVnIHx8ICEoY29sbGVjdGlvblNsdWcgaW4gcGF5bG9hZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnRXJyb3IobW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgY29uc3QgaWQgPSBzaW5nbGVJZFF1ZXJ5KHBheWxvYWRXaGVyZSk7XG4gICAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICBkZWJ1Z0xvZyhbXCJ1cGRhdGVCeUlEXCIsIHsgY29sbGVjdGlvblNsdWcsIGlkIH1dKTtcbiAgICAgICAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICBkYXRhOiB1cGRhdGUsXG4gICAgICAgICAgICAgIGRlcHRoOiBQQVlMT0FEX1FVRVJZX0RFUFRILFxuICAgICAgICAgICAgICBjb250ZXh0OiBjcmVhdGVBZGFwdGVyQ29udGV4dCh7IG1vZGVsLCBvcGVyYXRpb246IFwidXBkYXRlQnlJRFwiIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXN1bHQgPSBkb2M7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlYnVnTG9nKFtcInVwZGF0ZUJ5V2hlcmVcIiwgeyBjb2xsZWN0aW9uU2x1ZywgcGF5bG9hZFdoZXJlIH1dKTtcbiAgICAgICAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIHdoZXJlOiBwYXlsb2FkV2hlcmUsXG4gICAgICAgICAgICAgIGRhdGE6IHVwZGF0ZSxcbiAgICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IGNyZWF0ZUFkYXB0ZXJDb250ZXh0KHtcbiAgICAgICAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IFwidXBkYXRlQnlXaGVyZVwiLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzdWx0ID0gZG9jLmRvY3NbMF07XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkUmVzdWx0ID0gdHJhbnNmb3JtT3V0cHV0PHR5cGVvZiByZXN1bHQgfCBudWxsPih7XG4gICAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRlYnVnTG9nKFtcbiAgICAgICAgICAgIFwidXBkYXRlIHJlc3VsdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtZWRSZXN1bHQsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiBgJHtEYXRlLm5vdygpIC0gc3RhcnR9bXNgLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRSZXN1bHQgYXMgVDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBlcnJvckxvZyhbXCJFcnJvciBpbiB1cGRhdGU6IFwiLCBlcnJvcl0pO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYXN5bmMgdXBkYXRlTWFueShkYXRhOiB7XG4gICAgICAgIG1vZGVsOiBzdHJpbmc7XG4gICAgICAgIHdoZXJlOiBXaGVyZVtdO1xuICAgICAgICB1cGRhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgfSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgeyBtb2RlbCwgd2hlcmUsIHVwZGF0ZSB9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvblNsdWcgPSBnZXRNb2RlbE5hbWUobW9kZWwpO1xuICAgICAgICBjb25zdCBwYXlsb2FkV2hlcmUgPSBjb252ZXJ0V2hlcmVDbGF1c2Uoe1xuICAgICAgICAgIGlkVHlwZTogY29uZmlnLmlkVHlwZSxcbiAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICB3aGVyZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGRlYnVnTG9nKFtcInVwZGF0ZU1hbnlcIiwgeyBjb2xsZWN0aW9uU2x1ZywgcGF5bG9hZFdoZXJlLCB1cGRhdGUgfV0pO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCByZXNvbHZlUGF5bG9hZENsaWVudCgpO1xuICAgICAgICAgIGlmICghY29sbGVjdGlvblNsdWcgfHwgIShjb2xsZWN0aW9uU2x1ZyBpbiBwYXlsb2FkLmNvbGxlY3Rpb25zKSkge1xuICAgICAgICAgICAgY29sbGVjdGlvblNsdWdFcnJvcihtb2RlbCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHsgZG9jczogdXBkYXRlUmVzdWx0IH0gPSBhd2FpdCBwYXlsb2FkLnVwZGF0ZSh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgIHdoZXJlOiBwYXlsb2FkV2hlcmUsXG4gICAgICAgICAgICBkYXRhOiB1cGRhdGUsXG4gICAgICAgICAgICBkZXB0aDogUEFZTE9BRF9RVUVSWV9ERVBUSCxcbiAgICAgICAgICAgIGNvbnRleHQ6IGNyZWF0ZUFkYXB0ZXJDb250ZXh0KHsgbW9kZWwsIG9wZXJhdGlvbjogXCJ1cGRhdGVNYW55XCIgfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZGVidWdMb2coW1xuICAgICAgICAgICAgXCJ1cGRhdGVNYW55IHJlc3VsdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgcmVzdWx0OiB1cGRhdGVSZXN1bHQsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiBgJHtEYXRlLm5vdygpIC0gc3RhcnR9bXNgLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlUmVzdWx0Py5sZW5ndGggfHwgMDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBlcnJvckxvZyhbXCJFcnJvciBpbiB1cGRhdGVNYW55OiBcIiwgZXJyb3JdKTtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGFzeW5jIGRlbGV0ZShkYXRhOiB7IG1vZGVsOiBzdHJpbmc7IHdoZXJlOiBXaGVyZVtdIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB7IG1vZGVsLCB3aGVyZSB9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvblNsdWcgPSBnZXRNb2RlbE5hbWUobW9kZWwpO1xuICAgICAgICBjb25zdCBwYXlsb2FkV2hlcmUgPSBjb252ZXJ0V2hlcmVDbGF1c2Uoe1xuICAgICAgICAgIGlkVHlwZTogY29uZmlnLmlkVHlwZSxcbiAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICB3aGVyZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGRlYnVnTG9nKFtcImRlbGV0ZVwiLCB7IGNvbGxlY3Rpb25TbHVnIH1dKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgcmVzb2x2ZVBheWxvYWRDbGllbnQoKTtcbiAgICAgICAgICBpZiAoIWNvbGxlY3Rpb25TbHVnIHx8ICEoY29sbGVjdGlvblNsdWcgaW4gcGF5bG9hZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnRXJyb3IobW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgZGVsZXRlUmVzdWx0OiB7XG4gICAgICAgICAgICBkb2M6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsO1xuICAgICAgICAgICAgZXJyb3JzOiBhbnlbXTtcbiAgICAgICAgICB9IHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgY29uc3QgaWQgPSBzaW5nbGVJZFF1ZXJ5KHBheWxvYWRXaGVyZSk7XG4gICAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICBkZWJ1Z0xvZyhbXCJkZWxldGVCeUlEXCIsIHsgY29sbGVjdGlvblNsdWcsIGlkIH1dKTtcbiAgICAgICAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICBkZXB0aDogUEFZTE9BRF9RVUVSWV9ERVBUSCxcbiAgICAgICAgICAgICAgY29udGV4dDogY3JlYXRlQWRhcHRlckNvbnRleHQoeyBtb2RlbCwgb3BlcmF0aW9uOiBcImRlbGV0ZUJ5SURcIiB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZGVsZXRlUmVzdWx0ID0geyBkb2MsIGVycm9yczogW10gfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVidWdMb2coW1wiZGVsZXRlQnlXaGVyZVwiLCB7IGNvbGxlY3Rpb25TbHVnLCBwYXlsb2FkV2hlcmUgfV0pO1xuICAgICAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgd2hlcmU6IHBheWxvYWRXaGVyZSxcbiAgICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgICAgIGNvbnRleHQ6IGNyZWF0ZUFkYXB0ZXJDb250ZXh0KHtcbiAgICAgICAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IFwiZGVsZXRlQnlXaGVyZVwiLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZGVsZXRlUmVzdWx0ID0geyBkb2M6IGRvYy5kb2NzWzBdLCBlcnJvcnM6IFtdIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlYnVnTG9nKFtcbiAgICAgICAgICAgIFwiZGVsZXRlIHJlc3VsdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgcmVzdWx0OiBkZWxldGVSZXN1bHQsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiBgJHtEYXRlLm5vdygpIC0gc3RhcnR9bXNgLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgZXJyb3JMb2coW1wiRXJyb3IgaW4gZGVsZXRlOiBcIiwgZXJyb3JdKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhc3luYyBkZWxldGVNYW55KGRhdGE6IHtcbiAgICAgICAgbW9kZWw6IHN0cmluZztcbiAgICAgICAgd2hlcmU6IFdoZXJlW107XG4gICAgICB9KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB7IG1vZGVsLCB3aGVyZSB9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvblNsdWcgPSBnZXRNb2RlbE5hbWUobW9kZWwpO1xuICAgICAgICBjb25zdCBwYXlsb2FkV2hlcmUgPSBjb252ZXJ0V2hlcmVDbGF1c2Uoe1xuICAgICAgICAgIGlkVHlwZTogY29uZmlnLmlkVHlwZSxcbiAgICAgICAgICBtb2RlbCxcbiAgICAgICAgICB3aGVyZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGRlYnVnTG9nKFtcImRlbGV0ZU1hbnlcIiwgeyBjb2xsZWN0aW9uU2x1ZywgcGF5bG9hZFdoZXJlIH1dKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgcmVzb2x2ZVBheWxvYWRDbGllbnQoKTtcbiAgICAgICAgICBpZiAoIWNvbGxlY3Rpb25TbHVnIHx8ICEoY29sbGVjdGlvblNsdWcgaW4gcGF5bG9hZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25TbHVnRXJyb3IobW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBkZWxldGVSZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgIHdoZXJlOiBwYXlsb2FkV2hlcmUsXG4gICAgICAgICAgICBkZXB0aDogUEFZTE9BRF9RVUVSWV9ERVBUSCxcbiAgICAgICAgICAgIGNvbnRleHQ6IGNyZWF0ZUFkYXB0ZXJDb250ZXh0KHsgbW9kZWwsIG9wZXJhdGlvbjogXCJkZWxldGVNYW55XCIgfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZGVidWdMb2coW1xuICAgICAgICAgICAgXCJkZWxldGVNYW55IHJlc3VsdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgcmVzdWx0OiBkZWxldGVSZXN1bHQsXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiBgJHtEYXRlLm5vdygpIC0gc3RhcnR9bXNgLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgICByZXR1cm4gZGVsZXRlUmVzdWx0LmRvY3MubGVuZ3RoO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGVycm9yTG9nKFtcIkVycm9yIGluIGRlbGV0ZU1hbnk6IFwiLCBlcnJvcl0pO1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYXN5bmMgY291bnQoZGF0YTogeyBtb2RlbDogc3RyaW5nOyB3aGVyZT86IFdoZXJlW10gfSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgeyBtb2RlbCwgd2hlcmUgfSA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25TbHVnID0gZ2V0TW9kZWxOYW1lKG1vZGVsKTtcbiAgICAgICAgY29uc3QgcGF5bG9hZFdoZXJlID0gY29udmVydFdoZXJlQ2xhdXNlKHtcbiAgICAgICAgICBpZFR5cGU6IGNvbmZpZy5pZFR5cGUsXG4gICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgd2hlcmUsXG4gICAgICAgIH0pO1xuICAgICAgICBkZWJ1Z0xvZyhbXCJjb3VudFwiLCB7IGNvbGxlY3Rpb25TbHVnLCBwYXlsb2FkV2hlcmUgfV0pO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCByZXNvbHZlUGF5bG9hZENsaWVudCgpO1xuICAgICAgICAgIGlmICghY29sbGVjdGlvblNsdWcgfHwgIShjb2xsZWN0aW9uU2x1ZyBpbiBwYXlsb2FkLmNvbGxlY3Rpb25zKSkge1xuICAgICAgICAgICAgY29sbGVjdGlvblNsdWdFcnJvcihtb2RlbCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuY291bnQoe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICB3aGVyZTogcGF5bG9hZFdoZXJlLFxuICAgICAgICAgICAgZGVwdGg6IFBBWUxPQURfUVVFUllfREVQVEgsXG4gICAgICAgICAgICBjb250ZXh0OiBjcmVhdGVBZGFwdGVyQ29udGV4dCh7IG1vZGVsLCBvcGVyYXRpb246IFwiY291bnRcIiB9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkZWJ1Z0xvZyhbXG4gICAgICAgICAgICBcImNvdW50IHJlc3VsdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICAgICAgcmVzdWx0OiB7IHRvdGFsRG9jczogcmVzdWx0LnRvdGFsRG9jcyB9LFxuICAgICAgICAgICAgICBkdXJhdGlvbjogYCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zYCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC50b3RhbERvY3M7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgZXJyb3JMb2coW1wiRXJyb3IgaW4gY291bnQ6IFwiLCBlcnJvcl0pO1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgY3JlYXRlU2NoZW1hOiBhc3luYyAob3B0aW9ucywgZmlsZSkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlbWFDb2RlID0gYXdhaXQgZ2VuZXJhdGVTY2hlbWEob3B0aW9ucyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29kZTogc2NoZW1hQ29kZSxcbiAgICAgICAgICBwYXRoOiBmaWxlIHx8IFwic2NoZW1hLnRzXCIsXG4gICAgICAgICAgYXBwZW5kOiBmYWxzZSxcbiAgICAgICAgICBvdmVyd3JpdGU6IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBlbmFibGVEZWJ1Z0xvZ3M6IGNvbmZpZy5lbmFibGVEZWJ1Z0xvZ3MsXG4gICAgICAgIGlkVHlwZTogY29uZmlnLmlkVHlwZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCB7IGdlbmVyYXRlU2NoZW1hLCBwYXlsb2FkQWRhcHRlciB9O1xuIl0sIm5hbWVzIjpbIkJldHRlckF1dGhFcnJvciIsImdlbmVyYXRlU2NoZW1hIiwiY3JlYXRlVHJhbnNmb3JtIiwiQkVUVEVSX0FVVEhfQ09OVEVYVF9LRVkiLCJQQVlMT0FEX1FVRVJZX0RFUFRIIiwicGF5bG9hZEFkYXB0ZXIiLCJwYXlsb2FkQ2xpZW50IiwiY29uZmlnIiwiZGVidWdMb2ciLCJtZXNzYWdlIiwiZW5hYmxlRGVidWdMb2dzIiwiY29uc29sZSIsImxvZyIsImVycm9yTG9nIiwiZXJyb3IiLCJjb2xsZWN0aW9uU2x1Z0Vycm9yIiwibW9kZWwiLCJjcmVhdGVBZGFwdGVyQ29udGV4dCIsImRhdGEiLCJyZXNvbHZlUGF5bG9hZENsaWVudCIsInBheWxvYWQiLCJjdXN0b20iLCJoYXNCZXR0ZXJBdXRoUGx1Z2luIiwib3B0aW9ucyIsInRyYW5zZm9ybUlucHV0IiwidHJhbnNmb3JtT3V0cHV0IiwiY29udmVydFdoZXJlQ2xhdXNlIiwiY29udmVydFNlbGVjdCIsImNvbnZlcnRTb3J0IiwiZ2V0TW9kZWxOYW1lIiwic2luZ2xlSWRRdWVyeSIsIm11bHRpcGxlSWRzUXVlcnkiLCJpZCIsImNyZWF0ZSIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInZhbHVlcyIsInNlbGVjdCIsImNvbGxlY3Rpb25TbHVnIiwidHJhbnNmb3JtZWQiLCJhY3Rpb24iLCJpZFR5cGUiLCJjb2xsZWN0aW9ucyIsInJlc3VsdCIsImNvbGxlY3Rpb24iLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiZGVwdGgiLCJ0cmFuc2Zvcm1lZFJlc3VsdCIsImRvYyIsImR1cmF0aW9uIiwiZmluZE9uZSIsIndoZXJlIiwicGF5bG9hZFdoZXJlIiwiZmluZEJ5SUQiLCJkb2NzIiwiZmluZCIsImxpbWl0IiwiZmluZE1hbnkiLCJzb3J0QnkiLCJvZmZzZXQiLCJtdWx0aXBsZUlkcyIsInNpbmdsZUlkIiwibGVuZ3RoIiwiaWRzIiwicmVzIiwidG90YWxEb2NzIiwicHVzaCIsInBhZ2UiLCJNYXRoIiwiZmxvb3IiLCJzb3J0IiwibWFwIiwidXBkYXRlIiwidXBkYXRlTWFueSIsInVwZGF0ZVJlc3VsdCIsImRlbGV0ZSIsImRlbGV0ZVJlc3VsdCIsImVycm9ycyIsImRlbGV0ZU1hbnkiLCJjb3VudCIsImNyZWF0ZVNjaGVtYSIsImZpbGUiLCJzY2hlbWFDb2RlIiwiY29kZSIsInBhdGgiLCJhcHBlbmQiLCJvdmVyd3JpdGUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGVBQWUsUUFBUSxjQUFjO0FBRTlDLFNBQVNDLGNBQWMsUUFBUSxvQkFBb0I7QUFDbkQsU0FBU0MsZUFBZSxRQUFRLGNBQWM7QUFHOUMsT0FBTyxNQUFNQywwQkFBMEIscUJBQXFCO0FBQzVELE1BQU1DLHNCQUFzQjtBQUU1QixNQUFNQyxpQkFBaUMsQ0FBQ0MsZUFBZUM7SUFDckQsU0FBU0MsU0FBU0MsT0FBYztRQUM5QixJQUFJRixPQUFPRyxlQUFlLEVBQUU7WUFDMUJDLFFBQVFDLEdBQUcsQ0FBQywyQkFBMkJIO1FBQ3pDO0lBQ0Y7SUFFQSxTQUFTSSxTQUFTSixPQUFjO1FBQzlCRSxRQUFRRyxLQUFLLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLTDtJQUMzQztJQUVBLFNBQVNNLG9CQUFvQkMsS0FBYTtRQUN4QyxNQUFNLElBQUloQixnQkFDUixDQUFDLFdBQVcsRUFBRWdCLE1BQU0sd0ZBQXdGLENBQUM7SUFFakg7SUFFQSxNQUFNQyx1QkFBdUIsQ0FBQ0MsT0FBK0IsQ0FBQTtZQUMzRCxDQUFDZix3QkFBd0IsRUFBRTtnQkFBRSxHQUFHZSxJQUFJO1lBQUM7UUFDdkMsQ0FBQTtJQUVBLGVBQWVDO1FBQ2IsTUFBTUMsVUFDSixPQUFPZCxrQkFBa0IsYUFDckIsTUFBTUEsa0JBQ04sTUFBTUE7UUFD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
@@ -1,16 +1,29 @@
1
- import type { BetterAuthOptions, Where } from 'better-auth';
2
- import type { CollectionSlug, Where as PayloadWhere } from 'payload';
1
+ import type { BetterAuthOptions, Where } from "better-auth";
2
+ import type { CollectionSlug, Where as PayloadWhere } from "payload";
3
3
  export declare const createTransform: (options: BetterAuthOptions, enableDebugLogs: boolean) => {
4
- getField: (model: string, field: string) => any;
4
+ getFieldName: (model: string, field: string) => string;
5
5
  getModelName: (model: string) => CollectionSlug;
6
6
  singleIdQuery: (where: PayloadWhere) => string | number | null;
7
7
  multipleIdsQuery: (where: PayloadWhere) => (string | number)[] | null;
8
- transformInput: (data: Record<string, any>, model: string, action: "create" | "update") => Record<string, any>;
9
- transformOutput: <T extends Record<string, any> | undefined>(doc: T) => T;
10
- convertWhereClause: (model: string, where?: Where[]) => PayloadWhere;
8
+ transformInput: ({ data, model, idType, action, }: {
9
+ data: Record<string, any>;
10
+ model: string;
11
+ idType: "number" | "text";
12
+ action: "create" | "update";
13
+ }) => Record<string, any>;
14
+ transformOutput: <T extends Record<string, any> | null>({ doc, model, }: {
15
+ doc: T;
16
+ model: string;
17
+ }) => T;
18
+ convertWhereClause: ({ idType, model, where, }: {
19
+ idType: "number" | "text";
20
+ model: string;
21
+ where?: Where[];
22
+ }) => PayloadWhere;
11
23
  convertSelect: (model: string, select?: string[]) => {} | undefined;
12
24
  convertSort: (model: string, sortBy?: {
13
25
  field: string;
14
26
  direction: "asc" | "desc";
15
27
  }) => string | undefined;
16
28
  };
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/transform/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,eAAO,MAAM,eAAe,GAC1B,SAAS,iBAAiB,EAC1B,iBAAiB,OAAO;0BAqBK,MAAM,SAAS,MAAM;0BAXrB,MAAM,KAAG,cAAc;2BAqCtB,YAAY;8BAyCT,YAAY;uDA0R1C;QACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;QAC1B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B;sBA0BwB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,mBAG1D;QACD,GAAG,EAAE,CAAC,CAAC;QACP,KAAK,EAAE,MAAM,CAAC;KACf,KAAG,CAAC;oDAwIF;QACD,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;KACjB,KAAG,YAAY;2BAoDc,MAAM,WAAW,MAAM,EAAE;yBAS9C,MAAM,WACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE;CAoBxD,CAAC"}