convex 1.48.0-alpha.0 → 1.48.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 (353) hide show
  1. package/CHANGELOG.md +28 -4
  2. package/README.md +1 -1
  3. package/dist/browser.bundle.js +1 -1
  4. package/dist/browser.bundle.js.map +1 -1
  5. package/dist/cjs/bundler/context.js +5 -7
  6. package/dist/cjs/bundler/context.js.map +2 -2
  7. package/dist/cjs/bundler/fs.js +6 -47
  8. package/dist/cjs/bundler/fs.js.map +2 -2
  9. package/dist/cjs/cli/aiFiles.js +26 -4
  10. package/dist/cjs/cli/aiFiles.js.map +2 -2
  11. package/dist/cjs/cli/configure.js +2 -15
  12. package/dist/cjs/cli/configure.js.map +2 -2
  13. package/dist/cjs/cli/env.js +6 -3
  14. package/dist/cjs/cli/env.js.map +2 -2
  15. package/dist/cjs/cli/envDefault.js +5 -2
  16. package/dist/cjs/cli/envDefault.js.map +2 -2
  17. package/dist/cjs/cli/lib/aiFiles/guidelinesmd.js +2 -1
  18. package/dist/cjs/cli/lib/aiFiles/guidelinesmd.js.map +2 -2
  19. package/dist/cjs/cli/lib/aiFiles/index.js +13 -2
  20. package/dist/cjs/cli/lib/aiFiles/index.js.map +2 -2
  21. package/dist/cjs/cli/lib/aiFiles/skills.js +6 -5
  22. package/dist/cjs/cli/lib/aiFiles/skills.js.map +2 -2
  23. package/dist/cjs/cli/lib/aiFiles/state.js +1 -1
  24. package/dist/cjs/cli/lib/aiFiles/state.js.map +1 -1
  25. package/dist/cjs/cli/lib/components.js +12 -2
  26. package/dist/cjs/cli/lib/components.js.map +2 -2
  27. package/dist/cjs/cli/lib/deployApi/startPush.js +42 -1
  28. package/dist/cjs/cli/lib/deployApi/startPush.js.map +2 -2
  29. package/dist/cjs/cli/lib/deployment.js +0 -2
  30. package/dist/cjs/cli/lib/deployment.js.map +2 -2
  31. package/dist/cjs/cli/lib/deploymentSelection.js +18 -27
  32. package/dist/cjs/cli/lib/deploymentSelection.js.map +2 -2
  33. package/dist/cjs/cli/lib/env.js +9 -1
  34. package/dist/cjs/cli/lib/env.js.map +2 -2
  35. package/dist/cjs/cli/lib/envvars.js +0 -32
  36. package/dist/cjs/cli/lib/envvars.js.map +2 -2
  37. package/dist/cjs/cli/lib/fsUtils.js +1 -1
  38. package/dist/cjs/cli/lib/fsUtils.js.map +2 -2
  39. package/dist/cjs/cli/lib/generateDocs.js +1 -1
  40. package/dist/cjs/cli/lib/generateDocs.js.map +1 -1
  41. package/dist/cjs/cli/lib/localDeployment/dashboard.js +11 -1
  42. package/dist/cjs/cli/lib/localDeployment/dashboard.js.map +2 -2
  43. package/dist/cjs/cli/lib/localDeployment/download.js +16 -1
  44. package/dist/cjs/cli/lib/localDeployment/download.js.map +2 -2
  45. package/dist/cjs/cli/lib/localDeployment/utils.js +4 -0
  46. package/dist/cjs/cli/lib/localDeployment/utils.js.map +2 -2
  47. package/dist/cjs/cli/lib/login.js +4 -28
  48. package/dist/cjs/cli/lib/login.js.map +2 -2
  49. package/dist/cjs/cli/lib/mcp/requestContext.js +1 -5
  50. package/dist/cjs/cli/lib/mcp/requestContext.js.map +2 -2
  51. package/dist/cjs/cli/lib/utils/aiAgent.js +32 -0
  52. package/dist/cjs/cli/lib/utils/aiAgent.js.map +7 -0
  53. package/dist/cjs/cli/lib/utils/utils.js +9 -18
  54. package/dist/cjs/cli/lib/utils/utils.js.map +2 -2
  55. package/dist/cjs/cli/login.js +114 -213
  56. package/dist/cjs/cli/login.js.map +3 -3
  57. package/dist/cjs/cli/logout.js +12 -113
  58. package/dist/cjs/cli/logout.js.map +3 -3
  59. package/dist/cjs/cli/mcp.js +10 -43
  60. package/dist/cjs/cli/mcp.js.map +3 -3
  61. package/dist/cjs/cli/program.js +1 -2
  62. package/dist/cjs/cli/program.js.map +2 -2
  63. package/dist/cjs/index.js +1 -1
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/server/authentication.js.map +1 -1
  66. package/dist/cjs/server/components/index.js.map +2 -2
  67. package/dist/cjs/server/impl/authentication_impl.js +15 -1
  68. package/dist/cjs/server/impl/authentication_impl.js.map +2 -2
  69. package/dist/cjs/server/impl/registration_impl.js +1 -1
  70. package/dist/cjs/server/impl/registration_impl.js.map +2 -2
  71. package/dist/cjs/server/index.js.map +2 -2
  72. package/dist/cjs/server/meta.js.map +1 -1
  73. package/dist/cjs/server/registration.js.map +1 -1
  74. package/dist/cjs/server/schema.js +0 -2
  75. package/dist/cjs/server/schema.js.map +2 -2
  76. package/dist/cjs/server/storage.js.map +1 -1
  77. package/dist/cjs-types/bundler/context.d.ts +0 -5
  78. package/dist/cjs-types/bundler/context.d.ts.map +1 -1
  79. package/dist/cjs-types/bundler/fs.d.ts +2 -7
  80. package/dist/cjs-types/bundler/fs.d.ts.map +1 -1
  81. package/dist/cjs-types/cli/aiFiles.d.ts.map +1 -1
  82. package/dist/cjs-types/cli/configure.d.ts.map +1 -1
  83. package/dist/cjs-types/cli/env.d.ts.map +1 -1
  84. package/dist/cjs-types/cli/envDefault.d.ts.map +1 -1
  85. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.d.ts +3 -1
  86. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.d.ts.map +1 -1
  87. package/dist/cjs-types/cli/lib/aiFiles/index.d.ts +11 -1
  88. package/dist/cjs-types/cli/lib/aiFiles/index.d.ts.map +1 -1
  89. package/dist/cjs-types/cli/lib/aiFiles/skills.d.ts +4 -1
  90. package/dist/cjs-types/cli/lib/aiFiles/skills.d.ts.map +1 -1
  91. package/dist/cjs-types/cli/lib/components.d.ts.map +1 -1
  92. package/dist/cjs-types/cli/lib/deployApi/startPush.d.ts +13 -0
  93. package/dist/cjs-types/cli/lib/deployApi/startPush.d.ts.map +1 -1
  94. package/dist/cjs-types/cli/lib/deployment.d.ts +0 -2
  95. package/dist/cjs-types/cli/lib/deployment.d.ts.map +1 -1
  96. package/dist/cjs-types/cli/lib/deploymentSelection.d.ts +1 -2
  97. package/dist/cjs-types/cli/lib/deploymentSelection.d.ts.map +1 -1
  98. package/dist/cjs-types/cli/lib/env.d.ts +1 -0
  99. package/dist/cjs-types/cli/lib/env.d.ts.map +1 -1
  100. package/dist/cjs-types/cli/lib/envvars.d.ts +0 -6
  101. package/dist/cjs-types/cli/lib/envvars.d.ts.map +1 -1
  102. package/dist/cjs-types/cli/lib/fsUtils.d.ts +0 -1
  103. package/dist/cjs-types/cli/lib/fsUtils.d.ts.map +1 -1
  104. package/dist/cjs-types/cli/lib/localDeployment/dashboard.d.ts +6 -0
  105. package/dist/cjs-types/cli/lib/localDeployment/dashboard.d.ts.map +1 -1
  106. package/dist/cjs-types/cli/lib/localDeployment/download.d.ts.map +1 -1
  107. package/dist/cjs-types/cli/lib/localDeployment/utils.d.ts +1 -0
  108. package/dist/cjs-types/cli/lib/localDeployment/utils.d.ts.map +1 -1
  109. package/dist/cjs-types/cli/lib/login.d.ts +1 -3
  110. package/dist/cjs-types/cli/lib/login.d.ts.map +1 -1
  111. package/dist/cjs-types/cli/lib/mcp/requestContext.d.ts.map +1 -1
  112. package/dist/cjs-types/cli/lib/mcp/tools/insights.d.ts +2 -2
  113. package/dist/cjs-types/cli/lib/utils/aiAgent.d.ts +8 -0
  114. package/dist/cjs-types/cli/lib/utils/aiAgent.d.ts.map +1 -0
  115. package/dist/cjs-types/cli/lib/utils/utils.d.ts +0 -5
  116. package/dist/cjs-types/cli/lib/utils/utils.d.ts.map +1 -1
  117. package/dist/cjs-types/cli/login.d.ts +0 -21
  118. package/dist/cjs-types/cli/login.d.ts.map +1 -1
  119. package/dist/cjs-types/cli/logout.d.ts +1 -8
  120. package/dist/cjs-types/cli/logout.d.ts.map +1 -1
  121. package/dist/cjs-types/cli/mcp.d.ts.map +1 -1
  122. package/dist/cjs-types/cli/program.d.ts.map +1 -1
  123. package/dist/cjs-types/index.d.ts +1 -1
  124. package/dist/cjs-types/index.d.ts.map +1 -1
  125. package/dist/cjs-types/server/authentication.d.ts +65 -0
  126. package/dist/cjs-types/server/authentication.d.ts.map +1 -1
  127. package/dist/cjs-types/server/components/index.d.ts +6 -0
  128. package/dist/cjs-types/server/components/index.d.ts.map +1 -1
  129. package/dist/cjs-types/server/impl/authentication_impl.d.ts +2 -1
  130. package/dist/cjs-types/server/impl/authentication_impl.d.ts.map +1 -1
  131. package/dist/cjs-types/server/index.d.ts +2 -2
  132. package/dist/cjs-types/server/index.d.ts.map +1 -1
  133. package/dist/cjs-types/server/meta.d.ts +8 -0
  134. package/dist/cjs-types/server/meta.d.ts.map +1 -1
  135. package/dist/cjs-types/server/registration.d.ts +5 -3
  136. package/dist/cjs-types/server/registration.d.ts.map +1 -1
  137. package/dist/cjs-types/server/schema.d.ts +0 -2
  138. package/dist/cjs-types/server/schema.d.ts.map +1 -1
  139. package/dist/cjs-types/server/storage.d.ts +28 -25
  140. package/dist/cjs-types/server/storage.d.ts.map +1 -1
  141. package/dist/cli.bundle.cjs +1379 -2142
  142. package/dist/cli.bundle.cjs.map +4 -4
  143. package/dist/esm/bundler/context.js +5 -7
  144. package/dist/esm/bundler/context.js.map +2 -2
  145. package/dist/esm/bundler/fs.js +6 -47
  146. package/dist/esm/bundler/fs.js.map +2 -2
  147. package/dist/esm/cli/aiFiles.js +26 -4
  148. package/dist/esm/cli/aiFiles.js.map +2 -2
  149. package/dist/esm/cli/configure.js +2 -15
  150. package/dist/esm/cli/configure.js.map +2 -2
  151. package/dist/esm/cli/env.js +6 -3
  152. package/dist/esm/cli/env.js.map +2 -2
  153. package/dist/esm/cli/envDefault.js +5 -2
  154. package/dist/esm/cli/envDefault.js.map +2 -2
  155. package/dist/esm/cli/lib/aiFiles/guidelinesmd.js +2 -1
  156. package/dist/esm/cli/lib/aiFiles/guidelinesmd.js.map +2 -2
  157. package/dist/esm/cli/lib/aiFiles/index.js +13 -2
  158. package/dist/esm/cli/lib/aiFiles/index.js.map +2 -2
  159. package/dist/esm/cli/lib/aiFiles/skills.js +6 -5
  160. package/dist/esm/cli/lib/aiFiles/skills.js.map +2 -2
  161. package/dist/esm/cli/lib/aiFiles/state.js +1 -1
  162. package/dist/esm/cli/lib/aiFiles/state.js.map +1 -1
  163. package/dist/esm/cli/lib/components.js +15 -2
  164. package/dist/esm/cli/lib/components.js.map +2 -2
  165. package/dist/esm/cli/lib/deployApi/startPush.js +39 -0
  166. package/dist/esm/cli/lib/deployApi/startPush.js.map +2 -2
  167. package/dist/esm/cli/lib/deployment.js +2 -2
  168. package/dist/esm/cli/lib/deployment.js.map +2 -2
  169. package/dist/esm/cli/lib/deploymentSelection.js +20 -35
  170. package/dist/esm/cli/lib/deploymentSelection.js.map +2 -2
  171. package/dist/esm/cli/lib/env.js +9 -1
  172. package/dist/esm/cli/lib/env.js.map +2 -2
  173. package/dist/esm/cli/lib/envvars.js +1 -35
  174. package/dist/esm/cli/lib/envvars.js.map +2 -2
  175. package/dist/esm/cli/lib/fsUtils.js +1 -1
  176. package/dist/esm/cli/lib/fsUtils.js.map +2 -2
  177. package/dist/esm/cli/lib/generateDocs.js +1 -1
  178. package/dist/esm/cli/lib/generateDocs.js.map +1 -1
  179. package/dist/esm/cli/lib/localDeployment/dashboard.js +9 -0
  180. package/dist/esm/cli/lib/localDeployment/dashboard.js.map +2 -2
  181. package/dist/esm/cli/lib/localDeployment/download.js +16 -1
  182. package/dist/esm/cli/lib/localDeployment/download.js.map +2 -2
  183. package/dist/esm/cli/lib/localDeployment/utils.js +3 -0
  184. package/dist/esm/cli/lib/localDeployment/utils.js.map +2 -2
  185. package/dist/esm/cli/lib/login.js +4 -36
  186. package/dist/esm/cli/lib/login.js.map +2 -2
  187. package/dist/esm/cli/lib/mcp/requestContext.js +1 -5
  188. package/dist/esm/cli/lib/mcp/requestContext.js.map +2 -2
  189. package/dist/esm/cli/lib/utils/aiAgent.js +10 -0
  190. package/dist/esm/cli/lib/utils/aiAgent.js.map +7 -0
  191. package/dist/esm/cli/lib/utils/utils.js +9 -16
  192. package/dist/esm/cli/lib/utils/utils.js.map +2 -2
  193. package/dist/esm/cli/login.js +112 -225
  194. package/dist/esm/cli/login.js.map +3 -3
  195. package/dist/esm/cli/logout.js +13 -110
  196. package/dist/esm/cli/logout.js.map +2 -2
  197. package/dist/esm/cli/mcp.js +10 -34
  198. package/dist/esm/cli/mcp.js.map +2 -2
  199. package/dist/esm/cli/program.js +1 -2
  200. package/dist/esm/cli/program.js.map +2 -2
  201. package/dist/esm/index.js +1 -1
  202. package/dist/esm/index.js.map +1 -1
  203. package/dist/esm/server/components/index.js.map +2 -2
  204. package/dist/esm/server/impl/authentication_impl.js +13 -0
  205. package/dist/esm/server/impl/authentication_impl.js.map +2 -2
  206. package/dist/esm/server/impl/registration_impl.js +2 -2
  207. package/dist/esm/server/impl/registration_impl.js.map +2 -2
  208. package/dist/esm/server/index.js.map +2 -2
  209. package/dist/esm/server/schema.js +0 -2
  210. package/dist/esm/server/schema.js.map +2 -2
  211. package/dist/esm-types/bundler/context.d.ts +0 -5
  212. package/dist/esm-types/bundler/context.d.ts.map +1 -1
  213. package/dist/esm-types/bundler/fs.d.ts +2 -7
  214. package/dist/esm-types/bundler/fs.d.ts.map +1 -1
  215. package/dist/esm-types/cli/aiFiles.d.ts.map +1 -1
  216. package/dist/esm-types/cli/configure.d.ts.map +1 -1
  217. package/dist/esm-types/cli/env.d.ts.map +1 -1
  218. package/dist/esm-types/cli/envDefault.d.ts.map +1 -1
  219. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.d.ts +3 -1
  220. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.d.ts.map +1 -1
  221. package/dist/esm-types/cli/lib/aiFiles/index.d.ts +11 -1
  222. package/dist/esm-types/cli/lib/aiFiles/index.d.ts.map +1 -1
  223. package/dist/esm-types/cli/lib/aiFiles/skills.d.ts +4 -1
  224. package/dist/esm-types/cli/lib/aiFiles/skills.d.ts.map +1 -1
  225. package/dist/esm-types/cli/lib/components.d.ts.map +1 -1
  226. package/dist/esm-types/cli/lib/deployApi/startPush.d.ts +13 -0
  227. package/dist/esm-types/cli/lib/deployApi/startPush.d.ts.map +1 -1
  228. package/dist/esm-types/cli/lib/deployment.d.ts +0 -2
  229. package/dist/esm-types/cli/lib/deployment.d.ts.map +1 -1
  230. package/dist/esm-types/cli/lib/deploymentSelection.d.ts +1 -2
  231. package/dist/esm-types/cli/lib/deploymentSelection.d.ts.map +1 -1
  232. package/dist/esm-types/cli/lib/env.d.ts +1 -0
  233. package/dist/esm-types/cli/lib/env.d.ts.map +1 -1
  234. package/dist/esm-types/cli/lib/envvars.d.ts +0 -6
  235. package/dist/esm-types/cli/lib/envvars.d.ts.map +1 -1
  236. package/dist/esm-types/cli/lib/fsUtils.d.ts +0 -1
  237. package/dist/esm-types/cli/lib/fsUtils.d.ts.map +1 -1
  238. package/dist/esm-types/cli/lib/localDeployment/dashboard.d.ts +6 -0
  239. package/dist/esm-types/cli/lib/localDeployment/dashboard.d.ts.map +1 -1
  240. package/dist/esm-types/cli/lib/localDeployment/download.d.ts.map +1 -1
  241. package/dist/esm-types/cli/lib/localDeployment/utils.d.ts +1 -0
  242. package/dist/esm-types/cli/lib/localDeployment/utils.d.ts.map +1 -1
  243. package/dist/esm-types/cli/lib/login.d.ts +1 -3
  244. package/dist/esm-types/cli/lib/login.d.ts.map +1 -1
  245. package/dist/esm-types/cli/lib/mcp/requestContext.d.ts.map +1 -1
  246. package/dist/esm-types/cli/lib/mcp/tools/insights.d.ts +2 -2
  247. package/dist/esm-types/cli/lib/utils/aiAgent.d.ts +8 -0
  248. package/dist/esm-types/cli/lib/utils/aiAgent.d.ts.map +1 -0
  249. package/dist/esm-types/cli/lib/utils/utils.d.ts +0 -5
  250. package/dist/esm-types/cli/lib/utils/utils.d.ts.map +1 -1
  251. package/dist/esm-types/cli/login.d.ts +0 -21
  252. package/dist/esm-types/cli/login.d.ts.map +1 -1
  253. package/dist/esm-types/cli/logout.d.ts +1 -8
  254. package/dist/esm-types/cli/logout.d.ts.map +1 -1
  255. package/dist/esm-types/cli/mcp.d.ts.map +1 -1
  256. package/dist/esm-types/cli/program.d.ts.map +1 -1
  257. package/dist/esm-types/index.d.ts +1 -1
  258. package/dist/esm-types/index.d.ts.map +1 -1
  259. package/dist/esm-types/server/authentication.d.ts +65 -0
  260. package/dist/esm-types/server/authentication.d.ts.map +1 -1
  261. package/dist/esm-types/server/components/index.d.ts +6 -0
  262. package/dist/esm-types/server/components/index.d.ts.map +1 -1
  263. package/dist/esm-types/server/impl/authentication_impl.d.ts +2 -1
  264. package/dist/esm-types/server/impl/authentication_impl.d.ts.map +1 -1
  265. package/dist/esm-types/server/index.d.ts +2 -2
  266. package/dist/esm-types/server/index.d.ts.map +1 -1
  267. package/dist/esm-types/server/meta.d.ts +8 -0
  268. package/dist/esm-types/server/meta.d.ts.map +1 -1
  269. package/dist/esm-types/server/registration.d.ts +5 -3
  270. package/dist/esm-types/server/registration.d.ts.map +1 -1
  271. package/dist/esm-types/server/schema.d.ts +0 -2
  272. package/dist/esm-types/server/schema.d.ts.map +1 -1
  273. package/dist/esm-types/server/storage.d.ts +28 -25
  274. package/dist/esm-types/server/storage.d.ts.map +1 -1
  275. package/dist/react.bundle.js +1 -1
  276. package/dist/react.bundle.js.map +1 -1
  277. package/package.json +3 -2
  278. package/schemas/convex.schema.json +1 -2
  279. package/src/bundler/context.ts +5 -9
  280. package/src/bundler/fs.ts +5 -54
  281. package/src/cli/aiFiles.ts +30 -4
  282. package/src/cli/configure.ts +2 -18
  283. package/src/cli/env.ts +4 -1
  284. package/src/cli/envDefault.ts +4 -1
  285. package/src/cli/lib/aiFiles/guidelinesmd.ts +7 -2
  286. package/src/cli/lib/aiFiles/index.ts +23 -3
  287. package/src/cli/lib/aiFiles/skills.ts +11 -7
  288. package/src/cli/lib/aiFiles/state.ts +1 -1
  289. package/src/cli/lib/components.ts +18 -3
  290. package/src/cli/lib/deployApi/startPush.ts +64 -0
  291. package/src/cli/lib/deployment.ts +2 -2
  292. package/src/cli/lib/deploymentSelection.ts +18 -37
  293. package/src/cli/lib/env.ts +13 -2
  294. package/src/cli/lib/envvars.ts +1 -43
  295. package/src/cli/lib/fsUtils.ts +2 -5
  296. package/src/cli/lib/generateDocs.ts +1 -1
  297. package/src/cli/lib/localDeployment/dashboard.ts +19 -0
  298. package/src/cli/lib/localDeployment/download.ts +17 -1
  299. package/src/cli/lib/localDeployment/utils.ts +4 -0
  300. package/src/cli/lib/login.ts +3 -47
  301. package/src/cli/lib/mcp/requestContext.ts +1 -7
  302. package/src/cli/lib/utils/aiAgent.ts +15 -0
  303. package/src/cli/lib/utils/utils.ts +15 -19
  304. package/src/cli/login.ts +168 -293
  305. package/src/cli/logout.ts +17 -142
  306. package/src/cli/mcp.ts +11 -48
  307. package/src/cli/program.ts +0 -2
  308. package/src/index.ts +1 -1
  309. package/src/server/authentication.ts +79 -0
  310. package/src/server/components/index.ts +11 -0
  311. package/src/server/impl/authentication_impl.ts +15 -1
  312. package/src/server/impl/registration_impl.ts +2 -2
  313. package/src/server/index.ts +6 -0
  314. package/src/server/meta.ts +0 -8
  315. package/src/server/registration.ts +5 -2
  316. package/src/server/schema.ts +0 -2
  317. package/src/server/storage.ts +29 -42
  318. package/dist/cjs/cli/account.js +0 -237
  319. package/dist/cjs/cli/account.js.map +0 -7
  320. package/dist/cjs/cli/lib/deployKeyWarning.js +0 -43
  321. package/dist/cjs/cli/lib/deployKeyWarning.js.map +0 -7
  322. package/dist/cjs/cli/lib/profileManagement.js +0 -196
  323. package/dist/cjs/cli/lib/profileManagement.js.map +0 -7
  324. package/dist/cjs/cli/lib/profiles.js +0 -333
  325. package/dist/cjs/cli/lib/profiles.js.map +0 -7
  326. package/dist/cjs-types/cli/account.d.ts +0 -6
  327. package/dist/cjs-types/cli/account.d.ts.map +0 -1
  328. package/dist/cjs-types/cli/lib/deployKeyWarning.d.ts +0 -3
  329. package/dist/cjs-types/cli/lib/deployKeyWarning.d.ts.map +0 -1
  330. package/dist/cjs-types/cli/lib/profileManagement.d.ts +0 -10
  331. package/dist/cjs-types/cli/lib/profileManagement.d.ts.map +0 -1
  332. package/dist/cjs-types/cli/lib/profiles.d.ts +0 -59
  333. package/dist/cjs-types/cli/lib/profiles.d.ts.map +0 -1
  334. package/dist/esm/cli/account.js +0 -221
  335. package/dist/esm/cli/account.js.map +0 -7
  336. package/dist/esm/cli/lib/deployKeyWarning.js +0 -27
  337. package/dist/esm/cli/lib/deployKeyWarning.js.map +0 -7
  338. package/dist/esm/cli/lib/profileManagement.js +0 -179
  339. package/dist/esm/cli/lib/profileManagement.js.map +0 -7
  340. package/dist/esm/cli/lib/profiles.js +0 -288
  341. package/dist/esm/cli/lib/profiles.js.map +0 -7
  342. package/dist/esm-types/cli/account.d.ts +0 -6
  343. package/dist/esm-types/cli/account.d.ts.map +0 -1
  344. package/dist/esm-types/cli/lib/deployKeyWarning.d.ts +0 -3
  345. package/dist/esm-types/cli/lib/deployKeyWarning.d.ts.map +0 -1
  346. package/dist/esm-types/cli/lib/profileManagement.d.ts +0 -10
  347. package/dist/esm-types/cli/lib/profileManagement.d.ts.map +0 -1
  348. package/dist/esm-types/cli/lib/profiles.d.ts +0 -59
  349. package/dist/esm-types/cli/lib/profiles.d.ts.map +0 -1
  350. package/src/cli/account.ts +0 -320
  351. package/src/cli/lib/deployKeyWarning.ts +0 -43
  352. package/src/cli/lib/profileManagement.ts +0 -262
  353. package/src/cli/lib/profiles.ts +0 -398
