gunni 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +65 -21
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -86261,7 +86261,7 @@ var RemoteClient = class {
|
|
|
86261
86261
|
}
|
|
86262
86262
|
}
|
|
86263
86263
|
);
|
|
86264
|
-
this.client = new Client({ name: "gunni-cli", version: "0.3.
|
|
86264
|
+
this.client = new Client({ name: "gunni-cli", version: "0.3.5" });
|
|
86265
86265
|
await this.client.connect(transport);
|
|
86266
86266
|
}
|
|
86267
86267
|
async callTool(name, args) {
|
|
@@ -87715,7 +87715,32 @@ var knowledge_default = {
|
|
|
87715
87715
|
overview: {
|
|
87716
87716
|
topic: "overview",
|
|
87717
87717
|
title: "Gunni Overview",
|
|
87718
|
-
content:
|
|
87718
|
+
content: `Gunni tools for professional media creation:
|
|
87719
|
+
|
|
87720
|
+
CREATE: image (generate/edit/describe/upscale/remove-bg, routes by input), video, audio, lipsync
|
|
87721
|
+
PRODUCTION: templates (proven prompts with variables), styles (visual direction), presets (platform rules), pipelines (multi-step workflows), refs (reference images)
|
|
87722
|
+
UTILITY: models (list models + updates), history (search past work), learn (you're here)
|
|
87723
|
+
|
|
87724
|
+
ROUTING (image): prompt only \u2192 generate, image+prompt \u2192 edit, image only \u2192 describe, +upscale/remove_bg flags
|
|
87725
|
+
MULTI-IMAGE: pass an array of URLs to image for multi-ref editing
|
|
87726
|
+
|
|
87727
|
+
PRODUCTION SYSTEM:
|
|
87728
|
+
- templates() \u2014 Browse proven prompts with [variable] placeholders. Use template_save to create your own.
|
|
87729
|
+
- styles() \u2014 Saved visual directions (colors, mood, typography). Apply to any generation for brand consistency. Use style_create to save.
|
|
87730
|
+
- presets() \u2014 Platform rules (TikTok, IG, YouTube). Auto-applies aspect ratio, framing, prompt modifiers. Use preset_create to save.
|
|
87731
|
+
- pipelines() \u2014 Multi-step workflows chaining templates + presets + tools. Call pipelines(name) then orchestrate step by step. See learn("pipelines") for execution guide.
|
|
87732
|
+
- refs() \u2014 Reference images in collections. Save with ref_save, use as style/character refs or edit inputs.
|
|
87733
|
+
These compose: pipelines use templates and presets, presets reference styles, styles reference refs.
|
|
87734
|
+
|
|
87735
|
+
USER IMAGE UPLOADS: When a user provides or pastes an image and you need to use it as input (for editing, video, describe, etc.), you MUST call upload_ref first. The image/video tools require a URL (https://...), not a local file path. Workflow:
|
|
87736
|
+
1. Call upload_ref with a name for the reference
|
|
87737
|
+
2. The user uploads their file via the Gunni Studio UI
|
|
87738
|
+
3. After upload completes, use the resulting URL in image/video tools
|
|
87739
|
+
Never pass a local file path to image or video. It will fail.
|
|
87740
|
+
|
|
87741
|
+
PROJECT SYSTEM: BRIEF.md (creative direction), .gunni/assets.json (lineage), .gunni/seeds.json (proven seeds)
|
|
87742
|
+
|
|
87743
|
+
IMPORTANT: Every generation response includes a galleryUrl. Always share it with the user so they can view results in full resolution.`
|
|
87719
87744
|
},
|
|
87720
87745
|
exploration: {
|
|
87721
87746
|
topic: "exploration",
|
|
@@ -87859,14 +87884,17 @@ KEY PRINCIPLES
|
|
|
87859
87884
|
}
|
|
87860
87885
|
},
|
|
87861
87886
|
latest: {
|
|
87862
|
-
version: "0.
|
|
87863
|
-
date: "2026-
|
|
87887
|
+
version: "0.3.4",
|
|
87888
|
+
date: "2026-03-29",
|
|
87864
87889
|
updates: [
|
|
87890
|
+
"Production system: templates (proven prompts with variables), styles (visual direction), presets (platform rules), pipelines (multi-step workflows).",
|
|
87891
|
+
"Refs: save, organize, and reuse reference images across projects in named collections.",
|
|
87892
|
+
"Lipsync: lip-sync audio onto video, or generate talking head from image + audio.",
|
|
87893
|
+
"Visual research: discover visual trends and references for creative direction.",
|
|
87894
|
+
'Pipeline orchestration: chain templates, presets, styles, and tools into complete deliverables. See learn("pipelines").',
|
|
87865
87895
|
"Unified image tool: generate, edit, describe, upscale, remove-bg. Routes by input.",
|
|
87866
|
-
"Multi-image editing: pass array of URLs for multi-ref edits
|
|
87867
|
-
"
|
|
87868
|
-
"Variants flag for creative exploration.",
|
|
87869
|
-
"Latest updates merged into models (pass updates=true). refs now handles both list and get."
|
|
87896
|
+
"Multi-image editing: pass array of URLs for multi-ref edits.",
|
|
87897
|
+
"Variants flag for creative exploration."
|
|
87870
87898
|
]
|
|
87871
87899
|
}
|
|
87872
87900
|
};
|
|
@@ -90861,7 +90889,7 @@ async function runOnboarding() {
|
|
|
90861
90889
|
|
|
90862
90890
|
// src/index.ts
|
|
90863
90891
|
var program2 = new Command();
|
|
90864
|
-
program2.name("gunni").description("AI media toolkit \u2014 give any agent the ability to create professional media").version("0.3.
|
|
90892
|
+
program2.name("gunni").description("AI media toolkit \u2014 give any agent the ability to create professional media").version("0.3.5").option("--json", "Output results as JSON").addHelpText(
|
|
90865
90893
|
"after",
|
|
90866
90894
|
`
|
|
90867
90895
|
Examples:
|
|
@@ -90947,14 +90975,20 @@ program2.action(async () => {
|
|
|
90947
90975
|
{ name: "image", usage: 'gunni image "<prompt>" -o output.png', description: "Generate, edit, describe, upscale, or remove background (smart routing)" },
|
|
90948
90976
|
{ name: "video", usage: 'gunni video <image> -p "<prompt>" -o output.mp4', description: "Generate video from image or text" },
|
|
90949
90977
|
{ name: "audio", usage: 'gunni audio "<text>" -o output.mp3', description: "Generate speech audio from text" },
|
|
90978
|
+
{ name: "template", usage: "gunni template list", description: "Browse & use proven prompt templates with fill-in variables" },
|
|
90979
|
+
{ name: "style", usage: "gunni style list", description: "Saved visual directions (colors, mood, tone) for consistent output" },
|
|
90980
|
+
{ name: "preset", usage: "gunni preset list", description: "Platform production rules (TikTok, IG, YouTube \u2014 aspect ratio, framing)" },
|
|
90981
|
+
{ name: "pipeline", usage: "gunni pipeline list", description: "Multi-step production workflows chaining templates, presets, and tools" },
|
|
90982
|
+
{ name: "ref", usage: "gunni ref list", description: "Reference images organized in collections for reuse across projects" },
|
|
90950
90983
|
{ name: "learn", usage: "gunni learn [topic]", description: "Load creative expertise and best practices" },
|
|
90984
|
+
{ name: "guide", usage: "gunni list guides", description: "Step-by-step creative playbooks with prompt templates" },
|
|
90951
90985
|
{ name: "latest", usage: "gunni latest", description: "Check for new models, features, updates" },
|
|
90952
90986
|
{ name: "init", usage: "gunni init [--template brand|ui|campaign]", description: "Initialize a Gunni project" },
|
|
90953
90987
|
{ name: "history", usage: 'gunni history ["query"]', description: "Search past generations" },
|
|
90954
|
-
{ name: "
|
|
90988
|
+
{ name: "models", usage: "gunni models [--type <category>]", description: "List available models" },
|
|
90955
90989
|
{ name: "config", usage: "gunni config", description: "Manage API keys" }
|
|
90956
90990
|
];
|
|
90957
|
-
console.log(JSON.stringify({ version: "0.3.
|
|
90991
|
+
console.log(JSON.stringify({ version: "0.3.5", commands, categories, models }, null, 2));
|
|
90958
90992
|
return;
|
|
90959
90993
|
}
|
|
90960
90994
|
const configured = await hasGunniKey();
|
|
@@ -90964,27 +90998,37 @@ program2.action(async () => {
|
|
|
90964
90998
|
return;
|
|
90965
90999
|
}
|
|
90966
91000
|
console.log(`
|
|
90967
|
-
${import_picocolors23.default.
|
|
91001
|
+
${import_picocolors23.default.cyan(` ________ ___ ___ ________ ________ ___`)}
|
|
91002
|
+
${import_picocolors23.default.cyan(`|\\ ____\\|\\ \\|\\ \\|\\ ___ \\|\\ ___ \\|\\ \\`)}
|
|
91003
|
+
${import_picocolors23.default.cyan(`\\ \\ \\___|\\ \\ \\\\\\ \\ \\ \\\\ \\ \\ \\ \\\\ \\ \\ \\ \\`)}
|
|
91004
|
+
${import_picocolors23.default.cyan(` \\ \\ \\ __\\ \\ \\\\\\ \\ \\ \\\\ \\ \\ \\ \\\\ \\ \\ \\ \\`)}
|
|
91005
|
+
${import_picocolors23.default.cyan(` \\ \\ \\|\\ \\ \\ \\\\\\ \\ \\ \\\\ \\ \\ \\ \\\\ \\ \\ \\ \\`)}
|
|
91006
|
+
${import_picocolors23.default.cyan(` \\ \\_______\\ \\_______\\ \\__\\\\ \\__\\ \\__\\\\ \\__\\ \\__\\`)}
|
|
91007
|
+
${import_picocolors23.default.cyan(` \\|_______|\\|_______|\\|__| \\|__|\\|__| \\|__|\\|__|`)}
|
|
90968
91008
|
|
|
90969
|
-
${import_picocolors23.default.
|
|
91009
|
+
${import_picocolors23.default.dim(`v0.3.4 \u2014 AI media toolkit`)}
|
|
91010
|
+
|
|
91011
|
+
${import_picocolors23.default.bold("Create:")}
|
|
90970
91012
|
${import_picocolors23.default.cyan("image")} Generate, edit, describe, upscale, remove-bg ${import_picocolors23.default.dim('gunni image "a cat" -o cat.png')}
|
|
90971
91013
|
${import_picocolors23.default.cyan("video")} Image/text \u2192 video ${import_picocolors23.default.dim('gunni video hero.png -p "zoom in"')}
|
|
90972
91014
|
${import_picocolors23.default.cyan("audio")} Text \u2192 speech ${import_picocolors23.default.dim('gunni audio "Hello" -o hello.mp3')}
|
|
90973
91015
|
|
|
90974
91016
|
${import_picocolors23.default.bold("Production:")}
|
|
90975
|
-
${import_picocolors23.default.cyan("template")}
|
|
90976
|
-
${import_picocolors23.default.cyan("
|
|
90977
|
-
${import_picocolors23.default.cyan("
|
|
90978
|
-
${import_picocolors23.default.cyan("
|
|
90979
|
-
|
|
90980
|
-
|
|
90981
|
-
|
|
91017
|
+
${import_picocolors23.default.cyan("template")} Proven prompts with variables you fill in ${import_picocolors23.default.dim("gunni template list")}
|
|
91018
|
+
${import_picocolors23.default.cyan("style")} Saved visual direction (colors, mood, tone) ${import_picocolors23.default.dim("gunni style list")}
|
|
91019
|
+
${import_picocolors23.default.cyan("preset")} Platform rules (TikTok, IG, YouTube, etc.) ${import_picocolors23.default.dim("gunni preset list")}
|
|
91020
|
+
${import_picocolors23.default.cyan("pipeline")} Multi-step workflows that chain it all ${import_picocolors23.default.dim("gunni pipeline list")}
|
|
91021
|
+
${import_picocolors23.default.cyan("ref")} Reference images for consistent output ${import_picocolors23.default.dim("gunni ref list")}
|
|
91022
|
+
|
|
91023
|
+
${import_picocolors23.default.bold("Learn:")}
|
|
91024
|
+
${import_picocolors23.default.cyan("learn")} Creative expertise & best practices ${import_picocolors23.default.dim("gunni learn overview")}
|
|
91025
|
+
${import_picocolors23.default.cyan("guide")} Step-by-step creative playbooks ${import_picocolors23.default.dim("gunni list guides")}
|
|
90982
91026
|
${import_picocolors23.default.cyan("latest")} New models, features, updates ${import_picocolors23.default.dim("gunni latest")}
|
|
90983
91027
|
|
|
90984
91028
|
${import_picocolors23.default.bold("Utility:")}
|
|
90985
91029
|
${import_picocolors23.default.cyan("init")} Start a new project ${import_picocolors23.default.dim("gunni init --template brand")}
|
|
90986
91030
|
${import_picocolors23.default.cyan("history")} Search past work ${import_picocolors23.default.dim('gunni history "coffee"')}
|
|
90987
|
-
${import_picocolors23.default.cyan("
|
|
91031
|
+
${import_picocolors23.default.cyan("models")} Discover available models ${import_picocolors23.default.dim("gunni models")}
|
|
90988
91032
|
${import_picocolors23.default.cyan("config")} API key setup ${import_picocolors23.default.dim("gunni config")}
|
|
90989
91033
|
|
|
90990
91034
|
${import_picocolors23.default.bold("Models:")} ${import_picocolors23.default.dim(`${getAllModels().length} curated models`)}`);
|