@satelliteoflove/godot-mcp 2.9.0 → 2.10.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.
Files changed (39) hide show
  1. package/README.md +1 -0
  2. package/addon/command_router.gd +1 -0
  3. package/addon/commands/input_commands.gd +193 -0
  4. package/addon/commands/input_commands.gd.uid +1 -0
  5. package/addon/core/mcp_debugger_plugin.gd +82 -0
  6. package/addon/game_bridge/mcp_game_bridge.gd +191 -0
  7. package/addon/plugin.cfg +1 -1
  8. package/dist/__tests__/schema.test.js +12 -42
  9. package/dist/__tests__/schema.test.js.map +1 -1
  10. package/dist/__tests__/tools/animation.test.js +53 -153
  11. package/dist/__tests__/tools/animation.test.js.map +1 -1
  12. package/dist/__tests__/tools/docs.test.js +73 -75
  13. package/dist/__tests__/tools/docs.test.js.map +1 -1
  14. package/dist/__tests__/tools/editor.test.js +71 -285
  15. package/dist/__tests__/tools/editor.test.js.map +1 -1
  16. package/dist/__tests__/tools/input.test.d.ts +2 -0
  17. package/dist/__tests__/tools/input.test.d.ts.map +1 -0
  18. package/dist/__tests__/tools/input.test.js +137 -0
  19. package/dist/__tests__/tools/input.test.js.map +1 -0
  20. package/dist/__tests__/tools/node.test.js +104 -268
  21. package/dist/__tests__/tools/node.test.js.map +1 -1
  22. package/dist/__tests__/tools/resource.test.js +44 -94
  23. package/dist/__tests__/tools/resource.test.js.map +1 -1
  24. package/dist/__tests__/tools/scene.test.js +28 -75
  25. package/dist/__tests__/tools/scene.test.js.map +1 -1
  26. package/dist/__tests__/tools/tilemap.test.js +71 -229
  27. package/dist/__tests__/tools/tilemap.test.js.map +1 -1
  28. package/dist/__tests__/utils/logger.test.js +36 -201
  29. package/dist/__tests__/utils/logger.test.js.map +1 -1
  30. package/dist/tools/editor.js +1 -1
  31. package/dist/tools/index.d.ts +1 -0
  32. package/dist/tools/index.d.ts.map +1 -1
  33. package/dist/tools/index.js +3 -0
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/input.d.ts +63 -0
  36. package/dist/tools/input.d.ts.map +1 -0
  37. package/dist/tools/input.js +85 -0
  38. package/dist/tools/input.js.map +1 -0
  39. package/package.json +1 -1
@@ -1,82 +1,52 @@
1
1
  import { describe, it, expect, beforeEach } from 'vitest';
2
2
  import { createMockGodot, createToolContext } from '../helpers/mock-godot.js';