package/src/cli/mcp.ts CHANGED
@@ -1,4 +1,3 @@
1
- import path from "path";
2
1
  import { Command, Option } from "@commander-js/extra-typings";
3
2
  import { oneoffContext } from "../bundler/context.js";
4
3
  import { logError } from "../bundler/log.js";
@@ -7,7 +6,6 @@ import { serveStdio } from "@modelcontextprotocol/server/stdio";
7
6
  import { actionDescription } from "./lib/command.js";
8
7
  import { checkAuthorization } from "./lib/login.js";
9
8
  import {
10
- encodeDeploymentSelector,
11
9
  McpOptions,
12
10
  RequestContext,
13
11
  RequestCrash,
@@ -117,14 +115,6 @@ function enabledTools(
117
115
  export function makeServer(options: McpOptions) {
118
116
  const enabledToolsByName = enabledTools(options);
119
117
  const mutex = new Mutex();
120
- const serverDirectory = process.cwd();
121
- options = {
122
- ...options,
123
- envFile:
124
- options.envFile === undefined
125
- ? undefined
126
- : path.resolve(serverDirectory, options.envFile),
127
- };
128
118
  const server = new Server(
129
119
  {
130
120
  name: "Convex MCP Server",
@@ -138,7 +128,17 @@ export function makeServer(options: McpOptions) {
138
128
  );
139
129
  server.setRequestHandler("tools/call", async (request: CallToolRequest) => {
140
130
  const ctx = new RequestContext(options);
131
+ await initializeBigBrainAuth(ctx, options);
141
132
  try {
133
+ const authorized = await checkAuthorization(ctx, false);
134
+ if (!authorized) {
135
+ await ctx.crash({
136
+ exitCode: 1,
137
+ errorType: "fatal",
138
+ printedMessage:
139
+ "Not Authorized: Run `npx convex dev` to login to your Convex project.",
140
+ });
141
+ }
142
142
  if (!request.params.arguments) {
143
143
  await ctx.crash({
144
144
  exitCode: 1,
@@ -158,44 +158,7 @@ export function makeServer(options: McpOptions) {
158
158
 
159
159
  // Serialize tool handlers since they're mutating the current working directory.
160
160
  const result = await mutex.runExclusive(async () => {
161
- const projectDir =
162
- "deploymentSelector" in input
163
- ? ctx.decodeDeploymentSelectorUnchecked(input.deploymentSelector)
164
- .projectDir
165
- : (("projectDir" in input ? input.projectDir : undefined) ??
166
- options.projectDir);
167
- const previousDirectory = process.cwd();
168
- try {
169
- if (projectDir !== undefined)
170
- process.chdir(path.resolve(serverDirectory, projectDir));
171
- await initializeBigBrainAuth(ctx, options);
172
- if (!(await checkAuthorization(ctx, false))) {
173
- await ctx.crash({
174
- exitCode: 1,
175
- errorType: "fatal",
176
- printedMessage:
177
- "Not Authorized: Run `npx convex dev` to login to your Convex project.",
178
- });
179
- }
180
- const absoluteDirectory = process.cwd();
181
- const resolvedInput =
182
- "deploymentSelector" in input
183
- ? {
184
- ...input,
185
- deploymentSelector: encodeDeploymentSelector(
186
- absoluteDirectory,
187
- ctx.decodeDeploymentSelectorUnchecked(
188
- input.deploymentSelector,
189
- ).deployment,
190
- ),
191
- }
192
- : projectDir === undefined
193
- ? input
194
- : { ...input, projectDir: absoluteDirectory };
195
- return await convexTool.handler(ctx, resolvedInput);
196
- } finally {
197
- process.chdir(previousDirectory);
198
- }
161
+ return await convexTool.handler(ctx, input);
199
162
  });
200
163
  return {
201
164
  content: [
@@ -21,7 +21,6 @@ import { logout } from "./logout.js";
21
21
  import { logs } from "./logs.js";
22
22
  import { mcp } from "./mcp.js";
23
23
  import { networkTest } from "./network_test.js";
24
- import { account } from "./account.js";
25
24
  import { project } from "./project.js";
26
25
  import { reinit } from "./reinit.js";
27
26
  import { run } from "./run.js";
@@ -57,7 +56,6 @@ export function buildProgram() {
57
56
  .addCommand(codegen)
58
57
  .addCommand(update)
59
58
  .addCommand(logout)
60
- .addCommand(account)
61
59
  .addCommand(networkTest, { hidden: true })
62
60
  .addCommand(integration, { hidden: true })
63
61
  .addCommand(functionSpec)
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- export const version = "1.48.0-alpha.0";
1
+ export const version = "1.48.0";
@@ -235,3 +235,82 @@ export interface Auth {
235
235
  */
236
236
  getUserIdentity(): Promise<UserIdentity | null>;
237
237
  }
238
+
239
+ /**
240
+ * {@link Auth} for mutations, which can also sign JWTs with this deployment's
241
+ * key.
242
+ *
243
+ * @public
244
+ */
245
+ export interface MutationAuth extends Auth {
246
+ /**
247
+ * Sign an ES256 JWT with this deployment's key.
248
+ *
249
+ * Pass the `claims` and `expiresInSeconds` values that match your use case.
250
+ *
251
+ * Convex populates the header and sets the `iss`, `iat` and `exp` claims.
252
+ *
253
+ * The `iss` is `process.env.CONVEX_CLOUD_URL` for the app and
254
+ * `${process.env.CONVEX_CLOUD_URL}/components/<name>` for a component.
255
+ *
256
+ * Anyone can verify these tokens against the public keys at
257
+ * `${process.env.CONVEX_CLOUD_URL}/.well-known/jwks.json`.
258
+ *
259
+ * Claims are signed but not encrypted, so anyone holding the token can read
260
+ * them.
261
+ *
262
+ * Prefer short token lifetimes: a token can't be revoked individually, and a
263
+ * mutation can always sign a fresh one to reassert the claims. This API
264
+ * allows a token to have a max expiration of 1 hour from issuance.
265
+ *
266
+ * Claims that start with `convex` or `cvx` (case insensitive) and the `nbf`
267
+ * claim are reserved and may not be set.
268
+ */
269
+ signJwt(options: SignJwtOptions): Promise<string>;
270
+ }
271
+
272
+ /**
273
+ * Claims that callers may not set on JWTs with {@link MutationAuth.signJwt}.
274
+ */
275
+ export type ReservedJwtClaim = "iss" | "iat" | "exp" | "nbf";
276
+
277
+ /**
278
+ * Every ASCII casing of `S`: `AnyCase<"cvx">` is `"cvx" | "cvX" | "cVx" | ...`.
279
+ */
280
+ type AnyCase<S extends string> = S extends `${infer First}${infer Rest}`
281
+ ? `${Lowercase<First> | Uppercase<First>}${AnyCase<Rest>}`
282
+ : S;
283
+
284
+ /**
285
+ * Claim names starting with `convex` or `cvx`, in any casing, are reserved
286
+ * for Convex. They may not be set on JWTs with {@link MutationAuth.signJwt}.
287
+ */
288
+ // NOTE: only relatively short prefixes should ever be passed below. The AnyCase
289
+ // type produces 2^length string literals which can get out of hand for anything
290
+ // but short strings.
291
+ export type ReservedJwtClaimPrefix = AnyCase<"convex" | "cvx">;
292
+
293
+ /**
294
+ * Rejects claim names starting with a {@link ReservedJwtClaimPrefix}.
295
+ */
296
+ // Kept as a named alias rather than inlined into SignJwtClaims: typedoc's
297
+ // markdown renderer mangles template-literal index signatures into invalid
298
+ // MDX, but renders a reference to a named type as plain text.
299
+ type ReservedPrefixJwtClaims = {
300
+ [K: `${ReservedJwtClaimPrefix}${string}`]: never;
301
+ };
302
+
303
+ /**
304
+ * The claims a caller passes to {@link MutationAuth.signJwt}: any JSON value,
305
+ * except for the {@link ReservedJwtClaim}s and names starting with a
306
+ * {@link ReservedJwtClaimPrefix}.
307
+ */
308
+ export type SignJwtClaims = Record<string, JSONValue> & {
309
+ [K in ReservedJwtClaim]?: never;
310
+ } & ReservedPrefixJwtClaims;
311
+
312
+ export type SignJwtOptions = {
313
+ claims?: SignJwtClaims;
314
+ /** How long the token stays valid, at least 1 second and at most 1 hour. */
315
+ expiresInSeconds: number;
316
+ };
@@ -49,6 +49,17 @@ export type FunctionHandle<
49
49
  ReturnType = any,
50
50
  > = string & FunctionReference<Type, "internal", Args, ReturnType>;
51
51
 
52
+ /**
53
+ * A {@link FunctionHandle} with the type semantics of {@link FunctionReference_future}.
54
+ *
55
+ * @public
56
+ */
57
+ export type FunctionHandle_future<
58
+ Type extends FunctionType,
59
+ Args extends DefaultFunctionArgs = any,
60
+ ReturnType = any,
61
+ > = string & FunctionReference_future<Type, "internal", Args, ReturnType>;
62
+
52
63
  /**
53
64
  * Create a serializable reference to a Convex function.
54
65
  * Passing a this reference to another component allows that component to call this
@@ -1,4 +1,5 @@
1
- import { Auth } from "../authentication.js";
1
+ import { Auth, MutationAuth } from "../authentication.js";
2
+ import { version } from "../../index.js";
2
3
  import { performAsyncSyscall } from "./syscall.js";
3
4
 
4
5
  export function setupAuth(requestId: string): Auth {
@@ -10,3 +11,16 @@ export function setupAuth(requestId: string): Auth {
10
11
  },
11
12
  };
12
13
  }
14
+
15
+ export function setupMutationAuth(requestId: string): MutationAuth {
16
+ return {
17
+ ...setupAuth(requestId),
18
+ signJwt: async (options) => {
19
+ return await performAsyncSyscall("1.0/signJwt", {
20
+ requestId,
21
+ version,
22
+ ...options,
23
+ });
24
+ },
25
+ };
26
+ }
@@ -24,7 +24,7 @@ import {
24
24
  } from "../registration.js";
25
25
  import { setupActionCalls } from "./actions_impl.js";
26
26
  import { setupActionVectorSearch } from "./vector_search_impl.js";
27
- import { setupAuth } from "./authentication_impl.js";
27
+ import { setupAuth, setupMutationAuth } from "./authentication_impl.js";
28
28
  import { setupReader, setupWriter } from "./database_impl.js";
29
29
  import { QueryImpl, QueryInitializerImpl } from "./query_impl.js";
30
30
  import {
@@ -55,7 +55,7 @@ async function invokeMutation<
55
55
  const args = jsonToConvex(JSON.parse(argsStr));
56
56
  const mutationCtx = {
57
57
  db: setupWriter(),
58
- auth: setupAuth(requestId),
58
+ auth: setupMutationAuth(requestId),
59
59
  storage: setupStorageWriter(requestId),
60
60
  scheduler: setupMutationScheduler(),
61
61
  meta: setupMutationMeta(visibility),
@@ -55,7 +55,12 @@ export type {
55
55
  Auth,
56
56
  AuthConfig,
57
57
  AuthProvider,
58
+ MutationAuth,
58
59
  UserIdentity,
60
+ ReservedJwtClaim,
61
+ ReservedJwtClaimPrefix,
62
+ SignJwtClaims,
63
+ SignJwtOptions,
59
64
  UserIdentityAttributes,
60
65
  } from "./authentication.js";
61
66
  export * from "./database.js";
@@ -209,6 +214,7 @@ export type {
209
214
  ComponentDefinition,
210
215
  AnyComponents,
211
216
  FunctionHandle,
217
+ FunctionHandle_future,
212
218
  } from "./components/index.js";
213
219
 
214
220
  /**
@@ -26,13 +26,9 @@ export type TransactionMetrics = {
26
26
  documentsWritten: TransactionMetric;
27
27
  functionsScheduled: TransactionMetric;
28
28
  scheduledFunctionArgsBytes: TransactionMetric;
29
- /** @internal */
30
29
  filesWritten: TransactionMetric;
31
- /** @internal */
32
30
  fileWriteBytes: TransactionMetric;
33
- /** @internal */
34
31
  filesRead: TransactionMetric;
35
- /** @internal */
36
32
  fileReadBytes: TransactionMetric;
37
33
  };
38
34
 
@@ -51,13 +47,9 @@ export interface TransactionLimits {
51
47
  documentsWritten?: number;
52
48
  functionsScheduled?: number;
53
49
  scheduledFunctionArgsBytes?: number;
54
- /** @internal */
55
50
  filesWritten?: number;
56
- /** @internal */
57
51
  fileWriteBytes?: number;
58
- /** @internal */
59
52
  filesRead?: number;
60
- /** @internal */
61
53
  fileReadBytes?: number;
62
54
  }
63
55
 
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  Auth,
3
+ MutationAuth,
3
4
  GenericDatabaseReader,
4
5
  GenericDatabaseReaderWithTable,
5
6
  GenericDatabaseWriter,
@@ -87,12 +88,14 @@ export interface GenericMutationCtx<DataModel extends GenericDataModel> {
87
88
  db: GenericDatabaseWriter<DataModel>;
88
89
 
89
90
  /**
90
- * Information about the currently authenticated user.
91
+ * Auth functionality for mutations.
91
92
  *
92
93
  * Call `await ctx.auth.getUserIdentity()` to get the current user's identity,
93
94
  * or `null` if the user is not authenticated.
95
+ *
96
+ * `ctx.auth.signJwt` is available for creating deployment issued JWTs.
94
97
  */
95
- auth: Auth;
98
+ auth: MutationAuth;
96
99
 
97
100
  /**
98
101
  * A utility for reading and writing files in storage.
@@ -226,8 +226,6 @@ export class TableDefinition<
226
226
  *
227
227
  * Returns indexes defined on this table.
228
228
  * Intended for the advanced use cases of dynamically deciding which index to use for a query.
229
- * If you think you need this, please chime in on ths issue in the Convex JS GitHub repo.
230
- * https://github.com/get-convex/convex-js/issues/49
231
229
  */
232
230
  " indexes"(): { indexDescriptor: string; fields: string[] }[] {
233
231
  return this.indexes;
@@ -133,9 +133,9 @@ export interface StorageReader {
133
133
  }
134
134
 
135
135
  /**
136
- * An interface to write files to storage within Convex mutation functions.
136
+ * An interface to read and write files to storage within Convex mutation functions.
137
137
  *
138
- * Available as `ctx.storage` in mutations.
138
+ * Available as `ctx.storage` in mutations, actions, and HTTP actions.
139
139
  *
140
140
  * @see https://docs.convex.dev/file-storage
141
141
  * @public
@@ -195,46 +195,12 @@ export interface StorageWriter extends StorageReader {
195
195
  storageId: T extends { __tableName: any } ? never : T,
196
196
  ): Promise<void>;
197
197
 
198
- /**
199
- * @internal
200
- */
201
- // TODO: move `store` from StorageActionWriter to StorageWriter when mutation
202
- // file storage access is ready for release
203
- store(
204
- blob: Blob,
205
- options?: { sha256?: string },
206
- ): Promise<GenericId<"_storage">>;
207
-
208
- /**
209
- * @internal
210
- */
211
- // TODO: move `get` from StorageActionWriter to StorageWriter when mutation
212
- // file storage access is ready for release
213
- get(storageId: GenericId<"_storage">): Promise<Blob | null>;
214
- }
215
-
216
- /**
217
- * An interface to read and write files to storage within Convex actions and HTTP actions.
218
- *
219
- * In actions, `ctx.storage` has additional methods not available in mutations:
220
- * `get()` to download a file as a Blob, and `store()` to upload a Blob directly.
221
- *
222
- * @example
223
- * ```typescript
224
- * // In an action, download and re-upload a file:
225
- * const blob = await ctx.storage.get(storageId);
226
- * if (blob) {
227
- * const newStorageId = await ctx.storage.store(blob);
228
- * }
229
- * ```
230
- *
231
- * @public
232
- */
233
- export interface StorageActionWriter extends StorageWriter {
234
198
  /**
235
199
  * Download a file from storage as a Blob.
236
200
  *
237
- * Only available in actions and HTTP actions (not in mutations or queries).
201
+ * In mutations, files read count toward the transaction's `filesRead` and
202
+ * `fileReadBytes` limits. Use
203
+ * `ctx.meta.getTransactionMetrics()` to check the remaining headroom.
238
204
  *
239
205
  * @param storageId - The `Id<"_storage">` of the file.
240
206
  * @returns A Blob containing the file contents, or `null` if the file doesn't exist.
@@ -249,16 +215,21 @@ export interface StorageActionWriter extends StorageWriter {
249
215
  get<T extends StorageId>(
250
216
  storageId: T extends { __tableName: any } ? never : T,
251
217
  ): Promise<Blob | null>;
218
+
252
219
  /**
253
220
  * Upload a Blob directly to storage.
254
221
  *
255
- * Only available in actions and HTTP actions. For client-side uploads from
256
- * mutations, use `generateUploadUrl()` instead.
222
+ * To upload files from a client, use {@link StorageWriter.generateUploadUrl}
223
+ * instead.
224
+ *
225
+ * In mutations, files stored count toward the transaction's `filesWritten`
226
+ * and `fileWriteBytes` limits. Use
227
+ * `ctx.meta.getTransactionMetrics()` to check the remaining headroom.
257
228
  *
258
229
  * @example
259
230
  * ```typescript
260
231
  * const storageId = await ctx.storage.store(blob);
261
- * // Save storageId to the database via ctx.runMutation
232
+ * // If in an action, save storageId to the database via ctx.runMutation
262
233
  * ```
263
234
  *
264
235
  * @param blob - The Blob to store.
@@ -270,3 +241,19 @@ export interface StorageActionWriter extends StorageWriter {
270
241
  options?: { sha256?: string },
271
242
  ): Promise<GenericId<"_storage">>;
272
243
  }
244
+
245
+ /**
246
+ * An interface to read and write files to storage within Convex actions and HTTP actions.
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * // In an action, download and re-upload a file:
251
+ * const blob = await ctx.storage.get(storageId);
252
+ * if (blob) {
253
+ * const newStorageId = await ctx.storage.store(blob);
254
+ * }
255
+ * ```
256
+ *
257
+ * @public
258
+ */
259
+ export interface StorageActionWriter extends StorageWriter {}