@satelliteoflove/godot-mcp 3.1.0 → 3.3.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.
Files changed (67) hide show
  1. package/addon/plugin.cfg +1 -1
  2. package/dist/__tests__/core/annotations.test.d.ts +2 -0
  3. package/dist/__tests__/core/annotations.test.d.ts.map +1 -0
  4. package/dist/__tests__/core/annotations.test.js +33 -0
  5. package/dist/__tests__/core/annotations.test.js.map +1 -0
  6. package/dist/__tests__/core/discriminated-union-schema.test.d.ts +2 -0
  7. package/dist/__tests__/core/discriminated-union-schema.test.d.ts.map +1 -0
  8. package/dist/__tests__/core/discriminated-union-schema.test.js +37 -0
  9. package/dist/__tests__/core/discriminated-union-schema.test.js.map +1 -0
  10. package/dist/__tests__/tools/input.test.js +2 -8
  11. package/dist/__tests__/tools/input.test.js.map +1 -1
  12. package/dist/__tests__/tools/profiler.test.js +6 -2
  13. package/dist/__tests__/tools/profiler.test.js.map +1 -1
  14. package/dist/core/define-tool.d.ts +2 -1
  15. package/dist/core/define-tool.d.ts.map +1 -1
  16. package/dist/core/define-tool.js.map +1 -1
  17. package/dist/core/registry.d.ts +2 -1
  18. package/dist/core/registry.d.ts.map +1 -1
  19. package/dist/core/registry.js +1 -0
  20. package/dist/core/registry.js.map +1 -1
  21. package/dist/core/types.d.ts +9 -0
  22. package/dist/core/types.d.ts.map +1 -1
  23. package/dist/tools/animation.d.ts +79 -28
  24. package/dist/tools/animation.d.ts.map +1 -1
  25. package/dist/tools/animation.js +110 -81
  26. package/dist/tools/animation.js.map +1 -1
  27. package/dist/tools/docs.d.ts +22 -8
  28. package/dist/tools/docs.d.ts.map +1 -1
  29. package/dist/tools/docs.js +24 -22
  30. package/dist/tools/docs.js.map +1 -1
  31. package/dist/tools/editor.d.ts +23 -15
  32. package/dist/tools/editor.d.ts.map +1 -1
  33. package/dist/tools/editor.js +39 -54
  34. package/dist/tools/editor.js.map +1 -1
  35. package/dist/tools/input.d.ts +10 -10
  36. package/dist/tools/input.d.ts.map +1 -1
  37. package/dist/tools/input.js +32 -37
  38. package/dist/tools/input.js.map +1 -1
  39. package/dist/tools/node.d.ts +34 -21
  40. package/dist/tools/node.d.ts.map +1 -1
  41. package/dist/tools/node.js +75 -86
  42. package/dist/tools/node.js.map +1 -1
  43. package/dist/tools/profiler.d.ts +13 -10
  44. package/dist/tools/profiler.d.ts.map +1 -1
  45. package/dist/tools/profiler.js +12 -23
  46. package/dist/tools/profiler.js.map +1 -1
  47. package/dist/tools/project.d.ts +7 -7
  48. package/dist/tools/project.d.ts.map +1 -1
  49. package/dist/tools/project.js +20 -13
  50. package/dist/tools/project.js.map +1 -1
  51. package/dist/tools/resource.d.ts +4 -6
  52. package/dist/tools/resource.d.ts.map +1 -1
  53. package/dist/tools/resource.js +17 -26
  54. package/dist/tools/resource.js.map +1 -1
  55. package/dist/tools/scene.d.ts +10 -8
  56. package/dist/tools/scene.d.ts.map +1 -1
  57. package/dist/tools/scene.js +20 -32
  58. package/dist/tools/scene.js.map +1 -1
  59. package/dist/tools/scene3d.d.ts +7 -8
  60. package/dist/tools/scene3d.d.ts.map +1 -1
  61. package/dist/tools/scene3d.js +30 -42
  62. package/dist/tools/scene3d.js.map +1 -1
  63. package/dist/tools/tilemap.d.ts +95 -44
  64. package/dist/tools/tilemap.d.ts.map +1 -1
  65. package/dist/tools/tilemap.js +104 -103
  66. package/dist/tools/tilemap.js.map +1 -1
  67. package/package.json +1 -1
