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,202 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
2
- import fs from "fs";
3
- import os from "os";
4
- import path from "path";
5
- import type { Context } from "../../../bundler/context.js";
6
- import {
7
- AGENTS_MD_END_MARKER,
8
- AGENTS_MD_START_MARKER,
9
- } from "../../codegen_templates/agentsmd.js";
10
-
11
- const { mockPromptYesNo } = vi.hoisted(() => {
12
- return { mockPromptYesNo: vi.fn() };
13
- });
14
-
15
- vi.mock("@sentry/node", () => ({
16
- captureException: vi.fn(),
17
- captureMessage: vi.fn(),
18
- }));
19
-
20
- vi.mock("../../../bundler/log.js", () => ({
21
- logMessage: vi.fn(),
22
- logFinishedStep: vi.fn(),
23
- }));
24
-
25
- vi.mock("../versionApi.js", () => ({
26
- downloadGuidelines: vi.fn(async () => "prompt test guidelines content"),
27
- fetchAgentSkillsCatalog: vi.fn(async () => ({
28
- kind: "ok",
29
- data: {
30
- latestRepoSha: "prompt-test-agent-skills-sha",
31
- skills: [],
32
- },
33
- })),
34
- fetchAgentSkillsSha: vi.fn(async () => "prompt-test-sha"),
35
- getVersion: vi.fn(async () => ({
36
- kind: "ok",
37
- data: {
38
- message: null,
39
- guidelinesHash: "prompt-test-guidelines-hash",
40
- agentSkillsSha: "prompt-test-agent-skills-sha",
41
- disableSkillsCli: false,
42
- disableSkillsCliMessage: null,
43
- },
44
- })),
45
- }));
46
-
47
- vi.mock("child_process", () => ({
48
- default: {
49
- spawn: vi.fn(() => ({
50
- stdout: { on: vi.fn() },
51
- stderr: { on: vi.fn() },
52
- on: (event: string, cb: (code: number) => void) => {
53
- if (event === "close") cb(0);
54
- },
55
- })),
56
- },
57
- }));
58
-
59
- vi.mock("../utils/prompts.js", async (importOriginal) => {
60
- const actual = await importOriginal<typeof import("../utils/prompts.js")>();
61
- return {
62
- ...actual,
63
- promptYesNo: mockPromptYesNo,
64
- };
65
- });
66
-
67
- import { attemptSetupAiFiles } from "./index.js";
68
-
69
- function makeTmpDir(): string {
70
- return fs.mkdtempSync(`${os.tmpdir()}${path.sep}`);
71
- }
72
-
73
- const fakeCtx: Context = {
74
- fs: {
75
- readFile: (p: string) => fs.readFileSync(p, { encoding: "utf8" }),
76
- exists: (p: string) => fs.existsSync(p),
77
- readdir: (p: string) => fs.readdirSync(p),
78
- stat: (p: string) => fs.statSync(p),
79
- readUtf8File: (p: string) => fs.readFileSync(p, { encoding: "utf8" }),
80
- lstat: (p: string) => fs.lstatSync(p),
81
- } as unknown as Context["fs"],
82
- deprecationMessagePrinted: false,
83
- crash: async (args) => {
84
- throw new Error(args.printedMessage ?? "crash");
85
- },
86
- registerCleanup: () => "handle",
87
- removeCleanup: (() => null) as unknown as Context["removeCleanup"],
88
- bigBrainAuth: () => null,
89
- _updateBigBrainAuth: () => {},
90
- };
91
-
92
- describe("maybeSetupAiFiles interactive prompt", () => {
93
- let tmpDir: string;
94
- let convexDir: string;
95
- let originalIsTTY: boolean | undefined;
96
-
97
- const aiDir = () => path.join(convexDir, "_generated", "ai");
98
- const guidelinesPath = () => path.join(aiDir(), "guidelines.md");
99
- const statePath = () => path.join(aiDir(), "ai-files.state.json");
100
- const projectConfigPath = () => path.join(tmpDir, "convex.json");
101
-
102
- beforeEach(() => {
103
- tmpDir = makeTmpDir();
104
- convexDir = path.join(tmpDir, "convex");
105
- fs.mkdirSync(convexDir, { recursive: true });
106
- fs.writeFileSync(path.join(convexDir, "schema.ts"), "");
107
- originalIsTTY = process.stdin.isTTY;
108
- process.stdin.isTTY = true;
109
- mockPromptYesNo.mockResolvedValue(true);
110
- });
111
-
112
- afterEach(() => {
113
- process.stdin.isTTY = originalIsTTY!;
114
- fs.rmSync(tmpDir, { recursive: true, force: true });
115
- vi.unstubAllEnvs();
116
- vi.clearAllMocks();
117
- });
118
-
119
- test("user accepts prompt: AI files are installed", async () => {
120
- mockPromptYesNo.mockResolvedValue(true);
121
-
122
- await attemptSetupAiFiles({ ctx: fakeCtx, convexDir, projectDir: tmpDir });
123
-
124
- expect(fs.existsSync(guidelinesPath())).toBe(true);
125
- expect(fs.existsSync(statePath())).toBe(true);
126
- expect(fs.existsSync(path.join(tmpDir, "AGENTS.md"))).toBe(true);
127
- expect(fs.existsSync(path.join(tmpDir, "CLAUDE.md"))).toBe(true);
128
- expect(fs.readFileSync(guidelinesPath(), "utf8")).toBe(
129
- "prompt test guidelines content",
130
- );
131
- });
132
-
133
- test("user declines prompt: no config and no AI files are written", async () => {
134
- mockPromptYesNo.mockResolvedValue(false);
135
-
136
- await attemptSetupAiFiles({ ctx: fakeCtx, convexDir, projectDir: tmpDir });
137
-
138
- expect(fs.existsSync(guidelinesPath())).toBe(false);
139
- expect(fs.existsSync(path.join(tmpDir, "AGENTS.md"))).toBe(false);
140
- expect(fs.existsSync(path.join(tmpDir, "CLAUDE.md"))).toBe(false);
141
- expect(fs.existsSync(projectConfigPath())).toBe(false);
142
- });
143
-
144
- test("non-interactive terminal skips the prompt and does not install AI files", async () => {
145
- process.stdin.isTTY = false;
146
-
147
- await attemptSetupAiFiles({ ctx: fakeCtx, convexDir, projectDir: tmpDir });
148
-
149
- expect(fs.existsSync(guidelinesPath())).toBe(false);
150
- expect(fs.existsSync(statePath())).toBe(false);
151
- expect(fs.existsSync(path.join(tmpDir, "AGENTS.md"))).toBe(false);
152
- expect(fs.existsSync(path.join(tmpDir, "CLAUDE.md"))).toBe(false);
153
- expect(fs.existsSync(projectConfigPath())).toBe(false);
154
- });
155
-
156
- test("existing state file updates AI files without prompting", async () => {
157
- const stateDir = path.join(convexDir, "_generated", "ai");
158
- fs.mkdirSync(stateDir, { recursive: true });
159
- fs.writeFileSync(
160
- path.join(stateDir, "ai-files.state.json"),
161
- JSON.stringify(
162
- {
163
- guidelinesHash: "hash",
164
- agentsMdSectionHash: "hash",
165
- claudeMdHash: "hash",
166
- agentSkillsSha: "sha",
167
- },
168
- null,
169
- 2,
170
- ),
171
- );
172
-
173
- await attemptSetupAiFiles({ ctx: fakeCtx, convexDir, projectDir: tmpDir });
174
-
175
- expect(fs.existsSync(path.join(stateDir, "ai-files.state.json"))).toBe(
176
- true,
177
- );
178
- expect(fs.existsSync(guidelinesPath())).toBe(true);
179
- expect(fs.readFileSync(guidelinesPath(), "utf8")).toBe(
180
- "prompt test guidelines content",
181
- );
182
- });
183
-
184
- test("existing AGENTS.md managed section rebuilds state without prompting", async () => {
185
- fs.writeFileSync(
186
- path.join(tmpDir, "AGENTS.md"),
187
- [
188
- "# Team notes",
189
- "",
190
- AGENTS_MD_START_MARKER,
191
- "Managed section",
192
- AGENTS_MD_END_MARKER,
193
- "",
194
- ].join("\n"),
195
- );
196
-
197
- await attemptSetupAiFiles({ ctx: fakeCtx, convexDir, projectDir: tmpDir });
198
-
199
- expect(fs.existsSync(statePath())).toBe(true);
200
- expect(fs.existsSync(guidelinesPath())).toBe(true);
201
- });
202
- });
@@ -1,305 +0,0 @@
1
- import { describe, test, expect, vi, beforeEach, afterEach } from "vitest";
2
- import * as Sentry from "@sentry/node";
3
- import { promises as fs } from "fs";
4
- import {
5
- aiFilesStateSchema,
6
- attemptReadAiState,
7
- hasAiState,
8
- readAiStateOrDefault,
9
- writeAiState,
10
- } from "./state.js";
11
-
12
- vi.mock("@sentry/node", () => ({
13
- captureException: vi.fn(),
14
- captureMessage: vi.fn(),
15
- }));
16
-
17
- vi.mock("fs", () => ({
18
- promises: {
19
- readFile: vi.fn(),
20
- writeFile: vi.fn(),
21
- mkdir: vi.fn().mockResolvedValue(undefined),
22
- },
23
- }));
24
-
25
- const mockFs = vi.mocked(fs);
26
- const mockCaptureException = vi.mocked(Sentry.captureException);
27
-
28
- const dummyConvexDir = "/tmp/test-project/convex";
29
-
30
- describe("aiFilesStateSchema", () => {
31
- test("accepts a fully populated valid state object", () => {
32
- const result = aiFilesStateSchema.safeParse({
33
- guidelinesHash: "abc123",
34
- agentsMdSectionHash: "def456",
35
- claudeMdHash: "ghi789",
36
- agentSkillsSha: "deadbeef",
37
- });
38
- expect(result.success).toBe(true);
39
- });
40
-
41
- test("accepts null hashes", () => {
42
- const result = aiFilesStateSchema.safeParse({
43
- guidelinesHash: null,
44
- agentsMdSectionHash: null,
45
- claudeMdHash: null,
46
- agentSkillsSha: null,
47
- });
48
- expect(result.success).toBe(true);
49
- });
50
-
51
- test("strips legacy local skill tracking fields", () => {
52
- const result = aiFilesStateSchema.safeParse({
53
- version: 2,
54
- guidelinesHash: "abc",
55
- agentsMdSectionHash: null,
56
- claudeMdHash: null,
57
- agentSkillsSha: null,
58
- installedSkillNames: ["convex-migrations"],
59
- });
60
- expect(result.success).toBe(true);
61
- if (result.success) {
62
- expect(result.data).toEqual({
63
- guidelinesHash: "abc",
64
- agentsMdSectionHash: null,
65
- claudeMdHash: null,
66
- agentSkillsSha: null,
67
- });
68
- }
69
- });
70
-
71
- test("rejects a number where a string hash is expected", () => {
72
- const result = aiFilesStateSchema.safeParse({
73
- guidelinesHash: 123,
74
- agentsMdSectionHash: null,
75
- claudeMdHash: null,
76
- agentSkillsSha: null,
77
- });
78
- expect(result.success).toBe(false);
79
- });
80
-
81
- test("rejects missing required fields", () => {
82
- const result = aiFilesStateSchema.safeParse({
83
- guidelinesHash: "abc",
84
- });
85
- expect(result.success).toBe(false);
86
- });
87
- });
88
-
89
- describe("attemptReadAiState", () => {
90
- beforeEach(() => vi.clearAllMocks());
91
- afterEach(() => vi.resetAllMocks());
92
-
93
- test("returns no-file when the state file does not exist", async () => {
94
- mockFs.readFile.mockRejectedValue(
95
- Object.assign(new Error("ENOENT"), { code: "ENOENT" }),
96
- );
97
-
98
- const result = await attemptReadAiState(dummyConvexDir);
99
-
100
- expect(result).toEqual({ kind: "no-file" });
101
- expect(mockCaptureException).not.toHaveBeenCalled();
102
- });
103
-
104
- test("returns no-file when the state file is empty", async () => {
105
- mockFs.readFile.mockResolvedValueOnce("");
106
-
107
- const result = await attemptReadAiState(dummyConvexDir);
108
-
109
- expect(result).toEqual({ kind: "no-file" });
110
- expect(mockCaptureException).not.toHaveBeenCalled();
111
- });
112
-
113
- test("throws when reading the state file fails for reasons other than not found", async () => {
114
- const error = Object.assign(new Error("EACCES"), { code: "EACCES" });
115
- mockFs.readFile.mockRejectedValueOnce(error);
116
-
117
- await expect(attemptReadAiState(dummyConvexDir)).rejects.toBe(error);
118
- expect(mockCaptureException).not.toHaveBeenCalled();
119
- });
120
-
121
- test("returns ok with parsed state", async () => {
122
- mockFs.readFile.mockResolvedValueOnce(
123
- JSON.stringify({
124
- version: 1,
125
- guidelinesHash: "abc",
126
- agentsMdSectionHash: "def",
127
- claudeMdHash: null,
128
- agentSkillsSha: null,
129
- }),
130
- );
131
-
132
- const result = await attemptReadAiState(dummyConvexDir);
133
-
134
- expect(result).toEqual({
135
- kind: "ok",
136
- state: {
137
- guidelinesHash: "abc",
138
- agentsMdSectionHash: "def",
139
- claudeMdHash: null,
140
- agentSkillsSha: null,
141
- },
142
- });
143
- });
144
-
145
- test("strips legacy tracking fields when reading older state files", async () => {
146
- mockFs.readFile.mockResolvedValueOnce(
147
- JSON.stringify({
148
- version: 2,
149
- guidelinesHash: "abc",
150
- agentsMdSectionHash: "def",
151
- claudeMdHash: null,
152
- agentSkillsSha: "skills-sha",
153
- installedSkillNames: ["convex-migrations"],
154
- }),
155
- );
156
-
157
- const result = await attemptReadAiState(dummyConvexDir);
158
-
159
- expect(result).toEqual({
160
- kind: "ok",
161
- state: {
162
- guidelinesHash: "abc",
163
- agentsMdSectionHash: "def",
164
- claudeMdHash: null,
165
- agentSkillsSha: "skills-sha",
166
- },
167
- });
168
- });
169
-
170
- test("returns parse-error and captures exception when JSON is invalid", async () => {
171
- mockFs.readFile.mockResolvedValueOnce("not valid json {{{}");
172
-
173
- const result = await attemptReadAiState(dummyConvexDir);
174
-
175
- expect(result.kind).toBe("parse-error");
176
- expect(mockCaptureException).toHaveBeenCalledWith(expect.any(Error));
177
- });
178
-
179
- test("returns parse-error and captures exception when schema validation fails", async () => {
180
- mockFs.readFile.mockResolvedValueOnce(
181
- JSON.stringify({
182
- guidelinesHash: 99,
183
- agentsMdSectionHash: null,
184
- }),
185
- );
186
-
187
- const result = await attemptReadAiState(dummyConvexDir);
188
-
189
- expect(result.kind).toBe("parse-error");
190
- expect(mockCaptureException).toHaveBeenCalledWith(expect.any(Error));
191
- });
192
- });
193
-
194
- describe("readAiStateOrDefault", () => {
195
- beforeEach(() => vi.clearAllMocks());
196
- afterEach(() => vi.resetAllMocks());
197
-
198
- test("returns default state when no state file exists", async () => {
199
- mockFs.readFile.mockRejectedValue(
200
- Object.assign(new Error("ENOENT"), { code: "ENOENT" }),
201
- );
202
-
203
- const result = await readAiStateOrDefault(dummyConvexDir);
204
-
205
- expect(result).toEqual({
206
- guidelinesHash: null,
207
- agentsMdSectionHash: null,
208
- claudeMdHash: null,
209
- agentSkillsSha: null,
210
- });
211
- });
212
-
213
- test("returns default state on parse error", async () => {
214
- mockFs.readFile.mockResolvedValueOnce("not valid json {{{}");
215
-
216
- const result = await readAiStateOrDefault(dummyConvexDir);
217
-
218
- expect(result).toEqual({
219
- guidelinesHash: null,
220
- agentsMdSectionHash: null,
221
- claudeMdHash: null,
222
- agentSkillsSha: null,
223
- });
224
- expect(mockCaptureException).toHaveBeenCalled();
225
- });
226
-
227
- test("returns parsed state when state file exists", async () => {
228
- const stored = {
229
- guidelinesHash: "abc",
230
- agentsMdSectionHash: "def",
231
- claudeMdHash: null,
232
- agentSkillsSha: "deadbeef",
233
- };
234
- mockFs.readFile.mockResolvedValueOnce(JSON.stringify(stored));
235
-
236
- const result = await readAiStateOrDefault(dummyConvexDir);
237
-
238
- expect(result).toEqual(stored);
239
- });
240
- });
241
-
242
- describe("hasAiState", () => {
243
- beforeEach(() => vi.clearAllMocks());
244
- afterEach(() => vi.resetAllMocks());
245
-
246
- test("returns false when state file does not exist", async () => {
247
- mockFs.readFile.mockRejectedValue(
248
- Object.assign(new Error("ENOENT"), { code: "ENOENT" }),
249
- );
250
-
251
- const result = await hasAiState(dummyConvexDir);
252
-
253
- expect(result).toBe(false);
254
- expect(mockCaptureException).not.toHaveBeenCalled();
255
- });
256
-
257
- test("returns true when a valid state file exists", async () => {
258
- mockFs.readFile.mockResolvedValueOnce(
259
- JSON.stringify({
260
- guidelinesHash: "abc",
261
- agentsMdSectionHash: "def",
262
- claudeMdHash: null,
263
- agentSkillsSha: null,
264
- }),
265
- );
266
-
267
- const result = await hasAiState(dummyConvexDir);
268
-
269
- expect(result).toBe(true);
270
- });
271
-
272
- test("returns false and captures exception when the state file is invalid", async () => {
273
- mockFs.readFile.mockResolvedValueOnce("not valid json {{{}");
274
-
275
- const result = await hasAiState(dummyConvexDir);
276
-
277
- expect(result).toBe(false);
278
- expect(mockCaptureException).toHaveBeenCalledWith(expect.any(Error));
279
- });
280
- });
281
-
282
- describe("writeAiState", () => {
283
- beforeEach(() => vi.clearAllMocks());
284
- afterEach(() => vi.resetAllMocks());
285
-
286
- test("writes state file", async () => {
287
- mockFs.writeFile.mockResolvedValue(undefined);
288
-
289
- const state = {
290
- guidelinesHash: "abc",
291
- agentsMdSectionHash: "def",
292
- claudeMdHash: null,
293
- agentSkillsSha: null,
294
- };
295
-
296
- await writeAiState({ state, convexDir: dummyConvexDir });
297
-
298
- expect(mockFs.writeFile).toHaveBeenCalledTimes(1);
299
- expect(mockFs.writeFile).toHaveBeenCalledWith(
300
- expect.stringContaining("ai-files.state.json"),
301
- JSON.stringify(state, null, 2) + "\n",
302
- "utf8",
303
- );
304
- });
305
- });
@@ -1,50 +0,0 @@
1
- import { describe, test, expect, beforeEach, afterEach } from "vitest";
2
- import fs from "fs";
3
- import os from "os";
4
- import path from "path";
5
- import { attemptReadFile } from "./utils.js";
6
-
7
- describe("attemptReadFile", () => {
8
- let tmpDir: string;
9
-
10
- beforeEach(() => {
11
- tmpDir = fs.mkdtempSync(`${os.tmpdir()}${path.sep}`);
12
- });
13
-
14
- afterEach(() => {
15
- fs.rmSync(tmpDir, { recursive: true, force: true });
16
- });
17
-
18
- test("returns content when the file has text", async () => {
19
- const filePath = path.join(tmpDir, "content.txt");
20
- fs.writeFileSync(filePath, "hello");
21
-
22
- const result = await attemptReadFile(filePath);
23
-
24
- expect(result).toEqual({ kind: "content", content: "hello" });
25
- });
26
-
27
- test("returns empty when the file exists but has no contents", async () => {
28
- const filePath = path.join(tmpDir, "empty.txt");
29
- fs.writeFileSync(filePath, "");
30
-
31
- const result = await attemptReadFile(filePath);
32
-
33
- expect(result).toEqual({ kind: "empty" });
34
- });
35
-
36
- test("returns not-found when the file does not exist", async () => {
37
- const filePath = path.join(tmpDir, "missing.txt");
38
-
39
- const result = await attemptReadFile(filePath);
40
-
41
- expect(result).toEqual({ kind: "not-found" });
42
- });
43
-
44
- test("throws when fs.readFile fails for another reason", async () => {
45
- const dirPath = path.join(tmpDir, "nested-dir");
46
- fs.mkdirSync(dirPath);
47
-
48
- await expect(attemptReadFile(dirPath)).rejects.toThrow();
49
- });
50
- });
@@ -1,49 +0,0 @@
1
- import { describe, test, expect, beforeEach, afterEach } from "vitest";
2
- import { oneoffContext, Context } from "../../bundler/context.js";
3
- import fs from "fs";
4
- import os from "os";
5
- import path from "path";
6
- import { cleanupStaleGeneratedEntries, doInitConvexFolder } from "./codegen.js";
7
-
8
- describe("codegen", () => {
9
- let tmpDir: string;
10
- let ctx: Context;
11
-
12
- beforeEach(async () => {
13
- ctx = await oneoffContext({
14
- url: undefined,
15
- adminKey: undefined,
16
- envFile: undefined,
17
- });
18
- tmpDir = fs.mkdtempSync(`${os.tmpdir()}${path.sep}`);
19
- });
20
-
21
- afterEach(() => {
22
- fs.rmSync(tmpDir, { recursive: true, force: true });
23
- });
24
-
25
- test("writes README.md when initializing a new functions directory", async () => {
26
- const functionsPath = path.join(tmpDir, "convex");
27
- await doInitConvexFolder(ctx, functionsPath);
28
-
29
- expect(ctx.fs.exists(path.join(functionsPath, "README.md"))).toBe(true);
30
- expect(ctx.fs.exists(path.join(functionsPath, "tsconfig.json"))).toBe(true);
31
- });
32
-
33
- test("preserves convex/_generated/ai while deleting stale generated files", () => {
34
- const codegenDir = path.join(tmpDir, "_generated");
35
- ctx.fs.mkdir(codegenDir, { recursive: true, allowExisting: true });
36
- ctx.fs.writeUtf8File(path.join(codegenDir, "server.js"), "export {};");
37
- ctx.fs.writeUtf8File(path.join(codegenDir, "stale.js"), "export {};");
38
- const aiDir = path.join(codegenDir, "ai");
39
- ctx.fs.mkdir(aiDir, { recursive: true, allowExisting: true });
40
- ctx.fs.writeUtf8File(path.join(aiDir, "ai-files.state.json"), "{}");
41
-
42
- cleanupStaleGeneratedEntries(ctx, codegenDir, ["server.js"]);
43
-
44
- expect(ctx.fs.exists(path.join(codegenDir, "server.js"))).toBe(true);
45
- expect(ctx.fs.exists(path.join(codegenDir, "stale.js"))).toBe(false);
46
- expect(ctx.fs.exists(aiDir)).toBe(true);
47
- expect(ctx.fs.exists(path.join(aiDir, "ai-files.state.json"))).toBe(true);
48
- });
49
- });