@appwrite.io/console 16.1.0 → 18.0.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 (55) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/sdk.js +1808 -412
  3. package/dist/cjs/sdk.js.map +1 -1
  4. package/dist/esm/sdk.js +1805 -413
  5. package/dist/esm/sdk.js.map +1 -1
  6. package/dist/iife/sdk.js +4339 -944
  7. package/package.json +5 -2
  8. package/types/client.d.ts +24 -11
  9. package/types/enums/billing-plan-group.d.ts +2 -1
  10. package/types/enums/build-runtime.d.ts +3 -0
  11. package/types/enums/cache-database.d.ts +1 -2
  12. package/types/enums/conversation-type.d.ts +9 -0
  13. package/types/enums/framework.d.ts +1 -0
  14. package/types/enums/id-token-provider.d.ts +4 -0
  15. package/types/enums/o-auth-2-auth-0-prompt.d.ts +5 -0
  16. package/types/enums/o-auth-2-discord-prompt.d.ts +4 -0
  17. package/types/enums/o-auth-2-github-prompt.d.ts +3 -0
  18. package/types/enums/o-auth-2-kakao-prompt.d.ts +6 -0
  19. package/types/enums/o-auth-2-microsoft-prompt.d.ts +6 -0
  20. package/types/enums/o-auth-2-okta-prompt.d.ts +5 -0
  21. package/types/enums/o-auth-2-salesforce-prompt.d.ts +4 -0
  22. package/types/enums/o-auth-2-zoho-prompt.d.ts +3 -0
  23. package/types/enums/organization-key-scopes.d.ts +2 -4
  24. package/types/enums/project-email-template-id.d.ts +3 -1
  25. package/types/enums/project-key-scopes.d.ts +1 -0
  26. package/types/enums/project-o-auth-2-auth-0-prompt.d.ts +5 -0
  27. package/types/enums/project-o-auth-2-discord-prompt.d.ts +4 -0
  28. package/types/enums/project-o-auth-2-git-hub-prompt.d.ts +3 -0
  29. package/types/enums/project-o-auth-2-kakao-prompt.d.ts +6 -0
  30. package/types/enums/project-o-auth-2-microsoft-prompt.d.ts +6 -0
  31. package/types/enums/project-o-auth-2-okta-prompt.d.ts +5 -0
  32. package/types/enums/project-o-auth-2-salesforce-prompt.d.ts +4 -0
  33. package/types/enums/project-o-auth-2-zoho-prompt.d.ts +3 -0
  34. package/types/enums/project-policy-id.d.ts +1 -0
  35. package/types/enums/query-suggestion-resource.d.ts +1 -3
  36. package/types/enums/runtime.d.ts +3 -0
  37. package/types/index.d.ts +23 -2
  38. package/types/models.d.ts +271 -562
  39. package/types/services/account.d.ts +167 -24
  40. package/types/services/console.d.ts +2 -2
  41. package/types/services/databases.d.ts +4 -4
  42. package/types/services/growth.d.ts +100 -0
  43. package/types/services/manager.d.ts +39 -14
  44. package/types/services/messaging.d.ts +94 -8
  45. package/types/services/organization.d.ts +165 -0
  46. package/types/services/organizations.d.ts +0 -19
  47. package/types/services/project.d.ts +93 -50
  48. package/types/services/projects.d.ts +0 -94
  49. package/types/services/push.d.ts +153 -0
  50. package/types/services/storage.d.ts +4 -4
  51. package/types/services/tables-db.d.ts +37 -37
  52. package/types/services/teams.d.ts +0 -25
  53. package/types/services/users.d.ts +4 -29
  54. package/types/topic.d.ts +34 -0
  55. package/types/enums/project-usage-range.d.ts +0 -4
package/dist/cjs/sdk.js CHANGED
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var JSONbigModule = require('json-bigint');
4
+ var buffer = require('buffer');
5
+ var mqtt = require('mqtt');
4
6
 
