@appwrite.io/console 18.1.0 → 18.2.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.
@@ -120,29 +120,44 @@ export declare class Functions {
120
120
  /**
121
121
  * Get a list of all runtimes that are currently active on your instance.
122
122
  *
123
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
123
124
  * @throws {AppwriteException}
124
125
  * @returns {Promise<Models.RuntimeList>}
125
126
  */
126
- listRuntimes(): Promise<Models.RuntimeList>;
127
+ listRuntimes(params?: {
128
+ total?: boolean;
129
+ }): Promise<Models.RuntimeList>;
130
+ /**
131
+ * Get a list of all runtimes that are currently active on your instance.
132
+ *
133
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
134
+ * @throws {AppwriteException}
135
+ * @returns {Promise<Models.RuntimeList>}
136
+ * @deprecated Use the object parameter style method for a better developer experience.
137
+ */
138
+ listRuntimes(total?: boolean): Promise<Models.RuntimeList>;
127
139
  /**
128
140
  * List allowed function specifications for this instance.
129
141
  *
130
142
  * @param {string} params.type - Specification type to list. Can be one of: runtimes, builds. Defaults to runtimes.
143
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
131
144
  * @throws {AppwriteException}
132
145
  * @returns {Promise<Models.SpecificationList>}
133
146
  */
134
147
  listSpecifications(params?: {
135
148
  type?: string;
149
+ total?: boolean;
136
150
  }): Promise<Models.SpecificationList>;
137
151
  /**
138
152
  * List allowed function specifications for this instance.
139
153
  *
140
154
  * @param {string} type - Specification type to list. Can be one of: runtimes, builds. Defaults to runtimes.
155
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
141
156
  * @throws {AppwriteException}
142
157
  * @returns {Promise<Models.SpecificationList>}
143
158
  * @deprecated Use the object parameter style method for a better developer experience.
144
159
  */
145
- listSpecifications(type?: string): Promise<Models.SpecificationList>;
160
+ listSpecifications(type?: string, total?: boolean): Promise<Models.SpecificationList>;
146
161
  /**
147
162
  * List available function templates. You can use template details in [createFunction](/docs/references/cloud/server-nodejs/functions#create) method.
148
163
  *
@@ -15,50 +15,134 @@ export declare class Locale {
15
15
  /**
16
16
  * List of all locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
17
17
  *
18
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
18
19
  * @throws {AppwriteException}
19
20
  * @returns {Promise<Models.LocaleCodeList>}
20
21
  */
21
- listCodes(): Promise<Models.LocaleCodeList>;
22
+ listCodes(params?: {
23
+ total?: boolean;
24
+ }): Promise<Models.LocaleCodeList>;
25
+ /**
26
+ * List of all locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
27
+ *
28
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
29
+ * @throws {AppwriteException}
30
+ * @returns {Promise<Models.LocaleCodeList>}
31
+ * @deprecated Use the object parameter style method for a better developer experience.
32
+ */
33
+ listCodes(total?: boolean): Promise<Models.LocaleCodeList>;
22
34
  /**
23
35
  * List of all continents. You can use the locale header to get the data in a supported language.
24
36
  *
37
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
25
38
  * @throws {AppwriteException}
26
39
  * @returns {Promise<Models.ContinentList>}
27
40
  */
28
- listContinents(): Promise<Models.ContinentList>;
41
+ listContinents(params?: {
42
+ total?: boolean;
43
+ }): Promise<Models.ContinentList>;
44
+ /**
45
+ * List of all continents. You can use the locale header to get the data in a supported language.
46
+ *
47
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
48
+ * @throws {AppwriteException}
49
+ * @returns {Promise<Models.ContinentList>}
50
+ * @deprecated Use the object parameter style method for a better developer experience.
51
+ */
52
+ listContinents(total?: boolean): Promise<Models.ContinentList>;
53
+ /**
54
+ * List of all countries. You can use the locale header to get the data in a supported language.
55
+ *
56
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
57
+ * @throws {AppwriteException}
58
+ * @returns {Promise<Models.CountryList>}
59
+ */
60
+ listCountries(params?: {
61
+ total?: boolean;
62
+ }): Promise<Models.CountryList>;
29
63
  /**
30
64
  * List of all countries. You can use the locale header to get the data in a supported language.
31
65
  *
66
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
67
+ * @throws {AppwriteException}
68
+ * @returns {Promise<Models.CountryList>}
69
+ * @deprecated Use the object parameter style method for a better developer experience.
70
+ */
71
+ listCountries(total?: boolean): Promise<Models.CountryList>;
72
+ /**
73
+ * List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.
74
+ *
75
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
32
76
  * @throws {AppwriteException}
33
77
  * @returns {Promise<Models.CountryList>}
34
78
  */
35
- listCountries(): Promise<Models.CountryList>;
79
+ listCountriesEU(params?: {
80
+ total?: boolean;
81
+ }): Promise<Models.CountryList>;
36
82
  /**
37
83
  * List of all countries that are currently members of the EU. You can use the locale header to get the data in a supported language.
38
84
  *
85
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
39
86
  * @throws {AppwriteException}
40
87
  * @returns {Promise<Models.CountryList>}
88
+ * @deprecated Use the object parameter style method for a better developer experience.
41
89
  */
42
- listCountriesEU(): Promise<Models.CountryList>;
90
+ listCountriesEU(total?: boolean): Promise<Models.CountryList>;
43
91
  /**
44
92
  * List of all countries phone codes. You can use the locale header to get the data in a supported language.
45
93
  *
94
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
46
95
  * @throws {AppwriteException}
47
96
  * @returns {Promise<Models.PhoneList>}
48
97
  */
49
- listCountriesPhones(): Promise<Models.PhoneList>;
98
+ listCountriesPhones(params?: {
99
+ total?: boolean;
100
+ }): Promise<Models.PhoneList>;
101
+ /**
102
+ * List of all countries phone codes. You can use the locale header to get the data in a supported language.
103
+ *
104
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
105
+ * @throws {AppwriteException}
106
+ * @returns {Promise<Models.PhoneList>}
107
+ * @deprecated Use the object parameter style method for a better developer experience.
108
+ */
109
+ listCountriesPhones(total?: boolean): Promise<Models.PhoneList>;
50
110
  /**
51
111
  * List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.
52
112
  *
113
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
53
114
  * @throws {AppwriteException}
54
115
  * @returns {Promise<Models.CurrencyList>}
55
116
  */
56
- listCurrencies(): Promise<Models.CurrencyList>;
117
+ listCurrencies(params?: {
118
+ total?: boolean;
119
+ }): Promise<Models.CurrencyList>;
120
+ /**
121
+ * List of all currencies, including currency symbol, name, plural, and decimal digits for all major and minor currencies. You can use the locale header to get the data in a supported language.
122
+ *
123
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
124
+ * @throws {AppwriteException}
125
+ * @returns {Promise<Models.CurrencyList>}
126
+ * @deprecated Use the object parameter style method for a better developer experience.
127
+ */
128
+ listCurrencies(total?: boolean): Promise<Models.CurrencyList>;
129
+ /**
130
+ * List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.
131
+ *
132
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
133
+ * @throws {AppwriteException}
134
+ * @returns {Promise<Models.LanguageList>}
135
+ */
136
+ listLanguages(params?: {
137
+ total?: boolean;
138
+ }): Promise<Models.LanguageList>;
57
139
  /**
58
140
  * List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.
59
141
  *
142
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
60
143
  * @throws {AppwriteException}
61
144
  * @returns {Promise<Models.LanguageList>}
145
+ * @deprecated Use the object parameter style method for a better developer experience.
62
146
  */
63
- listLanguages(): Promise<Models.LanguageList>;
147
+ listLanguages(total?: boolean): Promise<Models.LanguageList>;
64
148
  }
