@zenalexa/unicli 0.220.0 → 0.220.1

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 (182) hide show
  1. package/AGENTS.md +10 -19
  2. package/README.md +17 -11
  3. package/README.zh-CN.md +17 -11
  4. package/dist/adapters/anilist/web.d.ts +11 -0
  5. package/dist/adapters/anilist/web.d.ts.map +1 -0
  6. package/dist/adapters/anilist/web.js +284 -0
  7. package/dist/adapters/anilist/web.js.map +1 -0
  8. package/dist/adapters/bangumi/web.d.ts +14 -0
  9. package/dist/adapters/bangumi/web.d.ts.map +1 -0
  10. package/dist/adapters/bangumi/web.js +257 -0
  11. package/dist/adapters/bangumi/web.js.map +1 -0
  12. package/dist/adapters/dlsite/web.d.ts +31 -0
  13. package/dist/adapters/dlsite/web.d.ts.map +1 -0
  14. package/dist/adapters/dlsite/web.js +455 -0
  15. package/dist/adapters/dlsite/web.js.map +1 -0
  16. package/dist/adapters/ehentai/web.d.ts +66 -0
  17. package/dist/adapters/ehentai/web.d.ts.map +1 -0
  18. package/dist/adapters/ehentai/web.js +608 -0
  19. package/dist/adapters/ehentai/web.js.map +1 -0
  20. package/dist/adapters/jikan/web.d.ts +9 -0
  21. package/dist/adapters/jikan/web.d.ts.map +1 -0
  22. package/dist/adapters/jikan/web.js +154 -0
  23. package/dist/adapters/jikan/web.js.map +1 -0
  24. package/dist/adapters/kitsu/web.d.ts +9 -0
  25. package/dist/adapters/kitsu/web.d.ts.map +1 -0
  26. package/dist/adapters/kitsu/web.js +97 -0
  27. package/dist/adapters/kitsu/web.js.map +1 -0
  28. package/dist/adapters/mangadex/web.d.ts +10 -0
  29. package/dist/adapters/mangadex/web.d.ts.map +1 -0
  30. package/dist/adapters/mangadex/web.js +188 -0
  31. package/dist/adapters/mangadex/web.js.map +1 -0
  32. package/dist/adapters/moegirl/web.d.ts +23 -0
  33. package/dist/adapters/moegirl/web.d.ts.map +1 -0
  34. package/dist/adapters/moegirl/web.js +269 -0
  35. package/dist/adapters/moegirl/web.js.map +1 -0
  36. package/dist/adapters/safebooru/web.d.ts +10 -0
  37. package/dist/adapters/safebooru/web.d.ts.map +1 -0
  38. package/dist/adapters/safebooru/web.js +120 -0
  39. package/dist/adapters/safebooru/web.js.map +1 -0
  40. package/dist/adapters/vndb/web.d.ts +10 -0
  41. package/dist/adapters/vndb/web.d.ts.map +1 -0
  42. package/dist/adapters/vndb/web.js +321 -0
  43. package/dist/adapters/vndb/web.js.map +1 -0
  44. package/dist/agents/codex-pack.d.ts +62 -0
  45. package/dist/agents/codex-pack.d.ts.map +1 -0
  46. package/dist/agents/codex-pack.js +163 -0
  47. package/dist/agents/codex-pack.js.map +1 -0
  48. package/dist/commands/agents.d.ts.map +1 -1
  49. package/dist/commands/agents.js +6 -43
  50. package/dist/commands/agents.js.map +1 -1
  51. package/dist/commands/browser/adapter.d.ts.map +1 -1
  52. package/dist/commands/browser/adapter.js +17 -3
  53. package/dist/commands/browser/adapter.js.map +1 -1
  54. package/dist/commands/describe.d.ts.map +1 -1
  55. package/dist/commands/describe.js +6 -7
  56. package/dist/commands/describe.js.map +1 -1
  57. package/dist/commands/dispatch.d.ts +1 -1
  58. package/dist/commands/dispatch.d.ts.map +1 -1
  59. package/dist/commands/dispatch.js +4 -2
  60. package/dist/commands/dispatch.js.map +1 -1
  61. package/dist/commands/mcp.d.ts +1 -1
  62. package/dist/commands/mcp.d.ts.map +1 -1
  63. package/dist/commands/mcp.js +10 -5
  64. package/dist/commands/mcp.js.map +1 -1
  65. package/dist/core/command-contract-lint.d.ts +10 -0
  66. package/dist/core/command-contract-lint.d.ts.map +1 -0
  67. package/dist/core/command-contract-lint.js +41 -0
  68. package/dist/core/command-contract-lint.js.map +1 -0
  69. package/dist/core/command-contract.d.ts +100 -0
  70. package/dist/core/command-contract.d.ts.map +1 -0
  71. package/dist/core/command-contract.js +174 -0
  72. package/dist/core/command-contract.js.map +1 -0
  73. package/dist/core/index.d.ts +2 -0
  74. package/dist/core/index.d.ts.map +1 -1
  75. package/dist/core/index.js +2 -0
  76. package/dist/core/index.js.map +1 -1
  77. package/dist/discovery/aliases.d.ts +2 -2
  78. package/dist/discovery/aliases.d.ts.map +1 -1
  79. package/dist/discovery/aliases.js +464 -6
  80. package/dist/discovery/aliases.js.map +1 -1
  81. package/dist/discovery/search.d.ts.map +1 -1
  82. package/dist/discovery/search.js +147 -2
  83. package/dist/discovery/search.js.map +1 -1
  84. package/dist/engine/args.d.ts.map +1 -1
  85. package/dist/engine/args.js +18 -1
  86. package/dist/engine/args.js.map +1 -1
  87. package/dist/engine/artifact-validation.d.ts +29 -0
  88. package/dist/engine/artifact-validation.d.ts.map +1 -0
  89. package/dist/engine/artifact-validation.js +211 -0
  90. package/dist/engine/artifact-validation.js.map +1 -0
  91. package/dist/engine/browser/diagnostics.d.ts +38 -0
  92. package/dist/engine/browser/diagnostics.d.ts.map +1 -0
  93. package/dist/engine/browser/diagnostics.js +40 -0
  94. package/dist/engine/browser/diagnostics.js.map +1 -0
  95. package/dist/engine/invoke.d.ts +1 -0
  96. package/dist/engine/invoke.d.ts.map +1 -1
  97. package/dist/engine/invoke.js +1 -0
  98. package/dist/engine/invoke.js.map +1 -1
  99. package/dist/engine/kernel/errors.d.ts +11 -0
  100. package/dist/engine/kernel/errors.d.ts.map +1 -0
  101. package/dist/engine/kernel/errors.js +15 -0
  102. package/dist/engine/kernel/errors.js.map +1 -0
  103. package/dist/engine/kernel/execute.d.ts +7 -18
  104. package/dist/engine/kernel/execute.d.ts.map +1 -1
  105. package/dist/engine/kernel/execute.js +25 -410
  106. package/dist/engine/kernel/execute.js.map +1 -1
  107. package/dist/engine/kernel/stages.d.ts +44 -0
  108. package/dist/engine/kernel/stages.d.ts.map +1 -0
  109. package/dist/engine/kernel/stages.js +428 -0
  110. package/dist/engine/kernel/stages.js.map +1 -0
  111. package/dist/engine/kernel/types.d.ts +21 -1
  112. package/dist/engine/kernel/types.d.ts.map +1 -1
  113. package/dist/engine/steps/download.d.ts +1 -0
  114. package/dist/engine/steps/download.d.ts.map +1 -1
  115. package/dist/engine/steps/download.js +10 -6
  116. package/dist/engine/steps/download.js.map +1 -1
  117. package/dist/fast-path/render.js +1 -1
  118. package/dist/fast-path/render.js.map +1 -1
  119. package/dist/manifest-compact.txt +3 -3
  120. package/dist/manifest-search.json +1 -1
  121. package/dist/manifest.json +3074 -3
  122. package/dist/mcp/handler.d.ts.map +1 -1
  123. package/dist/mcp/handler.js +11 -1
  124. package/dist/mcp/handler.js.map +1 -1
  125. package/dist/mcp/server.d.ts +1 -1
  126. package/dist/mcp/server.js +1 -1
  127. package/dist/mcp/tools.d.ts.map +1 -1
  128. package/dist/mcp/tools.js +18 -10
  129. package/dist/mcp/tools.js.map +1 -1
  130. package/dist/output/error-map.d.ts.map +1 -1
  131. package/dist/output/error-map.js +1 -1
  132. package/dist/output/error-map.js.map +1 -1
  133. package/dist/registry.d.ts.map +1 -1
  134. package/dist/registry.js +2 -1
  135. package/dist/registry.js.map +1 -1
  136. package/package.json +2 -2
  137. package/server.json +3 -3
  138. package/skills/unicli/SKILL.md +1 -1
  139. package/skills/unicli-claude-code/SKILL.md +1 -1
  140. package/skills/unicli-hermes/SKILL.md +1 -1
  141. package/src/adapters/anilist/web.test.ts +93 -0
  142. package/src/adapters/anilist/web.ts +341 -0
  143. package/src/adapters/arxiv/download.yaml +53 -0
  144. package/src/adapters/bangumi/web.test.ts +109 -0
  145. package/src/adapters/bangumi/web.ts +295 -0
  146. package/src/adapters/danbooru/artists.yaml +44 -0
  147. package/src/adapters/danbooru/comments.yaml +45 -0
  148. package/src/adapters/danbooru/detail.yaml +78 -0
  149. package/src/adapters/danbooru/download.yaml +51 -0
  150. package/src/adapters/danbooru/pools.yaml +56 -0
  151. package/src/adapters/danbooru/search.yaml +69 -0
  152. package/src/adapters/danbooru/tags.yaml +42 -0
  153. package/src/adapters/danbooru/wiki.yaml +44 -0
  154. package/src/adapters/dlsite/web.test.ts +132 -0
  155. package/src/adapters/dlsite/web.ts +557 -0
  156. package/src/adapters/ehentai/web.test.ts +157 -0
  157. package/src/adapters/ehentai/web.ts +750 -0
  158. package/src/adapters/jikan/web.test.ts +50 -0
  159. package/src/adapters/jikan/web.ts +177 -0
  160. package/src/adapters/kitsu/web.test.ts +29 -0
  161. package/src/adapters/kitsu/web.ts +109 -0
  162. package/src/adapters/konachan/detail.yaml +62 -0
  163. package/src/adapters/konachan/download.yaml +55 -0
  164. package/src/adapters/konachan/search.yaml +65 -0
  165. package/src/adapters/konachan/tags.yaml +40 -0
  166. package/src/adapters/mangadex/web.test.ts +46 -0
  167. package/src/adapters/mangadex/web.ts +210 -0
  168. package/src/adapters/moegirl/web.test.ts +87 -0
  169. package/src/adapters/moegirl/web.ts +343 -0
  170. package/src/adapters/pdf/read.yaml +49 -0
  171. package/src/adapters/pixiv/download.yaml +15 -2
  172. package/src/adapters/safebooru/detail.yaml +63 -0
  173. package/src/adapters/safebooru/download.yaml +58 -0
  174. package/src/adapters/safebooru/search.yaml +69 -0
  175. package/src/adapters/safebooru/web.test.ts +60 -0
  176. package/src/adapters/safebooru/web.ts +130 -0
  177. package/src/adapters/vndb/web.test.ts +86 -0
  178. package/src/adapters/vndb/web.ts +393 -0
  179. package/src/adapters/yandere/detail.yaml +61 -0
  180. package/src/adapters/yandere/download.yaml +56 -0
  181. package/src/adapters/yandere/search.yaml +67 -0
  182. package/src/adapters/yandere/tags.yaml +41 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.220.0",
