chirag-appwrite-cli 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/.github/workflows/{npm-publish.yml → publish.yml} +1 -1
  2. package/CHANGELOG.md +1 -190
  3. package/Formula/appwrite.rb +3 -3
  4. package/LICENSE.md +1 -12
  5. package/README.md +18 -185
  6. package/cli.ts +162 -0
  7. package/dist/bundle.cjs +74100 -86261
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/cli.js +149 -0
  11. package/dist/cli.js.map +1 -0
  12. package/dist/index.d.ts +5 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +5 -144
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/client.d.ts.map +1 -1
  17. package/dist/lib/client.js +8 -7
  18. package/dist/lib/client.js.map +1 -1
  19. package/dist/lib/commands/config.d.ts +23 -12
  20. package/dist/lib/commands/config.d.ts.map +1 -1
  21. package/dist/lib/commands/config.js +17 -6
  22. package/dist/lib/commands/config.js.map +1 -1
  23. package/dist/lib/commands/generate.d.ts +6 -0
  24. package/dist/lib/commands/generate.d.ts.map +1 -0
  25. package/dist/lib/commands/generate.js +53 -0
  26. package/dist/lib/commands/generate.js.map +1 -0
  27. package/dist/lib/commands/generators/databases.d.ts +25 -0
  28. package/dist/lib/commands/generators/databases.d.ts.map +1 -0
  29. package/dist/lib/commands/generators/databases.js +405 -0
  30. package/dist/lib/commands/generators/databases.js.map +1 -0
  31. package/dist/lib/commands/init.d.ts.map +1 -1
  32. package/dist/lib/commands/init.js +15 -14
  33. package/dist/lib/commands/init.js.map +1 -1
  34. package/dist/lib/commands/pull.d.ts.map +1 -1
  35. package/dist/lib/commands/pull.js +181 -155
  36. package/dist/lib/commands/pull.js.map +1 -1
  37. package/dist/lib/commands/push.d.ts +32 -4
  38. package/dist/lib/commands/push.d.ts.map +1 -1
  39. package/dist/lib/commands/push.js +272 -106
  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 +8 -6
  44. package/dist/lib/commands/schema.d.ts.map +1 -1
  45. package/dist/lib/commands/schema.js +20 -9
  46. package/dist/lib/commands/schema.js.map +1 -1
  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 +71 -65
  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 +40 -18
  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 +8 -7
  110. package/dist/lib/commands/update.js.map +1 -1
  111. package/dist/lib/commands/utils/attributes.d.ts +2 -1
  112. package/dist/lib/commands/utils/attributes.d.ts.map +1 -1
  113. package/dist/lib/commands/utils/attributes.js +32 -34
  114. package/dist/lib/commands/utils/attributes.js.map +1 -1
  115. package/dist/lib/commands/utils/deployment.d.ts.map +1 -1
  116. package/dist/lib/commands/utils/deployment.js +3 -2
  117. package/dist/lib/commands/utils/deployment.js.map +1 -1
  118. package/dist/lib/commands/utils/pools.d.ts.map +1 -1
  119. package/dist/lib/commands/utils/pools.js +7 -6
  120. package/dist/lib/commands/utils/pools.js.map +1 -1
  121. package/dist/lib/config.d.ts +1 -0
  122. package/dist/lib/config.d.ts.map +1 -1
  123. package/dist/lib/config.js +45 -4
  124. package/dist/lib/config.js.map +1 -1
  125. package/dist/lib/constants.d.ts +14 -0
  126. package/dist/lib/constants.d.ts.map +1 -0
  127. package/dist/lib/constants.js +19 -0
  128. package/dist/lib/constants.js.map +1 -0
  129. package/dist/lib/emulation/docker.d.ts.map +1 -1
  130. package/dist/lib/emulation/docker.js +80 -67
  131. package/dist/lib/emulation/docker.js.map +1 -1
  132. package/dist/lib/parser.d.ts.map +1 -1
  133. package/dist/lib/parser.js +11 -10
  134. package/dist/lib/parser.js.map +1 -1
  135. package/dist/lib/questions.d.ts +2 -0
  136. package/dist/lib/questions.d.ts.map +1 -1
  137. package/dist/lib/questions.js +34 -20
  138. package/dist/lib/questions.js.map +1 -1
  139. package/dist/lib/sdks.d.ts.map +1 -1
  140. package/dist/lib/sdks.js +10 -11
  141. package/dist/lib/sdks.js.map +1 -1
  142. package/dist/lib/utils.d.ts +3 -0
  143. package/dist/lib/utils.d.ts.map +1 -1
  144. package/dist/lib/utils.js +29 -2
  145. package/dist/lib/utils.js.map +1 -1
  146. package/dist/package.json +12 -12
  147. package/docs/examples/account/create-anonymous-session.md +1 -0
  148. package/docs/examples/account/create-email-password-session.md +3 -0
  149. package/docs/examples/account/create-email-token.md +3 -0
  150. package/docs/examples/account/create-email-verification.md +2 -0
  151. package/docs/examples/account/create-jwt.md +1 -0
  152. package/docs/examples/account/create-magic-url-token.md +3 -0
  153. package/docs/examples/account/create-mfa-authenticator.md +2 -0
  154. package/docs/examples/account/create-mfa-challenge.md +2 -0
  155. package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
  156. package/docs/examples/account/create-o-auth-2-session.md +2 -0
  157. package/docs/examples/account/create-o-auth-2-token.md +2 -0
  158. package/docs/examples/account/create-phone-token.md +3 -0
  159. package/docs/examples/account/create-phone-verification.md +1 -0
  160. package/docs/examples/account/create-push-target.md +3 -0
  161. package/docs/examples/account/create-recovery.md +3 -0
  162. package/docs/examples/account/create-session.md +3 -0
  163. package/docs/examples/account/create-verification.md +2 -0
  164. package/docs/examples/account/create.md +4 -0
  165. package/docs/examples/account/delete-identity.md +2 -0
  166. package/docs/examples/account/delete-mfa-authenticator.md +2 -0
  167. package/docs/examples/account/delete-push-target.md +2 -0
  168. package/docs/examples/account/delete-session.md +2 -0
  169. package/docs/examples/account/delete-sessions.md +1 -0
  170. package/docs/examples/account/delete.md +1 -0
  171. package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
  172. package/docs/examples/account/get-prefs.md +1 -0
  173. package/docs/examples/account/get-session.md +2 -0
  174. package/docs/examples/account/get.md +1 -0
  175. package/docs/examples/account/list-identities.md +1 -0
  176. package/docs/examples/account/list-logs.md +1 -0
  177. package/docs/examples/account/list-mfa-factors.md +1 -0
  178. package/docs/examples/account/list-sessions.md +1 -0
  179. package/docs/examples/account/update-email-verification.md +3 -0
  180. package/docs/examples/account/update-email.md +3 -0
  181. package/docs/examples/account/update-magic-url-session.md +3 -0
  182. package/docs/examples/account/update-mfa-authenticator.md +3 -0
  183. package/docs/examples/account/update-mfa-challenge.md +3 -0
  184. package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
  185. package/docs/examples/account/update-mfa.md +2 -0
  186. package/docs/examples/account/update-name.md +2 -0
  187. package/docs/examples/account/update-password.md +2 -0
  188. package/docs/examples/account/update-phone-session.md +3 -0
  189. package/docs/examples/account/update-phone-verification.md +3 -0
  190. package/docs/examples/account/update-phone.md +3 -0
  191. package/docs/examples/account/update-prefs.md +2 -0
  192. package/docs/examples/account/update-push-target.md +3 -0
  193. package/docs/examples/account/update-recovery.md +4 -0
  194. package/docs/examples/account/update-session.md +2 -0
  195. package/docs/examples/account/update-status.md +1 -0
  196. package/docs/examples/account/update-verification.md +3 -0
  197. package/docs/examples/console/get-resource.md +3 -0
  198. package/docs/examples/console/variables.md +1 -0
  199. package/docs/examples/databases/create-boolean-attribute.md +5 -0
  200. package/docs/examples/databases/create-collection.md +4 -0
  201. package/docs/examples/databases/create-datetime-attribute.md +5 -0
  202. package/docs/examples/databases/create-document.md +5 -0
  203. package/docs/examples/databases/create-documents.md +4 -0
  204. package/docs/examples/databases/create-email-attribute.md +5 -0
  205. package/docs/examples/databases/create-enum-attribute.md +6 -0
  206. package/docs/examples/databases/create-float-attribute.md +5 -0
  207. package/docs/examples/databases/create-index.md +6 -0
  208. package/docs/examples/databases/create-integer-attribute.md +5 -0
  209. package/docs/examples/databases/create-ip-attribute.md +5 -0
  210. package/docs/examples/databases/create-line-attribute.md +5 -0
  211. package/docs/examples/databases/create-operations.md +2 -0
  212. package/docs/examples/databases/create-point-attribute.md +5 -0
  213. package/docs/examples/databases/create-polygon-attribute.md +5 -0
  214. package/docs/examples/databases/create-relationship-attribute.md +5 -0
  215. package/docs/examples/databases/create-string-attribute.md +6 -0
  216. package/docs/examples/databases/create-transaction.md +1 -0
  217. package/docs/examples/databases/create-url-attribute.md +5 -0
  218. package/docs/examples/databases/create.md +3 -0
  219. package/docs/examples/databases/decrement-document-attribute.md +5 -0
  220. package/docs/examples/databases/delete-attribute.md +4 -0
  221. package/docs/examples/databases/delete-collection.md +3 -0
  222. package/docs/examples/databases/delete-document.md +4 -0
  223. package/docs/examples/databases/delete-documents.md +3 -0
  224. package/docs/examples/databases/delete-index.md +4 -0
  225. package/docs/examples/databases/delete-transaction.md +2 -0
  226. package/docs/examples/databases/delete.md +2 -0
  227. package/docs/examples/databases/get-attribute.md +4 -0
  228. package/docs/examples/databases/get-collection-usage.md +3 -0
  229. package/docs/examples/databases/get-collection.md +3 -0
  230. package/docs/examples/databases/get-document.md +4 -0
  231. package/docs/examples/databases/get-index.md +4 -0
  232. package/docs/examples/databases/get-transaction.md +2 -0
  233. package/docs/examples/databases/get-usage.md +2 -0
  234. package/docs/examples/databases/get.md +2 -0
  235. package/docs/examples/databases/increment-document-attribute.md +5 -0
  236. package/docs/examples/databases/list-attributes.md +3 -0
  237. package/docs/examples/databases/list-collection-logs.md +3 -0
  238. package/docs/examples/databases/list-collections.md +2 -0
  239. package/docs/examples/databases/list-document-logs.md +4 -0
  240. package/docs/examples/databases/list-documents.md +3 -0
  241. package/docs/examples/databases/list-indexes.md +3 -0
  242. package/docs/examples/databases/list-logs.md +2 -0
  243. package/docs/examples/databases/list-transactions.md +1 -0
  244. package/docs/examples/databases/list-usage.md +1 -0
  245. package/docs/examples/databases/list.md +1 -0
  246. package/docs/examples/databases/update-boolean-attribute.md +6 -0
  247. package/docs/examples/databases/update-collection.md +4 -0
  248. package/docs/examples/databases/update-datetime-attribute.md +6 -0
  249. package/docs/examples/databases/update-document.md +4 -0
  250. package/docs/examples/databases/update-documents.md +3 -0
  251. package/docs/examples/databases/update-email-attribute.md +6 -0
  252. package/docs/examples/databases/update-enum-attribute.md +7 -0
  253. package/docs/examples/databases/update-float-attribute.md +6 -0
  254. package/docs/examples/databases/update-integer-attribute.md +6 -0
  255. package/docs/examples/databases/update-ip-attribute.md +6 -0
  256. package/docs/examples/databases/update-line-attribute.md +5 -0
  257. package/docs/examples/databases/update-point-attribute.md +5 -0
  258. package/docs/examples/databases/update-polygon-attribute.md +5 -0
  259. package/docs/examples/databases/update-relationship-attribute.md +4 -0
  260. package/docs/examples/databases/update-string-attribute.md +6 -0
  261. package/docs/examples/databases/update-transaction.md +2 -0
  262. package/docs/examples/databases/update-url-attribute.md +6 -0
  263. package/docs/examples/databases/update.md +3 -0
  264. package/docs/examples/databases/upsert-document.md +4 -0
  265. package/docs/examples/databases/upsert-documents.md +4 -0
  266. package/docs/examples/functions/create-deployment.md +4 -0
  267. package/docs/examples/functions/create-duplicate-deployment.md +3 -0
  268. package/docs/examples/functions/create-execution.md +2 -0
  269. package/docs/examples/functions/create-template-deployment.md +7 -0
  270. package/docs/examples/functions/create-variable.md +4 -0
  271. package/docs/examples/functions/create-vcs-deployment.md +4 -0
  272. package/docs/examples/functions/create.md +4 -0
  273. package/docs/examples/functions/delete-deployment.md +3 -0
  274. package/docs/examples/functions/delete-execution.md +3 -0
  275. package/docs/examples/functions/delete-variable.md +3 -0
  276. package/docs/examples/functions/delete.md +2 -0
  277. package/docs/examples/functions/get-deployment-download.md +3 -0
  278. package/docs/examples/functions/get-deployment.md +3 -0
  279. package/docs/examples/functions/get-execution.md +3 -0
  280. package/docs/examples/functions/get-template.md +2 -0
  281. package/docs/examples/functions/get-usage.md +2 -0
  282. package/docs/examples/functions/get-variable.md +3 -0
  283. package/docs/examples/functions/get.md +2 -0
  284. package/docs/examples/functions/list-deployments.md +2 -0
  285. package/docs/examples/functions/list-executions.md +2 -0
  286. package/docs/examples/functions/list-runtimes.md +1 -0
  287. package/docs/examples/functions/list-specifications.md +1 -0
  288. package/docs/examples/functions/list-templates.md +1 -0
  289. package/docs/examples/functions/list-usage.md +1 -0
  290. package/docs/examples/functions/list-variables.md +2 -0
  291. package/docs/examples/functions/list.md +1 -0
  292. package/docs/examples/functions/update-deployment-status.md +3 -0
  293. package/docs/examples/functions/update-function-deployment.md +3 -0
  294. package/docs/examples/functions/update-variable.md +4 -0
  295. package/docs/examples/functions/update.md +3 -0
  296. package/docs/examples/graphql/mutation.md +2 -0
  297. package/docs/examples/graphql/query.md +2 -0
  298. package/docs/examples/health/get-antivirus.md +1 -0
  299. package/docs/examples/health/get-cache.md +1 -0
  300. package/docs/examples/health/get-certificate.md +1 -0
  301. package/docs/examples/health/get-db.md +1 -0
  302. package/docs/examples/health/get-failed-jobs.md +2 -0
  303. package/docs/examples/health/get-pub-sub.md +1 -0
  304. package/docs/examples/health/get-queue-builds.md +1 -0
  305. package/docs/examples/health/get-queue-certificates.md +1 -0
  306. package/docs/examples/health/get-queue-databases.md +1 -0
  307. package/docs/examples/health/get-queue-deletes.md +1 -0
  308. package/docs/examples/health/get-queue-functions.md +1 -0
  309. package/docs/examples/health/get-queue-logs.md +1 -0
  310. package/docs/examples/health/get-queue-mails.md +1 -0
  311. package/docs/examples/health/get-queue-messaging.md +1 -0
  312. package/docs/examples/health/get-queue-migrations.md +1 -0
  313. package/docs/examples/health/get-queue-stats-resources.md +1 -0
  314. package/docs/examples/health/get-queue-usage.md +1 -0
  315. package/docs/examples/health/get-queue-webhooks.md +1 -0
  316. package/docs/examples/health/get-storage-local.md +1 -0
  317. package/docs/examples/health/get-storage.md +1 -0
  318. package/docs/examples/health/get-time.md +1 -0
  319. package/docs/examples/health/get.md +1 -0
  320. package/docs/examples/locale/get.md +1 -0
  321. package/docs/examples/locale/list-codes.md +1 -0
  322. package/docs/examples/locale/list-continents.md +1 -0
  323. package/docs/examples/locale/list-countries-eu.md +1 -0
  324. package/docs/examples/locale/list-countries-phones.md +1 -0
  325. package/docs/examples/locale/list-countries.md +1 -0
  326. package/docs/examples/locale/list-currencies.md +1 -0
  327. package/docs/examples/locale/list-languages.md +1 -0
  328. package/docs/examples/messaging/create-apns-provider.md +3 -0
  329. package/docs/examples/messaging/create-email.md +4 -0
  330. package/docs/examples/messaging/create-fcm-provider.md +3 -0
  331. package/docs/examples/messaging/create-mailgun-provider.md +3 -0
  332. package/docs/examples/messaging/create-msg-91-provider.md +3 -0
  333. package/docs/examples/messaging/create-push.md +2 -0
  334. package/docs/examples/messaging/create-resend-provider.md +3 -0
  335. package/docs/examples/messaging/create-sendgrid-provider.md +3 -0
  336. package/docs/examples/messaging/create-sms.md +3 -0
  337. package/docs/examples/messaging/create-smtp-provider.md +4 -0
  338. package/docs/examples/messaging/create-subscriber.md +4 -0
  339. package/docs/examples/messaging/create-telesign-provider.md +3 -0
  340. package/docs/examples/messaging/create-textmagic-provider.md +3 -0
  341. package/docs/examples/messaging/create-topic.md +3 -0
  342. package/docs/examples/messaging/create-twilio-provider.md +3 -0
  343. package/docs/examples/messaging/create-vonage-provider.md +3 -0
  344. package/docs/examples/messaging/delete-provider.md +2 -0
  345. package/docs/examples/messaging/delete-subscriber.md +3 -0
  346. package/docs/examples/messaging/delete-topic.md +2 -0
  347. package/docs/examples/messaging/delete.md +2 -0
  348. package/docs/examples/messaging/get-message.md +2 -0
  349. package/docs/examples/messaging/get-provider.md +2 -0
  350. package/docs/examples/messaging/get-subscriber.md +3 -0
  351. package/docs/examples/messaging/get-topic.md +2 -0
  352. package/docs/examples/messaging/list-message-logs.md +2 -0
  353. package/docs/examples/messaging/list-messages.md +1 -0
  354. package/docs/examples/messaging/list-provider-logs.md +2 -0
  355. package/docs/examples/messaging/list-providers.md +1 -0
  356. package/docs/examples/messaging/list-subscriber-logs.md +2 -0
  357. package/docs/examples/messaging/list-subscribers.md +2 -0
  358. package/docs/examples/messaging/list-targets.md +2 -0
  359. package/docs/examples/messaging/list-topic-logs.md +2 -0
  360. package/docs/examples/messaging/list-topics.md +1 -0
  361. package/docs/examples/messaging/update-apns-provider.md +2 -0
  362. package/docs/examples/messaging/update-email.md +2 -0
  363. package/docs/examples/messaging/update-fcm-provider.md +2 -0
  364. package/docs/examples/messaging/update-mailgun-provider.md +2 -0
  365. package/docs/examples/messaging/update-msg-91-provider.md +2 -0
  366. package/docs/examples/messaging/update-push.md +2 -0
  367. package/docs/examples/messaging/update-resend-provider.md +2 -0
  368. package/docs/examples/messaging/update-sendgrid-provider.md +2 -0
  369. package/docs/examples/messaging/update-sms.md +2 -0
  370. package/docs/examples/messaging/update-smtp-provider.md +2 -0
  371. package/docs/examples/messaging/update-telesign-provider.md +2 -0
  372. package/docs/examples/messaging/update-textmagic-provider.md +2 -0
  373. package/docs/examples/messaging/update-topic.md +2 -0
  374. package/docs/examples/messaging/update-twilio-provider.md +2 -0
  375. package/docs/examples/messaging/update-vonage-provider.md +2 -0
  376. package/docs/examples/migrations/create-appwrite-migration.md +5 -0
  377. package/docs/examples/migrations/create-csv-export.md +3 -0
  378. package/docs/examples/migrations/create-csv-import.md +4 -0
  379. package/docs/examples/migrations/create-firebase-migration.md +3 -0
  380. package/docs/examples/migrations/create-n-host-migration.md +8 -0
  381. package/docs/examples/migrations/create-supabase-migration.md +7 -0
  382. package/docs/examples/migrations/delete.md +2 -0
  383. package/docs/examples/migrations/get-appwrite-report.md +5 -0
  384. package/docs/examples/migrations/get-firebase-report.md +3 -0
  385. package/docs/examples/migrations/get-n-host-report.md +8 -0
  386. package/docs/examples/migrations/get-supabase-report.md +7 -0
  387. package/docs/examples/migrations/get.md +2 -0
  388. package/docs/examples/migrations/list.md +1 -0
  389. package/docs/examples/migrations/retry.md +2 -0
  390. package/docs/examples/project/create-variable.md +3 -0
  391. package/docs/examples/project/delete-variable.md +2 -0
  392. package/docs/examples/project/get-usage.md +3 -0
  393. package/docs/examples/project/get-variable.md +2 -0
  394. package/docs/examples/project/list-variables.md +1 -0
  395. package/docs/examples/project/update-variable.md +3 -0
  396. package/docs/examples/projects/create-dev-key.md +4 -0
  397. package/docs/examples/projects/create-jwt.md +3 -0
  398. package/docs/examples/projects/create-key.md +4 -0
  399. package/docs/examples/projects/create-platform.md +4 -0
  400. package/docs/examples/projects/create-smtp-test.md +6 -0
  401. package/docs/examples/projects/create-webhook.md +6 -0
  402. package/docs/examples/projects/create.md +4 -0
  403. package/docs/examples/projects/delete-dev-key.md +3 -0
  404. package/docs/examples/projects/delete-email-template.md +4 -0
  405. package/docs/examples/projects/delete-key.md +3 -0
  406. package/docs/examples/projects/delete-platform.md +3 -0
  407. package/docs/examples/projects/delete-sms-template.md +4 -0
  408. package/docs/examples/projects/delete-webhook.md +3 -0
  409. package/docs/examples/projects/delete.md +2 -0
  410. package/docs/examples/projects/get-dev-key.md +3 -0
  411. package/docs/examples/projects/get-email-template.md +4 -0
  412. package/docs/examples/projects/get-key.md +3 -0
  413. package/docs/examples/projects/get-platform.md +3 -0
  414. package/docs/examples/projects/get-sms-template.md +4 -0
  415. package/docs/examples/projects/get-webhook.md +3 -0
  416. package/docs/examples/projects/get.md +2 -0
  417. package/docs/examples/projects/list-dev-keys.md +2 -0
  418. package/docs/examples/projects/list-keys.md +2 -0
  419. package/docs/examples/projects/list-platforms.md +2 -0
  420. package/docs/examples/projects/list-webhooks.md +2 -0
  421. package/docs/examples/projects/list.md +1 -0
  422. package/docs/examples/projects/update-api-status-all.md +3 -0
  423. package/docs/examples/projects/update-api-status.md +4 -0
  424. package/docs/examples/projects/update-auth-duration.md +3 -0
  425. package/docs/examples/projects/update-auth-limit.md +3 -0
  426. package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
  427. package/docs/examples/projects/update-auth-password-history.md +3 -0
  428. package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
  429. package/docs/examples/projects/update-auth-status.md +4 -0
  430. package/docs/examples/projects/update-dev-key.md +5 -0
  431. package/docs/examples/projects/update-email-template.md +6 -0
  432. package/docs/examples/projects/update-key.md +5 -0
  433. package/docs/examples/projects/update-labels.md +3 -0
  434. package/docs/examples/projects/update-memberships-privacy.md +5 -0
  435. package/docs/examples/projects/update-mock-numbers.md +3 -0
  436. package/docs/examples/projects/update-o-auth-2.md +3 -0
  437. package/docs/examples/projects/update-personal-data-check.md +3 -0
  438. package/docs/examples/projects/update-platform.md +4 -0
  439. package/docs/examples/projects/update-service-status-all.md +3 -0
  440. package/docs/examples/projects/update-service-status.md +4 -0
  441. package/docs/examples/projects/update-session-alerts.md +3 -0
  442. package/docs/examples/projects/update-session-invalidation.md +3 -0
  443. package/docs/examples/projects/update-sms-template.md +5 -0
  444. package/docs/examples/projects/update-smtp.md +3 -0
  445. package/docs/examples/projects/update-team.md +3 -0
  446. package/docs/examples/projects/update-webhook-signature.md +3 -0
  447. package/docs/examples/projects/update-webhook.md +7 -0
  448. package/docs/examples/projects/update.md +3 -0
  449. package/docs/examples/proxy/create-api-rule.md +2 -0
  450. package/docs/examples/proxy/create-function-rule.md +3 -0
  451. package/docs/examples/proxy/create-redirect-rule.md +6 -0
  452. package/docs/examples/proxy/create-site-rule.md +3 -0
  453. package/docs/examples/proxy/delete-rule.md +2 -0
  454. package/docs/examples/proxy/get-rule.md +2 -0
  455. package/docs/examples/proxy/list-rules.md +1 -0
  456. package/docs/examples/proxy/update-rule-verification.md +2 -0
  457. package/docs/examples/sites/create-deployment.md +4 -0
  458. package/docs/examples/sites/create-duplicate-deployment.md +3 -0
  459. package/docs/examples/sites/create-template-deployment.md +7 -0
  460. package/docs/examples/sites/create-variable.md +4 -0
  461. package/docs/examples/sites/create-vcs-deployment.md +4 -0
  462. package/docs/examples/sites/create.md +5 -0
  463. package/docs/examples/sites/delete-deployment.md +3 -0
  464. package/docs/examples/sites/delete-log.md +3 -0
  465. package/docs/examples/sites/delete-variable.md +3 -0
  466. package/docs/examples/sites/delete.md +2 -0
  467. package/docs/examples/sites/get-deployment-download.md +3 -0
  468. package/docs/examples/sites/get-deployment.md +3 -0
  469. package/docs/examples/sites/get-log.md +3 -0
  470. package/docs/examples/sites/get-template.md +2 -0
  471. package/docs/examples/sites/get-usage.md +2 -0
  472. package/docs/examples/sites/get-variable.md +3 -0
  473. package/docs/examples/sites/get.md +2 -0
  474. package/docs/examples/sites/list-deployments.md +2 -0
  475. package/docs/examples/sites/list-frameworks.md +1 -0
  476. package/docs/examples/sites/list-logs.md +2 -0
  477. package/docs/examples/sites/list-specifications.md +1 -0
  478. package/docs/examples/sites/list-templates.md +1 -0
  479. package/docs/examples/sites/list-usage.md +1 -0
  480. package/docs/examples/sites/list-variables.md +2 -0
  481. package/docs/examples/sites/list.md +1 -0
  482. package/docs/examples/sites/update-deployment-status.md +3 -0
  483. package/docs/examples/sites/update-site-deployment.md +3 -0
  484. package/docs/examples/sites/update-variable.md +4 -0
  485. package/docs/examples/sites/update.md +4 -0
  486. package/docs/examples/storage/create-bucket.md +3 -0
  487. package/docs/examples/storage/create-file.md +4 -0
  488. package/docs/examples/storage/delete-bucket.md +2 -0
  489. package/docs/examples/storage/delete-file.md +3 -0
  490. package/docs/examples/storage/get-bucket-usage.md +2 -0
  491. package/docs/examples/storage/get-bucket.md +2 -0
  492. package/docs/examples/storage/get-file-download.md +3 -0
  493. package/docs/examples/storage/get-file-preview.md +3 -0
  494. package/docs/examples/storage/get-file-view.md +3 -0
  495. package/docs/examples/storage/get-file.md +3 -0
  496. package/docs/examples/storage/get-usage.md +1 -0
  497. package/docs/examples/storage/list-buckets.md +1 -0
  498. package/docs/examples/storage/list-files.md +2 -0
  499. package/docs/examples/storage/update-bucket.md +3 -0
  500. package/docs/examples/storage/update-file.md +3 -0
  501. package/docs/examples/tablesdb/create-boolean-column.md +5 -0
  502. package/docs/examples/tablesdb/create-datetime-column.md +5 -0
  503. package/docs/examples/tablesdb/create-email-column.md +5 -0
  504. package/docs/examples/tablesdb/create-enum-column.md +6 -0
  505. package/docs/examples/tablesdb/create-float-column.md +5 -0
  506. package/docs/examples/tablesdb/create-index.md +6 -0
  507. package/docs/examples/tablesdb/create-integer-column.md +5 -0
  508. package/docs/examples/tablesdb/create-ip-column.md +5 -0
  509. package/docs/examples/tablesdb/create-line-column.md +5 -0
  510. package/docs/examples/tablesdb/create-operations.md +2 -0
  511. package/docs/examples/tablesdb/create-point-column.md +5 -0
  512. package/docs/examples/tablesdb/create-polygon-column.md +5 -0
  513. package/docs/examples/tablesdb/create-relationship-column.md +5 -0
  514. package/docs/examples/tablesdb/create-row.md +5 -0
  515. package/docs/examples/tablesdb/create-rows.md +4 -0
  516. package/docs/examples/tablesdb/create-string-column.md +6 -0
  517. package/docs/examples/tablesdb/create-table.md +4 -0
  518. package/docs/examples/tablesdb/create-transaction.md +1 -0
  519. package/docs/examples/tablesdb/create-url-column.md +5 -0
  520. package/docs/examples/tablesdb/create.md +3 -0
  521. package/docs/examples/tablesdb/decrement-row-column.md +5 -0
  522. package/docs/examples/tablesdb/delete-column.md +4 -0
  523. package/docs/examples/tablesdb/delete-index.md +4 -0
  524. package/docs/examples/tablesdb/delete-row.md +4 -0
  525. package/docs/examples/tablesdb/delete-rows.md +3 -0
  526. package/docs/examples/tablesdb/delete-table.md +3 -0
  527. package/docs/examples/tablesdb/delete-transaction.md +2 -0
  528. package/docs/examples/tablesdb/delete.md +2 -0
  529. package/docs/examples/tablesdb/get-column.md +4 -0
  530. package/docs/examples/tablesdb/get-index.md +4 -0
  531. package/docs/examples/tablesdb/get-row.md +4 -0
  532. package/docs/examples/tablesdb/get-table-usage.md +3 -0
  533. package/docs/examples/tablesdb/get-table.md +3 -0
  534. package/docs/examples/tablesdb/get-transaction.md +2 -0
  535. package/docs/examples/tablesdb/get-usage.md +2 -0
  536. package/docs/examples/tablesdb/get.md +2 -0
  537. package/docs/examples/tablesdb/increment-row-column.md +5 -0
  538. package/docs/examples/tablesdb/list-columns.md +3 -0
  539. package/docs/examples/tablesdb/list-indexes.md +3 -0
  540. package/docs/examples/tablesdb/list-row-logs.md +4 -0
  541. package/docs/examples/tablesdb/list-rows.md +3 -0
  542. package/docs/examples/tablesdb/list-table-logs.md +3 -0
  543. package/docs/examples/tablesdb/list-tables.md +2 -0
  544. package/docs/examples/tablesdb/list-transactions.md +1 -0
  545. package/docs/examples/tablesdb/list-usage.md +1 -0
  546. package/docs/examples/tablesdb/list.md +1 -0
  547. package/docs/examples/tablesdb/update-boolean-column.md +6 -0
  548. package/docs/examples/tablesdb/update-datetime-column.md +6 -0
  549. package/docs/examples/tablesdb/update-email-column.md +6 -0
  550. package/docs/examples/tablesdb/update-enum-column.md +7 -0
  551. package/docs/examples/tablesdb/update-float-column.md +6 -0
  552. package/docs/examples/tablesdb/update-integer-column.md +6 -0
  553. package/docs/examples/tablesdb/update-ip-column.md +6 -0
  554. package/docs/examples/tablesdb/update-line-column.md +5 -0
  555. package/docs/examples/tablesdb/update-point-column.md +5 -0
  556. package/docs/examples/tablesdb/update-polygon-column.md +5 -0
  557. package/docs/examples/tablesdb/update-relationship-column.md +4 -0
  558. package/docs/examples/tablesdb/update-row.md +4 -0
  559. package/docs/examples/tablesdb/update-rows.md +3 -0
  560. package/docs/examples/tablesdb/update-string-column.md +6 -0
  561. package/docs/examples/tablesdb/update-table.md +4 -0
  562. package/docs/examples/tablesdb/update-transaction.md +2 -0
  563. package/docs/examples/tablesdb/update-url-column.md +6 -0
  564. package/docs/examples/tablesdb/update.md +3 -0
  565. package/docs/examples/tablesdb/upsert-row.md +4 -0
  566. package/docs/examples/tablesdb/upsert-rows.md +4 -0
  567. package/docs/examples/teams/create-membership.md +3 -0
  568. package/docs/examples/teams/create.md +3 -0
  569. package/docs/examples/teams/delete-membership.md +3 -0
  570. package/docs/examples/teams/delete.md +2 -0
  571. package/docs/examples/teams/get-membership.md +3 -0
  572. package/docs/examples/teams/get-prefs.md +2 -0
  573. package/docs/examples/teams/get.md +2 -0
  574. package/docs/examples/teams/list-logs.md +2 -0
  575. package/docs/examples/teams/list-memberships.md +2 -0
  576. package/docs/examples/teams/list.md +1 -0
  577. package/docs/examples/teams/update-membership-status.md +5 -0
  578. package/docs/examples/teams/update-membership.md +4 -0
  579. package/docs/examples/teams/update-name.md +3 -0
  580. package/docs/examples/teams/update-prefs.md +3 -0
  581. package/docs/examples/tokens/create-file-token.md +3 -0
  582. package/docs/examples/tokens/delete.md +2 -0
  583. package/docs/examples/tokens/get.md +2 -0
  584. package/docs/examples/tokens/list.md +3 -0
  585. package/docs/examples/tokens/update.md +2 -0
  586. package/docs/examples/users/create-argon-2-user.md +4 -0
  587. package/docs/examples/users/create-bcrypt-user.md +4 -0
  588. package/docs/examples/users/create-jwt.md +2 -0
  589. package/docs/examples/users/create-md-5-user.md +4 -0
  590. package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
  591. package/docs/examples/users/create-ph-pass-user.md +4 -0
  592. package/docs/examples/users/create-scrypt-modified-user.md +7 -0
  593. package/docs/examples/users/create-scrypt-user.md +9 -0
  594. package/docs/examples/users/create-session.md +2 -0
  595. package/docs/examples/users/create-sha-user.md +4 -0
  596. package/docs/examples/users/create-target.md +5 -0
  597. package/docs/examples/users/create-token.md +2 -0
  598. package/docs/examples/users/create.md +2 -0
  599. package/docs/examples/users/delete-identity.md +2 -0
  600. package/docs/examples/users/delete-mfa-authenticator.md +3 -0
  601. package/docs/examples/users/delete-session.md +3 -0
  602. package/docs/examples/users/delete-sessions.md +2 -0
  603. package/docs/examples/users/delete-target.md +3 -0
  604. package/docs/examples/users/delete.md +2 -0
  605. package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
  606. package/docs/examples/users/get-prefs.md +2 -0
  607. package/docs/examples/users/get-target.md +3 -0
  608. package/docs/examples/users/get-usage.md +1 -0
  609. package/docs/examples/users/get.md +2 -0
  610. package/docs/examples/users/list-identities.md +1 -0
  611. package/docs/examples/users/list-logs.md +2 -0
  612. package/docs/examples/users/list-memberships.md +2 -0
  613. package/docs/examples/users/list-mfa-factors.md +2 -0
  614. package/docs/examples/users/list-sessions.md +2 -0
  615. package/docs/examples/users/list-targets.md +2 -0
  616. package/docs/examples/users/list.md +1 -0
  617. package/docs/examples/users/update-email-verification.md +3 -0
  618. package/docs/examples/users/update-email.md +3 -0
  619. package/docs/examples/users/update-labels.md +3 -0
  620. package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
  621. package/docs/examples/users/update-mfa.md +3 -0
  622. package/docs/examples/users/update-name.md +3 -0
  623. package/docs/examples/users/update-password.md +3 -0
  624. package/docs/examples/users/update-phone-verification.md +3 -0
  625. package/docs/examples/users/update-phone.md +3 -0
  626. package/docs/examples/users/update-prefs.md +3 -0
  627. package/docs/examples/users/update-status.md +3 -0
  628. package/docs/examples/users/update-target.md +3 -0
  629. package/docs/examples/vcs/create-repository-detection.md +4 -0
  630. package/docs/examples/vcs/create-repository.md +4 -0
  631. package/docs/examples/vcs/delete-installation.md +2 -0
  632. package/docs/examples/vcs/get-installation.md +2 -0
  633. package/docs/examples/vcs/get-repository-contents.md +3 -0
  634. package/docs/examples/vcs/get-repository.md +3 -0
  635. package/docs/examples/vcs/list-installations.md +1 -0
  636. package/docs/examples/vcs/list-repositories.md +3 -0
  637. package/docs/examples/vcs/list-repository-branches.md +3 -0
  638. package/docs/examples/vcs/update-external-deployments.md +4 -0
  639. package/index.ts +5 -167
  640. package/install.ps1 +3 -3
  641. package/install.sh +3 -3
  642. package/lib/client.ts +15 -7
  643. package/lib/commands/config.ts +22 -6
  644. package/lib/commands/generate.ts +76 -0
  645. package/lib/commands/generators/databases.ts +508 -0
  646. package/lib/commands/init.ts +25 -14
  647. package/lib/commands/pull.ts +245 -193
  648. package/lib/commands/push.ts +336 -130
  649. package/lib/commands/run.ts +1 -1
  650. package/lib/commands/schema.ts +30 -11
  651. package/lib/commands/services/account.ts +200 -385
  652. package/lib/commands/services/console.ts +13 -34
  653. package/lib/commands/services/databases.ts +298 -1215
  654. package/lib/commands/services/functions.ts +115 -434
  655. package/lib/commands/services/graphql.ts +5 -2
  656. package/lib/commands/services/health.ts +87 -149
  657. package/lib/commands/services/locale.ts +36 -33
  658. package/lib/commands/services/messaging.ts +180 -999
  659. package/lib/commands/services/migrations.ts +54 -226
  660. package/lib/commands/services/project.ts +19 -23
  661. package/lib/commands/services/projects.ts +194 -714
  662. package/lib/commands/services/proxy.ts +30 -58
  663. package/lib/commands/services/sites.ts +107 -379
  664. package/lib/commands/services/storage.ts +93 -302
  665. package/lib/commands/services/tables-db.ts +1150 -0
  666. package/lib/commands/services/teams.ts +48 -110
  667. package/lib/commands/services/tokens.ts +16 -28
  668. package/lib/commands/services/users.ts +133 -403
  669. package/lib/commands/services/vcs.ts +48 -151
  670. package/lib/commands/types.ts +1 -1
  671. package/lib/commands/update.ts +12 -11
  672. package/lib/commands/utils/attributes.ts +44 -53
  673. package/lib/commands/utils/deployment.ts +6 -2
  674. package/lib/commands/utils/pools.ts +7 -6
  675. package/lib/config.ts +51 -4
  676. package/lib/constants.ts +22 -0
  677. package/lib/emulation/docker.ts +97 -83
  678. package/lib/parser.ts +16 -11
  679. package/lib/questions.ts +36 -21
  680. package/lib/sdks.ts +15 -11
  681. package/lib/utils.ts +35 -4
  682. package/package.json +12 -12
  683. package/scoop/appwrite.config.json +29 -19
  684. package/.github/workflows/build-verify.yml +0 -71
  685. package/bun.lock +0 -627
  686. package/dist/lib/commands/db.d.ts +0 -34
  687. package/dist/lib/commands/db.d.ts.map +0 -1
  688. package/dist/lib/commands/db.js +0 -247
  689. package/dist/lib/commands/db.js.map +0 -1
  690. package/dist/lib/commands/services/avatars.d.ts +0 -3
  691. package/dist/lib/commands/services/avatars.d.ts.map +0 -1
  692. package/dist/lib/commands/services/avatars.js +0 -118
  693. package/dist/lib/commands/services/avatars.js.map +0 -1
  694. package/dist/lib/commands/services/tablesdb.d.ts +0 -3
  695. package/dist/lib/commands/services/tablesdb.d.ts.map +0 -1
  696. package/dist/lib/commands/services/tablesdb.js.map +0 -1
  697. package/dist/scripts/generate-commands.d.ts +0 -2
  698. package/dist/scripts/generate-commands.d.ts.map +0 -1
  699. package/dist/scripts/generate-commands.js +0 -398
  700. package/dist/scripts/generate-commands.js.map +0 -1
  701. package/dist/sites/profile-website/src/lib/utils.d.ts +0 -4
  702. package/dist/sites/profile-website/src/lib/utils.d.ts.map +0 -1
  703. package/dist/sites/profile-website/src/lib/utils.js +0 -32
  704. package/dist/sites/profile-website/src/lib/utils.js.map +0 -1
  705. package/dist/sites/profile-website/tailwind.config.d.ts +0 -3
  706. package/dist/sites/profile-website/tailwind.config.d.ts.map +0 -1
  707. package/dist/sites/profile-website/tailwind.config.js +0 -110
  708. package/dist/sites/profile-website/tailwind.config.js.map +0 -1
  709. package/dist/test.d.ts +0 -2
  710. package/dist/test.d.ts.map +0 -1
  711. package/dist/test.js +0 -38
  712. package/dist/test.js.map +0 -1
  713. package/lib/commands/db.ts +0 -324
  714. package/lib/commands/services/avatars.ts +0 -400
  715. package/lib/commands/services/tablesdb.ts +0 -1928
  716. package/scripts/generate-commands.ts +0 -539