@@ -8,7 +8,7 @@ export declare class Messaging {
8
8
  /**
9
9
  * Get a list of all messages from the current Appwrite project.
10
10
  *
11
- * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType
11
+ * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType, users, targets
12
12
  * @param {string} params.search - Search term to filter your list results. Max length: 256 chars.
13
13
  * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
14
14
  * @throws {AppwriteException}
@@ -22,7 +22,7 @@ export declare class Messaging {
22
22
  /**
23
23
  * Get a list of all messages from the current Appwrite project.
24
24
  *
25
- * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType
25
+ * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: scheduledAt, deliveredAt, deliveredTotal, status, description, providerType, users, targets
26
26
  * @param {string} search - Search term to filter your list results. Max length: 256 chars.
27
27
  * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
28
28
  * @throws {AppwriteException}
@@ -93,61 +93,61 @@ export declare class Messaging {
93
93
  *
94
94
  *
95
95
  * @param {string} params.messageId - Message ID.
96
+ * @param {string} params.subject - Email Subject.
97
+ * @param {string} params.content - Email Content.
96
98
  * @param {string[]} params.topics - List of Topic IDs.
97
99
  * @param {string[]} params.users - List of User IDs.
98
100
  * @param {string[]} params.targets - List of Targets IDs.
99
- * @param {string} params.subject - Email Subject.
100
- * @param {string} params.content - Email Content.
101
- * @param {boolean} params.draft - Is message a draft
102
- * @param {boolean} params.html - Is content of type HTML
103
101
  * @param {string[]} params.cc - Array of target IDs to be added as CC.
104
102
  * @param {string[]} params.bcc - Array of target IDs to be added as BCC.
103
+ * @param {string[]} params.attachments - Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
105
104
  * @param {string} params.replyToEmail - Email address to reply to. Pass an empty string to restore the provider or sender default.
106
105
  * @param {string} params.replyToName - Name of the reply to recipient. Pass an empty string to restore the provider or sender default.
106
+ * @param {boolean} params.draft - Is message a draft
107
+ * @param {boolean} params.html - Is content of type HTML
107
108
  * @param {string} params.scheduledAt - Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
108
- * @param {string[]} params.attachments - Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
109
109
  * @throws {AppwriteException}
110
110
  * @returns {Promise<Models.Message>}
111
111
  */
112
112
  updateEmail(params: {
113
113
  messageId: string;
114
+ subject?: string;
115
+ content?: string;
114
116
  topics?: string[];
115
117
  users?: string[];
116
118
  targets?: string[];
117
- subject?: string;
118
- content?: string;
119
- draft?: boolean;
120
- html?: boolean;
121
119
  cc?: string[];
122
120
  bcc?: string[];
121
+ attachments?: string[];
123
122
  replyToEmail?: string;
124
123
  replyToName?: string;
124
+ draft?: boolean;
125
+ html?: boolean;
125
126
  scheduledAt?: string;
126
- attachments?: string[];
127
127
  }): Promise<Models.Message>;
128
128
  /**
129
129
  * Update an email message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
130
130
  *
131
131
  *
132
132
  * @param {string} messageId - Message ID.
133
+ * @param {string} subject - Email Subject.
134
+ * @param {string} content - Email Content.
133
135
  * @param {string[]} topics - List of Topic IDs.
134
136
  * @param {string[]} users - List of User IDs.
135
137
  * @param {string[]} targets - List of Targets IDs.
136
- * @param {string} subject - Email Subject.
137
- * @param {string} content - Email Content.
138
- * @param {boolean} draft - Is message a draft
139
- * @param {boolean} html - Is content of type HTML
140
138
  * @param {string[]} cc - Array of target IDs to be added as CC.
141
139
  * @param {string[]} bcc - Array of target IDs to be added as BCC.
140
+ * @param {string[]} attachments - Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
142
141
  * @param {string} replyToEmail - Email address to reply to. Pass an empty string to restore the provider or sender default.
143
142
  * @param {string} replyToName - Name of the reply to recipient. Pass an empty string to restore the provider or sender default.
143
+ * @param {boolean} draft - Is message a draft
144
+ * @param {boolean} html - Is content of type HTML
144
145
  * @param {string} scheduledAt - Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
145
- * @param {string[]} attachments - Array of compound ID strings of bucket IDs and file IDs to be attached to the email. They should be formatted as <BUCKET_ID>:<FILE_ID>.
146
146
  * @throws {AppwriteException}
147
147
  * @returns {Promise<Models.Message>}
148
148
  * @deprecated Use the object parameter style method for a better developer experience.
149
149
  */
150
- updateEmail(messageId: string, topics?: string[], users?: string[], targets?: string[], subject?: string, content?: string, draft?: boolean, html?: boolean, cc?: string[], bcc?: string[], replyToEmail?: string, replyToName?: string, scheduledAt?: string, attachments?: string[]): Promise<Models.Message>;
150
+ updateEmail(messageId: string, subject?: string, content?: string, topics?: string[], users?: string[], targets?: string[], cc?: string[], bcc?: string[], attachments?: string[], replyToEmail?: string, replyToName?: string, draft?: boolean, html?: boolean, scheduledAt?: string): Promise<Models.Message>;
151
151
  /**
152
152
  * Create a new push notification.
153
153
  *
@@ -170,6 +170,7 @@ export declare class Messaging {
170
170
  * @param {boolean} params.contentAvailable - If set to true, the notification will be delivered in the background. Available only for iOS Platform.
171
171
  * @param {boolean} params.critical - If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.
172
172
  * @param {MessagePriority} params.priority - Set the notification priority. "normal" will consider device state and may not deliver notifications immediately. "high" will always attempt to immediately deliver the notification.
173
+ * @param {string} params.channelId - ID of the notification channel to deliver the notification on. The app must have already created a channel with this ID, otherwise the channel from the app manifest is used. Available only for Android Platform.
173
174
  * @throws {AppwriteException}
174
175
  * @returns {Promise<Models.Message>}
175
176
  */
@@ -193,6 +194,7 @@ export declare class Messaging {
193
194
  contentAvailable?: boolean;
194
195
  critical?: boolean;
195
196
  priority?: MessagePriority;
197
+ channelId?: string;
196
198
  }): Promise<Models.Message>;
