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
@@ -1,333 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var profiles_exports = {};
30
- __export(profiles_exports, {
31
- findProfileDirectory: () => findProfileDirectory,
32
- getProfileSelection: () => getProfileSelection,
33
- initializeDefaultProfile: () => initializeDefaultProfile,
34
- legacyAuthForFirstProfile: () => legacyAuthForFirstProfile,
35
- profileConfigPath: () => profileConfigPath,
36
- readProfileAuth: () => readProfileAuth,
37
- readProfileCredentials: () => readProfileCredentials,
38
- readProfileSettings: () => readProfileSettings,
39
- readProfileToken: () => readProfileToken,
40
- savedProfileNames: () => savedProfileNames,
41
- updateProfileSettings: () => updateProfileSettings,
42
- validateProfileName: () => validateProfileName,
43
- writeProfileCredentials: () => writeProfileCredentials,
44
- writeProfileDirectory: () => writeProfileDirectory
45
- });
46
- module.exports = __toCommonJS(profiles_exports);
47
- var import_path = __toESM(require("path"), 1);
48
- var import_util = require("util");
49
- var import_crypto = require("crypto");
50
- var dotenv = __toESM(require("dotenv"), 1);
51
- var import_zod = require("zod");
52
- var import_log = require("../../bundler/log.js");
53
- var import_globalConfig = require("./utils/globalConfig.js");
54
- var import_utils = require("./utils/utils.js");
55
- var import_envvars = require("./envvars.js");
56
- const settingsSchema = import_zod.z.object({
57
- defaultProfile: import_zod.z.string().optional(),
58
- directories: import_zod.z.record(import_zod.z.string()).optional(),
59
- revokeReplacedTokens: import_zod.z.boolean().optional()
60
- }).passthrough();
61
- const credentialsSchema = import_zod.z.object({
62
- accessToken: import_zod.z.string().min(1),
63
- memberId: import_zod.z.string().optional(),
64
- email: import_zod.z.string().optional()
65
- }).passthrough();
66
- async function readProfileSettings(ctx) {
67
- if (!ctx.fs.exists((0, import_globalConfig.globalConfigPath)())) return {};
68
- try {
69
- return settingsSchema.parse(
70
- JSON.parse(ctx.fs.readUtf8File((0, import_globalConfig.globalConfigPath)()))
71
- );
72
- } catch {
73
- return await ctx.crash({
74
- exitCode: 1,
75
- errorType: "invalid filesystem data",
76
- printedMessage: `Unable to read account settings from ${(0, import_globalConfig.globalConfigPath)()}. Check defaultProfile, directories, and revokeReplacedTokens.`
77
- });
78
- }
79
- }
80
- function writeProfileSettings(ctx, settings) {
81
- if (Object.keys(settings).length === 0) {
82
- if (ctx.fs.exists((0, import_globalConfig.globalConfigPath)())) ctx.fs.unlink((0, import_globalConfig.globalConfigPath)());
83
- return;
84
- }
85
- const temporary = `${(0, import_globalConfig.globalConfigPath)()}.${(0, import_crypto.randomUUID)()}.tmp`;
86
- try {
87
- ctx.fs.writeUtf8File(temporary, JSON.stringify(settings, null, 2), 384);
88
- ctx.fs.swapTmpFile(temporary, (0, import_globalConfig.globalConfigPath)());
89
- } finally {
90
- if (ctx.fs.exists(temporary)) ctx.fs.unlink(temporary);
91
- }
92
- }
93
- async function updateProfileSettings(ctx, update, afterWrite) {
94
- const lockPath = `${(0, import_globalConfig.globalConfigPath)()}.lock`;
95
- ctx.fs.mkdir((0, import_utils.rootDirectory)(), { allowExisting: true });
96
- const deadline = Date.now() + 5e3;
97
- for (; ; ) {
98
- try {
99
- ctx.fs.mkdir(lockPath);
100
- break;
101
- } catch (err) {
102
- if (err.code !== "EEXIST") throw err;
103
- if (Date.now() >= deadline) {
104
- return await ctx.crash({
105
- exitCode: 1,
106
- errorType: "fatal",
107
- printedMessage: `Another command is updating Convex accounts. Retry after it finishes. If it was interrupted, remove ${lockPath}.`
108
- });
109
- }
110
- await new Promise((resolve) => setTimeout(resolve, 25));
111
- }
112
- }
113
- let released = false;
114
- const release = () => {
115
- if (released) return;
116
- ctx.fs.rmdir(lockPath);
117
- released = true;
118
- };
119
- const cleanup = ctx.registerCleanup(async () => release());
120
- try {
121
- const settings = await readProfileSettings(ctx);
122
- const result = await update(settings);
123
- writeProfileSettings(ctx, settings);
124
- afterWrite?.();
125
- return result;
126
- } finally {
127
- ctx.removeCleanup(cleanup);
128
- release();
129
- }
130
- }
131
- function profileConfigPath(name) {
132
- return import_path.default.join(
133
- (0, import_utils.rootDirectory)(),
134
- "profiles",
135
- `${encodeURIComponent(name)}.json`
136
- );
137
- }
138
- async function validateProfileName(ctx, name) {
139
- if (!/^[a-z0-9][a-z0-9_-]*$/.test(name)) {
140
- await ctx.crash({
141
- exitCode: 1,
142
- errorType: "invalid filesystem or env vars",
143
- printedMessage: "Account names must start with a lowercase letter or number and contain only lowercase letters, numbers, hyphens, and underscores."
144
- });
145
- }
146
- }
147
- async function getProfileSelection(ctx, options = {}) {
148
- let name = options.name;
149
- let source = "--account";
150
- if (name === void 0 && process.env[import_envvars.CONVEX_ACCOUNT_ENV_VAR] !== void 0) {
151
- name = process.env[import_envvars.CONVEX_ACCOUNT_ENV_VAR];
152
- source = `${import_envvars.CONVEX_ACCOUNT_ENV_VAR} environment variable`;
153
- }
154
- if (name === void 0) {
155
- const files = options.envFile ? [options.envFile] : [import_utils.ENV_VAR_FILE_PATH, ".env"];
156
- for (const file of files) {
157
- if (!ctx.fs.exists(file)) continue;
158
- name = dotenv.parse(ctx.fs.readUtf8File(file))[import_envvars.CONVEX_ACCOUNT_ENV_VAR];
159
- if (name !== void 0) {
160
- source = `${import_envvars.CONVEX_ACCOUNT_ENV_VAR} in ${file}`;
161
- break;
162
- }
163
- }
164
- }
165
- if (name === void 0) {
166
- const config = await readProfileSettings(ctx);
167
- const binding = findProfileDirectory(
168
- config.directories ?? {},
169
- process.cwd()
170
- );
171
- name = binding?.name ?? config.defaultProfile;
172
- source = binding ? `directory selection for ${binding.directory}` : `default account in ${(0, import_globalConfig.globalConfigPath)()}`;
173
- }
174
- if (name === void 0) return null;
175
- await validateProfileName(ctx, name);
176
- return { name, source };
177
- }
178
- async function readProfileAuth(ctx, profile, allowMissing = false) {
179
- const credentials = await readProfileCredentials(ctx, profile, allowMissing);
180
- return credentials === null ? null : {
181
- kind: "accessToken",
182
- accessToken: credentials.accessToken,
183
- header: `Bearer ${credentials.accessToken}`,
184
- profile
185
- };
186
- }
187
- async function readProfileCredentials(ctx, profile, allowMissing = false) {
188
- await validateProfileName(ctx, profile.name);
189
- const configPath = profileConfigPath(profile.name);
190
- if (!ctx.fs.exists(configPath)) {
191
- if (allowMissing) return null;
192
- return await ctx.crash({
193
- exitCode: 1,
194
- errorType: "invalid filesystem data",
195
- printedMessage: `Account "${profile.name}" selected by ${profile.source} is not logged in. Run \`npx convex login --account ${profile.name}\`.`
196
- });
197
- }
198
- try {
199
- return credentialsSchema.parse(JSON.parse(ctx.fs.readUtf8File(configPath)));
200
- } catch {
201
- return await ctx.crash({
202
- exitCode: 1,
203
- errorType: "invalid filesystem data",
204
- printedMessage: `Unable to read credentials for account "${profile.name}" from ${configPath}.`
205
- });
206
- }
207
- }
208
- function readProfileToken(ctx, name) {
209
- try {
210
- const token = JSON.parse(
211
- ctx.fs.readUtf8File(profileConfigPath(name))
212
- ).accessToken;
213
- return typeof token === "string" && token.length > 0 ? token : null;
214
- } catch {
215
- return null;
216
- }
217
- }
218
- async function writeCredentialsFile(ctx, name, credentials) {
219
- const configPath = profileConfigPath(name);
220
- const directory = import_path.default.dirname(configPath);
221
- ctx.fs.mkdir(directory, { allowExisting: true });
222
- for (const dir of [(0, import_utils.rootDirectory)(), directory]) {
223
- if (!ctx.fs.lstat(dir).isDirectory()) {
224
- return await ctx.crash({
225
- exitCode: 1,
226
- errorType: "invalid filesystem data",
227
- printedMessage: `Cannot save account credentials through a symlink or non-directory: ${dir}.`
228
- });
229
- }
230
- }
231
- const temporary = `${configPath}.${(0, import_crypto.randomUUID)()}.tmp`;
232
- try {
233
- ctx.fs.writeUtf8File(
234
- temporary,
235
- JSON.stringify(credentials, null, 2),
236
- 384
237
- );
238
- ctx.fs.swapTmpFile(temporary, configPath);
239
- } finally {
240
- if (ctx.fs.exists(temporary)) ctx.fs.unlink(temporary);
241
- }
242
- }
243
- async function writeProfileCredentials(ctx, name, accessToken, metadata = {}, expected) {
244
- await validateProfileName(ctx, name);
245
- await updateProfileSettings(ctx, async (settings) => {
246
- if (expected !== void 0) {
247
- const current = await readProfileCredentials(
248
- ctx,
249
- { name, source: "login" },
250
- true
251
- );
252
- if (!(0, import_util.isDeepStrictEqual)(current, expected)) {
253
- return await ctx.crash({
254
- exitCode: 1,
255
- errorType: "fatal",
256
- printedMessage: `Account "${name}" changed during login. Retry the login.`
257
- });
258
- }
259
- }
260
- await writeCredentialsFile(ctx, name, { ...metadata, accessToken });
261
- if (settings.defaultProfile === name) settings.accessToken = accessToken;
262
- });
263
- }
264
- async function legacyAuthForFirstProfile(ctx, profile) {
265
- const settings = await readProfileSettings(ctx);
266
- const profilesDir = import_path.default.dirname(profileConfigPath(profile.name));
267
- if (settings.defaultProfile !== void 0 || ctx.fs.exists(profilesDir) && ctx.fs.listDir(profilesDir).some((entry) => entry.name.endsWith(".json"))) {
268
- return null;
269
- }
270
- const config = (0, import_globalConfig.readGlobalConfig)(ctx);
271
- return config === null ? null : {
272
- kind: "accessToken",
273
- accessToken: config.accessToken,
274
- header: `Bearer ${config.accessToken}`,
275
- profile
276
- };
277
- }
278
- async function initializeDefaultProfile(ctx, profile, namingLegacyAccount, select = true) {
279
- const defaultProfile = await updateProfileSettings(ctx, async (settings) => {
280
- if (settings.defaultProfile !== void 0) return void 0;
281
- const credentials = await readProfileCredentials(ctx, profile);
282
- const accessToken = credentials.accessToken;
283
- const legacyToken = settings.accessToken;
284
- if (!select && (savedProfileNames(ctx).some((name) => name !== profile.name) || !namingLegacyAccount && typeof legacyToken === "string" && legacyToken.length > 0 && legacyToken !== accessToken))
285
- return void 0;
286
- if (!namingLegacyAccount && typeof legacyToken === "string" && legacyToken.length > 0 && legacyToken !== accessToken) {
287
- let legacyName = "default";
288
- for (let suffix = 2; ctx.fs.exists(profileConfigPath(legacyName)); suffix++) {
289
- legacyName = `default-${suffix}`;
290
- }
291
- await writeCredentialsFile(ctx, legacyName, { accessToken: legacyToken });
292
- settings.defaultProfile = legacyName;
293
- } else {
294
- settings.defaultProfile = profile.name;
295
- settings.accessToken = accessToken;
296
- }
297
- return settings.defaultProfile;
298
- });
299
- if (defaultProfile !== void 0)
300
- (0, import_log.logFinishedStep)(`Default account: ${defaultProfile}`);
301
- }
302
- function findProfileDirectory(directories, cwd) {
303
- let directory = import_path.default.resolve(cwd);
304
- for (; ; ) {
305
- if (Object.hasOwn(directories, directory)) {
306
- return { directory, name: directories[directory] };
307
- }
308
- const parent = import_path.default.dirname(directory);
309
- if (parent === directory) return null;
310
- directory = parent;
311
- }
312
- }
313
- function savedProfileNames(ctx) {
314
- const directory = import_path.default.join((0, import_utils.rootDirectory)(), "profiles");
315
- if (!ctx.fs.exists(directory)) return [];
316
- return ctx.fs.listDir(directory).filter((entry) => entry.name.endsWith(".json")).map((entry) => entry.name.slice(0, -5)).sort();
317
- }
318
- async function writeProfileDirectory(ctx, name) {
319
- await validateProfileName(ctx, name);
320
- await updateProfileSettings(ctx, (settings) => {
321
- settings.directories = { ...settings.directories, [process.cwd()]: name };
322
- });
323
- (0, import_log.logFinishedStep)(
324
- `Saved directory selection: ${name} (applies to this directory and its subdirectories).`
325
- );
326
- const selected = await getProfileSelection(ctx);
327
- if (selected !== null && selected.name !== name) {
328
- (0, import_log.logWarning)(
329
- `Account "${selected.name}" selected by ${selected.source} overrides this directory selection. Remove that override to use account "${name}".`
330
- );
331
- }
332
- }
333
- //# sourceMappingURL=profiles.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/cli/lib/profiles.ts"],
4
- "sourcesContent": ["import path from \"path\";\nimport { isDeepStrictEqual } from \"util\";\nimport { randomUUID } from \"crypto\";\nimport { TempPath } from \"../../bundler/fs.js\";\nimport * as dotenv from \"dotenv\";\nimport { z } from \"zod\";\nimport { BigBrainAuth, Context } from \"../../bundler/context.js\";\nimport { logFinishedStep, logWarning } from \"../../bundler/log.js\";\nimport { globalConfigPath, readGlobalConfig } from \"./utils/globalConfig.js\";\nimport { ENV_VAR_FILE_PATH, rootDirectory } from \"./utils/utils.js\";\n\nimport { CONVEX_ACCOUNT_ENV_VAR } from \"./envvars.js\";\n\nexport type ProfileSelection = {\n name: string;\n source: string;\n};\n\nconst settingsSchema = z\n .object({\n defaultProfile: z.string().optional(),\n directories: z.record(z.string()).optional(),\n revokeReplacedTokens: z.boolean().optional(),\n })\n .passthrough();\n\nconst credentialsSchema = z\n .object({\n accessToken: z.string().min(1),\n memberId: z.string().optional(),\n email: z.string().optional(),\n })\n .passthrough();\n\nexport type ProfileCredentials = z.infer<typeof credentialsSchema>;\n\nexport async function readProfileSettings(\n ctx: Context,\n): Promise<z.infer<typeof settingsSchema>> {\n if (!ctx.fs.exists(globalConfigPath())) return {};\n try {\n return settingsSchema.parse(\n JSON.parse(ctx.fs.readUtf8File(globalConfigPath())),\n );\n } catch {\n return await ctx.crash({\n exitCode: 1,\n errorType: \"invalid filesystem data\",\n printedMessage: `Unable to read account settings from ${globalConfigPath()}. Check defaultProfile, directories, and revokeReplacedTokens.`,\n });\n }\n}\n\nfunction writeProfileSettings(ctx: Context, settings: Record<string, unknown>) {\n if (Object.keys(settings).length === 0) {\n if (ctx.fs.exists(globalConfigPath())) ctx.fs.unlink(globalConfigPath());\n return;\n }\n const temporary = `${globalConfigPath()}.${randomUUID()}.tmp` as TempPath;\n try {\n ctx.fs.writeUtf8File(temporary, JSON.stringify(settings, null, 2), 0o600);\n ctx.fs.swapTmpFile(temporary, globalConfigPath());\n } finally {\n if (ctx.fs.exists(temporary)) ctx.fs.unlink(temporary);\n }\n}\n\nexport async function updateProfileSettings<T>(\n ctx: Context,\n update: (settings: z.infer<typeof settingsSchema>) => T | Promise<T>,\n afterWrite?: () => void,\n): Promise<T> {\n const lockPath = `${globalConfigPath()}.lock`;\n ctx.fs.mkdir(rootDirectory(), { allowExisting: true });\n const deadline = Date.now() + 5000;\n for (;;) {\n try {\n ctx.fs.mkdir(lockPath);\n break;\n } catch (err: any) {\n // Only the process that creates the directory owns the update lock.\n // eslint-disable-next-line no-restricted-syntax\n if (err.code !== \"EEXIST\") throw err;\n if (Date.now() >= deadline) {\n return await ctx.crash({\n exitCode: 1,\n errorType: \"fatal\",\n printedMessage: `Another command is updating Convex accounts. Retry after it finishes. If it was interrupted, remove ${lockPath}.`,\n });\n }\n await new Promise((resolve) => setTimeout(resolve, 25));\n }\n }\n let released = false;\n const release = () => {\n if (released) return;\n ctx.fs.rmdir(lockPath);\n released = true;\n };\n const cleanup = ctx.registerCleanup(async () => release());\n try {\n const settings = await readProfileSettings(ctx);\n const result = await update(settings);\n writeProfileSettings(ctx, settings);\n // Credential deletion follows persistence while sharing the lock with renewals.\n afterWrite?.();\n return result;\n } finally {\n ctx.removeCleanup(cleanup);\n release();\n }\n}\n\nexport function profileConfigPath(name: string): string {\n return path.join(\n rootDirectory(),\n \"profiles\",\n `${encodeURIComponent(name)}.json`,\n );\n}\n\nexport async function validateProfileName(\n ctx: Context,\n name: string,\n): Promise<void> {\n if (!/^[a-z0-9][a-z0-9_-]*$/.test(name)) {\n await ctx.crash({\n exitCode: 1,\n errorType: \"invalid filesystem or env vars\",\n printedMessage:\n \"Account names must start with a lowercase letter or number and contain only lowercase letters, numbers, hyphens, and underscores.\",\n });\n }\n}\n\nexport async function getProfileSelection(\n ctx: Context,\n options: { name?: string | undefined; envFile?: string | undefined } = {},\n): Promise<ProfileSelection | null> {\n let name = options.name;\n let source = \"--account\";\n if (name === undefined && process.env[CONVEX_ACCOUNT_ENV_VAR] !== undefined) {\n name = process.env[CONVEX_ACCOUNT_ENV_VAR];\n source = `${CONVEX_ACCOUNT_ENV_VAR} environment variable`;\n }\n if (name === undefined) {\n const files = options.envFile\n ? [options.envFile]\n : [ENV_VAR_FILE_PATH, \".env\"];\n for (const file of files) {\n if (!ctx.fs.exists(file)) continue;\n name = dotenv.parse(ctx.fs.readUtf8File(file))[CONVEX_ACCOUNT_ENV_VAR];\n if (name !== undefined) {\n source = `${CONVEX_ACCOUNT_ENV_VAR} in ${file}`;\n break;\n }\n }\n }\n if (name === undefined) {\n const config = await readProfileSettings(ctx);\n const binding = findProfileDirectory(\n config.directories ?? {},\n process.cwd(),\n );\n name = binding?.name ?? config.defaultProfile;\n source = binding\n ? `directory selection for ${binding.directory}`\n : `default account in ${globalConfigPath()}`;\n }\n if (name === undefined) return null;\n await validateProfileName(ctx, name);\n return { name, source };\n}\n\nexport async function readProfileAuth(\n ctx: Context,\n profile: ProfileSelection,\n allowMissing = false,\n): Promise<Extract<BigBrainAuth, { kind: \"accessToken\" }> | null> {\n const credentials = await readProfileCredentials(ctx, profile, allowMissing);\n return credentials === null\n ? null\n : {\n kind: \"accessToken\",\n accessToken: credentials.accessToken,\n header: `Bearer ${credentials.accessToken}`,\n profile,\n };\n}\n\nexport async function readProfileCredentials(\n ctx: Context,\n profile: ProfileSelection,\n allowMissing = false,\n): Promise<ProfileCredentials | null> {\n await validateProfileName(ctx, profile.name);\n const configPath = profileConfigPath(profile.name);\n if (!ctx.fs.exists(configPath)) {\n if (allowMissing) return null;\n return await ctx.crash({\n exitCode: 1,\n errorType: \"invalid filesystem data\",\n printedMessage: `Account \"${profile.name}\" selected by ${profile.source} is not logged in. Run \\`npx convex login --account ${profile.name}\\`.`,\n });\n }\n try {\n return credentialsSchema.parse(JSON.parse(ctx.fs.readUtf8File(configPath)));\n } catch {\n return await ctx.crash({\n exitCode: 1,\n errorType: \"invalid filesystem data\",\n printedMessage: `Unable to read credentials for account \"${profile.name}\" from ${configPath}.`,\n });\n }\n}\n\nexport function readProfileToken(ctx: Context, name: string): string | null {\n try {\n const token = JSON.parse(\n ctx.fs.readUtf8File(profileConfigPath(name)),\n ).accessToken;\n return typeof token === \"string\" && token.length > 0 ? token : null;\n } catch {\n return null;\n }\n}\n\nasync function writeCredentialsFile(\n ctx: Context,\n name: string,\n credentials: ProfileCredentials,\n) {\n const configPath = profileConfigPath(name);\n const directory = path.dirname(configPath);\n ctx.fs.mkdir(directory, { allowExisting: true });\n for (const dir of [rootDirectory(), directory]) {\n if (!ctx.fs.lstat(dir).isDirectory()) {\n return await ctx.crash({\n exitCode: 1,\n errorType: \"invalid filesystem data\",\n printedMessage: `Cannot save account credentials through a symlink or non-directory: ${dir}.`,\n });\n }\n }\n const temporary = `${configPath}.${randomUUID()}.tmp` as TempPath;\n try {\n ctx.fs.writeUtf8File(\n temporary,\n JSON.stringify(credentials, null, 2),\n 0o600,\n );\n ctx.fs.swapTmpFile(temporary, configPath);\n } finally {\n if (ctx.fs.exists(temporary)) ctx.fs.unlink(temporary);\n }\n}\n\nexport async function writeProfileCredentials(\n ctx: Context,\n name: string,\n accessToken: string,\n metadata: Omit<ProfileCredentials, \"accessToken\"> = {},\n expected?: ProfileCredentials | null,\n): Promise<void> {\n await validateProfileName(ctx, name);\n await updateProfileSettings(ctx, async (settings) => {\n if (expected !== undefined) {\n const current = await readProfileCredentials(\n ctx,\n { name, source: \"login\" },\n true,\n );\n if (!isDeepStrictEqual(current, expected)) {\n return await ctx.crash({\n exitCode: 1,\n errorType: \"fatal\",\n printedMessage: `Account \"${name}\" changed during login. Retry the login.`,\n });\n }\n }\n await writeCredentialsFile(ctx, name, { ...metadata, accessToken });\n if (settings.defaultProfile === name) settings.accessToken = accessToken;\n });\n}\n\nexport async function legacyAuthForFirstProfile(\n ctx: Context,\n profile: ProfileSelection,\n): Promise<Extract<BigBrainAuth, { kind: \"accessToken\" }> | null> {\n const settings = await readProfileSettings(ctx);\n const profilesDir = path.dirname(profileConfigPath(profile.name));\n if (\n settings.defaultProfile !== undefined ||\n (ctx.fs.exists(profilesDir) &&\n ctx.fs.listDir(profilesDir).some((entry) => entry.name.endsWith(\".json\")))\n ) {\n return null;\n }\n const config = readGlobalConfig(ctx);\n return config === null\n ? null\n : {\n kind: \"accessToken\",\n accessToken: config.accessToken,\n header: `Bearer ${config.accessToken}`,\n profile,\n };\n}\n\nexport async function initializeDefaultProfile(\n ctx: Context,\n profile: ProfileSelection,\n namingLegacyAccount: boolean,\n select = true,\n) {\n const defaultProfile = await updateProfileSettings(ctx, async (settings) => {\n if (settings.defaultProfile !== undefined) return undefined;\n const credentials = await readProfileCredentials(ctx, profile);\n const accessToken = credentials!.accessToken;\n const legacyToken = settings.accessToken;\n if (\n !select &&\n (savedProfileNames(ctx).some((name) => name !== profile.name) ||\n (!namingLegacyAccount &&\n typeof legacyToken === \"string\" &&\n legacyToken.length > 0 &&\n legacyToken !== accessToken))\n )\n return undefined;\n if (\n !namingLegacyAccount &&\n typeof legacyToken === \"string\" &&\n legacyToken.length > 0 &&\n legacyToken !== accessToken\n ) {\n // An explicitly new login keeps the previous account as the default for\n // directories that haven't selected an account.\n let legacyName = \"default\";\n for (\n let suffix = 2;\n ctx.fs.exists(profileConfigPath(legacyName));\n suffix++\n ) {\n legacyName = `default-${suffix}`;\n }\n await writeCredentialsFile(ctx, legacyName, { accessToken: legacyToken });\n settings.defaultProfile = legacyName;\n } else {\n settings.defaultProfile = profile.name;\n settings.accessToken = accessToken;\n }\n\n return settings.defaultProfile;\n });\n if (defaultProfile !== undefined)\n logFinishedStep(`Default account: ${defaultProfile}`);\n}\n\nexport function findProfileDirectory(\n directories: Record<string, string>,\n cwd: string,\n): { directory: string; name: string } | null {\n let directory = path.resolve(cwd);\n for (;;) {\n if (Object.hasOwn(directories, directory)) {\n return { directory, name: directories[directory] };\n }\n const parent = path.dirname(directory);\n if (parent === directory) return null;\n directory = parent;\n }\n}\n\nexport function savedProfileNames(ctx: Context): string[] {\n const directory = path.join(rootDirectory(), \"profiles\");\n if (!ctx.fs.exists(directory)) return [];\n return ctx.fs\n .listDir(directory)\n .filter((entry) => entry.name.endsWith(\".json\"))\n .map((entry) => entry.name.slice(0, -5))\n .sort();\n}\n\nexport async function writeProfileDirectory(ctx: Context, name: string) {\n await validateProfileName(ctx, name);\n await updateProfileSettings(ctx, (settings) => {\n settings.directories = { ...settings.directories, [process.cwd()]: name };\n });\n logFinishedStep(\n `Saved directory selection: ${name} (applies to this directory and its subdirectories).`,\n );\n const selected = await getProfileSelection(ctx);\n if (selected !== null && selected.name !== name) {\n logWarning(\n `Account \"${selected.name}\" selected by ${selected.source} overrides this directory selection. Remove that override to use account \"${name}\".`,\n );\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["path"]
7
- }
@@ -1,6 +0,0 @@
1
- import { Command } from "@commander-js/extra-typings";
2
- import { Context } from "../bundler/context.js";
3
- import { ProjectSelection } from "./lib/deploymentSelection.js";
4
- export declare const account: Command<[], {}, {}>;
5
- export declare function handleNoAccessToConfiguredProject(ctx: Context, target: ProjectSelection, envFile?: string): Promise<"retry" | "chooseProject">;
6
- //# sourceMappingURL=account.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/cli/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,OAAO,EAAE,OAAO,EAAiB,MAAM,uBAAuB,CAAC;AAwB/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAgLhE,eAAO,MAAM,OAAO,qBA2BI,CAAC;AAEzB,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC,CAkFpC"}
@@ -1,3 +0,0 @@
1
- import { Context } from "../../bundler/context.js";
2
- export declare function warnIfDeployKeyOverridesLogin(ctx: Context, hasAccount: boolean): void;
3
- //# sourceMappingURL=deployKeyWarning.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deployKeyWarning.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/deployKeyWarning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAcnD,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,OAAO,QA0BpB"}
@@ -1,10 +0,0 @@
1
- import { ProjectSelection } from "./deploymentSelection.js";
2
- import { Context } from "../../bundler/context.js";
3
- import { ProfileCredentials, ProfileSelection } from "./profiles.js";
4
- export declare function profileApi(token: string, pathname: string, body?: unknown): Promise<Response>;
5
- export declare function deploymentAccess(token: string, deploymentName: string): Promise<"yes" | "no" | "unknown">;
6
- export declare function projectAccess(token: string, target: ProjectSelection): Promise<"yes" | "no" | "unknown">;
7
- export declare function bindProfileToDirectory(ctx: Context, name: string, force?: boolean, target?: ProjectSelection): Promise<boolean>;
8
- export declare function profileLoginMetadata(ctx: Context, profile: ProfileSelection, loginToken: string, previous: ProfileCredentials | null): Promise<Omit<ProfileCredentials, "accessToken">>;
9
- export declare function revokeReplacedProfileToken(ctx: Context, previous: string | undefined, accessToken: string): Promise<void>;
10
- //# sourceMappingURL=profileManagement.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profileManagement.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/profileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAYnD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAMjB,MAAM,eAAe,CAAC;AAEvB,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,qBAYf;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,CAWnC;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,CAcnC;AAaD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,UAAQ,EACb,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC,CA+ClB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,kBAAkB,GAAG,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CA0ClD;AAsCD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,MAAM,iBAiCpB"}
@@ -1,59 +0,0 @@
1
- import { z } from "zod";
2
- import { BigBrainAuth, Context } from "../../bundler/context.js";
3
- export type ProfileSelection = {
4
- name: string;
5
- source: string;
6
- };
7
- declare const settingsSchema: z.ZodObject<{
8
- defaultProfile: z.ZodOptional<z.ZodString>;
9
- directories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
10
- revokeReplacedTokens: z.ZodOptional<z.ZodBoolean>;
11
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
12
- defaultProfile: z.ZodOptional<z.ZodString>;
13
- directories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
14
- revokeReplacedTokens: z.ZodOptional<z.ZodBoolean>;
15
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
16
- defaultProfile: z.ZodOptional<z.ZodString>;
17
- directories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
18
- revokeReplacedTokens: z.ZodOptional<z.ZodBoolean>;
19
- }, z.ZodTypeAny, "passthrough">>;
20
- declare const credentialsSchema: z.ZodObject<{
21
- accessToken: z.ZodString;
22
- memberId: z.ZodOptional<z.ZodString>;
23
- email: z.ZodOptional<z.ZodString>;
24
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
25
- accessToken: z.ZodString;
26
- memberId: z.ZodOptional<z.ZodString>;
27
- email: z.ZodOptional<z.ZodString>;
28
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
29
- accessToken: z.ZodString;
30
- memberId: z.ZodOptional<z.ZodString>;
31
- email: z.ZodOptional<z.ZodString>;
32
- }, z.ZodTypeAny, "passthrough">>;
33
- export type ProfileCredentials = z.infer<typeof credentialsSchema>;
34
- export declare function readProfileSettings(ctx: Context): Promise<z.infer<typeof settingsSchema>>;
35
- export declare function updateProfileSettings<T>(ctx: Context, update: (settings: z.infer<typeof settingsSchema>) => T | Promise<T>, afterWrite?: () => void): Promise<T>;
36
- export declare function profileConfigPath(name: string): string;
37
- export declare function validateProfileName(ctx: Context, name: string): Promise<void>;
38
- export declare function getProfileSelection(ctx: Context, options?: {
39
- name?: string | undefined;
40
- envFile?: string | undefined;
41
- }): Promise<ProfileSelection | null>;
42
- export declare function readProfileAuth(ctx: Context, profile: ProfileSelection, allowMissing?: boolean): Promise<Extract<BigBrainAuth, {
43
- kind: "accessToken";
44
- }> | null>;
45
- export declare function readProfileCredentials(ctx: Context, profile: ProfileSelection, allowMissing?: boolean): Promise<ProfileCredentials | null>;
46
- export declare function readProfileToken(ctx: Context, name: string): string | null;
47
- export declare function writeProfileCredentials(ctx: Context, name: string, accessToken: string, metadata?: Omit<ProfileCredentials, "accessToken">, expected?: ProfileCredentials | null): Promise<void>;
48
- export declare function legacyAuthForFirstProfile(ctx: Context, profile: ProfileSelection): Promise<Extract<BigBrainAuth, {
49
- kind: "accessToken";
50
- }> | null>;
51
- export declare function initializeDefaultProfile(ctx: Context, profile: ProfileSelection, namingLegacyAccount: boolean, select?: boolean): Promise<void>;
52
- export declare function findProfileDirectory(directories: Record<string, string>, cwd: string): {
53
- directory: string;
54
- name: string;
55
- } | null;
56
- export declare function savedProfileNames(ctx: Context): string[];
57
- export declare function writeProfileDirectory(ctx: Context, name: string): Promise<void>;
58
- export {};
59
- //# sourceMappingURL=profiles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/profiles.ts"],"names":[],"mappings":"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"}