@skillcap/gdh 3.0.2 → 3.2.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.
- package/INSTALL-BUNDLE.json +1 -1
- package/README.md +1 -0
- package/RELEASE-SPAN-UPDATE-CONTRACTS.json +166 -0
- package/node_modules/@gdh/adapters/package.json +8 -8
- package/node_modules/@gdh/authoring/package.json +2 -2
- package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/index.js +195 -4
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +11 -10
- package/node_modules/@gdh/core/dist/bridge-substrate.d.ts +20 -0
- package/node_modules/@gdh/core/dist/bridge-substrate.d.ts.map +1 -0
- package/node_modules/@gdh/core/dist/bridge-substrate.js +40 -0
- package/node_modules/@gdh/core/dist/bridge-substrate.js.map +1 -0
- package/node_modules/@gdh/core/dist/index.d.ts +27 -32
- package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/index.js +15 -14
- package/node_modules/@gdh/core/dist/index.js.map +1 -1
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/guidance.js +29 -0
- package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
- package/node_modules/@gdh/docs/dist/templates/guidance/editor-bridge.md.tpl +28 -0
- package/node_modules/@gdh/docs/package.json +2 -2
- package/node_modules/@gdh/editor/dist/index.d.ts +226 -0
- package/node_modules/@gdh/editor/dist/index.d.ts.map +1 -0
- package/node_modules/@gdh/editor/dist/index.js +1380 -0
- package/node_modules/@gdh/editor/dist/index.js.map +1 -0
- package/node_modules/@gdh/editor/package.json +17 -0
- package/node_modules/@gdh/mcp/dist/index.d.ts +1 -1
- package/node_modules/@gdh/mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/mcp/dist/index.js +392 -7
- package/node_modules/@gdh/mcp/dist/index.js.map +1 -1
- package/node_modules/@gdh/mcp/package.json +10 -8
- package/node_modules/@gdh/observability/package.json +2 -2
- package/node_modules/@gdh/runtime/dist/bridge-broker-contract.d.ts +2 -2
- package/node_modules/@gdh/runtime/dist/bridge-broker-contract.d.ts.map +1 -1
- package/node_modules/@gdh/runtime/dist/bridge-broker-contract.js +2 -37
- package/node_modules/@gdh/runtime/dist/bridge-broker-contract.js.map +1 -1
- package/node_modules/@gdh/runtime/dist/bridge-surface.d.ts +1 -1
- package/node_modules/@gdh/runtime/dist/bridge-surface.d.ts.map +1 -1
- package/node_modules/@gdh/runtime/dist/bridge-surface.js +396 -73
- package/node_modules/@gdh/runtime/dist/bridge-surface.js.map +1 -1
- package/node_modules/@gdh/runtime/dist/index.d.ts +2 -3
- package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/runtime/dist/index.js +2 -3
- package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
- package/node_modules/@gdh/runtime/package.json +3 -2
- package/node_modules/@gdh/scan/package.json +3 -3
- package/node_modules/@gdh/verify/package.json +7 -7
- package/package.json +13 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gdh/editor",
|
|
3
|
+
"private": true,
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@gdh/core": "3.2.0"
|
|
15
|
+
},
|
|
16
|
+
"version": "3.2.0"
|
|
17
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
1
|
import { type GdhMcpInvokeRequest, type GdhMcpInvokeResult, type GdhMcpManifest, type GdhMcpToolManifestEntry } from "@gdh/core";
|
|
2
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
3
|
export declare const mcpPackage: import("@gdh/core").GdhPackageBoundary;
|
|
4
4
|
export interface GdhMcpServer {
|
|
5
5
|
readonly manifest: GdhMcpManifest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAGnB,KAAK,uBAAuB,EAa7B,MAAM,WAAW,CAAC;AAoBnB,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAenE,eAAO,MAAM,UAAU,wCAerB,CAAC;AAyuBH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnE;AAOD,wBAAgB,YAAY,IAAI,SAAS,uBAAuB,EAAE,CAEjE;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAQlD;AAED,wBAAgB,eAAe,IAAI,YAAY,CAM9C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CACnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAyH7E;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAazE;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE7F"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { doctorAuthoringDiagnostics, getAuthoringDiagnosticsStatus, getCurrentAuthoringDiagnostics, readProjectConfig, refreshAuthoringDiagnostics, resolveEffectiveTargetPath, readWorktreeState, resolveAuthoringStatus, resolveTargetGodotDocsVersion, runAuthoringCheck, runTargetPrepare, warmupManagedLsp, } from "@gdh/authoring";
|
|
6
|
-
import { fetchOfficialGodotDoc, searchOfficialGodotDocs, } from "@gdh/docs";
|
|
7
|
-
import { readInventoryCacheOrScan } from "@gdh/scan";
|
|
1
|
+
import { doctorAuthoringDiagnostics, getAuthoringDiagnosticsStatus, getCurrentAuthoringDiagnostics, readProjectConfig, readWorktreeState, refreshAuthoringDiagnostics, resolveAuthoringStatus, resolveEffectiveTargetPath, resolveTargetGodotDocsVersion, runAuthoringCheck, runTargetPrepare, warmupManagedLsp, } from "@gdh/authoring";
|
|
2
|
+
import { definePackageBoundary, GDH_MCP_MANIFEST_VERSION, presentPublicRuntimeTerms, readGdhUpdateMetaOrNull, resolveGdhProductMetadata, } from "@gdh/core";
|
|
3
|
+
import { fetchOfficialGodotDoc, searchOfficialGodotDocs } from "@gdh/docs";
|
|
4
|
+
import { inspectEditorBridgeSession, runEditorOperation, } from "@gdh/editor";
|
|
8
5
|
import { checkRuntimeRecipe, listRuntimeRecipes, runRuntimeRecipe, showRuntimeRecipe, } from "@gdh/runtime";
|
|
6
|
+
import { readInventoryCacheOrScan } from "@gdh/scan";
|
|
9
7
|
import { listRuntimeScenarios, runRuntimeVerificationScenario, showRuntimeScenario, } from "@gdh/verify";
|
|
8
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
9
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
|
+
import { CallToolRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
11
|
import { DEFAULT_MCP_BRIDGE_TOOL_DEPS, invokeMcpBridgeTool, } from "./bridge-tools.js";
|
|
11
12
|
export const mcpPackage = definePackageBoundary({
|
|
12
13
|
name: "@gdh/mcp",
|
|
@@ -17,6 +18,7 @@ export const mcpPackage = definePackageBoundary({
|
|
|
17
18
|
"@gdh/core",
|
|
18
19
|
"@gdh/authoring",
|
|
19
20
|
"@gdh/docs",
|
|
21
|
+
"@gdh/editor",
|
|
20
22
|
"@gdh/observability",
|
|
21
23
|
"@gdh/runtime",
|
|
22
24
|
"@gdh/scan",
|
|
@@ -238,6 +240,278 @@ const TOOL_MANIFEST = [
|
|
|
238
240
|
outputSchema: outputEnvelopeSchema,
|
|
239
241
|
outputContract: "GdhRuntimeRecipeRunResult",
|
|
240
242
|
},
|
|
243
|
+
{
|
|
244
|
+
name: "editor.session.status",
|
|
245
|
+
summary: "Inspect whether GDH can run Godot-native editor operations for the exact bound target/worktree.",
|
|
246
|
+
targetPathPolicy: "optional",
|
|
247
|
+
inputSchema: defineObjectSchema("Editor Bridge session status request.", {
|
|
248
|
+
mode: {
|
|
249
|
+
type: "string",
|
|
250
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled. Defaults to auto.",
|
|
251
|
+
},
|
|
252
|
+
godotEditorBin: {
|
|
253
|
+
type: "string",
|
|
254
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
255
|
+
},
|
|
256
|
+
}),
|
|
257
|
+
outputSchema: outputEnvelopeSchema,
|
|
258
|
+
outputContract: "GdhEditorSessionSummary",
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
name: "editor.state",
|
|
262
|
+
summary: "Read current Godot editor context for the exact target/worktree: project state plus current/open scene and selection when an adopted editor exposes them.",
|
|
263
|
+
targetPathPolicy: "optional",
|
|
264
|
+
inputSchema: defineObjectSchema("Editor state request.", {
|
|
265
|
+
mode: {
|
|
266
|
+
type: "string",
|
|
267
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled. Use adopt_only when the user asks about the already-open editor.",
|
|
268
|
+
},
|
|
269
|
+
timeoutMs: {
|
|
270
|
+
type: "number",
|
|
271
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
272
|
+
},
|
|
273
|
+
godotEditorBin: {
|
|
274
|
+
type: "string",
|
|
275
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
276
|
+
},
|
|
277
|
+
}),
|
|
278
|
+
outputSchema: outputEnvelopeSchema,
|
|
279
|
+
outputContract: "GdhEditorOperationResult",
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
name: "editor.scene.tree",
|
|
283
|
+
summary: "Load one saved scene through Godot editor APIs and return a bounded node tree. Requires scenePath; use editor.state first when you need the active editor scene.",
|
|
284
|
+
targetPathPolicy: "optional",
|
|
285
|
+
inputSchema: defineObjectSchema("Editor scene tree request.", {
|
|
286
|
+
scenePath: {
|
|
287
|
+
type: "string",
|
|
288
|
+
description: "Required res:// path for the saved scene to load.",
|
|
289
|
+
},
|
|
290
|
+
maxDepth: {
|
|
291
|
+
type: "number",
|
|
292
|
+
description: "Optional positive depth limit for returned children.",
|
|
293
|
+
},
|
|
294
|
+
mode: {
|
|
295
|
+
type: "string",
|
|
296
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled.",
|
|
297
|
+
},
|
|
298
|
+
timeoutMs: {
|
|
299
|
+
type: "number",
|
|
300
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
301
|
+
},
|
|
302
|
+
godotEditorBin: {
|
|
303
|
+
type: "string",
|
|
304
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
305
|
+
},
|
|
306
|
+
}, ["scenePath"]),
|
|
307
|
+
outputSchema: outputEnvelopeSchema,
|
|
308
|
+
outputContract: "GdhEditorOperationResult",
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: "editor.node.inspect",
|
|
312
|
+
summary: "Inspect one node from a saved scene: node summary plus requested property values or a bounded inspector-style property list.",
|
|
313
|
+
targetPathPolicy: "optional",
|
|
314
|
+
inputSchema: defineObjectSchema("Editor node inspection request.", {
|
|
315
|
+
scenePath: {
|
|
316
|
+
type: "string",
|
|
317
|
+
description: "Required res:// path for the saved scene to load.",
|
|
318
|
+
},
|
|
319
|
+
nodePath: {
|
|
320
|
+
type: "string",
|
|
321
|
+
description: "Optional node path relative to the scene root. Defaults to root.",
|
|
322
|
+
},
|
|
323
|
+
propertyNames: stringArraySchema("Optional exact property names to read from the node."),
|
|
324
|
+
includePropertyList: {
|
|
325
|
+
type: "boolean",
|
|
326
|
+
description: "When true, return bounded property metadata similar to inspector discovery.",
|
|
327
|
+
},
|
|
328
|
+
propertyQuery: {
|
|
329
|
+
type: "string",
|
|
330
|
+
description: "Optional substring filter for returned property metadata.",
|
|
331
|
+
},
|
|
332
|
+
propertyLimit: {
|
|
333
|
+
type: "number",
|
|
334
|
+
description: "Optional positive limit for returned property metadata.",
|
|
335
|
+
},
|
|
336
|
+
mode: {
|
|
337
|
+
type: "string",
|
|
338
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled.",
|
|
339
|
+
},
|
|
340
|
+
timeoutMs: {
|
|
341
|
+
type: "number",
|
|
342
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
343
|
+
},
|
|
344
|
+
godotEditorBin: {
|
|
345
|
+
type: "string",
|
|
346
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
347
|
+
},
|
|
348
|
+
}, ["scenePath"]),
|
|
349
|
+
outputSchema: outputEnvelopeSchema,
|
|
350
|
+
outputContract: "GdhEditorOperationResult",
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
name: "editor.resource.read",
|
|
354
|
+
summary: "Read requested properties from one Godot resource via editor APIs. Nested arrays/dictionaries are encoded recursively with bounded resource handles.",
|
|
355
|
+
targetPathPolicy: "optional",
|
|
356
|
+
inputSchema: defineObjectSchema("Editor resource read request.", {
|
|
357
|
+
resourcePath: {
|
|
358
|
+
type: "string",
|
|
359
|
+
description: "Required res:// resource path, including ::subresource id when needed.",
|
|
360
|
+
},
|
|
361
|
+
propertyNames: stringArraySchema("Optional exact property names to read from the resource."),
|
|
362
|
+
mode: {
|
|
363
|
+
type: "string",
|
|
364
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled.",
|
|
365
|
+
},
|
|
366
|
+
timeoutMs: {
|
|
367
|
+
type: "number",
|
|
368
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
369
|
+
},
|
|
370
|
+
godotEditorBin: {
|
|
371
|
+
type: "string",
|
|
372
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
373
|
+
},
|
|
374
|
+
}, ["resourcePath"]),
|
|
375
|
+
outputSchema: outputEnvelopeSchema,
|
|
376
|
+
outputContract: "GdhEditorOperationResult",
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
name: "editor.resource.properties",
|
|
380
|
+
summary: "Discover bounded property metadata for one Godot resource before choosing propertyNames for editor.resource.read.",
|
|
381
|
+
targetPathPolicy: "optional",
|
|
382
|
+
inputSchema: defineObjectSchema("Editor resource property discovery request.", {
|
|
383
|
+
resourcePath: {
|
|
384
|
+
type: "string",
|
|
385
|
+
description: "Required res:// resource path, including ::subresource id when needed.",
|
|
386
|
+
},
|
|
387
|
+
propertyQuery: {
|
|
388
|
+
type: "string",
|
|
389
|
+
description: "Optional substring filter for returned property metadata.",
|
|
390
|
+
},
|
|
391
|
+
propertyLimit: {
|
|
392
|
+
type: "number",
|
|
393
|
+
description: "Optional positive limit for returned property metadata.",
|
|
394
|
+
},
|
|
395
|
+
mode: {
|
|
396
|
+
type: "string",
|
|
397
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled.",
|
|
398
|
+
},
|
|
399
|
+
timeoutMs: {
|
|
400
|
+
type: "number",
|
|
401
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
402
|
+
},
|
|
403
|
+
godotEditorBin: {
|
|
404
|
+
type: "string",
|
|
405
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
406
|
+
},
|
|
407
|
+
}, ["resourcePath"]),
|
|
408
|
+
outputSchema: outputEnvelopeSchema,
|
|
409
|
+
outputContract: "GdhEditorOperationResult",
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
name: "editor.class.search",
|
|
413
|
+
summary: "Search Godot ClassDB and registered script classes with bounded query controls.",
|
|
414
|
+
targetPathPolicy: "optional",
|
|
415
|
+
inputSchema: defineObjectSchema("Editor class search request.", {
|
|
416
|
+
query: {
|
|
417
|
+
type: "string",
|
|
418
|
+
description: "Optional substring query for class names.",
|
|
419
|
+
},
|
|
420
|
+
baseClass: {
|
|
421
|
+
type: "string",
|
|
422
|
+
description: "Optional base class filter.",
|
|
423
|
+
},
|
|
424
|
+
instantiableOnly: {
|
|
425
|
+
type: "boolean",
|
|
426
|
+
description: "When false, include non-instantiable classes. Defaults to true.",
|
|
427
|
+
},
|
|
428
|
+
limit: {
|
|
429
|
+
type: "number",
|
|
430
|
+
description: "Optional positive result limit.",
|
|
431
|
+
},
|
|
432
|
+
mode: {
|
|
433
|
+
type: "string",
|
|
434
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled.",
|
|
435
|
+
},
|
|
436
|
+
timeoutMs: {
|
|
437
|
+
type: "number",
|
|
438
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
439
|
+
},
|
|
440
|
+
godotEditorBin: {
|
|
441
|
+
type: "string",
|
|
442
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
443
|
+
},
|
|
444
|
+
}),
|
|
445
|
+
outputSchema: outputEnvelopeSchema,
|
|
446
|
+
outputContract: "GdhEditorOperationResult",
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
name: "editor.class.info",
|
|
450
|
+
summary: "Return bounded property metadata for one Godot or registered script class.",
|
|
451
|
+
targetPathPolicy: "optional",
|
|
452
|
+
inputSchema: defineObjectSchema("Editor class info request.", {
|
|
453
|
+
className: {
|
|
454
|
+
type: "string",
|
|
455
|
+
description: "Required Godot or registered script class name.",
|
|
456
|
+
},
|
|
457
|
+
includeInherited: {
|
|
458
|
+
type: "boolean",
|
|
459
|
+
description: "When true, include inherited properties. Defaults to true.",
|
|
460
|
+
},
|
|
461
|
+
propertyQuery: {
|
|
462
|
+
type: "string",
|
|
463
|
+
description: "Optional substring filter for returned property metadata.",
|
|
464
|
+
},
|
|
465
|
+
propertyLimit: {
|
|
466
|
+
type: "number",
|
|
467
|
+
description: "Optional positive property metadata limit.",
|
|
468
|
+
},
|
|
469
|
+
mode: {
|
|
470
|
+
type: "string",
|
|
471
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled.",
|
|
472
|
+
},
|
|
473
|
+
timeoutMs: {
|
|
474
|
+
type: "number",
|
|
475
|
+
description: "Optional positive timeout in milliseconds for the editor operation.",
|
|
476
|
+
},
|
|
477
|
+
godotEditorBin: {
|
|
478
|
+
type: "string",
|
|
479
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
480
|
+
},
|
|
481
|
+
}, ["className"]),
|
|
482
|
+
outputSchema: outputEnvelopeSchema,
|
|
483
|
+
outputContract: "GdhEditorOperationResult",
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
name: "editor.operation.run",
|
|
487
|
+
summary: "Advanced escape hatch for one targeted Godot-native editor operation. Prefer focused editor.* tools for normal reads. Payloads dispatch on operation.kind, not type.",
|
|
488
|
+
targetPathPolicy: "optional",
|
|
489
|
+
inputSchema: defineObjectSchema("Editor Bridge operation request.", {
|
|
490
|
+
operation: {
|
|
491
|
+
type: "object",
|
|
492
|
+
description: 'Operation payload with a required "kind" field, for example {"kind":"scene.tree","scenePath":"res://main.tscn"}.',
|
|
493
|
+
additionalProperties: true,
|
|
494
|
+
},
|
|
495
|
+
mode: {
|
|
496
|
+
type: "string",
|
|
497
|
+
description: "Optional session mode: auto, headless_only, adopt_only, or disabled. Defaults to auto.",
|
|
498
|
+
},
|
|
499
|
+
timeoutMs: {
|
|
500
|
+
type: "number",
|
|
501
|
+
description: "Optional positive timeout in milliseconds for the managed editor process.",
|
|
502
|
+
},
|
|
503
|
+
retainOperationArtifacts: {
|
|
504
|
+
type: "number",
|
|
505
|
+
description: "Optional positive count of recent operation artifact directories to retain.",
|
|
506
|
+
},
|
|
507
|
+
godotEditorBin: {
|
|
508
|
+
type: "string",
|
|
509
|
+
description: "Optional Godot editor executable override for this invocation.",
|
|
510
|
+
},
|
|
511
|
+
}, ["operation"]),
|
|
512
|
+
outputSchema: outputEnvelopeSchema,
|
|
513
|
+
outputContract: "GdhEditorOperationResult",
|
|
514
|
+
},
|
|
241
515
|
{
|
|
242
516
|
name: "bridge.session.start",
|
|
243
517
|
summary: "Launch one run configuration with the runtime bridge enabled and keep the session alive for bounded observation and control.",
|
|
@@ -556,6 +830,52 @@ async function invokeMcpToolWithContext(request, context) {
|
|
|
556
830
|
return succeeded(request.toolName, targetPath, await invokeRunConfigCheckTool(targetPath, request.input));
|
|
557
831
|
case "run-config.run":
|
|
558
832
|
return succeeded(request.toolName, targetPath, await invokeRunConfigRunTool(targetPath, request.input));
|
|
833
|
+
case "editor.session.status":
|
|
834
|
+
return succeeded(request.toolName, targetPath, await invokeEditorSessionStatusTool(targetPath, request.input));
|
|
835
|
+
case "editor.state":
|
|
836
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, { kind: "editor.state" }));
|
|
837
|
+
case "editor.scene.tree":
|
|
838
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, createEditorOperation("scene.tree", {
|
|
839
|
+
scenePath: requireString(request.input["scenePath"], "scenePath"),
|
|
840
|
+
maxDepth: readOptionalPositiveInteger(request.input["maxDepth"], "maxDepth"),
|
|
841
|
+
})));
|
|
842
|
+
case "editor.node.inspect":
|
|
843
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, createEditorOperation("node.inspect", {
|
|
844
|
+
scenePath: requireString(request.input["scenePath"], "scenePath"),
|
|
845
|
+
nodePath: readOptionalString(request.input["nodePath"], "nodePath"),
|
|
846
|
+
propertyNames: readOptionalStringArray(request.input["propertyNames"], "propertyNames"),
|
|
847
|
+
includePropertyList: readOptionalBoolean(request.input["includePropertyList"], "includePropertyList") ??
|
|
848
|
+
false,
|
|
849
|
+
propertyQuery: readOptionalString(request.input["propertyQuery"], "propertyQuery"),
|
|
850
|
+
propertyLimit: readOptionalPositiveInteger(request.input["propertyLimit"], "propertyLimit"),
|
|
851
|
+
})));
|
|
852
|
+
case "editor.resource.read":
|
|
853
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, createEditorOperation("resource.read", {
|
|
854
|
+
resourcePath: requireString(request.input["resourcePath"], "resourcePath"),
|
|
855
|
+
propertyNames: readOptionalStringArray(request.input["propertyNames"], "propertyNames"),
|
|
856
|
+
})));
|
|
857
|
+
case "editor.resource.properties":
|
|
858
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, createEditorOperation("resource.properties", {
|
|
859
|
+
resourcePath: requireString(request.input["resourcePath"], "resourcePath"),
|
|
860
|
+
propertyQuery: readOptionalString(request.input["propertyQuery"], "propertyQuery"),
|
|
861
|
+
propertyLimit: readOptionalPositiveInteger(request.input["propertyLimit"], "propertyLimit"),
|
|
862
|
+
})));
|
|
863
|
+
case "editor.class.search":
|
|
864
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, createEditorOperation("class.search", {
|
|
865
|
+
query: readOptionalString(request.input["query"], "query"),
|
|
866
|
+
baseClass: readOptionalString(request.input["baseClass"], "baseClass"),
|
|
867
|
+
instantiableOnly: readOptionalBoolean(request.input["instantiableOnly"], "instantiableOnly"),
|
|
868
|
+
limit: readOptionalPositiveInteger(request.input["limit"], "limit"),
|
|
869
|
+
})));
|
|
870
|
+
case "editor.class.info":
|
|
871
|
+
return succeeded(request.toolName, targetPath, await invokeFocusedEditorOperationTool(targetPath, request.input, createEditorOperation("class.info", {
|
|
872
|
+
className: requireString(request.input["className"], "className"),
|
|
873
|
+
includeInherited: readOptionalBoolean(request.input["includeInherited"], "includeInherited"),
|
|
874
|
+
propertyQuery: readOptionalString(request.input["propertyQuery"], "propertyQuery"),
|
|
875
|
+
propertyLimit: readOptionalPositiveInteger(request.input["propertyLimit"], "propertyLimit"),
|
|
876
|
+
})));
|
|
877
|
+
case "editor.operation.run":
|
|
878
|
+
return succeeded(request.toolName, targetPath, await invokeEditorOperationRunTool(targetPath, request.input));
|
|
559
879
|
case "bridge.session.start":
|
|
560
880
|
return succeeded(request.toolName, targetPath, await invokeBridgeTool(request.toolName, targetPath, request.input, context));
|
|
561
881
|
case "bridge.entry.list":
|
|
@@ -864,6 +1184,50 @@ async function invokeRunConfigRunTool(targetPath, input) {
|
|
|
864
1184
|
screenshotCapture: runtimeInput.screenshotCapture,
|
|
865
1185
|
});
|
|
866
1186
|
}
|
|
1187
|
+
async function invokeEditorSessionStatusTool(targetPath, input) {
|
|
1188
|
+
const projectConfig = await readProjectConfig(targetPath);
|
|
1189
|
+
return inspectEditorBridgeSession({
|
|
1190
|
+
targetPath,
|
|
1191
|
+
projectConfig,
|
|
1192
|
+
mode: readOptionalEditorSessionMode(input["mode"], "mode"),
|
|
1193
|
+
godotEditorBin: readOptionalString(input["godotEditorBin"], "godotEditorBin"),
|
|
1194
|
+
});
|
|
1195
|
+
}
|
|
1196
|
+
async function invokeEditorOperationRunTool(targetPath, input) {
|
|
1197
|
+
const projectConfig = await readProjectConfig(targetPath);
|
|
1198
|
+
const timeoutMs = readOptionalPositiveInteger(input["timeoutMs"], "timeoutMs");
|
|
1199
|
+
const retainOperationArtifacts = readOptionalPositiveInteger(input["retainOperationArtifacts"], "retainOperationArtifacts");
|
|
1200
|
+
return runEditorOperation({
|
|
1201
|
+
targetPath,
|
|
1202
|
+
projectConfig,
|
|
1203
|
+
operation: requireObject(input["operation"], "operation"),
|
|
1204
|
+
mode: readOptionalEditorSessionMode(input["mode"], "mode"),
|
|
1205
|
+
godotEditorBin: readOptionalString(input["godotEditorBin"], "godotEditorBin"),
|
|
1206
|
+
...(timeoutMs !== undefined && { timeoutMs }),
|
|
1207
|
+
...(retainOperationArtifacts !== undefined && { retainOperationArtifacts }),
|
|
1208
|
+
});
|
|
1209
|
+
}
|
|
1210
|
+
async function invokeFocusedEditorOperationTool(targetPath, input, operation) {
|
|
1211
|
+
const projectConfig = await readProjectConfig(targetPath);
|
|
1212
|
+
const timeoutMs = readOptionalPositiveInteger(input["timeoutMs"], "timeoutMs");
|
|
1213
|
+
return runEditorOperation({
|
|
1214
|
+
targetPath,
|
|
1215
|
+
projectConfig,
|
|
1216
|
+
operation,
|
|
1217
|
+
mode: readOptionalEditorSessionMode(input["mode"], "mode"),
|
|
1218
|
+
godotEditorBin: readOptionalString(input["godotEditorBin"], "godotEditorBin"),
|
|
1219
|
+
...(timeoutMs !== undefined && { timeoutMs }),
|
|
1220
|
+
});
|
|
1221
|
+
}
|
|
1222
|
+
function createEditorOperation(kind, fields) {
|
|
1223
|
+
const operation = { kind };
|
|
1224
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
1225
|
+
if (value !== undefined && value !== null) {
|
|
1226
|
+
operation[key] = value;
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
return operation;
|
|
1230
|
+
}
|
|
867
1231
|
async function invokeBridgeTool(toolName, targetPath, input, context) {
|
|
868
1232
|
return invokeMcpBridgeTool(toolName, targetPath, input, context.bridgeTools ?? DEFAULT_MCP_BRIDGE_TOOL_DEPS);
|
|
869
1233
|
}
|
|
@@ -948,6 +1312,18 @@ function readOptionalString(value, fieldName) {
|
|
|
948
1312
|
}
|
|
949
1313
|
return value;
|
|
950
1314
|
}
|
|
1315
|
+
function readOptionalEditorSessionMode(value, fieldName) {
|
|
1316
|
+
const mode = readOptionalString(value, fieldName);
|
|
1317
|
+
if (mode === null || mode === "auto")
|
|
1318
|
+
return "auto";
|
|
1319
|
+
if (mode === "headless_only" || mode === "headless-only")
|
|
1320
|
+
return "headless_only";
|
|
1321
|
+
if (mode === "adopt_only" || mode === "adopt-only")
|
|
1322
|
+
return "adopt_only";
|
|
1323
|
+
if (mode === "disabled")
|
|
1324
|
+
return "disabled";
|
|
1325
|
+
throw new Error(`MCP input field "${fieldName}" must be one of auto, headless_only, adopt_only, or disabled.`);
|
|
1326
|
+
}
|
|
951
1327
|
function requireString(value, fieldName) {
|
|
952
1328
|
const stringValue = readOptionalString(value, fieldName);
|
|
953
1329
|
if (stringValue === null) {
|
|
@@ -955,6 +1331,15 @@ function requireString(value, fieldName) {
|
|
|
955
1331
|
}
|
|
956
1332
|
return stringValue;
|
|
957
1333
|
}
|
|
1334
|
+
function requireObject(value, fieldName) {
|
|
1335
|
+
if (value === undefined) {
|
|
1336
|
+
throw new Error(`MCP input field "${fieldName}" is required.`);
|
|
1337
|
+
}
|
|
1338
|
+
if (value === null || Array.isArray(value) || typeof value !== "object") {
|
|
1339
|
+
throw new Error(`MCP input field "${fieldName}" must be an object.`);
|
|
1340
|
+
}
|
|
1341
|
+
return value;
|
|
1342
|
+
}
|
|
958
1343
|
function readOptionalPositiveInteger(value, fieldName) {
|
|
959
1344
|
if (value === undefined) {
|
|
960
1345
|
return undefined;
|