3
- import { animation, animationTools } from '../../tools/animation.js';
3
+ import { animation } from '../../tools/animation.js';
4
4
  describe('animation tool', () => {
5
- describe('tool definitions', () => {
6
- it('exports one tool', () => {
7
- expect(animationTools).toHaveLength(1);
8
- });
9
- it('has animation tool with all action types', () => {
10
- expect(animation.name).toBe('animation');
11
- expect(animation.description).toContain('Query');
12
- expect(animation.description).toContain('Playback');
13
- expect(animation.description).toContain('Edit');
14
- });
5
+ let mock;
6
+ beforeEach(() => {
7
+ mock = createMockGodot();
15
8
  });
16
9
  describe('query actions', () => {
17
- let mock;
18
- beforeEach(() => {
19
- mock = createMockGodot();
20
- });
21
- it('list_players sends command and formats empty result', async () => {
22
- mock.mockResponse({ animation_players: [] });
10
+ it('list_players returns formatted list or empty message', async () => {
23
11
  const ctx = createToolContext(mock);
24
- const result = await animation.execute({ action: 'list_players' }, ctx);
25
- expect(mock.calls[0].command).toBe('list_animation_players');
26
- expect(result).toBe('No AnimationPlayer nodes found in scene');
27
- });
28
- it('list_players formats found players', async () => {
12
+ mock.mockResponse({ animation_players: [] });
13
+ expect(await animation.execute({ action: 'list_players' }, ctx))
14
+ .toBe('No AnimationPlayer nodes found in scene');
29
15
  mock.mockResponse({
30
16
  animation_players: [
31
17
  { path: '/root/Player/AnimPlayer', name: 'AnimPlayer' },
32
18
  { path: '/root/Enemy/AnimPlayer', name: 'AnimPlayer' },
33
19
  ],
34
20
  });
35
- const ctx = createToolContext(mock);
36
21
  const result = await animation.execute({ action: 'list_players' }, ctx);
37
22
  expect(result).toContain('Found 2 AnimationPlayer(s)');
38
23
  expect(result).toContain('/root/Player/AnimPlayer');
39
24
  });
40
- it('get_info sends command and returns JSON', async () => {
41
- const info = { current_animation: 'idle', is_playing: true, current_position: 0.5 };
42
- mock.mockResponse(info);
25
+ it('get_info/get_details/get_keyframes return JSON', async () => {
43
26
  const ctx = createToolContext(mock);
44
- const result = await animation.execute({
27
+ const info = { current_animation: 'idle', is_playing: true };
28
+ mock.mockResponse(info);
29
+ expect(JSON.parse(await animation.execute({
45
30
  action: 'get_info',
46
31
  node_path: '/root/AnimPlayer',
47
- }, ctx);
48
- expect(mock.calls[0].command).toBe('get_animation_player_info');
49
- expect(mock.calls[0].params.node_path).toBe('/root/AnimPlayer');
50
- expect(result).toBe(JSON.stringify(info, null, 2));
51
- });
52
- it('get_details sends command with animation name', async () => {
32
+ }, ctx))).toEqual(info);
53
33
  const details = { name: 'walk', length: 1.5, track_count: 3 };
54
34
  mock.mockResponse(details);
55
- const ctx = createToolContext(mock);
56
- const result = await animation.execute({
35
+ expect(JSON.parse(await animation.execute({
57
36
  action: 'get_details',
58
37
  node_path: '/root/AnimPlayer',
59
38
  animation_name: 'walk',
60
- }, ctx);
61
- expect(mock.calls[0].command).toBe('get_animation_details');
62
- expect(mock.calls[0].params.animation_name).toBe('walk');
63
- expect(result).toBe(JSON.stringify(details, null, 2));
64
- });
65
- it('get_keyframes sends command with track index', async () => {
39
+ }, ctx))).toEqual(details);
66
40
  const keyframes = { track_path: 'Sprite:frame', keyframes: [{ time: 0, value: 0 }] };
67
41
  mock.mockResponse(keyframes);
68
- const ctx = createToolContext(mock);
69
- const result = await animation.execute({
42
+ expect(JSON.parse(await animation.execute({
70
43
  action: 'get_keyframes',
71
44
  node_path: '/root/AnimPlayer',
72
45
  animation_name: 'walk',
73
46
  track_index: 0,
74
- }, ctx);
75
- expect(mock.calls[0].command).toBe('get_track_keyframes');
76
- expect(mock.calls[0].params.track_index).toBe(0);
77
- expect(result).toBe(JSON.stringify(keyframes, null, 2));
47
+ }, ctx))).toEqual(keyframes);
78
48
  });
79
- it('throws on error from Godot', async () => {
49
+ it('propagates errors from Godot', async () => {
80
50
  mock.mockError(new Error('Node not found'));
81
51
  const ctx = createToolContext(mock);
82
52
  await expect(animation.execute({
@@ -86,23 +56,27 @@ describe('animation tool', () => {
86
56
  });
87
57
  });
88
58
  describe('playback actions', () => {
89
- let mock;
90
- beforeEach(() => {
91
- mock = createMockGodot();
92
- });
93
- it('play sends command and returns confirmation', async () => {
94
- mock.mockResponse({ playing: 'run', from_position: 0 });
59
+ it('play/stop/seek return confirmations', async () => {
95
60
  const ctx = createToolContext(mock);
96
- const result = await animation.execute({
61
+ mock.mockResponse({ playing: 'run', from_position: 0 });
62
+ expect(await animation.execute({
97
63
  action: 'play',
98
64
  node_path: '/root/AnimPlayer',
99
65
  animation_name: 'run',
100
- }, ctx);
101
- expect(mock.calls[0].command).toBe('play_animation');
102
- expect(mock.calls[0].params.animation_name).toBe('run');
103
- expect(result).toBe('Playing animation: run');
66
+ }, ctx)).toBe('Playing animation: run');
67
+ mock.mockResponse({});
68
+ expect(await animation.execute({
69
+ action: 'stop',
70
+ node_path: '/root/AnimPlayer',
71
+ }, ctx)).toBe('Animation stopped');
72
+ mock.mockResponse({ position: 1.5 });
73
+ expect(await animation.execute({
74
+ action: 'seek',
75
+ node_path: '/root/AnimPlayer',
76
+ seconds: 1.5,
77
+ }, ctx)).toBe('Seeked to position: 1.5');
104
78
  });
105
- it('play passes optional params', async () => {
79
+ it('play passes optional speed/blend/from_end params', async () => {
106
80
  mock.mockResponse({ playing: 'walk', from_position: 0 });
107
81
  const ctx = createToolContext(mock);
108
82
  await animation.execute({
@@ -117,141 +91,69 @@ describe('animation tool', () => {
117
91
  expect(mock.calls[0].params.custom_blend).toBe(0.5);
118
92
  expect(mock.calls[0].params.from_end).toBe(true);
119
93
  });
120
- it('stop sends command and returns confirmation', async () => {
121
- mock.mockResponse({});
122
- const ctx = createToolContext(mock);
123
- const result = await animation.execute({
124
- action: 'stop',
125
- node_path: '/root/AnimPlayer',
126
- }, ctx);
127
- expect(mock.calls[0].command).toBe('stop_animation');
128
- expect(result).toBe('Animation stopped');
129
- });
130
- it('seek sends command and returns position', async () => {
131
- mock.mockResponse({ position: 1.5 });
132
- const ctx = createToolContext(mock);
133
- const result = await animation.execute({
134
- action: 'seek',
135
- node_path: '/root/AnimPlayer',
136
- seconds: 1.5,
137
- }, ctx);
138
- expect(mock.calls[0].command).toBe('seek_animation');
139
- expect(mock.calls[0].params.seconds).toBe(1.5);
140
- expect(result).toBe('Seeked to position: 1.5');
141
- });
142
94
  });
143
95
  describe('edit actions', () => {
144
- let mock;
145
- beforeEach(() => {
146
- mock = createMockGodot();
147
- });
148
- it('create sends command and returns confirmation', async () => {
149
- mock.mockResponse({ created: 'new_anim', library: '' });
96
+ it('create/delete return confirmations', async () => {
150
97
  const ctx = createToolContext(mock);
151
- const result = await animation.execute({
98
+ mock.mockResponse({ created: 'new_anim', library: '' });
99
+ expect(await animation.execute({
152
100
  action: 'create',
153
101
  node_path: '/root/AnimPlayer',
154
102
  animation_name: 'new_anim',
155
103
  length: 2.0,
156
- }, ctx);
157
- expect(mock.calls[0].command).toBe('create_animation');
158
- expect(mock.calls[0].params.animation_name).toBe('new_anim');
159
- expect(mock.calls[0].params.length).toBe(2.0);
160
- expect(result).toBe('Created animation: new_anim');
161
- });
162
- it('create includes library in result when provided', async () => {
104
+ }, ctx)).toBe('Created animation: new_anim');
163
105
  mock.mockResponse({ created: 'walk', library: 'movement' });
164
- const ctx = createToolContext(mock);
165
- const result = await animation.execute({
106
+ expect(await animation.execute({
166
107
  action: 'create',
167
108
  node_path: '/root/AnimPlayer',
168
109
  animation_name: 'walk',
169
110
  library_name: 'movement',
170
- }, ctx);
171
- expect(result).toBe('Created animation: walk in library: movement');
172
- });
173
- it('delete sends command and returns confirmation', async () => {
111
+ }, ctx)).toBe('Created animation: walk in library: movement');
174
112
  mock.mockResponse({ deleted: 'old_anim' });
175
- const ctx = createToolContext(mock);
176
- const result = await animation.execute({
113
+ expect(await animation.execute({
177
114
  action: 'delete',
178
115
  node_path: '/root/AnimPlayer',
179
116
  animation_name: 'old_anim',
180
- }, ctx);
181
- expect(mock.calls[0].command).toBe('delete_animation');
182
- expect(result).toBe('Deleted animation: old_anim');
117
+ }, ctx)).toBe('Deleted animation: old_anim');
183
118
  });
184
- it('update_props sends command and returns updated properties', async () => {
185
- mock.mockResponse({ updated: 'walk', properties: { length: 2.0, loop_mode: 'linear' } });
119
+ it('track operations return formatted confirmations', async () => {
186
120
  const ctx = createToolContext(mock);
187
- const result = await animation.execute({
188
- action: 'update_props',
189
- node_path: '/root/AnimPlayer',
190
- animation_name: 'walk',
191
- length: 2.0,
192
- loop_mode: 'linear',
193
- }, ctx);
194
- expect(mock.calls[0].command).toBe('update_animation_properties');
195
- expect(result).toContain('Updated animation: walk');
196
- expect(result).toContain('"length":2');
197
- });
198
- it('add_track sends command and returns track info', async () => {
199
121
  mock.mockResponse({ track_index: 0, track_path: 'Sprite2D:frame', track_type: 'value' });
200
- const ctx = createToolContext(mock);
201
- const result = await animation.execute({
122
+ expect(await animation.execute({
202
123
  action: 'add_track',
203
124
  node_path: '/root/AnimPlayer',
204
125
  animation_name: 'walk',
205
126
  track_type: 'value',
206
127
  track_path: 'Sprite2D:frame',
207
- }, ctx);
208
- expect(mock.calls[0].command).toBe('add_animation_track');
209
- expect(result).toBe('Added track 0: value -> Sprite2D:frame');
210
- });
211
- it('remove_track sends command and returns confirmation', async () => {
128
+ }, ctx)).toBe('Added track 0: value -> Sprite2D:frame');
212
129
  mock.mockResponse({ removed_track: 2 });
213
- const ctx = createToolContext(mock);
214
- const result = await animation.execute({
130
+ expect(await animation.execute({
215
131
  action: 'remove_track',
216
132
  node_path: '/root/AnimPlayer',
217
133
  animation_name: 'walk',
218
134
  track_index: 2,
219
- }, ctx);
220
- expect(mock.calls[0].command).toBe('remove_animation_track');
221
- expect(result).toBe('Removed track: 2');
135
+ }, ctx)).toBe('Removed track: 2');
222
136
  });
223
- it('add_keyframe sends command and returns keyframe info', async () => {
224
- mock.mockResponse({ keyframe_index: 0, time: 0.5, value: 3 });
137
+ it('keyframe operations return formatted confirmations', async () => {
225
138
  const ctx = createToolContext(mock);
226
- const result = await animation.execute({
139
+ mock.mockResponse({ keyframe_index: 0, time: 0.5, value: 3 });
140
+ expect(await animation.execute({
227
141
  action: 'add_keyframe',
228
142
  node_path: '/root/AnimPlayer',
229
143
  animation_name: 'walk',
230
144
  track_index: 0,
231
145
  time: 0.5,
232
146
  value: 3,
233
- }, ctx);
234
- expect(mock.calls[0].command).toBe('add_keyframe');
235
- expect(mock.calls[0].params.time).toBe(0.5);
236
- expect(mock.calls[0].params.value).toBe(3);
237
- expect(result).toBe('Added keyframe 0 at 0.5s');
238
- });
239
- it('remove_keyframe sends command and returns confirmation', async () => {
147
+ }, ctx)).toBe('Added keyframe 0 at 0.5s');
240
148
  mock.mockResponse({ removed_keyframe: 1, track_index: 0 });
241
- const ctx = createToolContext(mock);
242
- const result = await animation.execute({
149
+ expect(await animation.execute({
243
150
  action: 'remove_keyframe',
244
151
  node_path: '/root/AnimPlayer',
245
152
  animation_name: 'walk',
246
153
  track_index: 0,
247
154
  keyframe_index: 1,
248
- }, ctx);
249
- expect(mock.calls[0].command).toBe('remove_keyframe');
250
- expect(result).toBe('Removed keyframe 1 from track 0');
251
- });
252
- it('update_keyframe sends command and returns changes', async () => {
155
+ }, ctx)).toBe('Removed keyframe 1 from track 0');
253
156
  mock.mockResponse({ updated_keyframe: 0, changes: { time: 0.75, value: 5 } });
254
- const ctx = createToolContext(mock);
255
157
  const result = await animation.execute({
256
158
  action: 'update_keyframe',
257
159
  node_path: '/root/AnimPlayer',
@@ -261,9 +163,7 @@ describe('animation tool', () => {
261
163
  time: 0.75,
262
164
  value: 5,
263
165
  }, ctx);
264
- expect(mock.calls[0].command).toBe('update_keyframe');
265
166
  expect(result).toContain('Updated keyframe 0');
266
- expect(result).toContain('"time":0.75');
267
167
  });
268
168
  });
269
169
  });
@@ -1 +1 @@
1
- {"version":3,"file":"animation.test.js","sourceRoot":"","sources":["../../../src/__tests__/tools/animation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animation.test.js","sourceRoot":"","sources":["../../../src/__tests__/tools/animation.test.ts"],"names":[],"mappings":"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"}
@@ -1,132 +1,130 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
  import { createMockGodot, createToolContext } from '../helpers/mock-godot.js';
3
- import { docs, docsTools } from '../../tools/docs.js';
3
+ import { docs } from '../../tools/docs.js';
4
4
  describe('godot_docs tool', () => {
5
- describe('tool definitions', () => {
6
- it('exports one tool', () => {
7
- expect(docsTools).toHaveLength(1);
8
- });
9
- it('has correct name and description', () => {
10
- expect(docs.name).toBe('godot_docs');
11
- expect(docs.description).toContain('Godot Engine documentation');
12
- });
13
- });
14
5
  describe('schema validation', () => {
15
- it('requires action', () => {
16
- expect(docs.schema.safeParse({}).success).toBe(false);
17
- });
18
- it('requires class_name for fetch_class', () => {
19
- const result = docs.schema.safeParse({ action: 'fetch_class' });
20
- expect(result.success).toBe(true);
21
- });
22
- it('requires path for fetch_page', () => {
23
- const result = docs.schema.safeParse({ action: 'fetch_page' });
24
- expect(result.success).toBe(true);
25
- });
26
- it('accepts valid version values', () => {
6
+ it('accepts valid version and section values', () => {
27
7
  const versions = ['stable', 'latest', '4.5', '4.4', '4.3', '4.2'];
8
+ const sections = ['full', 'description', 'properties', 'methods', 'signals'];
28
9
  for (const version of versions) {
29
- const result = docs.schema.safeParse({
10
+ expect(docs.schema.safeParse({
30
11
  action: 'fetch_class',
31
12
  class_name: 'Node2D',
32
13
  version,
33
- });
34
- expect(result.success).toBe(true);
14
+ }).success).toBe(true);
35
15
  }
36
- });
37
- it('rejects invalid version', () => {
38
- const result = docs.schema.safeParse({
39
- action: 'fetch_class',
40
- class_name: 'Node2D',
41
- version: '3.5',
42
- });
43
- expect(result.success).toBe(false);
44
- });
45
- it('accepts valid section values', () => {
46
- const sections = ['full', 'description', 'properties', 'methods', 'signals'];
47
16
  for (const section of sections) {
48
- const result = docs.schema.safeParse({
17
+ expect(docs.schema.safeParse({
49
18
  action: 'fetch_class',
50
19
  class_name: 'Node2D',
51
20
  section,
52
- });
53
- expect(result.success).toBe(true);
21
+ }).success).toBe(true);
54
22
  }
55
23
  });
56
- });
57
- describe('fetch_class action (live integration)', () => {
58
- it('fetches CharacterBody2D class reference', async () => {
59
- const mock = createMockGodot();
60
- const ctx = createToolContext(mock);
61
- const result = await docs.execute({ action: 'fetch_class', class_name: 'CharacterBody2D', version: 'stable', section: 'description' }, ctx);
62
- expect(result).toContain('CharacterBody2D');
63
- expect(result).toContain('Source: https://docs.godotengine.org');
64
- expect(result).toContain('Approx tokens:');
24
+ it('rejects invalid version', () => {
25
+ expect(docs.schema.safeParse({
26
+ action: 'fetch_class',
27
+ class_name: 'Node2D',
28
+ version: '3.5',
29
+ }).success).toBe(false);
65
30
  });
66
- it('returns smaller content with section filter', async () => {
31
+ });
32
+ describe('fetch_class (live integration)', () => {
33
+ it('fetches class reference with section filtering', async () => {
67
34
  const mock = createMockGodot();
68
35
  const ctx = createToolContext(mock);
69
- const fullResult = (await docs.execute({ action: 'fetch_class', class_name: 'Node2D', version: 'stable', section: 'full' }, ctx));
70
- const descResult = (await docs.execute({ action: 'fetch_class', class_name: 'Node2D', version: 'stable', section: 'description' }, ctx));
36
+ const fullResult = await docs.execute({
37
+ action: 'fetch_class',
38
+ class_name: 'Node2D',
39
+ version: 'stable',
40
+ section: 'full',
41
+ }, ctx);
42
+ const descResult = await docs.execute({
43
+ action: 'fetch_class',
44
+ class_name: 'Node2D',
45
+ version: 'stable',
46
+ section: 'description',
47
+ }, ctx);
48
+ expect(fullResult).toContain('Node2D');
49
+ expect(fullResult).toContain('Source: https://docs.godotengine.org');
71
50
  expect(descResult.length).toBeLessThan(fullResult.length);
72
- expect(descResult).toContain('Node2D');
73
- expect(descResult).toContain('Description');
74
51
  });
75
52
  it('handles class name case insensitively', async () => {
76
53
  const mock = createMockGodot();
77
54
  const ctx = createToolContext(mock);
78
- const result = await docs.execute({ action: 'fetch_class', class_name: 'SPRITE2D', version: 'stable', section: 'description' }, ctx);
55
+ const result = await docs.execute({
56
+ action: 'fetch_class',
57
+ class_name: 'SPRITE2D',
58
+ version: 'stable',
59
+ section: 'description',
60
+ }, ctx);
79
61
  expect(result).toContain('Sprite2D');
80
62
  });
81
63
  it('throws error for non-existent class', async () => {
82
64
  const mock = createMockGodot();
83
65
  const ctx = createToolContext(mock);
84
- await expect(docs.execute({ action: 'fetch_class', class_name: 'NotARealClass12345', version: 'stable', section: 'full' }, ctx)).rejects.toThrow('not found');
66
+ await expect(docs.execute({
67
+ action: 'fetch_class',
68
+ class_name: 'NotARealClass12345',
69
+ version: 'stable',
70
+ section: 'full',
71
+ }, ctx)).rejects.toThrow('not found');
85
72
  });
86
73
  it('fetches from specific version', async () => {
87
74
  const mock = createMockGodot();
88
75
  const ctx = createToolContext(mock);
89
- const result = await docs.execute({ action: 'fetch_class', class_name: 'TileMapLayer', version: '4.5', section: 'description' }, ctx);
90
- expect(result).toContain('https://docs.godotengine.org/en/4.5/');
91
- expect(result).toContain('TileMapLayer');
76
+ const result = await docs.execute({
77
+ action: 'fetch_class',
78
+ class_name: 'TileMapLayer',
79
+ version: '4.5',
80
+ section: 'description',
81
+ }, ctx);
82
+ expect(result).toContain('/en/4.5/');
92
83
  });
93
84
  });
94
- describe('fetch_page action (live integration)', () => {
85
+ describe('fetch_page (live integration)', () => {
95
86
  it('fetches tutorial page', async () => {
96
87
  const mock = createMockGodot();
97
88
  const ctx = createToolContext(mock);
98
- const result = (await docs.execute({
89
+ const result = await docs.execute({
99
90
  action: 'fetch_page',
100
91
  path: '/tutorials/2d/2d_movement.html',
101
92
  version: 'stable',
102
93
  section: 'full',
103
- }, ctx));
94
+ }, ctx);
104
95
  expect(result).toContain('Source: https://docs.godotengine.org');
105
96
  expect(result.length).toBeGreaterThan(1000);
106
97
  });
107
98
  });
108
99
  describe('version auto-detection', () => {
109
- it('uses detected version from Godot connection', async () => {
100
+ it('uses detected version from Godot, falls back to stable', async () => {
110
101
  const mock = createMockGodot();
111
- mock.godotVersion = '4.5.1';
112
102
  const ctx = createToolContext(mock);
113
- const result = await docs.execute({ action: 'fetch_class', class_name: 'Node2D', section: 'description' }, ctx);
114
- expect(result).toContain('(auto-detected: 4.5)');
115
- expect(result).toContain('/en/4.5/');
116
- });
117
- it('falls back to stable when not connected', async () => {
118
- const mock = createMockGodot();
103
+ mock.godotVersion = '4.5.1';
104
+ const withVersion = await docs.execute({
105
+ action: 'fetch_class',
106
+ class_name: 'Node2D',
107
+ section: 'description',
108
+ }, ctx);
109
+ expect(withVersion).toContain('(auto-detected: 4.5)');
119
110
  mock.godotVersion = null;
120
- const ctx = createToolContext(mock);
121
- const result = await docs.execute({ action: 'fetch_class', class_name: 'Node2D', section: 'description' }, ctx);
122
- expect(result).toContain('(auto-detected: stable)');
123
- expect(result).toContain('/en/stable/');
111
+ const noVersion = await docs.execute({
112
+ action: 'fetch_class',
113
+ class_name: 'Node2D',
114
+ section: 'description',
115
+ }, ctx);
116
+ expect(noVersion).toContain('(auto-detected: stable)');
124
117
  });
125
- it('uses explicit version over auto-detected', async () => {
118
+ it('explicit version overrides auto-detected', async () => {
126
119
  const mock = createMockGodot();
127
120
  mock.godotVersion = '4.5.1';
128
121
  const ctx = createToolContext(mock);
129
- const result = await docs.execute({ action: 'fetch_class', class_name: 'Node2D', version: '4.4', section: 'description' }, ctx);
122
+ const result = await docs.execute({
123
+ action: 'fetch_class',
124
+ class_name: 'Node2D',
125
+ version: '4.4',
126
+ section: 'description',
127
+ }, ctx);
130
128
  expect(result).not.toContain('auto-detected');
131
129
  expect(result).toContain('/en/4.4/');
132
130
  });
@@ -1 +1 @@
1
- {"version":3,"file":"docs.test.js","sourceRoot":"","sources":["../../../src/__tests__/tools/docs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.test.js","sourceRoot":"","sources":["../../../src/__tests__/tools/docs.test.ts"],"names":[],"mappings":"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"}