@zelari/core 2.20.0 → 2.22.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 @@
|
|
|
1
|
+
{"version":3,"file":"unrealEditor.d.ts","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/unrealEditor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { registerCodingSkill } from '../../skills.js';
|
|
2
|
+
const unrealEditor = {
|
|
3
|
+
id: 'unreal-editor',
|
|
4
|
+
version: '1.0.0',
|
|
5
|
+
name: 'Unreal Editor 5.8+ (unreal-mcp)',
|
|
6
|
+
description: 'Drive a running Unreal Engine 5.8+ editor via the unreal-mcp preset: discover toolsets, call tools serially, build/validate levels, actors and assets.',
|
|
7
|
+
category: 'ops',
|
|
8
|
+
requiredRoles: [],
|
|
9
|
+
requiredTools: ['bash'],
|
|
10
|
+
estimatedCost: 'low',
|
|
11
|
+
enabledByDefault: true,
|
|
12
|
+
builtin: true,
|
|
13
|
+
triggers: [
|
|
14
|
+
'User asks to create, move, or modify actors/levels in Unreal Editor',
|
|
15
|
+
'User asks to run console commands or blueprints inside the editor',
|
|
16
|
+
'User mentions unreal-mcp, UE 5.8 MCP, or the editor MCP server',
|
|
17
|
+
'User asks to build/validate/light a level from the agent',
|
|
18
|
+
],
|
|
19
|
+
antiPatterns: [
|
|
20
|
+
'Calling UE tools in parallel — the editor MCP requires serial, non-overlapping calls',
|
|
21
|
+
'Guessing toolset names — always `list_toolsets` then `describe_toolset` first',
|
|
22
|
+
'Assuming the editor is already running — an HTTP server that is down stays pending and is retried each turn',
|
|
23
|
+
'Destructive scene edits without saving assets first',
|
|
24
|
+
],
|
|
25
|
+
requires: [],
|
|
26
|
+
relatedSkills: ['qwen-mm-plugins-install-setup'],
|
|
27
|
+
tags: ['unreal', 'ue5', 'mcp', 'gamedev', 'editor', 'http'],
|
|
28
|
+
examples: [
|
|
29
|
+
{
|
|
30
|
+
input: 'Spawn 10 trees in a circle in my UE level',
|
|
31
|
+
output: {
|
|
32
|
+
approach: 'Ensure the preset is configured (zelari-code --set-mcp-preset unreal-mcp), list_toolsets → describe_toolset(actor/spawn) to learn the exact schema, then call_tool in a serial loop computing the circle positions.',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
outputSchema: '{ toolset: string; tool: string; called: boolean; editorResponse: string }',
|
|
37
|
+
systemPromptFragment: `# Unreal Editor via unreal-mcp (UE 5.8+)
|
|
38
|
+
|
|
39
|
+
The editor runs an MCP server on Streamable HTTP (loopback only, default \`http://127.0.0.1:8000/mcp\`). Zelari connects with the **unreal-mcp preset** (\`zelari-code --set-mcp-preset unreal-mcp\`, override endpoint with \`UNREAL_MCP_URL\`). Calls are queued serially per server and time out after 120 s.
|
|
40
|
+
|
|
41
|
+
## Step 0 — Preconditions
|
|
42
|
+
- Unreal Editor 5.8+ running with the MCP plugin enabled. If no unreal tool answers, the editor is not up yet: say so and finish the turn — the server is retried automatically on later turns.
|
|
43
|
+
- One-time setup from a shell: \`zelari-code --set-mcp-preset unreal-mcp\`.
|
|
44
|
+
|
|
45
|
+
## Step 1 — DISCOVER, never guess
|
|
46
|
+
With Tool Search mode ON the server exposes only three meta-tools:
|
|
47
|
+
1. \`list_toolsets\` → names of available toolsets (actor, level, asset, console, blueprint, …).
|
|
48
|
+
2. \`describe_toolset <name>\` → the tools inside it with real JSON Schemas.
|
|
49
|
+
3. \`call_tool <toolset>.<tool>\` (or per-toolset arguments as described) with the discovered arguments.
|
|
50
|
+
|
|
51
|
+
Read the schema from the response — do NOT invent parameter names.
|
|
52
|
+
|
|
53
|
+
## Step 2 — Call serially
|
|
54
|
+
- One UE tool call at a time; never fire parallel calls (the game thread rejects overlap).
|
|
55
|
+
- Long operations (build, bake lighting, PIE) may approach the 120 s timeout — prefer splitting and report progress honestly.
|
|
56
|
+
|
|
57
|
+
## Step 3 — Scene hygiene
|
|
58
|
+
- Save dirty assets/packages before destructive edits when a save toolset exists.
|
|
59
|
+
- Report actor names/paths returned by the editor so the user can locate changes in the Outliner.
|
|
60
|
+
|
|
61
|
+
## Failure model
|
|
62
|
+
- Connection refused / timeout → editor not running: report, do not retry in-turn.
|
|
63
|
+
- \`Unknown toolset\` → re-run \`list_toolsets\`; the set changes with loaded plugins.
|
|
64
|
+
`,
|
|
65
|
+
};
|
|
66
|
+
registerCodingSkill(unrealEditor);
|
|
67
|
+
//# sourceMappingURL=unrealEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unrealEditor.js","sourceRoot":"","sources":["../../../../src/agents/skills/builtin/unrealEditor.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,YAAY,GAA0B;IAC1C,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,iCAAiC;IACvC,WAAW,EACT,wJAAwJ;IAC1J,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,CAAC,MAAM,CAAC;IACvB,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,IAAI;IACtB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR,qEAAqE;QACrE,mEAAmE;QACnE,gEAAgE;QAChE,0DAA0D;KAC3D;IACD,YAAY,EAAE;QACZ,sFAAsF;QACtF,+EAA+E;QAC/E,6GAA6G;QAC7G,qDAAqD;KACtD;IACD,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,CAAC,+BAA+B,CAAC;IAChD,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC3D,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,2CAA2C;YAClD,MAAM,EAAE;gBACN,QAAQ,EACN,qNAAqN;aACxN;SACF;KACF;IACD,YAAY,EAAE,4EAA4E;IAC1F,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB;CACA,CAAC;AAEF,mBAAmB,CAAC,YAAY,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zelari/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.22.0",
|
|
4
4
|
"description": "Zelari Code core library — provider-neutral agent loop (AgentHarness), multi-agent council orchestration, and built-in skills. Used by the zelari-code CLI; consumable by other agent frontends.",
|
|
5
5
|
"author": "Anathema Studio <https://anathema-studio.com/>",
|
|
6
6
|
"license": "Apache-2.0",
|