@@ -12,89 +12,118 @@ const TrackTypeEnum = z.enum([
12
12
  'audio',
13
13
  'animation',
14
14
  ]);
15
- const AnimationSchema = z
16
- .object({
17
- action: z
18
- .enum([
19
- 'list_players',
20
- 'get_info',
21
- 'get_details',
22
- 'get_keyframes',
23
- 'play',
24
- 'stop',
25
- 'seek',
26
- 'create',
27
- 'delete',
28
- 'update_props',
29
- 'add_track',
30
- 'remove_track',
31
- 'add_keyframe',
32
- 'remove_keyframe',
33
- 'update_keyframe',
34
- ])
35
- .describe('Action: list_players, get_info, get_details, get_keyframes (query), play, stop, seek (playback), create, delete, update_props, add_track, remove_track, add_keyframe, remove_keyframe, update_keyframe (edit)'),
36
- root_path: z.string().optional().describe('Starting node path (list_players only)'),
37
- node_path: z.string().optional().describe('Path to AnimationPlayer (required except list_players)'),
38
- animation_name: z.string().optional().describe('Animation name'),
39
- track_index: z.number().optional().describe('Track index'),
40
- custom_blend: z.number().optional().describe('Custom blend time, -1 for default (play)'),
41
- custom_speed: z.number().optional().describe('Playback speed, 1.0 default (play)'),
42
- from_end: z.boolean().optional().describe('Play from end for reverse (play)'),
43
- keep_state: z.boolean().optional().describe('Keep current animation state (stop)'),
44
- seconds: z.number().optional().describe('Position to seek to (seek)'),
45
- update: z.boolean().optional().describe('Update node immediately, default true (seek)'),
46
- library_name: z.string().optional().describe('Library name (create, delete)'),
47
- length: z.number().optional().describe('Animation length in seconds (create, update_props)'),
48
- loop_mode: LoopModeEnum.optional().describe('Loop mode: none, linear, pingpong (create, update_props)'),
49
- step: z.number().optional().describe('Step value for keyframe snapping (create, update_props)'),
50
- track_type: TrackTypeEnum.optional().describe('Type of track (add_track)'),
51
- track_path: z.string().optional().describe('Node path and property, e.g. "Sprite2D:frame" (add_track)'),
52
- insert_at: z.number().optional().describe('Track index to insert at, -1 for end (add_track)'),
53
- time: z.number().optional().describe('Keyframe time in seconds (add_keyframe, update_keyframe)'),
54
- value: z.unknown().optional().describe('Keyframe value (add_keyframe, update_keyframe)'),
55
- transition: z.number().optional().describe('Transition curve, 1.0 = linear (add_keyframe, update_keyframe)'),
56
- method_name: z.string().optional().describe('Method name for method tracks (add_keyframe)'),
57
- args: z.array(z.unknown()).optional().describe('Method arguments (add_keyframe)'),
58
- keyframe_index: z.number().optional().describe('Keyframe index (remove_keyframe, update_keyframe)'),
59
- })
60
- .refine((data) => {
61
- switch (data.action) {
62
- case 'list_players':
63
- return true;
64
- case 'get_info':
65
- case 'stop':
66
- return !!data.node_path;
67
- case 'get_details':
68
- case 'create':
69
- case 'delete':
70
- case 'update_props':
71
- case 'play':
72
- return !!data.node_path && !!data.animation_name;
73
- case 'get_keyframes':
74
- return !!data.node_path && !!data.animation_name && data.track_index !== undefined;
75
- case 'seek':
76
- return !!data.node_path && data.seconds !== undefined;
77
- case 'add_track':
78
- return !!data.node_path && !!data.animation_name && !!data.track_type && !!data.track_path;
79
- case 'remove_track':
80
- return !!data.node_path && !!data.animation_name && data.track_index !== undefined;
81
- case 'add_keyframe':
82
- return (!!data.node_path &&
83
- !!data.animation_name &&
84
- data.track_index !== undefined &&
85
- data.time !== undefined);
86
- case 'remove_keyframe':
87
- case 'update_keyframe':
88
- return (!!data.node_path &&
89
- !!data.animation_name &&
90
- data.track_index !== undefined &&
91
- data.keyframe_index !== undefined);
92
- default:
93
- return false;
94
- }
95
- }, { message: 'Missing required fields for action' });
15
+ const nodePathField = z.string().describe('Path to the AnimationPlayer');
16
+ const animNameField = z.string().describe('Animation name');
17
+ const trackIndexField = z.number().describe('Track index');
18
+ const keyframeIndexField = z.number().describe('Keyframe index');
19
+ const AnimationSchema = z.discriminatedUnion('action', [
20
+ z.object({
21
+ action: z.literal('list_players').describe('List AnimationPlayer nodes in the scene'),
22
+ root_path: z.string().optional().describe('Starting node path (defaults to scene root)'),
23
+ }),
24
+ z.object({
25
+ action: z.literal('get_info').describe('Get AnimationPlayer state and library list'),
26
+ node_path: nodePathField,
27
+ }),
28
+ z.object({
29
+ action: z.literal('get_details').describe("Get an animation's tracks and properties"),
30
+ node_path: nodePathField,
31
+ animation_name: animNameField,
32
+ }),
33
+ z.object({
34
+ action: z.literal('get_keyframes').describe('Get keyframes for a track'),
35
+ node_path: nodePathField,
36
+ animation_name: animNameField,
37
+ track_index: trackIndexField,
38
+ }),
39
+ z.object({
40
+ action: z.literal('play').describe('Play an animation'),
41
+ node_path: nodePathField,
42
+ animation_name: animNameField,
43
+ custom_blend: z.number().optional().describe('Custom blend time, -1 for default'),
44
+ custom_speed: z.number().optional().describe('Playback speed, 1.0 default'),
45
+ from_end: z.boolean().optional().describe('Play from end for reverse'),
46
+ }),
47
+ z.object({
48
+ action: z.literal('stop').describe('Stop playback'),
49
+ node_path: nodePathField,
50
+ keep_state: z.boolean().optional().describe('Keep current animation state'),
51
+ }),
52
+ z.object({
53
+ action: z.literal('seek').describe('Seek to a position in the current animation'),
54
+ node_path: nodePathField,
55
+ seconds: z.number().describe('Position to seek to'),
56
+ update: z.boolean().optional().describe('Update node immediately, default true'),
57
+ }),
58
+ z.object({
59
+ action: z.literal('create').describe('Create an animation'),
60
+ node_path: nodePathField,
61
+ animation_name: animNameField,
62
+ library_name: z.string().optional().describe('Library name'),
63
+ length: z.number().optional().describe('Animation length in seconds'),
64
+ loop_mode: LoopModeEnum.optional().describe('Loop mode: none, linear, pingpong'),
65
+ step: z.number().optional().describe('Step value for keyframe snapping'),
66
+ }),
67
+ z.object({
68
+ action: z.literal('delete').describe('Delete an animation'),
69
+ node_path: nodePathField,
70
+ animation_name: animNameField,
71
+ library_name: z.string().optional().describe('Library name'),
72
+ }),
73
+ z.object({
74
+ action: z.literal('update_props').describe('Update animation properties'),
75
+ node_path: nodePathField,
76
+ animation_name: animNameField,
77
+ length: z.number().optional().describe('Animation length in seconds'),
78
+ loop_mode: LoopModeEnum.optional().describe('Loop mode: none, linear, pingpong'),
79
+ step: z.number().optional().describe('Step value for keyframe snapping'),
80
+ }),
81
+ z.object({
82
+ action: z.literal('add_track').describe('Add a track to an animation'),
83
+ node_path: nodePathField,
84
+ animation_name: animNameField,
85
+ track_type: TrackTypeEnum.describe('Type of track'),
86
+ track_path: z.string().describe('Node path and property, e.g. "Sprite2D:frame"'),
87
+ insert_at: z.number().optional().describe('Track index to insert at, -1 for end'),
88
+ }),
89
+ z.object({
90
+ action: z.literal('remove_track').describe('Remove a track'),
91
+ node_path: nodePathField,
92
+ animation_name: animNameField,
93
+ track_index: trackIndexField,
94
+ }),
95
+ z.object({
96
+ action: z.literal('add_keyframe').describe('Add a keyframe to a track'),
97
+ node_path: nodePathField,
98
+ animation_name: animNameField,
99
+ track_index: trackIndexField,
100
+ time: z.number().describe('Keyframe time in seconds'),
101
+ value: z.unknown().optional().describe('Keyframe value'),
102
+ transition: z.number().optional().describe('Transition curve, 1.0 = linear'),
103
+ method_name: z.string().optional().describe('Method name for method tracks'),
104
+ args: z.array(z.unknown()).optional().describe('Method arguments'),
105
+ }),
106
+ z.object({
107
+ action: z.literal('remove_keyframe').describe('Remove a keyframe'),
108
+ node_path: nodePathField,
109
+ animation_name: animNameField,
110
+ track_index: trackIndexField,
111
+ keyframe_index: keyframeIndexField,
112
+ }),
113
+ z.object({
114
+ action: z.literal('update_keyframe').describe('Update a keyframe'),
115
+ node_path: nodePathField,
116
+ animation_name: animNameField,
117
+ track_index: trackIndexField,
118
+ keyframe_index: keyframeIndexField,
119
+ time: z.number().optional().describe('Keyframe time in seconds'),
120
+ value: z.unknown().optional().describe('Keyframe value'),
121
+ transition: z.number().optional().describe('Transition curve, 1.0 = linear'),
122
+ }),
123
+ ]);
96
124
  export const animation = defineTool({
97
125
  name: 'godot_animation',
126
+ annotations: { title: 'Animation', readOnlyHint: false, destructiveHint: true, openWorldHint: false },
98
127
  description: 'Query, control, and edit animations. Query: list_players, get_info, get_details, get_keyframes. Playback: play, stop, seek. Edit: create, delete, update_props, add_track, remove_track, add_keyframe, remove_keyframe, update_keyframe',
99
128
  schema: AnimationSchema,
100
129
  async execute(args, { godot }) {
@@ -1 +1 @@
1
- {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/tools/animation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/tools/animation.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const docs: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- fetch_class: "fetch_class";
6
- fetch_page: "fetch_page";
7
- }>;
8
- class_name: z.ZodOptional<z.ZodString>;
9
- path: z.ZodOptional<z.ZodString>;
3
+ export declare const docs: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"fetch_class">;
5
+ class_name: z.ZodString;
10
6
  version: z.ZodOptional<z.ZodEnum<{
11
7
  stable: "stable";
12
8
  latest: "latest";
@@ -22,6 +18,24 @@ export declare const docs: import("../core/types.js").ToolDefinition<z.ZodObject
22
18
  methods: "methods";
23
19
  signals: "signals";
24
20
  }>>>;
25
- }, z.core.$strip>>;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ action: z.ZodLiteral<"fetch_page">;
23
+ path: z.ZodString;
24
+ version: z.ZodOptional<z.ZodEnum<{
25
+ stable: "stable";
26
+ latest: "latest";
27
+ 4.5: "4.5";
28
+ 4.4: "4.4";
29
+ 4.3: "4.3";
30
+ 4.2: "4.2";
31
+ }>>;
32
+ section: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
33
+ description: "description";
34
+ properties: "properties";
35
+ full: "full";
36
+ methods: "methods";
37
+ signals: "signals";
38
+ }>>>;
39
+ }, z.core.$strip>], "action">>;
26
40
  export declare const docsTools: AnyToolDefinition[];
