@sogni-ai/sogni-creative-agent-skill 2.0.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.
@@ -0,0 +1,3 @@
1
+ export default function register(_api) {
2
+ // Skills are declared in openclaw.plugin.json. No runtime registration required.
3
+ }
@@ -0,0 +1,136 @@
1
+ {
2
+ "id": "sogni-creative-agent-skill",
3
+ "name": "Sogni Creative Agent Skill — Image & Video Generation",
4
+ "description": "Creative AI superpowers for all AI agent runtimes, powered by Sogni AI.",
5
+ "version": "2.0.0",
6
+ "skills": [
7
+ "."
8
+ ],
9
+ "configSchema": {
10
+ "type": "object",
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "defaultImageModel": {
14
+ "type": "string",
15
+ "default": "z_image_turbo_bf16",
16
+ "description": "Default model for text-to-image."
17
+ },
18
+ "defaultEditModel": {
19
+ "type": "string",
20
+ "default": "qwen_image_edit_2511_fp8_lightning",
21
+ "description": "Default model for image editing when context images are provided."
22
+ },
23
+ "defaultPhotoboothModel": {
24
+ "type": "string",
25
+ "default": "coreml-sogniXLturbo_alpha1_ad",
26
+ "description": "Default model for photobooth face transfer."
27
+ },
28
+ "videoModels": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "description": "Override per-workflow default video models.",
32
+ "properties": {
33
+ "t2v": { "type": "string", "default": "ltx23-22b-fp8_t2v_distilled" },
34
+ "i2v": { "type": "string", "default": "wan_v2.2-14b-fp8_i2v_lightx2v" },
35
+ "s2v": { "type": "string", "default": "wan_v2.2-14b-fp8_s2v_lightx2v" },
36
+ "ia2v": { "type": "string", "default": "ltx23-22b-fp8_ia2v_distilled" },
37
+ "a2v": { "type": "string", "default": "ltx23-22b-fp8_a2v_distilled" },
38
+ "v2v": { "type": "string", "default": "ltx23-22b-fp8_v2v_distilled" },
39
+ "animate-move": { "type": "string", "default": "wan_v2.2-14b-fp8_animate-move_lightx2v" },
40
+ "animate-replace": { "type": "string", "default": "wan_v2.2-14b-fp8_animate-replace_lightx2v" }
41
+ }
42
+ },
43
+ "defaultVideoWorkflow": {
44
+ "type": "string",
45
+ "enum": ["t2v", "i2v", "s2v", "ia2v", "a2v", "v2v", "animate-move", "animate-replace"],
46
+ "default": "t2v",
47
+ "description": "Default video workflow when none can be inferred."
48
+ },
49
+ "defaultNetwork": {
50
+ "type": "string",
51
+ "enum": ["fast", "relaxed"],
52
+ "default": "fast",
53
+ "description": "Default Sogni network for the client."
54
+ },
55
+ "defaultTokenType": {
56
+ "type": "string",
57
+ "enum": ["spark", "sogni"],
58
+ "default": "spark",
59
+ "description": "Default token balance to use."
60
+ },
61
+ "seedStrategy": {
62
+ "type": "string",
63
+ "enum": ["random", "prompt-hash"],
64
+ "default": "prompt-hash",
65
+ "description": "Seed strategy when no seed is provided."
66
+ },
67
+ "modelDefaults": {
68
+ "type": "object",
69
+ "description": "Per-model overrides for steps/guidance.",
70
+ "additionalProperties": {
71
+ "type": "object",
72
+ "additionalProperties": false,
73
+ "properties": {
74
+ "steps": { "type": "integer", "minimum": 1 },
75
+ "guidance": { "type": "number", "minimum": 0 }
76
+ }
77
+ }
78
+ },
79
+ "defaultWidth": {
80
+ "type": "integer",
81
+ "minimum": 64,
82
+ "maximum": 4096,
83
+ "default": 512
84
+ },
85
+ "defaultHeight": {
86
+ "type": "integer",
87
+ "minimum": 64,
88
+ "maximum": 4096,
89
+ "default": 512
90
+ },
91
+ "defaultCount": {
92
+ "type": "integer",
93
+ "minimum": 1,
94
+ "maximum": 16,
95
+ "default": 1
96
+ },
97
+ "defaultFps": {
98
+ "type": "integer",
99
+ "minimum": 1,
100
+ "maximum": 60,
101
+ "default": 16
102
+ },
103
+ "defaultDurationSec": {
104
+ "type": "integer",
105
+ "minimum": 1,
106
+ "maximum": 60,
107
+ "default": 5
108
+ },
109
+ "defaultImageTimeoutSec": {
110
+ "type": "integer",
111
+ "minimum": 5,
112
+ "default": 30
113
+ },
114
+ "defaultVideoTimeoutSec": {
115
+ "type": "integer",
116
+ "minimum": 30,
117
+ "default": 300
118
+ },
119
+ "credentialsPath": {
120
+ "type": "string",
121
+ "default": "~/.config/sogni/credentials",
122
+ "description": "Optional path to Sogni credentials file (can also set SOGNI_CREDENTIALS_PATH)."
123
+ },
124
+ "lastRenderPath": {
125
+ "type": "string",
126
+ "default": "~/.config/sogni/last-render.json",
127
+ "description": "Optional path to persist last render metadata (can also set SOGNI_LAST_RENDER_PATH)."
128
+ },
129
+ "mediaInboundDir": {
130
+ "type": "string",
131
+ "default": "~/.clawdbot/media/inbound",
132
+ "description": "Directory used by --list-media (can also set SOGNI_MEDIA_INBOUND_DIR)."
133
+ }
134
+ }
135
+ }
136
+ }
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@sogni-ai/sogni-creative-agent-skill",
3
+ "version": "2.0.0",
4
+ "description": "Sogni Creative Agent Skill: creative AI superpowers for all AI agent runtimes (Claude Code, Claude Desktop, OpenClaw, Hermes Agent, Manus AI, and more). Powered by Sogni AI's decentralized GPU network.",
5
+ "type": "module",
6
+ "main": "sogni-agent.mjs",
7
+ "bin": {
8
+ "sogni-agent": "sogni-agent.mjs",
9
+ "sogni-agent-mcp": "mcp-server.mjs"
10
+ },
11
+ "scripts": {
12
+ "openclaw:sync": "node scripts/sync-openclaw-plugin.mjs",
13
+ "test": "node --test test/*.test.mjs test/*.integration.mjs",
14
+ "test:integration": "node --test test/*.integration.mjs",
15
+ "test:coverage": "node --test --experimental-test-coverage --test-coverage-include=sogni-agent.mjs --test-coverage-lines=50 --test-coverage-branches=35 --test-coverage-functions=50 test/sogni-agent.test.mjs",
16
+ "test:coverage:full": "node --test --experimental-test-coverage --test-coverage-include=sogni-agent.mjs --test-coverage-lines=50 --test-coverage-branches=35 --test-coverage-functions=50 test/*.test.mjs test/*.integration.mjs"
17
+ },
18
+ "keywords": [
19
+ "sogni",
20
+ "ai",
21
+ "agent",
22
+ "image-generation",
23
+ "video-generation",
24
+ "mcp",
25
+ "openclaw",
26
+ "hermes-agent",
27
+ "manus",
28
+ "claude",
29
+ "claude-code",
30
+ "claude-desktop"
31
+ ],
32
+ "author": "Mauvis Ledford",
33
+ "license": "MIT",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "git+https://github.com/Sogni-AI/sogni-creative-agent-skill.git"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/Sogni-AI/sogni-creative-agent-skill/issues"
40
+ },
41
+ "homepage": "https://github.com/Sogni-AI/sogni-creative-agent-skill#readme",
42
+ "engines": {
43
+ "node": ">=22.11.0"
44
+ },
45
+ "files": [
46
+ "LICENSE",
47
+ "README.md",
48
+ "SKILL.md",
49
+ "llm.txt",
50
+ "skill-package.json",
51
+ "version.mjs",
52
+ "scripts/sync-openclaw-plugin.mjs",
53
+ "openclaw-plugin.mjs",
54
+ "openclaw.plugin.json",
55
+ "env.mjs",
56
+ "mcp-server.mjs",
57
+ "sogni-agent.mjs",
58
+ "Support/Claude/claude_desktop_config.json",
59
+ "desktop-extension/manifest.json",
60
+ "desktop-extension/server/mcp-server.mjs",
61
+ "desktop-extension/server/sogni-agent.mjs",
62
+ "desktop-extension/server/package.json"
63
+ ],
64
+ "dependencies": {
65
+ "@modelcontextprotocol/sdk": "^1.0.0",
66
+ "@sogni-ai/sogni-client-wrapper": "^1.5.2",
67
+ "execa": "^9.6.1",
68
+ "json5": "^2.2.3",
69
+ "sharp": "^0.34.5"
70
+ },
71
+ "openclaw": {
72
+ "extensions": [
73
+ "./openclaw-plugin.mjs"
74
+ ]
75
+ }
76
+ }
@@ -0,0 +1,50 @@
1
+ import { copyFileSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ const repoRoot = dirname(dirname(fileURLToPath(import.meta.url)));
6
+ const pluginRoot = join(repoRoot, '.openclaw-link');
7
+
8
+ mkdirSync(pluginRoot, { recursive: true });
9
+
10
+ for (const filename of ['SKILL.md', 'openclaw.plugin.json', 'openclaw-plugin.mjs']) {
11
+ copyFileSync(join(repoRoot, filename), join(pluginRoot, filename));
12
+ }
13
+
14
+ const rootPackage = JSON.parse(readFileSync(join(repoRoot, 'package.json'), 'utf8'));
15
+ const pluginPackage = {
16
+ name: 'sogni-creative-agent-skill',
17
+ version: rootPackage.version,
18
+ private: true,
19
+ type: 'module',
20
+ description: 'Minimal OpenClaw link target for Sogni Creative Agent Skill.',
21
+ openclaw: {
22
+ extensions: [
23
+ './openclaw-plugin.mjs'
24
+ ]
25
+ }
26
+ };
27
+
28
+ writeFileSync(
29
+ join(pluginRoot, 'package.json'),
30
+ `${JSON.stringify(pluginPackage, null, 2)}\n`
31
+ );
32
+
33
+ writeFileSync(
34
+ join(pluginRoot, 'README.md'),
35
+ `# Sogni Creative Agent Skill OpenClaw Link Target
36
+
37
+ This directory is generated by \`npm run openclaw:sync\`.
38
+
39
+ Use it when linking a local checkout into OpenClaw:
40
+
41
+ \`\`\`bash
42
+ openclaw plugins install -l "$PWD/.openclaw-link"
43
+ \`\`\`
44
+
45
+ Do not link the repository root. The root contains development tests that use
46
+ \`child_process\`, and OpenClaw correctly blocks those files during plugin safety
47
+ scanning. This directory contains only the plugin manifest, skill, and no-op
48
+ runtime module needed by OpenClaw.
49
+ `
50
+ );
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "sogni-creative-agent-skill-runtime",
3
+ "private": true,
4
+ "type": "module",
5
+ "dependencies": {
6
+ "@modelcontextprotocol/sdk": "^1.0.0",
7
+ "@sogni-ai/sogni-client-wrapper": "^1.5.2",
8
+ "execa": "^9.6.1",
9
+ "json5": "^2.2.3",
10
+ "sharp": "^0.34.5"
11
+ }
12
+ }