webext-schema 5.3.2 → 5.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -112,7 +112,7 @@
112
112
  },
113
113
  {
114
114
  "name": "tab",
115
- "$ref": "tags.Tab",
115
+ "$ref": "tabs.Tab",
116
116
  "optional": true,
117
117
  "description": "Details of the $(ref:tabs.Tab) where the command was activated."
118
118
  }
@@ -357,13 +357,23 @@
357
357
  "matchAboutBlank": {
358
358
  "type": "boolean",
359
359
  "optional": true,
360
- "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."
360
+ "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Ignored if matchOriginAsFallback is specified. By default it is <code>false</code>."
361
+ },
362
+ "matchOriginAsFallback": {
363
+ "type": "boolean",
364
+ "optional": true,
365
+ "description": "If matchOriginAsFallback is true, then the code is also injected in about:, data:, blob: when their origin matches the pattern in 'matches', even if the actual document origin is opaque (due to the use of CSP sandbox or iframe sandbox). Match patterns in 'matches' must specify a wildcard path glob. By default it is <code>false</code>."
361
366
  },
362
367
  "runAt": {
363
368
  "$ref": "extensionTypes.RunAt",
364
369
  "optional": true,
365
370
  "description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
366
371
  },
372
+ "world": {
373
+ "$ref": "extensionTypes.ExecutionWorld",
374
+ "optional": true,
375
+ "description": "The JavaScript world for a script to execute within. Defaults to \"ISOLATED\"."
376
+ },
367
377
  "cookieStoreId": {
368
378
  "choices": [
369
379
  {
@@ -3155,15 +3165,45 @@
3155
3165
  {
3156
3166
  "name": "list",
3157
3167
  "type": "function",
3168
+ "min_manifest_version": 3,
3169
+ "description": "Returns all mail accounts. They will be returned in the same order as used in Thunderbird's folder pane.",
3170
+ "async": "callback",
3171
+ "parameters": [
3172
+ {
3173
+ "name": "includeFolders",
3174
+ "optional": true,
3175
+ "default": false,
3176
+ "type": "boolean",
3177
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` objects should included their account's folders. Defaults to <value>false</value>."
3178
+ },
3179
+ {
3180
+ "type": "function",
3181
+ "name": "callback",
3182
+ "optional": true,
3183
+ "parameters": [
3184
+ {
3185
+ "type": "array",
3186
+ "items": {
3187
+ "$ref": "accounts.MailAccount"
3188
+ }
3189
+ }
3190
+ ]
3191
+ }
3192
+ ]
3193
+ },
3194
+ {
3195
+ "name": "list",
3196
+ "type": "function",
3197
+ "max_manifest_version": 2,
3158
3198
  "description": "Returns all mail accounts. They will be returned in the same order as used in Thunderbird's folder pane.",
3159
3199
  "async": "callback",
3160
3200
  "parameters": [
3161
3201
  {
3162
3202
  "name": "includeFolders",
3163
- "description": "Specifies whether the returned :ref:`accounts.MailAccount` objects should included their account's folders. Defaults to <value>true</value>.",
3164
3203
  "optional": true,
3165
3204
  "default": true,
3166
- "type": "boolean"
3205
+ "type": "boolean",
3206
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` objects should included their account's folders. Defaults to <value>true</value>."
3167
3207
  },
3168
3208
  {
3169
3209
  "type": "function",
@@ -3183,6 +3223,38 @@
3183
3223
  {
3184
3224
  "name": "get",
3185
3225
  "type": "function",
3226
+ "min_manifest_version": 3,
3227
+ "description": "Returns details of the requested account, or <value>null</value> if it doesn't exist.",
3228
+ "async": "callback",
3229
+ "parameters": [
3230
+ {
3231
+ "name": "accountId",
3232
+ "$ref": "MailAccountId"
3233
+ },
3234
+ {
3235
+ "name": "includeFolders",
3236
+ "optional": true,
3237
+ "default": false,
3238
+ "type": "boolean",
3239
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to <value>false</value>."
3240
+ },
3241
+ {
3242
+ "type": "function",
3243
+ "name": "callback",
3244
+ "optional": true,
3245
+ "parameters": [
3246
+ {
3247
+ "$ref": "accounts.MailAccount",
3248
+ "optional": true
3249
+ }
3250
+ ]
3251
+ }
3252
+ ]
3253
+ },
3254
+ {
3255
+ "name": "get",
3256
+ "type": "function",
3257
+ "max_manifest_version": 2,
3186
3258
  "description": "Returns details of the requested account, or <value>null</value> if it doesn't exist.",
3187
3259
  "async": "callback",
3188
3260
  "parameters": [
@@ -3192,10 +3264,10 @@
3192
3264
  },
3193
3265
  {
3194
3266
  "name": "includeFolders",
3195
- "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to <value>true</value>.",
3196
3267
  "optional": true,
3197
3268
  "default": true,
3198
- "type": "boolean"
3269
+ "type": "boolean",
3270
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to <value>true</value>."
3199
3271
  },
3200
3272
  {
3201
3273
  "type": "function",
@@ -3711,25 +3783,25 @@
3711
3783
  "type": "boolean",
3712
3784
  "optional": true,
3713
3785
  "default": true,
3714
- "description": "Whether to include results from local address books. Defaults to true."
3786
+ "description": "Whether to include results from local address books. Defaults to <value>true</value>."
3715
3787
  },
3716
3788
  "includeRemote": {
3717
3789
  "type": "boolean",
3718
3790
  "optional": true,
3719
3791
  "default": true,
3720
- "description": "Whether to include results from remote address books. Defaults to true."
3792
+ "description": "Whether to include results from remote address books. Defaults to <value>true</value>."
3721
3793
  },
3722
3794
  "includeReadOnly": {
3723
3795
  "type": "boolean",
3724
3796
  "optional": true,
3725
3797
  "default": true,
3726
- "description": "Whether to include results from read-only address books. Defaults to true."
3798
+ "description": "Whether to include results from read-only address books. Defaults to <value>true</value>."
3727
3799
  },
3728
3800
  "includeReadWrite": {
3729
3801
  "type": "boolean",
3730
3802
  "optional": true,
3731
3803
  "default": true,
3732
- "description": "Whether to include results from read-write address books. Defaults to true."
3804
+ "description": "Whether to include results from read-write address books. Defaults to <value>true</value>."
3733
3805
  }
3734
3806
  }
3735
3807
  },
@@ -3762,7 +3834,12 @@
3762
3834
  "description": "Indicates if the object came from a remote address book."
3763
3835
  },
3764
3836
  "properties": {
3837
+ "max_manifest_version": 2,
3765
3838
  "$ref": "ContactProperties"
3839
+ },
3840
+ "vCard": {
3841
+ "min_manifest_version": 3,
3842
+ "type": "string"
3766
3843
  }
3767
3844
  }
3768
3845
  },
@@ -3982,6 +4059,7 @@
3982
4059
  {
3983
4060
  "name": "create",
3984
4061
  "type": "function",
4062
+ "max_manifest_version": 2,
3985
4063
  "async": "callback",
3986
4064
  "parameters": [
3987
4065
  {
@@ -4013,9 +4091,40 @@
4013
4091
  ],
4014
4092
  "description": "Adds a new contact to the address book with the id ``parentId``."
4015
4093
  },
4094
+ {
4095
+ "name": "create",
4096
+ "type": "function",
4097
+ "min_manifest_version": 3,
4098
+ "async": "callback",
4099
+ "parameters": [
4100
+ {
4101
+ "name": "parentId",
4102
+ "type": "string"
4103
+ },
4104
+ {
4105
+ "name": "vCard",
4106
+ "min_manifest_version": 3,
4107
+ "type": "string",
4108
+ "description": "The vCard for the new contact. If it includes an (optional) id and an existing contact has this id already, an exception is thrown."
4109
+ },
4110
+ {
4111
+ "type": "function",
4112
+ "name": "callback",
4113
+ "optional": true,
4114
+ "parameters": [
4115
+ {
4116
+ "type": "string",
4117
+ "description": "The ID of the new contact."
4118
+ }
4119
+ ]
4120
+ }
4121
+ ],
4122
+ "description": "Adds a new contact to the address book with the id ``parentId``."
4123
+ },
4016
4124
  {
4017
4125
  "name": "update",
4018
4126
  "type": "function",
4127
+ "max_manifest_version": 2,
4019
4128
  "async": true,
4020
4129
  "parameters": [
4021
4130
  {
@@ -4030,6 +4139,24 @@
4030
4139
  ],
4031
4140
  "description": "Updates a contact."
4032
4141
  },
4142
+ {
4143
+ "name": "update",
4144
+ "type": "function",
4145
+ "min_manifest_version": 3,
4146
+ "async": true,
4147
+ "parameters": [
4148
+ {
4149
+ "name": "id",
4150
+ "type": "string"
4151
+ },
4152
+ {
4153
+ "name": "vCard",
4154
+ "type": "string",
4155
+ "description": "The updated vCard for the contact."
4156
+ }
4157
+ ],
4158
+ "description": "Updates a contact."
4159
+ },
4033
4160
  {
4034
4161
  "name": "delete",
4035
4162
  "type": "function",
@@ -4058,6 +4185,7 @@
4058
4185
  {
4059
4186
  "name": "onUpdated",
4060
4187
  "type": "function",
4188
+ "max_manifest_version": 2,
4061
4189
  "description": "Fired when a contact is changed.",
4062
4190
  "parameters": [
4063
4191
  {
@@ -4070,6 +4198,22 @@
4070
4198
  }
4071
4199
  ]
4072
4200
  },
4201
+ {
4202
+ "name": "onUpdated",
4203
+ "type": "function",
4204
+ "min_manifest_version": 3,
4205
+ "description": "Fired when a contact is changed.",
4206
+ "parameters": [
4207
+ {
4208
+ "name": "node",
4209
+ "$ref": "ContactNode"
4210
+ },
4211
+ {
4212
+ "name": "oldVCard",
4213
+ "type": "string"
4214
+ }
4215
+ ]
4216
+ },
4073
4217
  {
4074
4218
  "name": "onDeleted",
4075
4219
  "type": "function",
@@ -4824,7 +4968,7 @@
4824
4968
  "type": "integer",
4825
4969
  "optional": true,
4826
4970
  "minimum": 0,
4827
- "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global label is retrieved."
4971
+ "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global value is retrieved."
4828
4972
  },
4829
4973
  "windowId": {
4830
4974
  "type": "integer",
@@ -5045,7 +5189,86 @@
5045
5189
  "type": "integer",
5046
5190
  "optional": true,
5047
5191
  "minimum": 0,
5048
- "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global label is retrieved."
5192
+ "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global value is retrieved."
5193
+ },
5194
+ "windowId": {
5195
+ "type": "integer",
5196
+ "optional": true,
5197
+ "minimum": -2,
5198
+ "unsupported": true,
5199
+ "description": "Will throw an error if used."
5200
+ }
5201
+ }
5202
+ },
5203
+ {
5204
+ "type": "function",
5205
+ "name": "callback",
5206
+ "optional": true,
5207
+ "parameters": [
5208
+ {
5209
+ "name": "result",
5210
+ "type": "string"
5211
+ }
5212
+ ]
5213
+ }
5214
+ ]
5215
+ },
5216
+ {
5217
+ "name": "setBadgeTextColor",
5218
+ "type": "function",
5219
+ "description": "Sets the text color for the badge.",
5220
+ "async": true,
5221
+ "parameters": [
5222
+ {
5223
+ "name": "details",
5224
+ "type": "object",
5225
+ "properties": {
5226
+ "color": {
5227
+ "choices": [
5228
+ {
5229
+ "type": "string"
5230
+ },
5231
+ {
5232
+ "$ref": "ColorArray"
5233
+ },
5234
+ {
5235
+ "type": "null"
5236
+ }
5237
+ ],
5238
+ "description": "The color to use as text color in the badge. Cleared by setting it to <value>null</value>."
5239
+ },
5240
+ "tabId": {
5241
+ "type": "integer",
5242
+ "optional": true,
5243
+ "minimum": 0,
5244
+ "description": "Sets the text color for the badge only for the given tab."
5245
+ },
5246
+ "windowId": {
5247
+ "type": "integer",
5248
+ "optional": true,
5249
+ "minimum": -2,
5250
+ "unsupported": true,
5251
+ "description": "Will throw an error if used."
5252
+ }
5253
+ }
5254
+ }
5255
+ ]
5256
+ },
5257
+ {
5258
+ "name": "getBadgeTextColor",
5259
+ "type": "function",
5260
+ "description": "Gets the text color of the badge.",
5261
+ "async": true,
5262
+ "parameters": [
5263
+ {
5264
+ "name": "details",
5265
+ "type": "object",
5266
+ "properties": {
5267
+ "tabId": {
5268
+ "type": "integer",
5269
+ "optional": true,
5270
+ "minimum": 0,
5271
+ "description": "Specifies for which tab the badge text color should be retrieved. If no tab is specified, the global value is retrieved."
5049
5272
  },
5050
5273
  "windowId": {
5051
5274
  "type": "integer",
@@ -5091,7 +5314,7 @@
5091
5314
  "type": "null"
5092
5315
  }
5093
5316
  ],
5094
- "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value> or an empty string."
5317
+ "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value>."
5095
5318
  },
5096
5319
  "tabId": {
5097
5320
  "type": "integer",
@@ -5130,7 +5353,7 @@
5130
5353
  "type": "integer",
5131
5354
  "optional": true,
5132
5355
  "minimum": 0,
5133
- "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global label is retrieved."
5356
+ "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global value is retrieved."
5134
5357
  },
5135
5358
  "windowId": {
5136
5359
  "type": "integer",
@@ -6042,7 +6265,13 @@
6042
6265
  "properties": {
6043
6266
  "id": {
6044
6267
  "type": "string",
6045
- "description": "The ID of a contact or mailing list from the :doc:`contacts` and :doc:`mailingLists`."
6268
+ "max_manifest_version": 2,
6269
+ "description": "The ID of a contact or mailing list from the :doc:`contacts` or :doc:`mailingLists`."
6270
+ },
6271
+ "nodeId": {
6272
+ "type": "string",
6273
+ "min_manifest_version": 3,
6274
+ "description": "The ID of a contact or mailing list node from the :doc:`addressBook.contacts` or :doc:`addressBook.mailingLists`."
6046
6275
  },
6047
6276
  "type": {
6048
6277
  "type": "string",
@@ -6115,6 +6344,11 @@
6115
6344
  "description": "An additional fcc folder which can be selected while composing the message, an empty string if not used.",
6116
6345
  "optional": true
6117
6346
  },
6347
+ "attachPublicPGPKey": {
6348
+ "type": "boolean",
6349
+ "optional": true,
6350
+ "description": "Whether the public OpenPGP key of the sending identity should be attached to the message."
6351
+ },
6118
6352
  "attachVCard": {
6119
6353
  "type": "boolean",
6120
6354
  "optional": true,
@@ -6172,6 +6406,18 @@
6172
6406
  "optional": true,
6173
6407
  "description": "Let the sender know when the recipient's server received the message. Not supported by all servers."
6174
6408
  },
6409
+ "selectedEncryptionTechnology": {
6410
+ "choices": [
6411
+ {
6412
+ "$ref": "compose.EncryptionPropertiesSMIME"
6413
+ },
6414
+ {
6415
+ "$ref": "compose.EncryptionPropertiesOpenPGP"
6416
+ }
6417
+ ],
6418
+ "optional": true,
6419
+ "description": "The selected encryption technology (<value>OpenPGP</value> or <value>S/MIME</value>) which is to be used to sign and/or encrypt the message. If the sending identity does not support encryption at all, this will be <value>undefined</value>."
6420
+ },
6175
6421
  "followupTo": {
6176
6422
  "$ref": "ComposeRecipientList",
6177
6423
  "optional": true
@@ -6356,6 +6602,46 @@
6356
6602
  "type": "boolean"
6357
6603
  },
6358
6604
  "description": "A <em>dictionary object</em> with entries for all installed dictionaries, having a language identifier as <em>key</em> (for example <value>en-US</value>) and a boolean expression as <em>value</em>, indicating whether that dictionary is enabled for spellchecking or not."
6605
+ },
6606
+ {
6607
+ "id": "EncryptionPropertiesOpenPGP",
6608
+ "type": "object",
6609
+ "properties": {
6610
+ "name": {
6611
+ "type": "string",
6612
+ "pattern": "^OpenPGP$"
6613
+ },
6614
+ "encryptBody": {
6615
+ "type": "boolean",
6616
+ "description": "Whether encryption of the message body using the OpenPGP technology is enabled. **Note:** If encryption is enabled, but the `preconditions <https://support.mozilla.org/en-US/kb/thunderbird-help-cannot-encrypt>`__ for sending an encrypted message are not met, the message cannot be sent."
6617
+ },
6618
+ "encryptSubject": {
6619
+ "type": "boolean",
6620
+ "description": "Whether encryption of the message subject using the OpenPGP technology is enabled (only supported if encryption of the body is enabled a well)."
6621
+ },
6622
+ "signMessage": {
6623
+ "type": "boolean",
6624
+ "description": "Whether the message will be signed using the OpenPGP technology."
6625
+ }
6626
+ }
6627
+ },
6628
+ {
6629
+ "id": "EncryptionPropertiesSMIME",
6630
+ "type": "object",
6631
+ "properties": {
6632
+ "name": {
6633
+ "type": "string",
6634
+ "pattern": "^S/MIME$"
6635
+ },
6636
+ "encryptBody": {
6637
+ "type": "boolean",
6638
+ "description": "Whether encryption of the message body using the S/MIME technology is enabled. **Note:** If encryption is enabled, but the `preconditions <https://support.mozilla.org/en-US/kb/thunderbird-help-cannot-encrypt>`__ for sending an encrypted message are not met, the message cannot be sent."
6639
+ },
6640
+ "signMessage": {
6641
+ "type": "boolean",
6642
+ "description": "Whether the message will be signed using the S/MIME technology"
6643
+ }
6644
+ }
6359
6645
  }
6360
6646
  ],
6361
6647
  "events": [
@@ -6702,7 +6988,7 @@
6702
6988
  "name": "setComposeDetails",
6703
6989
  "type": "function",
6704
6990
  "async": true,
6705
- "description": "Updates the compose window. The properties of the given :ref:`compose.ComposeDetails` object will be used to overwrite the current values of the specified compose window, so only properties that are to be changed should be included.\n\nWhen updating any of the array properties (``customHeaders`` and most address fields), make sure to first get the current values to not accidentally remove all existing entries when setting the new value.\n\n**Note:** The compose format of an existing compose window cannot be changed. Since Thunderbird 98, setting conflicting values for ``details.body``, ``details.plainTextBody`` or ``details.isPlaintext`` no longer throws an exception, instead the compose window chooses the matching ``details.body`` or ``details.plainTextBody`` value and ignores the other.",
6991
+ "description": "Updates the compose window. The properties of the given :ref:`compose.ComposeDetails` object will be used to overwrite the current values of the specified compose window, so only properties that are to be changed should be included. Modified settings will be treated as user initiated, and turn off further automatic changes on these settings.\n\nWhen updating any of the array properties (``customHeaders`` and most address fields), make sure to first get the current values to not accidentally remove all existing entries when setting the new value.\n\n**Note:** The compose format of an existing compose window cannot be changed. Since Thunderbird 98, setting conflicting values for ``details.body``, ``details.plainTextBody`` or ``details.isPlaintext`` no longer throws an exception, instead the compose window chooses the matching ``details.body`` or ``details.plainTextBody`` value and ignores the other.",
6706
6992
  "permissions": [
6707
6993
  "compose"
6708
6994
  ],
@@ -7339,7 +7625,7 @@
7339
7625
  "type": "integer",
7340
7626
  "optional": true,
7341
7627
  "minimum": 0,
7342
- "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global label is retrieved."
7628
+ "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global value is retrieved."
7343
7629
  },
7344
7630
  "windowId": {
7345
7631
  "type": "integer",
@@ -7560,7 +7846,7 @@
7560
7846
  "type": "integer",
7561
7847
  "optional": true,
7562
7848
  "minimum": 0,
7563
- "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global label is retrieved."
7849
+ "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global value is retrieved."
7564
7850
  },
7565
7851
  "windowId": {
7566
7852
  "type": "integer",
@@ -7585,10 +7871,10 @@
7585
7871
  ]
7586
7872
  },
7587
7873
  {
7588
- "name": "setBadgeBackgroundColor",
7874
+ "name": "setBadgeTextColor",
7589
7875
  "type": "function",
7590
- "description": "Sets the background color for the badge.",
7591
- "async": "callback",
7876
+ "description": "Sets the text color for the badge.",
7877
+ "async": true,
7592
7878
  "parameters": [
7593
7879
  {
7594
7880
  "name": "details",
@@ -7606,13 +7892,13 @@
7606
7892
  "type": "null"
7607
7893
  }
7608
7894
  ],
7609
- "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value> or an empty string."
7895
+ "description": "The color to use as text color in the badge. Cleared by setting it to <value>null</value>."
7610
7896
  },
7611
7897
  "tabId": {
7612
7898
  "type": "integer",
7613
7899
  "optional": true,
7614
7900
  "minimum": 0,
7615
- "description": "Sets the background color for the badge only for the given tab."
7901
+ "description": "Sets the text color for the badge only for the given tab."
7616
7902
  },
7617
7903
  "windowId": {
7618
7904
  "type": "integer",
@@ -7622,9 +7908,88 @@
7622
7908
  "description": "Will throw an error if used."
7623
7909
  }
7624
7910
  }
7625
- },
7626
- {
7627
- "type": "function",
7911
+ }
7912
+ ]
7913
+ },
7914
+ {
7915
+ "name": "getBadgeTextColor",
7916
+ "type": "function",
7917
+ "description": "Gets the text color of the badge.",
7918
+ "async": true,
7919
+ "parameters": [
7920
+ {
7921
+ "name": "details",
7922
+ "type": "object",
7923
+ "properties": {
7924
+ "tabId": {
7925
+ "type": "integer",
7926
+ "optional": true,
7927
+ "minimum": 0,
7928
+ "description": "Specifies for which tab the badge text color should be retrieved. If no tab is specified, the global value is retrieved."
7929
+ },
7930
+ "windowId": {
7931
+ "type": "integer",
7932
+ "optional": true,
7933
+ "minimum": -2,
7934
+ "unsupported": true,
7935
+ "description": "Will throw an error if used."
7936
+ }
7937
+ }
7938
+ },
7939
+ {
7940
+ "type": "function",
7941
+ "name": "callback",
7942
+ "optional": true,
7943
+ "parameters": [
7944
+ {
7945
+ "name": "result",
7946
+ "type": "string"
7947
+ }
7948
+ ]
7949
+ }
7950
+ ]
7951
+ },
7952
+ {
7953
+ "name": "setBadgeBackgroundColor",
7954
+ "type": "function",
7955
+ "description": "Sets the background color for the badge.",
7956
+ "async": "callback",
7957
+ "parameters": [
7958
+ {
7959
+ "name": "details",
7960
+ "type": "object",
7961
+ "properties": {
7962
+ "color": {
7963
+ "choices": [
7964
+ {
7965
+ "type": "string"
7966
+ },
7967
+ {
7968
+ "$ref": "ColorArray"
7969
+ },
7970
+ {
7971
+ "type": "null"
7972
+ }
7973
+ ],
7974
+ "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value>."
7975
+ },
7976
+ "tabId": {
7977
+ "type": "integer",
7978
+ "optional": true,
7979
+ "minimum": 0,
7980
+ "description": "Sets the background color for the badge only for the given tab."
7981
+ },
7982
+ "windowId": {
7983
+ "type": "integer",
7984
+ "optional": true,
7985
+ "minimum": -2,
7986
+ "unsupported": true,
7987
+ "description": "Will throw an error if used."
7988
+ }
7989
+ }
7990
+ },
7991
+ {
7992
+ "type": "function",
7628
7993
  "name": "callback",
7629
7994
  "optional": true,
7630
7995
  "parameters": []
@@ -7645,7 +8010,7 @@
7645
8010
  "type": "integer",
7646
8011
  "optional": true,
7647
8012
  "minimum": 0,
7648
- "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global label is retrieved."
8013
+ "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global value is retrieved."
7649
8014
  },
7650
8015
  "windowId": {
7651
8016
  "type": "integer",
@@ -8405,19 +8770,80 @@
8405
8770
  {
8406
8771
  "name": "get",
8407
8772
  "type": "function",
8773
+ "min_manifest_version": 3,
8408
8774
  "description": "Returns the specified folder.",
8409
8775
  "async": "callback",
8410
8776
  "parameters": [
8411
8777
  {
8412
- "name": "folder",
8778
+ "name": "folderId",
8779
+ "$ref": "folders.MailFolderId"
8780
+ },
8781
+ {
8782
+ "name": "includeSubFolders",
8783
+ "optional": true,
8784
+ "type": "boolean",
8785
+ "default": false,
8786
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object should include all its nested subfolders. Defaults to <value>false</value>."
8787
+ },
8788
+ {
8789
+ "type": "function",
8790
+ "name": "callback",
8791
+ "optional": true,
8792
+ "parameters": [
8793
+ {
8794
+ "$ref": "folders.MailFolder"
8795
+ }
8796
+ ]
8797
+ }
8798
+ ]
8799
+ },
8800
+ {
8801
+ "name": "get",
8802
+ "type": "function",
8803
+ "max_manifest_version": 2,
8804
+ "description": "Returns the specified folder.",
8805
+ "async": "callback",
8806
+ "parameters": [
8807
+ {
8808
+ "name": "folderId",
8413
8809
  "$ref": "folders.MailFolderId"
8414
8810
  },
8415
8811
  {
8416
8812
  "name": "includeSubFolders",
8417
- "description": "Specifies whether the returned :ref:`folders.MailFolder` object should include all its nested subfolders . Defaults to <value>true</value>.",
8418
8813
  "optional": true,
8814
+ "type": "boolean",
8419
8815
  "default": true,
8420
- "type": "boolean"
8816
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object should include all its nested subfolders. Defaults to <value>true</value>."
8817
+ },
8818
+ {
8819
+ "type": "function",
8820
+ "name": "callback",
8821
+ "optional": true,
8822
+ "parameters": [
8823
+ {
8824
+ "$ref": "folders.MailFolder"
8825
+ }
8826
+ ]
8827
+ }
8828
+ ]
8829
+ },
8830
+ {
8831
+ "name": "create",
8832
+ "type": "function",
8833
+ "min_manifest_version": 3,
8834
+ "permissions": [
8835
+ "accountsFolders"
8836
+ ],
8837
+ "description": "Creates a new subfolder in the specified folder.",
8838
+ "async": "callback",
8839
+ "parameters": [
8840
+ {
8841
+ "name": "folderId",
8842
+ "$ref": "folders.MailFolderId"
8843
+ },
8844
+ {
8845
+ "name": "childName",
8846
+ "type": "string"
8421
8847
  },
8422
8848
  {
8423
8849
  "type": "function",
@@ -8434,10 +8860,11 @@
8434
8860
  {
8435
8861
  "name": "create",
8436
8862
  "type": "function",
8863
+ "max_manifest_version": 2,
8437
8864
  "permissions": [
8438
8865
  "accountsFolders"
8439
8866
  ],
8440
- "description": "Creates a new subfolder in the specified folder or at the root of the specified account.",
8867
+ "description": "Creates a new subfolder in the specified folder, or at the root of the specified account.",
8441
8868
  "async": "callback",
8442
8869
  "parameters": [
8443
8870
  {
@@ -8447,12 +8874,10 @@
8447
8874
  "$ref": "folders.MailFolderId"
8448
8875
  },
8449
8876
  {
8450
- "max_manifest_version": 2,
8451
8877
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.create() requires to specify a MailFolderId instead of a full MailFolder object.",
8452
8878
  "$ref": "folders.MailFolder"
8453
8879
  },
8454
8880
  {
8455
- "max_manifest_version": 2,
8456
8881
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.create() requires to specify the MailFolderId of the account's rootFolder, instead of a full MailAccount object.",
8457
8882
  "$ref": "accounts.MailAccount"
8458
8883
  }
@@ -8477,6 +8902,7 @@
8477
8902
  {
8478
8903
  "name": "rename",
8479
8904
  "type": "function",
8905
+ "max_manifest_version": 2,
8480
8906
  "permissions": [
8481
8907
  "accountsFolders"
8482
8908
  ],
@@ -8490,7 +8916,6 @@
8490
8916
  "$ref": "folders.MailFolderId"
8491
8917
  },
8492
8918
  {
8493
- "max_manifest_version": 2,
8494
8919
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.rename() requires to specify a MailFolderId instead of a full MailFolder object.",
8495
8920
  "$ref": "folders.MailFolder"
8496
8921
  }
@@ -8512,9 +8937,40 @@
8512
8937
  }
8513
8938
  ]
8514
8939
  },
8940
+ {
8941
+ "name": "rename",
8942
+ "type": "function",
8943
+ "min_manifest_version": 3,
8944
+ "permissions": [
8945
+ "accountsFolders"
8946
+ ],
8947
+ "description": "Renames a folder.",
8948
+ "async": "callback",
8949
+ "parameters": [
8950
+ {
8951
+ "name": "folderId",
8952
+ "$ref": "folders.MailFolderId"
8953
+ },
8954
+ {
8955
+ "name": "newName",
8956
+ "type": "string"
8957
+ },
8958
+ {
8959
+ "type": "function",
8960
+ "name": "callback",
8961
+ "optional": true,
8962
+ "parameters": [
8963
+ {
8964
+ "$ref": "folders.MailFolder"
8965
+ }
8966
+ ]
8967
+ }
8968
+ ]
8969
+ },
8515
8970
  {
8516
8971
  "name": "move",
8517
8972
  "type": "function",
8973
+ "max_manifest_version": 2,
8518
8974
  "permissions": [
8519
8975
  "accountsFolders"
8520
8976
  ],
@@ -8528,7 +8984,6 @@
8528
8984
  "$ref": "folders.MailFolderId"
8529
8985
  },
8530
8986
  {
8531
- "max_manifest_version": 2,
8532
8987
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.move() requires to specify a MailFolderId for its source parameter, instead of a full MailFolder object.",
8533
8988
  "$ref": "folders.MailFolder"
8534
8989
  }
@@ -8541,12 +8996,10 @@
8541
8996
  "$ref": "folders.MailFolderId"
8542
8997
  },
8543
8998
  {
8544
- "max_manifest_version": 2,
8545
8999
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.move() requires to specify a MailFolderId for its destination parameter, instead of a full MailFolder object.",
8546
9000
  "$ref": "folders.MailFolder"
8547
9001
  },
8548
9002
  {
8549
- "max_manifest_version": 2,
8550
9003
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.move() requires to specify the MailFolderId of the account's rootFolder for its destination parameter, instead of a full MailAccount object.",
8551
9004
  "$ref": "accounts.MailAccount"
8552
9005
  }
@@ -8564,9 +9017,40 @@
8564
9017
  }
8565
9018
  ]
8566
9019
  },
9020
+ {
9021
+ "name": "move",
9022
+ "type": "function",
9023
+ "min_manifest_version": 3,
9024
+ "permissions": [
9025
+ "accountsFolders"
9026
+ ],
9027
+ "description": "Moves the given source folder into the given destination folder. Throws if the destination already contains a folder with the name of the source folder.",
9028
+ "async": "callback",
9029
+ "parameters": [
9030
+ {
9031
+ "name": "sourceFolderId",
9032
+ "$ref": "folders.MailFolderId"
9033
+ },
9034
+ {
9035
+ "name": "destinationFolderId",
9036
+ "$ref": "folders.MailFolderId"
9037
+ },
9038
+ {
9039
+ "type": "function",
9040
+ "name": "callback",
9041
+ "optional": true,
9042
+ "parameters": [
9043
+ {
9044
+ "$ref": "folders.MailFolder"
9045
+ }
9046
+ ]
9047
+ }
9048
+ ]
9049
+ },
8567
9050
  {
8568
9051
  "name": "copy",
8569
9052
  "type": "function",
9053
+ "max_manifest_version": 2,
8570
9054
  "permissions": [
8571
9055
  "accountsFolders"
8572
9056
  ],
@@ -8580,7 +9064,6 @@
8580
9064
  "$ref": "folders.MailFolderId"
8581
9065
  },
8582
9066
  {
8583
- "max_manifest_version": 2,
8584
9067
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.copy() requires to specify a MailFolderId for its source parameter, instead of a full MailFolder object.",
8585
9068
  "$ref": "folders.MailFolder"
8586
9069
  }
@@ -8593,12 +9076,10 @@
8593
9076
  "$ref": "folders.MailFolderId"
8594
9077
  },
