godot-cli 0.39.1 → 0.39.2
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/CHANGELOG.md +7 -0
- package/README.md +2 -2
- package/dist/commands/rql.js +7 -6
- package/dist/commands/rql.js.map +1 -1
- package/dist/lib/rql.d.ts +4 -15
- package/dist/lib/rql.js +4 -22
- package/dist/lib/rql.js.map +1 -1
- package/dist/utils/addon-deps.js +3 -3
- package/dist/utils/editor-mcp-server.d.ts +12 -2
- package/dist/utils/editor-mcp-server.js +24 -4
- package/dist/utils/editor-mcp-server.js.map +1 -1
- package/dist/utils/server-source.d.ts +1 -1
- package/dist/utils/server-source.js +1 -1
- package/dist/utils/skill-guides.js +5 -4
- package/dist/utils/skill-guides.js.map +1 -1
- package/dist/utils/skills.d.ts +1 -1
- package/dist/utils/skills.js +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to `godot-cli` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
- **`rql` takes several statements separated by `;`.** The addon's `rql-query` / `rql-mutate` run them in one call (one
|
|
8
|
+
result block each). `rql` now sends text to `rql-mutate` when any statement ends in `set` / `call` (it looked at the last
|
|
9
|
+
stage of the whole text): text that mixes a change and a read (`… | set …; nodes | count`) gets `rql-mutate`'s refusal
|
|
10
|
+
before anything runs instead of `rql-query`'s, and `--dry-run` / `--max-targets` are accepted for it.
|
|
11
|
+
- **Node.js 22.14 or later is required.** `engines.node` is now `>=22.14.0` (was `^20.19.0 || >=22.12.0`):
|
|
12
|
+
Node.js 20 is no longer supported. commander 15, chalk 6, vitest 5 and `@baizor/gamedev-cli-core` 0.11.1 already
|
|
13
|
+
require Node.js 22 or later (cli-core: 22.14). CI tests the CLI on Node.js 22, 24 and 26.
|
|
7
14
|
- **Dependencies:** commander 15, chalk 6, yocto-spinner 1.2.2; dev: TypeScript 7 (native compiler), vitest 5.
|
|
8
15
|
Two visible changes, both from commander: a call with too many arguments now names them
|
|
9
16
|
(`error: too many arguments for 'check'. Expected 1 argument but got 2: a, b.`), and a negative number such as `-5` is
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<h1>Godot MCP — <i>CLI</i></h1>
|
|
3
3
|
|
|
4
4
|
[](https://www.npmjs.com/package/godot-cli)
|
|
5
|
-
[](https://nodejs.org/)
|
|
6
6
|
[](https://github.com/IvanMurzak/Godot-MCP/blob/main/LICENSE)
|
|
7
7
|
[](https://ai-game.dev)
|
|
8
8
|
[](https://stand-with-ukraine.pp.ua)
|
|
@@ -78,7 +78,7 @@ Or run any command ad-hoc with `npx` — no global install required:
|
|
|
78
78
|
npx godot-cli install-plugin /path/to/godot/project
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
> **Requirements:** [Node.js](https://nodejs.org/)
|
|
81
|
+
> **Requirements:** [Node.js](https://nodejs.org/) 22.14 or later.
|
|
82
82
|
|
|
83
83
|

|
|
84
84
|
|
package/dist/commands/rql.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import { Command, Option } from 'commander';
|
|
3
3
|
import { DEFAULT_SESSION_READY_TIMEOUT_MS } from '@baizor/gamedev-cli-core';
|
|
4
|
-
import { RQL_MUTATE_TOOL, decodeQueryFile, resourcesWrittenSince, rqlMaySave, rqlToolCall, saveReceipt
|
|
4
|
+
import { RQL_MUTATE_TOOL, RQL_NO_QUERY_USAGE, decodeQueryFile, resourcesWrittenSince, rqlMaySave, rqlToolCall, saveReceipt } from '../lib/rql.js';
|
|
5
5
|
import { runTool } from '../lib/run-tool.js';
|
|
6
6
|
import { resolveAndValidateProjectPath } from '../utils/connection.js';
|
|
7
7
|
import { ExitCode } from '../utils/exit-codes.js';
|
|
@@ -35,7 +35,7 @@ function readQuery(query, file) {
|
|
|
35
35
|
return decodeQueryFile(fs.readFileSync(file === '-' ? 0 : file)).trim();
|
|
36
36
|
}
|
|
37
37
|
export const rqlCommand = addFormatOption(new Command('rql')
|
|
38
|
-
.description('Read or change the editor with one RQL query: scenes, nodes, resources (a query ending in set / call changes the editor, any other only reads); starts a headless editor when none answers')
|
|
38
|
+
.description('Read or change the editor with one RQL query (or several separated by ;): scenes, nodes, resources (a query ending in set / call changes the editor, any other only reads); starts a headless editor when none answers')
|
|
39
39
|
.argument('[query]', 'RQL query, e.g. \'nodes | where name starts-with "Tree" | count\'')
|
|
40
40
|
.option('--path <path>', 'Godot project path (defaults to cwd)')
|
|
41
41
|
.option('-f, --file <file>', 'Read the query from a file ("-" for stdin)')
|
|
@@ -56,16 +56,17 @@ export const rqlCommand = addFormatOption(new Command('rql')
|
|
|
56
56
|
const output = new CommandOutput('rql', parseFormat(options.format));
|
|
57
57
|
let query;
|
|
58
58
|
try {
|
|
59
|
-
|
|
60
|
-
query = text === undefined ? undefined : stripToolName(text);
|
|
59
|
+
query = readQuery(queryArg, options.file);
|
|
61
60
|
}
|
|
62
61
|
catch (err) {
|
|
63
62
|
return output.fail(ExitCode.Usage, 'USAGE', err instanceof Error ? err.message : String(err));
|
|
64
63
|
}
|
|
65
64
|
const maxTargets = options.maxTargets === undefined ? undefined : parseIntFlag(options.maxTargets, '--max-targets');
|
|
66
|
-
|
|
65
|
+
// cli-core strips a pasted tool name from each statement and picks rql-query / rql-mutate for the whole text.
|
|
66
|
+
const call = rqlToolCall(query, { schema: options.schema, dryRun: options.dryRun, maxTargets }, RQL_NO_QUERY_USAGE);
|
|
67
67
|
if ('usage' in call)
|
|
68
68
|
return output.fail(ExitCode.Usage, 'USAGE', call.usage);
|
|
69
|
+
const sent = String(call.input['query'] ?? '');
|
|
69
70
|
// A save answers without naming its files; which files a change wrote is read from the disk, so nobody re-opens the
|
|
70
71
|
// scene: only for an editor on this machine, and only files written since the tool call itself.
|
|
71
72
|
const receiptFor = call.toolName === RQL_MUTATE_TOOL && !options.dryRun && !options.raw && !output.machine
|
|
@@ -73,7 +74,7 @@ export const rqlCommand = addFormatOption(new Command('rql')
|
|
|
73
74
|
await runToolAction(RQL_CALL, call.toolName, undefined, { ...options, input: JSON.stringify(call.input) }, ({ calledAt, local }) => {
|
|
74
75
|
if (receiptFor === undefined || !local)
|
|
75
76
|
return;
|
|
76
|
-
const receipt = saveReceipt(resourcesWrittenSince(receiptFor, calledAt), rqlMaySave(
|
|
77
|
+
const receipt = saveReceipt(resourcesWrittenSince(receiptFor, calledAt), rqlMaySave(sent));
|
|
77
78
|
if (receipt)
|
|
78
79
|
console.log(receipt);
|
|
79
80
|
});
|
package/dist/commands/rql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/commands/rql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/commands/rql.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/rql.d.ts
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName } from '@baizor/gamedev-cli-core';
|
|
2
|
-
export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName };
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
schema?: string | boolean;
|
|
6
|
-
dryRun?: boolean;
|
|
7
|
-
maxTargets?: number;
|
|
8
|
-
}
|
|
9
|
-
/** The rql-* tool and its input for a command-line query, or why the command line is wrong. */
|
|
10
|
-
export declare function rqlToolCall(query: string | undefined, options: RqlCallOptions): {
|
|
11
|
-
toolName: string;
|
|
12
|
-
input: Record<string, unknown>;
|
|
13
|
-
} | {
|
|
14
|
-
usage: string;
|
|
15
|
-
};
|
|
1
|
+
import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName } from '@baizor/gamedev-cli-core';
|
|
2
|
+
export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName, };
|
|
3
|
+
/** `rql` without a query (core's {@link rqlToolCall} returns it as the usage error). */
|
|
4
|
+
export declare const RQL_NO_QUERY_USAGE = "No query given: godot-cli rql 'nodes | where name starts-with \"Tree\" | count' (recipes: rql --help)";
|
|
16
5
|
/**
|
|
17
6
|
* A hint for a failed RQL tool (`toolName` rql-*) whose error is a familiar slip (an operator spelled as in another
|
|
18
7
|
* language), else `undefined`.
|
package/dist/lib/rql.js
CHANGED
|
@@ -2,28 +2,10 @@
|
|
|
2
2
|
// make most, and which files a save wrote. Never prints, never exits.
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import * as path from 'path';
|
|
5
|
-
import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName } from '@baizor/gamedev-cli-core';
|
|
6
|
-
export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, stripToolName };
|
|
7
|
-
/**
|
|
8
|
-
export
|
|
9
|
-
const { schema, dryRun, maxTargets } = options;
|
|
10
|
-
if (schema !== undefined) {
|
|
11
|
-
// `rql --schema 'nodes | count'` hands the query to --schema as its value.
|
|
12
|
-
if (query !== undefined || (typeof schema === 'string' && /[|\s]/.test(schema.trim()))) {
|
|
13
|
-
return { usage: 'Pass either a query or --schema [type] (a type name), not both.' };
|
|
14
|
-
}
|
|
15
|
-
return { toolName: RQL_SCHEMA_TOOL, input: typeof schema === 'string' ? { type: schema } : {} };
|
|
16
|
-
}
|
|
17
|
-
if (query === undefined || query.trim() === '') {
|
|
18
|
-
return { usage: 'No query given: godot-cli rql \'nodes | where name starts-with "Tree" | count\' (recipes: rql --help)' };
|
|
19
|
-
}
|
|
20
|
-
if (!isRqlMutation(query)) {
|
|
21
|
-
if (dryRun || maxTargets !== undefined)
|
|
22
|
-
return { usage: '--dry-run and --max-targets are for a query ending in set / call.' };
|
|
23
|
-
return { toolName: RQL_QUERY_TOOL, input: { query } };
|
|
24
|
-
}
|
|
25
|
-
return { toolName: RQL_MUTATE_TOOL, input: { query, ...(dryRun ? { dry_run: true } : {}), ...(maxTargets !== undefined ? { max_targets: maxTargets } : {}) } };
|
|
26
|
-
}
|
|
5
|
+
import { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName, } from '@baizor/gamedev-cli-core';
|
|
6
|
+
export { RQL_MUTATE_TOOL, RQL_QUERY_TOOL, RQL_SCHEMA_TOOL, decodeQueryFile, isRqlMutation, rqlStages, rqlToolCall, rqlToolFor, splitRqlStatements, stripToolName, };
|
|
7
|
+
/** `rql` without a query (core's {@link rqlToolCall} returns it as the usage error). */
|
|
8
|
+
export const RQL_NO_QUERY_USAGE = 'No query given: godot-cli rql \'nodes | where name starts-with "Tree" | count\' (recipes: rql --help)';
|
|
27
9
|
/** Operators agents bring from other languages, with RQL's spelling. */
|
|
28
10
|
const OPERATOR_HINTS = [
|
|
29
11
|
[/^startswith$/i, 'RQL spells it starts-with: where name starts-with "Tree"'],
|
package/dist/lib/rql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/lib/rql.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,sEAAsE;AAEtE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,
|
|
1
|
+
{"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/lib/rql.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/addon-deps.js
CHANGED
|
@@ -44,9 +44,9 @@ export function canonicalCondition(ref) {
|
|
|
44
44
|
* Order matches the addon csproj (ReflectorNet, McpPlugin, Rql, then Code-Exec and its Roslyn).
|
|
45
45
|
*/
|
|
46
46
|
export const ADDON_PACKAGE_REFERENCES = [
|
|
47
|
-
{ id: 'com.IvanMurzak.ReflectorNet', version: '5.5.
|
|
48
|
-
{ id: 'com.IvanMurzak.McpPlugin', version: '8.
|
|
49
|
-
{ id: 'com.IvanMurzak.Rql', version: '0.
|
|
47
|
+
{ id: 'com.IvanMurzak.ReflectorNet', version: '5.5.3' },
|
|
48
|
+
{ id: 'com.IvanMurzak.McpPlugin', version: '8.23.1' },
|
|
49
|
+
{ id: 'com.IvanMurzak.Rql', version: '0.4.0', editorOnly: true },
|
|
50
50
|
{ id: 'com.IvanMurzak.CodeExec', version: '0.4.1', editorOnly: true, inGameOptIn: true },
|
|
51
51
|
{ id: 'com.IvanMurzak.CodeExec.Roslyn', version: '0.4.1', editorOnly: true, inGameOptIn: true },
|
|
52
52
|
{ id: 'Microsoft.CodeAnalysis.CSharp', version: '4.12.0', editorOnly: true, inGameOptIn: true },
|
|
@@ -12,8 +12,18 @@ export interface EditorServer {
|
|
|
12
12
|
}
|
|
13
13
|
/** True for the server binary's process name: `gamedev-mcp-server[.exe]`, a full path, or Linux's 15-char `comm`. */
|
|
14
14
|
export declare function isMcpServerName(name: string): boolean;
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The PIDs of the processes below `rootPid` that run the server binary, by their table name or by the executable name
|
|
17
|
+
* `nameOf` gives (a server started through a symlink matches only by the former, one whose thread was renamed only by
|
|
18
|
+
* the latter).
|
|
19
|
+
*/
|
|
20
|
+
export declare function findServerDescendants(table: readonly ProcessEntry[], rootPid: number, nameOf?: (entry: ProcessEntry) => string): number[];
|
|
21
|
+
/**
|
|
22
|
+
* The executable a process runs. On Linux `ps` reports `comm`, the MAIN THREAD's name, which a process may rename
|
|
23
|
+
* (Node.js 24+ names it `MainThread`), so the `/proc/<pid>/exe` link is read instead, falling back to `comm` when it
|
|
24
|
+
* cannot be read (another user's process). Elsewhere the table name already is the executable.
|
|
25
|
+
*/
|
|
26
|
+
export declare function executableName(entry: ProcessEntry): string;
|
|
17
27
|
/** Parse `pid ppid [startedTicks] name` lines (Windows rows carry UTC .NET ticks). */
|
|
18
28
|
export declare function parseProcessTable(output: string, withStart: boolean): ProcessEntry[];
|
|
19
29
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execFileSync } from 'child_process';
|
|
2
|
+
import * as fs from 'fs';
|
|
2
3
|
import * as path from 'path';
|
|
3
4
|
import { platform } from 'os';
|
|
4
5
|
import { isProcessAlive, killProcessTree, readProcessStart } from '@baizor/gamedev-cli-core';
|
|
@@ -45,9 +46,28 @@ function descendantsOf(table, rootPid) {
|
|
|
45
46
|
}
|
|
46
47
|
return found;
|
|
47
48
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
/**
|
|
50
|
+
* The PIDs of the processes below `rootPid` that run the server binary, by their table name or by the executable name
|
|
51
|
+
* `nameOf` gives (a server started through a symlink matches only by the former, one whose thread was renamed only by
|
|
52
|
+
* the latter).
|
|
53
|
+
*/
|
|
54
|
+
export function findServerDescendants(table, rootPid, nameOf = (e) => e.name) {
|
|
55
|
+
return descendantsOf(table, rootPid).filter((e) => isMcpServerName(e.name) || isMcpServerName(nameOf(e))).map((e) => e.pid);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The executable a process runs. On Linux `ps` reports `comm`, the MAIN THREAD's name, which a process may rename
|
|
59
|
+
* (Node.js 24+ names it `MainThread`), so the `/proc/<pid>/exe` link is read instead, falling back to `comm` when it
|
|
60
|
+
* cannot be read (another user's process). Elsewhere the table name already is the executable.
|
|
61
|
+
*/
|
|
62
|
+
export function executableName(entry) {
|
|
63
|
+
if (platform() !== 'linux')
|
|
64
|
+
return entry.name;
|
|
65
|
+
try {
|
|
66
|
+
return fs.readlinkSync(`/proc/${entry.pid}/exe`).replace(/ \(deleted\)$/, '');
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return entry.name;
|
|
70
|
+
}
|
|
51
71
|
}
|
|
52
72
|
/** Parse `pid ppid [startedTicks] name` lines (Windows rows carry UTC .NET ticks). */
|
|
53
73
|
export function parseProcessTable(output, withStart) {
|
|
@@ -90,7 +110,7 @@ export function listProcessTable() {
|
|
|
90
110
|
}
|
|
91
111
|
/** The MCP server processes the editor `editorPid` started (its own descendants only), with their start tokens. */
|
|
92
112
|
export async function findEditorServers(editorPid) {
|
|
93
|
-
const pids = findServerDescendants(listProcessTable(), editorPid);
|
|
113
|
+
const pids = findServerDescendants(listProcessTable(), editorPid, executableName);
|
|
94
114
|
const servers = await Promise.all(pids.map(async (pid) => ({ pid, start: await readProcessStart(pid) })));
|
|
95
115
|
for (const s of servers)
|
|
96
116
|
verbose(`Editor PID ${editorPid} runs MCP server PID ${s.pid}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-mcp-server.js","sourceRoot":"","sources":["../../src/utils/editor-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8C,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;;GAKG;AAEH,4FAA4F;AAC5F,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAgBnD,qHAAqH;AACrH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChG,OAAO,IAAI,KAAK,qBAAqB,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAA8B,EAAE,OAAe;IACpE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,SAAS;YAClC,IAAI,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,aAAa;gBAAE,SAAS;YAC9G,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"editor-mcp-server.js","sourceRoot":"","sources":["../../src/utils/editor-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* download entirely (offline / CI). Bumping the addon's server pin requires
|
|
6
6
|
* bumping this in the same PR or the parity test goes red.
|
|
7
7
|
*/
|
|
8
|
-
export declare const DEFAULT_SERVER_VERSION = "9.5.
|
|
8
|
+
export declare const DEFAULT_SERVER_VERSION = "9.5.3";
|
|
9
9
|
/** GitHub-release host the server zip + manifest are downloaded from. NOTHING else is trusted. */
|
|
10
10
|
export declare const TRUSTED_DOWNLOAD_HOST = "github.com";
|
|
11
11
|
/** The `owner/repo` the shared server releases live under. */
|
|
@@ -18,7 +18,7 @@ import { createHash } from 'crypto';
|
|
|
18
18
|
* download entirely (offline / CI). Bumping the addon's server pin requires
|
|
19
19
|
* bumping this in the same PR or the parity test goes red.
|
|
20
20
|
*/
|
|
21
|
-
export const DEFAULT_SERVER_VERSION = '9.5.
|
|
21
|
+
export const DEFAULT_SERVER_VERSION = '9.5.3';
|
|
22
22
|
/** GitHub-release host the server zip + manifest are downloaded from. NOTHING else is trusted. */
|
|
23
23
|
export const TRUSTED_DOWNLOAD_HOST = 'github.com';
|
|
24
24
|
/** The `owner/repo` the shared server releases live under. */
|
|
@@ -66,9 +66,10 @@ function buildRqlReference() {
|
|
|
66
66
|
return [
|
|
67
67
|
`# RQL with ${CLI_NAME}`,
|
|
68
68
|
'',
|
|
69
|
-
`\`${cmd("rql '<query>'")}\` runs one query. A query ending in \`set\` / \`call
|
|
70
|
-
'(`--dry-run` shows the change without making it; `--max-targets <n>` allows more
|
|
71
|
-
'
|
|
69
|
+
`\`${cmd("rql '<query>'")}\` runs one query, or several separated by \`;\` in one call. A query ending in \`set\` / \`call\``,
|
|
70
|
+
'changes the editor, all or nothing (`--dry-run` shows the change without making it; `--max-targets <n>` allows more',
|
|
71
|
+
'targets); in a change of several statements each one ends in `set` / `call` and the first failure stops the rest. Any',
|
|
72
|
+
'other query only reads. A shell that strips the double quotes: put the query in a file and pass `-f <file>`.',
|
|
72
73
|
'',
|
|
73
74
|
...RQL_LANGUAGE,
|
|
74
75
|
'',
|
|
@@ -91,7 +92,7 @@ const INSTALL_TEMPLATE = [
|
|
|
91
92
|
"",
|
|
92
93
|
"## Prerequisites",
|
|
93
94
|
"",
|
|
94
|
-
"Node.js
|
|
95
|
+
"Node.js 22.14 or later and npm are required.",
|
|
95
96
|
"Check existing installations first:",
|
|
96
97
|
"",
|
|
97
98
|
"```@SHELL@",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-guides.js","sourceRoot":"","sources":["../../src/utils/skill-guides.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skill-guides.js","sourceRoot":"","sources":["../../src/utils/skill-guides.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/skills.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare function addonToolDirs(repoRoot: string): string[];
|
|
|
71
71
|
*
|
|
72
72
|
* Implemented as an explicit walk rather than `readdirSync(dir, { recursive: true })`
|
|
73
73
|
* so the behaviour is identical on every Node version this package supports
|
|
74
|
-
* (
|
|
74
|
+
* (`>=22.14.0`) — the `withFileTypes` + `recursive` combination reports
|
|
75
75
|
* the parent directory through differently-named properties across those releases.
|
|
76
76
|
* Returns absolute paths sorted for deterministic ordering.
|
|
77
77
|
*/
|
package/dist/utils/skills.js
CHANGED
|
@@ -298,7 +298,7 @@ export function addonToolDirs(repoRoot) {
|
|
|
298
298
|
*
|
|
299
299
|
* Implemented as an explicit walk rather than `readdirSync(dir, { recursive: true })`
|
|
300
300
|
* so the behaviour is identical on every Node version this package supports
|
|
301
|
-
* (
|
|
301
|
+
* (`>=22.14.0`) — the `withFileTypes` + `recursive` combination reports
|
|
302
302
|
* the parent directory through differently-named properties across those releases.
|
|
303
303
|
* Returns absolute paths sorted for deterministic ordering.
|
|
304
304
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godot-cli",
|
|
3
|
-
"version": "0.39.
|
|
3
|
+
"version": "0.39.2",
|
|
4
4
|
"description": "Cross-platform CLI tool for Godot-MCP (Skills & MCP). Resolves and launches the Godot editor with MCP connection env vars, runs MCP/system tools over HTTP, probes server health, configures AI agents (Claude Code, Cursor, VS Code, …), and enables/disables the godot_mcp addon. Works with Claude Code, Cursor, Copilot, and any MCP client.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/lib.js",
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
},
|
|
60
60
|
"homepage": "https://ai-game.dev",
|
|
61
61
|
"engines": {
|
|
62
|
-
"node": "
|
|
62
|
+
"node": ">=22.14.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@baizor/gamedev-cli-core": "^0.
|
|
65
|
+
"@baizor/gamedev-cli-core": "^0.12.0",
|
|
66
66
|
"chalk": "^6.0.1",
|
|
67
67
|
"commander": "^15.1.0",
|
|
68
68
|
"yocto-spinner": "^1.2.2"
|