tokentracker-cli 0.5.1 → 0.5.2

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 (1111) hide show
  1. package/README.md +3 -0
  2. package/dashboard/dist/assets/DashboardPage-ccDq1oTb.js +12 -0
  3. package/dashboard/dist/assets/LeaderboardPage-BvhBcafd.js +1 -0
  4. package/dashboard/dist/assets/LeaderboardProfilePage-B5Yw_BZM.js +1 -0
  5. package/dashboard/dist/assets/ThemeToggle-CQvh_d2Z.js +1 -0
  6. package/dashboard/dist/assets/leaderboard-columns-COq9DxPJ.js +1 -0
  7. package/dashboard/dist/assets/main-8JBJiGVQ.js +4759 -0
  8. package/dashboard/dist/assets/main-Cwn9_aQV.css +1 -0
  9. package/dashboard/dist/brand-logos/claude-code.svg +3 -0
  10. package/dashboard/dist/brand-logos/codex.svg +3 -0
  11. package/dashboard/dist/brand-logos/cursor.svg +3 -0
  12. package/dashboard/dist/brand-logos/gemini.svg +20 -0
  13. package/dashboard/dist/brand-logos/openclaw.svg +22 -0
  14. package/dashboard/dist/brand-logos/opencode.svg +3 -0
  15. package/dashboard/dist/dashboard-dark.png +0 -0
  16. package/dashboard/dist/feed.xml +7 -7
  17. package/dashboard/dist/index.html +5 -5
  18. package/dashboard/dist/llms.txt +13 -13
  19. package/dashboard/dist/robots.txt +3 -3
  20. package/dashboard/dist/share.html +2 -2
  21. package/dashboard/dist/sitemap.xml +2 -2
  22. package/package.json +3 -12
  23. package/src/commands/init.js +8 -95
  24. package/src/commands/serve.js +1 -1
  25. package/src/commands/sync.js +106 -153
  26. package/src/lib/activation-check.js +21 -21
  27. package/src/lib/browser-auth.js +1 -1
  28. package/src/lib/doctor.js +0 -13
  29. package/src/lib/gemini-config.js +1 -1
  30. package/src/lib/local-api.js +94 -12
  31. package/src/lib/openclaw-hook.js +8 -8
  32. package/src/lib/openclaw-session-plugin.js +7 -7
  33. package/src/lib/opencode-config.js +1 -1
  34. package/src/lib/opencode-usage-audit.js +1 -1
  35. package/src/lib/rollout.js +9 -15
  36. package/src/lib/runtime-config.js +1 -11
  37. package/dashboard/dist/assets/DashboardPage-CExFMoW6.js +0 -20
  38. package/dashboard/dist/assets/LandingExtras-xTxVZkGw.js +0 -1
  39. package/dashboard/dist/assets/LeaderboardPage-OsAoNAEz.js +0 -1
  40. package/dashboard/dist/assets/LeaderboardProfilePage-DK2OUyhv.js +0 -1
  41. package/dashboard/dist/assets/MatrixRain-C71qNSYx.js +0 -1
  42. package/dashboard/dist/assets/MatrixShell-DVXCuT--.js +0 -1
  43. package/dashboard/dist/assets/main-B_NbZucu.css +0 -1
  44. package/dashboard/dist/assets/main-DBkuzJr4.js +0 -2058
  45. package/dashboard/dist/assets/vibeusage-api-93ghbEE8.js +0 -1
  46. package/dashboard/dist/icon.svg +0 -1
  47. package/dashboard/dist/landing-dashboard.jpg +0 -0
  48. package/dashboard/dist/og-image.jpg +0 -0
  49. package/dashboard/dist/share-dashboard.jpg +0 -0
  50. package/dashboard/dist/social-preview.png +0 -0
  51. package/dashboard/dist/wrapped-2025.png +0 -0
  52. package/node_modules/@insforge/sdk/LICENSE +0 -201
  53. package/node_modules/@insforge/sdk/README.md +0 -259
  54. package/node_modules/@insforge/sdk/dist/index.d.mts +0 -854
  55. package/node_modules/@insforge/sdk/dist/index.d.ts +0 -854
  56. package/node_modules/@insforge/sdk/dist/index.js +0 -1823
  57. package/node_modules/@insforge/sdk/dist/index.js.map +0 -1
  58. package/node_modules/@insforge/sdk/dist/index.mjs +0 -1784
  59. package/node_modules/@insforge/sdk/dist/index.mjs.map +0 -1
  60. package/node_modules/@insforge/sdk/package.json +0 -68
  61. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.d.ts +0 -583
  62. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.d.ts.map +0 -1
  63. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.js +0 -111
  64. package/node_modules/@insforge/shared-schemas/dist/ai-api.schema.js.map +0 -1
  65. package/node_modules/@insforge/shared-schemas/dist/ai.schema.d.ts +0 -188
  66. package/node_modules/@insforge/shared-schemas/dist/ai.schema.d.ts.map +0 -1
  67. package/node_modules/@insforge/shared-schemas/dist/ai.schema.js +0 -48
  68. package/node_modules/@insforge/shared-schemas/dist/ai.schema.js.map +0 -1
  69. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.d.ts +0 -1127
  70. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.d.ts.map +0 -1
  71. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.js +0 -277
  72. package/node_modules/@insforge/shared-schemas/dist/auth-api.schema.js.map +0 -1
  73. package/node_modules/@insforge/shared-schemas/dist/auth.schema.d.ts +0 -187
  74. package/node_modules/@insforge/shared-schemas/dist/auth.schema.d.ts.map +0 -1
  75. package/node_modules/@insforge/shared-schemas/dist/auth.schema.js +0 -105
  76. package/node_modules/@insforge/shared-schemas/dist/auth.schema.js.map +0 -1
  77. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.d.ts +0 -144
  78. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.d.ts.map +0 -1
  79. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.js +0 -41
  80. package/node_modules/@insforge/shared-schemas/dist/cloud-events.schema.js.map +0 -1
  81. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.d.ts +0 -1627
  82. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.d.ts.map +0 -1
  83. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.js +0 -209
  84. package/node_modules/@insforge/shared-schemas/dist/database-api.schema.js.map +0 -1
  85. package/node_modules/@insforge/shared-schemas/dist/database.schema.d.ts +0 -263
  86. package/node_modules/@insforge/shared-schemas/dist/database.schema.d.ts.map +0 -1
  87. package/node_modules/@insforge/shared-schemas/dist/database.schema.js +0 -89
  88. package/node_modules/@insforge/shared-schemas/dist/database.schema.js.map +0 -1
  89. package/node_modules/@insforge/shared-schemas/dist/docs.schema.d.ts +0 -4
  90. package/node_modules/@insforge/shared-schemas/dist/docs.schema.d.ts.map +0 -1
  91. package/node_modules/@insforge/shared-schemas/dist/docs.schema.js +0 -22
  92. package/node_modules/@insforge/shared-schemas/dist/docs.schema.js.map +0 -1
  93. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.d.ts +0 -34
  94. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.d.ts.map +0 -1
  95. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.js +0 -24
  96. package/node_modules/@insforge/shared-schemas/dist/email-api.schema.js.map +0 -1
  97. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.d.ts +0 -39
  98. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.d.ts.map +0 -1
  99. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.js +0 -18
  100. package/node_modules/@insforge/shared-schemas/dist/functions-api.schema.js.map +0 -1
  101. package/node_modules/@insforge/shared-schemas/dist/functions.schema.d.ts +0 -34
  102. package/node_modules/@insforge/shared-schemas/dist/functions.schema.d.ts.map +0 -1
  103. package/node_modules/@insforge/shared-schemas/dist/functions.schema.js +0 -14
  104. package/node_modules/@insforge/shared-schemas/dist/functions.schema.js.map +0 -1
  105. package/node_modules/@insforge/shared-schemas/dist/index.d.ts +0 -19
  106. package/node_modules/@insforge/shared-schemas/dist/index.d.ts.map +0 -1
  107. package/node_modules/@insforge/shared-schemas/dist/index.js +0 -19
  108. package/node_modules/@insforge/shared-schemas/dist/index.js.map +0 -1
  109. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.d.ts +0 -237
  110. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.d.ts.map +0 -1
  111. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.js +0 -41
  112. package/node_modules/@insforge/shared-schemas/dist/logs-api.schema.js.map +0 -1
  113. package/node_modules/@insforge/shared-schemas/dist/logs.schema.d.ts +0 -79
  114. package/node_modules/@insforge/shared-schemas/dist/logs.schema.d.ts.map +0 -1
  115. package/node_modules/@insforge/shared-schemas/dist/logs.schema.js +0 -31
  116. package/node_modules/@insforge/shared-schemas/dist/logs.schema.js.map +0 -1
  117. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.d.ts +0 -940
  118. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.d.ts.map +0 -1
  119. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.js +0 -50
  120. package/node_modules/@insforge/shared-schemas/dist/metadata.schema.js.map +0 -1
  121. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.d.ts +0 -395
  122. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.d.ts.map +0 -1
  123. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.js +0 -73
  124. package/node_modules/@insforge/shared-schemas/dist/realtime-api.schema.js.map +0 -1
  125. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.d.ts +0 -269
  126. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.d.ts.map +0 -1
  127. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.js +0 -109
  128. package/node_modules/@insforge/shared-schemas/dist/realtime.schema.js.map +0 -1
  129. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.d.ts +0 -166
  130. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.d.ts.map +0 -1
  131. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.js +0 -49
  132. package/node_modules/@insforge/shared-schemas/dist/storage-api.schema.js.map +0 -1
  133. package/node_modules/@insforge/shared-schemas/dist/storage.schema.d.ts +0 -39
  134. package/node_modules/@insforge/shared-schemas/dist/storage.schema.d.ts.map +0 -1
  135. package/node_modules/@insforge/shared-schemas/dist/storage.schema.js +0 -15
  136. package/node_modules/@insforge/shared-schemas/dist/storage.schema.js.map +0 -1
  137. package/node_modules/@insforge/shared-schemas/package.json +0 -31
  138. package/node_modules/@socket.io/component-emitter/LICENSE +0 -24
  139. package/node_modules/@socket.io/component-emitter/Readme.md +0 -79
  140. package/node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts +0 -179
  141. package/node_modules/@socket.io/component-emitter/lib/cjs/index.js +0 -176
  142. package/node_modules/@socket.io/component-emitter/lib/cjs/package.json +0 -4
  143. package/node_modules/@socket.io/component-emitter/lib/esm/index.d.ts +0 -179
  144. package/node_modules/@socket.io/component-emitter/lib/esm/index.js +0 -169
  145. package/node_modules/@socket.io/component-emitter/lib/esm/package.json +0 -4
  146. package/node_modules/@socket.io/component-emitter/package.json +0 -28
  147. package/node_modules/@supabase/node-fetch/LICENSE.md +0 -22
  148. package/node_modules/@supabase/node-fetch/README.md +0 -633
  149. package/node_modules/@supabase/node-fetch/browser.js +0 -22
  150. package/node_modules/@supabase/node-fetch/lib/index.es.js +0 -1778
  151. package/node_modules/@supabase/node-fetch/lib/index.js +0 -1787
  152. package/node_modules/@supabase/node-fetch/lib/index.mjs +0 -1776
  153. package/node_modules/@supabase/node-fetch/package.json +0 -80
  154. package/node_modules/@supabase/postgrest-js/LICENSE +0 -21
  155. package/node_modules/@supabase/postgrest-js/README.md +0 -56
  156. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.d.ts +0 -71
  157. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.d.ts.map +0 -1
  158. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js +0 -222
  159. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js.map +0 -1
  160. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.d.ts +0 -74
  161. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.d.ts.map +0 -1
  162. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js +0 -121
  163. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js.map +0 -1
  164. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.d.ts +0 -17
  165. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.d.ts.map +0 -1
  166. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js +0 -18
  167. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js.map +0 -1
  168. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.d.ts +0 -108
  169. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.d.ts.map +0 -1
  170. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js +0 -381
  171. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js.map +0 -1
  172. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.d.ts +0 -117
  173. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.d.ts.map +0 -1
  174. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js +0 -251
  175. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js.map +0 -1
  176. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.d.ts +0 -157
  177. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.d.ts.map +0 -1
  178. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js +0 -226
  179. package/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js.map +0 -1
  180. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.d.ts +0 -4
  181. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.d.ts.map +0 -1
  182. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.js +0 -6
  183. package/node_modules/@supabase/postgrest-js/dist/cjs/constants.js.map +0 -1
  184. package/node_modules/@supabase/postgrest-js/dist/cjs/index.d.ts +0 -19
  185. package/node_modules/@supabase/postgrest-js/dist/cjs/index.d.ts.map +0 -1
  186. package/node_modules/@supabase/postgrest-js/dist/cjs/index.js +0 -28
  187. package/node_modules/@supabase/postgrest-js/dist/cjs/index.js.map +0 -1
  188. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.d.ts +0 -261
  189. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.d.ts.map +0 -1
  190. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.js +0 -5
  191. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.js.map +0 -1
  192. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.d.ts +0 -157
  193. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.d.ts.map +0 -1
  194. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.js +0 -3
  195. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.js.map +0 -1
  196. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.d.ts +0 -31
  197. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.d.ts.map +0 -1
  198. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.js +0 -3
  199. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.js.map +0 -1
  200. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.d.ts +0 -264
  201. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.d.ts.map +0 -1
  202. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.js +0 -3
  203. package/node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.js.map +0 -1
  204. package/node_modules/@supabase/postgrest-js/dist/cjs/types.d.ts +0 -106
  205. package/node_modules/@supabase/postgrest-js/dist/cjs/types.d.ts.map +0 -1
  206. package/node_modules/@supabase/postgrest-js/dist/cjs/types.js +0 -3
  207. package/node_modules/@supabase/postgrest-js/dist/cjs/types.js.map +0 -1
  208. package/node_modules/@supabase/postgrest-js/dist/cjs/version.d.ts +0 -2
  209. package/node_modules/@supabase/postgrest-js/dist/cjs/version.d.ts.map +0 -1
  210. package/node_modules/@supabase/postgrest-js/dist/cjs/version.js +0 -5
  211. package/node_modules/@supabase/postgrest-js/dist/cjs/version.js.map +0 -1
  212. package/node_modules/@supabase/postgrest-js/dist/esm/wrapper.mjs +0 -28
  213. package/node_modules/@supabase/postgrest-js/package.json +0 -75
  214. package/node_modules/@supabase/postgrest-js/src/PostgrestBuilder.ts +0 -300
  215. package/node_modules/@supabase/postgrest-js/src/PostgrestClient.ts +0 -192
  216. package/node_modules/@supabase/postgrest-js/src/PostgrestError.ts +0 -18
  217. package/node_modules/@supabase/postgrest-js/src/PostgrestFilterBuilder.ts +0 -604
  218. package/node_modules/@supabase/postgrest-js/src/PostgrestQueryBuilder.ts +0 -437
  219. package/node_modules/@supabase/postgrest-js/src/PostgrestTransformBuilder.ts +0 -368
  220. package/node_modules/@supabase/postgrest-js/src/constants.ts +0 -2
  221. package/node_modules/@supabase/postgrest-js/src/index.ts +0 -35
  222. package/node_modules/@supabase/postgrest-js/src/select-query-parser/parser.ts +0 -469
  223. package/node_modules/@supabase/postgrest-js/src/select-query-parser/result.ts +0 -503
  224. package/node_modules/@supabase/postgrest-js/src/select-query-parser/types.ts +0 -115
  225. package/node_modules/@supabase/postgrest-js/src/select-query-parser/utils.ts +0 -602
  226. package/node_modules/@supabase/postgrest-js/src/types.ts +0 -201
  227. package/node_modules/@supabase/postgrest-js/src/version.ts +0 -1
  228. package/node_modules/debug/LICENSE +0 -20
  229. package/node_modules/debug/README.md +0 -481
  230. package/node_modules/debug/package.json +0 -60
  231. package/node_modules/debug/src/browser.js +0 -271
  232. package/node_modules/debug/src/common.js +0 -274
  233. package/node_modules/debug/src/index.js +0 -10
  234. package/node_modules/debug/src/node.js +0 -263
  235. package/node_modules/engine.io-client/LICENSE +0 -22
  236. package/node_modules/engine.io-client/README.md +0 -331
  237. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts +0 -3
  238. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.js +0 -4
  239. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts +0 -1
  240. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.js +0 -14
  241. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts +0 -15
  242. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.js +0 -38
  243. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts +0 -1
  244. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.js +0 -67
  245. package/node_modules/engine.io-client/build/cjs/globals.d.ts +0 -4
  246. package/node_modules/engine.io-client/build/cjs/globals.js +0 -26
  247. package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +0 -21
  248. package/node_modules/engine.io-client/build/cjs/globals.node.js +0 -97
  249. package/node_modules/engine.io-client/build/cjs/index.d.ts +0 -15
  250. package/node_modules/engine.io-client/build/cjs/index.js +0 -32
  251. package/node_modules/engine.io-client/build/cjs/package.json +0 -10
  252. package/node_modules/engine.io-client/build/cjs/socket.d.ts +0 -482
  253. package/node_modules/engine.io-client/build/cjs/socket.js +0 -765
  254. package/node_modules/engine.io-client/build/cjs/transport.d.ts +0 -106
  255. package/node_modules/engine.io-client/build/cjs/transport.js +0 -153
  256. package/node_modules/engine.io-client/build/cjs/transports/index.d.ts +0 -8
  257. package/node_modules/engine.io-client/build/cjs/transports/index.js +0 -11
  258. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.d.ts +0 -15
  259. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.js +0 -60
  260. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +0 -108
  261. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +0 -285
  262. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.d.ts +0 -11
  263. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +0 -44
  264. package/node_modules/engine.io-client/build/cjs/transports/polling.d.ts +0 -52
  265. package/node_modules/engine.io-client/build/cjs/transports/polling.js +0 -165
  266. package/node_modules/engine.io-client/build/cjs/transports/websocket.d.ts +0 -36
  267. package/node_modules/engine.io-client/build/cjs/transports/websocket.js +0 -136
  268. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.d.ts +0 -14
  269. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +0 -68
  270. package/node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts +0 -18
  271. package/node_modules/engine.io-client/build/cjs/transports/webtransport.js +0 -94
  272. package/node_modules/engine.io-client/build/cjs/util.d.ts +0 -7
  273. package/node_modules/engine.io-client/build/cjs/util.js +0 -65
  274. package/node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts +0 -3
  275. package/node_modules/engine.io-client/build/esm/browser-entrypoint.js +0 -2
  276. package/node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts +0 -1
  277. package/node_modules/engine.io-client/build/esm/contrib/has-cors.js +0 -11
  278. package/node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts +0 -15
  279. package/node_modules/engine.io-client/build/esm/contrib/parseqs.js +0 -34
  280. package/node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts +0 -1
  281. package/node_modules/engine.io-client/build/esm/contrib/parseuri.js +0 -64
  282. package/node_modules/engine.io-client/build/esm/globals.d.ts +0 -4
  283. package/node_modules/engine.io-client/build/esm/globals.js +0 -22
  284. package/node_modules/engine.io-client/build/esm/globals.node.d.ts +0 -21
  285. package/node_modules/engine.io-client/build/esm/globals.node.js +0 -91
  286. package/node_modules/engine.io-client/build/esm/index.d.ts +0 -15
  287. package/node_modules/engine.io-client/build/esm/index.js +0 -15
  288. package/node_modules/engine.io-client/build/esm/package.json +0 -10
  289. package/node_modules/engine.io-client/build/esm/socket.d.ts +0 -482
  290. package/node_modules/engine.io-client/build/esm/socket.js +0 -727
  291. package/node_modules/engine.io-client/build/esm/transport.d.ts +0 -106
  292. package/node_modules/engine.io-client/build/esm/transport.js +0 -142
  293. package/node_modules/engine.io-client/build/esm/transports/index.d.ts +0 -8
  294. package/node_modules/engine.io-client/build/esm/transports/index.js +0 -8
  295. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.d.ts +0 -15
  296. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.js +0 -56
  297. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +0 -108
  298. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +0 -271
  299. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.d.ts +0 -11
  300. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +0 -17
  301. package/node_modules/engine.io-client/build/esm/transports/polling.d.ts +0 -52
  302. package/node_modules/engine.io-client/build/esm/transports/polling.js +0 -145
  303. package/node_modules/engine.io-client/build/esm/transports/websocket.d.ts +0 -36
  304. package/node_modules/engine.io-client/build/esm/transports/websocket.js +0 -125
  305. package/node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts +0 -14
  306. package/node_modules/engine.io-client/build/esm/transports/websocket.node.js +0 -41
  307. package/node_modules/engine.io-client/build/esm/transports/webtransport.d.ts +0 -18
  308. package/node_modules/engine.io-client/build/esm/transports/webtransport.js +0 -80
  309. package/node_modules/engine.io-client/build/esm/util.d.ts +0 -7
  310. package/node_modules/engine.io-client/build/esm/util.js +0 -59
  311. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts +0 -3
  312. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js +0 -2
  313. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts +0 -1
  314. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js +0 -11
  315. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts +0 -15
  316. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js +0 -34
  317. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts +0 -1
  318. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js +0 -64
  319. package/node_modules/engine.io-client/build/esm-debug/globals.d.ts +0 -4
  320. package/node_modules/engine.io-client/build/esm-debug/globals.js +0 -22
  321. package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +0 -21
  322. package/node_modules/engine.io-client/build/esm-debug/globals.node.js +0 -91
  323. package/node_modules/engine.io-client/build/esm-debug/index.d.ts +0 -15
  324. package/node_modules/engine.io-client/build/esm-debug/index.js +0 -15
  325. package/node_modules/engine.io-client/build/esm-debug/package.json +0 -10
  326. package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +0 -482
  327. package/node_modules/engine.io-client/build/esm-debug/socket.js +0 -756
  328. package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +0 -106
  329. package/node_modules/engine.io-client/build/esm-debug/transport.js +0 -145
  330. package/node_modules/engine.io-client/build/esm-debug/transports/index.d.ts +0 -8
  331. package/node_modules/engine.io-client/build/esm-debug/transports/index.js +0 -8
  332. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.d.ts +0 -15
  333. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.js +0 -56
  334. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +0 -108
  335. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +0 -276
  336. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.d.ts +0 -11
  337. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js +0 -17
  338. package/node_modules/engine.io-client/build/esm-debug/transports/polling.d.ts +0 -52
  339. package/node_modules/engine.io-client/build/esm-debug/transports/polling.js +0 -158
  340. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.d.ts +0 -36
  341. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.js +0 -128
  342. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.d.ts +0 -14
  343. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js +0 -41
  344. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts +0 -18
  345. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js +0 -87
  346. package/node_modules/engine.io-client/build/esm-debug/util.d.ts +0 -7
  347. package/node_modules/engine.io-client/build/esm-debug/util.js +0 -59
  348. package/node_modules/engine.io-client/dist/engine.io.esm.min.js +0 -7
  349. package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +0 -1
  350. package/node_modules/engine.io-client/dist/engine.io.js +0 -2968
  351. package/node_modules/engine.io-client/dist/engine.io.js.map +0 -1
  352. package/node_modules/engine.io-client/dist/engine.io.min.js +0 -7
  353. package/node_modules/engine.io-client/dist/engine.io.min.js.map +0 -1
  354. package/node_modules/engine.io-client/package.json +0 -95
  355. package/node_modules/engine.io-parser/LICENSE +0 -22
  356. package/node_modules/engine.io-parser/Readme.md +0 -158
  357. package/node_modules/engine.io-parser/build/cjs/commons.d.ts +0 -14
  358. package/node_modules/engine.io-parser/build/cjs/commons.js +0 -19
  359. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts +0 -2
  360. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js +0 -48
  361. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts +0 -2
  362. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js +0 -66
  363. package/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts +0 -2
  364. package/node_modules/engine.io-parser/build/cjs/decodePacket.js +0 -59
  365. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts +0 -4
  366. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +0 -72
  367. package/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts +0 -3
  368. package/node_modules/engine.io-parser/build/cjs/encodePacket.js +0 -38
  369. package/node_modules/engine.io-parser/build/cjs/index.d.ts +0 -9
  370. package/node_modules/engine.io-parser/build/cjs/index.js +0 -164
  371. package/node_modules/engine.io-parser/build/cjs/package.json +0 -8
  372. package/node_modules/engine.io-parser/build/esm/commons.d.ts +0 -14
  373. package/node_modules/engine.io-parser/build/esm/commons.js +0 -14
  374. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts +0 -2
  375. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +0 -43
  376. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts +0 -2
  377. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +0 -62
  378. package/node_modules/engine.io-parser/build/esm/decodePacket.d.ts +0 -2
  379. package/node_modules/engine.io-parser/build/esm/decodePacket.js +0 -55
  380. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts +0 -4
  381. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +0 -68
  382. package/node_modules/engine.io-parser/build/esm/encodePacket.d.ts +0 -3
  383. package/node_modules/engine.io-parser/build/esm/encodePacket.js +0 -33
  384. package/node_modules/engine.io-parser/build/esm/index.d.ts +0 -9
  385. package/node_modules/engine.io-parser/build/esm/index.js +0 -156
  386. package/node_modules/engine.io-parser/build/esm/package.json +0 -8
  387. package/node_modules/engine.io-parser/package.json +0 -46
  388. package/node_modules/ms/index.js +0 -162
  389. package/node_modules/ms/license.md +0 -21
  390. package/node_modules/ms/package.json +0 -38
  391. package/node_modules/ms/readme.md +0 -59
  392. package/node_modules/socket.io-client/LICENSE +0 -21
  393. package/node_modules/socket.io-client/README.md +0 -29
  394. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts +0 -2
  395. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.js +0 -4
  396. package/node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts +0 -12
  397. package/node_modules/socket.io-client/build/cjs/contrib/backo2.js +0 -69
  398. package/node_modules/socket.io-client/build/cjs/index.d.ts +0 -29
  399. package/node_modules/socket.io-client/build/cjs/index.js +0 -76
  400. package/node_modules/socket.io-client/build/cjs/manager.d.ts +0 -295
  401. package/node_modules/socket.io-client/build/cjs/manager.js +0 -416
  402. package/node_modules/socket.io-client/build/cjs/on.d.ts +0 -2
  403. package/node_modules/socket.io-client/build/cjs/on.js +0 -9
  404. package/node_modules/socket.io-client/build/cjs/socket.d.ts +0 -593
  405. package/node_modules/socket.io-client/build/cjs/socket.js +0 -910
  406. package/node_modules/socket.io-client/build/cjs/url.d.ts +0 -33
  407. package/node_modules/socket.io-client/build/cjs/url.js +0 -69
  408. package/node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts +0 -2
  409. package/node_modules/socket.io-client/build/esm/browser-entrypoint.js +0 -2
  410. package/node_modules/socket.io-client/build/esm/contrib/backo2.d.ts +0 -12
  411. package/node_modules/socket.io-client/build/esm/contrib/backo2.js +0 -66
  412. package/node_modules/socket.io-client/build/esm/index.d.ts +0 -29
  413. package/node_modules/socket.io-client/build/esm/index.js +0 -58
  414. package/node_modules/socket.io-client/build/esm/manager.d.ts +0 -295
  415. package/node_modules/socket.io-client/build/esm/manager.js +0 -367
  416. package/node_modules/socket.io-client/build/esm/on.d.ts +0 -2
  417. package/node_modules/socket.io-client/build/esm/on.js +0 -6
  418. package/node_modules/socket.io-client/build/esm/package.json +0 -5
  419. package/node_modules/socket.io-client/build/esm/socket.d.ts +0 -593
  420. package/node_modules/socket.io-client/build/esm/socket.js +0 -882
  421. package/node_modules/socket.io-client/build/esm/url.d.ts +0 -33
  422. package/node_modules/socket.io-client/build/esm/url.js +0 -59
  423. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts +0 -2
  424. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js +0 -2
  425. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts +0 -12
  426. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.js +0 -66
  427. package/node_modules/socket.io-client/build/esm-debug/index.d.ts +0 -29
  428. package/node_modules/socket.io-client/build/esm-debug/index.js +0 -62
  429. package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +0 -295
  430. package/node_modules/socket.io-client/build/esm-debug/manager.js +0 -386
  431. package/node_modules/socket.io-client/build/esm-debug/on.d.ts +0 -2
  432. package/node_modules/socket.io-client/build/esm-debug/on.js +0 -6
  433. package/node_modules/socket.io-client/build/esm-debug/package.json +0 -5
  434. package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +0 -593
  435. package/node_modules/socket.io-client/build/esm-debug/socket.js +0 -903
  436. package/node_modules/socket.io-client/build/esm-debug/url.d.ts +0 -33
  437. package/node_modules/socket.io-client/build/esm-debug/url.js +0 -63
  438. package/node_modules/socket.io-client/dist/socket.io.esm.min.js +0 -7
  439. package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +0 -1
  440. package/node_modules/socket.io-client/dist/socket.io.js +0 -4908
  441. package/node_modules/socket.io-client/dist/socket.io.js.map +0 -1
  442. package/node_modules/socket.io-client/dist/socket.io.min.js +0 -7
  443. package/node_modules/socket.io-client/dist/socket.io.min.js.map +0 -1
  444. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +0 -7
  445. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +0 -1
  446. package/node_modules/socket.io-client/package.json +0 -101
  447. package/node_modules/socket.io-parser/LICENSE +0 -20
  448. package/node_modules/socket.io-parser/Readme.md +0 -81
  449. package/node_modules/socket.io-parser/build/cjs/binary.d.ts +0 -20
  450. package/node_modules/socket.io-parser/build/cjs/binary.js +0 -88
  451. package/node_modules/socket.io-parser/build/cjs/index.d.ts +0 -90
  452. package/node_modules/socket.io-parser/build/cjs/index.js +0 -321
  453. package/node_modules/socket.io-parser/build/cjs/is-binary.d.ts +0 -7
  454. package/node_modules/socket.io-parser/build/cjs/is-binary.js +0 -55
  455. package/node_modules/socket.io-parser/build/cjs/package.json +0 -3
  456. package/node_modules/socket.io-parser/build/esm/binary.d.ts +0 -20
  457. package/node_modules/socket.io-parser/build/esm/binary.js +0 -83
  458. package/node_modules/socket.io-parser/build/esm/index.d.ts +0 -90
  459. package/node_modules/socket.io-parser/build/esm/index.js +0 -311
  460. package/node_modules/socket.io-parser/build/esm/is-binary.d.ts +0 -7
  461. package/node_modules/socket.io-parser/build/esm/is-binary.js +0 -50
  462. package/node_modules/socket.io-parser/build/esm/package.json +0 -3
  463. package/node_modules/socket.io-parser/build/esm-debug/binary.d.ts +0 -20
  464. package/node_modules/socket.io-parser/build/esm-debug/binary.js +0 -83
  465. package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +0 -90
  466. package/node_modules/socket.io-parser/build/esm-debug/index.js +0 -316
  467. package/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts +0 -7
  468. package/node_modules/socket.io-parser/build/esm-debug/is-binary.js +0 -50
  469. package/node_modules/socket.io-parser/build/esm-debug/package.json +0 -3
  470. package/node_modules/socket.io-parser/package.json +0 -58
  471. package/node_modules/tr46/.npmignore +0 -4
  472. package/node_modules/tr46/index.js +0 -193
  473. package/node_modules/tr46/lib/.gitkeep +0 -0
  474. package/node_modules/tr46/lib/mappingTable.json +0 -1
  475. package/node_modules/tr46/package.json +0 -31
  476. package/node_modules/webidl-conversions/LICENSE.md +0 -12
  477. package/node_modules/webidl-conversions/README.md +0 -53
  478. package/node_modules/webidl-conversions/lib/index.js +0 -189
  479. package/node_modules/webidl-conversions/package.json +0 -23
  480. package/node_modules/whatwg-url/LICENSE.txt +0 -21
  481. package/node_modules/whatwg-url/README.md +0 -67
  482. package/node_modules/whatwg-url/lib/URL-impl.js +0 -200
  483. package/node_modules/whatwg-url/lib/URL.js +0 -196
  484. package/node_modules/whatwg-url/lib/public-api.js +0 -11
  485. package/node_modules/whatwg-url/lib/url-state-machine.js +0 -1297
  486. package/node_modules/whatwg-url/lib/utils.js +0 -20
  487. package/node_modules/whatwg-url/package.json +0 -32
  488. package/node_modules/ws/LICENSE +0 -20
  489. package/node_modules/ws/README.md +0 -548
  490. package/node_modules/ws/browser.js +0 -8
  491. package/node_modules/ws/index.js +0 -13
  492. package/node_modules/ws/lib/buffer-util.js +0 -131
  493. package/node_modules/ws/lib/constants.js +0 -12
  494. package/node_modules/ws/lib/event-target.js +0 -292
  495. package/node_modules/ws/lib/extension.js +0 -203
  496. package/node_modules/ws/lib/limiter.js +0 -55
  497. package/node_modules/ws/lib/permessage-deflate.js +0 -514
  498. package/node_modules/ws/lib/receiver.js +0 -704
  499. package/node_modules/ws/lib/sender.js +0 -497
  500. package/node_modules/ws/lib/stream.js +0 -159
  501. package/node_modules/ws/lib/subprotocol.js +0 -62
  502. package/node_modules/ws/lib/validation.js +0 -130
  503. package/node_modules/ws/lib/websocket-server.js +0 -540
  504. package/node_modules/ws/lib/websocket.js +0 -1338
  505. package/node_modules/ws/package.json +0 -69
  506. package/node_modules/ws/wrapper.mjs +0 -8
  507. package/node_modules/xmlhttprequest-ssl/LICENSE +0 -22
  508. package/node_modules/xmlhttprequest-ssl/README.md +0 -67
  509. package/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +0 -689
  510. package/node_modules/xmlhttprequest-ssl/package.json +0 -40
  511. package/node_modules/zod/LICENSE +0 -21
  512. package/node_modules/zod/README.md +0 -208
  513. package/node_modules/zod/index.cjs +0 -33
  514. package/node_modules/zod/index.d.cts +0 -4
  515. package/node_modules/zod/index.d.ts +0 -4
  516. package/node_modules/zod/index.js +0 -4
  517. package/node_modules/zod/package.json +0 -118
  518. package/node_modules/zod/src/index.ts +0 -4
  519. package/node_modules/zod/src/v3/ZodError.ts +0 -330
  520. package/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  521. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  522. package/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  523. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  524. package/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  525. package/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  526. package/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  527. package/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  528. package/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  529. package/node_modules/zod/src/v3/errors.ts +0 -13
  530. package/node_modules/zod/src/v3/external.ts +0 -6
  531. package/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  532. package/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  533. package/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  534. package/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  535. package/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  536. package/node_modules/zod/src/v3/helpers/util.ts +0 -224
  537. package/node_modules/zod/src/v3/index.ts +0 -4
  538. package/node_modules/zod/src/v3/locales/en.ts +0 -124
  539. package/node_modules/zod/src/v3/standard-schema.ts +0 -113
  540. package/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  541. package/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  542. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  543. package/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  544. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  545. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  546. package/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  547. package/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  548. package/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  549. package/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  550. package/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  551. package/node_modules/zod/src/v3/tests/complex.test.ts +0 -56
  552. package/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  553. package/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  554. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  555. package/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  556. package/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  557. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  558. package/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  559. package/node_modules/zod/src/v3/tests/error.test.ts +0 -551
  560. package/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  561. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  562. package/node_modules/zod/src/v3/tests/function.test.ts +0 -257
  563. package/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  564. package/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  565. package/node_modules/zod/src/v3/tests/intersection.test.ts +0 -110
  566. package/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  567. package/node_modules/zod/src/v3/tests/language-server.test.ts +0 -207
  568. package/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  569. package/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  570. package/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  571. package/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  572. package/node_modules/zod/src/v3/tests/nan.test.ts +0 -21
  573. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  574. package/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  575. package/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  576. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  577. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  578. package/node_modules/zod/src/v3/tests/object.test.ts +0 -434
  579. package/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  580. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  581. package/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  582. package/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  583. package/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  584. package/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  585. package/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  586. package/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  587. package/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  588. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -194
  589. package/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  590. package/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  591. package/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  592. package/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  593. package/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  594. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  595. package/node_modules/zod/src/v3/tests/string.test.ts +0 -916
  596. package/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  597. package/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  598. package/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  599. package/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  600. package/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  601. package/node_modules/zod/src/v3/types.ts +0 -5136
  602. package/node_modules/zod/src/v4/classic/checks.ts +0 -30
  603. package/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  604. package/node_modules/zod/src/v4/classic/compat.ts +0 -66
  605. package/node_modules/zod/src/v4/classic/errors.ts +0 -75
  606. package/node_modules/zod/src/v4/classic/external.ts +0 -50
  607. package/node_modules/zod/src/v4/classic/index.ts +0 -5
  608. package/node_modules/zod/src/v4/classic/iso.ts +0 -90
  609. package/node_modules/zod/src/v4/classic/parse.ts +0 -33
  610. package/node_modules/zod/src/v4/classic/schemas.ts +0 -2054
  611. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  612. package/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -264
  613. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -210
  614. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  615. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  616. package/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  617. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -54
  618. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -63
  619. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -252
  620. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  621. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  622. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -352
  623. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  624. package/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -31
  625. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -296
  626. package/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -313
  627. package/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  628. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -619
  629. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -285
  630. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -527
  631. package/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -711
  632. package/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -91
  633. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -175
  634. package/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -268
  635. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  636. package/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -829
  637. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -34
  638. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -171
  639. package/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -108
  640. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -227
  641. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -92
  642. package/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -196
  643. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  644. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  645. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -86
  646. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  647. package/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -247
  648. package/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -563
  649. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -123
  650. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -147
  651. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -127
  652. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -81
  653. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -37
  654. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -298
  655. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  656. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  657. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  658. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -252
  659. package/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -342
  660. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -356
  661. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -532
  662. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -204
  663. package/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -179
  664. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -57
  665. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -109
  666. package/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -881
  667. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -66
  668. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -758
  669. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -2314
  670. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -250
  671. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -163
  672. package/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -94
  673. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  674. package/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  675. package/node_modules/zod/src/v4/core/api.ts +0 -1594
  676. package/node_modules/zod/src/v4/core/checks.ts +0 -1283
  677. package/node_modules/zod/src/v4/core/config.ts +0 -15
  678. package/node_modules/zod/src/v4/core/core.ts +0 -134
  679. package/node_modules/zod/src/v4/core/doc.ts +0 -44
  680. package/node_modules/zod/src/v4/core/errors.ts +0 -424
  681. package/node_modules/zod/src/v4/core/function.ts +0 -176
  682. package/node_modules/zod/src/v4/core/index.ts +0 -15
  683. package/node_modules/zod/src/v4/core/json-schema.ts +0 -143
  684. package/node_modules/zod/src/v4/core/parse.ts +0 -94
  685. package/node_modules/zod/src/v4/core/regexes.ts +0 -135
  686. package/node_modules/zod/src/v4/core/registries.ts +0 -96
  687. package/node_modules/zod/src/v4/core/schemas.ts +0 -3842
  688. package/node_modules/zod/src/v4/core/standard-schema.ts +0 -64
  689. package/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  690. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  691. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  692. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  693. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  694. package/node_modules/zod/src/v4/core/to-json-schema.ts +0 -977
  695. package/node_modules/zod/src/v4/core/util.ts +0 -775
  696. package/node_modules/zod/src/v4/core/versions.ts +0 -5
  697. package/node_modules/zod/src/v4/core/zsf.ts +0 -323
  698. package/node_modules/zod/src/v4/index.ts +0 -4
  699. package/node_modules/zod/src/v4/locales/ar.ts +0 -125
  700. package/node_modules/zod/src/v4/locales/az.ts +0 -121
  701. package/node_modules/zod/src/v4/locales/be.ts +0 -184
  702. package/node_modules/zod/src/v4/locales/ca.ts +0 -127
  703. package/node_modules/zod/src/v4/locales/cs.ts +0 -142
  704. package/node_modules/zod/src/v4/locales/de.ts +0 -124
  705. package/node_modules/zod/src/v4/locales/en.ts +0 -127
  706. package/node_modules/zod/src/v4/locales/eo.ts +0 -125
  707. package/node_modules/zod/src/v4/locales/es.ts +0 -125
  708. package/node_modules/zod/src/v4/locales/fa.ts +0 -134
  709. package/node_modules/zod/src/v4/locales/fi.ts +0 -131
  710. package/node_modules/zod/src/v4/locales/fr-CA.ts +0 -126
  711. package/node_modules/zod/src/v4/locales/fr.ts +0 -124
  712. package/node_modules/zod/src/v4/locales/he.ts +0 -125
  713. package/node_modules/zod/src/v4/locales/hu.ts +0 -126
  714. package/node_modules/zod/src/v4/locales/id.ts +0 -125
  715. package/node_modules/zod/src/v4/locales/index.ts +0 -39
  716. package/node_modules/zod/src/v4/locales/it.ts +0 -125
  717. package/node_modules/zod/src/v4/locales/ja.ts +0 -122
  718. package/node_modules/zod/src/v4/locales/kh.ts +0 -126
  719. package/node_modules/zod/src/v4/locales/ko.ts +0 -131
  720. package/node_modules/zod/src/v4/locales/mk.ts +0 -127
  721. package/node_modules/zod/src/v4/locales/ms.ts +0 -124
  722. package/node_modules/zod/src/v4/locales/nl.ts +0 -126
  723. package/node_modules/zod/src/v4/locales/no.ts +0 -124
  724. package/node_modules/zod/src/v4/locales/ota.ts +0 -125
  725. package/node_modules/zod/src/v4/locales/pl.ts +0 -126
  726. package/node_modules/zod/src/v4/locales/ps.ts +0 -133
  727. package/node_modules/zod/src/v4/locales/pt.ts +0 -123
  728. package/node_modules/zod/src/v4/locales/ru.ts +0 -184
  729. package/node_modules/zod/src/v4/locales/sl.ts +0 -126
  730. package/node_modules/zod/src/v4/locales/sv.ts +0 -127
  731. package/node_modules/zod/src/v4/locales/ta.ts +0 -125
  732. package/node_modules/zod/src/v4/locales/th.ts +0 -126
  733. package/node_modules/zod/src/v4/locales/tr.ts +0 -121
  734. package/node_modules/zod/src/v4/locales/ua.ts +0 -126
  735. package/node_modules/zod/src/v4/locales/ur.ts +0 -126
  736. package/node_modules/zod/src/v4/locales/vi.ts +0 -125
  737. package/node_modules/zod/src/v4/locales/zh-CN.ts +0 -123
  738. package/node_modules/zod/src/v4/locales/zh-TW.ts +0 -125
  739. package/node_modules/zod/src/v4/mini/checks.ts +0 -32
  740. package/node_modules/zod/src/v4/mini/coerce.ts +0 -22
  741. package/node_modules/zod/src/v4/mini/external.ts +0 -40
  742. package/node_modules/zod/src/v4/mini/index.ts +0 -3
  743. package/node_modules/zod/src/v4/mini/iso.ts +0 -62
  744. package/node_modules/zod/src/v4/mini/parse.ts +0 -1
  745. package/node_modules/zod/src/v4/mini/schemas.ts +0 -1579
  746. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -129
  747. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -51
  748. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -144
  749. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -36
  750. package/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -22
  751. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -43
  752. package/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -871
  753. package/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -95
  754. package/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -185
  755. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  756. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -275
  757. package/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -299
  758. package/node_modules/zod/src/v4-mini/index.ts +0 -1
  759. package/node_modules/zod/v3/ZodError.cjs +0 -138
  760. package/node_modules/zod/v3/ZodError.d.cts +0 -164
  761. package/node_modules/zod/v3/ZodError.d.ts +0 -164
  762. package/node_modules/zod/v3/ZodError.js +0 -133
  763. package/node_modules/zod/v3/errors.cjs +0 -17
  764. package/node_modules/zod/v3/errors.d.cts +0 -5
  765. package/node_modules/zod/v3/errors.d.ts +0 -5
  766. package/node_modules/zod/v3/errors.js +0 -9
  767. package/node_modules/zod/v3/external.cjs +0 -22
  768. package/node_modules/zod/v3/external.d.cts +0 -6
  769. package/node_modules/zod/v3/external.d.ts +0 -6
  770. package/node_modules/zod/v3/external.js +0 -6
  771. package/node_modules/zod/v3/helpers/enumUtil.cjs +0 -2
  772. package/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  773. package/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  774. package/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  775. package/node_modules/zod/v3/helpers/errorUtil.cjs +0 -9
  776. package/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  777. package/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  778. package/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  779. package/node_modules/zod/v3/helpers/parseUtil.cjs +0 -124
  780. package/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  781. package/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  782. package/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  783. package/node_modules/zod/v3/helpers/partialUtil.cjs +0 -2
  784. package/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  785. package/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  786. package/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  787. package/node_modules/zod/v3/helpers/typeAliases.cjs +0 -2
  788. package/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  789. package/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  790. package/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  791. package/node_modules/zod/v3/helpers/util.cjs +0 -137
  792. package/node_modules/zod/v3/helpers/util.d.cts +0 -85
  793. package/node_modules/zod/v3/helpers/util.d.ts +0 -85
  794. package/node_modules/zod/v3/helpers/util.js +0 -133
  795. package/node_modules/zod/v3/index.cjs +0 -33
  796. package/node_modules/zod/v3/index.d.cts +0 -4
  797. package/node_modules/zod/v3/index.d.ts +0 -4
  798. package/node_modules/zod/v3/index.js +0 -4
  799. package/node_modules/zod/v3/locales/en.cjs +0 -111
  800. package/node_modules/zod/v3/locales/en.d.cts +0 -3
  801. package/node_modules/zod/v3/locales/en.d.ts +0 -3
  802. package/node_modules/zod/v3/locales/en.js +0 -109
  803. package/node_modules/zod/v3/standard-schema.cjs +0 -2
  804. package/node_modules/zod/v3/standard-schema.d.cts +0 -102
  805. package/node_modules/zod/v3/standard-schema.d.ts +0 -102
  806. package/node_modules/zod/v3/standard-schema.js +0 -1
  807. package/node_modules/zod/v3/types.cjs +0 -3775
  808. package/node_modules/zod/v3/types.d.cts +0 -1031
  809. package/node_modules/zod/v3/types.d.ts +0 -1031
  810. package/node_modules/zod/v3/types.js +0 -3693
  811. package/node_modules/zod/v4/classic/checks.cjs +0 -32
  812. package/node_modules/zod/v4/classic/checks.d.cts +0 -1
  813. package/node_modules/zod/v4/classic/checks.d.ts +0 -1
  814. package/node_modules/zod/v4/classic/checks.js +0 -1
  815. package/node_modules/zod/v4/classic/coerce.cjs +0 -47
  816. package/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  817. package/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  818. package/node_modules/zod/v4/classic/coerce.js +0 -17
  819. package/node_modules/zod/v4/classic/compat.cjs +0 -57
  820. package/node_modules/zod/v4/classic/compat.d.cts +0 -46
  821. package/node_modules/zod/v4/classic/compat.d.ts +0 -46
  822. package/node_modules/zod/v4/classic/compat.js +0 -27
  823. package/node_modules/zod/v4/classic/errors.cjs +0 -67
  824. package/node_modules/zod/v4/classic/errors.d.cts +0 -30
  825. package/node_modules/zod/v4/classic/errors.d.ts +0 -30
  826. package/node_modules/zod/v4/classic/errors.js +0 -41
  827. package/node_modules/zod/v4/classic/external.cjs +0 -70
  828. package/node_modules/zod/v4/classic/external.d.cts +0 -13
  829. package/node_modules/zod/v4/classic/external.d.ts +0 -13
  830. package/node_modules/zod/v4/classic/external.js +0 -18
  831. package/node_modules/zod/v4/classic/index.cjs +0 -33
  832. package/node_modules/zod/v4/classic/index.d.cts +0 -4
  833. package/node_modules/zod/v4/classic/index.d.ts +0 -4
  834. package/node_modules/zod/v4/classic/index.js +0 -4
  835. package/node_modules/zod/v4/classic/iso.cjs +0 -60
  836. package/node_modules/zod/v4/classic/iso.d.cts +0 -22
  837. package/node_modules/zod/v4/classic/iso.d.ts +0 -22
  838. package/node_modules/zod/v4/classic/iso.js +0 -30
  839. package/node_modules/zod/v4/classic/parse.cjs +0 -32
  840. package/node_modules/zod/v4/classic/parse.d.cts +0 -23
  841. package/node_modules/zod/v4/classic/parse.d.ts +0 -23
  842. package/node_modules/zod/v4/classic/parse.js +0 -6
  843. package/node_modules/zod/v4/classic/schemas.cjs +0 -1109
  844. package/node_modules/zod/v4/classic/schemas.d.cts +0 -630
  845. package/node_modules/zod/v4/classic/schemas.d.ts +0 -630
  846. package/node_modules/zod/v4/classic/schemas.js +0 -1006
  847. package/node_modules/zod/v4/core/api.cjs +0 -1039
  848. package/node_modules/zod/v4/core/api.d.cts +0 -284
  849. package/node_modules/zod/v4/core/api.d.ts +0 -284
  850. package/node_modules/zod/v4/core/api.js +0 -906
  851. package/node_modules/zod/v4/core/checks.cjs +0 -591
  852. package/node_modules/zod/v4/core/checks.d.cts +0 -278
  853. package/node_modules/zod/v4/core/checks.d.ts +0 -278
  854. package/node_modules/zod/v4/core/checks.js +0 -565
  855. package/node_modules/zod/v4/core/core.cjs +0 -67
  856. package/node_modules/zod/v4/core/core.d.cts +0 -49
  857. package/node_modules/zod/v4/core/core.d.ts +0 -49
  858. package/node_modules/zod/v4/core/core.js +0 -61
  859. package/node_modules/zod/v4/core/doc.cjs +0 -39
  860. package/node_modules/zod/v4/core/doc.d.cts +0 -14
  861. package/node_modules/zod/v4/core/doc.d.ts +0 -14
  862. package/node_modules/zod/v4/core/doc.js +0 -35
  863. package/node_modules/zod/v4/core/errors.cjs +0 -226
  864. package/node_modules/zod/v4/core/errors.d.cts +0 -208
  865. package/node_modules/zod/v4/core/errors.d.ts +0 -208
  866. package/node_modules/zod/v4/core/errors.js +0 -195
  867. package/node_modules/zod/v4/core/function.cjs +0 -102
  868. package/node_modules/zod/v4/core/function.d.cts +0 -52
  869. package/node_modules/zod/v4/core/function.d.ts +0 -52
  870. package/node_modules/zod/v4/core/function.js +0 -75
  871. package/node_modules/zod/v4/core/index.cjs +0 -44
  872. package/node_modules/zod/v4/core/index.d.cts +0 -15
  873. package/node_modules/zod/v4/core/index.d.ts +0 -15
  874. package/node_modules/zod/v4/core/index.js +0 -15
  875. package/node_modules/zod/v4/core/json-schema.cjs +0 -2
  876. package/node_modules/zod/v4/core/json-schema.d.cts +0 -87
  877. package/node_modules/zod/v4/core/json-schema.d.ts +0 -87
  878. package/node_modules/zod/v4/core/json-schema.js +0 -1
  879. package/node_modules/zod/v4/core/parse.cjs +0 -87
  880. package/node_modules/zod/v4/core/parse.d.cts +0 -25
  881. package/node_modules/zod/v4/core/parse.d.ts +0 -25
  882. package/node_modules/zod/v4/core/parse.js +0 -57
  883. package/node_modules/zod/v4/core/regexes.cjs +0 -103
  884. package/node_modules/zod/v4/core/regexes.d.cts +0 -62
  885. package/node_modules/zod/v4/core/regexes.d.ts +0 -62
  886. package/node_modules/zod/v4/core/regexes.js +0 -95
  887. package/node_modules/zod/v4/core/registries.cjs +0 -56
  888. package/node_modules/zod/v4/core/registries.d.cts +0 -35
  889. package/node_modules/zod/v4/core/registries.d.ts +0 -35
  890. package/node_modules/zod/v4/core/registries.js +0 -51
  891. package/node_modules/zod/v4/core/schemas.cjs +0 -1748
  892. package/node_modules/zod/v4/core/schemas.d.cts +0 -1041
  893. package/node_modules/zod/v4/core/schemas.d.ts +0 -1041
  894. package/node_modules/zod/v4/core/schemas.js +0 -1717
  895. package/node_modules/zod/v4/core/standard-schema.cjs +0 -2
  896. package/node_modules/zod/v4/core/standard-schema.d.cts +0 -55
  897. package/node_modules/zod/v4/core/standard-schema.d.ts +0 -55
  898. package/node_modules/zod/v4/core/standard-schema.js +0 -1
  899. package/node_modules/zod/v4/core/to-json-schema.cjs +0 -854
  900. package/node_modules/zod/v4/core/to-json-schema.d.cts +0 -88
  901. package/node_modules/zod/v4/core/to-json-schema.d.ts +0 -88
  902. package/node_modules/zod/v4/core/to-json-schema.js +0 -849
  903. package/node_modules/zod/v4/core/util.cjs +0 -539
  904. package/node_modules/zod/v4/core/util.d.cts +0 -183
  905. package/node_modules/zod/v4/core/util.d.ts +0 -183
  906. package/node_modules/zod/v4/core/util.js +0 -493
  907. package/node_modules/zod/v4/core/versions.cjs +0 -8
  908. package/node_modules/zod/v4/core/versions.d.cts +0 -5
  909. package/node_modules/zod/v4/core/versions.d.ts +0 -5
  910. package/node_modules/zod/v4/core/versions.js +0 -5
  911. package/node_modules/zod/v4/index.cjs +0 -22
  912. package/node_modules/zod/v4/index.d.cts +0 -3
  913. package/node_modules/zod/v4/index.d.ts +0 -3
  914. package/node_modules/zod/v4/index.js +0 -3
  915. package/node_modules/zod/v4/locales/ar.cjs +0 -142
  916. package/node_modules/zod/v4/locales/ar.d.cts +0 -4
  917. package/node_modules/zod/v4/locales/ar.d.ts +0 -4
  918. package/node_modules/zod/v4/locales/ar.js +0 -116
  919. package/node_modules/zod/v4/locales/az.cjs +0 -141
  920. package/node_modules/zod/v4/locales/az.d.cts +0 -4
  921. package/node_modules/zod/v4/locales/az.d.ts +0 -4
  922. package/node_modules/zod/v4/locales/az.js +0 -115
  923. package/node_modules/zod/v4/locales/be.cjs +0 -190
  924. package/node_modules/zod/v4/locales/be.d.cts +0 -4
  925. package/node_modules/zod/v4/locales/be.d.ts +0 -4
  926. package/node_modules/zod/v4/locales/be.js +0 -164
  927. package/node_modules/zod/v4/locales/ca.cjs +0 -144
  928. package/node_modules/zod/v4/locales/ca.d.cts +0 -4
  929. package/node_modules/zod/v4/locales/ca.d.ts +0 -4
  930. package/node_modules/zod/v4/locales/ca.js +0 -118
  931. package/node_modules/zod/v4/locales/cs.cjs +0 -161
  932. package/node_modules/zod/v4/locales/cs.d.cts +0 -4
  933. package/node_modules/zod/v4/locales/cs.d.ts +0 -4
  934. package/node_modules/zod/v4/locales/cs.js +0 -135
  935. package/node_modules/zod/v4/locales/de.cjs +0 -142
  936. package/node_modules/zod/v4/locales/de.d.cts +0 -4
  937. package/node_modules/zod/v4/locales/de.d.ts +0 -4
  938. package/node_modules/zod/v4/locales/de.js +0 -116
  939. package/node_modules/zod/v4/locales/en.cjs +0 -145
  940. package/node_modules/zod/v4/locales/en.d.cts +0 -5
  941. package/node_modules/zod/v4/locales/en.d.ts +0 -5
  942. package/node_modules/zod/v4/locales/en.js +0 -117
  943. package/node_modules/zod/v4/locales/eo.cjs +0 -144
  944. package/node_modules/zod/v4/locales/eo.d.cts +0 -5
  945. package/node_modules/zod/v4/locales/eo.d.ts +0 -5
  946. package/node_modules/zod/v4/locales/eo.js +0 -116
  947. package/node_modules/zod/v4/locales/es.cjs +0 -143
  948. package/node_modules/zod/v4/locales/es.d.cts +0 -4
  949. package/node_modules/zod/v4/locales/es.d.ts +0 -4
  950. package/node_modules/zod/v4/locales/es.js +0 -117
  951. package/node_modules/zod/v4/locales/fa.cjs +0 -148
  952. package/node_modules/zod/v4/locales/fa.d.cts +0 -4
  953. package/node_modules/zod/v4/locales/fa.d.ts +0 -4
  954. package/node_modules/zod/v4/locales/fa.js +0 -122
  955. package/node_modules/zod/v4/locales/fi.cjs +0 -148
  956. package/node_modules/zod/v4/locales/fi.d.cts +0 -4
  957. package/node_modules/zod/v4/locales/fi.d.ts +0 -4
  958. package/node_modules/zod/v4/locales/fi.js +0 -122
  959. package/node_modules/zod/v4/locales/fr-CA.cjs +0 -143
  960. package/node_modules/zod/v4/locales/fr-CA.d.cts +0 -4
  961. package/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  962. package/node_modules/zod/v4/locales/fr-CA.js +0 -117
  963. package/node_modules/zod/v4/locales/fr.cjs +0 -142
  964. package/node_modules/zod/v4/locales/fr.d.cts +0 -4
  965. package/node_modules/zod/v4/locales/fr.d.ts +0 -4
  966. package/node_modules/zod/v4/locales/fr.js +0 -116
  967. package/node_modules/zod/v4/locales/he.cjs +0 -143
  968. package/node_modules/zod/v4/locales/he.d.cts +0 -4
  969. package/node_modules/zod/v4/locales/he.d.ts +0 -4
  970. package/node_modules/zod/v4/locales/he.js +0 -117
  971. package/node_modules/zod/v4/locales/hu.cjs +0 -143
  972. package/node_modules/zod/v4/locales/hu.d.cts +0 -4
  973. package/node_modules/zod/v4/locales/hu.d.ts +0 -4
  974. package/node_modules/zod/v4/locales/hu.js +0 -117
  975. package/node_modules/zod/v4/locales/id.cjs +0 -142
  976. package/node_modules/zod/v4/locales/id.d.cts +0 -4
  977. package/node_modules/zod/v4/locales/id.d.ts +0 -4
  978. package/node_modules/zod/v4/locales/id.js +0 -116
  979. package/node_modules/zod/v4/locales/index.cjs +0 -84
  980. package/node_modules/zod/v4/locales/index.d.cts +0 -39
  981. package/node_modules/zod/v4/locales/index.d.ts +0 -39
  982. package/node_modules/zod/v4/locales/index.js +0 -39
  983. package/node_modules/zod/v4/locales/it.cjs +0 -143
  984. package/node_modules/zod/v4/locales/it.d.cts +0 -4
  985. package/node_modules/zod/v4/locales/it.d.ts +0 -4
  986. package/node_modules/zod/v4/locales/it.js +0 -117
  987. package/node_modules/zod/v4/locales/ja.cjs +0 -141
  988. package/node_modules/zod/v4/locales/ja.d.cts +0 -4
  989. package/node_modules/zod/v4/locales/ja.d.ts +0 -4
  990. package/node_modules/zod/v4/locales/ja.js +0 -115
  991. package/node_modules/zod/v4/locales/kh.cjs +0 -143
  992. package/node_modules/zod/v4/locales/kh.d.cts +0 -4
  993. package/node_modules/zod/v4/locales/kh.d.ts +0 -4
  994. package/node_modules/zod/v4/locales/kh.js +0 -117
  995. package/node_modules/zod/v4/locales/ko.cjs +0 -147
  996. package/node_modules/zod/v4/locales/ko.d.cts +0 -4
  997. package/node_modules/zod/v4/locales/ko.d.ts +0 -4
  998. package/node_modules/zod/v4/locales/ko.js +0 -121
  999. package/node_modules/zod/v4/locales/mk.cjs +0 -144
  1000. package/node_modules/zod/v4/locales/mk.d.cts +0 -4
  1001. package/node_modules/zod/v4/locales/mk.d.ts +0 -4
  1002. package/node_modules/zod/v4/locales/mk.js +0 -118
  1003. package/node_modules/zod/v4/locales/ms.cjs +0 -142
  1004. package/node_modules/zod/v4/locales/ms.d.cts +0 -4
  1005. package/node_modules/zod/v4/locales/ms.d.ts +0 -4
  1006. package/node_modules/zod/v4/locales/ms.js +0 -116
  1007. package/node_modules/zod/v4/locales/nl.cjs +0 -143
  1008. package/node_modules/zod/v4/locales/nl.d.cts +0 -4
  1009. package/node_modules/zod/v4/locales/nl.d.ts +0 -4
  1010. package/node_modules/zod/v4/locales/nl.js +0 -117
  1011. package/node_modules/zod/v4/locales/no.cjs +0 -142
  1012. package/node_modules/zod/v4/locales/no.d.cts +0 -4
  1013. package/node_modules/zod/v4/locales/no.d.ts +0 -4
  1014. package/node_modules/zod/v4/locales/no.js +0 -116
  1015. package/node_modules/zod/v4/locales/ota.cjs +0 -143
  1016. package/node_modules/zod/v4/locales/ota.d.cts +0 -4
  1017. package/node_modules/zod/v4/locales/ota.d.ts +0 -4
  1018. package/node_modules/zod/v4/locales/ota.js +0 -117
  1019. package/node_modules/zod/v4/locales/pl.cjs +0 -143
  1020. package/node_modules/zod/v4/locales/pl.d.cts +0 -4
  1021. package/node_modules/zod/v4/locales/pl.d.ts +0 -4
  1022. package/node_modules/zod/v4/locales/pl.js +0 -117
  1023. package/node_modules/zod/v4/locales/ps.cjs +0 -148
  1024. package/node_modules/zod/v4/locales/ps.d.cts +0 -4
  1025. package/node_modules/zod/v4/locales/ps.d.ts +0 -4
  1026. package/node_modules/zod/v4/locales/ps.js +0 -122
  1027. package/node_modules/zod/v4/locales/pt.cjs +0 -142
  1028. package/node_modules/zod/v4/locales/pt.d.cts +0 -4
  1029. package/node_modules/zod/v4/locales/pt.d.ts +0 -4
  1030. package/node_modules/zod/v4/locales/pt.js +0 -116
  1031. package/node_modules/zod/v4/locales/ru.cjs +0 -190
  1032. package/node_modules/zod/v4/locales/ru.d.cts +0 -4
  1033. package/node_modules/zod/v4/locales/ru.d.ts +0 -4
  1034. package/node_modules/zod/v4/locales/ru.js +0 -164
  1035. package/node_modules/zod/v4/locales/sl.cjs +0 -143
  1036. package/node_modules/zod/v4/locales/sl.d.cts +0 -4
  1037. package/node_modules/zod/v4/locales/sl.d.ts +0 -4
  1038. package/node_modules/zod/v4/locales/sl.js +0 -117
  1039. package/node_modules/zod/v4/locales/sv.cjs +0 -144
  1040. package/node_modules/zod/v4/locales/sv.d.cts +0 -4
  1041. package/node_modules/zod/v4/locales/sv.d.ts +0 -4
  1042. package/node_modules/zod/v4/locales/sv.js +0 -118
  1043. package/node_modules/zod/v4/locales/ta.cjs +0 -143
  1044. package/node_modules/zod/v4/locales/ta.d.cts +0 -4
  1045. package/node_modules/zod/v4/locales/ta.d.ts +0 -4
  1046. package/node_modules/zod/v4/locales/ta.js +0 -117
  1047. package/node_modules/zod/v4/locales/th.cjs +0 -143
  1048. package/node_modules/zod/v4/locales/th.d.cts +0 -4
  1049. package/node_modules/zod/v4/locales/th.d.ts +0 -4
  1050. package/node_modules/zod/v4/locales/th.js +0 -117
  1051. package/node_modules/zod/v4/locales/tr.cjs +0 -143
  1052. package/node_modules/zod/v4/locales/tr.d.cts +0 -5
  1053. package/node_modules/zod/v4/locales/tr.d.ts +0 -5
  1054. package/node_modules/zod/v4/locales/tr.js +0 -115
  1055. package/node_modules/zod/v4/locales/ua.cjs +0 -143
  1056. package/node_modules/zod/v4/locales/ua.d.cts +0 -4
  1057. package/node_modules/zod/v4/locales/ua.d.ts +0 -4
  1058. package/node_modules/zod/v4/locales/ua.js +0 -117
  1059. package/node_modules/zod/v4/locales/ur.cjs +0 -143
  1060. package/node_modules/zod/v4/locales/ur.d.cts +0 -4
  1061. package/node_modules/zod/v4/locales/ur.d.ts +0 -4
  1062. package/node_modules/zod/v4/locales/ur.js +0 -117
  1063. package/node_modules/zod/v4/locales/vi.cjs +0 -142
  1064. package/node_modules/zod/v4/locales/vi.d.cts +0 -4
  1065. package/node_modules/zod/v4/locales/vi.d.ts +0 -4
  1066. package/node_modules/zod/v4/locales/vi.js +0 -116
  1067. package/node_modules/zod/v4/locales/zh-CN.cjs +0 -142
  1068. package/node_modules/zod/v4/locales/zh-CN.d.cts +0 -4
  1069. package/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  1070. package/node_modules/zod/v4/locales/zh-CN.js +0 -116
  1071. package/node_modules/zod/v4/locales/zh-TW.cjs +0 -143
  1072. package/node_modules/zod/v4/locales/zh-TW.d.cts +0 -4
  1073. package/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  1074. package/node_modules/zod/v4/locales/zh-TW.js +0 -117
  1075. package/node_modules/zod/v4/mini/checks.cjs +0 -34
  1076. package/node_modules/zod/v4/mini/checks.d.cts +0 -1
  1077. package/node_modules/zod/v4/mini/checks.d.ts +0 -1
  1078. package/node_modules/zod/v4/mini/checks.js +0 -1
  1079. package/node_modules/zod/v4/mini/coerce.cjs +0 -47
  1080. package/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  1081. package/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  1082. package/node_modules/zod/v4/mini/coerce.js +0 -17
  1083. package/node_modules/zod/v4/mini/external.cjs +0 -62
  1084. package/node_modules/zod/v4/mini/external.d.cts +0 -11
  1085. package/node_modules/zod/v4/mini/external.d.ts +0 -11
  1086. package/node_modules/zod/v4/mini/external.js +0 -13
  1087. package/node_modules/zod/v4/mini/index.cjs +0 -32
  1088. package/node_modules/zod/v4/mini/index.d.cts +0 -3
  1089. package/node_modules/zod/v4/mini/index.d.ts +0 -3
  1090. package/node_modules/zod/v4/mini/index.js +0 -3
  1091. package/node_modules/zod/v4/mini/iso.cjs +0 -60
  1092. package/node_modules/zod/v4/mini/iso.d.cts +0 -22
  1093. package/node_modules/zod/v4/mini/iso.d.ts +0 -22
  1094. package/node_modules/zod/v4/mini/iso.js +0 -30
  1095. package/node_modules/zod/v4/mini/parse.cjs +0 -8
  1096. package/node_modules/zod/v4/mini/parse.d.cts +0 -1
  1097. package/node_modules/zod/v4/mini/parse.d.ts +0 -1
  1098. package/node_modules/zod/v4/mini/parse.js +0 -1
  1099. package/node_modules/zod/v4/mini/schemas.cjs +0 -839
  1100. package/node_modules/zod/v4/mini/schemas.d.cts +0 -356
  1101. package/node_modules/zod/v4/mini/schemas.d.ts +0 -356
  1102. package/node_modules/zod/v4/mini/schemas.js +0 -732
  1103. package/node_modules/zod/v4-mini/index.cjs +0 -17
  1104. package/node_modules/zod/v4-mini/index.d.cts +0 -1
  1105. package/node_modules/zod/v4-mini/index.d.ts +0 -1
  1106. package/node_modules/zod/v4-mini/index.js +0 -1
  1107. package/src/lib/insforge-client.js +0 -79
  1108. package/src/lib/insforge.js +0 -29
  1109. package/src/lib/uploader.js +0 -224
  1110. package/src/lib/vibeusage-api.js +0 -243
  1111. package/src/lib/vibeusage-public-repo.js +0 -105
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts","../src/lib/http-client.ts","../src/lib/token-manager.ts","../src/modules/auth.ts","../src/modules/database-postgrest.ts","../src/modules/storage.ts","../src/modules/ai.ts","../src/modules/functions.ts","../src/modules/realtime.ts","../src/modules/email.ts","../src/client.ts","../src/index.ts"],"sourcesContent":["/**\r\n * InsForge SDK Types - only SDK-specific types here\r\n * Use @insforge/shared-schemas directly for API types\r\n */\r\n\r\nimport type { UserSchema } from '@insforge/shared-schemas';\r\n\r\nexport interface InsForgeConfig {\r\n /**\r\n * The base URL of the InsForge backend API\r\n * @default \"http://localhost:7130\"\r\n */\r\n baseUrl?: string;\r\n\r\n /**\r\n * Anonymous API key (optional)\r\n * Used for public/unauthenticated requests when no user token is set\r\n */\r\n anonKey?: string;\r\n\r\n /**\r\n * Edge Function Token (optional)\r\n * Use this when running in edge functions/serverless with a user's JWT token\r\n * This token will be used for all authenticated requests\r\n */\r\n edgeFunctionToken?: string;\r\n\r\n /**\r\n * Custom fetch implementation (useful for Node.js environments)\r\n */\r\n fetch?: typeof fetch;\r\n\r\n /**\r\n * Storage adapter for persisting tokens\r\n */\r\n storage?: TokenStorage;\r\n\r\n /**\r\n * Whether to automatically refresh tokens before they expire\r\n * @default true\r\n */\r\n autoRefreshToken?: boolean;\r\n\r\n /**\r\n * Whether to persist session in storage\r\n * @default true\r\n */\r\n persistSession?: boolean;\r\n\r\n /**\r\n * Custom headers to include with every request\r\n */\r\n headers?: Record<string, string>;\r\n}\r\n\r\nexport interface TokenStorage {\r\n getItem(key: string): string | null | Promise<string | null>;\r\n setItem(key: string, value: string): void | Promise<void>;\r\n removeItem(key: string): void | Promise<void>;\r\n}\r\n\r\nexport interface AuthSession {\r\n user: UserSchema;\r\n accessToken: string;\r\n expiresAt?: Date;\r\n}\r\n\r\nexport interface ApiError {\r\n error: string;\r\n message: string;\r\n statusCode: number;\r\n nextActions?: string;\r\n}\r\n\r\nexport class InsForgeError extends Error {\r\n public statusCode: number;\r\n public error: string;\r\n public nextActions?: string;\r\n\r\n constructor(message: string, statusCode: number, error: string, nextActions?: string) {\r\n super(message);\r\n this.name = 'InsForgeError';\r\n this.statusCode = statusCode;\r\n this.error = error;\r\n this.nextActions = nextActions;\r\n }\r\n\r\n static fromApiError(apiError: ApiError): InsForgeError {\r\n return new InsForgeError(\r\n apiError.message,\r\n apiError.statusCode,\r\n apiError.error,\r\n apiError.nextActions\r\n );\r\n }\r\n}","import { InsForgeConfig, ApiError, InsForgeError } from '../types';\r\n\r\nexport interface RequestOptions extends RequestInit {\r\n params?: Record<string, string>;\r\n}\r\n\r\nexport class HttpClient {\r\n public readonly baseUrl: string;\r\n public readonly fetch: typeof fetch;\r\n private defaultHeaders: Record<string, string>;\r\n private anonKey: string | undefined;\r\n private userToken: string | null = null;\r\n\r\n constructor(config: InsForgeConfig) {\r\n this.baseUrl = config.baseUrl || 'http://localhost:7130';\r\n // Properly bind fetch to maintain its context\r\n this.fetch = config.fetch || (globalThis.fetch ? globalThis.fetch.bind(globalThis) : undefined as any);\r\n this.anonKey = config.anonKey;\r\n this.defaultHeaders = {\r\n ...config.headers,\r\n };\r\n\r\n if (!this.fetch) {\r\n throw new Error(\r\n 'Fetch is not available. Please provide a fetch implementation in the config.'\r\n );\r\n }\r\n }\r\n\r\n private buildUrl(path: string, params?: Record<string, string>): string {\r\n const url = new URL(path, this.baseUrl);\r\n if (params) {\r\n Object.entries(params).forEach(([key, value]) => {\r\n // For select parameter, preserve the exact formatting by normalizing whitespace\r\n // This ensures PostgREST relationship queries work correctly\r\n if (key === 'select') {\r\n // Normalize multiline select strings for PostgREST:\r\n // 1. Replace all whitespace (including newlines) with single space\r\n // 2. Remove spaces inside parentheses for proper PostgREST syntax\r\n // 3. Keep spaces after commas at the top level for readability\r\n let normalizedValue = value.replace(/\\s+/g, ' ').trim();\r\n\r\n // Fix spaces around parentheses and inside them\r\n normalizedValue = normalizedValue\r\n .replace(/\\s*\\(\\s*/g, '(') // Remove spaces around opening parens\r\n .replace(/\\s*\\)\\s*/g, ')') // Remove spaces around closing parens\r\n .replace(/\\(\\s+/g, '(') // Remove spaces after opening parens\r\n .replace(/\\s+\\)/g, ')') // Remove spaces before closing parens\r\n .replace(/,\\s+(?=[^()]*\\))/g, ','); // Remove spaces after commas inside parens\r\n \r\n url.searchParams.append(key, normalizedValue);\r\n } else {\r\n url.searchParams.append(key, value);\r\n }\r\n });\r\n }\r\n return url.toString();\r\n }\r\n\r\n async request<T>(\r\n method: string,\r\n path: string,\r\n options: RequestOptions = {}\r\n ): Promise<T> {\r\n const { params, headers = {}, body, ...fetchOptions } = options;\r\n \r\n const url = this.buildUrl(path, params);\r\n \r\n const requestHeaders: Record<string, string> = {\r\n ...this.defaultHeaders,\r\n };\r\n \r\n // Set Authorization header: prefer user token, fallback to anon key\r\n const authToken = this.userToken || this.anonKey;\r\n if (authToken) {\r\n requestHeaders['Authorization'] = `Bearer ${authToken}`;\r\n }\r\n \r\n // Handle body serialization\r\n let processedBody: any;\r\n if (body !== undefined) {\r\n // Check if body is FormData (for file uploads)\r\n if (typeof FormData !== 'undefined' && body instanceof FormData) {\r\n // Don't set Content-Type for FormData, let browser set it with boundary\r\n processedBody = body;\r\n } else {\r\n // JSON body\r\n if (method !== 'GET') {\r\n requestHeaders['Content-Type'] = 'application/json;charset=UTF-8';\r\n }\r\n processedBody = JSON.stringify(body);\r\n }\r\n }\r\n \r\n Object.assign(requestHeaders, headers);\r\n \r\n const response = await this.fetch(url, {\r\n method,\r\n headers: requestHeaders,\r\n body: processedBody,\r\n ...fetchOptions,\r\n });\r\n\r\n // Handle 204 No Content\r\n if (response.status === 204) {\r\n return undefined as T;\r\n }\r\n\r\n // Try to parse JSON response\r\n let data: any;\r\n const contentType = response.headers.get('content-type');\r\n // Check for any JSON content type (including PostgREST's vnd.pgrst.object+json)\r\n if (contentType?.includes('json')) {\r\n data = await response.json();\r\n } else {\r\n // For non-JSON responses, return text\r\n data = await response.text();\r\n }\r\n\r\n // Handle errors\r\n if (!response.ok) {\r\n if (data && typeof data === 'object' && 'error' in data) {\r\n // Add the HTTP status code if not already in the data\r\n if (!data.statusCode && !data.status) {\r\n data.statusCode = response.status;\r\n }\r\n const error = InsForgeError.fromApiError(data as ApiError);\r\n // Preserve all additional fields from the error response\r\n Object.keys(data).forEach(key => {\r\n if (key !== 'error' && key !== 'message' && key !== 'statusCode') {\r\n (error as any)[key] = data[key];\r\n }\r\n });\r\n throw error;\r\n }\r\n throw new InsForgeError(\r\n `Request failed: ${response.statusText}`,\r\n response.status,\r\n 'REQUEST_FAILED'\r\n );\r\n }\r\n\r\n return data as T;\r\n }\r\n\r\n get<T>(path: string, options?: RequestOptions): Promise<T> {\r\n return this.request<T>('GET', path, options);\r\n }\r\n\r\n post<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\r\n return this.request<T>('POST', path, { ...options, body });\r\n }\r\n\r\n put<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\r\n return this.request<T>('PUT', path, { ...options, body });\r\n }\r\n\r\n patch<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\r\n return this.request<T>('PATCH', path, { ...options, body });\r\n }\r\n\r\n delete<T>(path: string, options?: RequestOptions): Promise<T> {\r\n return this.request<T>('DELETE', path, options);\r\n }\r\n\r\n setAuthToken(token: string | null) {\r\n this.userToken = token;\r\n }\r\n\r\n getHeaders(): Record<string, string> {\r\n const headers = { ...this.defaultHeaders };\r\n \r\n // Include Authorization header if token is available (same logic as request method)\r\n const authToken = this.userToken || this.anonKey;\r\n if (authToken) {\r\n headers['Authorization'] = `Bearer ${authToken}`;\r\n }\r\n \r\n return headers;\r\n }\r\n}","/**\r\n * Token Manager for InsForge SDK\r\n * \r\n * Simple token storage that supports two modes:\r\n * - Memory mode (new backend): tokens stored in memory only, more secure\r\n * - Storage mode (legacy backend): tokens persisted in localStorage\r\n */\r\n\r\nimport type { UserSchema } from '@insforge/shared-schemas';\r\nimport type { AuthSession, TokenStorage } from '../types';\r\n\r\n// localStorage keys\r\nexport const TOKEN_KEY = 'insforge-auth-token';\r\nexport const USER_KEY = 'insforge-auth-user';\r\n\r\n// CSRF token cookie name\r\nexport const CSRF_TOKEN_COOKIE = 'insforge_csrf_token';\r\n\r\n/**\r\n * Get CSRF token from cookie\r\n * Used to include in X-CSRF-Token header for refresh requests\r\n */\r\nexport function getCsrfToken(): string | null {\r\n if (typeof document === 'undefined') return null;\r\n const match = document.cookie\r\n .split(';')\r\n .find(c => c.trim().startsWith(`${CSRF_TOKEN_COOKIE}=`));\r\n if (!match) return null;\r\n return match.split('=')[1] || null;\r\n}\r\n\r\n/**\r\n * Set CSRF token cookie\r\n * Called after login/register/refresh to store the CSRF token\r\n */\r\nexport function setCsrfToken(token: string): void {\r\n if (typeof document === 'undefined') return;\r\n const maxAge = 7 * 24 * 60 * 60; // 7 days (same as refresh token)\r\n const secure = (typeof window !== 'undefined' && window.location.protocol === 'https:') ? '; Secure' : '';\r\n document.cookie = `${CSRF_TOKEN_COOKIE}=${encodeURIComponent(token)}; path=/; max-age=${maxAge}; SameSite=Lax${secure}`;\r\n}\r\n\r\n/**\r\n * Clear CSRF token cookie\r\n * Called on logout\r\n */\r\nexport function clearCsrfToken(): void {\r\n if (typeof document === 'undefined') return;\r\n const secure = (typeof window !== 'undefined' && window.location.protocol === 'https:') ? '; Secure' : '';\r\n document.cookie = `${CSRF_TOKEN_COOKIE}=; path=/; max-age=0; SameSite=Lax${secure}`;\r\n}\r\n\r\nexport class TokenManager {\r\n // In-memory storage\r\n private accessToken: string | null = null;\r\n private user: UserSchema | null = null;\r\n \r\n // Persistent storage (for legacy backend)\r\n private storage: TokenStorage;\r\n \r\n // Mode: 'memory' (new backend) or 'storage' (legacy backend, default)\r\n private _mode: 'memory' | 'storage' = 'storage';\r\n\r\n constructor(storage?: TokenStorage) {\r\n if (storage) {\r\n // Use provided storage\r\n this.storage = storage;\r\n } else if (typeof window !== 'undefined' && window.localStorage) {\r\n // Browser: use localStorage\r\n this.storage = window.localStorage;\r\n } else {\r\n // Node.js: use in-memory storage\r\n const store = new Map<string, string>();\r\n this.storage = {\r\n getItem: (key: string) => store.get(key) || null,\r\n setItem: (key: string, value: string) => { store.set(key, value); },\r\n removeItem: (key: string) => { store.delete(key); }\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Get current mode\r\n */\r\n get mode(): 'memory' | 'storage' {\r\n return this._mode;\r\n }\r\n\r\n /**\r\n * Set mode to memory (new backend with cookies + memory)\r\n */\r\n setMemoryMode(): void {\r\n if (this._mode === 'storage') {\r\n // Clear localStorage when switching from storage to memory mode\r\n this.storage.removeItem(TOKEN_KEY);\r\n this.storage.removeItem(USER_KEY);\r\n }\r\n this._mode = 'memory';\r\n }\r\n\r\n /**\r\n * Set mode to storage (legacy backend with localStorage)\r\n * Also loads existing session from localStorage\r\n */\r\n setStorageMode(): void {\r\n this._mode = 'storage';\r\n this.loadFromStorage();\r\n }\r\n\r\n /**\r\n * Load session from localStorage\r\n */\r\n private loadFromStorage(): void {\r\n const token = this.storage.getItem(TOKEN_KEY) as string | null;\r\n const userStr = this.storage.getItem(USER_KEY) as string | null;\r\n\r\n if (token && userStr) {\r\n try {\r\n this.accessToken = token;\r\n this.user = JSON.parse(userStr);\r\n } catch {\r\n this.clearSession();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Save session (memory always, localStorage only in storage mode)\r\n */\r\n saveSession(session: AuthSession): void {\r\n this.accessToken = session.accessToken;\r\n this.user = session.user;\r\n\r\n // Persist to localStorage in storage mode\r\n if (this._mode === 'storage') {\r\n this.storage.setItem(TOKEN_KEY, session.accessToken);\r\n this.storage.setItem(USER_KEY, JSON.stringify(session.user));\r\n }\r\n }\r\n\r\n /**\r\n * Get current session\r\n */\r\n getSession(): AuthSession | null {\r\n this.loadFromStorage();\r\n if (!this.accessToken || !this.user) return null;\r\n return {\r\n accessToken: this.accessToken,\r\n user: this.user,\r\n };\r\n }\r\n\r\n /**\r\n * Get access token\r\n */\r\n getAccessToken(): string | null {\r\n this.loadFromStorage();\r\n return this.accessToken;\r\n }\r\n\r\n /**\r\n * Set access token\r\n */\r\n setAccessToken(token: string): void {\r\n this.accessToken = token;\r\n if (this._mode === 'storage') {\r\n this.storage.setItem(TOKEN_KEY, token);\r\n }\r\n }\r\n\r\n /**\r\n * Get user\r\n */\r\n getUser(): UserSchema | null {\r\n return this.user;\r\n }\r\n\r\n /**\r\n * Set user\r\n */\r\n setUser(user: UserSchema): void {\r\n this.user = user;\r\n if (this._mode === 'storage') {\r\n this.storage.setItem(USER_KEY, JSON.stringify(user));\r\n }\r\n }\r\n\r\n /**\r\n * Clear session (both memory and localStorage)\r\n */\r\n clearSession(): void {\r\n this.accessToken = null;\r\n this.user = null;\r\n this.storage.removeItem(TOKEN_KEY);\r\n this.storage.removeItem(USER_KEY);\r\n }\r\n\r\n /**\r\n * Check if there's a session in localStorage (for legacy detection)\r\n */\r\n hasStoredSession(): boolean {\r\n const token = this.storage.getItem(TOKEN_KEY);\r\n return !!token;\r\n }\r\n}","/**\r\n * Auth module for InsForge SDK\r\n * Uses shared schemas for type safety\r\n */\r\n\r\nimport { HttpClient } from '../lib/http-client';\r\nimport { TokenManager, getCsrfToken, setCsrfToken, clearCsrfToken } from '../lib/token-manager';\r\nimport { AuthSession, InsForgeError } from '../types';\r\n\r\nimport type {\r\n CreateUserRequest,\r\n CreateUserResponse,\r\n CreateSessionRequest,\r\n CreateSessionResponse,\r\n GetCurrentSessionResponse,\r\n GetOauthUrlResponse,\r\n GetPublicAuthConfigResponse,\r\n OAuthProvidersSchema,\r\n SendVerificationEmailRequest,\r\n SendResetPasswordEmailRequest,\r\n ExchangeResetPasswordTokenRequest,\r\n VerifyEmailRequest,\r\n VerifyEmailResponse,\r\n UserSchema,\r\n GetProfileResponse,\r\n} from '@insforge/shared-schemas';\r\n\r\n/**\r\n * Check if current environment is a hosted auth environment\r\n * Returns true for:\r\n * - localhost with port 7130 (hosted auth app dev)\r\n * - https://*.insforge.app (hosted auth app production)\r\n */\r\nfunction isHostedAuthEnvironment(): boolean {\r\n if (typeof window === 'undefined') {\r\n return false;\r\n }\r\n\r\n const { hostname, port, protocol } = window.location;\r\n\r\n // Check for localhost:7130\r\n if (hostname === 'localhost' && port === '7130') {\r\n return true;\r\n }\r\n\r\n // Check for https://*.insforge.app\r\n if (protocol === 'https:' && hostname.endsWith('.insforge.app')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport class Auth {\r\n constructor(\r\n private http: HttpClient,\r\n private tokenManager: TokenManager\r\n ) {\r\n // Auto-detect OAuth callback parameters in the URL\r\n this.detectAuthCallback();\r\n }\r\n\r\n /**\r\n * Automatically detect and handle OAuth callback parameters in the URL\r\n * This runs after initialization to seamlessly complete the OAuth flow\r\n * Matches the backend's OAuth callback response (backend/src/api/routes/auth.ts:540-544)\r\n */\r\n private detectAuthCallback(): void {\r\n // Only run in browser environment\r\n if (typeof window === 'undefined') return;\r\n\r\n try {\r\n const params = new URLSearchParams(window.location.search);\r\n // Backend returns: access_token, user_id, email, name (optional), csrf_token\r\n const accessToken = params.get('access_token');\r\n const userId = params.get('user_id');\r\n const email = params.get('email');\r\n const name = params.get('name');\r\n const csrfToken = params.get('csrf_token');\r\n\r\n // Check if we have OAuth callback parameters\r\n if (accessToken && userId && email) {\r\n if (csrfToken) {\r\n this.tokenManager.setMemoryMode();\r\n setCsrfToken(csrfToken);\r\n }\r\n // TODO: Use PKCE in future\r\n // Create session with the data from backend\r\n const session: AuthSession = {\r\n accessToken,\r\n user: {\r\n id: userId,\r\n email: email,\r\n profile: { name: name || '' },\r\n metadata: null,\r\n // These fields are not provided by backend OAuth callback\r\n // They'll be populated when calling getCurrentUser()\r\n emailVerified: false,\r\n createdAt: new Date().toISOString(),\r\n updatedAt: new Date().toISOString(),\r\n },\r\n };\r\n\r\n // Save session and set auth token\r\n this.tokenManager.saveSession(session);\r\n this.http.setAuthToken(accessToken);\r\n\r\n // Clean up the URL to remove sensitive parameters\r\n const url = new URL(window.location.href);\r\n url.searchParams.delete('access_token');\r\n url.searchParams.delete('user_id');\r\n url.searchParams.delete('email');\r\n url.searchParams.delete('name');\r\n url.searchParams.delete('csrf_token');\r\n\r\n // Also handle error case from backend (line 581)\r\n if (params.has('error')) {\r\n url.searchParams.delete('error');\r\n }\r\n\r\n // Replace URL without adding to browser history\r\n window.history.replaceState({}, document.title, url.toString());\r\n }\r\n } catch (error) {\r\n // Silently continue - don't break initialization\r\n console.debug('OAuth callback detection skipped:', error);\r\n }\r\n }\r\n\r\n /**\r\n * Sign up a new user\r\n */\r\n async signUp(request: CreateUserRequest): Promise<{\r\n data: CreateUserResponse | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<CreateUserResponse>('/api/auth/users', request);\r\n\r\n // Save session internally only if both accessToken and user exist\r\n if (response.accessToken && response.user && !isHostedAuthEnvironment()) {\r\n const session: AuthSession = {\r\n accessToken: response.accessToken,\r\n user: response.user,\r\n };\r\n this.tokenManager.saveSession(session);\r\n this.http.setAuthToken(response.accessToken);\r\n\r\n if (response.csrfToken) {\r\n setCsrfToken(response.csrfToken);\r\n }\r\n }\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n error instanceof Error ? error.message : 'An unexpected error occurred during sign up',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Sign in with email and password\r\n */\r\n async signInWithPassword(request: CreateSessionRequest): Promise<{\r\n data: CreateSessionResponse | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<CreateSessionResponse>('/api/auth/sessions', request);\r\n\r\n if (!isHostedAuthEnvironment()) {\r\n const session: AuthSession = {\r\n accessToken: response.accessToken,\r\n user: response.user,\r\n };\r\n this.tokenManager.saveSession(session);\r\n this.http.setAuthToken(response.accessToken);\r\n\r\n if (response.csrfToken) {\r\n setCsrfToken(response.csrfToken);\r\n }\r\n }\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred during sign in',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Sign in with OAuth provider\r\n */\r\n async signInWithOAuth(options: {\r\n provider: OAuthProvidersSchema;\r\n redirectTo?: string;\r\n skipBrowserRedirect?: boolean;\r\n }): Promise<{\r\n data: { url?: string; provider?: string };\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const { provider, redirectTo, skipBrowserRedirect } = options;\r\n\r\n const params = redirectTo\r\n ? { redirect_uri: redirectTo }\r\n : undefined;\r\n\r\n const endpoint = `/api/auth/oauth/${provider}`;\r\n const response = await this.http.get<GetOauthUrlResponse>(endpoint, { params });\r\n\r\n // Automatically redirect in browser unless told not to\r\n if (typeof window !== 'undefined' && !skipBrowserRedirect) {\r\n window.location.href = response.authUrl;\r\n return { data: {}, error: null };\r\n }\r\n\r\n return {\r\n data: {\r\n url: response.authUrl,\r\n provider\r\n },\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: {}, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: {},\r\n error: new InsForgeError(\r\n 'An unexpected error occurred during OAuth initialization',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Sign out the current user\r\n */\r\n async signOut(): Promise<{ error: InsForgeError | null }> {\r\n try {\r\n // Try to call backend logout to clear httpOnly refresh cookie\r\n // This may fail for legacy backends, but that's ok\r\n try {\r\n await this.http.post('/api/auth/logout', undefined, { credentials: 'include' });\r\n } catch {\r\n // Ignore errors - legacy backend may not have this endpoint\r\n }\r\n\r\n // Clear local session and cookies\r\n this.tokenManager.clearSession();\r\n this.http.setAuthToken(null);\r\n clearCsrfToken();\r\n\r\n return { error: null };\r\n } catch (error) {\r\n return {\r\n error: new InsForgeError(\r\n 'Failed to sign out',\r\n 500,\r\n 'SIGNOUT_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get all public authentication configuration (OAuth + Email)\r\n * Returns both OAuth providers and email authentication settings in one request\r\n * This is a public endpoint that doesn't require authentication\r\n * \r\n * @returns Complete public authentication configuration including OAuth providers and email auth settings\r\n * \r\n * @example\r\n * ```ts\r\n * const { data, error } = await insforge.auth.getPublicAuthConfig();\r\n * if (data) {\r\n * console.log(`OAuth providers: ${data.oauth.data.length}`);\r\n * console.log(`Password min length: ${data.email.passwordMinLength}`);\r\n * }\r\n * ```\r\n */\r\n async getPublicAuthConfig(): Promise<{\r\n data: GetPublicAuthConfigResponse | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.get<GetPublicAuthConfigResponse>('/api/auth/public-config');\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while fetching public authentication configuration',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the current user with full profile information\r\n * Returns both auth info (id, email, role) and profile data (dynamic fields from users table)\r\n */\r\n async getCurrentUser(): Promise<{\r\n data: {\r\n user: UserSchema;\r\n } | null;\r\n error: any | null;\r\n }> {\r\n try {\r\n // Check if we have a stored user\r\n const user = this.tokenManager.getUser();\r\n\r\n if (user) {\r\n return { data: { user }, error: null };\r\n }\r\n const accessToken = this.tokenManager.getAccessToken();\r\n if (!accessToken) {\r\n return { data: null, error: null };\r\n }\r\n\r\n // Call the API for auth info\r\n this.http.setAuthToken(accessToken);\r\n const authResponse = await this.http.get<GetCurrentSessionResponse>('/api/auth/sessions/current');\r\n\r\n return {\r\n data: {\r\n user: authResponse.user,\r\n },\r\n error: null\r\n };\r\n } catch (error) {\r\n // If unauthorized, clear session\r\n if (error instanceof InsForgeError && error.statusCode === 401) {\r\n await this.signOut();\r\n return { data: null, error: null };\r\n }\r\n\r\n // Pass through all other errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while fetching user',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Get any user's profile by ID\r\n * Returns profile information from the users table\r\n */\r\n async getProfile(userId: string): Promise<{\r\n data: GetProfileResponse | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.get<GetProfileResponse>(`/api/auth/profiles/${userId}`);\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged (includes 404 NOT_FOUND, 400 INVALID_INPUT)\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while fetching user profile',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Get the current session (only session data, no API call)\r\n * Returns the stored JWT token and basic user info from local storage\r\n */\r\n async getCurrentSession(): Promise<{\r\n data: { session: AuthSession | null };\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n // Step 1: Check if we already have session in memory\r\n const session = this.tokenManager.getSession();\r\n if (session) {\r\n this.http.setAuthToken(session.accessToken);\r\n return { data: { session }, error: null };\r\n }\r\n\r\n // Step 2: In browser, try to refresh using httpOnly cookie\r\n if (typeof window !== 'undefined') {\r\n try {\r\n const csrfToken = getCsrfToken();\r\n const response = await this.http.post<{\r\n accessToken: string;\r\n user?: UserSchema;\r\n csrfToken?: string\r\n }>(\r\n '/api/auth/refresh',\r\n undefined,\r\n {\r\n headers: csrfToken ? { 'X-CSRF-Token': csrfToken } : {},\r\n credentials: 'include',\r\n }\r\n );\r\n\r\n if (response.accessToken) {\r\n this.tokenManager.setMemoryMode();\r\n this.tokenManager.setAccessToken(response.accessToken);\r\n this.http.setAuthToken(response.accessToken);\r\n\r\n if (response.user) {\r\n this.tokenManager.setUser(response.user);\r\n }\r\n if (response.csrfToken) {\r\n setCsrfToken(response.csrfToken);\r\n }\r\n\r\n return {\r\n data: { session: this.tokenManager.getSession() },\r\n error: null\r\n };\r\n }\r\n } catch (error) {\r\n if (error instanceof InsForgeError) {\r\n if (error.statusCode === 404) {\r\n // Legacy backend - try localStorage\r\n this.tokenManager.setStorageMode();\r\n const session = this.tokenManager.getSession();\r\n if (session) {\r\n return { data: { session }, error: null };\r\n }\r\n return { data: { session: null }, error: null };\r\n }\r\n // 401/403 or other errors - not logged in\r\n return { data: { session: null }, error: error };\r\n }\r\n }\r\n }\r\n\r\n // Not logged in\r\n return { data: { session: null }, error: null };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: { session: null }, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: { session: null },\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while getting session',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Set/Update the current user's profile\r\n * Updates profile information in the users table (supports any dynamic fields)\r\n * Requires authentication\r\n */\r\n async setProfile(profile: Record<string, unknown>): Promise<{\r\n data: GetProfileResponse | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.patch<GetProfileResponse>(\r\n '/api/auth/profiles/current',\r\n { profile }\r\n );\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged (includes 401 AUTH_INVALID_CREDENTIALS, 400 INVALID_INPUT)\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while updating user profile',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Send email verification (code or link based on config)\r\n *\r\n * Send email verification using the method configured in auth settings (verifyEmailMethod).\r\n * When method is 'code', sends a 6-digit numeric code. When method is 'link', sends a magic link.\r\n * Prevents user enumeration by returning success even if email doesn't exist.\r\n */\r\n async sendVerificationEmail(request: SendVerificationEmailRequest): Promise<{\r\n data: { success: boolean; message: string } | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<{ success: boolean; message: string }>(\r\n '/api/auth/email/send-verification',\r\n request\r\n );\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while sending verification code',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Send password reset (code or link based on config)\r\n *\r\n * Send password reset email using the method configured in auth settings (resetPasswordMethod).\r\n * When method is 'code', sends a 6-digit numeric code for two-step flow.\r\n * When method is 'link', sends a magic link.\r\n * Prevents user enumeration by returning success even if email doesn't exist.\r\n */\r\n async sendResetPasswordEmail(request: SendResetPasswordEmailRequest): Promise<{\r\n data: { success: boolean; message: string } | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<{ success: boolean; message: string }>(\r\n '/api/auth/email/send-reset-password',\r\n request\r\n );\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while sending password reset code',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Exchange reset password code for reset token\r\n *\r\n * Step 1 of two-step password reset flow (only used when resetPasswordMethod is 'code'):\r\n * 1. Verify the 6-digit code sent to user's email\r\n * 2. Return a reset token that can be used to actually reset the password\r\n *\r\n * This endpoint is not used when resetPasswordMethod is 'link' (magic link flow is direct).\r\n */\r\n async exchangeResetPasswordToken(request: ExchangeResetPasswordTokenRequest): Promise<{\r\n data: { token: string; expiresAt: string } | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<{ token: string; expiresAt: string }>(\r\n '/api/auth/email/exchange-reset-password-token',\r\n request\r\n );\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while verifying reset code',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Reset password with token\r\n *\r\n * Reset user password with a token. The token can be:\r\n * - Magic link token (64-character hex token from send-reset-password when method is 'link')\r\n * - Reset token (from exchange-reset-password-token after code verification when method is 'code')\r\n *\r\n * Both token types use RESET_PASSWORD purpose and are verified the same way.\r\n *\r\n * Flow summary:\r\n * - Code method: send-reset-password → exchange-reset-password-token → reset-password (with resetToken)\r\n * - Link method: send-reset-password → reset-password (with link token directly)\r\n */\r\n async resetPassword(request: { newPassword: string; otp: string }): Promise<{\r\n data: { message: string; redirectTo?: string } | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<{ message: string; redirectTo?: string }>(\r\n '/api/auth/email/reset-password',\r\n request\r\n );\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while resetting password',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Verify email with code or link\r\n *\r\n * Verify email address using the method configured in auth settings (verifyEmailMethod):\r\n * - Code verification: Provide both `email` and `otp` (6-digit numeric code)\r\n * - Link verification: Provide only `otp` (64-character hex token from magic link)\r\n *\r\n * Successfully verified users will receive a session token.\r\n *\r\n * The email verification link sent to users always points to the backend API endpoint.\r\n * If `verifyEmailRedirectTo` is configured, the backend will redirect to that URL after successful verification.\r\n * Otherwise, a default success page is displayed.\r\n */\r\n async verifyEmail(request: VerifyEmailRequest): Promise<{\r\n data: VerifyEmailResponse | null;\r\n error: InsForgeError | null;\r\n }> {\r\n try {\r\n const response = await this.http.post<VerifyEmailResponse>(\r\n '/api/auth/email/verify',\r\n request\r\n );\r\n\r\n // Save session if we got a token\r\n if (!isHostedAuthEnvironment()) {\r\n const session: AuthSession = {\r\n accessToken: response.accessToken,\r\n user: response.user,\r\n };\r\n this.tokenManager.saveSession(session);\r\n this.http.setAuthToken(response.accessToken);\r\n\r\n if (response.csrfToken) {\r\n setCsrfToken(response.csrfToken);\r\n }\r\n }\r\n\r\n return {\r\n data: response,\r\n error: null\r\n };\r\n } catch (error) {\r\n // Pass through API errors unchanged\r\n if (error instanceof InsForgeError) {\r\n return { data: null, error };\r\n }\r\n\r\n // Generic fallback for unexpected errors\r\n return {\r\n data: null,\r\n error: new InsForgeError(\r\n 'An unexpected error occurred while verifying email',\r\n 500,\r\n 'UNEXPECTED_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n}","/**\r\n * Database module using @supabase/postgrest-js\r\n * Complete replacement for custom QueryBuilder with full PostgREST features\r\n */\r\n\r\nimport { PostgrestClient } from '@supabase/postgrest-js';\r\nimport { HttpClient } from '../lib/http-client';\r\nimport { TokenManager } from '../lib/token-manager';\r\n\r\n\r\n/**\r\n * Custom fetch that transforms URLs and adds auth\r\n */\r\nfunction createInsForgePostgrestFetch(\r\n httpClient: HttpClient,\r\n tokenManager: TokenManager\r\n): typeof fetch {\r\n return async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\r\n const url = typeof input === 'string' ? input : input.toString();\r\n const urlObj = new URL(url);\r\n \r\n // Extract table name from pathname\r\n // postgrest-js sends: http://dummy/tablename?params\r\n // We need: http://localhost:7130/api/database/records/tablename?params\r\n const tableName = urlObj.pathname.slice(1); // Remove leading /\r\n \r\n // Build InsForge URL\r\n const insforgeUrl = `${httpClient.baseUrl}/api/database/records/${tableName}${urlObj.search}`;\r\n \r\n // Get auth token from TokenManager or HttpClient\r\n const token = tokenManager.getAccessToken();\r\n const httpHeaders = httpClient.getHeaders();\r\n const authToken = token || httpHeaders['Authorization']?.replace('Bearer ', '');\r\n \r\n // Prepare headers\r\n const headers = new Headers(init?.headers);\r\n if (authToken && !headers.has('Authorization')) {\r\n headers.set('Authorization', `Bearer ${authToken}`);\r\n }\r\n \r\n // Make the actual request using native fetch\r\n const response = await fetch(insforgeUrl, {\r\n ...init,\r\n headers\r\n });\r\n \r\n return response;\r\n };\r\n}\r\n\r\n/**\r\n * Database client using postgrest-js\r\n * Drop-in replacement with FULL PostgREST capabilities\r\n */\r\nexport class Database {\r\n private postgrest: PostgrestClient<any, any, any>;\r\n \r\n constructor(httpClient: HttpClient, tokenManager: TokenManager) {\r\n // Create postgrest client with custom fetch\r\n this.postgrest = new PostgrestClient<any, any, any>('http://dummy', {\r\n fetch: createInsForgePostgrestFetch(httpClient, tokenManager),\r\n headers: {}\r\n });\r\n }\r\n \r\n /**\r\n * Create a query builder for a table\r\n * \r\n * @example\r\n * // Basic query\r\n * const { data, error } = await client.database\r\n * .from('posts')\r\n * .select('*')\r\n * .eq('user_id', userId);\r\n * \r\n * // With count (Supabase style!)\r\n * const { data, error, count } = await client.database\r\n * .from('posts')\r\n * .select('*', { count: 'exact' })\r\n * .range(0, 9);\r\n * \r\n * // Just get count, no data\r\n * const { count } = await client.database\r\n * .from('posts')\r\n * .select('*', { count: 'exact', head: true });\r\n * \r\n * // Complex queries with OR\r\n * const { data } = await client.database\r\n * .from('posts')\r\n * .select('*, users!inner(*)')\r\n * .or('status.eq.active,status.eq.pending');\r\n * \r\n * // All features work:\r\n * - Nested selects\r\n * - Foreign key expansion \r\n * - OR/AND/NOT conditions\r\n * - Count with head\r\n * - Range pagination\r\n * - Upserts\r\n */\r\n from(table: string) {\r\n // Return postgrest query builder with all features\r\n return this.postgrest.from(table);\r\n }\r\n}","/**\r\n * Storage module for InsForge SDK\r\n * Handles file uploads, downloads, and bucket management\r\n */\r\n\r\nimport { HttpClient } from '../lib/http-client';\r\nimport { InsForgeError } from '../types';\r\nimport type { \r\n StorageFileSchema,\r\n ListObjectsResponseSchema\r\n} from '@insforge/shared-schemas';\r\n\r\nexport interface StorageResponse<T> {\r\n data: T | null;\r\n error: InsForgeError | null;\r\n}\r\n\r\ninterface UploadStrategy {\r\n method: 'direct' | 'presigned';\r\n uploadUrl: string;\r\n fields?: Record<string, string>;\r\n key: string;\r\n confirmRequired: boolean;\r\n confirmUrl?: string;\r\n expiresAt?: Date;\r\n}\r\n\r\ninterface DownloadStrategy {\r\n method: 'direct' | 'presigned';\r\n url: string;\r\n expiresAt?: Date;\r\n}\r\n\r\n/**\r\n * Storage bucket operations\r\n */\r\nexport class StorageBucket {\r\n constructor(\r\n private bucketName: string,\r\n private http: HttpClient\r\n ) {}\r\n\r\n /**\r\n * Upload a file with a specific key\r\n * Uses the upload strategy from backend (direct or presigned)\r\n * @param path - The object key/path\r\n * @param file - File or Blob to upload\r\n */\r\n async upload(\r\n path: string,\r\n file: File | Blob\r\n ): Promise<StorageResponse<StorageFileSchema>> {\r\n try {\r\n // Get upload strategy from backend - this is required\r\n const strategyResponse = await this.http.post<UploadStrategy>(\r\n `/api/storage/buckets/${this.bucketName}/upload-strategy`,\r\n {\r\n filename: path,\r\n contentType: file.type || 'application/octet-stream',\r\n size: file.size\r\n }\r\n );\r\n\r\n // Use presigned URL if available\r\n if (strategyResponse.method === 'presigned') {\r\n return await this.uploadWithPresignedUrl(strategyResponse, file);\r\n }\r\n\r\n // Use direct upload if strategy says so\r\n if (strategyResponse.method === 'direct') {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n\r\n const response = await this.http.request<StorageFileSchema>(\r\n 'PUT',\r\n `/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}`,\r\n {\r\n body: formData as any,\r\n headers: {\r\n // Don't set Content-Type, let browser set multipart boundary\r\n }\r\n }\r\n );\r\n\r\n return { data: response, error: null };\r\n }\r\n\r\n throw new InsForgeError(\r\n `Unsupported upload method: ${strategyResponse.method}`,\r\n 500,\r\n 'STORAGE_ERROR'\r\n );\r\n } catch (error) {\r\n return { \r\n data: null, \r\n error: error instanceof InsForgeError ? error : new InsForgeError(\r\n 'Upload failed',\r\n 500,\r\n 'STORAGE_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Upload a file with auto-generated key\r\n * Uses the upload strategy from backend (direct or presigned)\r\n * @param file - File or Blob to upload\r\n */\r\n async uploadAuto(\r\n file: File | Blob\r\n ): Promise<StorageResponse<StorageFileSchema>> {\r\n try {\r\n const filename = file instanceof File ? file.name : 'file';\r\n \r\n // Get upload strategy from backend - this is required\r\n const strategyResponse = await this.http.post<UploadStrategy>(\r\n `/api/storage/buckets/${this.bucketName}/upload-strategy`,\r\n {\r\n filename,\r\n contentType: file.type || 'application/octet-stream',\r\n size: file.size\r\n }\r\n );\r\n\r\n // Use presigned URL if available\r\n if (strategyResponse.method === 'presigned') {\r\n return await this.uploadWithPresignedUrl(strategyResponse, file);\r\n }\r\n\r\n // Use direct upload if strategy says so\r\n if (strategyResponse.method === 'direct') {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n\r\n const response = await this.http.request<StorageFileSchema>(\r\n 'POST',\r\n `/api/storage/buckets/${this.bucketName}/objects`,\r\n {\r\n body: formData as any,\r\n headers: {\r\n // Don't set Content-Type, let browser set multipart boundary\r\n }\r\n }\r\n );\r\n\r\n return { data: response, error: null };\r\n }\r\n\r\n throw new InsForgeError(\r\n `Unsupported upload method: ${strategyResponse.method}`,\r\n 500,\r\n 'STORAGE_ERROR'\r\n );\r\n } catch (error) {\r\n return { \r\n data: null, \r\n error: error instanceof InsForgeError ? error : new InsForgeError(\r\n 'Upload failed',\r\n 500,\r\n 'STORAGE_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Internal method to handle presigned URL uploads\r\n */\r\n private async uploadWithPresignedUrl(\r\n strategy: UploadStrategy,\r\n file: File | Blob\r\n ): Promise<StorageResponse<StorageFileSchema>> {\r\n try {\r\n // Upload to presigned URL (e.g., S3)\r\n const formData = new FormData();\r\n \r\n // Add all fields from the presigned URL\r\n if (strategy.fields) {\r\n Object.entries(strategy.fields).forEach(([key, value]) => {\r\n formData.append(key, value);\r\n });\r\n }\r\n \r\n // File must be the last field for S3\r\n formData.append('file', file);\r\n\r\n const uploadResponse = await fetch(strategy.uploadUrl, {\r\n method: 'POST',\r\n body: formData\r\n });\r\n\r\n if (!uploadResponse.ok) {\r\n throw new InsForgeError(\r\n `Upload to storage failed: ${uploadResponse.statusText}`,\r\n uploadResponse.status,\r\n 'STORAGE_ERROR'\r\n );\r\n }\r\n\r\n // Confirm upload with backend if required\r\n if (strategy.confirmRequired && strategy.confirmUrl) {\r\n const confirmResponse = await this.http.post<StorageFileSchema>(\r\n strategy.confirmUrl,\r\n {\r\n size: file.size,\r\n contentType: file.type || 'application/octet-stream'\r\n }\r\n );\r\n\r\n return { data: confirmResponse, error: null };\r\n }\r\n\r\n // If no confirmation required, return basic file info\r\n return {\r\n data: {\r\n key: strategy.key,\r\n bucket: this.bucketName,\r\n size: file.size,\r\n mimeType: file.type || 'application/octet-stream',\r\n uploadedAt: new Date().toISOString(),\r\n url: this.getPublicUrl(strategy.key)\r\n } as StorageFileSchema,\r\n error: null\r\n };\r\n } catch (error) {\r\n throw error instanceof InsForgeError ? error : new InsForgeError(\r\n 'Presigned upload failed',\r\n 500,\r\n 'STORAGE_ERROR'\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Download a file\r\n * Uses the download strategy from backend (direct or presigned)\r\n * @param path - The object key/path\r\n * Returns the file as a Blob\r\n */\r\n async download(path: string): Promise<{ data: Blob | null; error: InsForgeError | null }> {\r\n try {\r\n // Get download strategy from backend - this is required\r\n const strategyResponse = await this.http.post<DownloadStrategy>(\r\n `/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}/download-strategy`,\r\n { expiresIn: 3600 }\r\n );\r\n\r\n // Use URL from strategy\r\n const downloadUrl = strategyResponse.url;\r\n \r\n // Download from the URL\r\n const headers: HeadersInit = {};\r\n \r\n // Only add auth header for direct downloads (not presigned URLs)\r\n if (strategyResponse.method === 'direct') {\r\n Object.assign(headers, this.http.getHeaders());\r\n }\r\n \r\n const response = await fetch(downloadUrl, {\r\n method: 'GET',\r\n headers\r\n });\r\n\r\n if (!response.ok) {\r\n try {\r\n const error = await response.json();\r\n throw InsForgeError.fromApiError(error);\r\n } catch {\r\n throw new InsForgeError(\r\n `Download failed: ${response.statusText}`,\r\n response.status,\r\n 'STORAGE_ERROR'\r\n );\r\n }\r\n }\r\n\r\n const blob = await response.blob();\r\n return { data: blob, error: null };\r\n } catch (error) {\r\n return { \r\n data: null, \r\n error: error instanceof InsForgeError ? error : new InsForgeError(\r\n 'Download failed',\r\n 500,\r\n 'STORAGE_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Get public URL for a file\r\n * @param path - The object key/path\r\n */\r\n getPublicUrl(path: string): string {\r\n return `${this.http.baseUrl}/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}`;\r\n }\r\n\r\n /**\r\n * List objects in the bucket\r\n * @param prefix - Filter by key prefix\r\n * @param search - Search in file names\r\n * @param limit - Maximum number of results (default: 100, max: 1000)\r\n * @param offset - Number of results to skip\r\n */\r\n async list(options?: {\r\n prefix?: string;\r\n search?: string;\r\n limit?: number;\r\n offset?: number;\r\n }): Promise<StorageResponse<ListObjectsResponseSchema>> {\r\n try {\r\n const params: Record<string, string> = {};\r\n \r\n if (options?.prefix) params.prefix = options.prefix;\r\n if (options?.search) params.search = options.search;\r\n if (options?.limit) params.limit = options.limit.toString();\r\n if (options?.offset) params.offset = options.offset.toString();\r\n\r\n const response = await this.http.get<ListObjectsResponseSchema>(\r\n `/api/storage/buckets/${this.bucketName}/objects`,\r\n { params }\r\n );\r\n\r\n return { data: response, error: null };\r\n } catch (error) {\r\n return { \r\n data: null, \r\n error: error instanceof InsForgeError ? error : new InsForgeError(\r\n 'List failed',\r\n 500,\r\n 'STORAGE_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Delete a file\r\n * @param path - The object key/path\r\n */\r\n async remove(path: string): Promise<StorageResponse<{ message: string }>> {\r\n try {\r\n const response = await this.http.delete<{ message: string }>(\r\n `/api/storage/buckets/${this.bucketName}/objects/${encodeURIComponent(path)}`\r\n );\r\n\r\n return { data: response, error: null };\r\n } catch (error) {\r\n return { \r\n data: null, \r\n error: error instanceof InsForgeError ? error : new InsForgeError(\r\n 'Delete failed',\r\n 500,\r\n 'STORAGE_ERROR'\r\n )\r\n };\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Storage module for file operations\r\n */\r\nexport class Storage {\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Get a bucket instance for operations\r\n * @param bucketName - Name of the bucket\r\n */\r\n from(bucketName: string): StorageBucket {\r\n return new StorageBucket(bucketName, this.http);\r\n }\r\n}","/**\r\n * AI Module for Insforge SDK\r\n * Response format roughly matches OpenAI SDK for compatibility\r\n *\r\n * The backend handles all the complexity of different AI providers\r\n * and returns a unified format. This SDK transforms responses to match OpenAI-like format.\r\n */\r\n\r\nimport { HttpClient } from \"../lib/http-client\";\r\nimport {\r\n ChatCompletionRequest,\r\n ChatCompletionResponse,\r\n ImageGenerationRequest,\r\n ImageGenerationResponse,\r\n} from \"@insforge/shared-schemas\";\r\n\r\nexport class AI {\r\n public readonly chat: Chat;\r\n public readonly images: Images;\r\n\r\n constructor(private http: HttpClient) {\r\n this.chat = new Chat(http);\r\n this.images = new Images(http);\r\n }\r\n}\r\n\r\nclass Chat {\r\n public readonly completions: ChatCompletions;\r\n\r\n constructor(http: HttpClient) {\r\n this.completions = new ChatCompletions(http);\r\n }\r\n}\r\n\r\nclass ChatCompletions {\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Create a chat completion - OpenAI-like response format\r\n *\r\n * @example\r\n * ```typescript\r\n * // Non-streaming\r\n * const completion = await client.ai.chat.completions.create({\r\n * model: 'gpt-4',\r\n * messages: [{ role: 'user', content: 'Hello!' }]\r\n * });\r\n * console.log(completion.choices[0].message.content);\r\n *\r\n * // With images\r\n * const response = await client.ai.chat.completions.create({\r\n * model: 'gpt-4-vision',\r\n * messages: [{\r\n * role: 'user',\r\n * content: 'What is in this image?',\r\n * images: [{ url: 'https://example.com/image.jpg' }]\r\n * }]\r\n * });\r\n *\r\n * // Streaming - returns async iterable\r\n * const stream = await client.ai.chat.completions.create({\r\n * model: 'gpt-4',\r\n * messages: [{ role: 'user', content: 'Tell me a story' }],\r\n * stream: true\r\n * });\r\n *\r\n * for await (const chunk of stream) {\r\n * if (chunk.choices[0]?.delta?.content) {\r\n * process.stdout.write(chunk.choices[0].delta.content);\r\n * }\r\n * }\r\n * ```\r\n */\r\n async create(params: ChatCompletionRequest): Promise<any> {\r\n // Backend already expects camelCase, no transformation needed\r\n const backendParams = {\r\n model: params.model,\r\n messages: params.messages,\r\n temperature: params.temperature,\r\n maxTokens: params.maxTokens,\r\n topP: params.topP,\r\n stream: params.stream,\r\n };\r\n\r\n // For streaming, return an async iterable that yields OpenAI-like chunks\r\n if (params.stream) {\r\n const headers = this.http.getHeaders();\r\n headers[\"Content-Type\"] = \"application/json\";\r\n\r\n const response = await this.http.fetch(\r\n `${this.http.baseUrl}/api/ai/chat/completion`,\r\n {\r\n method: \"POST\",\r\n headers,\r\n body: JSON.stringify(backendParams),\r\n }\r\n );\r\n\r\n if (!response.ok) {\r\n const error = await response.json();\r\n throw new Error(error.error || \"Stream request failed\");\r\n }\r\n\r\n // Return async iterable that parses SSE and transforms to OpenAI-like format\r\n return this.parseSSEStream(response, params.model);\r\n }\r\n\r\n // Non-streaming: transform response to OpenAI-like format\r\n const response: ChatCompletionResponse = await this.http.post(\r\n \"/api/ai/chat/completion\",\r\n backendParams\r\n );\r\n\r\n // Transform to OpenAI-like format\r\n const content = response.text || \"\";\r\n\r\n return {\r\n id: `chatcmpl-${Date.now()}`,\r\n object: \"chat.completion\",\r\n created: Math.floor(Date.now() / 1000),\r\n model: response.metadata?.model,\r\n choices: [\r\n {\r\n index: 0,\r\n message: {\r\n role: \"assistant\",\r\n content,\r\n },\r\n finish_reason: \"stop\",\r\n },\r\n ],\r\n usage: response.metadata?.usage || {\r\n prompt_tokens: 0,\r\n completion_tokens: 0,\r\n total_tokens: 0,\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Parse SSE stream into async iterable of OpenAI-like chunks\r\n */\r\n private async *parseSSEStream(\r\n response: Response,\r\n model: string\r\n ): AsyncIterableIterator<any> {\r\n const reader = response.body!.getReader();\r\n const decoder = new TextDecoder();\r\n let buffer = \"\";\r\n\r\n try {\r\n while (true) {\r\n const { done, value } = await reader.read();\r\n if (done) break;\r\n\r\n buffer += decoder.decode(value, { stream: true });\r\n const lines = buffer.split(\"\\n\");\r\n buffer = lines.pop() || \"\";\r\n\r\n for (const line of lines) {\r\n if (line.startsWith(\"data: \")) {\r\n const dataStr = line.slice(6).trim();\r\n if (dataStr) {\r\n try {\r\n const data = JSON.parse(dataStr);\r\n\r\n // Transform to OpenAI-like streaming format\r\n if (data.chunk || data.content) {\r\n yield {\r\n id: `chatcmpl-${Date.now()}`,\r\n object: \"chat.completion.chunk\",\r\n created: Math.floor(Date.now() / 1000),\r\n model,\r\n choices: [\r\n {\r\n index: 0,\r\n delta: {\r\n content: data.chunk || data.content,\r\n },\r\n finish_reason: data.done ? \"stop\" : null,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n // If we received the done signal, we can stop\r\n if (data.done) {\r\n reader.releaseLock();\r\n return;\r\n }\r\n } catch (e) {\r\n // Skip invalid JSON\r\n console.warn(\"Failed to parse SSE data:\", dataStr);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } finally {\r\n reader.releaseLock();\r\n }\r\n }\r\n}\r\n\r\nclass Images {\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Generate images - OpenAI-like response format\r\n *\r\n * @example\r\n * ```typescript\r\n * // Text-to-image\r\n * const response = await client.ai.images.generate({\r\n * model: 'dall-e-3',\r\n * prompt: 'A sunset over mountains',\r\n * });\r\n * console.log(response.images[0].url);\r\n *\r\n * // Image-to-image (with input images)\r\n * const response = await client.ai.images.generate({\r\n * model: 'stable-diffusion-xl',\r\n * prompt: 'Transform this into a watercolor painting',\r\n * images: [\r\n * { url: 'https://example.com/input.jpg' },\r\n * // or base64-encoded Data URI:\r\n * { url: 'data:image/jpeg;base64,/9j/4AAQ...' }\r\n * ]\r\n * });\r\n * ```\r\n */\r\n async generate(params: ImageGenerationRequest): Promise<any> {\r\n const response: ImageGenerationResponse = await this.http.post(\r\n \"/api/ai/image/generation\",\r\n params\r\n );\r\n \r\n // Build data array based on response content\r\n let data: Array<{ b64_json?: string; content?: string }> = [];\r\n \r\n if (response.images && response.images.length > 0) {\r\n // Has images - extract base64 and include text\r\n data = response.images.map(img => ({\r\n b64_json: img.imageUrl.replace(/^data:image\\/\\w+;base64,/, ''),\r\n content: response.text\r\n }));\r\n } else if (response.text) {\r\n // Text-only response\r\n data = [{ content: response.text }];\r\n }\r\n \r\n // Return OpenAI-compatible format\r\n return {\r\n created: Math.floor(Date.now() / 1000),\r\n data,\r\n ...(response.metadata?.usage && {\r\n usage: {\r\n total_tokens: response.metadata.usage.totalTokens || 0,\r\n input_tokens: response.metadata.usage.promptTokens || 0,\r\n output_tokens: response.metadata.usage.completionTokens || 0,\r\n }\r\n })\r\n };\r\n }\r\n}\r\n","import { HttpClient } from '../lib/http-client';\r\n\r\nexport interface FunctionInvokeOptions {\r\n /**\r\n * The body of the request\r\n */\r\n body?: any;\r\n \r\n /**\r\n * Custom headers to send with the request\r\n */\r\n headers?: Record<string, string>;\r\n \r\n /**\r\n * HTTP method (default: POST)\r\n */\r\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\r\n}\r\n\r\n/**\r\n * Edge Functions client for invoking serverless functions\r\n * \r\n * @example\r\n * ```typescript\r\n * // Invoke a function with JSON body\r\n * const { data, error } = await client.functions.invoke('hello-world', {\r\n * body: { name: 'World' }\r\n * });\r\n * \r\n * // GET request\r\n * const { data, error } = await client.functions.invoke('get-data', {\r\n * method: 'GET'\r\n * });\r\n * ```\r\n */\r\nexport class Functions {\r\n private http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n /**\r\n * Invokes an Edge Function\r\n * @param slug The function slug to invoke\r\n * @param options Request options\r\n */\r\n async invoke<T = any>(\r\n slug: string,\r\n options: FunctionInvokeOptions = {}\r\n ): Promise<{ data: T | null; error: Error | null }> {\r\n try {\r\n const { method = 'POST', body, headers = {} } = options;\r\n \r\n // Simple path: /functions/{slug}\r\n const path = `/functions/${slug}`;\r\n \r\n // Use the HTTP client's request method\r\n const data = await this.http.request<T>(\r\n method,\r\n path,\r\n { body, headers }\r\n );\r\n \r\n return { data, error: null };\r\n } catch (error: any) {\r\n // The HTTP client throws InsForgeError with all properties from the response\r\n // including error, message, details, statusCode, etc.\r\n // We need to preserve all of that information\r\n return { \r\n data: null, \r\n error: error // Pass through the full error object with all properties\r\n };\r\n }\r\n }\r\n}","import { io, Socket } from 'socket.io-client';\r\nimport type { SubscribeResponse, RealtimeErrorPayload, SocketMessage } from '@insforge/shared-schemas';\r\nimport { TokenManager } from '../lib/token-manager';\r\n\r\nexport type { SubscribeResponse, RealtimeErrorPayload, SocketMessage };\r\n\r\nexport type ConnectionState = 'disconnected' | 'connecting' | 'connected';\r\n\r\nexport type EventCallback<T = unknown> = (payload: T) => void;\r\n\r\nconst CONNECT_TIMEOUT = 10000;\r\n\r\n/**\r\n * Realtime module for subscribing to channels and handling real-time events\r\n *\r\n * @example\r\n * ```typescript\r\n * const { realtime } = client;\r\n *\r\n * // Connect to the realtime server\r\n * await realtime.connect();\r\n *\r\n * // Subscribe to a channel\r\n * const response = await realtime.subscribe('orders:123');\r\n * if (!response.ok) {\r\n * console.error('Failed to subscribe:', response.error);\r\n * }\r\n *\r\n * // Listen for specific events\r\n * realtime.on('order_updated', (payload) => {\r\n * console.log('Order updated:', payload);\r\n * });\r\n *\r\n * // Listen for connection events\r\n * realtime.on('connect', () => console.log('Connected!'));\r\n * realtime.on('connect_error', (err) => console.error('Connection failed:', err));\r\n * realtime.on('disconnect', (reason) => console.log('Disconnected:', reason));\r\n * realtime.on('error', (error) => console.error('Realtime error:', error));\r\n *\r\n * // Publish a message to a channel\r\n * await realtime.publish('orders:123', 'status_changed', { status: 'shipped' });\r\n *\r\n * // Unsubscribe and disconnect when done\r\n * realtime.unsubscribe('orders:123');\r\n * realtime.disconnect();\r\n * ```\r\n */\r\nexport class Realtime {\r\n private baseUrl: string;\r\n private tokenManager: TokenManager;\r\n private socket: Socket | null = null;\r\n private connectPromise: Promise<void> | null = null;\r\n private subscribedChannels: Set<string> = new Set();\r\n private eventListeners: Map<string, Set<EventCallback>> = new Map();\r\n\r\n constructor(baseUrl: string, tokenManager: TokenManager) {\r\n this.baseUrl = baseUrl;\r\n this.tokenManager = tokenManager;\r\n }\r\n\r\n private notifyListeners(event: string, payload?: unknown): void {\r\n const listeners = this.eventListeners.get(event);\r\n if (!listeners) return;\r\n for (const cb of listeners) {\r\n try {\r\n cb(payload);\r\n } catch (err) {\r\n console.error(`Error in ${event} callback:`, err);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Connect to the realtime server\r\n * @returns Promise that resolves when connected\r\n */\r\n connect(): Promise<void> {\r\n // Already connected\r\n if (this.socket?.connected) {\r\n return Promise.resolve();\r\n }\r\n\r\n // Connection already in progress, return existing promise\r\n if (this.connectPromise) {\r\n return this.connectPromise;\r\n }\r\n\r\n this.connectPromise = new Promise((resolve, reject) => {\r\n const session = this.tokenManager.getSession();\r\n const token = session?.accessToken;\r\n\r\n this.socket = io(this.baseUrl, {\r\n transports: ['websocket'],\r\n auth: token ? { token } : undefined,\r\n });\r\n\r\n let initialConnection = true;\r\n let timeoutId: ReturnType<typeof setTimeout> | null = null;\r\n\r\n const cleanup = () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n timeoutId = null;\r\n }\r\n };\r\n\r\n timeoutId = setTimeout(() => {\r\n if (initialConnection) {\r\n initialConnection = false;\r\n this.connectPromise = null;\r\n this.socket?.disconnect();\r\n this.socket = null;\r\n reject(new Error(`Connection timeout after ${CONNECT_TIMEOUT}ms`));\r\n }\r\n }, CONNECT_TIMEOUT);\r\n\r\n this.socket.on('connect', () => {\r\n cleanup();\r\n // Re-subscribe to channels on every connect (initial + reconnects)\r\n for (const channel of this.subscribedChannels) {\r\n this.socket!.emit('realtime:subscribe', { channel });\r\n }\r\n this.notifyListeners('connect');\r\n\r\n if (initialConnection) {\r\n initialConnection = false;\r\n this.connectPromise = null;\r\n resolve();\r\n }\r\n });\r\n\r\n this.socket.on('connect_error', (error: Error) => {\r\n cleanup();\r\n this.notifyListeners('connect_error', error);\r\n\r\n if (initialConnection) {\r\n initialConnection = false;\r\n this.connectPromise = null;\r\n reject(error);\r\n }\r\n });\r\n\r\n this.socket.on('disconnect', (reason: string) => {\r\n this.notifyListeners('disconnect', reason);\r\n });\r\n\r\n this.socket.on('realtime:error', (error: RealtimeErrorPayload) => {\r\n this.notifyListeners('error', error);\r\n });\r\n\r\n // Route custom events to listeners (onAny doesn't catch socket reserved events)\r\n this.socket.onAny((event: string, message: SocketMessage) => {\r\n if (event === 'realtime:error') return; // Already handled above\r\n this.notifyListeners(event, message);\r\n });\r\n });\r\n\r\n return this.connectPromise;\r\n }\r\n\r\n /**\r\n * Disconnect from the realtime server\r\n */\r\n disconnect(): void {\r\n if (this.socket) {\r\n this.socket.disconnect();\r\n this.socket = null;\r\n }\r\n this.subscribedChannels.clear();\r\n }\r\n\r\n /**\r\n * Check if connected to the realtime server\r\n */\r\n get isConnected(): boolean {\r\n return this.socket?.connected ?? false;\r\n }\r\n\r\n /**\r\n * Get the current connection state\r\n */\r\n get connectionState(): ConnectionState {\r\n if (!this.socket) return 'disconnected';\r\n if (this.socket.connected) return 'connected';\r\n return 'connecting';\r\n }\r\n\r\n /**\r\n * Get the socket ID (if connected)\r\n */\r\n get socketId(): string | undefined {\r\n return this.socket?.id;\r\n }\r\n\r\n /**\r\n * Subscribe to a channel\r\n *\r\n * Automatically connects if not already connected.\r\n *\r\n * @param channel - Channel name (e.g., 'orders:123', 'broadcast')\r\n * @returns Promise with the subscription response\r\n */\r\n async subscribe(channel: string): Promise<SubscribeResponse> {\r\n // Already subscribed, return success\r\n if (this.subscribedChannels.has(channel)) {\r\n return { ok: true, channel };\r\n }\r\n\r\n // Auto-connect if not connected\r\n if (!this.socket?.connected) {\r\n try {\r\n await this.connect();\r\n } catch (error) {\r\n const message = error instanceof Error ? error.message : 'Connection failed';\r\n return { ok: false, channel, error: { code: 'CONNECTION_FAILED', message } };\r\n }\r\n }\r\n\r\n return new Promise((resolve) => {\r\n this.socket!.emit('realtime:subscribe', { channel }, (response: SubscribeResponse) => {\r\n if (response.ok) {\r\n this.subscribedChannels.add(channel);\r\n }\r\n resolve(response);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Unsubscribe from a channel (fire-and-forget)\r\n *\r\n * @param channel - Channel name to unsubscribe from\r\n */\r\n unsubscribe(channel: string): void {\r\n this.subscribedChannels.delete(channel);\r\n\r\n if (this.socket?.connected) {\r\n this.socket.emit('realtime:unsubscribe', { channel });\r\n }\r\n }\r\n\r\n /**\r\n * Publish a message to a channel\r\n *\r\n * @param channel - Channel name\r\n * @param event - Event name\r\n * @param payload - Message payload\r\n */\r\n async publish<T = unknown>(channel: string, event: string, payload: T): Promise<void> {\r\n if (!this.socket?.connected) {\r\n throw new Error('Not connected to realtime server. Call connect() first.');\r\n }\r\n\r\n this.socket!.emit('realtime:publish', { channel, event, payload });\r\n }\r\n\r\n /**\r\n * Listen for events\r\n *\r\n * Reserved event names:\r\n * - 'connect' - Fired when connected to the server\r\n * - 'connect_error' - Fired when connection fails (payload: Error)\r\n * - 'disconnect' - Fired when disconnected (payload: reason string)\r\n * - 'error' - Fired when a realtime error occurs (payload: RealtimeErrorPayload)\r\n *\r\n * All other events receive a `SocketMessage` payload with metadata.\r\n *\r\n * @param event - Event name to listen for\r\n * @param callback - Callback function when event is received\r\n */\r\n on<T = SocketMessage>(event: string, callback: EventCallback<T>): void {\r\n if (!this.eventListeners.has(event)) {\r\n this.eventListeners.set(event, new Set());\r\n }\r\n this.eventListeners.get(event)!.add(callback as EventCallback);\r\n }\r\n\r\n /**\r\n * Remove a listener for a specific event\r\n *\r\n * @param event - Event name\r\n * @param callback - The callback function to remove\r\n */\r\n off<T = SocketMessage>(event: string, callback: EventCallback<T>): void {\r\n const listeners = this.eventListeners.get(event);\r\n if (listeners) {\r\n listeners.delete(callback as EventCallback);\r\n if (listeners.size === 0) {\r\n this.eventListeners.delete(event);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Listen for an event only once, then automatically remove the listener\r\n *\r\n * @param event - Event name to listen for\r\n * @param callback - Callback function when event is received\r\n */\r\n once<T = SocketMessage>(event: string, callback: EventCallback<T>): void {\r\n const wrapper: EventCallback<T> = (payload: T) => {\r\n this.off(event, wrapper);\r\n callback(payload);\r\n };\r\n this.on(event, wrapper);\r\n }\r\n\r\n /**\r\n * Get all currently subscribed channels\r\n *\r\n * @returns Array of channel names\r\n */\r\n getSubscribedChannels(): string[] {\r\n return Array.from(this.subscribedChannels);\r\n }\r\n}\r\n","import { HttpClient } from '../lib/http-client';\r\nimport type { SendRawEmailRequest, SendEmailResponse } from '@insforge/shared-schemas';\r\n\r\nexport type { SendRawEmailRequest as SendEmailOptions, SendEmailResponse } from '@insforge/shared-schemas';\r\n\r\n/**\r\n * Emails client for sending custom emails\r\n *\r\n * @example\r\n * ```typescript\r\n * // Send a simple email\r\n * const { data, error } = await client.emails.send({\r\n * to: 'user@example.com',\r\n * subject: 'Welcome!',\r\n * html: '<h1>Welcome to our platform</h1>'\r\n * });\r\n *\r\n * if (error) {\r\n * console.error('Failed to send:', error.message);\r\n * return;\r\n * }\r\n * // Email sent successfully - data is {} (empty object)\r\n *\r\n * // Send to multiple recipients with CC\r\n * const { data, error } = await client.emails.send({\r\n * to: ['user1@example.com', 'user2@example.com'],\r\n * cc: 'manager@example.com',\r\n * subject: 'Team Update',\r\n * html: '<p>Here is the latest update...</p>',\r\n * replyTo: 'support@example.com'\r\n * });\r\n * ```\r\n */\r\nexport class Emails {\r\n private http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n /**\r\n * Send a custom HTML email\r\n * @param options Email options including recipients, subject, and HTML content\r\n */\r\n async send(\r\n options: SendRawEmailRequest\r\n ): Promise<{ data: SendEmailResponse | null; error: Error | null }> {\r\n try {\r\n const data = await this.http.post<SendEmailResponse>(\r\n '/api/email/send-raw',\r\n options\r\n );\r\n\r\n return { data, error: null };\r\n } catch (error: unknown) {\r\n const normalizedError = error instanceof Error ? error : new Error(String(error));\r\n return { data: null, error: normalizedError };\r\n }\r\n }\r\n}\r\n","import { InsForgeConfig } from './types';\r\nimport { HttpClient } from './lib/http-client';\r\nimport { TokenManager } from './lib/token-manager';\r\nimport { Auth } from './modules/auth';\r\nimport { Database } from './modules/database-postgrest';\r\nimport { Storage } from './modules/storage';\r\nimport { AI } from './modules/ai';\r\nimport { Functions } from './modules/functions';\r\nimport { Realtime } from './modules/realtime';\r\nimport { Emails } from './modules/email';\r\n\r\n/**\r\n * Main InsForge SDK Client\r\n * \r\n * @example\r\n * ```typescript\r\n * import { InsForgeClient } from '@insforge/sdk';\r\n * \r\n * const client = new InsForgeClient({\r\n * baseUrl: 'http://localhost:7130'\r\n * });\r\n * \r\n * // Authentication\r\n * const { data, error } = await client.auth.signUp({\r\n * email: 'user@example.com',\r\n * password: 'password123',\r\n * name: 'John Doe'\r\n * });\r\n * \r\n * // Database operations\r\n * const { data, error } = await client.database\r\n * .from('posts')\r\n * .select('*')\r\n * .eq('user_id', session.user.id)\r\n * .order('created_at', { ascending: false })\r\n * .limit(10);\r\n * \r\n * // Insert data\r\n * const { data: newPost } = await client.database\r\n * .from('posts')\r\n * .insert({ title: 'Hello', content: 'World' })\r\n * .single();\r\n * \r\n * // Invoke edge functions\r\n * const { data, error } = await client.functions.invoke('my-function', {\r\n * body: { message: 'Hello from SDK' }\r\n * });\r\n * ```\r\n */\r\nexport class InsForgeClient {\r\n private http: HttpClient;\r\n private tokenManager: TokenManager;\r\n public readonly auth: Auth;\r\n public readonly database: Database;\r\n public readonly storage: Storage;\r\n public readonly ai: AI;\r\n public readonly functions: Functions;\r\n public readonly realtime: Realtime;\r\n public readonly emails: Emails;\r\n\r\n constructor(config: InsForgeConfig = {}) {\r\n this.http = new HttpClient(config);\r\n this.tokenManager = new TokenManager(config.storage);\r\n\r\n // Check for edge function token\r\n if (config.edgeFunctionToken) {\r\n this.http.setAuthToken(config.edgeFunctionToken);\r\n // Save to token manager so getCurrentUser() works\r\n this.tokenManager.saveSession({\r\n accessToken: config.edgeFunctionToken,\r\n user: {} as any, // Will be populated by getCurrentUser()\r\n });\r\n }\r\n\r\n // Check for existing session\r\n // In secure mode: try to refresh to get access token\r\n // In local mode: check localStorage\r\n const existingSession = this.tokenManager.getSession();\r\n if (existingSession?.accessToken) {\r\n this.http.setAuthToken(existingSession.accessToken);\r\n }\r\n\r\n this.auth = new Auth(this.http, this.tokenManager);\r\n this.database = new Database(this.http, this.tokenManager);\r\n this.storage = new Storage(this.http);\r\n this.ai = new AI(this.http);\r\n this.functions = new Functions(this.http);\r\n this.realtime = new Realtime(this.http.baseUrl, this.tokenManager);\r\n this.emails = new Emails(this.http);\r\n }\r\n\r\n /**\r\n * Get the underlying HTTP client for custom requests\r\n * \r\n * @example\r\n * ```typescript\r\n * const httpClient = client.getHttpClient();\r\n * const customData = await httpClient.get('/api/custom-endpoint');\r\n * ```\r\n */\r\n getHttpClient(): HttpClient {\r\n return this.http;\r\n }\r\n\r\n /**\r\n * Future modules will be added here:\r\n * - database: Database operations\r\n * - storage: File storage operations\r\n * - functions: Serverless functions\r\n * - tables: Table management\r\n * - metadata: Backend metadata\r\n */\r\n}\r\n","/**\r\n * @insforge/sdk - TypeScript SDK for InsForge Backend-as-a-Service\r\n * \r\n * @packageDocumentation\r\n */\r\n\r\n// Main client\r\nexport { InsForgeClient } from './client';\r\n\r\n// Types\r\nexport type {\r\n InsForgeConfig,\r\n InsForgeConfig as ClientOptions, // Alias for compatibility\r\n TokenStorage,\r\n AuthSession,\r\n ApiError,\r\n} from './types';\r\n\r\nexport { InsForgeError } from './types';\r\n\r\n// Re-export shared schemas that SDK users will need\r\nexport type {\r\n UserSchema,\r\n CreateUserRequest,\r\n CreateSessionRequest,\r\n AuthErrorResponse,\r\n} from '@insforge/shared-schemas';\r\n\r\n// Re-export auth module for advanced usage\r\nexport { Auth } from './modules/auth';\r\n\r\n// Re-export database module (using postgrest-js)\r\nexport { Database } from './modules/database-postgrest';\r\n// Note: QueryBuilder is no longer exported as we use postgrest-js QueryBuilder internally\r\n\r\n// Re-export storage module and types\r\nexport { Storage, StorageBucket } from './modules/storage';\r\nexport type { StorageResponse } from './modules/storage';\r\n\r\n// Re-export AI module\r\nexport { AI } from './modules/ai';\r\n\r\n// Re-export Functions module\r\nexport { Functions } from './modules/functions';\r\nexport type { FunctionInvokeOptions } from './modules/functions';\r\n\r\n// Re-export Emails module (Resend-compatible API)\r\nexport { Emails } from './modules/email';\r\nexport type { SendEmailOptions, SendEmailResponse } from './modules/email';\r\n\r\n// Re-export Realtime module and types\r\nexport { Realtime } from './modules/realtime';\r\nexport type {\r\n RealtimeErrorPayload,\r\n SubscribeResponse,\r\n SocketMessage,\r\n ConnectionState,\r\n EventCallback,\r\n} from './modules/realtime';\r\n\r\n// Re-export utilities for advanced usage\r\nexport { HttpClient } from './lib/http-client';\r\nexport { TokenManager } from './lib/token-manager';\r\n\r\n// Factory function for creating clients (Supabase-style)\r\nimport { InsForgeClient } from './client';\r\nimport { InsForgeConfig } from './types';\r\n\r\nexport function createClient(config: InsForgeConfig): InsForgeClient {\r\n return new InsForgeClient(config);\r\n}\r\n\r\n// Default export for convenience\r\nexport default InsForgeClient;\r\n"],"mappings":"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","names":["session","response"]}
@@ -1,68 +0,0 @@
1
- {
2
- "name": "@insforge/sdk",
3
- "version": "1.0.4",
4
- "description": "Official JavaScript/TypeScript client for InsForge Backend-as-a-Service platform",
5
- "main": "./dist/index.js",
6
- "module": "./dist/index.mjs",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.mjs",
12
- "require": "./dist/index.js"
13
- }
14
- },
15
- "files": [
16
- "dist"
17
- ],
18
- "scripts": {
19
- "build": "tsup",
20
- "build:tsc": "tsc && tsc --module commonjs --outDir dist/cjs",
21
- "build:tsc-only": "tsc",
22
- "dev": "tsup --watch",
23
- "dev:tsc": "tsc --watch",
24
- "test": "vitest",
25
- "test:integration": "node integration-tests/run-all.js",
26
- "test:run": "vitest run",
27
- "lint": "eslint src --ext .ts",
28
- "typecheck": "tsc --noEmit",
29
- "publish:dev": "npm version prerelease --preid=dev && npm run build && npm publish --tag dev",
30
- "publish:stable": "npm run build && npm publish"
31
- },
32
- "keywords": [
33
- "insforge",
34
- "baas",
35
- "backend",
36
- "sdk",
37
- "typescript",
38
- "javascript",
39
- "client"
40
- ],
41
- "author": "InsForge",
42
- "license": "Apache-2.0",
43
- "repository": {
44
- "type": "git",
45
- "url": "https://github.com/InsForge/insforge-sdk-js.git"
46
- },
47
- "homepage": "https://github.com/InsForge/insforge-sdk-js#readme",
48
- "bugs": {
49
- "url": "https://github.com/InsForge/insforge-sdk-js/issues"
50
- },
51
- "dependencies": {
52
- "@insforge/shared-schemas": "^1.1.35",
53
- "@supabase/postgrest-js": "^1.21.3",
54
- "socket.io-client": "^4.8.1"
55
- },
56
- "devDependencies": {
57
- "@types/node": "^20.11.24",
58
- "@typescript-eslint/eslint-plugin": "^7.1.0",
59
- "@typescript-eslint/parser": "^7.1.0",
60
- "eslint": "^8.57.0",
61
- "tsup": "^8.0.2",
62
- "typescript": "^5.3.3",
63
- "vitest": "^1.3.1"
64
- },
65
- "engines": {
66
- "node": ">=18"
67
- }
68
- }