8595
9078
  {
8596
- "max_manifest_version": 2,
8597
9079
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.copy() requires to specify a MailFolderId for its destination parameter, instead of a full MailFolder object.",
8598
9080
  "$ref": "folders.MailFolder"
8599
9081
  },
8600
9082
  {
8601
- "max_manifest_version": 2,
8602
9083
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.copy() requires to specify the MailFolderId of the account's rootFolder for its destination parameter, instead of a full MailAccount object.",
8603
9084
  "$ref": "accounts.MailAccount"
8604
9085
  }
@@ -8616,6 +9097,36 @@
8616
9097
  }
8617
9098
  ]
8618
9099
  },
9100
+ {
9101
+ "name": "copy",
9102
+ "type": "function",
9103
+ "min_manifest_version": 3,
9104
+ "permissions": [
9105
+ "accountsFolders"
9106
+ ],
9107
+ "description": "Copies the given source folder into the given destination folder. Throws if the destination already contains a folder with the name of the source folder.",
9108
+ "async": "callback",
9109
+ "parameters": [
9110
+ {
9111
+ "name": "sourceFolderId",
9112
+ "$ref": "folders.MailFolderId"
9113
+ },
9114
+ {
9115
+ "name": "destinationFolderId",
9116
+ "$ref": "folders.MailFolderId"
9117
+ },
9118
+ {
9119
+ "type": "function",
9120
+ "name": "callback",
9121
+ "optional": true,
9122
+ "parameters": [
9123
+ {
9124
+ "$ref": "folders.MailFolder"
9125
+ }
9126
+ ]
9127
+ }
9128
+ ]
9129
+ },
8619
9130
  {
8620
9131
  "name": "delete",
8621
9132
  "permissions": [
@@ -8623,6 +9134,7 @@
8623
9134
  "messagesDelete"
8624
9135
  ],
8625
9136
  "type": "function",
9137
+ "max_manifest_version": 2,
8626
9138
  "description": "Deletes a folder.",
8627
9139
  "async": true,
8628
9140
  "parameters": [
@@ -8633,7 +9145,6 @@
8633
9145
  "$ref": "folders.MailFolderId"
8634
9146
  },
8635
9147
  {
8636
- "max_manifest_version": 2,
8637
9148
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.delete() requires to specify a MailFolderId instead of a full MailFolder object.",
8638
9149
  "$ref": "folders.MailFolder"
8639
9150
  }
@@ -8641,12 +9152,30 @@
8641
9152
  }
