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
@@ -1,13 +1,17 @@
1
1
  import { Command } from "commander";
2
+ import fs from "fs";
2
3
  import { sdkForProject } from "../../sdks.js";
3
4
  import {
4
5
  actionRunner,
5
6
  commandDescriptions,
7
+ success,
8
+ parse,
6
9
  parseBool,
7
10
  parseInteger,
8
11
  } from "../../parser.js";
9
12
  import {
10
13
  Functions,
14
+ Runtime,
11
15
  UsageRange,
12
16
  TemplateReferenceType,
13
17
  VCSReferenceType,
@@ -33,17 +37,9 @@ export const functions = new Command("functions")
33
37
 
34
38
  functions
35
39
  .command(`list`)
36
- .description(
37
- `Get a list of all the project's functions. You can use the query params to filter your results.`,
38
- )
39
- .option(
40
- `--queries [queries...]`,
41
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId`,
42
- )
43
- .option(
44
- `--search <search>`,
45
- `Search term to filter your list results. Max length: 256 chars.`,
46
- )
40
+ .description(`Get a list of all the project's functions. You can use the query params to filter your results.`)
41
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId`)
42
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
47
43
  .option(
48
44
  `--total [value]`,
49
45
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -53,35 +49,20 @@ functions
53
49
  .action(
54
50
  actionRunner(
55
51
  async ({ queries, search, total }) =>
56
- await (await getFunctionsClient()).list(queries, search, total),
52
+ parse(await (await getFunctionsClient()).list(queries, search, total)),
57
53
  ),
58
54
  );
59
55
 
60
56
  functions
61
57
  .command(`create`)
62
- .description(
63
- `Create a new function. You can pass a list of [permissions](https://appwrite.io/docs/permissions) to allow different project users or team with access to execute the function using the client API.`,
64
- )
65
- .requiredOption(
66
- `--function-id <function-id>`,
67
- `Function ID. Choose a custom ID or generate a random ID with \`ID.unique()\`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.`,
68
- )
58
+ .description(`Create a new function. You can pass a list of [permissions](https://appwrite.io/docs/permissions) to allow different project users or team with access to execute the function using the client API.`)
59
+ .requiredOption(`--function-id <function-id>`, `Function ID. Choose a custom ID or generate a random ID with \`ID.unique()\`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.`)
69
60
  .requiredOption(`--name <name>`, `Function name. Max length: 128 chars.`)
70
61
  .requiredOption(`--runtime <runtime>`, `Execution runtime.`)
71
- .option(
72
- `--execute [execute...]`,
73
- `An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.`,
74
- )
75
- .option(
76
- `--events [events...]`,
77
- `Events list. Maximum of 100 events are allowed.`,
78
- )
62
+ .option(`--execute [execute...]`, `An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.`)
63
+ .option(`--events [events...]`, `Events list. Maximum of 100 events are allowed.`)
79
64
  .option(`--schedule <schedule>`, `Schedule CRON syntax.`)
80
- .option(
81
- `--timeout <timeout>`,
82
- `Function maximum execution time in seconds.`,
83
- parseInteger,
84
- )
65
+ .option(`--timeout <timeout>`, `Function maximum execution time in seconds.`, parseInteger)
85
66
  .option(
86
67
  `--enabled [value]`,
87
68
  `Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.`,
@@ -94,95 +75,34 @@ functions
94
75
  (value: string | undefined) =>
95
76
  value === undefined ? true : parseBool(value),
96
77
  )
97
- .option(
98
- `--entrypoint <entrypoint>`,
99
- `Entrypoint File. This path is relative to the "providerRootDirectory".`,
100
- )
78
+ .option(`--entrypoint <entrypoint>`, `Entrypoint File. This path is relative to the "providerRootDirectory".`)
101
79
  .option(`--commands <commands>`, `Build Commands.`)
102
- .option(
103
- `--scopes [scopes...]`,
104
- `List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.`,
105
- )
106
- .option(
107
- `--installation-id <installation-id>`,
108
- `Appwrite Installation ID for VCS (Version Control System) deployment.`,
109
- )
110
- .option(
111
- `--provider-repository-id <provider-repository-id>`,
112
- `Repository ID of the repo linked to the function.`,
113
- )
114
- .option(
115
- `--provider-branch <provider-branch>`,
116
- `Production branch for the repo linked to the function.`,
117
- )
80
+ .option(`--scopes [scopes...]`, `List of scopes allowed for API key auto-generated for every execution. Maximum of 100 scopes are allowed.`)
81
+ .option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`)
82
+ .option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the function.`)
83
+ .option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the function.`)
118
84
  .option(
119
85
  `--provider-silent-mode [value]`,
120
86
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.`,
121
87
  (value: string | undefined) =>
122
88
  value === undefined ? true : parseBool(value),
123
89
  )
