@kolbo/mcp 1.121.0 → 1.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skill/GENERATED.md +1 -1
- package/skill/SKILL.md +1 -0
- package/src/apps/index.js +7 -2
- package/src/apps/widgets/generation.js +5 -1
package/package.json
CHANGED
package/skill/GENERATED.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AUTO-GENERATED — do not edit
|
|
2
2
|
|
|
3
|
-
This tree is mirrored from kolbo-code@
|
|
3
|
+
This tree is mirrored from kolbo-code@75f60e6, the single source of truth.
|
|
4
4
|
Canonical source: packages/opencode/skills/kolbo/
|
|
5
5
|
Distribution: .github/workflows/sync-skill-to-plugin.yml
|
|
6
6
|
|
package/skill/SKILL.md
CHANGED
|
@@ -141,6 +141,7 @@ Font tools (when exposed by the installed MCP): `list_fonts`, `get_font`, `uploa
|
|
|
141
141
|
### Discovery, Library, Visual DNA, Moodboards, Chat, Publishing
|
|
142
142
|
| Tool | Purpose |
|
|
143
143
|
|------|---------|
|
|
144
|
+
| `publish_project` / `get_project_publication` / `unpublish_project` / `submit_project_to_catalog` / `remove_project_hero_video` | Public showcase link for a project you own (the app's Publish tab). `publish_project` returns the public `url` and, in the same call, sets `allow_fork`, `showcase_about` and the FINAL VIDEO as page hero: first put the video in the project (`upload_media` with `project_id`, or generate with `project_id`), then pass its id as `hero_video_media_id`. Confirm with the user before publishing — anyone with the link sees the project's media. |
|
|
144
145
|
| `list_models` / `list_voices` / `check_credits` / `show_plans` / `get_generation_status` / `cancel_generation` / `get_session_usage` | Discovery + status. `list_models` with no args returns the recommended shortlist out of ~428 — pass `type` for a full category with per-model caps. `cancel_generation` stops an in-flight job and refunds what it can: use it when the user changes their mind mid-generation instead of letting it run. `show_plans` renders the balance + upgrade card for pricing/plan/upgrade questions. |
|
|
145
146
|
| `download_media_from_url` / `get_download_status` / `cancel_download` | Download a public social/video page URL to Kolbo storage. Async job; use download status, not generation status. See `workflows/media-library.md`. |
|
|
146
147
|
| `upload_media` / `create_upload_ticket` / `list_media` / `get_media` / `get_media_stats` / `favorite_media` / `unfavorite_media` / `dislike_media` / `undislike_media` / `rate_media` / `clear_media_rating` / `delete_media` / `restore_media` / `permanently_delete_media` / `move_media` / `bulk_*_media` / `*_media_folder` | Media library — see `workflows/media-library.md`. Getting a LOCAL file in depends on where the server runs: `upload_media` with a path only works on a local (stdio) install; over a remote connector use `create_upload_ticket` and POST the file yourself. |
|
package/src/apps/index.js
CHANGED
|
@@ -328,8 +328,8 @@ async function modelCatalog(client) {
|
|
|
328
328
|
? m.supported_aspect_ratios
|
|
329
329
|
: (Array.isArray(m.supportedAspectRatios) ? m.supportedAspectRatios : []);
|
|
330
330
|
const aspectsByType = m.supported_aspect_ratios_by_type || m.supportedAspectRatiosByType || null;
|
|
331
|
-
// images_per_request: fixed outputs per call (Midjourney = 4, whatever num_images says).
|
|
332
|
-
const ipr = Number(m.images_per_request || m.imagesPerRequest) || 1;
|
|
331
|
+
// images_per_request: fixed outputs per call (Midjourney = 4, whatever num_images says).
|
|
332
|
+
const ipr = Number(m.images_per_request || m.imagesPerRequest) || 1;
|
|
333
333
|
const info = { icon, eta, id: m.identifier || null, name: m.name || null, types, aspects, aspectsByType, ipr };
|
|
334
334
|
all.push(info);
|
|
335
335
|
// Display names collide across variants ("Nano Banana 2" names both the
|
|
@@ -786,6 +786,11 @@ const TOOL_WIDGETS = {
|
|
|
786
786
|
generate_first_last_frame: UI.generation,
|
|
787
787
|
generate_lipsync: UI.generation,
|
|
788
788
|
generate_music: UI.generation,
|
|
789
|
+
// These return submittedResult/uiCompleted too, but hosts that mount from the
|
|
790
|
+
// tools/list declaration (claude.ai) showed no card without the entry here.
|
|
791
|
+
extend_music: UI.generation,
|
|
792
|
+
cover_music: UI.generation,
|
|
793
|
+
edit_music_section: UI.generation,
|
|
789
794
|
generate_speech: UI.generation,
|
|
790
795
|
generate_sound: UI.generation,
|
|
791
796
|
generate_3d: UI.generation,
|
|
@@ -70,7 +70,8 @@ var TOOL_TITLES = {
|
|
|
70
70
|
generate_video: 'Video Generation', generate_video_from_image: 'Image to Video',
|
|
71
71
|
generate_video_from_video: 'Video to Video', generate_elements: 'Elements Video',
|
|
72
72
|
generate_first_last_frame: 'First–Last Frame', generate_lipsync: 'Lipsync',
|
|
73
|
-
generate_music: 'Music Generation',
|
|
73
|
+
generate_music: 'Music Generation', extend_music: 'Music Extend', cover_music: 'Music Cover',
|
|
74
|
+
edit_music_section: 'Music Edit', generate_speech: 'Text to Speech',
|
|
74
75
|
generate_sound: 'Sound Effect', generate_3d: '3D Generation',
|
|
75
76
|
generate_creative_director: 'Creative Director', edit_image: 'Image Edit', edit_video: 'Video Edit',
|
|
76
77
|
get_generation_status: 'Generations'
|
|
@@ -86,6 +87,9 @@ var OPEN_ROUTES = {
|
|
|
86
87
|
generate_video_from_video: { path: '/video-tools', tool: 'video-to-video' },
|
|
87
88
|
generate_lipsync: { path: '/video-tools', tool: 'lipsync' },
|
|
88
89
|
generate_music: { path: '/audio-tools', tool: 'music-generator' },
|
|
90
|
+
extend_music: { path: '/audio-tools', tool: 'music-generator' },
|
|
91
|
+
cover_music: { path: '/audio-tools', tool: 'music-generator' },
|
|
92
|
+
edit_music_section: { path: '/audio-tools', tool: 'music-generator' },
|
|
89
93
|
generate_speech: { path: '/audio-tools', tool: 'text-to-speech' },
|
|
90
94
|
generate_sound: { path: '/audio-tools', tool: 'text-to-sound' },
|
|
91
95
|
transcribe_audio: { path: '/audio-tools', tool: 'speech-to-text' },
|