@oomol-lab/open-connector 1.6.3 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/assets/open-connector/catalog/apps/aisa.json +568 -0
  2. package/assets/open-connector/catalog/apps/bilibili.json +2586 -0
  3. package/assets/open-connector/catalog/apps/bitwarden.json +1423 -0
  4. package/assets/open-connector/catalog/apps/cronfree.json +303 -0
  5. package/assets/open-connector/catalog/apps/cufinder.json +368 -0
  6. package/assets/open-connector/catalog/apps/feishu_app_bot.json +2 -2
  7. package/assets/open-connector/catalog/apps/gmail.json +73 -0
  8. package/assets/open-connector/catalog/apps/investoday_mcp.json +22228 -197
  9. package/assets/open-connector/catalog/apps/ixspy.json +2274 -0
  10. package/assets/open-connector/catalog/apps/jin10.json +1 -1
  11. package/assets/open-connector/catalog/apps/osv.json +663 -0
  12. package/assets/open-connector/catalog/apps/pdf_vector.json +329 -0
  13. package/assets/open-connector/catalog/apps/pulsetic.json +406 -0
  14. package/assets/open-connector/catalog/apps/shopee.json +1785 -0
  15. package/assets/open-connector/catalog/apps/slack.json +81 -0
  16. package/assets/open-connector/catalog/apps/slackbot.json +81 -0
  17. package/assets/open-connector/catalog/apps/speak_ai.json +360 -0
  18. package/assets/open-connector/catalog/apps/tongdaxin.json +11 -440
  19. package/assets/open-connector/catalog/apps/zyhub.json +1585 -0
  20. package/assets/open-connector/catalog/apps-index.json +1 -1
  21. package/package.json +1 -1
  22. package/src/core/json-schema.d.ts +5 -1
  23. package/src/core/json-schema.js +14 -2
  24. package/src/core/types.d.ts +9 -0
  25. package/src/oauth/oauth-credential-refresh-service.js +3 -1
  26. package/src/oauth/oauth-flow-service.js +17 -2
  27. package/src/oauth/oauth-token.d.ts +13 -0
  28. package/src/providers/action-contracts.generated.d.ts +16 -4
  29. package/src/providers/aisa/executors.d.ts +4 -0
  30. package/src/providers/aisa/executors.js +176 -0
  31. package/src/providers/bilibili/articles.d.ts +3 -0
  32. package/src/providers/bilibili/articles.js +369 -0
  33. package/src/providers/bilibili/executors.d.ts +8 -0
  34. package/src/providers/bilibili/executors.js +262 -0
  35. package/src/providers/bilibili/runtime.d.ts +95 -0
  36. package/src/providers/bilibili/runtime.js +238 -0
  37. package/src/providers/bilibili/upload.d.ts +14 -0
  38. package/src/providers/bilibili/upload.js +105 -0
  39. package/src/providers/bitwarden/executors.d.ts +3 -0
  40. package/src/providers/bitwarden/executors.js +146 -0
  41. package/src/providers/cronfree/executors.d.ts +4 -0
  42. package/src/providers/cronfree/executors.js +89 -0
  43. package/src/providers/cufinder/executors.d.ts +4 -0
  44. package/src/providers/cufinder/executors.js +105 -0
  45. package/src/providers/dropbox/executors.js +21 -3
  46. package/src/providers/elevenreader/runtime.js +6 -5
  47. package/src/providers/feishu_app_bot/scopes.js +1 -1
  48. package/src/providers/gmail/attachment-stream.d.ts +2 -0
  49. package/src/providers/gmail/attachment-stream.js +162 -0
  50. package/src/providers/gmail/executors.d.ts +3 -1
  51. package/src/providers/gmail/executors.js +53 -25
  52. package/src/providers/investoday_mcp/official-actions.js +19 -372
  53. package/src/providers/investoday_mcp/official-tool-types.d.ts +10 -0
  54. package/src/providers/investoday_mcp/official-tool-types.js +4 -0
  55. package/src/providers/investoday_mcp/official-tools/charts.d.ts +2 -0
  56. package/src/providers/investoday_mcp/official-tools/charts.js +32 -0
  57. package/src/providers/investoday_mcp/official-tools/fixed-income.d.ts +2 -0
  58. package/src/providers/investoday_mcp/official-tools/fixed-income.js +326 -0
  59. package/src/providers/investoday_mcp/official-tools/funds.d.ts +2 -0
  60. package/src/providers/investoday_mcp/official-tools/funds.js +1085 -0
  61. package/src/providers/investoday_mcp/official-tools/hong-kong.d.ts +2 -0
  62. package/src/providers/investoday_mcp/official-tools/hong-kong.js +275 -0
  63. package/src/providers/investoday_mcp/official-tools/indices-industries.d.ts +2 -0
  64. package/src/providers/investoday_mcp/official-tools/indices-industries.js +642 -0
  65. package/src/providers/investoday_mcp/official-tools/macro-calendar.d.ts +2 -0
  66. package/src/providers/investoday_mcp/official-tools/macro-calendar.js +398 -0
  67. package/src/providers/investoday_mcp/official-tools/other.d.ts +2 -0
  68. package/src/providers/investoday_mcp/official-tools/other.js +131 -0
  69. package/src/providers/investoday_mcp/official-tools/research-news.d.ts +2 -0
  70. package/src/providers/investoday_mcp/official-tools/research-news.js +302 -0
  71. package/src/providers/investoday_mcp/official-tools/stocks.d.ts +2 -0
  72. package/src/providers/investoday_mcp/official-tools/stocks.js +2829 -0
  73. package/src/providers/ixspy/executors.d.ts +3 -0
  74. package/src/providers/ixspy/executors.js +220 -0
  75. package/src/providers/mcp-client.d.ts +1 -0
  76. package/src/providers/mcp-client.js +41 -27
  77. package/src/providers/osv/executors.d.ts +2 -0
  78. package/src/providers/osv/executors.js +11 -0
  79. package/src/providers/osv/runtime.d.ts +9 -0
  80. package/src/providers/osv/runtime.js +66 -0
  81. package/src/providers/pdf_vector/executors.d.ts +4 -0
  82. package/src/providers/pdf_vector/executors.js +108 -0
  83. package/src/providers/provider-runtime.d.ts +3 -0
  84. package/src/providers/provider-runtime.js +4 -1
  85. package/src/providers/pulsetic/executors.d.ts +4 -0
  86. package/src/providers/pulsetic/executors.js +126 -0
  87. package/src/providers/registry.generated.js +12 -0
  88. package/src/providers/sellersprite_mcp/executors.js +2 -1
  89. package/src/providers/shopee/actions.d.ts +2 -0
  90. package/src/providers/shopee/actions.js +474 -0
  91. package/src/providers/shopee/executors.d.ts +3 -0
  92. package/src/providers/shopee/executors.js +85 -0
  93. package/src/providers/shopee/runtime.d.ts +79 -0
  94. package/src/providers/shopee/runtime.js +693 -0
  95. package/src/providers/slack/actions.js +17 -0
  96. package/src/providers/slack/runtime.js +62 -4
  97. package/src/providers/speak_ai/executors.d.ts +3 -0
  98. package/src/providers/speak_ai/executors.js +187 -0
  99. package/src/providers/tongdaxin/executors.js +5 -4
  100. package/src/providers/tongdaxin/named-action-output.js +3 -9
  101. package/src/providers/tongdaxin/named-action-routing.js +1 -1
  102. package/src/providers/tongdaxin/named-actions.js +1 -6
  103. package/src/providers/tushare/runtime.js +22 -9
  104. package/src/providers/twenty_crm/runtime.js +4 -2
  105. package/src/providers/zyhub/executors.d.ts +3 -0
  106. package/src/providers/zyhub/executors.js +240 -0
  107. package/src/server/files/transit-files.d.ts +3 -2
  108. package/src/server/files/transit-files.js +31 -35