package/lib/config.ts CHANGED
@@ -22,8 +22,9 @@ import type {
22
22
  GlobalConfigData,
23
23
  } from "./types.js";
24
24
  import { createSettingsObject } from "./utils.js";
25
+ import { SDK_TITLE_LOWER } from "./constants.js";
25
26
 
26
- const JSONBigInt = JSONbig({ storeAsString: false });
27
+ const JSONBigInt = JSONbig({ useNativeBigInt: true });
27
28
 
28
29
  const KeysVars = new Set(["key", "value"]);
29
30
  const KeysSite = new Set([
@@ -158,6 +159,41 @@ const KeyIndexesColumns = new Set([
158
159
  "orders",
159
160
  ]);
160
161
 
162
+ const CONFIG_KEY_ORDER = [
163
+ "projectId",
164
+ "projectName",
165
+ "endpoint",
166
+ "settings",
167
+ "functions",
168
+ "sites",
169
+ "databases",
170
+ "collections",
171
+ "tablesDB",
172
+ "tables",
173
+ "buckets",
174
+ "teams",
175
+ "topics",
176
+ "messages",
177
+ ];
178
+
179
+ function orderConfigKeys<T extends Record<string, any>>(data: T): T {
180
+ const ordered: Record<string, any> = {};
181
+
182
+ for (const key of CONFIG_KEY_ORDER) {
183
+ if (key in data) {
184
+ ordered[key] = data[key];
185
+ }
186
+ }
187
+
188
+ for (const key of Object.keys(data)) {
189
+ if (!(key in ordered)) {
190
+ ordered[key] = data[key];
191
+ }
192
+ }
193
+
194
+ return ordered as T;
195
+ }
196
+
161
197
  function whitelistKeys<T = any>(
162
198
  value: T,
163
199
  keys: Set<string>,
@@ -306,8 +342,8 @@ class Config<T extends ConfigData = ConfigData> {
306
342
  }
307
343
 
308
344
  class Local extends Config<ConfigType> {
309
- static CONFIG_FILE_PATH = "appwrite.config.json";
310
- static CONFIG_FILE_PATH_LEGACY = "appwrite.json";
345
+ static CONFIG_FILE_PATH = `${SDK_TITLE_LOWER}.config.json`;
346
+ static CONFIG_FILE_PATH_LEGACY = `${SDK_TITLE_LOWER}.json`;
311
347
  configDirectoryPath = "";
312
348
 
313
349
  constructor(
@@ -325,6 +361,17 @@ class Local extends Config<ConfigType> {
325
361
  this.configDirectoryPath = _path.dirname(absolutePath);
326
362
  }
327
363
 
364
+ write(): void {
365
+ const dir = _path.dirname(this.path);
366
+ if (!fs.existsSync(dir)) {
367
+ fs.mkdirSync(dir, { recursive: true });
368
+ }
369
+ const orderedData = orderConfigKeys(this.data);
370
+ fs.writeFileSync(this.path, JSONBigInt.stringify(orderedData, null, 4), {
371
+ mode: 0o600,
372
+ });
373
+ }
374
+
328
375
  static findConfigFile(filename: string): string | null {
329
376
  let currentPath = process.cwd();
330
377
 
@@ -727,7 +774,7 @@ class Local extends Config<ConfigType> {
727
774
  }
728
775
 
729
776
  class Global extends Config<GlobalConfigData> {
730
- static CONFIG_FILE_PATH = ".appwrite/prefs.json";
777
+ static CONFIG_FILE_PATH = `.${SDK_TITLE_LOWER}/prefs.json`;
731
778
 
732
779
  static PREFERENCE_CURRENT = "current" as const;
733
780
  static PREFERENCE_ENDPOINT = "endpoint" as const;
@@ -0,0 +1,22 @@
1
+ // SDK
2
+ export const SDK_TITLE = 'Appwrite';
3
+ export const SDK_TITLE_LOWER = 'appwrite';
4
+ export const SDK_VERSION = '0.0.0';
5
+ export const SDK_NAME = 'NAME';
6
+ export const SDK_PLATFORM = '';
7
+ export const SDK_LANGUAGE = 'cli';
8
+ export const SDK_LOGO = "\n _ _ _ ___ __ _____\n \/_\\ _ __ _ ____ ___ __(_) |_ ___ \/ __\\ \/ \/ \\_ \\\n \/\/_\\\\| '_ \\| '_ \\ \\ \/\\ \/ \/ '__| | __\/ _ \\ \/ \/ \/ \/ \/ \/\\\/\n \/ _ \\ |_) | |_) \\ V V \/| | | | || __\/ \/ \/___\/ \/___\/\\\/ \/_\n \\_\/ \\_\/ .__\/| .__\/ \\_\/\\_\/ |_| |_|\\__\\___| \\____\/\\____\/\\____\/\n |_| |_|\n\n";
9
+
10
+ // CLI
11
+ export const EXECUTABLE_NAME = 'appwrite';
12
+
13
+ // NPM
14
+ export const NPM_PACKAGE_NAME = 'appwrite-cli';
15
+ export const NPM_REGISTRY_URL = `https://registry.npmjs.org/${NPM_PACKAGE_NAME}/latest`;
16
+
17
+ // GitHub
18
+ export const GITHUB_REPO = 'appwrite/appwrite-cli';
19
+ export const GITHUB_RELEASES_URL = `https://github.com/${GITHUB_REPO}/releases`;
20
+
21
+ // API
22
+ export const DEFAULT_ENDPOINT = 'https://cloud.appwrite.io/v1';
@@ -78,107 +78,121 @@ 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(
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.3";
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 {
@@ -368,6 +368,14 @@ export const questionsPullFunctionsCode: Question[] = [
368
368
  },
369
369
  ];
370
370
 
371
+ export const questionsPushFunctionsCode: Question[] = [
372
+ {
373
+ type: "confirm",
374
+ name: "override",
375
+ message: "Do you want to create a deployment for your functions?",
376
+ },
377
+ ];
378
+
371
379
  export const questionsPullSites: Question[] = [
372
380
  {
373
381
  type: "checkbox",
@@ -383,7 +391,7 @@ export const questionsPullSites: Question[] = [
383
391
  );
384
392
 
385
393
  if (sites.length === 0) {
386
- throw "We couldn't find any sites in your Appwrite project";
394
+ throw `We couldn't find any sites in your ${SDK_TITLE} project`;
387
395
  }
388
396
  return sites.map((site: any) => {
389
397
  return {
@@ -403,6 +411,14 @@ export const questionsPullSitesCode: Question[] = [
403
411
  },
404
412
  ];
405
413
 
414
+ export const questionsPushSitesCode: Question[] = [
415
+ {
416
+ type: "confirm",
417
+ name: "override",
418
+ message: "Do you want to create a deployment for your sites?",
419
+ },
420
+ ];
421
+
406
422
  export const questionsCreateFunction: Question[] = [
407
423
  {
408
424
  type: "input",
@@ -502,7 +518,7 @@ export const questionsCreateBucket: Question[] = [
502
518
  export const questionsCreateTeam: Question[] = [
503
519
  {
504
520
  type: "input",
505
- name: "bucket",
521
+ name: "team",
506
522
  message: "What would you like to name your team?",
507
523
  default: "My Awesome Team",
508
524
  },
@@ -703,7 +719,7 @@ export const questionsLogin: Question[] = [
703
719
  {
704
720
  type: "list",
705
721
  name: "method",
706
- message: "What you like to do?",
722
+ message: "What would you like to do?",
707
723
  choices: [
708
724
  { name: "Login to an account", value: "login" },
709
725
  { name: "Switch to an account", value: "select" },
@@ -771,7 +787,7 @@ export const questionGetEndpoint: Question[] = [
771
787
  {
772
788
  type: "input",
773
789
  name: "endpoint",
774
- message: "Enter the endpoint of your Appwrite server",
790
+ message: `Enter the endpoint of your ${SDK_TITLE} server`,
775
791
  default: "http://localhost/v1",
776
792
  async validate(value: string) {
777
793
  if (!value) {
@@ -1014,7 +1030,6 @@ export const questionsGetEntrypoint: Question[] = [
1014
1030
  type: "input",
1015
1031
  name: "entrypoint",
1016
1032
  message: "Enter the entrypoint",
1017
- default: null,
1018
1033
  validate(value: string) {
1019
1034
  if (!value) {
1020
1035
  return "Please enter your entrypoint";
@@ -1062,11 +1077,11 @@ export const questionsListFactors: Question[] = [
1062
1077
  value: "totp",
1063
1078
  },
1064
1079
  {
1065
- name: `Email (Get a security code at your Appwrite email address)`,
1080
+ name: `Email (Get a security code at your ${SDK_TITLE} email address)`,
1066
1081
  value: "email",
1067
1082
  },
1068
1083
  {
1069
- name: `SMS (Get a security code on your Appwrite phone number)`,
1084
+ name: `SMS (Get a security code on your ${SDK_TITLE} phone number)`,
1070
1085
  value: "phone",
1071
1086
  },
1072
1087
  {
@@ -1104,7 +1119,7 @@ export const questionsRunFunctions: Question[] = [
1104
1119
  let functions = localConfig.getFunctions();
1105
1120
  if (functions.length === 0) {
1106
1121
  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.",
1122
+ `No functions found. Use '${EXECUTABLE_NAME} pull functions' to synchronize existing one, or use '${EXECUTABLE_NAME} init function' to create a new one.`,
1108
1123
  );
1109
1124
  }
1110
1125
  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.3",
24
- "user-agent": `AppwriteCLI/13.0.0-rc.3 (${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.3",
64
- "user-agent": `AppwriteCLI/13.0.0-rc.3 (${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
  };