@pureq/auth 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +293 -0
  2. package/dist/adapter/capabilities.d.ts +23 -0
  3. package/dist/adapter/capabilities.d.ts.map +1 -0
  4. package/dist/adapter/capabilities.js +77 -0
  5. package/dist/adapter/capabilities.js.map +1 -0
  6. package/dist/adapter/index.d.ts +12 -0
  7. package/dist/adapter/index.d.ts.map +1 -0
  8. package/dist/adapter/index.js +121 -0
  9. package/dist/adapter/index.js.map +1 -0
  10. package/dist/adapter/sql.d.ts +36 -0
  11. package/dist/adapter/sql.d.ts.map +1 -0
  12. package/dist/adapter/sql.js +268 -0
  13. package/dist/adapter/sql.js.map +1 -0
  14. package/dist/adapters/index.d.ts +4 -0
  15. package/dist/adapters/index.d.ts.map +1 -0
  16. package/dist/adapters/index.js +42 -0
  17. package/dist/adapters/index.js.map +1 -0
  18. package/dist/authorization/index.d.ts +8 -0
  19. package/dist/authorization/index.d.ts.map +1 -0
  20. package/dist/authorization/index.js +49 -0
  21. package/dist/authorization/index.js.map +1 -0
  22. package/dist/bridge/index.d.ts +23 -0
  23. package/dist/bridge/index.d.ts.map +1 -0
  24. package/dist/bridge/index.js +124 -0
  25. package/dist/bridge/index.js.map +1 -0
  26. package/dist/callbacks/index.d.ts +8 -0
  27. package/dist/callbacks/index.d.ts.map +1 -0
  28. package/dist/callbacks/index.js +53 -0
  29. package/dist/callbacks/index.js.map +1 -0
  30. package/dist/core/index.d.ts +12 -0
  31. package/dist/core/index.d.ts.map +1 -0
  32. package/dist/core/index.js +481 -0
  33. package/dist/core/index.js.map +1 -0
  34. package/dist/core/kit.d.ts +7 -0
  35. package/dist/core/kit.d.ts.map +1 -0
  36. package/dist/core/kit.js +145 -0
  37. package/dist/core/kit.js.map +1 -0
  38. package/dist/core/starter.d.ts +28 -0
  39. package/dist/core/starter.d.ts.map +1 -0
  40. package/dist/core/starter.js +67 -0
  41. package/dist/core/starter.js.map +1 -0
  42. package/dist/csrf/index.d.ts +7 -0
  43. package/dist/csrf/index.d.ts.map +1 -0
  44. package/dist/csrf/index.js +126 -0
  45. package/dist/csrf/index.js.map +1 -0
  46. package/dist/debug/index.d.ts +8 -0
  47. package/dist/debug/index.d.ts.map +1 -0
  48. package/dist/debug/index.js +21 -0
  49. package/dist/debug/index.js.map +1 -0
  50. package/dist/encryption/index.d.ts +8 -0
  51. package/dist/encryption/index.d.ts.map +1 -0
  52. package/dist/encryption/index.js +43 -0
  53. package/dist/encryption/index.js.map +1 -0
  54. package/dist/events/index.d.ts +22 -0
  55. package/dist/events/index.d.ts.map +1 -0
  56. package/dist/events/index.js +53 -0
  57. package/dist/events/index.js.map +1 -0
  58. package/dist/framework/index.d.ts +10 -0
  59. package/dist/framework/index.d.ts.map +1 -0
  60. package/dist/framework/index.js +68 -0
  61. package/dist/framework/index.js.map +1 -0
  62. package/dist/framework/packs.d.ts +54 -0
  63. package/dist/framework/packs.d.ts.map +1 -0
  64. package/dist/framework/packs.js +124 -0
  65. package/dist/framework/packs.js.map +1 -0
  66. package/dist/framework/recipes.d.ts +6 -0
  67. package/dist/framework/recipes.d.ts.map +1 -0
  68. package/dist/framework/recipes.js +108 -0
  69. package/dist/framework/recipes.js.map +1 -0
  70. package/dist/hooks/index.d.ts +11 -0
  71. package/dist/hooks/index.d.ts.map +1 -0
  72. package/dist/hooks/index.js +95 -0
  73. package/dist/hooks/index.js.map +1 -0
  74. package/dist/hooks/react.d.ts +9 -0
  75. package/dist/hooks/react.d.ts.map +1 -0
  76. package/dist/hooks/react.js +24 -0
  77. package/dist/hooks/react.js.map +1 -0
  78. package/dist/hooks/vue.d.ts +4 -0
  79. package/dist/hooks/vue.d.ts.map +1 -0
  80. package/dist/hooks/vue.js +32 -0
  81. package/dist/hooks/vue.js.map +1 -0
  82. package/dist/index.d.ts +36 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +31 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/jwt/index.d.ts +13 -0
  87. package/dist/jwt/index.d.ts.map +1 -0
  88. package/dist/jwt/index.js +82 -0
  89. package/dist/jwt/index.js.map +1 -0
  90. package/dist/middleware/authBasic.d.ts +5 -0
  91. package/dist/middleware/authBasic.d.ts.map +1 -0
  92. package/dist/middleware/authBasic.js +25 -0
  93. package/dist/middleware/authBasic.js.map +1 -0
  94. package/dist/middleware/authBearer.d.ts +4 -0
  95. package/dist/middleware/authBearer.d.ts.map +1 -0
  96. package/dist/middleware/authBearer.js +26 -0
  97. package/dist/middleware/authBearer.js.map +1 -0
  98. package/dist/middleware/authCustom.d.ts +4 -0
  99. package/dist/middleware/authCustom.d.ts.map +1 -0
  100. package/dist/middleware/authCustom.js +22 -0
  101. package/dist/middleware/authCustom.js.map +1 -0
  102. package/dist/middleware/authRefresh.d.ts +4 -0
  103. package/dist/middleware/authRefresh.d.ts.map +1 -0
  104. package/dist/middleware/authRefresh.js +68 -0
  105. package/dist/middleware/authRefresh.js.map +1 -0
  106. package/dist/middleware/authSession.d.ts +5 -0
  107. package/dist/middleware/authSession.d.ts.map +1 -0
  108. package/dist/middleware/authSession.js +35 -0
  109. package/dist/middleware/authSession.js.map +1 -0
  110. package/dist/middleware/broadcastSync.d.ts +7 -0
  111. package/dist/middleware/broadcastSync.d.ts.map +1 -0
  112. package/dist/middleware/broadcastSync.js +36 -0
  113. package/dist/middleware/broadcastSync.js.map +1 -0
  114. package/dist/middleware/common.d.ts +3 -0
  115. package/dist/middleware/common.d.ts.map +1 -0
  116. package/dist/middleware/common.js +10 -0
  117. package/dist/middleware/common.js.map +1 -0
  118. package/dist/middleware/index.d.ts +8 -0
  119. package/dist/middleware/index.d.ts.map +1 -0
  120. package/dist/middleware/index.js +8 -0
  121. package/dist/middleware/index.js.map +1 -0
  122. package/dist/middleware/tokenLifecycle.d.ts +4 -0
  123. package/dist/middleware/tokenLifecycle.d.ts.map +1 -0
  124. package/dist/middleware/tokenLifecycle.js +52 -0
  125. package/dist/middleware/tokenLifecycle.js.map +1 -0
  126. package/dist/migration/index.d.ts +40 -0
  127. package/dist/migration/index.d.ts.map +1 -0
  128. package/dist/migration/index.js +136 -0
  129. package/dist/migration/index.js.map +1 -0
  130. package/dist/oidc/index.d.ts +25 -0
  131. package/dist/oidc/index.d.ts.map +1 -0
  132. package/dist/oidc/index.js +392 -0
  133. package/dist/oidc/index.js.map +1 -0
  134. package/dist/oidc/providers.d.ts +21 -0
  135. package/dist/oidc/providers.d.ts.map +1 -0
  136. package/dist/oidc/providers.js +51 -0
  137. package/dist/oidc/providers.js.map +1 -0
  138. package/dist/presets/index.d.ts +13 -0
  139. package/dist/presets/index.d.ts.map +1 -0
  140. package/dist/presets/index.js +12 -0
  141. package/dist/presets/index.js.map +1 -0
  142. package/dist/providers/callbackContracts.d.ts +14 -0
  143. package/dist/providers/callbackContracts.d.ts.map +1 -0
  144. package/dist/providers/callbackContracts.js +14 -0
  145. package/dist/providers/callbackContracts.js.map +1 -0
  146. package/dist/providers/errors.d.ts +9 -0
  147. package/dist/providers/errors.d.ts.map +1 -0
  148. package/dist/providers/errors.js +66 -0
  149. package/dist/providers/errors.js.map +1 -0
  150. package/dist/providers/index.d.ts +28 -0
  151. package/dist/providers/index.d.ts.map +1 -0
  152. package/dist/providers/index.js +29 -0
  153. package/dist/providers/index.js.map +1 -0
  154. package/dist/providers/presets.d.ts +17 -0
  155. package/dist/providers/presets.d.ts.map +1 -0
  156. package/dist/providers/presets.js +84 -0
  157. package/dist/providers/presets.js.map +1 -0
  158. package/dist/revocation/index.d.ts +10 -0
  159. package/dist/revocation/index.d.ts.map +1 -0
  160. package/dist/revocation/index.js +182 -0
  161. package/dist/revocation/index.js.map +1 -0
  162. package/dist/session/exporters.d.ts +15 -0
  163. package/dist/session/exporters.d.ts.map +1 -0
  164. package/dist/session/exporters.js +62 -0
  165. package/dist/session/exporters.js.map +1 -0
  166. package/dist/session/index.d.ts +11 -0
  167. package/dist/session/index.d.ts.map +1 -0
  168. package/dist/session/index.js +324 -0
  169. package/dist/session/index.js.map +1 -0
  170. package/dist/shared/encoding.d.ts +5 -0
  171. package/dist/shared/encoding.d.ts.map +1 -0
  172. package/dist/shared/encoding.js +27 -0
  173. package/dist/shared/encoding.js.map +1 -0
  174. package/dist/shared/errors.d.ts +13 -0
  175. package/dist/shared/errors.d.ts.map +1 -0
  176. package/dist/shared/errors.js +12 -0
  177. package/dist/shared/errors.js.map +1 -0
  178. package/dist/shared/index.d.ts +5 -0
  179. package/dist/shared/index.d.ts.map +1 -0
  180. package/dist/shared/index.js +5 -0
  181. package/dist/shared/index.js.map +1 -0
  182. package/dist/shared/types.d.ts +585 -0
  183. package/dist/shared/types.d.ts.map +1 -0
  184. package/dist/shared/types.js +2 -0
  185. package/dist/shared/types.js.map +1 -0
  186. package/dist/shared/values.d.ts +3 -0
  187. package/dist/shared/values.d.ts.map +1 -0
  188. package/dist/shared/values.js +23 -0
  189. package/dist/shared/values.js.map +1 -0
  190. package/dist/storage/index.d.ts +44 -0
  191. package/dist/storage/index.d.ts.map +1 -0
  192. package/dist/storage/index.js +318 -0
  193. package/dist/storage/index.js.map +1 -0
  194. package/dist/templates/index.d.ts +9 -0
  195. package/dist/templates/index.d.ts.map +1 -0
  196. package/dist/templates/index.js +146 -0
  197. package/dist/templates/index.js.map +1 -0
  198. package/package.json +173 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAM9D,4CAA4C;AAC5C,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CACzB;AAED,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CACzB;AAMD,0FAA0F;AAC1F,MAAM,WAAW,mBAAmB;IACnC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACxD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACxF,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjF,UAAU,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACxD,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5E,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC7H,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAChI,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,uBAAuB,CAAC,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC9F,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;CAC9H;AAMD,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,6CAA6C;AAC7C,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CAChG;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE;QAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACvB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAMD,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;QAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;KAC3B,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;KACzB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;KAC9B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;KACzB,KAAK,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;QACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;KAC/B,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAMD,MAAM,WAAW,SAAS;IACzB,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAMD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,aAAa,CAAC;IACjF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;KAC1D,CAAC;IACF,QAAQ,CAAC,UAAU,CAAC,EAAE;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;KAC1D,CAAC;CACF;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAMD,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxD;AAED,mFAAmF;AACnF,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,2BAA2B,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;CAC/D;AAED,MAAM,WAAW,QAAQ;IACxB,mBAAmB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1F,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/F,gBAAgB,CACf,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,eAAe,EACxC,OAAO,EAAE;QAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1G,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,WAAW,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrH,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACpF;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,GAChC,wBAAwB,GACxB,qBAAqB,GACrB,uBAAuB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EACV,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,wBAAwB,GACxB,gBAAgB,GAChB,qBAAqB,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzF,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtF,MAAM,WAAW,wBAAwB;IACxC,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CACjE;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,eAAe,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrG,iBAAiB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI,CAAC;IACxD,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAMD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CACvD;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,UAAU,IAAI,UAAU,CAAC;CACzB;AAMD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yDAAyD;AACzD,MAAM,WAAW,6BAA6B;IAC7C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC;IAC3D,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,QAAQ,CAAC;QACpB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5B,CAAC,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAAC;IACzH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAMD,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,UAAU;IAC1B,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,CAAC;IAC9D,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,MAAM,EAAE,CAAC;IACpE,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9G;AAMD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,WAAW,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,gBAAgB,CAAC;IAC/D,SAAS,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,MAAM,EAAE,CAAC;IACpE,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChF,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;CAChF;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,IAAI,gBAAgB,CAAC;IAC7B,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzD,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAClD,cAAc,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IAClD,wBAAwB,IAAI,0BAA0B,CAAC;IACvD,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IACpD,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC;AAE7F,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;CACzE;AAMD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAChC,WAAW,IAAI,gBAAgB,CAAC;IAChC,SAAS,IAAI,iBAAiB,CAAC;IAC/B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAC;CACtD;AAED,MAAM,WAAW,yBAAyB;IACzC,CAAC,CAAC,EACD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,EAC/C,WAAW,EAAE,MAAM,CAAC,EACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,GACzB,CAAC,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IAC9B,cAAc,IAAI,qBAAqB,CAAC;IACxC,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,uBAAuB,IAAI,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,kBAAkB;IAClC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/C,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,uBAAuB,IAAI,IAAI,CAAC;CAChC;AAMD,MAAM,WAAW,mCAAmC;IACnD,QAAQ,CAAC,oBAAoB,EAAE,CAC9B,QAAQ,EAAE,MAAM,KACZ,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA4B;IAC5C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,IAAI,IAAI,CAAC;IACjB,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,+BAAgC,SAAQ,iBAAiB;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,gCAAiC,SAAQ,iBAAiB;IAC1E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kCAAkC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,CAC9B,QAAQ,EAAE,MAAM,KACZ,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;CAC9C;AAMD,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC;CAC/E;AAMD,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChD;AAMD,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IAC/D,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACzD,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,KAAK,EAAE,GAAG,OAAO,CAAC;IACxE,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACtE,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,SAAS,KAAK,EAAE,CAAC;CACvE;AAMD,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/I,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9F,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE;AAMD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7D;AAMD,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,GAAG,EACT,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,wBAAwB,GACxB,8BAA8B,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,kBAAkB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAC;IACxE,gBAAgB,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,cAAc,CAAC;IACrH,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,wBAAwB,CAAC;CAC3H;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare function resolveStringValue(value: string | (() => Promise<string> | string)): Promise<string>;
