convex 1.44.0 → 1.45.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/browser.bundle.js +1 -1
  3. package/dist/browser.bundle.js.map +1 -1
  4. package/dist/cjs/cli/convexExport.js +1 -1
  5. package/dist/cjs/cli/convexExport.js.map +1 -1
  6. package/dist/cjs/cli/index.js +2 -32
  7. package/dist/cjs/cli/index.js.map +2 -2
  8. package/dist/cjs/cli/lib/api.js +11 -5
  9. package/dist/cjs/cli/lib/api.js.map +2 -2
  10. package/dist/cjs/cli/lib/convexExport.js +12 -1
  11. package/dist/cjs/cli/lib/convexExport.js.map +2 -2
  12. package/dist/cjs/cli/lib/dashboard.js.map +2 -2
  13. package/dist/cjs/cli/lib/generatedFunctionLogsApi.js.map +1 -1
  14. package/dist/cjs/cli/lib/localDeployment/upgrade.js +23 -188
  15. package/dist/cjs/cli/lib/localDeployment/upgrade.js.map +3 -3
  16. package/dist/cjs/cli/lib/mcp/tools/index.js.map +1 -1
  17. package/dist/cjs/cli/mcp.js +60 -63
  18. package/dist/cjs/cli/mcp.js.map +2 -2
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs-types/cli/lib/api.d.ts.map +1 -1
  22. package/dist/cjs-types/cli/lib/convexExport.d.ts +1 -0
  23. package/dist/cjs-types/cli/lib/convexExport.d.ts.map +1 -1
  24. package/dist/cjs-types/cli/lib/dashboard.d.ts.map +1 -1
  25. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  26. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  27. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts +2 -0
  28. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  29. package/dist/cjs-types/cli/lib/mcp/tools/index.d.ts +1 -1
  30. package/dist/cjs-types/cli/lib/mcp/tools/index.d.ts.map +1 -1
  31. package/dist/cjs-types/cli/mcp.d.ts +3 -0
  32. package/dist/cjs-types/cli/mcp.d.ts.map +1 -1
  33. package/dist/cjs-types/index.d.ts +1 -1
  34. package/dist/cjs-types/index.d.ts.map +1 -1
  35. package/dist/cli.bundle.cjs +25565 -21249
  36. package/dist/cli.bundle.cjs.map +4 -4
  37. package/dist/esm/cli/convexExport.js +1 -1
  38. package/dist/esm/cli/convexExport.js.map +1 -1
  39. package/dist/esm/cli/index.js +2 -32
  40. package/dist/esm/cli/index.js.map +2 -2
  41. package/dist/esm/cli/lib/api.js +11 -5
  42. package/dist/esm/cli/lib/api.js.map +2 -2
  43. package/dist/esm/cli/lib/convexExport.js +16 -3
  44. package/dist/esm/cli/lib/convexExport.js.map +2 -2
  45. package/dist/esm/cli/lib/dashboard.js.map +2 -2
  46. package/dist/esm/cli/lib/localDeployment/upgrade.js +22 -190
  47. package/dist/esm/cli/lib/localDeployment/upgrade.js.map +2 -2
  48. package/dist/esm/cli/lib/mcp/tools/index.js.map +1 -1
  49. package/dist/esm/cli/mcp.js +60 -67
  50. package/dist/esm/cli/mcp.js.map +2 -2
  51. package/dist/esm/index.js +1 -1
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm-types/cli/lib/api.d.ts.map +1 -1
  54. package/dist/esm-types/cli/lib/convexExport.d.ts +1 -0
  55. package/dist/esm-types/cli/lib/convexExport.d.ts.map +1 -1
  56. package/dist/esm-types/cli/lib/dashboard.d.ts.map +1 -1
  57. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  58. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  59. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts +2 -0
  60. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  61. package/dist/esm-types/cli/lib/mcp/tools/index.d.ts +1 -1
  62. package/dist/esm-types/cli/lib/mcp/tools/index.d.ts.map +1 -1
  63. package/dist/esm-types/cli/mcp.d.ts +3 -0
  64. package/dist/esm-types/cli/mcp.d.ts.map +1 -1
  65. package/dist/esm-types/index.d.ts +1 -1
  66. package/dist/esm-types/index.d.ts.map +1 -1
  67. package/dist/react.bundle.js +1 -1
  68. package/dist/react.bundle.js.map +1 -1
  69. package/package.json +3 -3
  70. package/src/cli/convexExport.ts +1 -1
  71. package/src/cli/index.ts +2 -35
  72. package/src/cli/lib/api.ts +11 -5
  73. package/src/cli/lib/convexExport.ts +21 -0
  74. package/src/cli/lib/dashboard.ts +2 -0
  75. package/src/cli/lib/generatedFunctionLogsApi.ts +2 -0
  76. package/src/cli/lib/localDeployment/upgrade.ts +34 -207
  77. package/src/cli/lib/mcp/tools/index.ts +1 -1
  78. package/src/cli/mcp.ts +64 -72
  79. package/src/index.ts +1 -1
  80. package/dist/cjs-types/browser/http_client.test.d.ts +0 -2
  81. package/dist/cjs-types/browser/http_client.test.d.ts.map +0 -1
  82. package/dist/cjs-types/browser/query_options.test.d.ts +0 -2
  83. package/dist/cjs-types/browser/query_options.test.d.ts.map +0 -1
  84. package/dist/cjs-types/browser/simple_client.test.d.ts +0 -2
  85. package/dist/cjs-types/browser/simple_client.test.d.ts.map +0 -1
  86. package/dist/cjs-types/browser/sync/client.test.d.ts +0 -5
  87. package/dist/cjs-types/browser/sync/client.test.d.ts.map +0 -1
  88. package/dist/cjs-types/browser/sync/client_node.test.d.ts +0 -2
  89. package/dist/cjs-types/browser/sync/client_node.test.d.ts.map +0 -1
  90. package/dist/cjs-types/browser/sync/client_node_test_helpers.d.ts +0 -44
  91. package/dist/cjs-types/browser/sync/client_node_test_helpers.d.ts.map +0 -1
  92. package/dist/cjs-types/browser/sync/local_state.test.d.ts +0 -2
  93. package/dist/cjs-types/browser/sync/local_state.test.d.ts.map +0 -1
  94. package/dist/cjs-types/browser/sync/optimistic_query_set.test.d.ts +0 -2
  95. package/dist/cjs-types/browser/sync/optimistic_query_set.test.d.ts.map +0 -1
  96. package/dist/cjs-types/browser/sync/paginated_query_client.test.d.ts +0 -2
  97. package/dist/cjs-types/browser/sync/paginated_query_client.test.d.ts.map +0 -1
  98. package/dist/cjs-types/browser/sync/protocol.test.d.ts +0 -5
  99. package/dist/cjs-types/browser/sync/protocol.test.d.ts.map +0 -1
  100. package/dist/cjs-types/browser/sync/request_manager.test.d.ts +0 -2
  101. package/dist/cjs-types/browser/sync/request_manager.test.d.ts.map +0 -1
  102. package/dist/cjs-types/bundler/fs.test.d.ts +0 -2
  103. package/dist/cjs-types/bundler/fs.test.d.ts.map +0 -1
  104. package/dist/cjs-types/bundler/index.test.d.ts +0 -2
  105. package/dist/cjs-types/bundler/index.test.d.ts.map +0 -1
  106. package/dist/cjs-types/cli/codegen_templates/api.test.d.ts +0 -2
  107. package/dist/cjs-types/cli/codegen_templates/api.test.d.ts.map +0 -1
  108. package/dist/cjs-types/cli/codegen_templates/common.test.d.ts +0 -2
  109. package/dist/cjs-types/cli/codegen_templates/common.test.d.ts.map +0 -1
  110. package/dist/cjs-types/cli/codegen_templates/templates.test.d.ts +0 -2
  111. package/dist/cjs-types/cli/codegen_templates/templates.test.d.ts.map +0 -1
  112. package/dist/cjs-types/cli/codegen_templates/validator_helpers.test.d.ts +0 -2
  113. package/dist/cjs-types/cli/codegen_templates/validator_helpers.test.d.ts.map +0 -1
  114. package/dist/cjs-types/cli/configure.test.d.ts +0 -2
  115. package/dist/cjs-types/cli/configure.test.d.ts.map +0 -1
  116. package/dist/cjs-types/cli/deploymentCreate.test.d.ts +0 -2
  117. package/dist/cjs-types/cli/deploymentCreate.test.d.ts.map +0 -1
  118. package/dist/cjs-types/cli/deploymentSelect.test.d.ts +0 -2
  119. package/dist/cjs-types/cli/deploymentSelect.test.d.ts.map +0 -1
  120. package/dist/cjs-types/cli/deploymentSelection.test.d.ts +0 -2
  121. package/dist/cjs-types/cli/deploymentSelection.test.d.ts.map +0 -1
  122. package/dist/cjs-types/cli/deploymentToken.test.d.ts +0 -2
  123. package/dist/cjs-types/cli/deploymentToken.test.d.ts.map +0 -1
  124. package/dist/cjs-types/cli/dev.test.d.ts +0 -2
  125. package/dist/cjs-types/cli/dev.test.d.ts.map +0 -1
  126. package/dist/cjs-types/cli/envDefault.test.d.ts +0 -2
  127. package/dist/cjs-types/cli/envDefault.test.d.ts.map +0 -1
  128. package/dist/cjs-types/cli/lib/aiFiles/agentsmd.test.d.ts +0 -2
  129. package/dist/cjs-types/cli/lib/aiFiles/agentsmd.test.d.ts.map +0 -1
  130. package/dist/cjs-types/cli/lib/aiFiles/claudemd.test.d.ts +0 -2
  131. package/dist/cjs-types/cli/lib/aiFiles/claudemd.test.d.ts.map +0 -1
  132. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.test.d.ts +0 -2
  133. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.test.d.ts.map +0 -1
  134. package/dist/cjs-types/cli/lib/aiFiles/index.test.d.ts +0 -2
  135. package/dist/cjs-types/cli/lib/aiFiles/index.test.d.ts.map +0 -1
  136. package/dist/cjs-types/cli/lib/aiFiles/integration.test.d.ts +0 -2
  137. package/dist/cjs-types/cli/lib/aiFiles/integration.test.d.ts.map +0 -1
  138. package/dist/cjs-types/cli/lib/aiFiles/prompt.test.d.ts +0 -2
  139. package/dist/cjs-types/cli/lib/aiFiles/prompt.test.d.ts.map +0 -1
  140. package/dist/cjs-types/cli/lib/aiFiles/state.test.d.ts +0 -2
  141. package/dist/cjs-types/cli/lib/aiFiles/state.test.d.ts.map +0 -1
  142. package/dist/cjs-types/cli/lib/aiFiles/utils.test.d.ts +0 -2
  143. package/dist/cjs-types/cli/lib/aiFiles/utils.test.d.ts.map +0 -1
  144. package/dist/cjs-types/cli/lib/codegen.test.d.ts +0 -2
  145. package/dist/cjs-types/cli/lib/codegen.test.d.ts.map +0 -1
  146. package/dist/cjs-types/cli/lib/components.test.d.ts +0 -2
  147. package/dist/cjs-types/cli/lib/components.test.d.ts.map +0 -1
  148. package/dist/cjs-types/cli/lib/config.test.d.ts +0 -2
  149. package/dist/cjs-types/cli/lib/config.test.d.ts.map +0 -1
  150. package/dist/cjs-types/cli/lib/deployment.test.d.ts +0 -2
  151. package/dist/cjs-types/cli/lib/deployment.test.d.ts.map +0 -1
  152. package/dist/cjs-types/cli/lib/deploymentSelector.test.d.ts +0 -2
  153. package/dist/cjs-types/cli/lib/deploymentSelector.test.d.ts.map +0 -1
  154. package/dist/cjs-types/cli/lib/env.test.d.ts +0 -2
  155. package/dist/cjs-types/cli/lib/env.test.d.ts.map +0 -1
  156. package/dist/cjs-types/cli/lib/expiration.test.d.ts +0 -2
  157. package/dist/cjs-types/cli/lib/expiration.test.d.ts.map +0 -1
  158. package/dist/cjs-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts +0 -2
  159. package/dist/cjs-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts.map +0 -1
  160. package/dist/cjs-types/cli/lib/formatEnvValueForDotfile.test.d.ts +0 -2
  161. package/dist/cjs-types/cli/lib/formatEnvValueForDotfile.test.d.ts.map +0 -1
  162. package/dist/cjs-types/cli/lib/formatTargetedDeployment.test.d.ts +0 -2
  163. package/dist/cjs-types/cli/lib/formatTargetedDeployment.test.d.ts.map +0 -1
  164. package/dist/cjs-types/cli/lib/fsUtils.test.d.ts +0 -2
  165. package/dist/cjs-types/cli/lib/fsUtils.test.d.ts.map +0 -1
  166. package/dist/cjs-types/cli/lib/generateDocs.test.d.ts +0 -2
  167. package/dist/cjs-types/cli/lib/generateDocs.test.d.ts.map +0 -1
  168. package/dist/cjs-types/cli/lib/indexes.test.d.ts +0 -2
  169. package/dist/cjs-types/cli/lib/indexes.test.d.ts.map +0 -1
  170. package/dist/cjs-types/cli/lib/localDeployment/run.test.d.ts +0 -2
  171. package/dist/cjs-types/cli/lib/localDeployment/run.test.d.ts.map +0 -1
  172. package/dist/cjs-types/cli/lib/localDeployment/secrets.test.d.ts +0 -2
  173. package/dist/cjs-types/cli/lib/localDeployment/secrets.test.d.ts.map +0 -1
  174. package/dist/cjs-types/cli/lib/run.test.d.ts +0 -2
  175. package/dist/cjs-types/cli/lib/run.test.d.ts.map +0 -1
  176. package/dist/cjs-types/cli/lib/runTestFunction.test.d.ts +0 -2
  177. package/dist/cjs-types/cli/lib/runTestFunction.test.d.ts.map +0 -1
  178. package/dist/cjs-types/cli/lib/typecheck.test.d.ts +0 -2
  179. package/dist/cjs-types/cli/lib/typecheck.test.d.ts.map +0 -1
  180. package/dist/cjs-types/cli/lib/updates.test.d.ts +0 -2
  181. package/dist/cjs-types/cli/lib/updates.test.d.ts.map +0 -1
  182. package/dist/cjs-types/cli/lib/utils/hash.test.d.ts +0 -2
  183. package/dist/cjs-types/cli/lib/utils/hash.test.d.ts.map +0 -1
  184. package/dist/cjs-types/cli/lib/utils/utils.test.d.ts +0 -2
  185. package/dist/cjs-types/cli/lib/utils/utils.test.d.ts.map +0 -1
  186. package/dist/cjs-types/cli/lib/versionApi.test.d.ts +0 -2
  187. package/dist/cjs-types/cli/lib/versionApi.test.d.ts.map +0 -1
  188. package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts +0 -2
  189. package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts.map +0 -1
  190. package/dist/cjs-types/cli/lib/workos/workos.test.d.ts +0 -2
  191. package/dist/cjs-types/cli/lib/workos/workos.test.d.ts.map +0 -1
  192. package/dist/cjs-types/cli/login.test.d.ts +0 -2
  193. package/dist/cjs-types/cli/login.test.d.ts.map +0 -1
  194. package/dist/cjs-types/common/index.test.d.ts +0 -2
  195. package/dist/cjs-types/common/index.test.d.ts.map +0 -1
  196. package/dist/cjs-types/nextjs/nextjs.test.d.ts +0 -2
  197. package/dist/cjs-types/nextjs/nextjs.test.d.ts.map +0 -1
  198. package/dist/cjs-types/react/ConvexAuthState.test.d.ts +0 -2
  199. package/dist/cjs-types/react/ConvexAuthState.test.d.ts.map +0 -1
  200. package/dist/cjs-types/react/auth_helpers.test.d.ts +0 -2
  201. package/dist/cjs-types/react/auth_helpers.test.d.ts.map +0 -1
  202. package/dist/cjs-types/react/auth_websocket.test.d.ts +0 -2
  203. package/dist/cjs-types/react/auth_websocket.test.d.ts.map +0 -1
  204. package/dist/cjs-types/react/client.test.d.ts +0 -2
  205. package/dist/cjs-types/react/client.test.d.ts.map +0 -1
  206. package/dist/cjs-types/react/client_provided_base_client.test.d.ts +0 -2
  207. package/dist/cjs-types/react/client_provided_base_client.test.d.ts.map +0 -1
  208. package/dist/cjs-types/react/queries_observer.test.d.ts +0 -2
  209. package/dist/cjs-types/react/queries_observer.test.d.ts.map +0 -1
  210. package/dist/cjs-types/react/react_node.test.d.ts +0 -2
  211. package/dist/cjs-types/react/react_node.test.d.ts.map +0 -1
  212. package/dist/cjs-types/react/use_paginated_query.test.d.ts +0 -2
  213. package/dist/cjs-types/react/use_paginated_query.test.d.ts.map +0 -1
  214. package/dist/cjs-types/react/use_queries.test.d.ts +0 -5
  215. package/dist/cjs-types/react/use_queries.test.d.ts.map +0 -1
  216. package/dist/cjs-types/react/use_query.test.d.ts +0 -5
  217. package/dist/cjs-types/react/use_query.test.d.ts.map +0 -1
  218. package/dist/cjs-types/react/use_query_object_options.test.d.ts +0 -5
  219. package/dist/cjs-types/react/use_query_object_options.test.d.ts.map +0 -1
  220. package/dist/cjs-types/react/use_query_result.test.d.ts +0 -5
  221. package/dist/cjs-types/react/use_query_result.test.d.ts.map +0 -1
  222. package/dist/cjs-types/react-auth0/ConvexProviderWithAuth0.test.d.ts +0 -2
  223. package/dist/cjs-types/react-auth0/ConvexProviderWithAuth0.test.d.ts.map +0 -1
  224. package/dist/cjs-types/react-clerk/ConvexProviderWithClerk.test.d.ts +0 -2
  225. package/dist/cjs-types/react-clerk/ConvexProviderWithClerk.test.d.ts.map +0 -1
  226. package/dist/cjs-types/server/api.intersect.test.d.ts +0 -2
  227. package/dist/cjs-types/server/api.intersect.test.d.ts.map +0 -1
  228. package/dist/cjs-types/server/api.test.d.ts +0 -2
  229. package/dist/cjs-types/server/api.test.d.ts.map +0 -1
  230. package/dist/cjs-types/server/audit_logging.test.d.ts +0 -2
  231. package/dist/cjs-types/server/audit_logging.test.d.ts.map +0 -1
  232. package/dist/cjs-types/server/components/index.test.d.ts +0 -2
  233. package/dist/cjs-types/server/components/index.test.d.ts.map +0 -1
  234. package/dist/cjs-types/server/cron.test.d.ts +0 -2
  235. package/dist/cjs-types/server/cron.test.d.ts.map +0 -1
  236. package/dist/cjs-types/server/data_model.test.d.ts +0 -2
  237. package/dist/cjs-types/server/data_model.test.d.ts.map +0 -1
  238. package/dist/cjs-types/server/database.test.d.ts +0 -2
  239. package/dist/cjs-types/server/database.test.d.ts.map +0 -1
  240. package/dist/cjs-types/server/database_api.test.d.ts +0 -2
  241. package/dist/cjs-types/server/database_api.test.d.ts.map +0 -1
  242. package/dist/cjs-types/server/filter_builder.test.d.ts +0 -2
  243. package/dist/cjs-types/server/filter_builder.test.d.ts.map +0 -1
  244. package/dist/cjs-types/server/impl/actions_impl.test.d.ts +0 -2
  245. package/dist/cjs-types/server/impl/actions_impl.test.d.ts.map +0 -1
  246. package/dist/cjs-types/server/impl/filter_builder_impl.test.d.ts +0 -2
  247. package/dist/cjs-types/server/impl/filter_builder_impl.test.d.ts.map +0 -1
  248. package/dist/cjs-types/server/impl/query_impl.test.d.ts +0 -2
  249. package/dist/cjs-types/server/impl/query_impl.test.d.ts.map +0 -1
  250. package/dist/cjs-types/server/pagination.test.d.ts +0 -2
  251. package/dist/cjs-types/server/pagination.test.d.ts.map +0 -1
  252. package/dist/cjs-types/server/query.test.d.ts +0 -2
  253. package/dist/cjs-types/server/query.test.d.ts.map +0 -1
  254. package/dist/cjs-types/server/registration.test.d.ts +0 -2
  255. package/dist/cjs-types/server/registration.test.d.ts.map +0 -1
  256. package/dist/cjs-types/server/router.test.d.ts +0 -2
  257. package/dist/cjs-types/server/router.test.d.ts.map +0 -1
  258. package/dist/cjs-types/server/scheduler.test.d.ts +0 -2
  259. package/dist/cjs-types/server/scheduler.test.d.ts.map +0 -1
  260. package/dist/cjs-types/server/schema.test.d.ts +0 -2
  261. package/dist/cjs-types/server/schema.test.d.ts.map +0 -1
  262. package/dist/cjs-types/test/fake_watch.d.ts +0 -16
  263. package/dist/cjs-types/test/fake_watch.d.ts.map +0 -1
  264. package/dist/cjs-types/test/type_testing.d.ts +0 -9
  265. package/dist/cjs-types/test/type_testing.d.ts.map +0 -1
  266. package/dist/cjs-types/type_utils.test.d.ts +0 -2
  267. package/dist/cjs-types/type_utils.test.d.ts.map +0 -1
  268. package/dist/cjs-types/values/size.test.d.ts +0 -2
  269. package/dist/cjs-types/values/size.test.d.ts.map +0 -1
  270. package/dist/cjs-types/values/validator.test.d.ts +0 -2
  271. package/dist/cjs-types/values/validator.test.d.ts.map +0 -1
  272. package/dist/cjs-types/values/value.test.d.ts +0 -2
  273. package/dist/cjs-types/values/value.test.d.ts.map +0 -1
  274. package/dist/esm-types/browser/http_client.test.d.ts +0 -2
  275. package/dist/esm-types/browser/http_client.test.d.ts.map +0 -1
  276. package/dist/esm-types/browser/query_options.test.d.ts +0 -2
  277. package/dist/esm-types/browser/query_options.test.d.ts.map +0 -1
  278. package/dist/esm-types/browser/simple_client.test.d.ts +0 -2
  279. package/dist/esm-types/browser/simple_client.test.d.ts.map +0 -1
  280. package/dist/esm-types/browser/sync/client.test.d.ts +0 -5
  281. package/dist/esm-types/browser/sync/client.test.d.ts.map +0 -1
  282. package/dist/esm-types/browser/sync/client_node.test.d.ts +0 -2
  283. package/dist/esm-types/browser/sync/client_node.test.d.ts.map +0 -1
  284. package/dist/esm-types/browser/sync/client_node_test_helpers.d.ts +0 -44
  285. package/dist/esm-types/browser/sync/client_node_test_helpers.d.ts.map +0 -1
  286. package/dist/esm-types/browser/sync/local_state.test.d.ts +0 -2
  287. package/dist/esm-types/browser/sync/local_state.test.d.ts.map +0 -1
  288. package/dist/esm-types/browser/sync/optimistic_query_set.test.d.ts +0 -2
  289. package/dist/esm-types/browser/sync/optimistic_query_set.test.d.ts.map +0 -1
  290. package/dist/esm-types/browser/sync/paginated_query_client.test.d.ts +0 -2
  291. package/dist/esm-types/browser/sync/paginated_query_client.test.d.ts.map +0 -1
  292. package/dist/esm-types/browser/sync/protocol.test.d.ts +0 -5
  293. package/dist/esm-types/browser/sync/protocol.test.d.ts.map +0 -1
  294. package/dist/esm-types/browser/sync/request_manager.test.d.ts +0 -2
  295. package/dist/esm-types/browser/sync/request_manager.test.d.ts.map +0 -1
  296. package/dist/esm-types/bundler/fs.test.d.ts +0 -2
  297. package/dist/esm-types/bundler/fs.test.d.ts.map +0 -1
  298. package/dist/esm-types/bundler/index.test.d.ts +0 -2
  299. package/dist/esm-types/bundler/index.test.d.ts.map +0 -1
  300. package/dist/esm-types/cli/codegen_templates/api.test.d.ts +0 -2
  301. package/dist/esm-types/cli/codegen_templates/api.test.d.ts.map +0 -1
  302. package/dist/esm-types/cli/codegen_templates/common.test.d.ts +0 -2
  303. package/dist/esm-types/cli/codegen_templates/common.test.d.ts.map +0 -1
  304. package/dist/esm-types/cli/codegen_templates/templates.test.d.ts +0 -2
  305. package/dist/esm-types/cli/codegen_templates/templates.test.d.ts.map +0 -1
  306. package/dist/esm-types/cli/codegen_templates/validator_helpers.test.d.ts +0 -2
  307. package/dist/esm-types/cli/codegen_templates/validator_helpers.test.d.ts.map +0 -1
  308. package/dist/esm-types/cli/configure.test.d.ts +0 -2
  309. package/dist/esm-types/cli/configure.test.d.ts.map +0 -1
  310. package/dist/esm-types/cli/deploymentCreate.test.d.ts +0 -2
  311. package/dist/esm-types/cli/deploymentCreate.test.d.ts.map +0 -1
  312. package/dist/esm-types/cli/deploymentSelect.test.d.ts +0 -2
  313. package/dist/esm-types/cli/deploymentSelect.test.d.ts.map +0 -1
  314. package/dist/esm-types/cli/deploymentSelection.test.d.ts +0 -2
  315. package/dist/esm-types/cli/deploymentSelection.test.d.ts.map +0 -1
  316. package/dist/esm-types/cli/deploymentToken.test.d.ts +0 -2
  317. package/dist/esm-types/cli/deploymentToken.test.d.ts.map +0 -1
  318. package/dist/esm-types/cli/dev.test.d.ts +0 -2
  319. package/dist/esm-types/cli/dev.test.d.ts.map +0 -1
  320. package/dist/esm-types/cli/envDefault.test.d.ts +0 -2
  321. package/dist/esm-types/cli/envDefault.test.d.ts.map +0 -1
  322. package/dist/esm-types/cli/lib/aiFiles/agentsmd.test.d.ts +0 -2
  323. package/dist/esm-types/cli/lib/aiFiles/agentsmd.test.d.ts.map +0 -1
  324. package/dist/esm-types/cli/lib/aiFiles/claudemd.test.d.ts +0 -2
  325. package/dist/esm-types/cli/lib/aiFiles/claudemd.test.d.ts.map +0 -1
  326. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.test.d.ts +0 -2
  327. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.test.d.ts.map +0 -1
  328. package/dist/esm-types/cli/lib/aiFiles/index.test.d.ts +0 -2
  329. package/dist/esm-types/cli/lib/aiFiles/index.test.d.ts.map +0 -1
  330. package/dist/esm-types/cli/lib/aiFiles/integration.test.d.ts +0 -2
  331. package/dist/esm-types/cli/lib/aiFiles/integration.test.d.ts.map +0 -1
  332. package/dist/esm-types/cli/lib/aiFiles/prompt.test.d.ts +0 -2
  333. package/dist/esm-types/cli/lib/aiFiles/prompt.test.d.ts.map +0 -1
  334. package/dist/esm-types/cli/lib/aiFiles/state.test.d.ts +0 -2
  335. package/dist/esm-types/cli/lib/aiFiles/state.test.d.ts.map +0 -1
  336. package/dist/esm-types/cli/lib/aiFiles/utils.test.d.ts +0 -2
  337. package/dist/esm-types/cli/lib/aiFiles/utils.test.d.ts.map +0 -1
  338. package/dist/esm-types/cli/lib/codegen.test.d.ts +0 -2
  339. package/dist/esm-types/cli/lib/codegen.test.d.ts.map +0 -1
  340. package/dist/esm-types/cli/lib/components.test.d.ts +0 -2
  341. package/dist/esm-types/cli/lib/components.test.d.ts.map +0 -1
  342. package/dist/esm-types/cli/lib/config.test.d.ts +0 -2
  343. package/dist/esm-types/cli/lib/config.test.d.ts.map +0 -1
  344. package/dist/esm-types/cli/lib/deployment.test.d.ts +0 -2
  345. package/dist/esm-types/cli/lib/deployment.test.d.ts.map +0 -1
  346. package/dist/esm-types/cli/lib/deploymentSelector.test.d.ts +0 -2
  347. package/dist/esm-types/cli/lib/deploymentSelector.test.d.ts.map +0 -1
  348. package/dist/esm-types/cli/lib/env.test.d.ts +0 -2
  349. package/dist/esm-types/cli/lib/env.test.d.ts.map +0 -1
  350. package/dist/esm-types/cli/lib/expiration.test.d.ts +0 -2
  351. package/dist/esm-types/cli/lib/expiration.test.d.ts.map +0 -1
  352. package/dist/esm-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts +0 -2
  353. package/dist/esm-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts.map +0 -1
  354. package/dist/esm-types/cli/lib/formatEnvValueForDotfile.test.d.ts +0 -2
  355. package/dist/esm-types/cli/lib/formatEnvValueForDotfile.test.d.ts.map +0 -1
  356. package/dist/esm-types/cli/lib/formatTargetedDeployment.test.d.ts +0 -2
  357. package/dist/esm-types/cli/lib/formatTargetedDeployment.test.d.ts.map +0 -1
  358. package/dist/esm-types/cli/lib/fsUtils.test.d.ts +0 -2
  359. package/dist/esm-types/cli/lib/fsUtils.test.d.ts.map +0 -1
  360. package/dist/esm-types/cli/lib/generateDocs.test.d.ts +0 -2
  361. package/dist/esm-types/cli/lib/generateDocs.test.d.ts.map +0 -1
  362. package/dist/esm-types/cli/lib/indexes.test.d.ts +0 -2
  363. package/dist/esm-types/cli/lib/indexes.test.d.ts.map +0 -1
  364. package/dist/esm-types/cli/lib/localDeployment/run.test.d.ts +0 -2
  365. package/dist/esm-types/cli/lib/localDeployment/run.test.d.ts.map +0 -1
  366. package/dist/esm-types/cli/lib/localDeployment/secrets.test.d.ts +0 -2
  367. package/dist/esm-types/cli/lib/localDeployment/secrets.test.d.ts.map +0 -1
  368. package/dist/esm-types/cli/lib/run.test.d.ts +0 -2
  369. package/dist/esm-types/cli/lib/run.test.d.ts.map +0 -1
  370. package/dist/esm-types/cli/lib/runTestFunction.test.d.ts +0 -2
  371. package/dist/esm-types/cli/lib/runTestFunction.test.d.ts.map +0 -1
  372. package/dist/esm-types/cli/lib/typecheck.test.d.ts +0 -2
  373. package/dist/esm-types/cli/lib/typecheck.test.d.ts.map +0 -1
  374. package/dist/esm-types/cli/lib/updates.test.d.ts +0 -2
  375. package/dist/esm-types/cli/lib/updates.test.d.ts.map +0 -1
  376. package/dist/esm-types/cli/lib/utils/hash.test.d.ts +0 -2
  377. package/dist/esm-types/cli/lib/utils/hash.test.d.ts.map +0 -1
  378. package/dist/esm-types/cli/lib/utils/utils.test.d.ts +0 -2
  379. package/dist/esm-types/cli/lib/utils/utils.test.d.ts.map +0 -1
  380. package/dist/esm-types/cli/lib/versionApi.test.d.ts +0 -2
  381. package/dist/esm-types/cli/lib/versionApi.test.d.ts.map +0 -1
  382. package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts +0 -2
  383. package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts.map +0 -1
  384. package/dist/esm-types/cli/lib/workos/workos.test.d.ts +0 -2
  385. package/dist/esm-types/cli/lib/workos/workos.test.d.ts.map +0 -1
  386. package/dist/esm-types/cli/login.test.d.ts +0 -2
  387. package/dist/esm-types/cli/login.test.d.ts.map +0 -1
  388. package/dist/esm-types/common/index.test.d.ts +0 -2
  389. package/dist/esm-types/common/index.test.d.ts.map +0 -1
  390. package/dist/esm-types/nextjs/nextjs.test.d.ts +0 -2
  391. package/dist/esm-types/nextjs/nextjs.test.d.ts.map +0 -1
  392. package/dist/esm-types/react/ConvexAuthState.test.d.ts +0 -2
  393. package/dist/esm-types/react/ConvexAuthState.test.d.ts.map +0 -1
  394. package/dist/esm-types/react/auth_helpers.test.d.ts +0 -2
  395. package/dist/esm-types/react/auth_helpers.test.d.ts.map +0 -1
  396. package/dist/esm-types/react/auth_websocket.test.d.ts +0 -2
  397. package/dist/esm-types/react/auth_websocket.test.d.ts.map +0 -1
  398. package/dist/esm-types/react/client.test.d.ts +0 -2
  399. package/dist/esm-types/react/client.test.d.ts.map +0 -1
  400. package/dist/esm-types/react/client_provided_base_client.test.d.ts +0 -2
  401. package/dist/esm-types/react/client_provided_base_client.test.d.ts.map +0 -1
  402. package/dist/esm-types/react/queries_observer.test.d.ts +0 -2
  403. package/dist/esm-types/react/queries_observer.test.d.ts.map +0 -1
  404. package/dist/esm-types/react/react_node.test.d.ts +0 -2
  405. package/dist/esm-types/react/react_node.test.d.ts.map +0 -1
  406. package/dist/esm-types/react/use_paginated_query.test.d.ts +0 -2
  407. package/dist/esm-types/react/use_paginated_query.test.d.ts.map +0 -1
  408. package/dist/esm-types/react/use_queries.test.d.ts +0 -5
  409. package/dist/esm-types/react/use_queries.test.d.ts.map +0 -1
  410. package/dist/esm-types/react/use_query.test.d.ts +0 -5
  411. package/dist/esm-types/react/use_query.test.d.ts.map +0 -1
  412. package/dist/esm-types/react/use_query_object_options.test.d.ts +0 -5
  413. package/dist/esm-types/react/use_query_object_options.test.d.ts.map +0 -1
  414. package/dist/esm-types/react/use_query_result.test.d.ts +0 -5
  415. package/dist/esm-types/react/use_query_result.test.d.ts.map +0 -1
  416. package/dist/esm-types/react-auth0/ConvexProviderWithAuth0.test.d.ts +0 -2
  417. package/dist/esm-types/react-auth0/ConvexProviderWithAuth0.test.d.ts.map +0 -1
  418. package/dist/esm-types/react-clerk/ConvexProviderWithClerk.test.d.ts +0 -2
  419. package/dist/esm-types/react-clerk/ConvexProviderWithClerk.test.d.ts.map +0 -1
  420. package/dist/esm-types/server/api.intersect.test.d.ts +0 -2
  421. package/dist/esm-types/server/api.intersect.test.d.ts.map +0 -1
  422. package/dist/esm-types/server/api.test.d.ts +0 -2
  423. package/dist/esm-types/server/api.test.d.ts.map +0 -1
  424. package/dist/esm-types/server/audit_logging.test.d.ts +0 -2
  425. package/dist/esm-types/server/audit_logging.test.d.ts.map +0 -1
  426. package/dist/esm-types/server/components/index.test.d.ts +0 -2
  427. package/dist/esm-types/server/components/index.test.d.ts.map +0 -1
  428. package/dist/esm-types/server/cron.test.d.ts +0 -2
  429. package/dist/esm-types/server/cron.test.d.ts.map +0 -1
  430. package/dist/esm-types/server/data_model.test.d.ts +0 -2
  431. package/dist/esm-types/server/data_model.test.d.ts.map +0 -1
  432. package/dist/esm-types/server/database.test.d.ts +0 -2
  433. package/dist/esm-types/server/database.test.d.ts.map +0 -1
  434. package/dist/esm-types/server/database_api.test.d.ts +0 -2
  435. package/dist/esm-types/server/database_api.test.d.ts.map +0 -1
  436. package/dist/esm-types/server/filter_builder.test.d.ts +0 -2
  437. package/dist/esm-types/server/filter_builder.test.d.ts.map +0 -1
  438. package/dist/esm-types/server/impl/actions_impl.test.d.ts +0 -2
  439. package/dist/esm-types/server/impl/actions_impl.test.d.ts.map +0 -1
  440. package/dist/esm-types/server/impl/filter_builder_impl.test.d.ts +0 -2
  441. package/dist/esm-types/server/impl/filter_builder_impl.test.d.ts.map +0 -1
  442. package/dist/esm-types/server/impl/query_impl.test.d.ts +0 -2
  443. package/dist/esm-types/server/impl/query_impl.test.d.ts.map +0 -1
  444. package/dist/esm-types/server/pagination.test.d.ts +0 -2
  445. package/dist/esm-types/server/pagination.test.d.ts.map +0 -1
  446. package/dist/esm-types/server/query.test.d.ts +0 -2
  447. package/dist/esm-types/server/query.test.d.ts.map +0 -1
  448. package/dist/esm-types/server/registration.test.d.ts +0 -2
  449. package/dist/esm-types/server/registration.test.d.ts.map +0 -1
  450. package/dist/esm-types/server/router.test.d.ts +0 -2
  451. package/dist/esm-types/server/router.test.d.ts.map +0 -1
  452. package/dist/esm-types/server/scheduler.test.d.ts +0 -2
  453. package/dist/esm-types/server/scheduler.test.d.ts.map +0 -1
  454. package/dist/esm-types/server/schema.test.d.ts +0 -2
  455. package/dist/esm-types/server/schema.test.d.ts.map +0 -1
  456. package/dist/esm-types/test/fake_watch.d.ts +0 -16
  457. package/dist/esm-types/test/fake_watch.d.ts.map +0 -1
  458. package/dist/esm-types/test/type_testing.d.ts +0 -9
  459. package/dist/esm-types/test/type_testing.d.ts.map +0 -1
  460. package/dist/esm-types/type_utils.test.d.ts +0 -2
  461. package/dist/esm-types/type_utils.test.d.ts.map +0 -1
  462. package/dist/esm-types/values/size.test.d.ts +0 -2
  463. package/dist/esm-types/values/size.test.d.ts.map +0 -1
  464. package/dist/esm-types/values/validator.test.d.ts +0 -2
  465. package/dist/esm-types/values/validator.test.d.ts.map +0 -1
  466. package/dist/esm-types/values/value.test.d.ts +0 -2
  467. package/dist/esm-types/values/value.test.d.ts.map +0 -1
  468. package/src/browser/http_client.test.ts +0 -202
  469. package/src/browser/query_options.test.ts +0 -43
  470. package/src/browser/simple_client.test.ts +0 -104
  471. package/src/browser/sync/client.test.ts +0 -44
  472. package/src/browser/sync/client_node.test.ts +0 -1207
  473. package/src/browser/sync/client_node_test_helpers.ts +0 -200
  474. package/src/browser/sync/local_state.test.ts +0 -128
  475. package/src/browser/sync/optimistic_query_set.test.ts +0 -253
  476. package/src/browser/sync/paginated_query_client.test.ts +0 -597
  477. package/src/browser/sync/protocol.test.ts +0 -14
  478. package/src/browser/sync/request_manager.test.ts +0 -273
  479. package/src/bundler/fs.test.ts +0 -86
  480. package/src/bundler/index.test.ts +0 -210
  481. package/src/bundler/test_fixtures/js/project01/bar.js +0 -4
  482. package/src/bundler/test_fixtures/js/project01/file with spaces.js +0 -1
  483. package/src/bundler/test_fixtures/js/project01/foo.js +0 -9
  484. package/src/bundler/test_fixtures/js/project_with_https/https.js +0 -9
  485. package/src/bundler/test_fixtures/js/project_with_https_not_at_top_level/default.js +0 -3
  486. package/src/bundler/test_fixtures/js/project_with_https_not_at_top_level/more_code/https.js +0 -5
  487. package/src/bundler/test_fixtures/js/project_with_https_without_router/https.js +0 -1
  488. package/src/bundler/test_fixtures/js/project_with_node_shims/uses_node_shims.js +0 -4
  489. package/src/cli/codegen_templates/api.test.ts +0 -18
  490. package/src/cli/codegen_templates/common.test.ts +0 -52
  491. package/src/cli/codegen_templates/templates.test.ts +0 -16
  492. package/src/cli/codegen_templates/validator_helpers.test.ts +0 -31
  493. package/src/cli/configure.test.ts +0 -138
  494. package/src/cli/deploymentCreate.test.ts +0 -1376
  495. package/src/cli/deploymentSelect.test.ts +0 -1291
  496. package/src/cli/deploymentSelection.test.ts +0 -2546
  497. package/src/cli/deploymentToken.test.ts +0 -397
  498. package/src/cli/dev.test.ts +0 -157
  499. package/src/cli/envDefault.test.ts +0 -495
  500. package/src/cli/lib/__snapshots__/formatTargetedDeployment.test.ts.snap +0 -94
  501. package/src/cli/lib/aiFiles/agentsmd.test.ts +0 -133
  502. package/src/cli/lib/aiFiles/claudemd.test.ts +0 -92
  503. package/src/cli/lib/aiFiles/guidelinesmd.test.ts +0 -50
  504. package/src/cli/lib/aiFiles/index.test.ts +0 -986
  505. package/src/cli/lib/aiFiles/integration.test.ts +0 -692
  506. package/src/cli/lib/aiFiles/prompt.test.ts +0 -202
  507. package/src/cli/lib/aiFiles/state.test.ts +0 -305
  508. package/src/cli/lib/aiFiles/utils.test.ts +0 -50
  509. package/src/cli/lib/codegen.test.ts +0 -49
  510. package/src/cli/lib/components.test.ts +0 -227
  511. package/src/cli/lib/config.test.ts +0 -1026
  512. package/src/cli/lib/deployment.test.ts +0 -85
  513. package/src/cli/lib/deploymentSelector.test.ts +0 -107
  514. package/src/cli/lib/env.test.ts +0 -60
  515. package/src/cli/lib/expiration.test.ts +0 -159
  516. package/src/cli/lib/extractDeploymentNameForWorkOS.test.ts +0 -30
  517. package/src/cli/lib/formatEnvValueForDotfile.test.ts +0 -294
  518. package/src/cli/lib/formatTargetedDeployment.test.ts +0 -281
  519. package/src/cli/lib/fsUtils.test.ts +0 -67
  520. package/src/cli/lib/generateDocs.test.ts +0 -326
  521. package/src/cli/lib/indexes.test.ts +0 -77
  522. package/src/cli/lib/localDeployment/run.test.ts +0 -104
  523. package/src/cli/lib/localDeployment/secrets.test.ts +0 -53
  524. package/src/cli/lib/run.test.ts +0 -54
  525. package/src/cli/lib/runTestFunction.test.ts +0 -84
  526. package/src/cli/lib/typecheck.test.ts +0 -71
  527. package/src/cli/lib/updates.test.ts +0 -157
  528. package/src/cli/lib/utils/hash.test.ts +0 -25
  529. package/src/cli/lib/utils/utils.test.ts +0 -340
  530. package/src/cli/lib/versionApi.test.ts +0 -471
  531. package/src/cli/lib/workos/environmentApi.test.ts +0 -107
  532. package/src/cli/lib/workos/workos.test.ts +0 -242
  533. package/src/cli/login.test.ts +0 -261
  534. package/src/common/README.md +0 -2
  535. package/src/common/index.test.ts +0 -35
  536. package/src/nextjs/nextjs.test.tsx +0 -94
  537. package/src/react/ConvexAuthState.test.tsx +0 -702
  538. package/src/react/auth_helpers.test.tsx +0 -45
  539. package/src/react/auth_websocket.test.tsx +0 -1177
  540. package/src/react/client.test.tsx +0 -261
  541. package/src/react/client_provided_base_client.test.tsx +0 -174
  542. package/src/react/queries_observer.test.ts +0 -176
  543. package/src/react/react_node.test.ts +0 -78
  544. package/src/react/use_paginated_query.test.tsx +0 -1420
  545. package/src/react/use_queries.test.ts +0 -140
  546. package/src/react/use_query.test.ts +0 -71
  547. package/src/react/use_query_object_options.test.ts +0 -51
  548. package/src/react/use_query_result.test.ts +0 -75
  549. package/src/react-auth0/ConvexProviderWithAuth0.test.tsx +0 -17
  550. package/src/react-clerk/ConvexProviderWithClerk.test.tsx +0 -18
  551. package/src/server/README.md +0 -15
  552. package/src/server/api.intersect.test.ts +0 -109
  553. package/src/server/api.test.ts +0 -447
  554. package/src/server/audit_logging.test.ts +0 -131
  555. package/src/server/components/index.test.ts +0 -48
  556. package/src/server/cron.test.ts +0 -58
  557. package/src/server/data_model.test.ts +0 -221
  558. package/src/server/database.test.ts +0 -184
  559. package/src/server/database_api.test.ts +0 -439
  560. package/src/server/filter_builder.test.ts +0 -102
  561. package/src/server/impl/actions_impl.test.ts +0 -59
  562. package/src/server/impl/filter_builder_impl.test.ts +0 -13
  563. package/src/server/impl/query_impl.test.ts +0 -46
  564. package/src/server/pagination.test.ts +0 -49
  565. package/src/server/query.test.ts +0 -112
  566. package/src/server/registration.test.ts +0 -589
  567. package/src/server/router.test.ts +0 -148
  568. package/src/server/scheduler.test.ts +0 -31
  569. package/src/server/schema.test.ts +0 -1081
  570. package/src/test/fake_watch.ts +0 -54
  571. package/src/test/type_testing.ts +0 -21
  572. package/src/type_utils.test.ts +0 -62
  573. package/src/values/size.test.ts +0 -95
  574. package/src/values/validator.test.ts +0 -619
  575. package/src/values/value.test.ts +0 -232
  576. package/src/vendor/README.md +0 -18
  577. package/src/vendor/jwt-decode/README.md +0 -1