197
199
  /**
198
200
  * Create a new push notification.
@@ -216,21 +218,22 @@ export declare class Messaging {
216
218
  * @param {boolean} contentAvailable - If set to true, the notification will be delivered in the background. Available only for iOS Platform.
217
219
  * @param {boolean} critical - If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.
218
220
  * @param {MessagePriority} priority - Set the notification priority. "normal" will consider device state and may not deliver notifications immediately. "high" will always attempt to immediately deliver the notification.
221
+ * @param {string} channelId - ID of the notification channel to deliver the notification on. The app must have already created a channel with this ID, otherwise the channel from the app manifest is used. Available only for Android Platform.
219
222
  * @throws {AppwriteException}
220
223
  * @returns {Promise<Models.Message>}
221
224
  * @deprecated Use the object parameter style method for a better developer experience.
222
225
  */
223
- createPush(messageId: string, title?: string, body?: string, topics?: string[], users?: string[], targets?: string[], data?: object, action?: string, image?: string, icon?: string, sound?: string, color?: string, tag?: string, badge?: number, draft?: boolean, scheduledAt?: string, contentAvailable?: boolean, critical?: boolean, priority?: MessagePriority): Promise<Models.Message>;
226
+ createPush(messageId: string, title?: string, body?: string, topics?: string[], users?: string[], targets?: string[], data?: object, action?: string, image?: string, icon?: string, sound?: string, color?: string, tag?: string, badge?: number, draft?: boolean, scheduledAt?: string, contentAvailable?: boolean, critical?: boolean, priority?: MessagePriority, channelId?: string): Promise<Models.Message>;
224
227
  /**
225
228
  * Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
226
229
  *
227
230
  *
228
231
  * @param {string} params.messageId - Message ID.
232
+ * @param {string} params.title - Title for push notification.
233
+ * @param {string} params.body - Body for push notification.
229
234
  * @param {string[]} params.topics - List of Topic IDs.
230
235
  * @param {string[]} params.users - List of User IDs.
231
236
  * @param {string[]} params.targets - List of Targets IDs.
232
- * @param {string} params.title - Title for push notification.
233
- * @param {string} params.body - Body for push notification.
234
237
  * @param {object} params.data - Additional Data for push notification.
235
238
  * @param {string} params.action - Action for push notification.
236
239
  * @param {string} params.image - Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.
@@ -244,16 +247,17 @@ export declare class Messaging {
244
247
  * @param {boolean} params.contentAvailable - If set to true, the notification will be delivered in the background. Available only for iOS Platform.
245
248
  * @param {boolean} params.critical - If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.
246
249
  * @param {MessagePriority} params.priority - Set the notification priority. "normal" will consider device battery state and may send notifications later. "high" will always attempt to immediately deliver the notification.
250
+ * @param {string} params.channelId - ID of the notification channel to deliver the notification on. The app must have already created a channel with this ID, otherwise the channel from the app manifest is used. Pass an empty string to clear it. Available only for Android platforms.
247
251
  * @throws {AppwriteException}
248
252
  * @returns {Promise<Models.Message>}
249
253
  */
