convex 1.44.0 → 1.45.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 (594) hide show
  1. package/CHANGELOG.md +13 -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/indexes.js +1 -1
  15. package/dist/cjs/cli/lib/indexes.js.map +1 -1
  16. package/dist/cjs/cli/lib/localDeployment/upgrade.js +23 -188
  17. package/dist/cjs/cli/lib/localDeployment/upgrade.js.map +3 -3
  18. package/dist/cjs/cli/lib/mcp/tools/index.js.map +1 -1
  19. package/dist/cjs/cli/mcp.js +76 -69
  20. package/dist/cjs/cli/mcp.js.map +2 -2
  21. package/dist/cjs/index.js +1 -1
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/server/impl/actions_impl.js.map +2 -2
  24. package/dist/cjs/server/index.js.map +2 -2
  25. package/dist/cjs-types/cli/lib/api.d.ts.map +1 -1
  26. package/dist/cjs-types/cli/lib/convexExport.d.ts +1 -0
  27. package/dist/cjs-types/cli/lib/convexExport.d.ts.map +1 -1
  28. package/dist/cjs-types/cli/lib/dashboard.d.ts.map +1 -1
  29. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  30. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  31. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts +2 -0
  32. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  33. package/dist/cjs-types/cli/lib/mcp/tools/index.d.ts +1 -1
  34. package/dist/cjs-types/cli/lib/mcp/tools/index.d.ts.map +1 -1
  35. package/dist/cjs-types/cli/mcp.d.ts +3 -0
  36. package/dist/cjs-types/cli/mcp.d.ts.map +1 -1
  37. package/dist/cjs-types/index.d.ts +1 -1
  38. package/dist/cjs-types/server/impl/actions_impl.d.ts +14 -0
  39. package/dist/cjs-types/server/impl/actions_impl.d.ts.map +1 -1
  40. package/dist/cjs-types/server/index.d.ts +1 -0
  41. package/dist/cjs-types/server/index.d.ts.map +1 -1
  42. package/dist/cli.bundle.cjs +31210 -25495
  43. package/dist/cli.bundle.cjs.map +4 -4
  44. package/dist/esm/cli/convexExport.js +1 -1
  45. package/dist/esm/cli/convexExport.js.map +1 -1
  46. package/dist/esm/cli/index.js +2 -32
  47. package/dist/esm/cli/index.js.map +2 -2
  48. package/dist/esm/cli/lib/api.js +11 -5
  49. package/dist/esm/cli/lib/api.js.map +2 -2
  50. package/dist/esm/cli/lib/convexExport.js +16 -3
  51. package/dist/esm/cli/lib/convexExport.js.map +2 -2
  52. package/dist/esm/cli/lib/dashboard.js.map +2 -2
  53. package/dist/esm/cli/lib/indexes.js +1 -1
  54. package/dist/esm/cli/lib/indexes.js.map +1 -1
  55. package/dist/esm/cli/lib/localDeployment/upgrade.js +22 -190
  56. package/dist/esm/cli/lib/localDeployment/upgrade.js.map +2 -2
  57. package/dist/esm/cli/lib/mcp/tools/index.js.map +1 -1
  58. package/dist/esm/cli/mcp.js +75 -72
  59. package/dist/esm/cli/mcp.js.map +2 -2
  60. package/dist/esm/index.js +1 -1
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/server/impl/actions_impl.js.map +2 -2
  63. package/dist/esm/server/index.js.map +2 -2
  64. package/dist/esm-types/cli/lib/api.d.ts.map +1 -1
  65. package/dist/esm-types/cli/lib/convexExport.d.ts +1 -0
  66. package/dist/esm-types/cli/lib/convexExport.d.ts.map +1 -1
  67. package/dist/esm-types/cli/lib/dashboard.d.ts.map +1 -1
  68. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  69. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  70. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts +2 -0
  71. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  72. package/dist/esm-types/cli/lib/mcp/tools/index.d.ts +1 -1
  73. package/dist/esm-types/cli/lib/mcp/tools/index.d.ts.map +1 -1
  74. package/dist/esm-types/cli/mcp.d.ts +3 -0
  75. package/dist/esm-types/cli/mcp.d.ts.map +1 -1
  76. package/dist/esm-types/index.d.ts +1 -1
  77. package/dist/esm-types/server/impl/actions_impl.d.ts +14 -0
  78. package/dist/esm-types/server/impl/actions_impl.d.ts.map +1 -1
  79. package/dist/esm-types/server/index.d.ts +1 -0
  80. package/dist/esm-types/server/index.d.ts.map +1 -1
  81. package/dist/react.bundle.js +1 -1
  82. package/dist/react.bundle.js.map +1 -1
  83. package/package.json +3 -3
  84. package/src/cli/convexExport.ts +1 -1
  85. package/src/cli/index.ts +2 -35
  86. package/src/cli/lib/api.ts +11 -5
  87. package/src/cli/lib/convexExport.ts +21 -0
  88. package/src/cli/lib/dashboard.ts +2 -0
  89. package/src/cli/lib/generatedFunctionLogsApi.ts +2 -0
  90. package/src/cli/lib/indexes.ts +1 -1
  91. package/src/cli/lib/localDeployment/upgrade.ts +34 -207
  92. package/src/cli/lib/mcp/tools/index.ts +1 -1
  93. package/src/cli/mcp.ts +91 -77
  94. package/src/index.ts +1 -1
  95. package/src/server/impl/actions_impl.ts +3 -1
  96. package/src/server/index.ts +0 -3
  97. package/dist/cjs-types/browser/http_client.test.d.ts +0 -2
  98. package/dist/cjs-types/browser/http_client.test.d.ts.map +0 -1
  99. package/dist/cjs-types/browser/query_options.test.d.ts +0 -2
  100. package/dist/cjs-types/browser/query_options.test.d.ts.map +0 -1
  101. package/dist/cjs-types/browser/simple_client.test.d.ts +0 -2
  102. package/dist/cjs-types/browser/simple_client.test.d.ts.map +0 -1
  103. package/dist/cjs-types/browser/sync/client.test.d.ts +0 -5
  104. package/dist/cjs-types/browser/sync/client.test.d.ts.map +0 -1
  105. package/dist/cjs-types/browser/sync/client_node.test.d.ts +0 -2
  106. package/dist/cjs-types/browser/sync/client_node.test.d.ts.map +0 -1
  107. package/dist/cjs-types/browser/sync/client_node_test_helpers.d.ts +0 -44
  108. package/dist/cjs-types/browser/sync/client_node_test_helpers.d.ts.map +0 -1
  109. package/dist/cjs-types/browser/sync/local_state.test.d.ts +0 -2
  110. package/dist/cjs-types/browser/sync/local_state.test.d.ts.map +0 -1
  111. package/dist/cjs-types/browser/sync/optimistic_query_set.test.d.ts +0 -2
  112. package/dist/cjs-types/browser/sync/optimistic_query_set.test.d.ts.map +0 -1
  113. package/dist/cjs-types/browser/sync/paginated_query_client.test.d.ts +0 -2
  114. package/dist/cjs-types/browser/sync/paginated_query_client.test.d.ts.map +0 -1
  115. package/dist/cjs-types/browser/sync/protocol.test.d.ts +0 -5
  116. package/dist/cjs-types/browser/sync/protocol.test.d.ts.map +0 -1
  117. package/dist/cjs-types/browser/sync/request_manager.test.d.ts +0 -2
  118. package/dist/cjs-types/browser/sync/request_manager.test.d.ts.map +0 -1
  119. package/dist/cjs-types/bundler/fs.test.d.ts +0 -2
  120. package/dist/cjs-types/bundler/fs.test.d.ts.map +0 -1
  121. package/dist/cjs-types/bundler/index.test.d.ts +0 -2
  122. package/dist/cjs-types/bundler/index.test.d.ts.map +0 -1
  123. package/dist/cjs-types/cli/codegen_templates/api.test.d.ts +0 -2
  124. package/dist/cjs-types/cli/codegen_templates/api.test.d.ts.map +0 -1
  125. package/dist/cjs-types/cli/codegen_templates/common.test.d.ts +0 -2
  126. package/dist/cjs-types/cli/codegen_templates/common.test.d.ts.map +0 -1
  127. package/dist/cjs-types/cli/codegen_templates/templates.test.d.ts +0 -2
  128. package/dist/cjs-types/cli/codegen_templates/templates.test.d.ts.map +0 -1
  129. package/dist/cjs-types/cli/codegen_templates/validator_helpers.test.d.ts +0 -2
  130. package/dist/cjs-types/cli/codegen_templates/validator_helpers.test.d.ts.map +0 -1
  131. package/dist/cjs-types/cli/configure.test.d.ts +0 -2
  132. package/dist/cjs-types/cli/configure.test.d.ts.map +0 -1
  133. package/dist/cjs-types/cli/deploymentCreate.test.d.ts +0 -2
  134. package/dist/cjs-types/cli/deploymentCreate.test.d.ts.map +0 -1
  135. package/dist/cjs-types/cli/deploymentSelect.test.d.ts +0 -2
  136. package/dist/cjs-types/cli/deploymentSelect.test.d.ts.map +0 -1
  137. package/dist/cjs-types/cli/deploymentSelection.test.d.ts +0 -2
  138. package/dist/cjs-types/cli/deploymentSelection.test.d.ts.map +0 -1
  139. package/dist/cjs-types/cli/deploymentToken.test.d.ts +0 -2
  140. package/dist/cjs-types/cli/deploymentToken.test.d.ts.map +0 -1
  141. package/dist/cjs-types/cli/dev.test.d.ts +0 -2
  142. package/dist/cjs-types/cli/dev.test.d.ts.map +0 -1
  143. package/dist/cjs-types/cli/envDefault.test.d.ts +0 -2
  144. package/dist/cjs-types/cli/envDefault.test.d.ts.map +0 -1
  145. package/dist/cjs-types/cli/lib/aiFiles/agentsmd.test.d.ts +0 -2
  146. package/dist/cjs-types/cli/lib/aiFiles/agentsmd.test.d.ts.map +0 -1
  147. package/dist/cjs-types/cli/lib/aiFiles/claudemd.test.d.ts +0 -2
  148. package/dist/cjs-types/cli/lib/aiFiles/claudemd.test.d.ts.map +0 -1
  149. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.test.d.ts +0 -2
  150. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.test.d.ts.map +0 -1
  151. package/dist/cjs-types/cli/lib/aiFiles/index.test.d.ts +0 -2
  152. package/dist/cjs-types/cli/lib/aiFiles/index.test.d.ts.map +0 -1
  153. package/dist/cjs-types/cli/lib/aiFiles/integration.test.d.ts +0 -2
  154. package/dist/cjs-types/cli/lib/aiFiles/integration.test.d.ts.map +0 -1
  155. package/dist/cjs-types/cli/lib/aiFiles/prompt.test.d.ts +0 -2
  156. package/dist/cjs-types/cli/lib/aiFiles/prompt.test.d.ts.map +0 -1
  157. package/dist/cjs-types/cli/lib/aiFiles/state.test.d.ts +0 -2
  158. package/dist/cjs-types/cli/lib/aiFiles/state.test.d.ts.map +0 -1
  159. package/dist/cjs-types/cli/lib/aiFiles/utils.test.d.ts +0 -2
  160. package/dist/cjs-types/cli/lib/aiFiles/utils.test.d.ts.map +0 -1
  161. package/dist/cjs-types/cli/lib/codegen.test.d.ts +0 -2
  162. package/dist/cjs-types/cli/lib/codegen.test.d.ts.map +0 -1
  163. package/dist/cjs-types/cli/lib/components.test.d.ts +0 -2
  164. package/dist/cjs-types/cli/lib/components.test.d.ts.map +0 -1
  165. package/dist/cjs-types/cli/lib/config.test.d.ts +0 -2
  166. package/dist/cjs-types/cli/lib/config.test.d.ts.map +0 -1
  167. package/dist/cjs-types/cli/lib/deployment.test.d.ts +0 -2
  168. package/dist/cjs-types/cli/lib/deployment.test.d.ts.map +0 -1
  169. package/dist/cjs-types/cli/lib/deploymentSelector.test.d.ts +0 -2
  170. package/dist/cjs-types/cli/lib/deploymentSelector.test.d.ts.map +0 -1
  171. package/dist/cjs-types/cli/lib/env.test.d.ts +0 -2
  172. package/dist/cjs-types/cli/lib/env.test.d.ts.map +0 -1
  173. package/dist/cjs-types/cli/lib/expiration.test.d.ts +0 -2
  174. package/dist/cjs-types/cli/lib/expiration.test.d.ts.map +0 -1
  175. package/dist/cjs-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts +0 -2
  176. package/dist/cjs-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts.map +0 -1
  177. package/dist/cjs-types/cli/lib/formatEnvValueForDotfile.test.d.ts +0 -2
  178. package/dist/cjs-types/cli/lib/formatEnvValueForDotfile.test.d.ts.map +0 -1
  179. package/dist/cjs-types/cli/lib/formatTargetedDeployment.test.d.ts +0 -2
  180. package/dist/cjs-types/cli/lib/formatTargetedDeployment.test.d.ts.map +0 -1
  181. package/dist/cjs-types/cli/lib/fsUtils.test.d.ts +0 -2
  182. package/dist/cjs-types/cli/lib/fsUtils.test.d.ts.map +0 -1
  183. package/dist/cjs-types/cli/lib/generateDocs.test.d.ts +0 -2
  184. package/dist/cjs-types/cli/lib/generateDocs.test.d.ts.map +0 -1
  185. package/dist/cjs-types/cli/lib/indexes.test.d.ts +0 -2
  186. package/dist/cjs-types/cli/lib/indexes.test.d.ts.map +0 -1
  187. package/dist/cjs-types/cli/lib/localDeployment/run.test.d.ts +0 -2
  188. package/dist/cjs-types/cli/lib/localDeployment/run.test.d.ts.map +0 -1
  189. package/dist/cjs-types/cli/lib/localDeployment/secrets.test.d.ts +0 -2
  190. package/dist/cjs-types/cli/lib/localDeployment/secrets.test.d.ts.map +0 -1
  191. package/dist/cjs-types/cli/lib/run.test.d.ts +0 -2
  192. package/dist/cjs-types/cli/lib/run.test.d.ts.map +0 -1
  193. package/dist/cjs-types/cli/lib/runTestFunction.test.d.ts +0 -2
  194. package/dist/cjs-types/cli/lib/runTestFunction.test.d.ts.map +0 -1
  195. package/dist/cjs-types/cli/lib/typecheck.test.d.ts +0 -2
  196. package/dist/cjs-types/cli/lib/typecheck.test.d.ts.map +0 -1
  197. package/dist/cjs-types/cli/lib/updates.test.d.ts +0 -2
  198. package/dist/cjs-types/cli/lib/updates.test.d.ts.map +0 -1
  199. package/dist/cjs-types/cli/lib/utils/hash.test.d.ts +0 -2
  200. package/dist/cjs-types/cli/lib/utils/hash.test.d.ts.map +0 -1
  201. package/dist/cjs-types/cli/lib/utils/utils.test.d.ts +0 -2
  202. package/dist/cjs-types/cli/lib/utils/utils.test.d.ts.map +0 -1
  203. package/dist/cjs-types/cli/lib/versionApi.test.d.ts +0 -2
  204. package/dist/cjs-types/cli/lib/versionApi.test.d.ts.map +0 -1
  205. package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts +0 -2
  206. package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts.map +0 -1
  207. package/dist/cjs-types/cli/lib/workos/workos.test.d.ts +0 -2
  208. package/dist/cjs-types/cli/lib/workos/workos.test.d.ts.map +0 -1
  209. package/dist/cjs-types/cli/login.test.d.ts +0 -2
  210. package/dist/cjs-types/cli/login.test.d.ts.map +0 -1
  211. package/dist/cjs-types/common/index.test.d.ts +0 -2
  212. package/dist/cjs-types/common/index.test.d.ts.map +0 -1
  213. package/dist/cjs-types/nextjs/nextjs.test.d.ts +0 -2
  214. package/dist/cjs-types/nextjs/nextjs.test.d.ts.map +0 -1
  215. package/dist/cjs-types/react/ConvexAuthState.test.d.ts +0 -2
  216. package/dist/cjs-types/react/ConvexAuthState.test.d.ts.map +0 -1
  217. package/dist/cjs-types/react/auth_helpers.test.d.ts +0 -2
  218. package/dist/cjs-types/react/auth_helpers.test.d.ts.map +0 -1
  219. package/dist/cjs-types/react/auth_websocket.test.d.ts +0 -2
  220. package/dist/cjs-types/react/auth_websocket.test.d.ts.map +0 -1
  221. package/dist/cjs-types/react/client.test.d.ts +0 -2
  222. package/dist/cjs-types/react/client.test.d.ts.map +0 -1
  223. package/dist/cjs-types/react/client_provided_base_client.test.d.ts +0 -2
  224. package/dist/cjs-types/react/client_provided_base_client.test.d.ts.map +0 -1
  225. package/dist/cjs-types/react/queries_observer.test.d.ts +0 -2
  226. package/dist/cjs-types/react/queries_observer.test.d.ts.map +0 -1
  227. package/dist/cjs-types/react/react_node.test.d.ts +0 -2
  228. package/dist/cjs-types/react/react_node.test.d.ts.map +0 -1
  229. package/dist/cjs-types/react/use_paginated_query.test.d.ts +0 -2
  230. package/dist/cjs-types/react/use_paginated_query.test.d.ts.map +0 -1
  231. package/dist/cjs-types/react/use_queries.test.d.ts +0 -5
  232. package/dist/cjs-types/react/use_queries.test.d.ts.map +0 -1
  233. package/dist/cjs-types/react/use_query.test.d.ts +0 -5
  234. package/dist/cjs-types/react/use_query.test.d.ts.map +0 -1
  235. package/dist/cjs-types/react/use_query_object_options.test.d.ts +0 -5
  236. package/dist/cjs-types/react/use_query_object_options.test.d.ts.map +0 -1
  237. package/dist/cjs-types/react/use_query_result.test.d.ts +0 -5
  238. package/dist/cjs-types/react/use_query_result.test.d.ts.map +0 -1
  239. package/dist/cjs-types/react-auth0/ConvexProviderWithAuth0.test.d.ts +0 -2
  240. package/dist/cjs-types/react-auth0/ConvexProviderWithAuth0.test.d.ts.map +0 -1
  241. package/dist/cjs-types/react-clerk/ConvexProviderWithClerk.test.d.ts +0 -2
  242. package/dist/cjs-types/react-clerk/ConvexProviderWithClerk.test.d.ts.map +0 -1
  243. package/dist/cjs-types/server/api.intersect.test.d.ts +0 -2
  244. package/dist/cjs-types/server/api.intersect.test.d.ts.map +0 -1
  245. package/dist/cjs-types/server/api.test.d.ts +0 -2
  246. package/dist/cjs-types/server/api.test.d.ts.map +0 -1
  247. package/dist/cjs-types/server/audit_logging.test.d.ts +0 -2
  248. package/dist/cjs-types/server/audit_logging.test.d.ts.map +0 -1
  249. package/dist/cjs-types/server/components/index.test.d.ts +0 -2
  250. package/dist/cjs-types/server/components/index.test.d.ts.map +0 -1
  251. package/dist/cjs-types/server/cron.test.d.ts +0 -2
  252. package/dist/cjs-types/server/cron.test.d.ts.map +0 -1
  253. package/dist/cjs-types/server/data_model.test.d.ts +0 -2
  254. package/dist/cjs-types/server/data_model.test.d.ts.map +0 -1
  255. package/dist/cjs-types/server/database.test.d.ts +0 -2
  256. package/dist/cjs-types/server/database.test.d.ts.map +0 -1
  257. package/dist/cjs-types/server/database_api.test.d.ts +0 -2
  258. package/dist/cjs-types/server/database_api.test.d.ts.map +0 -1
  259. package/dist/cjs-types/server/filter_builder.test.d.ts +0 -2
  260. package/dist/cjs-types/server/filter_builder.test.d.ts.map +0 -1
  261. package/dist/cjs-types/server/impl/actions_impl.test.d.ts +0 -2
  262. package/dist/cjs-types/server/impl/actions_impl.test.d.ts.map +0 -1
  263. package/dist/cjs-types/server/impl/filter_builder_impl.test.d.ts +0 -2
  264. package/dist/cjs-types/server/impl/filter_builder_impl.test.d.ts.map +0 -1
  265. package/dist/cjs-types/server/impl/query_impl.test.d.ts +0 -2
  266. package/dist/cjs-types/server/impl/query_impl.test.d.ts.map +0 -1
  267. package/dist/cjs-types/server/pagination.test.d.ts +0 -2
  268. package/dist/cjs-types/server/pagination.test.d.ts.map +0 -1
  269. package/dist/cjs-types/server/query.test.d.ts +0 -2
  270. package/dist/cjs-types/server/query.test.d.ts.map +0 -1
  271. package/dist/cjs-types/server/registration.test.d.ts +0 -2
  272. package/dist/cjs-types/server/registration.test.d.ts.map +0 -1
  273. package/dist/cjs-types/server/router.test.d.ts +0 -2
  274. package/dist/cjs-types/server/router.test.d.ts.map +0 -1
  275. package/dist/cjs-types/server/scheduler.test.d.ts +0 -2
  276. package/dist/cjs-types/server/scheduler.test.d.ts.map +0 -1
  277. package/dist/cjs-types/server/schema.test.d.ts +0 -2
  278. package/dist/cjs-types/server/schema.test.d.ts.map +0 -1
  279. package/dist/cjs-types/test/fake_watch.d.ts +0 -16
  280. package/dist/cjs-types/test/fake_watch.d.ts.map +0 -1
  281. package/dist/cjs-types/test/type_testing.d.ts +0 -9
  282. package/dist/cjs-types/test/type_testing.d.ts.map +0 -1
  283. package/dist/cjs-types/type_utils.test.d.ts +0 -2
  284. package/dist/cjs-types/type_utils.test.d.ts.map +0 -1
  285. package/dist/cjs-types/values/size.test.d.ts +0 -2
  286. package/dist/cjs-types/values/size.test.d.ts.map +0 -1
  287. package/dist/cjs-types/values/validator.test.d.ts +0 -2
  288. package/dist/cjs-types/values/validator.test.d.ts.map +0 -1
  289. package/dist/cjs-types/values/value.test.d.ts +0 -2
  290. package/dist/cjs-types/values/value.test.d.ts.map +0 -1
  291. package/dist/esm-types/browser/http_client.test.d.ts +0 -2
  292. package/dist/esm-types/browser/http_client.test.d.ts.map +0 -1
  293. package/dist/esm-types/browser/query_options.test.d.ts +0 -2
  294. package/dist/esm-types/browser/query_options.test.d.ts.map +0 -1
  295. package/dist/esm-types/browser/simple_client.test.d.ts +0 -2
  296. package/dist/esm-types/browser/simple_client.test.d.ts.map +0 -1
  297. package/dist/esm-types/browser/sync/client.test.d.ts +0 -5
  298. package/dist/esm-types/browser/sync/client.test.d.ts.map +0 -1
  299. package/dist/esm-types/browser/sync/client_node.test.d.ts +0 -2
  300. package/dist/esm-types/browser/sync/client_node.test.d.ts.map +0 -1
  301. package/dist/esm-types/browser/sync/client_node_test_helpers.d.ts +0 -44
  302. package/dist/esm-types/browser/sync/client_node_test_helpers.d.ts.map +0 -1
  303. package/dist/esm-types/browser/sync/local_state.test.d.ts +0 -2
  304. package/dist/esm-types/browser/sync/local_state.test.d.ts.map +0 -1
  305. package/dist/esm-types/browser/sync/optimistic_query_set.test.d.ts +0 -2
  306. package/dist/esm-types/browser/sync/optimistic_query_set.test.d.ts.map +0 -1
  307. package/dist/esm-types/browser/sync/paginated_query_client.test.d.ts +0 -2
  308. package/dist/esm-types/browser/sync/paginated_query_client.test.d.ts.map +0 -1
  309. package/dist/esm-types/browser/sync/protocol.test.d.ts +0 -5
  310. package/dist/esm-types/browser/sync/protocol.test.d.ts.map +0 -1
  311. package/dist/esm-types/browser/sync/request_manager.test.d.ts +0 -2
  312. package/dist/esm-types/browser/sync/request_manager.test.d.ts.map +0 -1
  313. package/dist/esm-types/bundler/fs.test.d.ts +0 -2
  314. package/dist/esm-types/bundler/fs.test.d.ts.map +0 -1
  315. package/dist/esm-types/bundler/index.test.d.ts +0 -2
  316. package/dist/esm-types/bundler/index.test.d.ts.map +0 -1
  317. package/dist/esm-types/cli/codegen_templates/api.test.d.ts +0 -2
  318. package/dist/esm-types/cli/codegen_templates/api.test.d.ts.map +0 -1
  319. package/dist/esm-types/cli/codegen_templates/common.test.d.ts +0 -2
  320. package/dist/esm-types/cli/codegen_templates/common.test.d.ts.map +0 -1
  321. package/dist/esm-types/cli/codegen_templates/templates.test.d.ts +0 -2
  322. package/dist/esm-types/cli/codegen_templates/templates.test.d.ts.map +0 -1
  323. package/dist/esm-types/cli/codegen_templates/validator_helpers.test.d.ts +0 -2
  324. package/dist/esm-types/cli/codegen_templates/validator_helpers.test.d.ts.map +0 -1
  325. package/dist/esm-types/cli/configure.test.d.ts +0 -2
  326. package/dist/esm-types/cli/configure.test.d.ts.map +0 -1
  327. package/dist/esm-types/cli/deploymentCreate.test.d.ts +0 -2
  328. package/dist/esm-types/cli/deploymentCreate.test.d.ts.map +0 -1
  329. package/dist/esm-types/cli/deploymentSelect.test.d.ts +0 -2
  330. package/dist/esm-types/cli/deploymentSelect.test.d.ts.map +0 -1
  331. package/dist/esm-types/cli/deploymentSelection.test.d.ts +0 -2
  332. package/dist/esm-types/cli/deploymentSelection.test.d.ts.map +0 -1
  333. package/dist/esm-types/cli/deploymentToken.test.d.ts +0 -2
  334. package/dist/esm-types/cli/deploymentToken.test.d.ts.map +0 -1
  335. package/dist/esm-types/cli/dev.test.d.ts +0 -2
  336. package/dist/esm-types/cli/dev.test.d.ts.map +0 -1
  337. package/dist/esm-types/cli/envDefault.test.d.ts +0 -2
  338. package/dist/esm-types/cli/envDefault.test.d.ts.map +0 -1
  339. package/dist/esm-types/cli/lib/aiFiles/agentsmd.test.d.ts +0 -2
  340. package/dist/esm-types/cli/lib/aiFiles/agentsmd.test.d.ts.map +0 -1
  341. package/dist/esm-types/cli/lib/aiFiles/claudemd.test.d.ts +0 -2
  342. package/dist/esm-types/cli/lib/aiFiles/claudemd.test.d.ts.map +0 -1
  343. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.test.d.ts +0 -2
  344. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.test.d.ts.map +0 -1
  345. package/dist/esm-types/cli/lib/aiFiles/index.test.d.ts +0 -2
  346. package/dist/esm-types/cli/lib/aiFiles/index.test.d.ts.map +0 -1
  347. package/dist/esm-types/cli/lib/aiFiles/integration.test.d.ts +0 -2
  348. package/dist/esm-types/cli/lib/aiFiles/integration.test.d.ts.map +0 -1
  349. package/dist/esm-types/cli/lib/aiFiles/prompt.test.d.ts +0 -2
  350. package/dist/esm-types/cli/lib/aiFiles/prompt.test.d.ts.map +0 -1
  351. package/dist/esm-types/cli/lib/aiFiles/state.test.d.ts +0 -2
  352. package/dist/esm-types/cli/lib/aiFiles/state.test.d.ts.map +0 -1
  353. package/dist/esm-types/cli/lib/aiFiles/utils.test.d.ts +0 -2
  354. package/dist/esm-types/cli/lib/aiFiles/utils.test.d.ts.map +0 -1
  355. package/dist/esm-types/cli/lib/codegen.test.d.ts +0 -2
  356. package/dist/esm-types/cli/lib/codegen.test.d.ts.map +0 -1
  357. package/dist/esm-types/cli/lib/components.test.d.ts +0 -2
  358. package/dist/esm-types/cli/lib/components.test.d.ts.map +0 -1
  359. package/dist/esm-types/cli/lib/config.test.d.ts +0 -2
  360. package/dist/esm-types/cli/lib/config.test.d.ts.map +0 -1
  361. package/dist/esm-types/cli/lib/deployment.test.d.ts +0 -2
  362. package/dist/esm-types/cli/lib/deployment.test.d.ts.map +0 -1
  363. package/dist/esm-types/cli/lib/deploymentSelector.test.d.ts +0 -2
  364. package/dist/esm-types/cli/lib/deploymentSelector.test.d.ts.map +0 -1
  365. package/dist/esm-types/cli/lib/env.test.d.ts +0 -2
  366. package/dist/esm-types/cli/lib/env.test.d.ts.map +0 -1
  367. package/dist/esm-types/cli/lib/expiration.test.d.ts +0 -2
  368. package/dist/esm-types/cli/lib/expiration.test.d.ts.map +0 -1
  369. package/dist/esm-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts +0 -2
  370. package/dist/esm-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts.map +0 -1
  371. package/dist/esm-types/cli/lib/formatEnvValueForDotfile.test.d.ts +0 -2
  372. package/dist/esm-types/cli/lib/formatEnvValueForDotfile.test.d.ts.map +0 -1
  373. package/dist/esm-types/cli/lib/formatTargetedDeployment.test.d.ts +0 -2
  374. package/dist/esm-types/cli/lib/formatTargetedDeployment.test.d.ts.map +0 -1
  375. package/dist/esm-types/cli/lib/fsUtils.test.d.ts +0 -2
  376. package/dist/esm-types/cli/lib/fsUtils.test.d.ts.map +0 -1
  377. package/dist/esm-types/cli/lib/generateDocs.test.d.ts +0 -2
  378. package/dist/esm-types/cli/lib/generateDocs.test.d.ts.map +0 -1
  379. package/dist/esm-types/cli/lib/indexes.test.d.ts +0 -2
  380. package/dist/esm-types/cli/lib/indexes.test.d.ts.map +0 -1
  381. package/dist/esm-types/cli/lib/localDeployment/run.test.d.ts +0 -2
  382. package/dist/esm-types/cli/lib/localDeployment/run.test.d.ts.map +0 -1
  383. package/dist/esm-types/cli/lib/localDeployment/secrets.test.d.ts +0 -2
  384. package/dist/esm-types/cli/lib/localDeployment/secrets.test.d.ts.map +0 -1
  385. package/dist/esm-types/cli/lib/run.test.d.ts +0 -2
  386. package/dist/esm-types/cli/lib/run.test.d.ts.map +0 -1
  387. package/dist/esm-types/cli/lib/runTestFunction.test.d.ts +0 -2
  388. package/dist/esm-types/cli/lib/runTestFunction.test.d.ts.map +0 -1
  389. package/dist/esm-types/cli/lib/typecheck.test.d.ts +0 -2
  390. package/dist/esm-types/cli/lib/typecheck.test.d.ts.map +0 -1
  391. package/dist/esm-types/cli/lib/updates.test.d.ts +0 -2
  392. package/dist/esm-types/cli/lib/updates.test.d.ts.map +0 -1
  393. package/dist/esm-types/cli/lib/utils/hash.test.d.ts +0 -2
  394. package/dist/esm-types/cli/lib/utils/hash.test.d.ts.map +0 -1
  395. package/dist/esm-types/cli/lib/utils/utils.test.d.ts +0 -2
  396. package/dist/esm-types/cli/lib/utils/utils.test.d.ts.map +0 -1
  397. package/dist/esm-types/cli/lib/versionApi.test.d.ts +0 -2
  398. package/dist/esm-types/cli/lib/versionApi.test.d.ts.map +0 -1
  399. package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts +0 -2
  400. package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts.map +0 -1
  401. package/dist/esm-types/cli/lib/workos/workos.test.d.ts +0 -2
  402. package/dist/esm-types/cli/lib/workos/workos.test.d.ts.map +0 -1
  403. package/dist/esm-types/cli/login.test.d.ts +0 -2
  404. package/dist/esm-types/cli/login.test.d.ts.map +0 -1
  405. package/dist/esm-types/common/index.test.d.ts +0 -2
  406. package/dist/esm-types/common/index.test.d.ts.map +0 -1
  407. package/dist/esm-types/nextjs/nextjs.test.d.ts +0 -2
  408. package/dist/esm-types/nextjs/nextjs.test.d.ts.map +0 -1
  409. package/dist/esm-types/react/ConvexAuthState.test.d.ts +0 -2
  410. package/dist/esm-types/react/ConvexAuthState.test.d.ts.map +0 -1
  411. package/dist/esm-types/react/auth_helpers.test.d.ts +0 -2
  412. package/dist/esm-types/react/auth_helpers.test.d.ts.map +0 -1
  413. package/dist/esm-types/react/auth_websocket.test.d.ts +0 -2
  414. package/dist/esm-types/react/auth_websocket.test.d.ts.map +0 -1
  415. package/dist/esm-types/react/client.test.d.ts +0 -2
  416. package/dist/esm-types/react/client.test.d.ts.map +0 -1
  417. package/dist/esm-types/react/client_provided_base_client.test.d.ts +0 -2
  418. package/dist/esm-types/react/client_provided_base_client.test.d.ts.map +0 -1
  419. package/dist/esm-types/react/queries_observer.test.d.ts +0 -2
  420. package/dist/esm-types/react/queries_observer.test.d.ts.map +0 -1
  421. package/dist/esm-types/react/react_node.test.d.ts +0 -2
  422. package/dist/esm-types/react/react_node.test.d.ts.map +0 -1
  423. package/dist/esm-types/react/use_paginated_query.test.d.ts +0 -2
  424. package/dist/esm-types/react/use_paginated_query.test.d.ts.map +0 -1
  425. package/dist/esm-types/react/use_queries.test.d.ts +0 -5
  426. package/dist/esm-types/react/use_queries.test.d.ts.map +0 -1
  427. package/dist/esm-types/react/use_query.test.d.ts +0 -5
  428. package/dist/esm-types/react/use_query.test.d.ts.map +0 -1
  429. package/dist/esm-types/react/use_query_object_options.test.d.ts +0 -5
  430. package/dist/esm-types/react/use_query_object_options.test.d.ts.map +0 -1
  431. package/dist/esm-types/react/use_query_result.test.d.ts +0 -5
  432. package/dist/esm-types/react/use_query_result.test.d.ts.map +0 -1
  433. package/dist/esm-types/react-auth0/ConvexProviderWithAuth0.test.d.ts +0 -2
  434. package/dist/esm-types/react-auth0/ConvexProviderWithAuth0.test.d.ts.map +0 -1
  435. package/dist/esm-types/react-clerk/ConvexProviderWithClerk.test.d.ts +0 -2
  436. package/dist/esm-types/react-clerk/ConvexProviderWithClerk.test.d.ts.map +0 -1
  437. package/dist/esm-types/server/api.intersect.test.d.ts +0 -2
  438. package/dist/esm-types/server/api.intersect.test.d.ts.map +0 -1
  439. package/dist/esm-types/server/api.test.d.ts +0 -2
  440. package/dist/esm-types/server/api.test.d.ts.map +0 -1
  441. package/dist/esm-types/server/audit_logging.test.d.ts +0 -2
  442. package/dist/esm-types/server/audit_logging.test.d.ts.map +0 -1
  443. package/dist/esm-types/server/components/index.test.d.ts +0 -2
  444. package/dist/esm-types/server/components/index.test.d.ts.map +0 -1
  445. package/dist/esm-types/server/cron.test.d.ts +0 -2
  446. package/dist/esm-types/server/cron.test.d.ts.map +0 -1
  447. package/dist/esm-types/server/data_model.test.d.ts +0 -2
  448. package/dist/esm-types/server/data_model.test.d.ts.map +0 -1
  449. package/dist/esm-types/server/database.test.d.ts +0 -2
  450. package/dist/esm-types/server/database.test.d.ts.map +0 -1
  451. package/dist/esm-types/server/database_api.test.d.ts +0 -2
  452. package/dist/esm-types/server/database_api.test.d.ts.map +0 -1
  453. package/dist/esm-types/server/filter_builder.test.d.ts +0 -2
  454. package/dist/esm-types/server/filter_builder.test.d.ts.map +0 -1
  455. package/dist/esm-types/server/impl/actions_impl.test.d.ts +0 -2
  456. package/dist/esm-types/server/impl/actions_impl.test.d.ts.map +0 -1
  457. package/dist/esm-types/server/impl/filter_builder_impl.test.d.ts +0 -2
  458. package/dist/esm-types/server/impl/filter_builder_impl.test.d.ts.map +0 -1
  459. package/dist/esm-types/server/impl/query_impl.test.d.ts +0 -2
  460. package/dist/esm-types/server/impl/query_impl.test.d.ts.map +0 -1
  461. package/dist/esm-types/server/pagination.test.d.ts +0 -2
  462. package/dist/esm-types/server/pagination.test.d.ts.map +0 -1
  463. package/dist/esm-types/server/query.test.d.ts +0 -2
  464. package/dist/esm-types/server/query.test.d.ts.map +0 -1
  465. package/dist/esm-types/server/registration.test.d.ts +0 -2
  466. package/dist/esm-types/server/registration.test.d.ts.map +0 -1
  467. package/dist/esm-types/server/router.test.d.ts +0 -2
  468. package/dist/esm-types/server/router.test.d.ts.map +0 -1
  469. package/dist/esm-types/server/scheduler.test.d.ts +0 -2
  470. package/dist/esm-types/server/scheduler.test.d.ts.map +0 -1
  471. package/dist/esm-types/server/schema.test.d.ts +0 -2
  472. package/dist/esm-types/server/schema.test.d.ts.map +0 -1
  473. package/dist/esm-types/test/fake_watch.d.ts +0 -16
  474. package/dist/esm-types/test/fake_watch.d.ts.map +0 -1
  475. package/dist/esm-types/test/type_testing.d.ts +0 -9
  476. package/dist/esm-types/test/type_testing.d.ts.map +0 -1
  477. package/dist/esm-types/type_utils.test.d.ts +0 -2
  478. package/dist/esm-types/type_utils.test.d.ts.map +0 -1
  479. package/dist/esm-types/values/size.test.d.ts +0 -2
  480. package/dist/esm-types/values/size.test.d.ts.map +0 -1
  481. package/dist/esm-types/values/validator.test.d.ts +0 -2
  482. package/dist/esm-types/values/validator.test.d.ts.map +0 -1
  483. package/dist/esm-types/values/value.test.d.ts +0 -2
  484. package/dist/esm-types/values/value.test.d.ts.map +0 -1
  485. package/src/browser/http_client.test.ts +0 -202
  486. package/src/browser/query_options.test.ts +0 -43
  487. package/src/browser/simple_client.test.ts +0 -104
  488. package/src/browser/sync/client.test.ts +0 -44
  489. package/src/browser/sync/client_node.test.ts +0 -1207
  490. package/src/browser/sync/client_node_test_helpers.ts +0 -200
  491. package/src/browser/sync/local_state.test.ts +0 -128
  492. package/src/browser/sync/optimistic_query_set.test.ts +0 -253
  493. package/src/browser/sync/paginated_query_client.test.ts +0 -597
  494. package/src/browser/sync/protocol.test.ts +0 -14
  495. package/src/browser/sync/request_manager.test.ts +0 -273
  496. package/src/bundler/fs.test.ts +0 -86
  497. package/src/bundler/index.test.ts +0 -210
  498. package/src/bundler/test_fixtures/js/project01/bar.js +0 -4
  499. package/src/bundler/test_fixtures/js/project01/file with spaces.js +0 -1
  500. package/src/bundler/test_fixtures/js/project01/foo.js +0 -9
  501. package/src/bundler/test_fixtures/js/project_with_https/https.js +0 -9
  502. package/src/bundler/test_fixtures/js/project_with_https_not_at_top_level/default.js +0 -3
  503. package/src/bundler/test_fixtures/js/project_with_https_not_at_top_level/more_code/https.js +0 -5
  504. package/src/bundler/test_fixtures/js/project_with_https_without_router/https.js +0 -1
  505. package/src/bundler/test_fixtures/js/project_with_node_shims/uses_node_shims.js +0 -4
  506. package/src/cli/codegen_templates/api.test.ts +0 -18
  507. package/src/cli/codegen_templates/common.test.ts +0 -52
  508. package/src/cli/codegen_templates/templates.test.ts +0 -16
  509. package/src/cli/codegen_templates/validator_helpers.test.ts +0 -31
  510. package/src/cli/configure.test.ts +0 -138
  511. package/src/cli/deploymentCreate.test.ts +0 -1376
  512. package/src/cli/deploymentSelect.test.ts +0 -1291
  513. package/src/cli/deploymentSelection.test.ts +0 -2546
  514. package/src/cli/deploymentToken.test.ts +0 -397
  515. package/src/cli/dev.test.ts +0 -157
  516. package/src/cli/envDefault.test.ts +0 -495
  517. package/src/cli/lib/__snapshots__/formatTargetedDeployment.test.ts.snap +0 -94
  518. package/src/cli/lib/aiFiles/agentsmd.test.ts +0 -133
  519. package/src/cli/lib/aiFiles/claudemd.test.ts +0 -92
  520. package/src/cli/lib/aiFiles/guidelinesmd.test.ts +0 -50
  521. package/src/cli/lib/aiFiles/index.test.ts +0 -986
  522. package/src/cli/lib/aiFiles/integration.test.ts +0 -692
  523. package/src/cli/lib/aiFiles/prompt.test.ts +0 -202
  524. package/src/cli/lib/aiFiles/state.test.ts +0 -305
  525. package/src/cli/lib/aiFiles/utils.test.ts +0 -50
  526. package/src/cli/lib/codegen.test.ts +0 -49
  527. package/src/cli/lib/components.test.ts +0 -227
  528. package/src/cli/lib/config.test.ts +0 -1026
  529. package/src/cli/lib/deployment.test.ts +0 -85
  530. package/src/cli/lib/deploymentSelector.test.ts +0 -107
  531. package/src/cli/lib/env.test.ts +0 -60
  532. package/src/cli/lib/expiration.test.ts +0 -159
  533. package/src/cli/lib/extractDeploymentNameForWorkOS.test.ts +0 -30
  534. package/src/cli/lib/formatEnvValueForDotfile.test.ts +0 -294
  535. package/src/cli/lib/formatTargetedDeployment.test.ts +0 -281
  536. package/src/cli/lib/fsUtils.test.ts +0 -67
  537. package/src/cli/lib/generateDocs.test.ts +0 -326
  538. package/src/cli/lib/indexes.test.ts +0 -77
  539. package/src/cli/lib/localDeployment/run.test.ts +0 -104
  540. package/src/cli/lib/localDeployment/secrets.test.ts +0 -53
  541. package/src/cli/lib/run.test.ts +0 -54
  542. package/src/cli/lib/runTestFunction.test.ts +0 -84
  543. package/src/cli/lib/typecheck.test.ts +0 -71
  544. package/src/cli/lib/updates.test.ts +0 -157
  545. package/src/cli/lib/utils/hash.test.ts +0 -25
  546. package/src/cli/lib/utils/utils.test.ts +0 -340
  547. package/src/cli/lib/versionApi.test.ts +0 -471
  548. package/src/cli/lib/workos/environmentApi.test.ts +0 -107
  549. package/src/cli/lib/workos/workos.test.ts +0 -242
  550. package/src/cli/login.test.ts +0 -261
  551. package/src/common/README.md +0 -2
  552. package/src/common/index.test.ts +0 -35
  553. package/src/nextjs/nextjs.test.tsx +0 -94
  554. package/src/react/ConvexAuthState.test.tsx +0 -702
  555. package/src/react/auth_helpers.test.tsx +0 -45
  556. package/src/react/auth_websocket.test.tsx +0 -1177
  557. package/src/react/client.test.tsx +0 -261
  558. package/src/react/client_provided_base_client.test.tsx +0 -174
  559. package/src/react/queries_observer.test.ts +0 -176
  560. package/src/react/react_node.test.ts +0 -78
  561. package/src/react/use_paginated_query.test.tsx +0 -1420
  562. package/src/react/use_queries.test.ts +0 -140
  563. package/src/react/use_query.test.ts +0 -71
  564. package/src/react/use_query_object_options.test.ts +0 -51
  565. package/src/react/use_query_result.test.ts +0 -75
  566. package/src/react-auth0/ConvexProviderWithAuth0.test.tsx +0 -17
  567. package/src/react-clerk/ConvexProviderWithClerk.test.tsx +0 -18
  568. package/src/server/README.md +0 -15
  569. package/src/server/api.intersect.test.ts +0 -109
  570. package/src/server/api.test.ts +0 -447
  571. package/src/server/audit_logging.test.ts +0 -131
  572. package/src/server/components/index.test.ts +0 -48
  573. package/src/server/cron.test.ts +0 -58
  574. package/src/server/data_model.test.ts +0 -221
  575. package/src/server/database.test.ts +0 -184
  576. package/src/server/database_api.test.ts +0 -439
  577. package/src/server/filter_builder.test.ts +0 -102
  578. package/src/server/impl/actions_impl.test.ts +0 -59
  579. package/src/server/impl/filter_builder_impl.test.ts +0 -13
  580. package/src/server/impl/query_impl.test.ts +0 -46
  581. package/src/server/pagination.test.ts +0 -49
  582. package/src/server/query.test.ts +0 -112
  583. package/src/server/registration.test.ts +0 -589
  584. package/src/server/router.test.ts +0 -148
  585. package/src/server/scheduler.test.ts +0 -31
  586. package/src/server/schema.test.ts +0 -1081
  587. package/src/test/fake_watch.ts +0 -54
  588. package/src/test/type_testing.ts +0 -21
  589. package/src/type_utils.test.ts +0 -62
  590. package/src/values/size.test.ts +0 -95
  591. package/src/values/validator.test.ts +0 -619
  592. package/src/values/value.test.ts +0 -232
  593. package/src/vendor/README.md +0 -18
  594. 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
- });