appwrite-cli 13.0.0-rc.2 → 13.0.0-rc.3

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 (718) hide show
  1. package/.github/workflows/{npm-publish.yml → publish.yml} +1 -1
  2. package/CHANGELOG.md +106 -101
  3. package/LICENSE.md +2 -2
  4. package/README.md +36 -59
  5. package/cli.ts +152 -0
  6. package/dist/bundle.cjs +4613 -3653
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +145 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/index.d.ts +10 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7 -142
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/client.d.ts.map +1 -1
  16. package/dist/lib/client.js +7 -6
  17. package/dist/lib/client.js.map +1 -1
  18. package/dist/lib/commands/config.d.ts +562 -0
  19. package/dist/lib/commands/config.d.ts.map +1 -0
  20. package/dist/lib/commands/config.js +416 -0
  21. package/dist/lib/commands/config.js.map +1 -0
  22. package/dist/lib/commands/db.d.ts +34 -0
  23. package/dist/lib/commands/db.d.ts.map +1 -0
  24. package/dist/lib/commands/db.js +247 -0
  25. package/dist/lib/commands/db.js.map +1 -0
  26. package/dist/lib/commands/errors.d.ts +68 -0
  27. package/dist/lib/commands/errors.d.ts.map +1 -0
  28. package/dist/lib/commands/errors.js +72 -0
  29. package/dist/lib/commands/errors.js.map +1 -0
  30. package/dist/lib/commands/init.d.ts.map +1 -1
  31. package/dist/lib/commands/init.js +15 -14
  32. package/dist/lib/commands/init.js.map +1 -1
  33. package/dist/lib/commands/pull.d.ts +104 -2
  34. package/dist/lib/commands/pull.d.ts.map +1 -1
  35. package/dist/lib/commands/pull.js +470 -281
  36. package/dist/lib/commands/pull.js.map +1 -1
  37. package/dist/lib/commands/push.d.ts +106 -0
  38. package/dist/lib/commands/push.d.ts.map +1 -1
  39. package/dist/lib/commands/push.js +1257 -1628
  40. package/dist/lib/commands/push.js.map +1 -1
  41. package/dist/lib/commands/run.js +1 -1
  42. package/dist/lib/commands/run.js.map +1 -1
  43. package/dist/lib/commands/schema.d.ts +59 -0
  44. package/dist/lib/commands/schema.d.ts.map +1 -0
  45. package/dist/lib/commands/schema.js +86 -0
  46. package/dist/lib/commands/schema.js.map +1 -0
  47. package/dist/lib/commands/services/account.d.ts.map +1 -1
  48. package/dist/lib/commands/services/account.js +86 -64
  49. package/dist/lib/commands/services/account.js.map +1 -1
  50. package/dist/lib/commands/services/console.d.ts.map +1 -1
  51. package/dist/lib/commands/services/console.js +4 -17
  52. package/dist/lib/commands/services/console.js.map +1 -1
  53. package/dist/lib/commands/services/databases.d.ts.map +1 -1
  54. package/dist/lib/commands/services/databases.js +160 -152
  55. package/dist/lib/commands/services/databases.js.map +1 -1
  56. package/dist/lib/commands/services/functions.d.ts.map +1 -1
  57. package/dist/lib/commands/services/functions.js +41 -33
  58. package/dist/lib/commands/services/functions.js.map +1 -1
  59. package/dist/lib/commands/services/graphql.d.ts.map +1 -1
  60. package/dist/lib/commands/services/graphql.js +3 -3
  61. package/dist/lib/commands/services/graphql.js.map +1 -1
  62. package/dist/lib/commands/services/health.d.ts.map +1 -1
  63. package/dist/lib/commands/services/health.js +24 -24
  64. package/dist/lib/commands/services/health.js.map +1 -1
  65. package/dist/lib/commands/services/locale.d.ts.map +1 -1
  66. package/dist/lib/commands/services/locale.js +9 -9
  67. package/dist/lib/commands/services/locale.js.map +1 -1
  68. package/dist/lib/commands/services/messaging.d.ts.map +1 -1
  69. package/dist/lib/commands/services/messaging.js +59 -59
  70. package/dist/lib/commands/services/messaging.js.map +1 -1
  71. package/dist/lib/commands/services/migrations.d.ts.map +1 -1
  72. package/dist/lib/commands/services/migrations.js +19 -19
  73. package/dist/lib/commands/services/migrations.js.map +1 -1
  74. package/dist/lib/commands/services/project.d.ts.map +1 -1
  75. package/dist/lib/commands/services/project.js +8 -8
  76. package/dist/lib/commands/services/project.js.map +1 -1
  77. package/dist/lib/commands/services/projects.d.ts.map +1 -1
  78. package/dist/lib/commands/services/projects.js +64 -64
  79. package/dist/lib/commands/services/projects.js.map +1 -1
  80. package/dist/lib/commands/services/proxy.d.ts.map +1 -1
  81. package/dist/lib/commands/services/proxy.js +11 -11
  82. package/dist/lib/commands/services/proxy.js.map +1 -1
  83. package/dist/lib/commands/services/sites.d.ts.map +1 -1
  84. package/dist/lib/commands/services/sites.js +41 -33
  85. package/dist/lib/commands/services/sites.js.map +1 -1
  86. package/dist/lib/commands/services/storage.d.ts.map +1 -1
  87. package/dist/lib/commands/services/storage.js +38 -16
  88. package/dist/lib/commands/services/storage.js.map +1 -1
  89. package/dist/lib/commands/services/tables-db.d.ts +3 -0
  90. package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
  91. package/dist/lib/commands/services/{tablesdb.js → tables-db.js} +171 -163
  92. package/dist/lib/commands/services/tables-db.js.map +1 -0
  93. package/dist/lib/commands/services/teams.d.ts.map +1 -1
  94. package/dist/lib/commands/services/teams.js +16 -16
  95. package/dist/lib/commands/services/teams.js.map +1 -1
  96. package/dist/lib/commands/services/tokens.d.ts.map +1 -1
  97. package/dist/lib/commands/services/tokens.js +6 -6
  98. package/dist/lib/commands/services/tokens.js.map +1 -1
  99. package/dist/lib/commands/services/users.d.ts.map +1 -1
  100. package/dist/lib/commands/services/users.js +54 -54
  101. package/dist/lib/commands/services/users.js.map +1 -1
  102. package/dist/lib/commands/services/vcs.d.ts.map +1 -1
  103. package/dist/lib/commands/services/vcs.js +13 -13
  104. package/dist/lib/commands/services/vcs.js.map +1 -1
  105. package/dist/lib/commands/types.d.ts.map +1 -1
  106. package/dist/lib/commands/types.js +1 -1
  107. package/dist/lib/commands/types.js.map +1 -1
  108. package/dist/lib/commands/update.d.ts.map +1 -1
  109. package/dist/lib/commands/update.js +9 -8
  110. package/dist/lib/commands/update.js.map +1 -1
  111. package/dist/lib/commands/utils/attributes.d.ts +47 -0
  112. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  113. package/dist/lib/commands/utils/attributes.js +514 -0
  114. package/dist/lib/commands/utils/attributes.js.map +1 -0
  115. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  116. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  117. package/dist/lib/commands/utils/change-approval.js +129 -0
  118. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  119. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  120. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  121. package/dist/lib/commands/utils/database-sync.js +136 -0
  122. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  123. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  124. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  125. package/dist/lib/commands/utils/deployment.js +109 -0
  126. package/dist/lib/commands/utils/deployment.js.map +1 -0
  127. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  128. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  129. package/dist/lib/commands/utils/error-formatter.js +333 -0
  130. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  131. package/dist/lib/commands/utils/pools.d.ts +16 -0
  132. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  133. package/dist/lib/commands/utils/pools.js +198 -0
  134. package/dist/lib/commands/utils/pools.js.map +1 -0
  135. package/dist/lib/config.d.ts +27 -26
  136. package/dist/lib/config.d.ts.map +1 -1
  137. package/dist/lib/config.js +8 -45
  138. package/dist/lib/config.js.map +1 -1
  139. package/dist/lib/constants.d.ts +14 -0
  140. package/dist/lib/constants.d.ts.map +1 -0
  141. package/dist/lib/constants.js +19 -0
  142. package/dist/lib/constants.js.map +1 -0
  143. package/dist/lib/emulation/docker.d.ts +4 -4
  144. package/dist/lib/emulation/docker.d.ts.map +1 -1
  145. package/dist/lib/emulation/docker.js +80 -67
  146. package/dist/lib/emulation/docker.js.map +1 -1
  147. package/dist/lib/parser.d.ts.map +1 -1
  148. package/dist/lib/parser.js +11 -10
  149. package/dist/lib/parser.js.map +1 -1
  150. package/dist/lib/questions.d.ts.map +1 -1
  151. package/dist/lib/questions.js +20 -20
  152. package/dist/lib/questions.js.map +1 -1
  153. package/dist/lib/sdks.d.ts.map +1 -1
  154. package/dist/lib/sdks.js +10 -11
  155. package/dist/lib/sdks.js.map +1 -1
  156. package/dist/lib/types.d.ts +0 -214
  157. package/dist/lib/types.d.ts.map +1 -1
  158. package/dist/lib/utils.d.ts +3 -0
  159. package/dist/lib/utils.d.ts.map +1 -1
  160. package/dist/lib/utils.js +42 -2
  161. package/dist/lib/utils.js.map +1 -1
  162. package/dist/package.json +12 -11
  163. package/docs/examples/account/create-anonymous-session.md +1 -0
  164. package/docs/examples/account/create-email-password-session.md +3 -0
  165. package/docs/examples/account/create-email-token.md +3 -0
  166. package/docs/examples/account/create-email-verification.md +2 -0
  167. package/docs/examples/account/create-jwt.md +1 -0
  168. package/docs/examples/account/create-magic-url-token.md +3 -0
  169. package/docs/examples/account/create-mfa-authenticator.md +2 -0
  170. package/docs/examples/account/create-mfa-challenge.md +2 -0
  171. package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
  172. package/docs/examples/account/create-o-auth-2-session.md +2 -0
  173. package/docs/examples/account/create-o-auth-2-token.md +2 -0
  174. package/docs/examples/account/create-phone-token.md +3 -0
  175. package/docs/examples/account/create-phone-verification.md +1 -0
  176. package/docs/examples/account/create-push-target.md +3 -0
  177. package/docs/examples/account/create-recovery.md +3 -0
  178. package/docs/examples/account/create-session.md +3 -0
  179. package/docs/examples/account/create-verification.md +2 -0
  180. package/docs/examples/account/create.md +4 -0
  181. package/docs/examples/account/delete-identity.md +2 -0
  182. package/docs/examples/account/delete-mfa-authenticator.md +2 -0
  183. package/docs/examples/account/delete-push-target.md +2 -0
  184. package/docs/examples/account/delete-session.md +2 -0
  185. package/docs/examples/account/delete-sessions.md +1 -0
  186. package/docs/examples/account/delete.md +1 -0
  187. package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
  188. package/docs/examples/account/get-prefs.md +1 -0
  189. package/docs/examples/account/get-session.md +2 -0
  190. package/docs/examples/account/get.md +1 -0
  191. package/docs/examples/account/list-identities.md +1 -0
  192. package/docs/examples/account/list-logs.md +1 -0
  193. package/docs/examples/account/list-mfa-factors.md +1 -0
  194. package/docs/examples/account/list-sessions.md +1 -0
  195. package/docs/examples/account/update-email-verification.md +3 -0
  196. package/docs/examples/account/update-email.md +3 -0
  197. package/docs/examples/account/update-magic-url-session.md +3 -0
  198. package/docs/examples/account/update-mfa-authenticator.md +3 -0
  199. package/docs/examples/account/update-mfa-challenge.md +3 -0
  200. package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
  201. package/docs/examples/account/update-mfa.md +2 -0
  202. package/docs/examples/account/update-name.md +2 -0
  203. package/docs/examples/account/update-password.md +2 -0
  204. package/docs/examples/account/update-phone-session.md +3 -0
  205. package/docs/examples/account/update-phone-verification.md +3 -0
  206. package/docs/examples/account/update-phone.md +3 -0
  207. package/docs/examples/account/update-prefs.md +2 -0
  208. package/docs/examples/account/update-push-target.md +3 -0
  209. package/docs/examples/account/update-recovery.md +4 -0
  210. package/docs/examples/account/update-session.md +2 -0
  211. package/docs/examples/account/update-status.md +1 -0
  212. package/docs/examples/account/update-verification.md +3 -0
  213. package/docs/examples/console/get-resource.md +3 -0
  214. package/docs/examples/console/variables.md +1 -0
  215. package/docs/examples/databases/create-boolean-attribute.md +5 -0
  216. package/docs/examples/databases/create-collection.md +4 -0
  217. package/docs/examples/databases/create-datetime-attribute.md +5 -0
  218. package/docs/examples/databases/create-document.md +5 -0
  219. package/docs/examples/databases/create-documents.md +4 -0
  220. package/docs/examples/databases/create-email-attribute.md +5 -0
  221. package/docs/examples/databases/create-enum-attribute.md +6 -0
  222. package/docs/examples/databases/create-float-attribute.md +5 -0
  223. package/docs/examples/databases/create-index.md +6 -0
  224. package/docs/examples/databases/create-integer-attribute.md +5 -0
  225. package/docs/examples/databases/create-ip-attribute.md +5 -0
  226. package/docs/examples/databases/create-line-attribute.md +5 -0
  227. package/docs/examples/databases/create-operations.md +2 -0
  228. package/docs/examples/databases/create-point-attribute.md +5 -0
  229. package/docs/examples/databases/create-polygon-attribute.md +5 -0
  230. package/docs/examples/databases/create-relationship-attribute.md +5 -0
  231. package/docs/examples/databases/create-string-attribute.md +6 -0
  232. package/docs/examples/databases/create-transaction.md +1 -0
  233. package/docs/examples/databases/create-url-attribute.md +5 -0
  234. package/docs/examples/databases/create.md +3 -0
  235. package/docs/examples/databases/decrement-document-attribute.md +5 -0
  236. package/docs/examples/databases/delete-attribute.md +4 -0
  237. package/docs/examples/databases/delete-collection.md +3 -0
  238. package/docs/examples/databases/delete-document.md +4 -0
  239. package/docs/examples/databases/delete-documents.md +3 -0
  240. package/docs/examples/databases/delete-index.md +4 -0
  241. package/docs/examples/databases/delete-transaction.md +2 -0
  242. package/docs/examples/databases/delete.md +2 -0
  243. package/docs/examples/databases/get-attribute.md +4 -0
  244. package/docs/examples/databases/get-collection-usage.md +3 -0
  245. package/docs/examples/databases/get-collection.md +3 -0
  246. package/docs/examples/databases/get-document.md +4 -0
  247. package/docs/examples/databases/get-index.md +4 -0
  248. package/docs/examples/databases/get-transaction.md +2 -0
  249. package/docs/examples/databases/get-usage.md +2 -0
  250. package/docs/examples/databases/get.md +2 -0
  251. package/docs/examples/databases/increment-document-attribute.md +5 -0
  252. package/docs/examples/databases/list-attributes.md +3 -0
  253. package/docs/examples/databases/list-collection-logs.md +3 -0
  254. package/docs/examples/databases/list-collections.md +2 -0
  255. package/docs/examples/databases/list-document-logs.md +4 -0
  256. package/docs/examples/databases/list-documents.md +3 -0
  257. package/docs/examples/databases/list-indexes.md +3 -0
  258. package/docs/examples/databases/list-logs.md +2 -0
  259. package/docs/examples/databases/list-transactions.md +1 -0
  260. package/docs/examples/databases/list-usage.md +1 -0
  261. package/docs/examples/databases/list.md +1 -0
  262. package/docs/examples/databases/update-boolean-attribute.md +6 -0
  263. package/docs/examples/databases/update-collection.md +4 -0
  264. package/docs/examples/databases/update-datetime-attribute.md +6 -0
  265. package/docs/examples/databases/update-document.md +4 -0
  266. package/docs/examples/databases/update-documents.md +3 -0
  267. package/docs/examples/databases/update-email-attribute.md +6 -0
  268. package/docs/examples/databases/update-enum-attribute.md +7 -0
  269. package/docs/examples/databases/update-float-attribute.md +6 -0
  270. package/docs/examples/databases/update-integer-attribute.md +6 -0
  271. package/docs/examples/databases/update-ip-attribute.md +6 -0
  272. package/docs/examples/databases/update-line-attribute.md +5 -0
  273. package/docs/examples/databases/update-point-attribute.md +5 -0
  274. package/docs/examples/databases/update-polygon-attribute.md +5 -0
  275. package/docs/examples/databases/update-relationship-attribute.md +4 -0
  276. package/docs/examples/databases/update-string-attribute.md +6 -0
  277. package/docs/examples/databases/update-transaction.md +2 -0
  278. package/docs/examples/databases/update-url-attribute.md +6 -0
  279. package/docs/examples/databases/update.md +3 -0
  280. package/docs/examples/databases/upsert-document.md +4 -0
  281. package/docs/examples/databases/upsert-documents.md +4 -0
  282. package/docs/examples/functions/create-deployment.md +4 -0
  283. package/docs/examples/functions/create-duplicate-deployment.md +3 -0
  284. package/docs/examples/functions/create-execution.md +2 -0
  285. package/docs/examples/functions/create-template-deployment.md +7 -0
  286. package/docs/examples/functions/create-variable.md +4 -0
  287. package/docs/examples/functions/create-vcs-deployment.md +4 -0
  288. package/docs/examples/functions/create.md +4 -0
  289. package/docs/examples/functions/delete-deployment.md +3 -0
  290. package/docs/examples/functions/delete-execution.md +3 -0
  291. package/docs/examples/functions/delete-variable.md +3 -0
  292. package/docs/examples/functions/delete.md +2 -0
  293. package/docs/examples/functions/get-deployment-download.md +3 -0
  294. package/docs/examples/functions/get-deployment.md +3 -0
  295. package/docs/examples/functions/get-execution.md +3 -0
  296. package/docs/examples/functions/get-template.md +2 -0
  297. package/docs/examples/functions/get-usage.md +2 -0
  298. package/docs/examples/functions/get-variable.md +3 -0
  299. package/docs/examples/functions/get.md +2 -0
  300. package/docs/examples/functions/list-deployments.md +2 -0
  301. package/docs/examples/functions/list-executions.md +2 -0
  302. package/docs/examples/functions/list-runtimes.md +1 -0
  303. package/docs/examples/functions/list-specifications.md +1 -0
  304. package/docs/examples/functions/list-templates.md +1 -0
  305. package/docs/examples/functions/list-usage.md +1 -0
  306. package/docs/examples/functions/list-variables.md +2 -0
  307. package/docs/examples/functions/list.md +1 -0
  308. package/docs/examples/functions/update-deployment-status.md +3 -0
  309. package/docs/examples/functions/update-function-deployment.md +3 -0
  310. package/docs/examples/functions/update-variable.md +4 -0
  311. package/docs/examples/functions/update.md +3 -0
  312. package/docs/examples/graphql/mutation.md +2 -0
  313. package/docs/examples/graphql/query.md +2 -0
  314. package/docs/examples/health/get-antivirus.md +1 -0
  315. package/docs/examples/health/get-cache.md +1 -0
  316. package/docs/examples/health/get-certificate.md +1 -0
  317. package/docs/examples/health/get-db.md +1 -0
  318. package/docs/examples/health/get-failed-jobs.md +2 -0
  319. package/docs/examples/health/get-pub-sub.md +1 -0
  320. package/docs/examples/health/get-queue-builds.md +1 -0
  321. package/docs/examples/health/get-queue-certificates.md +1 -0
  322. package/docs/examples/health/get-queue-databases.md +1 -0
  323. package/docs/examples/health/get-queue-deletes.md +1 -0
  324. package/docs/examples/health/get-queue-functions.md +1 -0
  325. package/docs/examples/health/get-queue-logs.md +1 -0
  326. package/docs/examples/health/get-queue-mails.md +1 -0
  327. package/docs/examples/health/get-queue-messaging.md +1 -0
  328. package/docs/examples/health/get-queue-migrations.md +1 -0
  329. package/docs/examples/health/get-queue-stats-resources.md +1 -0
  330. package/docs/examples/health/get-queue-usage.md +1 -0
  331. package/docs/examples/health/get-queue-webhooks.md +1 -0
  332. package/docs/examples/health/get-storage-local.md +1 -0
  333. package/docs/examples/health/get-storage.md +1 -0
  334. package/docs/examples/health/get-time.md +1 -0
  335. package/docs/examples/health/get.md +1 -0
  336. package/docs/examples/locale/get.md +1 -0
  337. package/docs/examples/locale/list-codes.md +1 -0
  338. package/docs/examples/locale/list-continents.md +1 -0
  339. package/docs/examples/locale/list-countries-eu.md +1 -0
  340. package/docs/examples/locale/list-countries-phones.md +1 -0
  341. package/docs/examples/locale/list-countries.md +1 -0
  342. package/docs/examples/locale/list-currencies.md +1 -0
  343. package/docs/examples/locale/list-languages.md +1 -0
  344. package/docs/examples/messaging/create-apns-provider.md +3 -0
  345. package/docs/examples/messaging/create-email.md +4 -0
  346. package/docs/examples/messaging/create-fcm-provider.md +3 -0
  347. package/docs/examples/messaging/create-mailgun-provider.md +3 -0
  348. package/docs/examples/messaging/create-msg-91-provider.md +3 -0
  349. package/docs/examples/messaging/create-push.md +2 -0
  350. package/docs/examples/messaging/create-resend-provider.md +3 -0
  351. package/docs/examples/messaging/create-sendgrid-provider.md +3 -0
  352. package/docs/examples/messaging/create-sms.md +3 -0
  353. package/docs/examples/messaging/create-smtp-provider.md +4 -0
  354. package/docs/examples/messaging/create-subscriber.md +4 -0
  355. package/docs/examples/messaging/create-telesign-provider.md +3 -0
  356. package/docs/examples/messaging/create-textmagic-provider.md +3 -0
  357. package/docs/examples/messaging/create-topic.md +3 -0
  358. package/docs/examples/messaging/create-twilio-provider.md +3 -0
  359. package/docs/examples/messaging/create-vonage-provider.md +3 -0
  360. package/docs/examples/messaging/delete-provider.md +2 -0
  361. package/docs/examples/messaging/delete-subscriber.md +3 -0
  362. package/docs/examples/messaging/delete-topic.md +2 -0
  363. package/docs/examples/messaging/delete.md +2 -0
  364. package/docs/examples/messaging/get-message.md +2 -0
  365. package/docs/examples/messaging/get-provider.md +2 -0
  366. package/docs/examples/messaging/get-subscriber.md +3 -0
  367. package/docs/examples/messaging/get-topic.md +2 -0
  368. package/docs/examples/messaging/list-message-logs.md +2 -0
  369. package/docs/examples/messaging/list-messages.md +1 -0
  370. package/docs/examples/messaging/list-provider-logs.md +2 -0
  371. package/docs/examples/messaging/list-providers.md +1 -0
  372. package/docs/examples/messaging/list-subscriber-logs.md +2 -0
  373. package/docs/examples/messaging/list-subscribers.md +2 -0
  374. package/docs/examples/messaging/list-targets.md +2 -0
  375. package/docs/examples/messaging/list-topic-logs.md +2 -0
  376. package/docs/examples/messaging/list-topics.md +1 -0
  377. package/docs/examples/messaging/update-apns-provider.md +2 -0
  378. package/docs/examples/messaging/update-email.md +2 -0
  379. package/docs/examples/messaging/update-fcm-provider.md +2 -0
  380. package/docs/examples/messaging/update-mailgun-provider.md +2 -0
  381. package/docs/examples/messaging/update-msg-91-provider.md +2 -0
  382. package/docs/examples/messaging/update-push.md +2 -0
  383. package/docs/examples/messaging/update-resend-provider.md +2 -0
  384. package/docs/examples/messaging/update-sendgrid-provider.md +2 -0
  385. package/docs/examples/messaging/update-sms.md +2 -0
  386. package/docs/examples/messaging/update-smtp-provider.md +2 -0
  387. package/docs/examples/messaging/update-telesign-provider.md +2 -0
  388. package/docs/examples/messaging/update-textmagic-provider.md +2 -0
  389. package/docs/examples/messaging/update-topic.md +2 -0
  390. package/docs/examples/messaging/update-twilio-provider.md +2 -0
  391. package/docs/examples/messaging/update-vonage-provider.md +2 -0
  392. package/docs/examples/migrations/create-appwrite-migration.md +5 -0
  393. package/docs/examples/migrations/create-csv-export.md +3 -0
  394. package/docs/examples/migrations/create-csv-import.md +4 -0
  395. package/docs/examples/migrations/create-firebase-migration.md +3 -0
  396. package/docs/examples/migrations/create-n-host-migration.md +8 -0
  397. package/docs/examples/migrations/create-supabase-migration.md +7 -0
  398. package/docs/examples/migrations/delete.md +2 -0
  399. package/docs/examples/migrations/get-appwrite-report.md +5 -0
  400. package/docs/examples/migrations/get-firebase-report.md +3 -0
  401. package/docs/examples/migrations/get-n-host-report.md +8 -0
  402. package/docs/examples/migrations/get-supabase-report.md +7 -0
  403. package/docs/examples/migrations/get.md +2 -0
  404. package/docs/examples/migrations/list.md +1 -0
  405. package/docs/examples/migrations/retry.md +2 -0
  406. package/docs/examples/project/create-variable.md +3 -0
  407. package/docs/examples/project/delete-variable.md +2 -0
  408. package/docs/examples/project/get-usage.md +3 -0
  409. package/docs/examples/project/get-variable.md +2 -0
  410. package/docs/examples/project/list-variables.md +1 -0
  411. package/docs/examples/project/update-variable.md +3 -0
  412. package/docs/examples/projects/create-dev-key.md +4 -0
  413. package/docs/examples/projects/create-jwt.md +3 -0
  414. package/docs/examples/projects/create-key.md +4 -0
  415. package/docs/examples/projects/create-platform.md +4 -0
  416. package/docs/examples/projects/create-smtp-test.md +6 -0
  417. package/docs/examples/projects/create-webhook.md +6 -0
  418. package/docs/examples/projects/create.md +4 -0
  419. package/docs/examples/projects/delete-dev-key.md +3 -0
  420. package/docs/examples/projects/delete-email-template.md +4 -0
  421. package/docs/examples/projects/delete-key.md +3 -0
  422. package/docs/examples/projects/delete-platform.md +3 -0
  423. package/docs/examples/projects/delete-sms-template.md +4 -0
  424. package/docs/examples/projects/delete-webhook.md +3 -0
  425. package/docs/examples/projects/delete.md +2 -0
  426. package/docs/examples/projects/get-dev-key.md +3 -0
  427. package/docs/examples/projects/get-email-template.md +4 -0
  428. package/docs/examples/projects/get-key.md +3 -0
  429. package/docs/examples/projects/get-platform.md +3 -0
  430. package/docs/examples/projects/get-sms-template.md +4 -0
  431. package/docs/examples/projects/get-webhook.md +3 -0
  432. package/docs/examples/projects/get.md +2 -0
  433. package/docs/examples/projects/list-dev-keys.md +2 -0
  434. package/docs/examples/projects/list-keys.md +2 -0
  435. package/docs/examples/projects/list-platforms.md +2 -0
  436. package/docs/examples/projects/list-webhooks.md +2 -0
  437. package/docs/examples/projects/list.md +1 -0
  438. package/docs/examples/projects/update-api-status-all.md +3 -0
  439. package/docs/examples/projects/update-api-status.md +4 -0
  440. package/docs/examples/projects/update-auth-duration.md +3 -0
  441. package/docs/examples/projects/update-auth-limit.md +3 -0
  442. package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
  443. package/docs/examples/projects/update-auth-password-history.md +3 -0
  444. package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
  445. package/docs/examples/projects/update-auth-status.md +4 -0
  446. package/docs/examples/projects/update-dev-key.md +5 -0
  447. package/docs/examples/projects/update-email-template.md +6 -0
  448. package/docs/examples/projects/update-key.md +5 -0
  449. package/docs/examples/projects/update-memberships-privacy.md +5 -0
  450. package/docs/examples/projects/update-mock-numbers.md +3 -0
  451. package/docs/examples/projects/update-o-auth-2.md +3 -0
  452. package/docs/examples/projects/update-personal-data-check.md +3 -0
  453. package/docs/examples/projects/update-platform.md +4 -0
  454. package/docs/examples/projects/update-service-status-all.md +3 -0
  455. package/docs/examples/projects/update-service-status.md +4 -0
  456. package/docs/examples/projects/update-session-alerts.md +3 -0
  457. package/docs/examples/projects/update-session-invalidation.md +3 -0
  458. package/docs/examples/projects/update-sms-template.md +5 -0
  459. package/docs/examples/projects/update-smtp.md +3 -0
  460. package/docs/examples/projects/update-team.md +3 -0
  461. package/docs/examples/projects/update-webhook-signature.md +3 -0
  462. package/docs/examples/projects/update-webhook.md +7 -0
  463. package/docs/examples/projects/update.md +3 -0
  464. package/docs/examples/proxy/create-api-rule.md +2 -0
  465. package/docs/examples/proxy/create-function-rule.md +3 -0
  466. package/docs/examples/proxy/create-redirect-rule.md +6 -0
  467. package/docs/examples/proxy/create-site-rule.md +3 -0
  468. package/docs/examples/proxy/delete-rule.md +2 -0
  469. package/docs/examples/proxy/get-rule.md +2 -0
  470. package/docs/examples/proxy/list-rules.md +1 -0
  471. package/docs/examples/proxy/update-rule-verification.md +2 -0
  472. package/docs/examples/sites/create-deployment.md +4 -0
  473. package/docs/examples/sites/create-duplicate-deployment.md +3 -0
  474. package/docs/examples/sites/create-template-deployment.md +7 -0
  475. package/docs/examples/sites/create-variable.md +4 -0
  476. package/docs/examples/sites/create-vcs-deployment.md +4 -0
  477. package/docs/examples/sites/create.md +5 -0
  478. package/docs/examples/sites/delete-deployment.md +3 -0
  479. package/docs/examples/sites/delete-log.md +3 -0
  480. package/docs/examples/sites/delete-variable.md +3 -0
  481. package/docs/examples/sites/delete.md +2 -0
  482. package/docs/examples/sites/get-deployment-download.md +3 -0
  483. package/docs/examples/sites/get-deployment.md +3 -0
  484. package/docs/examples/sites/get-log.md +3 -0
  485. package/docs/examples/sites/get-template.md +2 -0
  486. package/docs/examples/sites/get-usage.md +2 -0
  487. package/docs/examples/sites/get-variable.md +3 -0
  488. package/docs/examples/sites/get.md +2 -0
  489. package/docs/examples/sites/list-deployments.md +2 -0
  490. package/docs/examples/sites/list-frameworks.md +1 -0
  491. package/docs/examples/sites/list-logs.md +2 -0
  492. package/docs/examples/sites/list-specifications.md +1 -0
  493. package/docs/examples/sites/list-templates.md +1 -0
  494. package/docs/examples/sites/list-usage.md +1 -0
  495. package/docs/examples/sites/list-variables.md +2 -0
  496. package/docs/examples/sites/list.md +1 -0
  497. package/docs/examples/sites/update-deployment-status.md +3 -0
  498. package/docs/examples/sites/update-site-deployment.md +3 -0
  499. package/docs/examples/sites/update-variable.md +4 -0
  500. package/docs/examples/sites/update.md +4 -0
  501. package/docs/examples/storage/create-bucket.md +3 -0
  502. package/docs/examples/storage/create-file.md +4 -0
  503. package/docs/examples/storage/delete-bucket.md +2 -0
  504. package/docs/examples/storage/delete-file.md +3 -0
  505. package/docs/examples/storage/get-bucket-usage.md +2 -0
  506. package/docs/examples/storage/get-bucket.md +2 -0
  507. package/docs/examples/storage/get-file-download.md +3 -0
  508. package/docs/examples/storage/get-file-preview.md +3 -0
  509. package/docs/examples/storage/get-file-view.md +3 -0
  510. package/docs/examples/storage/get-file.md +3 -0
  511. package/docs/examples/storage/get-usage.md +1 -0
  512. package/docs/examples/storage/list-buckets.md +1 -0
  513. package/docs/examples/storage/list-files.md +2 -0
  514. package/docs/examples/storage/update-bucket.md +3 -0
  515. package/docs/examples/storage/update-file.md +3 -0
  516. package/docs/examples/tablesdb/create-boolean-column.md +5 -0
  517. package/docs/examples/tablesdb/create-datetime-column.md +5 -0
  518. package/docs/examples/tablesdb/create-email-column.md +5 -0
  519. package/docs/examples/tablesdb/create-enum-column.md +6 -0
  520. package/docs/examples/tablesdb/create-float-column.md +5 -0
  521. package/docs/examples/tablesdb/create-index.md +6 -0
  522. package/docs/examples/tablesdb/create-integer-column.md +5 -0
  523. package/docs/examples/tablesdb/create-ip-column.md +5 -0
  524. package/docs/examples/tablesdb/create-line-column.md +5 -0
  525. package/docs/examples/tablesdb/create-operations.md +2 -0
  526. package/docs/examples/tablesdb/create-point-column.md +5 -0
  527. package/docs/examples/tablesdb/create-polygon-column.md +5 -0
  528. package/docs/examples/tablesdb/create-relationship-column.md +5 -0
  529. package/docs/examples/tablesdb/create-row.md +5 -0
  530. package/docs/examples/tablesdb/create-rows.md +4 -0
  531. package/docs/examples/tablesdb/create-string-column.md +6 -0
  532. package/docs/examples/tablesdb/create-table.md +4 -0
  533. package/docs/examples/tablesdb/create-transaction.md +1 -0
  534. package/docs/examples/tablesdb/create-url-column.md +5 -0
  535. package/docs/examples/tablesdb/create.md +3 -0
  536. package/docs/examples/tablesdb/decrement-row-column.md +5 -0
  537. package/docs/examples/tablesdb/delete-column.md +4 -0
  538. package/docs/examples/tablesdb/delete-index.md +4 -0
  539. package/docs/examples/tablesdb/delete-row.md +4 -0
  540. package/docs/examples/tablesdb/delete-rows.md +3 -0
  541. package/docs/examples/tablesdb/delete-table.md +3 -0
  542. package/docs/examples/tablesdb/delete-transaction.md +2 -0
  543. package/docs/examples/tablesdb/delete.md +2 -0
  544. package/docs/examples/tablesdb/get-column.md +4 -0
  545. package/docs/examples/tablesdb/get-index.md +4 -0
  546. package/docs/examples/tablesdb/get-row.md +4 -0
  547. package/docs/examples/tablesdb/get-table-usage.md +3 -0
  548. package/docs/examples/tablesdb/get-table.md +3 -0
  549. package/docs/examples/tablesdb/get-transaction.md +2 -0
  550. package/docs/examples/tablesdb/get-usage.md +2 -0
  551. package/docs/examples/tablesdb/get.md +2 -0
  552. package/docs/examples/tablesdb/increment-row-column.md +5 -0
  553. package/docs/examples/tablesdb/list-columns.md +3 -0
  554. package/docs/examples/tablesdb/list-indexes.md +3 -0
  555. package/docs/examples/tablesdb/list-row-logs.md +4 -0
  556. package/docs/examples/tablesdb/list-rows.md +3 -0
  557. package/docs/examples/tablesdb/list-table-logs.md +3 -0
  558. package/docs/examples/tablesdb/list-tables.md +2 -0
  559. package/docs/examples/tablesdb/list-transactions.md +1 -0
  560. package/docs/examples/tablesdb/list-usage.md +1 -0
  561. package/docs/examples/tablesdb/list.md +1 -0
  562. package/docs/examples/tablesdb/update-boolean-column.md +6 -0
  563. package/docs/examples/tablesdb/update-datetime-column.md +6 -0
  564. package/docs/examples/tablesdb/update-email-column.md +6 -0
  565. package/docs/examples/tablesdb/update-enum-column.md +7 -0
  566. package/docs/examples/tablesdb/update-float-column.md +6 -0
  567. package/docs/examples/tablesdb/update-integer-column.md +6 -0
  568. package/docs/examples/tablesdb/update-ip-column.md +6 -0
  569. package/docs/examples/tablesdb/update-line-column.md +5 -0
  570. package/docs/examples/tablesdb/update-point-column.md +5 -0
  571. package/docs/examples/tablesdb/update-polygon-column.md +5 -0
  572. package/docs/examples/tablesdb/update-relationship-column.md +4 -0
  573. package/docs/examples/tablesdb/update-row.md +4 -0
  574. package/docs/examples/tablesdb/update-rows.md +3 -0
  575. package/docs/examples/tablesdb/update-string-column.md +6 -0
  576. package/docs/examples/tablesdb/update-table.md +4 -0
  577. package/docs/examples/tablesdb/update-transaction.md +2 -0
  578. package/docs/examples/tablesdb/update-url-column.md +6 -0
  579. package/docs/examples/tablesdb/update.md +3 -0
  580. package/docs/examples/tablesdb/upsert-row.md +4 -0
  581. package/docs/examples/tablesdb/upsert-rows.md +4 -0
  582. package/docs/examples/teams/create-membership.md +3 -0
  583. package/docs/examples/teams/create.md +3 -0
  584. package/docs/examples/teams/delete-membership.md +3 -0
  585. package/docs/examples/teams/delete.md +2 -0
  586. package/docs/examples/teams/get-membership.md +3 -0
  587. package/docs/examples/teams/get-prefs.md +2 -0
  588. package/docs/examples/teams/get.md +2 -0
  589. package/docs/examples/teams/list-logs.md +2 -0
  590. package/docs/examples/teams/list-memberships.md +2 -0
  591. package/docs/examples/teams/list.md +1 -0
  592. package/docs/examples/teams/update-membership-status.md +5 -0
  593. package/docs/examples/teams/update-membership.md +4 -0
  594. package/docs/examples/teams/update-name.md +3 -0
  595. package/docs/examples/teams/update-prefs.md +3 -0
  596. package/docs/examples/tokens/create-file-token.md +3 -0
  597. package/docs/examples/tokens/delete.md +2 -0
  598. package/docs/examples/tokens/get.md +2 -0
  599. package/docs/examples/tokens/list.md +3 -0
  600. package/docs/examples/tokens/update.md +2 -0
  601. package/docs/examples/users/create-argon-2-user.md +4 -0
  602. package/docs/examples/users/create-bcrypt-user.md +4 -0
  603. package/docs/examples/users/create-jwt.md +2 -0
  604. package/docs/examples/users/create-md-5-user.md +4 -0
  605. package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
  606. package/docs/examples/users/create-ph-pass-user.md +4 -0
  607. package/docs/examples/users/create-scrypt-modified-user.md +7 -0
  608. package/docs/examples/users/create-scrypt-user.md +9 -0
  609. package/docs/examples/users/create-session.md +2 -0
  610. package/docs/examples/users/create-sha-user.md +4 -0
  611. package/docs/examples/users/create-target.md +5 -0
  612. package/docs/examples/users/create-token.md +2 -0
  613. package/docs/examples/users/create.md +2 -0
  614. package/docs/examples/users/delete-identity.md +2 -0
  615. package/docs/examples/users/delete-mfa-authenticator.md +3 -0
  616. package/docs/examples/users/delete-session.md +3 -0
  617. package/docs/examples/users/delete-sessions.md +2 -0
  618. package/docs/examples/users/delete-target.md +3 -0
  619. package/docs/examples/users/delete.md +2 -0
  620. package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
  621. package/docs/examples/users/get-prefs.md +2 -0
  622. package/docs/examples/users/get-target.md +3 -0
  623. package/docs/examples/users/get-usage.md +1 -0
  624. package/docs/examples/users/get.md +2 -0
  625. package/docs/examples/users/list-identities.md +1 -0
  626. package/docs/examples/users/list-logs.md +2 -0
  627. package/docs/examples/users/list-memberships.md +2 -0
  628. package/docs/examples/users/list-mfa-factors.md +2 -0
  629. package/docs/examples/users/list-sessions.md +2 -0
  630. package/docs/examples/users/list-targets.md +2 -0
  631. package/docs/examples/users/list.md +1 -0
  632. package/docs/examples/users/update-email-verification.md +3 -0
  633. package/docs/examples/users/update-email.md +3 -0
  634. package/docs/examples/users/update-labels.md +3 -0
  635. package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
  636. package/docs/examples/users/update-mfa.md +3 -0
  637. package/docs/examples/users/update-name.md +3 -0
  638. package/docs/examples/users/update-password.md +3 -0
  639. package/docs/examples/users/update-phone-verification.md +3 -0
  640. package/docs/examples/users/update-phone.md +3 -0
  641. package/docs/examples/users/update-prefs.md +3 -0
  642. package/docs/examples/users/update-status.md +3 -0
  643. package/docs/examples/users/update-target.md +3 -0
  644. package/docs/examples/vcs/create-repository-detection.md +4 -0
  645. package/docs/examples/vcs/create-repository.md +4 -0
  646. package/docs/examples/vcs/delete-installation.md +2 -0
  647. package/docs/examples/vcs/get-installation.md +2 -0
  648. package/docs/examples/vcs/get-repository-contents.md +3 -0
  649. package/docs/examples/vcs/get-repository.md +3 -0
  650. package/docs/examples/vcs/list-installations.md +1 -0
  651. package/docs/examples/vcs/list-repositories.md +3 -0
  652. package/docs/examples/vcs/list-repository-branches.md +3 -0
  653. package/docs/examples/vcs/update-external-deployments.md +4 -0
  654. package/index.ts +25 -165
  655. package/install.ps1 +2 -2
  656. package/install.sh +1 -1
  657. package/lib/client.ts +14 -6
  658. package/lib/commands/config.ts +494 -0
  659. package/lib/commands/db.ts +324 -0
  660. package/lib/commands/errors.ts +93 -0
  661. package/lib/commands/init.ts +25 -14
  662. package/lib/commands/pull.ts +683 -420
  663. package/lib/commands/push.ts +1677 -2404
  664. package/lib/commands/run.ts +1 -1
  665. package/lib/commands/schema.ts +122 -0
  666. package/lib/commands/services/account.ts +200 -385
  667. package/lib/commands/services/console.ts +13 -34
  668. package/lib/commands/services/databases.ts +298 -1215
  669. package/lib/commands/services/functions.ts +115 -434
  670. package/lib/commands/services/graphql.ts +5 -2
  671. package/lib/commands/services/health.ts +87 -149
  672. package/lib/commands/services/locale.ts +36 -33
  673. package/lib/commands/services/messaging.ts +180 -999
  674. package/lib/commands/services/migrations.ts +54 -226
  675. package/lib/commands/services/project.ts +19 -23
  676. package/lib/commands/services/projects.ts +182 -714
  677. package/lib/commands/services/proxy.ts +30 -58
  678. package/lib/commands/services/sites.ts +107 -379
  679. package/lib/commands/services/storage.ts +93 -302
  680. package/lib/commands/services/tables-db.ts +1150 -0
  681. package/lib/commands/services/teams.ts +48 -110
  682. package/lib/commands/services/tokens.ts +16 -28
  683. package/lib/commands/services/users.ts +133 -403
  684. package/lib/commands/services/vcs.ts +48 -151
  685. package/lib/commands/types.ts +1 -1
  686. package/lib/commands/update.ts +13 -22
  687. package/lib/commands/utils/attributes.ts +719 -0
  688. package/lib/commands/utils/change-approval.ts +186 -0
  689. package/lib/commands/utils/database-sync.ts +180 -0
  690. package/lib/commands/utils/deployment.ts +184 -0
  691. package/lib/commands/utils/error-formatter.ts +417 -0
  692. package/lib/commands/utils/pools.ts +355 -0
  693. package/lib/config.ts +46 -82
  694. package/lib/constants.ts +22 -0
  695. package/lib/emulation/docker.ts +101 -87
  696. package/lib/parser.ts +16 -11
  697. package/lib/questions.ts +20 -21
  698. package/lib/sdks.ts +15 -11
  699. package/lib/types.ts +0 -229
  700. package/lib/utils.ts +45 -4
  701. package/package.json +12 -11
  702. package/scoop/appwrite.config.json +29 -19
  703. package/.github/workflows/build-verify.yml +0 -71
  704. package/bun.lock +0 -625
  705. package/dist/lib/commands/services/avatars.d.ts +0 -3
  706. package/dist/lib/commands/services/avatars.d.ts.map +0 -1
  707. package/dist/lib/commands/services/avatars.js +0 -118
  708. package/dist/lib/commands/services/avatars.js.map +0 -1
  709. package/dist/lib/commands/services/tablesdb.d.ts +0 -3
  710. package/dist/lib/commands/services/tablesdb.d.ts.map +0 -1
  711. package/dist/lib/commands/services/tablesdb.js.map +0 -1
  712. package/dist/scripts/generate-commands.d.ts +0 -2
  713. package/dist/scripts/generate-commands.d.ts.map +0 -1
  714. package/dist/scripts/generate-commands.js +0 -398
  715. package/dist/scripts/generate-commands.js.map +0 -1
  716. package/lib/commands/services/avatars.ts +0 -400
  717. package/lib/commands/services/tablesdb.ts +0 -1928
  718. package/scripts/generate-commands.ts +0 -539