8642
9153
  ]
8643
9154
  },
9155
+ {
9156
+ "name": "delete",
9157
+ "permissions": [
9158
+ "accountsFolders",
9159
+ "messagesDelete"
9160
+ ],
9161
+ "type": "function",
9162
+ "min_manifest_version": 3,
9163
+ "description": "Deletes a folder.",
9164
+ "async": true,
9165
+ "parameters": [
9166
+ {
9167
+ "name": "folderId",
9168
+ "$ref": "folders.MailFolderId"
9169
+ }
9170
+ ]
9171
+ },
8644
9172
  {
8645
9173
  "name": "update",
8646
9174
  "permissions": [
8647
9175
  "accountsFolders"
8648
9176
  ],
8649
9177
  "type": "function",
9178
+ "max_manifest_version": 2,
8650
9179
  "description": "Updates properties of a folder.",
8651
9180
  "async": true,
8652
9181
  "parameters": [
@@ -8657,7 +9186,6 @@
8657
9186
  "$ref": "folders.MailFolderId"
8658
9187
  },
8659
9188
  {
8660
- "max_manifest_version": 2,
8661
9189
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.update() requires to specify a MailFolderId instead of a full MailFolder object.",
8662
9190
  "$ref": "folders.MailFolder"
8663
9191
  }
@@ -8677,9 +9205,38 @@
8677
9205
  }