124
- .option(
125
- `--provider-root-directory <provider-root-directory>`,
126
- `Path to function code in the linked repo.`,
127
- )
128
- .option(
129
- `--specification <specification>`,
130
- `Runtime specification for the function and builds.`,
131
- )
90
+ .option(`--provider-root-directory <provider-root-directory>`, `Path to function code in the linked repo.`)
91
+ .option(`--specification <specification>`, `Runtime specification for the function and builds.`)
132
92
  .action(
133
93
  actionRunner(
134
- async ({
135
- functionId,
136
- name,
137
- runtime,
138
- execute,
139
- events,
140
- schedule,
141
- timeout,
142
- enabled,
143
- logging,
144
- entrypoint,
145
- commands,
146
- scopes,
147
- installationId,
148
- providerRepositoryId,
149
- providerBranch,
150
- providerSilentMode,
151
- providerRootDirectory,
152
- specification,
153
- }) =>
154
- await (
155
- await getFunctionsClient()
156
- ).create(
157
- functionId,
158
- name,
159
- runtime,
160
- execute,
161
- events,
162
- schedule,
163
- timeout,
164
- enabled,
165
- logging,
166
- entrypoint,
167
- commands,
168
- scopes,
169
- installationId,
170
- providerRepositoryId,
171
- providerBranch,
172
- providerSilentMode,
173
- providerRootDirectory,
174
- specification,
175
- ),
94
+ async ({ functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) =>
95
+ parse(await (await getFunctionsClient()).create(functionId, name, runtime as Runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification)),
176
96
  ),
177
97
  );
178
98
 
179
99
  functions
180
100
  .command(`list-runtimes`)
181
- .description(
182
- `Get a list of all runtimes that are currently active on your instance.`,
183
- )
101
+ .description(`Get a list of all runtimes that are currently active on your instance.`)
184
102
  .action(
185
- actionRunner(async () => await (await getFunctionsClient()).listRuntimes()),
103
+ actionRunner(
104
+ async () => parse(await (await getFunctionsClient()).listRuntimes()),
105
+ ),
186
106
  );
187
107
 
188
108
  functions
@@ -190,33 +110,17 @@ functions
190
110
  .description(`List allowed function specifications for this instance.`)
191
111
  .action(
192
112
  actionRunner(
193
- async () => await (await getFunctionsClient()).listSpecifications(),
113
+ async () => parse(await (await getFunctionsClient()).listSpecifications()),
194
114
  ),
195
115
  );
196
116
 
197
117
  functions
198
118
  .command(`list-templates`)
199
- .description(
200
- `List available function templates. You can use template details in [createFunction](/docs/references/cloud/server-nodejs/functions#create) method.`,
201
- )
202
- .option(
203
- `--runtimes [runtimes...]`,
204
- `List of runtimes allowed for filtering function templates. Maximum of 100 runtimes are allowed.`,
205
- )
206
- .option(
207
- `--use-cases [use-cases...]`,
208
- `List of use cases allowed for filtering function templates. Maximum of 100 use cases are allowed.`,
209
- )
210
- .option(
211
- `--limit <limit>`,
212
- `Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.`,
213
- parseInteger,
214
- )
215
- .option(
216
- `--offset <offset>`,
217
- `Offset the list of returned templates. Maximum offset is 5000.`,
218
- parseInteger,
219
- )
119
+ .description(`List available function templates. You can use template details in [createFunction](/docs/references/cloud/server-nodejs/functions#create) method.`)
120
+ .option(`--runtimes [runtimes...]`, `List of runtimes allowed for filtering function templates. Maximum of 100 runtimes are allowed.`)
121
+ .option(`--use-cases [use-cases...]`, `List of use cases allowed for filtering function templates. Maximum of 100 use cases are allowed.`)
122
+ .option(`--limit <limit>`, `Limit the number of templates returned in the response. Default limit is 25, and maximum limit is 5000.`, parseInteger)
123
+ .option(`--offset <offset>`, `Offset the list of returned templates. Maximum offset is 5000.`, parseInteger)
220
124
  .option(
221
125
  `--total [value]`,
222
126
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -226,35 +130,29 @@ functions
226
130
  .action(
227
131
  actionRunner(
228
132
  async ({ runtimes, useCases, limit, offset, total }) =>
229
- await (
230
- await getFunctionsClient()
231
- ).listTemplates(runtimes, useCases, limit, offset, total),
133
+ parse(await (await getFunctionsClient()).listTemplates(runtimes, useCases, limit, offset, total)),
232
134
  ),
233
135
  );
234
136
 
235
137
  functions
236
138
  .command(`get-template`)
237
- .description(
238
- `Get a function template using ID. You can use template details in [createFunction](/docs/references/cloud/server-nodejs/functions#create) method.`,
239
- )
139
+ .description(`Get a function template using ID. You can use template details in [createFunction](/docs/references/cloud/server-nodejs/functions#create) method.`)
240
140
  .requiredOption(`--template-id <template-id>`, `Template ID.`)
241
141
  .action(
242
142
  actionRunner(
243
143
  async ({ templateId }) =>
244
- await (await getFunctionsClient()).getTemplate(templateId),
144
+ parse(await (await getFunctionsClient()).getTemplate(templateId)),
245
145
  ),
246
146
  );
247
147
 
248
148
  functions
249
149
  .command(`list-usage`)
250
- .description(
251
- `Get usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`,
252
- )
150
+ .description(`Get usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`)
253
151
  .option(`--range <range>`, `Date range.`)
254
152
  .action(
255
153
  actionRunner(
256
154
  async ({ range }) =>
257
- await (await getFunctionsClient()).listUsage(range as UsageRange),
155
+ parse(await (await getFunctionsClient()).listUsage(range as UsageRange)),
258
156
  ),
259
157
  );
260
158
 
@@ -265,7 +163,7 @@ functions
265
163
  .action(
266
164
  actionRunner(
267
165
  async ({ functionId }) =>
268
- await (await getFunctionsClient()).get(functionId),
166
+ parse(await (await getFunctionsClient()).get(functionId)),
269
167
  ),
270
168
  );
271
169
 
@@ -275,20 +173,10 @@ functions
275
173
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
276
174
  .requiredOption(`--name <name>`, `Function name. Max length: 128 chars.`)
277
175
  .option(`--runtime <runtime>`, `Execution runtime.`)
278
- .option(
279
- `--execute [execute...]`,
280
- `An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.`,
281
- )
282
- .option(
283
- `--events [events...]`,
284
- `Events list. Maximum of 100 events are allowed.`,
285
- )
176
+ .option(`--execute [execute...]`, `An array of role strings with execution permissions. By default no user is granted with any execute permissions. [learn more about roles](https://appwrite.io/docs/permissions#permission-roles). Maximum of 100 roles are allowed, each 64 characters long.`)
177
+ .option(`--events [events...]`, `Events list. Maximum of 100 events are allowed.`)
286
178
  .option(`--schedule <schedule>`, `Schedule CRON syntax.`)
287
- .option(
288
- `--timeout <timeout>`,
289
- `Maximum execution time in seconds.`,
290
- parseInteger,
291
- )
179
+ .option(`--timeout <timeout>`, `Maximum execution time in seconds.`, parseInteger)
292
180
  .option(
293
181
  `--enabled [value]`,
294
182
  `Is function enabled? When set to 'disabled', users cannot access the function but Server SDKs with and API key can still access the function. No data is lost when this is toggled.`,
@@ -301,85 +189,24 @@ functions
301
189
  (value: string | undefined) =>
302
190
  value === undefined ? true : parseBool(value),
303
191
  )
304
- .option(
305
- `--entrypoint <entrypoint>`,
306
- `Entrypoint File. This path is relative to the "providerRootDirectory".`,
307
- )
192
+ .option(`--entrypoint <entrypoint>`, `Entrypoint File. This path is relative to the "providerRootDirectory".`)
308
193
  .option(`--commands <commands>`, `Build Commands.`)
309
- .option(
310
- `--scopes [scopes...]`,
311
- `List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.`,
312
- )
313
- .option(
314
- `--installation-id <installation-id>`,
315
- `Appwrite Installation ID for VCS (Version Controle System) deployment.`,
316
- )
317
- .option(
318
- `--provider-repository-id <provider-repository-id>`,
319
- `Repository ID of the repo linked to the function`,
320
- )
321
- .option(
322
- `--provider-branch <provider-branch>`,
323
- `Production branch for the repo linked to the function`,
324
- )
194
+ .option(`--scopes [scopes...]`, `List of scopes allowed for API Key auto-generated for every execution. Maximum of 100 scopes are allowed.`)
195
+ .option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Controle System) deployment.`)
196
+ .option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the function`)
197
+ .option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the function`)
325
198
  .option(
326
199
  `--provider-silent-mode [value]`,
327
200
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.`,
328
201
  (value: string | undefined) =>
