New:Socket for Asana Is Now Available.Learn more
Get Started

@kolbo/kolbo-code-linux-arm64

Package Overview
Dependencies
Maintainers
1
Versions
78
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kolbo/kolbo-code-linux-arm64 - npm Package Compare versions

Comparing version
2.4.21
to
2.4.22
+1
-1
package.json
{
"name": "@kolbo/kolbo-code-linux-arm64",
"version": "2.4.21",
"version": "2.4.22",
"os": [

@@ -5,0 +5,0 @@ "linux"

@@ -117,4 +117,13 @@ ---

Then compile that craft into the Kolbo Locked Intro (`Total: Xs / N shots / AR` → `[GLOBAL LOOK]` → `[CAST]` with `@DNAName` → `[LOCATION]` → `SHOT N`) before calling `generate_elements`.
Then compile that craft into the Kolbo Locked Intro before calling `generate_elements` / `generate_video`:
1. `N connected cinematic shots, Xs total, AR, Multishot ON`
2. `Total: Xs / N shots / AR`
3. `[GLOBAL LOOK]` → `[CAST]` (`@DNAName` per person) → `[LOCATION]` → LOCATION MAP / CONTINUITY / PHYSICS
4. `SHOT N — 0:00–0:02 — …` with ranges that **sum to Xs**
5. Closing `Total: Xs / N shots / AR`
6. Pass MCP `duration: X` equal to that Total
A compile without Total / Multishot / summing shot ranges is incomplete — fix it before the tool call. Full rules: `references/models/seedance.md` (+ `seedance25.md` for 2.5).
#### Optimization

@@ -121,0 +130,0 @@ Point out the defects or "problems" of the original prompt that do not conform to the generation rules of large models (e.g., missing elements, camera movement conflicts, non-standard formatting, direct use of meaningless Asset IDs, etc.).

@@ -18,4 +18,11 @@ <!-- PARITY: this file mirrors getSeedancePromptSystemPrompt() in

- **Rewrites never thin out or rename anchors.** "`@X anchors Odysseus`" is NOT a reference line, and `Odysseus` must never replace `@X` later. Every referenced asset keeps its exact literal tag plus a full role line on every rewrite. Re-use the exact DNA tag in every shot it participates in. A compile that dropped `@gal_suit` / `@yonatan` / `#Board` is a failed turn.
- **First line ALWAYS declares shot structure**: total duration, shot count, aspect ratio. Example: `Total: 15s / 6 shots / 16:9`. Put it at the BOTTOM of the prompt too. For connected narrative sequences the proven phrasing is `N connected cinematic shots, 15 seconds total, 16:9, Multishot ON` — use it and keep `Multishot ON` for any multi-shot story.
- **Then the Locked Intro** — `[GLOBAL LOOK]` / `[CAST]` / `[LOCATION]` — before any shot. A one-liner `same character throughout` is not a character lock.
- **DURATION + SHOT STRUCTURE (HARD — same as help widget):** every text-to-video / Elements prompt MUST open AND close with total duration, shot count, and aspect. Omit only for video-edit tasks (source duration is locked). Required first lines:
1. `N connected cinematic shots, Xs total, AR, Multishot ON`
2. `Total: Xs / N shots / AR`
Then Locked Intro, then `SHOT N — 0:00–0:02 — Size / camera` beats whose ranges **sum exactly to Xs**. Last line repeats `Total: Xs / N shots / AR`.
- Example (15s / 6 shots): `6 connected cinematic shots, 15 seconds total, 16:9, Multishot ON` + `Total: 15s / 6 shots / 16:9`
- UGC / phone vertical: `N connected phone shots, Xs total, 9:16, Multishot ON` (never the word "cinematic").
- A prompt with only shot body and no Total / Multishot header is a **failed turn** — rewrite before calling `generate_*`.
- **MCP `duration` must match the Total line.** Pass `duration: X` (whole seconds) on `generate_video` / `generate_elements` / `generate_video_from_image` equal to the `Xs` in `Total: Xs / …`. Mismatch = wrong-length clip.
- **Then the Locked Intro** — `[GLOBAL LOOK]` / `[CAST]` / `[LOCATION]` (+ LOCATION MAP / CONTINUITY / PHYSICS for multi-shot) — before any shot. A one-liner `same character throughout` is not a character lock.
- **Order inside each shot**: Subject → Action → Camera → Constraints → (Audio/SFX if relevant). Do NOT restack GLOBAL LOOK style inside the shot.

@@ -36,7 +43,7 @@ - **Prompt length**: simple single-idea pieces ~120–280 words. Locked-intro cinematic typically 400–900 words. Shorter than ~120 words = random output. The 8000-char cap below always wins.

After the Total line, every multi-shot prompt — and any piece with recurring people or a recurring place — opens with three locked blocks. Skip only for: true single-shot POV/orb, 3×3 grid-panel mode, or video-edit tasks.
After the Total lines, every multi-shot prompt — and any piece with recurring people or a recurring place — opens with the locked blocks. Skip only for: true single-shot POV/orb, 3×3 grid-panel mode, or video-edit tasks.
```
N connected cinematic shots, Xs total, AR, Multishot ON
Total: Xs / N shots / AR
N connected cinematic shots, Xs total, AR, Multishot ON

@@ -53,6 +60,17 @@ [GLOBAL LOOK – LOCKED, APPLIES TO EVERY SHOT]

[LOCATION MAP]
Named seats / sides in SCREEN language (screen-left armchair, center couch, door camera-left).
[CONTINUITY – LOCKED ACROSS EVERY CUT]
Axis / camera side of the line. Screen direction. Eyelines. Floor props stay. Which hand holds what. No teleport.
[PHYSICS]
Weight into furniture, props resting, cloth/hair settle, no float.
SHOT 1 — 0:00–0:02 — Medium / camera position
(physical verbs, timed acting, quoted dialogue)
SHOT 2 — 0:02–0:05 — …
… (ranges MUST sum to Xs)
Total: Xs / N shots / AR
POSITIVE LOCKS: <2–4 sentences restating positions / mouth / optical signature>
```

@@ -62,2 +80,14 @@

## OUTPUT CONTRACT (WINS — same as help widget)
ONE fenced prompt. Required shape or the turn failed:
1. `N connected cinematic shots, Xs total, AR, Multishot ON`
2. `Total: Xs / N shots / AR`
3. GLOBAL LOOK → CAST → LOCATION → LOCATION MAP → CONTINUITY → PHYSICS (dense, before any shot)
4. `SHOT 1 — 0:00–0:02 — …` through SHOT N; timecodes sum to Xs; continuity bridge after SHOT 1
5. Closing `Total: Xs / N shots / AR` + short POSITIVE LOCKS
6. Tool call `duration` = Xs
FORBIDDEN: omitting Total / Multishot; "same character throughout" as the only lock; one fence per shot; `[0s]`/`[3s]` stubs; splitting a ≤15s story into multiple generations unless the user asks.
## The 5 Formats

@@ -64,0 +94,0 @@

@@ -26,18 +26,42 @@ <!-- PARITY: this file mirrors getSeedance25PromptSystemPrompt() in

## Universal Rules (HARD — same as help widget OUTPUT CONTRACT)
- **First lines ALWAYS declare shot structure** (text-to-video / Elements / reference gen — NOT video-edit):
1. `N connected cinematic shots, Xs total, AR, Multishot ON`
2. `Total: Xs / N shots / AR`
Example: `12 connected cinematic shots, 30 seconds total, 16:9, Multishot ON` + `Total: 30s / 12 shots / 16:9`
UGC phone: `N connected phone shots, Xs total, 9:16, Multishot ON` — never the word "cinematic"; restate `9:16 vertical phone frame` in every shot.
- **Last line repeats** `Total: Xs / N shots / AR` + short POSITIVE LOCKS.
- **Shot timecodes MUST sum to Xs.** `SHOT 1 — 0:00–0:02` … through SHOT N ending at Xs. Never `[0s]` / `[3s]` stubs.
- **MCP `duration` = Xs** on the generate call. Mismatch is a failed turn.
- Duration range **4–30s**; shot count **≤30** in one generation. Do not split a ≤30s story into multiple 10s clips unless the user asks.
- Omit Total / Multishot / shot-count headers only for **video editing** (source duration locked) — use Edit Goal blocks instead.
## Locked Intro (DEFAULT — same shape as Seedance 2)
After the Total line, every multi-shot cinematic opens with:
```
N connected cinematic shots, Xs total, AR, Multishot ON
Total: Xs / N shots / AR
```
[GLOBAL LOOK – LOCKED, APPLIES TO EVERY SHOT]
[CAST – IDENTICAL IN EVERY SHOT]
[LOCATION]
[LOCATION MAP]
[CONTINUITY – LOCKED ACROSS EVERY CUT]
[PHYSICS]
SHOT 1 — 0:00–0:02 — Medium / camera position
Total: Xs / N shots / AR
```
then timecoded `SHOT N — 0:00–0:02 — Medium / camera position` beats. Full skeleton, acting rules, and optical craft: `models/seedance.md`.
Full acting / continuity craft: `models/seedance.md`. Do not skip the Total lines or the three look/cast/location blocks. Do not restack GLOBAL LOOK inside shots.
2.5 is where this format earns its keep: 15 shots timed to 30s, ~5k characters, one locked look so every cut matches camera / grade / cast. Do not skip the three blocks. Do not restack GLOBAL LOOK inside shots.
2.5 is where this format earns its keep: 15 shots timed to 30s, ~5k characters, one locked look so every cut matches camera / grade / cast.
UGC / phone vertical (full craft: `workflows/ugc-smartphone.md`): NEVER write "cinematic". GLOBAL LOOK is phone-native. Use `N connected phone shots, Xs total, 9:16, Multishot ON` and restate `9:16 vertical phone frame` inside every shot.
## OUTPUT CONTRACT (WINS — mirror of help widget)
ONE fenced prompt. Missing Total / Multishot / summing timecodes / matching `duration` = failed skill turn.
FORBIDDEN: "same character throughout" as the only lock; one fence per shot; claiming you followed the skill while omitting GLOBAL LOOK / CAST / LOCATION / Multishot ON.
## Prompt length

@@ -44,0 +68,0 @@

@@ -7,4 +7,6 @@ # Production Log — `.kolbo/production.md`

Every URL, id, and brief produced by a Kolbo MCP tool MUST be recorded in `.kolbo/production.md` in the user's workspace. This file — not chat history — is your source of truth for prior artifacts: URLs scattered across `tool_result` blobs are unreliable to re-scan and disappear entirely on context compaction. If the user named a model, write that name into `## 🎯 Now` and keep using that family on every follow-up — compaction is not permission to cheapest-swap.
Every URL, id, and brief produced by a Kolbo MCP tool MUST be recorded in `.kolbo/production.md` in the user's workspace. This file is **your** (agent) source of truth for prior artifacts across turns — not chat history (unreliable / compacted) and not a substitute for the user's **Library** gallery. URLs scattered across `tool_result` blobs are unreliable to re-scan and disappear entirely on context compaction. If the user named a model, write that name into `## 🎯 Now` and keep using that family on every follow-up — compaction is not permission to cheapest-swap.
**User vs agent SoT:** finished media for the human → **Library → This session**. Job state while in flight → `get_generation_status`. Your memory → this file. Chat cards are progress UI only.
## When to READ it

@@ -11,0 +13,0 @@

@@ -29,2 +29,6 @@ # Troubleshooting

## Black / empty chat card while "Generating"
**Not a bug and not a failure.** The chat generation card's preview stays dark until the job has media. Library shows a K/logo placeholder tile for the same in-flight job. Do **not** re-fire `generate_*`, do **not** `list_media` to "find" it. Wait, or call `get_generation_status` once with `wait=true`. When complete, the result appears in Library (This session) — that is the user-facing source of truth.
## "Rate limited" (429 errors)

@@ -51,2 +55,4 @@

**Credit guard:** after a generate tool returns `submitted` / `_timed_out`, do not keep thinking or editing files while the card spins — that burns coding credits. End the turn, or make **one** `wait=true` status call if you need the URLs next.
## Failure envelope from `get_generation_status`

@@ -53,0 +59,0 @@

@@ -66,7 +66,8 @@ # Visual DNA — Character / Style Consistency

After a generation tool returns its URLs, those URLs are **already** in the canvas (the desktop app's gallery panel) and in `.kolbo/production.md`. Do **NOT** call `list_media`, `get_media`, `get_media_stats`, `list_visual_dnas`, or `chat_send_message` with `media_urls` on those URLs just to "verify" or "fetch thumbnails of the results":
After a generation tool returns its URLs, those URLs are **already** in **Library** (right panel — This session) and in `.kolbo/production.md`. Do **NOT** call `list_media`, `get_media`, `get_media_stats`, `list_visual_dnas`, or `chat_send_message` with `media_urls` on those URLs just to "verify" or "fetch thumbnails of the results":
- It burns credits and time for zero new information.
- Every such tool call streams partial output into the session, which forces the desktop canvas to re-evaluate (visible flicker on the gallery tiles).
- Every such tool call streams partial output into the session, which forces Library to re-evaluate (visible flicker on the gallery tiles).
- The thumbnails returned by `list_media` / `get_media` are the SAME asset you just generated.
- A black chat generation card while `Generating` is normal — do not treat it as missing output.

@@ -73,0 +74,0 @@ **Only call list/get media tools when:**

---
version: 0.9.3
version: 0.9.6
name: kolbo

@@ -23,4 +23,26 @@ description: |

> 🚫 **Don't dump generated URLs as bare text or markdown links in chat** — the UI already renders artifacts as a gallery tile + canvas. Refer by description ("the rainy scene"), store URLs in `.kolbo/production.md`. INLINE `![](url)` images ARE allowed for catalog-style replies (per-item thumbs in numbered lists).
> 🚫 **Don't dump generated URLs as bare text or markdown links in chat** — the UI already shows results in **Library** (right panel) and on the generation card. Refer by description ("the rainy scene"), store URLs in `.kolbo/production.md`. INLINE `![](url)` images ARE allowed for catalog-style replies (per-item thumbs in numbered lists).
## ⚠️ Source of truth for generations (HARD RULE — read this)
Agents keep getting confused because three UIs show the same job. Use this map — never invent a fourth:
| Surface | What it is | Trust it for |
|---|---|---|
| **Library** (right panel — "This session" / "All media") | User-facing gallery of **completed** media | "Is the user's output there?" Point humans here. Finished clips/images land automatically — do **not** `list_media` / `get_media` just to verify a `generate_*` you just ran. |
| **Chat generation card** | Progress chrome while a job is in flight | Status badge only (`Generating` / done). A **black / empty preview while Generating is NORMAL** — the iframe has nothing to paint yet. It is **not** failure, not "lost", not a reason to re-fire. |
| **`get_generation_status`** (MCP) | Agent API for job state | Whether the server job is `completed` / `failed` / still running, and the final `urls`. This is your SoT for in-flight work — **not** the card pixels. |
| **`.kolbo/production.md`** | Your private log across turns | Ids + URLs after success. Compaction-safe memory — not the user gallery. |
**Do NOT:**
- Treat an empty/black chat card as "generation failed" or "nothing produced".
- Re-call `generate_*` because Library still shows a K/logo spinner tile while the job is running — that tile **is** the in-progress placeholder for the same job.
- Call `list_media` / `get_media` / `list_session_generations` to "check if it worked" after a generate you already submitted — that burns credits/context and can pollute the session.
- Tell the user to look at chat history for finals — tell them **Library → This session**.
**Do:**
- After `submitted` / `_timed_out`: end the turn, or one `get_generation_status(..., wait=true)`.
- When done: say the result is in Library; log URLs to `.kolbo/production.md`.
- If the user asks "where is it?" → Library (This session). If they ask "is it done?" and you don't have urls yet → `get_generation_status` once.
This file is the **always-loaded core**: tool inventory + universal hard rules + routing index. For any model-specific prompt rules, Visual DNA workflow, production log format, marketing workflow, cost validation, etc., **Read the matching `references/` file from the index below**. Don't try to remember the rules — load the file when you need them.

@@ -222,3 +244,3 @@

`Total: Xs / N shots / AR` → `[GLOBAL LOOK – LOCKED, APPLIES TO EVERY SHOT]` → `[CAST – IDENTICAL IN EVERY SHOT]` (each person is `@DNAName`) → `[LOCATION]` → `SHOT N — 0:00–0:02 — …`
`N connected cinematic shots, Xs total, AR, Multishot ON` → `Total: Xs / N shots / AR` → `[GLOBAL LOOK – LOCKED, APPLIES TO EVERY SHOT]` → `[CAST – IDENTICAL IN EVERY SHOT]` (each person is `@DNAName`) → `[LOCATION]` → LOCATION MAP / CONTINUITY / PHYSICS → `SHOT N — 0:00–0:02 — …` (ranges sum to Xs) → closing `Total: Xs / N shots / AR`. Pass MCP `duration: X` matching that Total. Omitting Total / Multishot is a failed compile — same contract as the Kolbo help widget.

@@ -273,5 +295,9 @@ Write the beats at FULL DEPTH. The cap is 15,000 characters on Seedance 2.5 (10,000 on 2.0) — a 30s / 8+ shot compile should land around 4k–9k, and every beat carries its own camera move, a performance task for the speaker AND the listeners, prop/hand state, and the sound in that beat. A one-line shot beat is under-written; the structure alone is not the craft. Read `references/models/seedance25.md` before compiling.

5. **Validate inputs** against model caps — see `references/workflows/cost-and-validation.md`.
6. **How calls work**: each tool blocks until generation is fully complete. Images: seconds. Video: minutes. Multiple tool calls in one response run concurrently. On hosts with live widgets the tool instead returns `submitted` instantly — the card updates on its own; you only need `get_generation_status` when a follow-up step needs the output URLs.
7. **Checking status — NEVER poll in a loop**: `get_generation_status` takes `wait=true` (blocks server-side until done, ~3 min) and `generation_ids` (check MANY generations in ONE call — returns `all_done` + which are still running). One `wait=true` call replaces any polling loop. If it comes back with some still processing, call it ONCE more with `wait=true` and the remaining ids.
8. **Share the URL** after success. Never fabricate URLs.
6. **How calls work**: each tool blocks until generation is fully complete. Images: seconds. Video: minutes. Multiple tool calls in one response run concurrently. On hosts with live widgets the tool instead returns `submitted` (or `_timed_out`) instantly — the card updates on its own.
7. **🛑 After `submitted` / `_timed_out` — END THE TURN (credit guard)**: Do **not** keep thinking, writing skills, editing files, or planning "next steps" while a generation is still running. That burns the user's coding/chat credits for nothing. Either:
- **Stop immediately** after telling the user it's generating in Library / the card above (preferred when you do not need the output URLs yet), OR
- If the **next** required step needs those URLs, call `get_generation_status` **once** with `wait=true` (and `generation_ids` for a batch) as the **only** follow-up — no parallel Write/Edit/Think while it waits.
- A black preview on the chat card is expected until URLs exist — not a signal to retry.
8. **Checking status — NEVER poll in a loop**: `get_generation_status` takes `wait=true` (blocks server-side until done, ~3 min) and `generation_ids` (check MANY generations in ONE call — returns `all_done` + which are still running). One `wait=true` call replaces any polling loop. If it comes back with some still processing, call it ONCE more with `wait=true` and the remaining ids.
9. **Share the URL** after success. Never fabricate URLs.

@@ -324,3 +350,4 @@ Model types for `list_models`: `text_to_img`, `image_editing`, `text_to_video`, `img_to_video`, `draw_to_video`, `video_to_video`, `elements`, `firstlastgenerations`, `lipsync-image`, `lipsync-video`, `music_gen`, `text_to_speech`, `text_to_sound`, `stt`, `text`, `3d_text_to_model`, `3d_image_to_model`, `3d_multi_image_to_model`, `3d_world`.

- `generate_image`: 30/min. All other generation tools: 10/min per type. 300/min global. `upload_media`: 300/min, no credit cost.
- **⚠️ NEVER re-fire a generation you already called.** Aborted / timed-out calls still process server-side. Run `get_generation_status` (with `wait=true`) before retrying.
- **⚠️ NEVER re-fire a generation you already called.** Aborted / timed-out / `submitted` calls still process server-side. Finish with `get_generation_status` (`wait=true`) — never a second `generate_*`. A black chat card or Library K-tile is not a missing job.
- **⚠️ NEVER keep working while a generation is in flight.** After `submitted` / `_timed_out`, end the turn or block on one `wait=true` status call. Writing production.md / skills / "merge decisions" while the card spins wastes coding credits.
- **Tracking a batch**: check ALL in-flight ids in ONE `get_generation_status` call with `generation_ids` + `wait=true`. Read `all_done` / `still_processing` from the response — do not check ids one by one, and never re-call without `wait`.

@@ -394,5 +421,5 @@ - **Batch ≤10 items**: output ALL tool calls in one response — they run concurrently.

- **Catalog-style replies** (numbered lists of characters / scenes / products): embed `![alt](url)` so each item shows inline.
- **Conversational replies** ("4 shots ready"): keep prose short; canvas chip already shows gallery.
- **Conversational replies** ("4 shots ready"): keep prose short; Library already shows the gallery.
Avoid bare URL dumps and HTML `<table>` grids — canvas already provides a gallery.
Avoid bare URL dumps and HTML `<table>` grids — Library already provides a gallery.

@@ -399,0 +426,0 @@ **After `generate_creative_director` completes** — share results as individual URLs, one per scene. Do NOT create an HTML grid artifact.

@@ -1,1 +0,1 @@

0.9.3
0.9.6

Sorry, the diff of this file is not supported yet