8678
9206
  ]
8679
9207
  },
9208
+ {
9209
+ "name": "update",
9210
+ "permissions": [
9211
+ "accountsFolders"
9212
+ ],
9213
+ "type": "function",
9214
+ "min_manifest_version": 3,
9215
+ "description": "Updates properties of a folder.",
9216
+ "async": true,
9217
+ "parameters": [
9218
+ {
9219
+ "name": "folderId",
9220
+ "$ref": "folders.MailFolderId"
9221
+ },
9222
+ {
9223
+ "name": "updateProperties",
9224
+ "type": "object",
9225
+ "description": "The properties to update.",
9226
+ "properties": {
9227
+ "isFavorite": {
9228
+ "type": "boolean",
9229
+ "optional": true,
9230
+ "description": "Sets or clears the favorite status."
9231
+ }
9232
+ }
9233
+ }
9234
+ ]
9235
+ },
8680
9236
  {
8681
9237
  "name": "getFolderInfo",
8682
9238
  "type": "function",
9239
+ "max_manifest_version": 2,
8683
9240
  "description": "Get additional information about a folder.",
8684
9241
  "async": "callback",
8685
9242
  "parameters": [
@@ -8690,7 +9247,6 @@
8690
9247
  "$ref": "folders.MailFolderId"
8691
9248
  },
8692
9249
  {
8693
- "max_manifest_version": 2,
8694
9250
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.getFolderInfo() requires to specify a MailFolderId instead of a full MailFolder object.",
8695
9251
  "$ref": "folders.MailFolder"
8696
9252
  }
@@ -8708,9 +9264,33 @@
8708
9264
  }
