@appwrite.io/console 2.1.1 → 2.1.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 (66) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/sdk.js +311 -17
  4. package/dist/cjs/sdk.js.map +1 -1
  5. package/dist/esm/sdk.js +310 -18
  6. package/dist/esm/sdk.js.map +1 -1
  7. package/dist/iife/sdk.js +344 -70
  8. package/docs/examples/domains/list-suggestions.md +18 -0
  9. package/docs/examples/health/get-queue-audits.md +13 -0
  10. package/docs/examples/organizations/create.md +2 -2
  11. package/docs/examples/organizations/estimation-create-organization.md +2 -2
  12. package/docs/examples/organizations/estimation-update-plan.md +2 -2
  13. package/docs/examples/organizations/update-plan.md +2 -2
  14. package/package.json +3 -2
  15. package/src/channel.ts +134 -0
  16. package/src/client.ts +79 -9
  17. package/src/enums/billing-plan.ts +17 -0
  18. package/src/enums/filter-type.ts +4 -0
  19. package/src/enums/name.ts +1 -0
  20. package/src/enums/o-auth-provider.ts +0 -2
  21. package/src/index.ts +3 -0
  22. package/src/models.ts +437 -375
  23. package/src/query.ts +42 -0
  24. package/src/services/account.ts +20 -20
  25. package/src/services/avatars.ts +117 -117
  26. package/src/services/backups.ts +18 -18
  27. package/src/services/console.ts +24 -24
  28. package/src/services/databases.ts +89 -89
  29. package/src/services/domains.ts +295 -204
  30. package/src/services/functions.ts +30 -30
  31. package/src/services/health.ts +201 -152
  32. package/src/services/messaging.ts +54 -54
  33. package/src/services/migrations.ts +36 -36
  34. package/src/services/organizations.ts +67 -66
  35. package/src/services/projects.ts +81 -81
  36. package/src/services/realtime.ts +35 -12
  37. package/src/services/sites.ts +30 -30
  38. package/src/services/storage.ts +45 -45
  39. package/src/services/tables-db.ts +89 -89
  40. package/src/services/users.ts +39 -39
  41. package/types/channel.d.ts +71 -0
  42. package/types/client.d.ts +11 -3
  43. package/types/enums/billing-plan.d.ts +17 -0
  44. package/types/enums/filter-type.d.ts +4 -0
  45. package/types/enums/name.d.ts +1 -0
  46. package/types/enums/o-auth-provider.d.ts +0 -2
  47. package/types/index.d.ts +3 -0
  48. package/types/models.d.ts +434 -375
  49. package/types/query.d.ts +30 -0
  50. package/types/services/account.d.ts +11 -11
  51. package/types/services/avatars.d.ts +82 -82
  52. package/types/services/backups.d.ts +8 -8
  53. package/types/services/console.d.ts +14 -14
  54. package/types/services/databases.d.ts +50 -50
  55. package/types/services/domains.d.ts +139 -104
  56. package/types/services/functions.d.ts +15 -15
  57. package/types/services/health.d.ts +95 -78
  58. package/types/services/messaging.d.ts +24 -24
  59. package/types/services/migrations.d.ts +16 -16
  60. package/types/services/organizations.d.ts +37 -36
  61. package/types/services/projects.d.ts +36 -36
  62. package/types/services/realtime.d.ts +17 -8
  63. package/types/services/sites.d.ts +15 -15
  64. package/types/services/storage.d.ts +30 -30
  65. package/types/services/tables-db.d.ts +50 -50
  66. package/types/services/users.d.ts +24 -24
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 2.1.3
4
+
5
+ Fix bigint and float parsing in SDK.
6
+
7
+ ## 2.1.2
8
+
9
+ * Fix only use `bigint` for min, max and default attributes
10
+
3
11
  ## 2.1.1
4
12
 
5
13
  * Allow `bigint` to be passed in all methods that previously only accepted `number`
package/README.md CHANGED
@@ -33,7 +33,7 @@ import { Client, Account } from "@appwrite.io/console";
33
33
  To install with a CDN (content delivery network) add the following scripts to the bottom of your <body> tag, but before you use any Appwrite services:
34
34
 
35
35
  ```html
36
- <script src="https://cdn.jsdelivr.net/npm/@appwrite.io/console@2.1.1"></script>
36
+ <script src="https://cdn.jsdelivr.net/npm/@appwrite.io/console@2.1.3"></script>
37
37
  ```
38
38
 
39
39
 