250
254
  updatePush(params: {
251
255
  messageId: string;
256
+ title?: string;
257
+ body?: string;
252
258
  topics?: string[];
253
259
  users?: string[];
254
260
  targets?: string[];
255
- title?: string;
256
- body?: string;
257
261
  data?: object;
258
262
  action?: string;
259
263
  image?: string;
@@ -267,17 +271,18 @@ export declare class Messaging {
267
271
  contentAvailable?: boolean;
268
272
  critical?: boolean;
269
273
  priority?: MessagePriority;
274
+ channelId?: string;
270
275
  }): Promise<Models.Message>;
271
276
  /**
272
277
  * Update a push notification by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
273
278
  *
274
279
  *
275
280
  * @param {string} messageId - Message ID.
281
+ * @param {string} title - Title for push notification.
282
+ * @param {string} body - Body for push notification.
276
283
  * @param {string[]} topics - List of Topic IDs.
277
284
  * @param {string[]} users - List of User IDs.
278
285
  * @param {string[]} targets - List of Targets IDs.
279
- * @param {string} title - Title for push notification.
280
- * @param {string} body - Body for push notification.
281
286
  * @param {object} data - Additional Data for push notification.
282
287
  * @param {string} action - Action for push notification.
283
288
  * @param {string} image - Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage. It should be formatted as <BUCKET_ID>:<FILE_ID>.
@@ -291,11 +296,12 @@ export declare class Messaging {
291
296
  * @param {boolean} contentAvailable - If set to true, the notification will be delivered in the background. Available only for iOS Platform.
292
297
  * @param {boolean} critical - If set to true, the notification will be marked as critical. This requires the app to have the critical notification entitlement. Available only for iOS Platform.
293
298
  * @param {MessagePriority} priority - Set the notification priority. "normal" will consider device battery state and may send notifications later. "high" will always attempt to immediately deliver the notification.
299
+ * @param {string} channelId - ID of the notification channel to deliver the notification on. The app must have already created a channel with this ID, otherwise the channel from the app manifest is used. Pass an empty string to clear it. Available only for Android platforms.
294
300
  * @throws {AppwriteException}
295
301
  * @returns {Promise<Models.Message>}
296
302
  * @deprecated Use the object parameter style method for a better developer experience.
297
303
  */
298
- updatePush(messageId: string, topics?: string[], users?: string[], targets?: string[], title?: string, body?: string, data?: object, action?: string, image?: string, icon?: string, sound?: string, color?: string, tag?: string, badge?: number, draft?: boolean, scheduledAt?: string, contentAvailable?: boolean, critical?: boolean, priority?: MessagePriority): Promise<Models.Message>;
304
+ updatePush(messageId: string, title?: string, body?: string, topics?: string[], users?: string[], targets?: string[], data?: object, action?: string, image?: string, icon?: string, sound?: string, color?: string, tag?: string, badge?: number, draft?: boolean, scheduledAt?: string, contentAvailable?: boolean, critical?: boolean, priority?: MessagePriority, channelId?: string): Promise<Models.Message>;
299
305
  /**
300
306
  * Create a new SMS message.
301
307
  *
@@ -376,10 +382,10 @@ export declare class Messaging {
376
382
  *
377
383
  *
378
384
  * @param {string} params.messageId - Message ID.
385
+ * @param {string} params.content - Email Content.
379
386
  * @param {string[]} params.topics - List of Topic IDs.
380
387
  * @param {string[]} params.users - List of User IDs.
381
388
  * @param {string[]} params.targets - List of Targets IDs.
382
- * @param {string} params.content - Email Content.
383
389
  * @param {boolean} params.draft - Is message a draft
384
390
  * @param {string} params.scheduledAt - Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
385
391
  * @throws {AppwriteException}
@@ -388,10 +394,10 @@ export declare class Messaging {
388
394
  */
389
395
  updateSms(params: {
390
396
  messageId: string;
397
+ content?: string;
391
398
  topics?: string[];
392
399
  users?: string[];
393
400
  targets?: string[];
394
- content?: string;
395
401
  draft?: boolean;
396
402
  scheduledAt?: string;
397
403
  }): Promise<Models.Message>;
@@ -400,26 +406,26 @@ export declare class Messaging {
400
406
  *
401
407
  *
402
408
  * @param {string} messageId - Message ID.
409
+ * @param {string} content - Email Content.
403
410
  * @param {string[]} topics - List of Topic IDs.
404
411
  * @param {string[]} users - List of User IDs.
405
412
  * @param {string[]} targets - List of Targets IDs.
406
- * @param {string} content - Email Content.
407
413
  * @param {boolean} draft - Is message a draft
408
414
  * @param {string} scheduledAt - Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
409
415
  * @throws {AppwriteException}
410
416
  * @returns {Promise<Models.Message>}
411
417
  * @deprecated Use the object parameter style method for a better developer experience.
412
418
  */
413
- updateSms(messageId: string, topics?: string[], users?: string[], targets?: string[], content?: string, draft?: boolean, scheduledAt?: string): Promise<Models.Message>;
419
+ updateSms(messageId: string, content?: string, topics?: string[], users?: string[], targets?: string[], draft?: boolean, scheduledAt?: string): Promise<Models.Message>;
414
420
  /**
415
421
  * Update an SMS message by its unique ID. This endpoint only works on messages that are in draft status. Messages that are already processing, sent, or failed cannot be updated.
416
422
  *
417
423
  *
418
424
  * @param {string} params.messageId - Message ID.
425
+ * @param {string} params.content - Email Content.
419
426
  * @param {string[]} params.topics - List of Topic IDs.
420
427
  * @param {string[]} params.users - List of User IDs.
421
428
  * @param {string[]} params.targets - List of Targets IDs.
422
- * @param {string} params.content - Email Content.
423
429
  * @param {boolean} params.draft - Is message a draft
424
430
  * @param {string} params.scheduledAt - Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
425
431
  * @throws {AppwriteException}
@@ -427,10 +433,10 @@ export declare class Messaging {
427
433
  */
428
434
  updateSMS(params: {
429
435
  messageId: string;
436
+ content?: string;
430
437
  topics?: string[];
431
438
  users?: string[];
432
439
  targets?: string[];
433
- content?: string;
434
440
  draft?: boolean;
435
441
  scheduledAt?: string;
436
442
  }): Promise<Models.Message>;
@@ -439,17 +445,17 @@ export declare class Messaging {
439
445
  *
440
446
  *
441
447
  * @param {string} messageId - Message ID.
448
+ * @param {string} content - Email Content.
442
449
  * @param {string[]} topics - List of Topic IDs.
443
450
  * @param {string[]} users - List of User IDs.
444
451
  * @param {string[]} targets - List of Targets IDs.
445
- * @param {string} content - Email Content.
446
452
  * @param {boolean} draft - Is message a draft
447
453
  * @param {string} scheduledAt - Scheduled delivery time for message in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. DateTime value must be in future.
448
454
  * @throws {AppwriteException}
449
455
  * @returns {Promise<Models.Message>}
450
456
  * @deprecated Use the object parameter style method for a better developer experience.
451
457
  */
452
- updateSMS(messageId: string, topics?: string[], users?: string[], targets?: string[], content?: string, draft?: boolean, scheduledAt?: string): Promise<Models.Message>;
458
+ updateSMS(messageId: string, content?: string, topics?: string[], users?: string[], targets?: string[], draft?: boolean, scheduledAt?: string): Promise<Models.Message>;
453
459
  /**
454
460
  * Get a message by its unique ID.
455
461
  *
@@ -8,22 +8,25 @@ export declare class Notifications {
8
8
  *
9
9
  *
10
10
  * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: read, type, channel, messageId, projectId, resourceType, resourceId, parentResourceType, parentResourceId, firstSeen, lastSeen
11
+ * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.
11
12
  * @throws {AppwriteException}
12
13
  * @returns {Promise<Models.NotificationList>}
13
14
  */
14
15
  list(params?: {
15
16
  queries?: string[];
17
+ total?: boolean;
16
18
  }): Promise<Models.NotificationList>;
17
19
  /**
18
20
  * Get the list of notifications for the currently logged in console user. Use queries to filter the results by attributes such as read status, view timestamps, or creation date.
19
21
  *
20
22
  *
21
23
  * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: read, type, channel, messageId, projectId, resourceType, resourceId, parentResourceType, parentResourceId, firstSeen, lastSeen
24
+ * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.
22
25
  * @throws {AppwriteException}
23
26
  * @returns {Promise<Models.NotificationList>}
24
27
  * @deprecated Use the object parameter style method for a better developer experience.
25
28
  */
26
- list(queries?: string[]): Promise<Models.NotificationList>;
29
+ list(queries?: string[], total?: boolean): Promise<Models.NotificationList>;
27
30
  /**
28
31
  * Update a notification by its unique ID. Use the `read` parameter to mark the notification as read or unread.
29
32
  *
@@ -1550,6 +1550,31 @@ export declare class Project {
1550
1550
  * @deprecated Use the object parameter style method for a better developer experience.
1551
1551
  */
1552
1552
  updateOAuth2Twitch(clientId?: string, clientSecret?: string, enabled?: boolean): Promise<Models.OAuth2Twitch>;
1553
+ /**
1554
+ * Update the project OAuth2 Webflow configuration.
1555
+ *
1556
+ * @param {string} params.clientId - 'Client ID' of Webflow OAuth2 app. For example: 8bb20000000000000000000000000000000000000000000000000000000040dd
1557
+ * @param {string} params.clientSecret - 'Client Secret' of Webflow OAuth2 app. For example: 59bf00000000000000000000000000000000000000000000000000000000fe59
1558
+ * @param {boolean} params.enabled - OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1559
+ * @throws {AppwriteException}
1560
+ * @returns {Promise<Models.OAuth2Webflow>}
1561
+ */
1562
+ updateOAuth2Webflow(params?: {
1563
+ clientId?: string;
1564
+ clientSecret?: string;
1565
+ enabled?: boolean;
1566
+ }): Promise<Models.OAuth2Webflow>;
1567
+ /**
1568
+ * Update the project OAuth2 Webflow configuration.
1569
+ *
1570
+ * @param {string} clientId - 'Client ID' of Webflow OAuth2 app. For example: 8bb20000000000000000000000000000000000000000000000000000000040dd
1571
+ * @param {string} clientSecret - 'Client Secret' of Webflow OAuth2 app. For example: 59bf00000000000000000000000000000000000000000000000000000000fe59
1572
+ * @param {boolean} enabled - OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1573
+ * @throws {AppwriteException}
1574
+ * @returns {Promise<Models.OAuth2Webflow>}
1575
+ * @deprecated Use the object parameter style method for a better developer experience.
1576
+ */
1577
+ updateOAuth2Webflow(clientId?: string, clientSecret?: string, enabled?: boolean): Promise<Models.OAuth2Webflow>;
1553
1578
  /**
1554
1579
  * Update the project OAuth2 WordPress configuration.
1555
1580
  *
@@ -1708,20 +1733,20 @@ export declare class Project {
1708
1733
  *
1709
1734
  * @param {ProjectOAuthProviderId} params.providerId - OAuth2 provider key. For example: github, google, apple.
1710
1735
  * @throws {AppwriteException}
1711
- * @returns {Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>}
1736
+ * @returns {Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Webflow | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>}
1712
1737
  */
1713
1738
  getOAuth2Provider(params: {
1714
1739
  providerId: ProjectOAuthProviderId;
1715
- }): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>;
1740
+ }): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Webflow | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>;
1716
1741
  /**
1717
1742
  * Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key/team IDs) are write-only and always returned empty.
1718
1743
  *
1719
1744
  * @param {ProjectOAuthProviderId} providerId - OAuth2 provider key. For example: github, google, apple.
1720
1745
  * @throws {AppwriteException}
1721
- * @returns {Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>}
1746
+ * @returns {Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Webflow | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>}
1722
1747
  * @deprecated Use the object parameter style method for a better developer experience.
1723
1748
  */
1724
- getOAuth2Provider(providerId: ProjectOAuthProviderId): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>;
1749
+ getOAuth2Provider(providerId: ProjectOAuthProviderId): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Webflow | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2HuggingFace | Models.OAuth2Resend | Models.OAuth2Cloudflare | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft | Models.OAuth2TikTok | Models.OAuth2Kakao>;
1725
1750
  /**
1726
1751
  * Get a list of all platforms in the project. This endpoint returns an array of all platforms and their configurations.
1727
1752
  *
@@ -11,6 +11,8 @@ export declare class Proxy {
11
11
  *
12
12
  * Depending on type, the invalidation purges a single cache tag, a single URL path, or all cached content for the domain.
13
13
  *
14
+ * Domains that route to a function do not support cache invalidation.
15
+ *
14
16
  * @param {string} params.domain - Domain name.
15
17
  * @param {InvalidationType} params.type - Type of reference passed. Allowed values are: tag, path, all
16
18
  * @param {string} params.reference - Reference to invalidate. Depending on type this can be: cache tag name (up to 128 characters), URL path (up to 2048 characters). Not required when type is all.
@@ -27,6 +29,8 @@ export declare class Proxy {
27
29
  *
28
30
  * Depending on type, the invalidation purges a single cache tag, a single URL path, or all cached content for the domain.
29
31
  *
32
+ * Domains that route to a function do not support cache invalidation.
33
+ *
30
34
  * @param {string} domain - Domain name.
31
35
  * @param {InvalidationType} type - Type of reference passed. Allowed values are: tag, path, all
32
36
  * @param {string} reference - Reference to invalidate. Depending on type this can be: cache tag name (up to 128 characters), URL path (up to 2048 characters). Not required when type is all.
@@ -61,6 +61,9 @@ export interface PushSubscription {
61
61
  export declare class Push extends Service {
62
62
  private mqtt;
63
63
  private connecting;
64
+ private Buffer;
65
+ /** Bumped by close(), so a connect still loading mqtt.js knows to stop. */
66
+ private generation;
64
67
  /** Set once the first CONNACK lands, so 'connect' events after are reconnects. */
65
68
  private everConnected;
66
69
  private onOpenCb?;
@@ -73,10 +76,18 @@ export declare class Push extends Service {
73
76
  /** True while the first connect is in flight: its errors go to the waiting caller. */
74
77
  private opening;
75
78
  /**
76
- * The client id when the credential names no user (and none was set): random, but kept for
77
- * this instance so reconnects resume the same broker session.
79
+ * This tab's part of the default client id when the tab has none yet (see claimTabId):
80
+ * random, but kept for this instance so reconnects resume the same broker session.
78
81
  */
79
82
  private readonly fallbackClientId;
83
+ /** The default client id claimed for this instance's connection, released on close(). */
84
+ private tabId;
85
+ /** In-flight claim of {@link tabId}, memoized per generation: a credential switch (same
86
+ * generation) shares the one claim; a close/reopen (new generation) chains a fresh claim. */
87
+ private tabIdClaim;
88
+ private tabIdClaimGeneration;
89
+ private connectedKey;
90
+ private connectionEpoch;
80
91
  private readonly subscriptions;
81
92
  constructor(client: Client);
82
93
  private effectiveQos;
@@ -137,7 +148,18 @@ export declare class Push extends Service {
137
148
  */
138
149
  private resubscribeAll;
139
150
  private connect;
151
+ private credential;
152
+ private credentialKey;
140
153
  private endpointUrl;
154
+ /**
155
+ * Claim this connection's default client id, memoized per generation. A credential switch (same
156
+ * generation) shares the one claim, so concurrent open() calls never each claim. A close/reopen
157
+ * (a new generation) chains a fresh claim after the previous one has settled and released its
158
+ * id, so the reopened connection can take the tab's stored id back rather than a fallback. A
159
+ * claim that resolves after its generation has ended releases its id instead of keeping it, so
160
+ * a stale open connects with nothing reserved and the stored id is never stranded.
161
+ */
162
+ private claimClientId;
141
163
  private open;
142
164
  /**
143
165
  * The error for a failed connect: the broker's Reason String when it sent one (a refused