tokentracker-cli 0.2.23

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 (1153) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/README.old.md +324 -0
  4. package/README.zh-CN.md +440 -0
  5. package/bin/tracker.js +28 -0
  6. package/dashboard/dist/apple-touch-icon.png +0 -0
  7. package/dashboard/dist/assets/AsciiBox-vyDhXYY5.js +1 -0
  8. package/dashboard/dist/assets/DashboardPage-CrplxZFL.js +12 -0
  9. package/dashboard/dist/assets/LandingExtras-DlrtqIDj.js +1 -0
  10. package/dashboard/dist/assets/LeaderboardPage-Czwkjje0.js +1 -0
  11. package/dashboard/dist/assets/LeaderboardProfilePage-C4rorru6.js +1 -0
  12. package/dashboard/dist/assets/MatrixRain-bGmRmuOW.js +1 -0
  13. package/dashboard/dist/assets/MatrixShell-BfOGBm5o.js +1 -0
  14. package/dashboard/dist/assets/geist-mono-cyrillic-400-normal-BPBWmzPh.woff +0 -0
  15. package/dashboard/dist/assets/geist-mono-cyrillic-400-normal-Ce5q_31Z.woff2 +0 -0
  16. package/dashboard/dist/assets/geist-mono-cyrillic-500-normal-CJBLNVQT.woff2 +0 -0
  17. package/dashboard/dist/assets/geist-mono-cyrillic-500-normal-mNhfPmgl.woff +0 -0
  18. package/dashboard/dist/assets/geist-mono-cyrillic-700-normal-DH5Q319x.woff +0 -0
  19. package/dashboard/dist/assets/geist-mono-cyrillic-700-normal-VCNRadI3.woff2 +0 -0
  20. package/dashboard/dist/assets/geist-mono-cyrillic-900-normal-BKC3PZkM.woff +0 -0
  21. package/dashboard/dist/assets/geist-mono-cyrillic-900-normal-DdrQ8KBw.woff2 +0 -0
  22. package/dashboard/dist/assets/geist-mono-latin-400-normal-CoULgQGM.woff +0 -0
  23. package/dashboard/dist/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2 +0 -0
  24. package/dashboard/dist/assets/geist-mono-latin-500-normal-D3o2eNa9.woff2 +0 -0
  25. package/dashboard/dist/assets/geist-mono-latin-500-normal-DOxI7kZ4.woff +0 -0
  26. package/dashboard/dist/assets/geist-mono-latin-700-normal-D6izGJRP.woff2 +0 -0
  27. package/dashboard/dist/assets/geist-mono-latin-700-normal-QGw08Lff.woff +0 -0
  28. package/dashboard/dist/assets/geist-mono-latin-900-normal-CmoKXrdK.woff +0 -0
  29. package/dashboard/dist/assets/geist-mono-latin-900-normal-Cu5MFKsu.woff2 +0 -0
  30. package/dashboard/dist/assets/geist-mono-latin-ext-400-normal-Cgks_Qgx.woff2 +0 -0
  31. package/dashboard/dist/assets/geist-mono-latin-ext-400-normal-CxNRRMGd.woff +0 -0
  32. package/dashboard/dist/assets/geist-mono-latin-ext-500-normal-CQcGuCNt.woff2 +0 -0
  33. package/dashboard/dist/assets/geist-mono-latin-ext-500-normal-diTenJ8L.woff +0 -0
  34. package/dashboard/dist/assets/geist-mono-latin-ext-700-normal-BX9f1BHp.woff +0 -0
  35. package/dashboard/dist/assets/geist-mono-latin-ext-700-normal-YOllDaLV.woff2 +0 -0
  36. package/dashboard/dist/assets/geist-mono-latin-ext-900-normal-Br6WNUGb.woff +0 -0
  37. package/dashboard/dist/assets/geist-mono-latin-ext-900-normal-CrmBTzU2.woff2 +0 -0
  38. package/dashboard/dist/assets/index-BeoRn2gJ.js +2 -0
  39. package/dashboard/dist/assets/main-BYPG1_bI.js +2056 -0
  40. package/dashboard/dist/assets/main-hwTpulbk.css +1 -0
  41. package/dashboard/dist/favicon-16.png +0 -0
  42. package/dashboard/dist/favicon-32.png +0 -0
  43. package/dashboard/dist/favicon.ico +0 -0
  44. package/dashboard/dist/feed.xml +18 -0
  45. package/dashboard/dist/icon-192.png +0 -0
  46. package/dashboard/dist/icon-512.png +0 -0
  47. package/dashboard/dist/icon.svg +1 -0
  48. package/dashboard/dist/index.html +181 -0
  49. package/dashboard/dist/landing-dashboard.jpg +0 -0
  50. package/dashboard/dist/llms.txt +25 -0
  51. package/dashboard/dist/og-image.jpg +0 -0
  52. package/dashboard/dist/robots.txt +7 -0
  53. package/dashboard/dist/share-dashboard.jpg +0 -0
  54. package/dashboard/dist/share.html +118 -0
  55. package/dashboard/dist/sitemap.xml +13 -0
  56. package/dashboard/dist/social-preview.png +0 -0
  57. package/dashboard/dist/wrapped-2025.html +60 -0
  58. package/dashboard/dist/wrapped-2025.png +0 -0
  59. package/node_modules/@insforge/sdk/LICENSE +201 -0
  60. package/node_modules/@insforge/sdk/README.md +259 -0
  61. package/node_modules/@insforge/sdk/dist/index.d.mts +854 -0
  62. package/node_modules/@insforge/sdk/dist/index.d.ts +854 -0
  63. package/node_modules/@insforge/sdk/dist/index.js +1823 -0
  64. package/node_modules/@insforge/sdk/dist/index.js.map +1 -0
  65. package/node_modules/@insforge/sdk/dist/index.mjs +1784 -0
  66. package/node_modules/@insforge/sdk/dist/index.mjs.map +1 -0
  67. package/node_modules/@insforge/sdk/package.json +68 -0
  68. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.d.ts +583 -0
  69. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.d.ts.map +1 -0
  70. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.js +111 -0
  71. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.js.map +1 -0
  72. package/node_modules/@insforge/shared-schemas/dist/ai.schema.d.ts +188 -0
  73. package/node_modules/@insforge/shared-schemas/dist/ai.schema.d.ts.map +1 -0
  74. package/node_modules/@insforge/shared-schemas/dist/ai.schema.js +48 -0
  75. package/node_modules/@insforge/shared-schemas/dist/ai.schema.js.map +1 -0
  76. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.d.ts +1127 -0
  77. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.d.ts.map +1 -0
  78. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.js +277 -0
  79. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.js.map +1 -0
  80. package/node_modules/@insforge/shared-schemas/dist/auth.schema.d.ts +187 -0
  81. package/node_modules/@insforge/shared-schemas/dist/auth.schema.d.ts.map +1 -0
  82. package/node_modules/@insforge/shared-schemas/dist/auth.schema.js +105 -0
  83. package/node_modules/@insforge/shared-schemas/dist/auth.schema.js.map +1 -0
  84. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.d.ts +144 -0
  85. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.d.ts.map +1 -0
  86. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.js +41 -0
  87. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.js.map +1 -0
  88. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.d.ts +1627 -0
  89. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.d.ts.map +1 -0
  90. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.js +209 -0
  91. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.js.map +1 -0
  92. package/node_modules/@insforge/shared-schemas/dist/database.schema.d.ts +263 -0
  93. package/node_modules/@insforge/shared-schemas/dist/database.schema.d.ts.map +1 -0
  94. package/node_modules/@insforge/shared-schemas/dist/database.schema.js +89 -0
  95. package/node_modules/@insforge/shared-schemas/dist/database.schema.js.map +1 -0
  96. package/node_modules/@insforge/shared-schemas/dist/docs.schema.d.ts +4 -0
  97. package/node_modules/@insforge/shared-schemas/dist/docs.schema.d.ts.map +1 -0
  98. package/node_modules/@insforge/shared-schemas/dist/docs.schema.js +22 -0
  99. package/node_modules/@insforge/shared-schemas/dist/docs.schema.js.map +1 -0
  100. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.d.ts +34 -0
  101. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.d.ts.map +1 -0
  102. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.js +24 -0
  103. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.js.map +1 -0
  104. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.d.ts +39 -0
  105. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.d.ts.map +1 -0
  106. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.js +18 -0
  107. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.js.map +1 -0
  108. package/node_modules/@insforge/shared-schemas/dist/functions.schema.d.ts +34 -0
  109. package/node_modules/@insforge/shared-schemas/dist/functions.schema.d.ts.map +1 -0
  110. package/node_modules/@insforge/shared-schemas/dist/functions.schema.js +14 -0
  111. package/node_modules/@insforge/shared-schemas/dist/functions.schema.js.map +1 -0
  112. package/node_modules/@insforge/shared-schemas/dist/index.d.ts +19 -0
  113. package/node_modules/@insforge/shared-schemas/dist/index.d.ts.map +1 -0
  114. package/node_modules/@insforge/shared-schemas/dist/index.js +19 -0
  115. package/node_modules/@insforge/shared-schemas/dist/index.js.map +1 -0
  116. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.d.ts +237 -0
  117. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.d.ts.map +1 -0
  118. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.js +41 -0
  119. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.js.map +1 -0
  120. package/node_modules/@insforge/shared-schemas/dist/logs.schema.d.ts +79 -0
  121. package/node_modules/@insforge/shared-schemas/dist/logs.schema.d.ts.map +1 -0
  122. package/node_modules/@insforge/shared-schemas/dist/logs.schema.js +31 -0
  123. package/node_modules/@insforge/shared-schemas/dist/logs.schema.js.map +1 -0
  124. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.d.ts +940 -0
  125. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.d.ts.map +1 -0
  126. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.js +50 -0
  127. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.js.map +1 -0
  128. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.d.ts +395 -0
  129. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.d.ts.map +1 -0
  130. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.js +73 -0
  131. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.js.map +1 -0
  132. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.d.ts +269 -0
  133. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.d.ts.map +1 -0
  134. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.js +109 -0
  135. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.js.map +1 -0
  136. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.d.ts +166 -0
  137. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.d.ts.map +1 -0
  138. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.js +49 -0
  139. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.js.map +1 -0
  140. package/node_modules/@insforge/shared-schemas/dist/storage.schema.d.ts +39 -0
  141. package/node_modules/@insforge/shared-schemas/dist/storage.schema.d.ts.map +1 -0
  142. package/node_modules/@insforge/shared-schemas/dist/storage.schema.js +15 -0
  143. package/node_modules/@insforge/shared-schemas/dist/storage.schema.js.map +1 -0
  144. package/node_modules/@insforge/shared-schemas/package.json +31 -0
  145. package/node_modules/@socket.io/component-emitter/LICENSE +24 -0
  146. package/node_modules/@socket.io/component-emitter/Readme.md +79 -0
  147. package/node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts +179 -0
  148. package/node_modules/@socket.io/component-emitter/lib/cjs/index.js +176 -0
  149. package/node_modules/@socket.io/component-emitter/lib/cjs/package.json +4 -0
  150. package/node_modules/@socket.io/component-emitter/lib/esm/index.d.ts +179 -0
  151. package/node_modules/@socket.io/component-emitter/lib/esm/index.js +169 -0
  152. package/node_modules/@socket.io/component-emitter/lib/esm/package.json +4 -0
  153. package/node_modules/@socket.io/component-emitter/package.json +28 -0
  154. package/node_modules/@supabase/node-fetch/LICENSE.md +22 -0
  155. package/node_modules/@supabase/node-fetch/README.md +633 -0
  156. package/node_modules/@supabase/node-fetch/browser.js +22 -0
  157. package/node_modules/@supabase/node-fetch/lib/index.es.js +1778 -0
  158. package/node_modules/@supabase/node-fetch/lib/index.js +1787 -0
  159. package/node_modules/@supabase/node-fetch/lib/index.mjs +1776 -0
  160. package/node_modules/@supabase/node-fetch/package.json +80 -0
  161. package/node_modules/@supabase/postgrest-js/LICENSE +21 -0
  162. package/node_modules/@supabase/postgrest-js/README.md +56 -0
  163. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.d.ts +71 -0
  164. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.d.ts.map +1 -0
  165. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js +222 -0
  166. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js.map +1 -0
  167. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.d.ts +74 -0
  168. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.d.ts.map +1 -0
  169. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js +121 -0
  170. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js.map +1 -0
  171. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.d.ts +17 -0
  172. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.d.ts.map +1 -0
  173. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js +18 -0
  174. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js.map +1 -0
  175. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.d.ts +108 -0
  176. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.d.ts.map +1 -0
  177. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js +381 -0
  178. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js.map +1 -0
  179. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.d.ts +117 -0
  180. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.d.ts.map +1 -0
  181. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js +251 -0
  182. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js.map +1 -0
  183. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.d.ts +157 -0
  184. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.d.ts.map +1 -0
  185. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js +226 -0
  186. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js.map +1 -0
  187. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.d.ts +4 -0
  188. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.d.ts.map +1 -0
  189. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.js +6 -0
  190. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.js.map +1 -0
  191. package/node_modules/@supabase/postgrest-js/dist/cjs/index.d.ts +19 -0
  192. package/node_modules/@supabase/postgrest-js/dist/cjs/index.d.ts.map +1 -0
  193. package/node_modules/@supabase/postgrest-js/dist/cjs/index.js +28 -0
  194. package/node_modules/@supabase/postgrest-js/dist/cjs/index.js.map +1 -0
  195. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.d.ts +261 -0
  196. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.d.ts.map +1 -0
  197. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.js +5 -0
  198. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.js.map +1 -0
  199. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.d.ts +157 -0
  200. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.d.ts.map +1 -0
  201. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.js +3 -0
  202. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.js.map +1 -0
  203. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.d.ts +31 -0
  204. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.d.ts.map +1 -0
  205. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.js +3 -0
  206. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.js.map +1 -0
  207. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.d.ts +264 -0
  208. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.d.ts.map +1 -0
  209. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.js +3 -0
  210. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.js.map +1 -0
  211. package/node_modules/@supabase/postgrest-js/dist/cjs/types.d.ts +106 -0
  212. package/node_modules/@supabase/postgrest-js/dist/cjs/types.d.ts.map +1 -0
  213. package/node_modules/@supabase/postgrest-js/dist/cjs/types.js +3 -0
  214. package/node_modules/@supabase/postgrest-js/dist/cjs/types.js.map +1 -0
  215. package/node_modules/@supabase/postgrest-js/dist/cjs/version.d.ts +2 -0
  216. package/node_modules/@supabase/postgrest-js/dist/cjs/version.d.ts.map +1 -0
  217. package/node_modules/@supabase/postgrest-js/dist/cjs/version.js +5 -0
  218. package/node_modules/@supabase/postgrest-js/dist/cjs/version.js.map +1 -0
  219. package/node_modules/@supabase/postgrest-js/dist/esm/wrapper.mjs +28 -0
  220. package/node_modules/@supabase/postgrest-js/package.json +75 -0
  221. package/node_modules/@supabase/postgrest-js/src/PostgrestBuilder.ts +300 -0
  222. package/node_modules/@supabase/postgrest-js/src/PostgrestClient.ts +192 -0
  223. package/node_modules/@supabase/postgrest-js/src/PostgrestError.ts +18 -0
  224. package/node_modules/@supabase/postgrest-js/src/PostgrestFilterBuilder.ts +604 -0
  225. package/node_modules/@supabase/postgrest-js/src/PostgrestQueryBuilder.ts +437 -0
  226. package/node_modules/@supabase/postgrest-js/src/PostgrestTransformBuilder.ts +368 -0
  227. package/node_modules/@supabase/postgrest-js/src/constants.ts +2 -0
  228. package/node_modules/@supabase/postgrest-js/src/index.ts +35 -0
  229. package/node_modules/@supabase/postgrest-js/src/select-query-parser/parser.ts +469 -0
  230. package/node_modules/@supabase/postgrest-js/src/select-query-parser/result.ts +503 -0
  231. package/node_modules/@supabase/postgrest-js/src/select-query-parser/types.ts +115 -0
  232. package/node_modules/@supabase/postgrest-js/src/select-query-parser/utils.ts +602 -0
  233. package/node_modules/@supabase/postgrest-js/src/types.ts +201 -0
  234. package/node_modules/@supabase/postgrest-js/src/version.ts +1 -0
  235. package/node_modules/debug/LICENSE +20 -0
  236. package/node_modules/debug/README.md +481 -0
  237. package/node_modules/debug/package.json +60 -0
  238. package/node_modules/debug/src/browser.js +271 -0
  239. package/node_modules/debug/src/common.js +274 -0
  240. package/node_modules/debug/src/index.js +10 -0
  241. package/node_modules/debug/src/node.js +263 -0
  242. package/node_modules/engine.io-client/LICENSE +22 -0
  243. package/node_modules/engine.io-client/README.md +331 -0
  244. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts +3 -0
  245. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.js +4 -0
  246. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts +1 -0
  247. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.js +14 -0
  248. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts +15 -0
  249. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.js +38 -0
  250. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts +1 -0
  251. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.js +67 -0
  252. package/node_modules/engine.io-client/build/cjs/globals.d.ts +4 -0
  253. package/node_modules/engine.io-client/build/cjs/globals.js +26 -0
  254. package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +21 -0
  255. package/node_modules/engine.io-client/build/cjs/globals.node.js +97 -0
  256. package/node_modules/engine.io-client/build/cjs/index.d.ts +15 -0
  257. package/node_modules/engine.io-client/build/cjs/index.js +32 -0
  258. package/node_modules/engine.io-client/build/cjs/package.json +10 -0
  259. package/node_modules/engine.io-client/build/cjs/socket.d.ts +482 -0
  260. package/node_modules/engine.io-client/build/cjs/socket.js +765 -0
  261. package/node_modules/engine.io-client/build/cjs/transport.d.ts +106 -0
  262. package/node_modules/engine.io-client/build/cjs/transport.js +153 -0
  263. package/node_modules/engine.io-client/build/cjs/transports/index.d.ts +8 -0
  264. package/node_modules/engine.io-client/build/cjs/transports/index.js +11 -0
  265. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.d.ts +15 -0
  266. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.js +60 -0
  267. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +108 -0
  268. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +285 -0
  269. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.d.ts +11 -0
  270. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +44 -0
  271. package/node_modules/engine.io-client/build/cjs/transports/polling.d.ts +52 -0
  272. package/node_modules/engine.io-client/build/cjs/transports/polling.js +165 -0
  273. package/node_modules/engine.io-client/build/cjs/transports/websocket.d.ts +36 -0
  274. package/node_modules/engine.io-client/build/cjs/transports/websocket.js +136 -0
  275. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.d.ts +14 -0
  276. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +68 -0
  277. package/node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts +18 -0
  278. package/node_modules/engine.io-client/build/cjs/transports/webtransport.js +94 -0
  279. package/node_modules/engine.io-client/build/cjs/util.d.ts +7 -0
  280. package/node_modules/engine.io-client/build/cjs/util.js +65 -0
  281. package/node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts +3 -0
  282. package/node_modules/engine.io-client/build/esm/browser-entrypoint.js +2 -0
  283. package/node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts +1 -0
  284. package/node_modules/engine.io-client/build/esm/contrib/has-cors.js +11 -0
  285. package/node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts +15 -0
  286. package/node_modules/engine.io-client/build/esm/contrib/parseqs.js +34 -0
  287. package/node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts +1 -0
  288. package/node_modules/engine.io-client/build/esm/contrib/parseuri.js +64 -0
  289. package/node_modules/engine.io-client/build/esm/globals.d.ts +4 -0
  290. package/node_modules/engine.io-client/build/esm/globals.js +22 -0
  291. package/node_modules/engine.io-client/build/esm/globals.node.d.ts +21 -0
  292. package/node_modules/engine.io-client/build/esm/globals.node.js +91 -0
  293. package/node_modules/engine.io-client/build/esm/index.d.ts +15 -0
  294. package/node_modules/engine.io-client/build/esm/index.js +15 -0
  295. package/node_modules/engine.io-client/build/esm/package.json +10 -0
  296. package/node_modules/engine.io-client/build/esm/socket.d.ts +482 -0
  297. package/node_modules/engine.io-client/build/esm/socket.js +727 -0
  298. package/node_modules/engine.io-client/build/esm/transport.d.ts +106 -0
  299. package/node_modules/engine.io-client/build/esm/transport.js +142 -0
  300. package/node_modules/engine.io-client/build/esm/transports/index.d.ts +8 -0
  301. package/node_modules/engine.io-client/build/esm/transports/index.js +8 -0
  302. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.d.ts +15 -0
  303. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.js +56 -0
  304. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +108 -0
  305. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +271 -0
  306. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.d.ts +11 -0
  307. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +17 -0
  308. package/node_modules/engine.io-client/build/esm/transports/polling.d.ts +52 -0
  309. package/node_modules/engine.io-client/build/esm/transports/polling.js +145 -0
  310. package/node_modules/engine.io-client/build/esm/transports/websocket.d.ts +36 -0
  311. package/node_modules/engine.io-client/build/esm/transports/websocket.js +125 -0
  312. package/node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts +14 -0
  313. package/node_modules/engine.io-client/build/esm/transports/websocket.node.js +41 -0
  314. package/node_modules/engine.io-client/build/esm/transports/webtransport.d.ts +18 -0
  315. package/node_modules/engine.io-client/build/esm/transports/webtransport.js +80 -0
  316. package/node_modules/engine.io-client/build/esm/util.d.ts +7 -0
  317. package/node_modules/engine.io-client/build/esm/util.js +59 -0
  318. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts +3 -0
  319. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js +2 -0
  320. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts +1 -0
  321. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js +11 -0
  322. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts +15 -0
  323. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js +34 -0
  324. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts +1 -0
  325. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js +64 -0
  326. package/node_modules/engine.io-client/build/esm-debug/globals.d.ts +4 -0
  327. package/node_modules/engine.io-client/build/esm-debug/globals.js +22 -0
  328. package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +21 -0
  329. package/node_modules/engine.io-client/build/esm-debug/globals.node.js +91 -0
  330. package/node_modules/engine.io-client/build/esm-debug/index.d.ts +15 -0
  331. package/node_modules/engine.io-client/build/esm-debug/index.js +15 -0
  332. package/node_modules/engine.io-client/build/esm-debug/package.json +10 -0
  333. package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +482 -0
  334. package/node_modules/engine.io-client/build/esm-debug/socket.js +756 -0
  335. package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +106 -0
  336. package/node_modules/engine.io-client/build/esm-debug/transport.js +145 -0
  337. package/node_modules/engine.io-client/build/esm-debug/transports/index.d.ts +8 -0
  338. package/node_modules/engine.io-client/build/esm-debug/transports/index.js +8 -0
  339. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.d.ts +15 -0
  340. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.js +56 -0
  341. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +108 -0
  342. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +276 -0
  343. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.d.ts +11 -0
  344. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js +17 -0
  345. package/node_modules/engine.io-client/build/esm-debug/transports/polling.d.ts +52 -0
  346. package/node_modules/engine.io-client/build/esm-debug/transports/polling.js +158 -0
  347. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.d.ts +36 -0
  348. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.js +128 -0
  349. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.d.ts +14 -0
  350. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js +41 -0
  351. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts +18 -0
  352. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js +87 -0
  353. package/node_modules/engine.io-client/build/esm-debug/util.d.ts +7 -0
  354. package/node_modules/engine.io-client/build/esm-debug/util.js +59 -0
  355. package/node_modules/engine.io-client/dist/engine.io.esm.min.js +7 -0
  356. package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -0
  357. package/node_modules/engine.io-client/dist/engine.io.js +2968 -0
  358. package/node_modules/engine.io-client/dist/engine.io.js.map +1 -0
  359. package/node_modules/engine.io-client/dist/engine.io.min.js +7 -0
  360. package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -0
  361. package/node_modules/engine.io-client/package.json +95 -0
  362. package/node_modules/engine.io-parser/LICENSE +22 -0
  363. package/node_modules/engine.io-parser/Readme.md +158 -0
  364. package/node_modules/engine.io-parser/build/cjs/commons.d.ts +14 -0
  365. package/node_modules/engine.io-parser/build/cjs/commons.js +19 -0
  366. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts +2 -0
  367. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js +48 -0
  368. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts +2 -0
  369. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js +66 -0
  370. package/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts +2 -0
  371. package/node_modules/engine.io-parser/build/cjs/decodePacket.js +59 -0
  372. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts +4 -0
  373. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +72 -0
  374. package/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts +3 -0
  375. package/node_modules/engine.io-parser/build/cjs/encodePacket.js +38 -0
  376. package/node_modules/engine.io-parser/build/cjs/index.d.ts +9 -0
  377. package/node_modules/engine.io-parser/build/cjs/index.js +164 -0
  378. package/node_modules/engine.io-parser/build/cjs/package.json +8 -0
  379. package/node_modules/engine.io-parser/build/esm/commons.d.ts +14 -0
  380. package/node_modules/engine.io-parser/build/esm/commons.js +14 -0
  381. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts +2 -0
  382. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +43 -0
  383. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts +2 -0
  384. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +62 -0
  385. package/node_modules/engine.io-parser/build/esm/decodePacket.d.ts +2 -0
  386. package/node_modules/engine.io-parser/build/esm/decodePacket.js +55 -0
  387. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts +4 -0
  388. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +68 -0
  389. package/node_modules/engine.io-parser/build/esm/encodePacket.d.ts +3 -0
  390. package/node_modules/engine.io-parser/build/esm/encodePacket.js +33 -0
  391. package/node_modules/engine.io-parser/build/esm/index.d.ts +9 -0
  392. package/node_modules/engine.io-parser/build/esm/index.js +156 -0
  393. package/node_modules/engine.io-parser/build/esm/package.json +8 -0
  394. package/node_modules/engine.io-parser/package.json +46 -0
  395. package/node_modules/ms/index.js +162 -0
  396. package/node_modules/ms/license.md +21 -0
  397. package/node_modules/ms/package.json +38 -0
  398. package/node_modules/ms/readme.md +59 -0
  399. package/node_modules/socket.io-client/LICENSE +21 -0
  400. package/node_modules/socket.io-client/README.md +29 -0
  401. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts +2 -0
  402. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.js +4 -0
  403. package/node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts +12 -0
  404. package/node_modules/socket.io-client/build/cjs/contrib/backo2.js +69 -0
  405. package/node_modules/socket.io-client/build/cjs/index.d.ts +29 -0
  406. package/node_modules/socket.io-client/build/cjs/index.js +76 -0
  407. package/node_modules/socket.io-client/build/cjs/manager.d.ts +295 -0
  408. package/node_modules/socket.io-client/build/cjs/manager.js +416 -0
  409. package/node_modules/socket.io-client/build/cjs/on.d.ts +2 -0
  410. package/node_modules/socket.io-client/build/cjs/on.js +9 -0
  411. package/node_modules/socket.io-client/build/cjs/socket.d.ts +593 -0
  412. package/node_modules/socket.io-client/build/cjs/socket.js +910 -0
  413. package/node_modules/socket.io-client/build/cjs/url.d.ts +33 -0
  414. package/node_modules/socket.io-client/build/cjs/url.js +69 -0
  415. package/node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts +2 -0
  416. package/node_modules/socket.io-client/build/esm/browser-entrypoint.js +2 -0
  417. package/node_modules/socket.io-client/build/esm/contrib/backo2.d.ts +12 -0
  418. package/node_modules/socket.io-client/build/esm/contrib/backo2.js +66 -0
  419. package/node_modules/socket.io-client/build/esm/index.d.ts +29 -0
  420. package/node_modules/socket.io-client/build/esm/index.js +58 -0
  421. package/node_modules/socket.io-client/build/esm/manager.d.ts +295 -0
  422. package/node_modules/socket.io-client/build/esm/manager.js +367 -0
  423. package/node_modules/socket.io-client/build/esm/on.d.ts +2 -0
  424. package/node_modules/socket.io-client/build/esm/on.js +6 -0
  425. package/node_modules/socket.io-client/build/esm/package.json +5 -0
  426. package/node_modules/socket.io-client/build/esm/socket.d.ts +593 -0
  427. package/node_modules/socket.io-client/build/esm/socket.js +882 -0
  428. package/node_modules/socket.io-client/build/esm/url.d.ts +33 -0
  429. package/node_modules/socket.io-client/build/esm/url.js +59 -0
  430. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts +2 -0
  431. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js +2 -0
  432. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts +12 -0
  433. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.js +66 -0
  434. package/node_modules/socket.io-client/build/esm-debug/index.d.ts +29 -0
  435. package/node_modules/socket.io-client/build/esm-debug/index.js +62 -0
  436. package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +295 -0
  437. package/node_modules/socket.io-client/build/esm-debug/manager.js +386 -0
  438. package/node_modules/socket.io-client/build/esm-debug/on.d.ts +2 -0
  439. package/node_modules/socket.io-client/build/esm-debug/on.js +6 -0
  440. package/node_modules/socket.io-client/build/esm-debug/package.json +5 -0
  441. package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +593 -0
  442. package/node_modules/socket.io-client/build/esm-debug/socket.js +903 -0
  443. package/node_modules/socket.io-client/build/esm-debug/url.d.ts +33 -0
  444. package/node_modules/socket.io-client/build/esm-debug/url.js +63 -0
  445. package/node_modules/socket.io-client/dist/socket.io.esm.min.js +7 -0
  446. package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -0
  447. package/node_modules/socket.io-client/dist/socket.io.js +4908 -0
  448. package/node_modules/socket.io-client/dist/socket.io.js.map +1 -0
  449. package/node_modules/socket.io-client/dist/socket.io.min.js +7 -0
  450. package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -0
  451. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +7 -0
  452. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -0
  453. package/node_modules/socket.io-client/package.json +101 -0
  454. package/node_modules/socket.io-parser/LICENSE +20 -0
  455. package/node_modules/socket.io-parser/Readme.md +81 -0
  456. package/node_modules/socket.io-parser/build/cjs/binary.d.ts +20 -0
  457. package/node_modules/socket.io-parser/build/cjs/binary.js +88 -0
  458. package/node_modules/socket.io-parser/build/cjs/index.d.ts +90 -0
  459. package/node_modules/socket.io-parser/build/cjs/index.js +321 -0
  460. package/node_modules/socket.io-parser/build/cjs/is-binary.d.ts +7 -0
  461. package/node_modules/socket.io-parser/build/cjs/is-binary.js +55 -0
  462. package/node_modules/socket.io-parser/build/cjs/package.json +3 -0
  463. package/node_modules/socket.io-parser/build/esm/binary.d.ts +20 -0
  464. package/node_modules/socket.io-parser/build/esm/binary.js +83 -0
  465. package/node_modules/socket.io-parser/build/esm/index.d.ts +90 -0
  466. package/node_modules/socket.io-parser/build/esm/index.js +311 -0
  467. package/node_modules/socket.io-parser/build/esm/is-binary.d.ts +7 -0
  468. package/node_modules/socket.io-parser/build/esm/is-binary.js +50 -0
  469. package/node_modules/socket.io-parser/build/esm/package.json +3 -0
  470. package/node_modules/socket.io-parser/build/esm-debug/binary.d.ts +20 -0
  471. package/node_modules/socket.io-parser/build/esm-debug/binary.js +83 -0
  472. package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +90 -0
  473. package/node_modules/socket.io-parser/build/esm-debug/index.js +316 -0
  474. package/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts +7 -0
  475. package/node_modules/socket.io-parser/build/esm-debug/is-binary.js +50 -0
  476. package/node_modules/socket.io-parser/build/esm-debug/package.json +3 -0
  477. package/node_modules/socket.io-parser/package.json +58 -0
  478. package/node_modules/tr46/.npmignore +4 -0
  479. package/node_modules/tr46/index.js +193 -0
  480. package/node_modules/tr46/lib/.gitkeep +0 -0
  481. package/node_modules/tr46/lib/mappingTable.json +1 -0
  482. package/node_modules/tr46/package.json +31 -0
  483. package/node_modules/webidl-conversions/LICENSE.md +12 -0
  484. package/node_modules/webidl-conversions/README.md +53 -0
  485. package/node_modules/webidl-conversions/lib/index.js +189 -0
  486. package/node_modules/webidl-conversions/package.json +23 -0
  487. package/node_modules/whatwg-url/LICENSE.txt +21 -0
  488. package/node_modules/whatwg-url/README.md +67 -0
  489. package/node_modules/whatwg-url/lib/URL-impl.js +200 -0
  490. package/node_modules/whatwg-url/lib/URL.js +196 -0
  491. package/node_modules/whatwg-url/lib/public-api.js +11 -0
  492. package/node_modules/whatwg-url/lib/url-state-machine.js +1297 -0
  493. package/node_modules/whatwg-url/lib/utils.js +20 -0
  494. package/node_modules/whatwg-url/package.json +32 -0
  495. package/node_modules/ws/LICENSE +20 -0
  496. package/node_modules/ws/README.md +548 -0
  497. package/node_modules/ws/browser.js +8 -0
  498. package/node_modules/ws/index.js +13 -0
  499. package/node_modules/ws/lib/buffer-util.js +131 -0
  500. package/node_modules/ws/lib/constants.js +12 -0
  501. package/node_modules/ws/lib/event-target.js +292 -0
  502. package/node_modules/ws/lib/extension.js +203 -0
  503. package/node_modules/ws/lib/limiter.js +55 -0
  504. package/node_modules/ws/lib/permessage-deflate.js +514 -0
  505. package/node_modules/ws/lib/receiver.js +704 -0
  506. package/node_modules/ws/lib/sender.js +497 -0
  507. package/node_modules/ws/lib/stream.js +159 -0
  508. package/node_modules/ws/lib/subprotocol.js +62 -0
  509. package/node_modules/ws/lib/validation.js +130 -0
  510. package/node_modules/ws/lib/websocket-server.js +540 -0
  511. package/node_modules/ws/lib/websocket.js +1338 -0
  512. package/node_modules/ws/package.json +69 -0
  513. package/node_modules/ws/wrapper.mjs +8 -0
  514. package/node_modules/xmlhttprequest-ssl/LICENSE +22 -0
  515. package/node_modules/xmlhttprequest-ssl/README.md +67 -0
  516. package/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +689 -0
  517. package/node_modules/xmlhttprequest-ssl/package.json +40 -0
  518. package/node_modules/zod/LICENSE +21 -0
  519. package/node_modules/zod/README.md +208 -0
  520. package/node_modules/zod/index.cjs +33 -0
  521. package/node_modules/zod/index.d.cts +4 -0
  522. package/node_modules/zod/index.d.ts +4 -0
  523. package/node_modules/zod/index.js +4 -0
  524. package/node_modules/zod/package.json +118 -0
  525. package/node_modules/zod/src/index.ts +4 -0
  526. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  527. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  528. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  529. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  530. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  531. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  532. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  533. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  534. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  535. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  536. package/node_modules/zod/src/v3/errors.ts +13 -0
  537. package/node_modules/zod/src/v3/external.ts +6 -0
  538. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  539. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  540. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  541. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  542. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  543. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  544. package/node_modules/zod/src/v3/index.ts +4 -0
  545. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  546. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  547. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  548. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  549. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  550. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  551. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  552. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  553. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  554. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  555. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  556. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  557. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  558. package/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
  559. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  560. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  561. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  562. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  563. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  564. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  565. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  566. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  567. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  568. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  569. package/node_modules/zod/src/v3/tests/function.test.ts +257 -0
  570. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  571. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  572. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  573. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  574. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  575. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  576. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  577. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  578. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  579. package/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
  580. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  581. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  582. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  583. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  584. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  585. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  586. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  587. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  588. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  589. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  590. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  591. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  592. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  593. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  594. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  595. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  596. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  597. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  598. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  599. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  600. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  601. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  602. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  603. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  604. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  605. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  606. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  607. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  608. package/node_modules/zod/src/v3/types.ts +5136 -0
  609. package/node_modules/zod/src/v4/classic/checks.ts +30 -0
  610. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  611. package/node_modules/zod/src/v4/classic/compat.ts +66 -0
  612. package/node_modules/zod/src/v4/classic/errors.ts +75 -0
  613. package/node_modules/zod/src/v4/classic/external.ts +50 -0
  614. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  615. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  616. package/node_modules/zod/src/v4/classic/parse.ts +33 -0
  617. package/node_modules/zod/src/v4/classic/schemas.ts +2054 -0
  618. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  619. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  620. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  621. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  622. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  623. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  624. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  625. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
  626. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +252 -0
  627. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  628. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  629. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
  630. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  631. package/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
  632. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +296 -0
  633. package/node_modules/zod/src/v4/classic/tests/default.test.ts +313 -0
  634. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  635. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
  636. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  637. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
  638. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  639. package/node_modules/zod/src/v4/classic/tests/file.test.ts +91 -0
  640. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
  641. package/node_modules/zod/src/v4/classic/tests/function.test.ts +268 -0
  642. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  643. package/node_modules/zod/src/v4/classic/tests/index.test.ts +829 -0
  644. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
  645. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
  646. package/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
  647. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  648. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +92 -0
  649. package/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
  650. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  651. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  652. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
  653. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  654. package/node_modules/zod/src/v4/classic/tests/number.test.ts +247 -0
  655. package/node_modules/zod/src/v4/classic/tests/object.test.ts +563 -0
  656. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +123 -0
  657. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +147 -0
  658. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
  659. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +81 -0
  660. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
  661. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
  662. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  663. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  664. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  665. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  666. package/node_modules/zod/src/v4/classic/tests/record.test.ts +342 -0
  667. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
  668. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +532 -0
  669. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
  670. package/node_modules/zod/src/v4/classic/tests/set.test.ts +179 -0
  671. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
  672. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
  673. package/node_modules/zod/src/v4/classic/tests/string.test.ts +881 -0
  674. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
  675. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
  676. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
  677. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +250 -0
  678. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
  679. package/node_modules/zod/src/v4/classic/tests/union.test.ts +94 -0
  680. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  681. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  682. package/node_modules/zod/src/v4/core/api.ts +1594 -0
  683. package/node_modules/zod/src/v4/core/checks.ts +1283 -0
  684. package/node_modules/zod/src/v4/core/config.ts +15 -0
  685. package/node_modules/zod/src/v4/core/core.ts +134 -0
  686. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  687. package/node_modules/zod/src/v4/core/errors.ts +424 -0
  688. package/node_modules/zod/src/v4/core/function.ts +176 -0
  689. package/node_modules/zod/src/v4/core/index.ts +15 -0
  690. package/node_modules/zod/src/v4/core/json-schema.ts +143 -0
  691. package/node_modules/zod/src/v4/core/parse.ts +94 -0
  692. package/node_modules/zod/src/v4/core/regexes.ts +135 -0
  693. package/node_modules/zod/src/v4/core/registries.ts +96 -0
  694. package/node_modules/zod/src/v4/core/schemas.ts +3842 -0
  695. package/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
  696. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  697. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  698. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  699. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  700. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  701. package/node_modules/zod/src/v4/core/to-json-schema.ts +977 -0
  702. package/node_modules/zod/src/v4/core/util.ts +775 -0
  703. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  704. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  705. package/node_modules/zod/src/v4/index.ts +4 -0
  706. package/node_modules/zod/src/v4/locales/ar.ts +125 -0
  707. package/node_modules/zod/src/v4/locales/az.ts +121 -0
  708. package/node_modules/zod/src/v4/locales/be.ts +184 -0
  709. package/node_modules/zod/src/v4/locales/ca.ts +127 -0
  710. package/node_modules/zod/src/v4/locales/cs.ts +142 -0
  711. package/node_modules/zod/src/v4/locales/de.ts +124 -0
  712. package/node_modules/zod/src/v4/locales/en.ts +127 -0
  713. package/node_modules/zod/src/v4/locales/eo.ts +125 -0
  714. package/node_modules/zod/src/v4/locales/es.ts +125 -0
  715. package/node_modules/zod/src/v4/locales/fa.ts +134 -0
  716. package/node_modules/zod/src/v4/locales/fi.ts +131 -0
  717. package/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
  718. package/node_modules/zod/src/v4/locales/fr.ts +124 -0
  719. package/node_modules/zod/src/v4/locales/he.ts +125 -0
  720. package/node_modules/zod/src/v4/locales/hu.ts +126 -0
  721. package/node_modules/zod/src/v4/locales/id.ts +125 -0
  722. package/node_modules/zod/src/v4/locales/index.ts +39 -0
  723. package/node_modules/zod/src/v4/locales/it.ts +125 -0
  724. package/node_modules/zod/src/v4/locales/ja.ts +122 -0
  725. package/node_modules/zod/src/v4/locales/kh.ts +126 -0
  726. package/node_modules/zod/src/v4/locales/ko.ts +131 -0
  727. package/node_modules/zod/src/v4/locales/mk.ts +127 -0
  728. package/node_modules/zod/src/v4/locales/ms.ts +124 -0
  729. package/node_modules/zod/src/v4/locales/nl.ts +126 -0
  730. package/node_modules/zod/src/v4/locales/no.ts +124 -0
  731. package/node_modules/zod/src/v4/locales/ota.ts +125 -0
  732. package/node_modules/zod/src/v4/locales/pl.ts +126 -0
  733. package/node_modules/zod/src/v4/locales/ps.ts +133 -0
  734. package/node_modules/zod/src/v4/locales/pt.ts +123 -0
  735. package/node_modules/zod/src/v4/locales/ru.ts +184 -0
  736. package/node_modules/zod/src/v4/locales/sl.ts +126 -0
  737. package/node_modules/zod/src/v4/locales/sv.ts +127 -0
  738. package/node_modules/zod/src/v4/locales/ta.ts +125 -0
  739. package/node_modules/zod/src/v4/locales/th.ts +126 -0
  740. package/node_modules/zod/src/v4/locales/tr.ts +121 -0
  741. package/node_modules/zod/src/v4/locales/ua.ts +126 -0
  742. package/node_modules/zod/src/v4/locales/ur.ts +126 -0
  743. package/node_modules/zod/src/v4/locales/vi.ts +125 -0
  744. package/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
  745. package/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
  746. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  747. package/node_modules/zod/src/v4/mini/coerce.ts +22 -0
  748. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  749. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  750. package/node_modules/zod/src/v4/mini/iso.ts +62 -0
  751. package/node_modules/zod/src/v4/mini/parse.ts +1 -0
  752. package/node_modules/zod/src/v4/mini/schemas.ts +1579 -0
  753. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  754. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
  755. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  756. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  757. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  758. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
  759. package/node_modules/zod/src/v4/mini/tests/index.test.ts +871 -0
  760. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  761. package/node_modules/zod/src/v4/mini/tests/object.test.ts +185 -0
  762. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  763. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  764. package/node_modules/zod/src/v4/mini/tests/string.test.ts +299 -0
  765. package/node_modules/zod/src/v4-mini/index.ts +1 -0
  766. package/node_modules/zod/v3/ZodError.cjs +138 -0
  767. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  768. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  769. package/node_modules/zod/v3/ZodError.js +133 -0
  770. package/node_modules/zod/v3/errors.cjs +17 -0
  771. package/node_modules/zod/v3/errors.d.cts +5 -0
  772. package/node_modules/zod/v3/errors.d.ts +5 -0
  773. package/node_modules/zod/v3/errors.js +9 -0
  774. package/node_modules/zod/v3/external.cjs +22 -0
  775. package/node_modules/zod/v3/external.d.cts +6 -0
  776. package/node_modules/zod/v3/external.d.ts +6 -0
  777. package/node_modules/zod/v3/external.js +6 -0
  778. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  779. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  780. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  781. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  782. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  783. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  784. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  785. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  786. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  787. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  788. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  789. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  790. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  791. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  792. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  793. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  794. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  795. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  796. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  797. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  798. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  799. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  800. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  801. package/node_modules/zod/v3/helpers/util.js +133 -0
  802. package/node_modules/zod/v3/index.cjs +33 -0
  803. package/node_modules/zod/v3/index.d.cts +4 -0
  804. package/node_modules/zod/v3/index.d.ts +4 -0
  805. package/node_modules/zod/v3/index.js +4 -0
  806. package/node_modules/zod/v3/locales/en.cjs +111 -0
  807. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  808. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  809. package/node_modules/zod/v3/locales/en.js +109 -0
  810. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  811. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  812. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  813. package/node_modules/zod/v3/standard-schema.js +1 -0
  814. package/node_modules/zod/v3/types.cjs +3775 -0
  815. package/node_modules/zod/v3/types.d.cts +1031 -0
  816. package/node_modules/zod/v3/types.d.ts +1031 -0
  817. package/node_modules/zod/v3/types.js +3693 -0
  818. package/node_modules/zod/v4/classic/checks.cjs +32 -0
  819. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  820. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  821. package/node_modules/zod/v4/classic/checks.js +1 -0
  822. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  823. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  824. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  825. package/node_modules/zod/v4/classic/coerce.js +17 -0
  826. package/node_modules/zod/v4/classic/compat.cjs +57 -0
  827. package/node_modules/zod/v4/classic/compat.d.cts +46 -0
  828. package/node_modules/zod/v4/classic/compat.d.ts +46 -0
  829. package/node_modules/zod/v4/classic/compat.js +27 -0
  830. package/node_modules/zod/v4/classic/errors.cjs +67 -0
  831. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  832. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  833. package/node_modules/zod/v4/classic/errors.js +41 -0
  834. package/node_modules/zod/v4/classic/external.cjs +70 -0
  835. package/node_modules/zod/v4/classic/external.d.cts +13 -0
  836. package/node_modules/zod/v4/classic/external.d.ts +13 -0
  837. package/node_modules/zod/v4/classic/external.js +18 -0
  838. package/node_modules/zod/v4/classic/index.cjs +33 -0
  839. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  840. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  841. package/node_modules/zod/v4/classic/index.js +4 -0
  842. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  843. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  844. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  845. package/node_modules/zod/v4/classic/iso.js +30 -0
  846. package/node_modules/zod/v4/classic/parse.cjs +32 -0
  847. package/node_modules/zod/v4/classic/parse.d.cts +23 -0
  848. package/node_modules/zod/v4/classic/parse.d.ts +23 -0
  849. package/node_modules/zod/v4/classic/parse.js +6 -0
  850. package/node_modules/zod/v4/classic/schemas.cjs +1109 -0
  851. package/node_modules/zod/v4/classic/schemas.d.cts +630 -0
  852. package/node_modules/zod/v4/classic/schemas.d.ts +630 -0
  853. package/node_modules/zod/v4/classic/schemas.js +1006 -0
  854. package/node_modules/zod/v4/core/api.cjs +1039 -0
  855. package/node_modules/zod/v4/core/api.d.cts +284 -0
  856. package/node_modules/zod/v4/core/api.d.ts +284 -0
  857. package/node_modules/zod/v4/core/api.js +906 -0
  858. package/node_modules/zod/v4/core/checks.cjs +591 -0
  859. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  860. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  861. package/node_modules/zod/v4/core/checks.js +565 -0
  862. package/node_modules/zod/v4/core/core.cjs +67 -0
  863. package/node_modules/zod/v4/core/core.d.cts +49 -0
  864. package/node_modules/zod/v4/core/core.d.ts +49 -0
  865. package/node_modules/zod/v4/core/core.js +61 -0
  866. package/node_modules/zod/v4/core/doc.cjs +39 -0
  867. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  868. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  869. package/node_modules/zod/v4/core/doc.js +35 -0
  870. package/node_modules/zod/v4/core/errors.cjs +226 -0
  871. package/node_modules/zod/v4/core/errors.d.cts +208 -0
  872. package/node_modules/zod/v4/core/errors.d.ts +208 -0
  873. package/node_modules/zod/v4/core/errors.js +195 -0
  874. package/node_modules/zod/v4/core/function.cjs +102 -0
  875. package/node_modules/zod/v4/core/function.d.cts +52 -0
  876. package/node_modules/zod/v4/core/function.d.ts +52 -0
  877. package/node_modules/zod/v4/core/function.js +75 -0
  878. package/node_modules/zod/v4/core/index.cjs +44 -0
  879. package/node_modules/zod/v4/core/index.d.cts +15 -0
  880. package/node_modules/zod/v4/core/index.d.ts +15 -0
  881. package/node_modules/zod/v4/core/index.js +15 -0
  882. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  883. package/node_modules/zod/v4/core/json-schema.d.cts +87 -0
  884. package/node_modules/zod/v4/core/json-schema.d.ts +87 -0
  885. package/node_modules/zod/v4/core/json-schema.js +1 -0
  886. package/node_modules/zod/v4/core/parse.cjs +87 -0
  887. package/node_modules/zod/v4/core/parse.d.cts +25 -0
  888. package/node_modules/zod/v4/core/parse.d.ts +25 -0
  889. package/node_modules/zod/v4/core/parse.js +57 -0
  890. package/node_modules/zod/v4/core/regexes.cjs +103 -0
  891. package/node_modules/zod/v4/core/regexes.d.cts +62 -0
  892. package/node_modules/zod/v4/core/regexes.d.ts +62 -0
  893. package/node_modules/zod/v4/core/regexes.js +95 -0
  894. package/node_modules/zod/v4/core/registries.cjs +56 -0
  895. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  896. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  897. package/node_modules/zod/v4/core/registries.js +51 -0
  898. package/node_modules/zod/v4/core/schemas.cjs +1748 -0
  899. package/node_modules/zod/v4/core/schemas.d.cts +1041 -0
  900. package/node_modules/zod/v4/core/schemas.d.ts +1041 -0
  901. package/node_modules/zod/v4/core/schemas.js +1717 -0
  902. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  903. package/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
  904. package/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
  905. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  906. package/node_modules/zod/v4/core/to-json-schema.cjs +854 -0
  907. package/node_modules/zod/v4/core/to-json-schema.d.cts +88 -0
  908. package/node_modules/zod/v4/core/to-json-schema.d.ts +88 -0
  909. package/node_modules/zod/v4/core/to-json-schema.js +849 -0
  910. package/node_modules/zod/v4/core/util.cjs +539 -0
  911. package/node_modules/zod/v4/core/util.d.cts +183 -0
  912. package/node_modules/zod/v4/core/util.d.ts +183 -0
  913. package/node_modules/zod/v4/core/util.js +493 -0
  914. package/node_modules/zod/v4/core/versions.cjs +8 -0
  915. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  916. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  917. package/node_modules/zod/v4/core/versions.js +5 -0
  918. package/node_modules/zod/v4/index.cjs +22 -0
  919. package/node_modules/zod/v4/index.d.cts +3 -0
  920. package/node_modules/zod/v4/index.d.ts +3 -0
  921. package/node_modules/zod/v4/index.js +3 -0
  922. package/node_modules/zod/v4/locales/ar.cjs +142 -0
  923. package/node_modules/zod/v4/locales/ar.d.cts +4 -0
  924. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  925. package/node_modules/zod/v4/locales/ar.js +116 -0
  926. package/node_modules/zod/v4/locales/az.cjs +141 -0
  927. package/node_modules/zod/v4/locales/az.d.cts +4 -0
  928. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  929. package/node_modules/zod/v4/locales/az.js +115 -0
  930. package/node_modules/zod/v4/locales/be.cjs +190 -0
  931. package/node_modules/zod/v4/locales/be.d.cts +4 -0
  932. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  933. package/node_modules/zod/v4/locales/be.js +164 -0
  934. package/node_modules/zod/v4/locales/ca.cjs +144 -0
  935. package/node_modules/zod/v4/locales/ca.d.cts +4 -0
  936. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  937. package/node_modules/zod/v4/locales/ca.js +118 -0
  938. package/node_modules/zod/v4/locales/cs.cjs +161 -0
  939. package/node_modules/zod/v4/locales/cs.d.cts +4 -0
  940. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  941. package/node_modules/zod/v4/locales/cs.js +135 -0
  942. package/node_modules/zod/v4/locales/de.cjs +142 -0
  943. package/node_modules/zod/v4/locales/de.d.cts +4 -0
  944. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  945. package/node_modules/zod/v4/locales/de.js +116 -0
  946. package/node_modules/zod/v4/locales/en.cjs +145 -0
  947. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  948. package/node_modules/zod/v4/locales/en.d.ts +5 -0
  949. package/node_modules/zod/v4/locales/en.js +117 -0
  950. package/node_modules/zod/v4/locales/eo.cjs +144 -0
  951. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  952. package/node_modules/zod/v4/locales/eo.d.ts +5 -0
  953. package/node_modules/zod/v4/locales/eo.js +116 -0
  954. package/node_modules/zod/v4/locales/es.cjs +143 -0
  955. package/node_modules/zod/v4/locales/es.d.cts +4 -0
  956. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  957. package/node_modules/zod/v4/locales/es.js +117 -0
  958. package/node_modules/zod/v4/locales/fa.cjs +148 -0
  959. package/node_modules/zod/v4/locales/fa.d.cts +4 -0
  960. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  961. package/node_modules/zod/v4/locales/fa.js +122 -0
  962. package/node_modules/zod/v4/locales/fi.cjs +148 -0
  963. package/node_modules/zod/v4/locales/fi.d.cts +4 -0
  964. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  965. package/node_modules/zod/v4/locales/fi.js +122 -0
  966. package/node_modules/zod/v4/locales/fr-CA.cjs +143 -0
  967. package/node_modules/zod/v4/locales/fr-CA.d.cts +4 -0
  968. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  969. package/node_modules/zod/v4/locales/fr-CA.js +117 -0
  970. package/node_modules/zod/v4/locales/fr.cjs +142 -0
  971. package/node_modules/zod/v4/locales/fr.d.cts +4 -0
  972. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  973. package/node_modules/zod/v4/locales/fr.js +116 -0
  974. package/node_modules/zod/v4/locales/he.cjs +143 -0
  975. package/node_modules/zod/v4/locales/he.d.cts +4 -0
  976. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  977. package/node_modules/zod/v4/locales/he.js +117 -0
  978. package/node_modules/zod/v4/locales/hu.cjs +143 -0
  979. package/node_modules/zod/v4/locales/hu.d.cts +4 -0
  980. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  981. package/node_modules/zod/v4/locales/hu.js +117 -0
  982. package/node_modules/zod/v4/locales/id.cjs +142 -0
  983. package/node_modules/zod/v4/locales/id.d.cts +4 -0
  984. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  985. package/node_modules/zod/v4/locales/id.js +116 -0
  986. package/node_modules/zod/v4/locales/index.cjs +84 -0
  987. package/node_modules/zod/v4/locales/index.d.cts +39 -0
  988. package/node_modules/zod/v4/locales/index.d.ts +39 -0
  989. package/node_modules/zod/v4/locales/index.js +39 -0
  990. package/node_modules/zod/v4/locales/it.cjs +143 -0
  991. package/node_modules/zod/v4/locales/it.d.cts +4 -0
  992. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  993. package/node_modules/zod/v4/locales/it.js +117 -0
  994. package/node_modules/zod/v4/locales/ja.cjs +141 -0
  995. package/node_modules/zod/v4/locales/ja.d.cts +4 -0
  996. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  997. package/node_modules/zod/v4/locales/ja.js +115 -0
  998. package/node_modules/zod/v4/locales/kh.cjs +143 -0
  999. package/node_modules/zod/v4/locales/kh.d.cts +4 -0
  1000. package/node_modules/zod/v4/locales/kh.d.ts +4 -0
  1001. package/node_modules/zod/v4/locales/kh.js +117 -0
  1002. package/node_modules/zod/v4/locales/ko.cjs +147 -0
  1003. package/node_modules/zod/v4/locales/ko.d.cts +4 -0
  1004. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  1005. package/node_modules/zod/v4/locales/ko.js +121 -0
  1006. package/node_modules/zod/v4/locales/mk.cjs +144 -0
  1007. package/node_modules/zod/v4/locales/mk.d.cts +4 -0
  1008. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  1009. package/node_modules/zod/v4/locales/mk.js +118 -0
  1010. package/node_modules/zod/v4/locales/ms.cjs +142 -0
  1011. package/node_modules/zod/v4/locales/ms.d.cts +4 -0
  1012. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  1013. package/node_modules/zod/v4/locales/ms.js +116 -0
  1014. package/node_modules/zod/v4/locales/nl.cjs +143 -0
  1015. package/node_modules/zod/v4/locales/nl.d.cts +4 -0
  1016. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  1017. package/node_modules/zod/v4/locales/nl.js +117 -0
  1018. package/node_modules/zod/v4/locales/no.cjs +142 -0
  1019. package/node_modules/zod/v4/locales/no.d.cts +4 -0
  1020. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  1021. package/node_modules/zod/v4/locales/no.js +116 -0
  1022. package/node_modules/zod/v4/locales/ota.cjs +143 -0
  1023. package/node_modules/zod/v4/locales/ota.d.cts +4 -0
  1024. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  1025. package/node_modules/zod/v4/locales/ota.js +117 -0
  1026. package/node_modules/zod/v4/locales/pl.cjs +143 -0
  1027. package/node_modules/zod/v4/locales/pl.d.cts +4 -0
  1028. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  1029. package/node_modules/zod/v4/locales/pl.js +117 -0
  1030. package/node_modules/zod/v4/locales/ps.cjs +148 -0
  1031. package/node_modules/zod/v4/locales/ps.d.cts +4 -0
  1032. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  1033. package/node_modules/zod/v4/locales/ps.js +122 -0
  1034. package/node_modules/zod/v4/locales/pt.cjs +142 -0
  1035. package/node_modules/zod/v4/locales/pt.d.cts +4 -0
  1036. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  1037. package/node_modules/zod/v4/locales/pt.js +116 -0
  1038. package/node_modules/zod/v4/locales/ru.cjs +190 -0
  1039. package/node_modules/zod/v4/locales/ru.d.cts +4 -0
  1040. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  1041. package/node_modules/zod/v4/locales/ru.js +164 -0
  1042. package/node_modules/zod/v4/locales/sl.cjs +143 -0
  1043. package/node_modules/zod/v4/locales/sl.d.cts +4 -0
  1044. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  1045. package/node_modules/zod/v4/locales/sl.js +117 -0
  1046. package/node_modules/zod/v4/locales/sv.cjs +144 -0
  1047. package/node_modules/zod/v4/locales/sv.d.cts +4 -0
  1048. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  1049. package/node_modules/zod/v4/locales/sv.js +118 -0
  1050. package/node_modules/zod/v4/locales/ta.cjs +143 -0
  1051. package/node_modules/zod/v4/locales/ta.d.cts +4 -0
  1052. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  1053. package/node_modules/zod/v4/locales/ta.js +117 -0
  1054. package/node_modules/zod/v4/locales/th.cjs +143 -0
  1055. package/node_modules/zod/v4/locales/th.d.cts +4 -0
  1056. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1057. package/node_modules/zod/v4/locales/th.js +117 -0
  1058. package/node_modules/zod/v4/locales/tr.cjs +143 -0
  1059. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1060. package/node_modules/zod/v4/locales/tr.d.ts +5 -0
  1061. package/node_modules/zod/v4/locales/tr.js +115 -0
  1062. package/node_modules/zod/v4/locales/ua.cjs +143 -0
  1063. package/node_modules/zod/v4/locales/ua.d.cts +4 -0
  1064. package/node_modules/zod/v4/locales/ua.d.ts +4 -0
  1065. package/node_modules/zod/v4/locales/ua.js +117 -0
  1066. package/node_modules/zod/v4/locales/ur.cjs +143 -0
  1067. package/node_modules/zod/v4/locales/ur.d.cts +4 -0
  1068. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1069. package/node_modules/zod/v4/locales/ur.js +117 -0
  1070. package/node_modules/zod/v4/locales/vi.cjs +142 -0
  1071. package/node_modules/zod/v4/locales/vi.d.cts +4 -0
  1072. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1073. package/node_modules/zod/v4/locales/vi.js +116 -0
  1074. package/node_modules/zod/v4/locales/zh-CN.cjs +142 -0
  1075. package/node_modules/zod/v4/locales/zh-CN.d.cts +4 -0
  1076. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1077. package/node_modules/zod/v4/locales/zh-CN.js +116 -0
  1078. package/node_modules/zod/v4/locales/zh-TW.cjs +143 -0
  1079. package/node_modules/zod/v4/locales/zh-TW.d.cts +4 -0
  1080. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1081. package/node_modules/zod/v4/locales/zh-TW.js +117 -0
  1082. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1083. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1084. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1085. package/node_modules/zod/v4/mini/checks.js +1 -0
  1086. package/node_modules/zod/v4/mini/coerce.cjs +47 -0
  1087. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1088. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1089. package/node_modules/zod/v4/mini/coerce.js +17 -0
  1090. package/node_modules/zod/v4/mini/external.cjs +62 -0
  1091. package/node_modules/zod/v4/mini/external.d.cts +11 -0
  1092. package/node_modules/zod/v4/mini/external.d.ts +11 -0
  1093. package/node_modules/zod/v4/mini/external.js +13 -0
  1094. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1095. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1096. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1097. package/node_modules/zod/v4/mini/index.js +3 -0
  1098. package/node_modules/zod/v4/mini/iso.cjs +60 -0
  1099. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1100. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1101. package/node_modules/zod/v4/mini/iso.js +30 -0
  1102. package/node_modules/zod/v4/mini/parse.cjs +8 -0
  1103. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1104. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1105. package/node_modules/zod/v4/mini/parse.js +1 -0
  1106. package/node_modules/zod/v4/mini/schemas.cjs +839 -0
  1107. package/node_modules/zod/v4/mini/schemas.d.cts +356 -0
  1108. package/node_modules/zod/v4/mini/schemas.d.ts +356 -0
  1109. package/node_modules/zod/v4/mini/schemas.js +732 -0
  1110. package/node_modules/zod/v4-mini/index.cjs +17 -0
  1111. package/node_modules/zod/v4-mini/index.d.cts +1 -0
  1112. package/node_modules/zod/v4-mini/index.d.ts +1 -0
  1113. package/node_modules/zod/v4-mini/index.js +1 -0
  1114. package/package.json +58 -0
  1115. package/src/cli.js +83 -0
  1116. package/src/commands/activate-if-needed.js +41 -0
  1117. package/src/commands/diagnostics.js +38 -0
  1118. package/src/commands/doctor.js +96 -0
  1119. package/src/commands/init.js +975 -0
  1120. package/src/commands/serve.js +200 -0
  1121. package/src/commands/status.js +215 -0
  1122. package/src/commands/sync.js +783 -0
  1123. package/src/commands/uninstall.js +167 -0
  1124. package/src/lib/activation-check.js +341 -0
  1125. package/src/lib/browser-auth.js +177 -0
  1126. package/src/lib/claude-config.js +190 -0
  1127. package/src/lib/cli-ui.js +179 -0
  1128. package/src/lib/codex-config.js +350 -0
  1129. package/src/lib/debug-flags.js +7 -0
  1130. package/src/lib/diagnostics.js +216 -0
  1131. package/src/lib/doctor.js +351 -0
  1132. package/src/lib/fs.js +77 -0
  1133. package/src/lib/gemini-config.js +288 -0
  1134. package/src/lib/init-flow.js +42 -0
  1135. package/src/lib/insforge-client.js +79 -0
  1136. package/src/lib/insforge.js +29 -0
  1137. package/src/lib/local-api.js +511 -0
  1138. package/src/lib/openclaw-hook.js +420 -0
  1139. package/src/lib/openclaw-session-plugin.js +520 -0
  1140. package/src/lib/opencode-config.js +99 -0
  1141. package/src/lib/opencode-usage-audit.js +205 -0
  1142. package/src/lib/progress.js +76 -0
  1143. package/src/lib/project-usage-purge.js +106 -0
  1144. package/src/lib/prompt.js +24 -0
  1145. package/src/lib/rollout.js +2472 -0
  1146. package/src/lib/runtime-config.js +132 -0
  1147. package/src/lib/static-server.js +59 -0
  1148. package/src/lib/subscriptions.js +319 -0
  1149. package/src/lib/tracker-paths.js +15 -0
  1150. package/src/lib/upload-throttle.js +148 -0
  1151. package/src/lib/uploader.js +224 -0
  1152. package/src/lib/vibeusage-api.js +243 -0
  1153. package/src/lib/vibeusage-public-repo.js +105 -0