package/dist/cjs/sdk.js CHANGED
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var JSONbigModule = require('json-bigint');
4
+ var BigNumber = require('bignumber.js');
4
5
 
5
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
7
 
7
8
  var JSONbigModule__default = /*#__PURE__*/_interopDefaultLegacy(JSONbigModule);
9
+ var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
8
10
 
9
11
  /******************************************************************************
10
12
  Copyright (c) Microsoft Corporation.
@@ -90,6 +92,14 @@ Query.equal = (attribute, value) => new Query("equal", attribute, value).toStrin
90
92
  * @returns {string}
91
93
  */
92
94
  Query.notEqual = (attribute, value) => new Query("notEqual", attribute, value).toString();
95
+ /**
96
+ * Filter resources where attribute matches a regular expression pattern.
97
+ *
98
+ * @param {string} attribute The attribute to filter on.
99
+ * @param {string} pattern The regular expression pattern to match.
100
+ * @returns {string}
101
+ */
102
+ Query.regex = (attribute, pattern) => new Query("regex", attribute, pattern).toString();
93
103
  /**
94
104
  * Filter resources where attribute is less than value.
95
105
  *
@@ -136,6 +146,20 @@ Query.isNull = (attribute) => new Query("isNull", attribute).toString();
136
146
  * @returns {string}
137
147
  */
138
148
  Query.isNotNull = (attribute) => new Query("isNotNull", attribute).toString();
149
+ /**
150
+ * Filter resources where the specified attributes exist.
151
+ *
152
+ * @param {string[]} attributes The list of attributes that must exist.
153
+ * @returns {string}
154
+ */
155
+ Query.exists = (attributes) => new Query("exists", undefined, attributes).toString();
156
+ /**
157
+ * Filter resources where the specified attributes do not exist.
158
+ *
159
+ * @param {string[]} attributes The list of attributes that must not exist.
160
+ * @returns {string}
161
+ */
162
+ Query.notExists = (attributes) => new Query("notExists", undefined, attributes).toString();
139
163
  /**
140
164
  * Filter resources where attribute is between start and end (inclusive).
141
165
  *
@@ -333,6 +357,14 @@ Query.or = (queries) => new Query("or", undefined, queries.map((query) => JSONbi
333
357
  * @returns {string}
334
358
  */
335
359
  Query.and = (queries) => new Query("and", undefined, queries.map((query) => JSONbig$1.parse(query))).toString();
360
+ /**
361
+ * Filter array elements where at least one element matches all the specified queries.
362
+ *
363
+ * @param {string} attribute The attribute containing the array to filter on.
364
+ * @param {string[]} queries The list of query strings to match against array elements.
365
+ * @returns {string}
366
+ */
367
+ Query.elemMatch = (attribute, queries) => new Query("elemMatch", attribute, queries.map((query) => JSONbig$1.parse(query))).toString();
336
368
  /**
337
369
  * Filter resources where attribute is at a specific distance from the given coordinates.
338
370
  *
@@ -438,7 +470,47 @@ Query.touches = (attribute, values) => new Query("touches", attribute, [values])
438
470
  */
439
471
  Query.notTouches = (attribute, values) => new Query("notTouches", attribute, [values]).toString();
440
472
 
441
- const JSONbig = JSONbigModule__default["default"]({ useNativeBigInt: true });
473
+ const JSONbigParser = JSONbigModule__default["default"]({ storeAsString: false });
474
+ const JSONbigSerializer = JSONbigModule__default["default"]({ useNativeBigInt: true });
475
+ /**
476
+ * Converts BigNumber objects from json-bigint to native types.
477
+ * - Integer BigNumbers → BigInt (if unsafe) or number (if safe)
478
+ * - Float BigNumbers → number
479
+ * - Strings remain strings (never converted to BigNumber by json-bigint)
480
+ */
481
+ const MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);
482
+ const MIN_SAFE = BigInt(Number.MIN_SAFE_INTEGER);
483
+ function convertBigNumbers(value) {
484
+ if (value === null || value === undefined)
485
+ return value;
486
+ if (Array.isArray(value)) {
487
+ return value.map(convertBigNumbers);
488
+ }
489
+ if (BigNumber__default["default"].isBigNumber(value)) {
490
+ if (value.isInteger()) {
491
+ const str = value.toFixed();
492
+ const bi = BigInt(str);
493
+ if (bi >= MIN_SAFE && bi <= MAX_SAFE) {
494
+ return Number(str);
495
+ }
496
+ return bi;
497
+ }
498
+ // float
499
+ return value.toNumber();
500
+ }
501
+ if (typeof value === 'object') {
502
+ const result = {};
503
+ for (const [k, v] of Object.entries(value)) {
504
+ result[k] = convertBigNumbers(v);
505
+ }
506
+ return result;
507
+ }
508
+ return value;
509
+ }
510
+ const JSONbig = {
511
+ parse: (text) => convertBigNumbers(JSONbigParser.parse(text)),
512
+ stringify: JSONbigSerializer.stringify
513
+ };
442
514
  /**
443
515
  * Exception thrown by the package
444
516
  */