8709
9265
  ]
8710
9266
  },
9267
+ {
9268
+ "name": "getFolderInfo",
9269
+ "type": "function",
9270
+ "min_manifest_version": 3,
9271
+ "description": "Get additional information about a folder.",
9272
+ "async": "callback",
9273
+ "parameters": [
9274
+ {
9275
+ "name": "folderId",
9276
+ "$ref": "folders.MailFolderId"
9277
+ },
9278
+ {
9279
+ "type": "function",
9280
+ "name": "callback",
9281
+ "optional": true,
9282
+ "parameters": [
9283
+ {
9284
+ "$ref": "folders.MailFolderInfo"
9285
+ }
9286
+ ]
9287
+ }
9288
+ ]
9289
+ },
8711
9290
  {
8712
9291
  "name": "getFolderCapabilities",
8713
9292
  "type": "function",
9293
+ "max_manifest_version": 2,
8714
9294
  "description": "Get capability information about a folder.",
8715
9295
  "async": "callback",
8716
9296
  "parameters": [
@@ -8721,7 +9301,6 @@
8721
9301
  "$ref": "folders.MailFolderId"
8722
9302
  },
8723
9303
  {
8724
- "max_manifest_version": 2,
8725
9304
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.getFolderCapabilities() requires to specify a MailFolderId instead of a full MailFolder object.",
8726
9305
  "$ref": "folders.MailFolder"
8727
9306
  }
@@ -8739,9 +9318,33 @@
8739
9318
  }
8740
9319
  ]
8741
9320
  },
9321
+ {
9322
+ "name": "getFolderCapabilities",
9323
+ "type": "function",
9324
+ "min_manifest_version": 3,
9325
+ "description": "Get capability information about a folder.",
9326
+ "async": "callback",
9327
+ "parameters": [
9328
+ {
9329
+ "name": "folderId",
9330
+ "$ref": "folders.MailFolderId"
9331
+ },
9332
+ {
9333
+ "type": "function",
9334
+ "name": "callback",
9335
+ "optional": true,
9336
+ "parameters": [
9337
+ {
9338
+ "$ref": "folders.MailFolderCapabilities"
9339
+ }
9340
+ ]
9341
+ }
9342
+ ]
9343
+ },
8742
9344
  {
8743
9345
  "name": "getParentFolders",
8744
9346
  "type": "function",
9347
+ "max_manifest_version": 2,
8745
9348
  "description": "Get all parent folders as a flat ordered array. The first array entry is the direct parent.",
8746
9349
  "async": "callback",
8747
9350
  "parameters": [
@@ -8752,7 +9355,6 @@
8752
9355
  "$ref": "folders.MailFolderId"
8753
9356
  },
8754
9357
  {
8755
- "max_manifest_version": 2,
8756
9358
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.getParentFolders() requires to specify a MailFolderId instead of a full MailFolder object.",
8757
9359
  "$ref": "folders.MailFolder"
8758
9360
  }
@@ -8760,7 +9362,40 @@
8760
9362
  },
8761
9363
  {
8762
9364
  "name": "includeSubFolders",
8763
- "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each parent folder should include its nested subfolders . Defaults to <value>false</value>.",
9365
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each parent folder should include its nested subfolders. Defaults to <value>false</value>.",
9366
+ "optional": true,
9367
+ "default": false,
9368
+ "type": "boolean"
9369
+ },
9370
+ {
9371
+ "type": "function",
9372
+ "name": "callback",
9373
+ "optional": true,
9374
+ "parameters": [
9375
+ {
9376
+ "type": "array",
9377
+ "items": {
9378
+ "$ref": "folders.MailFolder"
9379
+ }
9380
+ }
9381
+ ]
9382
+ }
9383
+ ]
9384
+ },
9385
+ {
9386
+ "name": "getParentFolders",
9387
+ "type": "function",
9388
+ "min_manifest_version": 3,
9389
+ "description": "Get all parent folders as a flat ordered array. The first array entry is the direct parent.",
9390
+ "async": "callback",
9391
+ "parameters": [
9392
+ {
9393
+ "name": "folderId",
9394
+ "$ref": "folders.MailFolderId"
9395
+ },
9396
+ {
9397
+ "name": "includeSubFolders",
9398
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each parent folder should include its nested subfolders. Defaults to <value>false</value>.",
8764
9399
  "optional": true,
8765
9400
  "default": false,
8766
9401
  "type": "boolean"
@@ -8783,6 +9418,40 @@
8783
9418
  {
8784
9419
  "name": "getSubFolders",
8785
9420
  "type": "function",
9421
+ "min_manifest_version": 3,
9422
+ "description": "Get the subfolders of the specified folder.",
9423
+ "async": "callback",
9424
+ "parameters": [
9425
+ {
9426
+ "name": "folderId",
9427
+ "$ref": "folders.MailFolderId"
9428
+ },
9429
+ {
9430
+ "name": "includeSubFolders",
9431
+ "optional": true,
9432
+ "type": "boolean",
9433
+ "default": false,
9434
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each direct subfolder should also include all its nested subfolders. Defaults to <value>false</value>."
9435
+ },
9436
+ {
9437
+ "type": "function",
9438
+ "name": "callback",
9439
+ "optional": true,
9440
+ "parameters": [
9441
+ {
9442
+ "type": "array",
9443
+ "items": {
9444
+ "$ref": "folders.MailFolder"
9445
+ }
9446
+ }
9447
+ ]
9448
+ }
9449
+ ]
9450
+ },
9451
+ {
9452
+ "name": "getSubFolders",
9453
+ "type": "function",
9454
+ "max_manifest_version": 2,
8786
9455
  "description": "Get the subfolders of the specified folder or account.",
8787
9456
  "async": "callback",
8788
9457
  "parameters": [
@@ -8793,12 +9462,10 @@
8793
9462
  "$ref": "folders.MailFolderId"
8794
9463
  },
8795
9464
  {
8796
- "max_manifest_version": 2,
8797
9465
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.getSubFolders() requires to specify a MailFolderId instead of a full MailFolder object.",
8798
9466
  "$ref": "folders.MailFolder"
8799
9467
  },
8800
9468
  {
8801
- "max_manifest_version": 2,
8802
9469
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.getSubFolders() requires to specify the MailFolderId of the account's rootFolder, instead of a full MailAccount object.",
8803
9470
  "$ref": "accounts.MailAccount"
8804
9471
  }
@@ -8806,10 +9473,10 @@
8806
9473
  },
8807
9474
  {
8808
9475
  "name": "includeSubFolders",
8809
- "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each direct subfolder should also include all its nested subfolders . Defaults to <value>true</value>.",
8810
9476
  "optional": true,
9477
+ "type": "boolean",
8811
9478
  "default": true,
8812
- "type": "boolean"
9479
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each direct subfolder should also include all its nested subfolders. Defaults to <value>true</value>."
8813
9480
  },
8814
9481
  {
8815
9482
  "type": "function",
@@ -8892,6 +9559,7 @@
8892
9559
  "accountsFolders"
8893
9560
  ],
8894
9561
  "type": "function",
9562
+ "max_manifest_version": 2,
8895
9563
  "description": "Marks all messages in a folder as read.",
8896
9564
  "async": false,
8897
9565
  "parameters": [
@@ -8902,13 +9570,28 @@
8902
9570
  "$ref": "folders.MailFolderId"
8903
9571
  },
8904
9572
  {
8905
- "max_manifest_version": 2,
8906
9573
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: folders.markAsRead() requires to specify a MailFolderId instead of a full MailFolder object.",
8907
9574
  "$ref": "folders.MailFolder"
8908
9575
  }
8909
9576
  ]
8910
9577
  }
8911
9578
  ]