@@ -0,0 +1,1823 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ AI: () => AI,
24
+ Auth: () => Auth,
25
+ Database: () => Database,
26
+ Emails: () => Emails,
27
+ Functions: () => Functions,
28
+ HttpClient: () => HttpClient,
29
+ InsForgeClient: () => InsForgeClient,
30
+ InsForgeError: () => InsForgeError,
31
+ Realtime: () => Realtime,
32
+ Storage: () => Storage,
33
+ StorageBucket: () => StorageBucket,
34
+ TokenManager: () => TokenManager,
35
+ createClient: () => createClient,
36
+ default: () => index_default
37
+ });
38
+ module.exports = __toCommonJS(index_exports);
39
+
40
+ // src/types.ts
41
+ var InsForgeError = class _InsForgeError extends Error {
42
+ constructor(message, statusCode, error, nextActions) {
43
+ super(message);
44
+ this.name = "InsForgeError";
45
+ this.statusCode = statusCode;
46
+ this.error = error;
47
+ this.nextActions = nextActions;
48
+ }
49
+ static fromApiError(apiError) {
50
+ return new _InsForgeError(
51
+ apiError.message,
52
+ apiError.statusCode,
53
+ apiError.error,
54
+ apiError.nextActions
55
+ );
56
+ }
57
+ };
58
+
59
+ // src/lib/http-client.ts
60
+ var HttpClient = class {
61
+ constructor(config) {
62
+ this.userToken = null;
63
+ this.baseUrl = config.baseUrl || "http://localhost:7130";
64
+ this.fetch = config.fetch || (globalThis.fetch ? globalThis.fetch.bind(globalThis) : void 0);
65
+ this.anonKey = config.anonKey;
66
+ this.defaultHeaders = {
67
+ ...config.headers
68
+ };
69
+ if (!this.fetch) {
70
+ throw new Error(
71
+ "Fetch is not available. Please provide a fetch implementation in the config."
72
+ );
73
+ }
74
+ }
75
+ buildUrl(path, params) {
76
+ const url = new URL(path, this.baseUrl);
77
+ if (params) {
78
+ Object.entries(params).forEach(([key, value]) => {
79
+ if (key === "select") {
80
+ let normalizedValue = value.replace(/\s+/g, " ").trim();
81
+ normalizedValue = normalizedValue.replace(/\s*\(\s*/g, "(").replace(/\s*\)\s*/g, ")").replace(/\(\s+/g, "(").replace(/\s+\)/g, ")").replace(/,\s+(?=[^()]*\))/g, ",");
82
+ url.searchParams.append(key, normalizedValue);
83
+ } else {
84
+ url.searchParams.append(key, value);
85
+ }
86
+ });
87
+ }
88
+ return url.toString();
89
+ }
90
+ async request(method, path, options = {}) {
91
+ const { params, headers = {}, body, ...fetchOptions } = options;
92
+ const url = this.buildUrl(path, params);
93
+ const requestHeaders = {
94
+ ...this.defaultHeaders
95
+ };
96
+ const authToken = this.userToken || this.anonKey;
97
+ if (authToken) {
98
+ requestHeaders["Authorization"] = `Bearer ${authToken}`;
99
+ }
100
+ let processedBody;
101
+ if (body !== void 0) {
102
+ if (typeof FormData !== "undefined" && body instanceof FormData) {
103
+ processedBody = body;
104
+ } else {
105
+ if (method !== "GET") {
106
+ requestHeaders["Content-Type"] = "application/json;charset=UTF-8";
107
+ }
108
+ processedBody = JSON.stringify(body);
109
+ }
110
+ }
111
+ Object.assign(requestHeaders, headers);
112
+ const response = await this.fetch(url, {
113
+ method,
114
+ headers: requestHeaders,
115
+ body: processedBody,
116
+ ...fetchOptions
117
+ });
118
+ if (response.status === 204) {
119
+ return void 0;
120
+ }
121
+ let data;
122
+ const contentType = response.headers.get("content-type");
123
+ if (contentType?.includes("json")) {
124
+ data = await response.json();
125
+ } else {
126
+ data = await response.text();
127
+ }
128
+ if (!response.ok) {
129
+ if (data && typeof data === "object" && "error" in data) {
130
+ if (!data.statusCode && !data.status) {
131
+ data.statusCode = response.status;
132
+ }
133
+ const error = InsForgeError.fromApiError(data);
134
+ Object.keys(data).forEach((key) => {
135
+ if (key !== "error" && key !== "message" && key !== "statusCode") {
136
+ error[key] = data[key];
137
+ }
138
+ });
139
+ throw error;
140
+ }
141
+ throw new InsForgeError(
142
+ `Request failed: ${response.statusText}`,
143
+ response.status,
144
+ "REQUEST_FAILED"
145
+ );
146
+ }
147
+ return data;
148
+ }
149
+ get(path, options) {
150
+ return this.request("GET", path, options);
151
+ }
152
+ post(path, body, options) {
153
+ return this.request("POST", path, { ...options, body });
154
+ }
155
+ put(path, body, options) {
156
+ return this.request("PUT", path, { ...options, body });
157
+ }
158
+ patch(path, body, options) {
159
+ return this.request("PATCH", path, { ...options, body });
160
+ }
161
+ delete(path, options) {
162
+ return this.request("DELETE", path, options);
163
+ }
164
+ setAuthToken(token) {
165
+ this.userToken = token;
166
+ }
167
+ getHeaders() {
168
+ const headers = { ...this.defaultHeaders };
169
+ const authToken = this.userToken || this.anonKey;
170
+ if (authToken) {
171
+ headers["Authorization"] = `Bearer ${authToken}`;
172
+ }
173
+ return headers;
174
+ }
175
+ };
176
+
177
+ // src/lib/token-manager.ts
178
+ var TOKEN_KEY = "insforge-auth-token";
179
+ var USER_KEY = "insforge-auth-user";
180
+ var CSRF_TOKEN_COOKIE = "insforge_csrf_token";
181
+ function getCsrfToken() {
182
+ if (typeof document === "undefined") return null;
183
+ const match = document.cookie.split(";").find((c) => c.trim().startsWith(`${CSRF_TOKEN_COOKIE}=`));
184
+ if (!match) return null;
185
+ return match.split("=")[1] || null;
186
+ }
187
+ function setCsrfToken(token) {
188
+ if (typeof document === "undefined") return;
189
+ const maxAge = 7 * 24 * 60 * 60;
190
+ const secure = typeof window !== "undefined" && window.location.protocol === "https:" ? "; Secure" : "";
191
+ document.cookie = `${CSRF_TOKEN_COOKIE}=${encodeURIComponent(token)}; path=/; max-age=${maxAge}; SameSite=Lax${secure}`;
192
+ }
193
+ function clearCsrfToken() {
194
+ if (typeof document === "undefined") return;
195
+ const secure = typeof window !== "undefined" && window.location.protocol === "https:" ? "; Secure" : "";
196
+ document.cookie = `${CSRF_TOKEN_COOKIE}=; path=/; max-age=0; SameSite=Lax${secure}`;
197
+ }
198
+ var TokenManager = class {
199
+ constructor(storage) {
200
+ // In-memory storage
201
+ this.accessToken = null;
202
+ this.user = null;
203
+ // Mode: 'memory' (new backend) or 'storage' (legacy backend, default)
204
+ this._mode = "storage";
205
+ if (storage) {
206
+ this.storage = storage;
207
+ } else if (typeof window !== "undefined" && window.localStorage) {
208
+ this.storage = window.localStorage;
209
+ } else {
210
+ const store = /* @__PURE__ */ new Map();
211
+ this.storage = {
212
+ getItem: (key) => store.get(key) || null,
213
+ setItem: (key, value) => {
214
+ store.set(key, value);
215
+ },
216
+ removeItem: (key) => {
217
+ store.delete(key);
218
+ }
219
+ };
220
+ }
221
+ }
222
+ /**
223
+ * Get current mode
224
+ */
225
+ get mode() {
226
+ return this._mode;
227
+ }
228
+ /**
229
+ * Set mode to memory (new backend with cookies + memory)
230
+ */
231
+ setMemoryMode() {
232
+ if (this._mode === "storage") {
233
+ this.storage.removeItem(TOKEN_KEY);
234
+ this.storage.removeItem(USER_KEY);
235
+ }
236
+ this._mode = "memory";
237
+ }
238
+ /**
239
+ * Set mode to storage (legacy backend with localStorage)
240
+ * Also loads existing session from localStorage
241
+ */
242
+ setStorageMode() {
243
+ this._mode = "storage";
244
+ this.loadFromStorage();
245
+ }
246
+ /**
247
+ * Load session from localStorage
248
+ */
249
+ loadFromStorage() {
250
+ const token = this.storage.getItem(TOKEN_KEY);
251
+ const userStr = this.storage.getItem(USER_KEY);
252
+ if (token && userStr) {
253
+ try {
254
+ this.accessToken = token;
255
+ this.user = JSON.parse(userStr);
256
+ } catch {
257
+ this.clearSession();
258
+ }
259
+ }
260
+ }
261
+ /**
262
+ * Save session (memory always, localStorage only in storage mode)
263
+ */
264
+ saveSession(session) {
265
+ this.accessToken = session.accessToken;
266
+ this.user = session.user;
267
+ if (this._mode === "storage") {
268
+ this.storage.setItem(TOKEN_KEY, session.accessToken);
269
+ this.storage.setItem(USER_KEY, JSON.stringify(session.user));
270
+ }
271
+ }
272
+ /**
273
+ * Get current session
274
+ */
275
+ getSession() {
276
+ this.loadFromStorage();
277
+ if (!this.accessToken || !this.user) return null;
278
+ return {
279
+ accessToken: this.accessToken,
280
+ user: this.user
281
+ };
282
+ }
283
+ /**
284
+ * Get access token
285
+ */
286
+ getAccessToken() {
287
+ this.loadFromStorage();
288
+ return this.accessToken;
289
+ }
290
+ /**
291
+ * Set access token
292
+ */
293
+ setAccessToken(token) {
294
+ this.accessToken = token;
295
+ if (this._mode === "storage") {
296
+ this.storage.setItem(TOKEN_KEY, token);
297
+ }
298
+ }
299
+ /**
300
+ * Get user
301
+ */
302
+ getUser() {
303
+ return this.user;
304
+ }
305
+ /**
306
+ * Set user
307
+ */
308
+ setUser(user) {
309
+ this.user = user;
310
+ if (this._mode === "storage") {
311
+ this.storage.setItem(USER_KEY, JSON.stringify(user));
312
+ }
313
+ }
314
+ /**
315
+ * Clear session (both memory and localStorage)
316
+ */
317
+ clearSession() {
318
+ this.accessToken = null;
319
+ this.user = null;
320
+ this.storage.removeItem(TOKEN_KEY);
321
+ this.storage.removeItem(USER_KEY);
322
+ }
323
+ /**
324
+ * Check if there's a session in localStorage (for legacy detection)
325
+ */
326
+ hasStoredSession() {
327
+ const token = this.storage.getItem(TOKEN_KEY);
328
+ return !!token;
329
+ }
330
+ };
331
+
332
+ // src/modules/auth.ts
333
+ function isHostedAuthEnvironment() {
334
+ if (typeof window === "undefined") {
335
+ return false;
336
+ }
337
+ const { hostname, port, protocol } = window.location;
338
+ if (hostname === "localhost" && port === "7130") {
339
+ return true;
340
+ }
341
+ if (protocol === "https:" && hostname.endsWith(".insforge.app")) {
342
+ return true;
343
+ }
344
+ return false;
345
+ }
346
+ var Auth = class {
347
+ constructor(http, tokenManager) {
348
+ this.http = http;
349
+ this.tokenManager = tokenManager;
350
+ this.detectAuthCallback();
351
+ }
352
+ /**
353
+ * Automatically detect and handle OAuth callback parameters in the URL
354
+ * This runs after initialization to seamlessly complete the OAuth flow
355
+ * Matches the backend's OAuth callback response (backend/src/api/routes/auth.ts:540-544)
356
+ */
357
+ detectAuthCallback() {
358
+ if (typeof window === "undefined") return;
359
+ try {
360
+ const params = new URLSearchParams(window.location.search);
361
+ const accessToken = params.get("access_token");
362
+ const userId = params.get("user_id");
363
+ const email = params.get("email");
364
+ const name = params.get("name");
365
+ const csrfToken = params.get("csrf_token");
366
+ if (accessToken && userId && email) {
367
+ if (csrfToken) {
368
+ this.tokenManager.setMemoryMode();
369
+ setCsrfToken(csrfToken);
370
+ }
371
+ const session = {
372
+ accessToken,
373
+ user: {
374
+ id: userId,
375
+ email,
376
+ profile: { name: name || "" },
377
+ metadata: null,
378
+ // These fields are not provided by backend OAuth callback
379
+ // They'll be populated when calling getCurrentUser()
380
+ emailVerified: false,
381
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
382
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
383
+ }
384
+ };
385
+ this.tokenManager.saveSession(session);
386
+ this.http.setAuthToken(accessToken);
387
+ const url = new URL(window.location.href);
388
+ url.searchParams.delete("access_token");
389
+ url.searchParams.delete("user_id");
390
+ url.searchParams.delete("email");
391
+ url.searchParams.delete("name");
392
+ url.searchParams.delete("csrf_token");
393
+ if (params.has("error")) {
394
+ url.searchParams.delete("error");
395
+ }
396
+ window.history.replaceState({}, document.title, url.toString());
397
+ }
398
+ } catch (error) {
399
+ console.debug("OAuth callback detection skipped:", error);
400
+ }
401
+ }
402
+ /**
403
+ * Sign up a new user
404
+ */
405
+ async signUp(request) {
406
+ try {
407
+ const response = await this.http.post("/api/auth/users", request);
408
+ if (response.accessToken && response.user && !isHostedAuthEnvironment()) {
409
+ const session = {
410
+ accessToken: response.accessToken,
411
+ user: response.user
412
+ };
413
+ this.tokenManager.saveSession(session);
414
+ this.http.setAuthToken(response.accessToken);
415
+ if (response.csrfToken) {
416
+ setCsrfToken(response.csrfToken);
417
+ }
418
+ }
419
+ return {
420
+ data: response,
421
+ error: null
422
+ };
423
+ } catch (error) {
424
+ if (error instanceof InsForgeError) {
425
+ return { data: null, error };
426
+ }
427
+ return {
428
+ data: null,
429
+ error: new InsForgeError(
430
+ error instanceof Error ? error.message : "An unexpected error occurred during sign up",
431
+ 500,
432
+ "UNEXPECTED_ERROR"
433
+ )
434
+ };
435
+ }
436
+ }
437
+ /**
438
+ * Sign in with email and password
439
+ */
440
+ async signInWithPassword(request) {
441
+ try {
442
+ const response = await this.http.post("/api/auth/sessions", request);
443
+ if (!isHostedAuthEnvironment()) {
444
+ const session = {
445
+ accessToken: response.accessToken,
446
+ user: response.user
447
+ };
448
+ this.tokenManager.saveSession(session);
449
+ this.http.setAuthToken(response.accessToken);
450
+ if (response.csrfToken) {
451
+ setCsrfToken(response.csrfToken);
452
+ }
453
+ }
454
+ return {
455
+ data: response,
456
+ error: null
457
+ };
458
+ } catch (error) {
459
+ if (error instanceof InsForgeError) {
460
+ return { data: null, error };
461
+ }
462
+ return {
463
+ data: null,
464
+ error: new InsForgeError(
465
+ "An unexpected error occurred during sign in",
466
+ 500,
467
+ "UNEXPECTED_ERROR"
468
+ )
469
+ };
470
+ }
471
+ }
472
+ /**
473
+ * Sign in with OAuth provider
474
+ */
475
+ async signInWithOAuth(options) {
476
+ try {
477
+ const { provider, redirectTo, skipBrowserRedirect } = options;
478
+ const params = redirectTo ? { redirect_uri: redirectTo } : void 0;
479
+ const endpoint = `/api/auth/oauth/${provider}`;
480
+ const response = await this.http.get(endpoint, { params });
481
+ if (typeof window !== "undefined" && !skipBrowserRedirect) {
482
+ window.location.href = response.authUrl;
483
+ return { data: {}, error: null };
484
+ }
485
+ return {
486
+ data: {
487
+ url: response.authUrl,
488
+ provider
489
+ },
490
+ error: null
491
+ };
492
+ } catch (error) {
493
+ if (error instanceof InsForgeError) {
494
+ return { data: {}, error };
495
+ }
496
+ return {
497
+ data: {},
498
+ error: new InsForgeError(
499
+ "An unexpected error occurred during OAuth initialization",
500
+ 500,
501
+ "UNEXPECTED_ERROR"
502
+ )
503
+ };
504
+ }
505
+ }
506
+ /**
507
+ * Sign out the current user
508
+ */
509
+ async signOut() {
510
+ try {
511
+ try {
512
+ await this.http.post("/api/auth/logout", void 0, { credentials: "include" });
513
+ } catch {
514
+ }
515
+ this.tokenManager.clearSession();
516
+ this.http.setAuthToken(null);
517
+ clearCsrfToken();
518
+ return { error: null };
519
+ } catch (error) {
520
+ return {
521
+ error: new InsForgeError(
522
+ "Failed to sign out",
523
+ 500,
524
+ "SIGNOUT_ERROR"
525
+ )
526
+ };
527
+ }
528
+ }
529
+ /**
530
+ * Get all public authentication configuration (OAuth + Email)
531
+ * Returns both OAuth providers and email authentication settings in one request
532
+ * This is a public endpoint that doesn't require authentication
533
+ *
534
+ * @returns Complete public authentication configuration including OAuth providers and email auth settings
535
+ *
536
+ * @example
537
+ * ```ts
538
+ * const { data, error } = await insforge.auth.getPublicAuthConfig();
539
+ * if (data) {
540
+ * console.log(`OAuth providers: ${data.oauth.data.length}`);
541
+ * console.log(`Password min length: ${data.email.passwordMinLength}`);
542
+ * }
543
+ * ```
544
+ */
545
+ async getPublicAuthConfig() {
546
+ try {
547
+ const response = await this.http.get("/api/auth/public-config");
548
+ return {
549
+ data: response,
550
+ error: null
551
+ };
552
+ } catch (error) {
553
+ if (error instanceof InsForgeError) {
554
+ return { data: null, error };
555
+ }
556
+ return {
557
+ data: null,
558
+ error: new InsForgeError(
559
+ "An unexpected error occurred while fetching public authentication configuration",
560
+ 500,
561
+ "UNEXPECTED_ERROR"
562
+ )
563
+ };
564
+ }
565
+ }
566
+ /**
567
+ * Get the current user with full profile information
568
+ * Returns both auth info (id, email, role) and profile data (dynamic fields from users table)
569
+ */
570
+ async getCurrentUser() {
571
+ try {
572
+ const user = this.tokenManager.getUser();
573
+ if (user) {
574
+ return { data: { user }, error: null };
575
+ }
576
+ const accessToken = this.tokenManager.getAccessToken();
577
+ if (!accessToken) {
578
+ return { data: null, error: null };
579
+ }
580
+ this.http.setAuthToken(accessToken);
581
+ const authResponse = await this.http.get("/api/auth/sessions/current");
582
+ return {
583
+ data: {
584
+ user: authResponse.user
585
+ },
586
+ error: null
587
+ };
588
+ } catch (error) {
589
+ if (error instanceof InsForgeError && error.statusCode === 401) {
590
+ await this.signOut();
591
+ return { data: null, error: null };
592
+ }
593
+ if (error instanceof InsForgeError) {
594
+ return { data: null, error };
595
+ }
596
+ return {
597
+ data: null,
598
+ error: new InsForgeError(
599
+ "An unexpected error occurred while fetching user",
600
+ 500,
601
+ "UNEXPECTED_ERROR"
602
+ )
603
+ };
604
+ }
605
+ }
606
+ /**
607
+ * Get any user's profile by ID
608
+ * Returns profile information from the users table
609
+ */
610
+ async getProfile(userId) {
611
+ try {
612
+ const response = await this.http.get(`/api/auth/profiles/${userId}`);
613
+ return {
614
+ data: response,
615
+ error: null
616
+ };
617
+ } catch (error) {
618
+ if (error instanceof InsForgeError) {
619
+ return { data: null, error };
620
+ }
621
+ return {
622
+ data: null,
623
+ error: new InsForgeError(
624
+ "An unexpected error occurred while fetching user profile",
625
+ 500,
626
+ "UNEXPECTED_ERROR"
627
+ )
628
+ };
629
+ }
630
+ }
631
+ /**
632
+ * Get the current session (only session data, no API call)
633
+ * Returns the stored JWT token and basic user info from local storage
634
+ */
635
+ async getCurrentSession() {
636
+ try {
637
+ const session = this.tokenManager.getSession();
638
+ if (session) {
639
+ this.http.setAuthToken(session.accessToken);
640
+ return { data: { session }, error: null };
641
+ }
642
+ if (typeof window !== "undefined") {
643
+ try {
644
+ const csrfToken = getCsrfToken();
645
+ const response = await this.http.post(
646
+ "/api/auth/refresh",
647
+ void 0,
648
+ {
649
+ headers: csrfToken ? { "X-CSRF-Token": csrfToken } : {},
650
+ credentials: "include"
651
+ }
652
+ );
653
+ if (response.accessToken) {
654
+ this.tokenManager.setMemoryMode();
655
+ this.tokenManager.setAccessToken(response.accessToken);
656
+ this.http.setAuthToken(response.accessToken);
657
+ if (response.user) {
658
+ this.tokenManager.setUser(response.user);
659
+ }
660
+ if (response.csrfToken) {
661
+ setCsrfToken(response.csrfToken);
662
+ }
663
+ return {
664
+ data: { session: this.tokenManager.getSession() },
665
+ error: null
666
+ };
667
+ }
668
+ } catch (error) {
669
+ if (error instanceof InsForgeError) {
670
+ if (error.statusCode === 404) {
671
+ this.tokenManager.setStorageMode();
672
+ const session2 = this.tokenManager.getSession();
673
+ if (session2) {
674
+ return { data: { session: session2 }, error: null };
675
+ }
676
+ return { data: { session: null }, error: null };
677
+ }
678
+ return { data: { session: null }, error };
679
+ }
680
+ }
681
+ }
682
+ return { data: { session: null }, error: null };
683
+ } catch (error) {
684
+ if (error instanceof InsForgeError) {
685
+ return { data: { session: null }, error };
686
+ }
687
+ return {
688
+ data: { session: null },
689
+ error: new InsForgeError(
690
+ "An unexpected error occurred while getting session",
691
+ 500,
692
+ "UNEXPECTED_ERROR"
693
+ )
694
+ };
695
+ }
696
+ }
697
+ /**
698
+ * Set/Update the current user's profile
699
+ * Updates profile information in the users table (supports any dynamic fields)
700
+ * Requires authentication
701
+ */
702
+ async setProfile(profile) {
703
+ try {
704
+ const response = await this.http.patch(
705
+ "/api/auth/profiles/current",
706
+ { profile }
707
+ );
708
+ return {
709
+ data: response,
710
+ error: null
711
+ };
712
+ } catch (error) {
713
+ if (error instanceof InsForgeError) {
714
+ return { data: null, error };
715
+ }
716
+ return {
717
+ data: null,
718
+ error: new InsForgeError(
719
+ "An unexpected error occurred while updating user profile",
720
+ 500,
721
+ "UNEXPECTED_ERROR"
722
+ )
723
+ };
724
+ }
725
+ }
726
+ /**
727
+ * Send email verification (code or link based on config)
728
+ *
729
+ * Send email verification using the method configured in auth settings (verifyEmailMethod).
730
+ * When method is 'code', sends a 6-digit numeric code. When method is 'link', sends a magic link.
731
+ * Prevents user enumeration by returning success even if email doesn't exist.
732
+ */
733
+ async sendVerificationEmail(request) {
734
+ try {
735
+ const response = await this.http.post(
736
+ "/api/auth/email/send-verification",
737
+ request
738
+ );
739
+ return {
740
+ data: response,
741
+ error: null
742
+ };
743
+ } catch (error) {
744
+ if (error instanceof InsForgeError) {
745
+ return { data: null, error };
746
+ }
747
+ return {
748
+ data: null,
749
+ error: new InsForgeError(
750
+ "An unexpected error occurred while sending verification code",
751
+ 500,
752
+ "UNEXPECTED_ERROR"
753
+ )
754
+ };
755
+ }
756
+ }
757
+ /**
758
+ * Send password reset (code or link based on config)
759
+ *
760
+ * Send password reset email using the method configured in auth settings (resetPasswordMethod).
761
+ * When method is 'code', sends a 6-digit numeric code for two-step flow.
762
+ * When method is 'link', sends a magic link.
763
+ * Prevents user enumeration by returning success even if email doesn't exist.
764
+ */
765
+ async sendResetPasswordEmail(request) {
766
+ try {
767
+ const response = await this.http.post(
768
+ "/api/auth/email/send-reset-password",
769
+ request
770
+ );
771
+ return {
772
+ data: response,
773
+ error: null
774
+ };
775
+ } catch (error) {
776
+ if (error instanceof InsForgeError) {
777
+ return { data: null, error };
778
+ }
779
+ return {
780
+ data: null,
781
+ error: new InsForgeError(
782
+ "An unexpected error occurred while sending password reset code",
783
+ 500,
784
+ "UNEXPECTED_ERROR"
785
+ )
786
+ };
787
+ }
788
+ }
789
+ /**
790
+ * Exchange reset password code for reset token
791
+ *
792
+ * Step 1 of two-step password reset flow (only used when resetPasswordMethod is 'code'):
793
+ * 1. Verify the 6-digit code sent to user's email
794
+ * 2. Return a reset token that can be used to actually reset the password
795
+ *
796
+ * This endpoint is not used when resetPasswordMethod is 'link' (magic link flow is direct).
797
+ */
798
+ async exchangeResetPasswordToken(request) {
799
+ try {
800
+ const response = await this.http.post(
801
+ "/api/auth/email/exchange-reset-password-token",
802
+ request
803
+ );
804
+ return {
805
+ data: response,
806
+ error: null
807
+ };
808
+ } catch (error) {
809
+ if (error instanceof InsForgeError) {
810
+ return { data: null, error };
811
+ }
812
+ return {
813
+ data: null,
814
+ error: new InsForgeError(
815
+ "An unexpected error occurred while verifying reset code",
816
+ 500,
817
+ "UNEXPECTED_ERROR"
818
+ )
819
+ };
820
+ }
821
+ }
822
+ /**
823
+ * Reset password with token
824
+ *
825
+ * Reset user password with a token. The token can be:
826
+ * - Magic link token (64-character hex token from send-reset-password when method is 'link')
827
+ * - Reset token (from exchange-reset-password-token after code verification when method is 'code')
828
+ *
829
+ * Both token types use RESET_PASSWORD purpose and are verified the same way.
830
+ *
831
+ * Flow summary:
832
+ * - Code method: send-reset-password → exchange-reset-password-token → reset-password (with resetToken)
833
+ * - Link method: send-reset-password → reset-password (with link token directly)
834
+ */
835
+ async resetPassword(request) {
836
+ try {
837
+ const response = await this.http.post(
838
+ "/api/auth/email/reset-password",
839
+ request
840
+ );
841
+ return {
842
+ data: response,
843
+ error: null
844
+ };
845
+ } catch (error) {
846
+ if (error instanceof InsForgeError) {
847
+ return { data: null, error };
848
+ }
849
+ return {
850
+ data: null,
851
+ error: new InsForgeError(
852
+ "An unexpected error occurred while resetting password",
853
+ 500,
854
+ "UNEXPECTED_ERROR"
855
+ )
856
+ };
857
+ }
858
+ }
859
+ /**
860
+ * Verify email with code or link
861
+ *
862
+ * Verify email address using the method configured in auth settings (verifyEmailMethod):
863
+ * - Code verification: Provide both `email` and `otp` (6-digit numeric code)
864
+ * - Link verification: Provide only `otp` (64-character hex token from magic link)
865
+ *
866
+ * Successfully verified users will receive a session token.
867
+ *
868
+ * The email verification link sent to users always points to the backend API endpoint.
869
+ * If `verifyEmailRedirectTo` is configured, the backend will redirect to that URL after successful verification.
870
+ * Otherwise, a default success page is displayed.
871
+ */
872
+ async verifyEmail(request) {
873
+ try {
874
+ const response = await this.http.post(
875
+ "/api/auth/email/verify",
876
+ request
877
+ );
878
+ if (!isHostedAuthEnvironment()) {
879
+ const session = {
880
+ accessToken: response.accessToken,
881
+ user: response.user
882
+ };
883
+ this.tokenManager.saveSession(session);
884
+ this.http.setAuthToken(response.accessToken);
885
+ if (response.csrfToken) {
886
+ setCsrfToken(response.csrfToken);
887
+ }
888
+ }
889
+ return {
890
+ data: response,
891
+ error: null
892
+ };
893
+ } catch (error) {
894
+ if (error instanceof InsForgeError) {
895
+ return { data: null, error };
896
+ }
897
+ return {
898
+ data: null,
899
+ error: new InsForgeError(
900
+ "An unexpected error occurred while verifying email",
901
+ 500,
902
+ "UNEXPECTED_ERROR"
903
+ )
904
+ };
905
+ }
906
+ }
907
+ };
908
+
909
+ // src/modules/database-postgrest.ts
910
+ var import_postgrest_js = require("@supabase/postgrest-js");
911
+ function createInsForgePostgrestFetch(httpClient, tokenManager) {
912
+ return async (input, init) => {
913
+ const url = typeof input === "string" ? input : input.toString();
914
+ const urlObj = new URL(url);
915
+ const tableName = urlObj.pathname.slice(1);
916
+ const insforgeUrl = `${httpClient.baseUrl}/api/database/records/${tableName}${urlObj.search}`;
917
+ const token = tokenManager.getAccessToken();
918
+ const httpHeaders = httpClient.getHeaders();
919
+ const authToken = token || httpHeaders["Authorization"]?.replace("Bearer ", "");
920
+ const headers = new Headers(init?.headers);
921
+ if (authToken && !headers.has("Authorization")) {
922
+ headers.set("Authorization", `Bearer ${authToken}`);
923
+ }
924
+ const response = await fetch(insforgeUrl, {
925
+ ...init,
926
+ headers
927
+ });
928
+ return response;
929
+ };
930
+ }
931
+ var Database = class {
932
+ constructor(httpClient, tokenManager) {
933
+ this.postgrest = new import_postgrest_js.PostgrestClient("http://dummy", {
934
+ fetch: createInsForgePostgrestFetch(httpClient, tokenManager),
935
+ headers: {}
936
+ });
937
+ }
938
+ /**
939
+ * Create a query builder for a table
940
+ *
941
+ * @example
942
+ * // Basic query
943
+ * const { data, error } = await client.database
944
+ * .from('posts')
945
+ * .select('*')
946
+ * .eq('user_id', userId);
947
+ *
948
+ * // With count (Supabase style!)
949
+ * const { data, error, count } = await client.database
950
+ * .from('posts')
951
+ * .select('*', { count: 'exact' })
952
+ * .range(0, 9);
953
+ *
954
+ * // Just get count, no data
955
+ * const { count } = await client.database
956
+ * .from('posts')
957
+ * .select('*', { count: 'exact', head: true });
958
+ *
959
+ * // Complex queries with OR
960
+ * const { data } = await client.database
961
+ * .from('posts')
962
+ * .select('*, users!inner(*)')
963
+ * .or('status.eq.active,status.eq.pending');
964
+ *
965
+ * // All features work:
966
+ * - Nested selects
967
+ * - Foreign key expansion
968
+ * - OR/AND/NOT conditions
969
+ * - Count with head
970
+ * - Range pagination
971
+ * - Upserts
972
+ */
973
+ from(table) {
974
+ return this.postgrest.from(table);
975
+ }
976
+ };
977
+
978
+ // src/modules/storage.ts
979
+ var StorageBucket = class {
980
+ constructor(bucketName, http) {
981
+ this.bucketName = bucketName;
982
+ this.http = http;
983
+ }
984
+ /**
985
+ * Upload a file with a specific key
986
+ * Uses the upload strategy from backend (direct or presigned)
987
+ * @param path - The object key/path
988
+ * @param file - File or Blob to upload
989
+ */
990
+ async upload(path, file) {
991
+ try {
992
+ const strategyResponse = await this.http.post(
993
+ `/api/storage/buckets/${this.bucketName}/upload-strategy`,
994
+ {
995
+ filename: path,
996
+ contentType: file.type || "application/octet-stream",
997
+ size: file.size
998
+ }
999
+ );
1000
+ if (strategyResponse.method === "presigned") {
1001
+ return await this.uploadWithPresignedUrl(strategyResponse, file);
1002
+ }
1003
+ if (strategyResponse.method === "direct") {
1004
+ const formData = new FormData();
1005
+ formData.append("file", file);
1006
+ const response = await this.http.request(
1007
+ "PUT",
1008
+ `/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}`,
1009
+ {
1010
+ body: formData,
1011
+ headers: {
1012
+ // Don't set Content-Type, let browser set multipart boundary
1013
+ }
1014
+ }
1015
+ );
1016
+ return { data: response, error: null };
1017
+ }
1018
+ throw new InsForgeError(
1019
+ `Unsupported upload method: ${strategyResponse.method}`,
1020
+ 500,
1021
+ "STORAGE_ERROR"
1022
+ );
1023
+ } catch (error) {
1024
+ return {
1025
+ data: null,
1026
+ error: error instanceof InsForgeError ? error : new InsForgeError(
1027
+ "Upload failed",
1028
+ 500,
1029
+ "STORAGE_ERROR"
1030
+ )
1031
+ };
1032
+ }
1033
+ }
1034
+ /**
1035
+ * Upload a file with auto-generated key
1036
+ * Uses the upload strategy from backend (direct or presigned)
1037
+ * @param file - File or Blob to upload
1038
+ */
1039
+ async uploadAuto(file) {
1040
+ try {
1041
+ const filename = file instanceof File ? file.name : "file";
1042
+ const strategyResponse = await this.http.post(
1043
+ `/api/storage/buckets/${this.bucketName}/upload-strategy`,
1044
+ {
1045
+ filename,
1046
+ contentType: file.type || "application/octet-stream",
1047
+ size: file.size
1048
+ }
1049
+ );
1050
+ if (strategyResponse.method === "presigned") {
1051
+ return await this.uploadWithPresignedUrl(strategyResponse, file);
1052
+ }
1053
+ if (strategyResponse.method === "direct") {
1054
+ const formData = new FormData();
1055
+ formData.append("file", file);
1056
+ const response = await this.http.request(
1057
+ "POST",
1058
+ `/api/storage/buckets/${this.bucketName}/objects`,
1059
+ {
1060
+ body: formData,
1061
+ headers: {
1062
+ // Don't set Content-Type, let browser set multipart boundary
1063
+ }
1064
+ }
1065
+ );
1066
+ return { data: response, error: null };
1067
+ }
1068
+ throw new InsForgeError(
1069
+ `Unsupported upload method: ${strategyResponse.method}`,
1070
+ 500,
1071
+ "STORAGE_ERROR"
1072
+ );
1073
+ } catch (error) {
1074
+ return {
1075
+ data: null,
1076
+ error: error instanceof InsForgeError ? error : new InsForgeError(
1077
+ "Upload failed",
1078
+ 500,
1079
+ "STORAGE_ERROR"
1080
+ )
1081
+ };
1082
+ }
1083
+ }
1084
+ /**
1085
+ * Internal method to handle presigned URL uploads
1086
+ */
1087
+ async uploadWithPresignedUrl(strategy, file) {
1088
+ try {
1089
+ const formData = new FormData();
1090
+ if (strategy.fields) {
1091
+ Object.entries(strategy.fields).forEach(([key, value]) => {
1092
+ formData.append(key, value);
1093
+ });
1094
+ }
1095
+ formData.append("file", file);
1096
+ const uploadResponse = await fetch(strategy.uploadUrl, {
1097
+ method: "POST",
1098
+ body: formData
1099
+ });
1100
+ if (!uploadResponse.ok) {
1101
+ throw new InsForgeError(
1102
+ `Upload to storage failed: ${uploadResponse.statusText}`,
1103
+ uploadResponse.status,
1104
+ "STORAGE_ERROR"
1105
+ );
1106
+ }
1107
+ if (strategy.confirmRequired && strategy.confirmUrl) {
1108
+ const confirmResponse = await this.http.post(
1109
+ strategy.confirmUrl,
1110
+ {
1111
+ size: file.size,
1112
+ contentType: file.type || "application/octet-stream"
1113
+ }
1114
+ );
1115
+ return { data: confirmResponse, error: null };
1116
+ }
1117
+ return {
1118
+ data: {
1119
+ key: strategy.key,
1120
+ bucket: this.bucketName,
1121
+ size: file.size,
1122
+ mimeType: file.type || "application/octet-stream",
1123
+ uploadedAt: (/* @__PURE__ */ new Date()).toISOString(),
1124
+ url: this.getPublicUrl(strategy.key)
1125
+ },
1126
+ error: null
1127
+ };
1128
+ } catch (error) {
1129
+ throw error instanceof InsForgeError ? error : new InsForgeError(
1130
+ "Presigned upload failed",
1131
+ 500,
1132
+ "STORAGE_ERROR"
1133
+ );
1134
+ }
1135
+ }
1136
+ /**
1137
+ * Download a file
1138
+ * Uses the download strategy from backend (direct or presigned)
1139
+ * @param path - The object key/path
1140
+ * Returns the file as a Blob
1141
+ */
1142
+ async download(path) {
1143
+ try {
1144
+ const strategyResponse = await this.http.post(
1145
+ `/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}/download-strategy`,
1146
+ { expiresIn: 3600 }
1147
+ );
1148
+ const downloadUrl = strategyResponse.url;
1149
+ const headers = {};
1150
+ if (strategyResponse.method === "direct") {
1151
+ Object.assign(headers, this.http.getHeaders());
1152
+ }
1153
+ const response = await fetch(downloadUrl, {
1154
+ method: "GET",
1155
+ headers
1156
+ });
1157
+ if (!response.ok) {
1158
+ try {
1159
+ const error = await response.json();
1160
+ throw InsForgeError.fromApiError(error);
1161
+ } catch {
1162
+ throw new InsForgeError(
1163
+ `Download failed: ${response.statusText}`,
1164
+ response.status,
1165
+ "STORAGE_ERROR"
1166
+ );
1167
+ }
1168
+ }
1169
+ const blob = await response.blob();
1170
+ return { data: blob, error: null };
1171
+ } catch (error) {
1172
+ return {
1173
+ data: null,
1174
+ error: error instanceof InsForgeError ? error : new InsForgeError(
1175
+ "Download failed",
1176
+ 500,
1177
+ "STORAGE_ERROR"
1178
+ )
1179
+ };
1180
+ }
1181
+ }
1182
+ /**
1183
+ * Get public URL for a file
1184
+ * @param path - The object key/path
1185
+ */
1186
+ getPublicUrl(path) {
1187
+ return `${this.http.baseUrl}/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}`;
1188
+ }
1189
+ /**
1190
+ * List objects in the bucket
1191
+ * @param prefix - Filter by key prefix
1192
+ * @param search - Search in file names
1193
+ * @param limit - Maximum number of results (default: 100, max: 1000)
1194
+ * @param offset - Number of results to skip
1195
+ */
1196
+ async list(options) {
1197
+ try {
1198
+ const params = {};
1199
+ if (options?.prefix) params.prefix = options.prefix;
1200
+ if (options?.search) params.search = options.search;
1201
+ if (options?.limit) params.limit = options.limit.toString();
1202
+ if (options?.offset) params.offset = options.offset.toString();
1203
+ const response = await this.http.get(
1204
+ `/api/storage/buckets/${this.bucketName}/objects`,
1205
+ { params }
1206
+ );
1207
+ return { data: response, error: null };
1208
+ } catch (error) {
1209
+ return {
1210
+ data: null,
1211
+ error: error instanceof InsForgeError ? error : new InsForgeError(
1212
+ "List failed",
1213
+ 500,
1214
+ "STORAGE_ERROR"
1215
+ )
1216
+ };
1217
+ }
1218
+ }
1219
+ /**
1220
+ * Delete a file
1221
+ * @param path - The object key/path
1222
+ */
1223
+ async remove(path) {
1224
+ try {
1225
+ const response = await this.http.delete(
1226
+ `/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}`
1227
+ );
1228
+ return { data: response, error: null };
1229
+ } catch (error) {
1230
+ return {
1231
+ data: null,
1232
+ error: error instanceof InsForgeError ? error : new InsForgeError(
1233
+ "Delete failed",
1234
+ 500,
1235
+ "STORAGE_ERROR"
1236
+ )
1237
+ };
1238
+ }
1239
+ }
1240
+ };
1241
+ var Storage = class {
1242
+ constructor(http) {
1243
+ this.http = http;
1244
+ }
1245
+ /**
1246
+ * Get a bucket instance for operations
1247
+ * @param bucketName - Name of the bucket
1248
+ */
1249
+ from(bucketName) {
1250
+ return new StorageBucket(bucketName, this.http);
1251
+ }
1252
+ };
1253
+
1254
+ // src/modules/ai.ts
1255
+ var AI = class {
1256
+ constructor(http) {
1257
+ this.http = http;
1258
+ this.chat = new Chat(http);
1259
+ this.images = new Images(http);
1260
+ }
1261
+ };
1262
+ var Chat = class {
1263
+ constructor(http) {
1264
+ this.completions = new ChatCompletions(http);
1265
+ }
1266
+ };
1267
+ var ChatCompletions = class {
1268
+ constructor(http) {
1269
+ this.http = http;
1270
+ }
1271
+ /**
1272
+ * Create a chat completion - OpenAI-like response format
1273
+ *
1274
+ * @example
1275
+ * ```typescript
1276
+ * // Non-streaming
1277
+ * const completion = await client.ai.chat.completions.create({
1278
+ * model: 'gpt-4',
1279
+ * messages: [{ role: 'user', content: 'Hello!' }]
1280
+ * });
1281
+ * console.log(completion.choices[0].message.content);
1282
+ *
1283
+ * // With images
1284
+ * const response = await client.ai.chat.completions.create({
1285
+ * model: 'gpt-4-vision',
1286
+ * messages: [{
1287
+ * role: 'user',
1288
+ * content: 'What is in this image?',
1289
+ * images: [{ url: 'https://example.com/image.jpg' }]
1290
+ * }]
1291
+ * });
1292
+ *
1293
+ * // Streaming - returns async iterable
1294
+ * const stream = await client.ai.chat.completions.create({
1295
+ * model: 'gpt-4',
1296
+ * messages: [{ role: 'user', content: 'Tell me a story' }],
1297
+ * stream: true
1298
+ * });
1299
+ *
1300
+ * for await (const chunk of stream) {
1301
+ * if (chunk.choices[0]?.delta?.content) {
1302
+ * process.stdout.write(chunk.choices[0].delta.content);
1303
+ * }
1304
+ * }
1305
+ * ```
1306
+ */
1307
+ async create(params) {
1308
+ const backendParams = {
1309
+ model: params.model,
1310
+ messages: params.messages,
1311
+ temperature: params.temperature,
1312
+ maxTokens: params.maxTokens,
1313
+ topP: params.topP,
1314
+ stream: params.stream
1315
+ };
1316
+ if (params.stream) {
1317
+ const headers = this.http.getHeaders();
1318
+ headers["Content-Type"] = "application/json";
1319
+ const response2 = await this.http.fetch(
1320
+ `${this.http.baseUrl}/api/ai/chat/completion`,
1321
+ {
1322
+ method: "POST",
1323
+ headers,
1324
+ body: JSON.stringify(backendParams)
1325
+ }
1326
+ );
1327
+ if (!response2.ok) {
1328
+ const error = await response2.json();
1329
+ throw new Error(error.error || "Stream request failed");
1330
+ }
1331
+ return this.parseSSEStream(response2, params.model);
1332
+ }
1333
+ const response = await this.http.post(
1334
+ "/api/ai/chat/completion",
1335
+ backendParams
1336
+ );
1337
+ const content = response.text || "";
1338
+ return {
1339
+ id: `chatcmpl-${Date.now()}`,
1340
+ object: "chat.completion",
1341
+ created: Math.floor(Date.now() / 1e3),
1342
+ model: response.metadata?.model,
1343
+ choices: [
1344
+ {
1345
+ index: 0,
1346
+ message: {
1347
+ role: "assistant",
1348
+ content
1349
+ },
1350
+ finish_reason: "stop"
1351
+ }
1352
+ ],
1353
+ usage: response.metadata?.usage || {
1354
+ prompt_tokens: 0,
1355
+ completion_tokens: 0,
1356
+ total_tokens: 0
1357
+ }
1358
+ };
1359
+ }
1360
+ /**
1361
+ * Parse SSE stream into async iterable of OpenAI-like chunks
1362
+ */
1363
+ async *parseSSEStream(response, model) {
1364
+ const reader = response.body.getReader();
1365
+ const decoder = new TextDecoder();
1366
+ let buffer = "";
1367
+ try {
1368
+ while (true) {
1369
+ const { done, value } = await reader.read();
1370
+ if (done) break;
1371
+ buffer += decoder.decode(value, { stream: true });
1372
+ const lines = buffer.split("\n");
1373
+ buffer = lines.pop() || "";
1374
+ for (const line of lines) {
1375
+ if (line.startsWith("data: ")) {
1376
+ const dataStr = line.slice(6).trim();
1377
+ if (dataStr) {
1378
+ try {
1379
+ const data = JSON.parse(dataStr);
1380
+ if (data.chunk || data.content) {
1381
+ yield {
1382
+ id: `chatcmpl-${Date.now()}`,
1383
+ object: "chat.completion.chunk",
1384
+ created: Math.floor(Date.now() / 1e3),
1385
+ model,
1386
+ choices: [
1387
+ {
1388
+ index: 0,
1389
+ delta: {
1390
+ content: data.chunk || data.content
1391
+ },
1392
+ finish_reason: data.done ? "stop" : null
1393
+ }
1394
+ ]
1395
+ };
1396
+ }
1397
+ if (data.done) {
1398
+ reader.releaseLock();
1399
+ return;
1400
+ }
1401
+ } catch (e) {
1402
+ console.warn("Failed to parse SSE data:", dataStr);
1403
+ }
1404
+ }
1405
+ }
1406
+ }
1407
+ }
1408
+ } finally {
1409
+ reader.releaseLock();
1410
+ }
1411
+ }
1412
+ };
1413
+ var Images = class {
1414
+ constructor(http) {
1415
+ this.http = http;
1416
+ }
1417
+ /**
1418
+ * Generate images - OpenAI-like response format
1419
+ *
1420
+ * @example
1421
+ * ```typescript
1422
+ * // Text-to-image
1423
+ * const response = await client.ai.images.generate({
1424
+ * model: 'dall-e-3',
1425
+ * prompt: 'A sunset over mountains',
1426
+ * });
1427
+ * console.log(response.images[0].url);
1428
+ *
1429
+ * // Image-to-image (with input images)
1430
+ * const response = await client.ai.images.generate({
1431
+ * model: 'stable-diffusion-xl',
1432
+ * prompt: 'Transform this into a watercolor painting',
1433
+ * images: [
1434
+ * { url: 'https://example.com/input.jpg' },
1435
+ * // or base64-encoded Data URI:
1436
+ * { url: 'data:image/jpeg;base64,/9j/4AAQ...' }
1437
+ * ]
1438
+ * });
1439
+ * ```
1440
+ */
1441
+ async generate(params) {
1442
+ const response = await this.http.post(
1443
+ "/api/ai/image/generation",
1444
+ params
1445
+ );
1446
+ let data = [];
1447
+ if (response.images && response.images.length > 0) {
1448
+ data = response.images.map((img) => ({
1449
+ b64_json: img.imageUrl.replace(/^data:image\/\w+;base64,/, ""),
1450
+ content: response.text
1451
+ }));
1452
+ } else if (response.text) {
1453
+ data = [{ content: response.text }];
1454
+ }
1455
+ return {
1456
+ created: Math.floor(Date.now() / 1e3),
1457
+ data,
1458
+ ...response.metadata?.usage && {
1459
+ usage: {
1460
+ total_tokens: response.metadata.usage.totalTokens || 0,
1461
+ input_tokens: response.metadata.usage.promptTokens || 0,
1462
+ output_tokens: response.metadata.usage.completionTokens || 0
1463
+ }
1464
+ }
1465
+ };
1466
+ }
1467
+ };
1468
+
1469
+ // src/modules/functions.ts
1470
+ var Functions = class {
1471
+ constructor(http) {
1472
+ this.http = http;
1473
+ }
1474
+ /**
1475
+ * Invokes an Edge Function
1476
+ * @param slug The function slug to invoke
1477
+ * @param options Request options
1478
+ */
1479
+ async invoke(slug, options = {}) {
1480
+ try {
1481
+ const { method = "POST", body, headers = {} } = options;
1482
+ const path = `/functions/${slug}`;
1483
+ const data = await this.http.request(
1484
+ method,
1485
+ path,
1486
+ { body, headers }
1487
+ );
1488
+ return { data, error: null };
1489
+ } catch (error) {
1490
+ return {
1491
+ data: null,
1492
+ error
1493
+ // Pass through the full error object with all properties
1494
+ };
1495
+ }
1496
+ }
1497
+ };
1498
+
1499
+ // src/modules/realtime.ts
1500
+ var import_socket = require("socket.io-client");
1501
+ var CONNECT_TIMEOUT = 1e4;
1502
+ var Realtime = class {
1503
+ constructor(baseUrl, tokenManager) {
1504
+ this.socket = null;
1505
+ this.connectPromise = null;
1506
+ this.subscribedChannels = /* @__PURE__ */ new Set();
1507
+ this.eventListeners = /* @__PURE__ */ new Map();
1508
+ this.baseUrl = baseUrl;
1509
+ this.tokenManager = tokenManager;
1510
+ }
1511
+ notifyListeners(event, payload) {
1512
+ const listeners = this.eventListeners.get(event);
1513
+ if (!listeners) return;
1514
+ for (const cb of listeners) {
1515
+ try {
1516
+ cb(payload);
1517
+ } catch (err) {
1518
+ console.error(`Error in ${event} callback:`, err);
1519
+ }
1520
+ }
1521
+ }
1522
+ /**
1523
+ * Connect to the realtime server
1524
+ * @returns Promise that resolves when connected
1525
+ */
1526
+ connect() {
1527
+ if (this.socket?.connected) {
1528
+ return Promise.resolve();
1529
+ }
1530
+ if (this.connectPromise) {
1531
+ return this.connectPromise;
1532
+ }
1533
+ this.connectPromise = new Promise((resolve, reject) => {
1534
+ const session = this.tokenManager.getSession();
1535
+ const token = session?.accessToken;
1536
+ this.socket = (0, import_socket.io)(this.baseUrl, {
1537
+ transports: ["websocket"],
1538
+ auth: token ? { token } : void 0
1539
+ });
1540
+ let initialConnection = true;
1541
+ let timeoutId = null;
1542
+ const cleanup = () => {
1543
+ if (timeoutId) {
1544
+ clearTimeout(timeoutId);
1545
+ timeoutId = null;
1546
+ }
1547
+ };
1548
+ timeoutId = setTimeout(() => {
1549
+ if (initialConnection) {
1550
+ initialConnection = false;
1551
+ this.connectPromise = null;
1552
+ this.socket?.disconnect();
1553
+ this.socket = null;
1554
+ reject(new Error(`Connection timeout after ${CONNECT_TIMEOUT}ms`));
1555
+ }
1556
+ }, CONNECT_TIMEOUT);
1557
+ this.socket.on("connect", () => {
1558
+ cleanup();
1559
+ for (const channel of this.subscribedChannels) {
1560
+ this.socket.emit("realtime:subscribe", { channel });
1561
+ }
1562
+ this.notifyListeners("connect");
1563
+ if (initialConnection) {
1564
+ initialConnection = false;
1565
+ this.connectPromise = null;
1566
+ resolve();
1567
+ }
1568
+ });
1569
+ this.socket.on("connect_error", (error) => {
1570
+ cleanup();
1571
+ this.notifyListeners("connect_error", error);
1572
+ if (initialConnection) {
1573
+ initialConnection = false;
1574
+ this.connectPromise = null;
1575
+ reject(error);
1576
+ }
1577
+ });
1578
+ this.socket.on("disconnect", (reason) => {
1579
+ this.notifyListeners("disconnect", reason);
1580
+ });
1581
+ this.socket.on("realtime:error", (error) => {
1582
+ this.notifyListeners("error", error);
1583
+ });
1584
+ this.socket.onAny((event, message) => {
1585
+ if (event === "realtime:error") return;
1586
+ this.notifyListeners(event, message);
1587
+ });
1588
+ });
1589
+ return this.connectPromise;
1590
+ }
1591
+ /**
1592
+ * Disconnect from the realtime server
1593
+ */
1594
+ disconnect() {
1595
+ if (this.socket) {
1596
+ this.socket.disconnect();
1597
+ this.socket = null;
1598
+ }
1599
+ this.subscribedChannels.clear();
1600
+ }
1601
+ /**
1602
+ * Check if connected to the realtime server
1603
+ */
1604
+ get isConnected() {
1605
+ return this.socket?.connected ?? false;
1606
+ }
1607
+ /**
1608
+ * Get the current connection state
1609
+ */
1610
+ get connectionState() {
1611
+ if (!this.socket) return "disconnected";
1612
+ if (this.socket.connected) return "connected";
1613
+ return "connecting";
1614
+ }
1615
+ /**
1616
+ * Get the socket ID (if connected)
1617
+ */
1618
+ get socketId() {
1619
+ return this.socket?.id;
1620
+ }
1621
+ /**
1622
+ * Subscribe to a channel
1623
+ *
1624
+ * Automatically connects if not already connected.
1625
+ *
1626
+ * @param channel - Channel name (e.g., 'orders:123', 'broadcast')
1627
+ * @returns Promise with the subscription response
1628
+ */
1629
+ async subscribe(channel) {
1630
+ if (this.subscribedChannels.has(channel)) {
1631
+ return { ok: true, channel };
1632
+ }
1633
+ if (!this.socket?.connected) {
1634
+ try {
1635
+ await this.connect();
1636
+ } catch (error) {
1637
+ const message = error instanceof Error ? error.message : "Connection failed";
1638
+ return { ok: false, channel, error: { code: "CONNECTION_FAILED", message } };
1639
+ }
1640
+ }
1641
+ return new Promise((resolve) => {
1642
+ this.socket.emit("realtime:subscribe", { channel }, (response) => {
1643
+ if (response.ok) {
1644
+ this.subscribedChannels.add(channel);
1645
+ }
1646
+ resolve(response);
1647
+ });
1648
+ });
1649
+ }
1650
+ /**
1651
+ * Unsubscribe from a channel (fire-and-forget)
1652
+ *
1653
+ * @param channel - Channel name to unsubscribe from
1654
+ */
1655
+ unsubscribe(channel) {
1656
+ this.subscribedChannels.delete(channel);
1657
+ if (this.socket?.connected) {
1658
+ this.socket.emit("realtime:unsubscribe", { channel });
1659
+ }
1660
+ }
1661
+ /**
1662
+ * Publish a message to a channel
1663
+ *
1664
+ * @param channel - Channel name
1665
+ * @param event - Event name
1666
+ * @param payload - Message payload
1667
+ */
1668
+ async publish(channel, event, payload) {
1669
+ if (!this.socket?.connected) {
1670
+ throw new Error("Not connected to realtime server. Call connect() first.");
1671
+ }
1672
+ this.socket.emit("realtime:publish", { channel, event, payload });
1673
+ }
1674
+ /**
1675
+ * Listen for events
1676
+ *
1677
+ * Reserved event names:
1678
+ * - 'connect' - Fired when connected to the server
1679
+ * - 'connect_error' - Fired when connection fails (payload: Error)
1680
+ * - 'disconnect' - Fired when disconnected (payload: reason string)
1681
+ * - 'error' - Fired when a realtime error occurs (payload: RealtimeErrorPayload)
1682
+ *
1683
+ * All other events receive a `SocketMessage` payload with metadata.
1684
+ *
1685
+ * @param event - Event name to listen for
1686
+ * @param callback - Callback function when event is received
1687
+ */
1688
+ on(event, callback) {
1689
+ if (!this.eventListeners.has(event)) {
1690
+ this.eventListeners.set(event, /* @__PURE__ */ new Set());
1691
+ }
1692
+ this.eventListeners.get(event).add(callback);
1693
+ }
1694
+ /**
1695
+ * Remove a listener for a specific event
1696
+ *
1697
+ * @param event - Event name
1698
+ * @param callback - The callback function to remove
1699
+ */
1700
+ off(event, callback) {
1701
+ const listeners = this.eventListeners.get(event);
1702
+ if (listeners) {
1703
+ listeners.delete(callback);
1704
+ if (listeners.size === 0) {
1705
+ this.eventListeners.delete(event);
1706
+ }
1707
+ }
1708
+ }
1709
+ /**
1710
+ * Listen for an event only once, then automatically remove the listener
1711
+ *
1712
+ * @param event - Event name to listen for
1713
+ * @param callback - Callback function when event is received
1714
+ */
1715
+ once(event, callback) {
1716
+ const wrapper = (payload) => {
1717
+ this.off(event, wrapper);
1718
+ callback(payload);
1719
+ };
1720
+ this.on(event, wrapper);
1721
+ }
1722
+ /**
1723
+ * Get all currently subscribed channels
1724
+ *
1725
+ * @returns Array of channel names
1726
+ */
1727
+ getSubscribedChannels() {
1728
+ return Array.from(this.subscribedChannels);
1729
+ }
1730
+ };
1731
+
1732
+ // src/modules/email.ts
1733
+ var Emails = class {
1734
+ constructor(http) {
1735
+ this.http = http;
1736
+ }
1737
+ /**
1738
+ * Send a custom HTML email
1739
+ * @param options Email options including recipients, subject, and HTML content
1740
+ */
1741
+ async send(options) {
1742
+ try {
1743
+ const data = await this.http.post(
1744
+ "/api/email/send-raw",
1745
+ options
1746
+ );
1747
+ return { data, error: null };
1748
+ } catch (error) {
1749
+ const normalizedError = error instanceof Error ? error : new Error(String(error));
1750
+ return { data: null, error: normalizedError };
1751
+ }
1752
+ }
1753
+ };
1754
+
1755
+ // src/client.ts
1756
+ var InsForgeClient = class {
1757
+ constructor(config = {}) {
1758
+ this.http = new HttpClient(config);
1759
+ this.tokenManager = new TokenManager(config.storage);
1760
+ if (config.edgeFunctionToken) {
1761
+ this.http.setAuthToken(config.edgeFunctionToken);
1762
+ this.tokenManager.saveSession({
1763
+ accessToken: config.edgeFunctionToken,
1764
+ user: {}
1765
+ // Will be populated by getCurrentUser()
1766
+ });
1767
+ }
1768
+ const existingSession = this.tokenManager.getSession();
1769
+ if (existingSession?.accessToken) {
1770
+ this.http.setAuthToken(existingSession.accessToken);
1771
+ }
1772
+ this.auth = new Auth(this.http, this.tokenManager);
1773
+ this.database = new Database(this.http, this.tokenManager);
1774
+ this.storage = new Storage(this.http);
1775
+ this.ai = new AI(this.http);
1776
+ this.functions = new Functions(this.http);
1777
+ this.realtime = new Realtime(this.http.baseUrl, this.tokenManager);
1778
+ this.emails = new Emails(this.http);
1779
+ }
1780
+ /**
1781
+ * Get the underlying HTTP client for custom requests
1782
+ *
1783
+ * @example
1784
+ * ```typescript
1785
+ * const httpClient = client.getHttpClient();
1786
+ * const customData = await httpClient.get('/api/custom-endpoint');
1787
+ * ```
1788
+ */
1789
+ getHttpClient() {
1790
+ return this.http;
1791
+ }
1792
+ /**
1793
+ * Future modules will be added here:
1794
+ * - database: Database operations
1795
+ * - storage: File storage operations
1796
+ * - functions: Serverless functions
1797
+ * - tables: Table management
1798
+ * - metadata: Backend metadata
1799
+ */
1800
+ };
1801
+
1802
+ // src/index.ts
1803
+ function createClient(config) {
1804
+ return new InsForgeClient(config);
1805
+ }
1806
+ var index_default = InsForgeClient;
1807
+ // Annotate the CommonJS export names for ESM import in node:
1808
+ 0 && (module.exports = {
1809
+ AI,
1810
+ Auth,
1811
+ Database,
1812
+ Emails,
1813
+ Functions,
1814
+ HttpClient,
1815
+ InsForgeClient,
1816
+ InsForgeError,
1817
+ Realtime,
1818
+ Storage,
1819
+ StorageBucket,
1820
+ TokenManager,
1821
+ createClient
1822
+ });
1823
+ //# sourceMappingURL=index.js.map