5
7
  /******************************************************************************
6
8
  Copyright (c) Microsoft Corporation.
@@ -644,6 +646,8 @@ class Client {
644
646
  this.config = {
645
647
  endpoint: 'https://cloud.appwrite.io/v1',
646
648
  endpointRealtime: '',
649
+ endpointPush: '',
650
+ pushClientId: '',
647
651
  project: '',
648
652
  key: '',
649
653
  organization: '',
@@ -653,7 +657,6 @@ class Client {
653
657
  mode: '',
654
658
  cookie: '',
655
659
  session: '',
656
- devkey: '',
657
660
  impersonateuserid: '',
658
661
  impersonateuseremail: '',
659
662
  impersonateuserphone: '',
@@ -668,8 +671,8 @@ class Client {
668
671
  'x-sdk-name': 'Console',
669
672
  'x-sdk-platform': 'console',
670
673
  'x-sdk-language': 'web',
671
- 'x-sdk-version': '16.1.0',
672
- 'X-Appwrite-Response-Format': '2.0.0',
674
+ 'x-sdk-version': '18.0.0',
675
+ 'X-Appwrite-Response-Format': '2.3.0',
673
676
  };
674
677
  this.realtime = {
675
678
  socket: undefined,
@@ -910,6 +913,44 @@ class Client {
910
913
  this.config.endpointRealtime = endpointRealtime;
911
914
  return this;
912
915
  }
916
+ /**
917
+ * Set Push Endpoint
918
+ *
919
+ * The MQTT-over-WebSocket URL the AppwritePush service connects to.
920
+ *
921
+ * @param {string} endpointPush
922
+ *
923
+ * @returns {this}
924
+ */
925
+ setPushEndpoint(endpointPush) {
926
+ if (!endpointPush || typeof endpointPush !== 'string') {
927
+ throw new AppwriteException('Endpoint must be a valid string');
928
+ }
929
+ if (!endpointPush.startsWith('ws://') &&
930
+ !endpointPush.startsWith('wss://')) {
931
+ throw new AppwriteException('Invalid push endpoint URL: ' + endpointPush);
932
+ }
933
+ this.config.endpointPush = endpointPush;
934
+ return this;
935
+ }
936
+ /**
937
+ * Set Push Client Id
938
+ *
939
+ * A stable client id for the AppwritePush service. The broker keys its
940
+ * offline-replay cursor on this id, so pass a stable value to resume replay across
941
+ * reloads/restarts. Defaults to a per-connection id when unset.
942
+ *
943
+ * @param {string} pushClientId
944
+ *
945
+ * @returns {this}
946
+ */
947
+ setPushClientId(pushClientId) {
948
+ if (!pushClientId || typeof pushClientId !== 'string') {
949
+ throw new AppwriteException('Client id must be a valid string');
950
+ }
951
+ this.config.pushClientId = pushClientId;
952
+ return this;
953
+ }
913
954
  /**
914
955
  * Set self-signed
915
956
  *
@@ -1081,20 +1122,6 @@ class Client {
1081
1122
  this.config.session = value;
1082
1123
  return this;
1083
1124
  }
1084
- /**
1085
- * Set DevKey
1086
- *
1087
- * Your secret dev API key
1088
- *
1089
- * @param value string
1090
- *
1091
- * @return {this}
1092
- */
1093
- setDevKey(value) {
1094
- this.headers['X-Appwrite-Dev-Key'] = value;
1095
- this.config.devkey = value;
1096
- return this;
1097
- }
1098
1125
  /**
1099
1126
  * Set ImpersonateUserId
1100
1127
  *
@@ -1254,10 +1281,8 @@ class Client {
1254
1281
  const options = {
1255
1282
  method,
1256
1283
  headers,
1284
+ credentials: this.config.credentials,
1257
1285
  };
1258
- if (headers['X-Appwrite-Dev-Key'] === undefined) {
1259
- options.credentials = this.config.credentials;
1260
- }
1261
1286
  if (method === 'GET') {
1262
1287
  for (const [key, value] of Object.entries(Client.flatten(params))) {
1263
1288
  url.searchParams.append(key, value);
@@ -1296,7 +1321,7 @@ class Client {
1296
1321
  var _a;
1297
1322
  const [fileParam, file] = (_a = Object.entries(originalPayload).find(([_, value]) => value instanceof File)) !== null && _a !== void 0 ? _a : [];
1298
1323
  if (!file || !fileParam) {
1299
- throw new Error('File not found in payload');
1324
+ return yield this.call(method, url, headers, originalPayload);
1300
1325
  }
1301
1326
  if (file.size <= Client.CHUNK_SIZE) {
1302
1327
  return yield this.call(method, url, headers, originalPayload);
@@ -2324,37 +2349,6 @@ class Account {
2324
2349
  };
2325
2350
  return this.client.call('delete', uri, apiHeaders, payload);
2326
2351
  }
2327
- listLogs(paramsOrFirst, ...rest) {
2328
- let params;
2329
- if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
2330
- (paramsOrFirst &&
2331
- typeof paramsOrFirst === 'object' &&
2332
- !Array.isArray(paramsOrFirst))) {
2333
- params = (paramsOrFirst || {});
2334
- }
2335
- else {
2336
- params = {
2337
- queries: paramsOrFirst,
2338
- total: rest[0],
2339
- };
2340
- }
2341
- const queries = params.queries;
2342
- const total = params.total;
2343
- const apiPath = '/account/logs';
2344
- const payload = {};
2345
- if (typeof queries !== 'undefined') {
2346
- payload['queries'] = queries;
2347
- }
2348
- if (typeof total !== 'undefined') {
2349
- payload['total'] = total;
2350
- }
2351
- const uri = new URL(this.client.config.endpoint + apiPath);
2352
- const apiHeaders = {
2353
- 'X-Appwrite-Project': this.client.config.project,
2354
- accept: 'application/json',
2355
- };
2356
- return this.client.call('get', uri, apiHeaders, payload);
2357
- }
2358
2352
  updateMFA(paramsOrFirst) {
2359
2353
  let params;
2360
2354
  if (paramsOrFirst &&
@@ -3274,6 +3268,85 @@ class Account {
3274
3268
  };
3275
3269
  return this.client.call('put', uri, apiHeaders, payload);
3276
3270
  }
3271
+ createRecoveryOTP(paramsOrFirst, ...rest) {
3272
+ let params;
3273
+ if (paramsOrFirst &&
3274
+ typeof paramsOrFirst === 'object' &&
3275
+ !Array.isArray(paramsOrFirst)) {
3276
+ params = (paramsOrFirst || {});
3277
+ }
3278
+ else {
3279
+ params = {
3280
+ email: paramsOrFirst,
3281
+ phrase: rest[0],
3282
+ };
3283
+ }
3284
+ const email = params.email;
3285
+ const phrase = params.phrase;
3286
+ if (typeof email === 'undefined') {
3287
+ throw new AppwriteException('Missing required parameter: "email"');
3288
+ }
3289
+ const apiPath = '/account/recovery/otp';
3290
+ const payload = {};
3291
+ if (typeof email !== 'undefined') {
3292
+ payload['email'] = email;
3293
+ }
3294
+ if (typeof phrase !== 'undefined') {
3295
+ payload['phrase'] = phrase;
3296
+ }
3297
+ const uri = new URL(this.client.config.endpoint + apiPath);
3298
+ const apiHeaders = {
3299
+ 'X-Appwrite-Project': this.client.config.project,
3300
+ 'content-type': 'application/json',
3301
+ accept: 'application/json',
3302
+ };
3303
+ return this.client.call('post', uri, apiHeaders, payload);
3304
+ }
3305
+ updateRecoveryOTP(paramsOrFirst, ...rest) {
3306
+ let params;
3307
+ if (paramsOrFirst &&
3308
+ typeof paramsOrFirst === 'object' &&
3309
+ !Array.isArray(paramsOrFirst)) {
3310
+ params = (paramsOrFirst || {});
3311
+ }
3312
+ else {
3313
+ params = {
3314
+ userId: paramsOrFirst,
3315
+ secret: rest[0],
3316
+ password: rest[1],
3317
+ };
3318
+ }
3319
+ const userId = params.userId;
3320
+ const secret = params.secret;
3321
+ const password = params.password;
3322
+ if (typeof userId === 'undefined') {
3323
+ throw new AppwriteException('Missing required parameter: "userId"');
3324
+ }
3325
+ if (typeof secret === 'undefined') {
3326
+ throw new AppwriteException('Missing required parameter: "secret"');
3327
+ }
3328
+ if (typeof password === 'undefined') {
3329
+ throw new AppwriteException('Missing required parameter: "password"');
3330
+ }
3331
+ const apiPath = '/account/recovery/otp';
3332
+ const payload = {};
3333
+ if (typeof userId !== 'undefined') {
3334
+ payload['userId'] = userId;
3335
+ }
3336
+ if (typeof secret !== 'undefined') {
3337
+ payload['secret'] = secret;
3338
+ }
3339
+ if (typeof password !== 'undefined') {
3340
+ payload['password'] = password;
3341
+ }
3342
+ const uri = new URL(this.client.config.endpoint + apiPath);
3343
+ const apiHeaders = {
3344
+ 'X-Appwrite-Project': this.client.config.project,
3345
+ 'content-type': 'application/json',
3346
+ accept: 'application/json',
3347
+ };
3348
+ return this.client.call('put', uri, apiHeaders, payload);
3349
+ }
3277
3350
  /**
3278
3351
  * Get the list of active sessions across different devices for the currently logged in user.
3279
3352
  *
@@ -3361,6 +3434,69 @@ class Account {
3361
3434
  };
3362
3435
  return this.client.call('post', uri, apiHeaders, payload);
3363
3436
  }
3437
+ createIdTokenSession(paramsOrFirst, ...rest) {
3438
+ let params;
3439
+ if (paramsOrFirst &&
3440
+ typeof paramsOrFirst === 'object' &&
3441
+ !Array.isArray(paramsOrFirst) &&
3442
+ ('provider' in paramsOrFirst ||
3443
+ 'idToken' in paramsOrFirst ||
3444
+ 'nonce' in paramsOrFirst ||
3445
+ 'accessToken' in paramsOrFirst ||
3446
+ 'accessTokenExpiry' in paramsOrFirst ||
3447
+ 'name' in paramsOrFirst)) {
3448
+ params = (paramsOrFirst || {});
3449
+ }
3450
+ else {
3451
+ params = {
3452
+ provider: paramsOrFirst,
3453
+ idToken: rest[0],
3454
+ nonce: rest[1],
3455
+ accessToken: rest[2],
3456
+ accessTokenExpiry: rest[3],
3457
+ name: rest[4],
3458
+ };
3459
+ }
3460
+ const provider = params.provider;
3461
+ const idToken = params.idToken;
3462
+ const nonce = params.nonce;
3463
+ const accessToken = params.accessToken;
3464
+ const accessTokenExpiry = params.accessTokenExpiry;
3465
+ const name = params.name;
3466
+ if (typeof provider === 'undefined') {
3467
+ throw new AppwriteException('Missing required parameter: "provider"');
3468
+ }
3469
+ if (typeof idToken === 'undefined') {
3470
+ throw new AppwriteException('Missing required parameter: "idToken"');
3471
+ }
3472
+ const apiPath = '/account/sessions/id-token';
3473
+ const payload = {};
3474
+ if (typeof provider !== 'undefined') {
3475
+ payload['provider'] = provider;
3476
+ }
3477
+ if (typeof idToken !== 'undefined') {
3478
+ payload['idToken'] = idToken;
3479
+ }
3480
+ if (typeof nonce !== 'undefined') {
3481
+ payload['nonce'] = nonce;
3482
+ }
3483
+ if (typeof accessToken !== 'undefined') {
3484
+ payload['accessToken'] = accessToken;
3485
+ }
3486
+ if (typeof accessTokenExpiry !== 'undefined') {
3487
+ payload['accessTokenExpiry'] = accessTokenExpiry;
3488
+ }
3489
+ if (typeof name !== 'undefined') {
3490
+ payload['name'] = name;
3491
+ }
3492
+ const uri = new URL(this.client.config.endpoint + apiPath);
3493
+ const apiHeaders = {
3494
+ 'X-Appwrite-Project': this.client.config.project,
3495
+ 'content-type': 'application/json',
3496
+ accept: 'application/json',
3497
+ };
3498
+ return this.client.call('post', uri, apiHeaders, payload);
3499
+ }
3364
3500
  updateMagicURLSession(paramsOrFirst, ...rest) {
3365
3501
  let params;
3366
3502
  if (paramsOrFirst &&
@@ -4026,6 +4162,70 @@ class Account {
4026
4162
  };
4027
4163
  return this.client.call('put', uri, apiHeaders, payload);
4028
4164
  }
4165
+ createEmailVerificationOTP(paramsOrFirst) {
4166
+ let params;
4167
+ if (typeof paramsOrFirst === 'undefined' ||
4168
+ (paramsOrFirst &&
4169
+ typeof paramsOrFirst === 'object' &&
4170
+ !Array.isArray(paramsOrFirst))) {
4171
+ params = (paramsOrFirst || {});
4172
+ }
4173
+ else {
4174
+ params = {
4175
+ phrase: paramsOrFirst,
4176
+ };
4177
+ }
4178
+ const phrase = params.phrase;
4179
+ const apiPath = '/account/verifications/email/otp';
4180
+ const payload = {};
4181
+ if (typeof phrase !== 'undefined') {
4182
+ payload['phrase'] = phrase;
4183
+ }
4184
+ const uri = new URL(this.client.config.endpoint + apiPath);
4185
+ const apiHeaders = {
4186
+ 'X-Appwrite-Project': this.client.config.project,
4187
+ 'content-type': 'application/json',
4188
+ accept: 'application/json',
4189
+ };
4190
+ return this.client.call('post', uri, apiHeaders, payload);
4191
+ }
4192
+ updateEmailVerificationOTP(paramsOrFirst, ...rest) {
4193
+ let params;
4194
+ if (paramsOrFirst &&
4195
+ typeof paramsOrFirst === 'object' &&
4196
+ !Array.isArray(paramsOrFirst)) {
4197
+ params = (paramsOrFirst || {});
4198
+ }
4199
+ else {
4200
+ params = {
4201
+ userId: paramsOrFirst,
4202
+ secret: rest[0],
4203
+ };
4204
+ }
4205
+ const userId = params.userId;
4206
+ const secret = params.secret;
4207
+ if (typeof userId === 'undefined') {
4208
+ throw new AppwriteException('Missing required parameter: "userId"');
4209
+ }
4210
+ if (typeof secret === 'undefined') {
4211
+ throw new AppwriteException('Missing required parameter: "secret"');
4212
+ }
4213
+ const apiPath = '/account/verifications/email/otp';
4214
+ const payload = {};
4215
+ if (typeof userId !== 'undefined') {
4216
+ payload['userId'] = userId;
4217
+ }
4218
+ if (typeof secret !== 'undefined') {
4219
+ payload['secret'] = secret;
4220
+ }
4221
+ const uri = new URL(this.client.config.endpoint + apiPath);
4222
+ const apiHeaders = {
4223
+ 'X-Appwrite-Project': this.client.config.project,
4224
+ 'content-type': 'application/json',
4225
+ accept: 'application/json',
4226
+ };
4227
+ return this.client.call('put', uri, apiHeaders, payload);
4228
+ }
4029
4229
  /**
4030
4230
  * Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](https://appwrite.io/docs/references/cloud/client-web/account#updatePhone) endpoint. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes.
4031
4231
  *
@@ -15660,6 +15860,171 @@ class Graphql {
15660
15860
  }
15661
15861
  }
15662
15862
 
15863
+ class Growth {
15864
+ constructor(client) {
15865
+ this.client = client;
15866
+ }
15867
+ createConversation(paramsOrFirst, ...rest) {
15868
+ let params;
15869
+ let onProgress;
15870
+ if (paramsOrFirst &&
15871
+ typeof paramsOrFirst === 'object' &&
15872
+ !Array.isArray(paramsOrFirst) &&
15873
+ ('type' in paramsOrFirst ||
15874
+ 'email' in paramsOrFirst ||
15875
+ 'name' in paramsOrFirst ||
15876
+ 'subject' in paramsOrFirst ||
15877
+ 'message' in paramsOrFirst ||
15878
+ 'organizationId' in paramsOrFirst ||
15879
+ 'projectId' in paramsOrFirst ||
15880
+ 'attributes' in paramsOrFirst ||
15881
+ 'attachment' in paramsOrFirst ||
15882
+ 'onProgress' in paramsOrFirst)) {
15883
+ params = (paramsOrFirst || {});
15884
+ onProgress = paramsOrFirst === null || paramsOrFirst === void 0 ? void 0 : paramsOrFirst.onProgress;
15885
+ }
15886
+ else {
15887
+ params = {
15888
+ type: paramsOrFirst,
15889
+ email: rest[0],
15890
+ name: rest[1],
15891
+ subject: rest[2],
15892
+ message: rest[3],
15893
+ organizationId: rest[4],
15894
+ projectId: rest[5],
15895
+ attributes: rest[6],
15896
+ attachment: rest[7],
15897
+ };
15898
+ onProgress = rest[8];
15899
+ }
15900
+ const type = params.type;
15901
+ const email = params.email;
15902
+ const name = params.name;
15903
+ const subject = params.subject;
15904
+ const message = params.message;
15905
+ const organizationId = params.organizationId;
15906
+ const projectId = params.projectId;
15907
+ const attributes = params.attributes;
15908
+ const attachment = params.attachment;
15909
+ if (typeof type === 'undefined') {
15910
+ throw new AppwriteException('Missing required parameter: "type"');
15911
+ }
15912
+ const apiPath = '/growth/conversations';
15913
+ const payload = {};
15914
+ if (typeof type !== 'undefined') {
15915
+ payload['type'] = type;
15916
+ }
15917
+ if (typeof email !== 'undefined') {
15918
+ payload['email'] = email;
15919
+ }
15920
+ if (typeof name !== 'undefined') {
15921
+ payload['name'] = name;
15922
+ }
15923
+ if (typeof subject !== 'undefined') {
15924
+ payload['subject'] = subject;
15925
+ }
15926
+ if (typeof message !== 'undefined') {
15927
+ payload['message'] = message;
15928
+ }
15929
+ if (typeof organizationId !== 'undefined') {
15930
+ payload['organizationId'] = organizationId;
15931
+ }
15932
+ if (typeof projectId !== 'undefined') {
15933
+ payload['projectId'] = projectId;
15934
+ }
15935
+ if (typeof attributes !== 'undefined') {
15936
+ payload['attributes'] = attributes;
15937
+ }
15938
+ if (typeof attachment !== 'undefined') {
15939
+ payload['attachment'] = attachment;
15940
+ }
15941
+ const uri = new URL(this.client.config.endpoint + apiPath);
15942
+ const apiHeaders = {
15943
+ 'X-Appwrite-Project': this.client.config.project,
15944
+ 'content-type': 'multipart/form-data',
15945
+ accept: 'application/json',
15946
+ };
15947
+ return this.client.chunkedUpload('post', uri, apiHeaders, payload, onProgress);
15948
+ }
15949
+ createInstallation(paramsOrFirst, ...rest) {
15950
+ let params;
15951
+ if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
15952
+ (paramsOrFirst &&
15953
+ typeof paramsOrFirst === 'object' &&
15954
+ !Array.isArray(paramsOrFirst))) {
15955
+ params = (paramsOrFirst || {});
15956
+ }
15957
+ else {
15958
+ params = {
15959
+ email: paramsOrFirst,
15960
+ name: rest[0],
15961
+ version: rest[1],
15962
+ domain: rest[2],
15963
+ database: rest[3],
15964
+ hostIp: rest[4],
15965
+ userAgent: rest[5],
15966
+ os: rest[6],
15967
+ arch: rest[7],
15968
+ cpus: rest[8],
15969
+ ram: rest[9],
15970
+ };
15971
+ }
15972
+ const email = params.email;
15973
+ const name = params.name;
15974
+ const version = params.version;
15975
+ const domain = params.domain;
15976
+ const database = params.database;
15977
+ const hostIp = params.hostIp;
15978
+ const userAgent = params.userAgent;
15979
+ const os = params.os;
15980
+ const arch = params.arch;
15981
+ const cpus = params.cpus;
15982
+ const ram = params.ram;
15983
+ const apiPath = '/growth/installations';
15984
+ const payload = {};
15985
+ if (typeof email !== 'undefined') {
15986
+ payload['email'] = email;
15987
+ }
15988
+ if (typeof name !== 'undefined') {
15989
+ payload['name'] = name;
15990
+ }
15991
+ if (typeof version !== 'undefined') {
15992
+ payload['version'] = version;
15993
+ }
15994
+ if (typeof domain !== 'undefined') {
15995
+ payload['domain'] = domain;
15996
+ }
15997
+ if (typeof database !== 'undefined') {
15998
+ payload['database'] = database;
15999
+ }
16000
+ if (typeof hostIp !== 'undefined') {
16001
+ payload['hostIp'] = hostIp;
16002
+ }
16003
+ if (typeof userAgent !== 'undefined') {
16004
+ payload['userAgent'] = userAgent;
16005
+ }
16006
+ if (typeof os !== 'undefined') {
16007
+ payload['os'] = os;
16008
+ }
16009
+ if (typeof arch !== 'undefined') {
16010
+ payload['arch'] = arch;
16011
+ }
16012
+ if (typeof cpus !== 'undefined') {
16013
+ payload['cpus'] = cpus;
16014
+ }
16015
+ if (typeof ram !== 'undefined') {
16016
+ payload['ram'] = ram;
16017
+ }
16018
+ const uri = new URL(this.client.config.endpoint + apiPath);
16019
+ const apiHeaders = {
16020
+ 'X-Appwrite-Project': this.client.config.project,
16021
+ 'content-type': 'application/json',
16022
+ accept: 'application/json',
16023
+ };
16024
+ return this.client.call('post', uri, apiHeaders, payload);
16025
+ }
16026
+ }
16027
+
15663
16028
  class Locale {
15664
16029
  constructor(client) {
15665
16030
  this.client = client;
@@ -15984,6 +16349,47 @@ class Manager {
15984
16349
  };
15985
16350
  return this.client.call('delete', uri, apiHeaders, payload);
15986
16351
  }
16352
+ updateOrganizationStatus(paramsOrFirst, ...rest) {
16353
+ let params;
16354
+ if (paramsOrFirst &&
16355
+ typeof paramsOrFirst === 'object' &&
16356
+ !Array.isArray(paramsOrFirst)) {
16357
+ params = (paramsOrFirst || {});
16358
+ }
16359
+ else {
16360
+ params = {
16361
+ teamId: paramsOrFirst,
16362
+ status: rest[0],
16363
+ reason: rest[1],
16364
+ };
16365
+ }
16366
+ const teamId = params.teamId;
16367
+ const status = params.status;
16368
+ const reason = params.reason;
16369
+ if (typeof teamId === 'undefined') {
16370
+ throw new AppwriteException('Missing required parameter: "teamId"');
16371
+ }
16372
+ if (typeof status === 'undefined') {
16373
+ throw new AppwriteException('Missing required parameter: "status"');
16374
+ }
16375
+ const apiPath = '/manager/organizations/status';
16376
+ const payload = {};
16377
+ if (typeof teamId !== 'undefined') {
16378
+ payload['teamId'] = teamId;
16379
+ }
16380
+ if (typeof status !== 'undefined') {
16381
+ payload['status'] = status;
16382
+ }
16383
+ if (typeof reason !== 'undefined') {
16384
+ payload['reason'] = reason;
16385
+ }
16386
+ const uri = new URL(this.client.config.endpoint + apiPath);
16387
+ const apiHeaders = {
16388
+ 'content-type': 'application/json',
16389
+ accept: 'application/json',
16390
+ };
16391
+ return this.client.call('patch', uri, apiHeaders, payload);
16392
+ }
15987
16393
  updateUserStatus(paramsOrFirst, ...rest) {
15988
16394
  let params;
15989
16395
  if (paramsOrFirst &&
@@ -16087,9 +16493,11 @@ class Messaging {
16087
16493
  cc: rest[5],
16088
16494
  bcc: rest[6],
16089
16495
  attachments: rest[7],
16090
- draft: rest[8],
16091
- html: rest[9],
16092
- scheduledAt: rest[10],
16496
+ replyToEmail: rest[8],
16497
+ replyToName: rest[9],
16498
+ draft: rest[10],
16499
+ html: rest[11],
16500
+ scheduledAt: rest[12],
16093
16501
  };
16094
16502
  }
16095
16503
  const messageId = params.messageId;
@@ -16101,6 +16509,8 @@ class Messaging {
16101
16509
  const cc = params.cc;
16102
16510
  const bcc = params.bcc;
16103
16511
  const attachments = params.attachments;
16512
+ const replyToEmail = params.replyToEmail;
16513
+ const replyToName = params.replyToName;
16104
16514
  const draft = params.draft;
16105
16515
  const html = params.html;
16106
16516
  const scheduledAt = params.scheduledAt;
@@ -16142,6 +16552,12 @@ class Messaging {
16142
16552
  if (typeof attachments !== 'undefined') {
16143
16553
  payload['attachments'] = attachments;
16144
16554
  }
16555
+ if (typeof replyToEmail !== 'undefined') {
16556
+ payload['replyToEmail'] = replyToEmail;
16557
+ }
16558
+ if (typeof replyToName !== 'undefined') {
16559
+ payload['replyToName'] = replyToName;
16560
+ }
16145
16561
  if (typeof draft !== 'undefined') {
16146
16562
  payload['draft'] = draft;
16147
16563
  }
@@ -16178,8 +16594,10 @@ class Messaging {
16178
16594
  html: rest[6],
16179
16595
  cc: rest[7],
16180
16596
  bcc: rest[8],
16181
- scheduledAt: rest[9],
16182
- attachments: rest[10],
16597
+ replyToEmail: rest[9],
16598
+ replyToName: rest[10],
16599
+ scheduledAt: rest[11],
16600
+ attachments: rest[12],
16183
16601
  };
16184
16602
  }
16185
16603
  const messageId = params.messageId;
@@ -16192,6 +16610,8 @@ class Messaging {
16192
16610
  const html = params.html;
16193
16611
  const cc = params.cc;
16194
16612
  const bcc = params.bcc;
16613
+ const replyToEmail = params.replyToEmail;
16614
+ const replyToName = params.replyToName;
16195
16615
  const scheduledAt = params.scheduledAt;
16196
16616
  const attachments = params.attachments;
16197
16617
  if (typeof messageId === 'undefined' || messageId === '') {
@@ -16226,6 +16646,12 @@ class Messaging {
16226
16646
  if (typeof bcc !== 'undefined') {
16227
16647
  payload['bcc'] = bcc;
16228
16648
  }
16649
+ if (typeof replyToEmail !== 'undefined') {
16650
+ payload['replyToEmail'] = replyToEmail;
16651
+ }
16652
+ if (typeof replyToName !== 'undefined') {
16653
+ payload['replyToName'] = replyToName;
16654
+ }
16229
16655
  if (typeof scheduledAt !== 'undefined') {
16230
16656
  payload['scheduledAt'] = scheduledAt;
16231
16657
  }
@@ -17089,6 +17515,104 @@ class Messaging {
17089
17515
  };
17090
17516
  return this.client.call('patch', uri, apiHeaders, payload);
17091
17517
  }
17518
+ createAppwriteProvider(paramsOrFirst, ...rest) {
17519
+ let params;
17520
+ if (paramsOrFirst &&
17521
+ typeof paramsOrFirst === 'object' &&
17522
+ !Array.isArray(paramsOrFirst)) {
17523
+ params = (paramsOrFirst || {});
17524
+ }
17525
+ else {
17526
+ params = {
17527
+ providerId: paramsOrFirst,
17528
+ name: rest[0],
17529
+ enabled: rest[1],
17530
+ qos: rest[2],
17531
+ expiry: rest[3],
17532
+ };
17533
+ }
17534
+ const providerId = params.providerId;
17535
+ const name = params.name;
17536
+ const enabled = params.enabled;
17537
+ const qos = params.qos;
17538
+ const expiry = params.expiry;
17539
+ if (typeof providerId === 'undefined') {
17540
+ throw new AppwriteException('Missing required parameter: "providerId"');
17541
+ }
17542
+ if (typeof name === 'undefined') {
17543
+ throw new AppwriteException('Missing required parameter: "name"');
17544
+ }
17545
+ const apiPath = '/messaging/providers/appwrite';
17546
+ const payload = {};
17547
+ if (typeof providerId !== 'undefined') {
17548
+ payload['providerId'] = providerId;
17549
+ }
17550
+ if (typeof name !== 'undefined') {
17551
+ payload['name'] = name;
17552
+ }
17553
+ if (typeof enabled !== 'undefined') {
17554
+ payload['enabled'] = enabled;
17555
+ }
17556
+ if (typeof qos !== 'undefined') {
17557
+ payload['qos'] = qos;
17558
+ }
17559
+ if (typeof expiry !== 'undefined') {
17560
+ payload['expiry'] = expiry;
17561
+ }
17562
+ const uri = new URL(this.client.config.endpoint + apiPath);
17563
+ const apiHeaders = {
17564
+ 'X-Appwrite-Project': this.client.config.project,
17565
+ 'content-type': 'application/json',
17566
+ accept: 'application/json',
17567
+ };
17568
+ return this.client.call('post', uri, apiHeaders, payload);
17569
+ }
17570
+ updateAppwriteProvider(paramsOrFirst, ...rest) {
17571
+ let params;
17572
+ if (paramsOrFirst &&
17573
+ typeof paramsOrFirst === 'object' &&
17574
+ !Array.isArray(paramsOrFirst)) {
17575
+ params = (paramsOrFirst || {});
17576
+ }
17577
+ else {
17578
+ params = {
17579
+ providerId: paramsOrFirst,
17580
+ name: rest[0],
17581
+ enabled: rest[1],
17582
+ qos: rest[2],
17583
+ expiry: rest[3],
17584
+ };
17585
+ }
17586
+ const providerId = params.providerId;
17587
+ const name = params.name;
17588
+ const enabled = params.enabled;
17589
+ const qos = params.qos;
17590
+ const expiry = params.expiry;
17591
+ if (typeof providerId === 'undefined' || providerId === '') {
17592
+ throw new AppwriteException('Missing required parameter: "providerId"');
17593
+ }
17594
+ const apiPath = '/messaging/providers/appwrite/{providerId}'.replace('{providerId}', encodeURIComponent(String(providerId)));
17595
+ const payload = {};
17596
+ if (typeof name !== 'undefined') {
17597
+ payload['name'] = name;
17598
+ }
17599
+ if (typeof enabled !== 'undefined') {
17600
+ payload['enabled'] = enabled;
17601
+ }
17602
+ if (typeof qos !== 'undefined') {
17603
+ payload['qos'] = qos;
17604
+ }
17605
+ if (typeof expiry !== 'undefined') {
17606
+ payload['expiry'] = expiry;
17607
+ }
17608
+ const uri = new URL(this.client.config.endpoint + apiPath);
17609
+ const apiHeaders = {
17610
+ 'X-Appwrite-Project': this.client.config.project,
17611
+ 'content-type': 'application/json',
17612
+ accept: 'application/json',
17613
+ };
17614
+ return this.client.call('patch', uri, apiHeaders, payload);
17615
+ }
17092
17616
  createFcmProvider(paramsOrFirst, ...rest) {
17093
17617
  let params;
17094
17618
  if (paramsOrFirst &&
@@ -18838,11 +19362,15 @@ class Messaging {
18838
19362
  topicId: paramsOrFirst,
18839
19363
  name: rest[0],
18840
19364
  subscribe: rest[1],
19365
+ qos: rest[2],
19366
+ expiry: rest[3],
18841
19367
  };
18842
19368
  }
18843
19369
  const topicId = params.topicId;
18844
19370
  const name = params.name;
18845
19371
  const subscribe = params.subscribe;
19372
+ const qos = params.qos;
19373
+ const expiry = params.expiry;
18846
19374
  if (typeof topicId === 'undefined') {
18847
19375
  throw new AppwriteException('Missing required parameter: "topicId"');
18848
19376
  }
@@ -18860,6 +19388,12 @@ class Messaging {
18860
19388
  if (typeof subscribe !== 'undefined') {
18861
19389
  payload['subscribe'] = subscribe;
18862
19390
  }
19391
+ if (typeof qos !== 'undefined') {
19392
+ payload['qos'] = qos;
19393
+ }
19394
+ if (typeof expiry !== 'undefined') {
19395
+ payload['expiry'] = expiry;
19396
+ }
18863
19397
  const uri = new URL(this.client.config.endpoint + apiPath);
18864
19398
  const apiHeaders = {
18865
19399
  'X-Appwrite-Project': this.client.config.project,
@@ -18905,11 +19439,15 @@ class Messaging {
18905
19439
  topicId: paramsOrFirst,
18906
19440
  name: rest[0],
18907
19441
  subscribe: rest[1],
19442
+ qos: rest[2],
19443
+ expiry: rest[3],
18908
19444
  };
18909
19445
  }
18910
19446
  const topicId = params.topicId;
18911
19447
  const name = params.name;
18912
19448
  const subscribe = params.subscribe;
19449
+ const qos = params.qos;
19450
+ const expiry = params.expiry;
18913
19451
  if (typeof topicId === 'undefined' || topicId === '') {
18914
19452
  throw new AppwriteException('Missing required parameter: "topicId"');
18915
19453
  }
@@ -18921,6 +19459,12 @@ class Messaging {
18921
19459
  if (typeof subscribe !== 'undefined') {
18922
19460
  payload['subscribe'] = subscribe;
18923
19461
  }
19462
+ if (typeof qos !== 'undefined') {
19463
+ payload['qos'] = qos;
19464
+ }
19465
+ if (typeof expiry !== 'undefined') {
19466
+ payload['expiry'] = expiry;
19467
+ }
18924
19468
  const uri = new URL(this.client.config.endpoint + apiPath);
18925
19469
  const apiHeaders = {
18926
19470
  'X-Appwrite-Project': this.client.config.project,
@@ -24176,6 +24720,257 @@ class Organization {
24176
24720
  };
24177
24721
  return this.client.call('delete', uri, apiHeaders, payload);
24178
24722
  }
24723
+ listProjectKeys(paramsOrFirst, ...rest) {
24724
+ let params;
24725
+ if (paramsOrFirst &&
24726
+ typeof paramsOrFirst === 'object' &&
24727
+ !Array.isArray(paramsOrFirst)) {
24728
+ params = (paramsOrFirst || {});
24729
+ }
24730
+ else {
24731
+ params = {
24732
+ projectId: paramsOrFirst,
24733
+ queries: rest[0],
24734
+ total: rest[1],
24735
+ };
24736
+ }
24737
+ const projectId = params.projectId;
24738
+ const queries = params.queries;
24739
+ const total = params.total;
24740
+ if (typeof projectId === 'undefined' || projectId === '') {
24741
+ throw new AppwriteException('Missing required parameter: "projectId"');
24742
+ }
24743
+ const apiPath = '/organization/projects/{projectId}/keys'.replace('{projectId}', encodeURIComponent(String(projectId)));
24744
+ const payload = {};
24745
+ if (typeof queries !== 'undefined') {
24746
+ payload['queries'] = queries;
24747
+ }
24748
+ if (typeof total !== 'undefined') {
24749
+ payload['total'] = total;
24750
+ }
24751
+ const uri = new URL(this.client.config.endpoint + apiPath);
24752
+ const apiHeaders = {
24753
+ 'X-Appwrite-Project': this.client.config.project,
24754
+ accept: 'application/json',
24755
+ };
24756
+ return this.client.call('get', uri, apiHeaders, payload);
24757
+ }
24758
+ createProjectKey(paramsOrFirst, ...rest) {
24759
+ let params;
24760
+ if (paramsOrFirst &&
24761
+ typeof paramsOrFirst === 'object' &&
24762
+ !Array.isArray(paramsOrFirst)) {
24763
+ params = (paramsOrFirst || {});
24764
+ }
24765
+ else {
24766
+ params = {
24767
+ projectId: paramsOrFirst,
24768
+ keyId: rest[0],
24769
+ name: rest[1],
24770
+ scopes: rest[2],
24771
+ expire: rest[3],
24772
+ };
24773
+ }
24774
+ const projectId = params.projectId;
24775
+ const keyId = params.keyId;
24776
+ const name = params.name;
24777
+ const scopes = params.scopes;
24778
+ const expire = params.expire;
24779
+ if (typeof projectId === 'undefined' || projectId === '') {
24780
+ throw new AppwriteException('Missing required parameter: "projectId"');
24781
+ }
24782
+ if (typeof keyId === 'undefined') {
24783
+ throw new AppwriteException('Missing required parameter: "keyId"');
24784
+ }
24785
+ if (typeof name === 'undefined') {
24786
+ throw new AppwriteException('Missing required parameter: "name"');
24787
+ }
24788
+ if (typeof scopes === 'undefined') {
24789
+ throw new AppwriteException('Missing required parameter: "scopes"');
24790
+ }
24791
+ const apiPath = '/organization/projects/{projectId}/keys'.replace('{projectId}', encodeURIComponent(String(projectId)));
24792
+ const payload = {};
24793
+ if (typeof keyId !== 'undefined') {
24794
+ payload['keyId'] = keyId;
24795
+ }
24796
+ if (typeof name !== 'undefined') {
24797
+ payload['name'] = name;
24798
+ }
24799
+ if (typeof scopes !== 'undefined') {
24800
+ payload['scopes'] = scopes;
24801
+ }
24802
+ if (typeof expire !== 'undefined') {
24803
+ payload['expire'] = expire;
24804
+ }
24805
+ const uri = new URL(this.client.config.endpoint + apiPath);
24806
+ const apiHeaders = {
24807
+ 'X-Appwrite-Project': this.client.config.project,
24808
+ 'content-type': 'application/json',
24809
+ accept: 'application/json',
24810
+ };
24811
+ return this.client.call('post', uri, apiHeaders, payload);
24812
+ }
24813
+ createEphemeralProjectKey(paramsOrFirst, ...rest) {
24814
+ let params;
24815
+ if (paramsOrFirst &&
24816
+ typeof paramsOrFirst === 'object' &&
24817
+ !Array.isArray(paramsOrFirst)) {
24818
+ params = (paramsOrFirst || {});
24819
+ }
24820
+ else {
24821
+ params = {
24822
+ projectId: paramsOrFirst,
24823
+ scopes: rest[0],
24824
+ duration: rest[1],
24825
+ };
24826
+ }
24827
+ const projectId = params.projectId;
24828
+ const scopes = params.scopes;
24829
+ const duration = params.duration;
24830
+ if (typeof projectId === 'undefined' || projectId === '') {
24831
+ throw new AppwriteException('Missing required parameter: "projectId"');
24832
+ }
24833
+ if (typeof scopes === 'undefined') {
24834
+ throw new AppwriteException('Missing required parameter: "scopes"');
24835
+ }
24836
+ if (typeof duration === 'undefined') {
24837
+ throw new AppwriteException('Missing required parameter: "duration"');
24838
+ }
24839
+ const apiPath = '/organization/projects/{projectId}/keys/ephemeral'.replace('{projectId}', encodeURIComponent(String(projectId)));
24840
+ const payload = {};
24841
+ if (typeof scopes !== 'undefined') {
24842
+ payload['scopes'] = scopes;
24843
+ }
24844
+ if (typeof duration !== 'undefined') {
24845
+ payload['duration'] = duration;
24846
+ }
24847
+ const uri = new URL(this.client.config.endpoint + apiPath);
24848
+ const apiHeaders = {
24849
+ 'X-Appwrite-Project': this.client.config.project,
24850
+ 'content-type': 'application/json',
24851
+ accept: 'application/json',
24852
+ };
24853
+ return this.client.call('post', uri, apiHeaders, payload);
24854
+ }
24855
+ getProjectKey(paramsOrFirst, ...rest) {
24856
+ let params;
24857
+ if (paramsOrFirst &&
24858
+ typeof paramsOrFirst === 'object' &&
24859
+ !Array.isArray(paramsOrFirst)) {
24860
+ params = (paramsOrFirst || {});
24861
+ }
24862
+ else {
24863
+ params = {
24864
+ projectId: paramsOrFirst,
24865
+ keyId: rest[0],
24866
+ };
24867
+ }
24868
+ const projectId = params.projectId;
24869
+ const keyId = params.keyId;
24870
+ if (typeof projectId === 'undefined' || projectId === '') {
24871
+ throw new AppwriteException('Missing required parameter: "projectId"');
24872
+ }
24873
+ if (typeof keyId === 'undefined' || keyId === '') {
24874
+ throw new AppwriteException('Missing required parameter: "keyId"');
24875
+ }
24876
+ const apiPath = '/organization/projects/{projectId}/keys/{keyId}'
24877
+ .replace('{projectId}', encodeURIComponent(String(projectId)))
24878
+ .replace('{keyId}', encodeURIComponent(String(keyId)));
24879
+ const payload = {};
24880
+ const uri = new URL(this.client.config.endpoint + apiPath);
24881
+ const apiHeaders = {
24882
+ 'X-Appwrite-Project': this.client.config.project,
24883
+ accept: 'application/json',
24884
+ };
24885
+ return this.client.call('get', uri, apiHeaders, payload);
24886
+ }
24887
+ updateProjectKey(paramsOrFirst, ...rest) {
24888
+ let params;
24889
+ if (paramsOrFirst &&
24890
+ typeof paramsOrFirst === 'object' &&
24891
+ !Array.isArray(paramsOrFirst)) {
24892
+ params = (paramsOrFirst || {});
24893
+ }
24894
+ else {
24895
+ params = {
24896
+ projectId: paramsOrFirst,
24897
+ keyId: rest[0],
24898
+ name: rest[1],
24899
+ scopes: rest[2],
24900
+ expire: rest[3],
24901
+ };
24902
+ }
24903
+ const projectId = params.projectId;
24904
+ const keyId = params.keyId;
24905
+ const name = params.name;
24906
+ const scopes = params.scopes;
24907
+ const expire = params.expire;
24908
+ if (typeof projectId === 'undefined' || projectId === '') {
24909
+ throw new AppwriteException('Missing required parameter: "projectId"');
24910
+ }
24911
+ if (typeof keyId === 'undefined' || keyId === '') {
24912
+ throw new AppwriteException('Missing required parameter: "keyId"');
24913
+ }
24914
+ if (typeof name === 'undefined') {
24915
+ throw new AppwriteException('Missing required parameter: "name"');
24916
+ }
24917
+ if (typeof scopes === 'undefined') {
24918
+ throw new AppwriteException('Missing required parameter: "scopes"');
24919
+ }
24920
+ const apiPath = '/organization/projects/{projectId}/keys/{keyId}'
24921
+ .replace('{projectId}', encodeURIComponent(String(projectId)))
24922
+ .replace('{keyId}', encodeURIComponent(String(keyId)));
24923
+ const payload = {};
24924
+ if (typeof name !== 'undefined') {
24925
+ payload['name'] = name;
24926
+ }
24927
+ if (typeof scopes !== 'undefined') {
24928
+ payload['scopes'] = scopes;
24929
+ }
24930
+ if (typeof expire !== 'undefined') {
24931
+ payload['expire'] = expire;
24932
+ }
24933
+ const uri = new URL(this.client.config.endpoint + apiPath);
24934
+ const apiHeaders = {
24935
+ 'X-Appwrite-Project': this.client.config.project,
24936
+ 'content-type': 'application/json',
24937
+ accept: 'application/json',
24938
+ };
24939
+ return this.client.call('put', uri, apiHeaders, payload);
24940
+ }
24941
+ deleteProjectKey(paramsOrFirst, ...rest) {
24942
+ let params;
24943
+ if (paramsOrFirst &&
24944
+ typeof paramsOrFirst === 'object' &&
24945
+ !Array.isArray(paramsOrFirst)) {
24946
+ params = (paramsOrFirst || {});
24947
+ }
24948
+ else {
24949
+ params = {
24950
+ projectId: paramsOrFirst,
24951
+ keyId: rest[0],
24952
+ };
24953
+ }
24954
+ const projectId = params.projectId;
24955
+ const keyId = params.keyId;
24956
+ if (typeof projectId === 'undefined' || projectId === '') {
24957
+ throw new AppwriteException('Missing required parameter: "projectId"');
24958
+ }
24959
+ if (typeof keyId === 'undefined' || keyId === '') {
24960
+ throw new AppwriteException('Missing required parameter: "keyId"');
24961
+ }
24962
+ const apiPath = '/organization/projects/{projectId}/keys/{keyId}'
24963
+ .replace('{projectId}', encodeURIComponent(String(projectId)))
24964
+ .replace('{keyId}', encodeURIComponent(String(keyId)));
24965
+ const payload = {};
24966
+ const uri = new URL(this.client.config.endpoint + apiPath);
24967
+ const apiHeaders = {
24968
+ 'X-Appwrite-Project': this.client.config.project,
24969
+ 'content-type': 'application/json',
24970
+ accept: 'application/json',
24971
+ };
24972
+ return this.client.call('delete', uri, apiHeaders, payload);
24973
+ }
24179
24974
  }
24180
24975
 
24181
24976
  class Organizations {
@@ -25505,32 +26300,6 @@ class Organizations {
25505
26300
  };
25506
26301
  return this.client.call('patch', uri, apiHeaders, payload);
25507
26302
  }
25508
- cancelDowngrade(paramsOrFirst) {
25509
- let params;
25510
- if (paramsOrFirst &&
25511
- typeof paramsOrFirst === 'object' &&
25512
- !Array.isArray(paramsOrFirst)) {
25513
- params = (paramsOrFirst || {});
25514
- }
25515
- else {
25516
- params = {
25517
- organizationId: paramsOrFirst,
25518
- };
25519
- }
25520
- const organizationId = params.organizationId;
25521
- if (typeof organizationId === 'undefined' || organizationId === '') {
25522
- throw new AppwriteException('Missing required parameter: "organizationId"');
25523
- }
25524
- const apiPath = '/organizations/{organizationId}/plan/cancel'.replace('{organizationId}', encodeURIComponent(String(organizationId)));
25525
- const payload = {};
25526
- const uri = new URL(this.client.config.endpoint + apiPath);
25527
- const apiHeaders = {
25528
- 'X-Appwrite-Project': this.client.config.project,
25529
- 'content-type': 'application/json',
25530
- accept: 'application/json',
25531
- };
25532
- return this.client.call('patch', uri, apiHeaders, payload);
25533
- }
25534
26303
  createPlanEstimation(paramsOrFirst, ...rest) {
25535
26304
  let params;
25536
26305
  if (paramsOrFirst &&
@@ -28084,14 +28853,18 @@ class Project {
28084
28853
  keyId: rest[0],
28085
28854
  teamId: rest[1],
28086
28855
  p8File: rest[2],
28087
- enabled: rest[3],
28856
+ nativeClientIds: rest[3],
28857
+ enabled: rest[4],
28858
+ nativeEnabled: rest[5],
28088
28859
  };
28089
28860
  }
28090
28861
  const serviceId = params.serviceId;
28091
28862
  const keyId = params.keyId;
28092
28863
  const teamId = params.teamId;
28093
28864
  const p8File = params.p8File;
28865
+ const nativeClientIds = params.nativeClientIds;
28094
28866
  const enabled = params.enabled;
28867
+ const nativeEnabled = params.nativeEnabled;
28095
28868
  const apiPath = '/project/oauth2/apple';
28096
28869
  const payload = {};
28097
28870
  if (typeof serviceId !== 'undefined') {
@@ -28106,9 +28879,15 @@ class Project {
28106
28879
  if (typeof p8File !== 'undefined') {
28107
28880
  payload['p8File'] = p8File;
28108
28881
  }
28882
+ if (typeof nativeClientIds !== 'undefined') {
28883
+ payload['nativeClientIds'] = nativeClientIds;
28884
+ }
28109
28885
  if (typeof enabled !== 'undefined') {
28110
28886
  payload['enabled'] = enabled;
28111
28887
  }
28888
+ if (typeof nativeEnabled !== 'undefined') {
28889
+ payload['nativeEnabled'] = nativeEnabled;
28890
+ }
28112
28891
  const uri = new URL(this.client.config.endpoint + apiPath);
28113
28892
  const apiHeaders = {
28114
28893
  'X-Appwrite-Project': this.client.config.project,
@@ -28167,12 +28946,14 @@ class Project {
28167
28946
  clientId: paramsOrFirst,
28168
28947
  clientSecret: rest[0],
28169
28948
  endpoint: rest[1],
28170
- enabled: rest[2],
28949
+ prompt: rest[2],
28950
+ enabled: rest[3],
28171
28951
  };
28172
28952
  }
28173
28953
  const clientId = params.clientId;
28174
28954
  const clientSecret = params.clientSecret;
28175
28955
  const endpoint = params.endpoint;
28956
+ const prompt = params.prompt;
28176
28957
  const enabled = params.enabled;
28177
28958
  const apiPath = '/project/oauth2/auth0';
28178
28959
  const payload = {};
@@ -28185,6 +28966,9 @@ class Project {
28185
28966
  if (typeof endpoint !== 'undefined') {
28186
28967
  payload['endpoint'] = endpoint;
28187
28968
  }
28969
+ if (typeof prompt !== 'undefined') {
28970
+ payload['prompt'] = prompt;
28971
+ }
28188
28972
  if (typeof enabled !== 'undefined') {
28189
28973
  payload['enabled'] = enabled;
28190
28974
  }
@@ -28472,11 +29256,13 @@ class Project {
28472
29256
  params = {
28473
29257
  clientId: paramsOrFirst,
28474
29258
  clientSecret: rest[0],
28475
- enabled: rest[1],
29259
+ prompt: rest[1],
29260
+ enabled: rest[2],
28476
29261
  };
28477
29262
  }
28478
29263
  const clientId = params.clientId;
28479
29264
  const clientSecret = params.clientSecret;
29265
+ const prompt = params.prompt;
28480
29266
  const enabled = params.enabled;
28481
29267
  const apiPath = '/project/oauth2/discord';
28482
29268
  const payload = {};
@@ -28486,6 +29272,9 @@ class Project {
28486
29272
  if (typeof clientSecret !== 'undefined') {
28487
29273
  payload['clientSecret'] = clientSecret;
28488
29274
  }
29275
+ if (typeof prompt !== 'undefined') {
29276
+ payload['prompt'] = prompt;
29277
+ }
28489
29278
  if (typeof enabled !== 'undefined') {
28490
29279
  payload['enabled'] = enabled;
28491
29280
  }
@@ -28736,11 +29525,13 @@ class Project {
28736
29525
  params = {
28737
29526
  clientId: paramsOrFirst,
28738
29527
  clientSecret: rest[0],
28739
- enabled: rest[1],
29528
+ prompt: rest[1],
29529
+ enabled: rest[2],
28740
29530
  };
28741
29531
  }
28742
29532
  const clientId = params.clientId;
28743
29533
  const clientSecret = params.clientSecret;
29534
+ const prompt = params.prompt;
28744
29535
  const enabled = params.enabled;
28745
29536
  const apiPath = '/project/oauth2/github';
28746
29537
  const payload = {};
@@ -28750,6 +29541,9 @@ class Project {
28750
29541
  if (typeof clientSecret !== 'undefined') {
28751
29542
  payload['clientSecret'] = clientSecret;
28752
29543
  }
29544
+ if (typeof prompt !== 'undefined') {
29545
+ payload['prompt'] = prompt;
29546
+ }
28753
29547
  if (typeof enabled !== 'undefined') {
28754
29548
  payload['enabled'] = enabled;
28755
29549
  }
@@ -28816,13 +29610,17 @@ class Project {
28816
29610
  clientId: paramsOrFirst,
28817
29611
  clientSecret: rest[0],
28818
29612
  prompt: rest[1],
28819
- enabled: rest[2],
29613
+ nativeClientIds: rest[2],
29614
+ enabled: rest[3],
29615
+ nativeEnabled: rest[4],
28820
29616
  };
28821
29617
  }
28822
29618
  const clientId = params.clientId;
28823
29619
  const clientSecret = params.clientSecret;
28824
29620
  const prompt = params.prompt;
29621
+ const nativeClientIds = params.nativeClientIds;
28825
29622
  const enabled = params.enabled;
29623
+ const nativeEnabled = params.nativeEnabled;
28826
29624
  const apiPath = '/project/oauth2/google';
28827
29625
  const payload = {};
28828
29626
  if (typeof clientId !== 'undefined') {
@@ -28834,9 +29632,15 @@ class Project {
28834
29632
  if (typeof prompt !== 'undefined') {
28835
29633
  payload['prompt'] = prompt;
28836
29634
  }
29635
+ if (typeof nativeClientIds !== 'undefined') {
29636
+ payload['nativeClientIds'] = nativeClientIds;
29637
+ }
28837
29638
  if (typeof enabled !== 'undefined') {
28838
29639
  payload['enabled'] = enabled;
28839
29640
  }
29641
+ if (typeof nativeEnabled !== 'undefined') {
29642
+ payload['nativeEnabled'] = nativeEnabled;
29643
+ }
28840
29644
  const uri = new URL(this.client.config.endpoint + apiPath);
28841
29645
  const apiHeaders = {
28842
29646
  'X-Appwrite-Project': this.client.config.project,
@@ -28894,11 +29698,13 @@ class Project {
28894
29698
  params = {
28895
29699
  clientId: paramsOrFirst,
28896
29700
  clientSecret: rest[0],
28897
- enabled: rest[1],
29701
+ prompt: rest[1],
29702
+ enabled: rest[2],
28898
29703
  };
28899
29704
  }
28900
29705
  const clientId = params.clientId;
28901
29706
  const clientSecret = params.clientSecret;
29707
+ const prompt = params.prompt;
28902
29708
  const enabled = params.enabled;
28903
29709
  const apiPath = '/project/oauth2/kakao';
28904
29710
  const payload = {};
@@ -28908,6 +29714,9 @@ class Project {
28908
29714
  if (typeof clientSecret !== 'undefined') {
28909
29715
  payload['clientSecret'] = clientSecret;
28910
29716
  }
29717
+ if (typeof prompt !== 'undefined') {
29718
+ payload['prompt'] = prompt;
29719
+ }
28911
29720
  if (typeof enabled !== 'undefined') {
28912
29721
  payload['enabled'] = enabled;
28913
29722
  }
@@ -29053,12 +29862,14 @@ class Project {
29053
29862
  applicationId: paramsOrFirst,
29054
29863
  applicationSecret: rest[0],
29055
29864
  tenant: rest[1],
29056
- enabled: rest[2],
29865
+ prompt: rest[2],
29866
+ enabled: rest[3],
29057
29867
  };
29058
29868
  }
29059
29869
  const applicationId = params.applicationId;
29060
29870
  const applicationSecret = params.applicationSecret;
29061
29871
  const tenant = params.tenant;
29872
+ const prompt = params.prompt;
29062
29873
  const enabled = params.enabled;
29063
29874
  const apiPath = '/project/oauth2/microsoft';
29064
29875
  const payload = {};
@@ -29071,6 +29882,9 @@ class Project {
29071
29882
  if (typeof tenant !== 'undefined') {
29072
29883
  payload['tenant'] = tenant;
29073
29884
  }
29885
+ if (typeof prompt !== 'undefined') {
29886
+ payload['prompt'] = prompt;
29887
+ }
29074
29888
  if (typeof enabled !== 'undefined') {
29075
29889
  payload['enabled'] = enabled;
29076
29890
  }
@@ -29200,13 +30014,15 @@ class Project {
29200
30014
  clientSecret: rest[0],
29201
30015
  domain: rest[1],
29202
30016
  authorizationServerId: rest[2],
29203
- enabled: rest[3],
30017
+ prompt: rest[3],
30018
+ enabled: rest[4],
29204
30019
  };
29205
30020
  }
29206
30021
  const clientId = params.clientId;
29207
30022
  const clientSecret = params.clientSecret;
29208
30023
  const domain = params.domain;
29209
30024
  const authorizationServerId = params.authorizationServerId;
30025
+ const prompt = params.prompt;
29210
30026
  const enabled = params.enabled;
29211
30027
  const apiPath = '/project/oauth2/okta';
29212
30028
  const payload = {};
@@ -29222,6 +30038,9 @@ class Project {
29222
30038
  if (typeof authorizationServerId !== 'undefined') {
29223
30039
  payload['authorizationServerId'] = authorizationServerId;
29224
30040
  }
30041
+ if (typeof prompt !== 'undefined') {
30042
+ payload['prompt'] = prompt;
30043
+ }
29225
30044
  if (typeof enabled !== 'undefined') {
29226
30045
  payload['enabled'] = enabled;
29227
30046
  }
@@ -29393,11 +30212,13 @@ class Project {
29393
30212
  params = {
29394
30213
  customerKey: paramsOrFirst,
29395
30214
  customerSecret: rest[0],
29396
- enabled: rest[1],
30215
+ prompt: rest[1],
30216
+ enabled: rest[2],
29397
30217
  };
29398
30218
  }
29399
30219
  const customerKey = params.customerKey;
29400
30220
  const customerSecret = params.customerSecret;
30221
+ const prompt = params.prompt;
29401
30222
  const enabled = params.enabled;
29402
30223
  const apiPath = '/project/oauth2/salesforce';
29403
30224
  const payload = {};
@@ -29407,6 +30228,9 @@ class Project {
29407
30228
  if (typeof customerSecret !== 'undefined') {
29408
30229
  payload['customerSecret'] = customerSecret;
29409
30230
  }
30231
+ if (typeof prompt !== 'undefined') {
30232
+ payload['prompt'] = prompt;
30233
+ }
29410
30234
  if (typeof enabled !== 'undefined') {
29411
30235
  payload['enabled'] = enabled;
29412
30236
  }
@@ -29837,11 +30661,13 @@ class Project {
29837
30661
  params = {
29838
30662
  clientId: paramsOrFirst,
29839
30663
  clientSecret: rest[0],
29840
- enabled: rest[1],
30664
+ prompt: rest[1],
30665
+ enabled: rest[2],
29841
30666
  };
29842
30667
  }
29843
30668
  const clientId = params.clientId;
29844
30669
  const clientSecret = params.clientSecret;
30670
+ const prompt = params.prompt;
29845
30671
  const enabled = params.enabled;
29846
30672
  const apiPath = '/project/oauth2/zoho';
29847
30673
  const payload = {};
@@ -29851,6 +30677,9 @@ class Project {
29851
30677
  if (typeof clientSecret !== 'undefined') {
29852
30678
  payload['clientSecret'] = clientSecret;
29853
30679
  }
30680
+ if (typeof prompt !== 'undefined') {
30681
+ payload['prompt'] = prompt;
30682
+ }
29854
30683
  if (typeof enabled !== 'undefined') {
29855
30684
  payload['enabled'] = enabled;
29856
30685
  }
@@ -30770,6 +31599,43 @@ class Project {
30770
31599
  };
30771
31600
  return this.client.call('patch', uri, apiHeaders, payload);
30772
31601
  }
31602
+ updatePasswordPwnedPolicy(paramsOrFirst, ...rest) {
31603
+ let params;
31604
+ if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
31605
+ (paramsOrFirst &&
31606
+ typeof paramsOrFirst === 'object' &&
31607
+ !Array.isArray(paramsOrFirst))) {
31608
+ params = (paramsOrFirst || {});
31609
+ }
31610
+ else {
31611
+ params = {
31612
+ enabled: paramsOrFirst,
31613
+ sessions: rest[0],
31614
+ users: rest[1],
31615
+ };
31616
+ }
31617
+ const enabled = params.enabled;
31618
+ const sessions = params.sessions;
31619
+ const users = params.users;
31620
+ const apiPath = '/project/policies/password-pwned';
31621
+ const payload = {};
31622
+ if (typeof enabled !== 'undefined') {
31623
+ payload['enabled'] = enabled;
31624
+ }
31625
+ if (typeof sessions !== 'undefined') {
31626
+ payload['sessions'] = sessions;
31627
+ }
31628
+ if (typeof users !== 'undefined') {
31629
+ payload['users'] = users;
31630
+ }
31631
+ const uri = new URL(this.client.config.endpoint + apiPath);
31632
+ const apiHeaders = {
31633
+ 'X-Appwrite-Project': this.client.config.project,
31634
+ 'content-type': 'application/json',
31635
+ accept: 'application/json',
31636
+ };
31637
+ return this.client.call('patch', uri, apiHeaders, payload);
31638
+ }
30773
31639
  updatePasswordStrengthPolicy(paramsOrFirst, ...rest) {
30774
31640
  let params;
30775
31641
  if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
@@ -31293,47 +32159,6 @@ class Project {
31293
32159
  };
31294
32160
  return this.client.call('get', uri, apiHeaders, payload);
31295
32161
  }
31296
- getUsage(paramsOrFirst, ...rest) {
31297
- let params;
31298
- if (paramsOrFirst &&
31299
- typeof paramsOrFirst === 'object' &&
31300
- !Array.isArray(paramsOrFirst)) {
31301
- params = (paramsOrFirst || {});
31302
- }
31303
- else {
31304
- params = {
31305
- startDate: paramsOrFirst,
31306
- endDate: rest[0],
31307
- period: rest[1],
31308
- };
31309
- }
31310
- const startDate = params.startDate;
31311
- const endDate = params.endDate;
31312
- const period = params.period;
31313
- if (typeof startDate === 'undefined') {
31314
- throw new AppwriteException('Missing required parameter: "startDate"');
31315
- }
31316
- if (typeof endDate === 'undefined') {
31317
- throw new AppwriteException('Missing required parameter: "endDate"');
31318
- }
31319
- const apiPath = '/project/usage';
31320
- const payload = {};
31321
- if (typeof startDate !== 'undefined') {
31322
- payload['startDate'] = startDate;
31323
- }
31324
- if (typeof endDate !== 'undefined') {
31325
- payload['endDate'] = endDate;
31326
- }
31327
- if (typeof period !== 'undefined') {
31328
- payload['period'] = period;
31329
- }
31330
- const uri = new URL(this.client.config.endpoint + apiPath);
31331
- const apiHeaders = {
31332
- 'X-Appwrite-Project': this.client.config.project,
31333
- accept: 'application/json',
31334
- };
31335
- return this.client.call('get', uri, apiHeaders, payload);
31336
- }
31337
32162
  listVariables(paramsOrFirst, ...rest) {
31338
32163
  let params;
31339
32164
  if ((typeof paramsOrFirst === 'undefined' && rest.length === 0) ||
@@ -31720,150 +32545,6 @@ class Projects {
31720
32545
  };
31721
32546
  return this.client.call('patch', uri, apiHeaders, payload);
31722
32547
  }
31723
- listDevKeys(paramsOrFirst, ...rest) {
31724
- let params;
31725
- if (paramsOrFirst &&
31726
- typeof paramsOrFirst === 'object' &&
31727
- !Array.isArray(paramsOrFirst)) {
31728
- params = (paramsOrFirst || {});
31729
- }
31730
- else {
31731
- params = {
31732
- projectId: paramsOrFirst,
31733
- queries: rest[0],
31734
- };
31735
- }
31736
- const projectId = params.projectId;
31737
- const queries = params.queries;
31738
- if (typeof projectId === 'undefined' || projectId === '') {
31739
- throw new AppwriteException('Missing required parameter: "projectId"');
31740
- }
31741
- const apiPath = '/projects/{projectId}/dev-keys'.replace('{projectId}', encodeURIComponent(String(projectId)));
31742
- const payload = {};
31743
- if (typeof queries !== 'undefined') {
31744
- payload['queries'] = queries;
31745
- }
31746
- const uri = new URL(this.client.config.endpoint + apiPath);
31747
- const apiHeaders = {
31748
- 'X-Appwrite-Project': this.client.config.project,
31749
- accept: 'application/json',
31750
- };
31751
- return this.client.call('get', uri, apiHeaders, payload);
31752
- }
31753
- getDevKey(paramsOrFirst, ...rest) {
31754
- let params;
31755
- if (paramsOrFirst &&
31756
- typeof paramsOrFirst === 'object' &&
31757
- !Array.isArray(paramsOrFirst)) {
31758
- params = (paramsOrFirst || {});
31759
- }
31760
- else {
31761
- params = {
31762
- projectId: paramsOrFirst,
31763
- keyId: rest[0],
31764
- };
31765
- }
31766
- const projectId = params.projectId;
31767
- const keyId = params.keyId;
31768
- if (typeof projectId === 'undefined' || projectId === '') {
31769
- throw new AppwriteException('Missing required parameter: "projectId"');
31770
- }
31771
- if (typeof keyId === 'undefined' || keyId === '') {
31772
- throw new AppwriteException('Missing required parameter: "keyId"');
31773
- }
31774
- const apiPath = '/projects/{projectId}/dev-keys/{keyId}'
31775
- .replace('{projectId}', encodeURIComponent(String(projectId)))
31776
- .replace('{keyId}', encodeURIComponent(String(keyId)));
31777
- const payload = {};
31778
- const uri = new URL(this.client.config.endpoint + apiPath);
31779
- const apiHeaders = {
31780
- 'X-Appwrite-Project': this.client.config.project,
31781
- accept: 'application/json',
31782
- };
31783
- return this.client.call('get', uri, apiHeaders, payload);
31784
- }
31785
- updateDevKey(paramsOrFirst, ...rest) {
31786
- let params;
31787
- if (paramsOrFirst &&
31788
- typeof paramsOrFirst === 'object' &&
31789
- !Array.isArray(paramsOrFirst)) {
31790
- params = (paramsOrFirst || {});
31791
- }
31792
- else {
31793
- params = {
31794
- projectId: paramsOrFirst,
31795
- keyId: rest[0],
31796
- name: rest[1],
31797
- expire: rest[2],
31798
- };
31799
- }
31800
- const projectId = params.projectId;
31801
- const keyId = params.keyId;
31802
- const name = params.name;
31803
- const expire = params.expire;
31804
- if (typeof projectId === 'undefined' || projectId === '') {
31805
- throw new AppwriteException('Missing required parameter: "projectId"');
31806
- }
31807
- if (typeof keyId === 'undefined' || keyId === '') {
31808
- throw new AppwriteException('Missing required parameter: "keyId"');
31809
- }
31810
- if (typeof name === 'undefined') {
31811
- throw new AppwriteException('Missing required parameter: "name"');
31812
- }
31813
- if (typeof expire === 'undefined') {
31814
- throw new AppwriteException('Missing required parameter: "expire"');
31815
- }
31816
- const apiPath = '/projects/{projectId}/dev-keys/{keyId}'
31817
- .replace('{projectId}', encodeURIComponent(String(projectId)))
31818
- .replace('{keyId}', encodeURIComponent(String(keyId)));
31819
- const payload = {};
31820
- if (typeof name !== 'undefined') {
31821
- payload['name'] = name;
31822
- }
31823
- if (typeof expire !== 'undefined') {
31824
- payload['expire'] = expire;
31825
- }
31826
- const uri = new URL(this.client.config.endpoint + apiPath);
31827
- const apiHeaders = {
31828
- 'X-Appwrite-Project': this.client.config.project,
31829
- 'content-type': 'application/json',
31830
- accept: 'application/json',
31831
- };
31832
- return this.client.call('put', uri, apiHeaders, payload);
31833
- }
31834
- deleteDevKey(paramsOrFirst, ...rest) {
31835
- let params;
31836
- if (paramsOrFirst &&
31837
- typeof paramsOrFirst === 'object' &&
31838
- !Array.isArray(paramsOrFirst)) {
31839
- params = (paramsOrFirst || {});
31840
- }
31841
- else {
31842
- params = {
31843
- projectId: paramsOrFirst,
31844
- keyId: rest[0],
31845
- };
31846
- }
31847
- const projectId = params.projectId;
31848
- const keyId = params.keyId;
31849
- if (typeof projectId === 'undefined' || projectId === '') {
31850
- throw new AppwriteException('Missing required parameter: "projectId"');
31851
- }
31852
- if (typeof keyId === 'undefined' || keyId === '') {
31853
- throw new AppwriteException('Missing required parameter: "keyId"');
31854
- }
31855
- const apiPath = '/projects/{projectId}/dev-keys/{keyId}'
31856
- .replace('{projectId}', encodeURIComponent(String(projectId)))
31857
- .replace('{keyId}', encodeURIComponent(String(keyId)));
31858
- const payload = {};
31859
- const uri = new URL(this.client.config.endpoint + apiPath);
31860
- const apiHeaders = {
31861
- 'X-Appwrite-Project': this.client.config.project,
31862
- 'content-type': 'application/json',
31863
- accept: 'application/json',
31864
- };
31865
- return this.client.call('delete', uri, apiHeaders, payload);
31866
- }
31867
32548
  listSchedules(paramsOrFirst, ...rest) {
31868
32549
  let params;
31869
32550
  if (paramsOrFirst &&
@@ -37086,6 +37767,55 @@ class TablesDB {
37086
37767
  };
37087
37768
  return this.client.call('post', uri, apiHeaders, payload);
37088
37769
  }
37770
+ updateRelationshipColumn(paramsOrFirst, ...rest) {
37771
+ let params;
37772
+ if (paramsOrFirst &&
37773
+ typeof paramsOrFirst === 'object' &&
37774
+ !Array.isArray(paramsOrFirst)) {
37775
+ params = (paramsOrFirst || {});
37776
+ }
37777
+ else {
37778
+ params = {
37779
+ databaseId: paramsOrFirst,
37780
+ tableId: rest[0],
37781
+ key: rest[1],
37782
+ onDelete: rest[2],
37783
+ newKey: rest[3],
37784
+ };
37785
+ }
37786
+ const databaseId = params.databaseId;
37787
+ const tableId = params.tableId;
37788
+ const key = params.key;
37789
+ const onDelete = params.onDelete;
37790
+ const newKey = params.newKey;
37791
+ if (typeof databaseId === 'undefined' || databaseId === '') {
37792
+ throw new AppwriteException('Missing required parameter: "databaseId"');
37793
+ }
37794
+ if (typeof tableId === 'undefined' || tableId === '') {
37795
+ throw new AppwriteException('Missing required parameter: "tableId"');
37796
+ }
37797
+ if (typeof key === 'undefined' || key === '') {
37798
+ throw new AppwriteException('Missing required parameter: "key"');
37799
+ }
37800
+ const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/relationship/{key}'
37801
+ .replace('{databaseId}', encodeURIComponent(String(databaseId)))
37802
+ .replace('{tableId}', encodeURIComponent(String(tableId)))
37803
+ .replace('{key}', encodeURIComponent(String(key)));
37804
+ const payload = {};
37805
+ if (typeof onDelete !== 'undefined') {
37806
+ payload['onDelete'] = onDelete;
37807
+ }
37808
+ if (typeof newKey !== 'undefined') {
37809
+ payload['newKey'] = newKey;
37810
+ }
37811
+ const uri = new URL(this.client.config.endpoint + apiPath);
37812
+ const apiHeaders = {
37813
+ 'X-Appwrite-Project': this.client.config.project,
37814
+ 'content-type': 'application/json',
37815
+ accept: 'application/json',
37816
+ };
37817
+ return this.client.call('patch', uri, apiHeaders, payload);
37818
+ }
37089
37819
  createStringColumn(paramsOrFirst, ...rest) {
37090
37820
  let params;
37091
37821
  if (paramsOrFirst &&
@@ -37680,55 +38410,6 @@ class TablesDB {
37680
38410
  };
37681
38411
  return this.client.call('delete', uri, apiHeaders, payload);
37682
38412
  }
37683
- updateRelationshipColumn(paramsOrFirst, ...rest) {
37684
- let params;
37685
- if (paramsOrFirst &&
37686
- typeof paramsOrFirst === 'object' &&
37687
- !Array.isArray(paramsOrFirst)) {
37688
- params = (paramsOrFirst || {});
37689
- }
37690
- else {
37691
- params = {
37692
- databaseId: paramsOrFirst,
37693
- tableId: rest[0],
37694
- key: rest[1],
37695
- onDelete: rest[2],
37696
- newKey: rest[3],
37697
- };
37698
- }
37699
- const databaseId = params.databaseId;
37700
- const tableId = params.tableId;
37701
- const key = params.key;
37702
- const onDelete = params.onDelete;
37703
- const newKey = params.newKey;
37704
- if (typeof databaseId === 'undefined' || databaseId === '') {
37705
- throw new AppwriteException('Missing required parameter: "databaseId"');
37706
- }
37707
- if (typeof tableId === 'undefined' || tableId === '') {
37708
- throw new AppwriteException('Missing required parameter: "tableId"');
37709
- }
37710
- if (typeof key === 'undefined' || key === '') {
37711
- throw new AppwriteException('Missing required parameter: "key"');
37712
- }
37713
- const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/columns/{key}/relationship'
37714
- .replace('{databaseId}', encodeURIComponent(String(databaseId)))
37715
- .replace('{tableId}', encodeURIComponent(String(tableId)))
37716
- .replace('{key}', encodeURIComponent(String(key)));
37717
- const payload = {};
37718
- if (typeof onDelete !== 'undefined') {
37719
- payload['onDelete'] = onDelete;
37720
- }
37721
- if (typeof newKey !== 'undefined') {
37722
- payload['newKey'] = newKey;
37723
- }
37724
- const uri = new URL(this.client.config.endpoint + apiPath);
37725
- const apiHeaders = {
37726
- 'X-Appwrite-Project': this.client.config.project,
37727
- 'content-type': 'application/json',
37728
- accept: 'application/json',
37729
- };
37730
- return this.client.call('patch', uri, apiHeaders, payload);
37731
- }
37732
38413
  listIndexes(paramsOrFirst, ...rest) {
37733
38414
  let params;
37734
38415
  if (paramsOrFirst &&
@@ -38875,41 +39556,6 @@ class Teams {
38875
39556
  };
38876
39557
  return this.client.call('delete', uri, apiHeaders, payload);
38877
39558
  }
38878
- listLogs(paramsOrFirst, ...rest) {
38879
- let params;
38880
- if (paramsOrFirst &&
38881
- typeof paramsOrFirst === 'object' &&
38882
- !Array.isArray(paramsOrFirst)) {
38883
- params = (paramsOrFirst || {});
38884
- }
38885
- else {
38886
- params = {
38887
- teamId: paramsOrFirst,
38888
- queries: rest[0],
38889
- total: rest[1],
38890
- };
38891
- }
38892
- const teamId = params.teamId;
38893
- const queries = params.queries;
38894
- const total = params.total;
38895
- if (typeof teamId === 'undefined' || teamId === '') {
38896
- throw new AppwriteException('Missing required parameter: "teamId"');
38897
- }
38898
- const apiPath = '/teams/{teamId}/logs'.replace('{teamId}', encodeURIComponent(String(teamId)));
38899
- const payload = {};
38900
- if (typeof queries !== 'undefined') {
38901
- payload['queries'] = queries;
38902
- }
38903
- if (typeof total !== 'undefined') {
38904
- payload['total'] = total;
38905
- }
38906
- const uri = new URL(this.client.config.endpoint + apiPath);
38907
- const apiHeaders = {
38908
- 'X-Appwrite-Project': this.client.config.project,
38909
- accept: 'application/json',
38910
- };
38911
- return this.client.call('get', uri, apiHeaders, payload);
38912
- }
38913
39559
  listMemberships(paramsOrFirst, ...rest) {
38914
39560
  let params;
38915
39561
  if (paramsOrFirst &&
@@ -40357,41 +41003,6 @@ class Users {
40357
41003
  };
40358
41004
  return this.client.call('put', uri, apiHeaders, payload);
40359
41005
  }
40360
- listLogs(paramsOrFirst, ...rest) {
40361
- let params;
40362
- if (paramsOrFirst &&
40363
- typeof paramsOrFirst === 'object' &&
40364
- !Array.isArray(paramsOrFirst)) {
40365
- params = (paramsOrFirst || {});
40366
- }
40367
- else {
40368
- params = {
40369
- userId: paramsOrFirst,
40370
- queries: rest[0],
40371
- total: rest[1],
40372
- };
40373
- }
40374
- const userId = params.userId;
40375
- const queries = params.queries;
40376
- const total = params.total;
40377
- if (typeof userId === 'undefined' || userId === '') {
40378
- throw new AppwriteException('Missing required parameter: "userId"');
40379
- }
40380
- const apiPath = '/users/{userId}/logs'.replace('{userId}', encodeURIComponent(String(userId)));
40381
- const payload = {};
40382
- if (typeof queries !== 'undefined') {
40383
- payload['queries'] = queries;
40384
- }
40385
- if (typeof total !== 'undefined') {
40386
- payload['total'] = total;
40387
- }
40388
- const uri = new URL(this.client.config.endpoint + apiPath);
40389
- const apiHeaders = {
40390
- 'X-Appwrite-Project': this.client.config.project,
40391
- accept: 'application/json',
40392
- };
40393
- return this.client.call('get', uri, apiHeaders, payload);
40394
- }
40395
41006
  listMemberships(paramsOrFirst, ...rest) {
40396
41007
  let params;
40397
41008
  if (paramsOrFirst &&
@@ -45039,6 +45650,571 @@ class Realtime {
45039
45650
  }
45040
45651
  }
45041
45652
 
45653
+ // Fixed connection tuning — not exposed as options.
45654
+ const KEEP_ALIVE_SECONDS = 60;
45655
+ const RECONNECT_PERIOD_MS = 2000;
45656
+ /**
45657
+ * Appwrite native push service — the Realtime analog over an MQTT broker, without
45658
+ * FCM or APNS. In the browser the transport is MQTT 5 over WebSocket: while the page is
45659
+ * open the connection stays up and each message is handed to your callback, and a
45660
+ * subscription may also opt into a browser notification per message.
45661
+ *
45662
+ * The connection has no tunables — it always keeps its session (clean start off) so the
45663
+ * broker can redeliver missed messages, and reliability is chosen per subscription via
45664
+ * `retry`. `subscribe` opens the connection lazily and returns a
45665
+ * {@link PushSubscription} handle (unlike Realtime's bare unsubscribe callable — Push
45666
+ * carries per-subscription state). The credential is read off the client — set a JWT or
45667
+ * session on it (`Client.setJWT` / `Client.setSession`), the same way every other service
45668
+ * reads auth.
45669
+ *
45670
+ * const client = new Client().setEndpoint(...).setProject(...).setJWT(jwt);
45671
+ * const push = new Push(client);
45672
+ * const sub = await push.subscribe('user/123/#', (m) =>
45673
+ * console.log(m.topic, m.data),
45674
+ * );
45675
+ * // sub.update({ background: true }); sub.unsubscribe();
45676
+ */
45677
+ class Push extends Service {
45678
+ constructor(client) {
45679
+ super(client);
45680
+ this.mqtt = null;
45681
+ this.connecting = null;
45682
+ /** Set once the first CONNACK lands, so 'connect' events after are reconnects. */
45683
+ this.everConnected = false;
45684
+ /** Errors already handed to onError, so one failure is reported once. */
45685
+ this.reported = new WeakSet();
45686
+ /** mqtt.js connect errors mapped to the error handed out for them (see connectError). */
45687
+ this.connectErrors = new WeakMap();
45688
+ /** True while the first connect is in flight: its errors go to the waiting caller. */
45689
+ this.opening = false;
45690
+ // Local id -> subscription state. The id is never sent to the broker; it only lets
45691
+ // the same topic carry more than one callback (each with its own options).
45692
+ /**
45693
+ * The client id when the credential names no user (and none was set): random, but kept for
45694
+ * this instance so reconnects resume the same broker session.
45695
+ */
45696
+ this.fallbackClientId = randomId();
45697
+ this.subscriptions = new Map();
45698
+ }
45699
+ // The broker subscription for a filter uses the highest QoS any local subscription on
45700
+ // it wants, so a QoS-0 subscription never downgrades a QoS-1 one sharing the filter.
45701
+ effectiveQos(filter) {
45702
+ for (const sub of this.subscriptions.values()) {
45703
+ if (sub.topic === filter && sub.qos === 1) {
45704
+ return 1;
45705
+ }
45706
+ }
45707
+ return 0;
45708
+ }
45709
+ /** Register a callback invoked when the connection opens (CONNACK success). */
45710
+ onOpen(callback) {
45711
+ this.onOpenCb = callback;
45712
+ return this;
45713
+ }
45714
+ /** Register a callback invoked when the connection closes. */
45715
+ onClose(callback) {
45716
+ this.onCloseCb = callback;
45717
+ return this;
45718
+ }
45719
+ /** Register a callback invoked on a connection error. */
45720
+ onError(callback) {
45721
+ this.onErrorCb = callback;
45722
+ return this;
45723
+ }
45724
+ /**
45725
+ * The signed-in user's own topic, `users/<userId>`, for a topic-less subscribe. The id comes
45726
+ * from the credential the connection authenticates with: the JWT when one is set (never
45727
+ * the session, which could belong to a different user), else the session.
45728
+ */
45729
+ userTopic() {
45730
+ const { jwt, session } = this.client.config;
45731
+ const userId = jwt ? userIdFromJwt(jwt) : userIdFromSession(session);
45732
+ if (!userId) {
45733
+ throw new Error('subscribe() without a topic needs a signed-in user: set a JWT or session on the client');
45734
+ }
45735
+ return `users/${userId}`;
45736
+ }
45737
+ /**
45738
+ * Hand an error to the onError callback, once per error. These errors happen outside any
45739
+ * call (reconnects, broker DISCONNECTs, background re-subscribes), so they are never
45740
+ * thrown, which would crash the app from inside mqtt.js: with no callback registered
45741
+ * they are logged, like Realtime does.
45742
+ */
45743
+ report(error) {
45744
+ const err = toError(error);
45745
+ if (this.reported.has(err)) {
45746
+ return;
45747
+ }
45748
+ this.reported.add(err);
45749
+ if (!this.onErrorCb) {
45750
+ console.error('Appwrite Push error:', err);
45751
+ return;
45752
+ }
45753
+ try {
45754
+ this.onErrorCb(err);
45755
+ }
45756
+ catch (callbackError) {
45757
+ console.error('Appwrite Push onError threw:', callbackError);
45758
+ }
45759
+ }
45760
+ /**
45761
+ * For a call that fails to its caller: report the error to onError when a callback is
45762
+ * registered, then throw it to the caller, who can catch it.
45763
+ */
45764
+ fail(error) {
45765
+ const err = toError(error);
45766
+ if (this.onErrorCb) {
45767
+ this.report(err);
45768
+ }
45769
+ throw err;
45770
+ }
45771
+ subscribe(topicsOrCallback_1, callbackOrOptions_1) {
45772
+ return __awaiter(this, arguments, void 0, function* (topicsOrCallback, callbackOrOptions, topicOptions = {}) {
45773
+ // Every failure reaches onError (when registered) and is thrown to the caller.
45774
+ try {
45775
+ return yield this.subscribeWith(topicsOrCallback, callbackOrOptions, topicOptions);
45776
+ }
45777
+ catch (err) {
45778
+ this.fail(err);
45779
+ }
45780
+ });
45781
+ }
45782
+ subscribeWith(topicsOrCallback, callbackOrOptions, topicOptions) {
45783
+ return __awaiter(this, void 0, void 0, function* () {
45784
+ var _a, _b;
45785
+ // Topic-less form: subscribe(callback, options) targets the signed-in user's topic.
45786
+ const userForm = typeof topicsOrCallback === 'function';
45787
+ const topics = userForm ? this.userTopic() : topicsOrCallback;
45788
+ const callback = (userForm ? topicsOrCallback : callbackOrOptions);
45789
+ const options = (userForm ? (callbackOrOptions !== null && callbackOrOptions !== void 0 ? callbackOrOptions : {}) : topicOptions);
45790
+ const topicList = (Array.isArray(topics) ? topics : [topics]).map((topic) => topic.toString());
45791
+ // The user topic defaults to background delivery, like FCM/APNs; topics default off.
45792
+ const background = (_a = options.background) !== null && _a !== void 0 ? _a : userForm;
45793
+ const qos = ((_b = options.retry) !== null && _b !== void 0 ? _b : true) ? 1 : 0;
45794
+ if (background) {
45795
+ this.requestNotificationPermission();
45796
+ }
45797
+ const client = yield this.connect();
45798
+ const ids = [];
45799
+ const acks = [];
45800
+ for (const topic of topicList) {
45801
+ const id = randomId();
45802
+ ids.push(id);
45803
+ this.subscriptions.set(id, {
45804
+ topic,
45805
+ callback,
45806
+ background,
45807
+ title: options.title,
45808
+ qos,
45809
+ });
45810
+ acks.push(new Promise((resolve, reject) => {
45811
+ client.subscribe(topic, { qos: this.effectiveQos(topic) }, (err) => (err ? reject(err) : resolve()));
45812
+ }));
45813
+ }
45814
+ const unsubscribe = () => {
45815
+ var _a;
45816
+ // Filters whose removed sub was QoS 1: their effective QoS may now drop.
45817
+ const maybeDowngrade = new Set();
45818
+ for (const id of ids) {
45819
+ const entry = this.subscriptions.get(id);
45820
+ this.subscriptions.delete(id);
45821
+ if ((entry === null || entry === void 0 ? void 0 : entry.qos) === 1) {
45822
+ maybeDowngrade.add(entry.topic);
45823
+ }
45824
+ // Only unsubscribe the broker filter once its last local callback is gone.
45825
+ const stillUsed = [...this.subscriptions.values()].some((s) => s.topic === (entry === null || entry === void 0 ? void 0 : entry.topic));
45826
+ if (entry && this.mqtt && !stillUsed) {
45827
+ this.mqtt.unsubscribe(entry.topic, (err) => {
45828
+ if (err) {
45829
+ this.report(err);
45830
+ }
45831
+ });
45832
+ }
45833
+ }
45834
+ // A filter that lost its last QoS-1 sub but still has QoS-0 subs must be
45835
+ // re-SUBSCRIBEd at the lower QoS, or the broker keeps replaying to at-most-once subs.
45836
+ for (const filter of maybeDowngrade) {
45837
+ const stillUsed = [...this.subscriptions.values()].some((s) => s.topic === filter);
45838
+ if (stillUsed && this.effectiveQos(filter) === 0) {
45839
+ (_a = this.mqtt) === null || _a === void 0 ? void 0 : _a.subscribe(filter, { qos: 0 }, (err) => {
45840
+ if (err) {
45841
+ this.report(err);
45842
+ }
45843
+ });
45844
+ }
45845
+ }
45846
+ if (this.subscriptions.size === 0) {
45847
+ this.close();
45848
+ }
45849
+ };
45850
+ // If any topic's subscribe fails, roll this call's registrations back (and drop
45851
+ // any now-unused broker filter) so a failed subscribe leaks no callback, then rethrow.
45852
+ try {
45853
+ yield Promise.all(acks);
45854
+ }
45855
+ catch (err) {
45856
+ unsubscribe();
45857
+ throw err;
45858
+ }
45859
+ const update = (next) => {
45860
+ var _a;
45861
+ const enabling = next.background === true;
45862
+ const changedFilters = new Set();
45863
+ // Remember the pre-update QoS per id so a rejected re-SUBSCRIBE can be rolled back.
45864
+ const previous = new Map();
45865
+ for (const id of ids) {
45866
+ const entry = this.subscriptions.get(id);
45867
+ if (!entry) {
45868
+ continue;
45869
+ }
45870
+ if (next.background !== undefined) {
45871
+ entry.background = next.background;
45872
+ }
45873
+ if (next.title !== undefined) {
45874
+ entry.title = next.title;
45875
+ }
45876
+ if (next.retry !== undefined) {
45877
+ const q = next.retry ? 1 : 0;
45878
+ if (q !== entry.qos) {
45879
+ previous.set(id, entry.qos);
45880
+ entry.qos = q;
45881
+ changedFilters.add(entry.topic);
45882
+ }
45883
+ }
45884
+ }
45885
+ if (enabling) {
45886
+ this.requestNotificationPermission();
45887
+ }
45888
+ // Re-SUBSCRIBE the affected filters at their new effective QoS (a SUBSCRIBE to an
45889
+ // existing filter just updates its QoS — no unsubscribe gap). If the broker rejects
45890
+ // it, the old subscription still stands, so restore the local QoS to match and
45891
+ // surface the error rather than silently assuming the change took effect.
45892
+ for (const filter of changedFilters) {
45893
+ (_a = this.mqtt) === null || _a === void 0 ? void 0 : _a.subscribe(filter, { qos: this.effectiveQos(filter) }, (err) => {
45894
+ if (!err) {
45895
+ return;
45896
+ }
45897
+ for (const [id, q] of previous) {
45898
+ const entry = this.subscriptions.get(id);
45899
+ if (entry && entry.topic === filter) {
45900
+ entry.qos = q;
45901
+ }
45902
+ }
45903
+ this.report(err);
45904
+ });
45905
+ }
45906
+ };
45907
+ return { unsubscribe, update };
45908
+ });
45909
+ }
45910
+ /** Tear down the connection and drop all active subscriptions. */
45911
+ close() {
45912
+ if (this.mqtt) {
45913
+ this.mqtt.end(true);
45914
+ this.mqtt = null;
45915
+ }
45916
+ this.connecting = null;
45917
+ this.everConnected = false;
45918
+ this.subscriptions.clear();
45919
+ }
45920
+ /**
45921
+ * Re-register every active subscription. Called on each reconnect so a client that
45922
+ * reconnects with a fresh (or cleared) session does not silently stop receiving;
45923
+ * re-subscribing an existing filter is idempotent.
45924
+ */
45925
+ resubscribeAll() {
45926
+ const client = this.mqtt;
45927
+ if (!client) {
45928
+ return;
45929
+ }
45930
+ const filters = new Set([...this.subscriptions.values()].map((s) => s.topic));
45931
+ for (const filter of filters) {
45932
+ client.subscribe(filter, { qos: this.effectiveQos(filter) }, (err) => {
45933
+ if (err) {
45934
+ this.report(err);
45935
+ }
45936
+ });
45937
+ }
45938
+ }
45939
+ // --- internals ---
45940
+ connect() {
45941
+ if (this.mqtt) {
45942
+ return Promise.resolve(this.mqtt);
45943
+ }
45944
+ if (!this.connecting) {
45945
+ this.connecting = this.open();
45946
+ // A failed open must not poison future attempts — clear the cached
45947
+ // in-flight promise so a later subscribe/publish can retry.
45948
+ this.connecting.catch(() => {
45949
+ this.connecting = null;
45950
+ });
45951
+ }
45952
+ return this.connecting.then(() => this.mqtt);
45953
+ }
45954
+ endpointUrl() {
45955
+ // The push endpoint set on the client (Client.setPushEndpoint) wins.
45956
+ if (this.client.config.endpointPush !== '') {
45957
+ return this.client.config.endpointPush;
45958
+ }
45959
+ // Otherwise default to a `push.` host on the regular API endpoint (not the
45960
+ // independently-configurable realtime endpoint), scheme switched to ws/wss.
45961
+ const wsEndpoint = this.client.config.endpoint
45962
+ .replace('https://', 'wss://')
45963
+ .replace('http://', 'ws://');
45964
+ // Prefix the host with `push.` (scheme://host/path -> scheme://push.host/path).
45965
+ const separator = '://';
45966
+ const at = wsEndpoint.indexOf(separator);
45967
+ return at === -1
45968
+ ? wsEndpoint
45969
+ : `${wsEndpoint.slice(0, at + separator.length)}push.${wsEndpoint.slice(at + separator.length)}`;
45970
+ }
45971
+ open() {
45972
+ return __awaiter(this, void 0, void 0, function* () {
45973
+ var _a;
45974
+ // Read the credential set on the client (via Client.setJWT / setSession).
45975
+ let authMethod;
45976
+ let credential;
45977
+ if (this.client.config.jwt) {
45978
+ authMethod = 'appwrite-jwt';
45979
+ credential = this.client.config.jwt;
45980
+ }
45981
+ else if (this.client.config.session) {
45982
+ authMethod = 'appwrite-session';
45983
+ credential = this.client.config.session;
45984
+ }
45985
+ else {
45986
+ throw new Error('No credential set on the client; call Client.setJWT() or Client.setSession() first.');
45987
+ }
45988
+ const project = (_a = this.client.config.project) !== null && _a !== void 0 ? _a : '';
45989
+ // Client id, when the app did not set one with Client.setPushClientId(). Unlike the
45990
+ // native SDKs (which send an empty id and let the broker derive a stable one), mqtt.js
45991
+ // rejects an empty id with clean start off, so derive a stable per-user id here from the
45992
+ // credential this connection authenticates with: the JWT's userId, or the session's user
45993
+ // id. A stable id keeps the broker's replay cursor resuming across reloads. The
45994
+ // credential itself is never used as the id.
45995
+ const clientId = this.client.config.pushClientId ||
45996
+ (authMethod === 'appwrite-jwt'
45997
+ ? userIdFromJwt(credential)
45998
+ : userIdFromSession(credential)) ||
45999
+ this.fallbackClientId;
46000
+ const options = {
46001
+ clientId,
46002
+ protocolVersion: 5,
46003
+ clean: false, // always keep the session so the broker can replay QoS-1 topics
46004
+ keepalive: KEEP_ALIVE_SECONDS,
46005
+ reconnectPeriod: RECONNECT_PERIOD_MS,
46006
+ manualConnect: true,
46007
+ // Enhanced auth carried in CONNECT properties.
46008
+ properties: {
46009
+ authenticationMethod: authMethod,
46010
+ authenticationData: buffer.Buffer.from(credential),
46011
+ userProperties: { projectId: project },
46012
+ },
46013
+ };
46014
+ const client = mqtt.connect(this.endpointUrl(), options);
46015
+ this.mqtt = client;
46016
+ client.on('message', (_topic, _payload, packet) => {
46017
+ this.dispatch(packet).catch((err) => this.report(err));
46018
+ });
46019
+ // Persistent lifecycle listeners. Re-register every subscription on reconnect
46020
+ // (harmless if the broker resumed our session), and surface the lifecycle to the
46021
+ // caller's onOpen/onClose/onError hooks.
46022
+ client.on('connect', () => {
46023
+ var _a;
46024
+ if (this.everConnected) {
46025
+ this.resubscribeAll();
46026
+ }
46027
+ this.everConnected = true;
46028
+ (_a = this.onOpenCb) === null || _a === void 0 ? void 0 : _a.call(this);
46029
+ });
46030
+ client.on('close', () => { var _a; return (_a = this.onCloseCb) === null || _a === void 0 ? void 0 : _a.call(this); });
46031
+ // The broker explains a refused CONNECT (CONNACK) or a server-initiated DISCONNECT
46032
+ // with an MQTT 5 Reason String. mqtt.js reports only the reason code, so capture the
46033
+ // string off the packet (packetreceive fires before mqtt.js handles it) and hand it
46034
+ // to onError as the error message.
46035
+ let refusedReason;
46036
+ client.on('packetreceive', (packet) => {
46037
+ var _a, _b;
46038
+ if (packet.cmd === 'connack') {
46039
+ refusedReason =
46040
+ ((_a = packet.reasonCode) !== null && _a !== void 0 ? _a : 0) !== 0
46041
+ ? (_b = packet.properties) === null || _b === void 0 ? void 0 : _b.reasonString
46042
+ : undefined;
46043
+ }
46044
+ });
46045
+ client.on('error', (err) => {
46046
+ const error = this.connectError(err, refusedReason);
46047
+ // While the first connect is pending its caller receives the error (and reports it
46048
+ // through fail()); afterwards, e.g. on reconnect, report it here.
46049
+ if (!this.opening) {
46050
+ this.report(error);
46051
+ }
46052
+ });
46053
+ client.on('disconnect', (packet) => {
46054
+ var _a, _b, _c;
46055
+ if (((_a = packet.reasonCode) !== null && _a !== void 0 ? _a : 0) !== 0) {
46056
+ this.report(new Error((_c = (_b = packet.properties) === null || _b === void 0 ? void 0 : _b.reasonString) !== null && _c !== void 0 ? _c : `Disconnected by the broker (reason ${packet.reasonCode})`));
46057
+ }
46058
+ });
46059
+ this.opening = true;
46060
+ yield new Promise((resolve, reject) => {
46061
+ const onConnect = (packet) => {
46062
+ var _a, _b;
46063
+ cleanup();
46064
+ const rc = (_b = (_a = packet.reasonCode) !== null && _a !== void 0 ? _a : packet.returnCode) !== null && _b !== void 0 ? _b : 0;
46065
+ if (rc !== 0) {
46066
+ this.close();
46067
+ reject(new Error(refusedReason !== null && refusedReason !== void 0 ? refusedReason : `MQTT authentication failed (CONNACK reason ${rc})`));
46068
+ }
46069
+ else {
46070
+ resolve();
46071
+ }
46072
+ };
46073
+ const onError = (err) => {
46074
+ cleanup();
46075
+ this.close();
46076
+ reject(this.connectError(err, refusedReason));
46077
+ };
46078
+ const cleanup = () => {
46079
+ this.opening = false;
46080
+ client.removeListener('connect', onConnect);
46081
+ client.removeListener('error', onError);
46082
+ };
46083
+ client.on('connect', onConnect);
46084
+ client.on('error', onError);
46085
+ client.connect();
46086
+ });
46087
+ });
46088
+ }
46089
+ /**
46090
+ * The error for a failed connect: the broker's Reason String when it sent one (a refused
46091
+ * CONNACK), else mqtt.js's error. Memoized so both error listeners hand out the same
46092
+ * object and it is reported once.
46093
+ */
46094
+ connectError(err, reason) {
46095
+ const source = toError(err);
46096
+ let error = this.connectErrors.get(source);
46097
+ if (!error) {
46098
+ error = reason ? new Error(reason) : source;
46099
+ this.connectErrors.set(source, error);
46100
+ }
46101
+ return error;
46102
+ }
46103
+ /** Fan a delivered packet out to every subscription whose filter matches. */
46104
+ dispatch(packet) {
46105
+ return __awaiter(this, void 0, void 0, function* () {
46106
+ const payload = buffer.Buffer.isBuffer(packet.payload)
46107
+ ? packet.payload
46108
+ : buffer.Buffer.from(packet.payload);
46109
+ const message = {
46110
+ topic: packet.topic.toString(),
46111
+ data: new TextDecoder().decode(payload),
46112
+ payload,
46113
+ qos: packet.qos,
46114
+ };
46115
+ for (const sub of this.subscriptions.values()) {
46116
+ if (matches(sub.topic, message.topic)) {
46117
+ yield sub.callback(message);
46118
+ // Notification is per-subscription: only subs that opted in post one,
46119
+ // each with its own title.
46120
+ if (sub.background) {
46121
+ this.notify(message, sub.title);
46122
+ }
46123
+ }
46124
+ }
46125
+ });
46126
+ }
46127
+ requestNotificationPermission() {
46128
+ if (typeof Notification !== 'undefined' &&
46129
+ Notification.permission === 'default') {
46130
+ Promise.resolve(Notification.requestPermission()).catch((err) => this.report(err));
46131
+ }
46132
+ }
46133
+ /** Post a browser notification for a message a background subscription matched. */
46134
+ notify(message, title) {
46135
+ if (typeof Notification === 'undefined' ||
46136
+ Notification.permission !== 'granted') {
46137
+ return;
46138
+ }
46139
+ try {
46140
+ new Notification(title !== null && title !== void 0 ? title : message.topic, {
46141
+ body: message.data,
46142
+ });
46143
+ }
46144
+ catch (_a) {
46145
+ // Some browsers only allow notifications from a service worker; ignore.
46146
+ }
46147
+ }
46148
+ }
46149
+ /** Normalize anything thrown or passed to an error handler into an `Error`. */
46150
+ function toError(error) {
46151
+ return error instanceof Error ? error : new Error(String(error));
46152
+ }
46153
+ /**
46154
+ * The userId claim from an Appwrite JWT, used as the default MQTT client id so the
46155
+ * broker's replay cursor is stable per user. Returns '' when the token is not a decodable JWT
46156
+ * (e.g. a plain string), so the caller can fall back to the session or raw credential.
46157
+ */
46158
+ function userIdFromJwt(jwt) {
46159
+ if (!jwt) {
46160
+ return '';
46161
+ }
46162
+ const parts = jwt.split('.');
46163
+ if (parts.length < 2) {
46164
+ return '';
46165
+ }
46166
+ try {
46167
+ const json = buffer.Buffer.from(parts[1].replace(/-/g, '+').replace(/_/g, '/'), 'base64').toString('utf-8');
46168
+ const payload = JSON.parse(json);
46169
+ return typeof payload.userId === 'string' ? payload.userId : '';
46170
+ }
46171
+ catch (_a) {
46172
+ return '';
46173
+ }
46174
+ }
46175
+ /**
46176
+ * The user id inside a session secret, which is base64 of JSON `{"id": <userId>, "secret": ...}`.
46177
+ * Returns '' when the value is not such a secret.
46178
+ */
46179
+ function userIdFromSession(session) {
46180
+ if (!session) {
46181
+ return '';
46182
+ }
46183
+ try {
46184
+ const payload = JSON.parse(buffer.Buffer.from(session, 'base64').toString('utf-8'));
46185
+ return typeof payload.id === 'string' ? payload.id : '';
46186
+ }
46187
+ catch (_a) {
46188
+ return '';
46189
+ }
46190
+ }
46191
+ /** A hex id, uuid4-like enough for a client-generated client id suffix. */
46192
+ function randomId() {
46193
+ let out = '';
46194
+ for (let i = 0; i < 32; i++) {
46195
+ out += Math.floor(Math.random() * 16).toString(16);
46196
+ }
46197
+ return out;
46198
+ }
46199
+ /** MQTT topic-filter match with '+' (single level) and '#' (multi level). */
46200
+ function matches(filter, topic) {
46201
+ const filterParts = filter.split('/');
46202
+ const topicParts = topic.split('/');
46203
+ for (let i = 0; i < filterParts.length; i++) {
46204
+ const part = filterParts[i];
46205
+ if (part === '#') {
46206
+ return true;
46207
+ }
46208
+ if (i >= topicParts.length) {
46209
+ return false;
46210
+ }
46211
+ if (part !== '+' && part !== topicParts[i]) {
46212
+ return false;
46213
+ }
46214
+ }
46215
+ return filterParts.length === topicParts.length;
46216
+ }
46217
+
45042
46218
  /**
45043
46219
  * Helper class to generate permission strings for resources.
45044
46220
  */