@@ -0,0 +1,2586 @@
1
+ {
2
+ "service": "bilibili",
3
+ "displayName": "Bilibili",
4
+ "description": "Submit and manage Bilibili video archives and articles, and read creator operation data.",
5
+ "categories": [
6
+ "Marketing",
7
+ "Data"
8
+ ],
9
+ "authTypes": [
10
+ "oauth2"
11
+ ],
12
+ "auth": [
13
+ {
14
+ "type": "oauth2",
15
+ "authorizationUrl": "https://account.bilibili.com/pc/account-pc/auth/oauth",
16
+ "tokenUrl": "https://api.bilibili.com/x/account-oauth2/v1/token",
17
+ "refreshTokenUrl": "https://api.bilibili.com/x/account-oauth2/v1/refresh_token",
18
+ "scopes": [
19
+ "USER_INFO",
20
+ "USER_DATA",
21
+ "ARC_BASE",
22
+ "ARC_DATA",
23
+ "ATC_BASE",
24
+ "ATC_DATA"
25
+ ],
26
+ "tokenEndpointAuthMethod": "client_secret_post",
27
+ "authorizationRequestFields": {
28
+ "redirectUri": "gourl",
29
+ "responseType": false,
30
+ "scope": false
31
+ },
32
+ "clientConfigFields": [
33
+ {
34
+ "key": "appSecret",
35
+ "label": "App Secret",
36
+ "inputType": "password",
37
+ "required": true,
38
+ "secret": true,
39
+ "location": "secretExtra",
40
+ "description": "The application App Secret from the Bilibili open platform (same value as Client Secret). It signs every API request with HMAC-SHA256."
41
+ }
42
+ ],
43
+ "clientSetup": {
44
+ "docsUrl": "https://open.bilibili.com",
45
+ "steps": [
46
+ "Register as a developer on the Bilibili open platform and create an application to receive its Client ID and Client Secret (App Secret).",
47
+ "In the application settings, set the authorization callback URL (授权回调域) to this runtime's redirect URI.",
48
+ "Apply for the USER_INFO, USER_DATA, ARC_BASE, ARC_DATA, ATC_BASE, and ATC_DATA interface permissions and wait for Bilibili to approve them.",
49
+ "Paste the Client ID, Client Secret, and the same value once more as App Secret, which signs API requests."
50
+ ]
51
+ }
52
+ }
53
+ ],
54
+ "homepageUrl": "https://www.bilibili.com",
55
+ "actions": [
56
+ {
57
+ "id": "bilibili.create_anthology",
58
+ "service": "bilibili",
59
+ "name": "create_anthology",
60
+ "description": "Create an anthology (文集) that groups articles of the authorized user.",
61
+ "operationType": "write",
62
+ "requiredScopes": [
63
+ "ATC_BASE"
64
+ ],
65
+ "providerPermissions": [
66
+ "ATC_BASE"
67
+ ],
68
+ "inputSchema": {
69
+ "type": "object",
70
+ "properties": {
71
+ "name": {
72
+ "type": "string",
73
+ "minLength": 1,
74
+ "description": "Anthology name."
75
+ },
76
+ "summary": {
77
+ "type": "string",
78
+ "description": "Anthology summary."
79
+ },
80
+ "imageUrl": {
81
+ "type": "string",
82
+ "description": "Anthology cover image URL from bilibili.upload_article_image.",
83
+ "format": "uri"
84
+ }
85
+ },
86
+ "additionalProperties": false,
87
+ "required": [
88
+ "name"
89
+ ],
90
+ "description": "Anthology creation input."
91
+ },
92
+ "outputSchema": {
93
+ "type": "object",
94
+ "properties": {
95
+ "anthologyId": {
96
+ "type": "integer",
97
+ "description": "The new anthology id."
98
+ },
99
+ "name": {
100
+ "type": "string",
101
+ "description": "The anthology name."
102
+ }
103
+ },
104
+ "additionalProperties": false,
105
+ "description": "The created anthology."
106
+ },
107
+ "followUpActions": [
108
+ "bilibili.set_anthology_articles"
109
+ ]
110
+ },
111
+ {
112
+ "id": "bilibili.delete_anthology",
113
+ "service": "bilibili",
114
+ "name": "delete_anthology",
115
+ "description": "Delete an anthology of the authorized user. This cannot be undone.",
116
+ "operationType": "destructive",
117
+ "requiredScopes": [
118
+ "ATC_BASE"
119
+ ],
120
+ "providerPermissions": [
121
+ "ATC_BASE"
122
+ ],
123
+ "inputSchema": {
124
+ "type": "object",
125
+ "properties": {
126
+ "anthologyId": {
127
+ "type": "integer",
128
+ "minimum": 1,
129
+ "description": "Anthology (文集) id."
130
+ }
131
+ },
132
+ "additionalProperties": false,
133
+ "required": [
134
+ "anthologyId"
135
+ ],
136
+ "description": "Anthology deletion input."
137
+ },
138
+ "outputSchema": {
139
+ "type": "object",
140
+ "properties": {
141
+ "anthologyId": {
142
+ "type": "integer",
143
+ "description": "The deleted anthology id."
144
+ },
145
+ "deleted": {
146
+ "type": "boolean",
147
+ "description": "Always true when the deletion succeeded."
148
+ }
149
+ },
150
+ "additionalProperties": false,
151
+ "required": [
152
+ "anthologyId",
153
+ "deleted"
154
+ ],
155
+ "description": "Deletion result."
156
+ }
157
+ },
158
+ {
159
+ "id": "bilibili.delete_archive",
160
+ "service": "bilibili",
161
+ "name": "delete_archive",
162
+ "description": "Delete one video archive of the authorized user. This cannot be undone.",
163
+ "operationType": "destructive",
164
+ "requiredScopes": [
165
+ "ARC_BASE"
166
+ ],
167
+ "providerPermissions": [
168
+ "ARC_BASE"
169
+ ],
170
+ "inputSchema": {
171
+ "type": "object",
172
+ "properties": {
173
+ "resourceId": {
174
+ "type": "string",
175
+ "minLength": 1,
176
+ "description": "The archive id (BV id) returned by bilibili.upload_video, for example BV17B4y1s7R1."
177
+ }
178
+ },
179
+ "additionalProperties": false,
180
+ "required": [
181
+ "resourceId"
182
+ ],
183
+ "description": "Archive deletion input."
184
+ },
185
+ "outputSchema": {
186
+ "type": "object",
187
+ "properties": {
188
+ "resourceId": {
189
+ "type": "string",
190
+ "description": "The deleted archive id (BV id)."
191
+ },
192
+ "deleted": {
193
+ "type": "boolean",
194
+ "description": "Always true when the deletion succeeded."
195
+ }
196
+ },
197
+ "additionalProperties": false,
198
+ "required": [
199
+ "resourceId",
200
+ "deleted"
201
+ ],
202
+ "description": "Deletion result."
203
+ }
204
+ },
205
+ {
206
+ "id": "bilibili.delete_articles",
207
+ "service": "bilibili",
208
+ "name": "delete_articles",
209
+ "description": "Delete one or more articles of the authorized user. This cannot be undone.",
210
+ "operationType": "destructive",
211
+ "requiredScopes": [
212
+ "ATC_BASE"
213
+ ],
214
+ "providerPermissions": [
215
+ "ATC_BASE"
216
+ ],
217
+ "inputSchema": {
218
+ "type": "object",
219
+ "properties": {
220
+ "articleIds": {
221
+ "type": "array",
222
+ "items": {
223
+ "type": "integer",
224
+ "minimum": 1,
225
+ "description": "An article id."
226
+ },
227
+ "description": "Article ids.",
228
+ "minItems": 1
229
+ }
230
+ },
231
+ "additionalProperties": false,
232
+ "description": "Article deletion input."
233
+ },
234
+ "outputSchema": {
235
+ "type": "object",
236
+ "properties": {
237
+ "articleIds": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "integer",
241
+ "description": "A deleted article id."
242
+ },
243
+ "description": "The deleted article ids."
244
+ },
245
+ "deleted": {
246
+ "type": "boolean",
247
+ "description": "Always true when the deletion succeeded."
248
+ }
249
+ },
250
+ "additionalProperties": false,
251
+ "required": [
252
+ "articleIds",
253
+ "deleted"
254
+ ],
255
+ "description": "Deletion result."
256
+ }
257
+ },
258
+ {
259
+ "id": "bilibili.edit_anthology",
260
+ "service": "bilibili",
261
+ "name": "edit_anthology",
262
+ "description": "Edit an anthology's name, summary, or cover. Only provided fields change.",
263
+ "operationType": "write",
264
+ "requiredScopes": [
265
+ "ATC_BASE"
266
+ ],
267
+ "providerPermissions": [
268
+ "ATC_BASE"
269
+ ],
270
+ "inputSchema": {
271
+ "type": "object",
272
+ "properties": {
273
+ "anthologyId": {
274
+ "type": "integer",
275
+ "minimum": 1,
276
+ "description": "Anthology (文集) id."
277
+ },
278
+ "name": {
279
+ "type": "string",
280
+ "minLength": 1,
281
+ "description": "New anthology name."
282
+ },
283
+ "summary": {
284
+ "type": "string",
285
+ "description": "New anthology summary."
286
+ },
287
+ "imageUrl": {
288
+ "type": "string",
289
+ "description": "New anthology cover image URL from bilibili.upload_article_image.",
290
+ "format": "uri"
291
+ }
292
+ },
293
+ "additionalProperties": false,
294
+ "required": [
295
+ "anthologyId"
296
+ ],
297
+ "description": "Anthology edit input. Only provided fields change; at least one is required.",
298
+ "anyOf": [
299
+ {
300
+ "required": [
301
+ "name"
302
+ ]
303
+ },
304
+ {
305
+ "required": [
306
+ "summary"
307
+ ]
308
+ },
309
+ {
310
+ "required": [
311
+ "imageUrl"
312
+ ]
313
+ }
314
+ ]
315
+ },
316
+ "outputSchema": {
317
+ "type": "object",
318
+ "properties": {
319
+ "anthologyId": {
320
+ "type": "integer",
321
+ "description": "The edited anthology id."
322
+ }
323
+ },
324
+ "additionalProperties": false,
325
+ "required": [
326
+ "anthologyId"
327
+ ],
328
+ "description": "The edited anthology."
329
+ }
330
+ },
331
+ {
332
+ "id": "bilibili.edit_archive",
333
+ "service": "bilibili",
334
+ "name": "edit_archive",
335
+ "description": "Edit descriptive fields of an existing archive (title, partition, cover, description, repost permission). Unchanged fields keep their current values. The video file itself cannot be replaced, and the archive is reviewed again after editing.",
336
+ "operationType": "write",
337
+ "requiredScopes": [
338
+ "ARC_BASE"
339
+ ],
340
+ "providerPermissions": [
341
+ "ARC_BASE"
342
+ ],
343
+ "inputSchema": {
344
+ "type": "object",
345
+ "properties": {
346
+ "resourceId": {
347
+ "type": "string",
348
+ "minLength": 1,
349
+ "description": "The archive id (BV id) returned by bilibili.upload_video, for example BV17B4y1s7R1."
350
+ },
351
+ "title": {
352
+ "type": "string",
353
+ "minLength": 1,
354
+ "maxLength": 79,
355
+ "description": "New archive title, shorter than 80 characters."
356
+ },
357
+ "tid": {
358
+ "type": "integer",
359
+ "minimum": 1,
360
+ "description": "New second-level partition id from bilibili.list_archive_types."
361
+ },
362
+ "coverUrl": {
363
+ "type": "string",
364
+ "description": "New cover URL. Must come from a Bilibili cover upload, not an arbitrary link.",
365
+ "format": "uri"
366
+ },
367
+ "desc": {
368
+ "type": "string",
369
+ "maxLength": 249,
370
+ "description": "New archive description."
371
+ },
372
+ "noReprint": {
373
+ "type": "boolean",
374
+ "description": "Set true to forbid reposting, false to allow it again."
375
+ }
376
+ },
377
+ "additionalProperties": false,
378
+ "required": [
379
+ "resourceId"
380
+ ],
381
+ "description": "Archive edit input. Only provided fields change; at least one is required.",
382
+ "anyOf": [
383
+ {
384
+ "required": [
385
+ "title"
386
+ ]
387
+ },
388
+ {
389
+ "required": [
390
+ "tid"
391
+ ]
392
+ },
393
+ {
394
+ "required": [
395
+ "coverUrl"
396
+ ]
397
+ },
398
+ {
399
+ "required": [
400
+ "desc"
401
+ ]
402
+ },
403
+ {
404
+ "required": [
405
+ "noReprint"
406
+ ]
407
+ }
408
+ ]
409
+ },
410
+ "outputSchema": {
411
+ "type": "object",
412
+ "properties": {
413
+ "resourceId": {
414
+ "type": "string",
415
+ "description": "The edited archive id (BV id)."
416
+ }
417
+ },
418
+ "additionalProperties": false,
419
+ "required": [
420
+ "resourceId"
421
+ ],
422
+ "description": "The edited archive."
423
+ }
424
+ },
425
+ {
426
+ "id": "bilibili.edit_article",
427
+ "service": "bilibili",
428
+ "name": "edit_article",
429
+ "description": "Edit an existing article. Only provided fields change; the rest keep their current values. The article is reviewed again after editing. The article detail endpoint does not return the comment-section setting, so omitting upClosedReply resets it to the provider default.",
430
+ "operationType": "write",
431
+ "requiredScopes": [
432
+ "ATC_BASE"
433
+ ],
434
+ "providerPermissions": [
435
+ "ATC_BASE"
436
+ ],
437
+ "inputSchema": {
438
+ "type": "object",
439
+ "properties": {
440
+ "articleId": {
441
+ "type": "integer",
442
+ "minimum": 1,
443
+ "description": "The article id to edit."
444
+ },
445
+ "title": {
446
+ "type": "string",
447
+ "minLength": 1,
448
+ "maxLength": 40,
449
+ "description": "Article title; keep it within 40 characters."
450
+ },
451
+ "categoryId": {
452
+ "type": "integer",
453
+ "description": "Second-level article category id from bilibili.list_article_categories."
454
+ },
455
+ "templateId": {
456
+ "type": "integer",
457
+ "minimum": 3,
458
+ "maximum": 5,
459
+ "description": "Cover template: 3 = three cover images; 4 = single or no cover image with bannerUrl or topVideoBvid set; 5 = no image at all, Bilibili generates a default cover."
460
+ },
461
+ "summary": {
462
+ "type": "string",
463
+ "minLength": 1,
464
+ "description": "Article summary."
465
+ },
466
+ "content": {
467
+ "type": "string",
468
+ "minLength": 1,
469
+ "description": "Article body HTML (200-40000 characters, or at least three images). Embed images with the <figure class=\"img-box\"> template using URLs from bilibili.upload_article_image, and cards from bilibili.get_article_card_snippet."
470
+ },
471
+ "bannerUrl": {
472
+ "type": "string",
473
+ "description": "Top banner image URL from bilibili.upload_article_image; mutually exclusive with topVideoBvid.",
474
+ "format": "uri"
475
+ },
476
+ "original": {
477
+ "type": "boolean",
478
+ "description": "Mark the article as original content."
479
+ },
480
+ "imageUrls": {
481
+ "type": "array",
482
+ "items": {
483
+ "type": "string",
484
+ "description": "A cover image URL from bilibili.upload_article_image.",
485
+ "format": "uri"
486
+ },
487
+ "description": "Cover image URLs. Three images are required when templateId is 3."
488
+ },
489
+ "tags": {
490
+ "type": "string",
491
+ "description": "Comma-separated custom tags."
492
+ },
493
+ "anthologyId": {
494
+ "type": "integer",
495
+ "minimum": 1,
496
+ "description": "Anthology (文集) id to file the article under."
497
+ },
498
+ "upClosedReply": {
499
+ "type": "boolean",
500
+ "description": "Close the comment section when true."
501
+ },
502
+ "topVideoBvid": {
503
+ "type": "string",
504
+ "description": "BV id of the header video; mutually exclusive with bannerUrl."
505
+ }
506
+ },
507
+ "additionalProperties": false,
508
+ "required": [
509
+ "articleId"
510
+ ],
511
+ "description": "Article edit input. Only provided fields change; at least one is required.",
512
+ "anyOf": [
513
+ {
514
+ "required": [
515
+ "title"
516
+ ]
517
+ },
518
+ {
519
+ "required": [
520
+ "categoryId"
521
+ ]
522
+ },
523
+ {
524
+ "required": [
525
+ "templateId"
526
+ ]
527
+ },
528
+ {
529
+ "required": [
530
+ "summary"
531
+ ]
532
+ },
533
+ {
534
+ "required": [
535
+ "content"
536
+ ]
537
+ },
538
+ {
539
+ "required": [
540
+ "bannerUrl"
541
+ ]
542
+ },
543
+ {
544
+ "required": [
545
+ "original"
546
+ ]
547
+ },
548
+ {
549
+ "required": [
550
+ "imageUrls"
551
+ ]
552
+ },
553
+ {
554
+ "required": [
555
+ "tags"
556
+ ]
557
+ },
558
+ {
559
+ "required": [
560
+ "anthologyId"
561
+ ]
562
+ },
563
+ {
564
+ "required": [
565
+ "upClosedReply"
566
+ ]
567
+ },
568
+ {
569
+ "required": [
570
+ "topVideoBvid"
571
+ ]
572
+ }
573
+ ]
574
+ },
575
+ "outputSchema": {
576
+ "type": "object",
577
+ "properties": {
578
+ "articleId": {
579
+ "type": "integer",
580
+ "description": "The edited article id."
581
+ }
582
+ },
583
+ "additionalProperties": false,
584
+ "required": [
585
+ "articleId"
586
+ ],
587
+ "description": "The edited article."
588
+ },
589
+ "followUpActions": [
590
+ "bilibili.get_article"
591
+ ]
592
+ },
593
+ {
594
+ "id": "bilibili.get_anthology",
595
+ "service": "bilibili",
596
+ "name": "get_anthology",
597
+ "description": "Get one anthology with the articles it contains.",
598
+ "operationType": "read",
599
+ "requiredScopes": [
600
+ "ATC_BASE"
601
+ ],
602
+ "providerPermissions": [
603
+ "ATC_BASE"
604
+ ],
605
+ "inputSchema": {
606
+ "type": "object",
607
+ "properties": {
608
+ "anthologyId": {
609
+ "type": "integer",
610
+ "minimum": 1,
611
+ "description": "Anthology (文集) id."
612
+ }
613
+ },
614
+ "additionalProperties": false,
615
+ "required": [
616
+ "anthologyId"
617
+ ],
618
+ "description": "Anthology lookup input."
619
+ },
620
+ "outputSchema": {
621
+ "type": "object",
622
+ "properties": {
623
+ "anthology": {
624
+ "type": "object",
625
+ "properties": {
626
+ "anthologyId": {
627
+ "type": "integer",
628
+ "description": "Anthology id."
629
+ },
630
+ "name": {
631
+ "type": "string",
632
+ "description": "Anthology name."
633
+ },
634
+ "imageUrl": {
635
+ "type": "string",
636
+ "description": "Anthology cover image URL."
637
+ },
638
+ "summary": {
639
+ "type": "string",
640
+ "description": "Anthology summary."
641
+ },
642
+ "words": {
643
+ "type": "integer",
644
+ "description": "Total word count of the articles in the anthology."
645
+ },
646
+ "read": {
647
+ "type": "integer",
648
+ "description": "Total read count of the articles in the anthology."
649
+ },
650
+ "state": {
651
+ "type": "integer",
652
+ "description": "Review state; 1 means approved."
653
+ },
654
+ "reason": {
655
+ "type": "string",
656
+ "description": "Review rejection reason, empty when approved."
657
+ },
658
+ "total": {
659
+ "type": "integer",
660
+ "description": "Number of articles in the anthology."
661
+ },
662
+ "ctime": {
663
+ "type": "integer",
664
+ "description": "Creation time as a UTC Unix timestamp."
665
+ },
666
+ "publishTime": {
667
+ "type": "integer",
668
+ "description": "Publication time as a UTC Unix timestamp."
669
+ },
670
+ "updateTime": {
671
+ "type": "integer",
672
+ "description": "Last modification time as a UTC Unix timestamp."
673
+ },
674
+ "applyTime": {
675
+ "type": "string",
676
+ "description": "Submission time as an ISO 8601 string."
677
+ },
678
+ "checkTime": {
679
+ "type": "string",
680
+ "description": "Review time as an ISO 8601 string."
681
+ }
682
+ },
683
+ "additionalProperties": false,
684
+ "description": "A Bilibili anthology (文集)."
685
+ },
686
+ "articles": {
687
+ "type": "array",
688
+ "items": {
689
+ "type": "object",
690
+ "properties": {
691
+ "articleId": {
692
+ "type": "integer",
693
+ "description": "Article id."
694
+ },
695
+ "title": {
696
+ "type": "string",
697
+ "description": "Article title."
698
+ },
699
+ "state": {
700
+ "type": "integer",
701
+ "description": "Review state; 0 means public."
702
+ },
703
+ "publishTime": {
704
+ "type": "integer",
705
+ "description": "Publication time as a UTC Unix timestamp."
706
+ }
707
+ },
708
+ "additionalProperties": false,
709
+ "description": "An article in the anthology."
710
+ },
711
+ "description": "Articles in the anthology."
712
+ },
713
+ "total": {
714
+ "type": "integer",
715
+ "description": "Number of articles in the anthology."
716
+ }
717
+ },
718
+ "additionalProperties": false,
719
+ "required": [
720
+ "anthology",
721
+ "articles"
722
+ ],
723
+ "description": "The anthology and its articles."
724
+ },
725
+ "followUpActions": [
726
+ "bilibili.set_anthology_articles",
727
+ "bilibili.edit_anthology"
728
+ ]
729
+ },
730
+ {
731
+ "id": "bilibili.get_archive",
732
+ "service": "bilibili",
733
+ "name": "get_archive",
734
+ "description": "Get one video archive of the authorized user, including its review state and playback links.",
735
+ "operationType": "read",
736
+ "requiredScopes": [
737
+ "ARC_BASE"
738
+ ],
739
+ "providerPermissions": [
740
+ "ARC_BASE"
741
+ ],
742
+ "inputSchema": {
743
+ "type": "object",
744
+ "properties": {
745
+ "resourceId": {
746
+ "type": "string",
747
+ "minLength": 1,
748
+ "description": "The archive id (BV id) returned by bilibili.upload_video, for example BV17B4y1s7R1."
749
+ }
750
+ },
751
+ "additionalProperties": false,
752
+ "required": [
753
+ "resourceId"
754
+ ],
755
+ "description": "Archive lookup input."
756
+ },
757
+ "outputSchema": {
758
+ "type": "object",
759
+ "properties": {
760
+ "resourceId": {
761
+ "type": "string",
762
+ "description": "The archive id (BV id)."
763
+ },
764
+ "title": {
765
+ "type": "string",
766
+ "description": "Archive title."
767
+ },
768
+ "cover": {
769
+ "type": "string",
770
+ "description": "Cover image URL hosted by Bilibili."
771
+ },
772
+ "tid": {
773
+ "type": "integer",
774
+ "description": "Partition (二级分区) id of the archive."
775
+ },
776
+ "tag": {
777
+ "type": "string",
778
+ "description": "Comma-separated archive tags."
779
+ },
780
+ "desc": {
781
+ "type": "string",
782
+ "description": "Archive description."
783
+ },
784
+ "copyright": {
785
+ "type": "integer",
786
+ "description": "1 for original content, 2 for reposted content."
787
+ },
788
+ "noReprint": {
789
+ "type": "integer",
790
+ "description": "1 when reposting is forbidden, 0 otherwise."
791
+ },
792
+ "state": {
793
+ "type": "integer",
794
+ "description": "Review state; 0 means the archive is public."
795
+ },
796
+ "stateDesc": {
797
+ "type": "string",
798
+ "description": "Human-readable review state, for example 开放浏览."
799
+ },
800
+ "rejectReason": {
801
+ "type": "string",
802
+ "description": "Review rejection reason, empty when the archive passed."
803
+ },
804
+ "ctime": {
805
+ "type": "integer",
806
+ "description": "Creation time as a UTC Unix timestamp."
807
+ },
808
+ "ptime": {
809
+ "type": "integer",
810
+ "description": "Publication time as a UTC Unix timestamp."
811
+ },
812
+ "video": {
813
+ "type": "object",
814
+ "properties": {
815
+ "cid": {
816
+ "type": "integer",
817
+ "description": "Video cid."
818
+ },
819
+ "filename": {
820
+ "type": "string",
821
+ "description": "Uploaded video filename."
822
+ },
823
+ "duration": {
824
+ "type": "integer",
825
+ "description": "Video duration in seconds."
826
+ },
827
+ "shareUrl": {
828
+ "type": "string",
829
+ "description": "Public playback page URL."
830
+ },
831
+ "iframeUrl": {
832
+ "type": "string",
833
+ "description": "Embeddable iframe player URL."
834
+ }
835
+ },
836
+ "additionalProperties": false,
837
+ "description": "Video playback information, present once the archive is public."
838
+ }
839
+ },
840
+ "additionalProperties": false,
841
+ "description": "A Bilibili video archive."
842
+ },
843
+ "followUpActions": [
844
+ "bilibili.get_archive_stat",
845
+ "bilibili.edit_archive"
846
+ ]
847
+ },
848
+ {
849
+ "id": "bilibili.get_archive_inc_stats",
850
+ "service": "bilibili",
851
+ "name": "get_archive_inc_stats",
852
+ "description": "Get the authorized user's overall archive increments over the last 30 days: plays, danmaku, comments, favorites, coins, shares, likes, and charges.",
853
+ "operationType": "read",
854
+ "requiredScopes": [
855
+ "ARC_DATA"
856
+ ],
857
+ "providerPermissions": [
858
+ "ARC_DATA"
859
+ ],
860
+ "inputSchema": {
861
+ "type": "object",
862
+ "properties": {},
863
+ "additionalProperties": false,
864
+ "description": "The input payload for this action."
865
+ },
866
+ "outputSchema": {
867
+ "type": "object",
868
+ "properties": {
869
+ "incClick": {
870
+ "type": "integer",
871
+ "description": "Play count increment."
872
+ },
873
+ "incDanmaku": {
874
+ "type": "integer",
875
+ "description": "Danmaku count increment."
876
+ },
877
+ "incReply": {
878
+ "type": "integer",
879
+ "description": "Comment count increment."
880
+ },
881
+ "incFavorite": {
882
+ "type": "integer",
883
+ "description": "Favorite count increment."
884
+ },
885
+ "incCoin": {
886
+ "type": "integer",
887
+ "description": "Coin count increment."
888
+ },
889
+ "incShare": {
890
+ "type": "integer",
891
+ "description": "Share count increment."
892
+ },
893
+ "incLike": {
894
+ "type": "integer",
895
+ "description": "Like count increment."
896
+ },
897
+ "incElec": {
898
+ "type": "integer",
899
+ "description": "Charge (充电) count increment."
900
+ }
901
+ },
902
+ "additionalProperties": false,
903
+ "description": "Overall archive increments over the last 30 days."
904
+ }
905
+ },
906
+ {
907
+ "id": "bilibili.get_archive_stat",
908
+ "service": "bilibili",
909
+ "name": "get_archive_stat",
910
+ "description": "Get engagement counters of one video archive: plays, danmaku, comments, favorites, coins, shares, likes.",
911
+ "operationType": "read",
912
+ "requiredScopes": [
913
+ "ARC_DATA"
914
+ ],
915
+ "providerPermissions": [
916
+ "ARC_DATA"
917
+ ],
918
+ "inputSchema": {
919
+ "type": "object",
920
+ "properties": {
921
+ "resourceId": {
922
+ "type": "string",
923
+ "minLength": 1,
924
+ "description": "The archive id (BV id) returned by bilibili.upload_video, for example BV17B4y1s7R1."
925
+ }
926
+ },
927
+ "additionalProperties": false,
928
+ "required": [
929
+ "resourceId"
930
+ ],
931
+ "description": "Archive statistics input."
932
+ },
933
+ "outputSchema": {
934
+ "type": "object",
935
+ "properties": {
936
+ "title": {
937
+ "type": "string",
938
+ "description": "Archive title."
939
+ },
940
+ "ptime": {
941
+ "type": "integer",
942
+ "description": "Publication time as a UTC Unix timestamp."
943
+ },
944
+ "view": {
945
+ "type": "integer",
946
+ "description": "Play count."
947
+ },
948
+ "danmaku": {
949
+ "type": "integer",
950
+ "description": "Danmaku (bullet comment) count."
951
+ },
952
+ "reply": {
953
+ "type": "integer",
954
+ "description": "Comment count."
955
+ },
956
+ "favorite": {
957
+ "type": "integer",
958
+ "description": "Favorite count."
959
+ },
960
+ "coin": {
961
+ "type": "integer",
962
+ "description": "Coin count."
963
+ },
964
+ "share": {
965
+ "type": "integer",
966
+ "description": "Share count."
967
+ },
968
+ "like": {
969
+ "type": "integer",
970
+ "description": "Like count."
971
+ }
972
+ },
973
+ "additionalProperties": false,
974
+ "description": "Engagement counters of one video archive."
975
+ }
976
+ },
977
+ {
978
+ "id": "bilibili.get_article",
979
+ "service": "bilibili",
980
+ "name": "get_article",
981
+ "description": "Get one article of the authorized user, including body HTML, review state, tags, and counters.",
982
+ "operationType": "read",
983
+ "requiredScopes": [
984
+ "ATC_BASE"
985
+ ],
986
+ "providerPermissions": [
987
+ "ATC_BASE"
988
+ ],
989
+ "inputSchema": {
990
+ "type": "object",
991
+ "properties": {
992
+ "articleId": {
993
+ "type": "integer",
994
+ "minimum": 1,
995
+ "description": "The article id."
996
+ }
997
+ },
998
+ "additionalProperties": false,
999
+ "required": [
1000
+ "articleId"
1001
+ ],
1002
+ "description": "Article lookup input."
1003
+ },
1004
+ "outputSchema": {
1005
+ "type": "object",
1006
+ "properties": {
1007
+ "articleId": {
1008
+ "type": "integer",
1009
+ "description": "Article id."
1010
+ },
1011
+ "title": {
1012
+ "type": "string",
1013
+ "description": "Article title."
1014
+ },
1015
+ "summary": {
1016
+ "type": "string",
1017
+ "description": "Article summary."
1018
+ },
1019
+ "content": {
1020
+ "type": "string",
1021
+ "description": "Article body HTML. Only present in bilibili.get_article."
1022
+ },
1023
+ "bannerUrl": {
1024
+ "type": "string",
1025
+ "description": "Top banner image URL."
1026
+ },
1027
+ "templateId": {
1028
+ "type": "integer",
1029
+ "description": "Cover template id."
1030
+ },
1031
+ "state": {
1032
+ "type": "integer",
1033
+ "description": "Review state; 0 means the article is public."
1034
+ },
1035
+ "reason": {
1036
+ "type": "string",
1037
+ "description": "Review rejection reason, empty when the article passed."
1038
+ },
1039
+ "imageUrls": {
1040
+ "type": "array",
1041
+ "items": {
1042
+ "type": "string"
1043
+ },
1044
+ "description": "Cover image URLs."
1045
+ },
1046
+ "publishTime": {
1047
+ "type": "integer",
1048
+ "description": "Publication time as a UTC Unix timestamp."
1049
+ },
1050
+ "ctime": {
1051
+ "type": "integer",
1052
+ "description": "Creation time as a UTC Unix timestamp."
1053
+ },
1054
+ "words": {
1055
+ "type": "integer",
1056
+ "description": "Word count."
1057
+ },
1058
+ "original": {
1059
+ "type": "integer",
1060
+ "description": "1 for original content, 0 otherwise."
1061
+ },
1062
+ "topVideoBvid": {
1063
+ "type": "string",
1064
+ "description": "BV id of the header video."
1065
+ },
1066
+ "type": {
1067
+ "type": "integer",
1068
+ "description": "Editor type: 0 legacy editor, 1 note, 2 new editor."
1069
+ },
1070
+ "category": {
1071
+ "type": "object",
1072
+ "properties": {
1073
+ "id": {
1074
+ "type": "integer",
1075
+ "description": "Category id."
1076
+ },
1077
+ "parentId": {
1078
+ "type": "integer",
1079
+ "description": "Parent category id."
1080
+ },
1081
+ "name": {
1082
+ "type": "string",
1083
+ "description": "Category name."
1084
+ }
1085
+ },
1086
+ "additionalProperties": false,
1087
+ "description": "Article category."
1088
+ },
1089
+ "stats": {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "view": {
1093
+ "type": "integer",
1094
+ "description": "Read count."
1095
+ },
1096
+ "favorite": {
1097
+ "type": "integer",
1098
+ "description": "Favorite count."
1099
+ },
1100
+ "like": {
1101
+ "type": "integer",
1102
+ "description": "Like count."
1103
+ },
1104
+ "dislike": {
1105
+ "type": "integer",
1106
+ "description": "Dislike count."
1107
+ },
1108
+ "reply": {
1109
+ "type": "integer",
1110
+ "description": "Comment count."
1111
+ },
1112
+ "share": {
1113
+ "type": "integer",
1114
+ "description": "Share count."
1115
+ },
1116
+ "coin": {
1117
+ "type": "integer",
1118
+ "description": "Coin count."
1119
+ }
1120
+ },
1121
+ "additionalProperties": false,
1122
+ "description": "Article engagement counters."
1123
+ },
1124
+ "tags": {
1125
+ "type": "array",
1126
+ "items": {
1127
+ "type": "object",
1128
+ "properties": {
1129
+ "tid": {
1130
+ "type": "integer",
1131
+ "description": "Tag id."
1132
+ },
1133
+ "name": {
1134
+ "type": "string",
1135
+ "description": "Tag name."
1136
+ }
1137
+ },
1138
+ "additionalProperties": false,
1139
+ "description": "A tag."
1140
+ },
1141
+ "description": "Article tags."
1142
+ },
1143
+ "anthology": {
1144
+ "type": "object",
1145
+ "properties": {
1146
+ "anthologyId": {
1147
+ "type": "integer",
1148
+ "description": "Anthology id."
1149
+ },
1150
+ "name": {
1151
+ "type": "string",
1152
+ "description": "Anthology name."
1153
+ }
1154
+ },
1155
+ "additionalProperties": false,
1156
+ "description": "The anthology this article belongs to."
1157
+ }
1158
+ },
1159
+ "additionalProperties": false,
1160
+ "description": "A Bilibili article."
1161
+ },
1162
+ "followUpActions": [
1163
+ "bilibili.edit_article",
1164
+ "bilibili.get_article_stats"
1165
+ ]
1166
+ },
1167
+ {
1168
+ "id": "bilibili.get_article_card_snippet",
1169
+ "service": "bilibili",
1170
+ "name": "get_article_card_snippet",
1171
+ "description": "Get the card HTML snippet of a video (BV id) or article (cv id) to embed into article content when submitting or editing an article.",
1172
+ "operationType": "read",
1173
+ "requiredScopes": [
1174
+ "ATC_BASE"
1175
+ ],
1176
+ "providerPermissions": [
1177
+ "ATC_BASE"
1178
+ ],
1179
+ "inputSchema": {
1180
+ "type": "object",
1181
+ "properties": {
1182
+ "resourceId": {
1183
+ "type": "string",
1184
+ "minLength": 1,
1185
+ "description": "A BV id (video) or cv id (article)."
1186
+ }
1187
+ },
1188
+ "additionalProperties": false,
1189
+ "required": [
1190
+ "resourceId"
1191
+ ],
1192
+ "description": "Card lookup input."
1193
+ },
1194
+ "outputSchema": {
1195
+ "type": "object",
1196
+ "properties": {
1197
+ "snippet": {
1198
+ "type": "string",
1199
+ "description": "The card HTML snippet to embed in article content."
1200
+ }
1201
+ },
1202
+ "additionalProperties": false,
1203
+ "description": "The card snippet."
1204
+ },
1205
+ "followUpActions": [
1206
+ "bilibili.submit_article",
1207
+ "bilibili.edit_article"
1208
+ ]
1209
+ },
1210
+ {
1211
+ "id": "bilibili.get_article_inc_stats",
1212
+ "service": "bilibili",
1213
+ "name": "get_article_inc_stats",
1214
+ "description": "Get the authorized user's overall article increments over the last 30 days: reads, comments, favorites, likes, shares, coins.",
1215
+ "operationType": "read",
1216
+ "requiredScopes": [
1217
+ "ATC_DATA"
1218
+ ],
1219
+ "providerPermissions": [
1220
+ "ATC_DATA"
1221
+ ],
1222
+ "inputSchema": {
1223
+ "type": "object",
1224
+ "properties": {},
1225
+ "additionalProperties": false,
1226
+ "description": "The input payload for this action."
1227
+ },
1228
+ "outputSchema": {
1229
+ "type": "object",
1230
+ "properties": {
1231
+ "incRead": {
1232
+ "type": "integer",
1233
+ "description": "Read count increment."
1234
+ },
1235
+ "incReply": {
1236
+ "type": "integer",
1237
+ "description": "Comment count increment."
1238
+ },
1239
+ "incFavorite": {
1240
+ "type": "integer",
1241
+ "description": "Favorite count increment."
1242
+ },
1243
+ "incLikes": {
1244
+ "type": "integer",
1245
+ "description": "Like count increment."
1246
+ },
1247
+ "incShare": {
1248
+ "type": "integer",
1249
+ "description": "Share count increment."
1250
+ },
1251
+ "incCoin": {
1252
+ "type": "integer",
1253
+ "description": "Coin count increment."
1254
+ }
1255
+ },
1256
+ "additionalProperties": false,
1257
+ "description": "Overall article increments over the last 30 days."
1258
+ }
1259
+ },
1260
+ {
1261
+ "id": "bilibili.get_article_stats",
1262
+ "service": "bilibili",
1263
+ "name": "get_article_stats",
1264
+ "description": "Get engagement counters of one or more articles: reads, favorites, likes, dislikes, comments, shares, coins.",
1265
+ "operationType": "read",
1266
+ "requiredScopes": [
1267
+ "ATC_DATA"
1268
+ ],
1269
+ "providerPermissions": [
1270
+ "ATC_DATA"
1271
+ ],
1272
+ "inputSchema": {
1273
+ "type": "object",
1274
+ "properties": {
1275
+ "articleIds": {
1276
+ "type": "array",
1277
+ "items": {
1278
+ "type": "integer",
1279
+ "minimum": 1,
1280
+ "description": "An article id."
1281
+ },
1282
+ "description": "Article ids.",
1283
+ "minItems": 1
1284
+ }
1285
+ },
1286
+ "additionalProperties": false,
1287
+ "description": "Article statistics input."
1288
+ },
1289
+ "outputSchema": {
1290
+ "type": "object",
1291
+ "properties": {
1292
+ "articles": {
1293
+ "type": "array",
1294
+ "items": {
1295
+ "type": "object",
1296
+ "properties": {
1297
+ "articleId": {
1298
+ "type": "integer",
1299
+ "description": "Article id."
1300
+ },
1301
+ "title": {
1302
+ "type": "string",
1303
+ "description": "Article title."
1304
+ },
1305
+ "summary": {
1306
+ "type": "string",
1307
+ "description": "Article summary."
1308
+ },
1309
+ "content": {
1310
+ "type": "string",
1311
+ "description": "Article body HTML. Only present in bilibili.get_article."
1312
+ },
1313
+ "bannerUrl": {
1314
+ "type": "string",
1315
+ "description": "Top banner image URL."
1316
+ },
1317
+ "templateId": {
1318
+ "type": "integer",
1319
+ "description": "Cover template id."
1320
+ },
1321
+ "state": {
1322
+ "type": "integer",
1323
+ "description": "Review state; 0 means the article is public."
1324
+ },
1325
+ "reason": {
1326
+ "type": "string",
1327
+ "description": "Review rejection reason, empty when the article passed."
1328
+ },
1329
+ "imageUrls": {
1330
+ "type": "array",
1331
+ "items": {
1332
+ "type": "string"
1333
+ },
1334
+ "description": "Cover image URLs."
1335
+ },
1336
+ "publishTime": {
1337
+ "type": "integer",
1338
+ "description": "Publication time as a UTC Unix timestamp."
1339
+ },
1340
+ "ctime": {
1341
+ "type": "integer",
1342
+ "description": "Creation time as a UTC Unix timestamp."
1343
+ },
1344
+ "words": {
1345
+ "type": "integer",
1346
+ "description": "Word count."
1347
+ },
1348
+ "original": {
1349
+ "type": "integer",
1350
+ "description": "1 for original content, 0 otherwise."
1351
+ },
1352
+ "topVideoBvid": {
1353
+ "type": "string",
1354
+ "description": "BV id of the header video."
1355
+ },
1356
+ "type": {
1357
+ "type": "integer",
1358
+ "description": "Editor type: 0 legacy editor, 1 note, 2 new editor."
1359
+ },
1360
+ "category": {
1361
+ "type": "object",
1362
+ "properties": {
1363
+ "id": {
1364
+ "type": "integer",
1365
+ "description": "Category id."
1366
+ },
1367
+ "parentId": {
1368
+ "type": "integer",
1369
+ "description": "Parent category id."
1370
+ },
1371
+ "name": {
1372
+ "type": "string",
1373
+ "description": "Category name."
1374
+ }
1375
+ },
1376
+ "additionalProperties": false,
1377
+ "description": "Article category."
1378
+ },
1379
+ "stats": {
1380
+ "type": "object",
1381
+ "properties": {
1382
+ "view": {
1383
+ "type": "integer",
1384
+ "description": "Read count."
1385
+ },
1386
+ "favorite": {
1387
+ "type": "integer",
1388
+ "description": "Favorite count."
1389
+ },
1390
+ "like": {
1391
+ "type": "integer",
1392
+ "description": "Like count."
1393
+ },
1394
+ "dislike": {
1395
+ "type": "integer",
1396
+ "description": "Dislike count."
1397
+ },
1398
+ "reply": {
1399
+ "type": "integer",
1400
+ "description": "Comment count."
1401
+ },
1402
+ "share": {
1403
+ "type": "integer",
1404
+ "description": "Share count."
1405
+ },
1406
+ "coin": {
1407
+ "type": "integer",
1408
+ "description": "Coin count."
1409
+ }
1410
+ },
1411
+ "additionalProperties": false,
1412
+ "description": "Article engagement counters."
1413
+ },
1414
+ "tags": {
1415
+ "type": "array",
1416
+ "items": {
1417
+ "type": "object",
1418
+ "properties": {
1419
+ "tid": {
1420
+ "type": "integer",
1421
+ "description": "Tag id."
1422
+ },
1423
+ "name": {
1424
+ "type": "string",
1425
+ "description": "Tag name."
1426
+ }
1427
+ },
1428
+ "additionalProperties": false,
1429
+ "description": "A tag."
1430
+ },
1431
+ "description": "Article tags."
1432
+ },
1433
+ "anthology": {
1434
+ "type": "object",
1435
+ "properties": {
1436
+ "anthologyId": {
1437
+ "type": "integer",
1438
+ "description": "Anthology id."
1439
+ },
1440
+ "name": {
1441
+ "type": "string",
1442
+ "description": "Anthology name."
1443
+ }
1444
+ },
1445
+ "additionalProperties": false,
1446
+ "description": "The anthology this article belongs to."
1447
+ }
1448
+ },
1449
+ "additionalProperties": false,
1450
+ "description": "A Bilibili article."
1451
+ },
1452
+ "description": "Per-article data keyed by the requested ids."
1453
+ }
1454
+ },
1455
+ "additionalProperties": false,
1456
+ "required": [
1457
+ "articles"
1458
+ ],
1459
+ "description": "Article statistics."
1460
+ }
1461
+ },
1462
+ {
1463
+ "id": "bilibili.get_user_info",
1464
+ "service": "bilibili",
1465
+ "name": "get_user_info",
1466
+ "description": "Get the authorized Bilibili user's public profile (nickname, avatar, openid).",
1467
+ "operationType": "read",
1468
+ "requiredScopes": [
1469
+ "USER_INFO"
1470
+ ],
1471
+ "providerPermissions": [
1472
+ "USER_INFO"
1473
+ ],
1474
+ "inputSchema": {
1475
+ "type": "object",
1476
+ "properties": {},
1477
+ "additionalProperties": false,
1478
+ "description": "The input payload for this action."
1479
+ },
1480
+ "outputSchema": {
1481
+ "type": "object",
1482
+ "properties": {
1483
+ "name": {
1484
+ "type": "string",
1485
+ "description": "User nickname."
1486
+ },
1487
+ "face": {
1488
+ "type": "string",
1489
+ "description": "Avatar image URL. Cache it yourself before serving it to end users."
1490
+ },
1491
+ "openid": {
1492
+ "type": "string",
1493
+ "description": "The user's openid, unique per Bilibili application."
1494
+ }
1495
+ },
1496
+ "additionalProperties": false,
1497
+ "description": "The authorized user's public profile."
1498
+ }
1499
+ },
1500
+ {
1501
+ "id": "bilibili.get_user_scopes",
1502
+ "service": "bilibili",
1503
+ "name": "get_user_scopes",
1504
+ "description": "List the Bilibili interface permission points (scopes) the authorized user actually granted to this application.",
1505
+ "operationType": "read",
1506
+ "requiredScopes": [
1507
+ "USER_INFO"
1508
+ ],
1509
+ "providerPermissions": [
1510
+ "USER_INFO"
1511
+ ],
1512
+ "inputSchema": {
1513
+ "type": "object",
1514
+ "properties": {},
1515
+ "additionalProperties": false,
1516
+ "description": "The input payload for this action."
1517
+ },
1518
+ "outputSchema": {
1519
+ "type": "object",
1520
+ "properties": {
1521
+ "openid": {
1522
+ "type": "string",
1523
+ "description": "The user's openid, unique per Bilibili application."
1524
+ },
1525
+ "scopes": {
1526
+ "type": "array",
1527
+ "items": {
1528
+ "type": "string"
1529
+ },
1530
+ "description": "Granted permission points, for example ARC_BASE."
1531
+ }
1532
+ },
1533
+ "additionalProperties": false,
1534
+ "required": [
1535
+ "scopes"
1536
+ ],
1537
+ "description": "The user's granted scope list."
1538
+ }
1539
+ },
1540
+ {
1541
+ "id": "bilibili.get_user_stat",
1542
+ "service": "bilibili",
1543
+ "name": "get_user_stat",
1544
+ "description": "Get account-level counters of the authorized user: followers, followings, and passed video archives.",
1545
+ "operationType": "read",
1546
+ "requiredScopes": [
1547
+ "USER_DATA"
1548
+ ],
1549
+ "providerPermissions": [
1550
+ "USER_DATA"
1551
+ ],
1552
+ "inputSchema": {
1553
+ "type": "object",
1554
+ "properties": {},
1555
+ "additionalProperties": false,
1556
+ "description": "The input payload for this action."
1557
+ },
1558
+ "outputSchema": {
1559
+ "type": "object",
1560
+ "properties": {
1561
+ "following": {
1562
+ "type": "integer",
1563
+ "description": "Number of accounts the user follows."
1564
+ },
1565
+ "follower": {
1566
+ "type": "integer",
1567
+ "description": "Follower count."
1568
+ },
1569
+ "arcPassedTotal": {
1570
+ "type": "integer",
1571
+ "description": "Number of video archives that passed review."
1572
+ }
1573
+ },
1574
+ "additionalProperties": false,
1575
+ "description": "Account-level counters."
1576
+ }
1577
+ },
1578
+ {
1579
+ "id": "bilibili.get_user_union_id",
1580
+ "service": "bilibili",
1581
+ "name": "get_user_union_id",
1582
+ "description": "Get the authorized user's union_id, which is stable across all applications of the same developer. Bilibili must enable this endpoint for your application separately.",
1583
+ "operationType": "read",
1584
+ "requiredScopes": [
1585
+ "USER_INFO"
1586
+ ],
1587
+ "providerPermissions": [
1588
+ "USER_INFO"
1589
+ ],
1590
+ "inputSchema": {
1591
+ "type": "object",
1592
+ "properties": {},
1593
+ "additionalProperties": false,
1594
+ "description": "The input payload for this action."
1595
+ },
1596
+ "outputSchema": {
1597
+ "type": "object",
1598
+ "properties": {
1599
+ "unionId": {
1600
+ "type": "string",
1601
+ "description": "The user's union_id within this developer."
1602
+ }
1603
+ },
1604
+ "additionalProperties": false,
1605
+ "description": "The union_id of the authorized user."
1606
+ }
1607
+ },
1608
+ {
1609
+ "id": "bilibili.list_anthologies",
1610
+ "service": "bilibili",
1611
+ "name": "list_anthologies",
1612
+ "description": "List all anthologies of the authorized user with review state and article counts.",
1613
+ "operationType": "read",
1614
+ "requiredScopes": [
1615
+ "ATC_BASE"
1616
+ ],
1617
+ "providerPermissions": [
1618
+ "ATC_BASE"
1619
+ ],
1620
+ "inputSchema": {
1621
+ "type": "object",
1622
+ "properties": {},
1623
+ "additionalProperties": false,
1624
+ "description": "The input payload for this action."
1625
+ },
1626
+ "outputSchema": {
1627
+ "type": "object",
1628
+ "properties": {
1629
+ "anthologies": {
1630
+ "type": "array",
1631
+ "items": {
1632
+ "type": "object",
1633
+ "properties": {
1634
+ "anthologyId": {
1635
+ "type": "integer",
1636
+ "description": "Anthology id."
1637
+ },
1638
+ "name": {
1639
+ "type": "string",
1640
+ "description": "Anthology name."
1641
+ },
1642
+ "imageUrl": {
1643
+ "type": "string",
1644
+ "description": "Anthology cover image URL."
1645
+ },
1646
+ "summary": {
1647
+ "type": "string",
1648
+ "description": "Anthology summary."
1649
+ },
1650
+ "words": {
1651
+ "type": "integer",
1652
+ "description": "Total word count of the articles in the anthology."
1653
+ },
1654
+ "read": {
1655
+ "type": "integer",
1656
+ "description": "Total read count of the articles in the anthology."
1657
+ },
1658
+ "state": {
1659
+ "type": "integer",
1660
+ "description": "Review state; 1 means approved."
1661
+ },
1662
+ "reason": {
1663
+ "type": "string",
1664
+ "description": "Review rejection reason, empty when approved."
1665
+ },
1666
+ "total": {
1667
+ "type": "integer",
1668
+ "description": "Number of articles in the anthology."
1669
+ },
1670
+ "ctime": {
1671
+ "type": "integer",
1672
+ "description": "Creation time as a UTC Unix timestamp."
1673
+ },
1674
+ "publishTime": {
1675
+ "type": "integer",
1676
+ "description": "Publication time as a UTC Unix timestamp."
1677
+ },
1678
+ "updateTime": {
1679
+ "type": "integer",
1680
+ "description": "Last modification time as a UTC Unix timestamp."
1681
+ },
1682
+ "applyTime": {
1683
+ "type": "string",
1684
+ "description": "Submission time as an ISO 8601 string."
1685
+ },
1686
+ "checkTime": {
1687
+ "type": "string",
1688
+ "description": "Review time as an ISO 8601 string."
1689
+ }
1690
+ },
1691
+ "additionalProperties": false,
1692
+ "description": "A Bilibili anthology (文集)."
1693
+ },
1694
+ "description": "The anthologies."
1695
+ },
1696
+ "total": {
1697
+ "type": "integer",
1698
+ "description": "Total anthology count."
1699
+ }
1700
+ },
1701
+ "additionalProperties": false,
1702
+ "required": [
1703
+ "anthologies"
1704
+ ],
1705
+ "description": "The user's anthologies."
1706
+ }
1707
+ },
1708
+ {
1709
+ "id": "bilibili.list_archive_types",
1710
+ "service": "bilibili",
1711
+ "name": "list_archive_types",
1712
+ "description": "List Bilibili video partitions (分区). Pick a second-level partition id as the tid of bilibili.upload_video; refresh it periodically because partitions change over time.",
1713
+ "operationType": "read",
1714
+ "requiredScopes": [
1715
+ "ARC_BASE"
1716
+ ],
1717
+ "providerPermissions": [
1718
+ "ARC_BASE"
1719
+ ],
1720
+ "inputSchema": {
1721
+ "type": "object",
1722
+ "properties": {},
1723
+ "additionalProperties": false,
1724
+ "description": "The input payload for this action."
1725
+ },
1726
+ "outputSchema": {
1727
+ "type": "object",
1728
+ "properties": {
1729
+ "types": {
1730
+ "type": "array",
1731
+ "items": {
1732
+ "type": "object",
1733
+ "additionalProperties": true,
1734
+ "description": "A partition node with id, parent, name, description, and nested second-level children."
1735
+ },
1736
+ "description": "Top-level partitions with their second-level children."
1737
+ }
1738
+ },
1739
+ "additionalProperties": false,
1740
+ "required": [
1741
+ "types"
1742
+ ],
1743
+ "description": "The partition tree."
1744
+ },
1745
+ "followUpActions": [
1746
+ "bilibili.upload_video"
1747
+ ]
1748
+ },
1749
+ {
1750
+ "id": "bilibili.list_archives",
1751
+ "service": "bilibili",
1752
+ "name": "list_archives",
1753
+ "description": "List the authorized user's video archives with review state, publication time, and playback links.",
1754
+ "operationType": "read",
1755
+ "requiredScopes": [
1756
+ "ARC_BASE"
1757
+ ],
1758
+ "providerPermissions": [
1759
+ "ARC_BASE"
1760
+ ],
1761
+ "inputSchema": {
1762
+ "type": "object",
1763
+ "properties": {
1764
+ "pn": {
1765
+ "type": "integer",
1766
+ "minimum": 1,
1767
+ "description": "Page number, starting at 1."
1768
+ },
1769
+ "ps": {
1770
+ "type": "integer",
1771
+ "minimum": 1,
1772
+ "maximum": 50,
1773
+ "description": "Page size, at most 50."
1774
+ },
1775
+ "status": {
1776
+ "type": "string",
1777
+ "enum": [
1778
+ "all",
1779
+ "is_pubing",
1780
+ "pubed",
1781
+ "not_pubed"
1782
+ ],
1783
+ "description": "Filter by archive status."
1784
+ }
1785
+ },
1786
+ "additionalProperties": false,
1787
+ "description": "Archive list query. Defaults to the first page of 20 entries in any status."
1788
+ },
1789
+ "outputSchema": {
1790
+ "type": "object",
1791
+ "properties": {
1792
+ "archives": {
1793
+ "type": "array",
1794
+ "items": {
1795
+ "type": "object",
1796
+ "properties": {
1797
+ "resourceId": {
1798
+ "type": "string",
1799
+ "description": "The archive id (BV id)."
1800
+ },
1801
+ "title": {
1802
+ "type": "string",
1803
+ "description": "Archive title."
1804
+ },
1805
+ "cover": {
1806
+ "type": "string",
1807
+ "description": "Cover image URL hosted by Bilibili."
1808
+ },
1809
+ "tid": {
1810
+ "type": "integer",
1811
+ "description": "Partition (二级分区) id of the archive."
1812
+ },
1813
+ "tag": {
1814
+ "type": "string",
1815
+ "description": "Comma-separated archive tags."
1816
+ },
1817
+ "desc": {
1818
+ "type": "string",
1819
+ "description": "Archive description."
1820
+ },
1821
+ "copyright": {
1822
+ "type": "integer",
1823
+ "description": "1 for original content, 2 for reposted content."
1824
+ },
1825
+ "noReprint": {
1826
+ "type": "integer",
1827
+ "description": "1 when reposting is forbidden, 0 otherwise."
1828
+ },
1829
+ "state": {
1830
+ "type": "integer",
1831
+ "description": "Review state; 0 means the archive is public."
1832
+ },
1833
+ "stateDesc": {
1834
+ "type": "string",
1835
+ "description": "Human-readable review state, for example 开放浏览."
1836
+ },
1837
+ "rejectReason": {
1838
+ "type": "string",
1839
+ "description": "Review rejection reason, empty when the archive passed."
1840
+ },
1841
+ "ctime": {
1842
+ "type": "integer",
1843
+ "description": "Creation time as a UTC Unix timestamp."
1844
+ },
1845
+ "ptime": {
1846
+ "type": "integer",
1847
+ "description": "Publication time as a UTC Unix timestamp."
1848
+ },
1849
+ "video": {
1850
+ "type": "object",
1851
+ "properties": {
1852
+ "cid": {
1853
+ "type": "integer",
1854
+ "description": "Video cid."
1855
+ },
1856
+ "filename": {
1857
+ "type": "string",
1858
+ "description": "Uploaded video filename."
1859
+ },
1860
+ "duration": {
1861
+ "type": "integer",
1862
+ "description": "Video duration in seconds."
1863
+ },
1864
+ "shareUrl": {
1865
+ "type": "string",
1866
+ "description": "Public playback page URL."
1867
+ },
1868
+ "iframeUrl": {
1869
+ "type": "string",
1870
+ "description": "Embeddable iframe player URL."
1871
+ }
1872
+ },
1873
+ "additionalProperties": false,
1874
+ "description": "Video playback information, present once the archive is public."
1875
+ }
1876
+ },
1877
+ "additionalProperties": false,
1878
+ "description": "A Bilibili video archive."
1879
+ },
1880
+ "description": "Archives on this page."
1881
+ },
1882
+ "page": {
1883
+ "type": "object",
1884
+ "properties": {
1885
+ "pn": {
1886
+ "type": "integer",
1887
+ "description": "Current page number."
1888
+ },
1889
+ "ps": {
1890
+ "type": "integer",
1891
+ "description": "Page size."
1892
+ },
1893
+ "total": {
1894
+ "type": "integer",
1895
+ "description": "Total archive count."
1896
+ }
1897
+ },
1898
+ "additionalProperties": false,
1899
+ "description": "Pagination information."
1900
+ }
1901
+ },
1902
+ "additionalProperties": false,
1903
+ "required": [
1904
+ "archives",
1905
+ "page"
1906
+ ],
1907
+ "description": "A page of archives."
1908
+ }
1909
+ },
1910
+ {
1911
+ "id": "bilibili.list_article_categories",
1912
+ "service": "bilibili",
1913
+ "name": "list_article_categories",
1914
+ "description": "List Bilibili article categories. Pick a second-level category id as the categoryId of bilibili.submit_article.",
1915
+ "operationType": "read",
1916
+ "requiredScopes": [
1917
+ "ATC_BASE"
1918
+ ],
1919
+ "providerPermissions": [
1920
+ "ATC_BASE"
1921
+ ],
1922
+ "inputSchema": {
1923
+ "type": "object",
1924
+ "properties": {},
1925
+ "additionalProperties": false,
1926
+ "description": "The input payload for this action."
1927
+ },
1928
+ "outputSchema": {
1929
+ "type": "object",
1930
+ "properties": {
1931
+ "categories": {
1932
+ "type": "array",
1933
+ "items": {
1934
+ "type": "object",
1935
+ "additionalProperties": true,
1936
+ "description": "A category node with id, parent_id, name, and nested second-level children."
1937
+ },
1938
+ "description": "Top-level categories with their second-level children."
1939
+ }
1940
+ },
1941
+ "additionalProperties": false,
1942
+ "required": [
1943
+ "categories"
1944
+ ],
1945
+ "description": "The article category tree."
1946
+ },
1947
+ "followUpActions": [
1948
+ "bilibili.submit_article"
1949
+ ]
1950
+ },
1951
+ {
1952
+ "id": "bilibili.list_articles",
1953
+ "service": "bilibili",
1954
+ "name": "list_articles",
1955
+ "description": "List the authorized user's articles with review state and counters, plus the account-level counts by review state.",
1956
+ "operationType": "read",
1957
+ "requiredScopes": [
1958
+ "ATC_BASE"
1959
+ ],
1960
+ "providerPermissions": [
1961
+ "ATC_BASE"
1962
+ ],
1963
+ "inputSchema": {
1964
+ "type": "object",
1965
+ "properties": {
1966
+ "pn": {
1967
+ "type": "integer",
1968
+ "minimum": 1,
1969
+ "description": "Page number, starting at 1."
1970
+ },
1971
+ "ps": {
1972
+ "type": "integer",
1973
+ "minimum": 1,
1974
+ "description": "Page size; the provider default is 10."
1975
+ },
1976
+ "sort": {
1977
+ "type": "integer",
1978
+ "minimum": 1,
1979
+ "maximum": 6,
1980
+ "description": "Sort: 1 creation time (default), 2 likes, 3 comments, 4 reads, 5 favorites, 6 coins."
1981
+ },
1982
+ "group": {
1983
+ "type": "integer",
1984
+ "minimum": 0,
1985
+ "maximum": 3,
1986
+ "description": "Filter by review state: 0 all except drafts and deleted (default), 1 in review, 2 passed, 3 rejected."
1987
+ },
1988
+ "categoryId": {
1989
+ "type": "integer",
1990
+ "description": "Filter by category id."
1991
+ }
1992
+ },
1993
+ "additionalProperties": false,
1994
+ "description": "Article list query."
1995
+ },
1996
+ "outputSchema": {
1997
+ "type": "object",
1998
+ "properties": {
1999
+ "articles": {
2000
+ "type": "array",
2001
+ "items": {
2002
+ "type": "object",
2003
+ "properties": {
2004
+ "articleId": {
2005
+ "type": "integer",
2006
+ "description": "Article id."
2007
+ },
2008
+ "title": {
2009
+ "type": "string",
2010
+ "description": "Article title."
2011
+ },
2012
+ "summary": {
2013
+ "type": "string",
2014
+ "description": "Article summary."
2015
+ },
2016
+ "content": {
2017
+ "type": "string",
2018
+ "description": "Article body HTML. Only present in bilibili.get_article."
2019
+ },
2020
+ "bannerUrl": {
2021
+ "type": "string",
2022
+ "description": "Top banner image URL."
2023
+ },
2024
+ "templateId": {
2025
+ "type": "integer",
2026
+ "description": "Cover template id."
2027
+ },
2028
+ "state": {
2029
+ "type": "integer",
2030
+ "description": "Review state; 0 means the article is public."
2031
+ },
2032
+ "reason": {
2033
+ "type": "string",
2034
+ "description": "Review rejection reason, empty when the article passed."
2035
+ },
2036
+ "imageUrls": {
2037
+ "type": "array",
2038
+ "items": {
2039
+ "type": "string"
2040
+ },
2041
+ "description": "Cover image URLs."
2042
+ },
2043
+ "publishTime": {
2044
+ "type": "integer",
2045
+ "description": "Publication time as a UTC Unix timestamp."
2046
+ },
2047
+ "ctime": {
2048
+ "type": "integer",
2049
+ "description": "Creation time as a UTC Unix timestamp."
2050
+ },
2051
+ "words": {
2052
+ "type": "integer",
2053
+ "description": "Word count."
2054
+ },
2055
+ "original": {
2056
+ "type": "integer",
2057
+ "description": "1 for original content, 0 otherwise."
2058
+ },
2059
+ "topVideoBvid": {
2060
+ "type": "string",
2061
+ "description": "BV id of the header video."
2062
+ },
2063
+ "type": {
2064
+ "type": "integer",
2065
+ "description": "Editor type: 0 legacy editor, 1 note, 2 new editor."
2066
+ },
2067
+ "category": {
2068
+ "type": "object",
2069
+ "properties": {
2070
+ "id": {
2071
+ "type": "integer",
2072
+ "description": "Category id."
2073
+ },
2074
+ "parentId": {
2075
+ "type": "integer",
2076
+ "description": "Parent category id."
2077
+ },
2078
+ "name": {
2079
+ "type": "string",
2080
+ "description": "Category name."
2081
+ }
2082
+ },
2083
+ "additionalProperties": false,
2084
+ "description": "Article category."
2085
+ },
2086
+ "stats": {
2087
+ "type": "object",
2088
+ "properties": {
2089
+ "view": {
2090
+ "type": "integer",
2091
+ "description": "Read count."
2092
+ },
2093
+ "favorite": {
2094
+ "type": "integer",
2095
+ "description": "Favorite count."
2096
+ },
2097
+ "like": {
2098
+ "type": "integer",
2099
+ "description": "Like count."
2100
+ },
2101
+ "dislike": {
2102
+ "type": "integer",
2103
+ "description": "Dislike count."
2104
+ },
2105
+ "reply": {
2106
+ "type": "integer",
2107
+ "description": "Comment count."
2108
+ },
2109
+ "share": {
2110
+ "type": "integer",
2111
+ "description": "Share count."
2112
+ },
2113
+ "coin": {
2114
+ "type": "integer",
2115
+ "description": "Coin count."
2116
+ }
2117
+ },
2118
+ "additionalProperties": false,
2119
+ "description": "Article engagement counters."
2120
+ },
2121
+ "tags": {
2122
+ "type": "array",
2123
+ "items": {
2124
+ "type": "object",
2125
+ "properties": {
2126
+ "tid": {
2127
+ "type": "integer",
2128
+ "description": "Tag id."
2129
+ },
2130
+ "name": {
2131
+ "type": "string",
2132
+ "description": "Tag name."
2133
+ }
2134
+ },
2135
+ "additionalProperties": false,
2136
+ "description": "A tag."
2137
+ },
2138
+ "description": "Article tags."
2139
+ },
2140
+ "anthology": {
2141
+ "type": "object",
2142
+ "properties": {
2143
+ "anthologyId": {
2144
+ "type": "integer",
2145
+ "description": "Anthology id."
2146
+ },
2147
+ "name": {
2148
+ "type": "string",
2149
+ "description": "Anthology name."
2150
+ }
2151
+ },
2152
+ "additionalProperties": false,
2153
+ "description": "The anthology this article belongs to."
2154
+ }
2155
+ },
2156
+ "additionalProperties": false,
2157
+ "description": "A Bilibili article."
2158
+ },
2159
+ "description": "Articles on this page."
2160
+ },
2161
+ "page": {
2162
+ "type": "object",
2163
+ "properties": {
2164
+ "pn": {
2165
+ "type": "integer",
2166
+ "description": "Current page number."
2167
+ },
2168
+ "ps": {
2169
+ "type": "integer",
2170
+ "description": "Page size."
2171
+ },
2172
+ "total": {
2173
+ "type": "integer",
2174
+ "description": "Total article count."
2175
+ }
2176
+ },
2177
+ "additionalProperties": false,
2178
+ "description": "Pagination information."
2179
+ },
2180
+ "counts": {
2181
+ "type": "object",
2182
+ "properties": {
2183
+ "all": {
2184
+ "type": "integer",
2185
+ "description": "All articles."
2186
+ },
2187
+ "audit": {
2188
+ "type": "integer",
2189
+ "description": "In review."
2190
+ },
2191
+ "passed": {
2192
+ "type": "integer",
2193
+ "description": "Passed."
2194
+ },
2195
+ "notPassed": {
2196
+ "type": "integer",
2197
+ "description": "Rejected."
2198
+ }
2199
+ },
2200
+ "additionalProperties": false,
2201
+ "description": "Account-level article counts by review state."
2202
+ }
2203
+ },
2204
+ "additionalProperties": false,
2205
+ "required": [
2206
+ "articles",
2207
+ "page",
2208
+ "counts"
2209
+ ],
2210
+ "description": "A page of articles."
2211
+ }
2212
+ },
2213
+ {
2214
+ "id": "bilibili.set_anthology_articles",
2215
+ "service": "bilibili",
2216
+ "name": "set_anthology_articles",
2217
+ "description": "Replace the article list of an anthology. An article already filed under another anthology is not moved. Pass an empty list to clear the anthology.",
2218
+ "operationType": "write",
2219
+ "requiredScopes": [
2220
+ "ATC_BASE"
2221
+ ],
2222
+ "providerPermissions": [
2223
+ "ATC_BASE"
2224
+ ],
2225
+ "inputSchema": {
2226
+ "type": "object",
2227
+ "properties": {
2228
+ "anthologyId": {
2229
+ "type": "integer",
2230
+ "minimum": 1,
2231
+ "description": "Anthology (文集) id."
2232
+ },
2233
+ "articleIds": {
2234
+ "type": "array",
2235
+ "items": {
2236
+ "type": "integer",
2237
+ "minimum": 1,
2238
+ "description": "An article id."
2239
+ },
2240
+ "description": "The new article list of the anthology; empty clears it."
2241
+ }
2242
+ },
2243
+ "additionalProperties": false,
2244
+ "description": "Anthology article replacement input."
2245
+ },
2246
+ "outputSchema": {
2247
+ "type": "object",
2248
+ "properties": {
2249
+ "anthologyId": {
2250
+ "type": "integer",
2251
+ "description": "The anthology id."
2252
+ },
2253
+ "articleIds": {
2254
+ "type": "array",
2255
+ "items": {
2256
+ "type": "integer",
2257
+ "description": "An article id."
2258
+ },
2259
+ "description": "The submitted article ids."
2260
+ }
2261
+ },
2262
+ "additionalProperties": false,
2263
+ "required": [
2264
+ "anthologyId",
2265
+ "articleIds"
2266
+ ],
2267
+ "description": "The updated anthology."
2268
+ }
2269
+ },
2270
+ {
2271
+ "id": "bilibili.submit_article",
2272
+ "service": "bilibili",
2273
+ "name": "submit_article",
2274
+ "description": "Submit a new Bilibili article (专栏). Image URLs in the content and covers must come from bilibili.upload_article_image. The article enters review after submission and becomes public once approved.",
2275
+ "operationType": "write",
2276
+ "requiredScopes": [
2277
+ "ATC_BASE"
2278
+ ],
2279
+ "providerPermissions": [
2280
+ "ATC_BASE"
2281
+ ],
2282
+ "inputSchema": {
2283
+ "type": "object",
2284
+ "properties": {
2285
+ "title": {
2286
+ "type": "string",
2287
+ "minLength": 1,
2288
+ "maxLength": 40,
2289
+ "description": "Article title; keep it within 40 characters."
2290
+ },
2291
+ "categoryId": {
2292
+ "type": "integer",
2293
+ "description": "Second-level article category id from bilibili.list_article_categories."
2294
+ },
2295
+ "templateId": {
2296
+ "type": "integer",
2297
+ "minimum": 3,
2298
+ "maximum": 5,
2299
+ "description": "Cover template: 3 = three cover images; 4 = single or no cover image with bannerUrl or topVideoBvid set; 5 = no image at all, Bilibili generates a default cover."
2300
+ },
2301
+ "summary": {
2302
+ "type": "string",
2303
+ "minLength": 1,
2304
+ "description": "Article summary."
2305
+ },
2306
+ "content": {
2307
+ "type": "string",
2308
+ "minLength": 1,
2309
+ "description": "Article body HTML (200-40000 characters, or at least three images). Embed images with the <figure class=\"img-box\"> template using URLs from bilibili.upload_article_image, and cards from bilibili.get_article_card_snippet."
2310
+ },
2311
+ "bannerUrl": {
2312
+ "type": "string",
2313
+ "description": "Top banner image URL from bilibili.upload_article_image; mutually exclusive with topVideoBvid.",
2314
+ "format": "uri"
2315
+ },
2316
+ "original": {
2317
+ "type": "boolean",
2318
+ "description": "Mark the article as original content."
2319
+ },
2320
+ "imageUrls": {
2321
+ "type": "array",
2322
+ "items": {
2323
+ "type": "string",
2324
+ "description": "A cover image URL from bilibili.upload_article_image.",
2325
+ "format": "uri"
2326
+ },
2327
+ "description": "Cover image URLs. Three images are required when templateId is 3."
2328
+ },
2329
+ "tags": {
2330
+ "type": "string",
2331
+ "description": "Comma-separated custom tags."
2332
+ },
2333
+ "anthologyId": {
2334
+ "type": "integer",
2335
+ "minimum": 1,
2336
+ "description": "Anthology (文集) id to file the article under."
2337
+ },
2338
+ "upClosedReply": {
2339
+ "type": "boolean",
2340
+ "description": "Close the comment section when true."
2341
+ },
2342
+ "topVideoBvid": {
2343
+ "type": "string",
2344
+ "description": "BV id of the header video; mutually exclusive with bannerUrl."
2345
+ }
2346
+ },
2347
+ "additionalProperties": false,
2348
+ "required": [
2349
+ "title",
2350
+ "categoryId",
2351
+ "templateId",
2352
+ "summary",
2353
+ "content"
2354
+ ],
2355
+ "description": "Article submission input."
2356
+ },
2357
+ "outputSchema": {
2358
+ "type": "object",
2359
+ "properties": {
2360
+ "articleId": {
2361
+ "type": "integer",
2362
+ "description": "The new article id (cv number without the prefix)."
2363
+ }
2364
+ },
2365
+ "additionalProperties": false,
2366
+ "required": [
2367
+ "articleId"
2368
+ ],
2369
+ "description": "The submitted article."
2370
+ },
2371
+ "followUpActions": [
2372
+ "bilibili.list_articles",
2373
+ "bilibili.get_article_stats"
2374
+ ]
2375
+ },
2376
+ {
2377
+ "id": "bilibili.upload_article_image",
2378
+ "service": "bilibili",
2379
+ "name": "upload_article_image",
2380
+ "description": "Upload an image (jpg/png, up to 5MB) for article content, covers, or banners. The returned Bilibili-hosted URL is what article fields accept.",
2381
+ "operationType": "write",
2382
+ "requiredScopes": [
2383
+ "ATC_BASE"
2384
+ ],
2385
+ "providerPermissions": [
2386
+ "ATC_BASE"
2387
+ ],
2388
+ "inputSchema": {
2389
+ "type": "object",
2390
+ "properties": {
2391
+ "file": {
2392
+ "type": "object",
2393
+ "properties": {
2394
+ "fileId": {
2395
+ "type": "string",
2396
+ "minLength": 1,
2397
+ "description": "The transit file identifier returned by POST /api/files."
2398
+ },
2399
+ "name": {
2400
+ "type": "string",
2401
+ "minLength": 1,
2402
+ "description": "Optional filename override to send to the provider."
2403
+ },
2404
+ "mimeType": {
2405
+ "type": "string",
2406
+ "minLength": 1,
2407
+ "description": "Optional MIME type override to send to the provider."
2408
+ }
2409
+ },
2410
+ "additionalProperties": false,
2411
+ "required": [
2412
+ "fileId"
2413
+ ],
2414
+ "description": "The image file to upload (jpg/png, up to 5MB)."
2415
+ },
2416
+ "watermark": {
2417
+ "type": "boolean",
2418
+ "description": "Add a watermark with the Bilibili logo and the uploader's nickname."
2419
+ }
2420
+ },
2421
+ "additionalProperties": false,
2422
+ "required": [
2423
+ "file"
2424
+ ],
2425
+ "description": "Article image upload input."
2426
+ },
2427
+ "outputSchema": {
2428
+ "type": "object",
2429
+ "properties": {
2430
+ "url": {
2431
+ "type": "string",
2432
+ "description": "The Bilibili-hosted image URL."
2433
+ },
2434
+ "size": {
2435
+ "type": "integer",
2436
+ "description": "Image size in bytes."
2437
+ }
2438
+ },
2439
+ "additionalProperties": false,
2440
+ "required": [
2441
+ "url"
2442
+ ],
2443
+ "description": "The uploaded image."
2444
+ },
2445
+ "followUpActions": [
2446
+ "bilibili.submit_article"
2447
+ ]
2448
+ },
2449
+ {
2450
+ "id": "bilibili.upload_video",
2451
+ "service": "bilibili",
2452
+ "name": "upload_video",
2453
+ "description": "Upload a video file to Bilibili and submit it as a new archive. Files up to 100MB use a single upload; larger files (up to 4GB) are uploaded in 10MB parts. The archive enters review after submission and becomes public once approved.",
2454
+ "operationType": "write",
2455
+ "requiredScopes": [
2456
+ "ARC_BASE"
2457
+ ],
2458
+ "providerPermissions": [
2459
+ "ARC_BASE"
2460
+ ],
2461
+ "inputSchema": {
2462
+ "type": "object",
2463
+ "properties": {
2464
+ "file": {
2465
+ "type": "object",
2466
+ "properties": {
2467
+ "fileId": {
2468
+ "type": "string",
2469
+ "minLength": 1,
2470
+ "description": "The transit file identifier returned by POST /api/files."
2471
+ },
2472
+ "name": {
2473
+ "type": "string",
2474
+ "minLength": 1,
2475
+ "description": "Optional filename override to send to the provider."
2476
+ },
2477
+ "mimeType": {
2478
+ "type": "string",
2479
+ "minLength": 1,
2480
+ "description": "Optional MIME type override to send to the provider."
2481
+ }
2482
+ },
2483
+ "additionalProperties": false,
2484
+ "required": [
2485
+ "fileId"
2486
+ ],
2487
+ "description": "The video file to upload (mp4/mov/mkv recommended, up to 4GB)."
2488
+ },
2489
+ "title": {
2490
+ "type": "string",
2491
+ "minLength": 1,
2492
+ "maxLength": 79,
2493
+ "description": "Archive title, shorter than 80 characters. Identical titles in a short time window are rejected."
2494
+ },
2495
+ "tid": {
2496
+ "type": "integer",
2497
+ "minimum": 1,
2498
+ "description": "Second-level partition id from bilibili.list_archive_types."
2499
+ },
2500
+ "tag": {
2501
+ "type": "string",
2502
+ "minLength": 1,
2503
+ "maxLength": 199,
2504
+ "description": "Comma-separated tags; total length below 200 characters."
2505
+ },
2506
+ "copyright": {
2507
+ "type": "integer",
2508
+ "minimum": 1,
2509
+ "maximum": 2,
2510
+ "description": "1 for original content, 2 for reposted content."
2511
+ },
2512
+ "cover": {
2513
+ "type": "object",
2514
+ "properties": {
2515
+ "fileId": {
2516
+ "type": "string",
2517
+ "minLength": 1,
2518
+ "description": "The transit file identifier returned by POST /api/files."
2519
+ },
2520
+ "name": {
2521
+ "type": "string",
2522
+ "minLength": 1,
2523
+ "description": "Optional filename override to send to the provider."
2524
+ },
2525
+ "mimeType": {
2526
+ "type": "string",
2527
+ "minLength": 1,
2528
+ "description": "Optional MIME type override to send to the provider."
2529
+ }
2530
+ },
2531
+ "additionalProperties": false,
2532
+ "required": [
2533
+ "fileId"
2534
+ ],
2535
+ "description": "Optional cover image (jpeg/png, up to 5MB, at least 960x600). Uploaded before submission."
2536
+ },
2537
+ "desc": {
2538
+ "type": "string",
2539
+ "maxLength": 249,
2540
+ "description": "Archive description, shorter than 250 characters."
2541
+ },
2542
+ "source": {
2543
+ "type": "string",
2544
+ "minLength": 1,
2545
+ "description": "Repost source. Required when copyright is 2."
2546
+ },
2547
+ "noReprint": {
2548
+ "type": "boolean",
2549
+ "description": "Set true to forbid reposting this archive."
2550
+ }
2551
+ },
2552
+ "additionalProperties": false,
2553
+ "required": [
2554
+ "file",
2555
+ "title",
2556
+ "tid",
2557
+ "tag",
2558
+ "copyright"
2559
+ ],
2560
+ "description": "Video submission input."
2561
+ },
2562
+ "outputSchema": {
2563
+ "type": "object",
2564
+ "properties": {
2565
+ "resourceId": {
2566
+ "type": "string",
2567
+ "description": "The new archive id (BV id)."
2568
+ },
2569
+ "coverUrl": {
2570
+ "type": "string",
2571
+ "description": "The Bilibili-hosted cover URL, present when a cover was uploaded."
2572
+ }
2573
+ },
2574
+ "additionalProperties": false,
2575
+ "required": [
2576
+ "resourceId"
2577
+ ],
2578
+ "description": "The submitted archive."
2579
+ },
2580
+ "followUpActions": [
2581
+ "bilibili.list_archives",
2582
+ "bilibili.get_archive_stat"
2583
+ ]
2584
+ }
2585
+ ]
2586
+ }