@@ -1,242 +0,0 @@
1
- import { test, expect, describe, beforeEach, afterEach } from "vitest";
2
- import { resolveTemplate } from "./workos.js";
3
-
4
- describe("resolveTemplate", () => {
5
- const originalEnv = process.env;
6
-
7
- beforeEach(() => {
8
- // Create a clean environment for each test
9
- process.env = { ...originalEnv };
10
- });
11
-
12
- afterEach(() => {
13
- // Restore original environment
14
- process.env = originalEnv;
15
- });
16
-
17
- describe("authEnv templates", () => {
18
- test("resolves WORKOS_CLIENT_ID when provided", () => {
19
- const result = resolveTemplate("${authEnv.WORKOS_CLIENT_ID}", {
20
- clientId: "client_123",
21
- apiKey: "key_456",
22
- environmentId: "env_789",
23
- });
24
- expect(result).toBe("client_123");
25
- });
26
-
27
- test("resolves WORKOS_API_KEY when provided", () => {
28
- const result = resolveTemplate("${authEnv.WORKOS_API_KEY}", {
29
- clientId: "client_123",
30
- apiKey: "key_456",
31
- environmentId: "env_789",
32
- });
33
- expect(result).toBe("key_456");
34
- });
35
-
36
- test("resolves WORKOS_ENVIRONMENT_ID when provided", () => {
37
- const result = resolveTemplate("${authEnv.WORKOS_ENVIRONMENT_ID}", {
38
- clientId: "client_123",
39
- apiKey: "key_456",
40
- environmentId: "env_789",
41
- });
42
- expect(result).toBe("env_789");
43
- });
44
-
45
- test("throws when WORKOS_CLIENT_ID is not available", () => {
46
- expect(() => {
47
- resolveTemplate("${authEnv.WORKOS_CLIENT_ID}", {
48
- apiKey: "key_456",
49
- });
50
- }).toThrow(
51
- "Cannot resolve template ${authEnv.WORKOS_CLIENT_ID}: WORKOS_CLIENT_ID not available",
52
- );
53
- });
54
-
55
- test("throws when WORKOS_API_KEY is not available", () => {
56
- expect(() => {
57
- resolveTemplate("${authEnv.WORKOS_API_KEY}", {
58
- clientId: "client_123",
59
- });
60
- }).toThrow(
61
- "Cannot resolve template ${authEnv.WORKOS_API_KEY}: WORKOS_API_KEY not available",
62
- );
63
- });
64
-
65
- test("throws when provisioned object is undefined", () => {
66
- expect(() => {
67
- resolveTemplate("${authEnv.WORKOS_CLIENT_ID}");
68
- }).toThrow(
69
- "Cannot resolve template ${authEnv.WORKOS_CLIENT_ID}: WORKOS_CLIENT_ID not available",
70
- );
71
- });
72
- });
73
-
74
- describe("buildEnv templates", () => {
75
- test("resolves environment variable when set", () => {
76
- process.env.MY_TEST_VAR = "test_value";
77
- const result = resolveTemplate("${buildEnv.MY_TEST_VAR}");
78
- expect(result).toBe("test_value");
79
- });
80
-
81
- test("throws when environment variable is not set", () => {
82
- delete process.env.NONEXISTENT_VAR;
83
- expect(() => {
84
- resolveTemplate("${buildEnv.NONEXISTENT_VAR}");
85
- }).toThrow(
86
- "Cannot resolve template ${buildEnv.NONEXISTENT_VAR}: Environment variable NONEXISTENT_VAR is not set",
87
- );
88
- });
89
-
90
- test("handles empty string environment variable", () => {
91
- process.env.EMPTY_VAR = "";
92
- expect(() => {
93
- resolveTemplate("${buildEnv.EMPTY_VAR}");
94
- }).toThrow(
95
- "Cannot resolve template ${buildEnv.EMPTY_VAR}: Environment variable EMPTY_VAR is not set",
96
- );
97
- });
98
- });
99
-
100
- describe("unknown templates", () => {
101
- test("throws for unknown prefix", () => {
102
- expect(() => {
103
- resolveTemplate("${unknownPrefix.FOO}");
104
- }).toThrow("Unknown template expression: ${unknownPrefix.FOO}");
105
- });
106
-
107
- test("throws for no prefix", () => {
108
- expect(() => {
109
- resolveTemplate("${hello}");
110
- }).toThrow("Unknown template expression: ${hello}");
111
- });
112
-
113
- test("throws for typo in authEnv", () => {
114
- expect(() => {
115
- resolveTemplate("${authenv.WORKOS_CLIENT_ID}"); // lowercase 'e'
116
- }).toThrow("Unknown template expression: ${authenv.WORKOS_CLIENT_ID}");
117
- });
118
-
119
- test("throws for typo in buildEnv", () => {
120
- expect(() => {
121
- resolveTemplate("${buildenv.MY_VAR}"); // lowercase 'e'
122
- }).toThrow("Unknown template expression: ${buildenv.MY_VAR}");
123
- });
124
-
125
- test("throws for unknown authEnv variable", () => {
126
- expect(() => {
127
- resolveTemplate("${authEnv.UNKNOWN_VAR}", {
128
- clientId: "client_123",
129
- });
130
- }).toThrow("Unknown template expression: ${authEnv.UNKNOWN_VAR}");
131
- });
132
- });
133
-
134
- describe("complex templates", () => {
135
- test("resolves multiple templates in one string", () => {
136
- process.env.DOMAIN = "example.com";
137
- const result = resolveTemplate(
138
- "https://${buildEnv.DOMAIN}/auth/${authEnv.WORKOS_CLIENT_ID}",
139
- { clientId: "client_123" },
140
- );
141
- expect(result).toBe("https://example.com/auth/client_123");
142
- });
143
-
144
- test("leaves non-template strings unchanged", () => {
145
- const result = resolveTemplate("https://example.com/callback");
146
- expect(result).toBe("https://example.com/callback");
147
- });
148
-
149
- test("handles mixed template and literal text", () => {
150
- process.env.PORT = "3000";
151
- const result = resolveTemplate("http://localhost:${buildEnv.PORT}/api");
152
- expect(result).toBe("http://localhost:3000/api");
153
- });
154
-
155
- test("handles adjacent templates", () => {
156
- process.env.PROTO = "https";
157
- process.env.DOMAIN = "example.com";
158
- const result = resolveTemplate("${buildEnv.PROTO}://${buildEnv.DOMAIN}");
159
- expect(result).toBe("https://example.com");
160
- });
161
- });
162
-
163
- describe("edge cases", () => {
164
- test("handles empty string input", () => {
165
- const result = resolveTemplate("");
166
- expect(result).toBe("");
167
- });
168
-
169
- test("handles string with no templates", () => {
170
- const result = resolveTemplate("plain text without templates");
171
- expect(result).toBe("plain text without templates");
172
- });
173
-
174
- test("handles malformed template syntax", () => {
175
- // Missing closing brace - should not be replaced
176
- const result = resolveTemplate("${buildEnv.UNCLOSED");
177
- expect(result).toBe("${buildEnv.UNCLOSED");
178
- });
179
-
180
- test("handles nested braces incorrectly", () => {
181
- // Nested braces don't work - the regex matches the first }
182
- // This actually tries to resolve an env var called "${OTHER_VAR"
183
- expect(() => {
184
- resolveTemplate("${buildEnv.${OTHER_VAR}}");
185
- }).toThrow(
186
- "Cannot resolve template ${buildEnv.${OTHER_VAR}: Environment variable ${OTHER_VAR is not set.",
187
- );
188
- });
189
-
190
- test("handles special characters in environment variable names", () => {
191
- process.env["MY-VAR-WITH-DASHES"] = "value";
192
- const result = resolveTemplate("${buildEnv.MY-VAR-WITH-DASHES}");
193
- expect(result).toBe("value");
194
- });
195
-
196
- test("handles template at the very end", () => {
197
- process.env.SUFFIX = "end";
198
- const result = resolveTemplate("prefix-${buildEnv.SUFFIX}");
199
- expect(result).toBe("prefix-end");
200
- });
201
-
202
- test("handles template at the very beginning", () => {
203
- process.env.PREFIX = "start";
204
- const result = resolveTemplate("${buildEnv.PREFIX}-suffix");
205
- expect(result).toBe("start-suffix");
206
- });
207
-
208
- test("throws with helpful message for common typos", () => {
209
- const provisioned = { clientId: "client_123" };
210
-
211
- // Wrong case
212
- expect(() => {
213
- resolveTemplate("${authEnv.workos_client_id}", provisioned);
214
- }).toThrow("Unknown template expression");
215
-
216
- // Space in variable name
217
- expect(() => {
218
- resolveTemplate("${authEnv.WORKOS CLIENT ID}", provisioned);
219
- }).toThrow("Unknown template expression");
220
- });
221
- });
222
-
223
- describe("error message quality", () => {
224
- test("provides clear error for missing auth credentials", () => {
225
- expect(() => {
226
- resolveTemplate("${authEnv.WORKOS_CLIENT_ID}");
227
- }).toThrow(/Ensure WorkOS environment is provisioned/);
228
- });
229
-
230
- test("provides clear error for missing env var", () => {
231
- expect(() => {
232
- resolveTemplate("${buildEnv.MISSING_VAR}");
233
- }).toThrow(/Environment variable MISSING_VAR is not set/);
234
- });
235
-
236
- test("provides suggestions for unknown templates", () => {
237
- expect(() => {
238
- resolveTemplate("${foo.bar}");
239
- }).toThrow(/Use \$\{buildEnv\.VAR_NAME\} for environment variables/);
240
- });
241
- });
242
- });
@@ -1,261 +0,0 @@
1
- import { describe, test, expect, vi, beforeEach, afterEach } from "vitest";
2
- import { nodeFs } from "../bundler/fs.js";
3
- import { login } from "./login.js";
4
- import { bigBrainAPI } from "./lib/utils/utils.js";
5
- import { readGlobalConfig } from "./lib/utils/globalConfig.js";
6
-
7
- vi.mock("@sentry/node", () => ({
8
- captureException: vi.fn(),
9
- close: vi.fn(),
10
- }));
11
-
12
- vi.mock("../bundler/fs.js", async (importOriginal) => {
13
- const actual = await importOriginal<typeof import("../bundler/fs.js")>();
14
- return {
15
- ...actual,
16
- nodeFs: {
17
- ...actual.nodeFs,
18
- exists: vi.fn(),
19
- readUtf8File: vi.fn(),
20
- },
21
- };
22
- });
23
-
24
- vi.mock("./lib/utils/utils.js", async (importOriginal) => {
25
- const actual = await importOriginal<typeof import("./lib/utils/utils.js")>();
26
- return { ...actual, bigBrainAPI: vi.fn() };
27
- });
28
-
29
- vi.mock("./lib/utils/globalConfig.js", async (importOriginal) => {
30
- const actual =
31
- await importOriginal<typeof import("./lib/utils/globalConfig.js")>();
32
- return { ...actual, readGlobalConfig: vi.fn() };
33
- });
34
-
35
- // `initializeBigBrainAuth` loads `.env.local` and `.env` into `process.env`.
36
- // Tests set those variables directly, and `dotenv.parse` stays real for the
37
- // file-attribution lookup.
38
- vi.mock("dotenv", async (importOriginal) => {
39
- const actual = await importOriginal<typeof import("dotenv")>();
40
- return { ...actual, config: vi.fn() };
41
- });
42
-
43
- const ACCOUNT_TOKEN = "account-token";
44
- const TEAMS = [{ id: 1, name: "Team One", slug: "team-one" }];
45
- const DEPLOYMENT_KEY = "dev:tall-goat-123|deployment-secret";
46
- const PROJECT_KEY = "project:my-team:my-project|project-secret";
47
-
48
- /** Authorization headers Big Brain accepts. Anything else gets a 401. */
49
- let authorized: Set<string>;
50
- let mockFetch: ReturnType<typeof vi.fn>;
51
-
52
- async function runStatus() {
53
- await login.parseAsync(["status"], { from: "user" });
54
- }
55
-
56
- function output(): string {
57
- return vi
58
- .mocked(process.stderr.write)
59
- .mock.calls.map((call) => String(call[0]))
60
- .join("");
61
- }
62
-
63
- /** The credentials `/api/authorize` was called with, in order. */
64
- function authorizeHeaders(): string[] {
65
- return mockFetch.mock.calls.map(
66
- (call) => (call[1] as any).headers.Authorization,
67
- );
68
- }
69
-
70
- function setEnvFile(path: string, contents: string) {
71
- vi.mocked(nodeFs.exists).mockImplementation((p) => p === path);
72
- vi.mocked(nodeFs.readUtf8File).mockImplementation((p) => {
73
- if (p !== path) {
74
- throw new Error(`Unexpected read of ${p}`);
75
- }
76
- return contents;
77
- });
78
- }
79
-
80
- describe("npx convex login status", () => {
81
- let savedEnv: NodeJS.ProcessEnv;
82
-
83
- beforeEach(() => {
84
- savedEnv = { ...process.env };
85
- process.env = {};
86
-
87
- vi.resetAllMocks();
88
- authorized = new Set([`Bearer ${ACCOUNT_TOKEN}`]);
89
- mockFetch = vi.fn(async (url: string, options: any) => {
90
- if (!String(url).endsWith("/api/authorize")) {
91
- throw new Error(`Unexpected fetch of ${url}`);
92
- }
93
- return {
94
- status: authorized.has(options.headers.Authorization) ? 200 : 401,
95
- };
96
- });
97
- vi.stubGlobal("fetch", mockFetch);
98
-
99
- vi.mocked(readGlobalConfig).mockReturnValue({ accessToken: ACCOUNT_TOKEN });
100
- vi.mocked(bigBrainAPI).mockResolvedValue(TEAMS);
101
- vi.mocked(nodeFs.exists).mockReturnValue(false);
102
-
103
- vi.spyOn(process.stderr, "write").mockImplementation(() => true);
104
- vi.spyOn(process, "exit").mockImplementation((() => {
105
- throw new Error("process.exit called");
106
- }) as any);
107
- });
108
-
109
- afterEach(() => {
110
- process.env = savedEnv;
111
- vi.unstubAllGlobals();
112
- vi.restoreAllMocks();
113
- });
114
-
115
- describe("account status", () => {
116
- test("reports the account and its teams", async () => {
117
- await runStatus();
118
-
119
- expect(output()).toContain("Convex account token found in:");
120
- expect(output()).toContain("config.json");
121
- expect(output()).toContain("Status: Logged in");
122
- expect(output()).toContain("Teams: 1 team accessible");
123
- expect(output()).toContain("- Team One (team-one)");
124
- expect(output()).not.toContain("Working Directory:");
125
- });
126
-
127
- test("reports no token when the global config is missing", async () => {
128
- vi.mocked(readGlobalConfig).mockReturnValue(null);
129
-
130
- await runStatus();
131
-
132
- expect(output()).toContain("No Convex account token found in:");
133
- expect(output()).toContain("Status: Not logged in");
134
- expect(bigBrainAPI).not.toHaveBeenCalled();
135
- });
136
-
137
- test("reports not logged in when Big Brain rejects the account token", async () => {
138
- authorized.clear();
139
-
140
- await runStatus();
141
-
142
- expect(output()).toContain("Convex account token found in:");
143
- expect(output()).toContain("Status: Not logged in");
144
- expect(bigBrainAPI).not.toHaveBeenCalled();
145
- });
146
- });
147
-
148
- describe("deploy key in the working directory", () => {
149
- test("reports a valid deployment key, checked without its prefix", async () => {
150
- process.env.CONVEX_DEPLOY_KEY = DEPLOYMENT_KEY;
151
- setEnvFile(".env.local", `CONVEX_DEPLOY_KEY=${DEPLOYMENT_KEY}\n`);
152
- // Big Brain only accepts a deployment key with the `dev:` prefix removed.
153
- authorized.add("Bearer deployment-secret");
154
-
155
- await runStatus();
156
-
157
- expect(output()).toContain(
158
- "Working Directory: Valid CONVEX_DEPLOY_KEY in .env.local",
159
- );
160
- expect(authorizeHeaders()).toContain("Bearer deployment-secret");
161
- expect(authorizeHeaders()).not.toContain(`Bearer ${DEPLOYMENT_KEY}`);
162
- });
163
-
164
- test("reports a deployment key Big Brain rejects", async () => {
165
- process.env.CONVEX_DEPLOY_KEY = DEPLOYMENT_KEY;
166
- setEnvFile(".env.local", `CONVEX_DEPLOY_KEY=${DEPLOYMENT_KEY}\n`);
167
-
168
- await runStatus();
169
-
170
- expect(output()).toContain(
171
- "Working Directory: Invalid CONVEX_DEPLOY_KEY in .env.local",
172
- );
173
- });
174
-
175
- test("attributes a key that isn't in an env file to the shell", async () => {
176
- process.env.CONVEX_DEPLOY_KEY = DEPLOYMENT_KEY;
177
-
178
- await runStatus();
179
-
180
- expect(output()).toContain(
181
- "Working Directory: Invalid CONVEX_DEPLOY_KEY in shell environment",
182
- );
183
- });
184
-
185
- test("attributes a key found in .env", async () => {
186
- process.env.CONVEX_DEPLOY_KEY = DEPLOYMENT_KEY;
187
- setEnvFile(".env", `CONVEX_DEPLOY_KEY=${DEPLOYMENT_KEY}\n`);
188
-
189
- await runStatus();
190
-
191
- expect(output()).toContain(
192
- "Working Directory: Invalid CONVEX_DEPLOY_KEY in .env",
193
- );
194
- });
195
-
196
- test("names CONVEX_DEPLOYMENT_TOKEN when that's the variable set", async () => {
197
- process.env.CONVEX_DEPLOYMENT_TOKEN = DEPLOYMENT_KEY;
198
- setEnvFile(".env.local", `CONVEX_DEPLOYMENT_TOKEN=${DEPLOYMENT_KEY}\n`);
199
- authorized.add("Bearer deployment-secret");
200
-
201
- await runStatus();
202
-
203
- expect(output()).toContain(
204
- "Working Directory: Valid CONVEX_DEPLOYMENT_TOKEN in .env.local",
205
- );
206
- });
207
-
208
- test("reports a project key", async () => {
209
- process.env.CONVEX_DEPLOY_KEY = PROJECT_KEY;
210
- setEnvFile(".env.local", `CONVEX_DEPLOY_KEY=${PROJECT_KEY}\n`);
211
- authorized.add("Bearer project-secret");
212
-
213
- await runStatus();
214
-
215
- expect(output()).toContain(
216
- "Working Directory: Valid CONVEX_DEPLOY_KEY in .env.local",
217
- );
218
- expect(authorizeHeaders()).toContain("Bearer project-secret");
219
- });
220
-
221
- test("stays quiet about a preview key, which never outranks the account", async () => {
222
- vi.mocked(readGlobalConfig).mockReturnValue(null);
223
- process.env.CONVEX_DEPLOY_KEY =
224
- "preview:my-team:my-project|preview-secret";
225
-
226
- await runStatus();
227
-
228
- expect(output()).toContain("Status: Not logged in");
229
- expect(output()).not.toContain("Working Directory:");
230
- });
231
- });
232
-
233
- describe("account and deploy key together", () => {
234
- test("reports both, listing teams for the account", async () => {
235
- process.env.CONVEX_DEPLOY_KEY = DEPLOYMENT_KEY;
236
- setEnvFile(".env.local", `CONVEX_DEPLOY_KEY=${DEPLOYMENT_KEY}\n`);
237
-
238
- await runStatus();
239
-
240
- expect(output()).toContain("Status: Logged in");
241
- expect(output()).toContain("Teams: 1 team accessible");
242
- expect(output()).toContain(
243
- "Working Directory: Invalid CONVEX_DEPLOY_KEY in .env.local",
244
- );
245
- });
246
-
247
- test("reports the key while logged out", async () => {
248
- vi.mocked(readGlobalConfig).mockReturnValue(null);
249
- process.env.CONVEX_DEPLOY_KEY = DEPLOYMENT_KEY;
250
- setEnvFile(".env.local", `CONVEX_DEPLOY_KEY=${DEPLOYMENT_KEY}\n`);
251
-
252
- await runStatus();
253
-
254
- expect(output()).toContain("No Convex account token found in:");
255
- expect(output()).toContain("Status: Not logged in");
256
- expect(output()).toContain(
257
- "Working Directory: Invalid CONVEX_DEPLOY_KEY in .env.local",
258
- );
259
- });
260
- });
261
- });
@@ -1,2 +0,0 @@
1
- Code in this common/ folder is not publicly exposed, there is no 'convex/common'
2
- export. Code here is used from other entry points.
@@ -1,35 +0,0 @@
1
- import { test, describe, expect } from "vitest";
2
- import { validateDeploymentUrl } from "./index.js";
3
-
4
- describe("validateDeploymentUrl", () => {
5
- test("localhost is valid", () => {
6
- validateDeploymentUrl("http://127.0.0.1:8000");
7
- validateDeploymentUrl("http://localhost:8000");
8
- validateDeploymentUrl("http://0.0.0.0:8000");
9
- });
10
- test("real URLs are valid", () => {
11
- validateDeploymentUrl("https://small-mouse-123.convex.cloud");
12
- });
13
-
14
- test("vanity domain works", () => {
15
- validateDeploymentUrl("https://tshirts.com");
16
- });
17
-
18
- test("wrong protocol throws", () => {
19
- expect(() =>
20
- validateDeploymentUrl("ws://small-mouse-123.convex.cloud"),
21
- ).toThrow("Invalid deployment address");
22
- });
23
-
24
- test("invalid url throws", () => {
25
- expect(() => validateDeploymentUrl("https://:small-mouse-123:")).toThrow(
26
- "Invalid deployment address",
27
- );
28
- });
29
-
30
- test(".convex.site domain throws", () => {
31
- expect(() =>
32
- validateDeploymentUrl("https://small-mouse-123.convex.site"),
33
- ).toThrow("Invalid deployment address");
34
- });
35
- });
@@ -1,94 +0,0 @@
1
- /**
2
- * @vitest-environment custom-vitest-environment.ts
3
- */
4
- import { vi, expect, test, describe, beforeEach, afterEach } from "vitest";
5
-
6
- import { renderHook } from "@testing-library/react";
7
- import React from "react";
8
- import { ConvexProvider, ConvexReactClient } from "../react/client.js";
9
- import { usePreloadedQuery } from "../react/hydration.js";
10
- import { anyApi } from "../server/api.js";
11
- import { convexToJson } from "../values/value.js";
12
- import { preloadQuery, preloadedQueryResult } from "./index.js";
13
-
14
- const address = "https://127.0.0.1:3001";
15
-
16
- describe("env setup", () => {
17
- test("requires NEXT_PUBLIC_CONVEX_URL", async () => {
18
- await expect(preloadQuery(anyApi.myQuery.default)).rejects.toThrow(
19
- "Environment variable NEXT_PUBLIC_CONVEX_URL is not set.",
20
- );
21
- });
22
- });
23
-
24
- describe("preloadQuery and usePreloadedQuery", () => {
25
- beforeEach(() => {
26
- global.process.env.NEXT_PUBLIC_CONVEX_URL = address;
27
- global.fetch = vi.fn().mockResolvedValue({
28
- ok: true,
29
- json: () =>
30
- Promise.resolve({ status: "success", value: convexToJson({ x: 42 }) }),
31
- } as never) as any;
32
- });
33
-
34
- afterEach(() => {
35
- delete global.process.env.NEXT_PUBLIC_CONVEX_URL;
36
- });
37
-
38
- test("returns server result before client loads data", async () => {
39
- const preloaded = await preloadQuery(anyApi.myQuery.default, {
40
- arg: "something",
41
- });
42
- const serverResult = preloadedQueryResult(preloaded);
43
-
44
- expect(fetch).toHaveBeenCalledWith(
45
- expect.anything(),
46
- expect.objectContaining({
47
- cache: "no-store",
48
- }),
49
- );
50
-
51
- expect(serverResult).toStrictEqual({ x: 42 });
52
-
53
- const client = new ConvexReactClient(address);
54
- const wrapper = ({ children }: any) => (
55
- <ConvexProvider client={client}>{children}</ConvexProvider>
56
- );
57
- const { result: hydrationResult } = renderHook(
58
- () => usePreloadedQuery(preloaded),
59
- { wrapper },
60
- );
61
- expect(hydrationResult.current).toStrictEqual({ x: 42 });
62
- });
63
-
64
- test("returns client result after client loads data", async () => {
65
- const preloaded = await preloadQuery(anyApi.myQuery.default, {
66
- arg: "something",
67
- });
68
- const client = new ConvexReactClient(address);
69
- // Use an optimistic update to set up a query to have a result.
70
- void client.mutation(
71
- anyApi.myMutation.default,
72
- {},
73
- {
74
- optimisticUpdate: (localStore) => {
75
- localStore.setQuery(
76
- anyApi.myQuery.default,
77
- { arg: "something" },
78
- // Simplest value to return, and make sure we're correctly
79
- // handling it.
80
- null,
81
- );
82
- },
83
- },
84
- );
85
- const wrapper = ({ children }: any) => (
86
- <ConvexProvider client={client}>{children}</ConvexProvider>
87
- );
88
- const { result: clientResult } = renderHook(
89
- () => usePreloadedQuery(preloaded),
90
- { wrapper },
91
- );
92
- expect(clientResult.current).toStrictEqual(null);
93
- });
94
- });