@@ -488,7 +560,7 @@ class Client {
488
560
  'x-sdk-name': 'Console',
489
561
  'x-sdk-platform': 'console',
490
562
  'x-sdk-language': 'web',
491
- 'x-sdk-version': '2.1.1',
563
+ 'x-sdk-version': '2.1.3',
492
564
  'X-Appwrite-Response-Format': '1.8.0',
493
565
  };
494
566
  this.realtime = {
@@ -790,8 +862,8 @@ class Client {
790
862
  * @deprecated Use the Realtime service instead.
791
863
  * @see Realtime
792
864
  *
793
- * @param {string|string[]} channels
794
- * Channel to subscribe - pass a single channel as a string or multiple with an array of strings.
865
+ * @param {string|string[]|Channel<any>|ActionableChannel|ResolvedChannel|(Channel<any>|ActionableChannel|ResolvedChannel)[]} channels
866
+ * Channel to subscribe - pass a single channel as a string or Channel builder instance, or multiple with an array.
795
867
  *
796
868
  * Possible channels are:
797
869
  * - account
@@ -809,21 +881,40 @@ class Client {
809
881
  * - teams.[ID]
810
882
  * - memberships
811
883
  * - memberships.[ID]
884
+ *
885
+ * You can also use Channel builders:
886
+ * - Channel.database('db').collection('col').document('doc').create()
887
+ * - Channel.bucket('bucket').file('file').update()
888
+ * - Channel.function('func').execution('exec').delete()
889
+ * - Channel.team('team').create()
890
+ * - Channel.membership('membership').update()
812
891
  * @param {(payload: RealtimeMessage) => void} callback Is called on every realtime update.
813
892
  * @returns {() => void} Unsubscribes from events.
814
893
  */
815
894
  subscribe(channels, callback) {
816
- let channelArray = typeof channels === 'string' ? [channels] : channels;
817
- channelArray.forEach(channel => this.realtime.channels.add(channel));
895
+ const channelArray = Array.isArray(channels) ? channels : [channels];
896
+ // Convert Channel instances to strings
897
+ const channelStrings = channelArray.map(ch => {
898
+ if (typeof ch === 'string') {
899
+ return ch;
900
+ }
901
+ // All Channel instances have toString() method
902
+ if (ch && typeof ch.toString === 'function') {
903
+ return ch.toString();
904
+ }
905
+ // Fallback to generic string conversion
906
+ return String(ch);
907
+ });
908
+ channelStrings.forEach(channel => this.realtime.channels.add(channel));
818
909
  const counter = this.realtime.subscriptionsCounter++;
819
910
  this.realtime.subscriptions.set(counter, {
820
- channels: channelArray,
911
+ channels: channelStrings,
821
912
  callback
822
913
  });
823
914
  this.realtime.connect();
824
915
  return () => {
825
916
  this.realtime.subscriptions.delete(counter);
826
- this.realtime.cleanUp(channelArray);
917
+ this.realtime.cleanUp(channelStrings);
827
918
  this.realtime.connect();
828
919
  };
829
920
  }
@@ -6943,6 +7034,54 @@ class Domains {
6943
7034
  };
6944
7035
  return this.client.call('post', uri, apiHeaders, payload);
6945
7036
  }
7037
+ listSuggestions(paramsOrFirst, ...rest) {
7038
+ let params;
7039
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
7040
+ params = (paramsOrFirst || {});
7041
+ }
7042
+ else {
7043
+ params = {
7044
+ query: paramsOrFirst,
7045
+ tlds: rest[0],
7046
+ limit: rest[1],
7047
+ filterType: rest[2],
7048
+ priceMax: rest[3],
7049
+ priceMin: rest[4]
7050
+ };
7051
+ }
7052
+ const query = params.query;
7053
+ const tlds = params.tlds;
7054
+ const limit = params.limit;
7055
+ const filterType = params.filterType;
7056
+ const priceMax = params.priceMax;
7057
+ const priceMin = params.priceMin;
7058
+ if (typeof query === 'undefined') {
7059
+ throw new AppwriteException('Missing required parameter: "query"');
7060
+ }
7061
+ const apiPath = '/domains/suggestions';
7062
+ const payload = {};
7063
+ if (typeof query !== 'undefined') {
7064
+ payload['query'] = query;
7065
+ }
7066
+ if (typeof tlds !== 'undefined') {
7067
+ payload['tlds'] = tlds;
7068
+ }
7069
+ if (typeof limit !== 'undefined') {
7070
+ payload['limit'] = limit;
7071
+ }
7072
+ if (typeof filterType !== 'undefined') {
7073
+ payload['filterType'] = filterType;
7074
+ }
7075
+ if (typeof priceMax !== 'undefined') {
7076
+ payload['priceMax'] = priceMax;
7077
+ }
7078
+ if (typeof priceMin !== 'undefined') {
7079
+ payload['priceMin'] = priceMin;
7080
+ }
7081
+ const uri = new URL(this.client.config.endpoint + apiPath);
7082
+ const apiHeaders = {};
7083
+ return this.client.call('get', uri, apiHeaders, payload);
7084
+ }
6946
7085
  get(paramsOrFirst) {
6947
7086
  let params;
6948
7087
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
@@ -9743,7 +9882,7 @@ class Health {
9743
9882
  * Check the Appwrite in-memory cache servers are up and connection is successful.
9744
9883
  *
9745
9884
  * @throws {AppwriteException}
9746
- * @returns {Promise<Models.HealthStatus>}
9885
+ * @returns {Promise<Models.HealthStatusList>}
9747
9886
  */
9748
9887
  getCache() {
9749
9888
  const apiPath = '/health/cache';
@@ -9776,7 +9915,7 @@ class Health {
9776
9915
  * Check the Appwrite database servers are up and connection is successful.
9777
9916
  *
9778
9917
  * @throws {AppwriteException}
9779
- * @returns {Promise<Models.HealthStatus>}
9918
+ * @returns {Promise<Models.HealthStatusList>}
9780
9919
  */
9781
9920
  getDB() {
9782
9921
  const apiPath = '/health/db';
@@ -9789,7 +9928,7 @@ class Health {
9789
9928
  * Check the Appwrite pub-sub servers are up and connection is successful.
9790
9929
  *
9791
9930
  * @throws {AppwriteException}
9792
- * @returns {Promise<Models.HealthStatus>}
9931
+ * @returns {Promise<Models.HealthStatusList>}
9793
9932
  */
9794
9933
  getPubSub() {
9795
9934
  const apiPath = '/health/pubsub';
@@ -9798,6 +9937,26 @@ class Health {
9798
9937
  const apiHeaders = {};
9799
9938
  return this.client.call('get', uri, apiHeaders, payload);
9800
9939
  }
9940
+ getQueueAudits(paramsOrFirst) {
9941
+ let params;
9942
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
9943
+ params = (paramsOrFirst || {});
9944
+ }
9945
+ else {
9946
+ params = {
9947
+ threshold: paramsOrFirst
9948
+ };
9949
+ }
9950
+ const threshold = params.threshold;
9951
+ const apiPath = '/health/queue/audits';
9952
+ const payload = {};
9953
+ if (typeof threshold !== 'undefined') {
9954
+ payload['threshold'] = threshold;
9955
+ }
9956
+ const uri = new URL(this.client.config.endpoint + apiPath);
9957
+ const apiHeaders = {};
9958
+ return this.client.call('get', uri, apiHeaders, payload);
9959
+ }
9801
9960
  getQueueBillingProjectAggregation(paramsOrFirst) {
9802
9961
  let params;
9803
9962
  if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
@@ -13917,7 +14076,7 @@ class Organizations {
13917
14076
  }
13918
14077
  estimationCreateOrganization(paramsOrFirst, ...rest) {
13919
14078
  let params;
13920
- if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
14079
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && 'billingPlan' in paramsOrFirst)) {
13921
14080
  params = (paramsOrFirst || {});
13922
14081
  }
13923
14082
  else {
@@ -24855,11 +25014,31 @@ class Realtime {
24855
25014
  sleep(ms) {
24856
25015
  return new Promise(resolve => setTimeout(resolve, ms));
24857
25016
  }
25017
+ /**
25018
+ * Convert a channel value to a string
25019
+ *
25020
+ * @private
25021
+ * @param {string | Channel<any> | ActionableChannel | ResolvedChannel} channel - Channel value (string or Channel builder instance)
25022
+ * @returns {string} Channel string representation
25023
+ */
25024
+ channelToString(channel) {
25025
+ if (typeof channel === 'string') {
25026
+ return channel;
25027
+ }
25028
+ // All Channel instances have toString() method
25029
+ if (channel && typeof channel.toString === 'function') {
25030
+ return channel.toString();
25031
+ }
25032
+ return String(channel);
25033
+ }
24858
25034
  subscribe(channelsOrChannel, callback) {
24859
25035
  return __awaiter(this, void 0, void 0, function* () {
24860
- const channels = Array.isArray(channelsOrChannel)
24861
- ? new Set(channelsOrChannel)
24862
- : new Set([channelsOrChannel]);
25036
+ const channelArray = Array.isArray(channelsOrChannel)
25037
+ ? channelsOrChannel
25038
+ : [channelsOrChannel];
25039
+ // Convert all channels to strings
25040
+ const channelStrings = channelArray.map(ch => this.channelToString(ch));
25041
+ const channels = new Set(channelStrings);
24863
25042
  this.subscriptionsCounter++;
24864
25043
  const count = this.subscriptionsCounter;
24865
25044
  for (const channel of channels) {
@@ -25163,6 +25342,96 @@ _a = ID, _ID_hexTimestamp = function _ID_hexTimestamp() {
25163
25342
  return hexTimestamp;
25164
25343
  };
25165
25344
 
25345
+ function normalize(id) {
25346
+ const trimmed = id.trim();
25347
+ return trimmed === "" ? "*" : trimmed;
25348
+ }
25349
+ class Channel {
25350
+ constructor(segments) {
25351
+ this.segments = segments;
25352
+ }
25353
+ next(segment, id = "*") {
25354
+ return new Channel([...this.segments, segment, normalize(id)]);
25355
+ }
25356
+ resolve(action) {
25357
+ return new Channel([...this.segments, action]);
25358
+ }
25359
+ toString() {
25360
+ return this.segments.join(".");
25361
+ }
25362
+ // --- DATABASE ROUTE ---
25363
+ // Only available on Channel<Database>
25364
+ collection(id = "*") {
25365
+ return this.next("collections", id);
25366
+ }
25367
+ // Only available on Channel<Collection>
25368
+ document(id = "*") {
25369
+ return this.next("documents", id);
25370
+ }
25371
+ // --- TABLESDB ROUTE ---
25372
+ table(id = "*") {
25373
+ return this.next("tables", id);
25374
+ }
25375
+ row(id = "*") {
25376
+ return this.next("rows", id);
25377
+ }
25378
+ // --- BUCKET ROUTE ---
25379
+ file(id = "*") {
25380
+ return this.next("files", id);
25381
+ }
25382
+ // --- FUNCTION ROUTE ---
25383
+ execution(id = "*") {
25384
+ return this.next("executions", id);
25385
+ }
25386
+ // --- TERMINAL ACTIONS ---
25387
+ // Restricted to the Actionable union
25388
+ create() {
25389
+ return this.resolve("create");
25390
+ }
25391
+ update() {
25392
+ return this.resolve("update");
25393
+ }
25394
+ delete() {
25395
+ return this.resolve("delete");
25396
+ }
25397
+ // --- ROOT FACTORIES ---
25398
+ static database(id = "*") {
25399
+ return new Channel(["databases", normalize(id)]);
25400
+ }
25401
+ static tablesdb(id = "*") {
25402
+ return new Channel(["tablesdb", normalize(id)]);
25403
+ }
25404
+ static bucket(id = "*") {
25405
+ return new Channel(["buckets", normalize(id)]);
25406
+ }
25407
+ static function(id = "*") {
25408
+ return new Channel(["functions", normalize(id)]);
25409
+ }
25410
+ static team(id = "*") {
25411
+ return new Channel(["teams", normalize(id)]);
25412
+ }
25413
+ static membership(id = "*") {
25414
+ return new Channel(["memberships", normalize(id)]);
25415
+ }
25416
+ static account(userId = "") {
25417
+ const id = normalize(userId);
25418
+ return id === "*" ? "account" : `account.${id}`;
25419
+ }
25420
+ // Global events
25421
+ static get documents() {
25422
+ return "documents";
25423
+ }
25424
+ static get rows() {
25425
+ return "rows";
25426
+ }
25427
+ static get files() {
25428
+ return "files";
25429
+ }
25430
+ static get executions() {
25431
+ return "executions";
25432
+ }
25433
+ }
25434
+
25166
25435
  exports.Condition = void 0;
25167
25436
  (function (Condition) {
25168
25437
  Condition["Equal"] = "equal";
@@ -25482,8 +25751,6 @@ exports.OAuthProvider = void 0;
25482
25751
  OAuthProvider["Yandex"] = "yandex";
25483
25752
  OAuthProvider["Zoho"] = "zoho";
25484
25753
  OAuthProvider["Zoom"] = "zoom";
25485
- OAuthProvider["Mock"] = "mock";
25486
- OAuthProvider["Mockunverified"] = "mock-unverified";
25487
25754
  OAuthProvider["GithubImagine"] = "githubImagine";
25488
25755
  OAuthProvider["GoogleImagine"] = "googleImagine";
25489
25756
  })(exports.OAuthProvider || (exports.OAuthProvider = {}));
@@ -26207,6 +26474,12 @@ exports.IndexType = void 0;
26207
26474
  IndexType["Spatial"] = "spatial";
26208
26475
  })(exports.IndexType || (exports.IndexType = {}));
26209
26476
 
26477
+ exports.FilterType = void 0;
26478
+ (function (FilterType) {
26479
+ FilterType["Premium"] = "premium";
26480
+ FilterType["Suggestion"] = "suggestion";
26481
+ })(exports.FilterType || (exports.FilterType = {}));
26482
+
26210
26483
  exports.Runtime = void 0;
26211
26484
  (function (Runtime) {
26212
26485
  Runtime["Node145"] = "node-14.5";
@@ -26318,6 +26591,7 @@ exports.Name = void 0;
26318
26591
  Name["V1webhooks"] = "v1-webhooks";
26319
26592
  Name["V1certificates"] = "v1-certificates";
26320
26593
  Name["V1builds"] = "v1-builds";
26594
+ Name["V1screenshots"] = "v1-screenshots";
26321
26595
  Name["V1messaging"] = "v1-messaging";
26322
26596
  Name["V1migrations"] = "v1-migrations";
26323
26597
  })(exports.Name || (exports.Name = {}));
@@ -26335,6 +26609,25 @@ exports.SmtpEncryption = void 0;
26335
26609
  SmtpEncryption["Tls"] = "tls";
26336
26610
  })(exports.SmtpEncryption || (exports.SmtpEncryption = {}));
26337
26611
 
26612
+ exports.BillingPlan = void 0;
26613
+ (function (BillingPlan) {
26614
+ BillingPlan["Tier0"] = "tier-0";
26615
+ BillingPlan["Tier1"] = "tier-1";
26616
+ BillingPlan["Tier2"] = "tier-2";
26617
+ BillingPlan["Imaginetier0"] = "imagine-tier-0";
26618
+ BillingPlan["Imaginetier1"] = "imagine-tier-1";
26619
+ BillingPlan["Imaginetier150"] = "imagine-tier-1-50";
26620
+ BillingPlan["Imaginetier1100"] = "imagine-tier-1-100";
26621
+ BillingPlan["Imaginetier1200"] = "imagine-tier-1-200";
26622
+ BillingPlan["Imaginetier1290"] = "imagine-tier-1-290";
26623
+ BillingPlan["Imaginetier1480"] = "imagine-tier-1-480";
26624
+ BillingPlan["Imaginetier1700"] = "imagine-tier-1-700";
26625
+ BillingPlan["Imaginetier1900"] = "imagine-tier-1-900";
26626
+ BillingPlan["Imaginetier11100"] = "imagine-tier-1-1100";
26627
+ BillingPlan["Imaginetier11650"] = "imagine-tier-1-1650";
26628
+ BillingPlan["Imaginetier12200"] = "imagine-tier-1-2200";
26629
+ })(exports.BillingPlan || (exports.BillingPlan = {}));
26630
+
26338
26631
  exports.ProjectUsageRange = void 0;
26339
26632
  (function (ProjectUsageRange) {
26340
26633
  ProjectUsageRange["OneHour"] = "1h";
@@ -26967,6 +27260,7 @@ exports.AppwriteException = AppwriteException;
26967
27260
  exports.Assistant = Assistant;
26968
27261
  exports.Avatars = Avatars;
26969
27262
  exports.Backups = Backups;
27263
+ exports.Channel = Channel;
26970
27264
  exports.Client = Client;
26971
27265
  exports.Console = Console;
26972
27266
  exports.Databases = Databases;