godot-cli 0.25.2 → 0.26.1
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 +9 -0
- package/README.md +6 -3
- package/dist/commands/install-plugin.js +1 -1
- package/dist/commands/install-plugin.js.map +1 -1
- package/dist/lib/install-plugin.d.ts +4 -2
- package/dist/lib/install-plugin.js +15 -9
- package/dist/lib/install-plugin.js.map +1 -1
- package/dist/lib/types.d.ts +7 -0
- package/dist/utils/addon-deps.d.ts +3 -3
- package/dist/utils/addon-deps.js +12 -11
- package/dist/utils/addon-deps.js.map +1 -1
- package/dist/utils/addon-nuget-deps.d.ts +22 -0
- package/dist/utils/addon-nuget-deps.js +94 -0
- package/dist/utils/addon-nuget-deps.js.map +1 -0
- package/dist/utils/agents.d.ts +1 -1
- package/dist/utils/csproj-deps.d.ts +1 -1
- package/dist/utils/server-source.d.ts +1 -1
- package/dist/utils/server-source.js +1 -1
- package/dist/utils/skills.d.ts +1 -1
- package/dist/utils/skills.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to `godot-cli` are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
- **`install-plugin` pins the NuGet packages of the addon it installs.** The consumer `.csproj`'s
|
|
8
|
+
`PackageReference` versions now come from the installed addon — `addons/godot_mcp/nuget-deps.json`,
|
|
9
|
+
which the release workflow generates from `Godot-MCP.csproj` into the addon zip — instead of the
|
|
10
|
+
versions baked into this CLI build, so `--version <other>` and `skipMaterialize` over a different
|
|
11
|
+
addon no longer pin mismatched packages. `--source <checkout>/addons/godot_mcp` reads the checkout's
|
|
12
|
+
`Godot-MCP.csproj`. Addon zips without the manifest (releases up to and including 0.25.2) fall
|
|
13
|
+
back to the built-in pins with a warning. The library result gains `csproj.packagesOrigin`
|
|
14
|
+
(`addon-manifest` | `source-csproj` | `builtin`).
|
|
15
|
+
|
|
7
16
|
- **Antigravity: two config file locations.** Antigravity reads its global MCP config from
|
|
8
17
|
`~/.gemini/config/mcp_config.json` *or* `~/.gemini/antigravity/mcp_config.json` (which one differs per
|
|
9
18
|
install), so `setup-mcp antigravity` now writes the entry into **both** (creating missing files,
|
package/README.md
CHANGED
|
@@ -94,7 +94,7 @@ npx godot-cli install-plugin /path/to/godot/project
|
|
|
94
94
|
| `setup-skills <agent> [path]` | Generate Godot-MCP skill files (a `SKILL.md`-per-tool-family) under the agent's skills path. `--list` shows each agent's skills support. |
|
|
95
95
|
| `configure [path]` | List / enable / disable tools, prompts, and resources in the project-local `.godot-mcp/features.json`. |
|
|
96
96
|
| `close [path]` | Gracefully stop the Godot editor running for a project (`--force` to hard-kill). |
|
|
97
|
-
| `install-plugin [path]` | Install the `godot_mcp` addon end-to-end: materialize `res://addons/godot_mcp/` (download the matching GitHub release, or `--source <path>` a local copy), add the
|
|
97
|
+
| `install-plugin [path]` | Install the `godot_mcp` addon end-to-end: materialize `res://addons/godot_mcp/` (download the matching GitHub release, or `--source <path>` a local copy), add the NuGet `PackageReference`s the installed addon needs + the extension-catalog `<EmbeddedResource>` to the project `.csproj`, and enable the plugin. Idempotent. |
|
|
98
98
|
| `install-extension <id> [path]` | Install a Godot-MCP **extension** (an optional AI-tool-family package) into the project: resolve `<id>` from the shared catalog, add/update its `<PackageReference>` in the project `.csproj`, then rebuild to restore. Idempotent — behaviorally identical to the in-editor dock. |
|
|
99
99
|
| `remove-plugin [path]` | Disable the `godot_mcp` addon in `project.godot` `[editor_plugins]` (does not delete the addon files). |
|
|
100
100
|
| `update` | Check npm for a newer `godot-cli` and install it. |
|
|
@@ -243,8 +243,11 @@ It performs four steps:
|
|
|
243
243
|
directory that *is* `addons/godot_mcp` or one that *contains* it.
|
|
244
244
|
2. **Add the NuGet packages** the addon needs (`com.IvanMurzak.ReflectorNet`, `com.IvanMurzak.McpPlugin`)
|
|
245
245
|
to the project's `.csproj`, idempotently — adding when missing, reconciling a stale version, and
|
|
246
|
-
leaving a correct pin untouched. The versions
|
|
247
|
-
`Godot-MCP.csproj`
|
|
246
|
+
leaving a correct pin untouched. The versions come from the addon being installed: its
|
|
247
|
+
`nuget-deps.json` (generated from `Godot-MCP.csproj` into every release zip by the release
|
|
248
|
+
workflow), or, with `--source` pointing into a Godot-MCP checkout, that checkout's
|
|
249
|
+
`Godot-MCP.csproj`. Older addon zips
|
|
250
|
+
without the manifest fall back to the versions built into the CLI, with a warning.
|
|
248
251
|
3. **Embed the extension catalog** (`<EmbeddedResource Include="addons/godot_mcp/extensions.catalog.json"
|
|
249
252
|
LogicalName="Godot-MCP.extensions.catalog.json" />`) into the project's `.csproj`, idempotently. Without
|
|
250
253
|
it the addon's extension registry reads no catalog at editor runtime and the **Extensions panel is
|
|
@@ -95,7 +95,7 @@ export const installPluginCommand = new Command('install-plugin')
|
|
|
95
95
|
// csproj outcome.
|
|
96
96
|
if (result.csproj.csprojPath) {
|
|
97
97
|
const summary = result.csproj.packages.map((p) => `${p.id}@${p.version} (${p.action})`).join(', ');
|
|
98
|
-
ui.label('NuGet packages', summary || '(none)');
|
|
98
|
+
ui.label('NuGet packages', `${summary || '(none)'} [from ${result.csproj.packagesOrigin}]`);
|
|
99
99
|
const embedSummary = result.csproj.embeds.map((e) => `${e.logicalName} (${e.action})`).join(', ');
|
|
100
100
|
ui.label('Embedded resources', embedSummary || '(none)');
|
|
101
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/commands/install-plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/commands/install-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,10 @@ import type { InstallPluginOptions, InstallPluginResult, RemovePluginOptions, Re
|
|
|
7
7
|
* `godot-mcp-addon-<version>.zip` over HTTPS from github.com only (the
|
|
8
8
|
* `IvanMurzak/Godot-MCP` release `v<version>`), or, with `--source <path>`,
|
|
9
9
|
* copying the addon from a local directory (offline / dev / CI).
|
|
10
|
-
* 2. Add the
|
|
11
|
-
* `.csproj`, idempotently
|
|
10
|
+
* 2. Add the NuGet `PackageReference`s the INSTALLED addon needs to the consumer
|
|
11
|
+
* `.csproj`, idempotently: read from the addon's `nuget-deps.json` (or, for
|
|
12
|
+
* `--source`, the checkout's `Godot-MCP.csproj`), falling back to this CLI
|
|
13
|
+
* build's pins for addon zips that predate the manifest (`addon-nuget-deps.ts`).
|
|
12
14
|
* 3. Flip the `[editor_plugins] enabled` flag in `project.godot`.
|
|
13
15
|
*
|
|
14
16
|
* Library-safe: no stdout noise, no `process.exit`, no throws past the public
|
|
@@ -2,7 +2,7 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import { GODOT_MCP_PLUGIN_PATH, projectGodotPath as resolveProjectGodotPath, togglePluginInText, } from '../utils/project-godot.js';
|
|
4
4
|
import { addAddonPackageReferences, addAddonEmbeddedResources } from '../utils/csproj-deps.js';
|
|
5
|
-
import {
|
|
5
|
+
import { resolveAddonNugetDeps } from '../utils/addon-nuget-deps.js';
|
|
6
6
|
import { addonDownloadUrl, assertTrustedDownloadUrl, } from '../utils/addon-source.js';
|
|
7
7
|
import { parseZip } from '../utils/unzip.js';
|
|
8
8
|
import { emitProgress } from './progress.js';
|
|
@@ -16,8 +16,10 @@ const ADDON_REL_DIR = path.join('addons', 'godot_mcp');
|
|
|
16
16
|
* `godot-mcp-addon-<version>.zip` over HTTPS from github.com only (the
|
|
17
17
|
* `IvanMurzak/Godot-MCP` release `v<version>`), or, with `--source <path>`,
|
|
18
18
|
* copying the addon from a local directory (offline / dev / CI).
|
|
19
|
-
* 2. Add the
|
|
20
|
-
* `.csproj`, idempotently
|
|
19
|
+
* 2. Add the NuGet `PackageReference`s the INSTALLED addon needs to the consumer
|
|
20
|
+
* `.csproj`, idempotently: read from the addon's `nuget-deps.json` (or, for
|
|
21
|
+
* `--source`, the checkout's `Godot-MCP.csproj`), falling back to this CLI
|
|
22
|
+
* build's pins for addon zips that predate the manifest (`addon-nuget-deps.ts`).
|
|
21
23
|
* 3. Flip the `[editor_plugins] enabled` flag in `project.godot`.
|
|
22
24
|
*
|
|
23
25
|
* Library-safe: no stdout noise, no `process.exit`, no throws past the public
|
|
@@ -49,7 +51,7 @@ export async function installPlugin(opts) {
|
|
|
49
51
|
// 1. Materialize the addon files (download / local copy / skip).
|
|
50
52
|
const materialize = await materializeAddon(projectPath, opts, warnings);
|
|
51
53
|
// 2. Patch the consumer csproj with the addon's NuGet PackageReferences.
|
|
52
|
-
const csproj = patchConsumerCsproj(projectPath, warnings, opts.onProgress);
|
|
54
|
+
const csproj = patchConsumerCsproj(projectPath, materialize, warnings, opts.onProgress);
|
|
53
55
|
// 3. Enable the plugin in project.godot.
|
|
54
56
|
const text = fs.readFileSync(projectGodotPath, 'utf-8');
|
|
55
57
|
const toggled = togglePluginInText(text, true, GODOT_MCP_PLUGIN_PATH);
|
|
@@ -230,7 +232,8 @@ function extractAddonEntries(entries, projectPath, addonDir) {
|
|
|
230
232
|
/**
|
|
231
233
|
* Find the consumer's `.csproj` (the one Godot compiles the addon into) and add
|
|
232
234
|
* the addon's NuGet PackageReferences AND the EmbeddedResource(s) it needs,
|
|
233
|
-
* idempotently
|
|
235
|
+
* idempotently; the package versions are those of the installed addon
|
|
236
|
+
* (`resolveAddonNugetDeps`). The csproj is
|
|
234
237
|
* the single `*.csproj` at the project root (the `--dotnet` scaffold writes
|
|
235
238
|
* `<AssemblyName>.csproj` there). When there is no csproj (a GDScript-only
|
|
236
239
|
* project), the patch is skipped with a warning — the addon's C# cannot compile
|
|
@@ -240,15 +243,17 @@ function extractAddonEntries(entries, projectPath, addonDir) {
|
|
|
240
243
|
* pure-managed `GodotExtensionRegistry` reads no embedded catalog and the consumer
|
|
241
244
|
* gets an EMPTY Extensions panel (issue #246). Both edits are applied in one write.
|
|
242
245
|
*/
|
|
243
|
-
function patchConsumerCsproj(projectPath, warnings, onProgress) {
|
|
246
|
+
function patchConsumerCsproj(projectPath, materialize, warnings, onProgress) {
|
|
247
|
+
const deps = resolveAddonNugetDeps(materialize.addonDir, materialize.sourceDir);
|
|
248
|
+
warnings.push(...deps.warnings);
|
|
244
249
|
const csprojPath = findConsumerCsproj(projectPath, warnings);
|
|
245
250
|
if (csprojPath === null) {
|
|
246
251
|
warnings.push('No .csproj found at the project root — the godot_mcp addon is C# and needs a Godot.NET.Sdk project. ' +
|
|
247
|
-
`Create one (e.g. \`godot-cli create-project --dotnet\`) and add the ${
|
|
248
|
-
return { changed: false, packages: [], embeds: [] };
|
|
252
|
+
`Create one (e.g. \`godot-cli create-project --dotnet\`) and add the ${deps.refs.map((r) => `${r.id} ${r.version}`).join(' + ')} PackageReferences + the EmbeddedResource for the extension catalog.`);
|
|
253
|
+
return { changed: false, packagesOrigin: deps.origin, packages: [], embeds: [] };
|
|
249
254
|
}
|
|
250
255
|
const before = fs.readFileSync(csprojPath, 'utf-8');
|
|
251
|
-
const pkgPatched = addAddonPackageReferences(before);
|
|
256
|
+
const pkgPatched = addAddonPackageReferences(before, deps.refs);
|
|
252
257
|
const embedPatched = addAddonEmbeddedResources(pkgPatched.text);
|
|
253
258
|
const changed = pkgPatched.changed || embedPatched.changed;
|
|
254
259
|
if (changed) {
|
|
@@ -262,6 +267,7 @@ function patchConsumerCsproj(projectPath, warnings, onProgress) {
|
|
|
262
267
|
return {
|
|
263
268
|
csprojPath,
|
|
264
269
|
changed,
|
|
270
|
+
packagesOrigin: deps.origin,
|
|
265
271
|
packages: pkgPatched.changes.map((c) => ({
|
|
266
272
|
id: c.id,
|
|
267
273
|
action: c.action,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/lib/install-plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/lib/install-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ProjectKeyResolver } from '@baizor/gamedev-cli-core';
|
|
2
2
|
import type { ExtensionDescriptor } from '../utils/extensions-catalog.js';
|
|
3
|
+
import type { AddonNugetDepsOrigin } from '../utils/addon-nuget-deps.js';
|
|
3
4
|
/**
|
|
4
5
|
* Discriminated union describing every progress event the library can emit to
|
|
5
6
|
* the optional `onProgress` callback. Consumers narrow on `event.phase`.
|
|
@@ -441,6 +442,12 @@ export interface CsprojPatchOutcome {
|
|
|
441
442
|
csprojPath?: string;
|
|
442
443
|
/** True when the csproj text was modified (pins and/or embeds). */
|
|
443
444
|
changed: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* Where the package versions came from: the installed addon's generated
|
|
447
|
+
* `nuget-deps.json`, the `--source` checkout's `Godot-MCP.csproj`, or this CLI
|
|
448
|
+
* build's own pins (`builtin`, for addon zips that predate the manifest).
|
|
449
|
+
*/
|
|
450
|
+
packagesOrigin: AddonNugetDepsOrigin;
|
|
444
451
|
/** Per-package summary: each addon pin's add / update / unchanged outcome. */
|
|
445
452
|
packages: {
|
|
446
453
|
id: string;
|
|
@@ -19,9 +19,9 @@ export interface AddonEmbeddedResource {
|
|
|
19
19
|
logicalName: string;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* The
|
|
23
|
-
*
|
|
24
|
-
* addon csproj (ReflectorNet first, then McpPlugin).
|
|
22
|
+
* The NuGet `PackageReference`s the addon of THIS CLI's version needs (fallback when
|
|
23
|
+
* the installed addon carries no `nuget-deps.json`), mirroring `Godot-MCP.csproj`.
|
|
24
|
+
* Order matches the addon csproj (ReflectorNet first, then McpPlugin).
|
|
25
25
|
*/
|
|
26
26
|
export declare const ADDON_PACKAGE_REFERENCES: readonly AddonPackageReference[];
|
|
27
27
|
/**
|
package/dist/utils/addon-deps.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
// The NuGet PackageReferences a consumer's Godot C# project MUST declare so the
|
|
2
2
|
// `addons/godot_mcp/` sources compile into the project assembly (Godot globs every
|
|
3
3
|
// `*.cs` under the project into one assembly — see the addon README
|
|
4
|
-
// "Consumer-install story").
|
|
5
|
-
// consumer `.csproj` so a from-scratch terminal install actually builds.
|
|
4
|
+
// "Consumer-install story").
|
|
6
5
|
//
|
|
7
|
-
//
|
|
8
|
-
// `
|
|
9
|
-
//
|
|
10
|
-
//
|
|
6
|
+
// FALLBACK ONLY: `install-plugin` takes the versions from the addon it installs
|
|
7
|
+
// (`addon-nuget-deps.ts`: the addon's generated `nuget-deps.json`, or the
|
|
8
|
+
// checkout's `Godot-MCP.csproj` for `--source`). These constants are used only for
|
|
9
|
+
// addon zips that predate that manifest. They mirror the addon's own reused pins in
|
|
10
|
+
// `Godot-MCP.csproj` (`com.IvanMurzak.ReflectorNet`, `com.IvanMurzak.McpPlugin`) at
|
|
11
|
+
// this CLI's version — the SAME values, never a bump of those pins. A parity test
|
|
11
12
|
// (`cli/tests/addon-deps-parity.test.ts`) reads `Godot-MCP.csproj` and FAILS the
|
|
12
13
|
// build if these constants ever drift from the addon's pins, so the scaffold can
|
|
13
14
|
// never silently install a mismatched version.
|
|
14
15
|
//
|
|
15
16
|
// No top-level side effects; pure data + pure string transforms only.
|
|
16
17
|
/**
|
|
17
|
-
* The
|
|
18
|
-
*
|
|
19
|
-
* addon csproj (ReflectorNet first, then McpPlugin).
|
|
18
|
+
* The NuGet `PackageReference`s the addon of THIS CLI's version needs (fallback when
|
|
19
|
+
* the installed addon carries no `nuget-deps.json`), mirroring `Godot-MCP.csproj`.
|
|
20
|
+
* Order matches the addon csproj (ReflectorNet first, then McpPlugin).
|
|
20
21
|
*/
|
|
21
22
|
export const ADDON_PACKAGE_REFERENCES = [
|
|
22
|
-
{ id: 'com.IvanMurzak.ReflectorNet', version: '5.4.
|
|
23
|
-
{ id: 'com.IvanMurzak.McpPlugin', version: '8.7.
|
|
23
|
+
{ id: 'com.IvanMurzak.ReflectorNet', version: '5.4.2' },
|
|
24
|
+
{ id: 'com.IvanMurzak.McpPlugin', version: '8.7.1' },
|
|
24
25
|
];
|
|
25
26
|
/**
|
|
26
27
|
* The exact `<EmbeddedResource>`s the consumer's project `.csproj` needs, single-sourced
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon-deps.js","sourceRoot":"","sources":["../../src/utils/addon-deps.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mFAAmF;AACnF,oEAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"addon-deps.js","sourceRoot":"","sources":["../../src/utils/addon-deps.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mFAAmF;AACnF,oEAAoE;AACpE,6BAA6B;AAC7B,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,mFAAmF;AACnF,oFAAoF;AACpF,oFAAoF;AACpF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,+CAA+C;AAC/C,EAAE;AACF,sEAAsE;AAwBtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqC;IACxE,EAAE,EAAE,EAAE,6BAA6B,EAAE,OAAO,EAAE,OAAO,EAAE;IACvD,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE;CAC5C,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqC;IACxE;QACE,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,mCAAmC;KACjD;CACO,CAAC;AAEX,wFAAwF;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAG,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type AddonPackageReference } from './addon-deps.js';
|
|
2
|
+
export type AddonNugetDepsOrigin = 'source-csproj' | 'addon-manifest' | 'builtin';
|
|
3
|
+
export interface ResolvedAddonNugetDeps {
|
|
4
|
+
refs: readonly AddonPackageReference[];
|
|
5
|
+
origin: AddonNugetDepsOrigin;
|
|
6
|
+
/** The file the refs were read from (absent for `builtin`). */
|
|
7
|
+
file?: string;
|
|
8
|
+
warnings: string[];
|
|
9
|
+
}
|
|
10
|
+
/** Every `<PackageReference Include=".." Version="..">` in a csproj text, in document order. */
|
|
11
|
+
export declare function parseCsprojPackageReferences(csprojText: string): AddonPackageReference[];
|
|
12
|
+
/**
|
|
13
|
+
* Parse a `nuget-deps.json` manifest (`{ "packageReferences": [{ "id", "version" }] }`).
|
|
14
|
+
* Throws on malformed JSON, a missing/empty list, or an invalid entry.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseAddonNugetDeps(text: string): AddonPackageReference[];
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the addon's NuGet PackageReferences for an installed addon dir. Never throws:
|
|
19
|
+
* an unreadable/malformed source is reported in `warnings` and the next source is tried.
|
|
20
|
+
* `sourceDir` is the `--source` addon dir (`.../addons/godot_mcp`), when there is one.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveAddonNugetDeps(addonDir: string, sourceDir?: string): ResolvedAddonNugetDeps;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { ADDON_PACKAGE_REFERENCES } from './addon-deps.js';
|
|
4
|
+
// Resolve the NuGet PackageReferences the INSTALLED addon needs, so `install-plugin`
|
|
5
|
+
// pins the consumer csproj to what that addon release was built against — not to the
|
|
6
|
+
// constants baked into this CLI build (they differ whenever the addon version differs
|
|
7
|
+
// from the CLI version, e.g. `--version <other>` or a kept newer addon).
|
|
8
|
+
//
|
|
9
|
+
// Sources, in order:
|
|
10
|
+
// 1. `--source` installs only: `Godot-MCP.csproj` of the source checkout (two levels
|
|
11
|
+
// above `addons/godot_mcp/`) — the single source of truth in the repo.
|
|
12
|
+
// 2. `addons/godot_mcp/nuget-deps.json` inside the installed addon. The release
|
|
13
|
+
// workflow generates it from Godot-MCP.csproj (`scripts/write-nuget-deps.mjs`) and
|
|
14
|
+
// packs it into the addon zip; it is never committed.
|
|
15
|
+
// 3. The CLI's built-in `ADDON_PACKAGE_REFERENCES` (addon zips released before the
|
|
16
|
+
// manifest existed), with a warning.
|
|
17
|
+
/** File name of the generated manifest inside `addons/godot_mcp/`. */
|
|
18
|
+
const ADDON_NUGET_DEPS_FILE = 'nuget-deps.json';
|
|
19
|
+
/** The addon's own project file, at the root of a Godot-MCP checkout. */
|
|
20
|
+
const ADDON_CSPROJ_FILE = 'Godot-MCP.csproj';
|
|
21
|
+
// Values are written verbatim into the consumer csproj as XML attributes, so only
|
|
22
|
+
// NuGet-shaped ids and versions are accepted (no quotes, `<`, `&`, whitespace).
|
|
23
|
+
const NUGET_ID_RE = /^[A-Za-z0-9_][A-Za-z0-9_.-]*$/;
|
|
24
|
+
const NUGET_VERSION_RE = /^[0-9A-Za-z][0-9A-Za-z.+-]*$/;
|
|
25
|
+
function validRef(id, version) {
|
|
26
|
+
return typeof id === 'string' && typeof version === 'string' && NUGET_ID_RE.test(id) && NUGET_VERSION_RE.test(version)
|
|
27
|
+
? { id, version }
|
|
28
|
+
: null;
|
|
29
|
+
}
|
|
30
|
+
/** Every `<PackageReference Include=".." Version="..">` in a csproj text, in document order. */
|
|
31
|
+
export function parseCsprojPackageReferences(csprojText) {
|
|
32
|
+
const refs = [];
|
|
33
|
+
for (const element of csprojText.match(/<PackageReference\b[^>]*>/gi) ?? []) {
|
|
34
|
+
const ref = validRef(/\bInclude\s*=\s*"([^"]+)"/i.exec(element)?.[1], /\bVersion\s*=\s*"([^"]+)"/i.exec(element)?.[1]);
|
|
35
|
+
if (ref !== null)
|
|
36
|
+
refs.push(ref);
|
|
37
|
+
}
|
|
38
|
+
return refs;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Parse a `nuget-deps.json` manifest (`{ "packageReferences": [{ "id", "version" }] }`).
|
|
42
|
+
* Throws on malformed JSON, a missing/empty list, or an invalid entry.
|
|
43
|
+
*/
|
|
44
|
+
export function parseAddonNugetDeps(text) {
|
|
45
|
+
const parsed = JSON.parse(text);
|
|
46
|
+
const list = parsed?.packageReferences;
|
|
47
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
48
|
+
throw new Error('"packageReferences" must be a non-empty array');
|
|
49
|
+
}
|
|
50
|
+
return list.map((entry, i) => {
|
|
51
|
+
const e = entry;
|
|
52
|
+
const ref = validRef(e?.id, e?.version);
|
|
53
|
+
if (ref === null)
|
|
54
|
+
throw new Error(`packageReferences[${i}] is not a valid { id, version } pair`);
|
|
55
|
+
return ref;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resolve the addon's NuGet PackageReferences for an installed addon dir. Never throws:
|
|
60
|
+
* an unreadable/malformed source is reported in `warnings` and the next source is tried.
|
|
61
|
+
* `sourceDir` is the `--source` addon dir (`.../addons/godot_mcp`), when there is one.
|
|
62
|
+
*/
|
|
63
|
+
export function resolveAddonNugetDeps(addonDir, sourceDir) {
|
|
64
|
+
const warnings = [];
|
|
65
|
+
if (sourceDir !== undefined) {
|
|
66
|
+
const csproj = path.resolve(sourceDir, '..', '..', ADDON_CSPROJ_FILE);
|
|
67
|
+
if (fs.existsSync(csproj)) {
|
|
68
|
+
try {
|
|
69
|
+
const refs = parseCsprojPackageReferences(fs.readFileSync(csproj, 'utf-8'));
|
|
70
|
+
if (refs.length > 0)
|
|
71
|
+
return { refs, origin: 'source-csproj', file: csproj, warnings };
|
|
72
|
+
warnings.push(`${csproj} declares no <PackageReference>; ignoring it.`);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
warnings.push(`Could not read ${csproj}: ${err instanceof Error ? err.message : String(err)}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const manifest = path.join(addonDir, ADDON_NUGET_DEPS_FILE);
|
|
80
|
+
if (fs.existsSync(manifest)) {
|
|
81
|
+
try {
|
|
82
|
+
const refs = parseAddonNugetDeps(fs.readFileSync(manifest, 'utf-8'));
|
|
83
|
+
return { refs, origin: 'addon-manifest', file: manifest, warnings };
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
warnings.push(`Ignoring malformed ${manifest}: ${err instanceof Error ? err.message : String(err)}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
warnings.push(`The installed addon carries no readable ${ADDON_NUGET_DEPS_FILE}; pinned the NuGet packages to this godot-cli build's ` +
|
|
90
|
+
`defaults (${ADDON_PACKAGE_REFERENCES.map((r) => `${r.id} ${r.version}`).join(', ')}). ` +
|
|
91
|
+
'If the addon version differs from the godot-cli version, check these against the addon release.');
|
|
92
|
+
return { refs: ADDON_PACKAGE_REFERENCES, origin: 'builtin', warnings };
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=addon-nuget-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addon-nuget-deps.js","sourceRoot":"","sources":["../../src/utils/addon-nuget-deps.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/agents.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* `skillsPath` mirrors the Unity definition's per-agent skills directory. The
|
|
18
18
|
* Godot CLI does not yet ship a `setup-skills` command (skills are generated
|
|
19
|
-
* addon-side on plugin boot
|
|
19
|
+
* addon-side on plugin boot), but the field is
|
|
20
20
|
* populated now so a follow-up `setup-skills` command can consume it without
|
|
21
21
|
* another registry migration. `null` means the agent has no project-local skills
|
|
22
22
|
* directory.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type AddonPackageReference, type AddonEmbeddedResource } from './addon-deps.js';
|
|
2
2
|
/**
|
|
3
3
|
* Idempotently reconcile a Godot consumer `.csproj`'s `<PackageReference>`s so it
|
|
4
|
-
* declares
|
|
4
|
+
* declares the addon's required NuGet pins (`requiredRefs`; default: `addon-deps.ts`).
|
|
5
5
|
*
|
|
6
6
|
* Pure: operates on the csproj TEXT and returns the new text + what changed; never
|
|
7
7
|
* touches the filesystem. Exported for unit tests. Handles, idempotently:
|
|
@@ -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.2.
|
|
8
|
+
export declare const DEFAULT_SERVER_VERSION = "9.2.11";
|
|
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.2.
|
|
21
|
+
export const DEFAULT_SERVER_VERSION = '9.2.11';
|
|
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. */
|
package/dist/utils/skills.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface SkillFamily {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* The Godot-MCP tool-family catalog. Mirrors the 12 families documented in
|
|
17
|
-
*
|
|
17
|
+
* the README "Tools Reference" and the `[AiToolType]` classes under
|
|
18
18
|
* `addons/godot_mcp/Runtime/Tools/` and `addons/godot_mcp/Editor/Tools/`. Tool names are the `[AiTool("<name>")]` identifiers
|
|
19
19
|
* an MCP client invokes.
|
|
20
20
|
*
|
package/dist/utils/skills.js
CHANGED
|
@@ -2,7 +2,7 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
/**
|
|
4
4
|
* The Godot-MCP tool-family catalog. Mirrors the 12 families documented in
|
|
5
|
-
*
|
|
5
|
+
* the README "Tools Reference" and the `[AiToolType]` classes under
|
|
6
6
|
* `addons/godot_mcp/Runtime/Tools/` and `addons/godot_mcp/Editor/Tools/`. Tool names are the `[AiTool("<name>")]` identifiers
|
|
7
7
|
* an MCP client invokes.
|
|
8
8
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godot-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.1",
|
|
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",
|