2
+ "version": "0.220.1",
3
3
  "sites": {
4
4
  "1688": {
5
5
  "commands": [
@@ -187,6 +187,17 @@
187
187
  "strategy": "public",
188
188
  "type": "web-api",
189
189
  "browser": false,
190
+ "columns": [
191
+ "rank",
192
+ "tid",
193
+ "title",
194
+ "forum",
195
+ "author",
196
+ "replies",
197
+ "views",
198
+ "lastReplyTime",
199
+ "url"
200
+ ],
190
201
  "args": [
191
202
  {
192
203
  "name": "limit",
@@ -205,6 +216,17 @@
205
216
  "strategy": "public",
206
217
  "type": "web-api",
207
218
  "browser": false,
219
+ "columns": [
220
+ "rank",
221
+ "tid",
222
+ "kind",
223
+ "title",
224
+ "author",
225
+ "replies",
226
+ "views",
227
+ "lastReplyTime",
228
+ "url"
229
+ ],
208
230
  "args": [
209
231
  {
210
232
  "name": "fid",
@@ -235,6 +257,11 @@
235
257
  "strategy": "public",
236
258
  "type": "web-api",
237
259
  "browser": false,
260
+ "columns": [
261
+ "fid",
262
+ "name",
263
+ "url"
264
+ ],
238
265
  "args": [
239
266
  {
240
267
  "name": "filter",
@@ -253,6 +280,17 @@
253
280
  "strategy": "public",
254
281
  "type": "web-api",
255
282
  "browser": false,
283
+ "columns": [
284
+ "rank",
285
+ "tid",
286
+ "title",
287
+ "forum",
288
+ "author",
289
+ "replies",
290
+ "views",
291
+ "lastReplyTime",
292
+ "url"
293
+ ],
256
294
  "args": [
257
295
  {
258
296
  "name": "limit",
@@ -271,6 +309,17 @@
271
309
  "strategy": "public",
272
310
  "type": "web-api",
273
311
  "browser": false,
312
+ "columns": [
313
+ "rank",
314
+ "tid",
315
+ "title",
316
+ "forum",
317
+ "author",
318
+ "replies",
319
+ "views",
320
+ "postTime",
321
+ "url"
322
+ ],
274
323
  "args": [
275
324
  {
276
325
  "name": "limit",
@@ -289,6 +338,13 @@
289
338
  "strategy": "cookie",
290
339
  "type": "web-api",
291
340
  "browser": true,
341
+ "columns": [
342
+ "index",
343
+ "from",
344
+ "summary",
345
+ "time",
346
+ "threadUrl"
347
+ ],
292
348
  "args": [
293
349
  {
294
350
  "name": "kind",
@@ -313,6 +369,17 @@
313
369
  "strategy": "cookie",
314
370
  "type": "web-api",
315
371
  "browser": true,
372
+ "columns": [
373
+ "rank",
374
+ "tid",
375
+ "title",
376
+ "forum",
377
+ "author",
378
+ "replies",
379
+ "views",
380
+ "postTime",
381
+ "url"
382
+ ],
316
383
  "args": [
317
384
  {
318
385
  "name": "query",
@@ -343,6 +410,14 @@
343
410
  "strategy": "public",
344
411
  "type": "web-api",
345
412
  "browser": false,
413
+ "columns": [
414
+ "floor",
415
+ "pid",
416
+ "author",
417
+ "postTime",
418
+ "content",
419
+ "url"
420
+ ],
346
421
  "args": [
347
422
  {
348
423
  "name": "tid",
@@ -379,6 +454,19 @@
379
454
  "strategy": "public",
380
455
  "type": "web-api",
381
456
  "browser": false,
457
+ "columns": [
458
+ "uid",
459
+ "username",
460
+ "group",
461
+ "credits",
462
+ "rice",
463
+ "posts",
464
+ "threads",
465
+ "digests",
466
+ "registerTime",
467
+ "lastAccess",
468
+ "profileUrl"
469
+ ],
382
470
  "args": [
383
471
  {
384
472
  "name": "who",
@@ -560,6 +648,19 @@
560
648
  "type": "web-api",
561
649
  "domain": "jobs.51job.com",
562
650
  "browser": true,
651
+ "columns": [
652
+ "rank",
653
+ "jobId",
654
+ "title",
655
+ "salary",
656
+ "city",
657
+ "company",
658
+ "companyId",
659
+ "workYear",
660
+ "degree",
661
+ "issueDate",
662
+ "url"
663
+ ],
563
664
  "args": [
564
665
  {
565
666
  "name": "encCoId",
@@ -615,6 +716,19 @@
615
716
  "type": "web-api",
616
717
  "domain": "we.51job.com",
617
718
  "browser": true,
719
+ "columns": [
720
+ "rank",
721
+ "jobId",
722
+ "title",
723
+ "salary",
724
+ "city",
725
+ "company",
726
+ "companyId",
727
+ "workYear",
728
+ "degree",
729
+ "issueDate",
730
+ "url"
731
+ ],
618
732
  "args": [
619
733
  {
620
734
  "name": "area",
@@ -652,6 +766,19 @@
652
766
  "type": "web-api",
653
767
  "domain": "we.51job.com",
654
768
  "browser": true,
769
+ "columns": [
770
+ "rank",
771
+ "jobId",
772
+ "title",
773
+ "salary",
774
+ "city",
775
+ "company",
776
+ "companyId",
777
+ "workYear",
778
+ "degree",
779
+ "issueDate",
780
+ "url"
781
+ ],
655
782
  "args": [
656
783
  {
657
784
  "name": "keyword",
@@ -1168,6 +1295,218 @@
1168
1295
  ],
1169
1296
  "category": "shopping"
1170
1297
  },
1298
+ "anilist": {
1299
+ "commands": [
1300
+ {
1301
+ "name": "anime",
1302
+ "description": "Search AniList anime by Japanese title, native title, romaji, alias, or keyword",
1303
+ "strategy": "public",
1304
+ "type": "web-api",
1305
+ "domain": "anilist.co",
1306
+ "browser": false,
1307
+ "columns": [
1308
+ "rank",
1309
+ "id",
1310
+ "title",
1311
+ "native",
1312
+ "type",
1313
+ "format",
1314
+ "status",
1315
+ "score",
1316
+ "popularity",
1317
+ "trending",
1318
+ "start_date",
1319
+ "url"
1320
+ ],
1321
+ "args": [
1322
+ {
1323
+ "name": "query",
1324
+ "type": "str",
1325
+ "required": true,
1326
+ "positional": true
1327
+ },
1328
+ {
1329
+ "name": "limit",
1330
+ "type": "int",
1331
+ "default": 10
1332
+ },
1333
+ {
1334
+ "name": "year",
1335
+ "type": "int"
1336
+ },
1337
+ {
1338
+ "name": "sort",
1339
+ "type": "str",
1340
+ "default": "relevance",
1341
+ "choices": [
1342
+ "relevance",
1343
+ "popular",
1344
+ "trending",
1345
+ "recent",
1346
+ "score"
1347
+ ]
1348
+ }
1349
+ ],
1350
+ "pipeline_steps": 0,
1351
+ "adapter_path": "src/adapters/anilist/web.ts",
1352
+ "target_surface": ""
1353
+ },
1354
+ {
1355
+ "name": "characters",
1356
+ "description": "Search AniList characters by Japanese name, native name, romaji, or alias",
1357
+ "strategy": "public",
1358
+ "type": "web-api",
1359
+ "domain": "anilist.co",
1360
+ "browser": false,
1361
+ "columns": [
1362
+ "rank",
1363
+ "id",
1364
+ "kind",
1365
+ "name",
1366
+ "native",
1367
+ "favourites",
1368
+ "url"
1369
+ ],
1370
+ "args": [
1371
+ {
1372
+ "name": "query",
1373
+ "type": "str",
1374
+ "required": true,
1375
+ "positional": true
1376
+ },
1377
+ {
1378
+ "name": "limit",
1379
+ "type": "int",
1380
+ "default": 10
1381
+ }
1382
+ ],
1383
+ "pipeline_steps": 0,
1384
+ "adapter_path": "src/adapters/anilist/web.ts",
1385
+ "target_surface": ""
1386
+ },
1387
+ {
1388
+ "name": "manga",
1389
+ "description": "Search AniList manga by Japanese title, native title, romaji, alias, or keyword",
1390
+ "strategy": "public",
1391
+ "type": "web-api",
1392
+ "domain": "anilist.co",
1393
+ "browser": false,
1394
+ "columns": [
1395
+ "rank",
1396
+ "id",
1397
+ "title",
1398
+ "native",
1399
+ "type",
1400
+ "format",
1401
+ "status",
1402
+ "score",
1403
+ "popularity",
1404
+ "trending",
1405
+ "start_date",
1406
+ "url"
1407
+ ],
1408
+ "args": [
1409
+ {
1410
+ "name": "query",
1411
+ "type": "str",
1412
+ "required": true,
1413
+ "positional": true
1414
+ },
1415
+ {
1416
+ "name": "limit",
1417
+ "type": "int",
1418
+ "default": 10
1419
+ },
1420
+ {
1421
+ "name": "year",
1422
+ "type": "int"
1423
+ },
1424
+ {
1425
+ "name": "sort",
1426
+ "type": "str",
1427
+ "default": "relevance",
1428
+ "choices": [
1429
+ "relevance",
1430
+ "popular",
1431
+ "trending",
1432
+ "recent",
1433
+ "score"
1434
+ ]
1435
+ }
1436
+ ],
1437
+ "pipeline_steps": 0,
1438
+ "adapter_path": "src/adapters/anilist/web.ts",
1439
+ "target_surface": ""
1440
+ },
1441
+ {
1442
+ "name": "staff",
1443
+ "description": "Search AniList staff by Japanese name, native name, romaji, or alias",
1444
+ "strategy": "public",
1445
+ "type": "web-api",
1446
+ "domain": "anilist.co",
1447
+ "browser": false,
1448
+ "columns": [
1449
+ "rank",
1450
+ "id",
1451
+ "kind",
1452
+ "name",
1453
+ "native",
1454
+ "favourites",
1455
+ "url"
1456
+ ],
1457
+ "args": [
1458
+ {
1459
+ "name": "query",
1460
+ "type": "str",
1461
+ "required": true,
1462
+ "positional": true
1463
+ },
1464
+ {
1465
+ "name": "limit",
1466
+ "type": "int",
1467
+ "default": 10
1468
+ }
1469
+ ],
1470
+ "pipeline_steps": 0,
1471
+ "adapter_path": "src/adapters/anilist/web.ts",
1472
+ "target_surface": ""
1473
+ },
1474
+ {
1475
+ "name": "studios",
1476
+ "description": "Search AniList studios by Japanese name, native name, romaji, or alias",
1477
+ "strategy": "public",
1478
+ "type": "web-api",
1479
+ "domain": "anilist.co",
1480
+ "browser": false,
1481
+ "columns": [
1482
+ "rank",
1483
+ "id",
1484
+ "kind",
1485
+ "name",
1486
+ "native",
1487
+ "favourites",
1488
+ "url"
1489
+ ],
1490
+ "args": [
1491
+ {
1492
+ "name": "query",
1493
+ "type": "str",
1494
+ "required": true,
1495
+ "positional": true
1496
+ },
1497
+ {
1498
+ "name": "limit",
1499
+ "type": "int",
1500
+ "default": 10
1501
+ }
1502
+ ],
1503
+ "pipeline_steps": 0,
1504
+ "adapter_path": "src/adapters/anilist/web.ts",
1505
+ "target_surface": ""
1506
+ }
1507
+ ],
1508
+ "category": "reference"
1509
+ },
1171
1510
  "antigravity": {
1172
1511
  "commands": [
1173
1512
  {
@@ -1614,6 +1953,42 @@
1614
1953
  "adapter_path": "src/adapters/arxiv/papers.ts",
1615
1954
  "target_surface": ""
1616
1955
  },
1956
+ {
1957
+ "name": "download",
1958
+ "description": "Download an arXiv paper PDF by ID",
1959
+ "strategy": "public",
1960
+ "type": "web-api",
1961
+ "domain": "export.arxiv.org",
1962
+ "browser": false,
1963
+ "quarantined": false,
1964
+ "args": [
1965
+ {
1966
+ "name": "id",
1967
+ "type": "str",
1968
+ "required": true,
1969
+ "positional": true,
1970
+ "description": "arXiv paper ID (e.g. 1706.03762)",
1971
+ "x-unicli-kind": "id"
1972
+ },
1973
+ {
1974
+ "name": "output",
1975
+ "type": "str",
1976
+ "required": false,
1977
+ "positional": false,
1978
+ "default": "./arxiv-downloads",
1979
+ "description": "Output directory",
1980
+ "x-unicli-kind": "path"
1981
+ }
1982
+ ],
1983
+ "columns": [
1984
+ "id",
1985
+ "title",
1986
+ "pdf",
1987
+ "_download"
1988
+ ],
1989
+ "pipeline_steps": 5,
1990
+ "adapter_path": "src/adapters/arxiv/download.yaml"
1991
+ },
1617
1992
  {
1618
1993
  "name": "paper",
1619
1994
  "description": "Get arXiv paper details by ID",
@@ -2326,6 +2701,216 @@
2326
2701
  ],
2327
2702
  "category": "social"
2328
2703
  },
2704
+ "bangumi": {
2705
+ "commands": [
2706
+ {
2707
+ "name": "anime",
2708
+ "description": "Search Bangumi anime subjects by Japanese title, Chinese title, romaji, or alias",
2709
+ "strategy": "public",
2710
+ "type": "web-api",
2711
+ "domain": "bgm.tv",
2712
+ "browser": false,
2713
+ "columns": [
2714
+ "rank",
2715
+ "id",
2716
+ "type",
2717
+ "name",
2718
+ "name_cn",
2719
+ "date",
2720
+ "score",
2721
+ "rank_site",
2722
+ "url"
2723
+ ],
2724
+ "args": [
2725
+ {
2726
+ "name": "query",
2727
+ "type": "str",
2728
+ "required": true,
2729
+ "positional": true
2730
+ },
2731
+ {
2732
+ "name": "limit",
2733
+ "type": "int",
2734
+ "default": 10
2735
+ },
2736
+ {
2737
+ "name": "year",
2738
+ "type": "int"
2739
+ },
2740
+ {
2741
+ "name": "sort",
2742
+ "type": "str",
2743
+ "default": "match",
2744
+ "choices": [
2745
+ "match",
2746
+ "rank",
2747
+ "score",
2748
+ "heat"
2749
+ ],
2750
+ "description": "match, rank, score, heat"
2751
+ }
2752
+ ],
2753
+ "pipeline_steps": 0,
2754
+ "adapter_path": "src/adapters/bangumi/web.ts",
2755
+ "target_surface": ""
2756
+ },
2757
+ {
2758
+ "name": "book",
2759
+ "description": "Search Bangumi book subjects by Japanese title, Chinese title, romaji, or alias",
2760
+ "strategy": "public",
2761
+ "type": "web-api",
2762
+ "domain": "bgm.tv",
2763
+ "browser": false,
2764
+ "columns": [
2765
+ "rank",
2766
+ "id",
2767
+ "type",
2768
+ "name",
2769
+ "name_cn",
2770
+ "date",
2771
+ "score",
2772
+ "rank_site",
2773
+ "url"
2774
+ ],
2775
+ "args": [
2776
+ {
2777
+ "name": "query",
2778
+ "type": "str",
2779
+ "required": true,
2780
+ "positional": true
2781
+ },
2782
+ {
2783
+ "name": "limit",
2784
+ "type": "int",
2785
+ "default": 10
2786
+ },
2787
+ {
2788
+ "name": "year",
2789
+ "type": "int"
2790
+ },
2791
+ {
2792
+ "name": "sort",
2793
+ "type": "str",
2794
+ "default": "match",
2795
+ "choices": [
2796
+ "match",
2797
+ "rank",
2798
+ "score",
2799
+ "heat"
2800
+ ],
2801
+ "description": "match, rank, score, heat"
2802
+ }
2803
+ ],
2804
+ "pipeline_steps": 0,
2805
+ "adapter_path": "src/adapters/bangumi/web.ts",
2806
+ "target_surface": ""
2807
+ },
2808
+ {
2809
+ "name": "characters",
2810
+ "description": "Search Bangumi characters by Japanese name, Chinese name, romaji, or alias",
2811
+ "strategy": "public",
2812
+ "type": "web-api",
2813
+ "domain": "bgm.tv",
2814
+ "browser": false,
2815
+ "columns": [
2816
+ "rank",
2817
+ "id",
2818
+ "name",
2819
+ "gender",
2820
+ "comments",
2821
+ "collects",
2822
+ "summary",
2823
+ "url"
2824
+ ],
2825
+ "pipeline_steps": 0,
2826
+ "adapter_path": "src/adapters/bangumi/web.ts",
2827
+ "target_surface": ""
2828
+ },
2829
+ {
2830
+ "name": "game",
2831
+ "description": "Search Bangumi game subjects by Japanese title, Chinese title, romaji, or alias",
2832
+ "strategy": "public",
2833
+ "type": "web-api",
2834
+ "domain": "bgm.tv",
2835
+ "browser": false,
2836
+ "columns": [
2837
+ "rank",
2838
+ "id",
2839
+ "type",
2840
+ "name",
2841
+ "name_cn",
2842
+ "date",
2843
+ "score",
2844
+ "rank_site",
2845
+ "url"
2846
+ ],
2847
+ "args": [
2848
+ {
2849
+ "name": "query",
2850
+ "type": "str",
2851
+ "required": true,
2852
+ "positional": true
2853
+ },
2854
+ {
2855
+ "name": "limit",
2856
+ "type": "int",
2857
+ "default": 10
2858
+ },
2859
+ {
2860
+ "name": "year",
2861
+ "type": "int"
2862
+ },
2863
+ {
2864
+ "name": "sort",
2865
+ "type": "str",
2866
+ "default": "match",
2867
+ "choices": [
2868
+ "match",
2869
+ "rank",
2870
+ "score",
2871
+ "heat"
2872
+ ],
2873
+ "description": "match, rank, score, heat"
2874
+ }
2875
+ ],
2876
+ "pipeline_steps": 0,
2877
+ "adapter_path": "src/adapters/bangumi/web.ts",
2878
+ "target_surface": ""
2879
+ },
2880
+ {
2881
+ "name": "subject",
2882
+ "description": "Get Bangumi subject details by subject id",
2883
+ "strategy": "public",
2884
+ "type": "web-api",
2885
+ "domain": "bgm.tv",
2886
+ "browser": false,
2887
+ "columns": [
2888
+ "id",
2889
+ "type",
2890
+ "name",
2891
+ "name_cn",
2892
+ "platform",
2893
+ "date",
2894
+ "score",
2895
+ "rank_site",
2896
+ "summary",
2897
+ "url"
2898
+ ],
2899
+ "args": [
2900
+ {
2901
+ "name": "id",
2902
+ "type": "str",
2903
+ "required": true,
2904
+ "positional": true
2905
+ }
2906
+ ],
2907
+ "pipeline_steps": 0,
2908
+ "adapter_path": "src/adapters/bangumi/web.ts",
2909
+ "target_surface": ""
2910
+ }
2911
+ ],
2912
+ "category": "reference"
2913
+ },
2329
2914
  "barchart": {
2330
2915
  "commands": [
2331
2916
  {
@@ -7415,6 +8000,21 @@
7415
8000
  "type": "web-api",
7416
8001
  "domain": "flights.ctrip.com",
7417
8002
  "browser": true,
8003
+ "columns": [
8004
+ "rank",
8005
+ "airline",
8006
+ "flightNo",
8007
+ "aircraft",
8008
+ "departureTime",
8009
+ "departureAirport",
8010
+ "arrivalTime",
8011
+ "arrivalAirport",
8012
+ "terminal",
8013
+ "price",
8014
+ "currency",
8015
+ "cabin",
8016
+ "url"
8017
+ ],
7418
8018
  "args": [
7419
8019
  {
7420
8020
  "name": "from",
@@ -7449,6 +8049,24 @@
7449
8049
  "type": "web-api",
7450
8050
  "domain": "hotels.ctrip.com",
7451
8051
  "browser": true,
8052
+ "columns": [
8053
+ "rank",
8054
+ "hotelId",
8055
+ "name",
8056
+ "enName",
8057
+ "star",
8058
+ "score",
8059
+ "scoreLabel",
8060
+ "reviewCount",
8061
+ "cityName",
8062
+ "district",
8063
+ "address",
8064
+ "lat",
8065
+ "lon",
8066
+ "price",
8067
+ "currency",
8068
+ "url"
8069
+ ],
7452
8070
  "args": [
7453
8071
  {
7454
8072
  "name": "city",
@@ -7481,6 +8099,22 @@
7481
8099
  "strategy": "public",
7482
8100
  "type": "web-api",
7483
8101
  "browser": false,
8102
+ "columns": [
8103
+ "rank",
8104
+ "id",
8105
+ "type",
8106
+ "displayType",
8107
+ "name",
8108
+ "eName",
8109
+ "cityId",
8110
+ "cityName",
8111
+ "provinceName",
8112
+ "countryName",
8113
+ "lat",
8114
+ "lon",
8115
+ "score",
8116
+ "url"
8117
+ ],
7484
8118
  "args": [
7485
8119
  {
7486
8120
  "name": "query",
@@ -7503,6 +8137,22 @@
7503
8137
  "strategy": "public",
7504
8138
  "type": "web-api",
7505
8139
  "browser": false,
8140
+ "columns": [
8141
+ "rank",
8142
+ "id",
8143
+ "type",
8144
+ "displayType",
8145
+ "name",
8146
+ "eName",
8147
+ "cityId",
8148
+ "cityName",
8149
+ "provinceName",
8150
+ "countryName",
8151
+ "lat",
8152
+ "lon",
8153
+ "score",
8154
+ "url"
8155
+ ],
7506
8156
  "args": [
7507
8157
  {
7508
8158
  "name": "query",
@@ -7818,6 +8468,336 @@
7818
8468
  ],
7819
8469
  "category": "dev"
7820
8470
  },
8471
+ "danbooru": {
8472
+ "commands": [
8473
+ {
8474
+ "name": "artists",
8475
+ "description": "Search Danbooru artist records",
8476
+ "strategy": "public",
8477
+ "type": "web-api",
8478
+ "domain": "danbooru.donmai.us",
8479
+ "browser": false,
8480
+ "quarantined": false,
8481
+ "args": [
8482
+ {
8483
+ "name": "query",
8484
+ "type": "str",
8485
+ "required": true,
8486
+ "positional": true,
8487
+ "description": "Artist name"
8488
+ },
8489
+ {
8490
+ "name": "limit",
8491
+ "type": "int",
8492
+ "required": false,
8493
+ "positional": false,
8494
+ "default": 20,
8495
+ "description": "Number of artists to return"
8496
+ }
8497
+ ],
8498
+ "columns": [
8499
+ "rank",
8500
+ "id",
8501
+ "name",
8502
+ "group_name",
8503
+ "other_names",
8504
+ "is_banned",
8505
+ "is_deleted",
8506
+ "url"
8507
+ ],
8508
+ "pipeline_steps": 2,
8509
+ "adapter_path": "src/adapters/danbooru/artists.yaml"
8510
+ },
8511
+ {
8512
+ "name": "comments",
8513
+ "description": "List Danbooru comments for a post",
8514
+ "strategy": "public",
8515
+ "type": "web-api",
8516
+ "domain": "danbooru.donmai.us",
8517
+ "browser": false,
8518
+ "quarantined": false,
8519
+ "args": [
8520
+ {
8521
+ "name": "post_id",
8522
+ "type": "str",
8523
+ "required": true,
8524
+ "positional": true,
8525
+ "description": "Danbooru post ID",
8526
+ "x-unicli-kind": "id"
8527
+ },
8528
+ {
8529
+ "name": "limit",
8530
+ "type": "int",
8531
+ "required": false,
8532
+ "positional": false,
8533
+ "default": 20,
8534
+ "description": "Number of comments to return"
8535
+ }
8536
+ ],
8537
+ "columns": [
8538
+ "rank",
8539
+ "id",
8540
+ "post_id",
8541
+ "creator_id",
8542
+ "score",
8543
+ "body",
8544
+ "created_at",
8545
+ "is_deleted"
8546
+ ],
8547
+ "pipeline_steps": 2,
8548
+ "adapter_path": "src/adapters/danbooru/comments.yaml"
8549
+ },
8550
+ {
8551
+ "name": "detail",
8552
+ "description": "Get Danbooru post details by ID",
8553
+ "strategy": "public",
8554
+ "type": "web-api",
8555
+ "domain": "danbooru.donmai.us",
8556
+ "browser": false,
8557
+ "quarantined": false,
8558
+ "args": [
8559
+ {
8560
+ "name": "id",
8561
+ "type": "str",
8562
+ "required": true,
8563
+ "positional": true,
8564
+ "description": "Danbooru post ID",
8565
+ "x-unicli-kind": "id"
8566
+ }
8567
+ ],
8568
+ "columns": [
8569
+ "id",
8570
+ "rating",
8571
+ "score",
8572
+ "up_score",
8573
+ "down_score",
8574
+ "fav_count",
8575
+ "file_ext",
8576
+ "file_size",
8577
+ "image_width",
8578
+ "image_height",
8579
+ "artist_tags",
8580
+ "character_tags",
8581
+ "copyright_tags",
8582
+ "general_tags",
8583
+ "meta_tags",
8584
+ "source",
8585
+ "preview_url",
8586
+ "large_url",
8587
+ "file_url",
8588
+ "pixiv_id",
8589
+ "parent_id",
8590
+ "has_children",
8591
+ "url"
8592
+ ],
8593
+ "pipeline_steps": 2,
8594
+ "adapter_path": "src/adapters/danbooru/detail.yaml"
8595
+ },
8596
+ {
8597
+ "name": "download",
8598
+ "description": "Download original media for a Danbooru post",
8599
+ "strategy": "public",
8600
+ "type": "web-api",
8601
+ "domain": "danbooru.donmai.us",
8602
+ "browser": false,
8603
+ "quarantined": false,
8604
+ "args": [
8605
+ {
8606
+ "name": "id",
8607
+ "type": "str",
8608
+ "required": true,
8609
+ "positional": true,
8610
+ "description": "Danbooru post ID",
8611
+ "x-unicli-kind": "id"
8612
+ },
8613
+ {
8614
+ "name": "output",
8615
+ "type": "str",
8616
+ "required": false,
8617
+ "positional": false,
8618
+ "default": "./danbooru-downloads",
8619
+ "description": "Output directory",
8620
+ "x-unicli-kind": "path"
8621
+ }
8622
+ ],
8623
+ "columns": [
8624
+ "id",
8625
+ "rating",
8626
+ "tags",
8627
+ "file_url",
8628
+ "url",
8629
+ "_download"
8630
+ ],
8631
+ "pipeline_steps": 4,
8632
+ "adapter_path": "src/adapters/danbooru/download.yaml"
8633
+ },
8634
+ {
8635
+ "name": "pools",
8636
+ "description": "Search Danbooru pools",
8637
+ "strategy": "public",
8638
+ "type": "web-api",
8639
+ "domain": "danbooru.donmai.us",
8640
+ "browser": false,
8641
+ "quarantined": false,
8642
+ "args": [
8643
+ {
8644
+ "name": "query",
8645
+ "type": "str",
8646
+ "required": true,
8647
+ "positional": true,
8648
+ "description": "Pool name wildcard query"
8649
+ },
8650
+ {
8651
+ "name": "limit",
8652
+ "type": "int",
8653
+ "required": false,
8654
+ "positional": false,
8655
+ "default": 20,
8656
+ "description": "Number of pools to return"
8657
+ }
8658
+ ],
8659
+ "columns": [
8660
+ "rank",
8661
+ "id",
8662
+ "name",
8663
+ "category",
8664
+ "post_count",
8665
+ "description",
8666
+ "is_active",
8667
+ "is_deleted",
8668
+ "url"
8669
+ ],
8670
+ "pipeline_steps": 2,
8671
+ "adapter_path": "src/adapters/danbooru/pools.yaml"
8672
+ },
8673
+ {
8674
+ "name": "search",
8675
+ "description": "Search Danbooru posts by tag query",
8676
+ "strategy": "public",
8677
+ "type": "web-api",
8678
+ "domain": "danbooru.donmai.us",
8679
+ "browser": false,
8680
+ "quarantined": false,
8681
+ "args": [
8682
+ {
8683
+ "name": "tags",
8684
+ "type": "str",
8685
+ "required": true,
8686
+ "positional": true,
8687
+ "description": "Danbooru tag query, for example \"landscape rating:g\""
8688
+ },
8689
+ {
8690
+ "name": "limit",
8691
+ "type": "int",
8692
+ "required": false,
8693
+ "positional": false,
8694
+ "default": 20,
8695
+ "description": "Number of posts to return"
8696
+ },
8697
+ {
8698
+ "name": "page",
8699
+ "type": "int",
8700
+ "required": false,
8701
+ "positional": false,
8702
+ "default": 1,
8703
+ "description": "Page number"
8704
+ }
8705
+ ],
8706
+ "columns": [
8707
+ "rank",
8708
+ "id",
8709
+ "rating",
8710
+ "score",
8711
+ "fav_count",
8712
+ "file_ext",
8713
+ "image_width",
8714
+ "image_height",
8715
+ "tags",
8716
+ "source",
8717
+ "preview_url",
8718
+ "file_url",
8719
+ "url"
8720
+ ],
8721
+ "pipeline_steps": 2,
8722
+ "adapter_path": "src/adapters/danbooru/search.yaml"
8723
+ },
8724
+ {
8725
+ "name": "tags",
8726
+ "description": "Search Danbooru tags",
8727
+ "strategy": "public",
8728
+ "type": "web-api",
8729
+ "domain": "danbooru.donmai.us",
8730
+ "browser": false,
8731
+ "quarantined": false,
8732
+ "args": [
8733
+ {
8734
+ "name": "query",
8735
+ "type": "str",
8736
+ "required": true,
8737
+ "positional": true,
8738
+ "description": "Tag name prefix or wildcard query"
8739
+ },
8740
+ {
8741
+ "name": "limit",
8742
+ "type": "int",
8743
+ "required": false,
8744
+ "positional": false,
8745
+ "default": 20,
8746
+ "description": "Number of tags to return"
8747
+ }
8748
+ ],
8749
+ "columns": [
8750
+ "rank",
8751
+ "id",
8752
+ "name",
8753
+ "post_count",
8754
+ "category",
8755
+ "is_deprecated"
8756
+ ],
8757
+ "pipeline_steps": 2,
8758
+ "adapter_path": "src/adapters/danbooru/tags.yaml"
8759
+ },
8760
+ {
8761
+ "name": "wiki",
8762
+ "description": "Search Danbooru wiki pages",
8763
+ "strategy": "public",
8764
+ "type": "web-api",
8765
+ "domain": "danbooru.donmai.us",
8766
+ "browser": false,
8767
+ "quarantined": false,
8768
+ "args": [
8769
+ {
8770
+ "name": "query",
8771
+ "type": "str",
8772
+ "required": true,
8773
+ "positional": true,
8774
+ "description": "Wiki page title"
8775
+ },
8776
+ {
8777
+ "name": "limit",
8778
+ "type": "int",
8779
+ "required": false,
8780
+ "positional": false,
8781
+ "default": 20,
8782
+ "description": "Number of wiki pages to return"
8783
+ }
8784
+ ],
8785
+ "columns": [
8786
+ "rank",
8787
+ "id",
8788
+ "title",
8789
+ "body",
8790
+ "other_names",
8791
+ "is_locked",
8792
+ "is_deleted",
8793
+ "url"
8794
+ ],
8795
+ "pipeline_steps": 2,
8796
+ "adapter_path": "src/adapters/danbooru/wiki.yaml"
8797
+ }
8798
+ ],
8799
+ "category": "content"
8800
+ },
7821
8801
  "dangdang": {
7822
8802
  "commands": [
7823
8803
  {
@@ -9055,6 +10035,366 @@
9055
10035
  ],
9056
10036
  "category": "social"
9057
10037
  },
10038
+ "dlsite": {
10039
+ "commands": [
10040
+ {
10041
+ "name": "cg",
10042
+ "description": "Search DLsite CG and illustration works",
10043
+ "strategy": "public",
10044
+ "type": "web-api",
10045
+ "domain": "www.dlsite.com",
10046
+ "browser": false,
10047
+ "columns": [
10048
+ "rank",
10049
+ "product_id",
10050
+ "title",
10051
+ "maker",
10052
+ "maker_id",
10053
+ "work_type",
10054
+ "age",
10055
+ "price_jpy",
10056
+ "sales",
10057
+ "rating",
10058
+ "reviews",
10059
+ "url"
10060
+ ],
10061
+ "pipeline_steps": 0,
10062
+ "adapter_path": "src/adapters/dlsite/web.ts",
10063
+ "target_surface": ""
10064
+ },
10065
+ {
10066
+ "name": "creator",
10067
+ "description": "Search DLsite works by creator, author, illustrator, or voice actor name",
10068
+ "strategy": "public",
10069
+ "type": "web-api",
10070
+ "domain": "www.dlsite.com",
10071
+ "browser": false,
10072
+ "columns": [
10073
+ "rank",
10074
+ "product_id",
10075
+ "title",
10076
+ "maker",
10077
+ "maker_id",
10078
+ "work_type",
10079
+ "age",
10080
+ "price_jpy",
10081
+ "sales",
10082
+ "rating",
10083
+ "reviews",
10084
+ "url"
10085
+ ],
10086
+ "args": [
10087
+ {
10088
+ "name": "creator",
10089
+ "type": "str",
10090
+ "required": true,
10091
+ "positional": true
10092
+ },
10093
+ {
10094
+ "name": "limit",
10095
+ "type": "int",
10096
+ "default": 20
10097
+ },
10098
+ {
10099
+ "name": "page",
10100
+ "type": "int",
10101
+ "default": 1
10102
+ },
10103
+ {
10104
+ "name": "sort",
10105
+ "type": "str",
10106
+ "default": "release",
10107
+ "choices": [
10108
+ "release",
10109
+ "hot",
10110
+ "rating",
10111
+ "reviews",
10112
+ "price",
10113
+ "title"
10114
+ ],
10115
+ "description": "release, hot, rating, reviews, price, title"
10116
+ }
10117
+ ],
10118
+ "pipeline_steps": 0,
10119
+ "adapter_path": "src/adapters/dlsite/web.ts",
10120
+ "target_surface": ""
10121
+ },
10122
+ {
10123
+ "name": "game",
10124
+ "description": "Search DLsite game and ADV works",
10125
+ "strategy": "public",
10126
+ "type": "web-api",
10127
+ "domain": "www.dlsite.com",
10128
+ "browser": false,
10129
+ "columns": [
10130
+ "rank",
10131
+ "product_id",
10132
+ "title",
10133
+ "maker",
10134
+ "maker_id",
10135
+ "work_type",
10136
+ "age",
10137
+ "price_jpy",
10138
+ "sales",
10139
+ "rating",
10140
+ "reviews",
10141
+ "url"
10142
+ ],
10143
+ "pipeline_steps": 0,
10144
+ "adapter_path": "src/adapters/dlsite/web.ts",
10145
+ "target_surface": ""
10146
+ },
10147
+ {
10148
+ "name": "genre",
10149
+ "description": "Search DLsite works by DLsite genre tag id",
10150
+ "strategy": "public",
10151
+ "type": "web-api",
10152
+ "domain": "www.dlsite.com",
10153
+ "browser": false,
10154
+ "columns": [
10155
+ "rank",
10156
+ "product_id",
10157
+ "title",
10158
+ "maker",
10159
+ "maker_id",
10160
+ "work_type",
10161
+ "age",
10162
+ "price_jpy",
10163
+ "sales",
10164
+ "rating",
10165
+ "reviews",
10166
+ "url"
10167
+ ],
10168
+ "args": [
10169
+ {
10170
+ "name": "genre",
10171
+ "type": "str",
10172
+ "required": true,
10173
+ "positional": true
10174
+ },
10175
+ {
10176
+ "name": "limit",
10177
+ "type": "int",
10178
+ "default": 20
10179
+ },
10180
+ {
10181
+ "name": "page",
10182
+ "type": "int",
10183
+ "default": 1
10184
+ },
10185
+ {
10186
+ "name": "sort",
10187
+ "type": "str",
10188
+ "default": "release",
10189
+ "choices": [
10190
+ "release",
10191
+ "hot",
10192
+ "rating",
10193
+ "reviews",
10194
+ "price",
10195
+ "title"
10196
+ ],
10197
+ "description": "release, hot, rating, reviews, price, title"
10198
+ }
10199
+ ],
10200
+ "pipeline_steps": 0,
10201
+ "adapter_path": "src/adapters/dlsite/web.ts",
10202
+ "target_surface": ""
10203
+ },
10204
+ {
10205
+ "name": "maker",
10206
+ "description": "Search DLsite works from a circle or maker id such as RG01012594 or VG02994",
10207
+ "strategy": "public",
10208
+ "type": "web-api",
10209
+ "domain": "www.dlsite.com",
10210
+ "browser": false,
10211
+ "columns": [
10212
+ "rank",
10213
+ "product_id",
10214
+ "title",
10215
+ "maker",
10216
+ "maker_id",
10217
+ "work_type",
10218
+ "age",
10219
+ "price_jpy",
10220
+ "sales",
10221
+ "rating",
10222
+ "reviews",
10223
+ "url"
10224
+ ],
10225
+ "args": [
10226
+ {
10227
+ "name": "maker_id",
10228
+ "type": "str",
10229
+ "required": true,
10230
+ "positional": true
10231
+ },
10232
+ {
10233
+ "name": "limit",
10234
+ "type": "int",
10235
+ "default": 20
10236
+ },
10237
+ {
10238
+ "name": "page",
10239
+ "type": "int",
10240
+ "default": 1
10241
+ },
10242
+ {
10243
+ "name": "sort",
10244
+ "type": "str",
10245
+ "default": "release",
10246
+ "choices": [
10247
+ "release",
10248
+ "hot",
10249
+ "rating",
10250
+ "reviews",
10251
+ "price",
10252
+ "title"
10253
+ ],
10254
+ "description": "release, hot, rating, reviews, price, title"
10255
+ }
10256
+ ],
10257
+ "pipeline_steps": 0,
10258
+ "adapter_path": "src/adapters/dlsite/web.ts",
10259
+ "target_surface": ""
10260
+ },
10261
+ {
10262
+ "name": "manga",
10263
+ "description": "Search DLsite manga works",
10264
+ "strategy": "public",
10265
+ "type": "web-api",
10266
+ "domain": "www.dlsite.com",
10267
+ "browser": false,
10268
+ "columns": [
10269
+ "rank",
10270
+ "product_id",
10271
+ "title",
10272
+ "maker",
10273
+ "maker_id",
10274
+ "work_type",
10275
+ "age",
10276
+ "price_jpy",
10277
+ "sales",
10278
+ "rating",
10279
+ "reviews",
10280
+ "url"
10281
+ ],
10282
+ "pipeline_steps": 0,
10283
+ "adapter_path": "src/adapters/dlsite/web.ts",
10284
+ "target_surface": ""
10285
+ },
10286
+ {
10287
+ "name": "search",
10288
+ "description": "Search DLsite doujin works by keyword, type, and sort order",
10289
+ "strategy": "public",
10290
+ "type": "web-api",
10291
+ "domain": "www.dlsite.com",
10292
+ "browser": false,
10293
+ "columns": [
10294
+ "rank",
10295
+ "product_id",
10296
+ "title",
10297
+ "maker",
10298
+ "maker_id",
10299
+ "work_type",
10300
+ "age",
10301
+ "price_jpy",
10302
+ "sales",
10303
+ "rating",
10304
+ "reviews",
10305
+ "url"
10306
+ ],
10307
+ "args": [
10308
+ {
10309
+ "name": "query",
10310
+ "type": "str",
10311
+ "required": true,
10312
+ "positional": true
10313
+ },
10314
+ {
10315
+ "name": "limit",
10316
+ "type": "int",
10317
+ "default": 20
10318
+ },
10319
+ {
10320
+ "name": "page",
10321
+ "type": "int",
10322
+ "default": 1
10323
+ },
10324
+ {
10325
+ "name": "sort",
10326
+ "type": "str",
10327
+ "default": "release",
10328
+ "choices": [
10329
+ "release",
10330
+ "hot",
10331
+ "rating",
10332
+ "reviews",
10333
+ "price",
10334
+ "title"
10335
+ ],
10336
+ "description": "release, hot, rating, reviews, price, title"
10337
+ },
10338
+ {
10339
+ "name": "type",
10340
+ "type": "str",
10341
+ "choices": [
10342
+ "all",
10343
+ "manga",
10344
+ "cg",
10345
+ "game",
10346
+ "novel",
10347
+ "voice",
10348
+ "video"
10349
+ ],
10350
+ "description": "all, manga, cg, game, novel, voice, video"
10351
+ }
10352
+ ],
10353
+ "pipeline_steps": 0,
10354
+ "adapter_path": "src/adapters/dlsite/web.ts",
10355
+ "target_surface": ""
10356
+ },
10357
+ {
10358
+ "name": "work",
10359
+ "description": "Get DLsite public work detail by product id",
10360
+ "strategy": "public",
10361
+ "type": "web-api",
10362
+ "domain": "www.dlsite.com",
10363
+ "browser": false,
10364
+ "columns": [
10365
+ "product_id",
10366
+ "title",
10367
+ "maker",
10368
+ "maker_id",
10369
+ "work_type",
10370
+ "release_date",
10371
+ "age",
10372
+ "file_format",
10373
+ "pages",
10374
+ "file_size",
10375
+ "price_jpy",
10376
+ "url"
10377
+ ],
10378
+ "args": [
10379
+ {
10380
+ "name": "id",
10381
+ "type": "str",
10382
+ "required": true,
10383
+ "positional": true
10384
+ },
10385
+ {
10386
+ "name": "service",
10387
+ "type": "str",
10388
+ "description": "DLsite service path, for example maniax or books"
10389
+ }
10390
+ ],
10391
+ "pipeline_steps": 0,
10392
+ "adapter_path": "src/adapters/dlsite/web.ts",
10393
+ "target_surface": ""
10394
+ }
10395
+ ],
10396
+ "category": "content"
10397
+ },
9058
10398
  "docker": {
9059
10399
  "commands": [
9060
10400
  {
@@ -11566,6 +12906,183 @@
11566
12906
  ],
11567
12907
  "category": "finance"
11568
12908
  },
12909
+ "ehentai": {
12910
+ "commands": [
12911
+ {
12912
+ "name": "artist",
12913
+ "description": "Search public E-Hentai galleries by exact artist tag",
12914
+ "strategy": "public",
12915
+ "type": "web-api",
12916
+ "domain": "e-hentai.org",
12917
+ "browser": false,
12918
+ "columns": [
12919
+ "rank",
12920
+ "gid",
12921
+ "token",
12922
+ "title",
12923
+ "category",
12924
+ "published",
12925
+ "pages",
12926
+ "uploader",
12927
+ "torrent_available",
12928
+ "tags",
12929
+ "url"
12930
+ ],
12931
+ "pipeline_steps": 0,
12932
+ "adapter_path": "src/adapters/ehentai/web.ts",
12933
+ "target_surface": ""
12934
+ },
12935
+ {
12936
+ "name": "gallery",
12937
+ "description": "Get E-Hentai gallery metadata through the official API",
12938
+ "strategy": "public",
12939
+ "type": "web-api",
12940
+ "domain": "api.e-hentai.org",
12941
+ "browser": false,
12942
+ "columns": [
12943
+ "gid",
12944
+ "token",
12945
+ "title",
12946
+ "title_jpn",
12947
+ "category",
12948
+ "uploader",
12949
+ "posted",
12950
+ "filecount",
12951
+ "filesize",
12952
+ "rating",
12953
+ "torrentcount",
12954
+ "tags",
12955
+ "thumb",
12956
+ "url"
12957
+ ],
12958
+ "args": [
12959
+ {
12960
+ "name": "input",
12961
+ "type": "str",
12962
+ "required": true,
12963
+ "positional": true,
12964
+ "description": "Gallery URL or gid/token pair"
12965
+ }
12966
+ ],
12967
+ "pipeline_steps": 0,
12968
+ "adapter_path": "src/adapters/ehentai/web.ts",
12969
+ "target_surface": ""
12970
+ },
12971
+ {
12972
+ "name": "pages",
12973
+ "description": "List public E-Hentai gallery image page URLs and thumbnail sprites",
12974
+ "strategy": "public",
12975
+ "type": "web-api",
12976
+ "domain": "e-hentai.org",
12977
+ "browser": false,
12978
+ "columns": [
12979
+ "page",
12980
+ "gid",
12981
+ "title",
12982
+ "filename",
12983
+ "page_url",
12984
+ "thumb_sprite_url",
12985
+ "gallery_url"
12986
+ ],
12987
+ "args": [
12988
+ {
12989
+ "name": "input",
12990
+ "type": "str",
12991
+ "required": true,
12992
+ "positional": true,
12993
+ "description": "Gallery URL or gid/token pair"
12994
+ },
12995
+ {
12996
+ "name": "limit",
12997
+ "type": "int",
12998
+ "default": 40
12999
+ }
13000
+ ],
13001
+ "pipeline_steps": 0,
13002
+ "adapter_path": "src/adapters/ehentai/web.ts",
13003
+ "target_surface": ""
13004
+ },
13005
+ {
13006
+ "name": "search",
13007
+ "description": "Search public E-Hentai galleries with category and structured tag filters",
13008
+ "strategy": "public",
13009
+ "type": "web-api",
13010
+ "domain": "e-hentai.org",
13011
+ "browser": false,
13012
+ "columns": [
13013
+ "rank",
13014
+ "gid",
13015
+ "token",
13016
+ "title",
13017
+ "category",
13018
+ "published",
13019
+ "pages",
13020
+ "uploader",
13021
+ "torrent_available",
13022
+ "tags",
13023
+ "url"
13024
+ ],
13025
+ "pipeline_steps": 0,
13026
+ "adapter_path": "src/adapters/ehentai/web.ts",
13027
+ "target_surface": ""
13028
+ },
13029
+ {
13030
+ "name": "tag",
13031
+ "description": "Search public E-Hentai galleries by exact namespaced tag such as artist, group, parody, language, or character",
13032
+ "strategy": "public",
13033
+ "type": "web-api",
13034
+ "domain": "e-hentai.org",
13035
+ "browser": false,
13036
+ "columns": [
13037
+ "rank",
13038
+ "gid",
13039
+ "token",
13040
+ "title",
13041
+ "category",
13042
+ "published",
13043
+ "pages",
13044
+ "uploader",
13045
+ "torrent_available",
13046
+ "tags",
13047
+ "url"
13048
+ ],
13049
+ "pipeline_steps": 0,
13050
+ "adapter_path": "src/adapters/ehentai/web.ts",
13051
+ "target_surface": ""
13052
+ },
13053
+ {
13054
+ "name": "torrents",
13055
+ "description": "List E-Hentai gallery torrent metadata from the official API",
13056
+ "strategy": "public",
13057
+ "type": "web-api",
13058
+ "domain": "api.e-hentai.org",
13059
+ "browser": false,
13060
+ "columns": [
13061
+ "rank",
13062
+ "gid",
13063
+ "title",
13064
+ "hash",
13065
+ "added",
13066
+ "name",
13067
+ "tsize",
13068
+ "fsize"
13069
+ ],
13070
+ "args": [
13071
+ {
13072
+ "name": "input",
13073
+ "type": "str",
13074
+ "required": true,
13075
+ "positional": true,
13076
+ "description": "Gallery URL or gid/token pair"
13077
+ }
13078
+ ],
13079
+ "pipeline_steps": 0,
13080
+ "adapter_path": "src/adapters/ehentai/web.ts",
13081
+ "target_surface": ""
13082
+ }
13083
+ ],
13084
+ "category": "content"
13085
+ },
11569
13086
  "ele": {
11570
13087
  "commands": [
11571
13088
  {
@@ -17362,6 +18879,16 @@
17362
18879
  "type": "web-api",
17363
18880
  "domain": "www.indeed.com",
17364
18881
  "browser": true,
18882
+ "columns": [
18883
+ "id",
18884
+ "title",
18885
+ "company",
18886
+ "location",
18887
+ "salary",
18888
+ "job_type",
18889
+ "description",
18890
+ "url"
18891
+ ],
17365
18892
  "args": [
17366
18893
  {
17367
18894
  "name": "id",
@@ -17381,6 +18908,16 @@
17381
18908
  "type": "web-api",
17382
18909
  "domain": "www.indeed.com",
17383
18910
  "browser": true,
18911
+ "columns": [
18912
+ "rank",
18913
+ "id",
18914
+ "title",
18915
+ "company",
18916
+ "location",
18917
+ "salary",
18918
+ "tags",
18919
+ "url"
18920
+ ],
17384
18921
  "args": [
17385
18922
  {
17386
18923
  "name": "query",
@@ -18909,6 +20446,181 @@
18909
20446
  ],
18910
20447
  "category": "other"
18911
20448
  },
20449
+ "jikan": {
20450
+ "commands": [
20451
+ {
20452
+ "name": "anime",
20453
+ "description": "Search MyAnimeList anime through Jikan by Japanese name, romaji, or alias",
20454
+ "strategy": "public",
20455
+ "type": "web-api",
20456
+ "domain": "api.jikan.moe",
20457
+ "browser": false,
20458
+ "columns": [
20459
+ "rank",
20460
+ "id",
20461
+ "kind",
20462
+ "title",
20463
+ "title_japanese",
20464
+ "type",
20465
+ "score",
20466
+ "members",
20467
+ "url"
20468
+ ],
20469
+ "args": [
20470
+ {
20471
+ "name": "query",
20472
+ "type": "str",
20473
+ "required": true,
20474
+ "positional": true
20475
+ },
20476
+ {
20477
+ "name": "limit",
20478
+ "type": "int",
20479
+ "default": 10
20480
+ },
20481
+ {
20482
+ "name": "year",
20483
+ "type": "int"
20484
+ },
20485
+ {
20486
+ "name": "sort",
20487
+ "type": "str",
20488
+ "default": "relevance",
20489
+ "choices": [
20490
+ "relevance",
20491
+ "score",
20492
+ "popularity",
20493
+ "recent"
20494
+ ]
20495
+ }
20496
+ ],
20497
+ "pipeline_steps": 0,
20498
+ "adapter_path": "src/adapters/jikan/web.ts",
20499
+ "target_surface": ""
20500
+ },
20501
+ {
20502
+ "name": "characters",
20503
+ "description": "Search MyAnimeList characters through Jikan by Japanese name, romaji, or alias",
20504
+ "strategy": "public",
20505
+ "type": "web-api",
20506
+ "domain": "api.jikan.moe",
20507
+ "browser": false,
20508
+ "columns": [
20509
+ "rank",
20510
+ "id",
20511
+ "kind",
20512
+ "title",
20513
+ "title_japanese",
20514
+ "type",
20515
+ "score",
20516
+ "members",
20517
+ "url"
20518
+ ],
20519
+ "args": [
20520
+ {
20521
+ "name": "query",
20522
+ "type": "str",
20523
+ "required": true,
20524
+ "positional": true
20525
+ },
20526
+ {
20527
+ "name": "limit",
20528
+ "type": "int",
20529
+ "default": 10
20530
+ }
20531
+ ],
20532
+ "pipeline_steps": 0,
20533
+ "adapter_path": "src/adapters/jikan/web.ts",
20534
+ "target_surface": ""
20535
+ },
20536
+ {
20537
+ "name": "manga",
20538
+ "description": "Search MyAnimeList manga through Jikan by Japanese name, romaji, or alias",
20539
+ "strategy": "public",
20540
+ "type": "web-api",
20541
+ "domain": "api.jikan.moe",
20542
+ "browser": false,
20543
+ "columns": [
20544
+ "rank",
20545
+ "id",
20546
+ "kind",
20547
+ "title",
20548
+ "title_japanese",
20549
+ "type",
20550
+ "score",
20551
+ "members",
20552
+ "url"
20553
+ ],
20554
+ "args": [
20555
+ {
20556
+ "name": "query",
20557
+ "type": "str",
20558
+ "required": true,
20559
+ "positional": true
20560
+ },
20561
+ {
20562
+ "name": "limit",
20563
+ "type": "int",
20564
+ "default": 10
20565
+ },
20566
+ {
20567
+ "name": "year",
20568
+ "type": "int"
20569
+ },
20570
+ {
20571
+ "name": "sort",
20572
+ "type": "str",
20573
+ "default": "relevance",
20574
+ "choices": [
20575
+ "relevance",
20576
+ "score",
20577
+ "popularity",
20578
+ "recent"
20579
+ ]
20580
+ }
20581
+ ],
20582
+ "pipeline_steps": 0,
20583
+ "adapter_path": "src/adapters/jikan/web.ts",
20584
+ "target_surface": ""
20585
+ },
20586
+ {
20587
+ "name": "people",
20588
+ "description": "Search MyAnimeList people through Jikan by Japanese name, romaji, or alias",
20589
+ "strategy": "public",
20590
+ "type": "web-api",
20591
+ "domain": "api.jikan.moe",
20592
+ "browser": false,
20593
+ "columns": [
20594
+ "rank",
20595
+ "id",
20596
+ "kind",
20597
+ "title",
20598
+ "title_japanese",
20599
+ "type",
20600
+ "score",
20601
+ "members",
20602
+ "url"
20603
+ ],
20604
+ "args": [
20605
+ {
20606
+ "name": "query",
20607
+ "type": "str",
20608
+ "required": true,
20609
+ "positional": true
20610
+ },
20611
+ {
20612
+ "name": "limit",
20613
+ "type": "int",
20614
+ "default": 10
20615
+ }
20616
+ ],
20617
+ "pipeline_steps": 0,
20618
+ "adapter_path": "src/adapters/jikan/web.ts",
20619
+ "target_surface": ""
20620
+ }
20621
+ ],
20622
+ "category": "reference"
20623
+ },
18912
20624
  "jike": {
18913
20625
  "commands": [
18914
20626
  {
@@ -19704,6 +21416,244 @@
19704
21416
  ],
19705
21417
  "category": "other"
19706
21418
  },
21419
+ "kitsu": {
21420
+ "commands": [
21421
+ {
21422
+ "name": "anime",
21423
+ "description": "Search Kitsu anime by Japanese title, romaji, alias, or keyword",
21424
+ "strategy": "public",
21425
+ "type": "web-api",
21426
+ "domain": "kitsu.io",
21427
+ "browser": false,
21428
+ "columns": [
21429
+ "rank",
21430
+ "id",
21431
+ "type",
21432
+ "title",
21433
+ "subtype",
21434
+ "status",
21435
+ "start_date",
21436
+ "average_rating",
21437
+ "url"
21438
+ ],
21439
+ "args": [
21440
+ {
21441
+ "name": "query",
21442
+ "type": "str",
21443
+ "required": true,
21444
+ "positional": true
21445
+ },
21446
+ {
21447
+ "name": "limit",
21448
+ "type": "int",
21449
+ "default": 10
21450
+ }
21451
+ ],
21452
+ "pipeline_steps": 0,
21453
+ "adapter_path": "src/adapters/kitsu/web.ts",
21454
+ "target_surface": ""
21455
+ },
21456
+ {
21457
+ "name": "manga",
21458
+ "description": "Search Kitsu manga by Japanese title, romaji, alias, or keyword",
21459
+ "strategy": "public",
21460
+ "type": "web-api",
21461
+ "domain": "kitsu.io",
21462
+ "browser": false,
21463
+ "columns": [
21464
+ "rank",
21465
+ "id",
21466
+ "type",
21467
+ "title",
21468
+ "subtype",
21469
+ "status",
21470
+ "start_date",
21471
+ "average_rating",
21472
+ "url"
21473
+ ],
21474
+ "args": [
21475
+ {
21476
+ "name": "query",
21477
+ "type": "str",
21478
+ "required": true,
21479
+ "positional": true
21480
+ },
21481
+ {
21482
+ "name": "limit",
21483
+ "type": "int",
21484
+ "default": 10
21485
+ }
21486
+ ],
21487
+ "pipeline_steps": 0,
21488
+ "adapter_path": "src/adapters/kitsu/web.ts",
21489
+ "target_surface": ""
21490
+ }
21491
+ ],
21492
+ "category": "reference"
21493
+ },
21494
+ "konachan": {
21495
+ "commands": [
21496
+ {
21497
+ "name": "detail",
21498
+ "description": "Get Konachan post detail by post id",
21499
+ "strategy": "public",
21500
+ "type": "web-api",
21501
+ "domain": "konachan.com",
21502
+ "browser": false,
21503
+ "quarantined": false,
21504
+ "args": [
21505
+ {
21506
+ "name": "id",
21507
+ "type": "str",
21508
+ "required": true,
21509
+ "positional": true
21510
+ }
21511
+ ],
21512
+ "columns": [
21513
+ "id",
21514
+ "rating",
21515
+ "score",
21516
+ "author",
21517
+ "width",
21518
+ "height",
21519
+ "tags",
21520
+ "source",
21521
+ "sample_url",
21522
+ "file_url",
21523
+ "url"
21524
+ ],
21525
+ "pipeline_steps": 3,
21526
+ "adapter_path": "src/adapters/konachan/detail.yaml"
21527
+ },
21528
+ {
21529
+ "name": "download",
21530
+ "description": "Download Konachan post image by post id",
21531
+ "strategy": "public",
21532
+ "type": "web-api",
21533
+ "domain": "konachan.com",
21534
+ "browser": false,
21535
+ "quarantined": false,
21536
+ "args": [
21537
+ {
21538
+ "name": "id",
21539
+ "type": "str",
21540
+ "required": true,
21541
+ "positional": true
21542
+ },
21543
+ {
21544
+ "name": "output",
21545
+ "type": "str",
21546
+ "required": false,
21547
+ "positional": false,
21548
+ "default": "./downloads/konachan",
21549
+ "description": "Output directory",
21550
+ "x-unicli-kind": "path"
21551
+ },
21552
+ {
21553
+ "name": "quality",
21554
+ "type": "str",
21555
+ "required": false,
21556
+ "positional": false,
21557
+ "default": "sample",
21558
+ "description": "sample or original"
21559
+ }
21560
+ ],
21561
+ "columns": [
21562
+ "id",
21563
+ "rating",
21564
+ "tags",
21565
+ "url",
21566
+ "_download"
21567
+ ],
21568
+ "pipeline_steps": 4,
21569
+ "adapter_path": "src/adapters/konachan/download.yaml"
21570
+ },
21571
+ {
21572
+ "name": "search",
21573
+ "description": "Search Konachan illustration posts by Japanese, romaji, or Moebooru tag query",
21574
+ "strategy": "public",
21575
+ "type": "web-api",
21576
+ "domain": "konachan.com",
21577
+ "browser": false,
21578
+ "quarantined": false,
21579
+ "args": [
21580
+ {
21581
+ "name": "tags",
21582
+ "type": "str",
21583
+ "required": true,
21584
+ "positional": true,
21585
+ "description": "Tag query, for example \"rating:safe\" or \"sparkle_(honkai:_star_rail)\""
21586
+ },
21587
+ {
21588
+ "name": "limit",
21589
+ "type": "int",
21590
+ "required": false,
21591
+ "positional": false,
21592
+ "default": 20
21593
+ },
21594
+ {
21595
+ "name": "page",
21596
+ "type": "int",
21597
+ "required": false,
21598
+ "positional": false,
21599
+ "default": 1
21600
+ }
21601
+ ],
21602
+ "columns": [
21603
+ "rank",
21604
+ "id",
21605
+ "rating",
21606
+ "score",
21607
+ "author",
21608
+ "width",
21609
+ "height",
21610
+ "tags",
21611
+ "source",
21612
+ "sample_url",
21613
+ "file_url",
21614
+ "url"
21615
+ ],
21616
+ "pipeline_steps": 2,
21617
+ "adapter_path": "src/adapters/konachan/search.yaml"
21618
+ },
21619
+ {
21620
+ "name": "tags",
21621
+ "description": "Search Konachan tags by Japanese name, romaji, or tag prefix",
21622
+ "strategy": "public",
21623
+ "type": "web-api",
21624
+ "domain": "konachan.com",
21625
+ "browser": false,
21626
+ "quarantined": false,
21627
+ "args": [
21628
+ {
21629
+ "name": "query",
21630
+ "type": "str",
21631
+ "required": true,
21632
+ "positional": true
21633
+ },
21634
+ {
21635
+ "name": "limit",
21636
+ "type": "int",
21637
+ "required": false,
21638
+ "positional": false,
21639
+ "default": 20
21640
+ }
21641
+ ],
21642
+ "columns": [
21643
+ "rank",
21644
+ "id",
21645
+ "name",
21646
+ "count",
21647
+ "type",
21648
+ "ambiguous",
21649
+ "url"
21650
+ ],
21651
+ "pipeline_steps": 2,
21652
+ "adapter_path": "src/adapters/konachan/tags.yaml"
21653
+ }
21654
+ ],
21655
+ "category": "content"
21656
+ },
19707
21657
  "krita": {
19708
21658
  "commands": [
19709
21659
  {
@@ -23066,6 +25016,103 @@
23066
25016
  ],
23067
25017
  "category": "other"
23068
25018
  },
25019
+ "mangadex": {
25020
+ "commands": [
25021
+ {
25022
+ "name": "authors",
25023
+ "description": "Search MangaDex authors and artists by public name or romaji",
25024
+ "strategy": "public",
25025
+ "type": "web-api",
25026
+ "domain": "mangadex.org",
25027
+ "browser": false,
25028
+ "columns": [
25029
+ "rank",
25030
+ "id",
25031
+ "name",
25032
+ "twitter",
25033
+ "pixiv",
25034
+ "website",
25035
+ "url"
25036
+ ],
25037
+ "args": [
25038
+ {
25039
+ "name": "query",
25040
+ "type": "str",
25041
+ "required": true,
25042
+ "positional": true
25043
+ },
25044
+ {
25045
+ "name": "limit",
25046
+ "type": "int",
25047
+ "default": 10
25048
+ }
25049
+ ],
25050
+ "pipeline_steps": 0,
25051
+ "adapter_path": "src/adapters/mangadex/web.ts",
25052
+ "target_surface": ""
25053
+ },
25054
+ {
25055
+ "name": "manga",
25056
+ "description": "Search MangaDex manga by Japanese title, romaji, alias, or keyword",
25057
+ "strategy": "public",
25058
+ "type": "web-api",
25059
+ "domain": "mangadex.org",
25060
+ "browser": false,
25061
+ "columns": [
25062
+ "rank",
25063
+ "id",
25064
+ "title",
25065
+ "status",
25066
+ "year",
25067
+ "content_rating",
25068
+ "url"
25069
+ ],
25070
+ "args": [
25071
+ {
25072
+ "name": "query",
25073
+ "type": "str",
25074
+ "required": true,
25075
+ "positional": true
25076
+ },
25077
+ {
25078
+ "name": "limit",
25079
+ "type": "int",
25080
+ "default": 10
25081
+ },
25082
+ {
25083
+ "name": "year",
25084
+ "type": "int"
25085
+ },
25086
+ {
25087
+ "name": "sort",
25088
+ "type": "str",
25089
+ "default": "relevance",
25090
+ "choices": [
25091
+ "relevance",
25092
+ "latest",
25093
+ "followed",
25094
+ "year"
25095
+ ]
25096
+ },
25097
+ {
25098
+ "name": "content-rating",
25099
+ "type": "str",
25100
+ "choices": [
25101
+ "safe",
25102
+ "suggestive",
25103
+ "erotica",
25104
+ "pornographic",
25105
+ "all"
25106
+ ]
25107
+ }
25108
+ ],
25109
+ "pipeline_steps": 0,
25110
+ "adapter_path": "src/adapters/mangadex/web.ts",
25111
+ "target_surface": ""
25112
+ }
25113
+ ],
25114
+ "category": "reference"
25115
+ },
23069
25116
  "maoyan": {
23070
25117
  "commands": [
23071
25118
  {
@@ -23829,6 +25876,108 @@
23829
25876
  ],
23830
25877
  "category": "ai"
23831
25878
  },
25879
+ "moegirl": {
25880
+ "commands": [
25881
+ {
25882
+ "name": "links",
25883
+ "description": "Extract internal Moegirl article links from a page, useful for disambiguation pages",
25884
+ "strategy": "public",
25885
+ "type": "web-api",
25886
+ "domain": "zh.moegirl.org.cn",
25887
+ "browser": false,
25888
+ "columns": [
25889
+ "rank",
25890
+ "title",
25891
+ "url"
25892
+ ],
25893
+ "args": [
25894
+ {
25895
+ "name": "title",
25896
+ "type": "str",
25897
+ "required": true,
25898
+ "positional": true
25899
+ },
25900
+ {
25901
+ "name": "limit",
25902
+ "type": "int",
25903
+ "default": 20
25904
+ },
25905
+ {
25906
+ "name": "contains",
25907
+ "type": "str",
25908
+ "description": "Only return links whose title contains this text"
25909
+ }
25910
+ ],
25911
+ "pipeline_steps": 0,
25912
+ "adapter_path": "src/adapters/moegirl/web.ts",
25913
+ "target_surface": ""
25914
+ },
25915
+ {
25916
+ "name": "page",
25917
+ "description": "Read a Moegirl article as plain text with metadata",
25918
+ "strategy": "public",
25919
+ "type": "web-api",
25920
+ "domain": "zh.moegirl.org.cn",
25921
+ "browser": false,
25922
+ "columns": [
25923
+ "title",
25924
+ "description",
25925
+ "categories",
25926
+ "paragraphs",
25927
+ "extract",
25928
+ "url"
25929
+ ],
25930
+ "args": [
25931
+ {
25932
+ "name": "title",
25933
+ "type": "str",
25934
+ "required": true,
25935
+ "positional": true
25936
+ },
25937
+ {
25938
+ "name": "paragraphs",
25939
+ "type": "int",
25940
+ "default": 0,
25941
+ "description": "Paragraph cap, 0 means full"
25942
+ }
25943
+ ],
25944
+ "pipeline_steps": 0,
25945
+ "adapter_path": "src/adapters/moegirl/web.ts",
25946
+ "target_surface": ""
25947
+ },
25948
+ {
25949
+ "name": "search",
25950
+ "description": "Search Moegirl ACG wiki articles for characters, works, songs, games, and studios",
25951
+ "strategy": "public",
25952
+ "type": "web-api",
25953
+ "domain": "zh.moegirl.org.cn",
25954
+ "browser": false,
25955
+ "columns": [
25956
+ "rank",
25957
+ "title",
25958
+ "description",
25959
+ "url"
25960
+ ],
25961
+ "args": [
25962
+ {
25963
+ "name": "query",
25964
+ "type": "str",
25965
+ "required": true,
25966
+ "positional": true
25967
+ },
25968
+ {
25969
+ "name": "limit",
25970
+ "type": "int",
25971
+ "default": 10
25972
+ }
25973
+ ],
25974
+ "pipeline_steps": 0,
25975
+ "adapter_path": "src/adapters/moegirl/web.ts",
25976
+ "target_surface": ""
25977
+ }
25978
+ ],
25979
+ "category": "reference"
25980
+ },
23832
25981
  "motion-studio": {
23833
25982
  "commands": [
23834
25983
  {
@@ -25455,6 +27604,16 @@
25455
27604
  "strategy": "public",
25456
27605
  "type": "web-api",
25457
27606
  "domain": "www.nowcoder.com",
27607
+ "columns": [
27608
+ "rank",
27609
+ "title",
27610
+ "author",
27611
+ "school",
27612
+ "likes",
27613
+ "comments",
27614
+ "views",
27615
+ "id"
27616
+ ],
25458
27617
  "args": [
25459
27618
  {
25460
27619
  "name": "page",
@@ -25600,6 +27759,16 @@
25600
27759
  "strategy": "public",
25601
27760
  "type": "web-api",
25602
27761
  "domain": "www.nowcoder.com",
27762
+ "columns": [
27763
+ "rank",
27764
+ "title",
27765
+ "author",
27766
+ "school",
27767
+ "likes",
27768
+ "comments",
27769
+ "views",
27770
+ "id"
27771
+ ],
25603
27772
  "args": [
25604
27773
  {
25605
27774
  "name": "page",
@@ -25624,6 +27793,16 @@
25624
27793
  "strategy": "public",
25625
27794
  "type": "web-api",
25626
27795
  "domain": "www.nowcoder.com",
27796
+ "columns": [
27797
+ "rank",
27798
+ "title",
27799
+ "author",
27800
+ "school",
27801
+ "likes",
27802
+ "comments",
27803
+ "views",
27804
+ "id"
27805
+ ],
25627
27806
  "args": [
25628
27807
  {
25629
27808
  "name": "page",
@@ -25648,6 +27827,16 @@
25648
27827
  "strategy": "public",
25649
27828
  "type": "web-api",
25650
27829
  "domain": "www.nowcoder.com",
27830
+ "columns": [
27831
+ "rank",
27832
+ "title",
27833
+ "author",
27834
+ "school",
27835
+ "likes",
27836
+ "comments",
27837
+ "views",
27838
+ "id"
27839
+ ],
25651
27840
  "args": [
25652
27841
  {
25653
27842
  "name": "page",
@@ -27989,6 +30178,48 @@
27989
30178
  ],
27990
30179
  "category": "reference"
27991
30180
  },
30181
+ "pdf": {
30182
+ "commands": [
30183
+ {
30184
+ "name": "read",
30185
+ "description": "Extract text from a local PDF file",
30186
+ "strategy": "public",
30187
+ "type": "desktop",
30188
+ "browser": false,
30189
+ "quarantined": false,
30190
+ "args": [
30191
+ {
30192
+ "name": "file",
30193
+ "type": "str",
30194
+ "required": true,
30195
+ "positional": true,
30196
+ "description": "Local PDF file path",
30197
+ "x-unicli-kind": "path"
30198
+ },
30199
+ {
30200
+ "name": "first_page",
30201
+ "type": "int",
30202
+ "required": false,
30203
+ "positional": false,
30204
+ "default": 1,
30205
+ "description": "First page to read"
30206
+ },
30207
+ {
30208
+ "name": "last_page",
30209
+ "type": "int",
30210
+ "required": false,
30211
+ "positional": false,
30212
+ "default": 20,
30213
+ "description": "Last page to read"
30214
+ }
30215
+ ],
30216
+ "columns": [],
30217
+ "pipeline_steps": 1,
30218
+ "adapter_path": "src/adapters/pdf/read.yaml"
30219
+ }
30220
+ ],
30221
+ "category": "other"
30222
+ },
27992
30223
  "perplexity": {
27993
30224
  "commands": [
27994
30225
  {
@@ -28325,9 +30556,10 @@
28325
30556
  "columns": [
28326
30557
  "illust_id",
28327
30558
  "page",
28328
- "url"
30559
+ "url",
30560
+ "_download"
28329
30561
  ],
28330
- "pipeline_steps": 2,
30562
+ "pipeline_steps": 4,
28331
30563
  "adapter_path": "src/adapters/pixiv/download.yaml"
28332
30564
  },
28333
30565
  {
@@ -28999,6 +31231,17 @@
28999
31231
  "strategy": "public",
29000
31232
  "type": "web-api",
29001
31233
  "domain": "pubmed.ncbi.nlm.nih.gov",
31234
+ "columns": [
31235
+ "rank",
31236
+ "pmid",
31237
+ "title",
31238
+ "authors",
31239
+ "journal",
31240
+ "year",
31241
+ "article_type",
31242
+ "doi",
31243
+ "url"
31244
+ ],
29002
31245
  "args": [
29003
31246
  {
29004
31247
  "name": "name",
@@ -29024,6 +31267,17 @@
29024
31267
  "strategy": "public",
29025
31268
  "type": "web-api",
29026
31269
  "domain": "pubmed.ncbi.nlm.nih.gov",
31270
+ "columns": [
31271
+ "rank",
31272
+ "pmid",
31273
+ "title",
31274
+ "authors",
31275
+ "journal",
31276
+ "year",
31277
+ "article_type",
31278
+ "doi",
31279
+ "url"
31280
+ ],
29027
31281
  "args": [
29028
31282
  {
29029
31283
  "name": "pmid",
@@ -29084,6 +31338,17 @@
29084
31338
  "strategy": "public",
29085
31339
  "type": "web-api",
29086
31340
  "domain": "pubmed.ncbi.nlm.nih.gov",
31341
+ "columns": [
31342
+ "rank",
31343
+ "pmid",
31344
+ "title",
31345
+ "authors",
31346
+ "journal",
31347
+ "year",
31348
+ "article_type",
31349
+ "doi",
31350
+ "url"
31351
+ ],
29087
31352
  "args": [
29088
31353
  {
29089
31354
  "name": "query",
@@ -29920,6 +32185,15 @@
29920
32185
  "type": "web-api",
29921
32186
  "domain": "www.reddit.com",
29922
32187
  "browser": true,
32188
+ "columns": [
32189
+ "rank",
32190
+ "title",
32191
+ "subreddit",
32192
+ "author",
32193
+ "score",
32194
+ "comments",
32195
+ "url"
32196
+ ],
29923
32197
  "pipeline_steps": 0,
29924
32198
  "adapter_path": "src/adapters/reddit/listings.ts",
29925
32199
  "target_surface": ""
@@ -29952,6 +32226,15 @@
29952
32226
  "type": "web-api",
29953
32227
  "domain": "www.reddit.com",
29954
32228
  "browser": true,
32229
+ "columns": [
32230
+ "rank",
32231
+ "title",
32232
+ "subreddit",
32233
+ "author",
32234
+ "score",
32235
+ "comments",
32236
+ "url"
32237
+ ],
29955
32238
  "pipeline_steps": 0,
29956
32239
  "adapter_path": "src/adapters/reddit/listings.ts",
29957
32240
  "target_surface": ""
@@ -29963,6 +32246,15 @@
29963
32246
  "type": "web-api",
29964
32247
  "domain": "www.reddit.com",
29965
32248
  "browser": true,
32249
+ "columns": [
32250
+ "rank",
32251
+ "title",
32252
+ "subreddit",
32253
+ "author",
32254
+ "score",
32255
+ "comments",
32256
+ "url"
32257
+ ],
29966
32258
  "pipeline_steps": 0,
29967
32259
  "adapter_path": "src/adapters/reddit/listings.ts",
29968
32260
  "target_surface": ""
@@ -29974,6 +32266,15 @@
29974
32266
  "type": "web-api",
29975
32267
  "domain": "www.reddit.com",
29976
32268
  "browser": true,
32269
+ "columns": [
32270
+ "rank",
32271
+ "title",
32272
+ "subreddit",
32273
+ "author",
32274
+ "score",
32275
+ "comments",
32276
+ "url"
32277
+ ],
29977
32278
  "pipeline_steps": 0,
29978
32279
  "adapter_path": "src/adapters/reddit/listings.ts",
29979
32280
  "target_surface": ""
@@ -30066,6 +32367,15 @@
30066
32367
  "type": "web-api",
30067
32368
  "domain": "www.reddit.com",
30068
32369
  "browser": true,
32370
+ "columns": [
32371
+ "rank",
32372
+ "title",
32373
+ "subreddit",
32374
+ "author",
32375
+ "score",
32376
+ "comments",
32377
+ "url"
32378
+ ],
30069
32379
  "pipeline_steps": 0,
30070
32380
  "adapter_path": "src/adapters/reddit/listings.ts",
30071
32381
  "target_surface": ""
@@ -30203,6 +32513,15 @@
30203
32513
  "type": "web-api",
30204
32514
  "domain": "www.reddit.com",
30205
32515
  "browser": true,
32516
+ "columns": [
32517
+ "rank",
32518
+ "title",
32519
+ "subreddit",
32520
+ "author",
32521
+ "score",
32522
+ "comments",
32523
+ "url"
32524
+ ],
30206
32525
  "pipeline_steps": 0,
30207
32526
  "adapter_path": "src/adapters/reddit/listings.ts",
30208
32527
  "target_surface": ""
@@ -30262,6 +32581,15 @@
30262
32581
  "type": "web-api",
30263
32582
  "domain": "www.reddit.com",
30264
32583
  "browser": true,
32584
+ "columns": [
32585
+ "rank",
32586
+ "title",
32587
+ "subreddit",
32588
+ "author",
32589
+ "score",
32590
+ "comments",
32591
+ "url"
32592
+ ],
30265
32593
  "pipeline_steps": 0,
30266
32594
  "adapter_path": "src/adapters/reddit/listings.ts",
30267
32595
  "target_surface": ""
@@ -30479,6 +32807,15 @@
30479
32807
  "strategy": "cookie",
30480
32808
  "type": "web-api",
30481
32809
  "browser": true,
32810
+ "columns": [
32811
+ "rank",
32812
+ "author",
32813
+ "text",
32814
+ "likes",
32815
+ "time",
32816
+ "is_reply",
32817
+ "reply_to"
32818
+ ],
30482
32819
  "args": [
30483
32820
  {
30484
32821
  "name": "note-id",
@@ -30509,6 +32846,15 @@
30509
32846
  "strategy": "cookie",
30510
32847
  "type": "web-api",
30511
32848
  "browser": true,
32849
+ "columns": [
32850
+ "index",
32851
+ "type",
32852
+ "status",
32853
+ "path",
32854
+ "size",
32855
+ "url",
32856
+ "error"
32857
+ ],
30512
32858
  "args": [
30513
32859
  {
30514
32860
  "name": "note-id",
@@ -30532,6 +32878,14 @@
30532
32878
  "strategy": "cookie",
30533
32879
  "type": "web-api",
30534
32880
  "browser": true,
32881
+ "columns": [
32882
+ "id",
32883
+ "title",
32884
+ "author",
32885
+ "likes",
32886
+ "type",
32887
+ "url"
32888
+ ],
30535
32889
  "args": [
30536
32890
  {
30537
32891
  "name": "limit",
@@ -30550,6 +32904,10 @@
30550
32904
  "strategy": "cookie",
30551
32905
  "type": "web-api",
30552
32906
  "browser": true,
32907
+ "columns": [
32908
+ "field",
32909
+ "value"
32910
+ ],
30553
32911
  "args": [
30554
32912
  {
30555
32913
  "name": "note-id",
@@ -30568,6 +32926,14 @@
30568
32926
  "strategy": "cookie",
30569
32927
  "type": "web-api",
30570
32928
  "browser": true,
32929
+ "columns": [
32930
+ "rank",
32931
+ "user",
32932
+ "action",
32933
+ "content",
32934
+ "note",
32935
+ "time"
32936
+ ],
30571
32937
  "args": [
30572
32938
  {
30573
32939
  "name": "type",
@@ -30591,6 +32957,15 @@
30591
32957
  "strategy": "cookie",
30592
32958
  "type": "web-api",
30593
32959
  "browser": true,
32960
+ "columns": [
32961
+ "rank",
32962
+ "title",
32963
+ "author",
32964
+ "likes",
32965
+ "published_at",
32966
+ "url",
32967
+ "author_url"
32968
+ ],
30594
32969
  "args": [
30595
32970
  {
30596
32971
  "name": "query",
@@ -30615,6 +32990,13 @@
30615
32990
  "strategy": "cookie",
30616
32991
  "type": "web-api",
30617
32992
  "browser": true,
32993
+ "columns": [
32994
+ "id",
32995
+ "title",
32996
+ "type",
32997
+ "likes",
32998
+ "url"
32999
+ ],
30618
33000
  "args": [
30619
33001
  {
30620
33002
  "name": "id",
@@ -30807,6 +33189,29 @@
30807
33189
  "strategy": "public",
30808
33190
  "type": "web-api",
30809
33191
  "domain": "restcountries.com",
33192
+ "columns": [
33193
+ "rank",
33194
+ "commonName",
33195
+ "officialName",
33196
+ "cca2",
33197
+ "cca3",
33198
+ "ccn3",
33199
+ "capital",
33200
+ "region",
33201
+ "subregion",
33202
+ "population",
33203
+ "area",
33204
+ "languages",
33205
+ "currencies",
33206
+ "latitude",
33207
+ "longitude",
33208
+ "timezones",
33209
+ "independent",
33210
+ "unMember",
33211
+ "landlocked",
33212
+ "flag",
33213
+ "url"
33214
+ ],
30810
33215
  "args": [
30811
33216
  {
30812
33217
  "name": "name",
@@ -30832,6 +33237,29 @@
30832
33237
  "strategy": "public",
30833
33238
  "type": "web-api",
30834
33239
  "domain": "restcountries.com",
33240
+ "columns": [
33241
+ "rank",
33242
+ "commonName",
33243
+ "officialName",
33244
+ "cca2",
33245
+ "cca3",
33246
+ "ccn3",
33247
+ "capital",
33248
+ "region",
33249
+ "subregion",
33250
+ "population",
33251
+ "area",
33252
+ "languages",
33253
+ "currencies",
33254
+ "latitude",
33255
+ "longitude",
33256
+ "timezones",
33257
+ "independent",
33258
+ "unMember",
33259
+ "landlocked",
33260
+ "flag",
33261
+ "url"
33262
+ ],
30835
33263
  "args": [
30836
33264
  {
30837
33265
  "name": "region",
@@ -31149,6 +33577,167 @@
31149
33577
  ],
31150
33578
  "category": "dev"
31151
33579
  },
33580
+ "safebooru": {
33581
+ "commands": [
33582
+ {
33583
+ "name": "detail",
33584
+ "description": "Get Safebooru post detail by post id",
33585
+ "strategy": "public",
33586
+ "type": "web-api",
33587
+ "domain": "safebooru.org",
33588
+ "browser": false,
33589
+ "quarantined": false,
33590
+ "args": [
33591
+ {
33592
+ "name": "id",
33593
+ "type": "str",
33594
+ "required": true,
33595
+ "positional": true
33596
+ }
33597
+ ],
33598
+ "columns": [
33599
+ "id",
33600
+ "rating",
33601
+ "score",
33602
+ "owner",
33603
+ "width",
33604
+ "height",
33605
+ "tags",
33606
+ "source",
33607
+ "sample_url",
33608
+ "file_url",
33609
+ "url"
33610
+ ],
33611
+ "pipeline_steps": 3,
33612
+ "adapter_path": "src/adapters/safebooru/detail.yaml"
33613
+ },
33614
+ {
33615
+ "name": "download",
33616
+ "description": "Download Safebooru post image by post id",
33617
+ "strategy": "public",
33618
+ "type": "web-api",
33619
+ "domain": "safebooru.org",
33620
+ "browser": false,
33621
+ "quarantined": false,
33622
+ "args": [
33623
+ {
33624
+ "name": "id",
33625
+ "type": "str",
33626
+ "required": true,
33627
+ "positional": true
33628
+ },
33629
+ {
33630
+ "name": "output",
33631
+ "type": "str",
33632
+ "required": false,
33633
+ "positional": false,
33634
+ "default": "./downloads/safebooru",
33635
+ "description": "Output directory",
33636
+ "x-unicli-kind": "path"
33637
+ },
33638
+ {
33639
+ "name": "quality",
33640
+ "type": "str",
33641
+ "required": false,
33642
+ "positional": false,
33643
+ "default": "sample",
33644
+ "description": "sample or original"
33645
+ }
33646
+ ],
33647
+ "columns": [
33648
+ "id",
33649
+ "rating",
33650
+ "tags",
33651
+ "url",
33652
+ "_download"
33653
+ ],
33654
+ "pipeline_steps": 4,
33655
+ "adapter_path": "src/adapters/safebooru/download.yaml"
33656
+ },
33657
+ {
33658
+ "name": "search",
33659
+ "description": "Search Safebooru illustration posts by Moebooru tag query such as blue_archive rating:safe",
33660
+ "strategy": "public",
33661
+ "type": "web-api",
33662
+ "domain": "safebooru.org",
33663
+ "browser": false,
33664
+ "quarantined": false,
33665
+ "args": [
33666
+ {
33667
+ "name": "tags",
33668
+ "type": "str",
33669
+ "required": true,
33670
+ "positional": true,
33671
+ "description": "Moebooru tag query, for example \"blue_archive rating:safe\""
33672
+ },
33673
+ {
33674
+ "name": "limit",
33675
+ "type": "int",
33676
+ "required": false,
33677
+ "positional": false,
33678
+ "default": 20
33679
+ },
33680
+ {
33681
+ "name": "page",
33682
+ "type": "int",
33683
+ "required": false,
33684
+ "positional": false,
33685
+ "default": 0
33686
+ }
33687
+ ],
33688
+ "columns": [
33689
+ "rank",
33690
+ "id",
33691
+ "rating",
33692
+ "score",
33693
+ "owner",
33694
+ "width",
33695
+ "height",
33696
+ "tags",
33697
+ "source",
33698
+ "sample_url",
33699
+ "file_url",
33700
+ "url"
33701
+ ],
33702
+ "pipeline_steps": 2,
33703
+ "adapter_path": "src/adapters/safebooru/search.yaml"
33704
+ },
33705
+ {
33706
+ "name": "tags",
33707
+ "description": "Search Safebooru tags by exact tag name or ASCII tag prefix such as blue_archive",
33708
+ "strategy": "public",
33709
+ "type": "web-api",
33710
+ "domain": "safebooru.org",
33711
+ "browser": false,
33712
+ "columns": [
33713
+ "rank",
33714
+ "id",
33715
+ "name",
33716
+ "count",
33717
+ "type",
33718
+ "ambiguous",
33719
+ "url"
33720
+ ],
33721
+ "args": [
33722
+ {
33723
+ "name": "query",
33724
+ "type": "str",
33725
+ "required": true,
33726
+ "positional": true
33727
+ },
33728
+ {
33729
+ "name": "limit",
33730
+ "type": "int",
33731
+ "default": 20
33732
+ }
33733
+ ],
33734
+ "pipeline_steps": 0,
33735
+ "adapter_path": "src/adapters/safebooru/web.ts",
33736
+ "target_surface": ""
33737
+ }
33738
+ ],
33739
+ "category": "content"
33740
+ },
31152
33741
  "shotcut": {
31153
33742
  "commands": [
31154
33743
  {
@@ -35596,6 +38185,33 @@
35596
38185
  "message",
35597
38186
  "text"
35598
38187
  ],
38188
+ "args": [
38189
+ {
38190
+ "name": "url",
38191
+ "type": "str",
38192
+ "required": true,
38193
+ "positional": true,
38194
+ "description": "Tweet URL to quote",
38195
+ "format": "uri"
38196
+ },
38197
+ {
38198
+ "name": "text",
38199
+ "type": "str",
38200
+ "required": true,
38201
+ "positional": true,
38202
+ "description": "Quote text"
38203
+ },
38204
+ {
38205
+ "name": "image",
38206
+ "type": "str",
38207
+ "description": "Optional local image path"
38208
+ },
38209
+ {
38210
+ "name": "image-url",
38211
+ "type": "str",
38212
+ "description": "Optional remote image URL"
38213
+ }
38214
+ ],
35599
38215
  "pipeline_steps": 0,
35600
38216
  "adapter_path": "src/adapters/twitter/quote.ts",
35601
38217
  "target_surface": ""
@@ -35705,6 +38321,15 @@
35705
38321
  "status",
35706
38322
  "message"
35707
38323
  ],
38324
+ "args": [
38325
+ {
38326
+ "name": "url",
38327
+ "type": "str",
38328
+ "required": true,
38329
+ "positional": true,
38330
+ "description": "Tweet URL"
38331
+ }
38332
+ ],
35708
38333
  "pipeline_steps": 0,
35709
38334
  "adapter_path": "src/adapters/twitter/tweet-actions.ts",
35710
38335
  "target_surface": ""
@@ -35969,6 +38594,15 @@
35969
38594
  "status",
35970
38595
  "message"
35971
38596
  ],
38597
+ "args": [
38598
+ {
38599
+ "name": "url",
38600
+ "type": "str",
38601
+ "required": true,
38602
+ "positional": true,
38603
+ "description": "Tweet URL"
38604
+ }
38605
+ ],
35972
38606
  "pipeline_steps": 0,
35973
38607
  "adapter_path": "src/adapters/twitter/tweet-actions.ts",
35974
38608
  "target_surface": ""
@@ -36008,6 +38642,15 @@
36008
38642
  "status",
36009
38643
  "message"
36010
38644
  ],
38645
+ "args": [
38646
+ {
38647
+ "name": "url",
38648
+ "type": "str",
38649
+ "required": true,
38650
+ "positional": true,
38651
+ "description": "Tweet URL"
38652
+ }
38653
+ ],
36011
38654
  "pipeline_steps": 0,
36012
38655
  "adapter_path": "src/adapters/twitter/tweet-actions.ts",
36013
38656
  "target_surface": ""
@@ -36561,6 +39204,269 @@
36561
39204
  ],
36562
39205
  "category": "other"
36563
39206
  },
39207
+ "vndb": {
39208
+ "commands": [
39209
+ {
39210
+ "name": "characters",
39211
+ "description": "Search VNDB characters and traits",
39212
+ "strategy": "public",
39213
+ "type": "web-api",
39214
+ "domain": "api.vndb.org",
39215
+ "browser": false,
39216
+ "columns": [
39217
+ "rank",
39218
+ "id",
39219
+ "name",
39220
+ "original",
39221
+ "description",
39222
+ "url"
39223
+ ],
39224
+ "args": [
39225
+ {
39226
+ "name": "query",
39227
+ "type": "str",
39228
+ "required": true,
39229
+ "positional": true
39230
+ },
39231
+ {
39232
+ "name": "limit",
39233
+ "type": "int",
39234
+ "default": 20
39235
+ }
39236
+ ],
39237
+ "pipeline_steps": 0,
39238
+ "adapter_path": "src/adapters/vndb/web.ts",
39239
+ "target_surface": ""
39240
+ },
39241
+ {
39242
+ "name": "producers",
39243
+ "description": "Search VNDB producers, studios, brands, makers, circles, companies, and visual novel publishers such as Yuzusoft",
39244
+ "strategy": "public",
39245
+ "type": "web-api",
39246
+ "domain": "api.vndb.org",
39247
+ "browser": false,
39248
+ "columns": [
39249
+ "rank",
39250
+ "id",
39251
+ "name",
39252
+ "aliases",
39253
+ "lang",
39254
+ "type",
39255
+ "description",
39256
+ "url"
39257
+ ],
39258
+ "args": [
39259
+ {
39260
+ "name": "query",
39261
+ "type": "str",
39262
+ "required": true,
39263
+ "positional": true
39264
+ },
39265
+ {
39266
+ "name": "limit",
39267
+ "type": "int",
39268
+ "default": 20
39269
+ }
39270
+ ],
39271
+ "pipeline_steps": 0,
39272
+ "adapter_path": "src/adapters/vndb/web.ts",
39273
+ "target_surface": ""
39274
+ },
39275
+ {
39276
+ "name": "releases",
39277
+ "description": "Search VNDB releases by title or visual novel keyword",
39278
+ "strategy": "public",
39279
+ "type": "web-api",
39280
+ "domain": "api.vndb.org",
39281
+ "browser": false,
39282
+ "columns": [
39283
+ "rank",
39284
+ "id",
39285
+ "title",
39286
+ "released",
39287
+ "platforms",
39288
+ "producers",
39289
+ "vns",
39290
+ "url"
39291
+ ],
39292
+ "args": [
39293
+ {
39294
+ "name": "query",
39295
+ "type": "str",
39296
+ "required": true,
39297
+ "positional": true
39298
+ },
39299
+ {
39300
+ "name": "limit",
39301
+ "type": "int",
39302
+ "default": 20
39303
+ },
39304
+ {
39305
+ "name": "sort",
39306
+ "type": "str",
39307
+ "default": "released",
39308
+ "description": "released, time, title"
39309
+ },
39310
+ {
39311
+ "name": "reverse",
39312
+ "type": "bool",
39313
+ "default": true
39314
+ }
39315
+ ],
39316
+ "pipeline_steps": 0,
39317
+ "adapter_path": "src/adapters/vndb/web.ts",
39318
+ "target_surface": ""
39319
+ },
39320
+ {
39321
+ "name": "search",
39322
+ "description": "Search VNDB visual novels by title, alias, tag, or keyword",
39323
+ "strategy": "public",
39324
+ "type": "web-api",
39325
+ "domain": "api.vndb.org",
39326
+ "browser": false,
39327
+ "columns": [
39328
+ "rank",
39329
+ "id",
39330
+ "title",
39331
+ "alttitle",
39332
+ "released",
39333
+ "languages",
39334
+ "platforms",
39335
+ "rating",
39336
+ "votecount",
39337
+ "developers",
39338
+ "tags",
39339
+ "url"
39340
+ ],
39341
+ "args": [
39342
+ {
39343
+ "name": "query",
39344
+ "type": "str",
39345
+ "required": true,
39346
+ "positional": true
39347
+ },
39348
+ {
39349
+ "name": "limit",
39350
+ "type": "int",
39351
+ "default": 20
39352
+ },
39353
+ {
39354
+ "name": "sort",
39355
+ "type": "str",
39356
+ "default": "relevance",
39357
+ "description": "relevance, rating, votes, released, time, title"
39358
+ },
39359
+ {
39360
+ "name": "reverse",
39361
+ "type": "bool",
39362
+ "default": false
39363
+ }
39364
+ ],
39365
+ "pipeline_steps": 0,
39366
+ "adapter_path": "src/adapters/vndb/web.ts",
39367
+ "target_surface": ""
39368
+ },
39369
+ {
39370
+ "name": "staff",
39371
+ "description": "Search VNDB creators and staff",
39372
+ "strategy": "public",
39373
+ "type": "web-api",
39374
+ "domain": "api.vndb.org",
39375
+ "browser": false,
39376
+ "columns": [
39377
+ "rank",
39378
+ "id",
39379
+ "name",
39380
+ "original",
39381
+ "lang",
39382
+ "description",
39383
+ "url"
39384
+ ],
39385
+ "args": [
39386
+ {
39387
+ "name": "query",
39388
+ "type": "str",
39389
+ "required": true,
39390
+ "positional": true
39391
+ },
39392
+ {
39393
+ "name": "limit",
39394
+ "type": "int",
39395
+ "default": 20
39396
+ }
39397
+ ],
39398
+ "pipeline_steps": 0,
39399
+ "adapter_path": "src/adapters/vndb/web.ts",
39400
+ "target_surface": ""
39401
+ },
39402
+ {
39403
+ "name": "tags",
39404
+ "description": "Search VNDB game tags and genres",
39405
+ "strategy": "public",
39406
+ "type": "web-api",
39407
+ "domain": "api.vndb.org",
39408
+ "browser": false,
39409
+ "columns": [
39410
+ "rank",
39411
+ "id",
39412
+ "name",
39413
+ "category",
39414
+ "description",
39415
+ "url"
39416
+ ],
39417
+ "args": [
39418
+ {
39419
+ "name": "query",
39420
+ "type": "str",
39421
+ "required": true,
39422
+ "positional": true
39423
+ },
39424
+ {
39425
+ "name": "limit",
39426
+ "type": "int",
39427
+ "default": 20
39428
+ }
39429
+ ],
39430
+ "pipeline_steps": 0,
39431
+ "adapter_path": "src/adapters/vndb/web.ts",
39432
+ "target_surface": ""
39433
+ },
39434
+ {
39435
+ "name": "vn",
39436
+ "description": "Get VNDB visual novel details by v-id",
39437
+ "strategy": "public",
39438
+ "type": "web-api",
39439
+ "domain": "api.vndb.org",
39440
+ "browser": false,
39441
+ "columns": [
39442
+ "rank",
39443
+ "id",
39444
+ "title",
39445
+ "alttitle",
39446
+ "released",
39447
+ "languages",
39448
+ "platforms",
39449
+ "rating",
39450
+ "votecount",
39451
+ "developers",
39452
+ "tags",
39453
+ "url"
39454
+ ],
39455
+ "args": [
39456
+ {
39457
+ "name": "id",
39458
+ "type": "str",
39459
+ "required": true,
39460
+ "positional": true
39461
+ }
39462
+ ],
39463
+ "pipeline_steps": 0,
39464
+ "adapter_path": "src/adapters/vndb/web.ts",
39465
+ "target_surface": ""
39466
+ }
39467
+ ],
39468
+ "category": "content"
39469
+ },
36564
39470
  "vscode": {
36565
39471
  "commands": [
36566
39472
  {
@@ -40033,6 +42939,171 @@
40033
42939
  ],
40034
42940
  "category": "finance"
40035
42941
  },
42942
+ "yandere": {
42943
+ "commands": [
42944
+ {
42945
+ "name": "detail",
42946
+ "description": "Get yande.re post detail by post id",
42947
+ "strategy": "public",
42948
+ "type": "web-api",
42949
+ "domain": "yande.re",
42950
+ "browser": false,
42951
+ "quarantined": false,
42952
+ "args": [
42953
+ {
42954
+ "name": "id",
42955
+ "type": "str",
42956
+ "required": true,
42957
+ "positional": true
42958
+ }
42959
+ ],
42960
+ "columns": [
42961
+ "id",
42962
+ "rating",
42963
+ "score",
42964
+ "author",
42965
+ "width",
42966
+ "height",
42967
+ "file_ext",
42968
+ "file_size",
42969
+ "tags",
42970
+ "source",
42971
+ "sample_url",
42972
+ "file_url",
42973
+ "url"
42974
+ ],
42975
+ "pipeline_steps": 2,
42976
+ "adapter_path": "src/adapters/yandere/detail.yaml"
42977
+ },
42978
+ {
42979
+ "name": "download",
42980
+ "description": "Download yande.re post image by post id",
42981
+ "strategy": "public",
42982
+ "type": "web-api",
42983
+ "domain": "yande.re",
42984
+ "browser": false,
42985
+ "quarantined": false,
42986
+ "args": [
42987
+ {
42988
+ "name": "id",
42989
+ "type": "str",
42990
+ "required": true,
42991
+ "positional": true
42992
+ },
42993
+ {
42994
+ "name": "output",
42995
+ "type": "str",
42996
+ "required": false,
42997
+ "positional": false,
42998
+ "default": "./downloads/yandere",
42999
+ "description": "Output directory",
43000
+ "x-unicli-kind": "path"
43001
+ },
43002
+ {
43003
+ "name": "quality",
43004
+ "type": "str",
43005
+ "required": false,
43006
+ "positional": false,
43007
+ "default": "sample",
43008
+ "description": "sample or original"
43009
+ }
43010
+ ],
43011
+ "columns": [
43012
+ "id",
43013
+ "rating",
43014
+ "tags",
43015
+ "url",
43016
+ "_download"
43017
+ ],
43018
+ "pipeline_steps": 4,
43019
+ "adapter_path": "src/adapters/yandere/download.yaml"
43020
+ },
43021
+ {
43022
+ "name": "search",
43023
+ "description": "Search yande.re illustration posts by Moebooru tag query",
43024
+ "strategy": "public",
43025
+ "type": "web-api",
43026
+ "domain": "yande.re",
43027
+ "browser": false,
43028
+ "quarantined": false,
43029
+ "args": [
43030
+ {
43031
+ "name": "tags",
43032
+ "type": "str",
43033
+ "required": true,
43034
+ "positional": true,
43035
+ "description": "Tag query, for example \"hanabi rating:safe\" or \"order:score\""
43036
+ },
43037
+ {
43038
+ "name": "limit",
43039
+ "type": "int",
43040
+ "required": false,
43041
+ "positional": false,
43042
+ "default": 20
43043
+ },
43044
+ {
43045
+ "name": "page",
43046
+ "type": "int",
43047
+ "required": false,
43048
+ "positional": false,
43049
+ "default": 1
43050
+ }
43051
+ ],
43052
+ "columns": [
43053
+ "rank",
43054
+ "id",
43055
+ "rating",
43056
+ "score",
43057
+ "author",
43058
+ "width",
43059
+ "height",
43060
+ "tags",
43061
+ "source",
43062
+ "sample_url",
43063
+ "file_url",
43064
+ "url"
43065
+ ],
43066
+ "pipeline_steps": 2,
43067
+ "adapter_path": "src/adapters/yandere/search.yaml"
43068
+ },
43069
+ {
43070
+ "name": "tags",
43071
+ "description": "Search yande.re tags by name prefix",
43072
+ "strategy": "public",
43073
+ "type": "web-api",
43074
+ "domain": "yande.re",
43075
+ "browser": false,
43076
+ "quarantined": false,
43077
+ "args": [
43078
+ {
43079
+ "name": "query",
43080
+ "type": "str",
43081
+ "required": true,
43082
+ "positional": true
43083
+ },
43084
+ {
43085
+ "name": "limit",
43086
+ "type": "int",
43087
+ "required": false,
43088
+ "positional": false,
43089
+ "default": 20
43090
+ }
43091
+ ],
43092
+ "columns": [
43093
+ "rank",
43094
+ "id",
43095
+ "name",
43096
+ "count",
43097
+ "type",
43098
+ "ambiguous",
43099
+ "url"
43100
+ ],
43101
+ "pipeline_steps": 2,
43102
+ "adapter_path": "src/adapters/yandere/tags.yaml"
43103
+ }
43104
+ ],
43105
+ "category": "content"
43106
+ },
40036
43107
  "ycombinator": {
40037
43108
  "commands": [
40038
43109
  {