9579
+ },
9580
+ {
9581
+ "name": "markAsRead",
9582
+ "permissions": [
9583
+ "accountsFolders"
9584
+ ],
9585
+ "type": "function",
9586
+ "min_manifest_version": 3,
9587
+ "description": "Marks all messages in a folder as read.",
9588
+ "async": false,
9589
+ "parameters": [
9590
+ {
9591
+ "name": "folderId",
9592
+ "$ref": "folders.MailFolderId"
9593
+ }
9594
+ ]
8912
9595
  }
8913
9596
  ],
8914
9597
  "events": [
@@ -9035,6 +9718,20 @@
9035
9718
  "accountsRead"
9036
9719
  ],
9037
9720
  "types": [
9721
+ {
9722
+ "id": "EncryptionCapabilities",
9723
+ "type": "object",
9724
+ "properties": {
9725
+ "canEncrypt": {
9726
+ "type": "boolean",
9727
+ "description": "Whether the encryption technology is configured to support message encryption."
9728
+ },
9729
+ "canSign": {
9730
+ "type": "boolean",
9731
+ "description": "Whether the encryption technology is configured to support message signing."
9732
+ }
9733
+ }
9734
+ },
9038
9735
  {
9039
9736
  "id": "MailIdentity",
9040
9737
  "type": "object",
@@ -9088,6 +9785,21 @@
9088
9785
  "type": "boolean",
9089
9786
  "optional": true,
9090
9787
  "description": "If the signature should be interpreted as plain text or as HTML."
9788
+ },
9789
+ "encryptionCapabilities": {
9790
+ "type": "object",
9791
+ "optional": true,
9792
+ "description": "The encryption capabilities of this identity. Read only.",
9793
+ "properties": {
9794
+ "OpenPGP": {
9795
+ "$ref": "identities.EncryptionCapabilities",
9796
+ "description": "The capabilities of this identity for the OpenPGP encryption technology."
9797
+ },
9798
+ "S/MIME": {
9799
+ "$ref": "identities.EncryptionCapabilities",
9800
+ "description": "The capabilities of this identity for the S/MIME encryption technology."
9801
+ }
9802
+ }
9091
9803
  }
9092
9804
  }
9093
9805
  }
@@ -9334,6 +10046,11 @@
9334
10046
  "type": "object",