@@ -45187,6 +46363,100 @@ class Role {
45187
46363
  }
45188
46364
  }
45189
46365
 
46366
+ /**
46367
+ * Validate the levels passed to `path()`: a non-empty array of non-empty strings, none holding
46368
+ * the level separator `/` or the wildcards `+` and `#` (use `any()` and `all()` for those).
46369
+ */
46370
+ function levelsOf(levels) {
46371
+ if (!Array.isArray(levels)) {
46372
+ throw new Error("path() expects an array, e.g. path(['user'])");
46373
+ }
46374
+ if (levels.length === 0) {
46375
+ throw new Error('path() needs at least one level');
46376
+ }
46377
+ return levels.map((level, index) => {
46378
+ if (typeof level !== 'string') {
46379
+ const type = level === null ? 'null' : typeof level;
46380
+ throw new Error(`level at index ${index} must be a string, got ${type}`);
46381
+ }
46382
+ if (level === '') {
46383
+ throw new Error(`empty level at index ${index}`);
46384
+ }
46385
+ if (level.includes('/')) {
46386
+ const parts = level
46387
+ .split('/')
46388
+ .map((part) => `'${part}'`)
46389
+ .join(', ');
46390
+ throw new Error(`"${level}" contains "/", split it: path([${parts}])`);
46391
+ }
46392
+ if (level === '+') {
46393
+ throw new Error('"+" is reserved, use any()');
46394
+ }
46395
+ if (level.includes('+')) {
46396
+ throw new Error(`"${level}" contains "+", use any() for wildcards`);
46397
+ }
46398
+ if (level === '#') {
46399
+ throw new Error('"#" is reserved, use all()');
46400
+ }
46401
+ if (level.includes('#')) {
46402
+ throw new Error(`"${level}" contains "#", use all() for wildcards`);
46403
+ }
46404
+ return level;
46405
+ });
46406
+ }
46407
+ /**
46408
+ * Helper to build MQTT topics for `Push`, level by level.
46409
+ *
46410
+ * Topic.path(['user', userId, 'notification']); // "user/123/notification"
46411
+ * Topic.path(['user']).any().path(['notification']); // "user/+/notification"
46412
+ * Topic.path(['org']).any().path(['logs']).all(); // "org/+/logs/#"
46413
+ *
46414
+ * `any()` matches exactly one level and `all()` everything below, at any depth (including the
46415
+ * parent itself). `all()` ends the topic, so it returns a {@link ResolvedTopic}.
46416
+ */
46417
+ class Topic {
46418
+ constructor(levels) {
46419
+ this.levels = levels;
46420
+ }
46421
+ /** Start a topic with the given levels, e.g. `Topic.path(['user', userId])`. */
46422
+ static path(levels) {
46423
+ return new Topic(levelsOf(levels));
46424
+ }
46425
+ /** Start a topic with a single-level wildcard (`+`). */
46426
+ static any() {
46427
+ return new Topic(['+']);
46428
+ }
46429
+ /** The multi-level wildcard alone (`#`): matches every topic. */
46430
+ static all() {
46431
+ return new ResolvedTopic(['#']);
46432
+ }
46433
+ /** Append the given levels. */
46434
+ path(levels) {
46435
+ return new Topic([...this.levels, ...levelsOf(levels)]);
46436
+ }
46437
+ /** Append a single-level wildcard (`+`): matches exactly one level. */
46438
+ any() {
46439
+ return new Topic([...this.levels, '+']);
46440
+ }
46441
+ /** Append the multi-level wildcard (`#`) and end the topic. */
46442
+ all() {
46443
+ return new ResolvedTopic([...this.levels, '#']);
46444
+ }
46445
+ toString() {
46446
+ return this.levels.join('/');
46447
+ }
46448
+ }
46449
+ /** A topic ended by `all()`: nothing can be appended after the `#` wildcard. */
46450
+ class ResolvedTopic {
46451
+ /** @internal Created by {@link Topic.all}. */
46452
+ constructor(levels) {
46453
+ this.levels = levels;
46454
+ }
46455
+ toString() {
46456
+ return this.levels.join('/');
46457
+ }
46458
+ }
46459
+
45190
46460
  function normalize(id) {
45191
46461
  if (id === undefined || id === null) {
45192
46462
  throw new Error('Channel ID is required');
@@ -45591,6 +46861,12 @@ exports.AuthenticationFactor = void 0;
45591
46861
  AuthenticationFactor["Custom"] = "custom";
45592
46862
  })(exports.AuthenticationFactor || (exports.AuthenticationFactor = {}));