@@ -10,7 +10,7 @@ import fs from "fs";
10
10
  import { log, error, success } from "../parser.js";
11
11
  import { openRuntimesVersion, systemTools, Queue } from "./utils.js";
12
12
  import { getAllFiles } from "../utils.js";
13
- import type { FunctionConfig } from "../types.js";
13
+ import type { FunctionType } from "../commands/config.js";
14
14
 
15
15
  export async function dockerStop(id: string): Promise<void> {
16
16
  const stopProcess = childProcess.spawn("docker", ["rm", "--force", id], {
@@ -26,7 +26,7 @@ export async function dockerStop(id: string): Promise<void> {
26
26
  });
27
27
  }
28
28
 
29
- export async function dockerPull(func: FunctionConfig): Promise<void> {
29
+ export async function dockerPull(func: FunctionType): Promise<void> {
30
30
  const runtimeChunks = func.runtime.split("-");
31
31
  const runtimeVersion = runtimeChunks.pop();
32
32
  const runtimeName = runtimeChunks.join("-");
@@ -48,7 +48,7 @@ export async function dockerPull(func: FunctionConfig): Promise<void> {
48
48
  }
49
49
 
50
50
  export async function dockerBuild(
51
- func: FunctionConfig,
51
+ func: FunctionType,
52
52
  variables: Record<string, string>,
53
53
  ): Promise<void> {
54
54
  const runtimeChunks = func.runtime.split("-");
@@ -78,111 +78,125 @@ export async function dockerBuild(
78
78
  fs.mkdirSync(tmpBuildPath, { recursive: true });
79
79
  }
80
80
 
81
- for (const f of files) {
82
- const filePath = path.join(tmpBuildPath, f);
83
- const fileDir = path.dirname(filePath);
84
- if (!fs.existsSync(fileDir)) {
85
- fs.mkdirSync(fileDir, { recursive: true });
81
+ let killInterval: ReturnType<typeof setInterval> | undefined;
82
+
83
+ try {
84
+ for (const f of files) {
85
+ const filePath = path.join(tmpBuildPath, f);
86
+ const fileDir = path.dirname(filePath);
87
+ if (!fs.existsSync(fileDir)) {
88
+ fs.mkdirSync(fileDir, { recursive: true });
89
+ }
90
+
91
+ const sourcePath = path.join(functionDir, f);
92
+ fs.copyFileSync(sourcePath, filePath);
86
93
  }
87
94
 
88
- const sourcePath = path.join(functionDir, f);
89
- fs.copyFileSync(sourcePath, filePath);
90
- }
95
+ const params: string[] = ["run"];
96
+ params.push("--name", id);
97
+ params.push("-v", `${tmpBuildPath}/:/mnt/code:rw`);
98
+ params.push("-e", "OPEN_RUNTIMES_ENV=development");
99
+ params.push("-e", "OPEN_RUNTIMES_SECRET=");
100
+ params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
91
101
 
92
- const params: string[] = ["run"];
93
- params.push("--name", id);
94
- params.push("-v", `${tmpBuildPath}/:/mnt/code:rw`);
95
- params.push("-e", "OPEN_RUNTIMES_ENV=development");
96
- params.push("-e", "OPEN_RUNTIMES_SECRET=");
97
- params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
102
+ for (const k of Object.keys(variables)) {
103
+ params.push("-e", `${k}=${variables[k]}`);
104
+ }
98
105
 
99
- for (const k of Object.keys(variables)) {
100
- params.push("-e", `${k}=${variables[k]}`);
101
- }
106
+ params.push(imageName, "sh", "-c", `helpers/build.sh "${func.commands}"`);
102
107
 
103
- params.push(imageName, "sh", "-c", `helpers/build.sh "${func.commands}"`);
108
+ const buildProcess = childProcess.spawn("docker", params, {
109
+ stdio: "pipe",
110
+ cwd: functionDir,
111
+ env: {
112
+ ...process.env,
113
+ DOCKER_CLI_HINTS: "false",
114
+ },
115
+ });
104
116
 
105
- const buildProcess = childProcess.spawn("docker", params, {
106
- stdio: "pipe",
107
- cwd: functionDir,
108
- env: {
109
- ...process.env,
110
- DOCKER_CLI_HINTS: "false",
111
- },
112
- });
117
+ buildProcess.stdout.on("data", (data) => {
118
+ process.stdout.write(chalk.blackBright(`${data}\n`));
119
+ });
113
120
 
114
- buildProcess.stdout.on("data", (data) => {
115
- process.stdout.write(chalk.blackBright(`${data}\n`));
116
- });
121
+ buildProcess.stderr.on("data", (data) => {
122
+ process.stderr.write(chalk.blackBright(`${data}\n`));
123
+ });
117
124
 
118
- buildProcess.stderr.on("data", (data) => {
119
- process.stderr.write(chalk.blackBright(`${data}\n`));
120
- });
125
+ killInterval = setInterval(() => {
126
+ if (!Queue.isEmpty()) {
127
+ log("Cancelling build ...");
128
+ buildProcess.stdout.destroy();
129
+ buildProcess.stdin.destroy();
130
+ buildProcess.stderr.destroy();
131
+ buildProcess.kill("SIGKILL");
132
+ clearInterval(killInterval);
133
+ }
134
+ }, 100);
121
135
 
122
- const killInterval = setInterval(() => {
123
- if (!Queue.isEmpty()) {
124
- log("Cancelling build ...");
125
- buildProcess.stdout.destroy();
126
- buildProcess.stdin.destroy();
127
- buildProcess.stderr.destroy();
128
- buildProcess.kill("SIGKILL");
129
- clearInterval(killInterval);
130
- }
131
- }, 100);
136
+ await new Promise<void>((res) => {
137
+ buildProcess.on("close", res);
138
+ });
132
139
 
133
- await new Promise<void>((res) => {
134
- buildProcess.on("close", res);
135
- });
140
+ clearInterval(killInterval);
141
+ killInterval = undefined;
136
142
 
137
- clearInterval(killInterval);
138
- if (!Queue.isEmpty()) {
139
- return;
140
- }
143
+ if (!Queue.isEmpty()) {
144
+ await dockerStop(id);
145
+ return;
146
+ }
141
147
 
142
- const copyPath = path.join(
143
- localConfig.getDirname(),
144
- func.path,
145
- ".appwrite",
146
- "build.tar.gz",
147
- );
148
- const copyDir = path.dirname(copyPath);
149
- if (!fs.existsSync(copyDir)) {
150
- fs.mkdirSync(copyDir, { recursive: true });
151
- }
148
+ const copyPath = path.join(
149
+ localConfig.getDirname(),
150
+ func.path,
151
+ ".appwrite",
152
+ "build.tar.gz",
153
+ );
154
+ const copyDir = path.dirname(copyPath);
155
+ if (!fs.existsSync(copyDir)) {
156
+ fs.mkdirSync(copyDir, { recursive: true });
157
+ }
152
158
 
153
- const copyProcess = childProcess.spawn(
154
- "docker",
155
- ["cp", `${id}:/mnt/code/code.tar.gz`, copyPath],
156
- {
157
- stdio: "pipe",
158
- cwd: functionDir,
159
- env: {
160
- ...process.env,
161
- DOCKER_CLI_HINTS: "false",
159
+ const copyProcess = childProcess.spawn(
160
+ "docker",
161
+ ["cp", `${id}:/mnt/code/code.tar.gz`, copyPath],
162
+ {
163
+ stdio: "pipe",
164
+ cwd: functionDir,
165
+ env: {
166
+ ...process.env,
167
+ DOCKER_CLI_HINTS: "false",
168
+ },
162
169
  },
163
- },
164
- );
170
+ );
165
171
 
166
- await new Promise<void>((res) => {
167
- copyProcess.on("close", res);
168
- });
172
+ await new Promise<void>((res) => {
173
+ copyProcess.on("close", res);
174
+ });
169
175
 
170
- await dockerStop(id);
176
+ await dockerStop(id);
177
+ } finally {
178
+ // Clean up interval if still running
179
+ if (killInterval !== undefined) {
180
+ clearInterval(killInterval);
181
+ }
171
182
 
172
- const tempPath = path.join(
173
- localConfig.getDirname(),
174
- func.path,
175
- "code.tar.gz",
176
- );
177
- if (fs.existsSync(tempPath)) {
178
- fs.rmSync(tempPath, { force: true });
179
- }
183
+ // Clean up temp files
184
+ const tempPath = path.join(
185
+ localConfig.getDirname(),
186
+ func.path,
187
+ "code.tar.gz",
188
+ );
189
+ if (fs.existsSync(tempPath)) {
190
+ fs.rmSync(tempPath, { force: true });
191
+ }
180
192
 
181
- fs.rmSync(tmpBuildPath, { recursive: true, force: true });
193
+ // Always clean up tmpBuildPath
194
+ fs.rmSync(tmpBuildPath, { recursive: true, force: true });
195
+ }
182
196
  }
183
197
 
184
198
  export async function dockerStart(
185
- func: FunctionConfig,
199
+ func: FunctionType,
186
200
  variables: Record<string, string>,
187
201
  port: number,
188
202
  ): Promise<void> {
package/lib/parser.ts CHANGED
@@ -8,6 +8,12 @@ import os from "os";
8
8
  import { Client } from "@appwrite.io/console";
9
9
  import { isCloud } from "./utils.js";
10
10
  import type { CliConfig } from "./types.js";
11
+ import {
12
+ SDK_VERSION,
13
+ SDK_TITLE,
14
+ SDK_LOGO,
15
+ EXECUTABLE_NAME,
16
+ } from "./constants.js";
11
17
 
12
18
  const cliConfig: CliConfig = {
13
19
  verbose: false,
@@ -128,8 +134,8 @@ export const parseError = (err: Error): void => {
128
134
  // Silently fail
129
135
  }
130
136
 
131
- const version = "13.0.0-rc.2";
132
- const stepsToReproduce = `Running \`appwrite ${(cliConfig.reportData as any).data.args.join(" ")}\``;
137
+ const version = SDK_VERSION;
138
+ const stepsToReproduce = `Running \`${EXECUTABLE_NAME} ${(cliConfig.reportData as any).data.args.join(" ")}\``;
133
139
  const yourEnvironment = `CLI version: ${version}\nOperation System: ${os.type()}\nAppwrite version: ${appwriteVersion}\nIs Cloud: ${isCloud()}`;
134
140
 
135
141
  const stack = "```\n" + (err.stack || err.message) + "\n```";
@@ -226,8 +232,7 @@ export const error = (message?: string): void => {
226
232
  console.error(`${chalk.red.bold("✗ Error:")} ${chalk.red(message ?? "")}`);
227
233
  };
228
234
 
229
- export const logo =
230
- "\n _ _ _ ___ __ _____\n \/_\\ _ __ _ ____ ___ __(_) |_ ___ \/ __\\ \/ \/ \\_ \\\n \/\/_\\\\| '_ \\| '_ \\ \\ \/\\ \/ \/ '__| | __\/ _ \\ \/ \/ \/ \/ \/ \/\\\/\n \/ _ \\ |_) | |_) \\ V V \/| | | | || __\/ \/ \/___\/ \/___\/\\\/ \/_\n \\_\/ \\_\/ .__\/| .__\/ \\_\/\\_\/ |_| |_|\\__\\___| \\____\/\\____\/\\____\/\n |_| |_|\n\n";
235
+ export const logo = SDK_LOGO;
231
236
 
232
237
  export const commandDescriptions: Record<string, string> = {
233
238
  account: `The account command allows you to authenticate and manage a user account.`,
@@ -235,25 +240,25 @@ export const commandDescriptions: Record<string, string> = {
235
240
  avatars: `The avatars command aims to help you complete everyday tasks related to your app image, icons, and avatars.`,
236
241
  databases: `(Legacy) The databases command allows you to create structured collections of documents and query and filter lists of documents.`,
237
242
  "tables-db": `The tables-db command allows you to create structured tables of columns and query and filter lists of rows.`,
238
- init: `The init command provides a convenient wrapper for creating and initializing projects, functions, collections, buckets, teams, and messaging-topics in Appwrite.`,
243
+ init: `The init command provides a convenient wrapper for creating and initializing projects, functions, collections, buckets, teams, and messaging-topics in ${SDK_TITLE}.`,
239
244
  push: `The push command provides a convenient wrapper for pushing your functions, collections, buckets, teams, and messaging-topics.`,
240
245
  run: `The run command allows you to run the project locally to allow easy development and quick debugging.`,
241
246
  functions: `The functions command allows you to view, create, and manage your Cloud Functions.`,
242
- health: `The health command allows you to both validate and monitor your Appwrite server's health.`,
243
- pull: `The pull command helps you pull your Appwrite project, functions, collections, buckets, teams, and messaging-topics`,
247
+ health: `The health command allows you to both validate and monitor your ${SDK_TITLE} server's health.`,
248
+ pull: `The pull command helps you pull your ${SDK_TITLE} project, functions, collections, buckets, teams, and messaging-topics`,
244
249
  locale: `The locale command allows you to customize your app based on your users' location.`,
245
250
  sites: `The sites command allows you to view, create and manage your Appwrite Sites.`,
246
251
  storage: `The storage command allows you to manage your project files.`,
247
252
  teams: `The teams command allows you to group users of your project to enable them to share read and write access to your project resources.`,
248
- update: `The update command allows you to update the Appwrite CLI to the latest version.`,
253
+ update: `The update command allows you to update the ${SDK_TITLE} CLI to the latest version.`,
249
254
  users: `The users command allows you to manage your project users.`,
250
255
  projects: `The projects command allows you to manage your projects, add platforms, manage API keys, Dev Keys etc.`,
251
256
  project: `The project command allows you to manage project related resources like usage, variables, etc.`,
252
257
  client: `The client command allows you to configure your CLI`,
253
258
  login: `The login command allows you to authenticate and manage a user account.`,
254
- logout: `The logout command allows you to log out of your Appwrite account.`,
255
- whoami: `The whomai command gives information about the currently logged-in user.`,
256
- register: `Outputs the link to create an Appwrite account.`,
259
+ logout: `The logout command allows you to log out of your ${SDK_TITLE} account.`,
260
+ whoami: `The whoami command gives information about the currently logged-in user.`,
261
+ register: `Outputs the link to create an ${SDK_TITLE} account.`,
257
262
  console: `The console command gives you access to the APIs used by the Appwrite Console.`,
258
263
  messaging: `The messaging command allows you to manage topics and targets and send messages.`,
259
264
  migrations: `The migrations command allows you to migrate data between services.`,
package/lib/questions.ts CHANGED
@@ -13,6 +13,7 @@ import {
13
13
  getSitesService,
14
14
  getDatabasesService,
15
15
  } from "./services.js";
16
+ import { SDK_TITLE, DEFAULT_ENDPOINT, EXECUTABLE_NAME } from "./constants.js";
16
17
 
17
18
  interface Answers {
18
19
  override?: boolean;
@@ -48,9 +49,9 @@ const whenOverride = (answers: Answers): boolean =>
48
49
  answers.override === undefined ? true : answers.override;
49
50
 
50
51
  const getIgnores = (runtime: string): string[] => {
51
- const languge = runtime.split("-").slice(0, -1).join("-");
52
+ const language = runtime.split("-").slice(0, -1).join("-");
52
53
 
53
- switch (languge) {
54
+ switch (language) {
54
55
  case "cpp":
55
56
  return ["build", "CMakeFiles", "CMakeCaches.txt"];
56
57
  case "dart":
@@ -82,9 +83,9 @@ const getIgnores = (runtime: string): string[] => {
82
83
  };
83
84
 
84
85
  const getEntrypoint = (runtime: string): string | undefined => {
85
- const languge = runtime.split("-").slice(0, -1).join("-");
86
+ const language = runtime.split("-").slice(0, -1).join("-");
86
87
 
87
- switch (languge) {
88
+ switch (language) {
88
89
  case "dart":
89
90
  return "lib/main.dart";
90
91
  case "deno":
@@ -120,9 +121,9 @@ const getEntrypoint = (runtime: string): string | undefined => {
120
121
  };
121
122
 
122
123
  const getInstallCommand = (runtime: string): string | undefined => {
123
- const languge = runtime.split("-").slice(0, -1).join("-");
124
+ const language = runtime.split("-").slice(0, -1).join("-");
124
125
 
125
- switch (languge) {
126
+ switch (language) {
126
127
  case "dart":
127
128
  return "dart pub get";
128
129
  case "deno":
@@ -156,7 +157,7 @@ export const questionsInitProject: Question[] = [
156
157
  {
157
158
  type: "confirm",
158
159
  name: "override",
159
- message: `An Appwrite project ( ${localConfig.getProject()["projectId"]} ) is already associated with the current directory. Would you like to override`,
160
+ message: `An ${SDK_TITLE} project ( ${localConfig.getProject()["projectId"]} ) is already associated with the current directory. Would you like to override it?`,
160
161
  when() {
161
162
  return Object.keys(localConfig.getProject()).length !== 0;
162
163
  },
@@ -233,7 +234,7 @@ export const questionsInitProject: Question[] = [
233
234
  {
234
235
  type: "search-list",
235
236
  name: "project",
236
- message: "Choose your Appwrite project.",
237
+ message: `Choose your ${SDK_TITLE} project.`,
237
238
  choices: async (answers: Answers) => {
238
239
  const queries = [
239
240
  JSON.stringify({
@@ -273,11 +274,10 @@ export const questionsInitProject: Question[] = [
273
274
  {
274
275
  type: "list",
275
276
  name: "region",
276
- message: "Select your Appwrite Cloud region",
277
+ message: `Select your ${SDK_TITLE} Cloud region`,
277
278
  choices: async () => {
278
279
  let client = await sdkForConsole(true);
279
- const endpoint =
280
- globalConfig.getEndpoint() || "https://cloud.appwrite.io/v1";
280
+ const endpoint = globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
281
281
  let response = (await client.call(
282
282
  "GET",
283
283
  new URL(endpoint + "/console/regions"),
@@ -306,7 +306,7 @@ export const questionsInitProjectAutopull: Question[] = [
306
306
  {
307
307
  type: "confirm",
308
308
  name: "autopull",
309
- message: `Would you like to pull all resources from project you just linked?`,
309
+ message: `Would you like to pull all resources from the project you just linked?`,
310
310
  },
311
311
  ];
312
312
 
@@ -348,7 +348,7 @@ export const questionsPullFunctions: Question[] = [
348
348
  );
349
349
 
350
350
  if (functions.length === 0) {
351
- throw "We couldn't find any functions in your Appwrite project";
351
+ throw `We couldn't find any functions in your ${SDK_TITLE} project`;
352
352
  }
353
353
  return functions.map((func: any) => {
354
354
  return {
@@ -383,7 +383,7 @@ export const questionsPullSites: Question[] = [
383
383
  );
384
384
 
385
385
  if (sites.length === 0) {
386
- throw "We couldn't find any sites in your Appwrite project";
386
+ throw `We couldn't find any sites in your ${SDK_TITLE} project`;
387
387
  }
388
388
  return sites.map((site: any) => {
389
389
  return {
@@ -502,7 +502,7 @@ export const questionsCreateBucket: Question[] = [
502
502
  export const questionsCreateTeam: Question[] = [
503
503
  {
504
504
  type: "input",
505
- name: "bucket",
505
+ name: "team",
506
506
  message: "What would you like to name your team?",
507
507
  default: "My Awesome Team",
508
508
  },
@@ -703,7 +703,7 @@ export const questionsLogin: Question[] = [
703
703
  {
704
704
  type: "list",
705
705
  name: "method",
706
- message: "What you like to do?",
706
+ message: "What would you like to do?",
707
707
  choices: [
708
708
  { name: "Login to an account", value: "login" },
709
709
  { name: "Switch to an account", value: "select" },
@@ -771,7 +771,7 @@ export const questionGetEndpoint: Question[] = [
771
771
  {
772
772
  type: "input",
773
773
  name: "endpoint",
774
- message: "Enter the endpoint of your Appwrite server",
774
+ message: `Enter the endpoint of your ${SDK_TITLE} server`,
775
775
  default: "http://localhost/v1",
776
776
  async validate(value: string) {
777
777
  if (!value) {
@@ -1014,7 +1014,6 @@ export const questionsGetEntrypoint: Question[] = [
1014
1014
  type: "input",
1015
1015
  name: "entrypoint",
1016
1016
  message: "Enter the entrypoint",
1017
- default: null,
1018
1017
  validate(value: string) {
1019
1018
  if (!value) {
1020
1019
  return "Please enter your entrypoint";
@@ -1062,11 +1061,11 @@ export const questionsListFactors: Question[] = [
1062
1061
  value: "totp",
1063
1062
  },
1064
1063
  {
1065
- name: `Email (Get a security code at your Appwrite email address)`,
1064
+ name: `Email (Get a security code at your ${SDK_TITLE} email address)`,
1066
1065
  value: "email",
1067
1066
  },
1068
1067
  {
1069
- name: `SMS (Get a security code on your Appwrite phone number)`,
1068
+ name: `SMS (Get a security code on your ${SDK_TITLE} phone number)`,
1070
1069
  value: "phone",
1071
1070
  },
1072
1071
  {
@@ -1104,7 +1103,7 @@ export const questionsRunFunctions: Question[] = [
1104
1103
  let functions = localConfig.getFunctions();
1105
1104
  if (functions.length === 0) {
1106
1105
  throw new Error(
1107
- "No functions found. Use 'appwrite pull functions' to synchronize existing one, or use 'appwrite init function' to create a new one.",
1106
+ `No functions found. Use '${EXECUTABLE_NAME} pull functions' to synchronize existing one, or use '${EXECUTABLE_NAME} init function' to create a new one.`,
1108
1107
  );
1109
1108
  }
1110
1109
  let choices = functions.map((func: any, idx: number) => {
package/lib/sdks.ts CHANGED
@@ -1,18 +1,24 @@
1
1
  import { globalConfig, localConfig } from "./config.js";
2
2
  import { Client } from "@appwrite.io/console";
3
3
  import os from "os";
4
+ import {
5
+ DEFAULT_ENDPOINT,
6
+ EXECUTABLE_NAME,
7
+ SDK_TITLE,
8
+ SDK_VERSION,
9
+ } from "./constants.js";
4
10
 
5
11
  export const sdkForConsole = async (
6
12
  requiresAuth: boolean = true,
7
13
  ): Promise<Client> => {
8
14
  const client = new Client();
9
- const endpoint = globalConfig.getEndpoint() || "https://cloud.appwrite.io/v1";
15
+ const endpoint = globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
10
16
  const cookie = globalConfig.getCookie();
11
17
  const selfSigned = globalConfig.getSelfSigned();
12
18
 
13
19
  if (requiresAuth && cookie === "") {
14
20
  throw new Error(
15
- "Session not found. Please run `appwrite login` to create a session",
21
+ `Session not found. Please run \`${EXECUTABLE_NAME} login\` to create a session`,
16
22
  );
17
23
  }
18
24
 
@@ -20,8 +26,8 @@ export const sdkForConsole = async (
20
26
  "x-sdk-name": "Command Line",
21
27
  "x-sdk-platform": "console",
22
28
  "x-sdk-language": "cli",
23
- "x-sdk-version": "13.0.0-rc.2",
24
- "user-agent": `AppwriteCLI/13.0.0-rc.2 (${os.type()} ${os.version()}; ${os.arch()})`,
29
+ "x-sdk-version": SDK_VERSION,
30
+ "user-agent": `AppwriteCLI/${SDK_VERSION} (${os.type()} ${os.version()}; ${os.arch()})`,
25
31
  };
26
32
 
27
33
  client
@@ -38,9 +44,7 @@ export const sdkForProject = async (): Promise<Client> => {
38
44
  const client = new Client();
39
45
 
40
46
  const endpoint =
41
- localConfig.getEndpoint() ||
42
- globalConfig.getEndpoint() ||
43
- "https://cloud.appwrite.io/v1";
47
+ localConfig.getEndpoint() || globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
44
48
 
45
49
  const project = localConfig.getProject().projectId
46
50
  ? localConfig.getProject().projectId
@@ -52,7 +56,7 @@ export const sdkForProject = async (): Promise<Client> => {
52
56
 
53
57
  if (!project) {
54
58
  throw new Error(
55
- "Project is not set. Please run `appwrite init project` to initialize the current directory with an Appwrite project.",
59
+ `Project is not set. Please run \`${EXECUTABLE_NAME} init project\` to initialize the current directory with an ${SDK_TITLE} project.`,
56
60
  );
57
61
  }
58
62
 
@@ -60,8 +64,8 @@ export const sdkForProject = async (): Promise<Client> => {
60
64
  "x-sdk-name": "Command Line",
61
65
  "x-sdk-platform": "console",
62
66
  "x-sdk-language": "cli",
63
- "x-sdk-version": "13.0.0-rc.2",
64
- "user-agent": `AppwriteCLI/13.0.0-rc.2 (${os.type()} ${os.version()}; ${os.arch()})`,
67
+ "x-sdk-version": SDK_VERSION,
68
+ "user-agent": `AppwriteCLI/${SDK_VERSION} (${os.type()} ${os.version()}; ${os.arch()})`,
65
69
  };
66
70
 
67
71
  client
@@ -79,6 +83,6 @@ export const sdkForProject = async (): Promise<Client> => {
79
83
  }
80
84
 
81
85
  throw new Error(
82
- "Session not found. Please run `appwrite login` to create a session.",
86
+ `Session not found. Please run \`${EXECUTABLE_NAME} login\` to create a session.`,
83
87
  );
84
88
  };