9335
10047
  "properties": {
9336
10048
  "id": {
10049
+ "max_manifest_version": 2,
10050
+ "type": "integer"
10051
+ },
10052
+ "tabId": {
10053
+ "min_manifest_version": 3,
9337
10054
  "type": "integer"
9338
10055
  },
9339
10056
  "windowId": {
@@ -9342,6 +10059,17 @@
9342
10059
  "active": {
9343
10060
  "type": "boolean"
9344
10061
  },
10062
+ "groupType": {
10063
+ "type": "string",
10064
+ "min_manifest_version": 3,
10065
+ "description": "Grouping type of the message list.",
10066
+ "optional": true,
10067
+ "enum": [
10068
+ "ungrouped",
10069
+ "groupedByThread",
10070
+ "groupedBySortType"
10071
+ ]
10072
+ },
9345
10073
  "sortType": {
9346
10074
  "type": "string",
9347
10075
  "description": "The primary sort column of the message list.",
@@ -9381,7 +10109,8 @@
9381
10109
  },
9382
10110
  "viewType": {
9383
10111
  "type": "string",
9384
- "description": "Group mode of the message list.",
10112
+ "max_manifest_version": 2,
10113
+ "description": "Grouping type of the message list.",
9385
10114
  "optional": true,
9386
10115
  "enum": [
9387
10116
  "ungrouped",
@@ -9433,6 +10162,17 @@
9433
10162
  "id": "MailTabProperties",
9434
10163
  "type": "object",
9435
10164
  "properties": {
10165
+ "groupType": {
10166
+ "type": "string",
10167
+ "min_manifest_version": 3,
10168
+ "description": "Grouping type of the message list.",
10169
+ "optional": true,
10170
+ "enum": [
10171
+ "ungrouped",
10172
+ "groupedByThread",
10173
+ "groupedBySortType"
10174
+ ]
10175
+ },
9436
10176
  "sortType": {
9437
10177
  "type": "string",
9438
10178
  "description": "Sorts the list of messages. ``sortOrder`` must also be given.",
@@ -9472,7 +10212,8 @@
9472
10212
  },
9473
10213
  "viewType": {
9474
10214
  "type": "string",
9475
- "description": "Sets the group mode of displayed messages.",
10215
+ "max_manifest_version": 2,
10216
+ "description": "Sets the grouping type of displayed messages.",
9476
10217
  "optional": true,
9477
10218
  "enum": [
9478
10219
  "ungrouped",
@@ -9611,7 +10352,7 @@
9611
10352
  {
9612
10353
  "type": "array",
9613
10354
  "items": {
9614
- "$ref": "MailTab"
10355
+ "$ref": "mailTabs.MailTab"
9615
10356
  }
9616
10357
  }
9617
10358
  ]
@@ -9621,13 +10362,13 @@
9621
10362
  {
9622
10363
  "name": "get",
9623
10364
  "type": "function",
9624
- "description": "Get the properties of a mail tab.",
10365
+ "description": "Get the :ref:`mailTabs.MailTab` properties of a mail tab.",
9625
10366
  "async": "callback",
9626
10367
  "parameters": [
9627
10368
  {
9628
10369
  "name": "tabId",
9629
10370
  "type": "integer",
9630
- "description": "ID of the requested mail tab. Throws if the requested tab is not a mail tab."
10371
+ "description": "ID of the requested mail tab. Throws if the requested <value>tabId</value> does not belong to a mail tab."
9631
10372
  },
9632
10373
  {
9633
10374
  "type": "function",
@@ -9635,7 +10376,7 @@
9635
10376
  "optional": true,
9636
10377
  "parameters": [
9637
10378
  {
9638
- "$ref": "MailTab"
10379
+ "$ref": "mailTabs.MailTab"
9639
10380
  }
9640
10381
  ]
9641
10382
  }
@@ -9644,7 +10385,8 @@
9644
10385
  {
9645
10386
  "name": "getCurrent",
9646
10387
  "type": "function",
9647
- "description": "Get the properties of the active mail tab, if the active tab is a mail tab. Returns <value>undefined</value> otherwise.",
10388
+ "max_manifest_version": 2,
10389
+ "description": "Get the :ref:`mailTabs.MailTab` properties of the active mail tab. Returns <value>undefined</value>, if the active tab is not a mail tab.",
9648
10390
  "async": "callback",
9649
10391
  "parameters": [
9650
10392
  {
@@ -9653,7 +10395,7 @@
9653
10395
  "optional": true,
9654
10396
  "parameters": [
9655
10397
  {
9656
- "$ref": "MailTab",
10398
+ "$ref": "mailTabs.MailTab",
9657
10399
  "optional": true,
9658
10400
  "description": "This may return undefined"
9659
10401
  }
@@ -9669,7 +10411,7 @@
9669
10411
  "parameters": [
9670
10412
  {
9671
10413
  "name": "createProperties",
9672
- "$ref": "MailTabProperties",
10414
+ "$ref": "mailTabs.MailTabProperties",
9673
10415
  "optional": true,
9674
10416
  "default": {}
9675
10417
  },
@@ -9680,7 +10422,7 @@
9680
10422
  "parameters": [
9681
10423
  {
9682
10424
  "name": "mailTab",
9683
- "$ref": "MailTab",
10425
+ "$ref": "mailTabs.MailTab",
9684
10426
  "description": "Details about the created mail tab. Will contain the ID of the new tab."
9685
10427
  }
9686
10428
  ]
@@ -9702,7 +10444,7 @@
9702
10444
  },
9703
10445
  {
9704
10446
  "name": "updateProperties",
9705
- "$ref": "MailTabProperties"
10447
+ "$ref": "mailTabs.MailTabProperties"
9706
10448
  },
9707
10449
  {
9708
10450
  "type": "function",
@@ -9711,7 +10453,7 @@
9711
10453
  "parameters": [
9712
10454
  {
9713
10455
  "name": "mailTab",
9714
- "$ref": "MailTab",
10456
+ "$ref": "mailTabs.MailTab",
9715
10457
  "description": "Details about the updated mail tab."
9716
10458
  }
9717
10459
  ]
@@ -9856,7 +10598,7 @@
9856
10598
  "optional": true
9857
10599
  },
9858
10600
  "text": {
9859
- "$ref": "QuickFilterTextDetail",
10601
+ "$ref": "mailTabs.QuickFilterTextDetail",
9860
10602
  "description": "Shows only messages matching the supplied text.",
9861
10603
  "optional": true
9862
10604
  }
@@ -10097,7 +10839,7 @@
10097
10839
  "selectedMessages": {
10098
10840
  "$ref": "messages.MessageList",
10099
10841
  "optional": true,
10100
- "description": "The selected messages, if the context menu was opened in the message list. The <permission>messagesRead</permission> permission is required."
10842
+ "description": "The selected message(s), if the context menu was opened in the message list. The <permission>messagesRead</permission> permission is required."
10101
10843
  },
10102
10844
  "displayedFolder": {
10103
10845
  "$ref": "folders.MailFolder",
@@ -10106,11 +10848,21 @@
10106
10848
  },
10107
10849
  "selectedFolder": {
10108
10850
  "$ref": "folders.MailFolder",
10851
+ "max_manifest_version": 2,
10109
10852
  "optional": true,
10110
10853
  "description": "The selected folder, if the context menu was opened in the folder pane. The <permission>accountsRead</permission> permission is required."
10111
10854
  },
10855
+ "selectedFolders": {
10856
+ "type": "array",
10857
+ "items": {
10858
+ "$ref": "folders.MailFolder"
10859
+ },
10860
+ "optional": true,
10861
+ "description": "The selected folder(s), if the context menu was opened in the folder pane. The <permission>accountsRead</permission> permission is required."
10862
+ },
10112
10863
  "selectedAccount": {
10113
10864
  "$ref": "accounts.MailAccount",
10865
+ "max_manifest_version": 2,
10114
10866
  "optional": true,
10115
10867
  "description": "The selected account, if the context menu was opened on an account entry in the folder pane. The <permission>accountsRead</permission> permission is required."
10116
10868
  },
@@ -10259,7 +11011,7 @@
10259
11011
  "selectedMessages": {
10260
11012
  "$ref": "messages.MessageList",
10261
11013
  "optional": true,
10262
- "description": "The selected messages, if the context menu was opened in the message list. The <permission>messagesRead</permission> permission is required."
11014
+ "description": "The selected message(s), if the context menu was opened in the message list. The <permission>messagesRead</permission> permission is required."
10263
11015
  },
10264
11016
  "displayedFolder": {
10265
11017
  "$ref": "folders.MailFolder",
@@ -10268,11 +11020,21 @@
10268
11020
  },
10269
11021
  "selectedFolder": {
10270
11022
  "$ref": "folders.MailFolder",
11023
+ "max_manifest_version": 2,
10271
11024
  "optional": true,
10272
11025
  "description": "The selected folder, if the context menu was opened in the folder pane. The <permission>accountsRead</permission> permission is required."
10273
11026
  },
11027
+ "selectedFolders": {
11028
+ "type": "array",
11029
+ "items": {
11030
+ "$ref": "folders.MailFolder"
11031
+ },
11032
+ "optional": true,
11033
+ "description": "The selected folder(s), if the context menu was opened in the folder pane. The <permission>accountsRead</permission> permission is required."
11034
+ },
10274
11035
  "selectedAccount": {
10275
11036
  "$ref": "accounts.MailAccount",
11037
+ "max_manifest_version": 2,
10276
11038
  "optional": true,
10277
11039
  "description": "The selected account, if the context menu was opened on an account entry in the folder pane. The <permission>accountsRead</permission> permission is required."
10278
11040
  },
@@ -10773,6 +11535,7 @@
10773
11535
  {
10774
11536
  "name": "onMessageDisplayed",
10775
11537
  "type": "function",
11538
+ "max_manifest_version": 2,
10776
11539
  "description": "Fired when a message is displayed, whether in a 3-pane tab, a message tab, or a message window.",
10777
11540
  "parameters": [
10778
11541
  {
@@ -10807,6 +11570,7 @@
10807
11570
  "functions": [
10808
11571
  {
10809
11572
  "name": "getDisplayedMessage",
11573
+ "max_manifest_version": 2,
10810
11574
  "type": "function",
10811
11575
  "description": "Gets the currently displayed message in the specified tab (even if the tab itself is currently not visible), or the currently active tab. It returns <value>null</value> if no messages are displayed, or if multiple messages are displayed.",
10812
11576
  "async": "callback",
@@ -11210,7 +11974,7 @@
11210
11974
  "type": "integer",
11211
11975
  "optional": true,
11212
11976
  "minimum": 0,
11213
- "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global label is retrieved."
11977
+ "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global value is retrieved."
11214
11978
  },
11215
11979
  "windowId": {
11216
11980
  "type": "integer",
@@ -11431,7 +12195,86 @@
11431
12195
  "type": "integer",
11432
12196
  "optional": true,
11433
12197
  "minimum": 0,
11434
- "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global label is retrieved."
12198
+ "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global value is retrieved."
12199
+ },
12200
+ "windowId": {
12201
+ "type": "integer",
12202
+ "optional": true,
12203
+ "minimum": -2,
12204
+ "unsupported": true,
12205
+ "description": "Will throw an error if used."
12206
+ }
12207
+ }
12208
+ },
12209
+ {
12210
+ "type": "function",
12211
+ "name": "callback",
12212
+ "optional": true,
12213
+ "parameters": [
12214
+ {
12215
+ "name": "result",
12216
+ "type": "string"
12217
+ }
12218
+ ]
12219
+ }
12220
+ ]
12221
+ },
12222
+ {
12223
+ "name": "setBadgeTextColor",
12224
+ "type": "function",
12225
+ "description": "Sets the text color for the badge.",
12226
+ "async": true,
12227
+ "parameters": [
12228
+ {
12229
+ "name": "details",
12230
+ "type": "object",
12231
+ "properties": {
12232
+ "color": {
12233
+ "choices": [
12234
+ {
12235
+ "type": "string"
12236
+ },
12237
+ {
12238
+ "$ref": "ColorArray"
12239
+ },
12240
+ {
12241
+ "type": "null"
12242
+ }
12243
+ ],
12244
+ "description": "The color to use as text color in the badge. Cleared by setting it to <value>null</value>."
12245
+ },
12246
+ "tabId": {
12247
+ "type": "integer",
12248
+ "optional": true,
12249
+ "minimum": 0,
12250
+ "description": "Sets the text color for the badge only for the given tab."
12251
+ },
12252
+ "windowId": {
12253
+ "type": "integer",
12254
+ "optional": true,
12255
+ "minimum": -2,
12256
+ "unsupported": true,
12257
+ "description": "Will throw an error if used."
12258
+ }
12259
+ }
12260
+ }
12261
+ ]
12262
+ },
12263
+ {
12264
+ "name": "getBadgeTextColor",
12265
+ "type": "function",
12266
+ "description": "Gets the text color of the badge.",
12267
+ "async": true,
12268
+ "parameters": [
12269
+ {
12270
+ "name": "details",
12271
+ "type": "object",
12272
+ "properties": {
12273
+ "tabId": {
12274
+ "type": "integer",
12275
+ "optional": true,
12276
+ "minimum": 0,
12277
+ "description": "Specifies for which tab the badge text color should be retrieved. If no tab is specified, the global value is retrieved."
11435
12278
  },
11436
12279
  "windowId": {
11437
12280
  "type": "integer",
@@ -11477,7 +12320,7 @@
11477
12320
  "type": "null"
11478
12321
  }
11479
12322
  ],
11480
- "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value> or an empty string."
12323
+ "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value>."
11481
12324
  },
11482
12325
  "tabId": {
11483
12326
  "type": "integer",
@@ -11516,7 +12359,7 @@
11516
12359
  "type": "integer",
11517
12360
  "optional": true,
11518
12361
  "minimum": 0,
11519
- "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global label is retrieved."
12362
+ "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global value is retrieved."
11520
12363
  },
11521
12364
  "windowId": {
11522
12365
  "type": "integer",
@@ -11924,7 +12767,7 @@
11924
12767
  {
11925
12768
  "id": "MessageAttachment",
11926
12769
  "type": "object",
11927
- "description": "Represents an attachment in a message.",
12770
+ "description": "Represents an attachment in a message. This includes all MIME parts with a <value>content-disposition</value> header set to <value>attachment</value>, but also related parts like inline images.",
11928
12771
  "properties": {
11929
12772
  "contentType": {
11930
12773
  "type": "string",
@@ -11942,6 +12785,11 @@
11942
12785
  "type": "integer",
11943
12786
  "description": "The size in bytes of this attachment."
11944
12787
  },
12788
+ "contentId": {
12789
+ "type": "string",
12790
+ "optional": true,
12791
+ "description": "The content-id of this part. Available for related parts, which are referenced from other places inside the same message (e.g. inline images)."
12792
+ },
11945
12793
  "message": {
11946
12794
  "$ref": "messages.MessageHeader",
11947
12795
  "optional": true,
@@ -12064,6 +12912,33 @@
12064
12912
  {
12065
12913
  "name": "list",
12066
12914
  "type": "function",
12915
+ "min_manifest_version": 3,
12916
+ "description": "Gets all messages in a folder.",
12917
+ "async": "callback",
12918
+ "permissions": [
12919
+ "accountsRead"
12920
+ ],
12921
+ "parameters": [
12922
+ {
12923
+ "name": "folderId",
12924
+ "$ref": "folders.MailFolderId"
12925
+ },
12926
+ {
12927
+ "type": "function",
12928
+ "name": "callback",
12929
+ "optional": true,
12930
+ "parameters": [
12931
+ {
12932
+ "$ref": "messages.MessageList"
12933
+ }
12934
+ ]
12935
+ }
12936
+ ]
12937
+ },
12938
+ {
12939
+ "name": "list",
12940
+ "type": "function",
12941
+ "max_manifest_version": 2,
12067
12942
  "description": "Gets all messages in a folder.",
12068
12943
  "async": "callback",
12069
12944
  "permissions": [
@@ -12077,7 +12952,6 @@
12077
12952
  "$ref": "folders.MailFolderId"
12078
12953
  },
12079
12954
  {
12080
- "max_manifest_version": 2,
12081
12955
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: messages.list() requires to specify a MailFolderId instead of a full MailFolder object.",
12082
12956
  "$ref": "folders.MailFolder"
12083
12957
  }
@@ -12548,6 +13422,7 @@
12548
13422
  {
12549
13423
  "name": "move",
12550
13424
  "type": "function",
13425
+ "max_manifest_version": 2,
12551
13426
  "description": "Moves messages to a specified folder. If the messages cannot be removed from the source folder, they will be copied instead of moved. Moving external messages will throw an <em>ExtensionError</em>.",
12552
13427
  "async": true,
12553
13428
  "permissions": [
@@ -12570,7 +13445,6 @@
12570
13445
  "$ref": "folders.MailFolderId"
12571
13446
  },
12572
13447
  {
12573
- "max_manifest_version": 2,
12574
13448
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: messages.move() requires to specify a MailFolderId instead of a full MailFolder object.",
12575
13449
  "$ref": "folders.MailFolder"
12576
13450
  }
@@ -12579,9 +13453,36 @@
12579
13453
  }
12580
13454
  ]
12581
13455
  },
13456
+ {
13457
+ "name": "move",
13458
+ "type": "function",
13459
+ "min_manifest_version": 3,
13460
+ "description": "Moves messages to a specified folder. If the messages cannot be removed from the source folder, they will be copied instead of moved. Moving external messages will throw an <em>ExtensionError</em>.",
13461
+ "async": true,
13462
+ "permissions": [
13463
+ "accountsRead",
13464
+ "messagesMove"
13465
+ ],
13466
+ "parameters": [
13467
+ {
13468
+ "name": "messageIds",
13469
+ "type": "array",
13470
+ "description": "The IDs of the messages to move.",
13471
+ "items": {
13472
+ "$ref": "messages.MessageId"
13473
+ }
13474
+ },
13475
+ {
13476
+ "name": "folderId",
13477
+ "$ref": "folders.MailFolderId",
13478
+ "description": "The folder to move the messages to."
13479
+ }
13480
+ ]
13481
+ },
12582
13482
  {
12583
13483
  "name": "copy",
12584
13484
  "type": "function",
13485
+ "max_manifest_version": 2,
12585
13486
  "description": "Copies messages to a specified folder.",
12586
13487
  "async": true,
12587
13488
  "permissions": [
@@ -12604,7 +13505,6 @@
12604
13505
  "$ref": "folders.MailFolderId"
12605
13506
  },
12606
13507
  {
12607
- "max_manifest_version": 2,
12608
13508
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: messages.copy() requires to specify a MailFolderId instead of a full MailFolder object.",
12609
13509
  "$ref": "folders.MailFolder"
12610
13510
  }
@@ -12613,6 +13513,32 @@
12613
13513
  }
12614
13514
  ]
12615
13515
  },
13516
+ {
13517
+ "name": "copy",
13518
+ "type": "function",
13519
+ "min_manifest_version": 3,
13520
+ "description": "Copies messages to a specified folder.",
13521
+ "async": true,
13522
+ "permissions": [
13523
+ "accountsRead",
13524
+ "messagesMove"
13525
+ ],
13526
+ "parameters": [
13527
+ {
13528
+ "name": "messageIds",
13529
+ "type": "array",
13530
+ "description": "The IDs of the messages to copy.",
13531
+ "items": {
13532
+ "$ref": "messages.MessageId"
13533
+ }
13534
+ },
13535
+ {
13536
+ "name": "folderId",
13537
+ "$ref": "folders.MailFolderId",
13538
+ "description": "The folder to copy the messages to."
13539
+ }
13540
+ ]
13541
+ },
12616
13542
  {
12617
13543
  "name": "delete",
12618
13544
  "type": "function",
@@ -12641,6 +13567,7 @@
12641
13567
  {
12642
13568
  "name": "import",
12643
13569
  "type": "function",
13570
+ "max_manifest_version": 2,
12644
13571
  "description": "Imports a message into a local Thunderbird folder. To import a message into an IMAP folder, add it to a local folder first and then move it to the IMAP folder.",
12645
13572
  "async": "callback",
12646
13573
  "permissions": [
@@ -12661,7 +13588,6 @@
12661
13588
  "$ref": "folders.MailFolderId"
12662
13589
  },
12663
13590
  {
12664
- "max_manifest_version": 2,
12665
13591
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: messages.import() requires to specify a MailFolderId instead of a full MailFolder object.",
12666
13592
  "$ref": "folders.MailFolder"
12667
13593
  }
@@ -12685,6 +13611,45 @@
12685
13611
  }
12686
13612
  ]
12687
13613
  },
13614
+ {
13615
+ "name": "import",
13616
+ "type": "function",
13617
+ "min_manifest_version": 3,
13618
+ "description": "Imports a message into a local Thunderbird folder. To import a message into an IMAP folder, add it to a local folder first and then move it to the IMAP folder.",
13619
+ "async": "callback",
13620
+ "permissions": [
13621
+ "accountsRead",
13622
+ "messagesImport"
13623
+ ],
13624
+ "parameters": [
13625
+ {
13626
+ "name": "file",
13627
+ "type": "object",
13628
+ "isInstanceOf": "File",
13629
+ "additionalProperties": true
13630
+ },
13631
+ {
13632
+ "name": "folderId",
13633
+ "$ref": "folders.MailFolderId",
13634
+ "description": "The folder to import the messages into."
13635
+ },
13636
+ {
13637
+ "name": "properties",
13638
+ "$ref": "messages.MessageProperties",
13639
+ "optional": true
13640
+ },
13641
+ {
13642
+ "type": "function",
13643
+ "name": "callback",
13644
+ "optional": true,
13645
+ "parameters": [
13646
+ {
13647
+ "$ref": "messages.MessageHeader"
13648
+ }
13649
+ ]
13650
+ }
13651
+ ]
13652
+ },
12688
13653
  {
12689
13654
  "name": "archive",
12690
13655
  "type": "function",
@@ -13062,7 +14027,7 @@
13062
14027
  "type": "string"
13063
14028
  },
13064
14029
  {
13065
- "$ref": "ColorArray"
14030
+ "$ref": "spaces.ColorArray"
13066
14031
  }
13067
14032
  ],
13068
14033
  "optional": true,
@@ -13110,7 +14075,7 @@
13110
14075
  "type": "string"
13111
14076
  },
13112
14077
  {
13113
- "$ref": "ColorArray"
14078
+ "$ref": "spaces.ColorArray"
13114
14079
  }
13115
14080
  ],
13116
14081
  "optional": "omit-key-if-missing",
@@ -13269,6 +14234,14 @@
13269
14234
  "properties": {
13270
14235
  "id": {
13271
14236
  "type": "integer",
14237
+ "max_manifest_version": 2,
14238
+ "description": "The id of the space.",
14239
+ "optional": true,
14240
+ "minimum": 1
14241
+ },
14242
+ "spaceId": {
14243
+ "type": "integer",
14244
+ "min_manifest_version": 3,
13272
14245
  "description": "The id of the space.",
13273
14246
  "optional": true,
13274
14247
  "minimum": 1
@@ -14625,6 +15598,41 @@
14625
15598
  }
14626
15599
  ],
14627
15600
  "functions": [
15601
+ {
15602
+ "name": "convertToPlainText",
15603
+ "type": "function",
15604
+ "description": "Converts the provided body to readable plain text, without tags and leading/trailing whitespace.",
15605
+ "async": "callback",
15606
+ "parameters": [
15607
+ {
15608
+ "name": "body",
15609
+ "type": "string",
15610
+ "description": "The to-be-converted body."
15611
+ },
15612
+ {
15613
+ "name": "options",
15614
+ "type": "object",
15615
+ "optional": true,
15616
+ "properties": {
15617
+ "flowed": {
15618
+ "type": "boolean",
15619
+ "optional": true,
15620
+ "description": "The converted plain text will be wrapped to lines not longer than 72 characters and use format flowed, as defined by RFC 2646."
15621
+ }
15622
+ }
15623
+ },
15624
+ {
15625
+ "type": "function",
15626
+ "name": "callback",
15627
+ "optional": true,
15628
+ "parameters": [
15629
+ {
15630
+ "type": "string"
15631
+ }
15632
+ ]
15633
+ }
15634
+ ]
15635
+ },
14628
15636
  {
14629
15637
  "name": "formatFileSize",
14630
15638
  "type": "function",