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,84 +0,0 @@
1
- import { expect, test } from "vitest";
2
- import { inlineQueryToQuerySource } from "./runTestFunction.js";
3
-
4
- test("wraps inline query expressions in a readonly query module", () => {
5
- expect(inlineQueryToQuerySource('ctx.db.query("messages").first()'))
6
- .toBe(`import { query, internalQuery } from "convex:/_system/repl/wrappers.js";
7
-
8
- export default query({
9
- handler: async (ctx) => {
10
- return (ctx.db.query("messages").first());
11
- },
12
- });`);
13
- });
14
-
15
- test("preserves explicit return bodies", () => {
16
- expect(
17
- inlineQueryToQuerySource('return await ctx.db.query("messages").first();'),
18
- )
19
- .toBe(`import { query, internalQuery } from "convex:/_system/repl/wrappers.js";
20
-
21
- export default query({
22
- handler: async (ctx) => {
23
- return await ctx.db.query("messages").first();
24
- },
25
- });`);
26
- });
27
-
28
- test("wraps awaited expressions without changing them", () => {
29
- expect(inlineQueryToQuerySource('await ctx.db.query("messages").first()'))
30
- .toBe(`import { query, internalQuery } from "convex:/_system/repl/wrappers.js";
31
-
32
- export default query({
33
- handler: async (ctx) => {
34
- return (await ctx.db.query("messages").first());
35
- },
36
- });`);
37
- });
38
-
39
- test("preserves multi line statement bodies", () => {
40
- expect(
41
- inlineQueryToQuerySource(`const firstMessage = await ctx.db.query("messages").first();
42
- console.log(firstMessage?._id);
43
- return firstMessage;`),
44
- )
45
- .toBe(`import { query, internalQuery } from "convex:/_system/repl/wrappers.js";
46
-
47
- export default query({
48
- handler: async (ctx) => {
49
- const firstMessage = await ctx.db.query("messages").first();
50
- console.log(firstMessage?._id);
51
- return firstMessage;
52
- },
53
- });`);
54
- });
55
-
56
- test("preserves full query module source", () => {
57
- const source = `import { query } from "convex:/_system/repl/wrappers.js";
58
-
59
- export default query({
60
- handler: async (ctx) => {
61
- return await ctx.db.query("messages").first();
62
- },
63
- });`;
64
-
65
- expect(inlineQueryToQuerySource(source)).toBe(source);
66
- });
67
-
68
- test("injects the wrappers import for full query modules", () => {
69
- const source = `export default query({
70
- handler: async (ctx) => {
71
- return await ctx.db.query("messages").first();
72
- },
73
- });`;
74
-
75
- expect(inlineQueryToQuerySource(source)).toBe(
76
- `import { query, internalQuery } from "convex:/_system/repl/wrappers.js";
77
-
78
- export default query({
79
- handler: async (ctx) => {
80
- return await ctx.db.query("messages").first();
81
- },
82
- });`,
83
- );
84
- });
@@ -1,71 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import path from "path";
3
- import { findTypeScriptCompilerPath } from "./typecheck.js";
4
- import type { TypescriptCompiler } from "./typecheck.js";
5
-
6
- const compilerPaths = {
7
- tsc: path.join("node_modules", "typescript", "bin", "tsc"),
8
- native: path.join("node_modules", "@typescript", "native", "bin", "tsc"),
9
- tsgo: path.join(
10
- "node_modules",
11
- "@typescript",
12
- "native-preview",
13
- "bin",
14
- "tsgo",
15
- ),
16
- legacyTsgo: path.join(
17
- "node_modules",
18
- "@typescript",
19
- "native-preview",
20
- "bin",
21
- "tsgo.js",
22
- ),
23
- } as const;
24
-
25
- describe("findTypeScriptCompilerPath", () => {
26
- test.each<{
27
- compiler: TypescriptCompiler;
28
- existing: string[];
29
- expected: string | undefined;
30
- }>([
31
- {
32
- compiler: "tsc",
33
- existing: [compilerPaths.tsc],
34
- expected: compilerPaths.tsc,
35
- },
36
- {
37
- compiler: "tsc",
38
- existing: [compilerPaths.native],
39
- expected: compilerPaths.native,
40
- },
41
- {
42
- compiler: "tsc",
43
- existing: [compilerPaths.tsc, compilerPaths.native],
44
- expected: compilerPaths.native,
45
- },
46
- {
47
- compiler: "tsgo",
48
- existing: [compilerPaths.tsgo],
49
- expected: compilerPaths.tsgo,
50
- },
51
- {
52
- compiler: "tsgo",
53
- existing: [compilerPaths.legacyTsgo],
54
- expected: compilerPaths.legacyTsgo,
55
- },
56
- {
57
- compiler: "tsgo",
58
- existing: [compilerPaths.tsgo, compilerPaths.legacyTsgo],
59
- expected: compilerPaths.tsgo,
60
- },
61
- { compiler: "tsc", existing: [], expected: undefined },
62
- { compiler: "tsgo", existing: [], expected: undefined },
63
- ])("finds $expected for $compiler", ({ compiler, existing, expected }) => {
64
- expect(
65
- findTypeScriptCompilerPath(
66
- { exists: (candidate) => existing.includes(candidate) },
67
- compiler,
68
- ),
69
- ).toBe(expected);
70
- });
71
- });
@@ -1,157 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
2
- import { checkVersionAndAiFilesStaleness } from "./updates.js";
3
- import { getVersion } from "./versionApi.js";
4
- import { logMessage } from "../../bundler/log.js";
5
- import { checkAiFilesStalenessAndLog } from "./aiFiles/index.js";
6
- import { readProjectConfig } from "./config.js";
7
- import type { Context } from "../../bundler/context.js";
8
-
9
- vi.mock("./versionApi.js", () => ({
10
- getVersion: vi.fn(),
11
- }));
12
-
13
- vi.mock("./aiFiles/index.js", () => ({
14
- checkAiFilesStalenessAndLog: vi.fn(),
15
- isAiFilesDisabled: vi.fn((aiFilesConfig) =>
16
- aiFilesConfig?.enabled !== undefined
17
- ? aiFilesConfig.enabled === false
18
- : aiFilesConfig?.disableStalenessMessage === true,
19
- ),
20
- }));
21
-
22
- vi.mock("../../bundler/log.js", () => ({
23
- logMessage: vi.fn(),
24
- }));
25
-
26
- vi.mock("./config.js", () => ({
27
- readProjectConfig: vi.fn(),
28
- }));
29
-
30
- const mockGetVersion = vi.mocked(getVersion);
31
- const mockLogMessage = vi.mocked(logMessage);
32
- const mockCheckAiFilesStalenessAndLog = vi.mocked(checkAiFilesStalenessAndLog);
33
- const mockReadProjectConfig = vi.mocked(readProjectConfig);
34
-
35
- const fakeCtx = {} as Context;
36
-
37
- const okVersion = (overrides?: object) => ({
38
- kind: "ok" as const,
39
- data: {
40
- message: null,
41
- guidelinesHash: "abc-guidelines-hash",
42
- agentSkillsSha: "abc-skills-sha",
43
- disableSkillsCli: false,
44
- disableSkillsCliMessage: null,
45
- ...overrides,
46
- },
47
- });
48
-
49
- describe("checkVersionAndAiFilesStaleness", () => {
50
- beforeEach(() => {
51
- vi.clearAllMocks();
52
- mockCheckAiFilesStalenessAndLog.mockResolvedValue(undefined);
53
- mockReadProjectConfig.mockResolvedValue({
54
- projectConfig: {
55
- functions: "convex",
56
- node: { externalPackages: [] },
57
- generateCommonJSApi: false,
58
- codegen: { staticApi: true, staticDataModel: true },
59
- },
60
- configPath: "convex.json",
61
- });
62
- });
63
-
64
- afterEach(() => {
65
- vi.resetAllMocks();
66
- });
67
-
68
- it("logs version message when server provides one", async () => {
69
- mockGetVersion.mockResolvedValue(
70
- okVersion({ message: "New version available: 1.2.3" }),
71
- );
72
-
73
- await checkVersionAndAiFilesStaleness(fakeCtx);
74
-
75
- expect(mockLogMessage).toHaveBeenCalledWith("New version available: 1.2.3");
76
- });
77
-
78
- it("does not log when version has no message", async () => {
79
- mockGetVersion.mockResolvedValue(okVersion());
80
-
81
- await checkVersionAndAiFilesStaleness(fakeCtx);
82
-
83
- expect(mockLogMessage).not.toHaveBeenCalled();
84
- });
85
-
86
- it("does nothing when getVersion returns error", async () => {
87
- mockGetVersion.mockResolvedValue({ kind: "error" });
88
-
89
- await checkVersionAndAiFilesStaleness(fakeCtx);
90
-
91
- expect(mockLogMessage).not.toHaveBeenCalled();
92
- expect(mockCheckAiFilesStalenessAndLog).not.toHaveBeenCalled();
93
- });
94
-
95
- it("passes hashes and project paths to staleness check", async () => {
96
- mockGetVersion.mockResolvedValue(
97
- okVersion({
98
- guidelinesHash:
99
- "02e43fc1ff0ee48db8da468f5c7525877d8056fcd56c77d78a166ac447efb91c",
100
- agentSkillsSha: "abc123def456abc123def456abc123def456abc1",
101
- }),
102
- );
103
-
104
- await checkVersionAndAiFilesStaleness(fakeCtx);
105
-
106
- expect(mockCheckAiFilesStalenessAndLog).toHaveBeenCalledWith({
107
- canonicalGuidelinesHash:
108
- "02e43fc1ff0ee48db8da468f5c7525877d8056fcd56c77d78a166ac447efb91c",
109
- canonicalAgentSkillsSha: "abc123def456abc123def456abc123def456abc1",
110
- projectDir: expect.any(String),
111
- convexDir: expect.any(String),
112
- });
113
- });
114
-
115
- it("passes null hashes when version has none", async () => {
116
- mockGetVersion.mockResolvedValue(
117
- okVersion({ guidelinesHash: null, agentSkillsSha: null }),
118
- );
119
-
120
- await checkVersionAndAiFilesStaleness(fakeCtx);
121
-
122
- expect(mockCheckAiFilesStalenessAndLog).toHaveBeenCalledWith({
123
- canonicalGuidelinesHash: null,
124
- canonicalAgentSkillsSha: null,
125
- projectDir: expect.any(String),
126
- convexDir: expect.any(String),
127
- });
128
- });
129
-
130
- it("skips staleness check when aiFiles.disableStalenessMessage is true", async () => {
131
- mockGetVersion.mockResolvedValue(okVersion());
132
- mockReadProjectConfig.mockResolvedValue({
133
- projectConfig: {
134
- functions: "convex",
135
- node: { externalPackages: [] },
136
- generateCommonJSApi: false,
137
- codegen: { staticApi: true, staticDataModel: true },
138
- aiFiles: { disableStalenessMessage: true },
139
- },
140
- configPath: "convex.json",
141
- });
142
-
143
- await checkVersionAndAiFilesStaleness(fakeCtx);
144
-
145
- expect(mockCheckAiFilesStalenessAndLog).not.toHaveBeenCalled();
146
- });
147
-
148
- it("silently skips staleness check when project config cannot be resolved", async () => {
149
- mockGetVersion.mockResolvedValue(okVersion());
150
- mockReadProjectConfig.mockRejectedValue(new Error("no convex.json"));
151
-
152
- await expect(
153
- checkVersionAndAiFilesStaleness(fakeCtx),
154
- ).resolves.toBeUndefined();
155
- expect(mockCheckAiFilesStalenessAndLog).not.toHaveBeenCalled();
156
- });
157
- });
@@ -1,25 +0,0 @@
1
- import { describe, test, expect } from "vitest";
2
- import { hashSha256 } from "./hash.js";
3
-
4
- describe("hashSha256", () => {
5
- test("hashes empty string", () => {
6
- const result = hashSha256("");
7
- expect(result).toBe(
8
- "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
9
- );
10
- });
11
-
12
- test("hashes simple string", () => {
13
- const result = hashSha256("hello world");
14
- expect(result).toBe(
15
- "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",
16
- );
17
- });
18
-
19
- test("hashes unicode string", () => {
20
- const result = hashSha256("hello 🌍 world");
21
- expect(result).toBe(
22
- "d234e59bf292eb39b3c8ba2ee06c21b50c9040530b577e5bf53f028099b37f54",
23
- );
24
- });
25
- });
@@ -1,340 +0,0 @@
1
- import { describe, test, expect, vi, afterEach, beforeEach } from "vitest";
2
- // Must be imported before any module that uses @inquirer/*
3
- import { screen } from "@inquirer/testing/vitest";
4
- import type { BigBrainAuth, Context } from "../../../bundler/context.js";
5
- import {
6
- bigBrainFetch,
7
- bigBrainAPIMaybeThrows,
8
- BIG_BRAIN_URL,
9
- selectRegion,
10
- } from "./utils.js";
11
-
12
- // Hoist this mock so it's in place before `retryingFetch` is initialized.
13
- // We make the factory return a function that delegates to `globalThis.fetch`
14
- // at call time, so tests can stub it via `vi.stubGlobal`.
15
- // vitest hoists vi.mock() calls before imports, so this applies to the
16
- // `retryingFetch = fetchRetryFactory(fetch)` initialization in utils.ts.
17
- vi.mock("fetch-retry", () => ({
18
- default: (_fetch: any) => (resource: any, options: any) =>
19
- (globalThis as any).fetch(resource, options),
20
- }));
21
-
22
- function makeContext(auth: BigBrainAuth | null): Context {
23
- return {
24
- bigBrainAuth: () => auth,
25
- crash: vi.fn(),
26
- registerCleanup: vi.fn(),
27
- removeCleanup: vi.fn(),
28
- _updateBigBrainAuth: vi.fn(),
29
- fs: {} as any,
30
- deprecationMessagePrinted: false,
31
- spinner: undefined,
32
- } as unknown as Context;
33
- }
34
-
35
- function stubFetch() {
36
- const mockFetch = vi
37
- .fn()
38
- .mockResolvedValue(new Response("{}", { status: 200 }));
39
- vi.stubGlobal("fetch", mockFetch);
40
- return mockFetch;
41
- }
42
-
43
- function capturedArgs(mockFetch: ReturnType<typeof vi.fn>) {
44
- const [resource, options] = mockFetch.mock.calls[0] as [
45
- RequestInfo | URL,
46
- RequestInit & any,
47
- ];
48
- return {
49
- resource,
50
- options,
51
- headers: options.headers as Record<string, string>,
52
- };
53
- }
54
-
55
- function capturedOptionsHeaders(mockFetch: ReturnType<typeof vi.fn>) {
56
- return capturedArgs(mockFetch).headers;
57
- }
58
-
59
- afterEach(() => {
60
- vi.unstubAllGlobals();
61
- });
62
-
63
- describe("bigBrainFetch", () => {
64
- test("sets Convex-Client header and no Authorization when auth is null", async () => {
65
- const mockFetch = stubFetch();
66
- const ctx = makeContext(null);
67
-
68
- const fetch = bigBrainFetch(ctx);
69
- await fetch("https://api.convex.dev/api/test", { method: "GET" });
70
-
71
- expect(mockFetch).toHaveBeenCalledOnce();
72
- const headers = capturedOptionsHeaders(mockFetch);
73
- expect(headers["Convex-Client"]).toMatch(/^npm-cli-/);
74
- expect(headers["Authorization"]).toBeUndefined();
75
- });
76
-
77
- test("sets both Authorization and Convex-Client headers when auth is present", async () => {
78
- const mockFetch = stubFetch();
79
- const ctx = makeContext({
80
- kind: "accessToken",
81
- header: "Bearer test-token",
82
- accessToken: "test-token",
83
- });
84
-
85
- const fetch = bigBrainFetch(ctx);
86
- await fetch("https://api.convex.dev/api/test", { method: "GET" });
87
-
88
- expect(mockFetch).toHaveBeenCalledOnce();
89
- const headers = capturedOptionsHeaders(mockFetch);
90
- expect(headers["Authorization"]).toBe("Bearer test-token");
91
- expect(headers["Convex-Client"]).toMatch(/^npm-cli-/);
92
- });
93
-
94
- test("caller-supplied options headers are merged over bigBrain headers", async () => {
95
- const mockFetch = stubFetch();
96
- const ctx = makeContext({
97
- kind: "accessToken",
98
- header: "Bearer original-token",
99
- accessToken: "original-token",
100
- });
101
-
102
- const fetch = bigBrainFetch(ctx);
103
- await fetch("https://api.convex.dev/api/test", {
104
- method: "POST",
105
- headers: {
106
- Authorization: "Bearer caller-override",
107
- "Content-Type": "application/json",
108
- },
109
- });
110
-
111
- expect(mockFetch).toHaveBeenCalledOnce();
112
- const headers = capturedOptionsHeaders(mockFetch);
113
- expect(headers["Authorization"]).toBe("Bearer caller-override");
114
- expect(headers["Content-Type"]).toBe("application/json");
115
- expect(headers["Convex-Client"]).toMatch(/^npm-cli-/);
116
- });
117
-
118
- test("uses Request object headers when no options headers provided", async () => {
119
- const mockFetch = stubFetch();
120
- const ctx = makeContext(null);
121
-
122
- const request = new Request("https://api.convex.dev/api/test", {
123
- method: "GET",
124
- headers: { "X-Custom-Header": "custom-value" },
125
- });
126
-
127
- const fetch = bigBrainFetch(ctx);
128
- await fetch(request, undefined);
129
-
130
- expect(mockFetch).toHaveBeenCalledOnce();
131
- const headers = capturedOptionsHeaders(mockFetch);
132
- // The Headers object normalizes header names to lowercase when iterated.
133
- expect(headers["x-custom-header"]).toBe("custom-value");
134
- expect(headers["Convex-Client"]).toMatch(/^npm-cli-/);
135
- });
136
-
137
- test("options headers take precedence over Request object headers", async () => {
138
- const mockFetch = stubFetch();
139
- const ctx = makeContext(null);
140
-
141
- const request = new Request("https://api.convex.dev/api/test", {
142
- method: "GET",
143
- headers: { "X-Custom-Header": "from-request" },
144
- });
145
-
146
- const fetch = bigBrainFetch(ctx);
147
- await fetch(request, {
148
- headers: { "X-Custom-Header": "from-options" },
149
- });
150
-
151
- expect(mockFetch).toHaveBeenCalledOnce();
152
- const headers = capturedOptionsHeaders(mockFetch);
153
- expect(headers["X-Custom-Header"]).toBe("from-options");
154
- });
155
-
156
- test("passes the request through to throwingFetch", async () => {
157
- const mockFetch = stubFetch();
158
- const ctx = makeContext(null);
159
- const request = new Request("https://api.convex.dev/api/some-endpoint", {
160
- method: "POST",
161
- });
162
-
163
- const fetch = bigBrainFetch(ctx);
164
- await fetch(request);
165
-
166
- expect(mockFetch).toHaveBeenCalledOnce();
167
- const [resource] = mockFetch.mock.calls[0] as [any, any];
168
- expect(resource).toBe(request);
169
- });
170
- });
171
-
172
- describe("bigBrainAPIMaybeThrows", () => {
173
- test("joins url with BIG_BRAIN_URL", async () => {
174
- const mockFetch = stubFetch();
175
- const ctx = makeContext(null);
176
-
177
- await bigBrainAPIMaybeThrows({ ctx, method: "GET", path: "has_projects" });
178
-
179
- expect(mockFetch).toHaveBeenCalledOnce();
180
- const { resource } = capturedArgs(mockFetch);
181
- expect(resource.toString()).toBe(
182
- new URL("has_projects", BIG_BRAIN_URL).toString(),
183
- );
184
- });
185
-
186
- test("passes method through for GET with no body", async () => {
187
- const mockFetch = stubFetch();
188
- const ctx = makeContext(null);
189
-
190
- await bigBrainAPIMaybeThrows({ ctx, method: "GET", path: "test" });
191
-
192
- expect(mockFetch).toHaveBeenCalledOnce();
193
- const { options } = capturedArgs(mockFetch);
194
- expect(options.method).toBe("GET");
195
- expect(options.body).toBeUndefined();
196
- });
197
-
198
- test("POST with no data sends empty object body", async () => {
199
- const mockFetch = stubFetch();
200
- const ctx = makeContext(null);
201
-
202
- await bigBrainAPIMaybeThrows({ ctx, method: "POST", path: "test" });
203
-
204
- expect(mockFetch).toHaveBeenCalledOnce();
205
- const { options, headers } = capturedArgs(mockFetch);
206
- expect(options.method).toBe("POST");
207
- expect(options.body).toBe("{}");
208
- expect(headers["Content-Type"]).toBe("application/json");
209
- });
210
-
211
- test("POST with object data serializes it to JSON", async () => {
212
- const mockFetch = stubFetch();
213
- const ctx = makeContext(null);
214
- const data = { name: "test", value: 42 };
215
-
216
- await bigBrainAPIMaybeThrows({ ctx, method: "POST", path: "test", data });
217
-
218
- expect(mockFetch).toHaveBeenCalledOnce();
219
- const { options } = capturedArgs(mockFetch);
220
- expect(options.body).toBe(JSON.stringify(data));
221
- });
222
-
223
- test("POST with string data passes it through as-is", async () => {
224
- const mockFetch = stubFetch();
225
- const ctx = makeContext(null);
226
-
227
- await bigBrainAPIMaybeThrows({
228
- ctx,
229
- method: "POST",
230
- path: "test",
231
- data: '{"raw":true}',
232
- });
233
-
234
- expect(mockFetch).toHaveBeenCalledOnce();
235
- const { options } = capturedArgs(mockFetch);
236
- expect(options.body).toBe('{"raw":true}');
237
- });
238
- });
239
-
240
- const testRegions = [
241
- { name: "aws-eu-west-1", displayName: "EU West (Ireland)", available: true },
242
- {
243
- name: "aws-us-east-1",
244
- displayName: "US East (Virginia)",
245
- available: true,
246
- },
247
- {
248
- name: "aws-ap-southeast-1",
249
- displayName: "Asia Pacific (Singapore)",
250
- available: false,
251
- },
252
- ];
253
-
254
- function stubRegionsFetch() {
255
- const mockFetch = vi.fn().mockImplementation(async (resource: any) => {
256
- const url = resource instanceof Request ? resource.url : String(resource);
257
- if (url.includes("/list_deployment_regions")) {
258
- return new Response(JSON.stringify({ items: testRegions }), {
259
- status: 200,
260
- });
261
- }
262
- return new Response("{}", { status: 200 });
263
- });
264
- vi.stubGlobal("fetch", mockFetch);
265
- return mockFetch;
266
- }
267
-
268
- describe("selectRegion", () => {
269
- beforeEach(() => {
270
- stubRegionsFetch();
271
- process.stdin.isTTY = true;
272
- });
273
-
274
- afterEach(() => {
275
- process.stdin.isTTY = false;
276
- });
277
-
278
- test("US region is shown first", async () => {
279
- const ctx = makeContext(null);
280
-
281
- const promise = selectRegion(ctx, 123, "dev");
282
-
283
- await screen.next();
284
- const rendered = screen.getScreen();
285
- // US East should appear before EU West in the rendered output
286
- const usIndex = rendered.indexOf("US East");
287
- const euIndex = rendered.indexOf("EU West");
288
- expect(usIndex).toBeGreaterThanOrEqual(0);
289
- expect(euIndex).toBeGreaterThanOrEqual(0);
290
- expect(usIndex).toBeLessThan(euIndex);
291
-
292
- // Select the first option (US East) and resolve the promise
293
- screen.keypress("enter");
294
- const result = await promise;
295
- expect(result).toBe("aws-us-east-1");
296
- });
297
-
298
- test("unavailable regions are not displayed", async () => {
299
- const ctx = makeContext(null);
300
-
301
- const promise = selectRegion(ctx, 123, "dev");
302
-
303
- await screen.next();
304
- const rendered = screen.getScreen();
305
- expect(rendered).not.toContain("Asia Pacific (Singapore)");
306
- expect(rendered).toContain("US East (Virginia)");
307
- expect(rendered).toContain("EU West (Ireland)");
308
-
309
- screen.keypress("enter");
310
- await promise;
311
- });
312
-
313
- const availableRegions = testRegions.filter((r) => r.available);
314
-
315
- test.each(availableRegions.map((r, i) => ({ ...r, downPresses: i })))(
316
- "selecting option at position $downPresses returns the correct region",
317
- async ({ downPresses }) => {
318
- const ctx = makeContext(null);
319
-
320
- const promise = selectRegion(ctx, 123, "dev");
321
-
322
- await screen.next();
323
- for (let i = 0; i < downPresses; i++) {
324
- screen.keypress("down");
325
- }
326
-
327
- // Check which option is currently highlighted on screen,
328
- // then find the matching region to know what value to expect.
329
- const rendered = screen.getScreen();
330
- const selectedRegion = testRegions.find(
331
- (r) => r.available && rendered.includes(`❯ ${r.displayName}`),
332
- );
333
- expect(selectedRegion).toBeDefined();
334
-
335
- screen.keypress("enter");
336
- const result = await promise;
337
- expect(result).toBe(selectedRegion!.name);
338
- },
339
- );
340
- });