27
41
  //# sourceMappingURL=docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;AA8IvE,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;kBAwCf,CAAC;AAEH,eAAO,MAAM,SAAS,EAAa,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;AAiJvE,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAyCf,CAAC;AAEH,eAAO,MAAM,SAAS,EAAa,iBAAiB,EAAE,CAAC"}
@@ -3,28 +3,29 @@ import { defineTool } from '../core/define-tool.js';
3
3
  const GODOT_DOCS_BASE = 'https://docs.godotengine.org/en';
4
4
  const FETCH_TIMEOUT_MS = 15000;
5
5
  const SUPPORTED_VERSIONS = ['stable', 'latest', '4.5', '4.4', '4.3', '4.2'];
6
- const DocsSchema = z.object({
7
- action: z
8
- .enum(['fetch_class', 'fetch_page'])
9
- .describe('Action: fetch_class (get class reference by name), fetch_page (get any docs page by path)'),
10
- class_name: z
11
- .string()
12
- .optional()
13
- .describe('Class name to fetch, e.g. "CharacterBody2D" (fetch_class only)'),
14
- path: z
15
- .string()
16
- .optional()
17
- .describe('Documentation path, e.g. "/tutorials/2d/2d_movement.html" (fetch_page only)'),
18
- version: z
19
- .enum(SUPPORTED_VERSIONS)
20
- .optional()
21
- .describe('Godot docs version. If omitted, auto-detects from connected Godot editor or defaults to "stable"'),
22
- section: z
23
- .enum(['full', 'description', 'properties', 'methods', 'signals'])
24
- .optional()
25
- .default('full')
26
- .describe('Which section to return (default: full). Use specific sections to reduce token usage.'),
27
- });
6
+ const SectionEnum = z
7
+ .enum(['full', 'description', 'properties', 'methods', 'signals'])
8
+ .optional()
9
+ .default('full')
10
+ .describe('Which section to return (default: full). Use specific sections to reduce token usage.');
11
+ const VersionEnum = z
12
+ .enum(SUPPORTED_VERSIONS)
13
+ .optional()
14
+ .describe('Godot docs version. If omitted, auto-detects from connected Godot editor or defaults to "stable"');
15
+ const DocsSchema = z.discriminatedUnion('action', [
16
+ z.object({
17
+ action: z.literal('fetch_class').describe('Get a class reference by name'),
18
+ class_name: z.string().describe('Class name to fetch, e.g. "CharacterBody2D"'),
19
+ version: VersionEnum,
20
+ section: SectionEnum,
21
+ }),
22
+ z.object({
23
+ action: z.literal('fetch_page').describe('Get any docs page by path'),
24
+ path: z.string().describe('Documentation path, e.g. "/tutorials/2d/2d_movement.html"'),
25
+ version: VersionEnum,
26
+ section: SectionEnum,
27
+ }),
28
+ ]);
28
29
  function detectVersionFromGodot(ctx) {
29
30
  const godotVersion = ctx.godot.godotVersion;
30
31
  if (!godotVersion)
@@ -124,6 +125,7 @@ function extractSection(markdown, section) {
124
125
  }
125
126
  export const docs = defineTool({
126
127
  name: 'godot_docs',
128
+ annotations: { title: 'Godot Docs', readOnlyHint: true, openWorldHint: true },
127
129
  description: 'Fetch Godot Engine documentation. Use fetch_class for class references (e.g. CharacterBody2D), fetch_page for tutorials/guides. Auto-detects Godot version from editor connection. Returns clean markdown.',
128
130
  schema: DocsSchema,
129
131
  async execute(args, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,38 @@
1
1
  import { z } from 'zod';
2
2
  import type { AnyToolDefinition } from '../core/types.js';
3
- export declare const editor: import("../core/types.js").ToolDefinition<z.ZodObject<{
4
- action: z.ZodEnum<{
5
- get_state: "get_state";
6
- get_selection: "get_selection";
7
- select: "select";
8
- run: "run";
9
- stop: "stop";
10
- get_log_messages: "get_log_messages";
11
- get_stack_trace: "get_stack_trace";
12
- screenshot_game: "screenshot_game";
13
- screenshot_editor: "screenshot_editor";
14
- set_viewport_2d: "set_viewport_2d";
15
- }>;
16
- node_path: z.ZodOptional<z.ZodString>;
3
+ export declare const editor: import("../core/types.js").ToolDefinition<z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ action: z.ZodLiteral<"get_state">;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ action: z.ZodLiteral<"get_selection">;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ action: z.ZodLiteral<"select">;
9
+ node_path: z.ZodString;
10
+ }, z.core.$strip>, z.ZodObject<{
11
+ action: z.ZodLiteral<"run">;
17
12
  scene_path: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>, z.ZodObject<{
14
+ action: z.ZodLiteral<"stop">;
15
+ }, z.core.$strip>, z.ZodObject<{
16
+ action: z.ZodLiteral<"get_log_messages">;
18
17
  clear: z.ZodOptional<z.ZodBoolean>;
19
18
  limit: z.ZodOptional<z.ZodNumber>;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ action: z.ZodLiteral<"get_stack_trace">;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ action: z.ZodLiteral<"screenshot_game">;
23
+ max_width: z.ZodOptional<z.ZodNumber>;
24
+ }, z.core.$strip>, z.ZodObject<{
25
+ action: z.ZodLiteral<"screenshot_editor">;
20
26
  viewport: z.ZodOptional<z.ZodEnum<{
21
27
  "2d": "2d";
22
28
  "3d": "3d";
23
29
  }>>;
24
30
  max_width: z.ZodOptional<z.ZodNumber>;
31
+ }, z.core.$strip>, z.ZodObject<{
32
+ action: z.ZodLiteral<"set_viewport_2d">;
25
33
  center_x: z.ZodOptional<z.ZodNumber>;
26
34
  center_y: z.ZodOptional<z.ZodNumber>;
27
35
  zoom: z.ZodOptional<z.ZodNumber>;
28
- }, z.core.$strip>>;
36
+ }, z.core.$strip>], "action">>;
29
37
  export declare const editorTools: AnyToolDefinition[];
30
38
  //# sourceMappingURL=editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/tools/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AA+GjF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;kBAsGjB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAe,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/tools/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAgGjF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAuGjB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAe,iBAAiB,EAAE,CAAC"}
@@ -8,62 +8,47 @@ function toImageContent(base64) {
8
8
  };
9
9
  }
10
10
  const EditorSchema = z
11
- .object({
12
- action: z
13
- .enum(['get_state', 'get_selection', 'select', 'run', 'stop', 'get_log_messages', 'get_stack_trace', 'screenshot_game', 'screenshot_editor', 'set_viewport_2d'])
14
- .describe('Action: get_state, get_selection, select, run, stop, get_log_messages, get_stack_trace, screenshot_game, screenshot_editor, set_viewport_2d'),
15
- node_path: z
16
- .string()
17
- .optional()
18
- .describe('Path to node (select only)'),
19
- scene_path: z
20
- .string()
21
- .optional()
22
- .describe('Scene to run (run only, optional)'),
23
- clear: z
24
- .boolean()
25
- .optional()
26
- .describe('Clear buffer after reading (get_log_messages only)'),
27
- limit: z
28
- .number()
29
- .int()
30
- .positive()
31
- .optional()
32
- .describe('Maximum number of messages to return (get_log_messages only, default: 50)'),
33
- viewport: z
34
- .enum(['2d', '3d'])
35
- .optional()
36
- .describe('Which editor viewport to capture (screenshot_editor only)'),
37
- max_width: z
38
- .number()
39
- .optional()
40
- .describe('Maximum width in pixels for screenshot (screenshot_game, screenshot_editor)'),
41
- center_x: z
42
- .number()
43
- .optional()
44
- .describe('X coordinate to center the 2D viewport on (set_viewport_2d only)'),
45
- center_y: z
46
- .number()
47
- .optional()
48
- .describe('Y coordinate to center the 2D viewport on (set_viewport_2d only)'),
49
- zoom: z
50
- .number()
51
- .positive()
52
- .optional()
53
- .describe('Zoom level for 2D viewport, e.g. 1.0 = 100%, 2.0 = 200% (set_viewport_2d only)'),
54
- })
55
- .refine((data) => {
56
- switch (data.action) {
57
- case 'select':
58
- return !!data.node_path;
59
- case 'set_viewport_2d':
60
- return data.center_x !== undefined || data.center_y !== undefined || data.zoom !== undefined;
61
- default:
62
- return true;
63
- }
64
- }, { message: 'select requires node_path; set_viewport_2d requires at least one of center_x, center_y, or zoom' });
11
+ .discriminatedUnion('action', [
12
+ z.object({ action: z.literal('get_state').describe('Get editor state: current scene, play state, version, camera, viewport') }),
13
+ z.object({ action: z.literal('get_selection').describe('Get the currently selected nodes') }),
14
+ z.object({
15
+ action: z.literal('select').describe('Select a node in the editor'),
16
+ node_path: z.string().describe('Path to node to select'),
17
+ }),
18
+ z.object({
19
+ action: z.literal('run').describe('Run the project'),
20
+ scene_path: z.string().optional().describe('Scene to run (optional, defaults to main scene)'),
21
+ }),
22
+ z.object({ action: z.literal('stop').describe('Stop the running project') }),
23
+ z.object({
24
+ action: z.literal('get_log_messages').describe('Get editor/game log messages'),
25
+ clear: z.boolean().optional().describe('Clear buffer after reading'),
26
+ limit: z.number().int().positive().optional().describe('Maximum number of messages to return (default: 50)'),
27
+ }),
28
+ z.object({ action: z.literal('get_stack_trace').describe('Get the most recent error stack trace') }),
29
+ z.object({
30
+ action: z.literal('screenshot_game').describe('Capture a screenshot of the running game'),
31
+ max_width: z.number().optional().describe('Maximum width in pixels for the screenshot'),
32
+ }),
33
+ z.object({
34
+ action: z.literal('screenshot_editor').describe('Capture a screenshot of an editor viewport'),
35
+ viewport: z.enum(['2d', '3d']).optional().describe('Which editor viewport to capture'),
36
+ max_width: z.number().optional().describe('Maximum width in pixels for the screenshot'),
37
+ }),
38
+ z.object({
39
+ action: z.literal('set_viewport_2d').describe('Center and zoom the 2D editor viewport'),
40
+ center_x: z.number().optional().describe('X coordinate to center the 2D viewport on'),
41
+ center_y: z.number().optional().describe('Y coordinate to center the 2D viewport on'),
42
+ zoom: z.number().positive().optional().describe('Zoom level, e.g. 1.0 = 100%, 2.0 = 200%'),
43
+ }),
44
+ ])
45
+ // Constraint a discriminated union can't express on its own, so it lives here:
46
+ .refine((data) => data.action === 'set_viewport_2d'
47
+ ? data.center_x !== undefined || data.center_y !== undefined || data.zoom !== undefined
48
+ : true, { message: 'set_viewport_2d requires at least one of center_x, center_y, or zoom' });
65
49
  export const editor = defineTool({
66
50
  name: 'godot_editor',
51
+ annotations: { title: 'Editor Control', readOnlyHint: false, destructiveHint: false, openWorldHint: false },
67
52
  description: 'Control the Godot editor: get state, manage selection, run/stop project, capture screenshots, read log messages and stack traces, control 2D viewport',
68
53
  schema: EditorSchema,
69
54
  async execute(args, { godot }) {
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/tools/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/tools/editor.ts"],"names":[],"mappings":"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"}