2
+ export declare function appendQueryParam(url: string, name: string, value: string): string;
3
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/shared/values.ts"],"names":[],"mappings":"AAAA,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBjF"}
@@ -0,0 +1,23 @@
1
+ export async function resolveStringValue(value) {
2
+ return typeof value === "function" ? await value() : value;
3
+ }
4
+ export function appendQueryParam(url, name, value) {
5
+ try {
6
+ const parsed = new URL(url, typeof location !== "undefined" ? location.origin : "http://localhost");
7
+ parsed.searchParams.set(name, value);
8
+ if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(url)) {
9
+ return parsed.toString();
10
+ }
11
+ const search = parsed.searchParams.toString();
12
+ return `${parsed.pathname}${search ? `?${search}` : ""}${parsed.hash}`;
13
+ }
14
+ catch {
15
+ const [path, hash = ""] = url.split("#", 2);
16
+ const [base, query = ""] = (path ?? "").split("?", 2);
17
+ const params = new URLSearchParams(query);
18
+ params.set(name, value);
19
+ const nextQuery = params.toString();
20
+ return `${base}${nextQuery ? `?${nextQuery}` : ""}${hash ? `#${hash}` : ""}`;
21
+ }
22
+ }
23
+ //# sourceMappingURL=values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/shared/values.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAgD;IAEhD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY,EAAE,KAAa;IACvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC9C,OAAO,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { AuthStore } from "../shared";
2
+ /** In-memory token store (no persistence). */
3
+ export declare function authMemoryStore(): AuthStore;
4
+ /** Browser localStorage-backed token store. */
5
+ export declare function authLocalStorage(options?: {
6
+ readonly prefix?: string;
7
+ }): AuthStore;
8
+ /** Browser sessionStorage-backed token store. */
9
+ export declare function authSessionStorage(options?: {
10
+ readonly prefix?: string;
11
+ }): AuthStore;
12
+ /** Browser cookie-backed token store. HttpOnly and Secure are enabled by default. */
13
+ export declare function authCookieStore(options?: {
14
+ readonly prefix?: string;
15
+ readonly path?: string;
16
+ readonly sameSite?: "lax" | "strict" | "none";
17
+ readonly secure?: boolean;
18
+ readonly httpOnly?: boolean;
19
+ readonly domain?: string;
20
+ readonly maxAgeSeconds?: number;
21
+ }): AuthStore;
22
+ /**
23
+ * Custom token store with user-provided get/set/clear callbacks.
24
+ * DX-M3: getRefresh defaults to returning null (not access token) when not provided.
25
+ */
26
+ export declare function authCustomStore(options: {
27
+ readonly get: () => Promise<string | null> | string | null;
28
+ readonly set: (token: string) => Promise<void> | void;
29
+ readonly clear: () => Promise<void> | void;
30
+ readonly getRefresh?: () => Promise<string | null> | string | null;
31
+ readonly setRefresh?: (token: string) => Promise<void> | void;
32
+ readonly clearRefresh?: () => Promise<void> | void;
33
+ }): AuthStore;
34
+ /** Hybrid store: delegates access token and refresh token to separate stores. */
35
+ export declare function authHybridStore(options: {
36
+ readonly accessToken: AuthStore;
37
+ readonly refreshToken: AuthStore;
38
+ }): AuthStore;
39
+ /**
40
+ * Wraps an inner AuthStore with AES-GCM encryption for at-rest token protection (FEAT-M6).
41
+ * Uses Web Crypto API — zero dependencies.
42
+ */
43
+ export declare function authEncryptedStore(inner: AuthStore, encryptionKey: string): AuthStore;
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA+L3C,8CAA8C;AAC9C,wBAAgB,eAAe,IAAI,SAAS,CAuB3C;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CAEtF;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CAExF;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,GAAE;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,SAAS,CA8BjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpD,GAAG,SAAS,CAyBZ;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;CAClC,GAAG,SAAS,CAqBZ;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,CAuFrF"}
@@ -0,0 +1,318 @@
1
+ function getGlobalStorage(kind) {
2
+ try {
3
+ const storage = globalThis[kind];
4
+ if (!storage) {
5
+ return null;
6
+ }
7
+ const testKey = "__pureq_auth_probe__";
8
+ storage.setItem(testKey, "1");
9
+ storage.removeItem(testKey);
10
+ return storage;
11
+ }
12
+ catch {
13
+ return null;
14
+ }
15
+ }
16
+ function createMemoryBacking() {
17
+ return { accessToken: null, refreshToken: null };
18
+ }
19
+ function createDualStore(readAccess, writeAccess, clearAccess, readRefresh, writeRefresh, clearRefresh) {
20
+ return {
21
+ async get() {
22
+ return await readAccess();
23
+ },
24
+ async set(token) {
25
+ await writeAccess(token);
26
+ },
27
+ async clear() {
28
+ await clearAccess();
29
+ },
30
+ async getRefresh() {
31
+ return await readRefresh();
32
+ },
33
+ async setRefresh(token) {
34
+ await writeRefresh(token);
35
+ },
36
+ async clearRefresh() {
37
+ await clearRefresh();
38
+ },
39
+ };
40
+ }
41
+ function createWebStorage(kind, prefix = "") {
42
+ const storage = getGlobalStorage(kind);
43
+ const accessKey = `${prefix}accessToken`;
44
+ const refreshKey = `${prefix}refreshToken`;
45
+ const memory = createMemoryBacking();
46
+ const read = (key) => async () => {
47
+ if (!storage) {
48
+ return memory[key];
49
+ }
50
+ return storage.getItem(key === "accessToken" ? accessKey : refreshKey);
51
+ };
52
+ const write = (key) => async (token) => {
53
+ if (!storage) {
54
+ memory[key] = token;
55
+ return;
56
+ }
57
+ storage.setItem(key === "accessToken" ? accessKey : refreshKey, token);
58
+ };
59
+ const clear = (key) => async () => {
60
+ if (!storage) {
61
+ memory[key] = null;
62
+ return;
63
+ }
64
+ storage.removeItem(key === "accessToken" ? accessKey : refreshKey);
65
+ };
66
+ return createDualStore(read("accessToken"), write("accessToken"), clear("accessToken"), read("refreshToken"), write("refreshToken"), clear("refreshToken"));
67
+ }
68
+ /** Default cookie max-age: 30 days. */
69
+ const DEFAULT_MAX_AGE_SECONDS = 30 * 24 * 60 * 60;
70
+ function createCookieOptions(options = {}) {
71
+ return {
72
+ prefix: options.prefix ?? "",
73
+ path: options.path ?? "/",
74
+ sameSite: options.sameSite ?? "lax",
75
+ secure: options.secure ?? true,
76
+ httpOnly: options.httpOnly ?? true,
77
+ ...(options.domain !== undefined ? { domain: options.domain } : {}),
78
+ maxAgeSeconds: options.maxAgeSeconds ?? DEFAULT_MAX_AGE_SECONDS,
79
+ };
80
+ }
81
+ function getCookieString() {
82
+ if (typeof document === "undefined") {
83
+ return "";
84
+ }
85
+ return document.cookie;
86
+ }
87
+ function setCookie(name, value, options) {
88
+ if (typeof document === "undefined") {
89
+ return;
90
+ }
91
+ const parts = [`${encodeURIComponent(name)}=${encodeURIComponent(value)}`, `Path=${options.path}`, `SameSite=${options.sameSite}`];
92
+ if (options.domain) {
93
+ parts.push(`Domain=${options.domain}`);
94
+ }
95
+ if (options.secure) {
96
+ parts.push("Secure");
97
+ }
98
+ // SEC-C3: HttpOnly by default
99
+ if (options.httpOnly) {
100
+ parts.push("HttpOnly");
101
+ }
102
+ parts.push(`Max-Age=${options.maxAgeSeconds}`);
103
+ document.cookie = parts.join("; ");
104
+ }
105
+ function clearCookie(name, options) {
106
+ if (typeof document === "undefined") {
107
+ return;
108
+ }
109
+ const parts = [`${encodeURIComponent(name)}=`, `Path=${options.path}`, `SameSite=${options.sameSite}`, "Max-Age=0"];
110
+ if (options.domain) {
111
+ parts.push(`Domain=${options.domain}`);
112
+ }
113
+ if (options.secure) {
114
+ parts.push("Secure");
115
+ }
116
+ if (options.httpOnly) {
117
+ parts.push("HttpOnly");
118
+ }
119
+ document.cookie = parts.join("; ");
120
+ }
121
+ function readCookie(name) {
122
+ const cookieString = getCookieString();
123
+ if (!cookieString) {
124
+ return null;
125
+ }
126
+ const encodedName = `${encodeURIComponent(name)}=`;
127
+ for (const part of cookieString.split(";")) {
128
+ const trimmed = part.trim();
129
+ if (trimmed.startsWith(encodedName)) {
130
+ return decodeURIComponent(trimmed.slice(encodedName.length));
131
+ }
132
+ }
133
+ return null;
134
+ }
135
+ /** In-memory token store (no persistence). */
136
+ export function authMemoryStore() {
137
+ const memory = createMemoryBacking();
138
+ return {
139
+ async get() {
140
+ return memory.accessToken;
141
+ },
142
+ async set(token) {
143
+ memory.accessToken = token;
144
+ },
145
+ async clear() {
146
+ memory.accessToken = null;
147
+ },
148
+ async getRefresh() {
149
+ return memory.refreshToken;
150
+ },
151
+ async setRefresh(token) {
152
+ memory.refreshToken = token;
153
+ },
154
+ async clearRefresh() {
155
+ memory.refreshToken = null;
156
+ },
157
+ };
158
+ }
159
+ /** Browser localStorage-backed token store. */
160
+ export function authLocalStorage(options = {}) {
161
+ return createWebStorage("localStorage", options.prefix ?? "");
162
+ }
163
+ /** Browser sessionStorage-backed token store. */
164
+ export function authSessionStorage(options = {}) {
165
+ return createWebStorage("sessionStorage", options.prefix ?? "");
166
+ }
167
+ /** Browser cookie-backed token store. HttpOnly and Secure are enabled by default. */
168
+ export function authCookieStore(options = {}) {
169
+ const cookieOptions = createCookieOptions(options);
170
+ const accessKey = `${cookieOptions.prefix}accessToken`;
171
+ const refreshKey = `${cookieOptions.prefix}refreshToken`;
172
+ const fallback = createMemoryBacking();
173
+ return {
174
+ async get() {
175
+ return readCookie(accessKey) ?? fallback.accessToken;
176
+ },
177
+ async set(token) {
178
+ fallback.accessToken = token;
179
+ setCookie(accessKey, token, cookieOptions);
180
+ },
181
+ async clear() {
182
+ fallback.accessToken = null;
183
+ clearCookie(accessKey, cookieOptions);
184
+ },
185
+ async getRefresh() {
186
+ return readCookie(refreshKey) ?? fallback.refreshToken;
187
+ },
188
+ async setRefresh(token) {
189
+ fallback.refreshToken = token;
190
+ setCookie(refreshKey, token, cookieOptions);
191
+ },
192
+ async clearRefresh() {
193
+ fallback.refreshToken = null;
194
+ clearCookie(refreshKey, cookieOptions);
195
+ },
196
+ };
197
+ }
198
+ /**
199
+ * Custom token store with user-provided get/set/clear callbacks.
200
+ * DX-M3: getRefresh defaults to returning null (not access token) when not provided.
201
+ */
202
+ export function authCustomStore(options) {
203
+ return {
204
+ async get() {
205
+ return await options.get();
206
+ },
207
+ async set(token) {
208
+ await options.set(token);
209
+ },
210
+ async clear() {
211
+ await options.clear();
212
+ },
213
+ async getRefresh() {
214
+ return options.getRefresh ? await options.getRefresh() : null;
215
+ },
216
+ async setRefresh(token) {
217
+ if (options.setRefresh) {
218
+ await options.setRefresh(token);
219
+ }
220
+ },
221
+ async clearRefresh() {
222
+ if (options.clearRefresh) {
223
+ await options.clearRefresh();
224
+ }
225
+ },
226
+ };
227
+ }
228
+ /** Hybrid store: delegates access token and refresh token to separate stores. */
229
+ export function authHybridStore(options) {
230
+ return {
231
+ async get() {
232
+ return options.accessToken.get();
233
+ },
234
+ async set(token) {
235
+ await options.accessToken.set(token);
236
+ },
237
+ async clear() {
238
+ await options.accessToken.clear();
239
+ },
240
+ async getRefresh() {
241
+ return options.refreshToken.get();
242
+ },
243
+ async setRefresh(token) {
244
+ await options.refreshToken.set(token);
245
+ },
246
+ async clearRefresh() {
247
+ await options.refreshToken.clear();
248
+ },
249
+ };
250
+ }
251
+ /**
252
+ * Wraps an inner AuthStore with AES-GCM encryption for at-rest token protection (FEAT-M6).
253
+ * Uses Web Crypto API — zero dependencies.
254
+ */
255
+ export function authEncryptedStore(inner, encryptionKey) {
256
+ const encoder = new TextEncoder();
257
+ const decoder = new TextDecoder();
258
+ const deriveKey = async () => {
259
+ const keyMaterial = await crypto.subtle.importKey("raw", encoder.encode(encryptionKey), { name: "PBKDF2" }, false, ["deriveKey"]);
260
+ return crypto.subtle.deriveKey({ name: "PBKDF2", salt: encoder.encode("pureq-auth-encrypted-store"), iterations: 100000, hash: "SHA-256" }, keyMaterial, { name: "AES-GCM", length: 256 }, false, ["encrypt", "decrypt"]);
261
+ };
262
+ let cachedKey = null;
263
+ const getKey = async () => {
264
+ if (!cachedKey) {
265
+ cachedKey = await deriveKey();
266
+ }
267
+ return cachedKey;
268
+ };
269
+ const encrypt = async (plaintext) => {
270
+ const key = await getKey();
271
+ const iv = crypto.getRandomValues(new Uint8Array(12));
272
+ const encrypted = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, encoder.encode(plaintext));
273
+ const combined = new Uint8Array(iv.length + new Uint8Array(encrypted).length);
274
+ combined.set(iv);
275
+ combined.set(new Uint8Array(encrypted), iv.length);
276
+ return btoa(String.fromCharCode(...combined));
277
+ };
278
+ const decrypt = async (ciphertext) => {
279
+ const key = await getKey();
280
+ const combined = Uint8Array.from(atob(ciphertext), (c) => c.charCodeAt(0));
281
+ const iv = combined.slice(0, 12);
282
+ const data = combined.slice(12);
283
+ const decrypted = await crypto.subtle.decrypt({ name: "AES-GCM", iv }, key, data);
284
+ return decoder.decode(decrypted);
285
+ };
286
+ const safeDecrypt = async (value) => {
287
+ if (!value) {
288
+ return null;
289
+ }
290
+ try {
291
+ return await decrypt(value);
292
+ }
293
+ catch {
294
+ return null;
295
+ }
296
+ };
297
+ return {
298
+ async get() {
299
+ return safeDecrypt(await inner.get());
300
+ },
301
+ async set(token) {
302
+ await inner.set(await encrypt(token));
303
+ },
304
+ async clear() {
305
+ await inner.clear();
306
+ },
307
+ async getRefresh() {
308
+ return safeDecrypt(await inner.getRefresh());
309
+ },
310
+ async setRefresh(token) {
311
+ await inner.setRefresh(await encrypt(token));
312
+ },
313
+ async clearRefresh() {
314
+ await inner.clearRefresh();
315
+ },
316
+ };
317
+ }
318
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { MultiTenantAuthPresetFactory, MultiTenantAuthPresetFactoryOptions, MultiTenantAuthTemplatePack, MultiTenantAuthTemplatePackOptions, SingleTenantAuthTemplate, SingleTenantAuthTemplateOptions } from "../shared";
2
+ export declare function createSingleTenantAuthTemplate(options?: SingleTenantAuthTemplateOptions): SingleTenantAuthTemplate;
3
+ /**
4
+ * ARCH-1: Multi-tenant preset factory with LRU cache eviction.
5
+ */
6
+ export declare function createMultiTenantAuthPresetFactory(options: MultiTenantAuthPresetFactoryOptions): MultiTenantAuthPresetFactory;
7
+ export declare function createMultiTenantAuthTemplatePack(options: MultiTenantAuthTemplatePackOptions): MultiTenantAuthTemplatePack;
8
+ export type { MultiTenantAuthPresetFactory, MultiTenantAuthPresetFactoryOptions, MultiTenantAuthTemplatePack, MultiTenantAuthTemplatePackOptions, SingleTenantAuthTemplate, SingleTenantAuthTemplateOptions, } from "../shared";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,WAAW,CAAC;AAmCnB,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,+BAAoC,GAAG,wBAAwB,CAsBtH;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,4BAA4B,CA0E9B;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,2BAA2B,CAyB7B;AAED,YAAY,EACV,4BAA4B,EAC5B,mCAAmC,EACnC,2BAA2B,EAC3B,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,WAAW,CAAC"}
@@ -0,0 +1,146 @@
1
+ import { createAuthPreset } from "../presets";
2
+ const singleTenantThreatModel = {
3
+ summary: "Single-tenant web app with cookie-backed session bootstrap and explicit auth middleware composition.",
4
+ assumptions: [
5
+ "Application controls one trust domain for auth cookies.",
6
+ "Session bootstrap runs on trusted server-side entry points.",
7
+ ],
8
+ mitigations: [
9
+ "Secure + SameSite + HttpOnly cookies are enabled by default.",
10
+ "Request/response cookie sync is centralized through adapters.",
11
+ ],
12
+ caveats: [
13
+ "Cross-domain embedding requires revisiting SameSite/secure choices.",
14
+ "Token claims still require endpoint-level authorization checks.",
15
+ ],
16
+ };
17
+ const multiTenantThreatModel = {
18
+ summary: "Multi-tenant setup with tenant-scoped cookie naming and isolated session channels.",
19
+ assumptions: [
20
+ "Tenant resolution is deterministic and validated before auth usage.",
21
+ "Per-tenant configuration is sourced from trusted control-plane data.",
22
+ ],
23
+ mitigations: [
24
+ "Cookie prefixes are tenant scoped to reduce accidental token overlap.",
25
+ "Session manager instances are isolated per tenant preset.",
26
+ ],
27
+ caveats: [
28
+ "Tenant mis-resolution can still lead to cross-tenant access bugs.",
29
+ "Strong tenant boundary checks are still required in application authorization.",
30
+ ],
31
+ };
32
+ export function createSingleTenantAuthTemplate(options = {}) {
33
+ const cookiePrefix = options.cookiePrefix ?? "pureq";
34
+ const sameSite = options.sameSite ?? "lax";
35
+ const secure = options.secureCookies ?? true;
36
+ const preset = createAuthPreset({
37
+ ...options,
38
+ bridge: {
39
+ accessTokenCookieName: `${cookiePrefix}_access_token`,
40
+ refreshTokenCookieName: `${cookiePrefix}_refresh_token`,
41
+ sameSite,
42
+ secure,
43
+ httpOnly: true,
44
+ ...(options.bridge ?? {}),
45
+ },
46
+ });
47
+ return {
48
+ kind: "single-tenant",
49
+ preset,
50
+ threatModel: singleTenantThreatModel,
51
+ };
52
+ }
53
+ /**
54
+ * ARCH-1: Multi-tenant preset factory with LRU cache eviction.
55
+ */
56
+ export function createMultiTenantAuthPresetFactory(options) {
57
+ const cacheEnabled = options.cache ?? true;
58
+ const maxCacheSize = options.maxCacheSize ?? 100;
59
+ const cache = new Map();
60
+ // Track insertion order for LRU eviction
61
+ const accessOrder = [];
62
+ const touchAccess = (tenantId) => {
63
+ const idx = accessOrder.indexOf(tenantId);
64
+ if (idx !== -1) {
65
+ accessOrder.splice(idx, 1);
66
+ }
67
+ accessOrder.push(tenantId);
68
+ };
69
+ const evictIfNeeded = () => {
70
+ while (cache.size > maxCacheSize && accessOrder.length > 0) {
71
+ const oldest = accessOrder.shift();
72
+ const preset = cache.get(oldest);
73
+ if (preset) {
74
+ preset.session.dispose();
75
+ cache.delete(oldest);
76
+ }
77
+ }
78
+ };
79
+ const createTenantPreset = async (tenantId) => {
80
+ const tenantOptions = await options.resolveTenantOptions(tenantId);
81
+ return createAuthPreset(tenantOptions);
82
+ };
83
+ return {
84
+ async getTenantPreset(tenantId) {
85
+ if (!cacheEnabled) {
86
+ return createTenantPreset(tenantId);
87
+ }
88
+ const existing = cache.get(tenantId);
89
+ if (existing) {
90
+ touchAccess(tenantId);
91
+ return existing;
92
+ }
93
+ const preset = await createTenantPreset(tenantId);
94
+ cache.set(tenantId, preset);
95
+ touchAccess(tenantId);
96
+ evictIfNeeded();
97
+ return preset;
98
+ },
99
+ clearTenant(tenantId) {
100
+ const existing = cache.get(tenantId);
101
+ if (existing) {
102
+ existing.session.dispose();
103
+ cache.delete(tenantId);
104
+ const idx = accessOrder.indexOf(tenantId);
105
+ if (idx !== -1) {
106
+ accessOrder.splice(idx, 1);
107
+ }
108
+ }
109
+ },
110
+ clearAll() {
111
+ for (const preset of cache.values()) {
112
+ preset.session.dispose();
113
+ }
114
+ cache.clear();
115
+ accessOrder.length = 0;
116
+ },
117
+ dispose() {
118
+ this.clearAll();
119
+ },
120
+ };
121
+ }
122
+ export function createMultiTenantAuthTemplatePack(options) {
123
+ const factory = createMultiTenantAuthPresetFactory({
124
+ ...(options.cache !== undefined ? { cache: options.cache } : {}),
125
+ ...(options.maxCacheSize !== undefined ? { maxCacheSize: options.maxCacheSize } : {}),
126
+ resolveTenantOptions: async (tenantId) => {
127
+ const resolved = await options.resolveTenantOptions(tenantId);
128
+ const cookiePrefix = resolved.cookiePrefix ?? tenantId;
129
+ return {
130
+ ...resolved,
131
+ bridge: {
132
+ accessTokenCookieName: `${cookiePrefix}_access_token`,
133
+ refreshTokenCookieName: `${cookiePrefix}_refresh_token`,
134
+ httpOnly: true,
135
+ ...(resolved.bridge ?? {}),
136
+ },
137
+ };
138
+ },
139
+ });
140
+ return {
141
+ kind: "multi-tenant",
142
+ factory,
143
+ threatModel: multiTenantThreatModel,
144
+ };
145
+ }
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}