329
202
  value === undefined ? true : parseBool(value),
330
203
  )
331
- .option(
332
- `--provider-root-directory <provider-root-directory>`,
333
- `Path to function code in the linked repo.`,
334
- )
335
- .option(
336
- `--specification <specification>`,
337
- `Runtime specification for the function and builds.`,
338
- )
204
+ .option(`--provider-root-directory <provider-root-directory>`, `Path to function code in the linked repo.`)
205
+ .option(`--specification <specification>`, `Runtime specification for the function and builds.`)
339
206
  .action(
340
207
  actionRunner(
341
- async ({
342
- functionId,
343
- name,
344
- runtime,
345
- execute,
346
- events,
347
- schedule,
348
- timeout,
349
- enabled,
350
- logging,
351
- entrypoint,
352
- commands,
353
- scopes,
354
- installationId,
355
- providerRepositoryId,
356
- providerBranch,
357
- providerSilentMode,
358
- providerRootDirectory,
359
- specification,
360
- }) =>
361
- await (
362
- await getFunctionsClient()
363
- ).update(
364
- functionId,
365
- name,
366
- runtime,
367
- execute,
368
- events,
369
- schedule,
370
- timeout,
371
- enabled,
372
- logging,
373
- entrypoint,
374
- commands,
375
- scopes,
376
- installationId,
377
- providerRepositoryId,
378
- providerBranch,
379
- providerSilentMode,
380
- providerRootDirectory,
381
- specification,
382
- ),
208
+ async ({ functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) =>
209
+ parse(await (await getFunctionsClient()).update(functionId, name, runtime as Runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification)),
383
210
  ),
384
211
  );
385
212
 
@@ -390,40 +217,28 @@ functions
390
217
  .action(
391
218
  actionRunner(
392
219
  async ({ functionId }) =>
393
- await (await getFunctionsClient()).delete(functionId),
220
+ parse(await (await getFunctionsClient()).delete(functionId)),
394
221
  ),
395
222
  );
396
223
 
397
224
  functions
398
225
  .command(`update-function-deployment`)
399
- .description(
400
- `Update the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.`,
401
- )
226
+ .description(`Update the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.`)
402
227
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
403
228
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
404
229
  .action(
405
230
  actionRunner(
406
231
  async ({ functionId, deploymentId }) =>
407
- await (
408
- await getFunctionsClient()
409
- ).updateFunctionDeployment(functionId, deploymentId),
232
+ parse(await (await getFunctionsClient()).updateFunctionDeployment(functionId, deploymentId)),
410
233
  ),
411
234
  );
412
235
 
413
236
  functions
414
237
  .command(`list-deployments`)
415
- .description(
416
- `Get a list of all the function's code deployments. You can use the query params to filter your results.`,
417
- )
238
+ .description(`Get a list of all the function's code deployments. You can use the query params to filter your results.`)
418
239
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
419
- .option(
420
- `--queries [queries...]`,
421
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type`,
422
- )
423
- .option(
424
- `--search <search>`,
425
- `Search term to filter your list results. Max length: 256 chars.`,
426
- )
240
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: buildSize, sourceSize, totalSize, buildDuration, status, activate, type`)
241
+ .option(`--search <search>`, `Search term to filter your list results. Max length: 256 chars.`)
427
242
  .option(
428
243
  `--total [value]`,
429
244
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -433,84 +248,53 @@ functions
433
248
  .action(
434
249
  actionRunner(
435
250
  async ({ functionId, queries, search, total }) =>
436
- await (
437
- await getFunctionsClient()
438
- ).listDeployments(functionId, queries, search, total),
251
+ parse(await (await getFunctionsClient()).listDeployments(functionId, queries, search, total)),
439
252
  ),
440
253
  );
441
254
 
442
255
  functions
443
256
  .command(`create-deployment`)
444
- .description(
445
- `Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.
257
+ .description(`Create a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.
446
258
 
447
259
  This endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https://appwrite.io/docs/functions).
448
260
 
449
- Use the "command" param to set the entrypoint used to execute your code.`,
450
- )
261
+ Use the "command" param to set the entrypoint used to execute your code.`)
451
262
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
263
+ .requiredOption(`--code <code>`, `Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.`)
264
+ .requiredOption(`--activate <activate>`, `Automatically activate the deployment when it is finished building.`, parseBool)
452
265
  .option(`--entrypoint <entrypoint>`, `Entrypoint File.`)
453
266
  .option(`--commands <commands>`, `Build Commands.`)
454
- .requiredOption(
455
- `--code <code>`,
456
- `Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.`,
457
- )
458
- .requiredOption(
459
- `--activate <activate>`,
460
- `Automatically activate the deployment when it is finished building.`,
461
- parseBool,
462
- )
463
267
  .action(
464
268
  actionRunner(
465
- async ({ functionId, entrypoint, commands, code, activate }) =>
466
- await (
467
- await getFunctionsClient()
468
- ).createDeployment(functionId, entrypoint, commands, code, activate),
269
+ async ({ functionId, code, activate, entrypoint, commands }) =>
270
+ parse(await (await getFunctionsClient()).createDeployment(functionId, code, activate, entrypoint, commands)),
469
271
  ),
470
272
  );
471
273
 
472
274
  functions
473
275
  .command(`create-duplicate-deployment`)
474
- .description(
475
- `Create a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.`,
476
- )
276
+ .description(`Create a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.`)
477
277
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
478
278
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
479
279
  .option(`--build-id <build-id>`, `Build unique ID.`)
480
280
  .action(
481
281
  actionRunner(
482
282
  async ({ functionId, deploymentId, buildId }) =>
483
- await (
484
- await getFunctionsClient()
485
- ).createDuplicateDeployment(functionId, deploymentId, buildId),
283
+ parse(await (await getFunctionsClient()).createDuplicateDeployment(functionId, deploymentId, buildId)),
486
284
  ),
487
285
  );
488
286
 
489
287
  functions
490
288
  .command(`create-template-deployment`)
491
- .description(
492
- `Create a deployment based on a template.
289
+ .description(`Create a deployment based on a template.
493
290
 
494
- Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/products/functions/templates) to find the template details.`,
495
- )
291
+ Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/products/functions/templates) to find the template details.`)
496
292
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
497
- .requiredOption(
498
- `--repository <repository>`,
499
- `Repository name of the template.`,
500
- )
293
+ .requiredOption(`--repository <repository>`, `Repository name of the template.`)
501
294
  .requiredOption(`--owner <owner>`, `The name of the owner of the template.`)
502
- .requiredOption(
503
- `--root-directory <root-directory>`,
504
- `Path to function code in the template repo.`,
505
- )
506
- .requiredOption(
507
- `--type <type>`,
508
- `Type for the reference provided. Can be commit, branch, or tag`,
509
- )
510
- .requiredOption(
511
- `--reference <reference>`,
512
- `Reference value, can be a commit hash, branch name, or release tag`,
513
- )
295
+ .requiredOption(`--root-directory <root-directory>`, `Path to function code in the template repo.`)
296
+ .requiredOption(`--type <type>`, `Type for the reference provided. Can be commit, branch, or tag`)
297
+ .requiredOption(`--reference <reference>`, `Reference value, can be a commit hash, branch name, or release tag`)
514
298
  .option(
515
299
  `--activate [value]`,
516
300
  `Automatically activate the deployment when it is finished building.`,
@@ -519,45 +303,19 @@ Use this endpoint with combination of [listTemplates](https://appwrite.io/docs/p
519
303
  )
520
304
  .action(
521
305
  actionRunner(
522
- async ({
523
- functionId,
524
- repository,
525
- owner,
526
- rootDirectory,
527
- xType,
528
- reference,
529
- activate,
530
- }) =>
531
- await (
532
- await getFunctionsClient()
533
- ).createTemplateDeployment(
534
- functionId,
535
- repository,
536
- owner,
537
- rootDirectory,
538
- xType as TemplateReferenceType,
539
- reference,
540
- activate,
541
- ),
306
+ async ({ functionId, repository, owner, rootDirectory, type, reference, activate }) =>
307
+ parse(await (await getFunctionsClient()).createTemplateDeployment(functionId, repository, owner, rootDirectory, type as TemplateReferenceType, reference, activate)),
542
308
  ),
543
309
  );
544
310
 
545
311
  functions
546
312
  .command(`create-vcs-deployment`)
547
- .description(
548
- `Create a deployment when a function is connected to VCS.
313
+ .description(`Create a deployment when a function is connected to VCS.
549
314
 
550
- This endpoint lets you create deployment from a branch, commit, or a tag.`,
551
- )
315
+ This endpoint lets you create deployment from a branch, commit, or a tag.`)
552
316
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
553
- .requiredOption(
554
- `--type <type>`,
555
- `Type of reference passed. Allowed values are: branch, commit`,
556
- )
557
- .requiredOption(
558
- `--reference <reference>`,
559
- `VCS reference to create deployment from. Depending on type this can be: branch name, commit hash`,
560
- )
317
+ .requiredOption(`--type <type>`, `Type of reference passed. Allowed values are: branch, commit`)
318
+ .requiredOption(`--reference <reference>`, `VCS reference to create deployment from. Depending on type this can be: branch name, commit hash`)
561
319
  .option(
562
320
  `--activate [value]`,
563
321
  `Automatically activate the deployment when it is finished building.`,
@@ -566,15 +324,8 @@ This endpoint lets you create deployment from a branch, commit, or a tag.`,
566
324
  )
567
325
  .action(
568
326
  actionRunner(
569
- async ({ functionId, xType, reference, activate }) =>
570
- await (
571
- await getFunctionsClient()
572
- ).createVcsDeployment(
573
- functionId,
574
- xType as VCSReferenceType,
575
- reference,
576
- activate,
577
- ),
327
+ async ({ functionId, type, reference, activate }) =>
328
+ parse(await (await getFunctionsClient()).createVcsDeployment(functionId, type as VCSReferenceType, reference, activate)),
578
329
  ),
579
330
  );
580
331
 
@@ -586,9 +337,7 @@ functions
586
337
  .action(
587
338
  actionRunner(
588
339
  async ({ functionId, deploymentId }) =>
589
- await (
590
- await getFunctionsClient()
591
- ).getDeployment(functionId, deploymentId),
340
+ parse(await (await getFunctionsClient()).getDeployment(functionId, deploymentId)),
592
341
  ),
593
342
  );
594
343
 
@@ -600,62 +349,46 @@ functions
600
349
  .action(
601
350
  actionRunner(
602
351
  async ({ functionId, deploymentId }) =>
603
- await (
604
- await getFunctionsClient()
605
- ).deleteDeployment(functionId, deploymentId),
352
+ parse(await (await getFunctionsClient()).deleteDeployment(functionId, deploymentId)),
606
353
  ),
607
354
  );
608
355
 
609
356
  functions
610
357
  .command(`get-deployment-download`)
611
- .description(
612
- `Get a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.`,
613
- )
358
+ .description(`Get a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.`)
614
359
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
615
360
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
616
- .option(
617
- `--type <type>`,
618
- `Deployment file to download. Can be: "source", "output".`,
619
- )
361
+ .option(`--type <type>`, `Deployment file to download. Can be: "source", "output".`)
362
+ .requiredOption(`--destination <destination>`, `Path to save the file to.`)
620
363
  .action(
621
364
  actionRunner(
622
- async ({ functionId, deploymentId, xType }) =>
623
- await (
624
- await getFunctionsClient()
625
- ).getDeploymentDownload(
626
- functionId,
627
- deploymentId,
628
- xType as DeploymentDownloadType,
629
- ),
365
+ async ({ functionId, deploymentId, type, destination }) => {
366
+ const url = await (await getFunctionsClient()).getDeploymentDownload(functionId, deploymentId, type as DeploymentDownloadType);
367
+ const response = await fetch(url);
368
+ const buffer = Buffer.from(await response.arrayBuffer());
369
+ fs.writeFileSync(destination, buffer);
370
+ success(`File saved to ${destination}`);
371
+ },
630
372
  ),
631
373
  );
632
374
 
633
375
  functions
634
376
  .command(`update-deployment-status`)
635
- .description(
636
- `Cancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.`,
637
- )
377
+ .description(`Cancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.`)
638
378
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
639
379
  .requiredOption(`--deployment-id <deployment-id>`, `Deployment ID.`)
640
380
  .action(
641
381
  actionRunner(
642
382
  async ({ functionId, deploymentId }) =>
643
- await (
644
- await getFunctionsClient()
645
- ).updateDeploymentStatus(functionId, deploymentId),
383
+ parse(await (await getFunctionsClient()).updateDeploymentStatus(functionId, deploymentId)),
646
384
  ),
647
385
  );
648
386
 
649
387
  functions
650
388
  .command(`list-executions`)
651
- .description(
652
- `Get a list of all the current user function execution logs. You can use the query params to filter your results.`,
653
- )
389
+ .description(`Get a list of all the current user function execution logs. You can use the query params to filter your results.`)
654
390
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
655
- .option(
656
- `--queries [queries...]`,
657
- `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId`,
658
- )
391
+ .option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId`)
659
392
  .option(
660
393
  `--total [value]`,
661
394
  `When set to false, the total count returned will be 0 and will not be calculated.`,
@@ -665,66 +398,29 @@ functions
665
398
  .action(
666
399
  actionRunner(
667
400
  async ({ functionId, queries, total }) =>
668
- await (
669
- await getFunctionsClient()
670
- ).listExecutions(functionId, queries, total),
401
+ parse(await (await getFunctionsClient()).listExecutions(functionId, queries, total)),
671
402
  ),
672
403
  );
673
404
 
674
405
  functions
675
406
  .command(`create-execution`)
676
- .description(
677
- `Trigger a function execution. The returned object will return you the current execution status. You can ping the \`Get Execution\` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.`,
678
- )
407
+ .description(`Trigger a function execution. The returned object will return you the current execution status. You can ping the \`Get Execution\` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.`)
679
408
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
680
- .option(
681
- `--body <body>`,
682
- `HTTP body of execution. Default value is empty string.`,
683
- )
409
+ .option(`--body <body>`, `HTTP body of execution. Default value is empty string.`)
684
410
  .option(
685
411
  `--async [value]`,
686
412
  `Execute code in the background. Default value is false.`,
687
413
  (value: string | undefined) =>
688
414
  value === undefined ? true : parseBool(value),
689
415
  )
690
- .option(
691
- `--path <path>`,
692
- `HTTP path of execution. Path can include query params. Default value is /`,
693
- )
694
- .option(
695
- `--method <method>`,
696
- `HTTP method of execution. Default value is POST.`,
697
- )
698
- .option(
699
- `--headers <headers>`,
700
- `HTTP headers of execution. Defaults to empty.`,
701
- )
702
- .option(
703
- `--scheduled-at <scheduled-at>`,
704
- `Scheduled execution time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.`,
705
- )
416
+ .option(`--path <path>`, `HTTP path of execution. Path can include query params. Default value is /`)
417
+ .option(`--method <method>`, `HTTP method of execution. Default value is POST.`)
418
+ .option(`--headers <headers>`, `HTTP headers of execution. Defaults to empty.`)
419
+ .option(`--scheduled-at <scheduled-at>`, `Scheduled execution time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future with precision in minutes.`)
706
420
  .action(
707
421
  actionRunner(
708
- async ({
709
- functionId,
710
- body,
711
- xAsync,
712
- path,
713
- method,
714
- headers,
715
- scheduledAt,
716
- }) =>
717
- await (
718
- await getFunctionsClient()
719
- ).createExecution(
720
- functionId,
721
- body,
722
- xAsync,
723
- path,
724
- method as ExecutionMethod,
725
- JSON.parse(headers),
726
- scheduledAt,
727
- ),
422
+ async ({ functionId, body, async, path, method, headers, scheduledAt }) =>
423
+ parse(await (await getFunctionsClient()).createExecution(functionId, body, async, path, method as ExecutionMethod, JSON.parse(headers), scheduledAt)),
728
424
  ),
729
425
  );
730
426
 
@@ -736,9 +432,7 @@ functions
736
432
  .action(
737
433
  actionRunner(
738
434
  async ({ functionId, executionId }) =>
739
- await (
740
- await getFunctionsClient()
741
- ).getExecution(functionId, executionId),
435
+ parse(await (await getFunctionsClient()).getExecution(functionId, executionId)),
742
436
  ),
743
437
  );
744
438
 
@@ -750,25 +444,19 @@ functions
750
444
  .action(
751
445
  actionRunner(
752
446
  async ({ functionId, executionId }) =>
753
- await (
754
- await getFunctionsClient()
755
- ).deleteExecution(functionId, executionId),
447
+ parse(await (await getFunctionsClient()).deleteExecution(functionId, executionId)),
756
448
  ),
757
449
  );
758
450
 
759
451
  functions
760
452
  .command(`get-usage`)
761
- .description(
762
- `Get usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`,
763
- )
453
+ .description(`Get usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.`)
764
454
  .requiredOption(`--function-id <function-id>`, `Function ID.`)
765
455
  .option(`--range <range>`, `Date range.`)
766
456
  .action(
767
457
  actionRunner(
768
458
  async ({ functionId, range }) =>
769
- await (
770
- await getFunctionsClient()
771
- ).getUsage(functionId, range as UsageRange),
459
+ parse(await (await getFunctionsClient()).getUsage(functionId, range as UsageRange)),
772
460
  ),
773
461
  );
774
462
 
@@ -779,15 +467,13 @@ functions
779
467
  .action(
780
468
  actionRunner(
781
469
  async ({ functionId }) =>
782
- await (await getFunctionsClient()).listVariables(functionId),
470
+ parse(await (await getFunctionsClient()).listVariables(functionId)),
783
471
  ),
784
472
  );
785
473
 
786
474
  functions
787
475
  .command(`create-variable`)
788
- .description(
789
- `Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.`,
790
- )
476
+ .description(`Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.`)
791
477
  .requiredOption(`--function-id <function-id>`, `Function unique ID.`)
792
478
  .requiredOption(`--key <key>`, `Variable key. Max length: 255 chars.`)
793
479
  .requiredOption(`--value <value>`, `Variable value. Max length: 8192 chars.`)
@@ -800,9 +486,7 @@ functions
800
486
  .action(
801
487
  actionRunner(
802
488
  async ({ functionId, key, value, secret }) =>
803
- await (
804
- await getFunctionsClient()
805
- ).createVariable(functionId, key, value, secret),
489
+ parse(await (await getFunctionsClient()).createVariable(functionId, key, value, secret)),
806
490
  ),
807
491
  );
808
492
 
@@ -814,7 +498,7 @@ functions
814
498
  .action(
815
499
  actionRunner(
816
500
  async ({ functionId, variableId }) =>
817
- await (await getFunctionsClient()).getVariable(functionId, variableId),
501
+ parse(await (await getFunctionsClient()).getVariable(functionId, variableId)),
818
502
  ),
819
503
  );
820
504
 
@@ -834,9 +518,7 @@ functions
834
518
  .action(
835
519
  actionRunner(
836
520
  async ({ functionId, variableId, key, value, secret }) =>
837
- await (
838
- await getFunctionsClient()
839
- ).updateVariable(functionId, variableId, key, value, secret),
521
+ parse(await (await getFunctionsClient()).updateVariable(functionId, variableId, key, value, secret)),
840
522
  ),
841
523
  );
842
524
 
@@ -848,8 +530,7 @@ functions
848
530
  .action(
849
531
  actionRunner(
850
532
  async ({ functionId, variableId }) =>
851
- await (
852
- await getFunctionsClient()
853
- ).deleteVariable(functionId, variableId),
533
+ parse(await (await getFunctionsClient()).deleteVariable(functionId, variableId)),
854
534
  ),
855
535
  );
536
+