45593
46863
 
46864
+ exports.IdTokenProvider = void 0;
46865
+ (function (IdTokenProvider) {
46866
+ IdTokenProvider["Apple"] = "apple";
46867
+ IdTokenProvider["Google"] = "google";
46868
+ })(exports.IdTokenProvider || (exports.IdTokenProvider = {}));
46869
+
45594
46870
  exports.OAuthProvider = void 0;
45595
46871
  (function (OAuthProvider) {
45596
46872
  OAuthProvider["Amazon"] = "amazon";
@@ -46389,7 +47665,6 @@ exports.QuerySuggestionResource = void 0;
46389
47665
  QuerySuggestionResource["Schedules"] = "schedules";
46390
47666
  QuerySuggestionResource["Platforms"] = "platforms";
46391
47667
  QuerySuggestionResource["Keys"] = "keys";
46392
- QuerySuggestionResource["DevKeys"] = "devkeys";
46393
47668
  QuerySuggestionResource["Webhooks"] = "webhooks";
46394
47669
  QuerySuggestionResource["Notifications"] = "notifications";
46395
47670
  QuerySuggestionResource["Certificates"] = "certificates";
@@ -46412,6 +47687,7 @@ exports.QuerySuggestionResource = void 0;
46412
47687
  QuerySuggestionResource["Buckets"] = "buckets";
46413
47688
  QuerySuggestionResource["Providers"] = "providers";
46414
47689
  QuerySuggestionResource["Messages"] = "messages";
47690
+ QuerySuggestionResource["PushLedger"] = "pushledger";
46415
47691
  QuerySuggestionResource["Topics"] = "topics";
46416
47692
  QuerySuggestionResource["Subscribers"] = "subscribers";
46417
47693
  QuerySuggestionResource["Targets"] = "targets";
@@ -46454,13 +47730,11 @@ exports.QuerySuggestionResource = void 0;
46454
47730
  QuerySuggestionResource["Functions"] = "functions";
46455
47731
  QuerySuggestionResource["Sites"] = "sites";
46456
47732
  QuerySuggestionResource["Deployments"] = "deployments";
46457
- QuerySuggestionResource["Executions"] = "executions";
46458
47733
  QuerySuggestionResource["Variables"] = "variables";
46459
47734
  QuerySuggestionResource["Migrations"] = "migrations";
46460
47735
  QuerySuggestionResource["ResourceTokens"] = "resourcetokens";
46461
47736
  QuerySuggestionResource["Transactions"] = "transactions";
46462
47737
  QuerySuggestionResource["TransactionLogs"] = "transactionlogs";
46463
- QuerySuggestionResource["Stats"] = "stats";
46464
47738
  QuerySuggestionResource["DedicatedDatabases"] = "dedicateddatabases";
46465
47739
  QuerySuggestionResource["DedicatedDatabaseConfigs"] = "dedicateddatabaseconfigs";
46466
47740
  QuerySuggestionResource["DedicatedDatabaseRuntimes"] = "dedicateddatabaseruntimes";
@@ -46479,6 +47753,8 @@ exports.ProjectEmailTemplateId = void 0;
46479
47753
  ProjectEmailTemplateId["MfaChallenge"] = "mfaChallenge";
46480
47754
  ProjectEmailTemplateId["SessionAlert"] = "sessionAlert";
46481
47755
  ProjectEmailTemplateId["OtpSession"] = "otpSession";
47756
+ ProjectEmailTemplateId["OtpVerification"] = "otpVerification";
47757
+ ProjectEmailTemplateId["OtpRecovery"] = "otpRecovery";
46482
47758
  })(exports.ProjectEmailTemplateId || (exports.ProjectEmailTemplateId = {}));
46483
47759
 
46484
47760
  exports.ProjectEmailTemplateLocale = void 0;
@@ -46706,6 +47982,9 @@ exports.Runtime = void 0;
46706
47982
  Runtime["Pythonml311"] = "python-ml-3.11";
46707
47983
  Runtime["Pythonml312"] = "python-ml-3.12";
46708
47984
  Runtime["Pythonml313"] = "python-ml-3.13";
47985
+ Runtime["Deno121"] = "deno-1.21";
47986
+ Runtime["Deno124"] = "deno-1.24";
47987
+ Runtime["Deno135"] = "deno-1.35";
46709
47988
  Runtime["Deno140"] = "deno-1.40";
46710
47989
  Runtime["Deno146"] = "deno-1.46";
46711
47990
  Runtime["Deno20"] = "deno-2.0";
@@ -46877,6 +48156,7 @@ exports.ProjectKeyScopes = void 0;
46877
48156
  ProjectKeyScopes["ReportsWrite"] = "reports.write";
46878
48157
  ProjectKeyScopes["PresencesRead"] = "presences.read";
46879
48158
  ProjectKeyScopes["PresencesWrite"] = "presences.write";
48159
+ ProjectKeyScopes["DedicatedDatabasesExecute"] = "dedicatedDatabases.execute";
46880
48160
  ProjectKeyScopes["BackupsPoliciesRead"] = "backups.policies.read";
46881
48161
  ProjectKeyScopes["BackupsPoliciesWrite"] = "backups.policies.write";
46882
48162
  ProjectKeyScopes["ArchivesRead"] = "archives.read";
@@ -46938,6 +48218,17 @@ exports.ExecutionMethod = void 0;
46938
48218
  ExecutionMethod["HEAD"] = "HEAD";
46939
48219
  })(exports.ExecutionMethod || (exports.ExecutionMethod = {}));
46940
48220
 
48221
+ exports.ConversationType = void 0;
48222
+ (function (ConversationType) {
48223
+ ConversationType["Support"] = "support";
48224
+ ConversationType["Feedback"] = "feedback";
48225
+ ConversationType["Docs"] = "docs";
48226
+ ConversationType["Enterprise"] = "enterprise";
48227
+ ConversationType["Startup"] = "startup";
48228
+ ConversationType["Partner"] = "partner";
48229
+ ConversationType["Sponsorship"] = "sponsorship";
48230
+ })(exports.ConversationType || (exports.ConversationType = {}));
48231
+
46941
48232
  exports.BlockResourceType = void 0;
46942
48233
  (function (BlockResourceType) {
46943
48234
  BlockResourceType["Projects"] = "projects";
@@ -46981,7 +48272,6 @@ exports.CacheDatabase = void 0;
46981
48272
  (function (CacheDatabase) {
46982
48273
  CacheDatabase["Console"] = "console";
46983
48274
  CacheDatabase["Project"] = "project";
46984
- CacheDatabase["Logs"] = "logs";
46985
48275
  })(exports.CacheDatabase || (exports.CacheDatabase = {}));
46986
48276
 
46987
48277
  exports.MessagePriority = void 0;
@@ -47095,10 +48385,8 @@ exports.OrganizationKeyScopes = void 0;
47095
48385
  (function (OrganizationKeyScopes) {
47096
48386
  OrganizationKeyScopes["ProjectsRead"] = "projects.read";
47097
48387
  OrganizationKeyScopes["ProjectsWrite"] = "projects.write";
47098
- OrganizationKeyScopes["DevKeysRead"] = "devKeys.read";
47099
- OrganizationKeyScopes["DevKeysWrite"] = "devKeys.write";
47100
- OrganizationKeyScopes["OrganizationKeysRead"] = "organization.keys.read";
47101
- OrganizationKeyScopes["OrganizationKeysWrite"] = "organization.keys.write";
48388
+ OrganizationKeyScopes["OrganizationProjectsKeysRead"] = "organization.projects.keys.read";
48389
+ OrganizationKeyScopes["OrganizationProjectsKeysWrite"] = "organization.projects.keys.write";
47102
48390
  OrganizationKeyScopes["OrganizationInstallationsRead"] = "organization.installations.read";
47103
48391
  OrganizationKeyScopes["OrganizationInstallationsWrite"] = "organization.installations.write";
47104
48392
  OrganizationKeyScopes["OrganizationMembershipsRead"] = "organization.memberships.read";
@@ -47137,6 +48425,24 @@ exports.ProjectAuthMethodId = void 0;
47137
48425
  ProjectAuthMethodId["Phone"] = "phone";
47138
48426
  })(exports.ProjectAuthMethodId || (exports.ProjectAuthMethodId = {}));
47139
48427
 
48428
+ exports.ProjectOAuth2Auth0Prompt = void 0;
48429
+ (function (ProjectOAuth2Auth0Prompt) {
48430
+ ProjectOAuth2Auth0Prompt["None"] = "none";
48431
+ ProjectOAuth2Auth0Prompt["Login"] = "login";
48432
+ ProjectOAuth2Auth0Prompt["Consent"] = "consent";
48433
+ })(exports.ProjectOAuth2Auth0Prompt || (exports.ProjectOAuth2Auth0Prompt = {}));
48434
+
48435
+ exports.ProjectOAuth2DiscordPrompt = void 0;
48436
+ (function (ProjectOAuth2DiscordPrompt) {
48437
+ ProjectOAuth2DiscordPrompt["None"] = "none";
48438
+ ProjectOAuth2DiscordPrompt["Consent"] = "consent";
48439
+ })(exports.ProjectOAuth2DiscordPrompt || (exports.ProjectOAuth2DiscordPrompt = {}));
48440
+
48441
+ exports.ProjectOAuth2GitHubPrompt = void 0;
48442
+ (function (ProjectOAuth2GitHubPrompt) {
48443
+ ProjectOAuth2GitHubPrompt["SelectAccount"] = "select_account";
48444
+ })(exports.ProjectOAuth2GitHubPrompt || (exports.ProjectOAuth2GitHubPrompt = {}));
48445
+
47140
48446
  exports.ProjectOAuth2GooglePrompt = void 0;
47141
48447
  (function (ProjectOAuth2GooglePrompt) {
47142
48448
  ProjectOAuth2GooglePrompt["None"] = "none";
@@ -47144,6 +48450,22 @@ exports.ProjectOAuth2GooglePrompt = void 0;
47144
48450
  ProjectOAuth2GooglePrompt["SelectAccount"] = "select_account";
47145
48451
  })(exports.ProjectOAuth2GooglePrompt || (exports.ProjectOAuth2GooglePrompt = {}));
47146
48452
 
48453
+ exports.ProjectOAuth2KakaoPrompt = void 0;
48454
+ (function (ProjectOAuth2KakaoPrompt) {
48455
+ ProjectOAuth2KakaoPrompt["None"] = "none";
48456
+ ProjectOAuth2KakaoPrompt["Login"] = "login";
48457
+ ProjectOAuth2KakaoPrompt["Create"] = "create";
48458
+ ProjectOAuth2KakaoPrompt["SelectAccount"] = "select_account";
48459
+ })(exports.ProjectOAuth2KakaoPrompt || (exports.ProjectOAuth2KakaoPrompt = {}));
48460
+
48461
+ exports.ProjectOAuth2MicrosoftPrompt = void 0;
48462
+ (function (ProjectOAuth2MicrosoftPrompt) {
48463
+ ProjectOAuth2MicrosoftPrompt["None"] = "none";
48464
+ ProjectOAuth2MicrosoftPrompt["Login"] = "login";
48465
+ ProjectOAuth2MicrosoftPrompt["Consent"] = "consent";
48466
+ ProjectOAuth2MicrosoftPrompt["SelectAccount"] = "select_account";
48467
+ })(exports.ProjectOAuth2MicrosoftPrompt || (exports.ProjectOAuth2MicrosoftPrompt = {}));
48468
+
47147
48469
  exports.ProjectOAuth2OidcPrompt = void 0;
47148
48470
  (function (ProjectOAuth2OidcPrompt) {
47149
48471
  ProjectOAuth2OidcPrompt["None"] = "none";
@@ -47152,6 +48474,24 @@ exports.ProjectOAuth2OidcPrompt = void 0;
47152
48474
  ProjectOAuth2OidcPrompt["SelectAccount"] = "select_account";
47153
48475
  })(exports.ProjectOAuth2OidcPrompt || (exports.ProjectOAuth2OidcPrompt = {}));
47154
48476
 
48477
+ exports.ProjectOAuth2OktaPrompt = void 0;
48478
+ (function (ProjectOAuth2OktaPrompt) {
48479
+ ProjectOAuth2OktaPrompt["None"] = "none";
48480
+ ProjectOAuth2OktaPrompt["Login"] = "login";
48481
+ ProjectOAuth2OktaPrompt["Consent"] = "consent";
48482
+ })(exports.ProjectOAuth2OktaPrompt || (exports.ProjectOAuth2OktaPrompt = {}));
48483
+
48484
+ exports.ProjectOAuth2SalesforcePrompt = void 0;
48485
+ (function (ProjectOAuth2SalesforcePrompt) {
48486
+ ProjectOAuth2SalesforcePrompt["Login"] = "login";
48487
+ ProjectOAuth2SalesforcePrompt["Consent"] = "consent";
48488
+ })(exports.ProjectOAuth2SalesforcePrompt || (exports.ProjectOAuth2SalesforcePrompt = {}));
48489
+
48490
+ exports.ProjectOAuth2ZohoPrompt = void 0;
48491
+ (function (ProjectOAuth2ZohoPrompt) {
48492
+ ProjectOAuth2ZohoPrompt["Consent"] = "consent";
48493
+ })(exports.ProjectOAuth2ZohoPrompt || (exports.ProjectOAuth2ZohoPrompt = {}));
48494
+
47155
48495
  exports.ProjectOAuthProviderId = void 0;
47156
48496
  (function (ProjectOAuthProviderId) {
47157
48497
  ProjectOAuthProviderId["Amazon"] = "amazon";
@@ -47211,6 +48551,7 @@ exports.ProjectPolicyId = void 0;
47211
48551
  ProjectPolicyId["Passwordhistory"] = "password-history";
47212
48552
  ProjectPolicyId["Passwordstrength"] = "password-strength";
47213
48553
  ProjectPolicyId["Passwordpersonaldata"] = "password-personal-data";
48554
+ ProjectPolicyId["Passwordpwned"] = "password-pwned";
47214
48555
  ProjectPolicyId["Sessionalert"] = "session-alert";
47215
48556
  ProjectPolicyId["Sessionduration"] = "session-duration";
47216
48557
  ProjectPolicyId["Sessioninvalidation"] = "session-invalidation";
@@ -47260,12 +48601,6 @@ exports.ProjectSMTPSecure = void 0;
47260
48601
  ProjectSMTPSecure["Ssl"] = "ssl";
47261
48602
  })(exports.ProjectSMTPSecure || (exports.ProjectSMTPSecure = {}));
47262
48603
 
47263
- exports.ProjectUsageRange = void 0;
47264
- (function (ProjectUsageRange) {
47265
- ProjectUsageRange["OneHour"] = "1h";
47266
- ProjectUsageRange["OneDay"] = "1d";
47267
- })(exports.ProjectUsageRange || (exports.ProjectUsageRange = {}));
47268
-
47269
48604
  exports.ScheduleResourceType = void 0;
47270
48605
  (function (ScheduleResourceType) {
47271
48606
  ScheduleResourceType["Function"] = "function";
@@ -47314,6 +48649,7 @@ exports.Framework = void 0;
47314
48649
  Framework["Remix"] = "remix";
47315
48650
  Framework["Lynx"] = "lynx";
47316
48651
  Framework["Flutter"] = "flutter";
48652
+ Framework["Jaspr"] = "jaspr";
47317
48653
  Framework["Reactnative"] = "react-native";
47318
48654
  Framework["Vite"] = "vite";
47319
48655
  Framework["Other"] = "other";
@@ -47353,6 +48689,9 @@ exports.BuildRuntime = void 0;
47353
48689
  BuildRuntime["Pythonml311"] = "python-ml-3.11";
47354
48690
  BuildRuntime["Pythonml312"] = "python-ml-3.12";
47355
48691
  BuildRuntime["Pythonml313"] = "python-ml-3.13";
48692
+ BuildRuntime["Deno121"] = "deno-1.21";
48693
+ BuildRuntime["Deno124"] = "deno-1.24";
48694
+ BuildRuntime["Deno135"] = "deno-1.35";
47356
48695
  BuildRuntime["Deno140"] = "deno-1.40";
47357
48696
  BuildRuntime["Deno146"] = "deno-1.46";
47358
48697
  BuildRuntime["Deno20"] = "deno-2.0";
@@ -47770,6 +49109,17 @@ exports.ExecutionStatus = void 0;
47770
49109
  ExecutionStatus["Scheduled"] = "scheduled";
47771
49110
  })(exports.ExecutionStatus || (exports.ExecutionStatus = {}));
47772
49111
 
49112
+ exports.OAuth2GithubPrompt = void 0;
49113
+ (function (OAuth2GithubPrompt) {
49114
+ OAuth2GithubPrompt["SelectAccount"] = "select_account";
49115
+ })(exports.OAuth2GithubPrompt || (exports.OAuth2GithubPrompt = {}));
49116
+
49117
+ exports.OAuth2DiscordPrompt = void 0;
49118
+ (function (OAuth2DiscordPrompt) {
49119
+ OAuth2DiscordPrompt["None"] = "none";
49120
+ OAuth2DiscordPrompt["Consent"] = "consent";
49121
+ })(exports.OAuth2DiscordPrompt || (exports.OAuth2DiscordPrompt = {}));
49122
+
47773
49123
  exports.OAuth2GooglePrompt = void 0;
47774
49124
  (function (OAuth2GooglePrompt) {
47775
49125
  OAuth2GooglePrompt["None"] = "none";
@@ -47777,6 +49127,24 @@ exports.OAuth2GooglePrompt = void 0;
47777
49127
  OAuth2GooglePrompt["SelectAccount"] = "select_account";
47778
49128
  })(exports.OAuth2GooglePrompt || (exports.OAuth2GooglePrompt = {}));
47779
49129
 
49130
+ exports.OAuth2ZohoPrompt = void 0;
49131
+ (function (OAuth2ZohoPrompt) {
49132
+ OAuth2ZohoPrompt["Consent"] = "consent";
49133
+ })(exports.OAuth2ZohoPrompt || (exports.OAuth2ZohoPrompt = {}));
49134
+
49135
+ exports.OAuth2SalesforcePrompt = void 0;
49136
+ (function (OAuth2SalesforcePrompt) {
49137
+ OAuth2SalesforcePrompt["Login"] = "login";
49138
+ OAuth2SalesforcePrompt["Consent"] = "consent";
49139
+ })(exports.OAuth2SalesforcePrompt || (exports.OAuth2SalesforcePrompt = {}));
49140
+
49141
+ exports.OAuth2Auth0Prompt = void 0;
49142
+ (function (OAuth2Auth0Prompt) {
49143
+ OAuth2Auth0Prompt["None"] = "none";
49144
+ OAuth2Auth0Prompt["Login"] = "login";
49145
+ OAuth2Auth0Prompt["Consent"] = "consent";
49146
+ })(exports.OAuth2Auth0Prompt || (exports.OAuth2Auth0Prompt = {}));
49147
+
47780
49148
  exports.OAuth2OidcPrompt = void 0;
47781
49149
  (function (OAuth2OidcPrompt) {
47782
49150
  OAuth2OidcPrompt["None"] = "none";
@@ -47785,6 +49153,29 @@ exports.OAuth2OidcPrompt = void 0;
47785
49153
  OAuth2OidcPrompt["SelectAccount"] = "select_account";
47786
49154
  })(exports.OAuth2OidcPrompt || (exports.OAuth2OidcPrompt = {}));
47787
49155
 
49156
+ exports.OAuth2OktaPrompt = void 0;
49157
+ (function (OAuth2OktaPrompt) {
49158
+ OAuth2OktaPrompt["None"] = "none";
49159
+ OAuth2OktaPrompt["Login"] = "login";
49160
+ OAuth2OktaPrompt["Consent"] = "consent";
49161
+ })(exports.OAuth2OktaPrompt || (exports.OAuth2OktaPrompt = {}));
49162
+
49163
+ exports.OAuth2MicrosoftPrompt = void 0;
49164
+ (function (OAuth2MicrosoftPrompt) {
49165
+ OAuth2MicrosoftPrompt["None"] = "none";
49166
+ OAuth2MicrosoftPrompt["Login"] = "login";
49167
+ OAuth2MicrosoftPrompt["Consent"] = "consent";
49168
+ OAuth2MicrosoftPrompt["SelectAccount"] = "select_account";
49169
+ })(exports.OAuth2MicrosoftPrompt || (exports.OAuth2MicrosoftPrompt = {}));
49170
+
49171
+ exports.OAuth2KakaoPrompt = void 0;
49172
+ (function (OAuth2KakaoPrompt) {
49173
+ OAuth2KakaoPrompt["None"] = "none";
49174
+ OAuth2KakaoPrompt["Login"] = "login";
49175
+ OAuth2KakaoPrompt["Create"] = "create";
49176
+ OAuth2KakaoPrompt["SelectAccount"] = "select_account";
49177
+ })(exports.OAuth2KakaoPrompt || (exports.OAuth2KakaoPrompt = {}));
49178
+
47788
49179
  exports.PlatformType = void 0;
47789
49180
  (function (PlatformType) {
47790
49181
  PlatformType["Windows"] = "windows";
@@ -47818,7 +49209,8 @@ exports.MessageStatus = void 0;
47818
49209
 
47819
49210
  exports.BillingPlanGroup = void 0;
47820
49211
  (function (BillingPlanGroup) {
47821
- BillingPlanGroup["Starter"] = "starter";
49212
+ BillingPlanGroup["Free"] = "free";
49213
+ BillingPlanGroup["Start"] = "start";
47822
49214
  BillingPlanGroup["Pro"] = "pro";
47823
49215
  BillingPlanGroup["Scale"] = "scale";
47824
49216
  })(exports.BillingPlanGroup || (exports.BillingPlanGroup = {}));
@@ -47870,6 +49262,7 @@ exports.Domains = Domains;
47870
49262
  exports.Embeddings = Embeddings;
47871
49263
  exports.Functions = Functions;
47872
49264
  exports.Graphql = Graphql;
49265
+ exports.Growth = Growth;
47873
49266
  exports.ID = ID;
47874
49267
  exports.Locale = Locale;
47875
49268
  exports.Manager = Manager;
@@ -47888,14 +49281,17 @@ exports.Presences = Presences;
47888
49281
  exports.Project = Project;
47889
49282
  exports.Projects = Projects;
47890
49283
  exports.Proxy = Proxy;
49284
+ exports.Push = Push;
47891
49285
  exports.Query = Query;
47892
49286
  exports.Realtime = Realtime;
49287
+ exports.ResolvedTopic = ResolvedTopic;
47893
49288
  exports.Role = Role;
47894
49289
  exports.Sites = Sites;
47895
49290
  exports.Storage = Storage;
47896
49291
  exports.TablesDB = TablesDB;
47897
49292
  exports.Teams = Teams;
47898
49293
  exports.Tokens = Tokens;
49294
+ exports.Topic = Topic;
47899
49295
  exports.Usage = Usage;
47900
49296
  exports.Users = Users;
47901
49297
  exports.Vcs = Vcs;